Compare commits

..

333 Commits

Author SHA1 Message Date
Steve Sakoman
70dc28ac28 build-appliance-image: Update to styhead head revision
(From OE-Core rev: 2d94f4b8a852dc761f89e5106347e239382df5fb)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-22 07:09:10 -07:00
Steve Sakoman
6a5ba188b7 poky.conf: bump version for 5.1.4
(From meta-yocto rev: a8774f23c1f1270b2965cb472632491a3572f89b)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-22 07:06:30 -07:00
Makarios Christakis
915e5e4d94 icu: Adjust ICU_DATA_DIR path on big endian targets
On big-endian systems the preprocessor define ICU_DATA_DIR
is currently being set to a path ending with the ${PV} of
the recipe.

The PV version string has changed to a '-' separator
since oe-core commit cebe8439cdc656d53355506a31a3782312bf03c5
whereas the build system installs the data files into a
path ending with the dot-separated version of ICU.

This causes the ICU data file to not be detected at runtime,
consequently breaking any dependant applications.

We therefore substitute ${PV} with the dot-separated version
string of ICU, as returned from the icu_install_folder function,
on the ICU_DATA_DIR define on big-endian targets.

(From OE-Core rev: 1689c4fe872540c48af07b482e65646928eaf516)

Signed-off-by: Makarios Christakis <makchrbiz@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 28cdc0110def011e3d690da1d591076385267ef7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-22 07:06:30 -07:00
Peter Marko
d5986042ac xserver-xorg: mark CVEs fixed in 21.1.16 as fixed
These are tracked as versionless redhat CVEs in NVD DB.

(From OE-Core rev: ffa253cba600ab7fa3334e1d4b2b300a352da966)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-22 07:06:30 -07:00
Peter Marko
6277999680 openssh: patch CVE-2025-26465
Pick commit:
0832aac795

(From OE-Core rev: 0d77609f814dec344535c5674f71a043a4e718e5)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-22 07:06:30 -07:00
Peter Marko
2b1149f032 openssh: patch CVE-2025-26466
Pick commit:
6ce00f0c2e

(From OE-Core rev: ec3912dcaaab85f1ac8907aa5b0b536c32540ff1)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-22 07:06:30 -07:00
Vijay Anusuri
9ddadbdeb4 xserver-xorg: upgrade 21.1.15 -> 21.1.16
Includes security fix

  * CVE-2025-26594
  * CVE-2025-26595
  * CVE-2025-26596
  * CVE-2025-26597
  * CVE-2025-26598
  * CVE-2025-26599
  * CVE-2025-26600
  * CVE-2025-26601

Ref: https://lists.x.org/archives/xorg-announce/2025-February/003584.html
     https://lists.x.org/archives/xorg-announce/2025-February/003585.html

(From OE-Core rev: a0989930949689dd971dea61e851b548af86a1bf)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b5491688a045e52b2a1a00d04b746ed6af456784)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Ross Burton
53141014c1 xserver-xf86-config: remove obsolete configuration files
For reasons we have explicit xorg.conf files for a number of the qemu
machines, but not all of them. These mainly disabled screen blanking
(which is now down with a separate fragment) but also explictly set the
device driver to fbdev which meant they didn't use the modesettings
driver as they should (with the virtio framebuffer from qemu).

This is the root cause of why the xserver 21.1.16 upgrade doesn't work
on a number of machines: the /sys probing changed and the fbdev driver
now refuses to use the PCI framebuffer device as there are better
drivers, but we've explictly told xorg to use the wrong driver.

For more details, see https://gitlab.freedesktop.org/xorg/xserver/-/issues/1798.

(From OE-Core rev: 73f39fe8a5367ad905002df03e10fbf59b8f8921)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8c8039bf4c2d011e3d12c970ce45036b184902a9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Ross Burton
4a642b1ae7 xserver-xf86-config: add a configuration fragment to disable screen blanking
Add a configuration fragment that disables screen blanking, and add it
to all qemu machines.

(From OE-Core rev: 72855767daa515a451ea7ebe3412479cb7bafdc6)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 780a5ccaa51d5aed18200883a686387e70847e4b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Wang Mingyu
a3b990b1f1 xserver-xorg: upgrade 21.1.14 -> 21.1.15
(From OE-Core rev: a97e23fe412b8b382f718f73c5a8b12f26208661)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ba94110d70ebfb1b4798ecf05389f7ea602b1f55)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Vijay Anusuri
ef138b1296 libtasn1: upgrade 4.19.0 -> 4.20.0
* Noteworthy changes in release 4.20.0 (2025-02-01) [stable]
- The release tarball is now reproducible.
- We publish a minimal source-only tarball generated by 'git archive'.
- Update gnulib files and various build/maintenance fixes.
- Fix CVE-2024-12133: Potential DoS in handling of numerous SEQUENCE OF or SET
OF elements

License-Update: file COPYING.LESSER renamed to COPYING.LESSERv2 & Copyright year updated to 2025

(From OE-Core rev: 7e79c2dd6cb3b10780219675cf908eaf37046bec)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
d65cbfb15b xwayland: upgrade 21.1.4 -> 21.1.6
Handle following CVEs:
* CVE-2025-26594
* CVE-2025-26595
* CVE-2025-26596
* CVE-2025-26597
* CVE-2025-26598
* CVE-2025-26599
* CVE-2025-26600
* CVE-2025-26601

(From OE-Core rev: 57c278ec18eb2daba8bed1ea96f924491e11a78e)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
d5bb46337d grub: patch CVE-2025-0678 and CVE-2025-1125
Cherry-pick patch mentioning these CVEs.

(From OE-Core rev: d0283e421e41b6775f40a51de6018c2c5cfda61f)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
373e83b89c grub: patch CVE-2025-0677, CVE-2025-0684, CVE-2025-0685, CVE-2025-0686 and CVE-2025-0689
Cherry-pick patch mentioning these CVEs.

(From OE-Core rev: 0a2cb15d6953a809135bea69609673d068f46df1)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
51a7eb1192 grub: patch CVE-2024-45778 and CVE-2024-45779
Cherry-pick patch mentioning these CVEs.

(From OE-Core rev: 9ecee5f950f249d982b307bbdbe0e13e55f27b24)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
7b009013fc grub: patch CVE-2025-1118
Cherry-pick patch mentioning this CVE.

(From OE-Core rev: def610a1298ad7b8c98185a2b4c46f2c7173a950)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
9079bae6d1 grub: patch CVE-2025-0690
Cherry-pick patch mentioning this CVE.

(From OE-Core rev: ab56d0eb79b40f5e60af20dadcda1b0239fe020e)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
bce8588104 grub: patch CVE-2024-45777
Cherry-pick patch mentioning this CVE.

(From OE-Core rev: bfebaeb1705d072eb6b42a6dfe9bff4829a49a33)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
c9c5246e9f grub: patch CVE-2024-45776
Cherry-pick patch mentioning this CVE.

(From OE-Core rev: ba19a6126d315c964214e7ca89895ea1ba8b4a15)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
845904fa23 grub: patch CVE-2025-0622
Cherry-pick patch mentioning this CVE.

(From OE-Core rev: aeefadfda0e98d0b3369c4abc98485774e1fe562)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
1867cc36c7 grub: patch CVE-2024-45775
Cherry-pick patch mentioning this CVE.

(From OE-Core rev: 0ae686de6aefb10d961cd8965dba8a02d1c977c6)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
00b1c0f58a grub: patch CVE-2024-45774
Cherry-pick patch mentioning this CVE.

(From OE-Core rev: e956e7437aa95e006547c3a92271b64c25252a50)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
88680b5de2 grub: patch CVE-2025-0624
Cherry-pick patch mentioning this CVE.

(From OE-Core rev: 29778ceddd775c47d722ecf1cc587c6526202d0b)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
63b8665d9c grub: patch CVE-2024-45783
Cherry-pick patch mentioning this CVE.

(From OE-Core rev: 7c18697372444ef9e4df03b7c9de7b8da7f4f600)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
43dc093c92 grub: patch CVE-2024-45780
Cherry-pick patch mentioning this CVE.

(From OE-Core rev: 3c33dbc32859ce45743c507120317a562b1a897d)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
8c9962a6fd grub: patch CVE-2024-45782 and CVE-2024-56737
Cherry-pick patch mentioning these CVEs.

(From OE-Core rev: 3b497db0bff69c8e7a4f5466b155d1c84051cc59)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
01aac7e940 grup: patch CVE-2024-45781
Cherry-pick patch mentioning this CVE.

(From OE-Core rev: ef41ef5730d08371d1eb03f94fa9357edf26889f)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
039f52ed9c grub: backport strlcpy function
It is used to fix multiple CVEs.

(From OE-Core rev: 48cf877397b82449f171190a33a8e723512b8227)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
eafe151f69 grub: drop obsolete CVE statuses
CVE-2021-46705 was needed only with 2.06
CVE-2023-4692 and CVE-2023-4693 were fixed in NVD DB meanwhile

(From OE-Core rev: 7d35eefd2290bad78199354157e5d275ceda0ce2)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:47 -07:00
Peter Marko
0bab6572a6 binutils: patch CVE-2025-0840
Backport [1] as listed in [2].

[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=baac6c221e9d69335bf41366a1c7d87d8ab2f893
[2] https://nvd.nist.gov/vuln/detail/CVE-2025-0840

(From OE-Core rev: 059b6bb3058fadbeee2626ab241de315ed1b0baa)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:46 -07:00
Ross Burton
6ab3411726 puzzles: ignore three new CVEs for a different puzzles
As we just match on product by default, ignore three CVEs which are
for the "Puzzles" WordPress theme by ThemeREX (CPE themerex:puzzles).

(From OE-Core rev: 87326573c82ac1e8dc335319442236ef2341501e)

(From OE-Core rev: ad5e8f160cc98c9ef6590656442b61dda8f0a386)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-15 06:44:46 -07:00
Ross Burton
1a3532646b ref-manual: remove OE_IMPORTS
oe-core no longer supports OE_IMPORTS[1], so remove the documentation.

[1] oe-core 1f56155e ("base: Switch to use addpylib directive and
    BB_GLOBAL_PYMODULES")

(From yocto-docs rev: f0324b8f14881227336f84325cdebd0518e17796)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit d03dad11974ada7a99b4406e2350b9f5f0acc746)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-13 07:21:44 -07:00
Ross Burton
df2e75ebe8 ref-manual: don't refer to poky-lsb
This was removed in 2019, so swap it for poky-altcfg.

(From yocto-docs rev: 69aedbe855297f3292481926d6f8e530ea647517)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 7f7f6570befdda280c174a5f9776b20f53f3ea0d)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-13 07:21:44 -07:00
Ross Burton
a3f59d7e23 Remove all mention of core-image-lsb
core-image-lsb was removed in 2019[1], so remove all of the  incredibly
obsolete references in the documentation.

[1] oe-core fb064356af615d67d85b65942103bf943d84d290

(From yocto-docs rev: 9cc8bddc4d3ac0fd2c5dd4ecce582789bb5bd19c)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 062445a49919eff117b5478c1fb18d125c1f895c)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-13 07:21:44 -07:00
Lee Chee Yang
a817f1702b migration-guides: add release notes for 5.1.3
(From yocto-docs rev: 26f635637105238d2600f488b2f975f7caa858a5)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit e608902ffae3af5ab0c5308b0550e49a790482f0)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-13 07:21:44 -07:00
Lee Chee Yang
5a5f92cf48 migration-guides: add release notes for 4.0.25
(From yocto-docs rev: 0a7854a3185bc643ec914d2f2dc0a9a0bb9e4711)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 4649514cdfae496f43711d6b830a0a835c3a1534)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-13 07:21:44 -07:00
Alessio Cascone
50beb7bdec tzcode-native: Fix compiler setting from 2023d version
Starting from 2023d version, tzcode makefile does not use anymore "cc"
variable for C compiler, due to Makefile refactoring.
Replacing "cc" with "CC" fixes the issue.

(From OE-Core rev: 7adb3079430af789f73550eba2da2495b30e78a4)

Signed-off-by: Alessio Cascone <alessio.cascone@vimar.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b3cdfca5ef84ed2054faef9abddef3aeed930e17)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-13 07:21:44 -07:00
Priyal Doshi
9e24e8f814 tzdata/tzcode-native: upgrade 2024b -> 2025a
(From OE-Core rev: a752a41ce11f3796861b303d28a39a40bd9b059b)

Signed-off-by: Priyal Doshi <pdoshi@mvista.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a15c4e6793c55c8084a61298ef3695e1db2f60cd)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-13 07:21:44 -07:00
Peter Marko
5b4f320c44 libxml2: upgrade 2.13.3 -> 2.13.6
Handle CVE-2025-24928, CVE-2024-56171 and CVE-2025-27113.

(From OE-Core rev: 13929d3126572d3024afd58a914592e8e6ea8457)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-13 07:21:44 -07:00
Peter Marko
64e49ed5e7 subversion: ignore CVE-2024-45720
Reference: https://nvd.nist.gov/vuln/detail/CVE-2024-45720

This CVE is relevant only for subversion running on Windows.

(From OE-Core rev: 1be6e32a75e40bc3e1d3c7256350579c37e3d22f)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Reviewed-by: Sofiane Hamam <sofiane.hamam@smile.fr>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-13 07:21:43 -07:00
Richard Purdie
2449dc88a0 bitbake: event/utils: Avoid deadlock from lock_timeout() and recursive events
We've been seeing intermittent failures on Ubuntu 22.04 in oe-selftest which
were problematic to debug. The failure was inside lock_timeout and once that was
identified and the backtrace obtained, the problem becomes clearer:

  File "X/bitbake/lib/bb/server/process.py", line 466, in idle_thread_internal
    retval = function(self, data, False)
  File "X/bitbake/lib/bb/command.py", line 123, in runAsyncCommand
    self.cooker.updateCache()
  File "X/bitbake/lib/bb/cooker.py", line 1629, in updateCache
    self.parser = CookerParser(self, mcfilelist, total_masked)
  File "X/bitbake/lib/bb/cooker.py", line 2141, in __init__
    self.bb_caches = bb.cache.MulticonfigCache(self.cfgbuilder, self.cfghash, cooker.caches_array)
  File "X/bitbake/lib/bb/cache.py", line 772, in __init__
    loaded += c.prepare_cache(progress)
  File "X/bitbake/lib/bb/cache.py", line 435, in prepare_cache
    loaded = self.load_cachefile(progress)
  File "X/bitbake/lib/bb/cache.py", line 516, in load_cachefile
    progress(cachefile.tell() + previous_progress)
  File "X/bitbake/lib/bb/cache.py", line 751, in progress
    bb.event.fire(bb.event.CacheLoadProgress(current_progress, cachesize),
  File "X/bitbake/lib/bb/event.py", line 234, in fire
    fire_ui_handlers(event, d)
  File "X/bitbake/lib/bb/event.py", line 210, in fire_ui_handlers
    _ui_handlers[h].event.send(event)
  File "X/bitbake/lib/bb/cooker.py", line 117, in send
    str_event = codecs.encode(pickle.dumps(event), \'base64\').decode(\'utf-8\')
  File "/usr/lib/python3.10/asyncio/sslproto.py", line 320, in __del__
    _warn(f"unclosed transport {self!r}", ResourceWarning, source=self)
  File "/usr/lib/python3.10/warnings.py", line 109, in _showwarnmsg
    sw(msg.message, msg.category, msg.filename, msg.lineno,
  File "X/bitbake/lib/bb/main.py", line 113, in _showwarning
    warnlog.warning(s)
  File "/usr/lib/python3.10/logging/__init__.py", line 1489, in warning
    self._log(WARNING, msg, args, **kwargs)
  File "/usr/lib/python3.10/logging/__init__.py", line 1624, in _log
    self.handle(record)
  File "/usr/lib/python3.10/logging/__init__.py", line 1634, in handle
    self.callHandlers(record)
  File "/usr/lib/python3.10/logging/__init__.py", line 1696, in callHandlers
    hdlr.handle(record)
  File "/usr/lib/python3.10/logging/__init__.py", line 968, in handle
    self.emit(record)
  File "X/bitbake/lib/bb/event.py", line 778, in emit
    fire(record, None)
  File "X/bitbake/lib/bb/event.py", line 234, in fire
    fire_ui_handlers(event, d)
  File "X/bitbake/lib/bb/event.py", line 197, in fire_ui_handlers
    with bb.utils.lock_timeout(_thread_lock):
  File "/usr/lib/python3.10/contextlib.py", line 135, in __enter__
    return next(self.gen)
  File "X/bitbake/lib/bb/utils.py", line 1888, in lock_timeout
    bb.server.process.serverlog("Couldn\'t get the lock for 5 mins, timed out, exiting. %s" % traceback.format_stack())

or put in simpler terms, whilst sending an event(), an unrelated warning
message happens to be triggered from asyncio:

/usr/lib/python3.10/asyncio/sslproto.py:320: ResourceWarning: unclosed transport <asyncio.sslproto._SSLProtocolTransport object at 0x7f0e797d3100>

which triggers a second event() which can't be sent as we're already
in the critcal section and already hold the lock.

That warning is due to the version of asyncio used on Ubuntu 22.04 with
python 3.10 and that comined with timing issues explains why we don't
see it on other python versions or distros.

We can't handle the second event as the lock is there to serialise the
events. Instead, we queue the event and then process the queue later.

Add a new version of lock_timeout which allows us to handle the situation
more gracefully.

(Bitbake rev: 82b9f42126983579da03bdbb4e3ebf07346118a7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2c590ff1aff89d23b25ce808650f200013a1e6af)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-13 07:21:43 -07:00
Richard Purdie
715043743e bitbake: utils: Add signal blocking for lock_timeout
We never want to exit whilst holding these locks as it deadlocks all python
threads. Add signal blocking around the lock critical part so a signal
shouldn't cause such an exit.

(Bitbake rev: de552cf58fcbdea64b359a0fdcdf3673da3a780d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a097755c671e2b530dea6200a94b39fa9dca246c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-13 07:21:43 -07:00
Richard Purdie
a5d5ce74e8 bitbake: utils: Tweak lock_timeout logic
We should really try and take the lock in the try/finally block so that
in some rare cases such as badly timed interrupt/signal, we always release
the lock.

(Bitbake rev: f0f7bed1291afd63a27f1863901445e6d40c4a09)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a9eb8bf7174b6962b5ba07192fe95b8c7112d9d2)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-13 07:21:43 -07:00
Richard Purdie
c0432f8eda bitbake: utils: Print information about lock issue before exiting
(Bitbake rev: bde34a174886161def6f9f2c5194870a4edfefb2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cdf6c51a064f8f335c3262b7f102618996f1a229)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-13 07:21:43 -07:00
Marta Rybczynska
b2cf0d5cd0 vulnerabilities/classes: remove references to cve-check text format
The text format has been removed, so also remove references and examples
using this format. Replace with examples with the JSON format.

(From yocto-docs rev: 08f4670ef7c7a2071f3634cbf0d9c3d0cd2dde3e)

Signed-off-by: Marta Rybczynska <marta.rybczynska@ygreky.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit a52cd7bcadccc53e982f90d6e170d00798322597)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-06 13:57:04 -08:00
Weisser, Pascal
867ecfc84e ref-manual: Add missing variable IMAGE_ROOTFS_MAXSIZE
This patch adds the missing documentation of variable IMAGE_ROOTFS_MAXSIZE
to the reference manual.

(From yocto-docs rev: 9a1802e70d37c29da750b1156eea7cce1e123f56)

Signed-off-by:
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 1dcc8cf7c49da449b324a7bd6bb22effe1d53d70)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-06 13:57:04 -08:00
Steve Sakoman
11a8dec6e2 build-appliance-image: Update to styhead head revision
(From OE-Core rev: 35ffa0ed523ba95f069dff5b7df3f819ef031015)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-21 14:08:09 -08:00
Steve Sakoman
caacaf066d poky.conf: bump version for 5.1.3
(From meta-yocto rev: 3b1640a016ebdc8ebfa4f68a1b81acc618b4c749)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-21 14:05:55 -08:00
Lee Chee Yang
5710ed9354 migration-guides: add release notes for 5.0.7
(From yocto-docs rev: fd9c744d6e73a5719e61a3c0063b1602ca386e91)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 9f1f9f1a3a2a541ed70df72d4fe391b5b7fd3733)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-21 06:34:58 -08:00
Antonin Godard
0a3a582b71 Add favicon for the documentation html
Import the favicon from https://www.yoctoproject.org/, convert it to
16x16 (as per the Sphinx documentation) to make a 1291B image of the
Yocto logo.

(From yocto-docs rev: 2631fc95a6528a5c6f0048087c102e0649afc551)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit e3ee43e6d70685a2404aae2d60557a42879b0bb1)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-21 06:34:58 -08:00
Antonin Godard
024496a823 contributor-guide/submit-changes: add policy on AI generated code
Based on message by Richard Purdie on the yocto-docs list:
https://lists.yoctoproject.org/g/docs/message/6300

Re-formatted for the Yocto Project documentation syntax.

(From yocto-docs rev: 843078e4bd97a5bedf121e0e0105fd20162a25d8)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit a72dd13e6841b621c9e8f904dfaa440c186d2959)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-21 06:34:58 -08:00
Adrian Freihofer
30c0b1b718 sdk-manual: extensible.rst: update devtool ide-sdk
Replace
  devtool ide-sdk --debug-build-config
by
  devtool modify --debug-build

This change was introduced with commit
https://git.yoctoproject.org/poky/commit/?id=1f7eb26c947dde14698ae6e2ab88f0637027f4cb

(From yocto-docs rev: 0e25bd749ad546b20083a71df0936a248e2bfaec)

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit e2b6a4c6c633e79d0e4975ba2e1a27a8c1b8c1c5)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-21 06:34:58 -08:00
Aleksandar Nikolic
f90da53b5b scripts/install-buildtools: Update to 5.1.2
Update to the 5.1.2 release of the 5.1 series for buildtools.

(From OE-Core rev: 1d6d438b10f5956d523742c5357e7942f8d154fd)

Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-21 06:34:58 -08:00
Divya Chellam
2495dc2fee vim: Upgrade 9.1.0764 -> 9.1.1043
This includes CVE-fix for CVE-2025-22134 and CVE-2025-24014

Changes between 9.1.0764 -> 9.1.1043
====================================
https://github.com/vim/vim/compare/v9.1.0764...v9.1.1043

(From OE-Core rev: 7ef88cb004b88e8efce9608cee18290af41453d2)

Signed-off-by: Divya Chellam <divya.chellam@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-21 06:34:58 -08:00
Joerg Schmidt
4355f14793 bitbake: bblayers/query: Fix using "removeprefix" string method
The minimum Python version required for Yocto 5.0 is 3.8 which causes
failure in poky/bitbake/lib/bblayers/query.py when listing layers by
using command "bitbake-layers show-recipes -f --bare --mc MC" for the
given multiconfig MC.
The reason for that failure is the use of "removeprefix" string method
which got introduced in Python 3.9.
This patch replaces the "removeprefix" method with an equivalent
solution supported by Python 3.8.

(Bitbake rev: 58e5c70a0572ff5994dc181694e05cd5d3ddaf66)

Signed-off-by: Joerg Schmidt <joerg.schmidt@garmin.com>
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-21 06:34:58 -08:00
Peter Marko
1cbcbab055 cmake: apply parallel build settings to ptest tasks
ptest compile and install tasks do not have parallel build settings for
cmake. On powerful build machines this can cause overload situations
and oomkills.
Observed when building qtgrpc with ptest generally enabled in distro.

Having this in ptest class is suboptimal, but creating ptest-cmake class
just for these two variables is probably overkill.

(From OE-Core rev: 3c311fbf0c2090268e9b83123d762b05b61b4074)

(From OE-Core rev: 8270433b138284df77ed9eb21557922498663c51)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-14 07:49:10 -08:00
Peter Marko
b17d4e97e7 go: upgrade 1.22.11 -> 1.22.12
Upgrade to latest 1.22.x release [1]:

$ git --no-pager log --oneline go1.22.11..go1.22.12
5817e65094 (tag: go1.22.12) [release-branch.go1.22] go1.22.12
0cc45e7ca6 [release-branch.go1.22] crypto/internal/fips140/nistec: make p256NegCond constant time on ppc64le
c3c6a50095 [release-branch.go1.22] cmd/go/internal/modfetch: do not trust server to send all tags in shallow fetch
e0a01acd04 [release-branch.go1.22] cmd/compile: fix write barrier coalescing

Fixes CVE-2025-22866

[1] https://github.com/golang/go/compare/go1.22.11...go1.22.12

(From OE-Core rev: 423ad5a67768738dac454b1e2aa27746f74511c5)

(From OE-Core rev: ce999920af8c8ac6ce4c3f37edae348919e8a13b)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-14 07:49:10 -08:00
Bruce Ashfield
d2f1b6bcf3 linux-yocto/6.6: update to v6.6.75
Updating linux-yocto/6.6 to the latest korg -stable release that comprises
the following commits:

    d51b7d37f14e Linux 6.6.75
    431fb709db43 drm/v3d: Assign job pointer to NULL before signaling the fence
    35b144b393db Input: xpad - add support for wooting two he (arm)
    7c477b26d39e Input: xpad - add support for Nacon Evol-X Xbox One Controller
    c009f1865582 Input: xpad - improve name of 8BitDo controller 2dc8:3106
    723aa536831c Input: xpad - add QH Electronics VID/PID
    7ea7e327a199 Input: xpad - add unofficial Xbox 360 wireless receiver clone
    dc8c9c171ef3 Input: atkbd - map F23 key to support default copilot shortcut
    80327feb234c Input: xpad - add support for Nacon Pro Compact
    cca07b29f7af ALSA: usb-audio: Add delay quirk for USB Audio Device
    3d8f4dc8c78f Revert "usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null"
    6377838560c0 USB: serial: quatech2: fix null-ptr-deref in qt2_process_read_urb()
    088bde862f8d scsi: storvsc: Ratelimit warning logs to prevent VM denial of service
    e0500e4373cd ipv4: ip_tunnel: Fix suspicious RCU usage warning in ip_tunnel_find()
    6e35f560daeb ext4: fix access to uninitialised lock in fc replay path
    c981c32c38af vfio/platform: check the bounds of read/write syscalls
    7d6405c13b0d cachestat: fix page cache statistics permission checking
    854d0d361e45 Revert "HID: multitouch: Add support for lenovo Y9000P Touchpad"
    a99bacb35c14 block: fix integer overflow in BLKSECDISCARD
    f4168299e553 net: sched: fix ets qdisc OOB Indexing
    5ddcc9e92d54 smb: client: handle lack of EA support in smb2_query_path_info()
    850e696f3627 libfs: Use d_children list to iterate simple_offset directories
    0f03dd06e5d1 libfs: Replace simple_offset end-of-directory detection
    6b1de53b1a0a Revert "libfs: Add simple_offset_empty()"
    a01bb1c5cac9 libfs: Return ENOSPC when the directory offset range is exhausted
    2b6da3fa94cd shmem: Fix shmem_rename2()
    753828d6775e libfs: Add simple_offset_rename() API
    3e716f31ff8b libfs: Fix simple_offset_rename_exchange()
    307f68e49dda libfs: Add simple_offset_empty()
    fc90bbcc08da libfs: Define a minimum directory offset
    3bd97ebf7e4f libfs: Re-arrange locking in offset_iterate_dir()
    4dd57d1f0e98 gfs2: Truncate address space when flipping GFS2_DIF_JDATA flag
    7998e7efd1d5 RDMA/bnxt_re: Avoid CPU lockups due fifo occupancy check loop
    52da02521ede ipv6: Fix soft lockups in fib6_select_path under high next hop churn
    cd9f7bf6cad8 cpufreq: amd-pstate: add check for cpufreq_cpu_get's return value
    2364dc21ba5a ata: libata-core: Set ATA_QCFLAG_RTF_FILLED in fill_result_tf()
    509a928e815e ASoC: samsung: Add missing depends on I2C
    85af156e158c hwmon: (drivetemp) Set scsi command timeout to 10s
    2148a41dc8ff irqchip/sunxi-nmi: Add missing SKIP_WAKE flag
    b25bf1d7f5ff of/unittest: Add test that of_address_to_resource() fails on non-translatable address
    758abba3dd41 drm/amd/display: Use HW lock mgr for PSR1
    44c485f0fcb2 scsi: iscsi: Fix redundant response for ISCSI_UEVENT_GET_HOST_STATS request
    06bfc95f817b seccomp: Stub for !CONFIG_SECCOMP
    ed0d02b7e147 ASoC: samsung: Add missing selects for MFD_WM8994
    bb60f107c96b ASoC: wm8994: Add depends on MFD core
    0372f43ab704 Linux 6.6.74
    3f51f8c9d289 net: fix data-races around sk->sk_forward_alloc
    7d082fb20aa2 x86/xen: fix SLS mitigation in xen_hypercall_iret()
    80d39b50bdc0 nfsd: add list_head nf_gc to struct nfsd_file
    0b7b07cb5990 Revert "drm/amdgpu: rework resume handling for display (v2)"
    f47c834a9131 fs: relax assertions on failure to encode file handles
    f0c0ac84de17 ovl: support encoding fid from inode with no alias
    955a355e179f ovl: pass realinode to ovl_encode_real_fh() instead of realdentry
    ec3e32de2d8a ocfs2: fix deadlock in ocfs2_get_system_file_inode
    1364a29b71c7 block: fix uaf for flush rq while iterating tags
    08ac5fdb9c6d drm/amd/display: Fix out-of-bounds access in 'dcn21_link_encoder_create'
    c39d275efbe9 iio: imu: inv_icm42600: fix spi burst write not supported
    bcb9678b1c4f Revert "PCI: Use preserve_config in place of pci_flags"
    0cc84b6636be drm/amdgpu: always sync the GFX pipe on ctx switch
    65622de7c440 drm/i915/fb: Relax clear color alignment to 64 bytes
    a5cbbea145b4 hrtimers: Handle CPU state correctly on hotplug
    6c84ff2e788f irqchip/gic-v3-its: Don't enable interrupts in its_irq_set_vcpu_affinity()
    61c684dbfeb0 irqchip/gic-v3: Handle CPU_PM_ENTER_FAILED correctly
    61ecbceae2ee irqchip: Plug a OF node reference leak in platform_irqchip_probe()
    926ad31b76b8 pmdomain: imx8mp-blk-ctrl: add missing loop break condition
    b0111650ee59 gpio: xilinx: Convert gpio_lock to raw spinlock
    a5a2ee8144c3 fs/proc: fix softlockup in __read_vmcore (part 2)
    09528bb1a412 filemap: avoid truncating 64-bit offset to 32 bits
    c5418187b977 nouveau/fence: handle cross device fences properly
    bc9c49341f97 vsock: prevent null-ptr-deref in vsock_*[has_data|has_space]
    8a15c81063b9 vsock: reset socket state when de-assigning the transport
    dd93823fdd0e vsock/virtio: cancel close work in the destructor
    d88b249e14bd vsock/virtio: discard packets if the transport changes
    58e586c30d0b vsock/bpf: return early if transport is not assigned
    a3a3c1aa5126 net: ethernet: xgbe: re-add aneg to supported features in PHY quirks
    75deec40a774 selftests: mptcp: avoid spurious errors on disconnect
    d09d17c104a9 mptcp: fix spurious wake-up on under memory pressure
    890507bc19b9 mptcp: be sure to send ack when mptcp-level window re-opens
    5cfe4b1d0cfb i2c: atr: Fix client detach
    571d3f6045cd zram: fix potential UAF of zram table
    4c8b783c9d16 ALSA: hda/realtek: Add support for Ayaneo System using CS35L41 HDA
    ee37f3a538fc x86/asm: Make serialize() always_inline
    002b2efb1130 nvmet: propagate npwg topology
    8c9c1a2b48bb RDMA/bnxt_re: Fix to export port num to ib_query_qp
    bd6a4b4aed75 poll_wait: add mb() to fix theoretical race between waitqueue_active() and .poll()
    91371922704c iomap: avoid avoid truncating 64-bit offset to 32 bits
    4aaa1003a3f4 ACPI: resource: acpi_dev_irq_override(): Check DMI match last
    8cc32fc86e47 selftests: tc-testing: reduce rshift value
    8df41b7fb46d scsi: ufs: core: Honor runtime/system PM levels if set by host controller drivers
    933689000dff cachefiles: Parse the "secctx" immediately
    3f81514078fc kheaders: Ignore silly-rename files
    62861a5d4dd6 fs: fix missing declaration of init_files
    c598398815ee hfs: Sanity check the root record
    2e41e98c4e79 mac802154: check local interfaces before deleting sdata list
    1ea680703385 smb: client: fix double free of TCP_Server_Info::hostname
    6152c2c612a7 i2c: rcar: fix NACK handling when being a target
    573f036ba219 i2c: mux: demux-pinctrl: check initial mux selection, too
    f3311576789e Revert "mtd: spi-nor: core: replace dummy buswidth from addr to data"
    b9b63c9cc1e0 hwmon: (tmp513) Fix division of negative numbers
    3c8fe0931d9b soc: ti: pruss: Fix pruss APIs
    63195bae1cbf drm/v3d: Ensure job pointer is set to NULL after job completion
    5faf45beb701 drm/vmwgfx: Add new keep_resv BO param
    ff5b9e9be645 net/mlx5e: Always start IPsec sequence number from 1
    cdb3f2b62e2d net/mlx5e: Rely on reqid in IPsec tunnel mode
    87c4417a9021 net/mlx5e: Fix inversion dependency warning while enabling IPsec tunnel
    473bc285378f net/mlx5: Clear port select structure when fail to create
    ba8fdf7cff09 net/mlx5: Fix RDMA TX steering prio
    8a0097db0544 net: fec: handle page_pool_dev_alloc_pages error
    e8438cb84d0b net: xilinx: axienet: Fix IRQ coalescing packet count overflow
    325f2762fac7 nfp: bpf: prevent integer overflow in nfp_bpf_event_output()
    bb11f992f5a4 gtp: Destroy device along with udp socket's netns dismantle.
    d756c8ac3029 gtp: Use for_each_netdev_rcu() in gtp_genl_dump_pdp().
    3d1c0c5500f5 gtp: use exit_batch_rtnl() method
    1e222169f718 net: add exit_batch_rtnl() method
    7cde21f52042 pktgen: Avoid out-of-bounds access in get_imix_entries
    ea966b669878 openvswitch: fix lockup on tx to unregistering netdev with carrier
    b02e70be498b bpf: Fix bpf_sk_select_reuseport() memory leak
    c5af09473110 net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field()
    3b4299ff7a25 Linux 6.6.73
    1795ca657119 Revert "ovl: do not encode lower fh with upper sb_writers held"
    d1c53de4463b Revert "ovl: pass realinode to ovl_encode_real_fh() instead of realdentry"
    950b604384fd Revert "ovl: support encoding fid from inode with no alias"
    c2e420511612 Linux 6.6.72
    ac7f5641e988 drm/mediatek: Only touch DISP_REG_OVL_PITCH_MSB if AFBC is supported
    08a2117e83e5 riscv: Fix text patching when IPI are used
    56b274473d6e mm: hugetlb: independent PMD page table shared count
    ec500230d39a mm/hugetlb: enforce that PMD PT sharing has split PMD PT locks
    5cfaddaa4bdb fs/Kconfig: make hugetlbfs a menuconfig
    1abe0a34aea6 pgtable: fix s390 ptdesc field comments
    1fd2a57dcb4d workqueue: Do not warn when cancelling WQ_MEM_RECLAIM work from !WQ_MEM_RECLAIM worker
    6dc676743a7a workqueue: Update lock debugging code
    2717b5e55a9f workqueue: Add rcu lock check at the end of work item execution
    66e533f0b250 pmdomain: imx: gpcv2: fix an OF node reference leak in imx_gpcv2_probe()
    b1e6351c16b4 pmdomain: imx: gpcv2: Simplify with scoped for each OF child loop
    b613a038fdd7 arm64: dts: rockchip: add hevc power domain clock to rk3328
    be3eed59ac01 block, bfq: fix waker_bfqq UAF after bfq_split_bfqq()
    53e25b10a28e hwmon: (drivetemp) Fix driver producing garbage data when SCSI errors occur
    a4b01371512e ARM: dts: imxrt1050: Fix clocks for mmc
    8efff2aa2d95 io_uring/eventfd: ensure io_eventfd_signal() defers another RCU period
    03753bfacbc6 riscv: kprobes: Fix incorrect address calculation
    6a96af5f309d iio: adc: ad7124: Disable all channels at probe time
    91dd568e3ff9 iio: inkern: call iio_device_put() only on mapped devices
    09e067e3c83e iio: adc: at91: call input_free_device() on allocated iio_dev
    f110a6d71bd8 iio: adc: ti-ads124s08: Use gpiod_set_value_cansleep()
    2df664d7b4f2 iio: gyro: fxas21002c: Fix missing data update in trigger handler
    455df95eb8f2 iio: adc: ti-ads8688: fix information leak in triggered buffer
    5a95fbbecec7 iio: adc: rockchip_saradc: fix information leak in triggered buffer
    cde312e257b5 iio: imu: kmx61: fix information leak in triggered buffer
    a15ea87d4337 iio: light: vcnl4035: fix information leak in triggered buffer
    74058395b2c6 iio: dummy: iio_simply_dummy_buffer: fix information leak in triggered buffer
    fefb88a4da96 iio: pressure: zpa2326: fix information leak in triggered buffer
    ea57f0bbe225 usb: gadget: configfs: Ignore trailing LF for user strings to cdev
    ea6a14987424 usb: gadget: f_fs: Remove WARN_ON in functionfs_bind
    88cdfe9f15d5 usb: typec: tcpm/tcpci_maxim: fix error code in max_contaminant_read_resistance_kohm()
    c1e7ced99da9 usb: gadget: f_uac2: Fix incorrect setting of bNumEndpoints
    dcd4de31bd01 usb: chipidea: ci_hdrc_imx: decrement device's refcount in .remove() and in the error path of .probe()
    43c204b22dd8 usb: gadget: midi2: Reverse-select at the right place
    953dea074bc5 usb: fix reference leak in usb_new_device()
    730016e0b963 USB: core: Disable LPM only for non-suspended ports
    77af0434807b USB: usblp: return error when setting unsupported protocol
    7c3f7c3caa35 usb: dwc3-am62: Disable autosuspend during remove
    0a3a87221418 x86/fpu: Ensure shadow stack is active before "getting" registers
    0c50f00cc299 usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null
    0231ecfb1f7a tty: serial: 8250: Fix another runtime PM usage counter underflow
    12f950a6a1c1 misc: microchip: pci1xxxx: Resolve return code mismatch during GPIO set config
    25692750c025 misc: microchip: pci1xxxx: Resolve kernel panic during GPIO IRQ handling
    b02cf1d27e46 topology: Keep the cpumask unchanged when printing cpumap
    c995c81b2a30 usb: dwc3: gadget: fix writing NYET threshold
    05da04bbf3b9 USB: serial: cp210x: add Phoenix Contact UPS Device
    138655dd9ebe usb-storage: Add max sectors quirk for Nokia 208
    e5c87f33b514 staging: iio: ad9832: Correct phase range check
    4c04529c77d5 staging: iio: ad9834: Correct phase range check
    8166f38c8099 USB: serial: option: add Neoway N723-EA support
    2dcb6368adf5 USB: serial: option: add MeiG Smart SRM815
    12caa73a28f0 dm-verity FEC: Fix RS FEC repair for roots unaligned to block size (take 2)
    8dddc12d0324 f2fs: fix null-ptr-deref in f2fs_submit_page_bio()
    e3ed5a14aac7 io_uring/timeout: fix multishot updates
    3ce08bab0105 drm/amd/display: increase MAX_SURFACES to the value supported by hw
    fa6bc7263061 drm/amdkfd: fixed page fault when enable MES shader debugger
    55ee64816bd5 ACPI: resource: Add Asus Vivobook X1504VAP to irq1_level_low_skip_override[]
    b239a3867d58 ACPI: resource: Add TongFang GM5HG0A to irq1_edge_low_force_override[]
    f48f060a4b36 riscv: Fix sleeping in invalid context in die()
    5fe671caedc2 smb: client: sync the root session and superblock context passwords before automounting
    d2512434f4cf thermal: of: fix OF node leak in of_thermal_zone_find()
    ae9ab63a268b drm/amd/display: Add check for granularity in dml ceil/floor helpers
    59d28c133e71 ksmbd: Implement new SMB3 POSIX type
    284a221f8fa5 sctp: sysctl: plpmtud_probe_interval: avoid using current->nsproxy
    55627918febd sctp: sysctl: udp_port: avoid using current->nsproxy
    7ec30c54f339 sctp: sysctl: auth_enable: avoid using current->nsproxy
    dc9d0e3cfd16 sctp: sysctl: rto_min/max: avoid using current->nsproxy
    ad673e514b27 sctp: sysctl: cookie_hmac_alg: avoid using current->nsproxy
    c0e394fd6b88 mptcp: sysctl: sched: avoid using current->nsproxy
    a57ce97c1978 dm-ebs: don't set the flag DM_TARGET_PASSES_INTEGRITY
    086136ad70c5 scsi: ufs: qcom: Power off the PHY if it was already powered on in ufs_qcom_power_up_sequence()
    6b305e98de0d dm thin: make get_first_thin use rcu-safe list first function
    a4a7ac3d2660 riscv: mm: Fix the out of bound issue of vmemmap address
    387f5b8ad3ff cpuidle: riscv-sbi: fix device node release in early exit of for_each_possible_cpu
    65b31b9d992c ksmbd: fix unexpectedly changed path in ksmbd_vfs_kern_path_locked
    5cc621085e2b platform/x86/amd/pmc: Only disable IRQ1 wakeup where i8042 actually enabled it
    7673030efe0f afs: Fix the maximum cell name length
    271ae0edbfc9 ksmbd: fix a missing return value check bug
    5b195e6f8bde drm/mediatek: Add return value check when reading DPCD
    5352901f0bf1 drm/mediatek: Fix mode valid issue for dp
    9db527726634 drm/mediatek: Fix YCbCr422 color format issue for DP
    acefaa6993eb drm/mediatek: stop selecting foreign drivers
    7083b93e9755 drm/mediatek: Set private->all_drm_private[i]->drm to NULL if mtk_drm_bind returns err
    229cc1028437 net/mlx5: Fix variable not being completed when function returns
    235419f0956e net: stmmac: dwmac-tegra: Read iommu stream id from device tree
    27202e2e8721 sched: sch_cake: add bounds checks to host bulk flow fairness counts
    d5807dd1328b netfilter: conntrack: clamp maximum hashtable size to INT_MAX
    1e3f5638c96b netfilter: nf_tables: imbalance in flowtable binding
    281855205a7c iio: imu: inv_icm42600: fix timestamps after suspend if sensor is on
    e026530e20e7 x86/mm/numa: Use NUMA_NO_NODE when calling memblock_set_node()
    85e4923bcbcd memblock tests: fix implicit declaration of function 'numa_valid_node'
    b0b415f1a29d riscv: Fix early ftrace nop patching
    52a6d4f16e5b tcp: Annotate data-race around sk->sk_mark in tcp_v4_send_reset
    b455f050709a Bluetooth: btnxpuart: Fix driver sending truncated data
    327bd191bb44 Bluetooth: MGMT: Fix Add Device to responding before completing
    9ba06f078f33 Bluetooth: hci_sync: Fix not setting Random Address when required
    eff2cd6f53a5 eth: gve: use appropriate helper to set xdp_features
    ba9f7c16ec87 ipvlan: Fix use-after-free in ipvlan_get_iflink().
    7397fa36d676 tls: Fix tls_sw_sendmsg error handling
    a78e04e0236b igc: return early when failing to read EECD register
    30254c85b814 igc: field get conversion
    0677b13dd9b0 ice: fix incorrect PHY settings for 100 GB/s
    9d3884f303b0 cxgb4: Avoid removal of uninserted tid
    70163207b57b bnxt_en: Fix possible memory leak when hwrm_req_replace fails
    b7e540c52137 pds_core: limit loop over fw name list
    24b85a8b0310 btrfs: avoid NULL pointer dereference if no valid extent tree
    a8fbf80c4ff5 net: libwx: fix firmware mailbox abnormal return
    e54beb9aed2a net_sched: cls_flow: validate TCA_FLOW_RSHIFT attribute
    91f89fe177a4 tcp/dccp: allow a connection when sk_max_ack_backlog is zero
    b2c9204e21b5 tcp/dccp: complete lockless accesses to sk->sk_max_ack_backlog
    41d2e3be0f28 net: 802: LLC+SNAP OID:PID lookup on start of skb data
    45ae076dac49 ieee802154: ca8210: Add missing check for kfifo_alloc() in ca8210_probe()
    6c37547a6eeb selftests/alsa: Fix circular dependency involving global-timer
    3d736856e245 ASoC: mediatek: disable buffer pre-allocation
    6754f5473dab ASoC: rt722: add delay time to wait for the calibration procedure
    14f030a807dd erofs: fix PSI memstall accounting
    1bf7e414cac3 erofs: handle overlapped pclusters out of crafted images properly
    a1a541fbfa7e ovl: support encoding fid from inode with no alias
    a3f8a2b13a27 ovl: pass realinode to ovl_encode_real_fh() instead of realdentry
    26423e18cd6f ovl: do not encode lower fh with upper sb_writers held
    1e92afe80197 exfat: fix the infinite loop in __exfat_free_cluster()
    dc1d7afceb98 exfat: fix the infinite loop in exfat_readdir()
    71f4123cf2c7 dm array: fix cursor index when skipping across block boundaries
    14f0e64c2f11 dm array: fix unreleased btree blocks on closing a faulty array cursor
    6002bec5354f dm array: fix releasing a faulty array block twice in dm_array_cursor_end
    a71e465f69be jbd2: flush filesystem device before updating tail sequence
    6b32ff20d16a jbd2: increase IO priority for writing revoke records
    fdebee5c5c2b memblock: use numa_valid_node() helper to check for invalid node ID
    4ddb7f966f3d memblock: make memblock_set_node() also warn about use of MAX_NUMNODES
    843e64492a7e Linux 6.6.71
    a6923798e471 x86/hyperv: Fix hv tsc page based sched_clock for hibernation
    b34e805539da Revert "x86, crash: wrap crash dumping code into crash related ifdefs"
    c8bc44c5f961 Revert "x86/hyperv: Fix hv tsc page based sched_clock for hibernation"
    1acb10106df3 Linux 6.6.70
    9722973ad038 scsi: hisi_sas: Remove redundant checks for automatic debugfs dump
    3de1b50f055d RDMA/bnxt_re: Fix max SGEs for the Work Request
    f61e663d78ff mptcp: don't always assume copied data in mptcp_cleanup_rbuf()
    27c843e76447 mptcp: fix recvbuffer adjust on sleeping rcvmsg
    53fe947f67c9 mptcp: fix TCP options overflow.
    1ff2302e8aea mm: vmscan: account for free pages to prevent infinite Loop in throttle_direct_reclaim()
    86d946f3f999 mm/kmemleak: fix sleeping function called from invalid context at print message
    424abdec35ec mm/readahead: fix large folio support in async readahead
    cbe9eb2c39d0 gve: guard XDP xmit NDO on existence of xdp queues
    771d66f2bd8c gve: guard XSK operations on the existence of queues
    9b071576f891 fs/proc/task_mmu: fix pagemap flags with PMD THP entries on 32bit
    1f49aaf55652 drm: adv7511: Fix use-after-free in adv7533_attach_dsi()
    79fcfc900abe dt-bindings: display: adi,adv7533: Drop single lane support
    7b977f8c26b6 drm: adv7511: Drop dsi single lane support
    271f031f4c31 net/sctp: Prevent autoclose integer overflow in sctp_association_init()
    b32c3b748d29 sky2: Add device ID 11ab:4373 for Marvell 88E8075
    8c6fd5803b98 pinctrl: mcp23s08: Fix sleeping in atomic context due to regmap locking
    b92667f75574 RDMA/uverbs: Prevent integer overflow issue
    c9818b61d0a8 scripts/sorttable: fix orc_sort_cmp() to maintain symmetry and transitivity
    edc8ece96c11 kcov: mark in_softirq_really() as __always_inline
    2e3d203b1ade ocfs2: fix slab-use-after-free due to dangling pointer dqi_priv
    d2392b79d8af ALSA: seq: oss: Fix races at processing SysEx messages
    7d1f59defa9e ALSA hda/realtek: Add quirk for Framework F111:000C
    396964d45ca5 ALSA: seq: Check UMP support for midi_version change
    199f04528737 Revert "bpf: support non-r10 register spill/fill to/from stack in precision tracking"
    bc6962f2dbaf modpost: fix the missed iteration for the max bit in do_input()
    f93e9ae0ba5e modpost: fix input MODULE_DEVICE_TABLE() built for 64-bit on 32-bit host
    36e1b6890f22 RDMA/bnxt_re: Fix the max WQE size for static WQE support
    c3b5a7d6a13b seq_buf: Make DECLARE_SEQ_BUF() usable
    f2b94ee08ec6 ARC: build: Try to guess GCC variant of cross compiler
    d8f3f7d30f65 irqchip/gic: Correct declaration of *percpu_base pointer in union gic_base
    bef333418368 Bluetooth: hci_core: Fix sleeping function called from invalid context
    d8ecb248c199 net: usb: qmi_wwan: add Telit FE910C04 compositions
    c6b1d01e7a9c smb: client: destroy cfid_put_wq on module exit
    1d7ee876b8b9 ksmbd: set ATTR_CTIME flags when setting mtime
    2f75da8294bf ksmbd: retry iterate_dir in smb2_query_dir
    f53b37313ab6 bpf: fix potential error return
    73a30cb3e980 sound: usb: format: don't warn that raw DSD is unsupported
    325370be0676 sound: usb: enable DSD output for ddHiFi TC44C
    7523dd63ab22 ALSA: hda/realtek: Add new alc2xx-fixup-headset-mic model
    0d5e2d476000 ALSA: hda/ca0132: Use standard HD-audio quirk matching helpers
    35916b2f9650 btrfs: flush delalloc workers queue before stopping cleaner kthread during unmount
    d0fafe701c6a drm/amdkfd: Correct the migration DMA map direction
    037ea0f28f9a wifi: mac80211: wake the queues in case of failure in resume
    86772872f9f5 wifi: mac80211: fix mbss changed flags corruption on 32 bit systems
    d6b130fabfe1 net: ti: icssg-prueth: Fix clearing of IEP_CMP_CFG registers during iep_init
    17e8fa894345 ila: serialize calls to nf_register_net_hooks()
    a693b87692b4 af_packet: fix vlan_get_protocol_dgram() vs MSG_PEEK
    7aa78d0d8546 af_packet: fix vlan_get_tci() vs MSG_PEEK
    23f2e7a13fa4 net: wwan: iosm: Properly check for valid exec stage in ipc_mmio_init()
    ad91a2dacbf8 net: restrict SO_REUSEPORT to inet sockets
    95ccf006bbc8 net: reenable NETIF_F_IPV6_CSUM offload for BIG TCP packets
    9eea3703c882 net: sfc: Correct key_len for efx_tc_ct_zone_ht_params
    b238f61cc394 RDMA/rtrs: Ensure 'ib_sge list' is accessible
    0cd3bde081cd net: wwan: t7xx: Fix FSM command timeout issue
    313474b10897 net: mv643xx_eth: fix an OF node reference leak
    d5ea3a4d02d8 eth: bcmsysport: fix call balance of priv->clk handling routines
    930f2f96734e ALSA: usb-audio: US16x08: Initialize array before use
    0c896816aa19 net: llc: reset skb->transport_header
    4f49349c1963 netfilter: nft_set_hash: unaligned atomic read on struct nft_set_ext
    c9b344ada5fd drm/i915/dg1: Fix power gate sequence.
    3e45dd1622a2 net/mlx5e: Skip restore TC rules for vport rep without loaded flag
    e66a99b9177b net/mlx5e: macsec: Maintain TX SA from encoding_sa
    43e589ab372f net/mlx5: DR, select MSIX vector 0 for completion queue creation
    f647d72245aa netrom: check buffer length before accessing it
    36eff8669b74 net: Fix netns for ip_tunnel_init_flow()
    7e9aa1a065dc ipv4: ip_tunnel: Unmask upper DSCP bits in ip_tunnel_xmit()
    3b1a7fb74ab1 ipv4: ip_tunnel: Unmask upper DSCP bits in ip_md_tunnel_xmit()
    ae0710c5cc74 ipv4: ip_tunnel: Unmask upper DSCP bits in ip_tunnel_bind_dev()
    77b1e00fe97e ip_tunnel: annotate data-races around t->parms.link
    2af69905180b net: fix memory leak in tcp_conn_request()
    c6870f86bde6 net: stmmac: restructure the error path of stmmac_probe_config_dt()
    6d01d9f66ae1 net: stmmac: don't create a MDIO bus if unnecessary
    48f63e4e64a5 RDMA/hns: Fix missing flush CQE for DWQE
    be4293e108e2 RDMA/hns: Fix warning storm caused by invalid input in IO path
    2746888be48c RDMA/hns: Fix mapping error of zero-hop WQE buffer
    2049fb6c8bd7 RDMA/hns: Remove unused parameters and variables
    363f502cbfc0 RDMA/hns: Refactor mtr find
    ca2a2cad4efb net: dsa: microchip: Fix LAN937X set_ageing_time function
    7583dd5928b6 net: dsa: microchip: Fix KSZ9477 set_ageing_time function
    fa7f96589f17 drm/bridge: adv7511_audio: Update Audio InfoFrame properly
    f28fa7625536 RDMA/bnxt_re: Fix the locking while accessing the QP table
    cd1547b49b2c RDMA/bnxt_re: Fix MSN table size for variable wqe mode
    2e719d89b9fa RDMA/bnxt_re: Add send queue size check for variable wqe
    3ae9ee7ff3b2 RDMA/bnxt_re: Disable use of reserved wqes
    bb46a484a0c6 RDMA/bnxt_re: Add support for Variable WQE in Genp7 adapters
    9fcfe972758b RDMA/bnxt_re: Fix max_qp_wrs reported
    38b49312da2d RDMA/bnxt_re: Fix reporting hw_ver in query_device
    14f66ac898c9 RDMA/bnxt_re: Add check for path mtu in modify_qp
    183a96174cab RDMA/bnxt_re: Fix the check for 9060 condition
    347654387bb1 nvme-pci: 512 byte aligned dma pool segment quirk
    a0ceed736c88 RDMA/bnxt_re: Avoid sending the modify QP workaround for latest adapters
    a5092b138e1c RDMA/bnxt_re: Avoid initializing the software queue for user queues
    25e6e9da6926 RDMA/mlx5: Enforce same type port association for multiport RoCE
    5d1d7522cf82 RDMA/bnxt_re: Remove always true dattr validity check
    c91ae7c12d6f RDMA/bnxt_re: Allow MSN table capability check
    f452f397f9a6 tracing: Check "%s" dereference via the field and not the TP_printk format
    55841e8820b9 tracing: Fix trace_check_vprintf() when tp_printk is used
    680c07fabc2b tracing: Handle old buffer mappings for event strings and functions
    6920e362bc08 seq_buf: Introduce DECLARE_SEQ_BUF and seq_buf_str()
    cd27bbe89810 powerpc: Remove initialisation of readpos
    c46547b4686e tracing: Move readpos from seq_buf to trace_seq
    1ec141d8f51b net: mctp: handle skb cleanup on sock_queue failures
    c47ed91156da ceph: give up on paths longer than PATH_MAX
    a64e5295ebc4 tracing: Have process_string() also allow arrays
    de2a10e19226 mmc: sdhci-msm: fix crypto key eviction
    6228f13f1996 btrfs: fix use-after-free in btrfs_encoded_read_endio()
    c1dbd28a0795 selinux: ignore unknown extended permissions
    c2a7fc514637 f2fs: fix to wait dio completion
    23ea763880d6 platform/x86: mlx-platform: call pci_dev_put() to balance the refcount
    d4eb5b3c115d ALSA: ump: Shut up truncated string warning
    8b2e38f2a9b7 usb: xhci: Avoid queuing redundant Stop Endpoint commands
    8a2273e5c1be usb: typec: ucsi: glink: fix off-by-one in connector_status
    a47f0b03149a scsi: hisi_sas: Fix a deadlock issue related to automatic dump
    8c5ad189e90f cleanup: Remove address space of returned pointer
    55779f26eab9 crypto: ecc - Prevent ecc_digits_from_bytes from reading too many bytes
    9457d783fb94 Bluetooth: btusb: mediatek: add callback function in btusb_disconnect
    3aab20eb1989 Bluetooth: btusb: add callback function in btusb suspend/resume
    9a466b8693b9 btrfs: fix use-after-free when COWing tree bock and tracing is enabled
    0d2cc60b44d0 btrfs: rename and export __btrfs_cow_block()
    151447859d6f x86/fred: Clear WFE in missing-ENDBRANCH #CPs
    9c268be377e7 x86/ptrace: Add FRED additional information to the pt_regs structure
    498bdedca58a x86/ptrace: Cleanup the definition of the pt_regs structure
    48417c3426cf ACPI/IORT: Add PMCG platform information for HiSilicon HIP09A
    4252d023bae7 ACPI/IORT: Add PMCG platform information for HiSilicon HIP10/11
    f5a20424084f scsi: mpi3mr: Start controller indexing from 0
    d424303d8d18 scsi: mpi3mr: Use ida to manage mrioc ID
    8d891c866cf7 ALSA: ump: Update legacy substream names upon FB info update
    9617001adfc9 ALSA: ump: Indicate the inactive group in legacy substream names
    cf29cbf61cf2 ALSA: ump: Don't open legacy substream for an inactive group
    b5e175e18a39 ALSA: ump: Use guard() for locking
    b41d73055284 udf: Verify inode link counts before performing rename
    17b312c5d869 udf_rename(): only access the child content on cross-directory rename
    d33523b0beb5 watchdog: rzg2l_wdt: Power on the watchdog domain in the restart handler
    e145b77fb5c1 watchdog: rzg2l_wdt: Rely on the reset driver for doing proper reset
    7ea100fb50bb watchdog: rzg2l_wdt: Remove reset de-assert from probe
    b222816f9c43 of: address: Preserve the flags portion on 1:1 dma-ranges mapping
    443f803b332b of: address: Store number of bus flag cells rather than bool
    7a40a884f597 of: address: Remove duplicated functions
    6681113633dc x86/hyperv: Fix hv tsc page based sched_clock for hibernation
    e5b1574a8ca2 x86, crash: wrap crash dumping code into crash related ifdefs
    5422f4321640 thunderbolt: Don't display nvm_version unless upgrade supported
    5a23e3e9e245 thunderbolt: Add support for Intel Panther Lake-M/P
    888c554d3dfd thunderbolt: Add support for Intel Lunar Lake
    6cd8e621a689 xhci: Turn NEC specific quirk for handling Stop Endpoint errors generic
    f1ece345ad2c usb: xhci: Limit Stop Endpoint retries
    61329b25dc1d xhci: retry Stop Endpoint on buggy NEC controllers
    43e3aa2f44d6 net: renesas: rswitch: fix possible early skb release
    3dd65ffa2df6 softirq: Allow raising SCHED_SOFTIRQ from SMP-call-function on RT kernel
    d6616dcd8721 net/mlx5: unique names for per device caches
    ddcc7d71be31 Revert "nvme: make keep-alive synchronous operation"
    801acf741c87 nvme: use helper nvme_ctrl_state in nvme_keep_alive_finish function
    2c276bef8273 usb: typec: ucsi: glink: be more precise on orientation-aware ports
    7723988b0127 usb: typec: ucsi: glink: set orientation aware if supported
    01059e0b5cc0 usb: typec: ucsi: add update_connector callback
    fd662c37a108 usb: typec: ucsi: glink: move GPIO reading into connector_status callback
    8dd7fc5e409b usb: typec: ucsi: add callback for connector status updates
    c47940e84398 iio: adc: ad7192: properly check spi_get_device_match_data()
    843b5d1602d6 iio: adc: ad7192: Convert from of specific to fwnode property handling
    f7d548a62f08 usb: chipidea: udc: limit usb request length to max 16KB
    7a2020e83b6a usb: chipidea: add CI_HDRC_HAS_SHORT_PKT_LIMIT flag
    c39df6d3af2d usb: chipidea: add CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS flag
    c2556801583c fs/ntfs3: Fix warning in ni_fiemap
    48ebb93f933d fs/ntfs3: Implement fallocate for compressed files
    171c40531b04 remoteproc: qcom: pas: enable SAR2130P audio DSP support
    b506a0c41411 remoteproc: qcom: pas: Add support for SA8775p ADSP, CDSP and GPDSP
    25804f9b492b remoteproc: qcom: pas: Add sc7180 adsp
    3c9d3157f3cc mailbox: pcc: Check before sending MCTP PCC response ACK
    d8c0f38208a4 ACPI: PCC: Add PCC shared memory region command and status bitfields
    4460b5236818 i2c: xgene-slimpro: Migrate to use generic PCC shmem related macros
    dcc02c9ebfe8 mailbox: pcc: Support shared interrupt for multiple subspaces
    605018764e21 mailbox: pcc: Add support for platform notification handling
    82461d89c849 clk: qcom: clk-alpha-pll: Add NSS HUAYRA ALPHA PLL support for ipq9574
    deff81f56dff clk: qcom: clk-alpha-pll: Add support for zonda ole pll configure
    7c8c50c9855a scsi: hisi_sas: Create all dump files during debugfs initialization
    044928679823 scsi: hisi_sas: Allocate DFX memory during dump trigger
    91e035e98fa1 scsi: hisi_sas: Directly call register snapshot instead of using workqueue
    4f4fe3db92bb Bluetooth: btusb: Add new VID/PID 0489/e111 for MT7925
    f8a67ffb96c9 Bluetooth: btusb: Add USB HW IDs for MT7921/MT7922/MT7925
    1e7b1a8e7b6e Bluetooth: btusb: Add new VID/PID 13d3/3602 for MT7925
    e612c16ed0b7 Bluetooth: Add support ITTIM PE50-M75C
    ca4e69826d67 Bluetooth: hci_conn: Reduce hci_conn_drop() calls in two functions
    6e6a3479986a i2c: i801: Add support for Intel Panther Lake
    f38ca98b0721 i2c: i801: Add support for Intel Arrow Lake-H
    b35de9e01fc7 wifi: ath10k: avoid NULL pointer error during sdio remove
    358c36eae58d wifi: ath10k: Update Qualcomm Innovation Center, Inc. copyrights
    3ed6b2daa4e9 wifi: ath12k: fix atomic calls in ath12k_mac_op_set_bitrate_mask()
    dc6094108573 wifi: mac80211: Add non-atomic station iterator
    4eceef729c84 wifi: ath12k: Optimize the mac80211 hw data access
    3d94c4b21966 wifi: rtw88: use ieee80211_purge_tx_queue() to purge TX skb
    24b5898a8c73 wifi: mac80211: export ieee80211_purge_tx_queue() for drivers
    ed01e57a8169 media: uvcvideo: Force UVC version to 1.0a for 0408:4033
    9471b8f80526 media: uvcvideo: Force UVC version to 1.0a for 0408:4035
    8fa6f680b5aa cleanup: Adjust scoped_guard() macros to avoid potential warning
    873df38bdf42 cleanup: Add conditional guard support
    4b6beff3c073 crypto: ecdsa - Avoid signed integer overflow on signature decoding
    ec6488917941 crypto: ecdsa - Use ecc_digits_from_bytes to convert signature
    1afc7acbedb8 crypto: ecdsa - Rename keylen to bufsize where necessary
    e7fcd5d696c4 crypto: ecdsa - Convert byte arrays with key coordinates to digits
    93011887013d ext4: partial zero eof block on unaligned inode size extension
    fa42d5f1327f ext4: convert to new timestamp accessors
    1864d4712c4b memblock: allow zero threshold in validate_numa_converage()
    6fdc770506eb NUMA: optimize detection of memory with no node id assigned by firmware
    3adf89f17dbd sched: Initialize idle tasks only once
    106740e978c7 usb: dwc3: gadget: Add missing check for single port RAM in TxFIFO resizing logic
    39619c65ab4b smb: client: fix use-after-free of signing key
    d7cb986425ce smb: client: stop flooding dmesg in smb2_calc_signature()
    5f36890d650c fs/smb/client: implement chmod() for SMB3 POSIX Extensions
    d64429042fef smb/client: rename cifs_ace to smb_ace
    298e73ac323a smb/client: rename cifs_acl to smb_acl
    46c22d37f691 smb/client: rename cifs_sid to smb_sid
    386660bd303e smb/client: rename cifs_ntsd to smb_ntsd
    8322a66f9369 x86/mm: Carve out INVLPG inline asm for use by others
    bffaf4cb2810 docs: media: update location of the media patches
    e8b8c1ecbd2c drm/amd/display: Fix incorrect DSC recompute trigger
    3f9f631f9b91 drm/amd/display: Fix DSC-re-computing
    18abb2787b53 x86/syscall: Mark exit[_group] syscall handlers __noreturn
    2879d995e569 pnmtologo: sync with 6.6
    43ea1c5e6eb3 lib/build_OID_registry: take -stable reproducibility changes
    35046aea43c8 bpftool: Fix undefined bpf macro for unix socket
    9a558d4b8621 tools/resolve_btfids: Fix comparison of distinct pointer types warning in resolve_btfids
    42b2eec2e503 bpftool: Query only cgroup-related attach types
    f71bb11887ba cpu/amd: inhibit SMP check for qemux86
    c31365597a17 powerpc/uaccess: Fix build errors seen with GCC 13/14
    64ebf485c56b usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
    7c76aad68f6d kselftest: Add a ksft_perror() helper
    06644f0d7193 drm/tilcdc: Set preferred depth
    ff7ae7b32324 crypto: jitter - add RCT/APT support for different OSRs
    50cd24ddb6f0 arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    58e5c91d6701 x86/alternatives: Disable interrupts and sync when optimizing NOPs in place
    c878fd2d4c79 x86/alternatives: Sync core before enabling interrupts
    c2d64b9f52b6 qemux86: add configuration symbol to select values
    630c33229e6d sched/isolation: really align nohz_full with rcu_nocbs
    0e5e0f68e2e6 clear_warn_once: add a clear_warn_once= boot parameter
    46934791b902 clear_warn_once: bind a timer to written reset value
    cdee9e38ff32 clear_warn_once: expand debugfs to include read support
    82b562b81841 tools: Remove some options from CLANG_CROSS_FLAGS
    36dc380b776b libbpf: Fix build warning on ref_ctr_off
    9e3e1fe20982 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    e497a4a5da65 perf: x86-32: explicitly include <errno.h>
    7b57ddd89565 perf: mips64: Convert __u64 to unsigned long long
    1cfc19423dc7 perf: fix bench numa compilation
    98bc2815fade perf: add SLANG_INC for slang.h
    17209a70b9b3 perf: add sgidefs.h to for mips builds
    9cd4258d910a perf: change --root to --prefix for python install
    8110a4f26628 perf: add 'libperl not found' warning
    bc89d5e08f77 perf: force include of <stdbool.h>
    4f6c760cc876 fat: Replace prandom_u32() with get_random_u32()
    bc53117b12b2 fat: don't use obsolete random32 call in namei_vfat
    30b2236ab378 FAT: Added FAT_NO_83NAME
    cef98d22b4ed FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    0bbd7daba9e1 FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    5883fc340084 aufs6: adapt to v6.6 i_op->ctime changes
    c4342d979bf2 aufs6: fix magic.mk include path
    35266bc2dc81 aufs6: adapt to v6.6
    8edede4e98be aufs6: core
    712248233ebe aufs6: standalone
    3b71a8a848d8 aufs6: mmap
    3e2924871f37 aufs6: base
    7f4907a93101 aufs6: kbuild
    d2f7b03e4aa7 yaffs2: update VFS ctime operations to 6.6+
    bcd6cfcd1aa0 yaffs2: v6.5 fixups
    cc615704b5f5 yaffs2: Fix miscalculation of devname buffer length
    8ef2e22dcf91 yaffs2: convert user_namespace to mnt_idmap
    c9c749f9f7d3 yaffs2: replace bdevname call with sprintf
    395b01cdc39d yaffs2: convert read_page -> readfolio
    d98b07e43ba6 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    613c6d50fdbe yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    622c4648936f yaffs2: v5.12+ build fixups (not runtime tested)
    7562133d4090 yaffs: include blkdev.h
    dbd44252cd59 yaffs: fix misplaced variable declaration
    c223a10b1ac0 yaffs2: v5.6 build fixups
    90f6007cfbf4 yaffs2: fix memory leak when /proc/yaffs is read
    37ee169c5ea1 yaffs: add strict check when call yaffs_internal_read_super
    b6e007b8abb6 yaffs: repair yaffs_get_mtd_device
    fb98f65a466a yaffs: Fix build failure by handling inode i_version with proper atomic API
    51e0aac75ea2 yaffs2: fix memory leak in mount/umount
    2b74a0cae7b0 yaffs: Avoid setting any ACL releated xattr
    ff4130a9c376 Yaffs:check oob size before auto selecting Yaffs1
    ba95b409c67c fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    8fa35eba9056 yaffs2: adjust to proper location of MS_RDONLY
    1eb5deaad8c4 yaffs2: import git revision b4ce1bb (jan, 2020)
    4dce67c1e8c8 initramfs: allow an optional wrapper script around initramfs generation
    2f603d83fcc4 pnmtologo: use relocatable file name
    664a6a0a484b tools: use basename to identify file in gen-mach-types
    9de64bc0c185 lib/build_OID_registry: fix reproducibility issues
    ae9b80797295 vt/conmakehash: improve reproducibility
    a972323151bd iwlwifi: select MAC80211_LEDS conditionally
    15d2adcc0198 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    5556a6c04b19 arm64/perf: Fix wrong cast that may cause wrong truncation
    5552dc768ffc defconfigs: drop obselete options
    00fe4152df31 arm64/perf: fix backtrace for AAPCS with FP enabled
    3888d0652edf linux-yocto: Handle /bin/awk issues
    3d55d299f23a uvesafb: provide option to specify timeout for task completion
    23c068c080be uvesafb: print error message when task timeout occurs
    edbfc939266e compiler.h: Undef before redefining __attribute_const__
    c99ae7e2a19a vmware: include jiffies.h
    572d84d928c8 Resolve jiffies wrapping about arp
    fdcd47cac843 nfs: Allow default io size to be configured.
    927d48801098 check console device file on fs when booting
    57cc27f821dd mount_root: clarify error messages for when no rootfs found
    1b53d82a8152 mconf: fix output of cflags and libraries
    1811da09f42c menuconfig,mconf-cfg: Allow specification of ncurses location
    83c2e0c6eb1f modpost: mask trivial warnings
    6de673039484 kbuild: exclude meta directory from distclean processing
    6decd32815f5 powerpc: serialize image targets
    f6b683b38318 arm: serialize build targets
    e798b09ebf57 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    dc8a1e5a88f8 x86_64_defconfig: Fix warnings
    68491e5f72b6 powerpc/ptrace: Disable array-bounds warning with gcc8
    d71ebfce3004 powerpc: Disable attribute-alias warnings from gcc8
    62f50884b8b1 powerpc: kexec fix for powerpc64
    da6871c62c37 powerpc: Add unwind information for SPE registers of E500 core
    f161c880c11d mips: make current_cpu_data preempt safe
    5e94a8247ce7 mips: vdso: fix 'jalr $t9' crash in vdso code
    19e36714b1c7 mips: Kconfig: add QEMUMIPS64 option
    e2e537db3cbd 4kc cache tlb hazard: tlbp cache coherency
    aee9870611e5 malta uhci quirks: make allowance for slow 4k(e)c
    881948cd1517 drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    98ec1963fcb7 arm64: defconfig: cleanup config options
    f1727c537ba8 vexpress: Pass LOADADDR to Makefile
    4474c32dc24a arm: ARM EABI socketcall
    75e31a2b70fd ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: 0f8ac4247f1f21691753044a5e700309ca22a84b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-14 07:49:10 -08:00
Peter Marko
61e2aebcb5 python3: upgrade 3.12.8 -> 3.12.9
Release notes:
https://docs.python.org/release/3.12.9/whatsnew/changelog.html#python-3-12-9

Solves CVE-2025-0938, CVE-2024-12254 and 3 other vulnerabilities without
CVE number assigment.

Add a patch to fix failure of a new test.

(From OE-Core rev: cb0187ed2962e4c140c4f59ce08f94b18b05004c)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-14 07:49:09 -08:00
Lee Chee Yang
27ef7bc694 migration-guides: add release notes for 5.1.2
(From yocto-docs rev: a61a3a32fad3b28dd69dda36ef8f4bcf5c3d0b0b)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 41cc5d8de37b28df0a881e7684c237876aa0b69b)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-12 06:29:34 -08:00
Lee Chee Yang
8d977a388f migration-guides: add release notes for 4.0.24
(From yocto-docs rev: 9cdb6172951781f28ef95fefe27230999b71ebde)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 1c848b4104ee0ba9b07cdb424bb829d14f9982d7)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-12 06:29:34 -08:00
Antonin Godard
46df1b0e96 ref-manual/faq: add q&a on systemd as default
Originally written by Richard Purdie, but formatted in rst syntax and
slight rephrasing.

Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 57bbeec169f4d5ed2780cb008b6ff8a6a4b881e9)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 110690bee14f7263a5a34145e91e4450ec3bf4e6)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-12 06:29:34 -08:00
Simon A. Eugster
2774779483 documentation: Fix typo in standards.md
(From yocto-docs rev: 3c2a8865df7dd357d7aff604041d2c336c637df5)

Signed-off-by: "Simon A. Eugster" <simon.eu@gmail.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit e6745669cc26de8f61d5d1ccdd5a95b552eece97)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-12 06:29:34 -08:00
Ross Burton
aedd45576c lrzsz: update SRC_URI to avoid redirect
This server redirects to https:, so we might as well avoid the redirect.

(From OE-Core rev: e475321e933e9c58e88dd445328f9228c417b4ff)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 244779cc4d5e46cd3611c73862e653d38c8b99dd)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-12 06:29:34 -08:00
Richard Purdie
e35b91ea4d oeqa/gitarchive: Fix syntax warning
The backslash characters cause syntax warnings, mark the strings are raw
to avoid this.

(From OE-Core rev: abbe836162a24de5f22b38e8a2e547607e429820)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f717f61a37ed83618d054fc4017b5f5386fb2e3c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-12 06:29:34 -08:00
Alexander Kanavin
d78b78df91 libxml-parser-perl: correct SRC_URI
(From OE-Core rev: d2a7186bfc819cc52901b8cf8086d53342586a60)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b3e44bbf9972968076f06ecac027bd7a2f3fe781)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-12 06:29:34 -08:00
Alexander Kanavin
e1bc4dda0a enchant2: correct SRC_URI and other uris
https://github.com/AbiWord/enchant confirms
the correct locations.

(From OE-Core rev: 86b785bfa69a501e7ae5961b8b3005bd7076ed5b)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7733aae9c4d3fbaa7d4a3c69dcea3da8e54771e3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-12 06:29:34 -08:00
Richard Purdie
94efc6a14c resulttool/store: Fix permissions of logarchive
We want the results directory to be visable to other users, tweak the
permissions of the created directory to ensure this is the case.

(From OE-Core rev: bf121dc86f2c3443673f5ff3d486237678044479)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ed9d887e8d71a800db19826264de552f7736dc6a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-12 06:29:34 -08:00
Mikko Rapeli
6b1572b4f2 systemd: set CVE_PRODUCT
systemd.inc is used by systemd, systemd-boot and
systemd-tools-native recipes so make sure all
match to "systemd" product in CVE database. The
split between systemd, systemd-boot and
systemd-tools-native is specific to oe-core and
upstream just refers to systemd. Not limiting
to "systemd_project" vendor since multiple
vendor names have been used in the past.

(From OE-Core rev: d92c1ca1c89f140a731aec9f3389c2dad2f59829)

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit eb46ad379170f0a80ac2d061fa02c118f5ed1d31)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-12 06:29:33 -08:00
Peter Marko
2d4aee3d97 cve-check: fix cvesInRecord
Currently flag cvesInRecord is set to false if all CVEs are ignored or
patched. This is inconsistent as it shows false if a CVE was fixed via
patch and true if this CVE was fixed by upgrade. In both cases the CVE
is valid and was fixed.

As I understand this flag, it should say if any CVE exists for
particular component's product (regardless of how this CVE is handled)
and can be used to validate if a product is correctly set.

Note that skipping ignored CVEs may make sense in some cases, as ignored
may mean that NVD DB is wrong, but in many cases it is ignored for other
reasons. Further patch can be done to evaluate ignore subtype but that
would be against my understanding of this flag as described above.

(From OE-Core rev: 0fb2bfb8d6c77009385d7deca2e758bdee5c9b07)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c5d499693672ec9619392011b765941cf94aa319)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-12 06:29:33 -08:00
Peter Marko
a1b7ded85a cve-check: restore CVE_CHECK_SHOW_WARNINGS functionality
Commit 05ef4f2a7b225c8d230eaca8d333ffb921729d79 removed this
functionality by accident. It was implemented in text exporter, while it
should have been a global feature independent on exporter type to avoid
such accidental deletion.

(From OE-Core rev: 3cf7c6bcd569cb19ac2b9c05f1134fdda6e9e714)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Cc: Marta Rybczynska <marta.rybczynska@ygreky.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2996b11596afca288a6b7f409a5287063d331f3b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-12 06:29:33 -08:00
Ross Burton
3ca2b7ea9f libnsl2: set CVE_PRODUCT
Our libnsl2 recipe is just libnsl version 2.x, so set the CVE vendor and
product pair appropriately as per:

https://www.cvedetails.com/version/1177013/Libnsl-Project-Libnsl-2.0.0.html

(From OE-Core rev: c8e9cde342e935b309aeab06029fc5a46ef89028)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d0e77d3f9217b96f1c77ba65fc9b8420f413c401)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-12 06:29:33 -08:00
Chris Laplante
c621ccd93b bitbake: cooker: Make cooker 'skiplist' per-multiconfig/mc
Previously, the cooker skiplist was shared across multiconfigs
(including default ''). If you had a recipe that was incompatible with
several multiconfigs for different reasons, then the displayed reason
(i.e. the "ERROR: Nothing PROVIDES" and "* was skipped" messages) might
vary across invocations of bitbake. This was caused by the random order
in which recipes are parsed under different multiconfig contexts, with
each skip reason overwriting the previously assigned reason.

I hit this specificially when using COMPATIBLE_MACHINE, but
COMPATIBLE_HOST (or anything using bb.parse.SkipRecipe) would have done it too.

(Bitbake rev: a8578d12dfe5a3c92119bfee224595a392d6b0dd)

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c51f01a35ed9a928402eab0899598b5c59602eef)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-12 06:29:33 -08:00
Adrian Freihofer
6b2ad54a43 devtool: ide-sdk remove the plugin from eSDK installer
The ide-sdk command bootstraps the SDK from the bitbake environment
before the IDE configuration is generated. In the case of the eSDK
installer, the bootstrapping is performed during the installation of
the eSDK installer. Running the ide-sdk plugin from an eSDK installer
based setup would require skipping the bootstrapping and probably taking
some other differences into account when generating the IDE
configurations.

This would be possible. But it will probably never be implemented, as
running devtool ide-sdk directly from the bitbake environment is much
more flexible.
Also, some of the recent improvements that have made it into the core
have the potential to make the eSDK installer obsolete at some point in
the future:
- bitbake-layers create-layers-setup replicates the layers
- bitbake-config-build replicates the build configuration
- The new sstate mirror features replicate the sstate
- bblock locks the sstate more flexible than the eSDK installer
- devtool ide-sdk bootstraps the SDK directly from the bitbake
  environment. The same environment-setup... file is provided with
  --mode=shared.
  The devtool modify based workflow is supported since always by devtool
  and also the default --mode of devtool ide-sdk.
These functions essentially cover what the eSDK installer does without
a need for the current implementation of the eSDK installer and the
populate_sdk_ext, which is hard to maintain and takes a lot of time to
build.
This means that instead of making the ide-sdk plugin compatible with the
eSDK installer, we should rather replace the current implementation of
the eSDK installer and populate_sdk_ext with an implementation that can
replicate a normal bitbake environment in a convenient way where the
ide-sdk plugin also just works without additional complexity.

(From OE-Core rev: a5e7ff4424a68335fc768e49a232a58011a5b160)

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-03 06:24:37 -08:00
Adrian Freihofer
a39666e2ad oe-selftest: devtool ide-sdk use modify debug-build
(From OE-Core rev: c15220660b3c61f88a34cbc193afd875e5026704)

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-03 06:24:37 -08:00
Adrian Freihofer
8a4f813c86 devtool: ide-sdk recommend DEBUG_BUILD
The debug_build_config function was never called. Compiling with debug
optimized compiler flags was not working. Even with the
--debug-build-config flag set, the build configuration from the recipe
was used.

The devtool ide-sdk --debug-build-config approach didn't work very well
anyway. The problem is that changing the bbappend file doesn't work
while bitbake uses the bbappend file. As a workaround, it would be
possible to parse the recipe, get DEBUG_BUILD and the path to the append
file, exit tinfoil, change the bbappend file, reopen tinfoil and do what
ide-sdk is supposed to do. Such an implementation would be complicated
and slow.
Therefore, the code that was originally supposed to implement this is
removed from ide-sdk and the new --debug-build function of devtool
modify is used instead. Additionally, a hint should be given on how to
manually add DEBUG_BUILD = '1' to bbappend.

This is compatible with the VSCode Bitbake plug-in, which does not
support this parameter anyway.

(From OE-Core rev: 8753ddc7a42a09eec9b12af97b2b511b2970d83c)

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-03 06:24:37 -08:00
Adrian Freihofer
e1f3ee328b devtool: ide-sdk sort cmake preset
Sort the keys of the generated CMakeUserPreset.json file to make it
easier to search and compare.

(From OE-Core rev: ad633eb3b90adb1087609c97ab8dc83ca0f08ad2)

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-03 06:24:37 -08:00
Adrian Freihofer
a221cda57c devtool: modify support debug-builds
Add a new option --debug-builds to automatically add DEBUG_BUILD = “1”
to the bbappend file of this recipe. This is especially useful when
invoking devtool modify before invoking devtool ide-sdk to perform a
remote debugging session.

(From OE-Core rev: c1bea1549d3bc47845b7c23158d48fad8e17277e)

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-03 06:24:37 -08:00
Peter Marko
281e96aaec go: upgrade 1.22.10 -> 1.22.11
Upgrade to latest 1.22.x release [1]:

$ git --no-pager log --oneline go1.22.10..go1.22.11
f072884354 (tag: go1.22.11) [release-branch.go1.22] go1.22.11
b72d56f98d [release-branch.go1.22] net/http: persist header stripping across repeated redirects
19d2103415 [release-branch.go1.22] crypto/x509: properly check for IPv6 hosts in URIs
ae9996f965 [release-branch.go1.22] runtime: hold traceAcquire across casgstatus in injectglist
223260bc63 [release-branch.go1.22] crypto/tls: fix Config.Time in tests using expired certificates

Fixes CVE-2024-45336 and CVE-2024-45341

[1] https://github.com/golang/go/compare/go1.22.10...go1.22.11

(From OE-Core rev: 4589986602319f9ed61e381b333bb53b731eb8d8)

(From OE-Core rev: 622f866e00c0c3bdc80670df04378cb49381ea9c)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-03 06:24:37 -08:00
Peter Marko
ec14a3ed28 go: upgrade 1.22.9 -> 1.22.10
Upgrade to latest 1.22.x release [1]:

$ git --no-pager log --oneline go1.22.9..go1.22.10
8f3f22eef8 (tag: go1.22.10) [release-branch.go1.22] go1.22.10
6d7a95abca [release-branch.go1.22] runtime: reserve 4kB for system stack on windows-386
6f05fa7a4f [release-branch.go1.22] syscall: mark SyscallN as noescape
3355db9690 [release-branch.go1.22] time: accept "+01" in TestLoadFixed on OpenBSD

[1] https://github.com/golang/go/compare/go1.22.9...go1.22.10

(From OE-Core rev: e357c93b39df938dc36195dbd779a58b2951b8e6)

(From OE-Core rev: d723fa3573d02cc815ad9706aafd7510eb54eac6)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-03 06:24:37 -08:00
Peter Marko
b0df688b3c go: upgrade 1.22.8 -> 1.22.9
Upgrade to latest 1.22.x release [1]:

$ git --no-pager log --oneline go1.22.8..go1.22.9
8af39d30a4 (tag: go1.22.9) [release-branch.go1.22] go1.22.9
c19e5887f4 [release-branch.go1.22] cmd/cgo/internal/testcarchive: remove 1-minute timeout
e3fd4ba7f9 [release-branch.go1.22] cmd/link: generate Mach-O UUID when -B flag is specified
29252e4c5a [release-branch.go1.22] runtime: fix TestGdbAutotmpTypes on gdb version 15

[1] https://github.com/golang/go/compare/go1.22.8...go1.22.9

(From OE-Core rev: 4f2f202506bcefb4d6c46a11738e159e261a4a4b)

(From OE-Core rev: 3425dd4ba1723fb9c660b3941fd92209c3141dd3)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-02-03 06:24:37 -08:00
Antonin Godard
2a409637e1 dev-manual/building: document the initramfs-framework recipe
[ YOCTO #14747 ]

Adding a initramfs is a common task, and the way oe-core offers to do so
is by using the initramfs-framework recipe and companion modules. There
was already documentation on adding an initramfs but the documentation
was lacking details on this framework. Add it before the multiconfig
section because it is a bit more important IMO.

Reported-by: Alejandro <alejandro@enedino.org>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 2df1f56e4863354f05a352d4f61cc797d85100db)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit caedbca4eced4cf5bc74aaae64e4ad2887c2fc65)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-29 06:20:44 -08:00
Antonin Godard
bcff406b28 test-manual/ptest: link to common framework ptest classes
We document how to add ptest support for a recipe by inheriting the
ptest class. We may as well tell the user to inherit a ptest class for a
common framework which does most of the job for you.

Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: eb44bae3071b751820a6564f31a50ec1bfde5e42)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 411b18e489a97ea4cde05613cdd4c86deb0cb8cb)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-29 06:20:44 -08:00
Adrian Freihofer
edcb76934d sdk-manual: extensible.rst: devtool ide-sdk improve
The devtool ide-sdk section is reformulated to be independent of the
eSDK installer. In fact, ide-sdk does not even support the execution
of an installer-based setup.
This reformulation is also a preparation for moving the devtool
documentation to a dedicated devtool section which is independent from
the eSDK documentation.
It should be clarified that devtool ide-sdk starts the SDK directly
from the bitbake environment. It is therefore an alternative to
bitbake -c populate_sdk_ext and installing an SDK installer.

A warning is added that explains some workarounds for some nasty
behavior of VSCode when running it in a bitbake environment.

(From yocto-docs rev: 82e396d539febc3c730af48e0f8836540fadd1e4)

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 287817f33688d61f7a71c056bfa5c645edb4fc4e)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-29 06:20:44 -08:00
Antonin Godard
4a70faaf98 test-manual/reproducible-builds: fix reproducible links
We don't run reproducible-builds on specific distros anymore, but on a
distro at random depending on what is available on the Autobuilder. Fix
the link to this builder and remove distro specific ones.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 7513b4485c08cf5e9b0c0299599e944ce1139313)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 8bd2bc3c00ca80f4c000a2a8d618a9f8ea3aa54b)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-29 06:20:44 -08:00
Antonin Godard
15777adaf9 Update autobuilder URLs to valkyrie
We have moved to Valkyrie which is hosted on
https://autobuilder.yoctoproject.org/valkyrie. Update the URL in the
documentation.

Also, the YOCTO_AB_URL macro was used in a single location in the
documentation so replace it by the :yocto_ab: custom extlink and remove
the macro.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 5fef9b01360faa07d0c8a6a2281caf1ba943e0a0)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 0b0ed55d909dd11cdc9b29b105473271627c025e)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-29 06:20:44 -08:00
Lee Chee Yang
8ea18d1fc5 migration-guides: add release notes for 5.0.6
(From yocto-docs rev: a17287f76bb05aeebbe0b684d4b4a36137c500f9)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 6a22014cd1a7b147d352640088d3b8b724547ac6)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-29 06:20:44 -08:00
Jiaying Song
d7628aebcc boost: fix do_fetch error
Change the SRC_URI to the correct value due to the following error:
WARNING: boost-native-1.86.0-r0 do_fetch: Checksum failure encountered with download of https://boostorg.jfrog.io/artifactory/main/release/1.86.0/source/boost_1_86_0.tar.bz2 - will attempt other sources if available

(From OE-Core rev: 06439dff5437782f7b6627e0374eaa24ca5aee4a)

Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-29 06:20:43 -08:00
Harish Sadineni
f1fea13c94 rust-target-config: Fix TARGET_C_INT_WIDTH with correct size
[YOCTO #15600]

The TARGET_C_INT_WIDTH value was incorrectly set to 64 instead of 32.
It is updated for PPC, Mips, and riscv64 architectures.

Discussion links for solution:
 https://lists.openembedded.org/g/openembedded-core/message/207486
 https://lists.openembedded.org/g/openembedded-core/message/207496

(From OE-Core rev: 2ed3b74eb45802cfa64ec9ab460422e098e975d5)

Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b9df8cd8b29064d115dab3bfd1ea14f94a5c0238)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-29 06:20:43 -08:00
Harish Sadineni
e87b459abc linux: Modify kernel configuration to fix runqlat issue
In Qemu Running "/usr/share/bcc/tools/runqlat 1 5" gives following error:-

libbpf: kernel BTF is missing at '/sys/kernel/btf/vmlinux', was CONFIG_DEBUG_INFO_BTF enabled?
libbpf: failed to find valid kernel BTF
modprobe: FATAL: Module kheaders not found in directory /lib/modules/6.10.14-yocto-standard
Unable to find kernel headers. Try rebuilding kernel with CONFIG_IKHEADERS=m (module) or installing
the kernel development package for your running kernel version.
chdir(/lib/modules/6.10.14-yocto-standard/build): No such file or directory
Traceback (most recent call last):
  File "/usr/share/bcc/tools/./runqlat", line 293, in <module>
    b = BPF(text=bpf_text)
  File "/usr/lib/python3.13/site-packages/bcc/__init__.py", line 479, in __init__
    raise Exception("Failed to compile BPF module %s" % (src_file or "<text>"))

the following patch fixes the error.

BCC test summary for x86_64:

Before applying the patch:
 TOTAL: 95
 PASS: 29
 FAIL: 66
After applying the patch:
 TOTAL: 95
 PASS: 79
 FAIL: 16

50 new test cases passed

(From OE-Core rev: 97e6af0896d3d208bbbe0021a51706f59a662d77)

Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
(cherry picked from commit 3e2f78fba9d259483311db5fa1101e3907549364)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-29 06:20:43 -08:00
Ross Burton
dbb36a45f0 classes/qemu: use tune to select QEMU_EXTRAOPTIONS, not package architecture
Using the package architecture to select the right qemu options to pass
to qemu-user is incorrect, and fails for recipes that set PACKAGE_ARCH
to MACHINE_ARCH (as the qemuppc workarounds suggest) because there are
not typically any options set for the machine name.

Solve this by using TUNE_PKGARCH instead: for the majority of recipes
this is the same value, but for machine-specific recipes it remains the
same instead of changing to the machine name.

This means we can remove the qemuppc workarounds, as they're obsolete.

Also update the gcc-testsuite recipe which uses the same pattern to use
TUNE_PKGARCH, and generalise the else codepath to avoid needing to
update the list of architectures.

[ YOCTO #15647 ]

(From OE-Core rev: 6db23345fd653aa0b4e483d2635376dfe7bed3cd)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 414b754a6cbb9cc354b1180efd5c3329568a2537)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-29 06:20:43 -08:00
Ross Burton
55d65739ef classes/nativesdk: also override TUNE_PKGARCH
The nativesdk class overrides PACKAGE_ARCH and unsets TUNE_FEATURES, but
as recipes might want to look at TUNE_PKGARCH too (for example, when
setting QEMU_EXTRAOPTIONS) we should also override that variable.

Otherwise, a nativesdk recipe will have the TUNE_PKGARCH of the target,
which leads to errors (eg passing mips arguments to an arm qemu).

(From OE-Core rev: 9c64247b206efa72a52460a0b94734f7afc832e1)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 05322beb290e1db30bef49b4364f8a8e6e9f7408)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-29 06:20:43 -08:00
Peter Marko
05a5e1c1d7 socat: patch CVE-2024-54661
Picked upstream commit
https://repo.or.cz/socat.git/commitdiff/4ee1f31cf80019c5907876576d6dfd49368d660f

Since this was the only commit in 1.8.0.2 it also contained release
changes which were dropped.

(From OE-Core rev: 624b91c23559d7d1bc51ec221331513529853cd2)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-29 06:20:43 -08:00
Richard Purdie
d3a9774876 bitbake: tests/fetch: Fix git shallow test failure with git >= 2.48
>From git 2.48 release notes:

"""
When "git fetch $remote" notices that refs/remotes/$remote/HEAD is
missing and discovers what branch the other side points with its
HEAD, refs/remotes/$remote/HEAD is updated to point to it.
"""

This means with git 2.48 onwards, there is a mystery "HEAD" revision
appearing in some of our shallow clone tests. We can avoid this by
using the same canonicalization as used for the reference revisions.

This resolves autobuilder failures on the Fedora 40 workers.

(Bitbake rev: f4b2ae97a8dd745b463e5e10fbc8d30d29d223c5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c83444d1210740e27b1744d3aa7c5cad4e28db2f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-29 06:20:43 -08:00
Steve Sakoman
ff9ca74e17 build-appliance-image: Update to styhead head revision
(From OE-Core rev: 62dfe689246d648f9970a5476716e486b1a33765)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:51:50 -08:00
Steve Sakoman
ad45230448 poky.conf: bump version for 5.1.2
(From meta-yocto rev: 8a166a1e1845cc8c6cee5bf10479c90bdffe72c4)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Xiangyu Chen
d55092f458 lttng-modules: fix sched_stat_runtime changed in Linux 6.6.66
The following commit has been backported into the 6.6.y branch.

See upstream commit:

    commit 5fe6ec8f6ab549b6422e41551abb51802bd48bc7
    Author: Peter Zijlstra <peterz@infradead.org>
    Date:   Mon Nov 6 13:41:43 2023 +0100

        sched: Remove vruntime from trace_sched_stat_runtime()

That caused building the lttng-modules report compile error:

       tracepoint-event-impl.h:133:6: error: conflicting types for
       'trace_sched_stat_runtime';

The fix is still pending on lttng review board, backport it to oe-core to
de-block the build issue.

(From OE-Core rev: 0562a2c75985acf9ef33034e8aeb163afdc683bf)

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5b973be9a7fbb2694d162ac06b76513525f3deed)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Richard Purdie
66f9cec853 oeqa/ssh: Improve performance and log sizes
The current code is not fit for purpose when handling large files via ssh. In the strace
ptest case, we can end up with a 1.4GB archive being transferred for which every
byte is printed into the task logfile twice over. This is then sent over bitbake IPC
which compounds the problems.

Make the following improvements:
  * when the output is large (over 64kb), don't print it
  * use a bytearray for better concat performance since strings are slow for this
  * when there is no ssh output, say that
  * print periodic size status output rather than the data itself since this could be binary and/or large
  * fix the killed process message logic which appeared broken

(From OE-Core rev: 57673a71b20e2bbb53e7652a709bdcb32c429b6b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e7dd009a17dc902852983a82bce41bf78bb1e242)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Michael Nazzareno Trimarchi
f716913667 connman: Fix restart script
The script does not work if the connman service is already stopped.
The start-stop-daemon checks for the existence of a specified process.
If such a process exists, start-stop-daemon sends it the signal specified
by --signal, and exits with error status 0.  If such  a  process  does
not exist, start-stop-daemon exits with error status 1 (0 if --oknodo is specified).
The script uses set -e so we need to add --oknodo option to stop

(From OE-Core rev: f32ab69b4caef5ac2f61bb53102d8b08b94d54d5)

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b1c1b67166049181136d5eb68740f3bf98bf670d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Robert Yang
e7964cf80f groff: Fix race issues for parallel build
Fixed race issues for parallel build:
groff: error: couldn't exec soelim: Permission

And:
groff: error: couldn't exec grn: Permission denied

(From OE-Core rev: 99da4c812712b6277a857ae8c903627a6c6d792a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
(cherry picked from commit b9ee7ea9ab05a1887c863dc9fccc65cb9e6850df)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Bruce Ashfield
2f9ced5a78 linux-yocto/6.6: update to v6.6.69
Updating linux-yocto/6.6 to the latest korg -stable release that comprises
the following commits:

    a30cd70ab75a Linux 6.6.69
    ee18012c8015 block: avoid to reuse `hctx` not removed from cpuhp callback list
    937fcde0e971 ALSA: hda/realtek: Fix spelling mistake "Firelfy" -> "Firefly"
    ff4dff0bbe79 x86/cpu/intel: Drop stray FAM6 check with new Intel CPU model defines
    0098f6a62ac7 ALSA: sh: Fix wrong argument order for copy_from_iter()
    1ce362065899 btrfs: sysfs: fix direct super block member reads
    6e1a82259307 btrfs: avoid monopolizing a core when activating a swap file
    13eb3cae1d8e power: supply: gpio-charger: Fix set charge current limits
    c484dbafbae9 i2c: microchip-core: fix "ghost" detections
    e1cc0e256092 i2c: imx: add imx7d compatible string for applying erratum ERR007805
    b1f7476e07b9 PCI/MSI: Handle lack of irqdomain gracefully
    3f66c65f6525 i2c: microchip-core: actually use repeated sends
    80120bb4eef7 io_uring/sqpoll: fix sqpoll error handling races
    03041e474a6a tracing: Prevent bad count for tracing_cpumask_write
    dafa7332e7c0 tracing: Constify string literal data member in struct trace_event_call
    c1a26ea77f81 freezer, sched: Report frozen tasks as 'D' instead of 'R'
    60b57dc761d3 drm/amdkfd: pause autosuspend when creating pdd
    4312b60fa7ac drm/amdkfd: Use device based logging for errors
    9f7042ffc7f3 drm/amdkfd: drop struct kfd_cu_info
    798f21e8a655 drm/amdkfd: reduce stack size in kfd_topology_add_device()
    8406848671ce x86/cpu: Add Lunar Lake to list of CPUs with a broken MONITOR implementation
    fe48d03286b2 x86/cpu/intel: Switch to new Intel CPU model defines
    d7ac1856b6ec x86/cpu/vfm: Update arch/x86/include/asm/intel-family.h
    cb3491e875f6 x86/cpu/vfm: Add/initialize x86_vfm field to struct cpuinfo_x86
    f3a3192993da x86/cpu: Add model number for another Intel Arrow Lake mobile processor
    224d693c9203 x86/cpu: Add model number for Intel Clearwater Forest processor
    14172f8e9485 drm/amdgpu/hdp6.0: do a posting read when flushing HDP
    c9ad5cbf2495 drm/amdgpu/hdp5.0: do a posting read when flushing HDP
    f60770d660dc drm/amdgpu/hdp4.0: do a posting read when flushing HDP
    a9cb2cc5b8b5 drm/amd/amdgpu: allow use kiq to do hdp flush under sriov
    36a6e8aeae4a pmdomain: core: Add missing put_device()
    13ced1c4980e ALSA: hda/realtek: fix micmute LEDs don't work on HP Laptops
    31fc2ce99308 ALSA: hda/realtek: fix mute/micmute LEDs don't work for EliteBook X G1i
    2d2b19ed4169 sched/task_stack: fix object_is_on_stack() for KASAN tagged pointers
    1258986bbd17 MIPS: mipsregs: Set proper ISA level for virt extensions
    37ee3b66eb62 MIPS: Probe toolchain support of -msym32
    58bf93580fec blk-mq: move cpuhp callback registering out of q->sysfs_lock
    079fcc926b0b blk-mq: register cpuhp callback after hctx is added to xarray table
    12c0ddd6c551 virtio-blk: don't keep queue frozen during system suspend
    9735d40f5fde drm/dp_mst: Ensure mst_primary pointer is valid in drm_dp_mst_handle_up_req()
    5edf9f786a18 spi: omap2-mcspi: Fix the IS_ERR() bug for devm_clk_get_optional_enabled()
    3556af9a68af scsi: storvsc: Do not flag MAINTENANCE_IN return of SRB_STATUS_DATA_OVERRUN as an error
    cf4bea16bb6d scsi: mpt3sas: Diag-Reset when Doorbell-In-Use bit is set during driver load time
    cecca8b42063 spi: intel: Add Panther Lake SPI controller support
    eb9b647a6834 platform/x86: asus-nb-wmi: Ignore unknown event 0xCF
    4eb54230b0ba LoongArch: BPF: Adjust the parameter of emit_jirl()
    5fc47124442d LoongArch: Fix reserving screen info memory for above-4G firmware
    5e448ea8df48 regmap: Use correct format specifier for logging range errors
    3ad1feaa0bd0 smb: server: Fix building with GCC 15
    7dbf2af85cd3 ALSA: sh: Use standard helper for buffer accesses
    39c860c96c64 ALSA: hda/conexant: fix Z60MR100 startup pop issue
    3dea3c59c4bd udf: Skip parent dir link count update if corrupted
    f50783148ec9 scsi: megaraid_sas: Fix for a potential deadlock
    fbd7deb459b2 scsi: qla1280: Fix hw revision numbering for ISP1020/1040
    ab9ae7e789ab watchdog: mediatek: Add support for MT6735 TOPRGU/WDT
    e64809e8754a watchdog: it87_wdt: add PWRGD enable quirk for Qotom QCML04
    d4d67fa7158d tracing/kprobe: Make trace_kprobe's module callback called after jump_label update
    23681bc4b59f stddef: make __struct_group() UAPI C++-friendly
    b7f60ffdfd96 powerpc/pseries/vas: Add close() callback in vas_vm_ops struct
    dd45c8778273 mtd: rawnand: fix double free in atmel_pmecc_create_user()
    e658f1c133b8 dmaengine: at_xdmac: avoid null_prt_deref in at_xdmac_prep_dma_memset
    aa2381a1ea39 dmaengine: apple-admac: Avoid accessing registers in probe
    34d2c9c6de73 dmaengine: fsl-edma: implement the cleanup path of fsl_edma3_attach_pd()
    f2705359161f dmaengine: tegra: Return correct DMA status when paused
    8cf5aa06d074 dmaengine: dw: Select only supported masters for ACPI devices
    7f92f287b0fa dmaengine: mv_xor: fix child node refcount handling in early exit
    908806a2e789 phy: rockchip: naneng-combphy: fix phy reset
    96173874d6b8 phy: usb: Toggle the PHY power during init
    94dd7d0665ec phy: core: Fix that API devm_phy_destroy() fails to destroy the phy
    216b9f8335b5 phy: core: Fix that API devm_of_phy_provider_unregister() fails to unregister the phy provider
    58068f8b7a55 phy: core: Fix that API devm_phy_put() fails to release the phy
    80a6eeb3a73a phy: core: Fix an OF node refcount leakage in of_phy_provider_lookup()
    293b3748abab phy: core: Fix an OF node refcount leakage in _of_phy_get()
    826acec1a9f9 phy: qcom-qmp: Fix register name in RX Lane config of SC8280XP
    36094da8b402 mtd: rawnand: arasan: Fix missing de-registration of NAND
    649ba9c1712b mtd: rawnand: arasan: Fix double assertion of chip-select
    3970d6b335fb mtd: diskonchip: Cast an operand to prevent potential overflow
    15c184b4e7cf nfsd: restore callback functionality for NFSv4.0
    488304065d0d nfsd: Revert "nfsd: release svc_expkey/svc_export with rcu_work"
    0326fbf69311 bpf: Check negative offsets in __bpf_skb_min_len()
    343a932a05f4 tcp_bpf: Add sk_rmem_alloc related logic for tcp_bpf ingress redirection
    9dbc7e0e5ce5 tcp_bpf: Charge receive socket buffer in bpf_tcp_ingress()
    9ef08c3fe764 mm/vmstat: fix a W=1 clang compiler warning
    d41fa58fca6f ceph: allocate sparse_ext map only for sparse reads
    44e518abbb49 ceph: fix memory leak in ceph_direct_read_write()
    fb98248fc4a2 ceph: try to allocate a smaller extent map for sparse read
    1d6de21f0029 media: dvb-frontends: dib3000mb: fix uninit-value in dib3000_write_reg
    3ee19fb278a6 Linux 6.6.68
    fd4d53318e96 dt-bindings: net: fec: add pps channel property
    c226b0f0d8b0 drm/amdgpu: Handle NULL bo->tbo.resource (again) in amdgpu_vm_bo_update
    194532af82a1 net: fec: make PPS channel configurable
    897bab2abdac net: fec: refactor PPS channel configuration
    4cba44122663 io_uring/rw: avoid punting to io-wq directly
    41928840172e io_uring/rw: treat -EOPNOTSUPP for IOCB_NOWAIT like -EAGAIN
    6c27fc6a783c io_uring/rw: split io_read() into a helper
    d9831a655e13 epoll: Add synchronous wakeup support for ep_poll_callback
    b3ab12531d0d ceph: fix memory leaks in __ceph_sync_read()
    a07c0908e368 ceph: improve error handling and short/overflow-read logic in __ceph_sync_read()
    f006f6eaea7b ceph: validate snapdirname option length when mounting
    7094f3b6df92 of: Fix refcount leakage for OF node returned by __of_get_dma_parent()
    a7e5dc8d5da1 of: Fix error path in of_parse_phandle_with_args_map()
    50c960e79921 udmabuf: also check for F_SEAL_FUTURE_WRITE
    284760b320a0 nilfs2: prevent use of deleted inode
    cfb608b4cf22 nilfs2: fix buffer head leaks in calls to truncate_inode_pages()
    fdfa42cefba4 of/irq: Fix using uninitialized variable @addr_len in API of_irq_parse_one()
    dd3412f29899 of/irq: Fix interrupt-map cell length check in of_irq_parse_imap_parent()
    96c9ff350476 NFS/pnfs: Fix a live lock between recalled layouts and layoutget
    2ca94c8de360 io_uring: check if iowq is killed before queuing
    a73f0425f44b io_uring: Fix registered ring file refcount leak
    24047899f94e selftests/bpf: Use asm constraint "m" for LoongArch
    8b7dfdf3dbd7 selftests/memfd: run sysctl tests when PID namespace support is enabled
    2f6ad0b613cd tracing: Add "%s" check in test_event_printk()
    cc2c77b35186 tracing: Add missing helper functions in event pointer dereference check
    452e89f1588d tracing: Fix test_event_printk() to process entire print argument
    906807c734ed smb: client: fix TCP timers deadlock after rmmod
    3d2634ec0d1d KVM: x86: Play nice with protected guests in complete_hypercall_exit()
    89fcec5e466b Drivers: hv: util: Avoid accessing a ringbuffer not initialized yet
    a41ee016b5df btrfs: tree-checker: reject inline extent items with 0 ref count
    90ae5b7a1c52 vmalloc: fix accounting with i915
    0b5b0b65561b zram: fix uninitialized ZRAM not releasing backing device
    aca0f94c25de zram: refuse to use zero sized block device as backing device
    da61286b6512 hwmon: (tmp513) Fix interpretation of values of Temperature Result and Limit Registers
    7e3b14abe39a hwmon: (tmp513) Fix Current Register value interpretation
    c680302c5eeb hwmon: (tmp513) Fix interpretation of values of Shunt Voltage and Limit Registers
    81a3738bed1a hwmon: (tmp513) Use SI constants from units.h
    d0823a2fe057 hwmon: (tmp513) Simplify with dev_err_probe()
    9d207df1282a hwmon: (tmp513) Don't use "proxy" headers
    da6b2c626ae7 drm/amdgpu: don't access invalid sched
    b91184b59437 i915/guc: Accumulate active runtime on gt reset
    7871b0d81a3b i915/guc: Ensure busyness counter increases motonically
    b5e8103c46aa i915/guc: Reset engine utilization buffer before registration
    5f46feefa5ef drm/panel: novatek-nt35950: fix return value check in nt35950_probe()
    b39de5a71bac drm/modes: Avoid divide by zero harder in drm_mode_vrefresh()
    d1b96495fa2a thunderbolt: Improve redrive mode handling
    cd8fb13924b3 USB: serial: option: add Telit FE910C04 rmnet compositions
    ec1ccad0c3b4 USB: serial: option: add MediaTek T7XX compositions
    996c88c81fec USB: serial: option: add Netprisma LCUK54 modules for WWAN Ready
    eb748a5a8c59 USB: serial: option: add MeiG Smart SLM770A
    27921a57efaf USB: serial: option: add TCL IK512 MBIM & ECM
    637b6e17f11d hexagon: Disable constant extender optimization for LLVM prior to 19.1.0
    b72d1e64984e efivarfs: Fix error on non-existent file
    666c7b77d581 i2c: riic: Always round-up when calculating bus period
    0eba9c56d77c chelsio/chtls: prevent potential integer overflow on 32bit
    efe74dd58a72 net: tun: fix tun_napi_alloc_frags()
    65fac86c3d73 KVM: x86: Cache CPUID.0xD XSTATE offsets+sizes during module init
    3e84704feefe EDAC/amd64: Simplify ECC check on unified memory controllers
    2956429c7a4e mmc: mtk-sd: disable wakeup in .remove() and in the error path of .probe()
    4ca7a0c83100 mmc: sdhci-tegra: Remove SDHCI_QUIRK_BROKEN_ADMA_ZEROLEN_DESC quirk
    b15b92daf67c net: mdiobus: fix an OF node reference leak
    0e78c3eb72ec selftests: openvswitch: fix tcpdump execution
    576b58f39b0f netfilter: ipset: Fix for recursive locking warning
    592fc96af827 ipvs: Fix clamp() of ip_vs_conn_tab on small memory systems
    4dfa9a924008 net: ethernet: bgmac-platform: fix an OF node reference leak
    13fcc286811c net: hinic: Fix cleanup in create_rxqs/txqs()
    55a81dcf79bc ksmbd: fix broken transfers when exceeding max simultaneous operations
    8077d33fb8c8 ksmbd: count all requests in req_running counter
    ce2fade187dd net: renesas: rswitch: rework ts tags management
    6cd7cad950d9 ionic: use ee->offset when returning sprom data
    da5736f516a6 ionic: Fix netdev notifier unregister on failure
    470c5ecbac2f netdevsim: prevent bad user input in nsim_dev_health_break_write()
    2f3c62ffe881 net: mscc: ocelot: fix incorrect IFH SRC_PORT field in ocelot_ifh_set_basic()
    7a6927814b42 net/smc: check return value of sock_recvmsg when draining clc data
    935caf324b44 net/smc: check smcd_v2_ext_offset when receiving proposal msg
    295a92e3df32 net/smc: check v2_ext_offset/eid_cnt/ism_gid_cnt when receiving proposal msg
    91a7c27c1444 net/smc: check iparea_offset and ipv6_prefixes_cnt when receiving proposal msg
    2e0786b3006e net/smc: check sndbuf_space again after NOSPACE flag is set in smc_poll
    2627c3e86469 net/smc: protect link down work from execute after lgr freed
    06518a75de0a cxl/region: Fix region creation for greater than x2 switches
    fa299bfc1e0e cxl/pci: Fix potential bogus return value upon successful probing
    9557ed4dcd8f tools: hv: change permissions of NetworkManager configuration file
    e5d1ae2d4d0b xfs: reset rootdir extent size hint after growfsrt
    29fcb5fef608 xfs: take m_growlock when running growfsrt
    35bd108619c2 xfs: use XFS_BUF_DADDR_NULL for daddrs in getfsmap code
    9fadc53d793c xfs: Fix the owner setting issue for rmap query in xfs fsmap
    4a82db7a4b73 xfs: conditionally allow FS_XFLAG_REALTIME changes if S_DAX is set
    b2dcbd8a928c xfs: attr forks require attr, not attr2
    27336a327b40 xfs: remove unused parameter in macro XFS_DQUOT_LOGRES
    1bee32f33c0a xfs: fix file_path handling in tracepoints
    cb95cb2450e3 xfs: convert comma to semicolon
    ca96d83c9307 xfs: don't walk off the end of a directory data block
    fe962ab3c4f1 xfs: Fix xfs_prepare_shift() range for RT
    2e63ed9b0175 xfs: Fix xfs_flush_unmap_range() range for RT
    c070b8802159 xfs: create a new helper to return a file's allocation unit
    7531c9ab2e55 xfs: declare xfs_file.c symbols in xfs_file.h
    ff627196ddc1 xfs: use consistent uid/gid when grabbing dquots for inodes
    c08d03996cea xfs: verify buffer, inode, and dquot items every tx commit
    85d0947db262 xfs: fix the contact address for the sysfs ABI documentation
    e4ee7050712a i2c: pnx: Fix timeout in wait functions
    76b63579a904 p2sb: Do not scan and remove the P2SB device when it is unhidden
    3c469a528e39 p2sb: Move P2SB hide and unhide code to p2sb_scan_and_cache()
    8b64ae60f3f9 p2sb: Introduce the global flag p2sb_hidden_by_bios
    f8c9788636f5 p2sb: Factor out p2sb_read_from_cache()
    9194a9214b04 platform/x86: p2sb: Make p2sb_get_devfn() return void
    db3667c9bbfb net: stmmac: fix TSO DMA API usage causing oops
    43fb5b0974eb usb: cdns3: Add quirk flag to enable suspend residency
    c7cc4152c0f4 PCI/AER: Disable AER service on suspend
    3e221877dd92 PCI: Use preserve_config in place of pci_flags
    0d1d7e0c6439 ASoC: Intel: sof_sdw: add quirk for Dell SKU 0B8C
    9a6a33eb6be3 ASoC: Intel: sof_sdw: fix jack detection on ADL-N variant RVP
    dbdee8456aa8 MIPS: Loongson64: DTS: Fix msi node for ls7a
    d10b8db9907e usb: cdns3-ti: Add workaround for Errata i2409
    25f760c9ecfd PCI: Add ACS quirk for Broadcom BCM5760X NIC
    db7d50a5d7c4 PCI: vmd: Create domain symlink before pci_bus_add_devices()
    4f3cb0f96a2a usb: dwc2: gadget: Don't write invalid mapped sg entries into dma_desc with iommu enabled
    97e13434b5da net: sched: fix ordering of qlen adjustment
    ab6cc4ef42d6 Linux 6.6.67
    e68cbbef3d6f x86/static-call: fix 32-bit build
    44a7b0419d35 ALSA: usb-audio: Fix a DMA to stack memory bug
    bcf0e2fda80c x86/xen: remove hypercall page
    bcca7e067909 x86/xen: use new hypercall functions instead of hypercall page
    31f29270c15b x86/xen: add central hypercall functions
    82c211ead1ec x86/xen: don't do PV iret hypercall through hypercall page
    cd95149561d5 x86/static-call: provide a way to do very early static-call updates
    8fb54fe2e709 objtool/x86: allow syscall instruction
    aac984c87ef8 x86: make get_cpu_vendor() accessible from Xen code
    fe9a8f5250ae xen/netfront: fix crash when removing device
    4a41bb9f2b40 net: rswitch: Avoid use-after-free in rswitch_poll()
    9f7a9f95dfb7 selftests/bpf: remove use of __xlated()
    ce444a00414a selftests/bpf: Add netlink helper library
    3a7d88f9814a tracing/kprobes: Skip symbol counting logic for module symbols in create_local_trace_kprobe()
    bfe9446ea1d9 bpf: sync_linked_regs() must preserve subreg_def
    4e76efda1f0a KVM: arm64: Disable MPAM visibility by default and ignore VMM writes
    e2ccaf2d0eb5 kselftest/arm64: abi: fix SVCR detection
    4a542118457d blk-iocost: Avoid using clamp() on inuse in __propagate_weights()
    ee11eaa15132 net: dsa: microchip: KSZ9896 register regmap alignment to 32 bit boundaries
    f5fcb1ff9f46 net: renesas: rswitch: fix initial MPIC register setting
    ecdcaea0e405 Bluetooth: btmtk: avoid UAF in btmtk_process_coredump
    3bf09c685e1b Bluetooth: SCO: Add support for 16 bits transparent voice setting
    263b390a826f Bluetooth: iso: Fix recursive locking warning
    0108132d7d76 Bluetooth: hci_event: Fix using rcu_read_(un)lock while iterating
    11dc486ed5d4 Bluetooth: ISO: Reassociate a socket with an active BIS
    81c4b9529ed8 ACPICA: events/evxfregn: don't release the ContextMutex that was never acquired
    c6c217c6e28a team: Fix feature propagation of NETIF_F_GSO_ENCAP_ALL
    679b5884e61d bonding: Fix feature propagation of NETIF_F_GSO_ENCAP_ALL
    3824c5fad18e net/sched: netem: account for backlog updates from child qdisc
    72dc88eca723 net: dsa: felix: fix stuck CPU-injected packets with short taprio windows
    27f0574253f6 netfilter: nf_tables: do not defer rule destruction via call_rcu
    8c2c8445cda8 netfilter: IDLETIMER: Fix for possible ABBA deadlock
    01b2c761503b net: renesas: rswitch: handle stop vs interrupt race
    bf8c6755f020 net: renesas: rswitch: avoid use-after-put for a device tree node
    78aa0aabb093 net: renesas: rswitch: fix leaked pointer on error path
    0c316b6e0aef net: renesas: rswitch: fix race window between tx start and complete
    af327c0f41d6 net: rswitch: Add jumbo frames handling for TX
    87388cbe9330 net: rswitch: Add a setting ext descriptor function
    0aeec4bb6a9f net: rswitch: Add unmap_addrs instead of dma address in each desc
    99ee2eb6e0fe net: rswitch: Use build_skb() for RX
    ad4bd2c039fb net: rswitch: Use unsigned int for desc related array index
    2a584b1443bd net: rswitch: Drop unused argument/return value
    f789f9d1af40 Documentation: PM: Clarify pm_runtime_resume_and_get() return value
    5b8ea6b89f92 ASoC: amd: yc: Fix the wrong return value
    d5a1ca7b5980 ALSA: control: Avoid WARN() for symlink errors
    131798aea9ae qca_spi: Make driver probing reliable
    ebaf832f1e22 qca_spi: Fix clock speed for multiple QCA7000
    3942f0b0d652 cxgb4: use port number to set mac addr
    ae5fab215f9c ACPI: resource: Fix memory resource type union access
    0d9344165273 net: sparx5: fix the maximum frame length register
    ad74e16b351d net: sparx5: fix FDMA performance issue
    f1d6afbe1ecd spi: aspeed: Fix an error handling path in aspeed_spi_[read|write]_user()
    8e9b5e14e5b9 net: mscc: ocelot: perform error cleanup in ocelot_hwstamp_set()
    3b3277267d7b net: mscc: ocelot: be resilient to loss of PTP packets during transmission
    5f2c6930c689 net: mscc: ocelot: ocelot->ts_id_lock and ocelot_port->tx_skbs.lock are IRQ-safe
    7f42e62a6e9f net: mscc: ocelot: improve handling of TX timestamp for unknown skb
    d275b713496e net: mscc: ocelot: fix memory leak on ocelot_port_add_txtstamp_skb()
    b7a79e51297f net: defer final 'struct net' free in netns dismantle
    03e661b5e7aa net: lapb: increase LAPB_HEADER_LEN
    74f0a6912926 ptp: kvm: x86: Return EOPNOTSUPP instead of ENODEV from kvm_arch_ptp_init()
    03528ff8de66 selftests: mlxsw: sharedbuffer: Ensure no extra packets are counted
    c9776bd1422e selftests: mlxsw: sharedbuffer: Remove duplicate test cases
    2be4018f4ce1 selftests: mlxsw: sharedbuffer: Remove h1 ingress test case
    bd7ddc5f921d wifi: cfg80211: sme: init n_channels before channels[] access
    325cf73a1b44 net/mlx5: DR, prevent potential error pointer dereference
    89ecda492d0a tipc: fix NULL deref in cleanup_bearer()
    4a9a7f9f745d batman-adv: Do not let TT changes list grows indefinitely
    fd0638fa60e6 batman-adv: Remove uninitialized data in full table TT response
    b2b6ecc29204 batman-adv: Do not send uninitialized TT changes
    86106974d0a8 amdgpu/uvd: get ring reference from rq scheduler
    e08dc2dc3c3f acpi: nfit: vmalloc-out-of-bounds Read in acpi_nfit_ctl
    567df47c3e45 wifi: mac80211: fix station NSS capability initialization order
    c32db61989af wifi: mac80211: clean up 'ret' in sta_link_apply_parameters()
    c07923459935 wifi: mac80211: init cnt before accessing elem in ieee80211_copy_mbssid_beacon
    f3412522f788 wifi: nl80211: fix NL80211_ATTR_MLO_LINK_ID off-by-one
    a574145ef474 rtla/timerlat: Make timerlat_hist_cpu->*_count unsigned long long
    dbec5b420397 bpf, sockmap: Fix update element with same
    b015f19fedd2 bpf, sockmap: Fix race between element replace and close()
    c2b6b47662d5 bpf,perf: Fix invalid prog_array access in perf_event_detach_bpf_prog
    68d23ee1bdf1 bpf: Fix theoretical prog_array UAF in __uprobe_perf_func()
    c7e1962a3807 bpf: Check size for BTF-based ctx access of pointer members
    0f2dd866c6b1 xfs: only run precommits once per transaction object
    08b1325d67a1 xfs: fix scrub tracepoints when inode-rooted btrees are involved
    eef2e0da3185 xfs: return from xfs_symlink_verify early on V4 filesystems
    549f2fc321ea xfs: don't drop errno values when we fail to ficlone the entire range
    b4f3bf6fe918 xfs: update btree keys correctly when _insrec splits an inode root block
    e07f9c92bd12 drm/i915: Fix NULL pointer dereference in capture_engine
    1f7659950736 drm/i915: Fix memory leak by correcting cache object name in error handler
    c0484aa1adc3 usb: dwc3: xilinx: make sure pipe clock is deselected in usb2 only mode
    8ca07a3d18f3 usb: gadget: u_serial: Fix the issue that gs_start_io crashed due to accessing null pointer
    bd8ca5c5a04a usb: typec: anx7411: fix OF node reference leaks in anx7411_typec_switch_probe()
    1c766533deb3 usb: typec: anx7411: fix fwnode_handle reference leak
    e22e4df241f7 usb: ehci-hcd: fix call balance of clocks handling routines
    35acf6d7e889 usb: gadget: midi2: Fix interpretation of is_midi1 bits
    3184e07e1240 scsi: ufs: core: Update compl_time_stamp_local_clock after completing a cqe
    6c75336869c7 usb: dwc2: Fix HCD port connection race
    700f3afe5b76 usb: dwc2: hcd: Fix GetPortStatus & SetPortFeature
    09883478938d usb: dwc2: Fix HCD resume
    a3840455f275 ata: sata_highbank: fix OF node reference leak in highbank_initialize_phys()
    a867bf10364a usb: host: max3421-hcd: Correctly abort a USB request.
    6f796a6a396d riscv: Fix IPIs usage in kfence_protect_page()
    e6c338476c80 ALSA: usb-audio: Add implicit feedback quirk for Yamaha THR5
    5baa28569c92 blk-cgroup: Fix UAF in blkcg_unpin_online()
    aa9b1d0d6a5b riscv: Fix wrong usage of __pa() on a fixmap address
    7ac2535d8ee6 tcp: check space before adding MPTCP SYN options
    bc6d8cc2c563 splice: do not checksum AF_UNIX sockets
    450a844c045f ksmbd: fix racy issue from session lookup and expire
    0252305d2964 perf/x86/intel/ds: Unconditionally drain PEBS DS when changing PEBS_DATA_CFG
    f9f85df30118 bpf: Fix UAF via mismatching bpf_prog/attachment RCU flavors
    18abb2787b53 x86/syscall: Mark exit[_group] syscall handlers __noreturn
    2879d995e569 pnmtologo: sync with 6.6
    43ea1c5e6eb3 lib/build_OID_registry: take -stable reproducibility changes
    35046aea43c8 bpftool: Fix undefined bpf macro for unix socket
    9a558d4b8621 tools/resolve_btfids: Fix comparison of distinct pointer types warning in resolve_btfids
    42b2eec2e503 bpftool: Query only cgroup-related attach types
    f71bb11887ba cpu/amd: inhibit SMP check for qemux86
    c31365597a17 powerpc/uaccess: Fix build errors seen with GCC 13/14
    64ebf485c56b usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
    7c76aad68f6d kselftest: Add a ksft_perror() helper
    06644f0d7193 drm/tilcdc: Set preferred depth
    ff7ae7b32324 crypto: jitter - add RCT/APT support for different OSRs
    50cd24ddb6f0 arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    58e5c91d6701 x86/alternatives: Disable interrupts and sync when optimizing NOPs in place
    c878fd2d4c79 x86/alternatives: Sync core before enabling interrupts
    c2d64b9f52b6 qemux86: add configuration symbol to select values
    630c33229e6d sched/isolation: really align nohz_full with rcu_nocbs
    0e5e0f68e2e6 clear_warn_once: add a clear_warn_once= boot parameter
    46934791b902 clear_warn_once: bind a timer to written reset value
    cdee9e38ff32 clear_warn_once: expand debugfs to include read support
    82b562b81841 tools: Remove some options from CLANG_CROSS_FLAGS
    36dc380b776b libbpf: Fix build warning on ref_ctr_off
    9e3e1fe20982 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    e497a4a5da65 perf: x86-32: explicitly include <errno.h>
    7b57ddd89565 perf: mips64: Convert __u64 to unsigned long long
    1cfc19423dc7 perf: fix bench numa compilation
    98bc2815fade perf: add SLANG_INC for slang.h
    17209a70b9b3 perf: add sgidefs.h to for mips builds
    9cd4258d910a perf: change --root to --prefix for python install
    8110a4f26628 perf: add 'libperl not found' warning
    bc89d5e08f77 perf: force include of <stdbool.h>
    4f6c760cc876 fat: Replace prandom_u32() with get_random_u32()
    bc53117b12b2 fat: don't use obsolete random32 call in namei_vfat
    30b2236ab378 FAT: Added FAT_NO_83NAME
    cef98d22b4ed FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    0bbd7daba9e1 FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    5883fc340084 aufs6: adapt to v6.6 i_op->ctime changes
    c4342d979bf2 aufs6: fix magic.mk include path
    35266bc2dc81 aufs6: adapt to v6.6
    8edede4e98be aufs6: core
    712248233ebe aufs6: standalone
    3b71a8a848d8 aufs6: mmap
    3e2924871f37 aufs6: base
    7f4907a93101 aufs6: kbuild
    d2f7b03e4aa7 yaffs2: update VFS ctime operations to 6.6+
    bcd6cfcd1aa0 yaffs2: v6.5 fixups
    cc615704b5f5 yaffs2: Fix miscalculation of devname buffer length
    8ef2e22dcf91 yaffs2: convert user_namespace to mnt_idmap
    c9c749f9f7d3 yaffs2: replace bdevname call with sprintf
    395b01cdc39d yaffs2: convert read_page -> readfolio
    d98b07e43ba6 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    613c6d50fdbe yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    622c4648936f yaffs2: v5.12+ build fixups (not runtime tested)
    7562133d4090 yaffs: include blkdev.h
    dbd44252cd59 yaffs: fix misplaced variable declaration
    c223a10b1ac0 yaffs2: v5.6 build fixups
    90f6007cfbf4 yaffs2: fix memory leak when /proc/yaffs is read
    37ee169c5ea1 yaffs: add strict check when call yaffs_internal_read_super
    b6e007b8abb6 yaffs: repair yaffs_get_mtd_device
    fb98f65a466a yaffs: Fix build failure by handling inode i_version with proper atomic API
    51e0aac75ea2 yaffs2: fix memory leak in mount/umount
    2b74a0cae7b0 yaffs: Avoid setting any ACL releated xattr
    ff4130a9c376 Yaffs:check oob size before auto selecting Yaffs1
    ba95b409c67c fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    8fa35eba9056 yaffs2: adjust to proper location of MS_RDONLY
    1eb5deaad8c4 yaffs2: import git revision b4ce1bb (jan, 2020)
    4dce67c1e8c8 initramfs: allow an optional wrapper script around initramfs generation
    2f603d83fcc4 pnmtologo: use relocatable file name
    664a6a0a484b tools: use basename to identify file in gen-mach-types
    9de64bc0c185 lib/build_OID_registry: fix reproducibility issues
    ae9b80797295 vt/conmakehash: improve reproducibility
    a972323151bd iwlwifi: select MAC80211_LEDS conditionally
    15d2adcc0198 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    5556a6c04b19 arm64/perf: Fix wrong cast that may cause wrong truncation
    5552dc768ffc defconfigs: drop obselete options
    00fe4152df31 arm64/perf: fix backtrace for AAPCS with FP enabled
    3888d0652edf linux-yocto: Handle /bin/awk issues
    3d55d299f23a uvesafb: provide option to specify timeout for task completion
    23c068c080be uvesafb: print error message when task timeout occurs
    edbfc939266e compiler.h: Undef before redefining __attribute_const__
    c99ae7e2a19a vmware: include jiffies.h
    572d84d928c8 Resolve jiffies wrapping about arp
    fdcd47cac843 nfs: Allow default io size to be configured.
    927d48801098 check console device file on fs when booting
    57cc27f821dd mount_root: clarify error messages for when no rootfs found
    1b53d82a8152 mconf: fix output of cflags and libraries
    1811da09f42c menuconfig,mconf-cfg: Allow specification of ncurses location
    83c2e0c6eb1f modpost: mask trivial warnings
    6de673039484 kbuild: exclude meta directory from distclean processing
    6decd32815f5 powerpc: serialize image targets
    f6b683b38318 arm: serialize build targets
    e798b09ebf57 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    dc8a1e5a88f8 x86_64_defconfig: Fix warnings
    68491e5f72b6 powerpc/ptrace: Disable array-bounds warning with gcc8
    d71ebfce3004 powerpc: Disable attribute-alias warnings from gcc8
    62f50884b8b1 powerpc: kexec fix for powerpc64
    da6871c62c37 powerpc: Add unwind information for SPE registers of E500 core
    f161c880c11d mips: make current_cpu_data preempt safe
    5e94a8247ce7 mips: vdso: fix 'jalr $t9' crash in vdso code
    19e36714b1c7 mips: Kconfig: add QEMUMIPS64 option
    e2e537db3cbd 4kc cache tlb hazard: tlbp cache coherency
    aee9870611e5 malta uhci quirks: make allowance for slow 4k(e)c
    881948cd1517 drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    98ec1963fcb7 arm64: defconfig: cleanup config options
    f1727c537ba8 vexpress: Pass LOADADDR to Makefile
    4474c32dc24a arm: ARM EABI socketcall
    75e31a2b70fd ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: 3ccbb2be0a00be2314f6c283fed313c301d144f2)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3765ad18b68446727f2bbce6ab2e43a594dacdd9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Bruce Ashfield
13541cfb55 linux-yocto/6.6: update to v6.6.66
Updating linux-yocto/6.6 to the latest korg -stable release that comprises
the following commits:

    a66cdcdc9e44 Linux 6.6.66
    35163f642d91 i3c: master: svc: fix possible assignment of the same address to two devices
    43bbc5f8586e i3c: master: Remove i3c_dev_disable_ibi_locked(olddev) on device hotjoin
    1baed369508b serial: amba-pl011: fix build regression
    5eb15d2f4eb4 platform/x86: asus-wmi: Fix thermal profile initialization
    8bb7b689369e ALSA: usb-audio: Update UMP group attributes for GTB blocks, too
    fe330624b85f usb: dwc3: ep0: Don't reset resource alloc flag
    3706311ea095 net/smc: fix incorrect SMC-D link group matching logic
    7a89f5318252 ALSA: hda: Fix build error without CONFIG_SND_DEBUG
    2daba7d857e4 drm/amdgpu: rework resume handling for display (v2)
    aec3eecce11d ASoC: Intel: avs: Fix return status of avs_pcm_hw_constraints_init()
    3e26e24a301e ocfs2: Revert "ocfs2: fix the la space leak when unmounting an ocfs2 volume"
    7a670b420ef2 btrfs: add cancellation points to trim loops
    d11f14a7911e iio: invensense: fix multiple odr switch when FIFO is off
    ed968a1f1f66 xhci: dbc: Fix STALL transfer event handling
    1af5e8b1c9f3 mm/damon/vaddr: fix issue in damon_va_evenly_split_region()
    4358f241594b jffs2: Fix rtime decompressor
    6808a1812a34 jffs2: Prevent rtime decompress memory corruption
    0d5c7fcfa585 KVM: x86/mmu: Ensure that kvm_release_pfn_clean() takes exact pfn from kvm_faultin_pfn()
    67b5ed3b4d36 selftests/ftrace: adjust offset for kprobe syntax error test
    032b4122a92a vfio/mlx5: Align the page tracking max message size with the device capability
    7535956ffe5b Revert "unicode: Don't special case ignorable code points"
    1240225d838b x86: Fix build regression with CONFIG_KEXEC_JUMP enabled
    720792341f5e tracing/eprobe: Fix to release eprobe when failed to add dyn_event
    9d9bd3f7da8a clk: en7523: Initialize num before accessing hws in en7523_register_clocks()
    2a72d5cc83d6 btrfs: fix missing snapshot drew unlock when root is dead during swap activation
    b600d3040285 sched/deadline: Fix warning in migrate_enable for boosted tasks
    01ecd269755e sched/deadline: Move bandwidth accounting into {en,de}queue_dl_entity
    842010e3ca9e sched/deadline: Collect sched_dl_entity initialization
    24617f9ca8c8 sched: Unify more update_curr*()
    7f509457773e sched: Remove vruntime from trace_sched_stat_runtime()
    4db5988bb099 sched: Unify runtime accounting across classes
    654f3294c69e sched/headers: Move 'struct sched_param' out of uapi, to work around glibc/musl breakage
    b2f7d7507982 sched/fair: Rename check_preempt_curr() to wakeup_preempt()
    5787443f556e sched/fair: Rename check_preempt_wakeup() to check_preempt_wakeup_fair()
    b607a3886e61 sched/core: Prevent wakeup of ksoftirqd during idle load balance
    a2b004f5c93d sched/fair: Check idle_cpu() before need_resched() to detect ilb CPU turning busy
    f163cf9c6ae9 sched/core: Remove the unnecessary need_resched() check in nohz_csd_func()
    a13b2b9b0b0b mm/mempolicy: fix migrate_to_node() assuming there is at least one VMA in a MM
    cc424890b06b mempolicy: fix migrate_pages(2) syscall return nr_failed
    8f149bcc4d91 sched/numa: fix memory leak due to the overwritten vma->numab_state
    41f65469c33f sched/numa: Fix mm numa_scan_seq based unconditional scan
    42882b583095 io_uring/tctx: work around xa_store() allocation error issue
    c45cec53eeb4 setlocalversion: work around "git describe" performance
    2102ed90f789 smb: client: don't try following DFS links in cifs_tree_connect()
    b32ce4f9e3b7 serial: 8250_dw: Add Sophgo SG2044 quirk
    79f1a5b17bf5 rtc: cmos: avoid taking rtc_lock for extended period of time
    3fbde702748d misc: eeprom: eeprom_93cx6: Add quirk for extra read clock cycle
    691284c2cd33 powerpc/prom_init: Fixup missing powermac #size-cells
    44eb450d8ed5 ASoC: amd: yc: Add quirk for microphone on Lenovo Thinkpad T14s Gen 6 21M1CTO1WW
    8ef9ea1503d0 MIPS: Loongson64: DTS: Really fix PCIe port nodes for ls7a
    cb6d7ffca4be drm/amdgpu/vcn: reset fw_shared when VCPU buffers corrupted on vcn v4.0.3
    ddc2aa0f99e7 ASoC: amd: yc: fix internal mic on Redmi G 2022
    2c810ecfcc95 iio: light: ltr501: Add LTER0303 to the supported devices
    3fc7b49d24b1 usb: chipidea: udc: handle USB Error Interrupt if IOC not set
    57f7979aefdc fs/ntfs3: Fix case when unmarked clusters intersect with zone
    c5f89458a2ea LoongArch: Fix sleeping in atomic context for PREEMPT_RT
    ec1208b13c5e ACPI: x86: Clean up Asus entries in acpi_quirk_skip_dmi_ids[]
    353bc143066d ACPI: x86: Add skip i2c clients quirk for Acer Iconia One 8 A1-840
    295b50e95e90 f2fs: fix to shrink read extent node in batches
    76bdd3b1c256 f2fs: print message if fscorrupted was found in f2fs_new_node_page()
    ffe19e363c6f i3c: Use i3cdev->desc->info instead of calling i3c_device_get_info() to avoid deadlock
    29c80f54e362 PCI: Add ACS quirk for Wangxun FF5xxx NICs
    407476eb5f76 PCI: Add 'reset_subordinate' to reset hierarchy below bridge
    b824ea2af6e0 PCI: Detect and trust built-in Thunderbolt chips
    c37cc784af7e PCI: vmd: Set devices to D0 before enabling PM L1 Substates
    61ee910a0042 PCI: vmd: Add DID 8086:B06F and 8086:B60B for Intel client SKUs
    70d65110986e PCI: qcom: Add support for IPQ9574
    a6dc4b4fda2e i3c: mipi-i3c-hci: Mask ring interrupts before ring stop request
    880827a141e3 KMSAN: uninit-value in inode_go_dump (5)
    9669b28f81e0 f2fs: fix f2fs_bug_on when uninstalling filesystem call f2fs_evict_inode.
    562334170295 verification/dot2: Improve dot parser robustness
    7a135fd49c3e smb: client: memcpy() with surrounding object base address
    08ab71e0f618 nvdimm: rectify the illogical code within nd_dax_probe()
    9e4828b78e28 thermal/drivers/qcom/tsens-v1: Add support for MSM8937 tsens
    03bf88b1e95d pinctrl: qcom: spmi-mpp: Add PM8937 compatible
    b377ef01a3d9 pinctrl: qcom-pmic-gpio: add support for PM8937
    338368f7fe2d scsi: st: Add MTIOCGET and MTLOAD to ioctls allowed after device reset
    0e5642e73a63 scsi: st: Don't modify unknown block number in MTIOCGET
    f6d6fb563e4b leds: class: Protect brightness_show() with led_cdev->led_access mutex
    8d37cb1c8f1a clk: qcom: tcsrcc-sm8550: add SAR2130P support
    62bd597e1e87 clk: qcom: rpmh: add support for SAR2130P
    80864fe570d5 clk: qcom: rcg2: add clk_rcg2_shared_floor_ops
    c6c58505bfba scsi: lpfc: Call lpfc_sli4_queue_unset() in restart and rmmod paths
    5fe23c57abad bpf: put bpf_link's program when link is safe to be deallocated
    6ff9768a3144 scsi: ufs: core: Make DMA mask configuration more flexible
    2da32aed4a97 pinmux: Use sequential access to access desc->pinmux data
    50ddf4b0e1a4 scsi: hisi_sas: Add cond_resched() for no forced preemption model
    77c9ad0c425a rtla/timerlat: Make timerlat_top_cpu->*_count unsigned long long
    987abe82faa9 tools/rtla: fix collision with glibc sched_attr/sched_set_attr
    aceff9270e86 tracing: Use atomic64_inc_return() in trace_clock_counter()
    d62b8e0c3f36 tracing/ftrace: disable preemption in syscall probe
    1cbb632b515a pinctrl: freescale: fix COMPILE_TEST error with PINCTRL_IMX_SCU
    fdac3e251d9e netpoll: Use rcu_access_pointer() in __netpoll_setup
    843adffcbb4a net/neighbor: clear error in case strict check is not set
    ed8cf33dead6 rocker: fix link status detection in rocker_carrier_init()
    d7a6ff5dc803 ASoC: hdmi-codec: reorder channel allocation list
    d87c7db6213c Bluetooth: Set quirks for ATS2851
    ac22911f2eed Bluetooth: Support new quirks for ATS2851
    5af48b484ec0 Bluetooth: Add new quirks for ATS2851
    5e50d12cc6e9 Bluetooth: hci_core: Fix not checking skb length on hci_acldata_packet
    36af575822ef Bluetooth: btusb: Add RTL8852BE device 0489:e123 to device tables
    916b577a2cef dsa: qca8k: Use nested lock to avoid splat
    10e8a2dec9ff bpf: Call free_htab_elem() after htab_unlock_bucket()
    07c020c6d14d wifi: brcmfmac: Fix oops due to NULL pointer dereference in brcmf_sdiod_sglist_rw()
    3afd475d5af9 wifi: ipw2x00: libipw_rx_any(): fix bad alignment
    b9e52a96ec92 drm/amdgpu: set the right AMDGPU sg segment limitation
    83c45de6c6ce ALSA: usb-audio: Make mic volume workarounds globally applicable
    a8f7d6963768 virtio-net: fix overflow inside virtnet_rq_alloc
    4e3f73221deb drm/amdgpu: skip amdgpu_device_cache_pci_state under sriov
    69df145daf15 fsl/fman: Validate cell-index value obtained from Device Tree
    3b5d21b56c37 jfs: add a check to prevent array-index-out-of-bounds in dbAdjTree
    e7d376f94f72 jfs: fix array-index-out-of-bounds in jfs_readdir
    c56245baf3fd jfs: fix shift-out-of-bounds in dbSplit
    fd993b2180b4 jfs: array-index-out-of-bounds fix in dtReadFirst
    c212d91070be dma-debug: fix a possible deadlock on radix_lock
    efb054752f2c drm/amdgpu: refine error handling in amdgpu_ttm_tt_pin_userptr
    3295bd236450 netlink: specs: Add missing bitset attrs to ethtool spec
    ccc22ebf98df drm/amdgpu: Dereference the ATCS ACPI buffer
    9a1546e775f5 drm/amdgpu: clear RB_OVERFLOW bit when enabling interrupts for vega20_ih
    87210234e5a2 drm/sched: memset() 'job' in drm_sched_job_init()
    d783451a49d4 net: stmmac: Programming sequence for VLAN packets with split header
    81f4a1e9b654 net: sfp: change quirks for Alcatel Lucent G-010S-P
    556ae6c91145 drm/panel: simple: Add Microchip AC69T88A LVDS Display panel
    ffe1766a3a55 fanotify: allow reporting errors on failure to open fd
    d7a6fb6442b1 wifi: ath5k: add PCI ID for Arcadyan devices
    87b969352d38 wifi: ath5k: add PCI ID for SX76X
    706b07b7b37f net: inet6: do not leave a dangling sk pointer in inet6_create()
    25447c6aaa72 net: inet: do not leave a dangling sk pointer in inet_create()
    b4982fbf1304 net: ieee802154: do not leave a dangling sk pointer in ieee802154_create()
    db207d19adba net: af_can: do not leave a dangling sk pointer in can_create()
    6021ccc2471b Bluetooth: RFCOMM: avoid leaving dangling sk pointer in rfcomm_sock_alloc()
    8ad09ddc63ac Bluetooth: L2CAP: do not leave dangling sk pointer on error in l2cap_sock_create()
    157f08db9412 af_packet: avoid erroring out after sock_init_data() in packet_create()
    b77109f18a8d net/sched: cbs: Fix integer overflow in cbs_set_port_rate()
    159c6df97655 net: ethernet: fs_enet: Use %pa to format resource_size_t
    6c591b8d0153 net: fec_mpc52xx_phy: Use %pa to format resource_size_t
    cf27f38254db samples/bpf: Fix a resource leak
    a52bc92fc47e r8169: don't apply UDP padding quirk on RTL8126A
    fba2b2d0b7cc ALSA: hda/conexant: Use the new codec SSID matching
    f4306ef142bc ALSA: hda: Use own quirk lookup helper
    45e43e721e26 drm/display: Fix building with GCC 15
    6fbdc3980b70 dlm: fix possible lkb_resource null dereference
    5059372280e2 drm/radeon/r600_cs: Fix possible int overflow in r600_packet3_check()
    1a0f54cb3fea wifi: rtw89: check return value of ieee80211_probereq_get() for RNR
    1159d74ed469 drm/mcde: Enable module autoloading
    0a59c2fe8d67 drm/bridge: it6505: Enable module autoloading
    189dc7030b72 drm: panel-orientation-quirks: Add quirk for AYA NEO GEEK
    33126ee70c56 drm: panel-orientation-quirks: Add quirk for AYA NEO Founder edition
    290127c6452d drm: panel-orientation-quirks: Add quirk for AYA NEO 2 model
    258b997e5119 drm/vc4: hvs: Set AXI panic modes for the HVS
    e0388a95736a drm/vc4: hdmi: Avoid log spam for audio start failure
    6e8348ec4215 HID: magicmouse: Apple Magic Trackpad 2 USB-C driver support
    66ab53850ca1 selftests/resctrl: Protect against array overflow when reading strings
    70e2f30534bb regmap: maple: Provide lockdep (sub)class for maple tree's internal lock
    2129f6faa5df soc: imx8m: Probe the SoC driver as platform driver
    3379f506f059 mmc: sdhci-esdhc-imx: enable quirks SDHCI_QUIRK_NO_LED
    63ddf8a5ec8f mmc: core: Add SD card quirk for broken poweroff notification
    8910c0217d7e media: cx231xx: Add support for Dexatek USB Video Grabber 1d19:6108
    31f9b4a22347 media: uvcvideo: Add a quirk for the Kaiweets KTI-W02 infrared camera
    f20f3416fe33 media: uvcvideo: RealSense D421 Depth module metadata
    115afb20fdff HID: add per device quirk to force bind to hid-generic
    5b1f34bf3617 spi: spi-fsl-lpspi: Adjust type of scldiv
    28ed7bc5eee0 perf/x86/amd: Warn only on new bits set
    5a4688dbf4ae ACPI: x86: Make UART skip quirks work on PCI UARTs without an UID
    cfa076596dc4 hwmon: (nct6775) Add 665-ACE/600M-CL to ASUS WMI monitoring list
    dca4e74a9185 kcsan: Turn report_filterlist_lock into a raw_spinlock
    e8483ae13100 kselftest/arm64: Don't leak pipe fds in pac.exec_sign_all()
    4c7baac247ce btrfs: do not clear read-only when adding sprout device
    a5d74fa24752 btrfs: avoid unnecessary device path update for the same device
    a5bc4e030f50 btrfs: don't take dev_replace rwsem on task already holding it
    a69752f1e5de s390/cpum_sf: Handle CPU hotplug remove during sampling
    7c27b25891b0 kselftest/arm64: Log fp-stress child startup errors to stdout
    61005057fd5c epoll: annotate racy check
    af3fde6112b2 x86/mm: Add _PAGE_NOPTISHADOW bit to avoid updating userspace page tables
    cb9945f292a8 kasan: make report_lock a raw spinlock
    625e3f5d13a7 lib: stackinit: hide never-taken branch from compiler
    03ba9477dcca ocfs2: update seq_file index in ocfs2_dlm_seq_next
    07f395d6197c mmc: core: Further prevent card detect during shutdown
    5d8525e5067a mmc: sdhci-pci: Add DMI quirk for missing CD GPIO on Vexia Edu Atla 10 tablet
    f1a99d8645d8 regmap: detach regmap from dev on regmap_exit
    f8abd03f83d5 xsk: fix OOB map writes when deleting elements
    5ea568e71d0c dma-fence: Use kernel's sort for merging fences
    ce97e7891b5d dma-fence: Fix reference leak on fence merge failure path
    4e1cb04a68af dma-buf: fix dma_fence_array_signaled v4
    8e858930695d bpf: fix OOB devmap writes when deleting elements
    94666abe8163 x86/kexec: Restore GDT on return from ::preserve_context kexec
    70d6c1badec3 modpost: Add .irqentry.text to OTHER_SECTIONS
    e2153e479e93 drm/amdgpu/hdp5.2: do a posting read when flushing HDP
    d834d20d2e86 drm/dp_mst: Fix resetting msg rx state after topology removal
    396f697500c8 drm/dp_mst: Verify request type in the corresponding down message reply
    c58947a8d4a5 drm/dp_mst: Fix MST sideband message body length check
    23b5908b11b7 cacheinfo: Allocate memory during CPU hotplug if not done from the primary CPU
    cc05aa2c0117 bcache: revert replacing IS_ERR_OR_NULL with IS_ERR again
    bd74bc9b3a8c smb3.1.1: fix posix mounts to older servers
    ccf435caa314 fs/smb/client: cifs_prime_dcache() for SMB3 POSIX reparse points
    136fca78a66d fs/smb/client: Implement new SMB3 POSIX type
    439224eb2f5b fs/smb/client: avoid querying SMB2_OP_QUERY_WSL_EA for SMB3 POSIX
    c3afea07477b nilfs2: fix potential out-of-bounds memory access in nilfs_find_entry()
    1e30b52edf17 scsi: ufs: core: Add missing post notify for power mode change
    0069928727c2 scsi: ufs: core: sysfs: Prevent div by zero
    38bd792fb676 scsi: qla2xxx: Remove check req_sg_cnt should be equal to rsp_sg_cnt
    15369e774f27 scsi: qla2xxx: Fix use after free on unload
    dbd3f8f3ade1 scsi: qla2xxx: Supported speed displayed incorrectly for VPorts
    968bba7d1d04 scsi: qla2xxx: Fix NVMe and NPIV connect issue
    00e1503aaef7 scsi: qla2xxx: Fix abort in bsg timeout
    bafa26387438 ALSA: hda/realtek: Add support for Samsung Galaxy Book3 360 (NP730QFG)
    00a4369b3a4b ALSA: hda/realtek: Enable mute and micmute LED on HP ProBook 430 G8
    2e50b49ba498 ALSA: usb-audio: add mixer mapping for Corsair HS80
    96035c0093db arm64: ptrace: fix partial SETREGSET for NT_ARM_TAGGED_ADDR_CTRL
    8c36240460f9 arm64: Ensure bits ASID[15:8] are masked out when the kernel uses 8-bit ASIDs
    cdf81c4a8150 tracing: Fix cmp_entries_dup() to respect sort() comparison rules
    50d66c86262f can: mcp251xfd: mcp251xfd_get_tef_len(): work around erratum DS80000789E 6.
    1ac442f25c19 can: dev: can_set_termination(): allow sleeping GPIOs
    7015d9d4cc70 watchdog: rti: of: honor timeout-sec property
    164d3597d26d ksmbd: fix Out-of-Bounds Write in ksmbd_vfs_stream_write
    27de4295522e ksmbd: fix Out-of-Bounds Read in ksmbd_vfs_stream_read
    7dfbf011a57b LoongArch: Add architecture specific huge_pte_clear()
    a7f0509556fa HID: wacom: fix when get product name maybe null pointer
    81ad32b87eb9 mm: page_alloc: move mlocked flag clearance into free_pages_prepare()
    67a102352bb2 x86/CPU/AMD: WARN when setting EFER.AUTOIBRS if and only if the WRMSR fails
    68570b5c89c5 bpf: Fix exact match conditions in trie_get_next_key()
    2e9ff3f4834c bpf: Handle in-place update for full LPM trie correctly
    c1ab31edd258 bpf: Remove unnecessary kfree(im_node) in lpm_trie_update_elem
    c5325e6e4b6d bpf: Handle BPF_EXIST and BPF_NOEXIST for LPM trie
    67e972130bb6 iio: magnetometer: yas530: use signed integer type for clamp limits
    6d3f4c72019f scatterlist: fix incorrect func name in kernel-doc
    a84d507d3290 ocfs2: free inode when ocfs2_get_init_inode() fails
    6acd8e87b6e1 drm/v3d: Enable Performance Counters before clearing them
    88237f66b142 ASoC: mediatek: mt8188-mt6359: Remove hardcoded dmic codec
    602c3038a8a6 scsi: scsi_debug: Fix hrtimer support for ndelay
    59b30afa5786 scsi: sg: Fix slab-use-after-free read in sg_release()
    c169daf3cf39 bpf: Fix narrow scalar spill onto 64-bit spilled scalar slots
    9a420d6b4065 ASoC: SOF: ipc3-topology: fix resource leaks in sof_ipc3_widget_setup_comp_dai()
    77e01dfb4fb2 ASoC: SOF: ipc3-topology: Convert the topology pin index to ALH dai index
    f65d85bc1ffd spi: mpc52xx: Add cancel_work_sync before module remove
    37eef8c2e085 tools: Override makefile ARCH variable if defined, but empty
    8a2d8958585a ALSA: usb-audio: Notify xrun for low-latency mode
    06d43e40e2f9 ALSA: seq: ump: Fix seq port updates per FB info notify
    8ddb4126e6a4 ALSA: ump: Update substream name from assigned FB names
    d3e8e4d62c88 ALSA: seq: ump: Use automatic cleanup of kfree()
    206d56f41a15 tcp_bpf: Fix the sk_mem_uncharge logic in tcp_bpf_sendmsg
    f2f6d999a934 drm/sti: Add __iomem for mixer_dbg_mxn's parameter
    6bc209dbacc5 bpftool: fix potential NULL pointer dereferencing in prog_dump()
    0fcda0c9cb15 xsk: always clear DMA mapping information when unmapping the pool
    d504dc20b768 bpf, vsock: Invoke proto::close on close()
    57c47d3cf1a6 bpf, vsock: Fix poll() missing a queue
    c3799292d639 scsi: ufs: core: Add ufshcd_send_bsg_uic_cmd() for UFS BSG
    12e24d8a005c scsi: ufs: core: Always initialize the UIC done completion
    d5be5ce82a7e drm/bridge: it6505: Fix inverted reset polarity
    485924554390 drm/bridge: it6505: update usleep_range for RC circuit charge time
    f454a3e98c30 i3c: master: Fix dynamic address leak when 'assigned-address' is present
    990da49bfcbf i3c: master: Extend address status bit to 4 and add I3C_ADDR_SLOT_EXT_DESIRED
    72863649acec i3c: master: Replace hard code 2 with macro I3C_ADDR_SLOT_STATUS_BITS
    ac0fed078bc9 i3c: master: svc: Modify enabled_events bit 7:0 to act as IBI enable counter
    07f4c0df0eb3 i3c: master: svc: use slow speed for first broadcast address
    5626d1addc2a i3c: master: support to adjust first broadcast address speed
    a68c391c6321 i3c: master: fix kernel-doc check warning
    8aa36f7e004b i3c: master: svc: add hot join support
    e7217d528ef5 i3c: master: add enable(disable) hot join in sys entry
    ed24ab98242f f2fs: fix to drop all discards after creating snapshot on lvm device
    f3ae93e738db driver core: fw_devlink: Stop trying to optimize cycle detection logic
    dce7a5c7bfa3 driver core: Add FWLINK_FLAG_IGNORE to completely ignore a fwnode link
    5c764791fb7b driver core: fw_devlink: Improve logs for cycle detection
    faa6f8ce1b15 ntp: Remove invalid cast in time offset math
    91d2be8d4bf5 powerpc/vdso: Drop -mstack-protector-guard flags in 32-bit files with clang
    d68b0e67cff7 powerpc/vdso: Refactor CFLAGS for CVDSO build
    4a9485918a04 iommu/arm-smmu: Defer probe of clients after smmu device bound
    7360a0e798f4 zram: clear IDLE flag in mark_idle()
    9c251d1381ed zram: do not mark idle slots that cannot be idle
    b7c3fd65a3ea zram: split memory-tracking and ac-time tracking
    543d8315c289 mmc: mtk-sd: Fix MMC_CAP2_CRYPTO flag setting
    7e0ccc28fad1 mmc: mtk-sd: fix devm_clk_get_optional usage
    06b7f9295a42 mmc: mtk-sd: Fix error handle of probe function
    a8ece7488716 mmc: mtk-sd: use devm_mmc_alloc_host
    c6a3fa838e51 usb: dwc3: ep0: Don't clear ep0 DWC3_EP_TRANSFER_STARTED
    3df5497b9183 usb: dwc3: ep0: Don't reset resource alloc flag (including ep0)
    65b1f31111ee usb: dwc3: gadget: Rewrite endpoint allocation flow
    395d9b40431c soc: fsl: cpm1: qmc: Set the ret error code on platform_get_irq() failure
    6885d8e7c1e3 soc: fsl: cpm1: qmc: Introduce qmc_{init,exit}_xcc() and their CPM1 version
    c73f53c7aaae soc: fsl: cpm1: qmc: Introduce qmc_init_resource() and its CPM1 version
    f865643723e9 soc: fsl: cpm1: qmc: Re-order probe() operations
    7ca6b9e73db2 soc: fsl: cpm1: qmc: Fix blank line and spaces
    850cee347212 soc/fsl: cpm: qmc: Convert to platform remove callback returning void
    2eb983f69079 serial: amba-pl011: Fix RX stall when DMA is used
    5aea1229e7ea serial: amba-pl011: Use port lock wrappers
    8d2ca6ac3711 gpio: grgpio: Add NULL check in grgpio_probe
    9cc1a6ce157d gpio: grgpio: use a helper variable to store the address of ofdev->dev
    fbc0a0c7718a xhci: Fix control transfer error on Etron xHCI host
    4a2422f67879 xhci: Don't issue Reset Device command to Etron xHCI host
    ec4e6d5944cd xhci: Combine two if statements for Etron xHCI host
    459cda7500ec xhci: remove XHCI_TRUST_TX_LENGTH quirk
    d55694547cd2 xhci: Allow RPM on the USB controller (1022:43f7) by default
    ea6b5d98fea4 KVM: arm64: Don't retire aborted MMIO instruction
    3fe534a02897 KVM: arm64: Change kvm_handle_mmio_return() return polarity
    3265aab0736f net: avoid potential UAF in default_operstate()
    4bd8ced2b9f6 net/mlx5e: Remove workaround to avoid syndrome for internal port
    97ce3a4ec55e geneve: do not assume mac header is set in geneve_xmit_skb()
    711525430d12 mlxsw: spectrum_acl_flex_keys: Use correct key block on Spectrum-4
    e5239f8671a1 mlxsw: spectrum_acl_flex_keys: Constify struct mlxsw_afk_element_inst
    5e7388444095 mlxsw: Mark high entropy key blocks
    64b67f77d993 mlxsw: Edit IPv6 key blocks to use one less block for multicast forwarding
    69f60dda481a mlxsw: spectrum_acl_flex_keys: Add 'ipv4_5b' flex key
    7598e65f990a mlxsw: Add 'ipv4_5' flex key
    e5242c5ff4c8 ethtool: Fix wrong mod state in case of verbose and no_mask bitset
    86c27603514c netfilter: nft_set_hash: skip duplicated elements pending gc run
    90bf312a6b6b netfilter: ipset: Hold module reference while requesting a module
    f6dc30c4698d net: sched: fix erspan_opt settings in cls_flower
    53c7314208c8 netfilter: nft_inner: incorrect percpu area handling under softirq
    f309733a8c9d igb: Fix potential invalid memory access in igb_init_module()
    0a4d8b1e3b28 ixgbe: downgrade logging of unsupported VF API version to debug
    2bf463e6c540 ixgbevf: stop attempting IPSEC offload on Mailbox API 1.5
    4f63de0ef87b net/qed: allow old cards not supporting "num_images" to work
    673d606683ac net/smc: fix LGR and link use-after-free issue
    f0c37002210a net/smc: initialize close_work early to avoid warning
    f59b799e52f7 net/smc: refactoring initialization of smc sock
    21f6f41e82e5 net/smc: {at|de}tach sndbuf to peer DMB if supported
    fe7ef3a10c75 net/smc: add operations to merge sndbuf with peer DMB
    988b81020ad4 net/smc: mark optional smcd_ops and check for support when called
    7e5ef8eb0547 net/smc: compatible with 128-bits extended GID of virtual ISM device
    70cfb64c882c net/smc: define a reserved CHID range for virtual ISM devices
    dd0ab991caf1 net/smc: unify the structs of accept or confirm message for v1 and v2
    8ea4fc3fefa1 net/smc: introduce sub-functions for smc_clc_send_confirm_accept()
    612c04a92730 net/smc: rename some 'fce' to 'fce_v2x' for clarity
    d00d4470bf8c tipc: Fix use-after-free of kernel socket in cleanup_bearer().
    d3ec686a369f dccp: Fix memory leak in dccp_feat_change_recv
    f43d12fd0fa8 net/ipv6: release expired exception dst cached in socket
    797a4c1f5b63 ipv6: introduce dst_rt6_info() helper
    19a788bd40fd net-timestamp: make sk_tskey more predictable in error path
    4d5a573f64e8 platform/x86: asus-wmi: Ignore return value when writing thermal policy
    5a4f732e2a8f platform/x86: asus-wmi: Fix inconsistent use of thermal policies
    6051a4b17f9e platform/x86: asus-wmi: add support for vivobook fan profiles
    426d94815e12 can: j1939: j1939_session_new(): fix skb reference counting
    3c215663b3e2 net: hsr: avoid potential out-of-bound access in fill_frame_info()
    d381c2b0d77e net/sched: tbf: correct backlog statistic for GSO packets
    70966e5bafb7 ptp: Add error handling for adjfine callback in ptp_clock_adjtime
    66127f0d1ecf net: enetc: Do not configure preemptible TCs if SIs do not support
    ea8e9f84ea15 selftests: hid: fix typo and exit code
    2f9bec0a749e netfilter: nft_socket: remove WARN_ON_ONCE on maximum cgroup level
    a9bcc0b70d9b netfilter: x_tables: fix LED ID check in led_tg_check()
    124834133b32 ipvs: fix UB due to uninitialized stack access in ip_vs_protocol_init()
    39df17a12746 can: f81604: f81604_handle_can_bus_errors(): fix {rx,tx}_errors statistics
    c7f3a539b180 can: ems_usb: ems_usb_rx_err(): fix {rx,tx}_errors statistics
    0fef1604a436 can: sun4i_can: sun4i_can_err(): fix {rx,tx}_errors statistics
    bbbc9e190b26 can: sja1000: sja1000_err(): fix {rx,tx}_errors statistics
    98b7477236be can: hi311x: hi3110_can_ist(): fix {rx,tx}_errors statistics
    bf92d477a9a3 can: ifi_canfd: ifi_canfd_handle_lec_err(): fix {rx,tx}_errors statistics
    dce292ffb728 can: m_can: m_can_handle_lec_err(): fix {rx,tx}_errors statistics
    112802200944 can: hi311x: hi3110_can_ist(): fix potential use-after-free
    8ac49d8fc936 can: sun4i_can: sun4i_can_err(): call can_change_state() even if cf is NULL
    c146df8292c6 can: c_can: c_can_handle_bus_err(): update statistics if skb allocation fails
    1cdd3563e147 can: gs_usb: add usb endpoint address detection at driver probe step
    e2282706eb5c can: gs_usb: add VID/PID for Xylanta SAINT3 product family
    b8a0428f1eb2 watchdog: mediatek: Make sure system reset gets asserted in mtk_wdt_restart()
    d556b4ff5854 watchdog: apple: Actually flush writes after requesting watchdog restart
    babc8a52fe69 watchdog: xilinx_wwdt: Calculate max_hw_heartbeat_ms using clock frequency
    e417b3cb55a7 iTCO_wdt: mask NMI_NOW bit for update_no_reboot_bit() call
    943e0aeece93 Linux 6.6.65
    b47d9ffb2d1d openrisc: Use asm-generic's version of fix_to_virt() & virt_to_fix()
    52ab77109035 Revert "x86/pvh: Set phys_base when calling xen_prepare_pvh()"
    dd47f7175940 Revert "x86/pvh: Call C code via the kernel virtual mapping"
    18abb2787b53 x86/syscall: Mark exit[_group] syscall handlers __noreturn
    2879d995e569 pnmtologo: sync with 6.6
    43ea1c5e6eb3 lib/build_OID_registry: take -stable reproducibility changes
    35046aea43c8 bpftool: Fix undefined bpf macro for unix socket
    9a558d4b8621 tools/resolve_btfids: Fix comparison of distinct pointer types warning in resolve_btfids
    42b2eec2e503 bpftool: Query only cgroup-related attach types
    f71bb11887ba cpu/amd: inhibit SMP check for qemux86
    c31365597a17 powerpc/uaccess: Fix build errors seen with GCC 13/14
    64ebf485c56b usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
    7c76aad68f6d kselftest: Add a ksft_perror() helper
    06644f0d7193 drm/tilcdc: Set preferred depth
    ff7ae7b32324 crypto: jitter - add RCT/APT support for different OSRs
    50cd24ddb6f0 arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    58e5c91d6701 x86/alternatives: Disable interrupts and sync when optimizing NOPs in place
    c878fd2d4c79 x86/alternatives: Sync core before enabling interrupts
    c2d64b9f52b6 qemux86: add configuration symbol to select values
    630c33229e6d sched/isolation: really align nohz_full with rcu_nocbs
    0e5e0f68e2e6 clear_warn_once: add a clear_warn_once= boot parameter
    46934791b902 clear_warn_once: bind a timer to written reset value
    cdee9e38ff32 clear_warn_once: expand debugfs to include read support
    82b562b81841 tools: Remove some options from CLANG_CROSS_FLAGS
    36dc380b776b libbpf: Fix build warning on ref_ctr_off
    9e3e1fe20982 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    e497a4a5da65 perf: x86-32: explicitly include <errno.h>
    7b57ddd89565 perf: mips64: Convert __u64 to unsigned long long
    1cfc19423dc7 perf: fix bench numa compilation
    98bc2815fade perf: add SLANG_INC for slang.h
    17209a70b9b3 perf: add sgidefs.h to for mips builds
    9cd4258d910a perf: change --root to --prefix for python install
    8110a4f26628 perf: add 'libperl not found' warning
    bc89d5e08f77 perf: force include of <stdbool.h>
    4f6c760cc876 fat: Replace prandom_u32() with get_random_u32()
    bc53117b12b2 fat: don't use obsolete random32 call in namei_vfat
    30b2236ab378 FAT: Added FAT_NO_83NAME
    cef98d22b4ed FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    0bbd7daba9e1 FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    5883fc340084 aufs6: adapt to v6.6 i_op->ctime changes
    c4342d979bf2 aufs6: fix magic.mk include path
    35266bc2dc81 aufs6: adapt to v6.6
    8edede4e98be aufs6: core
    712248233ebe aufs6: standalone
    3b71a8a848d8 aufs6: mmap
    3e2924871f37 aufs6: base
    7f4907a93101 aufs6: kbuild
    d2f7b03e4aa7 yaffs2: update VFS ctime operations to 6.6+
    bcd6cfcd1aa0 yaffs2: v6.5 fixups
    cc615704b5f5 yaffs2: Fix miscalculation of devname buffer length
    8ef2e22dcf91 yaffs2: convert user_namespace to mnt_idmap
    c9c749f9f7d3 yaffs2: replace bdevname call with sprintf
    395b01cdc39d yaffs2: convert read_page -> readfolio
    d98b07e43ba6 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    613c6d50fdbe yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    622c4648936f yaffs2: v5.12+ build fixups (not runtime tested)
    7562133d4090 yaffs: include blkdev.h
    dbd44252cd59 yaffs: fix misplaced variable declaration
    c223a10b1ac0 yaffs2: v5.6 build fixups
    90f6007cfbf4 yaffs2: fix memory leak when /proc/yaffs is read
    37ee169c5ea1 yaffs: add strict check when call yaffs_internal_read_super
    b6e007b8abb6 yaffs: repair yaffs_get_mtd_device
    fb98f65a466a yaffs: Fix build failure by handling inode i_version with proper atomic API
    51e0aac75ea2 yaffs2: fix memory leak in mount/umount
    2b74a0cae7b0 yaffs: Avoid setting any ACL releated xattr
    ff4130a9c376 Yaffs:check oob size before auto selecting Yaffs1
    ba95b409c67c fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    8fa35eba9056 yaffs2: adjust to proper location of MS_RDONLY
    1eb5deaad8c4 yaffs2: import git revision b4ce1bb (jan, 2020)
    4dce67c1e8c8 initramfs: allow an optional wrapper script around initramfs generation
    2f603d83fcc4 pnmtologo: use relocatable file name
    664a6a0a484b tools: use basename to identify file in gen-mach-types
    9de64bc0c185 lib/build_OID_registry: fix reproducibility issues
    ae9b80797295 vt/conmakehash: improve reproducibility
    a972323151bd iwlwifi: select MAC80211_LEDS conditionally
    15d2adcc0198 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    5556a6c04b19 arm64/perf: Fix wrong cast that may cause wrong truncation
    5552dc768ffc defconfigs: drop obselete options
    00fe4152df31 arm64/perf: fix backtrace for AAPCS with FP enabled
    3888d0652edf linux-yocto: Handle /bin/awk issues
    3d55d299f23a uvesafb: provide option to specify timeout for task completion
    23c068c080be uvesafb: print error message when task timeout occurs
    edbfc939266e compiler.h: Undef before redefining __attribute_const__
    c99ae7e2a19a vmware: include jiffies.h
    572d84d928c8 Resolve jiffies wrapping about arp
    fdcd47cac843 nfs: Allow default io size to be configured.
    927d48801098 check console device file on fs when booting
    57cc27f821dd mount_root: clarify error messages for when no rootfs found
    1b53d82a8152 mconf: fix output of cflags and libraries
    1811da09f42c menuconfig,mconf-cfg: Allow specification of ncurses location
    83c2e0c6eb1f modpost: mask trivial warnings
    6de673039484 kbuild: exclude meta directory from distclean processing
    6decd32815f5 powerpc: serialize image targets
    f6b683b38318 arm: serialize build targets
    e798b09ebf57 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    dc8a1e5a88f8 x86_64_defconfig: Fix warnings
    68491e5f72b6 powerpc/ptrace: Disable array-bounds warning with gcc8
    d71ebfce3004 powerpc: Disable attribute-alias warnings from gcc8
    62f50884b8b1 powerpc: kexec fix for powerpc64
    da6871c62c37 powerpc: Add unwind information for SPE registers of E500 core
    f161c880c11d mips: make current_cpu_data preempt safe
    5e94a8247ce7 mips: vdso: fix 'jalr $t9' crash in vdso code
    19e36714b1c7 mips: Kconfig: add QEMUMIPS64 option
    e2e537db3cbd 4kc cache tlb hazard: tlbp cache coherency
    aee9870611e5 malta uhci quirks: make allowance for slow 4k(e)c
    881948cd1517 drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    98ec1963fcb7 arm64: defconfig: cleanup config options
    f1727c537ba8 vexpress: Pass LOADADDR to Makefile
    4474c32dc24a arm: ARM EABI socketcall
    75e31a2b70fd ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: cca034823e61faacc82079515e78fe94612173ab)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2db39e7791f8ed430ddfeec87ab2aa178090af45)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Bruce Ashfield
6be2708b42 linux-yocto/6.6: update to v6.6.64
Updating linux-yocto/6.6 to the latest korg -stable release that comprises
the following commits:

    22a054ea1f08 Linux 6.6.64
    f3b82bb26f5b posix-timers: Target group sigqueue to current task only if not exiting
    8a799149ab45 drm/amd/pm: update current_socclk and current_uclk in gpu_metrics on smu v13.0.7
    3990ef742c06 drm/amdgpu: fix usage slab after free
    70e6599a9e78 drm/amdkfd: Use the correct wptr size
    d50b5a7ac7f5 drm: xlnx: zynqmp_dpsub: fix hotplug detection
    65bea1cb0230 drm/etnaviv: flush shader L1 cache after user commandstream
    a3d970f106bb drm/mediatek: Fix child node refcount handling in early exit
    8ab73ac97c0f drm/sti: avoid potential dereference of error pointers
    997b64c3f4c1 drm/sti: avoid potential dereference of error pointers in sti_gdp_atomic_check
    82a5312f874f drm/sti: avoid potential dereference of error pointers in sti_hqvdp_atomic_check
    ac48ddf6b023 udmabuf: use vmf_insert_pfn and VM_PFNMAP for handling mmap
    cfaf83501a0c tpm: Lock TPM chip in tpm_pm_suspend() first
    135b4819f6fb btrfs: don't BUG_ON on ENOMEM from btrfs_lookup_extent_info() in walk_down_proc()
    c062bba16246 powerpc: Adjust adding stack protector flags to KBUILD_CLAGS for clang
    0760e47fa632 powerpc: Fix stack protector Kconfig test for clang
    1bdff8a19cd6 iio: gts: fix infinite loop for gain_to_scaletables()
    e5cac3272199 iio: adc: ad7923: Fix buffer overflow for tx_buf and ring_xfer
    98e1f03de842 iio: Fix fwnode_handle in __fwnode_iio_channel_get_by_name()
    8e5e63d6ca95 iio: accel: kx022a: Fix raw read format
    37dfc81266d3 nfsd: fix nfs4_openowner leak when concurrent nfsd4_open occur
    1cecfdbc6bfc nfsd: make sure exp active before svc_export_show
    2eb355346c5a PCI: rockchip-ep: Fix address translation unit programming
    8b404b08be92 PCI: of_property: Assign PCI instead of CPU bus address to dynamic PCI nodes
    6f433923d3b6 dm thin: Add missing destroy_work_on_stack()
    fad9d2a96600 dm: Fix typo in error message
    c5f4540ae66e ovl: properly handle large files in ovl_security_fileattr
    4a44bcb73a0b leds: flash: mt6360: Fix device_for_each_child_node() refcounting in error paths
    5294e8abd46c thermal: int3400: Fix reading of current_uuid for active policy
    6868deee4a6b fs/proc/kcore.c: Clear ret value in read_kcore_iter after successful iov_iter_zero
    b50b631d8fce PCI: endpoint: Clear secondary (not primary) EPC in pci_epc_remove_epf()
    2bf49d724c9e PCI: keystone: Add link up check to ks_pcie_other_map_bus()
    344134ac9190 PCI: keystone: Set mode as Root Complex for "ti,keystone-pcie" compatible
    ce30d11b39e8 i3c: master: Fix miss free init_dyn_addr at i3c_master_put_i3c_addrs()
    0a0dc4834f66 i3c: master: svc: Fix pm_runtime_set_suspended() with runtime pm enabled
    cdcc26d714c9 scsi: ufs: exynos: Fix hibern8 notify callbacks
    6caff31c3d18 util_macros.h: fix/rework find_closest() macros
    308e0cc36dc4 ceph: extract entity name from device id
    33a213c04faf mm/slub: Avoid list corruption when removing a slab from the full list
    2c932d5c7aac ARM: 9431/1: mm: Pair atomic_set_release() with _read_acquire()
    ef21187c0672 ARM: 9430/1: entry: Do a dummy read from VMAP shadow
    1af22528fee8 s390/entry: Mark IRQ entries to fix stack depot warnings
    1359fd9eae29 ARM: 9429/1: ioremap: Sync PGDs for VMALLOC shadow
    7e3a8ea3d1ad ad7780: fix division by zero in ad7780_write_raw()
    8bca39b958f1 clk: qcom: gcc-qcs404: fix initial rate of GPLL3
    6aa39a78128a leds: lp55xx: Remove redundant test for invalid channel number
    3723d1c056d0 iommu/io-pgtable-arm: Fix stage-2 map/unmap for concatenated tables
    9a8b989d8958 zram: clear IDLE flag after recompression
    f8cca70b0e57 vmstat: call fold_vm_zone_numa_events() before show per zone NUMA event
    8a92dc4df89c ftrace: Fix regression with module command in stack_trace_filter
    6e290ee989dd maple_tree: refine mas_store_root() on storing NULL
    065bf5dd2163 ovl: Filter invalid inodes with missing lookup function
    b11813bc2f4e media: uvcvideo: Require entities to have a non-zero unique ID
    f83f6a6e1263 media: uvcvideo: Stop stream during unregister
    6712a28a4f92 media: platform: allegro-dvt: Fix possible memory leak in allocate_buffers_internal()
    2dbb2307e19d media: gspca: ov534-ov772x: Fix off-by-one error in set_frame_rate()
    047178d650bc media: venus: Fix pm_runtime_set_suspended() with runtime pm enabled
    3806bec2d470 media: amphion: Fix pm_runtime_set_suspended() with runtime pm enabled
    d173aee5709b efi/libstub: Free correct pointer on failure
    5262cbf40264 media: platform: exynos4-is: Fix an OF node reference leak in fimc_md_is_isp_available
    a2ed3b780f34 media: ts2020: fix null-ptr-deref in ts2020_probe()
    9ca2c2ad6ffa media: verisilicon: av1: Fix reference video buffer pointer assignment
    b7a830bbc25d media: imx-jpeg: Ensure power suppliers be suspended before detach them
    b59ab89bc83f media: i2c: tc358743: Fix crash in the probe error path when using polling
    76ef98f9131e arm64: dts: freescale: imx8mp-verdin: Fix SD regulator startup delay
    55aebcbcfc0a media: i2c: dw9768: Fix pm_runtime_set_suspended() with runtime pm enabled
    0ba08c21c6a9 media: mtk-jpeg: Fix null-ptr-deref during unload module
    68efeff2f7fc media: imx-jpeg: Set video drvdata before register video device
    988cc10ddbde media: amphion: Set video drvdata before register video device
    71a15258f3c9 arm64: dts: ti: k3-am62-verdin: Fix SD regulator startup delay
    7477b16f8031 arm64: dts: freescale: imx8mm-verdin: Fix SD regulator startup delay
    14635785805f arm64: dts: allwinner: pinephone: Add mount matrix to accelerometer
    7897f1f8b785 md/md-bitmap: Add missing destroy_work_on_stack()
    4275ac274194 btrfs: ref-verify: fix use-after-free after invalid ref action
    757171d1369b btrfs: add a sanity check for btrfs root in btrfs_search_slot()
    99f3cd5a866d btrfs: don't loop for nowait writes when checking for cross references
    bcacb52a985f quota: flush quota_release_work upon quota writeback
    a2110964d536 xfs: remove unknown compat feature check in superblock write validation
    b8b84dcdf3ab sh: intc: Fix use-after-free bug in register_intc_controller()
    906cdbdd3b01 block, bfq: fix bfqq uaf in bfq_limit_depth()
    0ca87e506375 sunrpc: fix one UAF issue caused by sunrpc kernel tcp socket
    931be6b73830 SUNRPC: timeout and cancel TLS handshake with -ETIMEDOUT
    3811172e8c98 sunrpc: clear XPRT_SOCK_UPD_TIMEOUT when reset transport
    065902117a5b nfs: ignore SB_RDONLY when mounting nfs
    5fab8abc2c27 cifs: unlock on error in smb3_reconfigure()
    880a661e6764 cifs: during remount, make sure passwords are in sync
    fe44c5477284 modpost: remove incorrect code in do_eisa_entry()
    625e2357c8fc smb: Initialize cfid->tcon before performing network ops
    0dd7a8b948fd Rename .data.once to .data..once to fix resetting WARN*_ONCE
    eda52d5ae82d Rename .data.unlikely to .data..unlikely
    ab8c357dbf87 init/modpost: conditionally check section mismatch to __meminit*
    52197a7c14df modpost: squash ALL_{INIT,EXIT}_TEXT_SECTIONS to ALL_TEXT_SECTIONS
    17f4332ae695 modpost: use ALL_INIT_SECTIONS for the section check from DATA_SECTIONS
    db081efa9b80 modpost: disallow the combination of EXPORT_SYMBOL and __meminit*
    a169a023e064 modpost: remove EXIT_SECTIONS macro
    2462732f35f1 modpost: remove MEM_INIT_SECTIONS macro
    95da0b40fa8c modpost: disallow *driver to reference .meminit* sections
    db5647420fb2 modpost: remove ALL_EXIT_DATA_SECTIONS macro
    4151b8e1fca8 rtc: ab-eoz9: don't fail temperature reads on undervoltage notification
    24891e0ebca5 cifs: Fix parsing reparse point with native symlink in SMB1 non-UNICODE session
    430afd3edabf cifs: Fix parsing native symlinks relative to the export
    e061482601b4 smb: client: disable directory caching when dir_cache_timeout is zero
    03a0e2520350 perf/arm-cmn: Ensure port and device id bits are set properly
    9890e6f2ec92 perf/arm-smmuv3: Fix lockdep assert in ->event_init()
    2bb3ee1bf237 9p/xen: fix release of IRQ
    e978643c4c9c 9p/xen: fix init sequence
    5da567d3f737 block: return unsigned int from bdev_io_min
    1e20e4ff3a75 nvme/multipath: Fix RCU list traversal to use SRCU primitive
    f0679539fad9 nvme-multipath: avoid hang on inaccessible namespaces
    85b9f3e63e79 nvme-multipath: implement "queue-depth" iopolicy
    a7071e2bd0fc nvme-multipath: prepare for "queue-depth" iopolicy
    18db8ae7abb5 rtc: rzn1: fix BCD to rtc_time conversion errors
    011c3320e1fc jffs2: fix use of uninitialized variable
    01d3a2293d7e ubifs: authentication: Fix use-after-free in ubifs_tnc_end_commit
    612824dd0c94 ubi: fastmap: Fix duplicate slab cache names while attaching
    074b310f0591 ubifs: Correct the total block count by deducting journal reservation
    7e66d36871d1 ubi: fastmap: wl: Schedule fm_work if wear-leveling pool is empty
    dd4b1cbcc916 rtc: check if __rtc_read_time was successful in rtc_timer_do_work()
    a990130f6770 rtc: abx80x: Fix WDT bit position of the status register
    96fd3dfb1d14 rtc: st-lpc: Use IRQF_NO_AUTOEN flag in request_irq()
    229a30ed42bb NFSv4.0: Fix a use-after-free problem in the asynchronous open()
    e7b5a40b9b38 um: Always dump trace for specified task in show_stack
    d3ca120303a7 um: Fix the return value of elf_core_copy_task_fpregs
    a875c023155e um: Fix potential integer overflow during physmem setup
    acfaf37888e0 SUNRPC: make sure cache entry active before cache_show
    dde654cad08f NFSD: Prevent a potential integer overflow
    10209665b5bf ipc: fix memleak if msg_init_ns failed in create_ipc_ns
    27d6e7eff07f f2fs: fix to do sanity check on node blkaddr in truncate_node()
    f7f33bb2dbaf lib: string_helpers: silence snprintf() output truncation warning
    9e68fcffc764 ublk: fix error code for unsupported command
    1534f6f69393 usb: dwc3: gadget: Fix looping of queued SG entries
    bb6bf24fe03b usb: dwc3: gadget: Fix checking for number of TRBs left
    5906ee369367 usb: musb: Fix hardware lockup on first Rx endpoint request
    73934e535cff smb: During unmount, ensure all cached dir instances drop their dentry
    791f83305357 smb: prevent use-after-free due to open_cached_dir error paths
    31fabf70d583 smb: Don't leak cfid when reconnect races with open_cached_dir
    921d90907eb9 smb: client: handle max length for SMB symlinks
    83cb4fb72d64 smb3: request handle caching when caching directories
    edf5b298eb36 ALSA: hda/realtek: Apply quirk for Medion E15433
    0e37c70bff7c ALSA: hda/realtek: Fix Internal Speaker and Mic boost of Infinix Y4 Max
    76e3de272587 ALSA: hda/realtek: Set PCBeep to default value for ALC274
    c917f415c18a ALSA: hda/realtek: Update ALC225 depop procedure
    bc200027ee92 ALSA: pcm: Add sanity NULL check for the default mmap fault handler
    0357abf951c4 ALSA: ump: Fix evaluation of MIDI 1.0 FB info
    e9bf513718d0 media: v4l2-core: v4l2-dv-timings: check cvt/gtf result
    305c75f402e8 soc: fsl: rcpm: fix missing of_node_put() in copy_ippdexpcr1_setting()
    378ce4e08ca2 media: wl128x: Fix atomicity violation in fmc_send_cmd()
    c68dab166532 HID: wacom: Interpret tilt data from Intuos Pro BT as signed values
    68a69ed52a8b blk-mq: Make blk_mq_quiesce_tagset() hold the tag list mutex less long
    e95080fba190 block: fix ordering between checking BLK_MQ_S_STOPPED request adding
    679b1874eba7 block: fix ordering between checking QUEUE_FLAG_QUIESCED request adding
    fe0d9800ead6 block: fix missing dispatching request when queue is started or unquiesced
    ad654c5bfe3e arm64: tls: Fix context-switching of tpidrro_el0 when kpti is enabled
    80f25003af22 ublk: fix ublk_ch_mmap() for 64K page size
    1681131bfa23 iio: gts: Fix uninitialized symbol 'ret'
    09faf32c682e sh: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK
    8204dd589c4f um: vector: Do not use drvdata in release
    ad253966ee98 serial: 8250: omap: Move pm_runtime_get_sync
    63ff22d706bb serial: 8250_fintek: Add support for F81216E
    11af46904019 dt-bindings: serial: rs485: Fix rs485-rts-delay property
    cdbd5a1dcdc2 um: net: Do not use drvdata in release
    2d194d951895 um: ubd: Do not use drvdata in release
    5e1feafa7347 ubi: wl: Put source PEB into correct list if trying locking LEB failed
    de70a7e1f3d6 platform/chrome: cros_ec_typec: fix missing fwnode reference decrement
    46f8e2592681 smb: client: fix NULL ptr deref in crypto_aead_setkey()
    a96f9eb7add3 ksmbd: fix use-after-free in SMB request handling
    9665bbefab87 parisc/ftrace: Fix function graph tracing disablement
    185f065f458b cifs: support mounting with alternate password to allow password rotation
    4ca70a0630b0 cpufreq: mediatek-hw: Fix wrong return value in mtk_cpufreq_get_cpu_power()
    13dc02cae4e3 mtd: spi-nor: core: replace dummy buswidth from addr to data
    66f0fbc8ba18 spi: Fix acpi deferred irq probe
    856023ef032d netfilter: ipset: add missing range check in bitmap_ip_uadt
    5691e457251b gpio: exar: set value when external pull-up or pull-down is present
    d2543d75f81d Revert "serial: sh-sci: Clean sci_ports[0] after at earlycon exit"
    671bf7530c08 serial: sh-sci: Clean sci_ports[0] after at earlycon exit
    32ffdd003f6f Revert "usb: gadget: composite: fix OS descriptors w_value logic"
    69c83ff5299c wifi: brcmfmac: release 'root' node in all execution paths
    81da9c085454 wifi: ath12k: fix crash when unbinding
    8f3551f67991 wifi: rtlwifi: Drastically reduce the attempts to read efuse in case of failures
    223b546c6222 wifi: ath12k: fix warning when unbinding
    ebefd0c746a2 ARM: dts: omap36xx: declare 1GHz OPP as turbo again
    ae0ef0d756d2 usb: xhci: Fix TD invalidation under pending Set TR Dequeue
    5540869a3f75 Compiler Attributes: disable __counted_by for clang < 19.1.3
    19714c9e8885 Bluetooth: Fix type of len in rfcomm_sock_getsockopt{,_old}()
    0d53178a3d8b exfat: fix uninit-value in __exfat_get_dentry_set
    7451f7297e74 dt-bindings: iio: dac: ad3552r: fix maximum spi speed
    6a4645bc3b14 pinctrl: qcom: spmi: fix debugfs drive strength
    ee68555b979e tools/nolibc: s390: include std.h
    85cfe884668d locking/lockdep: Avoid creating new name string literals in lockdep_set_subclass()
    958275235d40 tty: ldsic: fix tty_ldisc_autoload sysctl's proc_handler
    2a9b68f2dc68 apparmor: test: Fix memory leak for aa_unpack_strdup()
    9b07fb464eb6 comedi: Flush partial mappings in error case
    1b8868b818ec fsnotify: fix sending inotify event with unexpected filename
    e5d5c04aac71 PCI: Fix use-after-free of slot->bus on hot remove
    7484289822c5 KVM: arm64: vgic-its: Clear DTE when MAPD unmaps a device
    2a4ec241dbe7 KVM: arm64: vgic-its: Add a data length check in vgic_its_save_*
    dd2f9861f275 KVM: arm64: Get rid of userspace_irqchip_in_use
    718f1712e155 KVM: arm64: vgic-its: Clear ITE when DISCARD frees an ITE
    130abaa1da82 KVM: arm64: Ignore PMCNTENSET_EL0 while checking for overflow status
    26cd7f91f27f KVM: arm64: vgic-v3: Sanitise guest writes to GICR_INVLPIR
    10c95568e7ac powerpc/pseries: Fix KVM guest detection for disabling hardlockup detector
    d79f765b2eb8 KVM: x86/mmu: Skip the "try unsync" path iff the old SPTE was a leaf SPTE
    046fb04cbce9 crypto: x86/aegis128 - access 32-bit arguments as 32-bit
    e68ca7dafecb perf/x86/intel/pt: Fix buffer full but size is 0 case
    a7fc8dce17e6 ASoC: codecs: Fix atomicity violation in snd_soc_component_get_drvdata()
    30a2d503367b ASoC: amd: yc: Add a quirk for microfone on Lenovo ThinkPad P14s Gen 5 21MES00B00
    9353cdf28d4c jfs: xattr: check invalid xattr size more strictly
    2bd7c6086641 ext4: fix FS_IOC_GETFSMAP handling
    786a552739bb ext4: supress data-race warnings in ext4_free_inodes_{count,set}()
    095694f58fe2 soc: qcom: socinfo: fix revision check in qcom_socinfo_probe()
    bdae089f4b95 ASoC: Intel: sst: Fix used of uninitialized ctx to log an error
    acf693decaa3 arm64: dts: mediatek: mt8195-cherry: Mark USB 3.0 on xhci1 as disabled
    387a4dc33bb7 Revert "arm64: dts: mediatek: mt8195-cherry: Mark USB 3.0 on xhci1 as disabled"
    b8f8b81dabe5 ALSA: usb-audio: Fix potential out-of-bound accesses for Extigy and Mbox devices
    22d907bcd283 btrfs: do not BUG_ON() when freeing tree block after error
    b98777309756 f2fs: fix null reference error when checking end of zone
    475d99e611d5 perf/x86/intel: Hide Topdown metrics events if the feature is not enumerated
    e4f3bb7d53b9 dm-bufio: fix warnings about duplicate slab caches
    cd1e565a5b7f drm/amd/display: Add NULL pointer check for kzalloc
    d247af7c5dbf drm/amd/display: Check phantom_stream before it is used
    8c854138b593 drm/amd/display: Add NULL check for function pointer in dcn20_set_output_transfer_func
    ebef6616219f drm/amd/display: Check null pointer before try to access it
    ec1be3c527b4 drm/amd/display: Add NULL check for clk_mgr in dcn32_init_hw
    205e3b96cc9a drm/amd/display: Add NULL check for clk_mgr and clk_mgr->funcs in dcn30_init_hw
    f14fc623dd23 dm-cache: fix warnings about duplicate slab caches
    ecb4aaa658da closures: Change BUG_ON() to WARN_ON()
    3347581bf9ed usb: ehci-spear: fix call balance of sehci clk handling routines
    74cb86e1006c ALSA: usb-audio: Fix out of bounds reads when finding clock sources
    804b96f8d0a0 xen: Fix the issue of resource not being properly released in xenbus_dev_probe()
    7cd9f0a33e73 xfs: add bounds checking to xlog_recover_process_data
    6b42ded89ba8 nvme: fix metadata handling in nvme-passthrough
    232a138bd843 scsi: lpfc: Validate hdwq pointers before dereferencing in reset/errata paths
    d00df6700ad1 mailbox: mtk-cmdq: Move devm_mbox_controller_register() after devm_pm_runtime_enable()
    a90cb059969b f2fs: fix fiemap failure issue when page size is 16KB
    d7f0c4c95652 gfs2: Remove and replace gfs2_glock_queue_work
    6e92dd3ac246 gfs2: Don't set GLF_LOCK in gfs2_dispose_glock_lru
    22185892fc22 ASoC: amd: yc: Fix for enabling DMIC on acp6x via _DSD entry
    2c9a5607ecba apparmor: fix 'Do simple duplicate message elimination'
    020002c76147 drm/amd/display: Fix null check for pipe_ctx->plane_state in hwss_setup_dpp
    756f30dc27ae drm/radeon: Fix spurious unplug event on radeon HDMI
    5e3a0f772d97 drm/radeon: change rdev->ddev to rdev_to_drm(rdev)
    28f6a86a2f66 drm/radeon: add helper rdev_to_drm(rdev)
    95070c084e20 ALSA: hda/realtek: Update ALC256 depop procedure
    789a72498d32 firmware_loader: Fix possible resource leak in fw_log_firmware_info()
    4a92e1030242 counter: ti-ecap-capture: Add check for clk_enable()
    5f7d46164af2 counter: stm32-timer-cnt: Add check for clk_enable()
    ed4c8fc2e71d misc: apds990x: Fix missing pm_runtime_disable()
    ce833757ba75 USB: chaoskey: Fix possible deadlock chaoskey_list_lock
    acfc4350dc2a USB: chaoskey: fail open after removal
    67970b0cc76b usb: yurex: make waiting on yurex_write interruptible
    7051f66d8158 usb: using mutex lock and supporting O_NONBLOCK flag in iowarrior_read()
    8353a251accf iio: light: al3010: Fix an error handling path in al3010_probe()
    8e0e47f038bc ipmr: fix tables suspicious RCU usage
    bba7909b511b ip6mr: fix tables suspicious RCU usage
    65ed89cad1f5 tcp: Fix use-after-free of nreq in reqsk_timer_handler().
    265f1f22fddd rxrpc: Improve setsockopt() handling of malformed user input
    9a62ca28d3f8 llc: Improve setsockopt() handling of malformed user input
    5703fb1d85f6 Bluetooth: MGMT: Fix possible deadlocks
    95f7a972194a Bluetooth: MGMT: Fix slab-use-after-free Read in set_powered_sync
    65e3a909bdab bnxt_en: Unregister PTP during PCI shutdown and suspend
    85c37802d94f bnxt_en: Refactor bnxt_ptp_init()
    c48cfa53fe96 bnxt_en: Reserve rings after PCIe AER recovery if NIC interface is down
    fd7259c1bacc net: hsr: fix hsr_init_sk() vs network/transport headers.
    41535cb14342 spi: atmel-quadspi: Fix register name in verbose logging function
    fed89cfab189 octeontx2-af: Quiesce traffic before NIX block reset
    0bbba28d4b8c octeontx2-af: RPM: fix stale FCFEC counters
    f002f21c1227 octeontx2-af: RPM: fix stale RSFEC counters
    92ada6df6ce7 octeontx2-pf: Reset MAC stats during probe
    3eda3da855da octeontx2-af: RPM: Fix low network performance
    6030d66ac03a octeontx2-af: RPM: Fix mismatch in lmac type
    7501912e5a9f net: stmmac: dwmac-socfpga: Set RX watchdog interrupt as broken
    93ccc94dd713 marvell: pxa168_eth: fix call balance of pep->clk handling routines
    6aa2ede634ad net: mdio-ipq4019: add missing error check
    836deb96383e net/ipv6: delete temporary address if mngtmpaddr is removed or unmanaged
    42251c2d1ef1 s390/iucv: MSG_PEEK causes memory leak in iucv_sock_destruct()
    f2a30e6fcd5a net: microchip: vcap: Add typegroup table terminators in kunit tests
    e3bb76fe2288 net: usb: lan78xx: Fix refcounting and autosuspend on invalid WoL configuration
    d0f06266562b tg3: Set coherent DMA mask bits to 31 for BCM57766 chipsets
    bca2c418a597 net: usb: lan78xx: Fix memory leak on device unplug by freeing PHY device
    a422ebec863d net: usb: lan78xx: Fix double free issue with interrupt buffer allocation
    3ea084dfc5a8 power: supply: rt9471: Use IC status regfield to report real charger status
    8637f400b253 power: supply: rt9471: Fix wrong WDT function regfield declaration
    7f395c87a8fe power: supply: bq27xxx: Fix registers of bq27426
    348d7d07ef3b power: supply: core: Remove might_sleep() from power_supply_put()
    0c8d50501bc1 LoongArch: BPF: Sign-extend return values
    a639cea4de29 LoongArch: Fix build failure with GCC 15 (-std=gnu23)
    7ea2a3d40142 fs_parser: update mount_api doc to match function signature
    06f2fcf49854 vfio/pci: Properly hide first-in-list PCIe extended capability
    1f7b85e5ffd8 gpio: zevio: Add missed label initialisation
    c2d6226bef96 selftests/mount_setattr: Fix failures on 64K PAGE_SIZE kernels
    6c5ddc2b68f2 vdpa/mlx5: Fix suboptimal range on iotlb iteration
    40be5b4c0c15 hwmon: (tps23861) Fix reporting of negative temperatures
    1dfc79bfc544 NFSD: Fix nfsd4_shutdown_copy()
    1c9a99c89e45 svcrdma: fix miss destroy percpu_counter in svc_rdma_proc_init()
    bd8524148dd8 nfsd: release svc_expkey/svc_export with rcu_work
    028417543535 NFSD: Cap the number of bytes copied by nfs4_reset_recoverydir()
    eb51733ae5fc NFSD: Prevent NULL dereference in nfsd4_process_cb_update()
    242ee2b0ad9b PCI: endpoint: epf-mhi: Avoid NULL dereference if DT lacks 'mmio'
    2ffc58ec837e remoteproc: qcom_q6v5_mss: Re-order writes to the IMEM region
    ab897ca4d7bb rpmsg: glink: use only lower 16-bits of param2 for CMD_OPEN name length
    c437af60c4f1 remoteproc: qcom: pas: add minidump_id to SM8350 resources
    2f465476ff8b perf trace: Avoid garbage when not printing a syscall's arguments
    fad7be239512 perf trace: Do not lose last events in a race
    e3b4b95c2b8b perf trace: Fix tracing itself, creating feedback loops
    f38ab496c7c4 perf list: Fix topic and pmu_name argument order
    838dd342962c svcrdma: Address an integer overflow
    022c3fc12850 m68k: coldfire/device.c: only build FEC when HW macros are defined
    c178bcaccbfd m68k: mcfgpio: Fix incorrect register offset for CONFIG_M5441x
    ad8cf4a18d99 perf trace: avoid garbage when not printing a trace event's arguments
    16784362b4bd f2fs: fix to avoid forcing direct write to use buffered IO on inline_data inode
    794fa8792d4e f2fs: fix race in concurrent f2fs_stop_gc_thread
    e466b89987d8 PCI: j721e: Deassert PERST# after a delay of PCIE_T_PVPERL_MS milliseconds
    9621a3d5a4e0 PCI: j721e: Add suspend and resume support
    bea0c0e4013b PCI: j721e: Use T_PERST_CLK_US macro
    0a289ca90225 PCI: j721e: Add reset GPIO to struct j721e_pcie
    762de2993b77 PCI: cadence: Set cdns_pcie_host_init() global
    4231df767001 PCI: cadence: Extract link setup sequence from cdns_pcie_host_setup()
    5261d258e318 PCI: j721e: Add PCIe 4x lane selection support
    7c3bf691097c PCI: j721e: Add per platform maximum lane settings
    47203d68f52a PCI: Add T_PVPERL macro
    ed16873faf6a f2fs: fix to avoid use GC_AT when setting gc_mode as GC_URGENT_LOW or GC_URGENT_MID
    ecf4e6782b01 f2fs: fix to avoid potential deadlock in f2fs_record_stop_reason()
    67f4c6646011 f2fs: check curseg->inited before write_sum_page in change_curseg
    f3d586b7ab62 f2fs: fix the wrong f2fs_bug_on condition in f2fs_do_replace_block
    aac3361f6d22 perf ftrace latency: Fix unit on histogram first entry when using --use-nsec
    b6b896c2fd44 PCI: cpqphp: Fix PCIBIOS_* return value confusion
    f974480cf399 PCI: cpqphp: Use PCI_POSSIBLE_ERROR() to check config reads
    b7c4121a4390 rust: macros: fix documentation of the paste! macro
    cbc853c490c9 perf probe: Correct demangled symbols in C++ program
    2c6f6c3843df perf probe: Fix libdw memory leak
    f1b8bfe8d2f2 f2fs: fix to account dirty data in __get_secs_required()
    6b0ed65c94c2 f2fs: compress: fix inconsistent update of i_blocks in release_compress_blocks and reserve_compress_blocks
    9ac8d6636230 perf test attr: Add back missing topdown events
    0c4753453964 perf trace: Keep exited threads for summary
    380bc5a698b9 perf stat: Fix affinity memory leaks on error path
    035c6b7a13ac perf stat: Close cork_fd when create_perf_stat_counter() failed
    8e098baf6bc3 PCI: Fix reset_method_store() memory leak
    e30cab288c8d gfs2: Fix unlinked inode cleanup
    8264963475ca gfs2: Allow immediate GLF_VERIFY_DELETE work
    4389447f1b2a gfs2: Rename GLF_VERIFY_EVICT to GLF_VERIFY_DELETE
    39822f7f4963 gfs2: Replace gfs2_glock_queue_put with gfs2_glock_put_async
    67696fef78cf gfs2: Get rid of gfs2_glock_queue_put in signal_our_withdraw
    300b21886232 perf cs-etm: Don't flush when packet_queue fills up
    39e5f390c2c9 mailbox: arm_mhuv2: clean up loop in get_irq_chan_comb()
    ebe0f8dc243e smb: cached directories can be more than root file handle
    f65f4ad87797 pinctrl: k210: Undef K210_PC_DEFAULT
    0dffdb2e70f1 arm64: dts: qcom: sc8180x: Add a SoC-specific compatible to cpufreq-hw
    118aa7cacaa5 clk: clk-axi-clkgen: make sure to enable the AXI bus clock
    abdf848ce528 dt-bindings: clock: axi-clkgen: include AXI clk
    fbb13732c6ff clk: ralink: mtmips: fix clocks probe order in oldest ralink SoCs
    f85a1d06afbc clk: ralink: mtmips: fix clock plan for Ralink SoC RT3883
    72ea9a7e9e26 clk: clk-apple-nco: Add NULL check in applnco_probe
    921fcf2971a1 RDMA/mlx5: Move events notifier registration to be after device registration
    b6334d2356fc IB/mlx5: Allocate resources just before first QP/SRQ is created
    3dd9df8e5f34 fbdev: sh7760fb: Fix a possible memory leak in sh7760fb_alloc_mem()
    1dd2d5630f0c powerpc/kexec: Fix return of uninitialized variable
    277ecc3d9797 powerpc/sstep: make emulate_vsx_load and emulate_vsx_store static
    d2f3414036be KVM: PPC: Book3S HV: Avoid returning to nested hypervisor on pending doorbells
    e7d134bd28ee KVM: PPC: Book3S HV: Stop using vc->dpdes for nested KVM guests
    a6faea503ba4 dax: delete a stale directory pmem
    8e0de82ed18b ocfs2: fix uninitialized value in ocfs2_file_read_iter()
    ae5427f88f19 cpufreq: CPPC: Fix wrong return value in cppc_get_cpu_power()
    4989d1ccf6f1 cpufreq: CPPC: Fix wrong return value in cppc_get_cpu_cost()
    6b0d7d6e6883 RDMA/hns: Fix NULL pointer derefernce in hns_roce_map_mr_sg()
    451d57b22b4a RDMA/hns: Fix out-of-order issue of requester when setting FENCE
    837197f49c71 x86/tdx: Dynamically disable SEPT violations from causing #VEs
    44cb69dbec78 x86/tdx: Rename tdx_parse_tdinfo() to tdx_setup()
    d4e39b6f96fe x86/tdx: Introduce wrappers to read and write TD metadata
    d0f6d80dbc79 x86/tdx: Pass TDCALL/SEAMCALL input/output registers via a structure
    a79a114f60f1 x86/tdx: Rename __tdx_module_call() to __tdcall()
    40d3b219aeb7 x86/tdx: Make macros of TDCALLs consistent with the spec
    2765142c05a6 x86/tdx: Skip saving output regs when SEAMCALL fails with VMFailInvalid
    c72a9456fdc8 scsi: sg: Enable runtime power management
    10a6fc486ac4 scsi: qedi: Fix a possible memory leak in qedi_alloc_and_init_sb()
    7c1832287b21 scsi: qedf: Fix a possible memory leak in qedf_alloc_and_init_sb()
    ac3c9fb621de scsi: fusion: Remove unused variable 'rc'
    c28409f851ab scsi: bfa: Fix use-after-free in bfad_im_module_exit()
    d069227df10d fs/proc/kcore.c: fix coccinelle reported ERROR instances
    ed2571229155 mfd: rt5033: Fix missing regmap_del_irq_chip()
    ec3eb00526bf checkpatch: always parse orig_commit in fixes tag
    f6a2560e149e checkpatch: check for missing Fixes tags
    0ac9a7fbe907 iommu/vt-d: Fix checks and print in pgtable_walk()
    c801250a7714 iommu/vt-d: Fix checks and print in dmar_fault_dump_ptes()
    0bfed74e80cc clk: imx: imx8-acm: Fix return value check in clk_imx_acm_attach_pm_domains()
    e334c2fd518c clk: imx: clk-scu: fix clk enable state save and restore
    b92706bd0eb0 clk: imx: fracn-gppll: fix pll power up
    db62437bf2da clk: imx: fracn-gppll: correct PLL initialization flow
    791bf6190357 clk: imx: lpcg-scu: SW workaround for errata (e10858)
    cd2f9bc87711 RISC-V: KVM: Fix APLIC in_clrip and clripnum write emulation
    e435f311c55d RDMA/rxe: Set queue pair cur_qp_state when being queried
    a9b251599bd3 clk: renesas: rzg2l: Fix FOUTPOSTDIV clk
    4f2d22278e93 clk: sunxi-ng: d1: Fix PLL_AUDIO0 preset
    f37cc04fe893 RDMA/bnxt_re: Check cqe flags to know imm_data vs inv_irkey
    31978d5c5aef RDMA/rxe: Fix the qp flush warnings in req
    b4ba31e5aaff RDMA/hns: Fix cpu stuck caused by printings during reset
    8e20ac838be8 RDMA/hns: Use dev_* printings in hem code instead of ibdev_*
    44470c5eb88b RDMA/hns: Fix an AEQE overflow error caused by untimely update of eq_db_ci
    f05ef81db638 cpufreq: CPPC: Fix possible null-ptr-deref for cppc_get_cpu_cost()
    e07570a8f2cf cpufreq: CPPC: Fix possible null-ptr-deref for cpufreq_cpu_get_raw()
    a246daa26b71 powerpc/pseries: Fix dtl_access_lock to be a rw_semaphore
    8a06435959cc mtd: spi-nor: spansion: Use nor->addr_nbytes in octal DTR mode in RD_ANY_REG_OP
    9ea8d8bf9b62 powerpc/mm/fault: Fix kfence page fault reporting
    f1290871c8aa mtd: rawnand: atmel: Fix possible memory leak
    95b9fb67e493 mtd: hyperbus: rpc-if: Add missing MODULE_DEVICE_TABLE
    29664ae6c473 mtd: hyperbus: rpc-if: Convert to platform remove callback returning void
    c5c1d1ef7083 powerpc/fadump: Move fadump_cma_init to setup_arch() after initmem_init()
    92f7cc84c3db powerpc/fadump: Refactor and prepare fadump_cma_init for late init
    783df31532f9 cpufreq: loongson2: Unregister platform_driver on failure
    d4cc78bd6a25 mfd: intel_soc_pmic_bxtwc: Use IRQ domain for PMIC devices
    1b734ad0e336 mfd: intel_soc_pmic_bxtwc: Use IRQ domain for TMU device
    e1ef62e8d262 mfd: intel_soc_pmic_bxtwc: Use IRQ domain for USB Type-C device
    d80635d7ebef mfd: da9052-spi: Change read-mask to write-mask
    7c8ac49aa18a mfd: tps65010: Use IRQF_NO_AUTOEN flag in request_irq() to fix race
    a7083f0ce5f8 powerpc/vdso: Flag VDSO64 entry points as functions
    40163b26c3de scsi: hisi_sas: Enable all PHYs that are not disabled by user during controller reset
    8b12c4e29ac2 pinctrl: zynqmp: drop excess struct member description
    840295a8ff9e trace/trace_event_perf: remove duplicate samples on the first tracepoint event
    3d02397ca30b clk: mediatek: drop two dead config options
    e2f15cb48ab7 cppc_cpufreq: Use desired perf if feedback ctrs are 0 or unchanged
    c4b6c1781f6c unicode: Fix utf8_load() error path
    da2bc8a0c8f3 bpf: fix recursive lock when verdict program return SK_PASS
    aeafba58c432 wireguard: selftests: load nf_conntrack if not present
    4802caac250b netpoll: Use rcu_access_pointer() in netpoll_poll_lock
    f466641debcb erofs: handle NONHEAD !delta[1] lclusters gracefully
    de5a44f351ca Bluetooth: fix use-after-free in device_for_each_child()
    b754e831a94f ALSA: 6fire: Release resources at card release
    4507a8b9b303 ALSA: caiaq: Use snd_card_free_when_closed() at disconnection
    2938dd264852 ALSA: us122l: Use snd_card_free_when_closed() at disconnection
    e07605d855c4 ALSA: usx2y: Use snd_card_free_when_closed() at disconnection
    440f6a15700e net: rfkill: gpio: Add check for clk_enable()
    89bf1b665ba9 bpf: Force uprobe bpf program to always return 0
    38e3d796f654 drm/amdkfd: Fix wrong usage of INIT_WORK()
    d1fb89f0024d selftests: net: really check for bg process completion
    43e25adc8026 ipv6: release nexthop on device removal
    70530a2f8120 net: use unrcu_pointer() helper
    bba7266d9dc4 sock_diag: allow concurrent operation in sock_diag_rcv_msg()
    161d4fc07133 sock_diag: allow concurrent operations
    37103a9d7f12 sock_diag: add module pointer to "struct sock_diag_handler"
    5ef3e03228e1 bpf, sockmap: Fix sk_msg_reset_curr
    98c7ea7d11f2 bpf, sockmap: Several fixes to bpf_msg_pop_data
    a53ad8ab116d bpf, sockmap: Several fixes to bpf_msg_push_data
    9df2dddc083a selftests/bpf: Add push/pop checking for msg_verify_data in test_sockmap
    862b395de02d selftests/bpf: Fix total_bytes in msg_loop_rx in test_sockmap
    a1820f63dd1e selftests/bpf: Fix SENDPAGE data logic in test_sockmap
    c8803b286d9d selftests/bpf: Add txmsg_pass to pull/push/pop in test_sockmap
    c88ae0a77c21 netlink: typographical error in nlmsg_type constants definition
    c65cff783752 netfilter: nf_tables: must hold rcu read lock while iterating object type list
    5199d4a4e018 netfilter: nf_tables: skip transaction if update object is not implemented
    981af60dd6a2 netfilter: nf_tables: must hold rcu read lock while iterating expression type list
    cd38d9cdf4bb netfilter: nf_tables: avoid false-positive lockdep splat on rule deletion
    6ee1c9849cc4 netfilter: nf_tables: Introduce nf_tables_getrule_single()
    1d0f811ec145 netfilter: nf_tables: Open-code audit log call in nf_tables_getrule()
    cf7b5e0bc199 drm: use ATOMIC64_INIT() for atomic64_t
    23c3f60082ac drm/vkms: Drop unnecessary call to drm_crtc_cleanup()
    41f0b320b6ea bpf, bpftool: Fix incorrect disasm pc
    b32f915fc659 drm/msm/dpu: cast crtc_clk calculation to u64 in _dpu_core_perf_calc_clk()
    1c079dace922 wifi: wfx: Fix error handling in wfx_core_init()
    a17b9afe58c4 drm: zynqmp_kms: Unplug DRM device before removal
    237f2dbfa005 drm/nouveau/gr/gf100: Fix missing unlock in gf100_gr_chan_new()
    ba0599332acc drm/etnaviv: hold GPU lock across perfmon sampling
    6b1c1297bcd5 drm/etnaviv: Request pages from DMA32 zone on addressing_limited
    a3d37915f133 drm/msm/gpu: Check the status of registration to PM QoS
    1021cc87206a drm/msm/adreno: Use IRQF_NO_AUTOEN flag in request_irq()
    d6a559c5642d bpf, arm64: Remove garbage frame for struct_ops trampoline
    c6120d95c729 drm/panfrost: Remove unused id_mask from struct panfrost_model
    b955ceba2c1e selftests/bpf: fix test_spin_lock_fail.c's global vars usage
    b99db02209ca octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_dcbnl.c
    3ccbc7a51886 octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_dmac_flt.c
    c5a6c5af4346 octeontx2-pf: handle otx2_mbox_get_rsp errors in cn10k.c
    c4eae7bac880 octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_flows.c
    c0f64fd73b60 octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_ethtool.c
    52c63a6a27d3 octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_common.c
    bfbd0b09aff0 drm/msm/dpu: drop LM_3 / LM_4 on MSM8998
    29fa82adec3c drm/msm/dpu: drop LM_3 / LM_4 on SDM845
    b9ebac16315e drm/msm/dpu: on SDM845 move DSPP_3 to LM_5 block
    0e5bcf5136f1 drm: fsl-dcu: enable PIXCLK on LS1021A
    c4698ef8c42e wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_config_scan()
    557e07a7a487 selftests/bpf: Fix txmsg_redir of test_txmsg_pull in test_sockmap
    26f54adde839 selftests/bpf: Fix msg_verify_data in test_sockmap
    5981e6e1b50d drm/bridge: tc358767: Fix link properties discovery
    80afbcbdaf48 netdevsim: copy addresses for both in and out paths
    ef38a689f4e0 libbpf: never interpret subprogs in .text as entry programs
    452eb0e1589d ASoC: rt722-sdca: Remove logically deadcode in rt722-sdca.c
    36c79b9ff20a libbpf: fix sym_is_subprog() logic for weak global subprogs
    a8ec6447d76d drm/vc4: Match drm_dev_enter and exit calls in vc4_hvs_atomic_flush
    fff56eb08053 ice: consistently use q_idx in ice_vc_cfg_qs_msg()
    a340f9115301 ice: Support FCS/CRC strip disable for VF
    2edb61b5d3f0 virtchnl: Add CRC stripping capability
    fb5d7f68e676 wifi: ath11k: Fix CE offset address calculation for WCN6750 in SSR
    e05f60981951 bpf: Fix the xdp_adjust_tail sample prog issue
    44a21d9fbc2d libbpf: Fix output .symtab byte-order during linking
    d900a20e33d7 libbpf: Fix expected_attach_type set handling in program load callback
    65f9fe75cad1 drm/bridge: it6505: Drop EDID cache on bridge power off
    c2a04ba6f93d drm/bridge: anx7625: Drop EDID cache on bridge power off
    3340acafcce6 ASoC: dt-bindings: mt6359: Update generic node name and dmic-mode
    537f327629be ASoC: fsl_micfil: fix regmap_write_bits usage
    53507b7c6363 dt-bindings: vendor-prefixes: Add NeoFidelity, Inc
    d73da0dd2853 wifi: ath12k: Skip Rx TID cleanup for self peer
    8325a50983c1 wifi: ath10k: fix invalid VHT parameters in supported_vht_mcs_rate_nss2
    9ef3985a9e02 wifi: ath10k: fix invalid VHT parameters in supported_vht_mcs_rate_nss1
    56541262079d drm/v3d: Address race-condition in MMU flush
    fda29dff5581 drm/imx/ipuv3: Use IRQF_NO_AUTOEN flag in request_irq()
    b509546bfa1f drm/imx/dcss: Use IRQF_NO_AUTOEN flag in request_irq()
    521d4b3f1dc1 wifi: mwifiex: Use IRQF_NO_AUTOEN flag in request_irq()
    dbdca51b054f wifi: p54: Use IRQF_NO_AUTOEN flag in request_irq()
    088e10e74390 drm/omap: Fix locking in omap_gem_new_dmabuf()
    4da37fba2a6b drm/omap: Fix possible NULL dereference
    b6551479daf2 wifi: ath9k: add range check for conn_rsp_epid in htc_connect_service()
    9728b508b01a drm/vc4: hvs: Correct logic on stopping an HVS channel
    52c1716f65a5 drm/vc4: hvs: Remove incorrect limit from hvs_dlist debugfs function
    8182b5ca19c6 drm/vc4: hvs: Fix dlist debug not resetting the next entry pointer
    c7d474974954 drm/vc4: hdmi: Avoid hang with debug registers when suspended
    40c77e93cfdd drm/vc4: hvs: Don't write gamma luts on 2711
    2ee46de426cc drm/mm: Mark drm_mm_interval_tree*() functions with __maybe_unused
    6c8938e41b82 platform/x86: panasonic-laptop: Return errno correctly in show callback
    b03e713a400a HID: hyperv: streamline driver probe to avoid devres issues
    599929021528 arm64: dts: rockchip: correct analog audio name on Indiedroid Nova
    8066badaf746 media: atomisp: Add check for rgby_data memory allocation failure
    025067eeb945 firmware: arm_scpi: Check the DVFS OPP count returned by the firmware
    667b0527a3e7 selftests/resctrl: Protect against array overrun during iMC config parsing
    99ca7bddcade selftests/resctrl: Fix memory overflow due to unhandled wraparound
    feb6e4412537 selftests/resctrl: Refactor fill_buf functions
    315f9a1e1748 selftests/resctrl: Split fill_buf to allow tests finer-grained control
    367a0a92b968 arm64: dts: mediatek: mt8183-kukui-jacuzzi: Add supplies for fixed regulators
    1e1acb879e3c arm64: dts: mediatek: mt8183-kukui-jacuzzi: Fix DP bridge supply names
    7db9c3c15fb5 arm64: dts: mediatek: mt6358: fix dtbs_check error
    dbcba9b1108a arm64: dts: mediatek: Add ADC node on MT6357, MT6358, MT6359 PMICs
    a67ebf6dcc4a arm64: dts: renesas: hihope: Drop #sound-dai-cells
    3dea2312ab45 regmap: irq: Set lockdep class for hierarchical IRQ domains
    2c8cfd167100 spi: zynqmp-gqspi: Undo runtime PM changes at driver exit time​
    48e518e705e7 spi: tegra210-quad: Avoid shift-out-of-bounds
    872bfc20abea pmdomain: ti-sci: Add missing of_node_put() for args.np
    1103d3b5a502 of/fdt: add dt_phys arg to early_init_dt_scan and early_init_dt_verify
    be0a96cfa9c0 x86/of: Unconditionally call unflatten_and_copy_device_tree()
    ccf190dba640 um: Unconditionally call unflatten_device_tree()
    66b991a52ae6 arm64: dts: ti: k3-j721s2: Fix clock IDs for MCSPI instances
    a21e7623d782 arm64: dts: ti: k3-j721e: Fix clock IDs for MCSPI instances
    cae00563f173 arm64: dts: ti: k3-j7200: Fix clock ids for MCSPI instances
    ccdac40ce4d2 arm64: dts: ti: k3-j7200: Fix register map for main domain pmx
    4981b8a2d9fa arm64: dts: ti: k3-j7200: use ti,j7200-padconf compatible
    9810ceccd99b ARM: dts: cubieboard4: Fix DCDC5 regulator constraints
    0d9cee68a3f1 pwm: imx27: Workaround of the pwm output bug when decrease the duty cycle
    15cbeb8ae3c0 arm64: dts: mt8183: Damu: add i2c2's i2c-scl-internal-delay-ns
    8e965120d845 arm64: dts: mt8183: cozmo: add i2c2's i2c-scl-internal-delay-ns
    8b833a02b454 arm64: dts: mt8183: burnet: add i2c2's i2c-scl-internal-delay-ns
    0f627e99cca6 arm64: dts: mt8183: fennel: add i2c2's i2c-scl-internal-delay-ns
    52c3eb1c8ce8 regulator: rk808: Restrict DVS GPIOs to the RK808 variant only
    9e67b054198f cgroup/bpf: only cgroup v2 can be attached by bpf programs
    92031d660152 Revert "cgroup: Fix memory leak caused by missing cgroup_bpf_offline"
    2ef8dc16041b arm64: dts: mediatek: mt8173-elm-hana: Add vdd-supply to second source trackpad
    78a8e85b5314 arm64: dts: mt8183: kukui: Fix the address of eeprom at i2c4
    699e5e70ad34 arm64: dts: mt8183: krane: Fix the address of eeprom at i2c4
    3164cc7cf77a media: i2c: ds90ub960: Fix missing return check on ub960_rxport_read call
    f8549e3f03c1 tpm: fix signed/unsigned bug when checking event logs
    ae0ad1626018 efi/libstub: fix efi_parse_options() ignoring the default command line
    b18f8d9e2827 openrisc: Implement fixmap to fix earlycon
    91884250825f mmc: mmc_spi: drop buggy snprintf()
    4e12b09f57c2 ARM: dts: microchip: sam9x60: Add missing property atmel,usart-mode
    653847d80fa9 arm64: dts: qcom: sm6350: Fix GPU frequencies missing on some speedbins
    c24e019ca12d soc: qcom: geni-se: fix array underflow in geni_se_clk_tbl_get()
    bfd19f48c45c soc: ti: smartreflex: Use IRQF_NO_AUTOEN flag in request_irq()
    b7394c6fba3a arm64: dts: mt8195: Fix dtbs_check error for infracfg_ao node
    0a3ba7c09ac8 arm64: dts: mt8195: Fix dtbs_check error for mutex node
    1dcb74ebda5c microblaze: Export xmb_manager functions
    882d7afaa4b8 drivers: soc: xilinx: add the missing kfree in xlnx_add_cb_for_suspend()
    d3a5e7ffbd41 spi: spi-fsl-lpspi: Use IRQF_NO_AUTOEN flag in request_irq()
    ecbc50474769 clocksource/drivers/timer-ti-dm: Fix child node refcount handling
    3ba257d80ffa clocksource/drivers:sp804: Make user selectable
    45eec49fa2fa kcsan, seqlock: Fix incorrect assumption in read_seqbegin()
    5b12a7e70b0b kcsan, seqlock: Support seqcount_latch_t
    01b61f5cef36 time: Fix references to _msecs_to_jiffies() handling of values
    7723bfe6f903 time: Partially revert cleanup on msecs_to_jiffies() documentation
    8d91bdca2f97 x86/unwind/orc: Fix unwind for newly forked tasks
    cc08c2c8e98e thermal/lib: Fix memory leak on error in thermal_genl_auto()
    1b78ac7eb6c7 tools/lib/thermal: Make more generic the command encoding function
    5cecc5786506 rcuscale: Do a proper cleanup if kfree_scale_init() fails
    a40520a7a5e6 crypto: cavium - Fix an error handling path in cpt_ucode_load_fw()
    ae5253313e0e crypto: bcm - add error check in the ahash_hmac_init function
    5a0329563e25 crypto: caam - add error check to caam_rsa_set_priv_key_form
    1fa9635a5f67 ACPI: CPPC: Fix _CPC register setting issue
    685c10269c41 hwmon: (nct6775-core) Fix overflows seen when writing limit attributes
    4ffcf7893f4b hwmon: (pmbus/core) clear faults after setting smbalert mask
    714788c6a697 hwmon: (pmbus_core) Allow to hook PMBUS_SMBALERT_MASK
    967a0e619108 rcu/kvfree: Fix data-race in __mod_timer / kvfree_call_rcu
    f5fed8a850d0 doc: rcu: update printed dynticks counter bits
    605150b4c903 crypto: inside-secure - Fix the return value of safexcel_xcbcmac_cra_init()
    830cabb61113 EDAC/igen6: Avoid segmentation fault on module unload
    6a975fbab1d2 crypto: hisilicon/qm - disable same error report before resetting
    4b3c113af8d6 amd-pstate: Set min_perf to nominal_perf for active mode performance gov
    db74e48b49ad crypto: cavium - Fix the if condition to exit loop after timeout
    5edae7a9a356 crypto: pcrypt - Call crypto layer directly when padata_do_parallel() return -EBUSY
    d9338b781fe9 EDAC/{skx_common,i10nm}: Fix incorrect far-memory error source indicator
    edf58d4bebc3 EDAC/skx_common: Differentiate memory error sources
    63a2d940c719 EDAC/fsl_ddr: Fix bad bit shift operations
    ac7dfac63970 thermal: core: Initialize thermal zones before registering them
    85a57cdc1b25 crypto: qat - remove faulty arbiter config reset
    ac6ebb9edcdb EDAC/bluefield: Fix potential integer overflow
    bba6cba4dab2 firmware: google: Unregister driver_info on failure
    05c9a7a53444 crypto: qat/qat_4xxx - fix off by one in uof_get_name()
    2a064b788dee crypto: qat - remove check after debugfs_create_dir()
    1f8e2f597b91 crypto: caam - Fix the pointer passed to caam_qi_shutdown()
    b2c36fa9ac8a virtio_blk: reverse request order in virtio_queue_rqs
    519899291235 nvme-pci: reverse request order in nvme_queue_rqs
    77035e4d27e1 ext4: fix race in buffer_head read fault injection
    cca059508975 ext4: remove array of buffer_heads from mext_page_mkuptodate()
    2266fe580adf ext4: pipeline buffer reads in mext_page_mkuptodate()
    fbd359a2ee20 ext4: remove calls to to set/clear the folio error flag
    21900e847812 hfsplus: don't query the device logical block size multiple times
    13ebba9e57a6 s390/syscalls: Avoid creation of arch/arch/ directory
    fad4262bd40d block: fix bio_split_rw_at to take zone_write_granularity into account
    539fabba965e netfs/fscache: Add a memory barrier for FSCACHE_VOLUME_CREATING
    ae8c963906ed cachefiles: Fix missing pos updates in cachefiles_ondemand_fd_write_iter()
    01f605a4cd74 acpi/arm64: Adjust error handling procedure in gtdt_parse_timer_block()
    b46bc5b02ded arm64: fix .data.rel.ro size assertion when CONFIG_LTO_CLANG
    d4e05e954504 m68k: mvme147: Reinstate early console
    6395a5f9eb44 m68k: mvme16x: Add and use "mvme16x.h"
    d77659d3ffba m68k: mvme147: Fix SCSI controller IRQ numbers
    cee3bff51a35 nvme-pci: fix freeing of the HMB descriptor table
    1a423bbbeaf9 initramfs: avoid filename buffer overrun
    372042443be4 mips: asm: fix warning when disabling MIPS_FP_SUPPORT
    6c63de9b4d0e ext4: avoid remount errors with 'abort' mount option
    410896624db6 brd: defer automatic disk creation until module initialization succeeds
    83d123e27623 x86/pvh: Call C code via the kernel virtual mapping
    f662b4a69e1d x86/pvh: Set phys_base when calling xen_prepare_pvh()
    aa6e32c654fc s390/pageattr: Implement missing kernel_page_present()
    a1dc0428c05a s390/cio: Do not unregister the subchannel based on DNV
    9820f3548679 kselftest/arm64: mte: fix printf type warnings about longs
    b95a1cd26a28 kselftest/arm64: mte: fix printf type warnings about __u64
    0dd9a53bb9b2 arm64: probes: Disable kprobes/uprobes on MOPS instructions
    ecc2aeeaa08a bpf: support non-r10 register spill/fill to/from stack in precision tracking
    44b1bfb5bd97 mptcp: fix possible integer overflow in mptcp_reset_tout_timer
    68f75e6f08aa drm/amd/display: Add null check for pipe_ctx->plane_state in dcn20_program_pipe
    36ff963c133a platform/x86: x86-android-tablets: Unregister devices in reverse order
    f7d9a18572fc nvme: apple: fix device reference counting
    3820b0fac773 fs/proc: do_task_stat: use sig->stats_lock to gather the threads/children stats
    c7e65cab54a8 drm/amd/display: Don't refer to dc_sink in is_dsc_need_re_compute
    c3a3b6d9a938 drm/amd/display: Check null-initialized variables
    e0f6ee75f504 fs/inode: Prevent dump_mapping() accessing invalid dentry.d_name.name
    9f35cec5e4b9 drm/amd/display: Initialize denominators' default to 1
    f38b09ba6a33 drm/amd/display: Add NULL check for function pointer in dcn32_set_output_transfer_func
    9d0f1e745e95 x86/stackprotector: Work around strict Clang TLS symbol requirements
    dc5ead0e8fc5 serial: sc16is7xx: fix invalid FIFO access with special register set
    a891938947f4 s390/pkey: Wipe copies of clear-key structures on failure
    d038693e08ad i2c: lpi2c: Avoid calling clk_get_rate during transfer
    561063997ae3 ipmr: Fix access to mfc_cache_list without lock held
    2abc2bd53e4c ARM: 9420/1: smp: Fix SMP for xip kernels
    344fb3c52923 ALSA: usb-audio: Fix Yamaha P-125 Quirk Entry
    7ed79c551c09 LoongArch: Define a default value for VM_DATA_DEFAULT_FLAGS
    65b08af3c4a1 ASoC: audio-graph-card2: Purge absent supplies for device tree nodes
    fe8c40810a11 proc/softirqs: replace seq_printf with seq_put_decimal_ull_width
    82d0f099009e drm: panel-orientation-quirks: Make Lenovo Yoga Tab 3 X90F DMI match less strict
    0058f8ebfdb0 ASoC: stm: Prevent potential division by zero in stm32_sai_get_clk_div()
    d525fc94249a ASoC: stm: Prevent potential division by zero in stm32_sai_mclk_round_rate()
    1423de2c7ba1 ASoC: amd: yc: Support dmic on another model of Lenovo Thinkpad E14 Gen 6
    b07b441b79c2 platform/x86: thinkpad_acpi: Fix for ThinkPad's with ECFW showing incorrect fan speed
    769aa742527c can: j1939: fix error in J1939 documentation.
    3e8cc9901073 tools/lib/thermal: Remove the thermal.h soft link when doing make clean
    bb64195b56ca ASoC: tas2781: Add new driver version for tas2563 & tas2781 qfn chip
    739aac7323f0 platform/x86: dell-wmi-base: Handle META key Lock/Unlock events
    32660e18f5ca platform/x86: dell-smbios-base: Extends support to Alienware products
    fd782cb8f9d3 regulator: rk808: Add apply_bit for BUCK3 on RK809
    cb5bf9377102 firmware: arm_scmi: Reject clear channel request on A2P
    3bb3fa542835 soc: qcom: Add check devm_kasprintf() returned value
    7c92e2b55677 net: usb: qmi_wwan: add Quectel RG650V
    363473736bb0 bpf: fix filed access without lock
    3e3bc9cf3fdf x86/amd_nb: Fix compile-testing without CONFIG_AMD_NB
    1b15738a7d30 ALSA: hda/realtek: Add subwoofer quirk for Infinix ZERO BOOK 13
    9dc3380fb586 selftests/watchdog-test: Fix system accidentally reset after watchdog-test
    16009cc182ef usb: typec: use cleanup facility for 'altmodes_node'
    f083283f914b usb: add support for new USB device ID 0x17EF:0x3098 for the r8152 driver
    24fa3e9443a4 mac80211: fix user-power when emulating chanctx
    675a1803efa1 wifi: iwlwifi: mvm: Use the sync timepoint API in suspend
    9b0f6adf28b4 ASoC: Intel: sst: Support LPE0F28 ACPI HID
    92cab36cf11a ASoC: Intel: bytcr_rt5640: Add DMI quirk for Vexia Edu Atla 10 tablet
    6909df783e42 ASoC: Intel: bytcr_rt5640: Add support for non ACPI instantiated codec
    98130b150916 ASoC: codecs: rt5640: Always disable IRQs from rt5640_cancel_work()
    28f152fc9553 wifi: radiotap: Avoid -Wflex-array-member-not-at-end warnings
    18abb2787b53 x86/syscall: Mark exit[_group] syscall handlers __noreturn
    2879d995e569 pnmtologo: sync with 6.6
    43ea1c5e6eb3 lib/build_OID_registry: take -stable reproducibility changes
    35046aea43c8 bpftool: Fix undefined bpf macro for unix socket
    9a558d4b8621 tools/resolve_btfids: Fix comparison of distinct pointer types warning in resolve_btfids
    42b2eec2e503 bpftool: Query only cgroup-related attach types
    f71bb11887ba cpu/amd: inhibit SMP check for qemux86
    c31365597a17 powerpc/uaccess: Fix build errors seen with GCC 13/14
    64ebf485c56b usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
    7c76aad68f6d kselftest: Add a ksft_perror() helper
    06644f0d7193 drm/tilcdc: Set preferred depth
    ff7ae7b32324 crypto: jitter - add RCT/APT support for different OSRs
    50cd24ddb6f0 arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    58e5c91d6701 x86/alternatives: Disable interrupts and sync when optimizing NOPs in place
    c878fd2d4c79 x86/alternatives: Sync core before enabling interrupts
    c2d64b9f52b6 qemux86: add configuration symbol to select values
    630c33229e6d sched/isolation: really align nohz_full with rcu_nocbs
    0e5e0f68e2e6 clear_warn_once: add a clear_warn_once= boot parameter
    46934791b902 clear_warn_once: bind a timer to written reset value
    cdee9e38ff32 clear_warn_once: expand debugfs to include read support
    82b562b81841 tools: Remove some options from CLANG_CROSS_FLAGS
    36dc380b776b libbpf: Fix build warning on ref_ctr_off
    9e3e1fe20982 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    e497a4a5da65 perf: x86-32: explicitly include <errno.h>
    7b57ddd89565 perf: mips64: Convert __u64 to unsigned long long
    1cfc19423dc7 perf: fix bench numa compilation
    98bc2815fade perf: add SLANG_INC for slang.h
    17209a70b9b3 perf: add sgidefs.h to for mips builds
    9cd4258d910a perf: change --root to --prefix for python install
    8110a4f26628 perf: add 'libperl not found' warning
    bc89d5e08f77 perf: force include of <stdbool.h>
    4f6c760cc876 fat: Replace prandom_u32() with get_random_u32()
    bc53117b12b2 fat: don't use obsolete random32 call in namei_vfat
    30b2236ab378 FAT: Added FAT_NO_83NAME
    cef98d22b4ed FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    0bbd7daba9e1 FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    5883fc340084 aufs6: adapt to v6.6 i_op->ctime changes
    c4342d979bf2 aufs6: fix magic.mk include path
    35266bc2dc81 aufs6: adapt to v6.6
    8edede4e98be aufs6: core
    712248233ebe aufs6: standalone
    3b71a8a848d8 aufs6: mmap
    3e2924871f37 aufs6: base
    7f4907a93101 aufs6: kbuild
    d2f7b03e4aa7 yaffs2: update VFS ctime operations to 6.6+
    bcd6cfcd1aa0 yaffs2: v6.5 fixups
    cc615704b5f5 yaffs2: Fix miscalculation of devname buffer length
    8ef2e22dcf91 yaffs2: convert user_namespace to mnt_idmap
    c9c749f9f7d3 yaffs2: replace bdevname call with sprintf
    395b01cdc39d yaffs2: convert read_page -> readfolio
    d98b07e43ba6 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    613c6d50fdbe yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    622c4648936f yaffs2: v5.12+ build fixups (not runtime tested)
    7562133d4090 yaffs: include blkdev.h
    dbd44252cd59 yaffs: fix misplaced variable declaration
    c223a10b1ac0 yaffs2: v5.6 build fixups
    90f6007cfbf4 yaffs2: fix memory leak when /proc/yaffs is read
    37ee169c5ea1 yaffs: add strict check when call yaffs_internal_read_super
    b6e007b8abb6 yaffs: repair yaffs_get_mtd_device
    fb98f65a466a yaffs: Fix build failure by handling inode i_version with proper atomic API
    51e0aac75ea2 yaffs2: fix memory leak in mount/umount
    2b74a0cae7b0 yaffs: Avoid setting any ACL releated xattr
    ff4130a9c376 Yaffs:check oob size before auto selecting Yaffs1
    ba95b409c67c fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    8fa35eba9056 yaffs2: adjust to proper location of MS_RDONLY
    1eb5deaad8c4 yaffs2: import git revision b4ce1bb (jan, 2020)
    4dce67c1e8c8 initramfs: allow an optional wrapper script around initramfs generation
    2f603d83fcc4 pnmtologo: use relocatable file name
    664a6a0a484b tools: use basename to identify file in gen-mach-types
    9de64bc0c185 lib/build_OID_registry: fix reproducibility issues
    ae9b80797295 vt/conmakehash: improve reproducibility
    a972323151bd iwlwifi: select MAC80211_LEDS conditionally
    15d2adcc0198 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    5556a6c04b19 arm64/perf: Fix wrong cast that may cause wrong truncation
    5552dc768ffc defconfigs: drop obselete options
    00fe4152df31 arm64/perf: fix backtrace for AAPCS with FP enabled
    3888d0652edf linux-yocto: Handle /bin/awk issues
    3d55d299f23a uvesafb: provide option to specify timeout for task completion
    23c068c080be uvesafb: print error message when task timeout occurs
    edbfc939266e compiler.h: Undef before redefining __attribute_const__
    c99ae7e2a19a vmware: include jiffies.h
    572d84d928c8 Resolve jiffies wrapping about arp
    fdcd47cac843 nfs: Allow default io size to be configured.
    927d48801098 check console device file on fs when booting
    57cc27f821dd mount_root: clarify error messages for when no rootfs found
    1b53d82a8152 mconf: fix output of cflags and libraries
    1811da09f42c menuconfig,mconf-cfg: Allow specification of ncurses location
    83c2e0c6eb1f modpost: mask trivial warnings
    6de673039484 kbuild: exclude meta directory from distclean processing
    6decd32815f5 powerpc: serialize image targets
    f6b683b38318 arm: serialize build targets
    e798b09ebf57 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    dc8a1e5a88f8 x86_64_defconfig: Fix warnings
    68491e5f72b6 powerpc/ptrace: Disable array-bounds warning with gcc8
    d71ebfce3004 powerpc: Disable attribute-alias warnings from gcc8
    62f50884b8b1 powerpc: kexec fix for powerpc64
    da6871c62c37 powerpc: Add unwind information for SPE registers of E500 core
    f161c880c11d mips: make current_cpu_data preempt safe
    5e94a8247ce7 mips: vdso: fix 'jalr $t9' crash in vdso code
    19e36714b1c7 mips: Kconfig: add QEMUMIPS64 option
    e2e537db3cbd 4kc cache tlb hazard: tlbp cache coherency
    aee9870611e5 malta uhci quirks: make allowance for slow 4k(e)c
    881948cd1517 drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    98ec1963fcb7 arm64: defconfig: cleanup config options
    f1727c537ba8 vexpress: Pass LOADADDR to Makefile
    4474c32dc24a arm: ARM EABI socketcall
    75e31a2b70fd ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: 036022b26de20f5eac567b81373e5c468b24001c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f77ff46e2a31c7a5ced9ede51ad871e38084d33e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Bruce Ashfield
4bb4743d75 linux-yocto/6.6: update to v6.6.63
Updating linux-yocto/6.6 to the latest korg -stable release that comprises
the following commits:

    bff3e13adb72 Linux 6.6.63
    62aec1e92599 mm/damon/core: copy nr_accesses when splitting region
    6cba27abb669 mm/damon/core: handle zero schemes apply interval
    b0fb9543b119 mm/damon/core: check apply interval in damon_do_apply_schemes()
    bdc136e2b05f mm: resolve faulty mmap_region() error path behaviour
    04b7efa421dc mm: refactor arch_calc_vm_flag_bits() and arm64 MTE handling
    3a6d8d3f1998 mm: refactor map_deny_write_exec()
    a97fe6889b25 mm: unconditionally close VMAs on error
    cd3ed99fca8c mm: avoid unsafe VMA hook invocation when error arises on mmap hook
    172ffd26a5af leds: mlxreg: Use devm_mutex_init() for mutex initialization
    3a741b80b345 fs/9p: fix uninitialized values during inode evict
    f111de0f0103 drm/amd/pm: Vangogh: Fix kernel memory out of bounds write
    3bc4569a727d mptcp: pm: use _rcu variant under rcu_read_lock
    fc3c73284d2e mptcp: drop lookup_by_id in lookup_addr
    416001b0412f mptcp: hold pm lock when deleting entry
    ac56c5e80e1f mptcp: update local address flags when setting it
    aa2b28ddcc26 mptcp: add userspace_pm_lookup_addr_by_id helper
    762ca2d2e3c7 mptcp: define more local variables sk
    fb79d68a36e2 NFSD: Never decrement pending_async_copies on error
    421f1a2a1afb NFSD: Initialize struct nfsd4_copy earlier
    ae267989b7b7 NFSD: Limit the number of concurrent async COPY operations
    20a10c78ac3a NFSD: Async COPY result needs to return a write verifier
    74115b3e41c7 NFSD: initialize copy->cp_clp early in nfsd4_copy for use by trace point
    db12e874e1a2 media: dvbdev: fix the logic when DVB_DYNAMIC_MINORS is not set
    efb258ec337f lib/buildid: Fix build ID parsing logic
    0c623f5692a0 staging: vchiq_arm: Use devm_kzalloc() for vchiq_arm_state allocation
    6dee8f99c690 staging: vchiq_arm: Get the rid off struct vchiq_2835_state
    6bfed8babc1a mm/damon/core: handle zero {aggregation,ops_update} intervals
    973739c94521 mm/damon/core: implement scheme-specific apply interval
    0a326fbc8f72 drm/amd/display: Adjust VSDB parser for replay feature
    5e91cd9a3417 drm/amd: Fix initialization mistake for NBIO 7.7.0
    16abd7ce81e4 nouveau: fw: sync dma after setup is called.
    8fc228ab5d38 pmdomain: imx93-blk-ctrl: correct remove path
    1a312ed8f9b2 drm/bridge: tc358768: Fix DSI command tx
    930f99a21e7f mmc: sunxi-mmc: Fix A100 compatible description
    56de724c58c0 Revert "mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K"
    32fc8cedcba6 LoongArch: Make KASAN work with 5-level page-tables
    4457bc909d1e LoongArch: Disable KASAN if PGDIR_SIZE is too large for cpu_vabits
    f04125eb9eb5 LoongArch: Fix early_numa_add_cpu() usage for FDT systems
    b0e476574004 nilfs2: fix null-ptr-deref in block_dirty_buffer tracepoint
    672668e0208f ocfs2: fix UBSAN warning in ocfs2_verify_volume()
    037108f03ed4 ALSA: hda/realtek: fix mute/micmute LEDs for a HP EliteBook 645 G10
    630adf4d66f7 ALSA: hda/realtek - Fixed Clevo platform headset Mic issue
    8bbf0ab631cd nommu: pass NULL argument to vma_iter_prealloc()
    59b49ca67cca nilfs2: fix null-ptr-deref in block_touch_buffer tracepoint
    d28b059ee477 KVM: VMX: Bury Intel PT virtualization (guest/host mode) behind CONFIG_BROKEN
    4b7522b0040f KVM: x86: Unconditionally set irr_pending when updating APICv state
    190b344caadc KVM: nVMX: Treat vpid01 as current if L2 is active, but with VPID disabled
    8a84765c62cc ima: fix buffer overrun in ima_eventdigest_init_common
    c4d64534d4b1 vp_vdpa: fix id_table array not null terminated error
    15c49f91cfc8 vdpa/mlx5: Fix PA offset with unaligned starting iotlb map
    d372dd09cfbf vdpa: solidrun: Fix UB bug with devres
    64e67e869425 mm: revert "mm: shmem: fix data-race in shmem_getattr()"
    843dfc804af4 ocfs2: uncache inode which has failed entering the group
    d0f16cec7977 mm: fix NULL pointer dereference in alloc_pages_bulk_noprof
    3414fc6a7888 x86/mm: Fix a kdump kernel failure on SME system when CONFIG_IMA_KEXEC=y
    bcd602ae8c46 tools/mm: fix compile error
    4b9fb3aeb90e ARM: 9419/1: mm: Fix kernel memory mapping for xip kernels
    9ea6b70fecb9 bonding: add ns target multicast address to slave device
    c67ce71d5328 net: ti: icssg-prueth: Fix 1 PPS sync
    faf81a3d64b2 stmmac: dwmac-intel-plat: fix call balance of tx_clk handling routines
    a39058e0e554 net: stmmac: rename stmmac_pltfr_remove_no_dt to stmmac_pltfr_remove
    d54ebfe8d33f net: stmmac: dwmac-visconti: use devm_stmmac_probe_config_dt()
    e6eae391e3d9 net: stmmac: dwmac-intel-plat: use devm_stmmac_probe_config_dt()
    09621bd40205 net: Make copy_safe_from_sockptr() match documentation
    007bdd7878f9 net: stmmac: dwmac-mediatek: Fix inverted handling of mediatek,mac-wol
    4ae7a3c30c32 samples: pktgen: correct dev to DEV
    789f9963bd03 net: sched: cls_u32: Fix u32's systematic failure to free IDR entries for hnodes.
    9fd5661af639 net/sched: cls_u32: replace int refcounts with proper refcounts
    a682b356eaf8 Bluetooth: btintel: Direct exception event to bluetooth stack
    fbc8cf85f6cc Bluetooth: hci_core: Fix calling mgmt_device_connected
    5b0888a87bce Revert "RDMA/core: Fix ENODEV error for iWARP test over vlan"
    897617a413e0 virtio/vsock: Fix accept_queue memory leak
    06dc488a5930 net/mlx5e: CT: Fix null-ptr-deref in add rule err flow
    2aa94921b072 net/mlx5e: clear xdp features on non-uplink representors
    93a14620b97c net/mlx5e: kTLS, Fix incorrect page refcounting
    094d1a2121ce net/mlx5: fs, lock FTE when checking if active
    ff825ab2f455 mptcp: cope racing subflow creation in mptcp_rcv_space_adjust
    a66805c9b22c mptcp: error out earlier on disconnect
    1e5305972969 drm/rockchip: vop: Fix a dereferenced before check warning
    fa8d2d141004 net: vertexcom: mse102x: Fix tx_bytes calculation
    ad975697211f sctp: fix possible UAF in sctp_v6_available()
    bbc769d2fa1b netlink: terminate outstanding dump on socket close
    18abb2787b53 x86/syscall: Mark exit[_group] syscall handlers __noreturn
    2879d995e569 pnmtologo: sync with 6.6
    43ea1c5e6eb3 lib/build_OID_registry: take -stable reproducibility changes
    35046aea43c8 bpftool: Fix undefined bpf macro for unix socket
    9a558d4b8621 tools/resolve_btfids: Fix comparison of distinct pointer types warning in resolve_btfids
    42b2eec2e503 bpftool: Query only cgroup-related attach types
    f71bb11887ba cpu/amd: inhibit SMP check for qemux86
    c31365597a17 powerpc/uaccess: Fix build errors seen with GCC 13/14
    64ebf485c56b usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
    7c76aad68f6d kselftest: Add a ksft_perror() helper
    06644f0d7193 drm/tilcdc: Set preferred depth
    ff7ae7b32324 crypto: jitter - add RCT/APT support for different OSRs
    50cd24ddb6f0 arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    58e5c91d6701 x86/alternatives: Disable interrupts and sync when optimizing NOPs in place
    c878fd2d4c79 x86/alternatives: Sync core before enabling interrupts
    c2d64b9f52b6 qemux86: add configuration symbol to select values
    630c33229e6d sched/isolation: really align nohz_full with rcu_nocbs
    0e5e0f68e2e6 clear_warn_once: add a clear_warn_once= boot parameter
    46934791b902 clear_warn_once: bind a timer to written reset value
    cdee9e38ff32 clear_warn_once: expand debugfs to include read support
    82b562b81841 tools: Remove some options from CLANG_CROSS_FLAGS
    36dc380b776b libbpf: Fix build warning on ref_ctr_off
    9e3e1fe20982 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    e497a4a5da65 perf: x86-32: explicitly include <errno.h>
    7b57ddd89565 perf: mips64: Convert __u64 to unsigned long long
    1cfc19423dc7 perf: fix bench numa compilation
    98bc2815fade perf: add SLANG_INC for slang.h
    17209a70b9b3 perf: add sgidefs.h to for mips builds
    9cd4258d910a perf: change --root to --prefix for python install
    8110a4f26628 perf: add 'libperl not found' warning
    bc89d5e08f77 perf: force include of <stdbool.h>
    4f6c760cc876 fat: Replace prandom_u32() with get_random_u32()
    bc53117b12b2 fat: don't use obsolete random32 call in namei_vfat
    30b2236ab378 FAT: Added FAT_NO_83NAME
    cef98d22b4ed FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    0bbd7daba9e1 FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    5883fc340084 aufs6: adapt to v6.6 i_op->ctime changes
    c4342d979bf2 aufs6: fix magic.mk include path
    35266bc2dc81 aufs6: adapt to v6.6
    8edede4e98be aufs6: core
    712248233ebe aufs6: standalone
    3b71a8a848d8 aufs6: mmap
    3e2924871f37 aufs6: base
    7f4907a93101 aufs6: kbuild
    d2f7b03e4aa7 yaffs2: update VFS ctime operations to 6.6+
    bcd6cfcd1aa0 yaffs2: v6.5 fixups
    cc615704b5f5 yaffs2: Fix miscalculation of devname buffer length
    8ef2e22dcf91 yaffs2: convert user_namespace to mnt_idmap
    c9c749f9f7d3 yaffs2: replace bdevname call with sprintf
    395b01cdc39d yaffs2: convert read_page -> readfolio
    d98b07e43ba6 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    613c6d50fdbe yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    622c4648936f yaffs2: v5.12+ build fixups (not runtime tested)
    7562133d4090 yaffs: include blkdev.h
    dbd44252cd59 yaffs: fix misplaced variable declaration
    c223a10b1ac0 yaffs2: v5.6 build fixups
    90f6007cfbf4 yaffs2: fix memory leak when /proc/yaffs is read
    37ee169c5ea1 yaffs: add strict check when call yaffs_internal_read_super
    b6e007b8abb6 yaffs: repair yaffs_get_mtd_device
    fb98f65a466a yaffs: Fix build failure by handling inode i_version with proper atomic API
    51e0aac75ea2 yaffs2: fix memory leak in mount/umount
    2b74a0cae7b0 yaffs: Avoid setting any ACL releated xattr
    ff4130a9c376 Yaffs:check oob size before auto selecting Yaffs1
    ba95b409c67c fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    8fa35eba9056 yaffs2: adjust to proper location of MS_RDONLY
    1eb5deaad8c4 yaffs2: import git revision b4ce1bb (jan, 2020)
    4dce67c1e8c8 initramfs: allow an optional wrapper script around initramfs generation
    2f603d83fcc4 pnmtologo: use relocatable file name
    664a6a0a484b tools: use basename to identify file in gen-mach-types
    9de64bc0c185 lib/build_OID_registry: fix reproducibility issues
    ae9b80797295 vt/conmakehash: improve reproducibility
    a972323151bd iwlwifi: select MAC80211_LEDS conditionally
    15d2adcc0198 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    5556a6c04b19 arm64/perf: Fix wrong cast that may cause wrong truncation
    5552dc768ffc defconfigs: drop obselete options
    00fe4152df31 arm64/perf: fix backtrace for AAPCS with FP enabled
    3888d0652edf linux-yocto: Handle /bin/awk issues
    3d55d299f23a uvesafb: provide option to specify timeout for task completion
    23c068c080be uvesafb: print error message when task timeout occurs
    edbfc939266e compiler.h: Undef before redefining __attribute_const__
    c99ae7e2a19a vmware: include jiffies.h
    572d84d928c8 Resolve jiffies wrapping about arp
    fdcd47cac843 nfs: Allow default io size to be configured.
    927d48801098 check console device file on fs when booting
    57cc27f821dd mount_root: clarify error messages for when no rootfs found
    1b53d82a8152 mconf: fix output of cflags and libraries
    1811da09f42c menuconfig,mconf-cfg: Allow specification of ncurses location
    83c2e0c6eb1f modpost: mask trivial warnings
    6de673039484 kbuild: exclude meta directory from distclean processing
    6decd32815f5 powerpc: serialize image targets
    f6b683b38318 arm: serialize build targets
    e798b09ebf57 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    dc8a1e5a88f8 x86_64_defconfig: Fix warnings
    68491e5f72b6 powerpc/ptrace: Disable array-bounds warning with gcc8
    d71ebfce3004 powerpc: Disable attribute-alias warnings from gcc8
    62f50884b8b1 powerpc: kexec fix for powerpc64
    da6871c62c37 powerpc: Add unwind information for SPE registers of E500 core
    f161c880c11d mips: make current_cpu_data preempt safe
    5e94a8247ce7 mips: vdso: fix 'jalr $t9' crash in vdso code
    19e36714b1c7 mips: Kconfig: add QEMUMIPS64 option
    e2e537db3cbd 4kc cache tlb hazard: tlbp cache coherency
    aee9870611e5 malta uhci quirks: make allowance for slow 4k(e)c
    881948cd1517 drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    98ec1963fcb7 arm64: defconfig: cleanup config options
    f1727c537ba8 vexpress: Pass LOADADDR to Makefile
    4474c32dc24a arm: ARM EABI socketcall
    75e31a2b70fd ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: 7e977a80c94e405d94668523852fc021f3e5e138)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f5136e72e011fc2b9ca67d7ecd1ac7603d235c7b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Bruce Ashfield
a2fcd6435b linux-yocto/6.6: bsp/genericarm64: disable ARM64_SME
Integrating the following commit(s) to linux-yocto/.:

1/1 [
    Author: Ross Burton
    Email: ross.burton@arm.com
    Subject: bsp/genericarm64: disable ARM64_SME
    Date: Thu, 21 Nov 2024 15:53:35 +0000

    From upstream:

        arm64: Kconfig: Make SME depend on BROKEN for now

        commit 81235ae0c846e1fb46a2c6fe9283fe2b2b24f7dc upstream.

        Although support for SME was merged in v5.19, we've since uncovered a
        number of issues with the implementation, including issues which might
        corrupt the FPSIMD/SVE/SME state of arbitrary tasks. While there are
        patches to address some of these issues, ongoing review has highlighted
        additional functional problems, and more time is necessary to analyse
        and fix these.

        For now, mark SME as BROKEN in the hope that we can fix things properly
        in the near future. As SME is an OPTIONAL part of ARMv9.2+, and there is
        very little extant hardware, this should not adversely affect the vast
        majority of users.

    Signed-off-by: Ross Burton <ross.burton@arm.com>
    Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]

(From OE-Core rev: 064488b0cc05ef0e31d6e7e85f48dcfc9ba6db72)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7ed7b6ad39bdab4e67acc7a5841b4519fd15a2dc)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Bruce Ashfield
b525de911a linux-yocto/6.6: update to v6.6.62
Updating linux-yocto/6.6 to the latest korg -stable release that comprises
the following commits:

    c1036e4f14d0 Linux 6.6.62
    9da3636a4880 9p: fix slab cache name creation for real
    fc4951c3e335 mm/thp: fix deferred split unqueue naming and locking
    eb6b6d3e1f1e mm: refactor folio_undo_large_rmappable()
    0275e4021b0c mm: always initialise folio->_deferred_list
    e8769509d622 mm: support order-1 folios in the page cache
    2ad2067e9ffc mm/readahead: do not allow order-1 folio
    bc8990235fb5 mm: add page_rmappable_folio() wrapper
    71548fada7ee mm: krealloc: Fix MTE false alarm in __do_krealloc
    950ac86cff33 io_uring: fix possible deadlock in io_register_iowq_max_workers()
    d5092b0a1aaf bpf: Check validity of link->type in bpf_link_show_fdinfo()
    9dcf69612453 net: usb: qmi_wwan: add Fibocom FG132 0x0112 composition
    f08621233573 ASoC: fsl_micfil: Add sample rate constraint
    f198c09fe2ca LoongArch: Use "Exception return address" to comment ERA
    4f885fa64983 ASoC: rt722-sdca: increase clk_stop_timeout to fix clock stop issue
    e01cac3d6284 RISCV: KVM: use raw_spinlock for critical section in imsic
    bff14c38ed51 HID: lenovo: Add support for Thinkpad X1 Tablet Gen 3 keyboard
    24e8cc49c03e HID: multitouch: Add quirk for Logitech Bolt receiver w/ Casa touchpad
    1cb5bfc5bfc6 fs: Fix uninitialized value issue in from_kuid and from_kgid
    ebf63d5c82e7 ASoC: amd: yc: Fix non-functional mic on ASUS E1404FA
    34ec7bcee3d8 ASoC: amd: yc: Add quirk for ASUS Vivobook S15 M3502RA
    77c523dfb053 bpf: Fix mismatched RCU unlock flavour in bpf_out_neigh_v6
    a078a480ff3f bpf: Add sk_is_inet and IS_ICSK check in tls_sw_has_ctx_tx/rx
    6fbf6ff7549e vDPA/ifcvf: Fix pci_read_config_byte() return code handling
    5a526388d0ac nvme/host: Fix RCU list traversal to use SRCU primitive
    e8c714941811 smb: client: Fix use-after-free of network namespace.
    1a1bcca5c9ef nvme: make keep-alive synchronous operation
    e4f9fffbb1dc nvme-loop: flush off pending I/O while shutting down loop controller
    dd5d32f74fc1 net: phy: mdio-bcm-unimac: Add BCM6846 support
    bee372110e69 powerpc/powernv: Free name on error in opal_event_init()
    4c332037fcbb drm/amdkfd: Accounting pdd vram_usage for svm
    4a57f42e5ed4 nvme-multipath: defer partition scanning
    3406bfc813a9 RDMA/siw: Add sendpage_ok() check to disable MSG_SPLICE_PAGES
    c6db3a111e2d drm/vmwgfx: Limit display layout ioctl array size to VMWGFX_NUM_DISPLAY_UNITS
    87791a733a3b sound: Make CONFIG_SND depend on INDIRECT_IOMEM instead of UML
    839c22a2134a crypto: marvell/cesa - Disable hash algorithms
    83394e7d9421 crypto: api - Fix liveliness check in crypto_alg_tested
    d22f177935dd bpf: use kvzmalloc to allocate BPF verifier environment
    e04e64805802 nvme: disable CC.CRIME (NVME_CC_CRIME)
    8902a5223962 iommu/arm-smmu: Clarify MMU-500 CPRE workaround
    ded2b3b2bc50 HID: multitouch: Add quirk for HONOR MagicBook Art 14 touchpad
    6e306b87c035 HID: multitouch: Add support for B2402FVA track point
    f49a9d86c4cd block: Fix elevator_get_default() checking for NULL q->tag_set
    975cb1d21215 nvme: tcp: avoid race between queue_lock lock and destroy
    4b3441089235 irqchip/ocelot: Fix trigger register address
    68ec5395bc24 selftests/bpf: Verify that sync_linked_regs preserves subreg_def
    0d6c0b3b6f3f 9p: Avoid creating multiple slab caches with the same name
    a63c78c3493c 9p: v9fs_fid_find: also lookup by inode if not found dentry
    f1ab3a1bcbbc Linux 6.6.61
    b110196fec44 vsock/virtio: Initialization of the dangling pointer occurring in vsk->trans
    4bdc5a62c6e5 hv_sock: Initializing vsk->trans to NULL to prevent a dangling pointer
    f7a08b2897da ASoC: amd: yc: fix internal mic on Xiaomi Book Pro 14 2022
    1e8f31656ac1 ucounts: fix counter leak in inc_rlimit_get_ucounts()
    dd73c942eed7 ocfs2: remove entry once instead of null-ptr-dereference in ocfs2_xa_remove()
    c8fe8c223297 irqchip/gic-v3: Force propagation of the active state with a read-back
    4fea315a9fd8 USB: serial: option: add Quectel RG650V
    836eefa7c7e1 USB: serial: option: add Fibocom FG132 0x0112 composition
    4ffcb9d7891c USB: serial: qcserial: add support for Sierra Wireless EM86xx
    13d6ff3ca760 USB: serial: io_edgeport: fix use after free in debug printk
    69e19774f15e usb: typec: fix potential out of bounds in ucsi_ccg_update_set_new_cam_cmd()
    35925e2b7b40 usb: typec: qcom-pmic: init value of hdr_len/txbuf_len earlier
    4abc5ee334fe usb: dwc3: fix fault at system suspend if device was already runtime suspended
    8a30da5aa960 usb: musb: sunxi: Fix accessing an released usb phy
    4877d9b2a2eb signal: restore the override_rlimit logic
    5b548fd0d298 fs/proc: fix compile warning about variable 'vmcore_mmap_ops'
    ef59a49a4b0b i2c: designware: do not hold SCL low when I2C_DYNAMIC_TAR_UPDATE is not set
    a2746ab3bbc9 filemap: Fix bounds checking in filemap_read()
    575a562f7a3e media: uvcvideo: Skip parsing frames of type UVC_VS_UNDEFINED in uvc_parse_format
    0186347f1605 Revert "selftests/bpf: Implement get_hw_ring_size function to retrieve current and max interface size"
    bb9982d77734 Revert "wifi: mac80211: fix RCU list iterations"
    6e62dab357ee riscv/purgatory: align riscv_kernel_entry
    f04be6d68f71 btrfs: reinitialize delayed ref list after deleting it from the list
    701fae8dce72 arm64: smccc: Remove broken support for SMCCCv1.3 SVE discard hint
    22aaaa7a1a73 arm64: Kconfig: Make SME depend on BROKEN for now
    51d11ea0250d arm64/sve: Discard stale CPU state when handling SVE traps
    30db2a648550 mptcp: use sock_kfree_s instead of kfree
    1325e838089d net: vertexcom: mse102x: Fix possible double free of TX skb
    20f4eb96afe2 net: wwan: t7xx: Fix off-by-one error in t7xx_dpmaif_rx_buf_alloc()
    f749cb60a01f nfs: Fix KMSAN warning in decode_getfattr_attrs()
    203003c4ff18 posix-cpu-timers: Clear TICK_DEP_BIT_POSIX_TIMER on clone
    e639fe493614 ALSA: usb-audio: Add quirk for HP 320 FHD Webcam
    edfae9d997c7 dm-unstriped: cast an operand to sector_t to prevent potential uint32_t overflow
    036dd6e3d263 dm cache: fix potential out-of-bounds access on the first resume
    53421c3c0ee0 dm cache: optimize dirty bit checking with find_next_bit when resizing
    e57648ce325f dm cache: fix out-of-bounds access to the dirty bitset when resizing
    8cc12dab6353 dm cache: fix flushing uninitialized delayed_work on cache_ctr error
    11d5a3f8427a dm cache: correct the number of origin blocks to match the target length
    1df8231f4e99 thermal/drivers/qcom/lmh: Remove false lockdep backtrace
    a613a3924175 drm/amdgpu: prevent NULL pointer dereference if ATIF is not supported
    3930715c1aef drm/amdgpu: Fix DPX valid mode check on GC 9.4.3
    e2574b57990d drm/amdgpu: Adjust debugfs register access permissions
    8906728f2fbd drm/amdgpu: add missing size check in amdgpu_debugfs_gprwave_read()
    5a8ae5fa576c drm/amdgpu: Adjust debugfs eviction and IB access permissions
    343fcd066c09 rpmsg: glink: Handle rejected intent request better
    767975d74952 pwm: imx-tpm: Use correct MODULO value for EPWM mode
    c6cdc08c25a8 ksmbd: fix slab-use-after-free in smb3_preauth_hash_rsp
    726c1568b914 ksmbd: Fix the missing xa_store error check
    1f993777275c ksmbd: check outstanding simultaneous SMB operations
    e923503a56b3 ksmbd: fix slab-use-after-free in ksmbd_smb2_session_create
    5ba7258ff028 can: mcp251xfd: mcp251xfd_ring_alloc(): fix coalescing configuration when switching CAN modes
    91017ba42df0 can: mcp251xfd: mcp251xfd_get_tef_len(): fix length calculation
    89d8048df70c can: m_can: m_can_close(): don't call free_irq() for IRQ-less devices
    32adcb833ecc media: v4l2-ctrls-api: fix error handling for v4l2_g_ctrl()
    2d0f01aa602f media: v4l2-tpg: prevent the risk of a division by zero
    4264e26a34e3 media: pulse8-cec: fix data timestamp at pulse8_setup()
    83c152b55d88 media: cx24116: prevent overflows on SNR calculus
    784bc785a453 media: s5p-jpeg: prevent buffer overflows
    a244b82d0ae6 media: ar0521: don't overflow when checking PLL values
    bd24d8337159 ASoC: SOF: sof-client-probes-ipc4: Set param_size extension bits
    23bdbd1ef3e0 ASoC: stm32: spdifrx: fix dma channel release in stm32_spdifrx_remove
    d3304dbc2d5f thermal/of: support thermal zones w/o trips subnode
    5f2d0b607c70 tools/lib/thermal: Fix sampling handler context ptr
    57a9e9d71d77 ALSA: firewire-lib: fix return value on fail in amdtp_tscm_init()
    a8ce18094f42 scsi: sd_zbc: Use kvzalloc() to allocate REPORT ZONES buffer
    b01f2230868b media: adv7604: prevent underflow condition when reporting colorspace
    492275748168 media: dvb_frontend: don't play tricks with underflow values
    1e461672616b media: dvbdev: prevent the risk of out of memory access
    c776231e3d0b media: stb0899_algo: initialize cfr before using it
    203d04968af0 Revert "ALSA: hda/conexant: Mute speakers at suspend / shutdown"
    1947143cb188 drivers: net: ionic: add missed debugfs cleanup to ionic_probe() error path
    996a7208dadb rxrpc: Fix missing locking causing hanging calls
    0012be71c55b net: arc: rockchip: fix emac mdio node support
    8ed7a4a39c3f net: arc: fix the device for dma_map_single/dma_unmap_single
    af0aa8aecbe8 virtio_net: Add hash_key_length check
    bfd05c68e4c6 netfilter: nf_tables: wait for rcu grace period on net_device removal
    825a80817cf1 netfilter: nf_tables: pass nft_chain to destroy function, not nft_ctx
    d122b259a717 netfilter: nf_tables: cleanup documentation
    b0a3c915529e net: stmmac: Fix unbalanced IRQ wake disable warning on single irq case
    421cf80e7dee net: phy: ti: add PHY_RST_AFTER_CLK_EN flag
    719edd9f3372 net: hns3: fix kernel crash when uninstalling driver
    4b0599a66614 e1000e: Remove Meteor Lake SMBUS workarounds
    bf5f837d9fd2 i40e: fix race condition by adding filter's intermediate sync state
    6103d401b1cf ice: change q_index variable type to s16 to store -1 value
    f32fc3becfc7 can: c_can: fix {rx,tx}_errors statistics
    ef0edfbe9eee net: enetc: allocate vf_state during PF probes
    d3fb3cc83cf3 sctp: properly validate chunk size in sctp_sf_ootb()
    345267bf3643 dt-bindings: net: xlnx,axi-ethernet: Correct phy-mode property value
    d4c52c6a2bd5 net: enetc: set MAC address to the VF net_device
    9b7c0405af66 regulator: rtq2208: Fix uninitialized use of regulator_config
    3e79ad156bed security/keys: fix slab-out-of-bounds in key_task_permission
    6173b0bfcea3 nfs: avoid i_lock contention in nfs_clear_invalid_mapping
    351f03398ba8 NFSv3: only use NFS timeout for MOUNT when protocols are compatible
    d428de979bb2 sunrpc: handle -ENOTCONN in xs_tcp_setup_socket()
    7a3ed3f12529 platform/x86/amd/pmc: Detect when STB is not available
    9d9f5c75c0c7 HID: core: zero-initialize the report buffer
    24a7ac9d3d1b arm64: dts: rockchip: Correct GPIO polarity on brcm BT nodes
    95106521c1d8 ARM: dts: rockchip: Fix the realtek audio codec on rk3036-kylin
    1a22d3723f48 ARM: dts: rockchip: Fix the spi controller on rk3036
    0f4e827100ad ARM: dts: rockchip: drop grf reference from rk3036 hdmi
    f3d09c233bea ARM: dts: rockchip: fix rk3036 acodec node
    6900713f93c8 arm64: dts: rockchip: remove orphaned pinctrl-names from pinephone pro
    15b17bbcea07 firmware: arm_scmi: Fix slab-use-after-free in scmi_bus_notifier()
    810615507942 arm64: dts: imx8mp: correct sdhc ipg clk
    5cfe9619ce8a arm64: dts: imx8-ss-vpu: Fix imx8qm VPU IRQs
    ad0a938050d3 arm64: dts: imx8qxp: Add VPU subsystem file
    f8181c545d0a arm64: dts: rockchip: remove num-slots property from rk3328-nanopi-r2s-plus
    e24351485d15 arm64: dts: rockchip: Fix LED triggers on rk3308-roc-cc
    d0beaf49abc7 arm64: dts: rockchip: Remove #cooling-cells from fan on Theobroma lion
    d09940e349f6 arm64: dts: rockchip: Remove undocumented supports-emmc property
    d0a08abbe182 arm64: dts: rockchip: Add DTS for FriendlyARM NanoPi R2S Plus
    87759aaaab5c arm64: dts: rockchip: Fix bluetooth properties on Rock960 boards
    55907bdf4858 arm64: dts: rockchip: Fix bluetooth properties on rk3566 box demo
    54d80a600051 arm64: dts: rockchip: fix i2c2 pinctrl-names property on anbernic-rg353p/v
    08e793866570 arm64: dts: rockchip: Fix reset-gpios property on brcm BT nodes
    4d580a57ec23 arm64: dts: rockchip: Fix wakeup prop names on PineNote BT node
    f1da910ee9a2 arm64: dts: rockchip: Remove hdmi's 2nd interrupt on rk3328
    771bd4dde450 arm64: dts: rockchip: Fix rt5651 compatible value on rk3399-sapphire-excavator
    27b69008d637 arm64: dts: rockchip: Fix rt5651 compatible value on rk3399-eaidk-610
    18abb2787b53 x86/syscall: Mark exit[_group] syscall handlers __noreturn
    2879d995e569 pnmtologo: sync with 6.6
    43ea1c5e6eb3 lib/build_OID_registry: take -stable reproducibility changes
    35046aea43c8 bpftool: Fix undefined bpf macro for unix socket
    9a558d4b8621 tools/resolve_btfids: Fix comparison of distinct pointer types warning in resolve_btfids
    42b2eec2e503 bpftool: Query only cgroup-related attach types
    f71bb11887ba cpu/amd: inhibit SMP check for qemux86
    c31365597a17 powerpc/uaccess: Fix build errors seen with GCC 13/14
    64ebf485c56b usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
    7c76aad68f6d kselftest: Add a ksft_perror() helper
    06644f0d7193 drm/tilcdc: Set preferred depth
    ff7ae7b32324 crypto: jitter - add RCT/APT support for different OSRs
    50cd24ddb6f0 arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    58e5c91d6701 x86/alternatives: Disable interrupts and sync when optimizing NOPs in place
    c878fd2d4c79 x86/alternatives: Sync core before enabling interrupts
    c2d64b9f52b6 qemux86: add configuration symbol to select values
    630c33229e6d sched/isolation: really align nohz_full with rcu_nocbs
    0e5e0f68e2e6 clear_warn_once: add a clear_warn_once= boot parameter
    46934791b902 clear_warn_once: bind a timer to written reset value
    cdee9e38ff32 clear_warn_once: expand debugfs to include read support
    82b562b81841 tools: Remove some options from CLANG_CROSS_FLAGS
    36dc380b776b libbpf: Fix build warning on ref_ctr_off
    9e3e1fe20982 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    e497a4a5da65 perf: x86-32: explicitly include <errno.h>
    7b57ddd89565 perf: mips64: Convert __u64 to unsigned long long
    1cfc19423dc7 perf: fix bench numa compilation
    98bc2815fade perf: add SLANG_INC for slang.h
    17209a70b9b3 perf: add sgidefs.h to for mips builds
    9cd4258d910a perf: change --root to --prefix for python install
    8110a4f26628 perf: add 'libperl not found' warning
    bc89d5e08f77 perf: force include of <stdbool.h>
    4f6c760cc876 fat: Replace prandom_u32() with get_random_u32()
    bc53117b12b2 fat: don't use obsolete random32 call in namei_vfat
    30b2236ab378 FAT: Added FAT_NO_83NAME
    cef98d22b4ed FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    0bbd7daba9e1 FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    5883fc340084 aufs6: adapt to v6.6 i_op->ctime changes
    c4342d979bf2 aufs6: fix magic.mk include path
    35266bc2dc81 aufs6: adapt to v6.6
    8edede4e98be aufs6: core
    712248233ebe aufs6: standalone
    3b71a8a848d8 aufs6: mmap
    3e2924871f37 aufs6: base
    7f4907a93101 aufs6: kbuild
    d2f7b03e4aa7 yaffs2: update VFS ctime operations to 6.6+
    bcd6cfcd1aa0 yaffs2: v6.5 fixups
    cc615704b5f5 yaffs2: Fix miscalculation of devname buffer length
    8ef2e22dcf91 yaffs2: convert user_namespace to mnt_idmap
    c9c749f9f7d3 yaffs2: replace bdevname call with sprintf
    395b01cdc39d yaffs2: convert read_page -> readfolio
    d98b07e43ba6 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    613c6d50fdbe yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    622c4648936f yaffs2: v5.12+ build fixups (not runtime tested)
    7562133d4090 yaffs: include blkdev.h
    dbd44252cd59 yaffs: fix misplaced variable declaration
    c223a10b1ac0 yaffs2: v5.6 build fixups
    90f6007cfbf4 yaffs2: fix memory leak when /proc/yaffs is read
    37ee169c5ea1 yaffs: add strict check when call yaffs_internal_read_super
    b6e007b8abb6 yaffs: repair yaffs_get_mtd_device
    fb98f65a466a yaffs: Fix build failure by handling inode i_version with proper atomic API
    51e0aac75ea2 yaffs2: fix memory leak in mount/umount
    2b74a0cae7b0 yaffs: Avoid setting any ACL releated xattr
    ff4130a9c376 Yaffs:check oob size before auto selecting Yaffs1
    ba95b409c67c fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    8fa35eba9056 yaffs2: adjust to proper location of MS_RDONLY
    1eb5deaad8c4 yaffs2: import git revision b4ce1bb (jan, 2020)
    4dce67c1e8c8 initramfs: allow an optional wrapper script around initramfs generation
    2f603d83fcc4 pnmtologo: use relocatable file name
    664a6a0a484b tools: use basename to identify file in gen-mach-types
    9de64bc0c185 lib/build_OID_registry: fix reproducibility issues
    ae9b80797295 vt/conmakehash: improve reproducibility
    a972323151bd iwlwifi: select MAC80211_LEDS conditionally
    15d2adcc0198 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    5556a6c04b19 arm64/perf: Fix wrong cast that may cause wrong truncation
    5552dc768ffc defconfigs: drop obselete options
    00fe4152df31 arm64/perf: fix backtrace for AAPCS with FP enabled
    3888d0652edf linux-yocto: Handle /bin/awk issues
    3d55d299f23a uvesafb: provide option to specify timeout for task completion
    23c068c080be uvesafb: print error message when task timeout occurs
    edbfc939266e compiler.h: Undef before redefining __attribute_const__
    c99ae7e2a19a vmware: include jiffies.h
    572d84d928c8 Resolve jiffies wrapping about arp
    fdcd47cac843 nfs: Allow default io size to be configured.
    927d48801098 check console device file on fs when booting
    57cc27f821dd mount_root: clarify error messages for when no rootfs found
    1b53d82a8152 mconf: fix output of cflags and libraries
    1811da09f42c menuconfig,mconf-cfg: Allow specification of ncurses location
    83c2e0c6eb1f modpost: mask trivial warnings
    6de673039484 kbuild: exclude meta directory from distclean processing
    6decd32815f5 powerpc: serialize image targets
    f6b683b38318 arm: serialize build targets
    e798b09ebf57 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    dc8a1e5a88f8 x86_64_defconfig: Fix warnings
    68491e5f72b6 powerpc/ptrace: Disable array-bounds warning with gcc8
    d71ebfce3004 powerpc: Disable attribute-alias warnings from gcc8
    62f50884b8b1 powerpc: kexec fix for powerpc64
    da6871c62c37 powerpc: Add unwind information for SPE registers of E500 core
    f161c880c11d mips: make current_cpu_data preempt safe
    5e94a8247ce7 mips: vdso: fix 'jalr $t9' crash in vdso code
    19e36714b1c7 mips: Kconfig: add QEMUMIPS64 option
    e2e537db3cbd 4kc cache tlb hazard: tlbp cache coherency
    aee9870611e5 malta uhci quirks: make allowance for slow 4k(e)c
    881948cd1517 drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    98ec1963fcb7 arm64: defconfig: cleanup config options
    f1727c537ba8 vexpress: Pass LOADADDR to Makefile
    4474c32dc24a arm: ARM EABI socketcall
    75e31a2b70fd ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: fba212764a0157f2a2460865efac3e64c1ea3fb0)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 83dc33ac568e1320e1f675eaaa5e3b75dae26733)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Bruce Ashfield
4a640b82c9 linux-yocto/6.6: update to v6.6.60
Updating linux-yocto/6.6 to the latest korg -stable release that comprises
the following commits:

    9b5aad3a7498c Linux 6.6.60
    cc082e50375a2 fs/ntfs3: Sequential field availability check in mi_enum_attr()
    10c20d79d59ca drm/amd/display: Add null checks for 'stream' and 'plane' before dereferencing
    e979a6a626abf ASoC: SOF: ipc4-control: Add support for ALSA enum control
    3facc0417d3d7 ASoC: SOF: ipc4-control: Add support for ALSA switch control
    f01d8fc623711 ASoC: SOF: ipc4-topology: Add definition for generic switch/enum control
    d54afaef6570c SUNRPC: Remove BUG_ON call sites
    27a58a19bd20a mtd: spi-nor: winbond: fix w25q128 regression
    3d544942c0010 mm: don't install PMD mappings when THPs are disabled by the hw/process/vma
    02ec4b3bba49e mm: huge_memory: add vma_thp_disabled() and thp_disabled_by_hw()
    fc621e7a043de wifi: iwlwifi: mvm: fix 6 GHz scan construction
    f2f1fa446676c nilfs2: fix kernel bug due to missing clearing of checked flag
    a53c2d847627b wifi: mac80211: fix NULL dereference at band check in starting tx ba session
    6a91a5816b289 io_uring: always lock __io_cqring_overflow_flush
    e3fb0e6afcc39 arm64: dts: imx8ulp: correct the flexspi compatible string
    1a49b96c51063 vmscan,migrate: fix page count imbalance on node stats when demoting pages
    003d2996964c0 io_uring/rw: fix missing NOWAIT check for O_DIRECT start write
    70bbe8d0a9494 kasan: remove vmalloc_percpu test
    c60af16e1d6cc nvmet-auth: assign dh_key to NULL after kfree_sensitive
    4a39320977f9c ALSA: hda/realtek: Fix headset mic on TUXEDO Stellaris 16 Gen6 mb1
    b42adef85aca7 ALSA: hda/realtek: Fix headset mic on TUXEDO Gemini 17 Gen3
    77ddc732416b0 xfs: fix finding a last resort AG in xfs_filestream_pick_ag
    8e886e44397ba mctp i2c: handle NULL header address
    88f97a4b5843c ocfs2: pass u64 to ocfs2_truncate_inline maybe overflow
    c117a980185ee x86/traps: move kmsan check after instrumentation_begin
    86ee1845cbbf5 x86/traps: Enable UBSAN traps on x86
    b958948ae1cb3 mm/page_alloc: let GFP_ATOMIC order-0 allocs access highatomic reserves
    4882a352b5df8 mei: use kvmalloc for read buffer
    cb8b81ad3e893 mptcp: init: protect sched with rcu_read_lock
    4f7ffa83fa79d iov_iter: fix copy_page_from_iter_atomic() if KMAP_LOCAL_FORCE_MAP
    ade91f6e9848b sched/numa: Fix the potential null pointer dereference in task_numa_work()
    8c9a1ec39c698 cxl/acpi: Ensure ports ready at cxl_acpi_probe() return
    a9ed67f39f888 cxl/port: Fix cxl_bus_rescan() vs bus_rescan_devices()
    d210bc87cc4fd riscv: Remove duplicated GET_RM
    6d84e1b2e5ac0 riscv: Remove unused GENERATING_ASM_OFFSETS
    a63ba17207c50 riscv: Use '%u' to format the output of 'cpu'
    909e71f28e961 riscv: efi: Set NX compat flag in PE/COFF header
    58e78589ade88 ALSA: hda/realtek: Limit internal Mic boost on Dell platform
    ceec8ad09135c Input: edt-ft5x06 - fix regmap leak when probe fails
    c19a0c171d37f riscv: vdso: Prevent the compiler from inserting calls to memset()
    e79c1f1c9100b spi: spi-fsl-dspi: Fix crash when not using GPIO chip select
    163e6323799bd phy: freescale: imx8m-pcie: Do CMN_RST just before PHY PLL lock check
    0d86cd70fc6a7 cgroup/bpf: use a dedicated workqueue for cgroup bpf destruction
    b3c301b859c4a block: fix sanity checks in blk_rq_map_user_bvec
    0fc87887dcb3a mmc: sdhci-pci-gli: GL9767: Fix low power mode in the SD Express process
    4159cd6ab5cfe mmc: sdhci-pci-gli: GL9767: Fix low power mode on the set clock function
    8e1b52c15c811 cxl/port: Fix use-after-free, permit out-of-order decoder shutdown
    8cd25f1fce6b8 thunderbolt: Honor TMU requirements in the domain when setting TMU mode
    9523a0268924a tools/mm: -Werror fixes in page-types/slabinfo
    edd1f90505068 mm: shmem: fix data-race in shmem_getattr()
    b6f95df4f7af6 RISC-V: ACPI: fix early_ioremap to early_memremap
    1246d86e7bbde nilfs2: fix potential deadlock with newly created symlinks
    1a797936d3468 iio: light: veml6030: fix microlux value calculation
    38d6e8be234d8 iio: gts-helper: Fix memory leaks in iio_gts_build_avail_scale_table()
    62c1189668312 iio: gts-helper: Fix memory leaks for the error path of iio_gts_build_avail_scale_table()
    3dc0eda2cd5c6 iio: adc: ad7124: fix division by zero in ad7124_set_channel_odr()
    adfbc08b94e7d staging: iio: frequency: ad9832: fix division by zero in ad9832_calc_freqreg()
    cedf0f1db8d5f wifi: iwlegacy: Clear stale interrupts before resuming device
    6c44abb2d4c32 wifi: cfg80211: clear wdev->cqm_config pointer on free
    5f5a939759c79 wifi: ath10k: Fix memory leak in management tx
    ee35c423042c9 wifi: mac80211: do not pass a stopped vif to the driver in .get_txpower
    0b9be24679358 Revert "selftests/mm: replace atomic_bool with pthread_barrier_t"
    1fe6799ee9b5f Revert "selftests/mm: fix deadlock for fork after pthread_create on ARM"
    fd28d95894609 Revert "driver core: Fix uevent_show() vs driver detach race"
    a762d0fc17df2 xhci: Use pm_runtime_get to prevent RPM on unsupported systems
    809dd30ee9011 xhci: Fix Link TRB DMA in command ring stopped completion event
    7e8066811a2c4 phy: qcom: qmp-usb-legacy: fix NULL-deref on runtime suspend
    370814e9d512b phy: qcom: qmp-usb: fix NULL-deref on runtime suspend
    e8180a4b1cf93 usb: typec: qcom-pmic-typec: use fwnode_handle_put() to release fwnodes
    558650b18f090 usb: typec: fix unreleased fwnode_handle in typec_port_register_altmodes()
    cd205590599a3 usb: phy: Fix API devm_usb_put_phy() can not release the phy
    53e0684f3093b usbip: tools: Fix detach_port() invalid port error path
    aa03c31a001ac ALSA: usb-audio: Add quirks for Dell WD19 dock
    b3b2431ed27f4 rcu-tasks: Fix access non-existent percpu rtpcp variable in rcu_tasks_need_gpcb()
    7679283e61a8b rcu-tasks: Initialize data to eliminate RCU-tasks/do_exit() deadlocks
    dc5d4d4c12246 rcu-tasks: Add data to eliminate RCU-tasks/do_exit() deadlocks
    01a2b99ffcca8 rcu-tasks: Pull sampling of ->percpu_dequeue_lim out of loop
    7d85884576a3b USB: gadget: dummy-hcd: Fix "task hung" problem
    e028b82aba882 usb: gadget: dummy_hcd: execute hrtimer callback in softirq context
    365a13cf5baa6 usb: gadget: dummy_hcd: Set transfer interval to 1 microframe
    4a4cb56556124 usb: gadget: dummy_hcd: Switch to hrtimer transfer scheduler
    f6568620246d2 misc: sgi-gru: Don't disable preemption in GRU driver
    fe8cb9fac9793 NFS: remove revoked delegation from server's delegation list
    cc0ff7495e41b net: amd: mvme147: Fix probe banner message
    715db716a9f83 thermal: intel: int340x: processor: Add MMIO RAPL PL4 support
    56029f1bc3f1f thermal: intel: int340x: processor: Remove MMIO RAPL CPU hotplug support
    34c0344e7eac5 cifs: Fix creating native symlinks pointing to current or parent directory
    201430d21faab cifs: Improve creating native symlinks pointing to directory
    45eaaa13dd91d scsi: scsi_transport_fc: Allow setting rport state to current state
    550ef40fa6366 fs/ntfs3: Additional check in ntfs_file_release
    68b39c0765de7 fs/ntfs3: Fix general protection fault in run_is_mapped_full
    7a4ace681dbb6 fs/ntfs3: Additional check in ni_clear()
    34e3220efd666 fs/ntfs3: Fix possible deadlock in mi_read
    e91fbb21f248b fs/ntfs3: Add rough attr alloc_size check
    898c8795ec492 fs/ntfs3: Stale inode instead of bad
    84d363dbcfabc fs/ntfs3: Fix warning possible deadlock in ntfs_set_state
    5f21e3e60982c fs/ntfs3: Check if more than chunk-size bytes are written
    22cdf3be7d34f ntfs3: Add bounds checking to mi_enum_attr()
    3c73746c222a7 cxl/events: Fix Trace DRAM Event Record
    7013af5bbd281 smb: client: set correct device number on nfs reparse points
    bbc258dcdbfe5 smb: client: fix parsing of device numbers
    0eb2b767c42fa ACPI: CPPC: Make rmw_lock a raw_spin_lock
    790dc90b96481 afs: Fix missing subdir edit when renamed between parent dirs
    243d2506e7eb0 afs: Automatically generate trace tag enums
    a6fd78620f25a firmware: arm_sdei: Fix the input parameter of cpuhp_remove_state()
    2e4eb1866990e kasan: Fix Software Tag-Based KASAN with GCC
    4c3575787e988 iomap: turn iomap_want_unshare_iter into an inline function
    9bc18bb476e50 fsdax: dax_unshare_iter needs to copy entire blocks
    35adbe088888a fsdax: remove zeroing code from dax_unshare_iter
    451b0a27ca6a7 iomap: share iomap_unshare_iter predicate code with fsdax
    3c06d13ec80be iomap: don't bother unsharing delalloc extents
    61ada9422009e iomap: improve shared block detection in iomap_unshare_iter
    d4d5767c53581 bpf, test_run: Fix LIVE_FRAME frame update after a page has been recycled
    0ab3be58b45b9 netfilter: nft_payload: sanitize offset and length before calling skb_checksum()
    31384aa2ad05c mlxsw: spectrum_ipip: Fix memory leak when changing remote IPv6 address
    598f95742fdc6 mlxsw: spectrum_ptp: Add missing verification before pushing Tx header
    c69bc67c1cb21 net: skip offload for NETIF_F_IPV6_CSUM if ipv6 header contains extension
    1f1764466c33a Bluetooth: hci: fix null-ptr-deref in hci_read_supported_codecs
    fef63832317d9 netfilter: nf_reject_ipv6: fix potential crash in nf_send_reset6()
    6a1f088f9807f netfilter: Fix use-after-free in get_info()
    ac5977001eee7 net: fix crash when config small gso_max_size/gso_ipv4_max_size
    90a6e0e1e151e bpf: Fix out-of-bounds write in trie_get_next_key()
    6a604877160fe netdevsim: Add trailing zero to terminate the string in nsim_nexthop_bucket_activity_write()
    e20459b5f658b bpf: Force checkpoint when jmp history is too long
    bef1f6beae90f selftests/bpf: Add bpf_percpu_obj_{new,drop}() macro in bpf_experimental.h
    597cf9748c347 net/sched: stop qdisc_tree_reduce_backlog on TC_H_ROOT
    42097a9dcaee3 gtp: allow -1 to be specified as file description from userspace
    699b48fc31727 ipv4: ip_tunnel: Fix suspicious RCU usage warning in ip_tunnel_init_flow()
    07c9c26e37542 net: stmmac: TSO: Fix unbalanced DMA map/unmap for non-paged SKB data
    bf6b2cd3c55de net: stmmac: dwmac4: Fix high address display by updating reg_space[] from register values
    9f5ae743dbe9a macsec: Fix use-after-free while sending the offloading packet
    b33b410597ebe ASoC: cs42l51: Fix some error handling paths in cs42l51_probe()
    fa078b39e3f1b wifi: iwlwifi: mvm: don't add default link in fw restart flow
    3eb986c64c6bf wifi: iwlwifi: mvm: Fix response handling in iwl_mvm_send_recovery_cmd()
    3b01b9985a543 wifi: iwlwifi: mvm: disconnect station vifs if recovery failed
    148f6af754781 RDMA/bnxt_re: synchronize the qp-handle table array
    16dbff3e8d195 RDMA/bnxt_re: Fix the usage of control path spin locks
    8636072c21e39 RDMA/mlx5: Round max_rd_atomic/max_dest_rd_atomic up instead of down
    e9c62661a0697 RDMA/cxgb4: Dump vendor specific QP details
    0a59445e2cdf3 wifi: brcm80211: BRCM_TRACING should depend on TRACING
    9b5c89acc8e99 wifi: ath11k: Fix invalid ring usage in full monitor mode
    189f1bfc5c84e wifi: mac80211: skip non-uploaded keys in ieee80211_iter_keys
    021693dad10a2 mac80211: MAC80211_MESSAGE_TRACING should depend on TRACING
    5db6e193c4ca0 wifi: iwlegacy: Fix "field-spanning write" warning in il_enqueue_hcmd()
    9cfab1f3d425c spi: geni-qcom: Fix boot warning related to pm_runtime and devres
    fb384669cb8c2 cgroup: Fix potential overflow issue when checking max_depth
    73ca1c70b8b7f Input: xpad - add support for 8BitDo Ultimate 2C Wireless Controller
    403777d303399 Input: xpad - sort xpad_device by vendor and product ID
    eabe285e1c629 thermal: core: Free tzp copy along with the thermal zone
    3eb073abba327 thermal: core: Rework thermal zone availability check
    a95a9e3089d56 thermal: core: Make thermal_zone_device_unregister() return after freeing the zone
    18abb2787b536 x86/syscall: Mark exit[_group] syscall handlers __noreturn
    2879d995e5697 pnmtologo: sync with 6.6
    43ea1c5e6eb3c lib/build_OID_registry: take -stable reproducibility changes
    35046aea43c85 bpftool: Fix undefined bpf macro for unix socket
    9a558d4b86219 tools/resolve_btfids: Fix comparison of distinct pointer types warning in resolve_btfids
    42b2eec2e5039 bpftool: Query only cgroup-related attach types
    f71bb11887bae cpu/amd: inhibit SMP check for qemux86
    c31365597a17b powerpc/uaccess: Fix build errors seen with GCC 13/14
    64ebf485c56b5 usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
    7c76aad68f6d1 kselftest: Add a ksft_perror() helper
    06644f0d7193d drm/tilcdc: Set preferred depth
    ff7ae7b323242 crypto: jitter - add RCT/APT support for different OSRs
    50cd24ddb6f0b arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    58e5c91d6701f x86/alternatives: Disable interrupts and sync when optimizing NOPs in place
    c878fd2d4c793 x86/alternatives: Sync core before enabling interrupts
    c2d64b9f52b6e qemux86: add configuration symbol to select values
    630c33229e6d5 sched/isolation: really align nohz_full with rcu_nocbs
    0e5e0f68e2e6e clear_warn_once: add a clear_warn_once= boot parameter
    46934791b9026 clear_warn_once: bind a timer to written reset value
    cdee9e38ff324 clear_warn_once: expand debugfs to include read support
    82b562b818419 tools: Remove some options from CLANG_CROSS_FLAGS
    36dc380b776b1 libbpf: Fix build warning on ref_ctr_off
    9e3e1fe209827 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    e497a4a5da65b perf: x86-32: explicitly include <errno.h>
    7b57ddd89565b perf: mips64: Convert __u64 to unsigned long long
    1cfc19423dc7f perf: fix bench numa compilation
    98bc2815fade4 perf: add SLANG_INC for slang.h
    17209a70b9b39 perf: add sgidefs.h to for mips builds
    9cd4258d910af perf: change --root to --prefix for python install
    8110a4f266284 perf: add 'libperl not found' warning
    bc89d5e08f773 perf: force include of <stdbool.h>
    4f6c760cc876a fat: Replace prandom_u32() with get_random_u32()
    bc53117b12b21 fat: don't use obsolete random32 call in namei_vfat
    30b2236ab3786 FAT: Added FAT_NO_83NAME
    cef98d22b4edf FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    0bbd7daba9e1b FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    5883fc340084a aufs6: adapt to v6.6 i_op->ctime changes
    c4342d979bf21 aufs6: fix magic.mk include path
    35266bc2dc81a aufs6: adapt to v6.6
    8edede4e98be1 aufs6: core
    712248233ebe1 aufs6: standalone
    3b71a8a848d8b aufs6: mmap
    3e2924871f371 aufs6: base
    7f4907a931016 aufs6: kbuild
    d2f7b03e4aa77 yaffs2: update VFS ctime operations to 6.6+
    bcd6cfcd1aa04 yaffs2: v6.5 fixups
    cc615704b5f54 yaffs2: Fix miscalculation of devname buffer length
    8ef2e22dcf913 yaffs2: convert user_namespace to mnt_idmap
    c9c749f9f7d34 yaffs2: replace bdevname call with sprintf
    395b01cdc39d1 yaffs2: convert read_page -> readfolio
    d98b07e43ba61 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    613c6d50fdbe8 yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    622c4648936f3 yaffs2: v5.12+ build fixups (not runtime tested)
    7562133d4090b yaffs: include blkdev.h
    dbd44252cd592 yaffs: fix misplaced variable declaration
    c223a10b1ac08 yaffs2: v5.6 build fixups
    90f6007cfbf41 yaffs2: fix memory leak when /proc/yaffs is read
    37ee169c5ea10 yaffs: add strict check when call yaffs_internal_read_super
    b6e007b8abb6e yaffs: repair yaffs_get_mtd_device
    fb98f65a466a7 yaffs: Fix build failure by handling inode i_version with proper atomic API
    51e0aac75ea27 yaffs2: fix memory leak in mount/umount
    2b74a0cae7b0b yaffs: Avoid setting any ACL releated xattr
    ff4130a9c3766 Yaffs:check oob size before auto selecting Yaffs1
    ba95b409c67cd fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    8fa35eba90565 yaffs2: adjust to proper location of MS_RDONLY
    1eb5deaad8c4a yaffs2: import git revision b4ce1bb (jan, 2020)
    4dce67c1e8c8b initramfs: allow an optional wrapper script around initramfs generation
    2f603d83fcc4d pnmtologo: use relocatable file name
    664a6a0a484ba tools: use basename to identify file in gen-mach-types
    9de64bc0c1857 lib/build_OID_registry: fix reproducibility issues
    ae9b80797295a vt/conmakehash: improve reproducibility
    a972323151bdd iwlwifi: select MAC80211_LEDS conditionally
    15d2adcc01984 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    5556a6c04b197 arm64/perf: Fix wrong cast that may cause wrong truncation
    5552dc768ffcd defconfigs: drop obselete options
    00fe4152df313 arm64/perf: fix backtrace for AAPCS with FP enabled
    3888d0652edf1 linux-yocto: Handle /bin/awk issues
    3d55d299f23a7 uvesafb: provide option to specify timeout for task completion
    23c068c080bea uvesafb: print error message when task timeout occurs
    edbfc939266ec compiler.h: Undef before redefining __attribute_const__
    c99ae7e2a19ab vmware: include jiffies.h
    572d84d928c87 Resolve jiffies wrapping about arp
    fdcd47cac8435 nfs: Allow default io size to be configured.
    927d488010984 check console device file on fs when booting
    57cc27f821ddf mount_root: clarify error messages for when no rootfs found
    1b53d82a81528 mconf: fix output of cflags and libraries
    1811da09f42ca menuconfig,mconf-cfg: Allow specification of ncurses location
    83c2e0c6eb1f3 modpost: mask trivial warnings
    6de6730394846 kbuild: exclude meta directory from distclean processing
    6decd32815f53 powerpc: serialize image targets
    f6b683b38318c arm: serialize build targets
    e798b09ebf572 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    dc8a1e5a88f86 x86_64_defconfig: Fix warnings
    68491e5f72b61 powerpc/ptrace: Disable array-bounds warning with gcc8
    d71ebfce30048 powerpc: Disable attribute-alias warnings from gcc8
    62f50884b8b18 powerpc: kexec fix for powerpc64
    da6871c62c371 powerpc: Add unwind information for SPE registers of E500 core
    f161c880c11de mips: make current_cpu_data preempt safe
    5e94a8247ce7f mips: vdso: fix 'jalr $t9' crash in vdso code
    19e36714b1c7f mips: Kconfig: add QEMUMIPS64 option
    e2e537db3cbdc 4kc cache tlb hazard: tlbp cache coherency
    aee9870611e5d malta uhci quirks: make allowance for slow 4k(e)c
    881948cd15176 drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    98ec1963fcb7a arm64: defconfig: cleanup config options
    f1727c537ba8d vexpress: Pass LOADADDR to Makefile
    4474c32dc24a4 arm: ARM EABI socketcall
    75e31a2b70fd3 ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: e05e2377a17fca93ad35630f6cd33f6a33873986)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d8c3c6dab1b4993c7f122dac86ca9c1a5640245e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Bruce Ashfield
20d890ecf7 linux-yocto/6.6: update to v6.6.59
Updating linux-yocto/6.6 to the latest korg -stable release that comprises
the following commits:

    bf3af7e92bda Linux 6.6.59
    7d9868180bd1 xfrm: validate new SA's prefixlen using SA family when sel.family is unset
    7a26cb660775 task_work: make TWA_NMI_CURRENT handling conditional on IRQ_WORK
    81507f633e79 tracing: probes: Fix to zero initialize a local variable
    042804a9fff1 RDMA/bnxt_re: Fix unconditional fence for newer adapters
    67819f10702b RDMA/bnxt_re: Avoid creating fence MR for newer adapters
    1aee34ed99e9 RDMA/bnxt_re: Fix the offset for GenP7 adapters for user applications
    38ca6fd426ea ACPI: PRM: Clean up guid type in struct prm_handler_info
    d1e55eeee056 platform/x86: dell-wmi: Ignore suspend notifications
    73cc3f905ca9 ASoC: qcom: Fix NULL Dereference in asoc_qcom_lpass_cpu_platform_probe()
    24f638125cc3 ata: libata: Set DID_TIME_OUT for commands that actually timed out
    ce4a70d9b916 net: phy: dp83822: Fix reset pin definitions
    4512c448f54c selinux: improve error checking in sel_write_load()
    c79e0a18e4b3 drm/amd/display: Disable PSR-SU on Parade 08-01 TCON too
    62c85b9a0dd7 hv_netvsc: Fix VF namespace also in synthetic NIC NETDEV_REGISTER event
    c73bca72b84b xfrm: fix one more kernel-infoleak in algo dumping
    36bd0f386b7c LoongArch: Make KASAN usable for variable cpu_vabits
    8915ed160dbd LoongArch: Enable IRQ if do_ale() triggered in irq-enabled context
    cd2cef731170 LoongArch: Get correct cores_per_package for SMT systems
    5d10f6fb2cb7 ALSA: hda/realtek: Add subwoofer quirk for Acer Predator G9-593
    0d674f2e73b4 ALSA: hda/tas2781: select CRC32 instead of CRC32_SARWATE
    60a5ba560f29 x86/lam: Disable ADDRESS_MASKING in most cases
    599eee0e9817 KVM: arm64: Don't eagerly teardown the vgic on init error
    04ed2ba07ce7 KVM: arm64: Fix shift-out-of-bounds bug
    2c4adc9b192a KVM: nSVM: Ignore nCR3[4:0] when loading PDPTEs from memory
    f421a3b18aa7 openat2: explicitly return -E2BIG for (usize > PAGE_SIZE)
    743c78d455e7 nilfs2: fix kernel bug due to missing clearing of buffer delay flag
    a299d415dd37 ACPI: button: Add DMI quirk for Samsung Galaxy Book2 to fix initial lid detection issue
    795b080d9aa1 ACPI: PRM: Find EFI_MEMORY_RUNTIME block for PRM handler and context
    bdaab141edb6 ACPI: resource: Add LG 16T90SP to irq1_level_low_skip_override[]
    975ede2a7bec drm/amd: Guard against bad data for ATIF ACPI method
    004ad1a2d684 btrfs: zoned: fix zone unusable accounting for freed reserved extent
    3521754614cf btrfs: fix passing 0 to ERR_PTR in btrfs_search_dir_index_item()
    2f2684c7903e cpufreq: CPPC: fix perf_to_khz/khz_to_perf conversion exception
    33e89c16cea0 cpufreq/cppc: Move and rename cppc_cpufreq_{perf_to_khz|khz_to_perf}()
    35dbac8c328d smb: client: Handle kstrdup failures for passwords
    66921a4d8e84 ALSA: hda/realtek: Update default depop procedure
    f965dc0f099a nfsd: cancel nfsd_shrinker_work using sync mode in nfs4_state_shutdown_net
    5f0468f30c8f powercap: dtpm_devfreq: Fix error check against dev_pm_qos_add_request()
    4bdc21506f12 ALSA: firewire-lib: Avoid division by zero in apply_constraint_to_size()
    8b339beb7cfe ASoC: fsl_micfil: Add a flag to distinguish with different volume control types
    f9ba85f823e7 ASoC: rsnd: Fix probe failure on HiHope boards due to endpoint parsing
    83a420e965f6 ASoC: max98388: Fix missing increment of variable slot_found
    6e4aed4acc1a ASoC: loongson: Fix component check failed on FDT systems
    f10cba3f761b ASoC: dt-bindings: davinci-mcasp: Fix interrupt properties
    5e3583b4c000 ASoC: dt-bindings: davinci-mcasp: Fix interrupts property
    773dc610ca64 net: dsa: mv88e6xxx: support 4000ps cycle counter period
    06b1c8091542 net: dsa: mv88e6xxx: read cycle counter period from hardware
    4dc655d86b54 net: dsa: mv88e6xxx: group cycle counter coefficients
    21db2f35fa97 bpf,perf: Fix perf_event_detach_bpf_prog error handling
    14bcb721d241 Bluetooth: ISO: Fix UAF on iso_sock_timeout
    d30803f6a972 Bluetooth: SCO: Fix UAF on sco_sock_timeout
    1ba33b327c3f posix-clock: posix-clock: Fix unbalanced locking in pc_clock_settime()
    7d6d46b42980 r8169: avoid unsolicited interrupts
    5d282467245f net: sched: use RCU read-side critical section in taprio_dump()
    0d4c0d2844e4 net: sched: fix use-after-free in taprio_change()
    a5cf8670acbb net/sched: act_api: deny mismatched skip_sw/skip_hw flags for actions created by classifiers
    d123062a3fdc bpf: Remove MEM_UNINIT from skb/xdp MTU helpers
    48068ccaea95 bpf: Fix overloading of MEM_UNINIT's meaning
    8a33a047bd31 bpf: Add MEM_WRITE attribute
    d1100acab464 bpf: Simplify checking size of helper accesses
    7caee37c466a net: usb: usbnet: fix name regression
    a7bdb199784f net: fix races in netdev_tx_sent_queue()/dev_watchdog()
    10cb940429c2 net/sched: adjust device watchdog timer to detect stopped queue at right time
    69076f8435c1 net: wwan: fix global oob in wwan_rtnl_policy
    433742ba96ba netfilter: xtables: fix typo causing some targets not to load on IPv6
    5ed4334fc951 fsl/fman: Fix refcount handling of fman-related devices
    275bebf5be50 fsl/fman: Save device references taken in mac_probe()
    06b526846cc9 net: dsa: mv88e6xxx: Fix error when setting port policy on mv88e6393x
    c2d2dc4f88bb octeon_ep: Add SKB allocation failures handling in __octep_oq_process_rx()
    e71146ff378c octeon_ep: Implement helper for iterating packets in Rx queue
    64854b218703 net: plip: fix break; causing plip to never transmit
    641c1beed52b be2net: fix potential memory leak in be_xmit()
    6dc937a3086e net/sun3_82586: fix potential memory leak in sun3_82586_send_packet()
    f41bd93b3e05 netfilter: bpf: must hold reference on net namespace
    c1530660410c xfrm: respect ip protocols rules criteria when performing dst lookups
    ac1d820eaa30 xfrm: extract dst lookup parameters into a struct
    a14a075a14af tracing: Consider the NULL character when validating the event length
    6bc24db74fe4 tracing/probes: Fix MAX_TRACE_ARGS limit handling
    f475d8a0cca7 jfs: Fix sanity check in dbMount
    a94c197d4d74 LoongArch: Don't crash in stack_top() for tasks without vDSO
    3d75f500f64d platform/x86: dell-sysman: add support for alienware products
    6d52db315cfc cifs: Validate content of NFS reparse point buffer
    f47a40ee4cdb ASoC: qcom: sm8250: add qrb4210-rb2-sndcard compatible string
    1ac49babc952 udf: fix uninit-value use in udf_get_fileshortad
    493447dd8336 udf: refactor inode_bmap() to handle error
    5fc8da4d326d udf: refactor udf_next_aext() to handle error
    402c8862fe54 udf: refactor udf_current_aext() to handle error
    8c213cc21724 arm64: Force position-independent veneers
    85e70dcd1f85 ASoC: fsl_sai: Enable 'FIFO continue on error' FCONT bit
    935e5c5f93df ASoC: codecs: lpass-rx-macro: add missing CDC_RX_BCL_VBAT_RF_PROC2 to default regs values
    b3d4f2329312 ASoC: amd: yc: Add quirk for HP Dragonfly pro one
    9eb32bd23bbc drm/vboxvideo: Replace fake VLA at end of vbva_mouse_pointer_shape with real VLA
    0d16f53c9111 exec: don't WARN for racy path_noexec check
    9e5f93788c9d uprobe: avoid out-of-bounds memory access of fetching args
    f0a7ea54f3dc uprobes: prevent mutex_lock() under rcu_read_lock()
    f5272c98a4a0 uprobes: prepare uprobe args buffer lazily
    1c7fa34863c7 uprobes: encapsulate preparation of uprobe args buffer
    91f62703146a tracing/probes: Support $argN in return probe (kprobe and fprobe)
    e96b42d22f66 tracing/probes: cleanup: Set trace_probe::nr_args at trace_probe_init
    5868fa7ebe66 tracing/fprobe-event: cleanup: Fix a wrong comment in fprobe event
    4fad73700867 usb: dwc3: core: Fix system suspend on TI AM62 platforms
    66e56efc45cb XHCI: Separate PORT and CAPs macros into dedicated file
    ecc8a9502b3c usb: gadget: f_uac2: fix return value for UAC2_ATTRIBUTE_STRING store
    0a2794e244d8 usb: gadget: f_uac2: fix non-newline-terminated function name
    3af6c7285413 usb: gadget: f_uac2: Replace snprintf() with the safer scnprintf() variant
    c691c2adeb75 xhci: dbc: honor usb transfer size boundaries.
    7cbcb40d4699 xhci: dbgtty: use kfifo from tty_port struct
    32bd1720ede6 xhci: dbgtty: remove kfifo_out() wrapper
    fe19d913d2c8 iio: adc: ti-lmp92064: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig
    5f029be65dca mm: khugepaged: fix the arguments order in khugepaged_collapse_file trace point
    36249a0b212e khugepaged: remove hpage from collapse_file()
    03e36dba005e khugepaged: convert alloc_charge_hpage to alloc_charge_folio
    281a0312ce41 khugepaged: inline hpage_collapse_alloc_folio()
    c556c5580646 mm/khugepaged: use a folio more in collapse_file()
    4ba70817cfad mm: convert collapse_huge_page() to use a folio
    a1afee6c6f53 mm/khugepaged: convert alloc_charge_hpage() to use folios
    cf2bb1bf0306 cdrom: Avoid barrier_nospec() in cdrom_ioctl_media_changed()
    bb0f943675a9 bpf: Fix iter/task tid filtering
    4ed32cc0939b nvme-pci: fix race condition between reset and nvme_dev_disable()
    e2c03a2c838e nvme-pci: set doorbell config before unquiescing
    ed67a5b99e4d riscv, bpf: Make BPF_CMPXCHG fully ordered
    8a377818bcf8 bpf, vsock: Drop static vsock_bpf_prot initialization
    9dd9b16018cc vsock: Update msg_count on read_skb()
    66cd51de31c6 vsock: Update rx_bytes on read_skb()
    12c3e619d34a bpf, sockmap: SK_DROP on attempted redirects of unsupported af_vsock
    9f2ccb6f3888 net/mlx5: Unregister notifier on eswitch init failure
    d88564c79d1c net/mlx5: Fix command bitmask initialization
    5ec33b1fe86d net/mlx5: Check for invalid vector index on EQ creation
    59ba6cdadb9c vmxnet3: Fix packet corruption in vmxnet3_xdp_xmit_frame
    d10cd7bf574e Bluetooth: bnep: fix wild-memory-access in proto_unregister
    97bbdc5001db bpf: Fix link info netfilter flags to populate defrag flag
    9221ae88c205 s390: Initialize psw mask in perf_arch_fetch_caller_regs()
    1ded6b12499e usb: typec: altmode should keep reference to parent
    b209c3a0bc3a smb: client: fix OOBs when building SMB2_IOCTL request
    b1813c220b76 smb: client: fix possible double free in smb2_set_ea()
    b80e9bc85bd9 scsi: target: core: Fix null-ptr-deref in target_alloc_device()
    2fe1384cbb7c net: ravb: Only advertise Rx/Tx timestamps if hardware supports it
    e9638d3e62dc ravb: Remove setting of RX software timestamp
    b94e5375ec66 genetlink: hold RCU in genlmsg_mcast()
    f8f8afc101f2 net: dsa: mv88e6xxx: Fix the max_vid definition for the MV88E6361
    997ae8da14f1 tcp/dccp: Don't use timer_pending() in reqsk_queue_unlink().
    7218de0778ae net: bcmasp: fix potential memory leak in bcmasp_xmit()
    1999a9e050c5 drm/msm/dpu: don't always program merge_3d block
    b18db3a4fa5f irqchip/renesas-rzg2l: Fix missing put_device
    39cb86f19199 irqchip/renesas-rzg2l: Add support for suspend to RAM
    0776b25d79d8 irqchip/renesas-rzg2l: Document structure members
    05cc5e67dda8 irqchip/renesas-rzg2l: Align struct member names to tabs
    4b70478b984a net: systemport: fix potential memory leak in bcm_sysport_xmit()
    08b8f206de4c bpf: Fix truncation bug in coerce_reg_to_size_sx()
    b01fbbf38584 net: xilinx: axienet: fix potential memory leak in axienet_start_xmit()
    0017189d6057 net/smc: Fix searching in list of known pnetids in smc_pnet_add_pnetid
    79571c4d2f65 net: ethernet: aeroflex: fix potential memory leak in greth_start_xmit_gbit()
    681ce79ab6fb netdevsim: use cond_resched() in nsim_dev_trap_report_work()
    268446b40bb1 macsec: don't increment counters for an unrelated SA
    65ca9f8ddc0d drm/amd/amdgpu: Fix double unlock in amdgpu_mes_add_ring
    a4bc03078eb3 octeontx2-af: Fix potential integer overflows on integer shifts
    e61fa0d66f22 net: stmmac: dwmac-tegra: Fix link bring-up sequence
    bc52115cc41a net: usb: usbnet: fix race in probe failure
    a17874a3a5ab net/smc: Fix memory leak when using percpu refs
    95e3da26819d firmware: arm_scmi: Queue in scmi layer for mailbox implementation
    d4e44b8a6a18 drm/msm: Allocate memory for disp snapshot with kvzalloc()
    f7ad91627348 drm/msm: Avoid NULL dereference in msm_disp_state_print_regs()
    33ece6c4f0c1 drm/msm/dsi: fix 32-bit signed integer extension in pclk_rate calculation
    9f2361089152 drm/msm/dsi: improve/fix dsc pclk calculation
    dd58a5f8b308 drm/msm/dpu: check for overflow in _dpu_crtc_setup_lm_bounds()
    adde6c68bf1a drm/msm/dpu: make sure phys resources are properly initialized
    1931dc14b537 accel/qaic: Fix the for loop used to walk SG table
    5032bf57ab5d RDMA/bnxt_re: Fix the GID table length
    bf39b3532143 RDMA/bnxt_re: Update the BAR offsets
    87cb3b0054e5 RDMA/bnxt_re: Fix a bug while setting up Level-2 PBL pages
    d517cadae6c3 RDMA/bnxt_re: Return more meaningful error
    05c5fcc1869a RDMA/bnxt_re: Fix out of bound check
    903f8b01c587 RDMA/bnxt_re: Fix the max CQ WQEs for older adapters
    5fcf649e4334 RDMA/bnxt_re: Support new 5760X P7 devices
    1ee5ef316a77 ipv4: give an IPv4 dev to blackhole_netdev
    3a662cc5b5d5 RDMA/srpt: Make slab cache names unique
    af29c430a343 RDMA/irdma: Fix misspelling of "accept*"
    c29fd05329a9 RDMA/cxgb4: Fix RDMA_CM_EVENT_UNREACHABLE error for iWARP
    6d91d07913ae firmware: arm_scmi: Fix the double free in scmi_debugfs_common_setup()
    8971fd61210d ALSA: hda/cs8409: Fix possible NULL dereference
    509c29d0d26f sched/core: Disable page allocation in task_tick_mm_cid()
    380681a29066 task_work: Add TWA_NMI_CURRENT as an additional notify mode.
    a3fe89d4f5bb selftests/bpf: Fix cross-compiling urandom_read
    923c5ded505c drm/vmwgfx: Handle possible ENOMEM in vmw_stdu_connector_atomic_check
    119249d146d5 iio: frequency: admv4420: fix missing select REMAP_SPI in Kconfig
    1b3090ca3265 iio: frequency: {admv4420,adrf6780}: format Kconfig entries
    3e212996d21f bpf: fix kfunc btf caching for modules
    b56328660be0 s390/pci: Handle PCI error codes other than 0x3a
    6617ae800cbb selftests/bpf: fix perf_event link info name_len assertion
    0ce20181976d selftests/bpf: Add cookies check for perf_event fill_link_info test
    e909258d41b2 selftests/bpf: Use bpf_link__destroy in fill_link_info tests
    e5c2b971db09 bpf: fix unpopulated name_len field in perf_event link info
    cfd63c3a4538 bpf: Add cookie to perf_event bpf_link_info records
    99bf10e92a3f bpf: Add missed value to kprobe perf link info
    f4381ccf1ed1 ARM: dts: bcm2837-rpi-cm3-io3: Fix HDMI hpd-gpio pin
    9e3d07e503ea x86/resctrl: Avoid overflow in MB settings in bw_validate()
    b7bf17f4f92f RDMA/core: Fix ENODEV error for iWARP test over vlan
    c71957271f2e RDMA/bnxt_re: Add a check for memory allocation
    7d10555a340a RDMA/bnxt_re: Fix incorrect AVID type in WQE structure
    73e04a6114e0 RDMA/bnxt_re: Fix a possible memory leak
    90ad4e2fe3a2 bpf: Fix memory leak in bpf_core_apply
    978d1f63fc6e lib/Kconfig.debug: fix grammar in RUST_BUILD_ASSERT_ALLOW
    8552150e5d80 cpufreq/amd-pstate: Fix amd_pstate mode switch on shared memory systems
    49454f09936a bpf: devmap: provide rxq after redirect
    0fca5ed4be8e bpf: Make sure internal and UAPI bpf_redirect flags don't overlap
    de1f0ab13915 iio: accel: bma400: Fix uninitialized variable field_value in tap event handling.
    18abb2787b53 x86/syscall: Mark exit[_group] syscall handlers __noreturn
    2879d995e569 pnmtologo: sync with 6.6
    43ea1c5e6eb3 lib/build_OID_registry: take -stable reproducibility changes
    35046aea43c8 bpftool: Fix undefined bpf macro for unix socket
    9a558d4b8621 tools/resolve_btfids: Fix comparison of distinct pointer types warning in resolve_btfids
    42b2eec2e503 bpftool: Query only cgroup-related attach types
    f71bb11887ba cpu/amd: inhibit SMP check for qemux86
    c31365597a17 powerpc/uaccess: Fix build errors seen with GCC 13/14
    64ebf485c56b usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
    7c76aad68f6d kselftest: Add a ksft_perror() helper
    06644f0d7193 drm/tilcdc: Set preferred depth
    ff7ae7b32324 crypto: jitter - add RCT/APT support for different OSRs
    50cd24ddb6f0 arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    58e5c91d6701 x86/alternatives: Disable interrupts and sync when optimizing NOPs in place
    c878fd2d4c79 x86/alternatives: Sync core before enabling interrupts
    c2d64b9f52b6 qemux86: add configuration symbol to select values
    630c33229e6d sched/isolation: really align nohz_full with rcu_nocbs
    0e5e0f68e2e6 clear_warn_once: add a clear_warn_once= boot parameter
    46934791b902 clear_warn_once: bind a timer to written reset value
    cdee9e38ff32 clear_warn_once: expand debugfs to include read support
    82b562b81841 tools: Remove some options from CLANG_CROSS_FLAGS
    36dc380b776b libbpf: Fix build warning on ref_ctr_off
    9e3e1fe20982 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    e497a4a5da65 perf: x86-32: explicitly include <errno.h>
    7b57ddd89565 perf: mips64: Convert __u64 to unsigned long long
    1cfc19423dc7 perf: fix bench numa compilation
    98bc2815fade perf: add SLANG_INC for slang.h
    17209a70b9b3 perf: add sgidefs.h to for mips builds
    9cd4258d910a perf: change --root to --prefix for python install
    8110a4f26628 perf: add 'libperl not found' warning
    bc89d5e08f77 perf: force include of <stdbool.h>
    4f6c760cc876 fat: Replace prandom_u32() with get_random_u32()
    bc53117b12b2 fat: don't use obsolete random32 call in namei_vfat
    30b2236ab378 FAT: Added FAT_NO_83NAME
    cef98d22b4ed FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    0bbd7daba9e1 FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    5883fc340084 aufs6: adapt to v6.6 i_op->ctime changes
    c4342d979bf2 aufs6: fix magic.mk include path
    35266bc2dc81 aufs6: adapt to v6.6
    8edede4e98be aufs6: core
    712248233ebe aufs6: standalone
    3b71a8a848d8 aufs6: mmap
    3e2924871f37 aufs6: base
    7f4907a93101 aufs6: kbuild
    d2f7b03e4aa7 yaffs2: update VFS ctime operations to 6.6+
    bcd6cfcd1aa0 yaffs2: v6.5 fixups
    cc615704b5f5 yaffs2: Fix miscalculation of devname buffer length
    8ef2e22dcf91 yaffs2: convert user_namespace to mnt_idmap
    c9c749f9f7d3 yaffs2: replace bdevname call with sprintf
    395b01cdc39d yaffs2: convert read_page -> readfolio
    d98b07e43ba6 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    613c6d50fdbe yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    622c4648936f yaffs2: v5.12+ build fixups (not runtime tested)
    7562133d4090 yaffs: include blkdev.h
    dbd44252cd59 yaffs: fix misplaced variable declaration
    c223a10b1ac0 yaffs2: v5.6 build fixups
    90f6007cfbf4 yaffs2: fix memory leak when /proc/yaffs is read
    37ee169c5ea1 yaffs: add strict check when call yaffs_internal_read_super
    b6e007b8abb6 yaffs: repair yaffs_get_mtd_device
    fb98f65a466a yaffs: Fix build failure by handling inode i_version with proper atomic API
    51e0aac75ea2 yaffs2: fix memory leak in mount/umount
    2b74a0cae7b0 yaffs: Avoid setting any ACL releated xattr
    ff4130a9c376 Yaffs:check oob size before auto selecting Yaffs1
    ba95b409c67c fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    8fa35eba9056 yaffs2: adjust to proper location of MS_RDONLY
    1eb5deaad8c4 yaffs2: import git revision b4ce1bb (jan, 2020)
    4dce67c1e8c8 initramfs: allow an optional wrapper script around initramfs generation
    2f603d83fcc4 pnmtologo: use relocatable file name
    664a6a0a484b tools: use basename to identify file in gen-mach-types
    9de64bc0c185 lib/build_OID_registry: fix reproducibility issues
    ae9b80797295 vt/conmakehash: improve reproducibility
    a972323151bd iwlwifi: select MAC80211_LEDS conditionally
    15d2adcc0198 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    5556a6c04b19 arm64/perf: Fix wrong cast that may cause wrong truncation
    5552dc768ffc defconfigs: drop obselete options
    00fe4152df31 arm64/perf: fix backtrace for AAPCS with FP enabled
    3888d0652edf linux-yocto: Handle /bin/awk issues
    3d55d299f23a uvesafb: provide option to specify timeout for task completion
    23c068c080be uvesafb: print error message when task timeout occurs
    edbfc939266e compiler.h: Undef before redefining __attribute_const__
    c99ae7e2a19a vmware: include jiffies.h
    572d84d928c8 Resolve jiffies wrapping about arp
    fdcd47cac843 nfs: Allow default io size to be configured.
    927d48801098 check console device file on fs when booting
    57cc27f821dd mount_root: clarify error messages for when no rootfs found
    1b53d82a8152 mconf: fix output of cflags and libraries
    1811da09f42c menuconfig,mconf-cfg: Allow specification of ncurses location
    83c2e0c6eb1f modpost: mask trivial warnings
    6de673039484 kbuild: exclude meta directory from distclean processing
    6decd32815f5 powerpc: serialize image targets
    f6b683b38318 arm: serialize build targets
    e798b09ebf57 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    dc8a1e5a88f8 x86_64_defconfig: Fix warnings
    68491e5f72b6 powerpc/ptrace: Disable array-bounds warning with gcc8
    d71ebfce3004 powerpc: Disable attribute-alias warnings from gcc8
    62f50884b8b1 powerpc: kexec fix for powerpc64
    da6871c62c37 powerpc: Add unwind information for SPE registers of E500 core
    f161c880c11d mips: make current_cpu_data preempt safe
    5e94a8247ce7 mips: vdso: fix 'jalr $t9' crash in vdso code
    19e36714b1c7 mips: Kconfig: add QEMUMIPS64 option
    e2e537db3cbd 4kc cache tlb hazard: tlbp cache coherency
    aee9870611e5 malta uhci quirks: make allowance for slow 4k(e)c
    881948cd1517 drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    98ec1963fcb7 arm64: defconfig: cleanup config options
    f1727c537ba8 vexpress: Pass LOADADDR to Makefile
    4474c32dc24a arm: ARM EABI socketcall
    75e31a2b70fd ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: 076b5f6d2c32dbe34a2a712f095c6c4e29c39f84)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c7505c0387450c5467249828ec5c022f393b42a5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Bruce Ashfield
30f0f8c590 linux-yocto/6.6: genericarm64.cfg: enable CONFIG_DMA_CMA
Integrating the following commit(s) to linux-yocto/.:

1/1 [
    Author: Mikko Rapeli
    Email: mikko.rapeli@linaro.org
    Subject: genericarm64.cfg: enable CONFIG_DMA_CMA
    Date: Thu, 24 Oct 2024 08:49:29 +0300

    It's needed for graphics on AMD KV260.

    Cc: Bill Mills <bill.mills@linaro.org>
    Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
    Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]

(From OE-Core rev: 419acd65dc5e8299539fa874ec7dbe024906a3dd)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 87bbf8eaa48cfc8bca02d86bd089df61846d2ca4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Bruce Ashfield
7252462f9a linux-yocto/6.6: update to v6.6.58
Updating linux-yocto/6.6 to the latest korg -stable release that comprises
the following commits:

    18916a684a8b Linux 6.6.58
    fd6e2af79a94 ALSA: hda/conexant - Use cached pin control for Node 0x1d on HP EliteOne 1000 G2
    9698088ac770 nilfs2: propagate directory read errors from nilfs_find_entry()
    87cb3f6e0c04 selftests: mptcp: remove duplicated variables
    ec0d0fcbd5d8 selftests: mptcp: join: test for prohibited MPC to port-based endp
    d46b96f0a489 selftests: mptcp: join: change capture/checksum as bool
    229dfdc36f31 tcp: fix mptcp DSS corruption due to large pmtu xmit
    647cd4494cc3 serial: qcom-geni: fix receiver enable
    61c8f746ed83 serial: qcom-geni: fix dma rx cancellation
    7176aee5a1b2 serial: qcom-geni: revert broken hibernation support
    90e3f819e6aa serial: qcom-geni: fix polled console initialisation
    6acd19ad3aaf irqchip/sifive-plic: Unmask interrupt in plic_irq_enable()
    01282ab5182f irqchip/gic-v4: Don't allow a VMOVP on a dying VPE
    fad940e2dd78 pinctrl: apple: check devm_kasprintf() returned value
    3b36bb1fca2b pinctrl: stm32: check devm_kasprintf() returned value
    20728e86289a pinctrl: ocelot: fix system hang on level based interrupts
    481b477ab63c x86/bugs: Use code segment selector for VERW operand
    c29f192e0d44 tty: n_gsm: Fix use-after-free in gsm_cleanup_mux
    227358e89703 x86/entry_32: Clear CPU buffers after register restore in NMI return
    0c6a7e2c6012 x86/entry_32: Do not clobber user EFLAGS.ZF
    c8170b5ddc41 x86/CPU/AMD: Only apply Zenbleed fix for Zen2 during late microcode load
    6663f0c65885 x86/apic: Always explicitly disarm TSC-deadline timer
    16d7d35f1c1e x86/resctrl: Annotate get_mem_config() functions as __init
    66029078fee0 parport: Proper fix for array out-of-bounds access
    c895d48c843d serial: imx: Update mctrl old_status on RTSD interrupt
    245bee12a52d misc: microchip: pci1xxxx: add support for NVMEM_DEVID_AUTO for OTP device
    78df42183e82 misc: microchip: pci1xxxx: add support for NVMEM_DEVID_AUTO for EEPROM device
    c3d3501cf896 usb: dwc3: Wait for EndXfer completion before restoring GUSB2PHYCFG
    479830f6c15b usb: typec: qcom-pmic-typec: fix sink status being overwritten with RP_DEF
    86c68aa714d0 USB: serial: option: add Telit FN920C04 MBIM compositions
    90a5c64279ae USB: serial: option: add support for Quectel EG916Q-GL
    53cd1bb1f8eb xhci: Mitigate failed set dequeue pointer commands
    cc7b7050996a xhci: Fix incorrect stream context type macro
    9c696bf4ab54 xhci: tegra: fix checked USB2 port number
    dc2d5f02636c vt: prevent kernel-infoleak in con_font_get()
    885f8c873fed Bluetooth: btusb: Fix regression with fake CSR controllers 0a12:0001
    8fb8e912afb4 Bluetooth: ISO: Fix multiple init when debugfs is disabled
    59bd80df4b88 Bluetooth: Remove debugfs directory on module init failure
    05f84d86169b Bluetooth: Call iso_exit() on module unload
    232c2eb6d60c iio: accel: kx022a: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig
    d8ef39dad9b9 iio: adc: ti-ads124s08: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig
    48e594b77cb7 iio: adc: ti-lmp92064: add missing select REGMAP_SPI in Kconfig
    2f76debe69b8 iio: dac: ad3552r: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig
    ad60bbd7c071 iio: proximity: mb1232: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig
    1fcc9d634b50 iio: dac: ad5766: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig
    66bfe12005f6 iio: light: bu27008: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig
    5d41abc777dc iio: frequency: adf4377: add missing select REMAP_SPI in Kconfig
    dc7a11e8cebd iio: amplifiers: ada4250: add missing select REGMAP_SPI in Kconfig
    7f06b154ffcf iio: light: opt3001: add missing full-scale range value
    2cbb41abae65 iio: light: veml6030: fix IIO device retrieval from embedded device
    6bd2b16425d4 iio: light: veml6030: fix ALS sensor resolution
    6acb0a4dac40 iio: hid-sensors: Fix an error handling path in _hid_sensor_set_report_latency()
    082a75594ba4 iio: adc: ti-ads8688: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig
    e0eb585eef6c iio: dac: stm32-dac-core: add missing select REGMAP_MMIO in Kconfig
    ea8180528111 iio: dac: ltc1660: add missing select REGMAP_SPI in Kconfig
    c3a230c1df36 iio: dac: ad5770r: add missing select REGMAP_SPI in Kconfig
    64cf93b87fe3 drm/amdgpu: prevent BO_HANDLES error from being overwritten
    db0978d3ed8b drm/amdgpu/swsmu: Only force workload setup on init
    7c0763fd7974 drm/vmwgfx: Handle surface check failure correctly
    1a235af02164 drm/radeon: Fix encoder->possible_clones
    8e6ca01b3b8d scsi: ufs: core: Fix the issue of ICU failure
    7bd9af254275 scsi: ufs: core: Set SDEV_OFFLINE when UFS is shut down
    d3c4f41ae32c Input: xpad - add support for MSI Claw A1M
    a16af52f2442 selftest: hid: add the missing tests directory
    6414ab5c9c9c ublk: don't allow user copy for unprivileged device
    2762b3cc9094 io_uring/sqpoll: close race on waiting for sqring entries
    4c5b123ab289 blk-rq-qos: fix crash on rq_qos_wait vs. rq_qos_wake_function race
    c04670dffb3f x86/bugs: Do not use UNTRAIN_RET with IBPB on entry
    c42a343158ea x86/bugs: Skip RSB fill at VMEXIT
    61211f2da0be x86/entry: Have entry_ibpb() invalidate return predictions
    b28d3f44e20c x86/cpufeatures: Add a IBPB_NO_RET BUG flag
    6ccc10ed0a7d x86/cpufeatures: Define X86_FEATURE_AMD_IBPB_RET
    369535232d6a KVM: s390: Change virtual to physical address access in diag 0x258 handler
    88607ed93ee6 KVM: s390: gaccess: Check if guest address is in memslot
    82b433fb9b13 s390/sclp_vt220: Convert newlines to CRLF instead of LFCR
    ccea29b1e072 s390/sclp: Deactivate sclp after all its users
    fe2e0b6cd00a iommu/vt-d: Fix incorrect pci_for_each_dma_alias() for non-PCI devices
    37d9305caace mptcp: prevent MPC handshake on port-based signal endpoints
    6365900cb10e net: fec: Remove duplicated code
    1e1eb62c40e1 net: fec: Move `fec_ptp_read()` to the top of the file
    677f1df179cb maple_tree: correct tree corruption on spanning store
    9a0ab4fc28ed xfs: restrict when we try to align cow fork delalloc to cowextsz hints
    3eeac3311683 xfs: allow unlinked symlinks and dirs with zero size
    2bc2d49c36c2 xfs: fix freeing speculative preallocations for preallocated files
    740a427e8f45 xfs: fix unlink vs cluster buffer instantiation race
    0e52b98bf041 xfs: make sure sb_fdblocks is non-negative
    0aca73915dc1 xfs: allow symlinks with short remote targets
    4c99f3026cf2 xfs: convert delayed extents to unwritten when zeroing post eof blocks
    36081fd0ee37 xfs: make xfs_bmapi_convert_delalloc() to allocate the target offset
    0f726c17dfd8 xfs: make the seq argument to xfs_bmapi_convert_delalloc() optional
    f24ba2183148 xfs: match lock mode in xfs_buffered_write_iomap_begin()
    7c03b124353a xfs: use dontcache for grabbing inodes during scrub
    20adb1e2f069 xfs: revert commit 44af6c7e59b12
    5689d2345a01 xfs: enforce one namespace per attribute
    9716cdcc2f9e xfs: validate recovered name buffers when recovering xattr items
    db460c26f0b0 xfs: check shortform attr entry flags specifically
    cad051826d83 xfs: fix missing check for invalid attr flags
    0934046e3392 xfs: check opcode and iovec count match in xlog_recover_attri_commit_pass2
    c13c21f77824 xfs: require XFS_SB_FEAT_INCOMPAT_LOG_XATTRS for attr log intent item recovery
    c299188b443a xfs: remove a racy if_bytes check in xfs_reflink_end_cow_extent
    4bcef72d96b5 xfs: fix xfs_bmap_add_extent_delay_real for partial conversions
    f43bd357fde0 xfs: fix error returns from xfs_bmapi_write
    bed2b9037806 mm/swapfile: skip HugeTLB pages for unuse_vma
    a0035fc55554 mm/mglru: only clear kswapd_failures if reclaimable
    17396e32f975 mm/mremap: fix move_normal_pmd/retract_page_tables race
    6b91fd65a117 selftests/mm: fix deadlock for fork after pthread_create on ARM
    8f5fa1c677df selftests/mm: replace atomic_bool with pthread_barrier_t
    a9af9d5fb01b fat: fix uninitialized variable
    8e29f3235181 irqchip/gic-v3-its: Fix VSYNC referencing an unmapped VPE on GIC v4.1
    20b5342de51b net: microchip: vcap api: Fix memory leaks in vcap_api_encode_rule_test()
    81db1e528486 net: macb: Avoid 20s boot delay by skipping MDIO bus registration for fixed-link PHY
    8165bf83b8a6 arm64: probes: Fix uprobes for big-endian kernels
    173c13e38799 arm64: probes: Fix simulate_ldr*_literal()
    9f1e7735474e arm64: probes: Remove broken LDR (literal) uprobe support
    a3f169e39821 posix-clock: Fix missing timespec64 check in pc_clock_settime()
    75150ba93dda net: enetc: add missing static descriptor and inline keyword
    760a7c9695c0 net: enetc: disable NAPI after all rings are disabled
    a419f478b927 net: enetc: disable Tx BD rings after they are empty
    37184349468a net: enetc: block concurrent XDP transmissions during ring reconfiguration
    1c95443e44e1 net: enetc: remove xdp_drops statistic from enetc_xdp_drop()
    7b2e478abab0 mptcp: pm: fix UaF read in mptcp_pm_nl_rm_addr_or_subflow
    3c088dba8a4e ALSA: hda/conexant - Fix audio routing for HP EliteOne 1000 G2
    5511999e9615 ksmbd: fix user-after-free from session log off
    7fc7c47b9ba0 btrfs: fix uninitialized pointer free on read_alloc_one_name() error
    e11ce03b5874 btrfs: fix uninitialized pointer free in add_inode_ref()
    e9448e371c87 Linux 6.6.57
    8d5aebfff846 scsi: Revert "scsi: sd: Do not repeat the starting disk message"
    e6fc67c0efea e1000e: fix force smbus during suspend flow
    611f74b0e7fb net: ethernet: cortina: Restore TSO support
    7caf966390e6 secretmem: disable memfd_secret() if arch cannot set direct map
    e5a0031c7965 fs/proc/kcore.c: allow translation of physical memory addresses
    19a5029981c8 kthread: unpark only parked kthread
    f00545e8386e btrfs: split remaining space to discard in chunks
    73a4f5a704a2 selftests/rseq: Fix mm_cid test failure
    87070a96b1d2 selftests/mm: fix incorrect buffer->mirror size in hmm2 double_map test
    bd3222d47fae powercap: intel_rapl_tpmi: Fix bogus register reading
    697e3ddcf1f8 nouveau/dmem: Fix vulnerability in migrate_to_ram upon copy error
    b822007e8db3 device-dax: correct pgoff align in dax_set_mapping()
    8b36f4dcacb9 mptcp: pm: do not remove closing subflows
    b8be15d1ae7e mptcp: handle consistently DSS corruption
    143ffa7878e2 net: phy: Remove LED entry from LEDs list on unregister
    28a2c3e51d09 net: dsa: lan9303: ensure chip reset and wait for READY status
    3be342e0332a net: Fix an unsafe loop on the list
    563e6892e21d net: explicitly clear the sk pointer, when pf->create fails
    31c62224e91c ata: libata: avoid superfluous disk spin down + spin up during hibernation
    a448ced30802 mptcp: fallback when MPTCP opts are dropped after 1st data
    7994a4849c8b scsi: ufs: Use pre-calculated offsets in ufshcd_init_lrb()
    e04642a207f1 scsi: wd33c93: Don't use stale scsi_pointer value
    867639300759 Bluetooth: hci_conn: Fix UAF in hci_enhanced_setup_sync
    55f2bd90b9fb drm/i915/hdcp: fix connector refcounting
    937943c04250 drm/vc4: Stop the active perfmon before being destroyed
    07c51108d9e2 drm/v3d: Stop the active perfmon before being destroyed
    fb1643d00a50 hid: intel-ish-hid: Fix uninitialized variable 'rv' in ish_fw_xfer_direct_dma
    0b97fe09f099 usb: gadget: core: force synchronous registration
    0770cda1e40f usb: storage: ignore bogus device raised by JieLi BR21 USB sound chip
    cb8b441f73a6 usb: xhci: Fix problem with xhci resume from suspend
    38aef06ea2fd usb: dwc3: core: Stop processing of pending events if controller is halted
    936564b4dafa Revert "usb: yurex: Replace snprintf() with the safer scnprintf() variant"
    1fa959e74e50 HID: plantronics: Workaround for an unexcepted opposite volume key
    c1846e023899 HID: multitouch: Add support for lenovo Y9000P Touchpad
    1c3b4c90479a HID: amd_sfh: Switch to device-managed dmam_alloc_coherent()
    11381eea8897 hwmon: (adt7470) Add missing dependency on REGMAP_I2C
    f5033290daa1 hwmon: (adm9240) Add missing dependency on REGMAP_I2C
    fe5866fc1254 hwmon: (mc34vr500) Add missing dependency on REGMAP_I2C
    de90999ec3de hwmon: (tmp513) Add missing dependency on REGMAP_I2C
    2caf6c42629e hwmon: intel-m10-bmc-hwmon: relabel Columbiaville to CVL Die Temperature
    26b177ecdd31 wifi: mac80211: Avoid address calculations via out of bounds array indexing
    ea912d384d8e hid-asus: add ROG Ally X prod ID to quirk list
    1815b3236d6b HID: asus: add ROG Z13 lightbar
    5ec4596a0ba9 HID: asus: add ROG Ally N-Key ID and keycodes
    f74210883e53 HID: i2c-hid: Skip SET_POWER SLEEP for Cirque touchpad on system suspend
    64575ec3d24a HID: i2c-hid: Renumber I2C_HID_QUIRK_ defines
    e600ee984f72 HID: i2c-hid: Remove I2C_HID_QUIRK_SET_PWR_WAKEUP_DEV quirk
    b289b83409a6 HID: mcp2200: added driver for GPIOs of MCP2200
    84a5feebba10 rcu/nocb: Fix rcuog wake-up from offline softirq
    174caf7a16d6 rcu/nocb: Make IRQs disablement symmetric
    8bb79eb1db85 slip: make slhc_remember() more robust against malicious packets
    8fe992ff3df4 ppp: fix ppp_async_encode() illegal access
    c246bfbb35fb phonet: Handle error of rtnl_register_module().
    a8e473f7454a phonet: no longer hold RTNL in route_dumpit()
    4597c3866d04 mpls: Handle error of rtnl_register_module().
    ff7abccdd581 mpls: no longer hold RTNL in mpls_netconf_dump_devconf()
    ba5366b87c0d rtnetlink: add RTNL_FLAG_DUMP_UNLOCKED flag
    c8c76f1550b9 rtnetlink: change nlk->cb_mutex role
    f4df31a05153 mctp: Handle error of rtnl_register_module().
    60bfd345cc9b bridge: Handle error of rtnl_register_module().
    ca15d2882d8a vxlan: Handle error of rtnl_register_module().
    35b72beac967 rtnetlink: Add bulk registration helpers for rtnetlink message handlers.
    eae7435b48ff net: do not delay dst_entries_add() in dst_release()
    64121e36fdce netfilter: fib: check correct rtable in vrf setups
    997f67d813ce netfilter: xtables: avoid NFPROTO_UNSPEC where needed
    b4ff011609d0 sctp: ensure sk_state is set to CLOSED if hashing fails in sctp_listen_start
    a63850d0d941 btrfs: zoned: fix missing RCU locking in error message when loading zone info
    25c5ef253a4c net: ibm: emac: mal: fix wrong goto
    1edf039ee017 net/sched: accept TCA_STAB only for root qdisc
    ba578ecdd161 e1000e: change I219 (19) devices to ADP
    57c5053eaa5f igb: Do not bring the device up after non-fatal error
    703c4d820b31 i40e: Fix macvlan leak by synchronizing access to mac_filter_hash
    29d7aa1857b2 ice: Flush FDB entries before reset
    3b66266aa7ec ice: rename switchdev to eswitch
    fa6ab2d78c19 ice: Fix netif_is_ice() in Safe Mode
    a91c6e117079 powercap: intel_rapl_tpmi: Ignore minor version change
    f0a6c431d20d platform/x86/intel/tpmi: Add defines to get version information
    1e4a5eed757c gpio: aspeed: Use devm_clk api to manage clock source
    2a165df9ce20 gpio: aspeed: Add the flush write to ensure the write complete.
    cfa836da7f4c nouveau/dmem: Fix privileged error in copy engine channel
    0aac3fb641cc drm/nouveau: pass cli to nouveau_channel_new() instead of drm+device
    ca57186f2dec net: dsa: b53: fix jumbo frames on 10/100 ports
    dd5b3a830540 net: dsa: b53: allow lower MTUs on BCM5325/5365
    94c4cb9b9113 net: dsa: b53: fix max MTU for BCM5325/BCM5365
    bd1f41c3abd1 net: dsa: b53: fix max MTU for 1g switches
    f9a966afcd76 net: dsa: b53: fix jumbo frame mtu check
    1d068c925418 net: ethernet: adi: adin1110: Fix some error handling path in adin1110_read_fifo()
    826e9b748dec Revert "net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled"
    dd64ea033756 thermal: intel: int340x: processor: Fix warning during module unload
    335a4cbcaa6b thermal: int340x: processor_thermal: Set feature mask before proc_thermal_add
    80a146b9bb08 net: phy: bcm84881: Fix some error handling paths
    38b2d5a57d12 Bluetooth: RFCOMM: FIX possible deadlock in rfcomm_sk_state_change
    597ea17d84d3 selftests: net: no_forwarding: fix VID for $swp2 in one_bridge_two_pvids() test
    3453f5839420 netfilter: br_netfilter: fix panic with metadata_dst skb
    446be5505ea0 rxrpc: Fix uninitialised variable in rxrpc_send_data()
    2daffbd861de tcp: fix TFO SYN_RECV to not zero retrans_stamp with retransmits out
    718c49f840ef tcp: new TCP_INFO stats for RTO events
    04dce9a12050 tcp: fix tcp_enter_recovery() to zero retrans_stamp when it's safe
    e676ca60ad2a tcp: fix to allow timestamp undo if no retransmits were sent
    9ca634676ff6 net: phy: dp83869: fix memory corruption when enabling fiber
    fca41e5fa491 NFSv4: Prevent NULL-pointer dereference in nfs42_complete_copies()
    dedc14e1301a SUNRPC: Fix integer overflow in decode_rc_list()
    fde7db1c0614 ice: fix VLAN replay after reset
    803f31073b08 ice: set correct dst VSI in only LAN filters
    4ab072325c62 NFSD: Mark filecache "down" if init fails
    1fab0233720f x86/amd_nb: Add new PCI IDs for AMD family 1Ah model 60h
    9736678bc21c x86/amd_nb: Add new PCI IDs for AMD family 0x1a
    688872c4ea4a fbdev: sisfb: Fix strbuf array overflow
    0809fb86ad13 smb: client: fix UAF in async decryption
    f7fb5dda5553 fbcon: Fix a NULL pointer dereference issue in fbcon_putcs
    65b2d49e55fe drm/amd/display: Check null pointer before dereferencing se
    0ef6e016eb53 scsi: lpfc: Ensure DA_ID handling completion before deleting an NPIV instance
    ab88c77894aa scsi: lpfc: Add ELS_RSP cmd to the list of WQEs to flush in lpfc_els_flush_cmd()
    5da9855385bc driver core: bus: Return -EIO instead of 0 when show/store invalid bus attribute
    d885c464c250 driver core: bus: Fix double free in driver API bus_register()
    a84ae28d710b staging: vme_user: added bound check to geoid
    5b53a7a6bdba tools/iio: Add memory allocation failure check for trigger_name
    b01793cc63dd virtio_pmem: Check device status before requesting flush
    784744b01b08 netfilter: nf_reject: Fix build warning when CONFIG_BRIDGE_NETFILTER=n
    5b04f41abaf8 netfilter: nf_nat: don't try nat source port reallocation for reverse dir clash
    1215e29918af LoongArch: Fix memleak in pci_acpi_scan_root()
    0b700d29ebad comedi: ni_routing: tools: Check when the file could not be opened
    0be52823e51c usb: dwc2: Adjust the timing of USB Driver Interrupt Registration in the Crashkernel Scenario
    01ac64e09261 usb: chipidea: udc: enable suspend interrupt after usb reset
    b72bf5cade51 usb: typec: tipd: Free IRQ only if it was requested before
    e418d91195d2 serial: protect uart_port_dtr_rts() in uart_shutdown() too
    339273a9ddfe clk: imx: Remove CLK_SET_PARENT_GATE for DRAM mux for i.MX7D
    7fb5f957213b remoteproc: imx_rproc: Use imx specific hook for find_loaded_rsc_table
    7af8d697b70f media: videobuf2-core: clear memory related fields in __vb2_plane_dmabuf_put()
    a39416d8597a riscv/kexec_file: Fix relocation type R_RISCV_ADD16 and R_RISCV_SUB16 unknown
    740a6059c367 soundwire: cadence: re-check Peripheral status with delayed_work
    99002ae8a1a8 RDMA/mlx5: Enforce umem boundaries for explicit ODP page faults
    a29a9c2c9dce riscv: avoid Imbalance in RAS
    50c4307e8261 mfd: intel_soc_pmic_chtwc: Make Lenovo Yoga Tab 3 X90F DMI match less strict
    fa840ba4bd9f ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition
    f4ce3b5d26ce io_uring: check if we need to reschedule during overflow flush
    30884833361b RISC-V: Don't have MAX_PHYSMEM_BITS exceed phys_addr_t
    ea0256e393e0 i3c: master: cdns: Fix use after free vulnerability in cdns_i3c_master Driver Due to Race Condition
    8f53f6f96678 PCI: Mark Creative Labs EMU20k2 INTx masking as broken
    f8e2a0416a68 i2c: i801: Use a different adapter-name for IDF adapters
    2488685858ed PCI: Add ACS quirk for Qualcomm SA8775P
    f829cb4535ba clk: bcm: bcm53573: fix OF node leak in init
    ccb8e44ae3e2 RDMA/rtrs-srv: Avoid null pointer deref during path establishment
    bd9a77a93049 PCI: Add function 0 DMA alias quirk for Glenfly Arise chip
    1598bf01006d soundwire: intel_bus_common: enable interrupts before exiting reset
    a195a42dd25c RDMA/mad: Improve handling of timed out WRs of mad agent
    6ba8ecf9aa4e ktest.pl: Avoid false positives with grub2 skip regex
    5d5e3b4cbe8e bpf: Prevent tail call between progs attached to different hooks
    96b128028801 s390/cpum_sf: Remove WARN_ON_ONCE statements
    e789b7fdd7ba ext4: nested locking for xattr inode
    58c0648e4c77 ext4: don't set SB_RDONLY after filesystem errors
    cadbdd78e049 bpf, x64: Fix a jit convergence issue
    5575beab1b26 s390/mm: Add cond_resched() to cmm_alloc/free_pages()
    78cddbd77595 s390/facility: Disable compile time optimization for decompressor code
    c43622d6f917 bpf: Check percpu map value size first
    aaa880f8a9a5 selftests/bpf: Fix ARG_PTR_TO_LONG {half-,}uninitialized test
    1881193bf2cb Input: synaptics-rmi4 - fix UAF of IRQ domain on driver removal
    6e20720b1229 zram: don't free statically defined names
    6272936fd242 zram: free secondary algorithms names
    c556e72cea2a ntfs3: Change to non-blocking allocation in ntfs_d_hash
    fd94986382d1 virtio_console: fix misc probe bugs
    5e20797c824b fs/ntfs3: Refactor enum_rstbl to suppress static checker
    cdb1efee542c fs/ntfs3: Fix sparse warning in ni_fiemap
    16f93bdd61e4 fs/ntfs3: Do not call file_modified if collapse range failed
    939b4b2c008d drm/amd/display: Revert "Check HDCP returned status"
    b505e4fc411c drm/amd/display: Remove a redundant check in authenticated_dp
    1a7ca970112c lib/build_OID_registry: avoid non-destructive substitution for Perl < 5.13.2 compat
    dcfaf8b500db jbd2: fix kernel-doc for j_transaction_overhead_buffers
    5f77c8e84ae4 Bluetooth: Fix usage of __hci_cmd_sync_status
    66c43605be89 selftests: Introduce Makefile variable to list shared bash scripts
    f45c65b1b941 selftests: net: Remove executable bits from library scripts
    ab656dd9fc0d libsubcmd: Don't free the usage string
    03cec19f546d perf sched: Move curr_pid and cpu_last_switched initialization to perf_sched__{lat|map|replay}()
    4078f1d442d8 perf sched: Move curr_thread initialization to perf_sched__map()
    e649fb7f8361 perf sched: Fix memory leak in perf_sched__map()
    85ca3d45bd40 perf sched: Move start_work_mutex and work_done_wait_mutex initialization to perf_sched__replay()
    86052433693b bootconfig: Fix the kerneldoc of _xbc_exit()
    f0fc028b6f1f e1000e: move force SMBUS near the end of enable_ulp function
    1fe83044fdc9 i40e: Include types.h to some headers
    f717743ecfdf i40e: Fix ST code value for Clause 45
    a47a759e435b scsi: sd: Do not repeat the starting disk message
    9e6075e112ee scsi: Remove scsi device no_start_on_resume flag
    2e561175e9cf ASoC: tas2781: mark dvc_tlv with __maybe_unused
    9c122d020a62 ata: ahci: Add mask_port_map module parameter
    924c0af49c63 spi: spi-fsl-lpspi: remove redundant spi_controller_put call
    18f3fdb17496 riscv: cpufeature: Fix thead vector hwcap removal
    5915b8981ad6 tracing: Have saved_cmdlines arrays all in one allocation
    26c907b8d887 libceph: init the cursor when preparing sparse read in msgr2
    fb90d9729549 pds_core: no health-thread in VF path
    bd1521e0ea9a Revert "powerpc/ps3_defconfig: Disable PPC64_BIG_ENDIAN_ELF_ABI_V2"
    43987659fa9c bus: mhi: ep: Do not allocate memory for MHI objects from DMA zone
    39601f49c9e0 bus: mhi: ep: Add support for async DMA read operation
    b6af3a95417b bus: mhi: ep: Add support for async DMA write operation
    a77e5950f93f bus: mhi: ep: Introduce async read/write callbacks
    efdfa92a823a bus: mhi: ep: Rename read_from_host() and write_to_host() APIs
    be6c52b059a2 drm/crtc: fix uninitialized variable use even harder
    0d3d2236a0e0 ALSA: hda/realtek: cs35l41: Fix device ID / model name
    c800174e0865 ALSA: hda/realtek: cs35l41: Fix order and duplicates in quirks table
    e87cb9dd3fad tracing: Remove precision vsnprintf() check from print event
    9dd05dac697c drm/panel: boe-tv101wum-nl6: Fine tune Himax83102-j02 panel HFP and HBP (again)
    452c0740d72c net: ethernet: cortina: Drop TSO support
    6e0d0554d857 riscv: Remove SHADOW_OVERFLOW_STACK_SIZE macro
    50e33567bc4a gfs2: Revert "ignore negated quota changes"
    8251e3b0ce92 gfs2: qd_check_sync cleanups
    e51c5aff8480 gfs2: Revert "introduce qd_bh_get_or_undo"
    9060935b4b8b phy: qualcomm: eusb2-repeater: Rework init to drop redundant zero-out loop
    fa3532b1540f phy: qualcomm: phy-qcom-eusb2-repeater: Add tuning overrides
    e905bc71e7ed ASoC: cs35l56: Load tunings for the correct speaker models
    9790a7acc352 Revert "PCI/MSI: Provide stubs for IMS functions"
    7745e14f4c03 net: fec: don't save PTP state if PTP is unsupported
    ac20736861f3 unicode: Don't special case ignorable code points
    18abb2787b53 x86/syscall: Mark exit[_group] syscall handlers __noreturn
    2879d995e569 pnmtologo: sync with 6.6
    43ea1c5e6eb3 lib/build_OID_registry: take -stable reproducibility changes
    35046aea43c8 bpftool: Fix undefined bpf macro for unix socket
    9a558d4b8621 tools/resolve_btfids: Fix comparison of distinct pointer types warning in resolve_btfids
    42b2eec2e503 bpftool: Query only cgroup-related attach types
    f71bb11887ba cpu/amd: inhibit SMP check for qemux86
    c31365597a17 powerpc/uaccess: Fix build errors seen with GCC 13/14
    64ebf485c56b usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
    7c76aad68f6d kselftest: Add a ksft_perror() helper
    06644f0d7193 drm/tilcdc: Set preferred depth
    ff7ae7b32324 crypto: jitter - add RCT/APT support for different OSRs
    50cd24ddb6f0 arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    58e5c91d6701 x86/alternatives: Disable interrupts and sync when optimizing NOPs in place
    c878fd2d4c79 x86/alternatives: Sync core before enabling interrupts
    c2d64b9f52b6 qemux86: add configuration symbol to select values
    630c33229e6d sched/isolation: really align nohz_full with rcu_nocbs
    0e5e0f68e2e6 clear_warn_once: add a clear_warn_once= boot parameter
    46934791b902 clear_warn_once: bind a timer to written reset value
    cdee9e38ff32 clear_warn_once: expand debugfs to include read support
    82b562b81841 tools: Remove some options from CLANG_CROSS_FLAGS
    36dc380b776b libbpf: Fix build warning on ref_ctr_off
    9e3e1fe20982 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    e497a4a5da65 perf: x86-32: explicitly include <errno.h>
    7b57ddd89565 perf: mips64: Convert __u64 to unsigned long long
    1cfc19423dc7 perf: fix bench numa compilation
    98bc2815fade perf: add SLANG_INC for slang.h
    17209a70b9b3 perf: add sgidefs.h to for mips builds
    9cd4258d910a perf: change --root to --prefix for python install
    8110a4f26628 perf: add 'libperl not found' warning
    bc89d5e08f77 perf: force include of <stdbool.h>
    4f6c760cc876 fat: Replace prandom_u32() with get_random_u32()
    bc53117b12b2 fat: don't use obsolete random32 call in namei_vfat
    30b2236ab378 FAT: Added FAT_NO_83NAME
    cef98d22b4ed FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    0bbd7daba9e1 FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    5883fc340084 aufs6: adapt to v6.6 i_op->ctime changes
    c4342d979bf2 aufs6: fix magic.mk include path
    35266bc2dc81 aufs6: adapt to v6.6
    8edede4e98be aufs6: core
    712248233ebe aufs6: standalone
    3b71a8a848d8 aufs6: mmap
    3e2924871f37 aufs6: base
    7f4907a93101 aufs6: kbuild
    d2f7b03e4aa7 yaffs2: update VFS ctime operations to 6.6+
    bcd6cfcd1aa0 yaffs2: v6.5 fixups
    cc615704b5f5 yaffs2: Fix miscalculation of devname buffer length
    8ef2e22dcf91 yaffs2: convert user_namespace to mnt_idmap
    c9c749f9f7d3 yaffs2: replace bdevname call with sprintf
    395b01cdc39d yaffs2: convert read_page -> readfolio
    d98b07e43ba6 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    613c6d50fdbe yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    622c4648936f yaffs2: v5.12+ build fixups (not runtime tested)
    7562133d4090 yaffs: include blkdev.h
    dbd44252cd59 yaffs: fix misplaced variable declaration
    c223a10b1ac0 yaffs2: v5.6 build fixups
    90f6007cfbf4 yaffs2: fix memory leak when /proc/yaffs is read
    37ee169c5ea1 yaffs: add strict check when call yaffs_internal_read_super
    b6e007b8abb6 yaffs: repair yaffs_get_mtd_device
    fb98f65a466a yaffs: Fix build failure by handling inode i_version with proper atomic API
    51e0aac75ea2 yaffs2: fix memory leak in mount/umount
    2b74a0cae7b0 yaffs: Avoid setting any ACL releated xattr
    ff4130a9c376 Yaffs:check oob size before auto selecting Yaffs1
    ba95b409c67c fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    8fa35eba9056 yaffs2: adjust to proper location of MS_RDONLY
    1eb5deaad8c4 yaffs2: import git revision b4ce1bb (jan, 2020)
    4dce67c1e8c8 initramfs: allow an optional wrapper script around initramfs generation
    2f603d83fcc4 pnmtologo: use relocatable file name
    664a6a0a484b tools: use basename to identify file in gen-mach-types
    9de64bc0c185 lib/build_OID_registry: fix reproducibility issues
    ae9b80797295 vt/conmakehash: improve reproducibility
    a972323151bd iwlwifi: select MAC80211_LEDS conditionally
    15d2adcc0198 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    5556a6c04b19 arm64/perf: Fix wrong cast that may cause wrong truncation
    5552dc768ffc defconfigs: drop obselete options
    00fe4152df31 arm64/perf: fix backtrace for AAPCS with FP enabled
    3888d0652edf linux-yocto: Handle /bin/awk issues
    3d55d299f23a uvesafb: provide option to specify timeout for task completion
    23c068c080be uvesafb: print error message when task timeout occurs
    edbfc939266e compiler.h: Undef before redefining __attribute_const__
    c99ae7e2a19a vmware: include jiffies.h
    572d84d928c8 Resolve jiffies wrapping about arp
    fdcd47cac843 nfs: Allow default io size to be configured.
    927d48801098 check console device file on fs when booting
    57cc27f821dd mount_root: clarify error messages for when no rootfs found
    1b53d82a8152 mconf: fix output of cflags and libraries
    1811da09f42c menuconfig,mconf-cfg: Allow specification of ncurses location
    83c2e0c6eb1f modpost: mask trivial warnings
    6de673039484 kbuild: exclude meta directory from distclean processing
    6decd32815f5 powerpc: serialize image targets
    f6b683b38318 arm: serialize build targets
    e798b09ebf57 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    dc8a1e5a88f8 x86_64_defconfig: Fix warnings
    68491e5f72b6 powerpc/ptrace: Disable array-bounds warning with gcc8
    d71ebfce3004 powerpc: Disable attribute-alias warnings from gcc8
    62f50884b8b1 powerpc: kexec fix for powerpc64
    da6871c62c37 powerpc: Add unwind information for SPE registers of E500 core
    f161c880c11d mips: make current_cpu_data preempt safe
    5e94a8247ce7 mips: vdso: fix 'jalr $t9' crash in vdso code
    19e36714b1c7 mips: Kconfig: add QEMUMIPS64 option
    e2e537db3cbd 4kc cache tlb hazard: tlbp cache coherency
    aee9870611e5 malta uhci quirks: make allowance for slow 4k(e)c
    881948cd1517 drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    98ec1963fcb7 arm64: defconfig: cleanup config options
    f1727c537ba8 vexpress: Pass LOADADDR to Makefile
    4474c32dc24a arm: ARM EABI socketcall
    75e31a2b70fd ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: cf8177a6c40294f6428350f54bb853c37c09360a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e8a5b1c53d9cae12b4f3c6d3259be55df5f1d2f4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Bruce Ashfield
7808ebbc8b linux-yocto/6.6: update to v6.6.56
Updating linux-yocto/6.6 to the latest korg -stable release that comprises
the following commits:

    d4576c567009 Linux 6.6.56
    1e0f696469d6 Revert "perf callchain: Fix stitch LBR memory leaks"
    9b15f68c4127 Linux 6.6.55
    e334ae4a0cd5 perf python: Allow checking for the existence of warning options in clang
    3faea7810e2b Revert "ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path"
    e0aba0c6d521 null_blk: Fix return value of nullb_device_power_store()
    e0b065ec636d drm/amd/display: enable_hpo_dp_link_output: Check link_res->hpo_dp_link_enc before using it
    776ebdeee65b perf report: Fix segfault when 'sym' sort key is not used
    eada63e6e337 drm/amd/display: Revert Avoid overflow assignment
    de4841fca84f crypto: octeontx* - Select CRYPTO_AUTHENC
    25613e6d9841 vhost/scsi: null-ptr-dereference in vhost_scsi_get_req()
    cdf4bbbdb956 rxrpc: Fix a race between socket set up and I/O thread creation
    b538fefeb102 net: stmmac: move the EST lock to struct stmmac_priv
    aaadb755f2d6 null_blk: fix null-ptr-dereference while configuring 'power' and 'submit_queues'
    b2b02202f87d null_blk: Remove usage of the deprecated ida_simple_xx() API
    2deb10a99671 platform/x86: think-lmi: Fix password opcode ordering for workstations
    e115c1b5de55 efi/unaccepted: touch soft lockup during memory accept
    50f4b57e9a9d drm/bridge: adv7511: fix crash on irq during probe
    fd4d5cd7a2e8 iommufd: Fix protection fault in iommufd_test_syz_conv_iova
    69a1e2d938db net: dsa: fix netdev_priv() dereference before check on non-DSA netdevice events
    164936b2fc88 netfilter: nf_tables: restore set elements when delete set fails
    a1bd2a38a1c6 netfilter: nf_tables: fix memleak in map from abort path
    b90778973293 ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path
    1428da2f4a33 Revert "drm/amd/display: Skip Recompute DSC Params if no Stream on Link"
    d253f71605e4 drm/rockchip: vop: enable VOP_FEATURE_INTERNAL_RGB on RK3066
    907717eea14c btrfs: drop the backref cache during relocation if we commit
    4dc6ea8b4d9d btrfs: relocation: constify parameters where possible
    5ae94c639777 btrfs: relocation: return bool from btrfs_should_ignore_reloc_root
    ce31847f109c ACPI: battery: Fix possible crash when unregistering a battery hook
    2deeb3c748da ACPI: battery: Simplify battery hook locking
    712d30f9a505 clk: qcom: gcc-sc8180x: Add GPLL9 support
    1c723d785adb r8169: add tally counter fields added with RTL8125
    f02fcb7283b1 r8169: Fix spelling mistake: "tx_underun" -> "tx_underrun"
    736da4240815 iio: pressure: bmp280: Fix waiting time for BMP3xx configuration
    ae6724f9f13e iio: pressure: bmp280: Fix regmap for BMP280 device
    5da669d9ee26 iio: pressure: bmp280: Use BME prefix for BME280 specifics
    b71b2d704a93 iio: pressure: bmp280: Improve indentation and line wrapping
    afe335a6c5e2 iio: pressure: bmp280: Allow multiple chips id per family of devices
    c059a2661a1d dt-bindings: clock: qcom: Add GPLL9 support on gcc-sc8180x
    65e71cffb833 dt-bindings: clock: qcom: Add missing UFS QREF clocks
    fc1ed6f791e3 remoteproc: k3-r5: Delay notification of wakeup event
    e1df6bbf4771 remoteproc: k3-r5: Acquire mailbox handle during probe routine
    9eac174a9b89 media: imx335: Fix reset-gpio handling
    2b00bc1d7d40 media: i2c: imx335: Enable regulator supplies
    e6be95592c9f RDMA/mana_ib: use the correct page table index based on hardware page size
    6c95c700f2b6 net: mana: Add support for page sizes other than 4KB on ARM64
    86b6cf7e253b net: mana: Enable MANA driver on ARM64 with 4K page size
    1f997b1d13e0 sched: psi: fix bogus pressure spikes from aggregation race
    c83a80d8b84f lib/buildid: harden build ID parsing logic
    f941d779622b build-id: require program headers to be right after ELF header
    a94ec40b9405 drm/amd/display: Allow backlight to go below `AMDGPU_DM_DEFAULT_MIN_BACKLIGHT`
    54ad9c760854 mm: z3fold: deprecate CONFIG_Z3FOLD
    5b981d8335e1 uprobes: fix kernel info leak via "[uprobes]" vma
    24f7989ed2e1 io_uring/net: harden multishot termination case for recv
    3c38faa39e6c arm64: errata: Expand speculative SSBS workaround once more
    9a3e9aab606d arm64: cputype: Add Neoverse-N3 definitions
    c7e0da744932 i2c: synquacer: Deal with optional PCLK correctly
    6109f5319bfd i2c: synquacer: Remove a clk reference from struct synquacer_i2c
    316be4911f63 i2c: core: Lock address during client device instantiation
    4a2be5a72865 i2c: create debugfs entry per adapter
    aac871e493fc platform/x86: x86-android-tablets: Fix use after free on platform_device_register() errors
    2dbc42f554b3 platform/x86: x86-android-tablets: Create a platform_device from module_init()
    ce5ec367994d kconfig: qconf: fix buffer overflow in debug links
    eebc10e92477 cpufreq: intel_pstate: Make hwp_notify_lock a raw spinlock
    68d603f467a7 drm/amd/display: Fix system hang while resume with TBT monitor
    487f6450bcb9 drm/amd/display: Add HDR workaround for specific eDP
    579a0a84e3c0 drm/sched: Add locking to drm_sched_entity_modify_sched
    451c87d21db6 drm/i915/gem: fix bitwise and logical AND mixup
    a8023f8b5598 close_range(): fix the logics in descriptor table trimming
    310d95316791 rtla: Fix the help text in osnoise and timerlat top tools
    8b0f0a268ddb tracing/timerlat: Fix duplicated kthread creation due to CPU online/offline
    a6e9849063a6 tracing/timerlat: Fix a race during cpuhp processing
    a4a05ceffe8f tracing/timerlat: Drop interface_lock in stop_kthread()
    79250decc9ab tracing/hwlat: Fix a race during cpuhp processing
    b8c118c2a2ad ceph: fix cap ref leak via netfs init_request
    e676e4ea76bb mac802154: Fix potential RCU dereference issue in mac802154_scan_worker
    830c03e58beb Bluetooth: hci_event: Align BR/EDR JUST_WORKS paring with LE
    2f4e3926bc50 net: pcs: xpcs: fix the wrong register that was written back
    7c5cd531d093 gpio: davinci: fix lazy disable
    0f41f383b5a6 cpufreq: Avoid a bad reference count on CPU node
    ed87190e9d9c btrfs: wait for fixup workers before stopping cleaner kthread during umount
    521cfe23fbcb btrfs: send: fix invalid clone operation for file that got its size decreased
    7ad0c5868f2f btrfs: fix a NULL pointer dereference when failed to start a new trasacntion
    d7674ed0dcd4 ACPI: resource: Add Asus ExpertBook B2502CVA to irq1_level_low_skip_override[]
    27ec4a380bc1 ACPI: resource: Add Asus Vivobook X1704VAP to irq1_level_low_skip_override[]
    c7d10fa7d769 cachefiles: fix dentry leak in cachefiles_open_file()
    195e42c9a92f Input: adp5589-keys - fix adp5589_gpio_get_value()
    7c3f04223aaf Input: adp5589-keys - fix NULL pointer dereference
    cda7d597245f rtc: at91sam9: fix OF node leak in probe() error path
    03582f475242 net: stmmac: Fix zero-division error when disabling tc cbs
    cd9ce830facd tomoyo: fallback to realpath if symlink's pathname does not exist
    af3122f5fdc0 gso: fix udp gso fraglist segmentation after pull from frag_list
    718a752bd746 vrf: revert "vrf: Remove unnecessary RCU-bh critical section"
    73328d2af5aa iio: magnetometer: ak8975: Fix reading for ak099xx sensors
    3374f06f9544 smb3: fix incorrect mode displayed for read-only files
    472973229cb0 smb: client: use actual path when queryfs
    868e843e522d clk: qcom: clk-alpha-pll: Fix CAL_L_VAL override for LUCID EVO PLL
    5bdb3cc0cced clk: qcom: gcc-sc8180x: Fix the sdcc2 and sdcc4 clocks freq table
    ea3a6938cb9b media: qcom: camss: Fix ordering of pm_runtime_enable
    c2218a82f795 media: qcom: camss: Remove use_count guard in stop_streaming
    8c860f35867a clk: qcom: gcc-sm8250: Do not turn off PCIe GDSCs during gdsc_disable()
    b0686aedc5f1 media: venus: fix use after free bug in venus_remove due to race condition
    56770d1e01d6 clk: qcom: gcc-sm8150: De-register gcc_cpuss_ahb_clk_src
    7e21770654f5 clk: samsung: exynos7885: Update CLKS_NR_FSYS after bindings fix
    8cf5c85d5edf clk: qcom: clk-rpmh: Fix overflow in BCM vote
    1229485abfce media: uapi/linux/cec.h: cec_msg_set_reply_to: zero flags
    e6f63d04c03e clk: qcom: gcc-sm8450: Do not turn off PCIe GDSCs during gdsc_disable()
    6fa24b41d3b5 media: sun4i_csi: Implement link validate for sun4i_csi subdev
    fb2867420e4e clk: qcom: dispcc-sm8250: use CLK_SET_RATE_PARENT for branch clocks
    fc71c2395893 remoteproc: k3-r5: Fix error handling when power-up failed
    bd588d52562a clk: rockchip: fix error for unknown clocks
    eb4df5e36a6e media: ov5675: Fix power on/off delay timings
    acc5103a0a8c aoe: fix the potential use-after-free problem in more places
    1587db113004 riscv: Fix kernel stack size when KASAN is enabled
    83b39493cd00 RDMA/mana_ib: use the correct page size for mapping user-mode doorbell page
    4ac637122930 i3c: master: svc: Fix use after free vulnerability in svc_i3c_master Driver Due to Race Condition
    6b17072c7db5 NFSD: Fix NFSv4's PUTPUBFH operation
    f7d8ee9db943 nfsd: map the EBADMSG to nfserr_io to avoid warning
    33658acea064 nfsd: fix delegation_blocked() to block correctly for at least 30 seconds
    be8d32ebfa0b perf hist: Update hist symbol when updating maps
    bebb4c240500 perf python: Disable -Wno-cast-function-type-mismatch if present on clang
    bf0b3b352594 exfat: fix memory leak in exfat_load_bitmap()
    9a2585ad17cd riscv: define ILLEGAL_POINTER_VALUE for 64bit
    8f91116f3682 arm64: Subscribe Microsoft Azure Cobalt 100 to erratum 3194386
    5f5ec16bd14d arm64: fix selection of HAVE_DYNAMIC_FTRACE_WITH_ARGS
    d52c5652e7dc ocfs2: fix possible null-ptr-deref in ocfs2_set_buffer_uptodate
    86a89e75e9e4 ocfs2: fix null-ptr-deref when journal load failed.
    84543da867c9 ocfs2: remove unreasonable unlock in ocfs2_read_blocks
    ef768020366f ocfs2: cancel dqi_sync_work before freeing oinfo
    637c00e06564 ocfs2: reserve space for inline xattr before attaching reflink tree
    8d176ca5d915 ocfs2: fix uninit-value in ocfs2_get_block()
    e7a801014726 ocfs2: fix the la space leak when unmounting an ocfs2 volume
    e3a9fc1520a6 mm: krealloc: consider spare memory for __GFP_ZERO
    fd3496243409 jbd2: correctly compare tids with tid_geq function in jbd2_fc_begin_commit
    1c62dc0d82c6 jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error
    393331e16ce2 resource: fix region_intersects() vs add_memory_driver_managed()
    b57b53e8ffcd drm: omapdrm: Add missing check for alloc_ordered_workqueue
    0022085f11c6 of/irq: Support #msi-cells=<0> in of_msi_get_domain
    d657d28641ec of: address: Report error on resource bounds overflow
    25b7a6703728 drm/rockchip: vop: clear DMA stop bit on RK3066
    a17dfde57704 parisc: Fix stack start for ADDR_NO_RANDOMIZE personality
    62f3e58c4e39 parisc: Allow mmap(MAP_STACK) memory to automatically expand upwards
    42451ba0d6e1 parisc: Fix 64-bit userspace syscall path
    89bbc55d6b16 ext4: mark fc as ineligible using an handle in ext4_xattr_set()
    c5771f1c484c ext4: use handle to mark fc as ineligible in __track_dentry_update()
    d13a3558e824 ext4: fix fast commit inode enqueueing during a full journal commit
    1552199ace59 ext4: fix incorrect tid assumption in jbd2_journal_shrink_checkpoint_list()
    80dccb81b7db ext4: fix incorrect tid assumption in ext4_wait_for_tail_page_commit()
    f55ecc58d07a ext4: update orig_path in ext4_find_extent()
    9203817ba46e ext4: fix timer use-after-free on failed mount
    68a69cf60660 ext4: fix double brelse() the buffer of the extents path
    8162ee5d94b8 ext4: aovid use-after-free in ext4_ext_insert_extent()
    1b558006d98b ext4: drop ppath from ext4_ext_replay_update_ex() to avoid double-free
    93051d16b312 ext4: fix incorrect tid assumption in __jbd2_log_wait_for_space()
    5efccdee4a7d ext4: dax: fix overflowing extents beyond inode size when partially writing
    8c762b4e1921 ext4: fix incorrect tid assumption in ext4_fc_mark_ineligible()
    f4308d8ee384 ext4: propagate errors from ext4_find_extent() in ext4_insert_range()
    8fe117790b37 ext4: fix slab-use-after-free in ext4_split_extent_at()
    a56e5f389d42 ext4: correct encrypted dentry name hash when not casefolded
    2d64e7dada22 ext4: no need to continue when the number of entries is 1
    9cdf65c6c311 ALSA: hda/realtek: Add a quirk for HP Pavilion 15z-ec200
    762650cd5e7f ALSA: hda/realtek: Add quirk for Huawei MateBook 13 KLV-WX9
    3624416ab149 ALSA: line6: add hw monitor volume control to POD HD500X
    228a8b952cf4 ALSA: usb-audio: Add native DSD support for Luxman D-08u
    9d125aab4c47 ALSA: usb-audio: Add delay quirk for VIVO USB-C HEADSET
    aba1be9a804f ALSA: core: add isascii() check to card ID generator
    633d3456849d ALSA: hda/tas2781: Add new quirk for Lenovo Y990 Laptop
    c923bc874659 drm: Consistently use struct drm_mode_rect for FB_DAMAGE_CLIPS
    6e6f89549c66 drm/mediatek: ovl_adaptor: Add missing of_node_put()
    3eff30f2c315 parisc: Fix itlb miss handler for 64-bit programs
    9fca08c06a8d perf/core: Fix small negative period being ignored
    888f728d81f8 power: supply: hwmon: Fix missing temp1_max_alarm attribute
    7febcf11742f spi: bcm63xx: Fix missing pm_runtime_disable()
    f2d0b351e03f spi: bcm63xx: Fix module autoloading
    0a42f6360798 dt-bindings: clock: exynos7885: Fix duplicated binding
    ff580d01301e memory: tegra186-emc: drop unused to_tegra186_emc()
    028258156f65 firmware: tegra: bpmp: Drop unused mbox_client_to_bpmp()
    bf47be5479b3 ovl: fail if trusted xattrs are needed but caller lacks permission
    6fcd6feaf132 rust: sync: require `T: Sync` for `LockedBy::access`
    d6c159c066d2 i2c: designware: fix controller is holding SCL low while ENABLE bit is disabled
    b80dc74c386f i2c: xiic: Fix pm_runtime_set_suspended() with runtime pm enabled
    625a77b68c96 media: i2c: ar0521: Use cansleep version of gpiod_set_value()
    c0e00163f804 i2c: xiic: Wait for TX empty to avoid missed TX NAKs
    7e263fd6efba i2c: qcom-geni: Use IRQF_NO_AUTOEN flag in request_irq()
    22a1f8a5b56b i2c: stm32f7: Do not prepare/unprepare clock during runtime suspend/resume
    8176d4878ed2 platform/x86: ISST: Fix the KASAN report slab-out-of-bounds bug
    b8c0aee7c2a5 Revert "ALSA: hda: Conditionally use snooping for AMD HDMI"
    2c74d33dbfd9 selftests: vDSO: fix vdso_config for s390
    0fe35c473713 selftests: vDSO: fix ELF hash table entry size for s390x
    676727021dbd powerpc/vdso: Fix VDSO data access when running in a non-root time namespace
    dfb569762ce7 selftests/mm: fix charge_reserved_hugetlb.sh test
    b88842a9f1b8 selftests: vDSO: fix vDSO symbols lookup for powerpc64
    d3b90ed9a08d selftests: vDSO: fix vdso_config for powerpc
    6c8aff20229f selftests: vDSO: fix vDSO name for powerpc
    9629c0c3e876 perf: Really fix event_function_call() locking
    42cd165b4cf8 perf callchain: Fix stitch LBR memory leaks
    e2955fbe08b0 spi: rpc-if: Add missing MODULE_DEVICE_TABLE
    106f10fef0b9 accel/ivpu: Add missing MODULE_FIRMWARE metadata
    4019391dfe37 selftests: breakpoints: use remaining time to check if suspend succeed
    c2aa41032872 spi: s3c64xx: fix timeout counters in flush_fifo
    dbda70bbe421 selftest: hid: add missing run-hid-tools-tests.sh
    494380a4e4c0 spi: spi-cadence: Fix missing spi_controller_is_target() check
    97aa3293db69 spi: spi-cadence: Fix pm_runtime_set_suspended() with runtime pm enabled
    97f76711a90e spi: spi-cadence: Use helper function devm_clk_get_enabled()
    d6e3898d62a8 spi: spi-imx: Fix pm_runtime_set_suspended() with runtime pm enabled
    c2d9f9a7837a bpftool: Fix undefined behavior in qsort(NULL, 0, ...)
    390b9e54cdfd iomap: handle a post-direct I/O invalidate race in iomap_write_delalloc_release
    ad762c520471 bpftool: Fix undefined behavior caused by shifting into the sign bit
    d43776b90765 ext4: fix i_data_sem unlock order in ext4_ind_migrate()
    34b2096380ba ext4: avoid use-after-free in ext4_ext_show_leaf()
    1fe2852720cd ext4: ext4_search_dir should return a proper error
    b111ae42bbfd bpf: Make the pointer returned by iter next method valid
    18f06bacc197 ksmbd: add refcnt to ksmbd_conn struct
    f5e30a30fce7 platform/x86: lenovo-ymc: Ignore the 0x0 state
    4298813a43f7 drm/amdgpu/gfx10: use rlc safe mode for soft recovery
    c20cd3d6d261 drm/amdgpu/gfx11: use rlc safe mode for soft recovery
    e16a6d1a3357 powerpc/pseries: Use correct data types from pseries_hp_errorlog struct
    fe2c86e1927e of/irq: Refer to actual buffer size in of_irq_parse_one()
    b511474f4958 drm/amd/pm: ensure the fw_info is not null before using it
    3ffbdc977d80 drm/amdgpu/gfx9: use rlc safe mode for soft recovery
    8361e3f78828 drm/amdgpu: Block MMR_READ IOCTL in reset
    c474a1a75599 drm/radeon/r100: Handle unknown family in r100_cp_init_microcode()
    ee5d547006d3 scsi: NCR5380: Initialize buffer for MSG IN and STATUS transfers
    66a403d89b73 perf: Fix event_function_call() locking
    deb78dc859dd drm/amdgpu: fix unchecked return value warning for amdgpu_gfx
    5e0e1a941e57 scsi: lpfc: Update PRLO handling in direct attached topology
    55119faf5abc scsi: aacraid: Rearrange order of struct aac_srb_unit
    adf290fe434c perf,x86: avoid missing caller address in stack traces captured in uprobe
    4ee08b4a7201 drm/printer: Allow NULL data in devcoredump printer
    c7630935d9a4 drm/amd/display: Initialize get_bytes_per_element's default to 1
    a1495acc6234 drm/amd/display: Avoid overflow assignment in link_dp_cts
    929506d56714 drm/amd/display: Fix index out of bounds in DCN30 color transformation
    122e3a7a8c7b drm/amd/display: Fix index out of bounds in degamma hardware format translation
    0d38a0751143 drm/amd/display: Fix index out of bounds in DCN30 degamma hardware format translation
    be2ca7a2c156 drm/amd/display: Check link_res->hpo_dp_link_enc before using it
    42d31a336438 drm/amd/display: Check stream before comparing them
    fb557a36b0b9 drm/stm: ltdc: reset plane transparency after plane disable
    64f38c08b592 platform/x86: touchscreen_dmi: add nanote-next quirk
    651ba62c255f HID: multitouch: Add support for Thinkpad X12 Gen 2 Kbd Portfolio
    71cfb54e0f0c drm/amdkfd: Fix resource leak in criu restore queue
    fe90214179d5 drm/amdgpu: enable gfxoff quirk on HP 705G4
    a3c8cbefce38 drm/amdgpu: add raven1 gfxoff quirk
    c076b3746224 jfs: Fix uninit-value access of new_ea in ea_buffer
    9288a9676c52 drm/msm/adreno: Assign msm_gpu->pdev earlier to avoid nullptrs
    4155dff76a8c scsi: smartpqi: correct stream detection
    7fff9a9f866e jfs: check if leafidx greater than num leaves per dmap tree
    4218b31ecc7a jfs: Fix uaf in dbFreeBits
    f04925a02ea2 jfs: UBSAN: shift-out-of-bounds in dbFindBits
    cf6f3ebd6312 drm/amd/display: fix double free issue during amdgpu module unload
    75839e2365b6 drm/amd/display: Add null check for 'afb' in amdgpu_dm_plane_handle_cursor_update (v2)
    9641bc4adf84 drm/amd/display: Check null pointers before using dc->clk_mgr
    4778982c73d6 drm/amd/display: Handle null 'stream_status' in 'planes_changed_for_existing_stream'
    6ec7c739346c HID: Ignore battery for all ELAN I2C-HID devices
    29d2d5eda393 ata: sata_sil: Rename sil_blacklist to sil_quirks
    8fcf85196adc ata: pata_serverworks: Do not use the term blacklist
    e47e563c6f0d drm/amd/display: Add null check for top_pipe_to_program in commit_planes_for_stream
    30ceb873cc2e drm/amdkfd: amdkfd_free_gtt_mem clear the correct pointer
    44e4aeaef96b drm/amdgpu: disallow multiple BO_HANDLES chunks in one submit
    0a1741d10da2 drm/stm: Avoid use-after-free issues with crtc and plane
    dfdbc5ba10fb iommu/vt-d: Fix potential lockup if qi_submit_sync called with 0 count
    54e86bfec010 iommu/vt-d: Always reserve a domain ID for identity setup
    1c36eb173249 power: reset: brcmstb: Do not go into infinite loop if reset fails
    2d56271fce96 rcuscale: Provide clear error when async specified without primitives
    fdda354f60a5 fbdev: pxafb: Fix possible use after free in pxafb_task()
    36bfefb6baaa fbdev: efifb: Register sysfs groups through driver core
    4b101d2f40df hwmon: (nct6775) add G15CF to ASUS WMI monitoring list
    2de5fd836bd6 x86/syscall: Avoid memcpy() for ia32 syscall_get_arguments()
    e9df4c61079e selftests/nolibc: avoid passing NULL to printf("%s")
    fc975b8daba2 tools/nolibc: powerpc: limit stack-protector workaround to GCC
    6cc4e5eaadae ALSA: hdsp: Break infinite MIDI input flush loop
    7a5574099670 ALSA: asihpi: Fix potential OOB array access
    ddd52c9fe992 x86/kexec: Add EFI config table identity mapping for kexec kernel
    407abc7e0c7f x86/pkeys: Restore altstack access in sigreturn()
    19059128205f x86/pkeys: Add PKRU as a parameter in signal handling functions
    ef6c1ed5887f tools/x86/kcpuid: Protect against faulty "max subleaf" values
    71faa656b8e7 ASoC: codecs: wsa883x: Handle reading version failure
    70d5e30b0a3c ALSA: usb-audio: Add logitech Audio profile quirk
    fb2ed616af7e ALSA: usb-audio: Replace complex quirk lines with macros
    0bf9779cd954 ALSA: usb-audio: Define macros for quirk table entries
    077e1b7cd521 x86/ioapic: Handle allocation failures gracefully
    864f68a24293 ALSA: usb-audio: Add input value sanity checks for standard types
    f888741fcfab nfp: Use IRQF_NO_AUTOEN flag in request_irq()
    fef7b51f22cf wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext()
    0a630d690b7f wifi: mt76: mt7915: hold dev->mt76.mutex while disabling tx worker
    833ebae26663 wifi: mt76: mt7915: add dummy HW offload of IEEE 802.11 fragmentation
    b4f8240bc389 can: netlink: avoid call to do_set_data_bittiming callback with stale can_priv::ctrlmode
    b017f4f6709a drivers/perf: arm_spe: Use perf_allow_kernel() for permissions
    8552508033b2 proc: add config & param to block forcing mem writes
    8b2906e1349a ACPICA: iasl: handle empty connection_node
    f37319609335 wifi: mac80211: fix RCU list iterations
    6dcadb2ed3b7 wifi: iwlwifi: mvm: avoid NULL pointer dereference
    324116255492 wifi: iwlwifi: mvm: use correct key iteration
    5cce1c07bf89 tcp: avoid reusing FIN_WAIT2 when trying to find port in connect() process
    27fe713c62a1 netpoll: Ensure clean state on setup failures
    b60d2bc676e4 crypto: simd - Do not call crypto_alloc_tfm during registration
    0f6dab0b79f1 net: atlantic: Avoid warning about potential string truncation
    f989162f55ed ipv4: Mask upper DSCP bits and ECN bits in NETLINK_FIB_LOOKUP family
    239ac7faeaea wifi: rtw89: correct base HT rate mask for firmware
    d4c4653b60de ipv4: Check !in_dev earlier for ioctl(SIOCSIFADDR).
    0d6255e512b3 bnxt_en: Extend maximum length of version string by 1 byte
    74834f4a6c19 net: mvpp2: Increase size of queue_name buffer
    12d26aa7fd3c tipc: guard against string buffer overrun
    4588ea78d390 ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package()
    93d065b704bd ACPI: EC: Do not release locks during operation region accesses
    90ec583a85c4 wifi: rtw88: select WANT_DEV_COREDUMP
    7a552bc2f3ef wifi: ath11k: fix array out-of-bound access in SoC stats
    d0e4274d9dc9 wifi: ath12k: fix array out-of-bound access in SoC stats
    1ab2cfe19700 blk_iocost: fix more out of bound shifts
    29dbea4c56df ACPI: CPPC: Add support for setting EPP register in FFH
    716dae9686fe ACPI: video: Add force_vendor quirk for Panasonic Toughbook CF-18
    cc026a7f9be6 Bluetooth: btrtl: Set msft ext address filter quirk for RTL8852B
    18ed567ad0aa Bluetooth: btusb: Add Realtek RTL8852C support ID 0x0489:0xe122
    37a6fc0d8fca net: sched: consistently use rcu_replace_pointer() in taprio_change()
    3f5625e9e92b wifi: mt76: mt7915: disable tx worker during tx BA session enable/disable
    1c6db07811fb e1000e: avoid failing the system during pm_suspend
    13ca2b3568fb ACPICA: Fix memory leak if acpi_ps_get_next_field() fails
    0b02303431a3 ACPICA: Fix memory leak if acpi_ps_get_next_namepath() fails
    68a8e45743d6 ACPI: PAD: fix crash in exit_round_robin()
    0a94777ba4ca net: hisilicon: hns_mdio: fix OF node leak in probe()
    359a218ce1a9 net: hisilicon: hns_dsaf_mac: fix OF node leak in hns_mac_get_info()
    f62bf4ffeba5 net: hisilicon: hip04: fix OF node leak in probe()
    143edf098b80 net/xen-netback: prevent UAF in xenvif_flush_hash()
    04053e55dd50 wifi: cfg80211: Set correct chandef when starting CAC
    d76360adabd6 wifi: iwlwifi: mvm: drop wrong STA selection in TX
    191e8d525620 wifi: iwlwifi: mvm: Fix a race in scan abort flow
    82465e05ca6f ice: Adjust over allocation of memory in ice_sched_add_root_node() and ice_sched_add_node()
    21ba7132a911 crypto: octeontx2 - Fix authenc setkey
    0ac97b001cce crypto: octeontx - Fix authenc setkey
    6300199be334 crypto: x86/sha256 - Add parentheses around macros' single arguments
    e37e34883503 wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit
    fdc73f2cfbe8 wifi: rtw89: avoid to add interface to list twice when SER
    e6e4cfb5f6d6 wifi: ath9k: fix possible integer overflow in ath9k_get_et_stats()
    40346cbb19ad ALSA: hda/conexant: Fix conflicting quirk for System76 Pangolin
    b0f3c6a2d0bd ALSA: gus: Fix some error handling paths related to get_bpos() usage
    2c3c1f87cf7e cifs: Do not convert delimiter when parsing NFS-style symlinks
    c6db81c550ce cifs: Fix buffer overflow when parsing NFS reparse points
    92e71ccd8fd4 ASoC: imx-card: Set card.owner to avoid a warning calltrace if SND=m
    f8f081578b5b ALSA: hda/generic: Unconditionally prefer preferred_dacs pairs
    e4c886dd24a3 cifs: Remove intermediate object of failed create reparse call
    fa72abf31bd0 ALSA: hda/realtek: Fix the push button function for the ALC257
    466129e3d0ad ALSA: mixer_oss: Remove some incorrect kfree_const() usages
    0152c81f61fa ASoC: atmel: mchp-pdmc: Skip ALSA restoration if substream runtime is uninitialized
    28234f8ab69c Bluetooth: L2CAP: Fix not validating setsockopt user input
    6a6baa1ee7a9 Bluetooth: ISO: Fix not validating setsockopt user input
    dea46e246ef0 media: usbtv: Remove useless locks in usbtv_video_free()
    0c18a64039aa Bluetooth: hci_sock: Fix not validating setsockopt user input
    b66ff9a3fc90 loop: don't set QUEUE_FLAG_NOMERGES
    3000f3a86dd0 i2c: xiic: Try re-initialization on bus busy timeout
    7c48b5a6c32c i2c: xiic: improve error message when transfer fails to start
    7f64cb5b4d8c sctp: set sk_state back to CLOSED if autobind fails in sctp_listen_start
    25a54df40841 dt-bindings: net: xlnx,axi-ethernet: Add missing reg minItems
    1372c7579ec5 iomap: constrain the file range passed to iomap_file_unshare
    f9620e2a665a ppp: do not assume bh is held in ppp_channel_bridge_input()
    d9dfd41e32cc net: test for not too small csum_start in virtio_net_hdr_to_skb()
    ea8cad4ca5e0 ipv4: ip_gre: Fix drops of small packets in ipgre_xmit
    a9ad307c0dde net: stmmac: dwmac4: extend timeout for VLAN Tag register busy bit check
    9b0ee571d20a net: add more sanity checks to qdisc_pkt_len_init()
    25ab0b87dbd8 net: avoid potential underflow in qdisc_pkt_len_init() with UFO
    da143240028c net: fec: Reload PTP registers after link-state change
    dc5fb264168c net: fec: Restart PPS after link state change
    e66e38d07b31 net: ethernet: lantiq_etop: fix memory disclosure
    718b66340364 net: Fix gso_features_check to check for both dev->gso_{ipv4_,}max_size
    dae9b99bd21f net: Add netif_get_gro_max_size helper for GRO
    f0a84ad84d98 Bluetooth: btmrvl: Use IRQF_NO_AUTOEN flag in request_irq()
    b90907696c30 Bluetooth: L2CAP: Fix uaf in l2cap_connect
    4883296505aa Bluetooth: MGMT: Fix possible crash on mgmt_index_removed
    4e3542f40f3a netfilter: nf_tables: prevent nf_skb_duplicated corruption
    fe9ccbf1b749 selftests: netfilter: Fix nft_audit.sh for newer nft binaries
    271b4904727b net: wwan: qcom_bam_dmux: Fix missing pm_runtime_disable()
    96858258de2f net: ieee802154: mcr20a: Use IRQF_NO_AUTOEN flag in request_irq()
    8691a82abf0c netfilter: uapi: NFTA_FLOWTABLE_HOOK is NLA_NESTED
    fab615ac9fcb net/mlx5e: Fix crash caused by calling __xfrm_state_delete() twice
    0168ab6fbd9e net/mlx5e: Fix NULL deref in mlx5e_tir_builder_alloc()
    1c252d64652e net/mlx5: Added cond_resched() to crdump collection
    26fad69b34fc net/mlx5: Fix error path in multi-packet WQE transmit
    70db858273c7 net: sparx5: Fix invalid timestamps
    d6c4c0867086 ieee802154: Fix build error
    11ab19d48ab8 ceph: remove the incorrect Fw reference check when dirtying pages
    10a58555e0bb mailbox: bcm2835: Fix timeout during suspend mode
    b372b484d232 mailbox: rockchip: fix a typo in module autoloading
    7879ad0aa996 drm/amdgpu: Fix get each xcp macro
    f42595fb8fdb scsi: pm8001: Do not overwrite PCI queue mapping
    6b63cda2d4f4 scsi: st: Fix input/output error on empty drive reset
    86fdd1806461 jump_label: Fix static_key_slow_dec() yet again
    33f3e832275e jump_label: Simplify and clarify static_key_fast_inc_cpus_locked()
    e67534bd31d7 static_call: Replace pointless WARN_ON() in static_call_module_notify()
    c0abbbe8c98c static_call: Handle module init failure correctly in static_call_del_module()
    18abb2787b53 x86/syscall: Mark exit[_group] syscall handlers __noreturn
    2879d995e569 pnmtologo: sync with 6.6
    43ea1c5e6eb3 lib/build_OID_registry: take -stable reproducibility changes
    35046aea43c8 bpftool: Fix undefined bpf macro for unix socket
    9a558d4b8621 tools/resolve_btfids: Fix comparison of distinct pointer types warning in resolve_btfids
    42b2eec2e503 bpftool: Query only cgroup-related attach types
    f71bb11887ba cpu/amd: inhibit SMP check for qemux86
    c31365597a17 powerpc/uaccess: Fix build errors seen with GCC 13/14
    64ebf485c56b usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
    7c76aad68f6d kselftest: Add a ksft_perror() helper
    06644f0d7193 drm/tilcdc: Set preferred depth
    ff7ae7b32324 crypto: jitter - add RCT/APT support for different OSRs
    50cd24ddb6f0 arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    58e5c91d6701 x86/alternatives: Disable interrupts and sync when optimizing NOPs in place
    c878fd2d4c79 x86/alternatives: Sync core before enabling interrupts
    c2d64b9f52b6 qemux86: add configuration symbol to select values
    630c33229e6d sched/isolation: really align nohz_full with rcu_nocbs
    0e5e0f68e2e6 clear_warn_once: add a clear_warn_once= boot parameter
    46934791b902 clear_warn_once: bind a timer to written reset value
    cdee9e38ff32 clear_warn_once: expand debugfs to include read support
    82b562b81841 tools: Remove some options from CLANG_CROSS_FLAGS
    36dc380b776b libbpf: Fix build warning on ref_ctr_off
    9e3e1fe20982 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    e497a4a5da65 perf: x86-32: explicitly include <errno.h>
    7b57ddd89565 perf: mips64: Convert __u64 to unsigned long long
    1cfc19423dc7 perf: fix bench numa compilation
    98bc2815fade perf: add SLANG_INC for slang.h
    17209a70b9b3 perf: add sgidefs.h to for mips builds
    9cd4258d910a perf: change --root to --prefix for python install
    8110a4f26628 perf: add 'libperl not found' warning
    bc89d5e08f77 perf: force include of <stdbool.h>
    4f6c760cc876 fat: Replace prandom_u32() with get_random_u32()
    bc53117b12b2 fat: don't use obsolete random32 call in namei_vfat
    30b2236ab378 FAT: Added FAT_NO_83NAME
    cef98d22b4ed FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    0bbd7daba9e1 FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    5883fc340084 aufs6: adapt to v6.6 i_op->ctime changes
    c4342d979bf2 aufs6: fix magic.mk include path
    35266bc2dc81 aufs6: adapt to v6.6
    8edede4e98be aufs6: core
    712248233ebe aufs6: standalone
    3b71a8a848d8 aufs6: mmap
    3e2924871f37 aufs6: base
    7f4907a93101 aufs6: kbuild
    d2f7b03e4aa7 yaffs2: update VFS ctime operations to 6.6+
    bcd6cfcd1aa0 yaffs2: v6.5 fixups
    cc615704b5f5 yaffs2: Fix miscalculation of devname buffer length
    8ef2e22dcf91 yaffs2: convert user_namespace to mnt_idmap
    c9c749f9f7d3 yaffs2: replace bdevname call with sprintf
    395b01cdc39d yaffs2: convert read_page -> readfolio
    d98b07e43ba6 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    613c6d50fdbe yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    622c4648936f yaffs2: v5.12+ build fixups (not runtime tested)
    7562133d4090 yaffs: include blkdev.h
    dbd44252cd59 yaffs: fix misplaced variable declaration
    c223a10b1ac0 yaffs2: v5.6 build fixups
    90f6007cfbf4 yaffs2: fix memory leak when /proc/yaffs is read
    37ee169c5ea1 yaffs: add strict check when call yaffs_internal_read_super
    b6e007b8abb6 yaffs: repair yaffs_get_mtd_device
    fb98f65a466a yaffs: Fix build failure by handling inode i_version with proper atomic API
    51e0aac75ea2 yaffs2: fix memory leak in mount/umount
    2b74a0cae7b0 yaffs: Avoid setting any ACL releated xattr
    ff4130a9c376 Yaffs:check oob size before auto selecting Yaffs1
    ba95b409c67c fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    8fa35eba9056 yaffs2: adjust to proper location of MS_RDONLY
    1eb5deaad8c4 yaffs2: import git revision b4ce1bb (jan, 2020)
    4dce67c1e8c8 initramfs: allow an optional wrapper script around initramfs generation
    2f603d83fcc4 pnmtologo: use relocatable file name
    664a6a0a484b tools: use basename to identify file in gen-mach-types
    9de64bc0c185 lib/build_OID_registry: fix reproducibility issues
    ae9b80797295 vt/conmakehash: improve reproducibility
    a972323151bd iwlwifi: select MAC80211_LEDS conditionally
    15d2adcc0198 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    5556a6c04b19 arm64/perf: Fix wrong cast that may cause wrong truncation
    5552dc768ffc defconfigs: drop obselete options
    00fe4152df31 arm64/perf: fix backtrace for AAPCS with FP enabled
    3888d0652edf linux-yocto: Handle /bin/awk issues
    3d55d299f23a uvesafb: provide option to specify timeout for task completion
    23c068c080be uvesafb: print error message when task timeout occurs
    edbfc939266e compiler.h: Undef before redefining __attribute_const__
    c99ae7e2a19a vmware: include jiffies.h
    572d84d928c8 Resolve jiffies wrapping about arp
    fdcd47cac843 nfs: Allow default io size to be configured.
    927d48801098 check console device file on fs when booting
    57cc27f821dd mount_root: clarify error messages for when no rootfs found
    1b53d82a8152 mconf: fix output of cflags and libraries
    1811da09f42c menuconfig,mconf-cfg: Allow specification of ncurses location
    83c2e0c6eb1f modpost: mask trivial warnings
    6de673039484 kbuild: exclude meta directory from distclean processing
    6decd32815f5 powerpc: serialize image targets
    f6b683b38318 arm: serialize build targets
    e798b09ebf57 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    dc8a1e5a88f8 x86_64_defconfig: Fix warnings
    68491e5f72b6 powerpc/ptrace: Disable array-bounds warning with gcc8
    d71ebfce3004 powerpc: Disable attribute-alias warnings from gcc8
    62f50884b8b1 powerpc: kexec fix for powerpc64
    da6871c62c37 powerpc: Add unwind information for SPE registers of E500 core
    f161c880c11d mips: make current_cpu_data preempt safe
    5e94a8247ce7 mips: vdso: fix 'jalr $t9' crash in vdso code
    19e36714b1c7 mips: Kconfig: add QEMUMIPS64 option
    e2e537db3cbd 4kc cache tlb hazard: tlbp cache coherency
    aee9870611e5 malta uhci quirks: make allowance for slow 4k(e)c
    881948cd1517 drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    98ec1963fcb7 arm64: defconfig: cleanup config options
    f1727c537ba8 vexpress: Pass LOADADDR to Makefile
    4474c32dc24a arm: ARM EABI socketcall
    75e31a2b70fd ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: c1466343ca07b851059ba2c0da86a3f12ff6ea9d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7829fdb1f05cf04d55d25db2d3ff705626008105)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Deepthi Hemraj
b2cd1dea04 binutils: stable 2.43.1 branch update
Below commit on binutils-2.43.1 stable branch are updated.
b82e2250574 Automatic date update in version.in
280374309b1 PR32300, --dependency-file: link dependencies are not all collected
263e116833e s390: Add arch15 instructions
645da6d426e s390: Relax risbg[n]z, risb{h|l}gz, {rns|ros|rxs}bgt operand constraints
7f7047a9c6c s390: Simplify (dis)assembly of insn operands with const bits
e7592364504 s390: Align opcodes to lower-case
d6ab1d2efdc s390: Document syntax to omit base register operand
c40337b1784 LoongArch: Add elfNN_loongarch_mkobject to initialize LoongArch tdata
95ed7cf1be2 segv in bfd_elf_get_str_section
0a71d78f6a6 ld: Don't explicitly add .note.gnu.build-id in elf.sc
ad2ce1e6457 x86: Turn PLT32 to PC32 only for PC-relative relocations
238493e7f09 x86-64: Disable PIE on PR gas/32189 test
68d5dbd315d x86-64: Never make R_X86_64_GOT64 section relative
d77d08180d1 x86/APX: Don't promote AVX/AVX2 instructions out of APX spec
f307db3d8b7 bfd: Pass true to ld_plugin_object_p
cd3e2b58f2c PR32109, aborting at bfd/bfd.c:1236 in int _bfd_doprnt
2d37b890e56 lto: Add a test for PR ld/32083
d16a1893c44 ld: Add an LTO test for common symbol override
e4cfe6dab3e Re-enable development changes on the 2_43 branch

Testing was done and there were no regressions found

(From OE-Core rev: dce36f0c4a2c1455ecce56377afc3d436096360a)

Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4950a2d67a85b3f4a643a46fdc54d348abce5ed6)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Peter Marko
efc5392268 expat: upgrade 2.6.3 -> 2.6.4
Handle CVE-2024-50602

(From OE-Core rev: 690874991ca51b37bc0af262ba6c366ff72af13f)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5dc22afe3d2ea767f084b7c6e3625cb6edd66522)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Mark Hatle
3e7489546c cve-update-nvd2-native: Handle BB_NO_NETWORK and missing db
The custom do_fetch routine is ignoring BB_NO_NETWORK, add a check for this
as the correct behavior for the user is to set:
  CVE_DB_UPDATE_INTERVAL = "-1"

If CVE_DB_UPDATE_INTERNAL is set to -1, check that a DB file exists, if not
we need to error so the user can deal with this.

Note, MIRRORs are NOT handled by this code.

(From OE-Core rev: 2bc4623a910dfa3a22cd054ea1e0f2dd59d74eea)

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 337c0806d2784d74bee8d6420fb8b4d48795d5fa)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-13 05:49:08 -08:00
Antonin Godard
e5b1aa3792 ref-manual: move runtime-testing section to the test-manual
In the same fashion as the previous commit ("ref-manual/packages: move
ptest section to the test-manual"), move the runtime testing section of
the development tasks manual to the test environment manual.

Add a link to it from the test-manual/intro document.

(From yocto-docs rev: 8ac3e2eb1dd4149b24af03666813dc6d94df466d)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 6b44257874858db3aa426d3e84a79c41cb4937a3)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:49 -08:00
Antonin Godard
587d779d56 ref-manual/packages: move ptest section to the test-manual
[ YOCTO #15106 ]

It makes more sense to document ptests in the test-manual. Since ptests
are still related to packages, keep a link to ptests from packages.rst
to the test-manual.

Reported-by: Yoann Congal <yoann.congal@smile.fr>
(From yocto-docs rev: b79d1c8d501418d20c024c92b0ace755dd6b1c88)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit b389c06b709e4791e1cce5e8a5b58f6b0cd03a14)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:49 -08:00
Antonin Godard
843c4a8de7 SSTATE_MIRRORS/SOURCE_MIRROR_URL: add instructions for mirror authentication
[ YOCTO #15218 ]

There are different ways of configuring the build host when
authentication to a mirror (SSTATE_MIRRORS or SOURCE_MIRROR_URL) is
required.

Document these methods, and begin with the preferred approach which is
to edit ~/.netrc appropriately. When that is not possible, specifying
the credentials from the URL is also possible, so document it as well.

Reported-by: peter.zsifkovits@at.bosch.com
Tested-by: Antonin Godard <antonin.godard@bootlin.com> # Debian 12 container
(From yocto-docs rev: fbe43aaa28bd0e0ec3884595e07d5d4c59116fb5)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 4c303cce0627e0f2ce52e72597541e220585aaed)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:49 -08:00
Antonin Godard
6bea4b93af ref-manual/devtool-reference: add warning note on deploy-target and shared objects
The command `devtool deploy-target` does not handle any dependency of
the application, even when properly listed in DEPENDS or RDEPENDS. While
the current documentation was clear on that, it felt needed to add a
note on the fact that build-time dependencies may also result in
runtime dependencies, especially for people new to the project.

Add a warning block below the existing deploy-target documentation.
Also, link to the Overview and Concepts page, which explains it
thoroughly.

[ YOCTO #14377 ]

Reported-By: Robert Berger <pokylinux@reliableembeddedsystems.com>
(From yocto-docs rev: 018df90485f4ae9312a61885f52cade6d863e3b4)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 56c84004daad5f8a5db53e36852331435d57c8af)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:49 -08:00
Antonin Godard
111d75956c contributor-guide/submit-changes.rst: suggest to remove the git signature
By default when sending patches Git adds the git version at the bottom
of the patch, which is not necessary in most cases. Suggest to remove it
when configuring Git when sending patches.

Suggested-By: Jaekyu Lee <jaekyu.lee@lge.com>
(From yocto-docs rev: 8ce5875766008827de7bc9bcf8ee5417d557abcb)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit d3465691231f10466703198a831a681803ffdfad)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:49 -08:00
Antonin Godard
5eba7f90c7 ref-manual/qa-checks: remove patch-status-core/patch-status-noncore
These QA checks were merged as "patch-status" after commit
61a881fdbe8b5a21c6276b8a5d06cc30486b1eb3 ("insane: Improve patch-status
layer filtering") in OE-Core.

[ YOCTO #15345 ]

Reported-By: Diego Sueiro <diego.sueiro@arm.com>
(From yocto-docs rev: 39f5d3d1bfb087ea3a736e9a34829ec45bc7bd13)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 3f3a9f53fea6c7d533b9e999dc959dcc3bed7745)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:49 -08:00
Trevor Gamblin
e8eab0f9b4 reproducible-builds.rst: show how to build a single package
Add a bit to the "Can we prove the project is reproducible?" section to
show how OEQA_REPRODUCIBLE_TEST_TARGET can be used to test a single
package (rather than the world build), as this may be useful for
maintainers.

[YOCTO #15619]

(From yocto-docs rev: 0c1ca2bd6de4cf98a91fbbec9524e08682739487)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit c4bc09f61621938086be377653121d6b4e62b570)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:49 -08:00
Mark Hatle
59f1177527 populate_sdk_ext: write_local_conf add shutil import
Add shutil import to resolve error:

Exception: NameError: name 'shutil' is not defined, Did you forget to import 'shutil'

(From OE-Core rev: 6f0d75ed7bbae03301bd41db1076ce926c5e742c)

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b64263a43b4d82f1ebba13815bccb8a8cd3127f9)
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:48 -08:00
Wang Mingyu
991f1b56b2 gstreamer1.0: upgrade 1.24.9 -> 1.24.10
(From OE-Core rev: 42104c010fc6f9bdee84625604777974ad2b70a5)

(From OE-Core rev: 6a871d3166775d95a8a50cb79bec6a2e158b5674)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:48 -08:00
Alexander Kanavin
4d7a32679f gstreamer1.0: upgrade 1.24.6 -> 1.24.9
(From OE-Core rev: e01f9c79725388437d52096701416b61d9a0aa7d)

(From OE-Core rev: e30a79d4ee30b51cdc83fc13121d548fde3b1e7a)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:48 -08:00
Ross Burton
2f971cc14b gstreamer1.0: run ptests in parallel
Run the ptests in four parallel jobs (reduces runtime from ~80s to ~20s
on my machine), and also pass any arguments in the scripts to make it
easier to run individual tests.

(From OE-Core rev: 87a9fadc71c8d3c1eb841c84c96146d5c56f1241)

(From OE-Core rev: 4a5b169abf171754217458d1615f9fb8bddc4a2b)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:48 -08:00
Ross Burton
25c8215476 gstreamer1.0-libav: explicitly disable documentation
We can't build documentation when doing a cross build, so disable it
explicitly to be clear.

(From OE-Core rev: 2706062d3a711ff0b2c03bee40b908ad329ebd6d)

(From OE-Core rev: f60e311ebbbc7230471b6b9d6036d5e8d6c21c3d)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:48 -08:00
Yash Shinde
44c8d98587 binutils: Fix CVE-2024-53589
A buffer overflow vulnerability exists in GNU Binutils’ objdump utility
when processing tekhex format files. The vulnerability occurs in the
Binary File Descriptor (BFD) library’s tekhex parser during format identification.
Specifically, the issue manifests when attempting to read 8 bytes at an address
that precedes the global variable ‘_bfd_std_section’, resulting in an out-of-bounds read.

Backport a patch from upstream to fix CVE-2024-53589.
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=e0323071916878e0634a6e24d8250e4faff67e88]

(From OE-Core rev: 04c6b181bf9b1babd647c642ba8598b837f1263b)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:48 -08:00
Sunil Dora
d0a0b07574 gcc: Fix c++: tweak for Wrange-loop-construct
This commit updates the warning to use a check for "trivially constructible" instead of
"trivially copyable." The original check was incorrect, as "trivially copyable" only applies
to types that can be copied trivially, whereas "trivially constructible" is the correct check
for types that can be trivially default-constructed.

This change ensures the warning is more accurate and aligns with the proper type traits.

LLVM accepted a similar fix:
https://github.com/llvm/llvm-project/issues/47355

PR c++/116731 [https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116731]

(From OE-Core rev: b8260e5aca93a7000001013f8a950fb040141588)

Signed-off-by: Marek Polacek <polacek@redhat.com>
Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:48 -08:00
Antonin Godard
a1b9be34db buildtools-docs-tarball: Add rsvg so we can handle svg files in docs
We need to convert svg into png in the docs build so add rsvg tools
to handle this.

(From OE-Core rev: 5dd1fdf4c3e8596c4e7c8cd57d371c2c1d4b0843)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:48 -08:00
Guðni Már Gilbert
c2dcb76eb1 python3: upgrade 3.12.7 -> 3.12.8
Changelog:
https://docs.python.org/release/3.12.8/whatsnew/changelog.html#python-3-12-8

(From OE-Core rev: 751cf7a576dbb949763703e655e951bcd583f251)

Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:48 -08:00
Guðni Már Gilbert
1b4d8585f0 python3: upgrade 3.12.6 -> 3.12.7
Changelog:
https://docs.python.org/release/3.12.7/whatsnew/changelog.html#python-3-12-7

(From OE-Core rev: 103cb3a5390214bd95a75c4db4b00f64b456b7f1)

Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-01-09 06:02:48 -08:00
Antonin Godard
d65fa3f3a7 poky.conf: add new tested distros
These are currently tested on the autobuilder for Styhead.

(From meta-yocto rev: a943016dab5107976f57ed2a451e6038b88f70e5)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-26 06:01:37 -08:00
Michael Opdenacker
d1b1b32756 dev-manual/bmaptool.rst: simplify and fix instructions
- Remove duplicate instructions

- Detail how to run bmaptool directly if you installed it on your host
  instead of building it through the ``bmaptool-native`` recipe,
  as running "oe-run-native bmaptool-native bmaptool ..." won't work
  in this case.

- Use "chmod a+w" instead of "chmod 666", better advice,
  and only run "chmod" in the option that runs "oe-run-native"

(From yocto-docs rev: 8e6b07ffcc3aacee2244e064e09c27418017e414)

Signed-off-by: Michael Opdenacker <michael.opdenacker@rootcommit.com>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 4afa71ef6e5bf1db126c80e6d987f588d0b5a086)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-26 06:01:37 -08:00
Michael Opdenacker
4f8eb0e638 dev-manual/bmaptool.rst: correct command for bmaptool-native
Using only "bitbake bmaptool-native", running "oe-run-native bmaptool-native bmaptool ..."
fails as follows:

Error: Have you run 'bitbake bmaptool-native -caddto_recipe_sysroot'?

Running the "bitbake bmaptool-native -caddto_recipe_sysroot" target
is actually sufficient.

(From yocto-docs rev: 8c08d627127866194aea1ca19b1e4055fe5e7b9f)

Signed-off-by: Michael Opdenacker <michael.opdenacker@rootcommit.com>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 72fe904a3bbb5e2c7279ab1f119c2beca200dcf2)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-26 06:01:37 -08:00
Michael Opdenacker
e1c2e2e3fa dev-manual: fix styling of references to bmaptool
To follow the styling conventions when we are
refering to the name of a tool instead of the command itself
(documentation/standards.md).

This also improves the HTML rendering of the bmaptools subsection.

(From yocto-docs rev: f8bf503b13a53fb0b34c1fdac92d78d66813abfb)

Signed-off-by: Michael Opdenacker <michael.opdenacker@rootcommit.com>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit c569d840c4b6f43e10629b6f1ff45189211e27a9)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-26 06:01:37 -08:00
Antonin Godard
e82dc2ad3c Update the documentation for SRCPV
The variable SRCPV is deprecated since 4.3. Instead of including SRCPV
in PV, including the sign "+" is enough for bitbake to add the source
control information to PKGV during the packaging phase.

Update the documentation for SRCPV and the places where it was used.
When instructions previously referred to SRCPV, replace by mentioning to
include "+" in the assignment.

In most examples, "+git" is added to PV as it is the most popular SCM.
Simply adding "+" is also possible, although it is better practice to
include the SCM name, so give that example.

Update the gcompat example with l3afpad as it didn't include "+git" in
its PV definition anymore.

(From yocto-docs rev: 3866c09cc0460d25fefc0c831affd89633cf8a7b)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit ee16c96202e5027d1a8d7e89e11c25f127c78326)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-26 06:01:37 -08:00
Richard Purdie
bca4068948 cve-update-nvd2-native: Tweak to work better with NFS DL_DIR
After much debugging, the corruption issues on the autobuilder appear to
be due to the way sqlite accesses database files. It doesn't change the
file timestamp after making changes, which for reasons unknown, confuses
NFS. As soon as the file is touched, NFS becomes fine again accross the
whole cluster, as if by magic.

We could try and debug further but putting a "touch" call into the code
is easy and harmless. Lets hope this removes this annoying source of
errors.

(From OE-Core rev: 6e517366cda4c22547ed097ee58126f7dfc56a57)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-18 06:37:29 -08:00
Antonin Godard
6a06994363 system-requirements.rst: add dependencies for pdf builds
With the recent changes from commit
bd6265ca323fac547a197bb516dc4a9ef3897508 ("doc: Makefile: add support
for xelatex"), the list of dependencies needs to be updated.

The initial list of dependencies was made for Ubuntu/Debian, and the
packages were translated for the other distros using pkgs.org.

Add them separately from the rest of the dependencies as they pull a
_lot_ of additional dependencies (for LaTeX).

Move the texlive-fncychap documentation dependency to the PDF specific
dependency.

Notes:
- Fedora/OpenSUSE do not have the "lang-all" texlive collection, so
  install all available languages.
- AlmaLinux does not seem to provide texlive-collection-fontsextra,
  texlive-collection-lang*, and texlive-collection-latexextra, so add a
  warning about that.

(From yocto-docs rev: 01048d7de570a9d896c5aab294008396e2d78607)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 02c090718ac602f7d4760dd28dadbf0631668d49)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Antonin Godard
a5efa185bb system-requirements: update list of supported distros
To match the list in meta-poky/conf/distro/poky.conf.

(From yocto-docs rev: 02de22c04e51e0ca43394b6d5df2adca0068ca1a)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit c9c3f6896e4bc967a9b394574532735babb70397)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Antonin Godard
43251de6de system-requirements: add fedora 39 to supported distros
(From yocto-docs rev: 5236193be5297366f23c930be1bf283956d6d257)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit dc7fd0e56fbfed77975f6b4ed2106331476ef7f3)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Antonin Godard
a9263bd0c3 poky.yaml.in: replace inkscape dependency by librsvg2-bin
inkscape used to be a requirement to convert SVG images to PNGs/PDFs,
but we replaced it recently by rsvg-convert.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: cf161a7e8210ecef884fcd51a5f683f2daf21aeb)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 8c0bb4e41c203a0a7a31c2bdc26834d87a83413a)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Antonin Godard
c69d1db652 poky.yaml.in: add missing locales dependency
This is a requirement for building the documentation, otherwise we get
(on Ubuntu 24.04):

     File "/usr/lib/python3.12/locale.py", line 615, in setlocale
       return _setlocale(category, locale)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   locale.Error: unsupported locale setting

(From yocto-docs rev: bfefcc4222cba5e812d3fe3ea4c39a846b3cb69b)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 0943a7b67ef0012b5d9badc15e0c579dbb9014ae)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Antonin Godard
0ee3614e0f Gather dependencies in poky.yaml.in
We used to have packages here and there in system-requirements.rst for
each distro. Instead, gather all the dependencies in poky.yaml.in so we
have an overview of what we provide for each distro.

Use yaml ">" to list the dependencies in alphabetical order, one entry
per line, which makes them easier to read and compare among distros.

Rename UBUNTU_… variables to UBUNTU_DEBIAN_…, since these are used for
both distros.

(From yocto-docs rev: e365a6d5c59f72f4e6a81a0267cbfcda61502d45)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 1ed6118b7cf1b5dcbfca753c83fa30fb97bf44ad)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Antonin Godard
13a641dffb docs: update current releases
Remove dunfell and nanbield which are not supported anymore.
Add styhead as an active release.
Set walnascar as the dev branch.

The switcher menu now contains:
- Unstable (dev)
- Styhead (5.1)
- Scarthgap (5.0.4)
- Kirkstone (4.0.22)

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 1b62abaadba198627d2a092ffd29046fe9fcf139)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 4c81e2856c268d7d0221ebb6b8156ad65b9e83ca)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Lee Chee Yang
18e3d524c7 migration-guides: add release notes for 5.1.1
(From yocto-docs rev: 2b412cb13b3f199b4a67b4d7f4bb01502833cce4)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit db2ff7bbe64e1dca6b0868046f478d7622f79865)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Guénaël Muller
d6fe9f9f99 ref-manual: use standardized method accross both ubuntu and debian for locale install
Modify locale installation method to be standard accross all debian-based distributions.
Pre-existing method is available only on Ubuntu, locale-gen tool has no parameter in Debian.

(From yocto-docs rev: f0a786c185ca4d8fa1e1f2f64e2af5465d9ac4aa)

Signed-off-by: Guénaël Muller <guenael.muller@smile.fr>
Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Tested-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 30002019198a168e48537407bb928facb26af82a)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Sid-Ali
dd6b2448aa shadow: use update-alternatives to handle su.1 and nologin.8
This patch fixes the following error at do_rootfs:

  update-alternatives: Error: not linking
  /PATH/TO/rootfs/usr/share/man/man1/su.1
  to /usr/share/man/man1/su.1.util-linux since
  /PATH/TO/rootfs/usr/share/man/man1/su.1
  exists and is not a link

  update-alternatives: Error: not linking
  /PATH/TO/rootfs/usr/share/man/man8/nologin.8
  to /usr/share/man/man8/nologin.8.util-linux since
  /PATH/TO/rootfs/usr/share/man/man8/nologin.8
  exists and is not a link

The problem can be reproduced by adding the following lines to local.conf
and then building an image:

  EXTRA_IMAGE_FEATURES:append = " doc-pkgs"
  IMAGE_INSTALL:append = " shadow util-linux"

su.1 and nologin.8 are handled by update-alternatives in util-linux recipe, so
do it in shadow recipe too.

(From OE-Core rev: a12be809144cbca43576d15c0f0f1781eeaf5a27)

Signed-off-by: Sid-Ali Teir <sidali.teir@cysec.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 198c4582c6391ac87c49e09882189235c44b60e9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Guðni Már Gilbert
ae130b042f dnf: drop python3-iniparse from DEPENDS and RDEPENDS
python3-iniparse dependency was dropped 2019, see the
following commit as reference:
d7d0e0e2f9

When looking at the Git history, this happened around tag 4.2.1

(From OE-Core rev: 82b1c8fb497f74bbc67cc6763116fa96267acc4a)

Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Guðni Már Gilbert
25b62b9d75 python3-poetry-core: drop python3-six from RDEPENDS
Looking at the history, python3-six was removed as a dependency
in the poetry.lock file in v1.5.2

Even before v1.5.2 and until now (v1.9.1) there is no code in
the package which imports the six module. So it can be safely
dropped from the recipe.

(From OE-Core rev: 01a938f176c1eb2f753c2df50ef966cc175a2d18)

Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Guðni Már Gilbert
334ca4a275 systemd-boot: drop intltool-native from DEPENDS
intltool was dropped as a dependency in v236
See commit for reference:
c81217920e

(From OE-Core rev: 0df327ea64ec6a9e99c8f96e1dab52d3db3711b3)

Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Guðni Már Gilbert
cba63e1d0a systemd: drop intltool-native from DEPENDS
intltool was dropped as a dependency in v236
See commit for reference:
c81217920e

(From OE-Core rev: 5c6254279c8b7faf76809024ebbc02856030179e)

Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Hitendra Prajapati
6d7266c511 ghostscript: upgrade 10.03.1 -> 10.04.0
avoid-host-contamination.patch
refreshed for 10.04.0

Changelog:
===========
- addresses CVEs: CVE-2024-46951, CVE-2024-46952, CVE-2024-46953, CVE-2024-46954, CVE-2024-46955, CVE-2024-46956
- add protection for device selection from PostScript input.
- efforts in code hygiene and maintainability continue.
- The usual round of bug fixes, compatibility changes, and incremental improvements.
- add the capability to build with the Tesseract OCR engine.

(From OE-Core rev: a0c802e9b1d8400589aede20e52f40d10a344314)

(From OE-Core rev: 067e769ada6c8cd5783c6d32f24cea9f0e4ed666)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Peter Marko
5ec843a287 curl: patch CVE-2024-9681
Picked commit [1] per solution described in [2].

[1] https://github.com/curl/curl/commit/a94973805df96269bf
[2] https://curl.se/docs/CVE-2024-9681.html

(From OE-Core rev: 19663c559b72a0d14ddd0792be325284a6e16edc)

(From OE-Core rev: c8282f5f79a38be0672c68c9e8f11bc072b77b56)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Peter Marko
5aec1091bf rust: ignore CVE-2024-43402
This CVE was created because fix for CVE-2024-24576 was incomplete.
Ignore the new CVE in the same way as the old one.

See https://nvd.nist.gov/vuln/detail/CVE-2024-43402

(From OE-Core rev: 6ed9968bf3e35aca316227ee23294c683f77055d)

(From OE-Core rev: 10abc451f37be9d7d6b9482dbd5666a2bf8e9736)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:11 -08:00
Ross Burton
b5b326fcc6 libsndfile1: backport the fix for CVE-2024-50612
Backport the fix from upstream.

(From OE-Core rev: 2fc6b711a6a7252ddf13587927c06333f5a38d71)

(From OE-Core rev: 4d76d2f2affb95f25f1882f33305b1489a392f65)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:10 -08:00
Hitendra Prajapati
f2609a2f16 libarchive: fix CVE-2024-48957 & CVE-2024-48958
Backport fixes for:

* CVE-2024-48957 - Upstream-Status: Backport from 3006bc5d02
* CVE-2024-48958 - Upstream-Status: Backport from a1cb648d52

(From OE-Core rev: 8b520c3cea136591128f6601718c23334afd7a55)

(From OE-Core rev: 4f6a2eea1476bc7be1d55b6b6051c4b65d4d97fa)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:10 -08:00
Peter Marko
027121de7e qemu: patch CVE-2024-6505
Backport patch [3] as linked from [1] via [2].

[1] https://nvd.nist.gov/vuln/detail/CVE-2024-6505
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2295760
[3] https://gitlab.com/qemu-project/qemu/-/commit/f1595ceb

(From OE-Core rev: ded62bdb5ce9da62aaaa53ac20203bd87a7b1197)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:10 -08:00
Peter Marko
52c7e49e2c builder: set CVE_PRODUCT
Builder is a common word and there are many other builder components
which makes us to ignore CVEs for all of them.
There is already 1 ignored and currently 3 new ones.

Instead, set product to yocto to filter them.

(From OE-Core rev: fd4ec5a5318b36af0a9a0a097a5b1f1de44a8edf)

(From OE-Core rev: 18773170492fc01ce7123ba0fac88e58750a3b93)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-17 12:58:10 -08:00
Lee Chee Yang
ecd195a3ef migration-guides: add release notes for 4.0.23
(From yocto-docs rev: 59c219067c6e47968d07d1f34ff0530f2411fd11)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 5835cb574881d57785f099c768467177d077e867)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Antonin Godard
2854015f70 ref-manual: classes: fix bin_package description
The previous bin_package description was confusing: it would instruct to
use the git fetcher to extract the content of an RPM package using the
`subpath` option - but that's not possible as the git fetcher can be
used to clone a repository but not to do the extraction.

Update the description by telling what it really does and what it
doesn't do, and by giving an HTTPS+RPM example.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 1c60116c666a742838129f0b83007d81f3c0e05d)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 305f024bf99ba02b153eed0cebe3d36594868497)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Lee Chee Yang
02b3ba14de migration-guides: add release notes for 5.0.5
(From yocto-docs rev: a6edb2e6e79ef414754a4deeeb3a940a41ca40c8)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 4175839e718db49bf6971e900c1cf176d03458d7)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Alexander Kanavin
5c8cef6207 ref-manual: merge two separate descriptions of RECIPE_UPGRADE_EXTRA_TASKS
The second description was added due to confusion over the variable rename in oe-core.

(From yocto-docs rev: ff33f7c374c6079af4dc2609e9fb63d705598bc7)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit b64fb34643343b364705df9c3bd64af91ed9d687)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Lee Chee Yang
5a12600915 migration-guides: add release notes for 5.0.4
(From yocto-docs rev: b59347a137c82832297677d9e7a9247dbb694d56)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Antonin Godard
363f76a783 standards.md: add a section on admonitions
We try to limit our usage of these admonitions to `note` and `warning`,
as the Sphinx documentation warns that most themes only style these two
admonitions. So add a section on that.

Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 845983eed77f9914994375eff11ea5c9bb690593)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit a37bb6cbb67f923206c5c168b5239527530fbce5)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Richard Purdie
721a0e0103 resulttool: Improve repo layout for oeselftest results
Having all oe-selftest results on top of each other results in a large 640MB
json file which is hard to use. Split the results out per machine and test type.

This also stops the toolchain raw logs from overwriting each other meaning more
than one MACHINE is preserved.

(From OE-Core rev: 8717a2e2161378bab4e27d515a71396b2a6bcf00)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4b890f04bc7d147b4a11b824a84f3d2abd75ac54)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Richard Purdie
ea0a01b8f2 resulttool: Trim the precision of duration information
The duration values have pointless amounts of precision. Removing some of the
least significant digits reduces result size and makes the results easier to read.

(From OE-Core rev: 7a95226404e41e878858afcc383d26fb534ccf16)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a789a2e6d97bb8efd663226a17db8d1ca6c1e40f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Richard Purdie
d329f42da2 resulttool: Clean up repoducible build logs
We've improved the data stored for reproduicible builds. Teach resulttool how
to apply those cleanups when reprocessing data so we can reduce results file
sizes and make the data easier to process.

(From OE-Core rev: 316535d421be32d773a4f98beea5bf2aabfccefb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b799c57ae6d61c1b1c7035c8a2c4ba6ee08d1a81)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Richard Purdie
4d496db35d resulttool: Handle ltp rawlogs as well as ptest
Improve the rawlogs handling to include ltp logs as well as the ptest ones to
reduce the size of the results git repos.

(From OE-Core rev: 8a34083bf097bf6a8362ce7f9b86fba5662a27bd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a0a1954d559609c2c1ca16936d0d68eb3c4c6b45)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Richard Purdie
e6b2aa1998 resulttool: Add --logfile-archive option to store mode
Storing the log files inside the testresults git repo isn't scaling and isn't
really appropriate use of a git repository. Allow these to be optionally stored
in a separate filesystem location so the git repo can remain managable.

(From OE-Core rev: 174e86868178f817f2bb6b3d9c7224a4352144ed)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1afc0f3d7e93fa8496be241e9622d3b9a6904bd5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Richard Purdie
0f8b48414d resulttool: Fix passthrough of --all files in store mode
When using store mode, --all was broken as not all files were being preserved.
Fix this by limiting the scope of the git rm command.

(From OE-Core rev: ad850837d3a45fa7cc094e3eb9c059120664c8e2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9604561d2022b6c76b1cb4186d40800d1affdd2b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Richard Purdie
8cd1a180d6 oeqa/utils/gitarchive: Return tag name and improve exclude handling
Tweak the gitarchive exclude handling not to error if excluded files
don't match.

Also return the tagname created so that other code can then use it.

(From OE-Core rev: bde2cf92e1a968e7272a194b887c331742f94d5b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1adba3430faffdf6217b6a00533a3b48a9388abc)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Richard Purdie
4dec174239 resulttool: Use single space indentation in json output
Using 4 space indentation in resulted in hundreds of megabytes of extra file size
in general use. Reduce this to make filesizes more managable and reduce the processing
cost. Some level of indentation and spacing does make the files more readable and allows
use of git diff so we need to retain some of it.

(From OE-Core rev: b8be3ac506bb39665390c770f72de2ca359670b1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a274cdcaf852cca9497f0358f44dda99c06aacbe)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Richard Purdie
417c3eb065 resulttool: Allow store to filter to specific revisions
We have a challenge on the autobuilder where test results from both OE-Core
and poky are being mixed together during result storage which is confusing the
data. Add a way to filter to specific revisions as the least worst way to fix
the various issues this is causing.

(From OE-Core rev: 42a21e6f942208da75ae1121468379044ece77dc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3f276a0dc65341668788853be2cf27ab6aa12b13)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Richard Purdie
d666d72ba2 selftest/reproducible: Clean up pathnames
There are several problems with these paths. Firstly they contain full
system paths which depend upon where the test was run. These are pretty
pointless and just take up a lot of space making the results files large.

Secondly, they contain the same path twice. The reference and target path
will always be the same thing in two different locations.

Strip off the prefix and remove the duplication. This does change the output
data but that can't really be avoided. It does shrink the results data and makes
it more readable.

(From OE-Core rev: 40b422edd954eeb917464e6baa0e952d2ed4184c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 81a44de36e864b08687451fd85aeba7c529fd7f7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Richard Purdie
78809626ec selftest/reproducible: Drop rawlogs
The "rawlogs" data consists of a long string of results data which is
already in a structured data format. I can't see this is adding much
value in duplciating the data but it does create a huge string with a
lot of long problematic pathnames and inflates the results data size.

I suggest we drop this data as obsolete and not necessary.

(From OE-Core rev: d35e96785a07bba29a76c96f91751be12497f50c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5b2c70fab2ffa409b861d83f048b65d458d03a90)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Richard Purdie
8c3866aa53 do_package/sstate/sstatesig: Change timestamp clamping to hash output only
The code was changing the timestamps of the files in the do_package output,
particularly the files added for debug sources. This was to do two things:

a) make do_package sstate more reproducible
b) ensure better hash equivalence matching

Unfortuately the debug source files are hardlinks into the source tree for
efficiency so touching these, touches a lot of files in ${B} and ${S}. This
causes unpredictable effects if compile is run again for example, or could
cause compiling in the install task.

The hash equivalence matching is of key importance but we can mimic that
using clamping of the file timestamps in the depsig output used to generate
the hashes.

This patch drops the global timestamp clamping, instead allowing the files
to retain their creation timestamps into sstate. This makes do_package sstate
slightly less reproducibile. We could clamp the sstate timestamps but that
would lead to two different sets of timestamps depending on whether the
data came from sstate or not. I'd prefer to have consistent code behaviour,
rather than differing behavhour depending on whether data came from sstate
or not.

If we wanted to have reproducibiliy and fix the "corruption" of S/B and have
consistent codepaths, the only other option would be two copies of the
sources, which could end up huge and seems the least desireable option.

This patch therefore drops the timestamp clamping in the sstate files
and tweaks the depsig data generation to clamp the timestamps for do_package
instead since this seems the best compromise.

I validated that rpm/deb/ipk files still generate correctly as before.

(From OE-Core rev: 0e6b2c761f6d727fe21a0ce2803a0f0aef236f59)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 475759fdab7200488b2a568b2ba1aa31a456d113)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Changqing Li
a0af85c8cf rxvt-unicode.inc: disable the terminfo installation by setting TIC to :
Without this change, TIC is the native tic in recipe-sysroot-native.
By default, native tic has set its default terminfo path to native path:
${datadir}/terminfo; $HOME/.terminfo

When sstate cache is used, the cached native tic's terminfo path could
be a path not exist on current host, then native tic will try to install
terminfo to HOME dir, cause host contamination.

Disable the terminfo installation by setting TIC to :

(From OE-Core rev: 571e50db36d2b4bac075d4025efbdfdb8548468b)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit fe35ead2c3135a18c346e7baa31d34b15c3e2d95)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Deepthi Hemraj
02847cd56f glibc: stable 2.40 branch updates.
Below commits on glibc-2.40 stable branch are updated.
626c048f32 elf: handle addition overflow in _dl_find_object_update_1 [BZ #32245]
efb710034e linux: sparc: Fix clone for LEON/sparcv8 (BZ 31394)
2344580243 Mitigation for "clone on sparc might fail with -EFAULT for no valid reason" (bz 31394)
3a34851103 elf: Change ldconfig auxcache magic number (bug 32231)
85e5850f2f Make tst-strtod-underflow type-generic
5c06c6e0b5 libio: Set _vtable_offset before calling _IO_link_in [BZ #32148]
cc256952ec Add tests of more strtod special cases
8f40dfbe2a Add more tests of strtod end pointer
4a9b6cdc88 Make tst-strtod2 and tst-strtod5 type-generic
5a10d05c39 powerpc64le: Build new strtod tests with long double ABI flags (bug 32145)
c4cc72d2ef Do not set errno for overflowing NaN payload in strtod/nan (bug 32045)
ad93c2047d Improve NaN payload testing
cac10d88c6 Make __strtod_internal tests type-generic
d0c1792ad2 Fix strtod subnormal rounding (bug 30220)
e06153665f More thoroughly test underflow / errno in tst-strtod-round
9bc76c7ca4 Test errno setting on strtod overflow in tst-strtod-round
61b6464f8d Add tests of fread
77018fd9f9 stdio-common: Add new test for fdopen

Testresults:
After update	|Before update	 |Difference
PASS: 4947	|PASS: 4945 	 |PASS: +2
FAIL: 224	|FAIL: 224	 |FAIL: 0
XPASS: 4	|XPASS: 4	 |XPASS: 0
XFAIL: 16	|XFAIL: 16	 |XFAIL: 0
UNSUPPORTED: 229|UNSUPPORTED: 229|UNSUPPORTED: 0

(From OE-Core rev: e773465484dbcae693b75ea1a61006a0cedb79cc)

Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Richard Purdie
f23d3a5603 bitbake: runqueue: Fix scenetask processing performance issue
Analysis shows that "bitbake core-image-ptest-all" spends a lot of
time in scenequeue_updatecounters and much of it is rebuilding a set
which doens't change. Reorder the code to avoid that performance
glitch.

(Bitbake rev: 1452e74cc4ddfaadc6537a049877a66cec253c8d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 923c19b9713e398d8e66e6d4422dfd4c18a03486)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Richard Purdie
d4efa698f2 bitbake: runqueue: Optimise setscene loop processing
Rather than looping through things we looped through on the previous execution,
start looping where we left off for setscene processing. This gives speed
improvements depending on the kind of build being executed.

(Bitbake rev: 5465f9b6e3b4748e563efc53657af96f02a41c7a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 00f4d932e3af0eeb333339cbe942010fc76dee0f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Richard Purdie
e619153f24 bitbake: runqueue: Fix performance of multiconfigs with large overlap
There have been complaints about the performance of large multiconfig builds
for a while. The key missing data point was that the builds needed to have large
overlaps in sstate objects. This can be simulated by building the same things with
just different TMPDIRs. In runqueue/bitbake terms this equates to large numbers of
deferred tasks.

The issue is that the expensive checks in the setscene loop were hit every time
through runqueue's execute function before the check on deferred tasks. This leads
to task execution starvation as that only happens once per iteration.

Move the skip check earlier in the function which speeds things up enormously
and should improve performance of such builds for users.

(Bitbake rev: 5392a2bf6d82626e11eec5578eb4de53ba09f1fe)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9c6c506757f2b3e28c8b20513b45da6b4659c95f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-12-09 06:25:53 -08:00
Steve Sakoman
7e081bd98f build-appliance-image: Update to styhead head revision
(From OE-Core rev: b511d0146a2e8f316f4aecc90c853215674013ea)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:45:41 -08:00
Steve Sakoman
34cbe78845 poky.conf: bump version for 5.1.1
(From meta-yocto rev: 9ea6609e61db3c66d6e3231afb424193165aad24)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Alexander Kanavin
8282240ec1 package_rpm: restrict rpm to 4 threads
TL;DR version:

with this, and the previous compression level changes
I am seeing drastic speedups in package_write_rpm completion times:

webkitgtk goes from 78 seconds to 37 seconds
glibc-locale goes from 399 seconds to 58 seconds (!)

The long version:

rpm uses multithreading for two purposes:

- spawning compressors (which are nowadays themselves
multi-threaded, so the feature is not as useful as it once
was)
- parallel file classification

While the former behaves well on massively parallel CPUs
(it was written and verified here :), the latter was then added
by upstream and only benchmarked on their very old, slow laptop,
apparently:
41f0e214f2

On anything more capable it starts showing pathologic behavior,
presumably from spawning massive amount of very short-lived threads,
and then having to synchronize them. For example classifying glibc-locale
takes
5m20s with 256 threads (default on my machine!)
1m49s with 64 threads
59s with 16 threads
48s with 8 threads

Even a more typical recipe like webkitgtk is affected:
47s with 256 threads
32s with 64 threads
27s with 16 or 8 threads

I have found that the optimal amount is actually four: this also
means that only four compressors are running at a time, but
as they're themselves using threads, and typical recipes are dominated
by just two or three large packages, this does not affect overall
completion time.

(From OE-Core rev: ac480775440fba812fd5aa9da73e0e5bc60d46d6)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Alexander Kanavin
3f6f82abab package_rpm: use zstd's default compression level
zstd uses 3 by default, while 19 is the highest and slowest.
It's not clear why 19 was picked to begin with, possibly
I copy-pasted it from rpm's examples without thinking:
https://git.yoctoproject.org/poky/commit/?h=master-next&id=4a4d5f78a6962dda5f63e9891825c80a8a87bf66

This brings significant speedups in rpm's compression step:
for example compressing webkitgtk takes 11s instead of 36s.

The rpm size increases from 175648k to 234860k. I think it's
a worthy default tradeoff.

(From OE-Core rev: 9ec8b99470ed744c8eca0b23f99ba54210984080)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Markus Volk
d7cd2e6f52 gcc: add a backport patch to fix an issue with tzdata 2024b
There is an issue in the std::chrono::tzdb parser that causes problems
since the tzdata-2024b release started using %z in the main format.

As a real world problem I encounter an issue with the waybar clock module,
which ignores the timezone setting and only shows system time.

(From OE-Core rev: 08dfd3849bd804f4760ebeca226645e65709a65a)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 39018429f05511053ab12e23e7f4487ea25ee529)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Kai Kang
814bde9a6b kexec-tools: update COMPATIBLE_HOST because of makedumpfile
makedumpfile is not compatible with mipsarcho32 and riscv32, so set for
kexec-tools accordingly.

And update packagegroup-core-tools-testapps too.

(From OE-Core rev: 6922821ab9a0e72e666e57e4b941e5821503509e)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9107d9c09c7dab385c6034778cefadca3613be9c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Alexander Kanavin
afa029245b selftest/sstatetests: run CDN mirror check only once
The first no-fail check was an attempt to work around the old
CDN's instability (and it didn't really help); it should not be necessary
with the new CDN, and only delays a-full completion.

(From OE-Core rev: 6ffde2643e6ee8a2a0eddca173a254dbdc4a79bb)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7f75c42b7fcf60a9ca58d3ded9047df675d76dc2)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Richard Purdie
ad7bee26f8 openssl: Fix SDK environment script to avoid unbound variable
Avoid errors like:

buildtools/sysroots/x86_64-pokysdk-linux/environment-setup.d/openssl.sh: line 6: BB_ENV_PASSTHROUGH_ADDITIONS: unbound variable

by setting an explicit empty default value.

(From OE-Core rev: a57192131cbcb65e17b11f47aa0f90ef63258280)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5a2a4910a22668f25679a47deaa9e2ed28665efa)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Chen Qi
5337502bb3 shadow: use update-alternatives to handle groups.1
This patch fixes the following error at do_rootfs:

  update-alternatives: Error: not linking /PATH/TO/rootfs/usr/share
  /man/man1/groups.1 to /usr/share/man/man1/groups.1.coreutils since
  /PATH/TO/rootfs/usr/share/man/man1/groups.1 exists and is not a link

The problem can be reproduced by adding the following lines to local.conf
and then building an image:

  EXTRA_IMAGE_FEATURES:append = " doc-pkgs"
  IMAGE_INSTALL:append = " shadow coreutils"

groups.1 is handled by update-alternatives in coreutils recipe, so
do it in shadow recipe too.

(From OE-Core rev: 822d70b7ccc2e5922de99a7703ec7eb3f814e29f)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 78c8eb60097df2e16c699464c39ff9142fc1ae69)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Martin Jansa
7c76a24afb ffmpeg: fix packaging examples
* I've noticed that ffmpeg package isn't created in my builds, due
  to --disable-programs in EXTRA_OECONF added by our .bbappend, but
  was surprised that lib32-ffmpeg is created.

* lib32-ffmpeg was created only because it contained the examples
  which are installed in /usr/share/ffmpeg even when PN is lib32-ffmpeg
  as we pass --datadir=${datadir}/ffmpeg in EXTRA_OECONF here

* --disable-programs controls ${bindir}/ffprobe ${bindir}/ffmpeg and
  ${datadir}/ffmpeg/ffprobe.xsd ${datadir}/ffmpeg/libvpx-*.ffpreset

(From OE-Core rev: 24bf3ad245fa2dba14a59477279c6db3c8bcd088)

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d7bf828b6431a254201675e41047f53da47912f5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Yi Zhao
57ad766534 systemd: fix broken links for sysvinit-compatible commands
Since commit[1], PACKAGECONFIG[sysvinit] is not enabled by default when
sysvinit is not in DISTRO_FEATURES, which causes the following
sysvinit-compatible commands/services to not be built and installed:

  runlevel
  telinit
  rc-local.service
  systemd-initctl
  systemd-initctl.service
  systemd-rc-local-generator
  systemd-sysv-generator
  systemd-update-utmp-runlevel.service

Therefore, links to these commands/services should only be created when
PACKAGECONFIG[sysvinit] is enabled.

[1] https://git.openembedded.org/openembedded-core/commit/?id=3668235fd60a9027608f37251c4b453ed21b3687

(From OE-Core rev: 681e3d20c2ac16778e302b468ec278aed9562639)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a20b698f1acdee972cf1ff570b09a2e2c36bef1a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Aleksandar Nikolic
a24d2beb5e scripts/install-buildtools: Update to 5.1
Update to the 5.1 release of the 5.1 series for buildtools.

(From OE-Core rev: 4f58037a49ef538d89d9c6df81b1b2d8a2eab4d7)

Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Bruce Ashfield
326b9963d4 linux-yocto/6.10: bsp/genericarm64: disable ARM64_SME
Integrating the following commit(s) to linux-yocto/.:

1/1 [
    Author: Ross Burton
    Email: ross.burton@arm.com
    Subject: bsp/genericarm64: disable ARM64_SME
    Date: Thu, 21 Nov 2024 15:53:35 +0000

    From upstream:

        arm64: Kconfig: Make SME depend on BROKEN for now

        commit 81235ae0c846e1fb46a2c6fe9283fe2b2b24f7dc upstream.

        Although support for SME was merged in v5.19, we've since uncovered a
        number of issues with the implementation, including issues which might
        corrupt the FPSIMD/SVE/SME state of arbitrary tasks. While there are
        patches to address some of these issues, ongoing review has highlighted
        additional functional problems, and more time is necessary to analyse
        and fix these.

        For now, mark SME as BROKEN in the hope that we can fix things properly
        in the near future. As SME is an OPTIONAL part of ARMv9.2+, and there is
        very little extant hardware, this should not adversely affect the vast
        majority of users.

    Signed-off-by: Ross Burton <ross.burton@arm.com>
    Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]

(From OE-Core rev: 3a6e6639b0dc4a49adfba15e720bb884d9859aa7)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 022f9814cb9d6d420e9d89a746f4c67b452c498f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Bruce Ashfield
d3cac60761 linux-yocto/6.10: cfg: gpio: allow to re-enable the deprecated GPIO sysfs interface
Integrating the following commit(s) to linux-yocto/.:

1/1 [
    Author: Bartosz Golaszewski
    Email: bartosz.golaszewski@linaro.org
    Subject: gpio: allow to re-enable the deprecated GPIO sysfs interface
    Date: Mon, 11 Nov 2024 14:08:23 +0100

    The GPIO sysfs interface is disabled in standard linux config and in
    general users should use the character device instead but there are still
    programs out there that depend on it so for the time being add a kernel
    feature allowing to enable it.

    Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
    Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]

(From OE-Core rev: b286e3dd8624cab0c57fe85c457b617e402ff6b9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ae19861bfc336d869a7a84b13ab3e7b318e1b560)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Bruce Ashfield
30ff83b582 linux-yocto/6.10: genericarm64.cfg: enable CONFIG_DMA_CMA
Integrating the following commit(s) to linux-yocto/.:

1/1 [
    Author: Mikko Rapeli
    Email: mikko.rapeli@linaro.org
    Subject: genericarm64.cfg: enable CONFIG_DMA_CMA
    Date: Thu, 24 Oct 2024 08:49:29 +0300

    It's needed for graphics on AMD KV260.

    Cc: Bill Mills <bill.mills@linaro.org>
    Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
    Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]

(From OE-Core rev: 0b5476e41714ba1290bad711d9adfe894c3a70e3)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7d1572bce914ff67c3e08f95dfd8504b00b9a8e0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Vijay Anusuri
423213a8d6 xwayland: upgrade 24.1.3 -> 24.1.4
Includes security fix CVE-2024-9632

Ref: https://lists.x.org/archives/xorg/2024-October/061766.html

(From OE-Core rev: 95a4db564feff2c0dd21dad735b7a95a03c2a647)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3fdc716d1260b4a92a46cfd2059ce044447f9172)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Wang Mingyu
6b52d22a26 xwayland: upgrade 24.1.2 -> 24.1.3
(From OE-Core rev: 38a09bff16c85b10386435eca88358aec0159ba5)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b42744482d5b883c04e81b4be56ef19bc27caa3f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Jinfeng Wang
030dac6999 tzdata/tzcode-native: upgrade 2024a -> 2024b
(From OE-Core rev: eae95be63db899ab2e247d823149e89aea6170f7)

Signed-off-by: Jinfeng Wang <jinfeng.wang.cn@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b84b29b1827624270cc1698feda2ee87d55c01e4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Peter Marko
2b4c64dbef cve-check: fix malformed cve status description with : characters
When CPE is not provided and character ":" is in cve status description,
current code takes only last part of split function.
This works only if there is no ":" in description, otherwise it drops
the other split parts.

Do a new split of the original string to take the whole description unchanged.
This fixes following entries from world build of poky+meta-oe+meta-python:

tiff-4.6.0-r0 do_cve_check: CVE_STATUS with 3 parts for CVE-2015-7313
CVE_STATUS:  fixed-version: Tested with check from https://security-tracker.debian.org/tracker/CVE-2015-7313 and already 4.3.0 doesn't have the issue
description: //security-tracker.debian.org/tracker/CVE-2015-7313 and already 4.3.0 doesn't have the issue
corrected:   Tested with check from https://security-tracker.debian.org/tracker/CVE-2015-7313 and already 4.3.0 doesn't have the issue

gnupg-2.5.0-r0 do_cve_check: CVE_STATUS with 3 parts for CVE-2022-3219
CVE_STATUS:  upstream-wontfix: Upstream doesn't seem to be keen on merging the proposed commit - https://dev.gnupg.org/T5993
description: //dev.gnupg.org/T5993
corrected:   Upstream doesn't seem to be keen on merging the proposed commit - https://dev.gnupg.org/T5993

libyaml-0.2.5-r0 do_cve_check: CVE_STATUS with 3 parts for CVE-2024-35325
CVE_STATUS:  upstream-wontfix: Upstream thinks this is a misuse (or wrong use) of the libyaml API - https://github.com/yaml/libyaml/issues/303
description: //github.com/yaml/libyaml/issues/303
corrected:   Upstream thinks this is a misuse (or wrong use) of the libyaml API - https://github.com/yaml/libyaml/issues/303

libyaml-0.2.5-r0 do_cve_check: CVE_STATUS with 3 parts for CVE-2024-35326
CVE_STATUS:  upstream-wontfix: Upstream thinks there is no working code that is exploitable - https://github.com/yaml/libyaml/issues/302
description: //github.com/yaml/libyaml/issues/302
corrected:   Upstream thinks there is no working code that is exploitable - https://github.com/yaml/libyaml/issues/302

libyaml-0.2.5-r0 do_cve_check: CVE_STATUS with 3 parts for CVE-2024-35328
CVE_STATUS:  upstream-wontfix: Upstream thinks there is no working code that is exploitable - https://github.com/yaml/libyaml/issues/302
description: //github.com/yaml/libyaml/issues/302
corrected:   Upstream thinks there is no working code that is exploitable - https://github.com/yaml/libyaml/issues/302

cpio-2.15-r0 do_cve_check: CVE_STATUS with 3 parts for CVE-2023-7216
CVE_STATUS:  disputed: intended behaviour, see https://lists.gnu.org/archive/html/bug-cpio/2024-03/msg00000.html
description: //lists.gnu.org/archive/html/bug-cpio/2024-03/msg00000.html
corrected:   intended behaviour, see https://lists.gnu.org/archive/html/bug-cpio/2024-03/msg00000.html

openssh-9.9p1-r0 do_cve_check: CVE_STATUS with 3 parts for CVE-2023-51767
CVE_STATUS:  upstream-wontfix: It was demonstrated on modified sshd and does not exist in upstream openssh https://bugzilla.mindrot.org/show_bug.cgi?id=3656#c1.
description: //bugzilla.mindrot.org/show_bug.cgi?id=3656#c1.
corrected:   It was demonstrated on modified sshd and does not exist in upstream openssh https://bugzilla.mindrot.org/show_bug.cgi?id=3656#c1.

cups-2.4.10-r0 do_cve_check: CVE_STATUS with 3 parts for CVE-2021-25317
CVE_STATUS:  not-applicable-config: This concerns /var/log/cups having lp ownership, our /var/log/cups is root:root, so this doesn't apply.
description: root, so this doesn't apply.
corrected:   This concerns /var/log/cups having lp ownership, our /var/log/cups is root:root, so this doesn't apply.

unzip-1_6.0-r0 do_cve_check: CVE_STATUS with 3 parts for CVE-2008-0888
CVE_STATUS:  fixed-version: Patch from https://bugzilla.redhat.com/attachment.cgi?id=293893&action=diff applied to 6.0 source
description: //bugzilla.redhat.com/attachment.cgi?id=293893&action=diff applied to 6.0 source
corrected:   Patch from https://bugzilla.redhat.com/attachment.cgi?id=293893&action=diff applied to 6.0 source

syslog-ng-4.7.0-r0 do_cve_check: CVE_STATUS with 6 parts for CVE-2022-38725
CVE_STATUS:  cpe-incorrect: cve-check wrongly matches cpe:2.3🅰️oneidentity:syslog-ng:*:*:*:*:premium:*:*:* < 7.0.32
description: syslog-ng:*:*:*:*:premium:*:*:* < 7.0.32
corrected:   cve-check wrongly matches cpe:2.3🅰️oneidentity:syslog-ng:*:*:*:*:premium:*:*:* < 7.0.32

(From OE-Core rev: 5cd34a34879ad424f3b1637b48892d6fa037861d)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cc33dd9176726cb4b2d2f142ed1bc655da8e0a9f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Peter Marko
449107b22b cve-check: do not skip cve status description after :
Correct maxsplit parameter from 5 to 4 to not drop text if
description contains ":".

Example:
>>> "detail: cpe:vendor:product:description:cont".split(':', 5)
['detail', ' cpe', 'vendor', 'product', 'description', 'xxx']
>>> "detail: cpe:vendor:product:description:cont".split(':', 4)
['detail', ' cpe', 'vendor', 'product', 'description:xxx']

(From OE-Core rev: 4921605aab4c9588e5c96de3afe08e9d35f51145)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3c4d8ca41ac0b429af92bf0ea84f1dfd0cda9e1f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Chris Laplante
87e1004fc4 bitbake: fetch2: use persist_data context managers
Python 3.13 emits a ResourceWarning for unclosed sqlite3 `Connection`s.
See https://docs.python.org/3/whatsnew/3.13.html#sqlite3

The previous commit fixed persist_data's context manager to close the
connection, but we were never actually using `with` in the first place.

This change is not necessary on 'master' because persist_data was
removed.

(Bitbake rev: 9602a684568910fd333ffce907fa020ad3661c26)

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
(cherry picked from commit 61f803c7d92a012b62837b0cdae4789a394b260e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Chris Laplante
d28c963ec4 bitbake: persist_data: close connection in SQLTable __exit__
A Connection's __exit__ does not close the connection, but rather deals
with transactions. See https://docs.python.org/3/library/sqlite3.html#how-to-use-the-connection-context-manager

This change is not necessary on 'master' because persist_data was
removed.

(Bitbake rev: a5640a2527cf1995e2afb80c95f303dea52c73b3)

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
(cherry picked from commit b0fba0f5af555ff970406b5cf3bf8fb113d953d1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Richard Purdie
aeea31fea5 bitbake: fetch/wget: Increase timeout to 100s from 30s
Testing shows the worst case CDN response time can be up to 100s. The wget fetcher
is used for accessing sstate from the CDN so increase our timeouts there to match
our worst case repsonse times.

(Bitbake rev: 70b09f62bc5622fa64bb668cdad610bd48bf7bb9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Joshua Watt
18612ba9d4 bitbake: Remove custom exception backtrace formatting
Removes the code in bitbake to show custom backtrace formatting for
exceptions. In particular, the bitbake exception code prints function
arguments, which while helpful is a security problem when passwords and
other secrets can be passed as function arguments.

As it turns out, the handling of the custom serialized exception stack
frames was pretty much made obsolete by d7db75020ed ("event/msg: Pass
formatted exceptions"), which changed the events to pass a preformatted
stacktrack list of strings, but the passing of the serialized data was
never removed.

Change all the code to use the python traceback API to format exceptions
instead of the custom code; conveniently traceback.format_exception()
also returns a list of stack trace strings, so it can be used as a drop
in replacement for bb.exception.format_exception()

(Bitbake rev: 1f7889c2f5e192fb108b51883aac8685ccb187f2)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-30 05:41:59 -08:00
Antonin Godard
4d44b6b9ff dev-manual: bblock: use warning block instead of attention
Sphinx recommends using warning and note here:
https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#directives

Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 8288c8cae7fe7303e89d8ed286de91fc26ce6cc3)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit ed49067f172637d38d470a864feed2a02bd84c66)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:10 -08:00
Antonin Godard
4625985c41 dev-manual: document how to provide confs from layer.conf
Add a section on providing global level configuration from the
layer.conf file. Since this file is parsed at an earlier stage in the
parsing process, it's not possible to combine bb.utils.contains and
{DISTRO,MACHINE}_FEATURES to conditionally set some configurations.

This patch documents:

- First that this file can be used for providing such configuration.
- Then demonstrate how to conditionally provide them, using a technique
  that is currently used in meta-virtualization
  (https://git.yoctoproject.org/meta-virtualization/tree/conf/layer.conf#n50).

Fixes [YOCTO #12688].

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: b73e99b161a11a46a1a96ff42135893e0c978e2a)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 31e5bd3e82e11f77da2abd96eb8c17a7c8194b7c)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:10 -08:00
Antonin Godard
ad3e2d1532 conf.py: add a bitbake_git extlink
To make references to the bitbake repo, add an extlink for it and use it
in the docs with ":bitbake_git:`lib/bb/utils.py </tree/lib/bb/utils.py>`".

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 5efb5f678278276aebd6809ab785dcea8c732de3)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 8bf3c656ec54a582c75ca7c135121a15f8e4f631)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:10 -08:00
Antonin Godard
e8f4f13c55 migration-guides: 5.1: fix titles
- fix title underline
- add anchor for workdir changes
- supported-kernel-versions was misplaced, move it
- "Miscellaneous changes" anchor was wrong

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 04507c6593d305f830817555a44706a61518b535)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 2bfd49176ff71350054417dc6a9a284466876069)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:10 -08:00
Antonin Godard
dfb27c0b97 sphinx-static/switchers.js.in: do not refer to URL_ROOT anymore
This variable was removed from the Sphinx-generated
documentation_options.js, thus breaking the current implementation of
our switchers.js. Like searchtools.js, which is also generated by
Sphinx, use document.documentElement.dataset.content_root as a
replacement.

To be backwards-compatible to get one or the other.

(From yocto-docs rev: 1771d1b174b42ae9de5b46898a805bee7e10c076)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 2849690abf94872e259e712128e90413f3b9a2f2)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:10 -08:00
Antonin Godard
4a66fa862b doc: add a download page for epub and pdf
These files are placed in the _static directory during publish. Note
that Sphinx does not complain if files do not exist during compilation
(since they are copied at the end). This is why this was used instead of
the ":download:" role.

(From yocto-docs rev: 3f6848dd88cd4266e721cc7bbb2460b1e9d24f2b)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 38aa55418426227203fe3a106fa1e85494a57c12)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:10 -08:00
Michael Opdenacker
c3cbcecb74 doc: Makefile: publish pdf and epub versions too
Copy the generated files in the special _static directory.

Fixes [YOCTO #14357]

(From yocto-docs rev: 8f1364a4a2e04d334128ce59c47f50996aef0c65)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit b6974695993599959c0d5b7436aa290ee5d0dfca)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:10 -08:00
Antonin Godard
0e3b3e16cf doc: Makefile: add support for xelatex
This patch makes the "latexpdf" target compile the documentation with
xelatex instead of the default pdflatex engine.

The reason behind this is stated in [YOCTO #14357]: pdflatex does not
support compiling foreign characters, so we need to resort to another
engine, here xelatex.

It also increases the texmf config buf_size to 10000000 to avoid a
compilation error.

(From yocto-docs rev: 9a297c65942a52d6165378d6792d5e0788b492ba)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 93848842b3ad8aa6b9c9f46d60f2c2ad396c6971)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:10 -08:00
Antonin Godard
ab07d1a341 doc: Makefile: remove inkscape, replace by rsvg-convert
Remove inkscape as it is not part of meta/, and use librsvg so we can
ship it in a buildtools tarball for the autobuilder workers.

(From yocto-docs rev: 65db816385dd985bfc3bc895102b25e9ea5d9adf)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 0caa432b888209bd80443df230143761e1faf415)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:10 -08:00
Talel BELHAJSALEM
bcd7f0eeed contributor-guide: Remove duplicated words
Remove "and then" as it is duplicated.

(From yocto-docs rev: 6bab46640d63949034eedc52c6c367198c9e91c5)

Signed-off-by: Talel BELHAJSALEM <bhstalel@gmail.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 52ed947120e400620277a58f895294b558a9324e)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:10 -08:00
Aditya Tayade
ce94244963 e2fsprogs: removed 'sed -u' option
In embedded box, sed might be provided another providers like Busybox,
hence use generic options whenever possible.
/bin/sed -> /etc/alternatives/sed
/etc/alternatives/sed -> /bin/busybox.nosuid

Here used 'sed -u' option is not necessary, hence removed it.

Fixes below error:
sed: invalid option -- 'u'

Also added 'set -eux' option which halts execution of the script
on any failures.

(From OE-Core rev: 045d50e63bcaf13056ce749c616eecc4d4516958)

Signed-off-by: Aditya Tayade <Aditya.Tayade@kpit.com>
Signed-off-by: Pawan Badganchi <Pawan.Badganchi@kpit.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 07caee1829d2a61bc018fe0e37ecd482922179ee)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:10 -08:00
Jinfeng Wang
75215fbce6 glib-2.0: fix glib-2.0 ptest failure when upgrading tzdata2024b
Backport 3 patches [1][2][3] for gdatetime test to fix the ptest failure.

[1] c0619f08e6
[2] 30e9cfa573
[3] fe2699369f

(From OE-Core rev: aaeac4978111fa4051296cb800251432dc02226a)

Signed-off-by: Jinfeng Wang <jinfeng.wang.cn@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0c8f87d5d4ec9f286b1e85d114cb9a728c1ff64b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:10 -08:00
Tom Hochstein
70d7a401f7 weston: Add missing runtime dependency on freerdp
With rdp enabled, nothing from freerdp is installed in the rootfs, and
rdp is not usable. It seems there is no actual build time dependency
other than the meson check itself, so add an explicit runtime
dependency.

(From OE-Core rev: a378c75bfb7d3be5f8af4947465349266eef8a84)

Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 23271a1f908a223b4eb56d6034cbb1ac23da14fe)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:10 -08:00
Regis Dargent
30f687033c udev-extraconf: fix network.sh script did not configure hotplugged interfaces
Udev script network.sh is called when a new ethernet interface is plugged (eg. USB).
Due to some (old) missing files, this script does nothing, instead of configuring the
interfaces with ifup.
I just commented the corresponding lines to allow the script to reach the part where
it calls ifup.

(From OE-Core rev: 55069a5f68ade552e3c45333d441dc2d18753476)

Signed-off-by: Regis Dargent <regis.dargent@gmail.com>

Fixes [YOCTO 15616]

network.sh relies on (long) missing files (eg. /etc/network/options,
/etc/init.d/network) to decide if it should configure the new network
interface (ifup) or put its name in /etc/udev_network_queue for future
initialization by /etc/init.d/network service.
The actual result was that the new hotplugged interface was never
automatically configured.
Removing the obsolete tests allows the script to do its intended job.

Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 160f7139172ffdf510a0d7d4e85f7fbaac7fd000)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Yoann Congal
cc6492d418 python3-maturin: sort external libs in wheel files
Import a merged patch that sort external libs in the wheel file
generated by maturin. That improve reproducibility.

(From OE-Core rev: 055519ae0da73afd1bfb89d74193b41751dc9a80)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
CC: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 66da28f85727206c0e647efba93c1be028519fe5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Chen Qi
7b3d419028 libgfortran: fix buildpath QA issue
The '-fdebug-prefix-map' options are used to map source files locations,
otherwise, DW_AT_comp_dir will contain buildpath.

The '-gno-record-gcc-switches' option is used to fix the buildpath introduced
by '-fintrinsic-modules-path' option, which is automatically added by fortran.
Here's some output from 'readelf --debug-dump libgfortran.so.5.0.0' when this
option is not added:
"""
<0><1a37d3>: Abbrev Number: 4 (DW_TAG_compile_unit)
   <1a37d4>   DW_AT_producer    : (indirect string, offset: 0xd653): GNU Fortran2008 14.2.0 -m64
                -march=core2 -mtune=core2 -msse3
                -mfpmath=sse -mshstk -g -O2 -O2 -fstack-protector-strong -fimplicit-none
                -fno-repack-arrays -fno-underscoring -fcf-protection=full
                -fallow-leading-underscore -fbuilding-libgfortran -fPIC
                -fintrinsic-modules-path /ala-lpggp72/qichen/Yocto/builds/build-poky/tmp/work/
                core2-64-poky-linux/libgfortran/14.2.0/recipe-sysroot-native/usr/bin/x86_64-poky-linux
                /../../lib/x86_64-poky-linux/gcc/x86_64-poky-linux/14.2.0/finclude
                -fpre-include=../../../../recipe-sysroot/usr/include/finclude/math-vector-fortran.h
"""

See https://gcc.gnu.org/pipermail/fortran/2024-October/061204.html for more
detailed information.

(From OE-Core rev: ba53108d33267b58306c6406ec90455bc221edaf)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1eb084956bcba83782bc2b24cf8cc89459a57e34)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Jagadeesh Krishnanjanappa
f29a31d723 tune-cortexa32: set tune feature as armv8a
Cortexa32 is a 32-bit armv8a architecture processor, so set the tune feature
as armv8a instead of aarch64 which is 64-bit armv8a architecture.

It solves the following build error while compiling libgcc-initial
and libssp-nonshared.
-- snip --
aarch64-poky-linux-musl-gcc: error: unrecognized command-line option '-mfpu=neon'
aarch64-poky-linux-musl-gcc: error: unrecognized command-line option '-mfloat-abi=hard'
-- snip --

(From OE-Core rev: 19402b5e867616e26c0013402a3b9f32acb6d9fc)

Signed-off-by: Jagadeesh Krishnanjanappa <workjagadeesh@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3b898270aca62559dfa42ed71d296fe8a8b46a41)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Alban Bedel
7eb33afbbf util-linux: Add findmnt to the bash completion RDEPENDS
The bash completion scripts for `umount`, `fstrim` and `fsfreeze` make
use of `findmnt` so add it to the bash completion RDEPENDS.

(From OE-Core rev: 2fa36487777ec352f5fb1379657236da342367a7)

Signed-off-by: Alban Bedel <alban.bedel@aerq.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f8703b486a6ccf39225815362acadafb890ca56e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Ross Burton
243fd68951 groff: fix rare build race in hdtbl
It's possible to build the hdtbl examples before grn has been build:

groff: error: couldn't exec grn: No such file or directory

Backport a dependency fix from upstream.

[ YOCTO #15610 ]

(From OE-Core rev: 1c007c8dab24da03c739d4cccdaabfcf78807b5b)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d590a32423d05cefc4e7282f971f633b3fa0b941)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Ross Burton
4280b129e7 tcl: skip io-13.6 test case
---- Result was:
{abcdefghj
01234} 0
---- Result should have been (exact matching):
{abcdefghj
} 1 01234 0
==== io-13.6 FAILED

This test is documented as failing on slow machines, so just skip it.

[ YOCTO #15407 ]

(From OE-Core rev: 8b608a5f40c6c40d0fd1091c8943eae61adc1df0)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f69183586655294c9aed6687cebe57767c2f3eb8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Hongxu Jia
f808d877a9 gcc-source: Fix racing on building gcc-source-14.2.0 and lib32-gcc-source-14.2.0
While enabling multilib, build gcc-source-14.2.0 and lib32-gcc-source-14.2.0
at the same time:

    $ MACHINE = "qemux86-64"
    $ require conf/multilib.conf
    $ MULTILIBS = "multilib:lib32"
    $ DEFAULTTUNE:virtclass-multilib-lib32 = "x86"
    $ bitbake gcc-source-14.2.0 lib32-gcc-source-14.2.0
    ...
    $ cat tmp-glibc/work-shared/gcc-14.2.0-r0.vr2401/temp/log.task_order
    20241012-064533.415426 do_recipe_qa (2688052): log.do_recipe_qa.2688052
    20241012-064533.463783 do_recipe_qa (2688051): log.do_recipe_qa.2688051
    20241012-064533.805164 do_fetch (2688257): log.do_fetch.2688257
    20241012-064533.852955 do_fetch (2688256): log.do_fetch.2688256
    20241012-064617.823714 do_unpack (2698542): log.do_unpack.2698542
    20241012-064617.871730 do_unpack (2698541): log.do_unpack.2698541
    ...

There are two tasks for do_fetch, do_unpack and others, so there are race issues.

Both of them have the same hardcode 'gcc' prefix in ${WORKDIR} and
${S}, explicitly disable lib32-gcc-source-14.2.0 for multilib

Set gcc-source as BPN of gcc-source-14.2.0

(From OE-Core rev: 9609a7c9c6d809cc02480c3f12f8dd7c6f3fe9fc)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 901c47877e0710af50639f688e0bfdb851b762b5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Mikko Rapeli
1df725e653 ovmf-native: remove .pyc files from install
They break builds which share sstate files on different
machines and paths:

ERROR: ovmf-edk2-stable202408-r0 do_prepare_recipe_sysroot: Error executing a python function in exec_func_python() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_func_python() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:extend_recipe_sysroot(d)
     0003:
File: '/srv/pokybuild/yocto-worker/oe-selftest-fedora/build/meta/classes-global/staging.bbclass', lineno: 624, function: extend_recipe_sysroot
     0620:
     0621:    # Handle deferred binfiles
     0622:    for l in binfiles:
     0623:        (targetdir, dest) = binfiles[l]
 *** 0624:        staging_copyfile(l, targetdir, dest, postinsts, seendirs)
     0625:
     0626:    bb.note("Installed into sysroot: %s" % str(msg_adding))
     0627:    bb.note("Skipping as already exists in sysroot: %s" % str(msg_exists))
     0628:
File: '/srv/pokybuild/yocto-worker/oe-selftest-fedora/build/meta/classes-global/staging.bbclass', lineno: 165, function: staging_copyfile
     0161:        os.symlink(linkto, dest)
     0162:        #bb.warn(c)
     0163:    else:
     0164:        try:
 *** 0165:            os.link(c, dest)
     0166:        except OSError as err:
     0167:            if err.errno == errno.EXDEV:
     0168:                bb.utils.copyfile(c, dest)
     0169:            else:
Exception: FileExistsError: [Errno 17] File exists: '/srv/pokybuild/yocto-worker/oe-selftest-fedora/build/build-st-667282/tmp/sysroots-components/x86_64/ovmf-native/usr/bin/edk2_basetools/BaseTools/Source/Python/AutoGen/__pycache__/WorkspaceAutoGen.cpython-312.pyc' -> '/srv/pokybuild/yocto-worker/oe-selftest-fedora/build/build-st-667282/tmp/work/core2-64-poky-linux/ovmf/edk2-stable202408/recipe-sysroot-native/usr/bin/edk2_basetools/BaseTools/Source/Python/AutoGen/__pycache__/WorkspaceAutoGen.cpython-312.pyc'

(From OE-Core rev: 400aace90a7d33c2b51f736ec832d844faaa272c)

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit facd9e17fa53e2fb3a828b3f179cfb659be75d37)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Richard Purdie
ae0db85f2c qemurunner: Clean up serial_lock handling
Avoid "RuntimeError: release unlocked lock" since the lock shouldn't
be locked even in the error path. Add a try/finally path to ensure
this.

(From OE-Core rev: 0d08aab2e1c1ff1a8cb41b62b2e763bb88ca8b5a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b0732ee009ca47580d1d2ad75334f4aa50e6efd5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Claus Stovgaard
28bf1ab675 lib/oe/package-manager: skip processing installed-pkgs with empty globs
We can skip processing the installed-pkgs file if globs is empty.
This is the case if self.d.getVar for IMAGE_INSTALL_COMPLEMENTARY
returns an empty string. If globs is an empty string the result from
processing with empty glob in oe-pkgdata-util will always be 0 packages
to install.

Instead of return early on this we just skip and still generate the
locale archive if needed.

(From OE-Core rev: be4dbec9e79b51b9b72670291ba02c4f6d3258dd)

Signed-off-by: Claus Stovgaard <claus.stovgaard@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 160c45c83d5addf01e4834cf896af871bd6fca7f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Pavel Zhukov
3d90719ae3 package_rpm: Check if file exists before open()
Exception handler tries to read() /etc/passwd file in sysroot
and if file doesn't exist for any reason then it raises FileNotFoundError
exception which mask the original source of the problem and makes
debugging of the issue more difficult.

Fixes:
Exception: FileNotFoundError: [Errno 2] No such file or directory:
'/codebuild/output/src1899304708/src/build/tmp-container/work/core2-64-oe-linux/emqx-bin/4.3.12/recipe-sysroot/etc/passwd'

(From OE-Core rev: 17c8560f323d619b4a98d2276b4c0bf04c8196fd)

Signed-off-by: Pavel Zhukov <pavel@zhukoff.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4ad9a0e0b11eb7bc5a3dd45fc8945e094ea949e9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Robert Yang
29732ee9da cml1.bbclass: do_diffconfig: Don't override .config with .config.orig
Fixed:
1) $ bitbake virtual/kernel -cmenuconfig
Do some changes and save the new config to default .config.
2) $ bitbake virtual/kernel -cdiffconfig
The config fragment is dumped into ${WORKDIR}/fragment.cfg.

But the .config which was saved by step #1 is overridden by .config.orig, so
the changes will be lost if run 'bitbake virtual/kernel'

And the following comment is for subprocess.call(), not for shutil.copy(),
so move subprocess.call() to the correct location.
    # No need to check the exit code as we know it's going to be
    # non-zero, but that's what we expect.

(From OE-Core rev: 3647eb69038917971a9d8ca9553875adddcc893f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6cccf6b02f92dad514e65fd779ff659b19eb6be7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Richard Purdie
daca1765ee oeqa/runtime/ssh: Fix incorrect timeout fix
I'd meant to change the command timeout in the previous change, fix
the correct one.

(From OE-Core rev: 41ab062f0b711e30720d0e52aab79ef387ec4f28)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bb991988cb23be2c8947171726ada321f27e6eed)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Richard Purdie
6f98edd3e2 oeqa/runtime/ssh: Rework ssh timeout
After the changes to improve this test, we keep seeing image testing ssh
failures, particularly on mips.

It looks like part of the problem is that on a loaded system, 5s is too short
for mips to reliably establish an ssh connection. I've seen logs where it keeps
timing out and fails to work, then the debug code successfully uses ssh later after
everything else fails.

Change the timings/retries to give slow platforms enough time to respond.

(From OE-Core rev: 5158ceb4179ec53e396a57068714aea7d81e3f59)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ba64ccf3ad6e40461219b72d60eb0fe5cb38fddd)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Purushottam Choudhary
be17654c13 virglrenderer: Add patch to fix -int-conversion build issue
Fix int conversion related error during compilation
as some of the platforms where EGLNativeDisplayType
is an int instead of a pointer with GCC-14.

(From OE-Core rev: c1992859ad2284170e66769d59b342a58fa05700)

Signed-off-by: Purushottam Choudhary <purushottam27.kumar@lge.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f71f4936a273262343e34f278e6cfcc1e419aea3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Chen Qi
afcbd3f013 toolchain-shar-extract.sh: exit when post-relocate-setup.sh fails
When LD_LIBRARY_PATH is set, post-relocate-setup.sh will fail and
exit properly. But such failure is ignored and the SDK installation
will continue and tell user that things succeed. This is misleading.
So exit immediately if post-relocate-setup.sh fails.

Fixes [Yocto #15586]

(From OE-Core rev: 0d75c64b6d4b57800c844993876840f281b877d9)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c8e2dcc1f71aa33cc6e56dfdebebbe7ef010c944)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Ross Burton
007a24be9c strace: download release tarballs from GitHub
Switch to downloading the release tarballs from GitHub.  Their CDN is
rock solid, and strace.io is hosted inside Russia which some networks
are blocking.

(From OE-Core rev: f0ae7467e194c79778a0561b4cd1eda99f9cc5a8)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bbdbd6d943a64e5b0dae4c2ee705d017fb7ef80e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Clayton Casciato
c475ad45eb uboot-sign: fix concat_dtb arguments
Fixes [YOCTO #15642]

Ensure empty argument passed from do_uboot_assemble_fitimage is passed to
concat_dtb

(From OE-Core rev: 668c5cbd8e4e4d03ac7007b997251cfe9419ba01)

Signed-off-by: Clayton Casciato <majortomtosourcecontrol@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b3c473785e5ceef677ff2b77c5fc17f5704c622f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Richard Purdie
cf7ae7abb7 pseudo: Fix envp bug and add posix_spawn wrapper
Fix pseudo with python 3.13 by adding a wrapper for posix_spawn and
fixing a NULL pointer dereference in envp handling it uncovered. This
fixes issues on Fedora 41.

(From OE-Core rev: 111024b00dab52e6c1e382d931f97af4b90d7683)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d80e20d70d170397f9827c5a5fc75ad1f2e8cd94)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Hiago De Franco
8330186086 weston: backport patch to allow neatvnc < v0.9.0
Currently weston 13.0.3 with neatvnc 0.8.1 does not compile when using
VNC:

| Dependency neatvnc found: NO found 0.8.1 but need: '< 0.8.0' ;
matched: '>= 0.7.0'

However weston upstream already increased the allowed version to 0.9.0,
since neatvnc 0.8.0 does not introduce any changes that breaks API used
by the VNC backend. Therefore, backport this patch.

(From OE-Core rev: fc88bc296fad8b016f7f8ebea4035becb70ac702)

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8516496018a3ee9e81a67d4682bf9784d0eab2bd)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Peter Marko
6a653ee684 go: upgrade 1.22.7 -> 1.22.8
Upgrade to latest 1.22.x release [1]:

$ git --no-pager log --oneline go1.22.7..go1.22.8
aeccd613c8 (tag: go1.22.8) [release-branch.go1.22] go1.22.8
b4086b7c16 [release-branch.go1.22] syscall: skip TestAmbientCapsUserns when restricted, document
6fab4b9a9e [release-branch.go1.22] runtime: size maps.Clone destination bucket array safely
71655f14ce [release-branch.go1.22] cmd/cgo: correct padding required by alignment

[1] https://github.com/golang/go/compare/go1.22.7...go1.22.8

(From OE-Core rev: c6808b3b618b377fb5e723c8921c12de7cddb7ff)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 552b9913b25107d7a34611b499b7811896b5f098)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Peter Marko
9c722def51 go: upgrade 1.22.6 -> 1.22.7
Upgrade to latest 1.22.x release [1]:

$ git --no-pager log --oneline go1.22.6..go1.22.7
7529d09a11 (tag: go1.22.7) [release-branch.go1.22] go1.22.7
d4c53812e6 [release-branch.go1.22] go/build/constraint: add parsing limits
2092294f2b [release-branch.go1.22] encoding/gob: cover missed cases when checking ignore depth
b232596139 [release-branch.go1.22] go/parser: track depth in nested element lists
e87be9833e [release-branch.go1.22] runtime: on AIX, fix call to _cgo_sys_thread_create in _rt0_ppc64_aix_lib
676d6100d8 [release-branch.go1.22] cmd/fix: support go versions with patch release
0a525a3ed0 [release-branch.go1.22] os: fix Chtimes test flakes

Fixes CVE-2024-34155, CVE-2024-34156 and CVE-2024-34158

[1] https://github.com/golang/go/compare/go1.22.6...go1.22.7

(From OE-Core rev: aac1f6716deb89edeba223b530c7620e85837cb6)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 92d609c49c0870ca10fcc39d52a801109d65a98b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Wang Mingyu
4115fa9366 wireless-regdb: upgrade 2024.07.04 -> 2024.10.07
(From OE-Core rev: 28f655a66eeaa1020eacc05b018c493902919db5)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f124bb09a798d94eca5e93387bc361b147ce53f9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Vijay Anusuri
7c2d7188df xserver-xorg: upgrade 21.1.13 -> 21.1.14
Includes security fix CVE-2024-9632

Ref: https://lists.x.org/archives/xorg/2024-October/061765.html

(From OE-Core rev: 68d511dbde5efad9e40ed3918c15bba629130437)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Peter Marko
a99c033f4c cve-check: add support for cvss v4.0
https://nvd.nist.gov/general/news/cvss-v4-0-official-support

CVSS v4.0 was released in November 2023
NVD announced support for it in June 2024

Current stats are:
* cvss v4 provided, but also v3, so cve-check showed a value
sqlite> select count(*) from nvd where scorev4 != 0.0 and scorev3 != 0.0;
2069
* only cvss v4 provided, so cve-check did not show any
sqlite> select count(*) from nvd where scorev4 != 0.0 and scorev3 = 0.0;
260

(From OE-Core rev: 7ce34ce58f83bc02fa2c04bec54e358e8614157e)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 358dbfcd80ae1fa414d294c865dd293670c287f0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Katawann
6a44d7c078 cve-check: add field "modified" to JSON report
Added the "modified" field to the JSON export in the
cve-check.class. This field captures the last modification date of each
CVE, providing more detailed information on changes and updates within
the exported data.

(From OE-Core rev: 242bf4dcd4f85ec4d212fd68e060cf9fb307e96e)

Signed-off-by: Katawann <quent_55@hotmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 740b8a0b23c4021d07c3714420e3ea8b46e61454)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Julien Stephan
8ce494b9cf dev-manual: add bblock documentation
bblock is a helper tool to lock/unlock tasks and recipes to specific
signatures. Add a documentation page for it.

(From yocto-docs rev: 5692ad6f023289dda63567c1f79132854ae3899d)

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit a082aa39840587d3af6c3f4a2c2747564ca37414)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-11 09:16:26 -08:00
Julien Stephan
7194d7e233 ref-manual: variables: add SIGGEN_LOCKEDSIGS* variables
Variables SIGGEN_LOCKEDSIGS, SIGGEN_LOCKEDSIGS_TASKSIG_CHECK and
SIGGEN_LOCKEDSIGS_TYPES are used to lock specific tasks to specific
signatures. They are used by bitbake -S <lockedsigs> and bblock, so add
documentation for them.

(From yocto-docs rev: 3351a0bdeddf7ea930ec9f80f596a9f11671775c)

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 32e3995bed2836f549866ec3b8ad254bdda37dbf)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-11 09:16:26 -08:00
Julien Stephan
46ba40ac6c styles: vocabularies: Yocto: add sstate
Add sstate as an accepted word to avoid errors when runnign make
stylecheck.

(From yocto-docs rev: f196b33ebda35bce94c987892a6bf9fd9f58b670)

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 1c50726296e876747ea3f862729e953f025ce619)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-11 09:16:26 -08:00
Julien Stephan
38e4b3fffb documentation: Makefile: add SPHINXLINTDOCS to specify subset to sphinx-lint
make sphinx-lint runs sphinx-lint on the whole documentation which can be
long and reports a lot or errors/warnings. Let's add a new
SHPINXLINTDOCS variable to allow specifying a subset, just as VALEDOCS
does. Keep variable assignment aligned and also use $(SOURCEDIR) by
default for SPHINXLINTDOCS and VALEDOCS variables.

Also update the README file and fix a typo in Link checking section
title.

(From yocto-docs rev: 46a9480f4904d00dbce103be52cf7dd4d14c27b9)

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Tested-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 3dfe7b5c746af31de74f67cf88214e5d52bdb65d)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-11 09:16:26 -08:00
Julien Stephan
50d1790d0b README: add instruction to run Vale on a subset
make stylecheck runs Vale on the whole documentation which can be long
and reports a lot of errors/warnings. We can run Vale on a subset using
the VALEDOCS variable, so update documentation to highlight it.

(From yocto-docs rev: ba8642cd423b59ecff5e74a0ed0469deef9f5d18)

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Tested-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 262237f72534c983e178231cb6839ed69709c443)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-11 09:16:26 -08:00
Antonin Godard
f09fc4426b conf.py: rename :cve: role to :cve_nist:
Newer versions of Sphinx already define a :cve: role that points to
cve.org, instead of the role we defined in conf.py that points to
nvd.nist.gov.

Rename our role to :cve_nist: to avoid warnings (treated as errors).
This is also backwards compatible, meaning we can build the doc with an
older Sphinx if needed.

The file were automatically replaced with following command:

find . -name '*.rst' -exec sed -i 's/:cve:/:cve_nist:/g' {} \+

Suggested-By: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 1e5e574a6cdb6b086da2c5a981446b522e80cf2d)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 15fa3b7e85dde50d7236c1738ad607531cc654b8)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-11 09:16:26 -08:00
Ola x Nilsson
2935d1b1d8 glibc: Fix missing randomness in __gen_tempname
Backport the fix for glibc bug 32214.

The missing randomness in early boot may cause some systemd services
to fail when they occasionally try to create tempdirs like
/run/systemd/namespace-aaaaaa at the same time.
The error messages can contain things like
"Failed to set up mount namespacing".

(From OE-Core rev: 92cc48d51c763249b2eb8b4181bc20056fc72264)

Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-11 09:16:26 -08:00
aszh07
26e83c3ca2 ffmpeg: Add "libswresample libavcodec" to CVE_PRODUCT
Currently, CVE_PRODUCT only detects vulnerabilities where the product is "ffmpeg".

However, there are also vulnerabilities where the product is "libswresample",
and "libavcodec" as shown below.
https://app.opencve.io/vendors/?vendor=ffmpeg

Therefore, add "libswresample libavcodec" to CVE_PRODUCT to detect vulnerabilities
where the product is "libswresample libavcodec" as well.

(From OE-Core rev: 0b0299415ec719bb4c3764dfa0740e4ff6cc0362)

Signed-off-by: aszh07 <mail2szahir@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9684eba5c543de229108008e29afd1dd021a9799)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-11 09:16:26 -08:00
Khem Raj
84bb73b74a ffmpeg: Disable asm optimizations on x86
disable asm code if PIC is required, as the provided asm
decidedly is not PIC for x86.

(From OE-Core rev: 03c20ece58f4368ff95241e90063269f75e1b81d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 941fc40ca971f87e61c19e5a0703caa304ec7547)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-11 09:16:26 -08:00
Ross Burton
2f866930d9 ffmpeg: no need for textrel INSANE_SKIP
It appears in testing that modern ffmpeg no longer needs to disable PIC,
so there's no need to ignore textrel warnings.

(From OE-Core rev: 6eebf4c2a9b5d30cf5145df61f1713ec1a6ce91a)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 98d577fef75d54a59eeacaabb4a45e44b2f6832e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-11 09:16:26 -08:00
Ross Burton
9c4e3fe7dc ffmpeg: nasm is x86 only, so only DEPEND if x86
No need to depend on nasm if we're not going to use it.

(From OE-Core rev: 0830e65afc2e7d828ae1667addb6f7499ea8ddd0)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b99ea7f130c3f945af9a09a6ecf85b6ff8f4b710)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-11 09:16:26 -08:00
Wang Mingyu
3148ccf972 orc: upgrade 0.4.39 -> 0.4.40
Changelog:
===========
- Security: Minor follow-up fixes for CVE-2024-40897
- powerpc: fix div255w which still used the inexact substitution
- x86: work around old GCC versions (pre 9.0) having broken xgetbv
  implementations
- x86: consider MSYS2/Cygwin as Windows for ABI purposes only
- x86: handle unnatural and misaligned array pointers
- orccodemem: Assorted memory mapping fixes
- Fix include header use from C++
- Some compatibility fixes for Musl
- ppc: Disable VSX and ISA 2.07 for Apple targets
- ppc: Allow detection of ppc64 in Mac OS
- x86: Fix non-C11 typedefs
- meson: Fix detecting XSAVE on older AppleClang
- x86: try fixing AVX detection again by adding check for XSAVE
- Check return values of malloc() and realloc()

(From OE-Core rev: ad56908d308d6d51e2d0b3f258ea52cfe6bf0375)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ed7e4eb12491968c5f962b7e89d557c2c6d86a33)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-11 09:16:26 -08:00
Rohini Sangam
93ecdebf0c vim: Upgrade 9.1.0698 -> 9.1.0764
This includes CVE-fix for CVE-2024-45306 and CVE-2024-47814

Changes between 9.1.0698 -> 9.1.0764
====================================
https://github.com/vim/vim/compare/v9.1.0698...v9.1.0764

(From OE-Core rev: d71af9599b8658fb5d7f5d2845ccf7a956588a3f)

Signed-off-by: Rohini Sangam <rsangam@mvista.com>
Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2f0e5e63399e544063c79b0b1f9555c820b0604c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-11 09:16:25 -08:00
Steve Sakoman
5465094be9 release-notes-4.0: update BB_HASHSERVE_UPSTREAM for new infrastructure
Public hashserver is now at hashserv.yoctoproject.org:8686

(From yocto-docs rev: 4716ef9098a297d3183efbbd2c477bc6b48df226)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-02 06:15:08 -07:00
Antonin Godard
7a5fd94f38 ref-manual: devtool-reference: document missing commands
Give a brief description for important commands that made it into
devtool or that were missing from this quick reference document.

(From yocto-docs rev: 349e1a5194e3497d29de25a788ff429496517c3c)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 6238adae1b072c9e09c558038d397dfac6ec109f)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-02 06:15:08 -07:00
Antonin Godard
d30cf8a367 ref-manual: devtool-reference: refresh example outputs
Previous outputs were missing some commands and options, some others
were obsolete.

(From yocto-docs rev: 82e374974424f91d2bd59d86414e19b0297de82f)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 1c83037707b4c981a70c968ba04ded502f9bffbf)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-02 06:15:08 -07:00
Antonin Godard
6eb6b5bd58 ref-manual: release-process: add a reference to the doc's release
When reading the stable releases section, we want to know for which
release the documentation was built. Use &DISTRO_NAME; to refer to the
current release.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: da11223e77e3bfae79806cb9522fae03446dbf41)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 05ee6844d710beb844bbdac892888879847f6d22)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-02 06:15:08 -07:00
Antonin Godard
166d96b98c ref-manual: release-process: update releases.svg with month after "Current"
This way we put a timestamp on the image, so that someone looking at the
image on an old release tarball has a representation of the release "as
of <date>".

Here set "Oct. 24" as it was the last time the file was updated.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 5c933f4d5f1680b25e593fafa429870bbb52ecb2)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 7b62bbec900bc84a31e4686839e774ba7bd5ae9f)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-02 06:15:08 -07:00
Jose Quaresma
77be470ec3 oeqa/selftest: Update the BB_HASHSERVE_UPSTREAM
(From OE-Core rev: d5ba3f78f340d4627cf33eca14969d61b00f5766)

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-02 06:15:08 -07:00
Richard Purdie
91c6303228 bitbake: tests/fetch: Use our own mirror of mobile-broadband-provider to decouple from gnome gitlab
GNOME gitlab has occasional downtime which impacts bitbake-selftest
and causes autobuilder failures. Switch to our own mirror for test
purposes to avoid those issues.

(Bitbake rev: 44c4c487e09a383bd7c1d195cb63b7f06c17ac2e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 91e268b11ed683bd197026f9b36001f6d54ee05c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-02 06:15:08 -07:00
Richard Purdie
4037852628 bitbake: tests/fetch: Use our own mirror of sysprof to decouple from gnome gitlab
GNOME gitlab has occasional downtime which impacts bitbake-selftest
and causes autobuilder failures. Switch to our own mirror for test
purposes to avoid those issues.

(Bitbake rev: d6b76a928ed4ffe8bb1b425f02077ce8554d0fbc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 008808755ed6cfeb6c41273e69ce718f0833c26c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-02 06:15:08 -07:00
Robert Yang
26faea17ca bitbake: gitsm: Remove downloads/tmpdir when failed
The tmpdir such as downloads/tmplp3cnemv won't be removed without this fix.

(Bitbake rev: 03387d4f60cbf2ae93bb48d53688fa71197f5179)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2ba8d3214759142afc11f0a88d80eb30a8bcde3a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-02 06:15:08 -07:00
Robert Yang
8509d1158d bitbake: gitsm: Add call_process_submodules() to remove duplicated code
There are 14 lines can be removed, and can make it easy to maintain.

(Bitbake rev: a6a5de754494128512ccbc8ce62ec24364fd1bb8)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0ea2c1ac079d63349407a69172ff80cd9acc7252)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-02 06:15:07 -07:00
Jose Quaresma
bb5c3abffb bitbake: bitbake: doc/user-manual: Update the BB_HASHSERVE_UPSTREAM
(Bitbake rev: 0531ae3caaa0ff007d263964e4cdff3f7c8b25b9)

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-02 06:15:07 -07:00
Lee Chee Yang
ecc98e3c14 migration-guide: add release notes for 4.0.22
(From yocto-docs rev: f490f72b7356ae2564ca6b3f7e4f1ee515f12608)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 9563855ccd92e21fb6f8320c96a3a83e115c947e)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:04 -07:00
Antonin Godard
c5b9300e55 ref-manual: release-process: refresh the current LTS releases
Mention that Scarthgap the latest LTS in a bullet list next to
Kirkstone. Reword the parapraph a bit to make it clearer after this
change.

Reviewed-by: Michael Opdenacker <michael.opdenacker@rootcommit.com>
(From yocto-docs rev: 7d19dd0d5cc2037b8ad48d89633ae073c13586a9)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit afeded9939777d88bf4cb9ebf7a61aadd476642d)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:04 -07:00
Antonin Godard
91d764a376 ref-manual: release-process: update releases.svg
* Add Walnascar release.
* Remove dunfell, gatesgarth, hardknott, honister: these release are not
  supported anymore. Start from kirkstone, which is still supported.

(From yocto-docs rev: 78f5cc6c6033477ddd253d53146481e9b885d271)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit aa9a580c8c57af4baa4fb24a43487fb7afc258e5)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:04 -07:00
Antonin Godard
eca314a5c8 ref-manual: faq: add q&a on class appends
Add the suggestion by Richard to the FAQ, with some minor rewordings and
additional punctuations.

Suggested-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 7de91ada04715103776497971b34d28f24f7148a)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 2466a5e7973bf6e724f1cf0b42f838065847d283)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Antonin Godard
60f7d7e6bf overview-manual: concepts: add details on package splitting
The package splitting section of the overview manual currently lacks any
explanation of how package splitting is implemented and redirects to
the package class, which is not really understandable for newcomers to
the project.

This patch adds a short explanation of what is done:

* How the PACKAGES variable is defined.
* How the FILES variable is defined.
* How the two work together.
* How to add a custom package.

This should give enough details to a new user on what package splitting
achieves and how to add a custom package.

Adresses [YOCTO #13225]

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: fe96edac4bf17915d1d301f9122ce7ae981fe0da)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 143c3cacdec36c9d7ab81c89bbcc12c0c3936bd9)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Antonin Godard
5dcd6b86e9 ref-manual: structure.rst: document missing tmp/ dirs
Document `hosttools/`, `pkgdata/` and add some more information on
`work-shared/`.

Adresses [YOCTO #14543].

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: e1ac30dfffddab6e82c708486f8a31f9ec4b1d58)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 372b5b4ca55819c294970b20aa8b8d8167144329)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Antonin Godard
94d3814f81 release-notes-5.1: add beaglebone-yocto parselogs test oeqa failure
The beaglebone-yocto currently fails the parselogs runtime test. For
details see: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15624

Reported-by: Ross Burton <Ross.Burton@arm.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 1185f92c0f4a80b69759c944f74673aa6d6bb35a)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 295e45d17658c8f47a87163be7fc7b6327c3fa4c)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Niko Mauno
59a0d5753c docs: Replace VOLATILE_TMP_DIR with FILESYSTEM_PERMS_TABLES
The VOLATILE_TMP_DIR variable was removed and it's functionality
replaced with a FILESYSTEM_PERMS_TABLES entry in
https://git.yoctoproject.org/poky/commit/?id=2f46b6f27dfa3a9d5ad177900fcecfe64c3536f1
("bitbake.conf: drop VOLATILE_TMP_DIR, use FILESYSTEM_PERMS_TABLES instead")

(From yocto-docs rev: 92aef324d06f1f257fc3896b63c4c744d19c0853)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 1ef0eabaa07cc39075a040b99a5c11567d745408)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Niko Mauno
61b6825c5f docs: Replace VOLATILE_LOG_DIR with FILESYSTEM_PERMS_TABLES
The VOLATILE_LOG_DIR variable was removed and it's functionality
replaced with a FILESYSTEM_PERMS_TABLES entry in
https://git.yoctoproject.org/poky/commit/?id=2f8806deb7655b37d6f8d12ff54680d6acf7a298
("bitbake.conf: drop VOLATILE_LOG_DIR, use FILESYSTEM_PERMS_TABLES instead")

(From yocto-docs rev: 8632cd1070da26f217046071c43dd2f877f2e608)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit b1c22561878ba618eb69e4c8784ea346b989a0ea)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Robert Yang
c07ed6edcd release-notes-5.0.rst: NO_OUTPUT -> NO_COLOR
(From yocto-docs rev: bcbbad8a4466551411688b9d65b01cc8b604a8d6)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(cherry picked from commit ac4c4455d40dc0852d95461a3a10d687d2aedd6e)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Antonin Godard
b1abf5f3b1 ref-manual: fix ordering of insane checks list
It should be before "perllocalpod" and after "patch-status".

Reported-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 96ff6bd571a185b4e2c6174f2cc937994efe4cd5)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 1304b899cd4480f80eaeb6e58d57e87d3d2f6911)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Antonin Godard
24a08a4d0b release-notes-5.1: fix spdx bullet point
(From yocto-docs rev: d1883cb915ac16466bc72ddc9cd7b27d902f5551)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Reported-by: Quentin Schulz <quentin.schulz@cherry.de>
(cherry picked from commit c3bcbd847779afe78ff7e4345c9a5c61b3321975)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Peter Kjellerstedt
0c02f87d31 image.bbclass: Drop support for ImageQAFailed exceptions in image_qa
After commit 905e224849fbbed1719e0add231b00e2d570b3b4 (image_qa: fix
error handling), any unexpected exceptions in do_image_qa() would result
in a variable being set, but never used, effectively hiding the error.

Since image_qa now calls oe.qa.exit_if_errors(), remove the support for
oe.utils.ImageQAFailed and instead rely on the called functions to call
oe.qa.handle_error() themselves. This matches what do_package_qa() does.

Also update the description of do_image_qa() to explain that the called
functions are expected to call oe.qa.handle_error() themselves.

[ YOCTO #15601 ]

(From OE-Core rev: c00ad42b6a26ceb7a2878ed2c7f6c2821fe513cc)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0c3e111c965af2bc56533633c376b70b7fa5e1de)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Niko Mauno
9daf5c5cf5 bitbake.conf: Mark VOLATILE_TMP_DIR as obsolete
This variable was removed in
https://git.yoctoproject.org/poky/commit/?id=2f46b6f27dfa3a9d5ad177900fcecfe64c3536f1
("bitbake.conf: drop VOLATILE_TMP_DIR, use FILESYSTEM_PERMS_TABLES instead")
so ensure that distributions become aware that it no longer has any
effect.

(From OE-Core rev: ec032dd13a19e4d4a332f06ace87f1f02143c3b2)

(From OE-Core rev: a2b419d123b76594879da740eb665397929f70e0)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Niko Mauno
14fdf7b3a6 bitbake.conf: Mark VOLATILE_LOG_DIR as obsolete
This variable was removed in
https://git.yoctoproject.org/poky/commit/?id=2f8806deb7655b37d6f8d12ff54680d6acf7a298
("bitbake.conf: drop VOLATILE_LOG_DIR, use FILESYSTEM_PERMS_TABLES instead")
so ensure that distributions become aware that it no longer has any
effect.

(From OE-Core rev: a951a900ce459191a9796a7069a1d3b658dda88f)

(From OE-Core rev: fe1d653d094f006509c8b2aee3eafc5118be1ab3)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Sergei Zhmylev
034931764d lsb-release: fix Distro Codename shell escaping
(From OE-Core rev: 168bed0e3d339ec75973faa682d47269ec96d599)

Signed-off-by: Sergei Zhmylev <s.zhmylev@yadro.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7b5824c547b1348713e992a8bebd40577a0c5709)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Jonas Gorski
5d72a3a770 rootfs-postcommands.bbclass: make opkg status reproducible
opkg stores the current time as Installed-Time in its status file when
installing packages to the rootfs. Make this reproducible by replacing
Installed-Time with ${REPRODUCIBLE_TIMESTAMP_ROOTFS}, which then also
matches the files' datestamps.

Based on OpenWrt's approach for the issue [1].

[1] https://github.com/openwrt/openwrt/blob/main/include/rootfs.mk#L103

(From OE-Core rev: 80b279f18230208c6cc258ddf6a6e6dd3f8c9d79)

Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 61a9b1b1cb618ce90ba7886036f41263075c07df)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Ross Burton
c3de683380 icu: update patch Upstream-Status
(From OE-Core rev: 0accc87026a135246ba33ee92ebe215cdd0a5959)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 717eb63df55f11d3eb4353ae1364a5781adfce76)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Chen Qi
a78f903a5f json-c: avoid ptest failure caused by valgrind
json-c's ptest will automatically detect valgrind and use it to run
tests. This will fail in case valgrind does not work, e.g., intel-x86-64
(corei7-64) + lib32 image. The error is about illegal instruction.
Error message is like below:

  Illegal instruction     (core dumped) valgrind --tool=memcheck ...
  ERROR: "test1Formatted spaced pretty" exited with non-zero exit status: 132

So we explicitly disable valgrind by exporting USE_VALGRIND=0.

(From OE-Core rev: 78160463259ac3be6de380d12b8cd6159162792b)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b0429a278e39b7a2846144bcc3fcc24ca298cab7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Richard Purdie
8113fd2dc1 binutils: Fix binutils mingw packaging
Use SOLIBSDEV in FILES to fix nativesdk-binutils packaging on mingw
builds.

(From OE-Core rev: 3e953bbf59ed4bd08e40403fb4506dfc35a58f92)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cba58ab2f380252f231fc78944499ade65e32223)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Daniel McGregor
46b4d4c257 libpam: use libdir in conditional
Using the usrmerge distro feature for this check causes the -native
variant's build to fail. Simplify the test to be correct for both
native and target builds.

(From OE-Core rev: ba11742291bccc9ac4d30ca85b058576cbc17427)

Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 105e6fbdd28238cef41f280c0c28939b24d1a96e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Harish Sadineni
80e1dff59f binutils: Add missing perl modules to RDEPENDS for nativsdk variant
In SDK, missing perl modules causes 'x86_64-pokysdk-linux-gp-display-html --help' to abort with below errors..
  - Can't locate bignum.pm in @INC (you may need to install the feature module).
  - Can't locate Math/BigInt.pm in @INC (you may need to install the Math::BigInt module)

By adding the following perl modules to RDEPENDS fixes the above errors:
  nativesdk-perl-module-bignum
  nativesdk-perl-module-bigint
  nativesdk-perl-module-math-bigint

(From OE-Core rev: 75773577d8dd9c9d61aa039e1da2482c064c666a)

Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 05f1099acbbb10b6ce33ea117d313749f7dc4a47)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Khem Raj
2b82219880 qemu: Fix build on musl/riscv64
musl does not provide strerrorname_np() so do not use it.

(From OE-Core rev: 36b05346e63f9885da45a3c3a06ad5f6a5cd905c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d7678118af5aa4bfbf6fb72b34f90a1e37b917c3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Khem Raj
90404038a9 bluez: Fix mesh builds on musl
When mesh is enabled on musl the build fails with conflicting basename
calls.

(From OE-Core rev: bab3e883cb770ef9fc28c002a98efd0ca5cbf60d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2db90c6508e350d35782db973291bbf5ffdfd3a5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Harish Sadineni
98257584a9 oeqa/selftest/gcc: Fix kex exchange identification error
while runnig oe-selftest for gcc, some of the testcases that need to be run on qemu
are not running due to below failures:
- kex_exchange_identification: read: Connection reset by peer^M
   Connection reset by 192.168.7.2 port 22^M
   ERROR: Couldn't create remote directory /tmp/runtest.3549814 on ssh

To resolve kex exchange identification error increased the MaxStartups.

(From OE-Core rev: 971d63d5b4982ce9ef4c4be742ba83a9708267da)

Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit df64d5ab6eb37dcdc2046f449ec539a3f4b985c8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Purushottam Choudhary
7b10822d32 kmscube: Upgrade to latest revision
Upgrade to the latest kmscube revision.

Changelog:
b2f97f5 common: fix cast type in init_egl()
4961a04 gst-decoder.c: switch to decodebin3
d12ba65 kmscube: warn of missing mode argument in offscreen renders

(From OE-Core rev: 42ddd6d531dd4925a3fcd9515674e3aab3ee211c)

Signed-off-by: Purushottam Choudhary <purushottam27.kumar@lge.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Wang Mingyu
0e5dc60deb libevdev: upgrade 1.13.2 -> 1.13.3
Changelog:
 include: sync event codes with kernel 6.10

(From OE-Core rev: 1a364569ca82adf39d2b5c44e8666e64d281d51a)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8c0167807a9c681b24f3025e6e762df1b3c97157)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Wang Mingyu
a6e5a0bf50 git: upgrade 2.46.0 -> 2.46.1
Changelog:
==============
 * "git checkout --ours" (no other arguments) complained that the
   option is incompatible with branch switching, which is technically
   correct, but found confusing by some users.  It now says that the
   user needs to give pathspec to specify what paths to checkout.
 * It has been documented that we avoid "VAR=VAL shell_func" and why.
 * "git add -p" by users with diff.suppressBlankEmpty set to true
   failed to parse the patch that represents an unmodified empty line
   with an empty line (not a line with a single space on it), which
   has been corrected.
 * "git rebase --help" referred to "offset" (the difference between
   the location a change was taken from and the change gets replaced)
   incorrectly and called it "fuzz", which has been corrected.
 * "git notes add -m '' --allow-empty" and friends that take prepared
   data to create notes should not invoke an editor, but it started
   doing so since Git 2.42, which has been corrected.
 * An expensive operation to prepare tracing was done in re-encoding
   code path even when the tracing was not requested, which has been
   corrected.
 * Perforce tests have been updated.
 * The credential helper to talk to OSX keychain sometimes sent
   garbage bytes after the username, which has been corrected.
 * A recent update broke "git ls-remote" used outside a repository,
   which has been corrected.
 * "git config --value=foo --fixed-value section.key newvalue" barfed
   when the existing value in the configuration file used the
   valueless true syntax, which has been corrected.
 * "git reflog expire" failed to honor annotated tags when computing
   reachable commits.
 * A flakey test and incorrect calls to strtoX() functions have been
   fixed.

 * Follow-up on 2.45.1 regression fix.
 * "git rev-list ... | git diff-tree -p --remerge-diff --stdin" should
   behave more or less like "git log -p --remerge-diff" but instead it
   crashed, forgetting to prepare a temporary object store needed.
 * The patch parser in "git patch-id" has been tightened to avoid
   getting confused by lines that look like a patch header in the log
   message.
 * "git bundle unbundle" outside a repository triggered a BUG()
   unnecessarily, which has been corrected.
 * The code forgot to discard unnecessary in-core commit buffer data
   for commits that "git log --skip=<number>" traversed but omitted
   from the output, which has been corrected.
 * "git verify-pack" and "git index-pack" started dying outside a
   repository, which has been corrected.
 * A corner case bug in "git stash" was fixed.

(From OE-Core rev: 46298bda0ac17750d5a120be21feaef2407da7ee)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ee7e9866ad942a9682e54878f1e7fb06c68c8cf4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Bruce Ashfield
1ef69a9a3d linux-yocto/6.10: update to v6.10.14
Updating linux-yocto/6.10 to the latest korg -stable release that comprises
the following commits:

    47c2f92131c4 Linux 6.10.14
    aa8086f899a7 perf python: Allow checking for the existence of warning options in clang
    df8d896f8f94 drm/amd/display: enable_hpo_dp_link_output: Check link_res->hpo_dp_link_enc before using it
    e34ddcce0066 perf report: Fix segfault when 'sym' sort key is not used
    8ba850ac0c32 drm/amd/display: Revert Avoid overflow assignment
    a97a22bb688c crypto: octeontx* - Select CRYPTO_AUTHENC
    41e7dd6fb6f8 ALSA: control: Fix leftover snd_power_unref()
    00fb5b23e1c9 vhost/scsi: null-ptr-dereference in vhost_scsi_get_req()
    56e415202b8a rxrpc: Fix a race between socket set up and I/O thread creation
    4a5dac62c172 drm/sched: revert "Always increment correct scheduler score"
    a3ab4e7e10ae Revert "drm/amd/display: Skip Recompute DSC Params if no Stream on Link"
    45b13bbd89cf drm/rockchip: vop: enable VOP_FEATURE_INTERNAL_RGB on RK3066
    ca26e8eed9c1 ACPI: battery: Fix possible crash when unregistering a battery hook
    31ffdcb2b302 ACPI: battery: Simplify battery hook locking
    92bc8647b4d6 r8169: add tally counter fields added with RTL8125
    865310fc5b57 r8169: Fix spelling mistake: "tx_underun" -> "tx_underrun"
    9360b0f5dbcd iio: pressure: bmp280: Fix waiting time for BMP3xx configuration
    a257fd6b4112 iio: pressure: bmp280: Fix regmap for BMP280 device
    5e8419cb858b iio: pressure: bmp280: Use BME prefix for BME280 specifics
    68dc17268d02 iio: pressure: bmp280: Improve indentation and line wrapping
    de4d873a7932 remoteproc: k3-r5: Delay notification of wakeup event
    c1ea59b64cf7 remoteproc: k3-r5: Acquire mailbox handle during probe routine
    207f1c8c86e4 RDMA/mana_ib: use the correct page table index based on hardware page size
    76024ae302c6 net: mana: Add support for page sizes other than 4KB on ARM64
    b4e21431a0db NFSD: Limit the number of concurrent async COPY operations
    d0969746d33b NFSD: Async COPY result needs to return a write verifier
    17c0cbfd2274 sunrpc: change sp_nrthreads from atomic_t to unsigned int.
    49430bda7c68 sched: psi: fix bogus pressure spikes from aggregation race
    272b0e788745 drm/xe: fix UAF around queue destruction
    baa6301d8257 drm/xe: Delete unused GuC submission_state.suspend
    52372cc28bac lib/buildid: harden build ID parsing logic
    ec580d6742c7 build-id: require program headers to be right after ELF header
    1665af776b64 drm/amd/display: Allow backlight to go below `AMDGPU_DM_DEFAULT_MIN_BACKLIGHT`
    8a2f4f156ab4 mm: z3fold: deprecate CONFIG_Z3FOLD
    2aa45f43709b uprobes: fix kernel info leak via "[uprobes]" vma
    94f87d63613a arm64: errata: Expand speculative SSBS workaround once more
    03ddc3ec9600 arm64: cputype: Add Neoverse-N3 definitions
    830a573b87cf kconfig: qconf: fix buffer overflow in debug links
    c0bdc6c6a97c cpufreq: intel_pstate: Make hwp_notify_lock a raw spinlock
    73e441be033d drm/amd/display: Fix system hang while resume with TBT monitor
    945dc25eda88 drm/amd/display: update DML2 policy EnhancedPrefetchScheduleAccelerationFinal DCN35
    c28331512f4e drm/amd/display: Add HDR workaround for specific eDP
    c09c425d25a1 drm/sched: Always increment correct scheduler score
    d607eca401a7 drm/sched: Always wake up correct scheduler in drm_sched_entity_push_job
    48e3cf7af76c drm/sched: Add locking to drm_sched_entity_modify_sched
    ac44fecf0a56 drm/sched: Fix dynamic job-flow control race
    9c8c396ba700 drm/panthor: Don't declare a queue blocked if deferred operations are pending
    ac2ca5e5148a drm/panthor: Fix access to uninitialized variable in tick_ctx_cleanup()
    a3a1c41da56f drm/panthor: Don't add write fences to the shared BOs
    7f23b5fbcddd drm/i915/gem: fix bitwise and logical AND mixup
    c11b0737d0e0 close_range(): fix the logics in descriptor table trimming
    798130704be6 firmware/sysfb: Disable sysfb for firmware buffers with unknown parent
    f753ba8670f4 rtla: Fix the help text in osnoise and timerlat top tools
    3670051acbca tracing/timerlat: Fix duplicated kthread creation due to CPU online/offline
    a0d9c0cd5856 tracing/timerlat: Fix a race during cpuhp processing
    09cb44cc3d3d tracing/timerlat: Drop interface_lock in stop_kthread()
    0a675c6c7e33 tracing/hwlat: Fix a race during cpuhp processing
    1d9af0f544de ceph: fix cap ref leak via netfs init_request
    83fde8356b41 io_uring/net: harden multishot termination case for recv
    540138377b22 mac802154: Fix potential RCU dereference issue in mac802154_scan_worker
    ad7adfb95f64 Bluetooth: hci_event: Align BR/EDR JUST_WORKS paring with LE
    01feafd82a68 net: pcs: xpcs: fix the wrong register that was written back
    765f033f26a9 gpio: davinci: fix lazy disable
    77f88b17387a cpufreq: Avoid a bad reference count on CPU node
    bf0de0f9a054 btrfs: wait for fixup workers before stopping cleaner kthread during umount
    1053475c4af8 btrfs: send: fix invalid clone operation for file that got its size decreased
    4f255c6c3204 btrfs: drop the backref cache during relocation if we commit
    dc02c1440705 btrfs: fix a NULL pointer dereference when failed to start a new trasacntion
    b5885bedfa27 ACPI: resource: Add Asus ExpertBook B2502CVA to irq1_level_low_skip_override[]
    bd0568841b58 ACPI: resource: Add Asus Vivobook X1704VAP to irq1_level_low_skip_override[]
    c500dc3ef5c1 ACPI: resource: Loosen the Asus E1404GAB DMI match to also cover the E1404GA
    9eb7d786c80a ACPI: resource: Remove duplicate Asus E1504GAB IRQ override
    1589c4116810 ACPI: video: Add backlight=native quirk for Dell OptiPlex 5480 AIO
    e4a28489b310 cachefiles: fix dentry leak in cachefiles_open_file()
    2a9d0d2db804 Input: adp5589-keys - fix adp5589_gpio_get_value()
    9a38791ee79b Input: adp5589-keys - fix NULL pointer dereference
    0e774fb34d7b rtc: at91sam9: fix OF node leak in probe() error path
    e297a2bf56d1 net: stmmac: Fix zero-division error when disabling tc cbs
    e9cf96d3d036 tomoyo: fallback to realpath if symlink's pathname does not exist
    33e28acf42ee gso: fix udp gso fraglist segmentation after pull from frag_list
    3fdd8c83e83f net: gso: fix tcp fraglist segmentation after pull from frag_list
    8c9381b31382 vrf: revert "vrf: Remove unnecessary RCU-bh critical section"
    0072322c6fe2 iio: magnetometer: ak8975: Fix reading for ak099xx sensors
    23521aadc6e2 smb3: fix incorrect mode displayed for read-only files
    51cf4e5ad134 smb: client: use actual path when queryfs
    3dd3b564535c clk: qcom: clk-alpha-pll: Fix CAL_L_VAL override for LUCID EVO PLL
    0e2e46d4e5cb clk: qcom: gcc-sc8180x: Fix the sdcc2 and sdcc4 clocks freq table
    6ab44e53a67f media: qcom: camss: Fix ordering of pm_runtime_enable
    1081881be9b1 clk: qcom: gcc-sc8180x: Add GPLL9 support
    a975db8aea15 media: qcom: camss: Remove use_count guard in stop_streaming
    cefa27681fa6 clk: qcom: gcc-sm8250: Do not turn off PCIe GDSCs during gdsc_disable()
    d925e9f7fb5a media: venus: fix use after free bug in venus_remove due to race condition
    9fff37bc82b5 clk: qcom: gcc-sm8150: De-register gcc_cpuss_ahb_clk_src
    0e595d3f9927 clk: samsung: exynos7885: Update CLKS_NR_FSYS after bindings fix
    58cdc0e79ece clk: qcom: clk-rpmh: Fix overflow in BCM vote
    1127647741e4 dt-bindings: clock: qcom: Add GPLL9 support on gcc-sc8180x
    6e9086eba618 media: uapi/linux/cec.h: cec_msg_set_reply_to: zero flags
    a854c234d8f3 clk: qcom: gcc-sm8450: Do not turn off PCIe GDSCs during gdsc_disable()
    eae177533046 media: sun4i_csi: Implement link validate for sun4i_csi subdev
    1aec8446c734 clk: qcom: dispcc-sm8250: use CLK_SET_RATE_PARENT for branch clocks
    89c7fedd0e13 media: videobuf2: Drop minimum allocation requirement of 2 buffers
    afd102bde99d remoteproc: k3-r5: Fix error handling when power-up failed
    7a6c6ccab3d8 clk: rockchip: fix error for unknown clocks
    710fd3d1cdd0 media: ov5675: Fix power on/off delay timings
    617c1b60f3df media: imx335: Fix reset-gpio handling
    89d9a69ae0c6 aoe: fix the potential use-after-free problem in more places
    1b1ba6d62835 riscv: Fix kernel stack size when KASAN is enabled
    f70f801f90c0 drivers/perf: riscv: Align errno for unsupported perf event
    0b8e9f0e43f4 RDMA/mana_ib: use the correct page size for mapping user-mode doorbell page
    51d7f1049234 sysctl: avoid spurious permanent empty tables
    4318998892bf i3c: master: svc: Fix use after free vulnerability in svc_i3c_master Driver Due to Race Condition
    e91d86e8537a NFSD: Fix NFSv4's PUTPUBFH operation
    c76005adfa93 nfsd: map the EBADMSG to nfserr_io to avoid warning
    c1bc9d523695 nfsd: fix delegation_blocked() to block correctly for at least 30 seconds
    d18bb644d6c6 perf hist: Update hist symbol when updating maps
    a2bb1edc4468 perf python: Disable -Wno-cast-function-type-mismatch if present on clang
    dca359db1eb3 exfat: fix memory leak in exfat_load_bitmap()
    c2e629efd6a6 riscv: define ILLEGAL_POINTER_VALUE for 64bit
    d6b7fb7e01f9 sched/core: Clear prev->dl_server in CFS pick fast path
    24dabf0b142c sched/core: Add clearing of ->dl_server in put_prev_task_balance()
    62ee1dae878d sched/deadline: Comment sched_dl_entity::dl_server variable
    2ea0e186c686 arm64: Subscribe Microsoft Azure Cobalt 100 to erratum 3194386
    16e7c0ac7bc3 arm64: fix selection of HAVE_DYNAMIC_FTRACE_WITH_ARGS
    a77fd5c22431 scripts/gdb: fix lx-mounts command error
    912edbfd31c6 scripts/gdb: add iteration function for rbtree
    8ad3ce94c971 scripts/gdb: fix timerlist parsing issue
    46b1edf0536a ocfs2: fix possible null-ptr-deref in ocfs2_set_buffer_uptodate
    f60e94a83db7 ocfs2: fix null-ptr-deref when journal load failed.
    df4f20fc3673 ocfs2: remove unreasonable unlock in ocfs2_read_blocks
    a4346c04d055 ocfs2: cancel dqi_sync_work before freeing oinfo
    9f9a8f3ac65b ocfs2: reserve space for inline xattr before attaching reflink tree
    5af5cd893818 ocfs2: fix uninit-value in ocfs2_get_block()
    ed789ef13079 ocfs2: fix the la space leak when unmounting an ocfs2 volume
    73388659ef0e mm: krealloc: consider spare memory for __GFP_ZERO
    e58e570a88f0 jbd2: correctly compare tids with tid_geq function in jbd2_fc_begin_commit
    3ced0fe6c0ef jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error
    06ff97a20b8c resource: fix region_intersects() vs add_memory_driver_managed()
    0d71916694ac drm: omapdrm: Add missing check for alloc_ordered_workqueue
    0efd44eae47a of/irq: Support #msi-cells=<0> in of_msi_get_domain
    c5caf2527fe4 of: address: Report error on resource bounds overflow
    5961191edfc4 drm/rockchip: vop: clear DMA stop bit on RK3066
    1977bef83b70 parisc: Fix stack start for ADDR_NO_RANDOMIZE personality
    348f2b824a47 parisc: Allow mmap(MAP_STACK) memory to automatically expand upwards
    decde7c9fd1b parisc: Fix 64-bit userspace syscall path
    0d80d2b8bf61 ext4: fix off by one issue in alloc_flex_gd()
    e83d426186be ext4: mark fc as ineligible using an handle in ext4_xattr_set()
    b2b7dc103685 ext4: use handle to mark fc as ineligible in __track_dentry_update()
    04b32feef487 ext4: fix fast commit inode enqueueing during a full journal commit
    e0f8f7af8a69 ext4: fix incorrect tid assumption in jbd2_journal_shrink_checkpoint_list()
    33841ebb9f9f ext4: fix incorrect tid assumption in ext4_wait_for_tail_page_commit()
    b63481b3a388 ext4: update orig_path in ext4_find_extent()
    d157fc20ca52 ext4: fix access to uninitialised lock in fc replay path
    fa78fb51d396 ext4: fix timer use-after-free on failed mount
    7633407ca4ab ext4: fix double brelse() the buffer of the extents path
    beb7b66fb489 ext4: aovid use-after-free in ext4_ext_insert_extent()
    3ff710662e8d ext4: drop ppath from ext4_ext_replay_update_ex() to avoid double-free
    40eae11eb476 ext4: fix incorrect tid assumption in __jbd2_log_wait_for_space()
    a9f331f51515 ext4: dax: fix overflowing extents beyond inode size when partially writing
    7091e216e12c ext4: fix incorrect tid assumption in ext4_fc_mark_ineligible()
    870a959d1928 ext4: propagate errors from ext4_find_extent() in ext4_insert_range()
    5d949ea75bb5 ext4: fix slab-use-after-free in ext4_split_extent_at()
    8083a0bcdaea ext4: correct encrypted dentry name hash when not casefolded
    fe192515d293 ext4: no need to continue when the number of entries is 1
    6de827d2059d ALSA: hda/realtek: Add a quirk for HP Pavilion 15z-ec200
    1a87bb170d93 ALSA: hda/realtek: Add quirk for Huawei MateBook 13 KLV-WX9
    787c2b346120 ALSA: hda/realtek: fix mute/micmute LED for HP mt645 G8
    3eef9a4f5b7d ALSA: line6: add hw monitor volume control to POD HD500X
    3751064c3815 ALSA: usb-audio: Add native DSD support for Luxman D-08u
    2376dec1c21a ALSA: usb-audio: Add delay quirk for VIVO USB-C HEADSET
    2894ff782f10 ALSA: core: add isascii() check to card ID generator
    017915575037 ALSA: hda/tas2781: Add new quirk for Lenovo Y990 Laptop
    4a4d08b06901 drm: Consistently use struct drm_mode_rect for FB_DAMAGE_CLIPS
    8800db8d27e4 drm/mediatek: ovl_adaptor: Add missing of_node_put()
    288191fe9d66 parisc: Fix itlb miss handler for 64-bit programs
    3e50d72abe50 drm/v3d: Prevent out of bounds access in performance query extensions
    3b485889fb3f perf/core: Fix small negative period being ignored
    7a2e823a1974 mm, slub: avoid zeroing kmalloc redzone
    b883182a7eaa power: supply: hwmon: Fix missing temp1_max_alarm attribute
    7688586d0562 spi: bcm63xx: Fix missing pm_runtime_disable()
    bcbbd8b45de3 spi: bcm63xx: Fix module autoloading
    8ad8fff75692 dt-bindings: clock: exynos7885: Fix duplicated binding
    7cd1ce71227f memory: tegra186-emc: drop unused to_tegra186_emc()
    411ef1a96fbd firmware: tegra: bpmp: Drop unused mbox_client_to_bpmp()
    cea4f54ad411 ovl: fail if trusted xattrs are needed but caller lacks permission
    18e9c282472a rust: sync: require `T: Sync` for `LockedBy::access`
    315114f46207 i2c: synquacer: Deal with optional PCLK correctly
    fa5f0091b39e i2c: designware: fix controller is holding SCL low while ENABLE bit is disabled
    9d1fa01dd17e i2c: xiic: Fix pm_runtime_set_suspended() with runtime pm enabled
    24781e20fcdf i2c: core: Lock address during client device instantiation
    2423b60a2d6d media: i2c: ar0521: Use cansleep version of gpiod_set_value()
    8ade08a9039a i2c: xiic: Wait for TX empty to avoid missed TX NAKs
    1e03cfffa5fd i2c: qcom-geni: Use IRQF_NO_AUTOEN flag in request_irq()
    fac3c9f7784e i2c: stm32f7: Do not prepare/unprepare clock during runtime suspend/resume
    bbefa2376a5f KVM: arm64: Fix kvm_has_feat*() handling of negative features
    cebc705b097d platform/x86: ISST: Fix the KASAN report slab-out-of-bounds bug
    f08adc5177bd platform/x86: x86-android-tablets: Fix use after free on platform_device_register() errors
    6a1fe876e291 Revert "ALSA: hda: Conditionally use snooping for AMD HDMI"
    b72b40cd784f f2fs: forcibly migrate to secure space for zoned device file pinning
    6f483e0b7b45 f2fs: do FG_GC when GC boosting is required for zoned devices
    a9881ee31f82 f2fs: increase BG GC migration window granularity when boosted for zoned devices
    31a6f6f44c67 f2fs: introduce migration_window_granularity
    1219cbb0b3d1 f2fs: make BG GC more aggressive for zoned devices
    cc1c9708740f selftests: vDSO: fix vdso_config for s390
    1668c4efa7aa selftests: vDSO: fix ELF hash table entry size for s390x
    7270e5f957fa powerpc/vdso: Fix VDSO data access when running in a non-root time namespace
    9f6e7a0512a5 f2fs: fix to don't panic system for no free segment fault injection
    d26056f9f2b8 f2fs: add write priority option based on zone UFS
    f877cda18a28 nvme-tcp: fix link failure for TCP auth
    d729ba02b1de selftests/mm: fix charge_reserved_hugetlb.sh test
    59ff1b61070e selftests: vDSO: fix vDSO symbols lookup for powerpc64
    9189b421a395 selftests: vDSO: fix vdso_config for powerpc
    9d7926a7120b selftests: vDSO: fix vDSO name for powerpc
    6a1ab4a0745e drm/xe: Fix memory leak on xe_alloc_pf_queue failure
    ddf3e1ff1c2a drm/xe: fixup xe_alloc_pf_queue
    84a7fefc2b8c perf: Really fix event_function_call() locking
    8444283facf2 perf callchain: Fix stitch LBR memory leaks
    28f4ec89a9a4 ALSA: control: Fix power_ref lock order for compat code, too
    98ec87b3f90f spi: rpc-if: Add missing MODULE_DEVICE_TABLE
    3312f9c93174 accel/ivpu: Add missing MODULE_FIRMWARE metadata
    e8ecc1175860 selftests: breakpoints: use remaining time to check if suspend succeed
    d6713af2395e kselftest/devices/probe: Fix SyntaxWarning in regex strings for Python3
    b8f27f7c447a spi: s3c64xx: fix timeout counters in flush_fifo
    b0e689bf8727 selftest: hid: add missing run-hid-tools-tests.sh
    1753eaa877da spi: spi-cadence: Fix missing spi_controller_is_target() check
    954313740674 spi: spi-cadence: Fix pm_runtime_set_suspended() with runtime pm enabled
    9b61acfa6f75 spi: spi-imx: Fix pm_runtime_set_suspended() with runtime pm enabled
    c34d1aac8922 EINJ, CXL: Fix CXL device SBDF calculation
    4902a6a0dc59 bpf: Fix a sdiv overflow issue
    2e0f6f33f2aa bpftool: Fix undefined behavior in qsort(NULL, 0, ...)
    11292e2e1899 iomap: handle a post-direct I/O invalidate race in iomap_write_delalloc_release
    40d0abceb479 bpftool: Fix undefined behavior caused by shifting into the sign bit
    6252cb6bde7f ext4: fix i_data_sem unlock order in ext4_ind_migrate()
    8b114f2cc7dd ext4: avoid use-after-free in ext4_ext_show_leaf()
    3e3f232a0520 ext4: ext4_search_dir should return a proper error
    6e39a21ee2b8 bpf: Make the pointer returned by iter next method valid
    3e9c867f98d3 platform/x86: x86-android-tablets: Adjust Xiaomi Pad 2 bottom bezel touch buttons LED
    37ba0bcdc381 platform/mellanox: mlxbf-pmc: fix lockdep warning
    9fd3cde4628b ksmbd: add refcnt to ksmbd_conn struct
    8164e5fd1b23 HID: i2c-hid: ensure various commands do not interfere with each other
    957da521c66a tools/hv: Add memory allocation check in hv_fcopy_start
    c0032486b262 platform/x86: lenovo-ymc: Ignore the 0x0 state
    baf1632d595c drm/amdgpu/gfx10: use rlc safe mode for soft recovery
    bf817cb95e10 drm/amdgpu/gfx11: use rlc safe mode for soft recovery
    df590bff84b9 ovl: fsync after metadata copy-up
    0c3f429d6dea powerpc/pseries: Use correct data types from pseries_hp_errorlog struct
    f586dcfa9d64 of/irq: Refer to actual buffer size in of_irq_parse_one()
    7935f8204acc drm/xe: Drop warn on xe_guc_pc_gucrc_disable in guc pc fini
    13f83a0d5ac2 drm/amdkfd: Check int source id for utcl2 poison event
    8adf4408d482 drm/amd/pm: ensure the fw_info is not null before using it
    a67d874e7a04 drm/xe: Use topology to determine page fault queue size
    93a3f68a0f53 drm/amdgpu/gfx11: enter safe mode before touching CP_INT_CNTL
    2a82c59c8315 drm/amdgpu/gfx9: use rlc safe mode for soft recovery
    17a98c942cb1 drm/amdgpu: Block MMR_READ IOCTL in reset
    c26473000338 drm/radeon/r100: Handle unknown family in r100_cp_init_microcode()
    524e2b97298d scsi: NCR5380: Initialize buffer for MSG IN and STATUS transfers
    07f1dc009a93 perf: Fix event_function_call() locking
    5c990fc52893 drm/amdgpu: fix unchecked return value warning for amdgpu_atombios
    94d26a45d310 drm/amdgpu: fix unchecked return value warning for amdgpu_gfx
    4a98aa0cd5d7 scsi: lpfc: Update PRLO handling in direct attached topology
    e2e033a018d0 scsi: lpfc: Fix unsolicited FLOGI kref imbalance when in direct attached topology
    99a801e2fca3 scsi: lpfc: Validate hdwq pointers before dereferencing in reset/errata paths
    22a22f79a3e9 scsi: aacraid: Rearrange order of struct aac_srb_unit
    ef0487825734 perf,x86: avoid missing caller address in stack traces captured in uprobe
    1e0f4f9f8228 drm/printer: Allow NULL data in devcoredump printer
    bc00d211da4f drm/amd/display: Initialize get_bytes_per_element's default to 1
    26ced9d86240 drm/amd/display: Avoid overflow assignment in link_dp_cts
    677f6e91c667 drm/amdgpu/gfx9: properly handle error ints on all pipes
    578422ddae3d drm/amd/display: Fix index out of bounds in DCN30 color transformation
    2f5da549535b drm/amd/display: Fix index out of bounds in degamma hardware format translation
    f5c3d306de91 drm/amd/display: Fix index out of bounds in DCN30 degamma hardware format translation
    530e29452b95 drm/amd/display: Check link_res->hpo_dp_link_enc before using it
    5b4b13e678b1 drm/amd/display: Check stream before comparing them
    1decf695ce08 drm/amd/display: Check phantom_stream before it is used
    3fc70ae048fe drm/amd/display: Check null-initialized variables
    1f699de6f6e6 drm/stm: ltdc: reset plane transparency after plane disable
    3cb391adb345 platform/x86/amd: pmf: Add quirk for TUF Gaming A14
    1d91a9158e62 platform/x86: touchscreen_dmi: add nanote-next quirk
    7ec4ce28bcf9 HID: multitouch: Add support for Thinkpad X12 Gen 2 Kbd Portfolio
    81d083d693a8 drm/amdkfd: Fix resource leak in criu restore queue
    9270cf786959 drm/amdgpu: enable gfxoff quirk on HP 705G4
    fe19a7c6c03b drm/amdgpu: add raven1 gfxoff quirk
    7c244d5b4828 jfs: Fix uninit-value access of new_ea in ea_buffer
    9773737375b2 drm/msm/adreno: Assign msm_gpu->pdev earlier to avoid nullptrs
    14e5437010d2 scsi: smartpqi: add new controller PCI IDs
    b8ddd0d6f57e scsi: smartpqi: correct stream detection
    cb0eb1055880 jfs: check if leafidx greater than num leaves per dmap tree
    a9603a6f75df jfs: Fix uaf in dbFreeBits
    85dfc405938f jfs: UBSAN: shift-out-of-bounds in dbFindBits
    5ec731ef47f1 drm/amdgpu: add list empty check to avoid null pointer issue
    7af9e6fa63db drm/amd/display: fix double free issue during amdgpu module unload
    9132882eaae4 drm/amd/display: Add null check for 'afb' in amdgpu_dm_plane_handle_cursor_update (v2)
    3f7e533c10db drm/amd/display: Check null pointers before using dc->clk_mgr
    496486950c3d drm/amd/display: Add NULL check for function pointer in dcn32_set_output_transfer_func
    02411e935929 drm/amd/display: Add NULL check for function pointer in dcn20_set_output_transfer_func
    ec6c32b58e6c drm/amd/display: Handle null 'stream_status' in 'planes_changed_for_existing_stream'
    b68c60745482 HID: Ignore battery for all ELAN I2C-HID devices
    8d8c20739719 scsi: smartpqi: Add new controller PCI IDs
    28dda6748a7c ata: sata_sil: Rename sil_blacklist to sil_quirks
    2ab9edd82156 ata: pata_serverworks: Do not use the term blacklist
    54877301a755 drm/amd/display: Use gpuvm_min_page_size_kbytes for DML2 surfaces
    3929e382e475 drm/amd/display: Add null check for top_pipe_to_program in commit_planes_for_stream
    c940627857ee drm/xe/hdcp: Check GSC structure validity
    f0454b3cb058 drm/amd/display: Add NULL check for clk_mgr in dcn32_init_hw
    5443c83eb8fd drm/amd/display: Add NULL check for clk_mgr and clk_mgr->funcs in dcn30_init_hw
    4f47292f488f drm/amd/display: Add null check for head_pipe in dcn32_acquire_idle_pipe_for_head_pipe_in_layer
    390d757621f5 drm/amd/display: Add null check for head_pipe in dcn201_acquire_free_pipe_for_layer
    71f3240f8298 drm/amdkfd: amdkfd_free_gtt_mem clear the correct pointer
    fcdfddaea93f drm/amdgpu: disallow multiple BO_HANDLES chunks in one submit
    65e1d2c29155 drm/amd/display: Check null pointers before using them
    85aa996ecfaa drm/amd/display: Pass non-null to dcn20_validate_apply_pipe_split_flags
    454e5d7e6719 drm/stm: Avoid use-after-free issues with crtc and plane
    c131ba318119 iommu/arm-smmu-v3: Do not use devm for the cd table allocations
    8ab6ef39095e iommu/vt-d: Unconditionally flush device TLB for pasid table updates
    07e4e92f84b7 iommu/vt-d: Fix potential lockup if qi_submit_sync called with 0 count
    1ac538d8a3bb iommu/vt-d: Always reserve a domain ID for identity setup
    92f67ef0d5c5 iommu/arm-smmu-v3: Match Stall behaviour for S2
    7324014b6c02 power: reset: brcmstb: Do not go into infinite loop if reset fails
    ee0824f09fc0 rcuscale: Provide clear error when async specified without primitives
    fdc38780b64a pmdomain: core: Don't hold the genpd-lock when calling dev_pm_domain_set()
    aaadc0cb05c9 fbdev: pxafb: Fix possible use after free in pxafb_task()
    872cd2d029d2 fbdev: efifb: Register sysfs groups through driver core
    3e2f2fec600a hwmon: (nct6775) add G15CF to ASUS WMI monitoring list
    3104bddc666f rcu-tasks: Fix access non-existent percpu rtpcp variable in rcu_tasks_need_gpcb()
    79108bef7f02 ASoC: Intel: boards: always check the result of acpi_dev_get_first_match_dev()
    b51db91a6dd0 x86/syscall: Avoid memcpy() for ia32 syscall_get_arguments()
    c07e212bb2ce selftests/nolibc: avoid passing NULL to printf("%s")
    69a70f5b4817 tools/nolibc: powerpc: limit stack-protector workaround to GCC
    5d07d380be51 ALSA: hdsp: Break infinite MIDI input flush loop
    ad7248a5e925 ALSA: asihpi: Fix potential OOB array access
    d80a99892f7a x86/mm/ident_map: Use gbpages only where full GB page should be mapped.
    ce22c9746d05 x86/kexec: Add EFI config table identity mapping for kexec kernel
    b01ac4e2472e x86/pkeys: Restore altstack access in sigreturn()
    dbcd315824c2 x86/pkeys: Add PKRU as a parameter in signal handling functions
    6702ffb1cc03 tools/x86/kcpuid: Protect against faulty "max subleaf" values
    b7187a16d51c ALSA: control: Take power_ref lock primarily
    393b53d6ff49 ASoC: codecs: wsa883x: Handle reading version failure
    27986154c37a ALSA: usb-audio: Add logitech Audio profile quirk
    3089703ab714 ALSA: usb-audio: Add mixer quirk for RME Digiface USB
    5c3e5f909f05 ALSA: usb-audio: Add quirk for RME Digiface USB
    f27840d0d366 ALSA: usb-audio: Replace complex quirk lines with macros
    9666e593732b ALSA: usb-audio: Define macros for quirk table entries
    327830af6cb4 x86/apic: Remove logical destination mode for 64-bit
    649a5c2ffae7 x86/ioapic: Handle allocation failures gracefully
    f75ea831df52 ALSA: usb-audio: Add input value sanity checks for standard types
    4c7d4c0a8ab7 nfp: Use IRQF_NO_AUTOEN flag in request_irq()
    9c763f95f3be netfs: Cancel dirty folios that have no storage destination
    71267bd4e8c7 wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext()
    3f1e70b5de01 wifi: mt76: mt7915: hold dev->mt76.mutex while disabling tx worker
    a6d1b64eedbf wifi: mt76: mt7915: add dummy HW offload of IEEE 802.11 fragmentation
    816ddacaac89 crypto: hisilicon - fix missed error branch
    d694ad8b7e50 net: napi: Prevent overflow of napi_defer_hard_irqs
    734916809472 x86/bugs: Fix handling when SRSO mitigation is disabled
    939fea13eddd x86/bugs: Add missing NO_SSB flag
    83c84cdb7557 wifi: rtw89: avoid reading out of bounds when loading TX power FW elements
    ef7ba79690cb net: phy: Check for read errors in SIOCGMIIREG
    0f538d452bbd arm64: trans_pgd: mark PTEs entries as valid to avoid dead kexec()
    0842ddd83939 block: fix integer overflow in BLKSECDISCARD
    f499fd39d41f netdev-genl: Set extack and fix error on napi-get
    27129511a0ee can: netlink: avoid call to do_set_data_bittiming callback with stale can_priv::ctrlmode
    95425df8814f drivers/perf: arm_spe: Use perf_allow_kernel() for permissions
    eb2589d294bb proc: add config & param to block forcing mem writes
    8a0ec84cf0da ACPICA: iasl: handle empty connection_node
    77c2be40bd20 wifi: mac80211: fix RCU list iterations
    cdbf51bfa4b0 wifi: iwlwifi: mvm: avoid NULL pointer dereference
    3807905165af wifi: iwlwifi: allow only CN mcc from WRDD
    14e56ad52d3d wifi: iwlwifi: mvm: use correct key iteration
    0c3445db49d4 tcp: avoid reusing FIN_WAIT2 when trying to find port in connect() process
    b491b54e7abc netpoll: Ensure clean state on setup failures
    0f5b3a38318a crypto: simd - Do not call crypto_alloc_tfm during registration
    7ab21518d1d2 net: atlantic: Avoid warning about potential string truncation
    4f625762f950 nvme-tcp: check for invalidated or revoked key
    b79fb663472c nvme-tcp: sanitize TLS key handling
    f05149cf9a68 nvme-keyring: restrict match length for version '1' identifiers
    b25ec1deb3bc ipv4: Mask upper DSCP bits and ECN bits in NETLINK_FIB_LOOKUP family
    8b46d65d122b wifi: rtw89: correct base HT rate mask for firmware
    b7ace411161f ipv4: Check !in_dev earlier for ioctl(SIOCSIFADDR).
    8d8c2fae5b8c bnxt_en: Extend maximum length of version string by 1 byte
    7260a3c9d311 net: mvpp2: Increase size of queue_name buffer
    2ed7f42dfd3e tipc: guard against string buffer overrun
    a907c113a8b6 ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package()
    34ca57debd0b ACPI: EC: Do not release locks during operation region accesses
    8f496c99120b wifi: rtw88: select WANT_DEV_COREDUMP
    6045ef5b4b00 wifi: ath11k: fix array out-of-bound access in SoC stats
    a4aef827a41c wifi: ath12k: fix array out-of-bound access in SoC stats
    1b120f151871 blk_iocost: fix more out of bound shifts
    b646c4f68a88 ACPI: CPPC: Add support for setting EPP register in FFH
    99f8ee16963f ACPI: video: Add force_vendor quirk for Panasonic Toughbook CF-18
    931691df59bc Bluetooth: btrtl: Set msft ext address filter quirk for RTL8852B
    1a3b9cd3d9fb Bluetooth: btusb: Add Realtek RTL8852C support ID 0x0489:0xe122
    7aab724c602b net: sched: consistently use rcu_replace_pointer() in taprio_change()
    846d5bb4c1e7 wifi: mt76: mt7915: disable tx worker during tx BA session enable/disable
    8323c7766ed2 ACPI: resource: Skip IRQ override on Asus Vivobook Go E1404GAB
    cbcd3e17205a e1000e: avoid failing the system during pm_suspend
    f92b8829c6e7 fs/inode: Prevent dump_mapping() accessing invalid dentry.d_name.name
    ce1c6c03d3bd ACPICA: Fix memory leak if acpi_ps_get_next_field() fails
    964fe89018cf ACPICA: Fix memory leak if acpi_ps_get_next_namepath() fails
    03593dbb0b27 ACPI: PAD: fix crash in exit_round_robin()
    ed706f4b08bb net: hisilicon: hns_mdio: fix OF node leak in probe()
    6d35f9e07bd3 net: hisilicon: hns_dsaf_mac: fix OF node leak in hns_mac_get_info()
    c5688b8d842d net: hisilicon: hip04: fix OF node leak in probe()
    d408889d4b54 net/xen-netback: prevent UAF in xenvif_flush_hash()
    f4dbfda159e4 wifi: cfg80211: Set correct chandef when starting CAC
    09b4cc2990e3 wifi: iwlwifi: mvm: drop wrong STA selection in TX
    c60af8853803 wifi: iwlwifi: mvm: Fix a race in scan abort flow
    fac02a03836d ice: Adjust over allocation of memory in ice_sched_add_root_node() and ice_sched_add_node()
    c84a9a85105d crypto: octeontx2 - Fix authenc setkey
    9e81df799b91 crypto: octeontx - Fix authenc setkey
    da858c06f22f crypto: x86/sha256 - Add parentheses around macros' single arguments
    2c230210ec0a wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit
    37c319503023 wifi: rtw89: avoid to add interface to list twice when SER
    84552e94250d wifi: ath9k: fix possible integer overflow in ath9k_get_et_stats()
    265ccf1ccb48 ALSA: hda/conexant: Fix conflicting quirk for System76 Pangolin
    caecdc0d894a ALSA: gus: Fix some error handling paths related to get_bpos() usage
    2cc5210d8622 tools/rtla: Fix installation from out-of-tree build
    7609b0257cdd cifs: Do not convert delimiter when parsing NFS-style symlinks
    803b3a39cb09 cifs: Fix buffer overflow when parsing NFS reparse points
    16e0267db156 drm/xe: Prevent null pointer access in xe_migrate_copy
    99415b2bf783 drm/xe: Resume TDR after GT reset
    b824de245407 drm/xe: Restore pci state upon resume
    00bba0b9abc1 ASoC: imx-card: Set card.owner to avoid a warning calltrace if SND=m
    0b745827fe26 ALSA: hda/generic: Unconditionally prefer preferred_dacs pairs
    514fb348ad70 drm/panthor: Lock the VM resv before calling drm_gpuvm_bo_obtain_prealloc()
    4934df9e0add cifs: Remove intermediate object of failed create reparse call
    25897ba7875b ALSA: hda/realtek: Fix the push button function for the ALC257
    b042dfe697fa ALSA: mixer_oss: Remove some incorrect kfree_const() usages
    0b7eab6a5812 io_uring: fix memory leak when cache init fail
    ea65be140e27 ASoC: atmel: mchp-pdmc: Skip ALSA restoration if substream runtime is uninitialized
    8a585d553c11 drm/panthor: Fix race when converting group handle to group object
    9ffcca5d7cb8 loop: don't set QUEUE_FLAG_NOMERGES
    8812b6f98fbe i2c: xiic: Try re-initialization on bus busy timeout
    5dfeb9d2f58d i2c: xiic: improve error message when transfer fails to start
    e381b9dadd42 selftest mm/mseal: fix test_seal_mremap_move_dontunmap_anyaddr
    f032e1dac30b sctp: set sk_state back to CLOSED if autobind fails in sctp_listen_start
    fcb864586da6 dt-bindings: net: xlnx,axi-ethernet: Add missing reg minItems
    d973f1ec47f1 iomap: constrain the file range passed to iomap_file_unshare
    f6ca58696749 net/ncsi: Disable the ncsi work before freeing the associated structure
    3d7c7513605c bridge: mcast: Fail MDB get request on empty entry
    efe9cc0f7c02 ppp: do not assume bh is held in ppp_channel_bridge_input()
    4cc0648e9e32 net: test for not too small csum_start in virtio_net_hdr_to_skb()
    4e280a8e1de5 ipv4: ip_gre: Fix drops of small packets in ipgre_xmit
    ae5b144c79d7 net: stmmac: dwmac4: extend timeout for VLAN Tag register busy bit check
    ff1c3cadcf40 net: add more sanity checks to qdisc_pkt_len_init()
    f959cce8a2a0 net: avoid potential underflow in qdisc_pkt_len_init() with UFO
    5b88ee8318f1 net: fec: Reload PTP registers after link-state change
    cf53d7e76f1f net: fec: Restart PPS after link state change
    1097bf16501e net: ethernet: lantiq_etop: fix memory disclosure
    d2ba6bed913b net: Fix gso_features_check to check for both dev->gso_{ipv4_,}max_size
    eb9a7d90f2fd net: Add netif_get_gro_max_size helper for GRO
    ab5d3420a112 net: dsa: improve shutdown sequence
    3d51ab44123f afs: Fix the setting of the server responding flag
    7c53ed6e9d05 afs: Fix missing wire-up of afs_retry_request()
    5afd21347aac Bluetooth: btmrvl: Use IRQF_NO_AUTOEN flag in request_irq()
    78d30ce16fdf Bluetooth: L2CAP: Fix uaf in l2cap_connect
    0cc47233af35 Bluetooth: MGMT: Fix possible crash on mgmt_index_removed
    2bd86f6aed45 selftests: netfilter: Add missing return value
    f839c5cd3482 netfilter: nf_tables: prevent nf_skb_duplicated corruption
    c93cb0ccdc13 selftests: netfilter: Fix nft_audit.sh for newer nft binaries
    34d7525646da net: wwan: qcom_bam_dmux: Fix missing pm_runtime_disable()
    1e353947c853 net: ieee802154: mcr20a: Use IRQF_NO_AUTOEN flag in request_irq()
    740e8370b864 netfilter: uapi: NFTA_FLOWTABLE_HOOK is NLA_NESTED
    0b1672834634 net/mlx5e: Fix crash caused by calling __xfrm_state_delete() twice
    1bcc86cc721b net/mlx5e: Fix NULL deref in mlx5e_tir_builder_alloc()
    8e1ee00910b5 net/mlx5: Added cond_resched() to crdump collection
    ecf310aaf256 net/mlx5: Fix error path in multi-packet WQE transmit
    b28bb7df6225 net: sparx5: Fix invalid timestamps
    785130296de2 ieee802154: Fix build error
    50c0ad1f8d41 drm/i915/dp: Fix colorimetry detection
    9d4f619153ba ceph: remove the incorrect Fw reference check when dirtying pages
    63104c3f527f ceph: fix a memory leak on cap_auths in MDS client
    e65a9af05a0b mailbox: bcm2835: Fix timeout during suspend mode
    227dddb56985 mailbox: rockchip: fix a typo in module autoloading
    64dad5a0597c mailbox: ARM_MHU_V3 should depend on ARM64
    007a7da5b802 drm/amd/display: handle nulled pipe context in DCE110's set_drr()
    8dc05d3f371e drm/amdgpu: Fix get each xcp macro
    3f55757ce2ff drm/i915/dp: Fix AUX IO power enabling for eDP PSR
    40d7d234f642 scsi: pm8001: Do not overwrite PCI queue mapping
    d175d98dfb3e scsi: st: Fix input/output error on empty drive reset
    fa7bc8d95944 jump_label: Fix static_key_slow_dec() yet again
    a248a028bff0 jump_label: Simplify and clarify static_key_fast_inc_cpus_locked()
    85a104aaef1f static_call: Replace pointless WARN_ON() in static_call_module_notify()
    2b494471797b static_call: Handle module init failure correctly in static_call_del_module()
    c4386c5293aa drivers: gpu: drm: msm: registers: improve reproducibility
    915a386c7cff qemux86: add configuration symbol to select values
    62df91b21626 sched/isolation: really align nohz_full with rcu_nocbs
    afe643f5802b clear_warn_once: add a clear_warn_once= boot parameter
    7b016793edbf clear_warn_once: bind a timer to written reset value
    89a5c70f2000 clear_warn_once: expand debugfs to include read support
    8014704c527d tools: Remove some options from CLANG_CROSS_FLAGS
    e9ca44556936 libbpf: Fix build warning on ref_ctr_off
    32fe8c972c36 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    a372ac2b798d perf: x86-32: explicitly include <errno.h>
    a5cb41682777 perf: mips64: Convert __u64 to unsigned long long
    ed8ee9f3d1ae perf: fix bench numa compilation
    6dbb2915e8a7 perf: add SLANG_INC for slang.h
    57f78dddfd93 perf: add sgidefs.h to for mips builds
    130f0306cfba perf: change --root to --prefix for python install
    2520efe95341 perf: add 'libperl not found' warning
    45731b6ae676 perf: force include of <stdbool.h>
    ace10f8dec53 fat: Replace prandom_u32() with get_random_u32()
    64797bdca14e fat: don't use obsolete random32 call in namei_vfat
    2442bae1a645 FAT: Added FAT_NO_83NAME
    7561126bce00 FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    5c51ab959876 FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    5869720658c9 aufs6: match exports to functions
    e125467cf228 aufs: adjust for v6.9+
    eebcdc6635bf aufs6: correct do_splice_from prototype
    4c5829036c45 aufs: update remove_page to remove_folio
    e8d889d0f434 aufs: i_op: Add handling for au_pin_hdir_set_owner with RT kernel
    3ecd9203de17 aufs: fix v6.7 kernel build compilation
    5e8ee028dbe2 aufs6: adapt to v6.6 i_op->ctime changes
    1132c330feed aufs6: adapt to v6.6
    d3e4ede69603 aufs6: core
    49ec9271f41d aufs6: standalone
    dcc0978da2dd aufs6: mmap
    80e1609b37e7 aufs6: base
    0dbb3f062420 aufs6: kbuild
    ad51078c5ebf yaffs: fix mtime/itime field access
    e5f1d35d6188 yaffs2: update VFS ctime operations to 6.6+
    dd374461adc7 yaffs2: v6.5 fixups
    f5908785d88d yaffs2: Fix miscalculation of devname buffer length
    d1403f0acfdf yaffs2: convert user_namespace to mnt_idmap
    7dae5463b54f yaffs2: replace bdevname call with sprintf
    92d30df4eb56 yaffs2: convert read_page -> readfolio
    6c895bffdf72 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    6801e7d90255 yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    aff012190046 yaffs2: v5.12+ build fixups (not runtime tested)
    fb474842c16e yaffs: include blkdev.h
    fe7d745aac94 yaffs: fix misplaced variable declaration
    bee147b2e533 yaffs2: v5.6 build fixups
    22998f589ec2 yaffs2: fix memory leak when /proc/yaffs is read
    ce7d8084a976 yaffs: add strict check when call yaffs_internal_read_super
    adb7202fda95 yaffs: repair yaffs_get_mtd_device
    2852e5c15d4d yaffs: Fix build failure by handling inode i_version with proper atomic API
    1526802a8147 yaffs2: fix memory leak in mount/umount
    6c7827a16aaa yaffs: Avoid setting any ACL releated xattr
    fa3482815542 Yaffs:check oob size before auto selecting Yaffs1
    aaa4843b73ce fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    48e992af6531 yaffs2: adjust to proper location of MS_RDONLY
    f3af7160d8a0 yaffs2: import git revision b4ce1bb (jan, 2020)
    4add698ed6e8 initramfs: allow an optional wrapper script around initramfs generation
    b619a8d54336 vt/conmakehash: improve reproducibility
    c786186aeef3 tools: use basename to identify file in gen-mach-types
    aa3a8e7ceb6e iwlwifi: select MAC80211_LEDS conditionally
    325db54c4be9 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    23a87c6e13aa defconfigs: drop obselete options
    946e5b78ab94 linux-yocto: Handle /bin/awk issues
    9daee1dba585 uvesafb: provide option to specify timeout for task completion
    f68b8683441a uvesafb: print error message when task timeout occurs
    a1595c6b6017 compiler.h: Undef before redefining __attribute_const__
    8086839613c6 vmware: include jiffies.h
    32e79eb3c169 Resolve jiffies wrapping about arp
    f6fabf91b6f2 nfs: Allow default io size to be configured.
    ad2b29f801e9 check console device file on fs when booting
    5194785d545b mount_root: clarify error messages for when no rootfs found
    78b3498cb59a mconf: fix output of cflags and libraries
    9cc6870708d5 menuconfig,mconf-cfg: Allow specification of ncurses location
    f34088ed9c93 modpost: mask trivial warnings
    4784584582f5 kbuild: exclude meta directory from distclean processing
    73072b5fe25a powerpc: serialize image targets
    a120eb200320 arm: serialize build targets
    51d5719ac05b mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    5155f0bb36f0 cpu/amd: inhibit SMP check for qemux86
    e5a5996ee586 x86_64_defconfig: Fix warnings
    1359db75df0c mips: make current_cpu_data preempt safe
    385edf6090c3 mips: vdso: fix 'jalr $t9' crash in vdso code
    968266397319 mips: Kconfig: add QEMUMIPS64 option
    389ce854fde3 4kc cache tlb hazard: tlbp cache coherency
    9cab61199fa8 malta uhci quirks: make allowance for slow 4k(e)c
    80cae3bd9eea arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    41c82709900f drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    59ef4f151a5e arm64: defconfig: cleanup config options
    c5fb425762ed vexpress: Pass LOADADDR to Makefile
    07a8b544d4e9 arm: ARM EABI socketcall
    574f3ae3d2ca ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: f33397d9a3c6838036952f968856c35e9fb78c77)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8ebe7596fb8098b2a321758c5180d76aa2abd8f1)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Bruce Ashfield
ff0068eda2 linux-yocto/6.10: update to v6.10.13
Updating linux-yocto/6.10 to the latest korg -stable release that comprises
the following commits:

    0202c63cba31 Linux 6.10.13
    b332bcca5914 Revert: "dm-verity: restart or panic on an I/O error"
    ff055e9142d8 spi: atmel-quadspi: Fix wrong register value written to MR
    7c1d782e5afb bpf: Fix use-after-free in bpf_uprobe_multi_link_attach()
    a98fd7c6e7b2 Documentation: KVM: fix warning in "make htmldocs"
    119ffd4dc84d i2c: isch: Add missed 'else'
    7ae30ea153fa i2c: aspeed: Update the stop sw state when the bus recovery occurs
    402d8f715fb4 mm/damon/vaddr: protect vma traversal in __damon_va_thre_regions() with rcu read lock
    f6a0cee98082 mm: change vmf_anon_prepare() to __vmf_anon_prepare()
    721aa7c9984e mm/huge_memory: ensure huge_zero_folio won't have large_rmappable flag set
    e897d184a8dd mm/hugetlb.c: fix UAF of vma in hugetlb fault pathway
    d4ed0cf0eeaa tpm: export tpm2_sessions_init() to fix ibmvtpm building
    36b5955c3f68 fbdev: xen-fbfront: Assign fb_info->device
    33faba1cca52 module: Fix KCOV-ignored file name
    d1c8ed814b78 spi: fspi: add support for imx8ulp
    f48e4f4b86b5 mm: only enforce minimum stack gap size if it's sensible
    14a8bac5c98d s390/ftrace: Avoid calling unwinder in ftrace_return_address()
    7cc8ab687d6d mm/hugetlb_vmemmap: batch HVO work when demoting
    f9835aec4967 exfat: resolve memory leak from exfat_create_upcase_table()
    9b8d21246c5c lockdep: fix deadlock issue between lockdep and rcu
    f038423291f0 compiler.h: specify correct attribute for .rodata..c_jump_table
    4a7677a15469 dm-verity: restart or panic on an I/O error
    c98a910c64ef bpf: lsm: Set bpf_lsm_blob_sizes.lbs_task to 0
    fbec4ba70f78 lsm: infrastructure management of the sock security
    04a55dd3419d debugfs show actual source in /proc/mounts
    84f079349d55 debugfs: Convert to new uid/gid option parsing helpers
    df881ff32117 fs_parse: add uid & gid option option parsing helpers
    b249b7b1b134 idpf: fix netdev Tx queue stop/wake
    710e93ec5c3d idpf: merge singleq and splitq &net_device_ops
    90610752baf2 idpf: split &idpf_queue into 4 strictly-typed queue structures
    122d2f10b45c idpf: stop using macros for accessing queue descriptors
    33818ec99d6f serial: qcom-geni: fix console corruption
    7478f1219178 serial: qcom-geni: introduce qcom_geni_serial_poll_bitfield()
    077eeda6704c serial: qcom-geni: fix arg types for qcom_geni_serial_poll_bit()
    4e90db20e901 soc: qcom: geni-se: add GP_LENGTH/IRQ_EN_SET/IRQ_EN_CLEAR registers
    6e0e7e8558a6 usb: xhci: fix loss of data on Cadence xHC
    7688c5a74bf2 xhci: Add a quirk for writing ERST in high-low order
    18ecd5b74682 x86/tdx: Fix "in-kernel MMIO" check
    37263b5d4c18 x86/tdx: Convert shared memory back to private on kexec
    5b026890012d x86/mm: Add callbacks to prepare encrypted memory for kexec
    19b96b1fe195 x86/tdx: Account shared memory
    d6c641139c61 x86/mm: Make x86_platform.guest.enc_status_change_*() return an error
    2578f2637a59 KVM: x86: Re-split x2APIC ICR into ICR+ICR2 for AMD (x2AVIC)
    e99b21b794cb KVM: x86: Make x2APIC ID 100% readonly
    d9ac05ef9ec3 KVM: x86: Drop unused check_apicv_inhibit_reasons() callback definition
    a31e6d3207ce soc: versatile: realview: fix soc_dev leak during device remove
    15c0bd2062e3 soc: versatile: realview: fix memory leak during device remove
    d7e07c2e87d8 tools/nolibc: include arch.h from string.h
    8d80003cf38a ARM: dts: imx6ull-seeed-npi: fix fsl,pins property in tscgrp pinctrl
    e78b09351149 ARM: dts: imx6ul-geam: fix fsl,pins property in tscgrp pinctrl
    077694df5512 dt-bindings: spi: nxp-fspi: add imx8ulp support
    68f267a3372c spi: fspi: involve lut_num for struct nxp_fspi_devtype_data
    71d1380da9f8 lsm: add the inode_free_security_rcu() LSM implementation hook
    9e279e6c1f01 padata: use integer wrap around to prevent deadlock on seq_nr overflow
    f7cdf73258cf cpuidle: riscv-sbi: Use scoped device node handling to fix missing of_node_put
    d19c5b21711c md: Don't flush sync_work in md_write_start()
    c7f9d442d1c4 eventpoll: Annotate data-race of busy_poll_usecs
    a7722921adb0 icmp: change the order of rate limits
    7679db85a814 EDAC/igen6: Fix conversion of system address to physical memory address
    68ee58f3a067 nfs: fix memory leak in error path of nfs4_do_reclaim
    4ee3665e0fbf fs: Fix file_set_fowner LSM hook inconsistencies
    603f95cefbee netfs: Delete subtree of 'fs/netfs' when netfs module exits
    0f8a5b6d0daf vfs: fix race between evice_inodes() and find_inode()&iput()
    84aa262013f3 arm64: dts: rockchip: Correct the Pinebook Pro battery design capacity
    5056c1476cf4 arm64: dts: qcom: sa8775p: Mark APPS and PCIe SMMUs as DMA coherent
    0d0d96f7f6b1 arm64: dts: rockchip: Raise Pinebook Pro's panel backlight PWM frequency
    67b4f0145e55 arm64: dts: mediatek: mt8186-corsola: Disable DPI display interface
    9dc7b42b9d0d arm64: errata: Enable the AC03_CPU_38 workaround for ampere1a
    14f310aeec55 arm64: esr: Define ESR_ELx_EC_* constants as UL
    1bf8e1d07de1 hwrng: cctrng - Add missing clk_disable_unprepare in cctrng_resume
    afdb6186369e hwrng: bcm2835 - Add missing clk_disable_unprepare in bcm2835_rng_init
    970fad1992bf hwrng: mtk - Use devm_pm_runtime_enable
    10569b682ebe f2fs: fix to check atomic_file in f2fs ioctl interfaces
    7bd7ce68ddad f2fs: check discard support for conventional zones
    f3bfac2cabf5 f2fs: Require FMODE_WRITE for atomic write ioctls
    7686e9c32ae9 f2fs: avoid potential int overflow in sanity_check_area_boundary()
    9e34807b75fe f2fs: prevent possible int overflow in dir_block_index()
    baff811ba631 f2fs: fix several potential integer overflows in file offsets
    592a57d3bead btrfs: always update fstrim_range on failure in FITRIM ioctl
    62964916da1b btrfs: tree-checker: fix the wrong output of data backref objectid
    a412ca489ac2 btrfs: fix race setting file private on concurrent lseek using same fd
    0b8d3972792c debugobjects: Fix conditions in fill_pool()
    e0b04c335b13 wifi: mt76: mt7615: check devm_kasprintf() returned value
    c128a1456df1 wifi: rtw88: 8703b: Fix reported RX band width
    556941ad3c4a wifi: rtw88: 8822c: Fix reported RX band width
    667394ab7065 wifi: rtw88: 8821cu: Remove VID/PID 0bda:c82c
    fb60020cb5b3 wifi: mt76: mt7925: fix a potential array-index-out-of-bounds issue for clc
    174c803b4325 wifi: mt76: mt7996: fix NULL pointer dereference in mt7996_mcu_sta_bfer_he
    1eaca38ad2f4 wifi: mt76: mt7915: check devm_kasprintf() returned value
    2b9f8545875a wifi: mt76: mt7921: Check devm_kasprintf() returned value
    1d3589834b00 btrfs: subpage: fix the bitmap dump which can cause bitmap corruption
    16d277b3e920 perf/x86/intel/pt: Fix sampling synchronization
    4a3c332100b0 perf/x86/intel: Allow to setup LBR for counting event for BPF
    b51acf3262dd x86/entry: Remove unwanted instrumentation in common_interrupt()
    38d9b07d99b7 efistub/tpm: Use ACPI reclaim memory for event log to avoid corruption
    4af2e4221c3f ACPI: resource: Add another DMI match for the TongFang GMxXGxx
    5d65d2411d83 ACPI: resource: Do IRQ override on MECHREV GM7XG0M
    f51e5a88f2e7 ACPI: sysfs: validate return type of _STR method
    54be41a85d8d drbd: Add NULL check for net_conf to prevent dereference in state validation
    ad96750f0622 drbd: Fix atomicity violation in drbd_uuid_set_bm()
    cd327e30a9a0 crypto: ccp - Properly unregister /dev/sev on sev PLATFORM_STATUS failure
    86c15cab2785 crypto: qcom-rng - fix support for ACPI-based systems
    36761d1d700d serial: qcom-geni: fix false console tx restart
    25aff44936a5 serial: qcom-geni: fix fifo polling timeout
    e4c3ea5da394 xhci: Set quirky xHC PCI hosts to D3 _after_ stopping and freeing them.
    80cef0f1d06b serial: don't use uninitialized value in uart_poll_init()
    4e017898e9a8 pps: add an error check in parport_attach
    8ec7d8918fd6 tty: rp2: Fix reset with non forgiving PCIe host bridges
    28f1cd94d3f1 firmware_loader: Block path traversal
    0012b71a698c bus: mhi: host: pci_generic: Fix the name for the Telit FE990A
    6a33c79504ee bus: integrator-lm: fix OF node leak in probe()
    40eeefad32b1 usb: dwc2: drd: fix clock gating on USB role switch
    ad653877041b usb: gadget: dummy_hcd: execute hrtimer callback in softirq context
    e527d2ac5455 usb: xHCI: add XHCI_RESET_ON_RESUME quirk for Phytium xHCI host
    e326f29101c9 usb: cdnsp: Fix incorrect usb_request status
    9479f64b9992 USB: misc: yurex: fix race between read and write
    3f682752207d USB: class: CDC-ACM: fix race between get_serial and set_serial
    5f2c43335cc5 USB: misc: cypress_cy7c63: check for short transfer
    c92b7a265de5 USB: appledisplay: close race between probe and completion handler
    f9aa13449211 arm64: dts: mediatek: mt8395-nio-12l: Mark USB 3.0 on xhci1 as disabled
    31fc87cb4eca arm64: dts: mediatek: mt8195-cherry: Mark USB 3.0 on xhci1 as disabled
    ca124236cd14 usbnet: fix cyclical race on disconnect with work queue
    5898a9879803 wifi: rtw88: Fix USB/SDIO devices not transmitting beacons
    36071d878699 can: esd_usb: Remove CAN_CTRLMODE_3_SAMPLES for CAN-USB/3-FD
    ca1e50206718 scsi: mac_scsi: Disallow bus errors during PDMA send
    a960eb7988b4 scsi: mac_scsi: Refactor polling loop
    ab7667ccef06 scsi: mac_scsi: Revise printk(KERN_DEBUG ...) messages
    e3189128e800 scsi: lpfc: Restrict support for 32 byte CDBs to specific HBAs
    0359228a4981 scsi: ufs: qcom: Update MODE_MAX cfg_bw value
    a77605037389 scsi: sd: Fix off-by-one error in sd_read_block_characteristics()
    a16ac25841ee ata: libata-scsi: Fix ata_msense_control() CDL page reporting
    d205cb1a13b3 ksmbd: handle caseless file creation
    e5b77e889cea ksmbd: allow write with FILE_APPEND_DATA
    8205b5d56d21 ksmbd: make __dir_empty() compatible with POSIX
    de6e34238a1b powerpc/atomic: Use YZ constraints for DS-form instructions
    13b5b401ead9 KEYS: prevent NULL pointer dereference in find_asymmetric_key()
    5292dc91a7eb objtool: Handle frame pointer related instructions
    51f87aa74da9 Revert "LoongArch: KVM: Invalidate guest steal time address on vCPU reset"
    1b77dd8520fc drm/amd/display: Skip to enable dsc if it has been off
    517f6e8a60c4 drm/amd/display: Enable DML2 override_det_buffer_size_kbytes
    d13a338fa80b drm/amd/display: Block dynamic IPS2 on DCN35 for incompatible FW versions
    47ab3a0c04e1 drm/amd/display: Disable SYMCLK32_LE root clock gating
    ce3ed9a959c9 drm/amd/display: Validate backlight caps are sane
    c9a3c3e2bffe drm/amd/display: Clean up dsc blocks in accelerated mode
    597f862f516a drm/amd/display: Round calculated vtotal
    fbf3cff7c058 drm/amd/display: Add HDMI DSC native YCbCr422 support
    d6c1abe4b26e drm/amdgpu/vcn: enable AV1 on both instances
    ac1500b229ed drm/amdgpu/mes11: reduce timeout
    6f9c39e81693 drm/amd/display: Skip Recompute DSC Params if no Stream on Link
    a2764afce521 KVM: Use dedicated mutex to protect kvm_usage_count to avoid deadlock
    afd2d93644a0 KVM: x86: Move x2APIC ICR helper above kvm_apic_write_nodecode()
    5b0421ae5185 KVM: x86: Enforce x2APIC's must-be-zero reserved ICR bits
    46a40b3639c4 KVM: arm64: Add memory length checks and remove inline in do_ffa_mem_xfer
    547bce5c250b Input: i8042 - add another board name for TUXEDO Stellaris Gen5 AMD line
    ab770984fba5 Input: i8042 - add TUXEDO Stellaris 15 Slim Gen6 AMD to i8042 quirk table
    af38c4cf0a32 Input: i8042 - add TUXEDO Stellaris 16 Gen5 AMD to i8042 quirk table
    38f45f17a2a3 Input: adp5588-keys - fix check on return code
    a6e9f9fd1477 iommufd: Protect against overflow of ALIGN() during iova allocation
    92e53443dc63 iommu/amd: Fix argument order in amd_iommu_dev_flush_pasid_all()
    eab78824687c Revert "media: tuners: fix error return code of hybrid_tuner_request_state()"
    06cf4125fa92 soc: versatile: integrator: fix OF node leak in probe() error path
    2485d2d8ce63 soc: fsl: cpm1: tsa: Fix tsa_write8()
    531704571a7e soc: fsl: cpm1: qmc: Update TRNSYNC only in transparent mode
    bc4a33eb74f6 ASoC: rt5682: Return devm_of_clk_add_hw_provider to transfer the error
    832653dc7222 Revert "soc: qcom: smd-rpm: Match rpmsg channel instead of compatible"
    774c795aa795 PCI: dra7xx: Fix error handling when IRQ request fails in probe
    07a5794dc862 PCI: xilinx-nwl: Fix off-by-one in INTx IRQ handler
    2cbfcb6389c4 PCI: Use an error code with PCIe failed link retraining
    0f28502c2ae2 PCI: Correct error reporting with PCIe failed link retraining
    7826d9f1eb3d PCI: imx6: Fix i.MX8MP PCIe EP's occasional failure to trigger MSI
    1c59f627ac89 PCI: imx6: Fix establish link failure in EP mode for i.MX8MM and i.MX8MP
    06adf7509477 PCI: imx6: Fix missing call to phy_power_off() in error handling
    c04924915367 PCI: dra7xx: Fix threaded IRQ request for "dra7xx-pcie-main" IRQ
    478e554fe94b PCI: Clear the LBMS bit after a link retrain
    e315cf7f532b PCI: Revert to the original speed after PCIe failed link retraining
    e152508df743 Remove *.orig pattern from .gitignore
    4c3ce023e538 selftests/bpf: correctly move 'log' upon successful match
    bd93fe03abbe io_uring/sqpoll: do not put cpumask on stack
    6222abfa459f io_uring/sqpoll: retain test for whether the CPU is valid
    6c31c83178ce xen: allow mapping ACPI data using a different physical address
    5322ebfe9de3 xen: move checks for e820 conflicts further up
    a8a3ba3deb39 drm/amd/display: Fix Synaptics Cascaded Panamera DSC Determination
    3393fddbfa94 mm: call the security_mmap_file() LSM hook in remap_file_pages()
    1fea7fd0480b mm: migrate: annotate data-race in migrate_folio_unmap()
    fa4890bd8237 fuse: use exclusive lock when FUSE_I_CACHE_IO_MODE is set
    340f20fe8708 io_uring: check for presence of task_work rather than TIF_NOTIFY_SIGNAL
    daf062a2d7ed io_uring/rw: treat -EOPNOTSUPP for IOCB_NOWAIT like -EAGAIN
    a1dbcdfc2320 io_uring/sqpoll: do not allow pinning outside of cpuset
    cfd68a58fb68 selftests: netfilter: Avoid hanging ipvs.sh
    7f44a170ce3f netfilter: nf_tables: missing objects with no memcg accounting
    e6a31dc01d76 netfilter: nf_tables: use rcu chain hook list iterator from netlink dump path
    e80310d02ae9 netfilter: ctnetlink: compile ctnetlink_label_size with CONFIG_NF_CONNTRACK_EVENTS
    d3169bf3e90b netfilter: nf_tables: Keep deleted flowtable hooks until after RCU
    188074ba3668 net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled
    d27ed6e76f47 virtio_net: Fix mismatched buf address when unmapping for small packets
    72e2c0825a48 bonding: Fix unnecessary warnings and logs from bond_xdp_get_xmit_slave()
    997a908a3bf7 net: ravb: Fix R-Car RX frame size limit
    a8942a6bb6f1 net: qrtr: Update packets cloning when broadcasting
    81d18c152e3f tcp: check skb is non-NULL in tcp_rto_delta_us()
    0fe0258969a7 net: ipv6: select DST_CACHE from IPV6_RPL_LWTUNNEL
    516dbc6d1663 net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race Condition
    7a7b5a27c53b netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()
    4903d8d99476 net: xilinx: axienet: Fix packet counting
    0ecfaff3633d net: xilinx: axienet: Schedule NAPI in two steps
    328ea56813b2 Revert "dm: requeue IO if mapping table not yet available"
    27f493e14182 ep93xx: clock: Fix off by one in ep93xx_div_recalc_rate()
    fae9b1776f53 vhost_vdpa: assign irq bypass producer token correctly
    b6fbb1c7801f vdpa/mlx5: Fix invalid mr resource destroy
    e21de2b784dc cxl/pci: Fix to record only non-zero ranges
    c462e91f47b1 interconnect: qcom: sm8250: Enable sync_state
    706b7a43a351 interconnect: icc-clk: Add missed num_nodes initialization
    4d1bf0bd1b4b coresight: tmc: sg: Do not leak sg_table
    16e2d8eb7185 Coresight: Set correct cs_mode for dummy source to fix disable issue
    c23757a35d36 Coresight: Set correct cs_mode for TPDM to fix disable issue
    4a5ad1554051 serial: 8250: omap: Cleanup on error in request_irq
    4b5d48b7a29c driver core: Fix a potential null-ptr-deref in module_add_driver()
    21829e1a94f7 dt-bindings: iio: asahi-kasei,ak8975: drop incorrect AK09116 compatible
    6c0917cd3d6e iio: magnetometer: ak8975: drop incorrect AK09116 compatible
    6437a9d687b6 iio: chemical: bme680: Fix read/write ops to device by adding mutexes
    c60176b5556e ABI: testing: fix admv8818 attr description
    23f6b0bdeb42 driver core: Fix error handling in driver API device_rename()
    c8cb9b018fe0 iio: adc: ad7606: fix standby gpio state to match the documentation
    e56695c01682 iio: adc: ad7606: fix oversampling gpio array
    1fb2daf531e0 nvme-multipath: system fails to create generic nvme device
    78fac439da12 spi: atmel-quadspi: Avoid overwriting delay register settings
    3b0092907ccf spi: airoha: remove read cache in airoha_snand_dirmap_read()
    864df9264682 lib/sbitmap: define swap_lock as raw_spinlock_t
    81ed78937168 spi: spi-fsl-lpspi: Undo runtime PM changes at driver exit time
    308041f803d1 spi: atmel-quadspi: Undo runtime PM changes at driver exit time
    b75f01b2cb4c spi: airoha: fix airoha_snand_{write,read}_data data_len estimation
    d8e267c24cc4 spi: airoha: fix dirmap_{read,write} operations
    de43021c7299 f2fs: fix to don't set SB_RDONLY in f2fs_handle_critical_error()
    8be95cd60747 f2fs: get rid of online repaire on corrupted directory
    058c1af469aa f2fs: prevent atomic file from being dirtied before commit
    0a4ff4e9d2dd f2fs: compress: don't redirty sparse cluster during {,de}compress
    7c339dee7eb0 f2fs: fix to avoid use-after-free in f2fs_stop_gc_thread()
    a7972f073477 f2fs: atomic: fix to truncate pagecache before on-disk metadata truncation
    89ea17674588 f2fs: fix to wait page writeback before setting gcing flag
    af605d5099dc f2fs: Create COW inode from parent dentry for atomic write
    b21c3009a86f f2fs: fix to avoid racing in between read and OPU dio write
    fe56ed433971 f2fs: reduce expensive checkpoint trigger frequency
    e78299a4b376 f2fs: atomic: fix to avoid racing w/ GC
    e454a6482cd1 crypto: powerpc/p10-aes-gcm - Disable CRYPTO_AES_GCM_P10
    e52bab5f2b40 crypto: caam - Pad SG length when allocating hash edesc
    3a1bb47f2410 nfsd: fix initial getattr on write delegation
    3939b13fcbb9 nfsd: untangle code in nfsd4_deleg_getattr_conflict()
    766d5fbd78f7 nfsd: return -EINVAL when namelen is 0
    e32ee6a61041 nfsd: call cache_put if xdr_reserve_space returns NULL
    d1cb8394545b ntb: Force physically contiguous allocation of rx ring buffers
    9fda5a42e1bd ntb_perf: Fix printk format
    b66bf833e72a ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir()
    08e9de3a5619 RDMA/irdma: fix error message in irdma_modify_qp_roce()
    54aaa3ed4097 RDMA/cxgb4: Added NULL check for lookup_atid
    587db10c36de RDMA/hns: Fix ah error counter in sw stat not increasing
    09210bb3a0f4 riscv: Fix fp alignment bug in perf_callchain_user()
    09eee130151d PCI: qcom-ep: Enable controller resources like PHY only after refclk is available
    1621c437ec9d RDMA/mlx5: Obtain upper net device only when needed
    52f61811df43 RDMA/hns: Fix restricted __le16 degrades to integer issue
    e4724f92065d RDMA/hns: Optimize hem allocation performance
    27d7572bb947 RDMA/hns: Fix 1bit-ECC recovery address in non-4K OS
    94a020c0d576 RDMA/hns: Fix VF triggering PF reset in abnormal interrupt handler
    2656336a84fc RDMA/hns: Fix spin_unlock_irqrestore() called with IRQs enabled
    38c01f809e43 RDMA/hns: Fix the overflow risk of hem_list_calc_ba_range()
    dac2723d8bfa RDMA/hns: Fix Use-After-Free of rsv_qp on HIP08
    812f69426de3 RDMA/hns: Don't modify rq next block addr in HIP09 QPC
    93e568e95e9a watchdog: imx_sc_wdt: Don't disable WDT in suspend
    1fe05fbfab15 RDMA/mlx5: Fix MR cache temp entries cleanup
    bcaaa91005f8 RDMA/mlx5: Drop redundant work canceling from clean_keys()
    62d5ba1b8f87 RDMA/mlx5: Limit usage of over-sized mkeys from the MR cache
    efdaddb94ddb RDMA/mlx5: Fix counter update on MR cache mkey creation
    e6e69719c6f2 RDMA/erdma: Return QP state in erdma_query_qp
    6dcc5b49d660 PCI: kirin: Fix buffer overflow in kirin_pcie_parse_port()
    8842412c2777 iommufd: Check the domain owner of the parent before creating a nesting domain
    f6b8766fa3f7 dt-bindings: PCI: layerscape-pci: Replace fsl,lx2160a-pcie with fsl,lx2160ar2-pcie
    af633fd9d9ff IB/core: Fix ib_cache_setup_one error flow cleanup
    7afb394b2e2a pinctrl: mvebu: Fix devinit_dove_pinctrl_probe function
    3f02356f7bbe nfsd: fix refcount leak when file is unhashed after being found
    f490e015aa7b nfsd: remove unneeded EEXIST error check in nfsd_do_file_acquire
    f1ceb401347b clk: rockchip: rk3588: Fix 32k clock name for pmu_24m_32k_100m_src_p
    650bde16cc55 clk: starfive: Use pm_runtime_resume_and_get to fix pm_runtime_get_sync() usage
    e8d6e92abc9d clk: ti: dra7-atl: Fix leak of of_nodes
    1c50e0265fa3 RDMA/rtrs-clt: Reset cid to con_num - 1 to stay in bounds
    bfac76dda554 RDMA/rtrs: Reset hb_missed_cnt after receiving other traffic from peer
    18181b0c1c5b media: mediatek: vcodec: Fix H264 stateless decoder smatch warning
    35cc704622b3 media: mediatek: vcodec: Fix VP8 stateless decoder smatch warning
    47b3b9793091 media: mediatek: vcodec: Fix H264 multi stateless decoder smatch warning
    9a1f532bcde5 iommufd/selftest: Fix buffer read overrrun in the dirty test
    14b2c972b711 clk: at91: sama7g5: Allocate only the needed amount of memory for PLLs
    56856ccabb14 pinctrl: single: fix missing error code in pcs_probe()
    c8b18a75282c RDMA/iwcm: Fix WARNING:at_kernel/workqueue.c:#check_flush_dependency
    a7180d2374c4 media: platform: rzg2l-cru: rzg2l-csi2: Add missing MODULE_DEVICE_TABLE
    c4b43e76e48e leds: gpio: Set num_leds after allocation
    1f6fd239c466 PCI: xilinx-nwl: Clean up clock on probe failure/removal
    e1e61c13ea07 PCI: xilinx-nwl: Fix register misspelling
    939053737edb nvdimm: Fix devs leaks in scan_labels()
    a6fb2bf1e747 x86/PCI: Check pcie_find_root_port() return for NULL
    660c4de1777e leds: pca995x: Fix device child node usage in pca995x_probe()
    382b9448557f leds: pca995x: Use device_for_each_child_node() to access device child nodes
    e8a0f9872ce4 leds: leds-pca995x: Add support for NXP PCA9956B
    baff5d92f571 clk: qcom: dispcc-sm8250: use special function for Lucid 5LPE PLL
    791f0dc95f75 clk: qcom: ipq5332: Register gcc_qdss_tsctr_clk_src
    da8db14447bf media: staging: media: starfive: camss: Drop obsolete return value documentation
    72210e52e19a PCI: keystone: Fix if-statement expression in ks_pcie_quirk()
    1f72f6f6f591 firewire: core: correct range of block for case of switch statement
    fe5a1e8d80ad PCI: Wait for Link before restoring Downstream Buses
    7fd6aae7e53b drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error
    66dbe0df6ecc drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error
    a3a99af76d90 Input: ilitek_ts_i2c - add report id message validation
    de3f995bc491 Input: ilitek_ts_i2c - avoid wrong input subsystem sync
    f5567c5ca417 phy: phy-rockchip-samsung-hdptx: Explicitly include pm_runtime.h
    2eaf8ae7946a pinctrl: ti: ti-iodelay: Fix some error handling paths
    2913fbc0e3e7 pinctrl: ti: iodelay: Use scope based of_node_put() cleanups
    b0c4c139ac88 leds: bd2606mvv: Fix device child node usage in bd2606mvv_probe()
    f071073a5b2d clk: qcom: dispcc-sm8550: use rcg2_shared_ops for ESC RCGs
    3b5aa2adefd0 clk: qcom: dispcc-sm8650: Update the GDSC flags
    61627c13934e clk: qcom: dispcc-sm8550: use rcg2_ops for mdss_dptx1_aux_clk_src
    7d55b2a82bbd clk: qcom: dispcc-sm8550: fix several supposed typos
    fd7996cc3a96 clk: rockchip: Set parent rate for DCLK_VOP clock on RK3228
    0674d041caa7 remoteproc: imx_rproc: Initialize workqueue earlier
    9b7b3530bf80 remoteproc: imx_rproc: Correct ddr alias for i.MX8M
    65df4be8b412 quota: avoid missing put_quota_format when DQUOT_SUSPENDED is passed
    6e31ccbb2651 clk: imx: imx8qxp: Parent should be initialized earlier than the clock
    d39e7535456b clk: imx: imx8qxp: Register dc0_bypass0_clk before disp clk
    a47b38eff28b clk: imx: imx8mp: fix clock tree update of TF-A managed clocks
    11fd64c352ea clk: imx: fracn-gppll: fix fractional part of PLL getting lost
    c5943ae892da clk: imx: composite-7ulp: Check the PCC present bit
    3bcaa9ce8c2e clk: imx: composite-93: keep root clock on when mcore enabled
    d8aa6d4e3788 clk: imx: composite-8m: Enable gate clk with mcore_booted
    61320f0557e0 clk: imx: imx6ul: fix default parent for enet*_ref_sel
    c92f5a5dbf88 clk: imx: clk-audiomix: Correct parent clock for earc_phy and audpll
    b42d09af5162 perf mem: Fix missed p-core mem events on ADL and RPL
    f0ca1e9bef74 perf mem: Check mem_events for all eligible PMUs
    e0595b40c13d perf time-utils: Fix 32-bit nsec parsing
    69272002abca perf sched timehist: Fixed timestamp error when unable to confirm event sched_in time
    22f725544b26 perf dwarf-aux: Handle bitfield members from pointer access
    d39983c19c58 perf annotate-data: Fix off-by-one in location range check
    ccda4ec09a41 perf dwarf-aux: Check allowed location expressions when collecting variables
    8667eafb4bc8 perf stat: Display iostat headers correctly
    f1e51f63a125 perf sched timehist: Fix missing free of session in perf_sched__timehist()
    5120b9e90026 perf build: Fix up broken capstone feature detection fast path
    377fc923090d perf report: Fix --total-cycles --stdio output error
    5af0069973b8 perf inject: Fix leader sampling inserting additional samples
    20959954ea3a perf lock contention: Change stack_id type to s32
    276556d60a02 perf mem: Free the allocated sort string, fixing a leak
    65a6bc711147 perf scripts python cs-etm: Restore first sample log in verbose mode
    599d15b6d033 bpf: Zero former ARG_PTR_TO_{LONG,INT} args in case of error
    16423089d9fc bpf: Improve check_raw_mode_ok test for MEM_UNINIT-tagged types
    2ed98ee02d1e bpf: Fix helper writes to read-only maps
    db52f0accc12 bpf: Fix bpf_strtol and bpf_strtoul helpers for 32bit
    865d7e81b8ab sched/pelt: Use rq_clock_task() for hw_pressure
    a33e967b681e nilfs2: fix potential oob read in nilfs_btree_check_delete()
    141ba5b7f785 nilfs2: determine empty node blocks as corrupted
    db73500d3f0e nilfs2: fix potential null-ptr-deref in nilfs_btree_insert()
    ee88c6e3ea8b sched/numa: Fix the vma scan starving issue
    297615e992bb ext4: check stripe size compatibility on remount as well
    371d0bacecd5 ext4: avoid OOB when system.data xattr changes underneath the filesystem
    95a5e104d812 ext4: return error on ext4_find_inline_entry
    7eec4892020b ext4: avoid negative min_clusters in find_group_orlov()
    8b60c4fe9c3e ext4: avoid potential buffer_head leak in __ext4_new_inode()
    39c6e2e3bc44 ext4: avoid buffer_head leak in ext4_mark_inode_used()
    df480091e6f7 smackfs: Use rcu_assign_pointer() to ensure safe assignment in smk_set_cipso
    841b1321e1d5 sched/deadline: Fix schedstats vs deadline servers
    a4f5cf015a19 ext4: clear EXT4_GROUP_INFO_WAS_TRIMMED_BIT even mount with discard
    2f29d419fef7 kthread: fix task state in kthread worker if being frozen
    f35b5e081249 xz: cleanup CRC32 edits from 2018
    62d1ff1b9b1c s390/ap: Fix deadlock caused by recursive lock of the AP bus scan mutex
    8b315fbec65d libbpf: Fix bpf_object__open_skeleton()'s mishandling of options
    a700b2390bfa selftests/bpf: Fix incorrect parameters in NULL pointer checking
    584cd3ff792e bpf: correctly handle malformed BPF_CORE_TYPE_ID_LOCAL relos
    b2ef8d59709f selftests/bpf: fix to avoid __msg tag de-duplication by clang
    ba5e6f515c81 selftests/bpf: __arch_* macro to limit test cases to specific archs
    04710faed344 selftests/bpf: allow checking xlated programs in verifier_* tests
    fd3f09cc7ca7 selftests/bpf: extract test_loader->expect_msgs as a data structure
    548b73919da9 selftests/bpf: no need to track next_match_pos in struct test_loader
    892d38159039 selftests/bpf: Support checks against a regular expression
    037df3cacfcf samples/bpf: Fix compilation errors with cf-protection option
    7c497677910a selftests/bpf: Fix error compiling tc_redirect.c with musl libc
    b58afb21e61b selftests/bpf: Fix compile if backtrace support missing in libc
    8c174358ceee selftests/bpf: Fix redefinition errors compiling lwt_reroute.c
    dff4f6d48bf3 selftests/bpf: Fix C++ compile error from missing _Bool type
    591f5af5d664 selftests/bpf: Fix error compiling test_lru_map.c
    8c7d216d4209 selftests/bpf: Fix arg parsing in veristat, test_progs
    ec9a805d01be libbpf: Don't take direct pointers into BTF data from st_ops
    0b0a37b18c64 selftests/bpf: Fix errors compiling cg_storage_multi.h with musl libc
    6c94b4bf7968 selftests/bpf: Fix errors compiling crypto_sanity.c with musl libc
    f1c66b7f13af selftests/bpf: Fix errors compiling decap_sanity.c with musl libc
    8e5b8bf023c7 selftests/bpf: Fix errors compiling lwt_redirect.c with musl libc
    4541fa0ebb6b selftests/bpf: Fix compiling core_reloc.c with musl-libc
    6c6e36ca1ad2 selftests/bpf: Fix compiling tcp_rtt.c with musl-libc
    b2583ed6fde0 selftests/bpf: Fix compiling flow_dissector.c with musl-libc
    c1716c2c8b77 selftests/bpf: Fix compiling kfree_skb.c with musl-libc
    371a0c22b81a selftests/bpf: Fix compiling parse_tcp_hdr_opt.c with musl-libc
    d5acd55bd258 selftests/bpf: Fix include of <sys/fcntl.h>
    396524540716 selftests/bpf: Fix missing BUILD_BUG_ON() declaration
    236f6aa1f1f7 selftests/bpf: Fix missing UINT_MAX definitions in benchmarks
    c5153c44af75 selftests/bpf: Fix missing ARRAY_SIZE() definition in bench.c
    76c0946c89d4 selftests/bpf: Drop unneeded error.h includes
    e6a574a4f9cc selftests/bpf: Fix error compiling bpf_iter_setsockopt.c with musl libc
    7a7030041948 selftests/bpf: Fix compile error from rlim_t in sk_storage_map.c
    9f2c500e4b3e selftests/bpf: Use pid_t consistently in test_progs.c
    f1620c93a1ec bpf: Fail verification for sign-extension of packet data/data_end/data_meta
    25ca515ab4ae tools/runqslower: Fix LDFLAGS and add LDLIBS support
    10c4a99ad7f5 selftests/bpf: Fix wrong binary in Makefile log output
    0054caa96389 selftests/bpf: Fix error linking uprobe_multi on mips
    dd7cf3b64eba selftests/bpf: Workaround strict bpf_lsm return value check.
    9d245b5ad81e bpf: Fix compare error in function retval_range_within
    1050727d83e7 bpf, lsm: Add check for BPF LSM return value
    e36f640f2955 bpf, arm64: Fix tailcall hierarchy
    1b7fd7f2a2d8 bpf, x64: Fix tailcall hierarchy
    80b23691b2c3 sched/fair: Make SCHED_IDLE entity be preempted in strict hierarchy
    adf4ce162561 tpm: Clean up TPM space after command failure
    86bc7bfca5ce xen/swiotlb: fix allocated size
    27475b169a70 xen/swiotlb: add alignment check for dma buffers
    e4522f88cffd xen: tolerate ACPI NVS memory overlapping with Xen allocated memory
    bd089573cf87 xen: add capability to remap non-RAM pages to different PFNs
    82729ec25602 xen: move max_pfn in xen_memory_setup() out of function scope
    dcedf22ce719 xen: introduce generic helper checking for memory map conflicts
    39ff27a4fbb1 minmax: avoid overly complex min()/max() macro arguments in xen
    a5f3cb4fead2 ata: libata: Clear DID_TIME_OUT for ATA PT commands with sense data
    4dc50d098af8 HID: wacom: Do not warn about dropped packets for first packet
    b2824da7639b HID: wacom: Support sequence numbers smaller than 16-bit
    aee96b588070 xen: use correct end address of kernel for conflict checking
    fe706fab95cc drm/amdgpu: fix invalid fence handling in amdgpu_vm_tlb_flush
    98d002ac83d5 drivers:drm:exynos_drm_gsc:Fix wrong assignment in gsc_bind()
    b236e6b2477d kselftest: dt: Ignore nodes that have ancestors disabled
    1b7bb08ee19f platform/x86: ideapad-laptop: Make the scope_guard() clear of its scope
    97cfd8d67eb9 drm/msm: fix %s null argument error
    9a2709b57c5f drm/msm/dsi: correct programming sequence for SM8350 / SM8450
    36bf369fbdba drm/msm/dp: enable widebus on all relevant chipsets
    ccae3661969a ipmi: docs: don't advertise deprecated sysfs entries
    f9ed201cf081 drm/msm/a5xx: workaround early ring-buffer emptiness check
    efb2bffb5a21 drm/msm/a5xx: fix races in preemption evaluation stage
    74e25dd4d3dc drm/msm/a5xx: properly clear preemption records on resume
    fddadef45656 drm/msm/a5xx: disable preemption in submits by default
    3b7e5c1eb5bd drm/msm: Fix incorrect file name output in adreno_request_fw()
    eed32df5009f drm/msm: Fix CP_BV_DRAW_STATE_ADDR name
    79cc4b6f36f1 drm/msm: Dump correct dbgahb clusters on a750
    76b9d4823b6a drm/msm: Use a7xx family directly in gpu_state
    b001d0e023e1 powerpc/vdso: Inconditionally use CFUNC macro
    8135b983b8cb powerpc/8xx: Fix kernel vs user address comparison
    a386b732d529 powerpc/8xx: Fix initial memory mapping
    96bdf304f2f7 drm/mediatek: Use spin_lock_irqsave() for CRTC event lock
    4d7a703d8fc3 drm/mediatek: Fix missing configuration flags in mtk_crtc_ddp_config()
    128d5cfdcf84 jfs: fix out-of-bounds in dbNextAG() and diAlloc()
    7c2908985e4a scsi: elx: libefc: Fix potential use after free in efc_nport_vport_del()
    5da620c86545 drm/vc4: hdmi: Handle error case of pm_runtime_resume_and_get
    b944cad02f2c drm/bridge: lontium-lt8912b: Validate mode in drm_bridge_funcs::mode_valid()
    d98a4c149e44 drm/radeon/evergreen_cs: fix int overflow errors in cs track offsets
    e9703b758059 drm/rockchip: dw_hdmi: Fix reading EDID when using a forced mode
    6c0601ac83c0 drm/rockchip: vop: Allow 4096px width scaling
    b423b9fc0fe9 drm/amd/amdgpu: Properly tune the size of struct
    f2c6a3174c62 scsi: NCR5380: Check for phase match during PDMA fixup
    8fd157fb9fa6 scsi: smartpqi: revert propagate-the-multipath-failure-to-SML-quickly
    5dca6bec1284 drm/radeon: properly handle vbios fake edid sizing
    7c5a3318ca35 drm/amdgpu: properly handle vbios fake edid sizing
    84edd5a3f5fa drm/amd/display: Add null check for set_output_gamma in dcn30_set_output_transfer_func
    06783d9e5791 drm/stm: ltdc: check memory returned by devm_kzalloc()
    f89e5f17662e drm/stm: Fix an error handling path in stm_drm_platform_probe()
    33c9b9978798 pmdomain: core: Harden inter-column space in debug summary
    540757d9245b iommu/arm-smmu-qcom: apply num_context_bank fixes for SDM630 / SDM660
    977a5a3db7a2 iommu/arm-smmu-qcom: Work around SDM845 Adreno SMMU w/ 16K pages
    9e4d7aa135b0 iommu/arm-smmu-qcom: hide last LPASS SMMU context bank from linux
    8d4b468a1741 mtd: rawnand: mtk: Fix init error path
    92603bf6b74e mtd: rawnand: mtk: Factorize out the logic cleaning mtk chips
    7c65bda0d7a6 mtd: rawnand: mtk: Use for_each_child_of_node_scoped()
    bbeaae6f79b2 rcu/nocb: Fix RT throttling hrtimer armed from offline CPU
    b51f8d7dd7af mtd: powernv: Add check devm_kasprintf() returned value
    61759ce298de iommu/amd: Do not set the D bit on AMD v2 table entries
    c4cdd0948126 iommu/amd: Set the pgsize_bitmap correctly
    8cab33c1b290 iommu/amd: Move allocation of the top table into v1_alloc_pgtable
    47b4cfe377f2 iommu/amd: Convert comma to semicolon
    40fe49ce6ad1 iommu/amd: Allocate the page table root using GFP_KERNEL
    747ff04ec850 iommu/amd: Handle error path in amd_iommu_probe_device()
    ea6af3b72af4 fbdev: hpfb: Fix an error handling path in hpfb_dio_probe()
    eb501d4a77e3 power: supply: max17042_battery: Fix SOC threshold calc w/ no current sense
    a8f13a983d79 power: supply: axp20x_battery: Remove design from min and max voltage
    f59516476915 hwmon: (ntc_thermistor) fix module autoloading
    726f63f71c13 mtd: slram: insert break after errors in parsing the map
    61f245910b44 hwmon: (max16065) Fix alarm attributes
    e3afe2425aa1 hwmon: (max16065) Remove use of i2c_match_id()
    16aba660a353 hwmon: (max16065) Fix overflows seen when writing limits
    25f435e9982f selftests:resctrl: Fix build failure on archs without __cpuid_count()
    9dfa29e81b11 selftests/ftrace: Fix eventfs ownership testcase to find mount point
    4cfa0c86dff8 ASoC: loongson: fix error release
    74dbe32f00c8 m68k: Fix kernel_clone_args.flags in m68k_clone()
    4b3ae12d46d7 x86/boot/64: Strip percpu address space when setting up GDT descriptors
    3d3af6aa7665 selftests/ftrace: Fix test to handle both old and new kernels
    a11a6c50d1bf ALSA: hda: cs35l41: fix module autoloading
    42763f6c1ef7 selftests/ftrace: Add required dependency for kprobe tests
    482423cbb547 ASoC: tas2781-i2c: Get the right GPIO line
    44f069577c8b ASoC: tas2781-i2c: Drop weird GPIO code
    709b56aed8f0 ASoC: tas2781: Use of_property_read_reg()
    4ff359f252b6 ASoC: rt5682s: Return devm_of_clk_add_hw_provider to transfer the error
    5d412d562035 x86/mm: Use IPIs to synchronize LAM enablement
    05ede22ac55d arm64: dts: mediatek: mt8195: Correct clock order for dp_intf*
    59c236c6aa28 clocksource/drivers/qcom: Add missing iounmap() on errors in msm_dt_timer_init()
    3331a38ded84 reset: k210: fix OF node leak in probe() error path
    a2a361fc2e00 reset: berlin: fix OF node leak in probe() error path
    8cd2af39e0b9 ARM: versatile: fix OF node leak in CPUs prepare
    67ce8aceb68c arm64: dts: ti: k3-am654-idk: Fix dtbs_check warning in ICSSG dmas
    0c4ec54cfbb0 ARM: dts: imx7d-zii-rmu2: fix Ethernet PHY pinctrl property
    5c17974691df ARM: dts: microchip: sama7g5: Fix RTT clock
    aad4c8273529 arm64: dts: qcom: x1e80100: Fix PHY for DP2
    1d138a636b05 spi: bcmbca-hsspi: Fix missing pm_runtime_disable()
    a927d0eb3dac arm64: dts: ti: k3-j721e-beagleboneai64: Fix reversed C6x carveout locations
    343f86970eed arm64: dts: ti: k3-j721e-sk: Fix reversed C6x carveout locations
    350bb951f2d9 arm64: dts: rockchip: Correct vendor prefix for Hardkernel ODROID-M1
    a1cf480271f1 arm64: tegra: Correct location of power-sensors for IGX Orin
    eff2483ce93e ARM: dts: microchip: sam9x60: Fix rtc/rtt clocks
    d2fa44c83f76 arm64: dts: renesas: r9a07g044: Correct GICD and GICR sizes
    7dae92742a8e arm64: dts: renesas: r9a07g054: Correct GICD and GICR sizes
    ba033bbae9df arm64: dts: renesas: r9a07g043u: Correct GICD and GICR sizes
    f74020ed2de1 arm64: dts: renesas: r9a08g045: Correct GICD and GICR sizes
    92bdd6215a63 regulator: Return actual error in of_regulator_bulk_get_all()
    b1878b6839a8 firmware: qcom: scm: Disable SDI and write no dump to dump mode
    193246cb019a spi: ppc4xx: Avoid returning 0 when failed to parse and map IRQ
    dc9543a4f2a5 firmware: arm_scmi: Fix double free in OPTEE transport
    072f2e1457be arm64: dts: mediatek: mt8186: Fix supported-hw mask for GPU OPPs
    1df9c2eea6fe arm64: dts: exynos: exynos7885-jackpotlte: Correct RAM amount to 4GB
    1aa426194346 spi: ppc4xx: handle irq_of_parse_and_map() errors
    652039ba477c block: fix potential invalid pointer dereference in blk_add_partition
    8f28dd5c4303 io_uring/io-wq: inherit cpuset of cgroup in io worker
    dfe4ece44302 io_uring/io-wq: do not allow pinning outside of cpuset
    e148ae7b0869 block, bfq: fix procress reference leakage for bfqq in merge chain
    0b8bda0ff171 block, bfq: fix uaf for accessing waker_bfqq after splitting
    b9b30af0e86f erofs: handle overlapped pclusters out of crafted images properly
    eeb8e49ece73 erofs: tidy up `struct z_erofs_bvec`
    45a3d11ffd2b erofs: fix incorrect symlink detection in fast symlink
    c63df9845c4a nbd: correct the maximum value for discard sectors
    b54a3a8c0408 cachefiles: Fix non-taking of sb_writers around set/removexattr
    13b3d0e8cb12 block, bfq: don't break merge chain in bfq_split_bfqq()
    d5fe5d253596 block, bfq: choose the last bfqq from merge chain in bfq_setup_cooperator()
    880692ee233b block, bfq: fix possible UAF for bfqq->bic with merge chain
    5236ada8ebbd nbd: fix race between timeout and normal completion
    d35a31ee2064 ublk: move zone report data out of request pdu
    9a0ddc73be37 ipv6: avoid possible NULL deref in rt6_uncached_list_flush_dev()
    b896bab4366a net: tipc: avoid possible garbage value
    d2dd99827dfd net: ipv6: rpl_iptunnel: Fix memory leak in rpl_input
    796d5d3b2779 r8169: disable ALDPS per default for RTL8125
    a42e9bac3432 xsk: fix batch alloc API on non-coherent systems
    fd69e1059822 crypto: n2 - Set err to EINVAL if snprintf fails for hmac
    40a27ef184ac net: enetc: Use IRQF_NO_AUTOEN flag in request_irq()
    a6346d74c75a bareudp: Pull inner IP header on xmit.
    e62be538eaff bareudp: Pull inner IP header in bareudp_udp_encap_recv().
    efeabcb8b846 Bluetooth: btusb: Fix not handling ZPL/short-transfer
    cf49c3096b41 can: m_can: m_can_close(): stop clocks after device has been shut down
    90557e799c0e can: m_can: enable NAPI before enabling interrupts
    770b46326442 can: bcm: Clear bo->bcm_proc_read after remove_proc_entry().
    e66ed8bef78b net: hsr: Use the seqnr lock for frames received via interlink port.
    ae8c1b3e7353 sock_map: Add a cond_resched() in sock_hash_free()
    6a1e4853dc6b Bluetooth: hci_sync: Ignore errors from HCI_OP_REMOTE_NAME_REQ_CANCEL
    a5897cb8e868 Bluetooth: hci_core: Fix sending MGMT_EV_CONNECT_FAILED
    2f944e6255c2 wifi: wilc1000: fix potential RCU dereference issue in wilc_parse_join_bss_param
    eab272972cff wifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop()
    3d5ba51b53fe wifi: cfg80211: fix two more possible UBSAN-detected off-by-one errors
    057ff7597e77 wifi: mt76: mt7996: fix uninitialized TLV data
    f35c96dbed5d wifi: mt76: mt7915: fix rx filter setting for bfee functionality
    cddfd18683bb wifi: cfg80211: fix UBSAN noise in cfg80211_wext_siwscan()
    83dbde9f0753 wifi: mt76: mt7603: fix mixed declarations and code
    2819d588157e wifi: mt76: connac: fix checksum offload fields of connac3 RXD
    aa4e17e36824 wifi: mt76: mt7996: fix handling mbss enable/disable
    f8024f12752e crypto: hisilicon/qm - inject error before stopping queue
    7c5f21d18b63 crypto: hisilicon/qm - reset device before enabling it
    285be321cf07 crypto: hisilicon/hpre - mask cluster timeout error
    b1e093671a71 crypto: ccp - do not request interrupt on cmd completion when irqs disabled
    d3a1f2d375bd pm:cpupower: Add missing powercap_set_enabled() stub function
    0f89fb4042c0 x86/sgx: Fix deadlock in SGX NUMA node search
    3eaadfaf1b05 wifi: mt76: mt7996: fix EHT beamforming capability check
    6ff98d6ee26d wifi: mt76: mt7996: fix HE and EHT beamforming capabilities
    5c1a21ade621 wifi: mt76: mt7996: fix wmm set of station interface to 3
    e4396d6995be wifi: mt76: mt7996: fix traffic delay when switching back to working channel
    8f51fc8a9e2f wifi: mt76: mt7996: use hweight16 to get correct tx antenna
    62385f7bf445 wifi: mt76: mt7921: fix wrong UNII-4 freq range check for the channel usage
    7c128f3ff0be wifi: mt76: mt7915: fix oops on non-dbdc mt7986
    43ebb3039527 thermal: gov_bang_bang: Adjust states of all uninitialized instances
    9d06c6b2aee7 cpufreq: ti-cpufreq: Introduce quirks to handle syscon fails appropriately
    83f51a77ce77 perf/arm-cmn: Ensure dtm_idx is big enough
    8fd3f1053970 perf/arm-cmn: Fix CCLA register offset
    f4c85bdd95e2 perf/arm-cmn: Refactor node ID handling. Again.
    41f9666a779f netfilter: nft_dynset: annotate data-races around set timeout
    40d08076c68e netfilter: nf_tables: remove annotation to access set timeout while holding lock
    84fd57fc09aa netfilter: nf_tables: reject expiration higher than timeout
    79d7f9a68bdf netfilter: nf_tables: reject element expiration with no timeout
    d7d6c0f939a4 netfilter: nf_tables: elements with timeout below CONFIG_HZ never expire
    82cee12ada68 ACPI: CPPC: Fix MASK_VAL() usage
    2ee32a3df7ba can: j1939: use correct function name in comment
    22df2f4cbd8e kselftest/arm64: Actually test SME vector length changes via sigreturn
    0f5ac508b18e drivers/perf: hisi_pcie: Fix TLP headers bandwidth counting
    4b5eddeac193 drivers/perf: hisi_pcie: Record hardware counts correctly
    72cc4e19fa8f padata: Honor the caller's alignment in case of chunk_size 0
    1f100e761f00 ACPICA: executer/exsystem: Don't nag user about every Stall() violating the spec
    d7ccc2663dbe ACPICA: Implement ACPI_WARNING_ONCE and ACPI_ERROR_ONCE
    67b538927f37 wifi: mac80211: Check for missing VHT elements only for 5 GHz
    602c36e8f8a6 wifi: iwlwifi: mvm: allow ESR when we the ROC expires
    2ee6f22a59c3 wifi: mac80211: fix the comeback long retry times
    6e7a928ec322 wifi: cfg80211: fix bug of mapping AF3x to incorrect User Priority
    7c975e4b442f wifi: iwlwifi: mvm: increase the time between ranging measurements
    d89781f68df7 wifi: iwlwifi: config: label 'gl' devices as discrete
    c3e60e5cbac1 wifi: iwlwifi: remove AX101, AX201 and AX203 support from LNL
    3565ef215101 wifi: mac80211: don't use rate mask for offchannel TX either
    2bee86e57407 ACPI: video: force native for Apple MacbookPro9,2
    84fee7bbbeda ACPI: video: force native for some T2 macbooks
    3759825b8cd3 crypto: qat - fix "Full Going True" macro definition
    b14bb4d77408 perf/dwc_pcie: Always register for PCIe bus notifier
    0a0b62259371 perf/dwc_pcie: Fix registration issue in multi PCIe controller instances
    062b7176e484 drivers/perf: Fix ali_drw_pmu driver interrupt status clearing
    c589d8c850f9 thermal: core: Fix rounding of delay jiffies
    6d4fd536708d thermal: core: Fold two functions into their respective callers
    e037604ca718 arm64: smp: smp_send_stop() and crash_smp_send_stop() should try non-NMI first
    f8d9902bc940 kselftest/arm64: signal: fix/refactor SVE vector length enumeration
    851e7f7f14a1 powercap: intel_rapl: Fix off by one in get_rpi()
    cd595d87e5fd ARM: 9410/1: vfp: Use asm volatile in fmrx/fmxr macros
    18d5c2f5bfdf autofs: fix missing fput for FSCONFIG_SET_FD
    5fcf9e0ae069 mount: handle OOM on mnt_warn_timestamp_expiry
    efc979234582 RISC-V: KVM: Fix to allow hpmcounter31 from the guest
    659cd6013527 RISC-V: KVM: Allow legacy PMU access from guest
    81aa95fd5bd1 RISC-V: KVM: Don't zero-out PMU snapshot area before freeing data
    d2b1dd777237 RISC-V: KVM: Fix sbiret init before forwarding to userspace
    4ab6b9c2e8e2 wifi: rtw88: remove CPT execution branch never used
    10463308b945 wifi: rtw89: remove unused C2H event ID RTW89_MAC_C2H_FUNC_READ_WOW_CAM to prevent out-of-bounds reading
    6d2110b4dbb4 arm64: signal: Fix some under-bracketed UAPI macros
    e3ea60496345 net: stmmac: dwmac-loongson: Init ref and PTP clocks rate
    c90e4a08a95a wifi: ath12k: fix invalid AMPDU factor calculation in ath12k_peer_assoc_h_he()
    ffc7069dbd93 wifi: ath12k: match WMI BSS chan info structure with firmware definition
    bbc6d4c5553b wifi: ath12k: fix BSS chan info request WMI command
    a584f1aded79 wifi: ath9k: Remove error checks when creating debugfs entries
    2404db8b39ac wifi: brcmfmac: introducing fwil query functions
    771e66f74285 ACPI: PMIC: Remove unneeded check in tps68470_pmic_opregion_probe()
    b5d534b473e2 crypto: iaa - Fix potential use after free bug
    3926cabcf335 crypto: qat - ensure correct order in VF restarting handler
    f39df661e9f6 crypto: qat - fix recovery flow for VFs
    ea4d47ffd39d crypto: qat - disable IOV in adf_dev_stop()
    df0086689c66 crypto: xor - fix template benchmarking
    9432185540ba wifi: rtw88: always wait for both firmware loading attempts
    7e8c4c7cbaed EDAC/synopsys: Fix error injection on Zynq UltraScale+
    dbd51da69dda wifi: ath11k: use work queue to process beacon tx event
    c4386c5293aa drivers: gpu: drm: msm: registers: improve reproducibility
    915a386c7cff qemux86: add configuration symbol to select values
    62df91b21626 sched/isolation: really align nohz_full with rcu_nocbs
    afe643f5802b clear_warn_once: add a clear_warn_once= boot parameter
    7b016793edbf clear_warn_once: bind a timer to written reset value
    89a5c70f2000 clear_warn_once: expand debugfs to include read support
    8014704c527d tools: Remove some options from CLANG_CROSS_FLAGS
    e9ca44556936 libbpf: Fix build warning on ref_ctr_off
    32fe8c972c36 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    a372ac2b798d perf: x86-32: explicitly include <errno.h>
    a5cb41682777 perf: mips64: Convert __u64 to unsigned long long
    ed8ee9f3d1ae perf: fix bench numa compilation
    6dbb2915e8a7 perf: add SLANG_INC for slang.h
    57f78dddfd93 perf: add sgidefs.h to for mips builds
    130f0306cfba perf: change --root to --prefix for python install
    2520efe95341 perf: add 'libperl not found' warning
    45731b6ae676 perf: force include of <stdbool.h>
    ace10f8dec53 fat: Replace prandom_u32() with get_random_u32()
    64797bdca14e fat: don't use obsolete random32 call in namei_vfat
    2442bae1a645 FAT: Added FAT_NO_83NAME
    7561126bce00 FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    5c51ab959876 FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    5869720658c9 aufs6: match exports to functions
    e125467cf228 aufs: adjust for v6.9+
    eebcdc6635bf aufs6: correct do_splice_from prototype
    4c5829036c45 aufs: update remove_page to remove_folio
    e8d889d0f434 aufs: i_op: Add handling for au_pin_hdir_set_owner with RT kernel
    3ecd9203de17 aufs: fix v6.7 kernel build compilation
    5e8ee028dbe2 aufs6: adapt to v6.6 i_op->ctime changes
    1132c330feed aufs6: adapt to v6.6
    d3e4ede69603 aufs6: core
    49ec9271f41d aufs6: standalone
    dcc0978da2dd aufs6: mmap
    80e1609b37e7 aufs6: base
    0dbb3f062420 aufs6: kbuild
    ad51078c5ebf yaffs: fix mtime/itime field access
    e5f1d35d6188 yaffs2: update VFS ctime operations to 6.6+
    dd374461adc7 yaffs2: v6.5 fixups
    f5908785d88d yaffs2: Fix miscalculation of devname buffer length
    d1403f0acfdf yaffs2: convert user_namespace to mnt_idmap
    7dae5463b54f yaffs2: replace bdevname call with sprintf
    92d30df4eb56 yaffs2: convert read_page -> readfolio
    6c895bffdf72 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    6801e7d90255 yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    aff012190046 yaffs2: v5.12+ build fixups (not runtime tested)
    fb474842c16e yaffs: include blkdev.h
    fe7d745aac94 yaffs: fix misplaced variable declaration
    bee147b2e533 yaffs2: v5.6 build fixups
    22998f589ec2 yaffs2: fix memory leak when /proc/yaffs is read
    ce7d8084a976 yaffs: add strict check when call yaffs_internal_read_super
    adb7202fda95 yaffs: repair yaffs_get_mtd_device
    2852e5c15d4d yaffs: Fix build failure by handling inode i_version with proper atomic API
    1526802a8147 yaffs2: fix memory leak in mount/umount
    6c7827a16aaa yaffs: Avoid setting any ACL releated xattr
    fa3482815542 Yaffs:check oob size before auto selecting Yaffs1
    aaa4843b73ce fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    48e992af6531 yaffs2: adjust to proper location of MS_RDONLY
    f3af7160d8a0 yaffs2: import git revision b4ce1bb (jan, 2020)
    4add698ed6e8 initramfs: allow an optional wrapper script around initramfs generation
    b619a8d54336 vt/conmakehash: improve reproducibility
    c786186aeef3 tools: use basename to identify file in gen-mach-types
    aa3a8e7ceb6e iwlwifi: select MAC80211_LEDS conditionally
    325db54c4be9 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    23a87c6e13aa defconfigs: drop obselete options
    946e5b78ab94 linux-yocto: Handle /bin/awk issues
    9daee1dba585 uvesafb: provide option to specify timeout for task completion
    f68b8683441a uvesafb: print error message when task timeout occurs
    a1595c6b6017 compiler.h: Undef before redefining __attribute_const__
    8086839613c6 vmware: include jiffies.h
    32e79eb3c169 Resolve jiffies wrapping about arp
    f6fabf91b6f2 nfs: Allow default io size to be configured.
    ad2b29f801e9 check console device file on fs when booting
    5194785d545b mount_root: clarify error messages for when no rootfs found
    78b3498cb59a mconf: fix output of cflags and libraries
    9cc6870708d5 menuconfig,mconf-cfg: Allow specification of ncurses location
    f34088ed9c93 modpost: mask trivial warnings
    4784584582f5 kbuild: exclude meta directory from distclean processing
    73072b5fe25a powerpc: serialize image targets
    a120eb200320 arm: serialize build targets
    51d5719ac05b mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    5155f0bb36f0 cpu/amd: inhibit SMP check for qemux86
    e5a5996ee586 x86_64_defconfig: Fix warnings
    1359db75df0c mips: make current_cpu_data preempt safe
    385edf6090c3 mips: vdso: fix 'jalr $t9' crash in vdso code
    968266397319 mips: Kconfig: add QEMUMIPS64 option
    389ce854fde3 4kc cache tlb hazard: tlbp cache coherency
    9cab61199fa8 malta uhci quirks: make allowance for slow 4k(e)c
    80cae3bd9eea arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    41c82709900f drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    59ef4f151a5e arm64: defconfig: cleanup config options
    c5fb425762ed vexpress: Pass LOADADDR to Makefile
    07a8b544d4e9 arm: ARM EABI socketcall
    574f3ae3d2ca ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: f113431c53e5a5d6051478487e34edbba4f19e0c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2972338da9563e64d8953921efcedea361b2b4ec)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Bruce Ashfield
cd4e43e639 linux-yocto/6.10: update to v6.10.12
Updating linux-yocto/6.10 to the latest korg -stable release that comprises
the following commits:

    e0081d1e9c57 Linux 6.10.12
    47e0c6b594de powercap: intel_rapl: Change an error pointer to NULL
    e872738e670d USB: usbtmc: prevent kernel-usb-infoleak
    3f24124ed89f USB: serial: pl2303: add device id for Macrosilicon MS3020
    59ea0c908ade can: mcp251xfd: move mcp251xfd_timestamp_start()/stop() into mcp251xfd_chip_start/stop()
    3f08a4a456b1 can: mcp251xfd: properly indent labels
    d285ca605b66 nvme-pci: qdepth 1 quirk
    fa9e1c1b1f38 Bluetooth: btintel_pcie: Allocate memory for driver private data
    3f9d88fbc2eb netfilter: nft_socket: Fix a NULL vs IS_ERR() bug in nft_socket_cgroup_subtree_level()
    ecc5368315af netfilter: nft_socket: make cgroupsv2 matching work with namespaces
    f8a7fa068be0 powercap/intel_rapl: Fix the energy-pkg event for AMD CPUs
    e3203070a635 powercap/intel_rapl: Add support for AMD family 1Ah
    41db9aa05600 drm: Expand max DRM device number to full MINORBITS
    7742221a263f accel: Use XArray instead of IDR for minors
    8b0a86b45ae4 drm: Use XArray instead of IDR for minors
    e4ffea01adf3 ocfs2: strict bound check before memcmp in ocfs2_xattr_find_entry()
    8e7bef408261 ocfs2: add bounds checking to ocfs2_xattr_find_entry()
    b658d9d56a8f spi: spidev: Add missing spi_device_id for jg10309-01
    dd54b7ab069f drm/amd/pm: fix the pp_dpm_pcie issue on smu v14.0.2/3
    e7a76ab59372 tools: hv: rm .*.cmd when make clean
    4e512c442da8 x86/hyperv: Set X86_FEATURE_TSC_KNOWN_FREQ when Hyper-V provides frequency
    e13431de1dfd ice: check for XDP rings instead of bpf program when unconfiguring
    8d92ea5741e1 platform/x86/amd: pmf: Make ASUS GA403 quirk generic
    cb2936c24a7a smb: client: fix hang in wait_for_response() for negproto
    ecc8b3b6cc44 spi: bcm63xx: Enable module autoloading
    ed07a5988031 drm: komeda: Fix an issue related to normalized zpos
    d8635fbd44e9 ALSA: hda: add HDMI codec ID for Intel PTL
    69e4321192d7 clk: qcom: gcc-sm8650: Don't use shared clk_ops for QUPs
    6784da0b04dc ASoC: amd: yc: Add a quirk for MSI Bravo 17 (D7VEK)
    dc41e72e33b8 spi: spidev: Add an entry for elgin,jg10309-01
    9173a2003d8e ASoC: mediatek: mt8188-mt6359: Modify key
    feff318d6d2d ASoC: fix module autoloading
    09ab4b2b460d ASoC: tda7419: fix module autoloading
    ca50510bac3c ASoC: google: fix module autoloading
    7cd03e167735 ASoC: intel: fix module autoloading
    98865eac258a ASoC: Intel: soc-acpi-cht: Make Lenovo Yoga Tab 3 X90F DMI match less strict
    62d0c6ce2cf0 can: mcp251xfd: mcp251xfd_ring_init(): check TX-coalescing configuration
    8809b849687a can: m_can: Limit coalescing to peripheral instances
    d154700d6280 wifi: iwlwifi: clear trans->state earlier upon error
    e31a0656848a wifi: mac80211: free skb on error path in ieee80211_beacon_get_ap()
    7188b7a72320 wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead
    55086c97a55d wifi: iwlwifi: mvm: pause TCM when the firmware is stopped
    5116deb3ee26 wifi: iwlwifi: mvm: fix iwl_mvm_max_scan_ie_fw_cmd_room()
    05ccaedbd651 wifi: iwlwifi: mvm: fix iwl_mvm_scan_fits() calculation
    0c211da3fcb8 wifi: iwlwifi: lower message level for FW buffer destination
    05969a694471 LoongArch: KVM: Invalidate guest steal time address on vCPU reset
    ae2b89a2a164 LoongArch: Define ARCH_IRQ_INIT_FLAGS as IRQ_NOPROBE
    3520cf2e3cc3 net: ftgmac100: Ensure tx descriptor updates are visible
    66e05bb477da platform/x86: x86-android-tablets: Make Lenovo Yoga Tab 3 X90F DMI match less strict
    6b65b4f1c4c0 platform/x86: asus-wmi: Fix spurious rfkill on UX8406MA
    32ee7b7e9d31 microblaze: don't treat zero reserved memory regions as error
    9afeb3d0c1fe hwmon: (asus-ec-sensors) remove VRM temp X570-E GAMING
    ddbb44b11292 pinctrl: at91: make it work with current gpiolib
    338425c8ba38 scsi: lpfc: Fix overflow build issue
    4b0d65561ee8 ALSA: hda/realtek - FIxed ALC285 headphone no sound
    478b57ec45bf ALSA: hda/realtek - Fixed ALC256 headphone no sound
    0aa8eca1d4dc ASoC: allow module autoloading for table board_ids
    486d4c4485fb ASoC: allow module autoloading for table db1200_pids
    4830fa8eb426 ASoC: mediatek: mt8188: Mark AFE_DAC_CON0 register as volatile
    706ddb6363c0 ASoC: SOF: mediatek: Add missing board compatible
    c4386c5293aa drivers: gpu: drm: msm: registers: improve reproducibility
    915a386c7cff qemux86: add configuration symbol to select values
    62df91b21626 sched/isolation: really align nohz_full with rcu_nocbs
    afe643f5802b clear_warn_once: add a clear_warn_once= boot parameter
    7b016793edbf clear_warn_once: bind a timer to written reset value
    89a5c70f2000 clear_warn_once: expand debugfs to include read support
    8014704c527d tools: Remove some options from CLANG_CROSS_FLAGS
    e9ca44556936 libbpf: Fix build warning on ref_ctr_off
    32fe8c972c36 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    a372ac2b798d perf: x86-32: explicitly include <errno.h>
    a5cb41682777 perf: mips64: Convert __u64 to unsigned long long
    ed8ee9f3d1ae perf: fix bench numa compilation
    6dbb2915e8a7 perf: add SLANG_INC for slang.h
    57f78dddfd93 perf: add sgidefs.h to for mips builds
    130f0306cfba perf: change --root to --prefix for python install
    2520efe95341 perf: add 'libperl not found' warning
    45731b6ae676 perf: force include of <stdbool.h>
    ace10f8dec53 fat: Replace prandom_u32() with get_random_u32()
    64797bdca14e fat: don't use obsolete random32 call in namei_vfat
    2442bae1a645 FAT: Added FAT_NO_83NAME
    7561126bce00 FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    5c51ab959876 FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    5869720658c9 aufs6: match exports to functions
    e125467cf228 aufs: adjust for v6.9+
    eebcdc6635bf aufs6: correct do_splice_from prototype
    4c5829036c45 aufs: update remove_page to remove_folio
    e8d889d0f434 aufs: i_op: Add handling for au_pin_hdir_set_owner with RT kernel
    3ecd9203de17 aufs: fix v6.7 kernel build compilation
    5e8ee028dbe2 aufs6: adapt to v6.6 i_op->ctime changes
    1132c330feed aufs6: adapt to v6.6
    d3e4ede69603 aufs6: core
    49ec9271f41d aufs6: standalone
    dcc0978da2dd aufs6: mmap
    80e1609b37e7 aufs6: base
    0dbb3f062420 aufs6: kbuild
    ad51078c5ebf yaffs: fix mtime/itime field access
    e5f1d35d6188 yaffs2: update VFS ctime operations to 6.6+
    dd374461adc7 yaffs2: v6.5 fixups
    f5908785d88d yaffs2: Fix miscalculation of devname buffer length
    d1403f0acfdf yaffs2: convert user_namespace to mnt_idmap
    7dae5463b54f yaffs2: replace bdevname call with sprintf
    92d30df4eb56 yaffs2: convert read_page -> readfolio
    6c895bffdf72 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    6801e7d90255 yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    aff012190046 yaffs2: v5.12+ build fixups (not runtime tested)
    fb474842c16e yaffs: include blkdev.h
    fe7d745aac94 yaffs: fix misplaced variable declaration
    bee147b2e533 yaffs2: v5.6 build fixups
    22998f589ec2 yaffs2: fix memory leak when /proc/yaffs is read
    ce7d8084a976 yaffs: add strict check when call yaffs_internal_read_super
    adb7202fda95 yaffs: repair yaffs_get_mtd_device
    2852e5c15d4d yaffs: Fix build failure by handling inode i_version with proper atomic API
    1526802a8147 yaffs2: fix memory leak in mount/umount
    6c7827a16aaa yaffs: Avoid setting any ACL releated xattr
    fa3482815542 Yaffs:check oob size before auto selecting Yaffs1
    aaa4843b73ce fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    48e992af6531 yaffs2: adjust to proper location of MS_RDONLY
    f3af7160d8a0 yaffs2: import git revision b4ce1bb (jan, 2020)
    4add698ed6e8 initramfs: allow an optional wrapper script around initramfs generation
    b619a8d54336 vt/conmakehash: improve reproducibility
    c786186aeef3 tools: use basename to identify file in gen-mach-types
    aa3a8e7ceb6e iwlwifi: select MAC80211_LEDS conditionally
    325db54c4be9 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    23a87c6e13aa defconfigs: drop obselete options
    946e5b78ab94 linux-yocto: Handle /bin/awk issues
    9daee1dba585 uvesafb: provide option to specify timeout for task completion
    f68b8683441a uvesafb: print error message when task timeout occurs
    a1595c6b6017 compiler.h: Undef before redefining __attribute_const__
    8086839613c6 vmware: include jiffies.h
    32e79eb3c169 Resolve jiffies wrapping about arp
    f6fabf91b6f2 nfs: Allow default io size to be configured.
    ad2b29f801e9 check console device file on fs when booting
    5194785d545b mount_root: clarify error messages for when no rootfs found
    78b3498cb59a mconf: fix output of cflags and libraries
    9cc6870708d5 menuconfig,mconf-cfg: Allow specification of ncurses location
    f34088ed9c93 modpost: mask trivial warnings
    4784584582f5 kbuild: exclude meta directory from distclean processing
    73072b5fe25a powerpc: serialize image targets
    a120eb200320 arm: serialize build targets
    51d5719ac05b mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    5155f0bb36f0 cpu/amd: inhibit SMP check for qemux86
    e5a5996ee586 x86_64_defconfig: Fix warnings
    1359db75df0c mips: make current_cpu_data preempt safe
    385edf6090c3 mips: vdso: fix 'jalr $t9' crash in vdso code
    968266397319 mips: Kconfig: add QEMUMIPS64 option
    389ce854fde3 4kc cache tlb hazard: tlbp cache coherency
    9cab61199fa8 malta uhci quirks: make allowance for slow 4k(e)c
    80cae3bd9eea arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    41c82709900f drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    59ef4f151a5e arm64: defconfig: cleanup config options
    c5fb425762ed vexpress: Pass LOADADDR to Makefile
    07a8b544d4e9 arm: ARM EABI socketcall
    574f3ae3d2ca ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: 0807aac21aa77f7fae579be46373e17b6d3bdd67)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a8f53385d49ca7dddd68056e3bc0e5fefbeee034)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Bruce Ashfield
5bd56d74a4 linux-yocto/6.10: update to v6.10.11
Updating linux-yocto/6.10 to the latest korg -stable release that comprises
the following commits:

    8a886bee7aa5 Linux 6.10.11
    729ae6e76187 usb: typec: ucsi: Only set number of plug altmodes after registration
    7d318166bf55 ASoC: meson: axg-card: fix 'use-after-free'
    080c3068715d pinctrl: meteorlake: Add Arrow Lake-H/U ACPI ID
    6c69458e2e32 cifs: Fix signature miscalculation
    7f7417d0ba92 drm/xe/display: fix compat IS_DISPLAY_STEP() range end
    d53503ca0449 ASoC: codecs: avoid possible garbage value in peb2466_reg_read()
    bcf0e7f90ba8 drm/i915/guc: prevent a possible int overflow in wq offsets
    4e96ea328a80 spi: geni-qcom: Fix incorrect free_irq() sequence
    ff4767f00234 spi: geni-qcom: Undo runtime PM changes at driver exit time
    01281a9e8275 ASoC: Intel: soc-acpi-intel-mtl-match: add missing empty item
    8eb57389d8ad ASoC: Intel: soc-acpi-intel-lnl-match: add missing empty item
    ad78bcd111e3 tracing/kprobes: Fix build error when find_module() is not available
    abc8feacacf8 drm/xe/client: add missing bo locking in show_meminfo()
    9d3de463e23b drm/xe/client: fix deadlock in show_meminfo()
    fc108cbc7e7a drm/amd/amdgpu: apply command submission parser for JPEG v2+
    8403c350b44e drm/amd/amdgpu: apply command submission parser for JPEG v1
    42850927656a drm/amd/display: Avoid race between dcn35_set_drr() and dc_state_destruct()
    b6ce047a81f5 drm/amd/display: Avoid race between dcn10_set_drr() and dc_state_destruct()
    73e7a3b2f451 drm/amdgpu/atomfirmware: Silence UBSAN warning
    affbd12c5f76 drm/nouveau/fb: restore init() for ramgp102
    e79050882b85 dma-buf: heaps: Fix off-by-one in CMA heap fault handler
    73333816cf2a drm/syncobj: Fix syncobj leak in drm_syncobj_eventfd_ioctl
    87d3436e4c27 soundwire: stream: Revert "soundwire: stream: fix programming slave ports for non-continous port maps"
    d1a1dfcec77c spi: nxp-fspi: fix the KASAN report out-of-bounds bug
    49ac6299f2a9 tracing/osnoise: Fix build when timerlat is not enabled
    abee73f96d9d netlink: specs: mptcp: fix port endianness
    ce8eabc912fe net: dpaa: Pad packets to ETH_ZLEN
    b4fe06be8eee net: dsa: felix: ignore pending status of TAS module when it's disabled
    8d0c3368478e net: hsr: prevent NULL pointer dereference in hsr_proxy_announce()
    1f68e097e20d netfilter: nft_socket: fix sk refcount leaks
    b5f2f7d1c526 riscv: Disable preemption while handling PR_RISCV_CTX_SW_FENCEI_OFF
    edcab8d5bce3 drivers: perf: Fix smp_processor_id() use in preemptible code
    176b6a0675c5 selftests: net: csum: Fix checksums for packets with non-zero padding
    67b61e2f4c9c net: phy: dp83822: Fix NULL pointer dereference on DP83825 devices
    e55c1df0016b net: ftgmac100: Enable TX interrupt to avoid TX timeout
    57db4764a88b octeontx2-af: Modify SMQ flush sequence to drop packets
    aca06c617c83 fou: fix initialization of grc
    505ae01f75f8 net/mlx5: Fix bridge mode operations when there are no VFs
    317b791922b8 net/mlx5: Verify support for scheduling element and TSAR type
    0865cf82edfc net/mlx5: Correct TASR typo into TSAR
    58491e7afe24 net/mlx5: Add missing masks and QoS bit masks for scheduling elements
    849bc9775242 net/mlx5: Explicitly set scheduling element and TSAR type
    478f00895f44 net/mlx5e: Add missing link mode to ptys2ext_ethtool_map
    2e1880fd618f net/mlx5e: Add missing link modes to ptys2ethtool_map
    20700e95b90a net/mlx5: Update the list of the PCI supported devices
    f422771750e4 igb: Always call igb_xdp_ring_update_tail() under Tx lock
    57b01a10ae14 ice: fix VSI lists confusion when adding VLANs
    4d6ad546156a ice: fix accounting for filters shared by multiple VSIs
    5f6c00ae7b33 ice: Fix lldp packets dropping after changing the number of channels
    a4b9c2fd80f2 hwmon: (pmbus) Conditionally clear individual status bits for pmbus rev >= 1.2
    de239e8db564 net: hsr: Send supervisory frames to HSR network with ProxyNodeTable data
    506dd33be9fd selftests/bpf: Support SOCK_STREAM in unix_inet_redir_to_connected()
    3e8856209299 cxl: Restore XOR'd position bits during address translation
    b5bd350efae9 cxl/core: Fix incorrect vendor debug UUID define
    70b90f7843ec clk/sophgo: Using BUG() instead of unreachable() in mmux_get_parent_id()
    556c31259cdd eeprom: digsy_mtc: Fix 93xx46 driver probe failure
    c5702cc3cb1b drm/amd/display: Fix FEC_READY write on DP LT
    d36ad993d565 drm/amd/display: Disable error correction if it's not supported
    9c838257b95d riscv: dts: starfive: jh7110-common: Fix lower rate of CPUfreq by setting PLL0 rate to 1.5GHz
    8c6a5a1fc02a firmware: qcom: uefisecapp: Fix deadlock in qcuefi_acquire()
    36050b7cdb3a arm64: dts: rockchip: fix PMIC interrupt pin in pinctrl for ROCK Pi E
    77e4578148b8 bcachefs: Don't delete open files in online fsck
    efb335dc3664 bcachefs: Revert lockless buffered IO path
    0514b281f36b bcachefs: Fix bch2_extents_match() false positive
    954fd4c81f22 mm: avoid leaving partial pfn mappings around in error case
    d6f018a3b49d x86/hyperv: fix kexec crash due to VP assist page corruption
    1bb24288b625 clocksource: hyper-v: Use lapic timer in a TDX VM without paravisor
    5dfb716fdb7d dm-integrity: fix a race condition when accessing recalc_sector
    327f0792ca04 net: libwx: fix number of Rx and Tx descriptors
    8e1f7e51648e net: tighten bad gso csum offset check in virtio_net_hdr
    5a6faeb2815e minmax: reduce min/max macro expansion in atomisp driver
    70eb635cdbe9 arm64: dts: rockchip: override BIOS_DISABLE signal via GPIO hog on RK3399 Puma
    18c0ddc03703 arm64: dts: rockchip: fix eMMC/SPI corruption when audio has been used on RK3399 Puma
    e5ba8d381a3c selftests: mptcp: join: restrict fullmesh endp on 1st sf
    12134a652b0a mptcp: pm: Fix uaf in __timer_delete_sync
    f311968726d5 platform/x86: panasonic-laptop: Allocate 1 entry extra in the sinf array
    b38c19783286 platform/x86: panasonic-laptop: Fix SINF array out of bounds accesses
    a23c1b9a76f8 NFS: Avoid unnecessary rescanning of the per-server delegation list
    f2331b87fdaf NFSv4: Fix clearing of layout segments in layoutreturn
    5c605d81e3d8 smb/server: fix return value of smb2_open()
    0b99d0e17d6a s390/mm: Pin identity mapping base to zero
    7a6e0b6fe3cf drm/xe: use devm instead of drmm for managed bo
    f3c6de0fa538 drm/xe: fix WA 14018094691
    3aa5397e333a drm/xe/xe2lpm: Extend Wa_16021639441
    f74e8bc5d71a Input: i8042 - add Fujitsu Lifebook E756 to i8042 quirk table
    b4ca1ead719c drm/msm/adreno: Fix error return if missing firmware-name
    ad0a22cb9047 spi: zynqmp-gqspi: Scale timeout by data size
    c27f780f4542 platform/surface: aggregator_registry: Add support for Surface Laptop 6
    d8d5fb769017 platform/surface: aggregator_registry: Add fan and thermal sensor support for Surface Laptop 5
    845eef138035 platform/surface: aggregator_registry: Add support for Surface Laptop Studio 2
    41c042722007 platform/surface: aggregator_registry: Add support for Surface Laptop Go 3
    db707dd766c9 platform/surface: aggregator_registry: Add Support for Surface Pro 10
    4111ff8f9a15 platform/x86: asus-wmi: Add quirk for ROG Ally X
    317159931f8f scripts: kconfig: merge_config: config files: add a trailing newline
    3dfab03b923c cgroup/cpuset: Eliminate unncessary sched domains rebuilds in hotplug
    f693397eb9a5 Input: edt-ft5x06 - add support for FocalTech FT8201
    d189e24a42b8 HID: multitouch: Add support for GT7868Q
    1fe7facedf6e hid-asus: add ROG Ally X prod ID to quirk list
    883e932bd416 Input: synaptics - enable SMBus for HP Elitebook 840 G2
    5720cd7313af Input: ads7846 - ratelimit the spi_sync error message
    a314bb665a2a btrfs: update target inode's ctime on unlink
    45ce59266a75 net: hns3: use correct release function during uninitialization
    57a606ca15de drm/amdgpu: Update kmd_fw_shared for VCN5
    8d92bafd4c67 wifi: mt76: mt7921: fix NULL pointer access in mt7921_ipv6_addr_change
    59c1b7916dba powerpc/mm: Fix boot warning with hugepages and CONFIG_DEBUG_VIRTUAL
    b7002518171d net: phy: vitesse: repair vsc73xx autonegotiation
    a43653ed1ef1 drm: panel-orientation-quirks: Add quirk for Ayn Loki Max
    df5a3a6d2020 drm: panel-orientation-quirks: Add quirk for Ayn Loki Zero
    a387bfd15305 net: ethernet: use ip_hdrlen() instead of bit shift
    ccc94e269281 usbnet: ipheth: fix carrier detection in modes 1 and 4
    08ca800b0cd5 usbnet: ipheth: do not stop RX on failing RX callback
    716b11132999 usbnet: ipheth: drop RX URBs with no payload
    5ad04d8e4207 usbnet: ipheth: remove extraneous rx URB length check
    02bc490c4590 ksmbd: override fsids for smb2_query_info()
    08f9f96d430e ksmbd: override fsids for share path check
    960be51f89cd drm/mediatek: Set sensible cursor width/height values to fix crash
    3e1840750c57 usb: typec: ucsi: Fix cable registration
    a67fc92568b8 usb: typec: ucsi: Always set number of alternate modes
    049be94099ea Linux 6.10.10
    60e01e9316a3 LoongArch: Use accessors to page table entries instead of direct dereference
    12bc88ca29de spi: spi-fsl-lpspi: Fix off-by-one in prescale max
    01681aa609b5 btrfs: fix race between direct IO write and fsync when using same fd
    6f574d015689 drm/i915/display: Increase Fast Wake Sync length as a quirk
    48cb63ce38b9 drm/i915/display: Add mechanism to use sink model when applying quirk
    b4e9331e9064 x86/mm: Fix PTI for i386 some more
    7c890ef60bf4 ublk_drv: fix NULL pointer dereference in ublk_ctrl_start_recovery()
    5ac3d0a487d1 nvmet: Identify-Active Namespace ID List command should reject invalid nsid
    2443c10be369 nvme: rename CDR/MORE/DNR to NVME_STATUS_*
    d433e595f1ac nvme: fix status magic numbers
    1be0c309a33c nvme: rename nvme_sc_to_pr_err to nvme_status_to_pr_err
    39517a901b8f cifs: Fix SMB1 readv/writev callback in the same way as SMB2/3
    72a57a7b4f83 cifs: Fix zero_point init on inode initialisation
    82f134ddd4f5 riscv: Fix RISCV_ALTERNATIVE_EARLY
    bb63fe4f5f31 riscv: Improve sbi_ecall() code generation by reordering arguments
    3445b6ccc792 riscv: Add tracepoints for SBI calls and returns
    339b880e7ced riscv: Do not restrict memory size because of linear mapping on nommu
    775a2238aa98 riscv: Fix toolchain vector detection
    1a46c7f6546b smb: client: fix double put of @cfile in smb2_rename_path()
    d195d5fae9b8 gpio: modepin: Enable module autoloading
    fcb0ebed9345 gpio: rockchip: fix OF node leak in probe()
    c2017deb0330 drm/i915/fence: Mark debug_fence_free() with __maybe_unused
    e74af8de40b5 drm/i915/fence: Mark debug_fence_init_onstack() with __maybe_unused
    74182cc77497 nouveau: fix the fwsec sb verification register.
    709aba10e2fa clk: qcom: gcc-sm8550: Don't park the USB RCG at registration time
    0d1e7301225c clk: qcom: gcc-sm8550: Don't use parking clk_ops for QUPs
    527663015f23 ASoC: sunxi: sun4i-i2s: fix LRCLK polarity in i2s mode
    9bf1c67635b5 riscv: mm: Do not restrict mmap address based on hint
    62f6ca61bb88 riscv: selftests: Remove mmap hint address checks
    9795a6bd7172 ASoc: SOF: topology: Clear SOF link platform name upon unload
    68e6917f3d4e clk: qcom: gcc-x1e80100: Don't use parking clk_ops for QUPs
    cf7ce11385cc nvme-pci: allocate tagset on reset if necessary
    6c04d1e3ab22 nvmet-tcp: fix kernel crash if commands allocation fails
    67002edd6c6c ASoC: tegra: Fix CBB error during probe()
    55fe39810bea powerpc/vdso: Don't discard rela sections
    1e08132bc7c7 powerpc/64e: Define mmu_pte_psize static
    7ebaff701efe powerpc/64e: split out nohash Book3E 64-bit code
    4429f9807e63 powerpc/64e: remove unused IBM HTW code
    70eee39bbd05 clk: qcom: ipq9574: Update the alpha PLL type for GPLLs
    7b7a9dac3878 clk: qcom: gcc-x1e80100: Fix USB 0 and 1 PHY GDSC pwrsts flags
    101c62609886 drm/xe/xe2lpg: Extend workaround 14021402888
    2cb699051873 drm/xe/xe2: Add workaround 14021402888
    e70f6ac7b761 net/mlx5e: SHAMPO, Fix page leak
    c26243db74c1 net/mlx5e: SHAMPO, Use KSMs instead of KLMs
    f5ce0b408124 hid: bpf: add BPF_JIT dependency
    17c1e62c7ec2 crypto: starfive - Fix nent assignment in rsa dec
    0e3da92dbf6e crypto: starfive - Align rsa input data to 32-bit
    f9d0026c628c ata: libata-scsi: Check ATA_QCFLAG_RTF_FILLED before using result_tf
    79f80316e6a9 ata: libata-scsi: Remove redundant sense_buffer memsets
    830bdd8a183d drm/amdgpu: handle gfx12 in amdgpu_display_verify_sizes
    4ba7c00d39f6 drm/amd: Add gfx12 swizzle mode defs
    d33a5bff7059 can: mcp251xfd: rx: add workaround for erratum DS80000789E 6 of mcp2518fd
    91c389c7aa93 can: mcp251xfd: clarify the meaning of timestamp
    185c150a826e can: mcp251xfd: rx: prepare to workaround broken RX FIFO head index erratum
    018028d42bbc can: mcp251xfd: mcp251xfd_handle_rxif_ring_uinc(): factor out in separate function
    bc7fbb37e3d2 arm64: acpi: Harden get_cpu_for_acpi_id() against missing CPU entry
    7c7d598974b5 arm64: acpi: Move get_cpu_for_acpi_id() to a header
    eea54a453c1d ACPI: processor: Fix memory leaks in error paths of processor_add()
    560eef75500d ACPI: processor: Return an error if acpi_processor_get_info() fails in processor_add()
    9be835e9fd63 fs: relax permissions for listmount()
    e895aef0485f fs: simplify error handling
    968d52c4dde2 path: add cleanup helper
    da5f374103a1 workqueue: Improve scalability of workqueue watchdog touch
    4b88865d8bf0 workqueue: wq_watchdog_touch is always called with valid CPU
    43568d917d93 mm/memcontrol: respect zswap.writeback setting from parent cg too
    b7d4dd381d3e mm: zswap: rename is_zswap_enabled() to zswap_is_enabled()
    b9b6882e243b perf/aux: Fix AUX buffer serialization
    13123ef14a94 uprobes: Use kzalloc to allocate xol area
    e47d7f80b4d7 clocksource/drivers/timer-of: Remove percpu irq related code
    9c09812e885a clocksource/drivers/imx-tpm: Fix next event not taking effect sometime
    13145027070c clocksource/drivers/imx-tpm: Fix return -ETIME when delta exceeds INT_MAX
    00fe5292f081 VMCI: Fix use-after-free when removing resource in vmci_resource_remove()
    a11874db04ea Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic
    928e399e84f4 uio_hv_generic: Fix kernel NULL pointer dereference in hv_uio_rescind
    2241b78f2245 nvmem: Fix return type of devm_nvmem_device_get() in kerneldoc
    f78addda7afc nvmem: u-boot-env: error if NVMEM device is too small
    540ca4c902d9 dt-bindings: nvmem: Use soc-nvmem node name instead of nvmem
    109e845c1184 binder: fix UAF caused by offsets overwrite
    bfc1704d909d misc: fastrpc: Fix double free of 'buf' in error path
    31b793b08134 usb: typec: ucsi: Fix the partner PD revision
    c1e23cee9ce3 usb: dwc3: Avoid waking up gadget during startxfer
    2ba5ad41218a usb: cdns2: Fix controller reset issue
    0140b2b5b76a usb: dwc3: core: update LC timer as per USB Spec V3.2
    a334f875a886 iio: adc: ad7124: fix DT configuration parsing
    76a160c8e82a iio: adc: ad7124: fix chip ID mismatch
    6e4bf8e79966 iio: adc: ad_sigma_delta: fix irq_flags on irq request
    0e79ed236b4d iio: adc: ad7606: remove frstdata check for serial mode
    6c56053739ad iio: adc: ad7124: fix config comparison
    9de24f9ef0f1 iio: imu: inv_mpu6050: fix interrupt status read for old buggy chips
    b30d022f04a8 iio: fix scale application in iio_convert_raw_to_processed_unlocked
    3d752f729e35 iio: buffer-dmaengine: fix releasing dma channel on error
    8961b245e8f9 staging: iio: frequency: ad9834: Validate frequency parameter value
    84dc375c8350 tcp: process the 3rd ACK with sk_socket for TFO/MPTCP
    98d1b6b48628 fs: only copy to userspace on success in listmount()
    e30b013e24da drm/amdgpu: Fix amdgpu_device_reset_sriov retry logic
    3adb4ae45e42 drm/amdgpu: Add reset_context flag for host FLR
    1f490704c616 drm/amdgpu: Fix two reset triggered in a row
    f9f0b593baef NFSv4: Add missing rescheduling points in nfs_client_return_marked_delegations
    3b692794b81f smb/server: fix potential null-ptr-deref of lease_ctx_info in smb2_open()
    b8186f5cfa4f ata: pata_macio: Use WARN instead of BUG
    9cb25a390a41 spi: spi-fsl-lpspi: limit PRESCALE bit in TCR register
    189d3ed3b25b MIPS: cevt-r4k: Don't call get_c0_compare_int if timer irq is installed
    d1207f07decc kunit/overflow: Fix UB in overflow_allocation_test
    c33a9806dc80 net: hns3: void array out of bound when loop tnl_num
    0f078f8ca93b lib/generic-radix-tree.c: Fix rare race in __genradix_ptr_alloc()
    bf68acd840b6 of/irq: Prevent device address out-of-bounds read in interrupt map walk
    ef4e249971eb Squashfs: sanity check symbolic link size
    51263e839929 usbnet: ipheth: race between ipheth_close and error handling
    d76fc0f0b18d Input: uinput - reject requests with unreasonable number of slots
    adb3e3c1ddb5 HID: amd_sfh: free driver_data after destroying hid device
    48b2108efa20 HID: cougar: fix slab-out-of-bounds Read in cougar_report_fixup
    d21f3480b6db s390/vmlinux.lds.S: Move ro_after_init section behind rodata section
    55b046ec8a4f btrfs: initialize location to fix -Wmaybe-uninitialized in btrfs_lookup_dentry()
    ee73a15d4a8c spi: hisi-kunpeng: Add verification for the max_frequency provided by the firmware
    f743662ab629 kselftests: dmabuf-heaps: Ensure the driver name is null-terminated
    e2d14bfda9eb i3c: mipi-i3c-hci: Error out instead on BUG_ON() in IBI DMA setup
    f62bf0cc6075 i3c: master: svc: resend target address when get NACK
    8d5863cb33aa vfs: Fix potential circular locking through setxattr() and removexattr()
    cec226f9b1fd cachefiles: Set the max subreq size for cache writes to MAX_RW_COUNT
    cae59dffe652 s390/boot: Do not assume the decompressor range is reserved
    66a490d7c5dd regmap: maple: work around gcc-14.1 false-positive warning
    4794579335ca LoongArch: Use correct API to map cmdline in relocate_kernel()
    52d9d4f33b85 drm/amdgpu: add mutex to protect ras shared memory
    42e6607d33c7 net: dpaa: avoid on-stack arrays of NR_CPUS elements
    056e0cd381d5 Bluetooth: btnxpuart: Fix Null pointer dereference in btnxpuart_flush()
    2d82277f6619 tcp: Don't drop SYN+ACK for simultaneous connect().
    81c68e218ab8 PCI: Add missing bridge lock to pci_bus_lock()
    6ffa0fb4f842 riscv: set trap vector earlier
    142ef3a1c98f cxl/region: Verify target positions using the ordered target list
    101737d8b88d ethtool: fail closed if we can't get max channel used in indirection tables
    ef9a8b73c8b6 btrfs: don't BUG_ON() when 0 reference count at btrfs_lookup_extent_info()
    f895db00c65e btrfs: replace BUG_ON() with error handling at update_ref_for_cow()
    a7f16a7a7098 btrfs: handle errors from btrfs_dec_ref() properly
    03804641ec2d btrfs: clean up our handling of refs == 0 in snapshot delete
    a7dfb14798bc btrfs: replace BUG_ON with ASSERT in walk_down_proc()
    704c359b4093 btrfs: don't BUG_ON on ENOMEM from btrfs_lookup_extent_info() in walk_down_proc()
    ab6a217ac577 btrfs: slightly loosen the requirement for qgroup removal
    b5a531dd2f72 fs/ntfs3: Check more cases when directory is corrupted
    5e1a3e5ddf6a smp: Add missing destroy_work_on_stack() call in smp_call_on_cpu()
    0d0d06fbc8f2 drm/amdgpu: reject gang submit on reserved VMIDs
    16c317f16e38 watchdog: imx7ulp_wdt: keep already running watchdog enabled
    9cd15511de7c bpf: Remove tst_run from lwt_seg6local_prog_ops.
    89827a4de802 iommufd: Require drivers to supply the cache_invalidate_user ops
    3913cea77d64 staging: vchiq_core: Bubble up wait_event_interruptible() return value
    bc89b8a2c6e2 PCI: qcom: Override NO_SNOOP attribute for SA8775P RC
    412db603a1d2 perf/x86/intel: Hide Topdown metrics events if the feature is not enumerated
    c16916dd6c16 wifi: mwifiex: Do not return unused priv in mwifiex_get_priv_by_id()
    a90abf931046 dma-mapping: benchmark: Don't starve others when doing the test
    926107e6e3f6 jbd2: avoid mount failed when commit block is partial submitted
    6dd40d964e67 ext4: fix possible tid_t sequence overflows
    bce2c507d99e drm/amdgpu: Set no_hw_access when VF request full GPU fails
    9feed1c5260c libbpf: Add NULL checks to bpf_object__{prev_map,next_map}
    899eddc06e02 ASoc: TAS2781: replace beXX_to_cpup with get_unaligned_beXX for potentially broken alignment
    26825b62bd1b hwmon: (w83627ehf) Fix underflows seen when writing limit attributes
    996221b03099 hwmon: (nct6775-core) Fix underflows seen when writing limit attributes
    16f42953231b hwmon: (lm95234) Fix underflows seen when writing limit attributes
    b0bdb43852bf hwmon: (adc128d818) Fix underflows seen when writing limit attributes
    e74ba5e3056f tracing/kprobes: Add symbol counting check when module loads
    8f2dabd2eef1 crypto: qat - fix unintentional re-enabling of error interrupts
    bba47fe3b038 scsi: lpfc: Handle mailbox timeouts in lpfc_get_sfp_info
    f14d3e1aa613 scsi: pm80xx: Set phy->enable_completion only when we wait for it
    3844586e9bd9 scsi: ufs: core: Remove SCSI host only if added
    25eaef533bf3 wifi: rtw88: usb: schedule rx work after everything is set up
    2745d99da131 virtio_ring: fix KMSAN error for premapped mode
    bfc44075b197 pci/hotplug/pnv_php: Fix hotplug driver crash on Powernv
    2962197b3e92 devres: Initialize an uninitialized struct member
    fc843d3837eb um: line: always fill *error_out in setup_one_line()
    1200485653a0 cgroup: Protect css->cgroup write under css_set_lock
    64149da0fddb block: don't call bio_uninit from bio_endio
    08205763198a iommu/vt-d: Remove control over Execute-Requested requests
    81f8c4381371 iommu/vt-d: Handle volatile descriptor status read
    15364a1ae180 cxl/region: Fix a race condition in memory hotplug notifier
    aa4e90ed8c5d dm init: Handle minors larger than 255
    85c9fdf75cd8 ASoC: topology: Properly initialize soc_enum values
    eb21d40a2189 phy: zynqmp: Take the phy mutex in xlate
    7f093820c084 firmware: cs_dsp: Don't allow writes to read-only controls
    112fd2f02b30 xen: privcmd: Fix possible access to a freed kirqfd instance
    982e057ee188 tools/net/ynl: fix cli.py --subscribe feature
    c61c4a64d246 selftests: net: enable bind tests
    553769473343 net: dsa: vsc73xx: fix possible subblocks range of CAPT block
    b4c56ed51390 net: xilinx: axienet: Fix race in axienet_stop
    7c1ac9e92797 net: bridge: br_fdb_external_learn_add(): always set EXT_LEARN
    7a8d3a25f6b4 r8152: fix the firmware doesn't work
    c46cd6aaca81 fou: Fix null-ptr-deref in GRO.
    58571ffb7843 bareudp: Fix device stats updates.
    c8ffe2d4d37a bpf: add check for invalid name in btf_name_valid_section()
    e454476c4452 bpf, net: Fix a potential race in do_sock_getsockopt()
    d860f25dee0e net: dqs: Do not use extern for unused dql_group
    720f1548fb13 usbnet: modern method to get random MAC
    fc110a08e83c ice: do not bring the VSI up, if it was down before the XDP setup
    041cbd1feb43 ice: remove ICE_CFG_BUSY locking from AF_XDP code
    6ea67b4790a0 ice: check ICE_VSI_DOWN under rtnl_lock when preparing for reset
    391f7dae3d83 ice: protect XDP configuration with a mutex
    2285c2faef19 ice: move netif_queue_set_napi to rtnl-protected sections
    ced032853080 ptp: ocp: adjust sysfs entries to expose tty information
    45e1755eedd6 ptp: ocp: convert serial ports to array
    d9c8dbbc236c net: phy: Fix missing of_node_put() for leds
    6a920f041aeb net: ethernet: ti: am65-cpsw: Fix RX statistics for XDP_TX and XDP_REDIRECT
    1b8719ac77cf perf lock contention: Fix spinlock and rwlock accounting
    4b19c83ba108 hwmon: (hp-wmi-sensors) Check if WMI event data exists
    0b7d7bca20c5 igc: Unlock on error in igc_io_resume()
    70e6473995a4 scripts: fix gfp-translate after ___GFP_*_BITS conversion to an enum
    671013001365 hwmon: ltc2991: fix register bits defines
    58afdc9b1887 Bluetooth: MGMT: Fix not generating command complete for MGMT_OP_DISCONNECT
    cae19117ac36 Bluetooth: hci_sync: Introduce hci_cmd_sync_run/hci_cmd_sync_run_once
    5d8a15c1138e Bluetooth: qca: If memdump doesn't work, re-enable IBS
    c4adc08b85f9 can: kvaser_pciefd: Use a single write when releasing RX buffers
    d1a40a5c2a4c can: kvaser_pciefd: Move reset of DMA RX buffers to the end of the ISR
    330912c6f39d can: kvaser_pciefd: Rename board_irq to pci_irq
    662f25ae3401 can: kvaser_pciefd: Remove unnecessary comment
    fa2951deaea7 can: kvaser_pciefd: Skip redundant NULL pointer check in ISR
    b15bfd9701c6 regulator: core: Stub devm_regulator_bulk_get_const() if !CONFIG_REGULATOR
    6e68abdc5d67 spi: intel: Add check devm_kasprintf() returned value
    7a9203f945fe platform/x86: dell-smbios: Fix error path in dell_smbios_init()
    36486c9e8e01 ice: Add netif_device_attach/detach into PF reset flow
    50161385e9d6 igb: Fix not clearing TimeSync interrupts for 82580
    7dfa4279c55f cifs: Fix FALLOC_FL_ZERO_RANGE to preflush buffered part of target region
    55e78331e0ca cifs: Fix copy offload to flush destination region
    f3d8e8fde454 netfs, cifs: Fix handling of short DIO read
    2e1c24f7f5e5 cifs: Fix lack of credit renegotiation on read retry
    9cf20320a013 rust: kbuild: fix export of bss symbols
    c5a5feb1f84d can: mcp251xfd: fix ring configuration when switching from CAN-CC to CAN-FD mode
    9b6513daa5e2 can: m_can: Reset cached active_interrupts on start
    3fe629aa7d47 can: m_can: disable_all_interrupts, not clear active_interrupts
    281f32ea887e can: m_can: Do not cancel timer from within timer
    83e5c41d1ecd can: m_can: Remove m_can_rx_peripheral indirection
    79ae3475c9cf can: m_can: Remove coalesing disable in isr during suspend
    7eab2b893d5e can: m_can: Reset coalescing during suspend/resume
    abf296d242cd can: m_can: Release irq on error in m_can_open
    abb0a615569e can: bcm: Remove proc entry when dev is unregistered.
    79cc2b84ad24 drm/amdgpu/display: handle gfx12 in amdgpu_dm_plane_format_mod_supported
    14c9b54b28e0 drm/amdgpu: Correct register used to clear fault status
    9073d2cb8fdb drm/amdgpu: check for LINEAR_ALIGNED correctly in check_tiling_flags_gfx6
    ede06d233925 drm/amd/display: Check denominator crb_pipes before used
    11f997143c67 drm/amd/display: Check denominator pbn_div before used
    67c07958facc pcmcia: Use resource_size function on resource object
    b86c6b2ab1c7 media: qcom: camss: Add check for v4l2_fwnode_endpoint_parse
    4afc9cda8ade Input: ili210x - use kvmalloc() to allocate buffer for firmware update
    dd47051c76c8 PCI: keystone: Add workaround for Errata #i2037 (AM65x SR 1.0)
    9ae799838b29 ice: Check all ice_vsi_rebuild() errors in function
    90afe40da0a5 seccomp: release task filters when the task exits
    68d815648094 powerpc/rtas: Prevent Spectre v1 gadget construction in sys_rtas()
    dfd2e8eaa64b fs: relax permissions for statmount()
    15c770640bcb fs: don't copy to userspace under namespace semaphore
    e37e875e40b5 vfio/spapr: Always clear TCEs before unsetting the window
    4fd7a0513d67 media: vivid: don't set HDMI TX controls if there are no HDMI outputs
    9f216ceb125c crypto: qat - initialize user_input.lock for rate_limiting
    47d7b9a56deb drm/amdgpu: clear RB_OVERFLOW bit when enabling interrupts
    c2056c7a840f drm/amdgpu: Fix smatch static checker warning
    9738a1d834fb drm/amdgpu: add missing error handling in function amdgpu_gmc_flush_gpu_tlb_pasid
    5639a3048c70 drm/amd/display: Validate function returns
    47e637193f9a drm/amd/display: Check HDCP returned status
    adc74d25cdbb drm/amd/display: Run DC_LOG_DC after checking link->link_enc
    c1b85157d456 drm/amdgpu: Fix register access violation
    6fe9ca2ca389 usb: gadget: aspeed_udc: validate endpoint index for ast udc
    d66ec9855b21 usb: uas: set host status byte on data completion error
    08155329af59 wifi: rtw89: wow: prevent to send unexpected H2C during download Firmware
    d45b1c62d8af wifi: brcmsmac: advertise MFP_CAPABLE to enable WPA3
    8aa2cd9f37d7 leds: spi-byte: Call of_node_put() on error path
    606cd754cad7 media: vivid: fix wrong sizeimage value for mplane
    f80c65d1e9a6 riscv: kprobes: Use patch_text_nosync() for insn slots
    90cc74552a73 fs/ntfs3: One more reason to mark inode bad
    925fd8ee80d5 udf: Avoid excessive partition lengths
    3cca098c9139 wifi: iwlwifi: mvm: use IWL_FW_CHECK for link ID check
    94dc8dc1c038 gve: Add adminq mutex lock
    39c3b595f3ef netfilter: nf_conncount: fix wrong variable type
    01579894637b iommu: sun50i: clear bypass register
    86e99aab7e18 x86/kmsan: Fix hook for unaligned accesses
    c8cb076f865f af_unix: Remove put_pid()/put_cred() in copy_peercred().
    845af9c8ce03 media: b2c2: flexcop-usb: fix flexcop_usb_memory_req
    34d1122674b8 irqchip/armada-370-xp: Do not allow mapping IRQ 0 and 1
    01e43f1f651c irqchip/renesas-rzg2l: Reorder function calls in rzg2l_irqc_irq_disable()
    b69449b6c174 accel/habanalabs/gaudi2: unsecure edma max outstanding register
    1cf8cd809030 ELF: fix kernel.randomize_va_space double read
    af246e400789 bpf, verifier: Correct tail_call_reachable for bpf prog
    276872034888 virt: sev-guest: Mark driver struct with __refdata to prevent section mismatch
    941358a2c56e cgroup/cpuset: Delay setting of CS_CPU_EXCLUSIVE until valid partition
    4e2b49a85e79 drm/amd/display: Check UnboundedRequestEnabled's value
    73656d1f4a74 smack: unix sockets: fix accept()ed socket label
    25a15f80253a wifi: ath12k: fix firmware crash due to invalid peer nss
    3e0a29500282 wifi: ath12k: fix uninitialize symbol error on ath12k_peer_assoc_h_he()
    b0d13e92d927 ALSA: hda: Add input value sanity checks to HDMI channel map controls
    d4e65b669755 ALSA: control: Apply sanity check of input values for user elements
    1b55a0249ae2 ALSA: hda/realtek: extend quirks for Clevo V5[46]0
    db492b5a322c drm/amd/display: Lock DC and exit IPS when changing backlight
    d1e4d3df12e4 drm/i915: Do not attempt to load the GSC multiple times
    675d6d34fc1c drm/amdgpu: always allocate cleared VRAM for GEM allocations
    1cc695be8920 drm/imagination: Free pvr_vm_gpuva after unlink
    33eb0344e186 drm/panthor: Restrict high priorities on group_create
    a6b268fce7bf drm/panthor: flush FW AS caches in slow reset path
    966fe02a285d drm/xe/gsc: Do not attempt to load the GSC multiple times
    e91dab550dd1 btrfs: zoned: handle broken write pointer on zones
    c3ae6e7b970d btrfs: qgroup: don't use extent changeset when not needed
    74866c16ea21 nilfs2: fix state management in error path of log writing function
    962562d4c70c nilfs2: protect references to superblock parameters exposed in sysfs
    1cf1f7e8cd47 nilfs2: fix missing cleanup on rollforward recovery error
    d7c01c0714c0 sched: sch_cake: fix bulk flow accounting logic for host fairness
    47abd8adddbc ila: call nf_unregister_net_hooks() sooner
    126d72b726c4 tcp_bpf: fix return value of tcp_bpf_sendmsg()
    436dd444d8b2 Revert "wifi: ath11k: support hibernation"
    930840f19ec9 Revert "wifi: ath11k: restore country code during resume"
    3aa52bd43986 Revert "drm/amdgpu: align pp_power_profile_mode with kernel docs"
    82e3e968defb x86/apic: Make x2apic_disable() work correctly
    ce9e83a066f4 x86/fpu: Avoid writing LBR bit to IA32_XSS unless supported
    ddee07e8ad90 net: mctp-serial: Fix missing escapes on transmit
    4982a47154f0 net: mana: Fix error handling in mana_create_txq/rxq's NAPI cleanup
    f579d17a8644 eventfs: Use list_del_rcu() for SRCU protected list variable
    0a11262549ac fscache: delete fscache_cookie_lru_timer when fscache exits to avoid UAF
    98cc18b1b71e userfaultfd: fix checks for huge PMDs
    db978287e908 userfaultfd: don't BUG_ON() if khugepaged yanks our page table
    4679272d5252 tracing/timerlat: Add interface_lock around clearing of kthread in stop_kthread()
    aec14e97c866 tracing: Avoid possible softlockup in tracing_iter_reset()
    8a9d0d405159 tracing/timerlat: Only clear timer if a kthread exists
    27282d2505b4 tracing/osnoise: Use a cpumask to know what threads are kthreads
    0efbad8445fb spi: rockchip: Resolve unbalanced runtime PM / system PM handling
    e7eb8b9c8391 Revert "mm: skip CMA pages when they are not available"
    2d476c86ba47 mm/slub: add check for s->flags in the alloc_tagging_slab_free_hook
    6cf74e0e5e3a mm: vmalloc: ensure vmap_block is initialised before adding to queue
    55c39bb701ba kexec_file: fix elfcorehdr digest exclusion when CONFIG_CRASH_HOTPLUG=y
    bd4c713e0652 maple_tree: remove rcu_read_lock() from mt_validate()
    16ad36c8e66a codetag: debug: mark codetags for poisoned page as empty
    77e240511603 alloc_tag: fix allocation tag reporting when CONFIG_MODULES=n
    1e96ae38257c mm: vmalloc: optimize vmap_lazy_nr arithmetic when purging each vmap_area
    e554113a1cd2 can: mcp251x: fix deadlock if an interrupt occurs during mcp251x_open
    1e8a6948bdbd pinctrl: qcom: x1e80100: Bypass PDC wakeup parent for now
    be495259a08e clk: qcom: clk-alpha-pll: Fix the trion pll postdiv set rate API
    382ef041d60e clk: qcom: clk-alpha-pll: Fix the pll post div mask
    d81ef42faf96 clk: starfive: jh7110-sys: Add notifier for PLL0 clock
    c37c00cf3d03 parisc: Delay write-protection until mark_rodata_ro() call
    a3b6ff6c896a riscv: misaligned: Restrict user access to kernel memory
    85cda5b040bd ASoC: Intel: Boards: Fix NULL pointer deref in BYT/CHT boards harder
    2a5f32223e8f fuse: clear PG_uptodate when using a stolen page
    b39cea3a5a93 fuse: fix memory leak in fuse_create_open
    c5a56f3000a9 fuse: use unsigned type for getxattr/listxattr size truncation
    55c0b50148f7 fuse: check aborted connection before adding requests to pending list for resending
    58020fe88352 fuse: disable the combination of passthrough and writeback cache
    7a0b9c73ec42 fuse: update stats for pages in dropped aux writeback list
    73279b3c312f mmc: cqhci: Fix checking of CQHCI_HALT state
    0e8df0942de0 mmc: sdhci-of-aspeed: fix module autoloading
    5b1ef10f7d49 mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K
    202c58db7a9c mmc: core: apply SD quirks earlier during probe
    129ba129f20b selftests: mm: fix build errors on armhf
    25256e790f9f Bluetooth: MGMT: Ignore keys being loaded with invalid type
    6f774a3a00ec Revert "Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE"
    70c76a9c55ed rust: macros: provide correct provenance when constructing THIS_MODULE
    bf958898d5f5 nvme-pci: Add sleep quirk for Samsung 990 Evo
    1863e1f098c5 irqchip/riscv-aplic: Fix an IS_ERR() vs NULL bug in probe()
    f13b5afc5c48 rtmutex: Drop rt_mutex::wait_lock before scheduling
    cfcd89ed9c57 x86/kaslr: Expose and use the end of the physical memory address space
    9319bfd74041 irqchip/sifive-plic: Probe plic driver early for Allwinner D1 platform
    028bd7b41f56 irqchip/gic-v2m: Fix refcount leak in gicv2m_of_init()
    8717dc35c0e5 perf/x86/intel: Limit the period on Haswell
    b55ce742afcb x86/tdx: Fix data leak in mmio_read()
    81790a4dce06 ata: libata: Fix memory leak for error path in ata_host_alloc()
    28be82053460 ksmbd: Unlock on in ksmbd_tcp_set_interfaces()
    4c8496f44f5b ksmbd: unset the binding mark of a reused connection
    762099898309 smb: client: fix double put of @cfile in smb2_set_path_size()
    f06af737e4be powerpc/qspinlock: Fix deadlock in MCS queue
    a6370f7196b6 ALSA: hda/realtek: Support mute LED on HP Laptop 14-dq2xxx
    1a892e42d4cc ALSA: hda/realtek - Fix inactive headset mic jack for ASUS Vivobook 15 X1504VAP
    deb8e5a399e9 ALSA: hda/realtek: Enable Mute Led for HP Victus 15-fb1xxx
    e083e14b1344 ALSA: hda/realtek: add patch for internal mic in Lenovo V145
    54e3f7d0a17f ALSA: hda/conexant: Add pincfg quirk to enable top speakers on Sirius devices
    85e5f2451853 KVM: SVM: Don't advertise Bus Lock Detect to guest if SVM support is missing
    67766d01014e KVM: SVM: fix emulation of msr reads/writes of MSR_FS_BASE and MSR_GS_BASE
    ecdbe8ac86fb KVM: x86: Acquire kvm->srcu when handling KVM_SET_VCPU_EVENTS
    6a14fad8be17 ASoC: dapm: Fix UAF for snd_soc_pcm_runtime object
    396c88ab6dab net: ethernet: ti: am65-cpsw: fix XDP_DROP, XDP_TX and XDP_REDIRECT
    f7fe95f40c85 net: microchip: vcap: Fix use-after-free error in kunit test
    2e7189d2b1de net: ethernet: ti: am65-cpsw: Fix NULL dereference on XDP_TX
    590768e13ddd xfs: xfs_finobt_count_blocks() walks the wrong btree
    32008ab989dd sch/netem: fix use after free in netem_dequeue
    03e2a1209a83 libfs: fix get_stashed_dentry()
    1611860f184a Linux 6.10.9
    5c8dc61a17f4 i2c: Use IS_REACHABLE() for substituting empty ACPI functions
    b4fc7d011bc7 drm/amdgpu: remove redundant semicolons in RAS_EVENT_LOG
    9ce27841e0e1 mm: Fix filemap_invalidate_inode() to use invalidate_inode_pages2_range()
    ca32ee853a1e pinctrl: core: reset gpio_device in loop in pinctrl_pins_show()
    f45f8af567b6 media: uvcvideo: Enforce alignment of frame and interval
    b557ccd62c5c crypto: ecc - Fix off-by-one missing to clear most significant digit
    54834585e91c drm/amd/display: Skip wbscl_set_scaler_filter if filter is null
    e46b70a7cfed drm/amd/display: Check BIOS images before it is used
    de449701ca07 drm/amdkfd: use mode1 reset for RAS poison consumption
    41c91c78eac0 drm/amdgpu: set RAS fed status for more cases
    30d1b783b6ee drm/amd/display: Avoid overflow from uint32_t to uint8_t
    31c254c9cd4b drm/amd/display: Disable DMCUB timeout for DCN35
    8dea33a86c26 drm/amd/display: use preferred link settings for dp signal only
    eba4b2a38ccd drm/amd/display: Remove register from DCN35 DMCUB diagnostic collection
    c592b6355b9b drm/amd/display: Correct the defined value for AMDGPU_DMUB_NOTIFICATION_MAX
    6bf920193ba1 drm/amd/display: added NULL check at start of dc_validate_stream
    80a984854ff0 drm/amd/display: Don't use fsleep for PSR exit waits on dmub replay
    0b9696a9bd55 drm/amdgpu: fix overflowed constant warning in mmhub_set_clockgating()
    2fd24d2b99c8 drm/amdgpu: add lock in kfd_process_dequeue_from_device
    ba1123e2e864 drm/amdgpu: add lock in amdgpu_gart_invalidate_tlb
    314883f6db87 drm/amdgpu: add skip_hw_access checks for sriov
    72de6c05742f block: remove the blk_flush_integrity call in blk_integrity_unregister
    dc537a72f648 driver: iio: add missing checks on iio_info's callback access
    af84813cfd29 drm/xe: Add GuC state asserts to deregister_exec_queue
    f909236671fe f2fs: fix to do sanity check on blocks for inline_data inode
    4540181f66cf wifi: cfg80211: make hash table duplicates more survivable
    82fff0aa4aff hwmon: (k10temp) Check return value of amd_smn_read()
    5fa5febeaf17 thermal: trip: Use READ_ONCE() for lockless access to trip properties
    db67686676c7 dmaengine: altera-msgdma: properly free descriptor in msgdma_free_descriptor
    cc8d9d36169d dmaengine: altera-msgdma: use irq variant of spin_lock/unlock while invoking callbacks
    d00f6aab2139 pinctrl: renesas: rzg2l: Validate power registers for SD and ETH
    e797ce6fd49f drm/xe: Check valid domain is passed in xe_force_wake_ref
    5e183e1c7ee2 drm/xe: Ensure caller uses sole domain for xe_force_wake_assert_held
    1fb136939537 drm/bridge: tc358767: Check if fully initialized before signalling HPD event via IRQ
    3e6ff8ca7faa net: tcp/dccp: prepare for tw_timer un-pinning
    b69aadeb26cb RAS/AMD/ATL: Validate address map when information is gathered
    af4dec239583 gfs2: Revert "Add quota_change type"
    5d734665cd5d crypto: stm32/cryp - call finalize with bh disabled
    f756e46704f1 drm/meson: plane: Add error handling
    c909ab41df2b net/mlx5e: SHAMPO, Fix incorrect page release
    1d2de6dd5902 platform/chrome: cros_ec_lpc: MEC access can use an AML mutex
    d3703fa94116 smack: tcp: ipv4, fix incorrect labeling
    61e5929d10b8 regmap: spi: Fix potential off-by-one when calculating reserved size
    bb706e92c87b drm/xe: Don't overmap identity VRAM mapping
    0080bdd9752a drm/amdgu: fix Unintentional integer overflow for mall size
    738cda07e5bb tcp: annotate data-races around tw->tw_ts_recent and tw->tw_ts_recent_stamp
    c64470787959 net: remove NULL-pointer net parameter in ip_metrics_convert
    7ef1d2e240c3 fsnotify: clear PARENT_WATCHED flags lazily
    4ff3d3d18d8f drm/xe: Use missing lock in relay_needs_worker
    99331fe68a8e usb: typec: ucsi: Fix null pointer dereference in trace
    ce16bd3a4a41 usbip: Don't submit special requests twice
    1eea6c49abf7 media: v4l2-cci: Always assign *val
    251f627e25c8 rcu/nocb: Remove buggy bypass lock contention mitigation
    514377ab902c pwm: xilinx: Fix u32 overflow issue in 32-bit width PWM mode.
    053f3b86631d ionic: fix potential irq name truncation
    6aa9ad7f4508 RDMA/efa: Properly handle unexpected AQ completions
    a197446759b3 remoteproc: qcom_q6v5_pas: Add hwspinlock bust on stop
    1e0ecab555b9 soc: qcom: smem: Add qcom_smem_bust_hwspin_lock_by_host()
    145c38e5b540 hwspinlock: Introduce hwspin_lock_bust()
    38c775a1eb33 wifi: mac80211: check ieee80211_bss_info_change_notify() against MLD
    deffdebd9a5a wifi: iwlwifi: mvm: use only beacon BSS load for active links
    bb65c7b0d6c7 remoteproc: mediatek: Zero out only remaining bytes of IPI buffer
    e965c638f3be PCI: al: Check IORESOURCE_BUS existence during probe
    1223b3426e8e cpufreq: scmi: Avoid overflow of target_freq in fast switch
    0c7ac6867e92 wifi: cfg80211: restrict operation during radar detection
    564875db8e8b wifi: iwlwifi: remove fw_running op
    fb8e15ba808d drm/amdgpu: update type of buf size to u32 for eeprom functions
    179cc680f052 drm/amdgpu: Queue KFD reset workitem in VF FED
    79b0da10223b drm/amd/display: Fix pipe addition logic in calc_blocks_to_ungate DCN35
    63c195b4b89b drm/amdgpu: fix compiler 'side-effect' check issue for RAS_EVENT_LOG()
    3863350172a7 drm/kfd: Correct pinned buffer handling at kfd restore and validate process
    17881ea63b2f drm/xe: Fix the warning conditions
    02ed3fcf1d8f wifi: rtw89: ser: avoid multiple deinit on same CAM
    c5d3bf45dc43 drm/amd/pm: check negtive return for table entries
    7b56041e731d drm/amdgpu: fix the warning bad bit shift operation for aca_error_type type
    130c2dc75c8c drm/amdgpu: the warning dereferencing obj for nbio_v7_4
    0312bf150333 drm/amd/pm: check specific index for smu13
    f8e484c9e265 drm/amd/pm: check specific index for aldebaran
    d3f927ef0607 drm/amdgpu: fix the waring dereferencing hive
    00b9594d6310 drm/amdgpu: fix dereference after null check
    a01618adcba7 drm/amdgpu: Fix the warning division or modulo by zero
    aa92264ba6fd drm/amdgpu/vcn: remove irq disabling in vcn 5 suspend
    545f04215ca3 drm/amdgpu/pm: Check input value for power profile setting on smu11, smu13 and smu14
    76b24e94edab drm/amdgpu/pm: Check input value for CUSTOM profile mode setting on legacy SOCs
    286b140b1f71 wifi: ath12k: initialize 'ret' in ath12k_dp_rxdma_ring_sel_config_wcn7850()
    60f098b07e43 wifi: ath11k: initialize 'ret' in ath11k_qmi_load_file_target_mem()
    0573d1701a26 wifi: ath12k: initialize 'ret' in ath12k_qmi_load_file_target_mem()
    c49bbe69ee15 apparmor: fix possible NULL pointer dereference
    2f4e36aaf5bd drm/xe/hwmon: Remove unwanted write permission for currN_label
    ee99ef9ebe02 drm/amdkfd: Reconcile the definition and use of oem_id in struct kfd_topology_device
    578ae965e8b9 drm/amdgpu: fix mc_data out-of-bounds read warning
    23fefef859c6 drm/amdgpu: fix ucode out-of-bounds read warning
    6a634dc4f3a3 drm/amdgpu: Fix uninitialized variable warning in amdgpu_info_ioctl
    db7a86676fd6 drm/amdgpu: Fix out-of-bounds read of df_v1_7_channel_number
    a914c14ad2a2 drm/amdgpu: fix uninitialized variable warning for jpeg_v4
    d32081a430cd drm/amdgpu: fix uninitialized variable warning for amdgpu_xgmi
    820dcbd38a77 drm/amdkfd: Check debug trap enable before write dbg_ev_file
    130bee397b9c drm/amdgpu: Fix out-of-bounds write warning
    3b7b430f6ae2 drm/amdgpu: Fix the uninitialized variable warning
    0c28e581f6fc drm/amdgpu/pm: Fix uninitialized variable agc_btc_response
    e2c7da6fb5e5 drm/amdgpu/pm: Fix uninitialized variable warning for smu10
    734d5247ec3f drm/amd/pm: fix uninitialized variable warnings for vangogh_ppt
    4bbfb0cd9bc4 drm/drm-bridge: Drop conditionals around of_node pointers
    362a93ad2df0 drm/xe: Demote CCS_MODE info to debug only
    e8765364d4f3 drm/amd/amdgpu: Check tbo resource pointer
    aba188d6f4eb drm/amd/display: Fix index may exceed array range within fpu_update_bw_bounding_box
    783d50e8216e drm/amd/display: Fix writeback job lock evasion within dm_crtc_high_irq
    ee9d6df6d917 drm/amd/display: Skip inactive planes within ModeSupportAndSystemConfiguration
    d705b5869f6b drm/amd/display: Ensure index calculation will not overflow
    e10b68e1c9f5 drm/amd/display: Fix Coverity INTEGER_OVERFLOW within decide_fallback_link_setting_max_bw_policy
    05be70f34a6c drm/amd/display: Spinlock before reading event
    34108384e670 drm/amd/display: Release clck_src memory if clk_src_construct fails
    44def55f7554 drm/amd/display: Fix Coverity INTEGER_OVERFLOW within dal_gpio_service_create
    ff9730fafa55 drm/amd/display: Fix Coverity INTERGER_OVERFLOW within construct_integrated_info
    aad4d3d3d3b6 drm/amd/display: Add otg_master NULL check within resource_log_pipe_topology_update
    ac04759b4a00 drm/amd/display: Check link_index before accessing dc->links[]
    26cdb5ed36b9 drm/amd/display: Release state memory if amdgpu_dm_create_color_properties fail
    6590643c5de7 drm/amd/display: Check msg_id before processing transcation
    6a4a08e45e61 drm/amd/display: Check num_valid_sets before accessing reader_wm_sets[]
    a3b5ee22a9d3 drm/amd/display: Add array index check for hdcp ddc access
    ca0b0b0a2230 drm/amd/display: Add missing NULL pointer check within dpcd_extend_address_range
    6c588e9350dd drm/amd/display: Check index for aux_rd_interval before using
    712be65b3b37 drm/amd/display: Fix incorrect size calculation for loop
    36c39a8dcce2 drm/amd/display: Stop amdgpu_dm initialize when link nums greater than max_links
    d398c74c881d drm/amd/display: Stop amdgpu_dm initialize when stream nums greater than 6
    3d4198ab612a drm/amd/display: Check gpio_id before used as array index
    a64284b9e199 drm/amd/display: Ensure array index tg_inst won't be -1
    55e07d7952ac drm/amdgpu: avoid reading vf2pf info size from FB
    152a0eed10e4 drm/xe/gt: Fix assert in L3 bank mask generation
    b137126d70ae drm/amd/pm: fix uninitialized variable warnings for vega10_hwmgr
    5dd675d51828 drm/amdgpu: fix uninitialized scalar variable warning
    d83fb9f9f63e drm/amd/pm: fix the Out-of-bounds read warning
    5551c1937904 drm/amd/pm: fix uninitialized variable warning for smu_v13
    06a3810010b5 drm/amd/pm: Fix negative array index read
    9c2c7ecae01c drm/amd/pm: fix warning using uninitialized value of max_vid_step
    a30173a087cf drm/amd/pm: fix uninitialized variable warning for smu8_hwmgr
    113a28db008e drm/amd/pm: fix uninitialized variable warning
    1e310c74d91b drm/amdgpu/pm: Check the return value of smum_send_msg_to_smc
    3e122ddec66f drm/amdgpu: fix overflowed array index read warning
    b946a27513fe drm/amdgpu: Handle sg size limit for contiguous allocation
    c44b568931d2 drm/amd/display: Assign linear_pitch_alignment even for VM
    5ba5b99ce3b6 drm/amd/display: Handle the case which quad_part is equal 0
    020d0b3acda4 Revert "drm/amd/display: Fix incorrect pointer assignment"
    c9c3366f52d9 drm/amdgpu: Fix uninitialized variable warning in amdgpu_afmt_acr
    ee743f5f8624 selftests: mptcp: join: test for flush/re-add endpoints
    e8d360c9d666 selftests: mptcp: join: check re-re-adding ID 0 signal
    712a5148cfdc selftests: mptcp: join: validate event numbers
    bcad92c9188a selftests: mptcp: join: check re-adding init endp with != id
    2851cf6c57c5 selftests: mptcp: join: check re-using ID of unused ADD_ADDR
    16a71574da28 selftests: mptcp: add explicit test case for remove/readd
    451f7bf9cc61 arm64: dts: qcom: x1e80100-qcp: fix missing PCIe4 gpios
    40d5b7bf2794 arm64: dts: qcom: x1e80100-qcp: fix up PCIe6a pinctrl node
    33dc7e2039f1 arm64: dts: qcom: x1e80100-crd: fix missing PCIe4 gpios
    e6de9b376833 arm64: dts: qcom: x1e80100-crd: fix up PCIe6a pinctrl node
    9606bea70a67 arm64: dts: qcom: x1e80100: Describe the PCIe 6a resources
    b7265d217892 ASoC: codecs: ES8326: button detect issue
    97f9a8690faf ASoC: amd: yc: Support mic on Lenovo Thinkpad E14 Gen 6
    a680c59024b4 net: usb: qmi_wwan: add MeiG Smart SRM825L
    e1e49ba81a96 dma-debug: avoid deadlock between dma debug vs printk and netconsole
    93658715e6f1 virtio-net: check feature before configuring the vq coalescing command
    7ced32ce3a7a i2c: Fix conditional for substituting empty ACPI functions
    e42ef22bc10f btrfs: fix qgroup reserve leaks in cow_file_range
    a52397fc1e51 btrfs: scrub: update last_physical after scrubbing one stripe
    984bd0470143 btrfs: factor out stripe length calculation into a helper
    5f4a377f56e6 platform/x86/amd/pmf: Add new ACPI ID AMDI0107
    3d5c26b08bde platform/x86/amd: pmf: Add quirk for ROG Ally X
    2d118bb07fdd spi: hisi-kunpeng: Add validation for the minimum value of speed_hz
    7bfee532b6f5 ASoC: amd: yc: Support mic on HP 14-em0002la
    8f215abf7755 smb: client: fix FSCTL_GET_REPARSE_POINT against NetApp
    432afacede47 net/mlx5: DR, Fix 'stack guard page was hit' error in dr_rule
    67b2cc15774c ALSA: seq: ump: Explicitly reset RPN with Null RPN
    e7e26824f5ca ALSA: seq: ump: Transmit RPN/NRPN message at each MSB/LSB data reception
    a2e6dd2bbadd ALSA: seq: ump: Use the common RPN/bank conversion context
    d0e17d1676ca ALSA: ump: Explicitly reset RPN with Null RPN
    a894f0117ff1 ALSA: ump: Transmit RPN/NRPN message at each MSB/LSB data reception
    b348eac11cb3 x86/CPU/AMD: Add models 0x60-0x6f to the Zen5 range
    f0d4faa80023 ALSA: hda/conexant: Mute speakers at suspend / shutdown
    2ae9f8706a8d ALSA: hda/generic: Add a helper to mute speakers at suspend/shutdown
    fbaafe4c8f79 btrfs: tree-checker: validate dref root and objectid
    54b20f6ef361 scsi: ufs: core: Bypass quick recovery if force reset is needed
    fef611b98c32 scsi: ufs: core: Check LSDBS cap when !mcq
    26de03c2ddc4 drm: panel-orientation-quirks: Add quirk for OrangePi Neo
    63945b7948ef drm/fb-helper: Don't schedule_work() to flush frame buffer during panic()
    c4386c5293aa drivers: gpu: drm: msm: registers: improve reproducibility
    915a386c7cff qemux86: add configuration symbol to select values
    62df91b21626 sched/isolation: really align nohz_full with rcu_nocbs
    afe643f5802b clear_warn_once: add a clear_warn_once= boot parameter
    7b016793edbf clear_warn_once: bind a timer to written reset value
    89a5c70f2000 clear_warn_once: expand debugfs to include read support
    8014704c527d tools: Remove some options from CLANG_CROSS_FLAGS
    e9ca44556936 libbpf: Fix build warning on ref_ctr_off
    32fe8c972c36 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    a372ac2b798d perf: x86-32: explicitly include <errno.h>
    a5cb41682777 perf: mips64: Convert __u64 to unsigned long long
    ed8ee9f3d1ae perf: fix bench numa compilation
    6dbb2915e8a7 perf: add SLANG_INC for slang.h
    57f78dddfd93 perf: add sgidefs.h to for mips builds
    130f0306cfba perf: change --root to --prefix for python install
    2520efe95341 perf: add 'libperl not found' warning
    45731b6ae676 perf: force include of <stdbool.h>
    ace10f8dec53 fat: Replace prandom_u32() with get_random_u32()
    64797bdca14e fat: don't use obsolete random32 call in namei_vfat
    2442bae1a645 FAT: Added FAT_NO_83NAME
    7561126bce00 FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    5c51ab959876 FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    5869720658c9 aufs6: match exports to functions
    e125467cf228 aufs: adjust for v6.9+
    eebcdc6635bf aufs6: correct do_splice_from prototype
    4c5829036c45 aufs: update remove_page to remove_folio
    e8d889d0f434 aufs: i_op: Add handling for au_pin_hdir_set_owner with RT kernel
    3ecd9203de17 aufs: fix v6.7 kernel build compilation
    5e8ee028dbe2 aufs6: adapt to v6.6 i_op->ctime changes
    1132c330feed aufs6: adapt to v6.6
    d3e4ede69603 aufs6: core
    49ec9271f41d aufs6: standalone
    dcc0978da2dd aufs6: mmap
    80e1609b37e7 aufs6: base
    0dbb3f062420 aufs6: kbuild
    ad51078c5ebf yaffs: fix mtime/itime field access
    e5f1d35d6188 yaffs2: update VFS ctime operations to 6.6+
    dd374461adc7 yaffs2: v6.5 fixups
    f5908785d88d yaffs2: Fix miscalculation of devname buffer length
    d1403f0acfdf yaffs2: convert user_namespace to mnt_idmap
    7dae5463b54f yaffs2: replace bdevname call with sprintf
    92d30df4eb56 yaffs2: convert read_page -> readfolio
    6c895bffdf72 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    6801e7d90255 yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    aff012190046 yaffs2: v5.12+ build fixups (not runtime tested)
    fb474842c16e yaffs: include blkdev.h
    fe7d745aac94 yaffs: fix misplaced variable declaration
    bee147b2e533 yaffs2: v5.6 build fixups
    22998f589ec2 yaffs2: fix memory leak when /proc/yaffs is read
    ce7d8084a976 yaffs: add strict check when call yaffs_internal_read_super
    adb7202fda95 yaffs: repair yaffs_get_mtd_device
    2852e5c15d4d yaffs: Fix build failure by handling inode i_version with proper atomic API
    1526802a8147 yaffs2: fix memory leak in mount/umount
    6c7827a16aaa yaffs: Avoid setting any ACL releated xattr
    fa3482815542 Yaffs:check oob size before auto selecting Yaffs1
    aaa4843b73ce fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    48e992af6531 yaffs2: adjust to proper location of MS_RDONLY
    f3af7160d8a0 yaffs2: import git revision b4ce1bb (jan, 2020)
    4add698ed6e8 initramfs: allow an optional wrapper script around initramfs generation
    b619a8d54336 vt/conmakehash: improve reproducibility
    c786186aeef3 tools: use basename to identify file in gen-mach-types
    aa3a8e7ceb6e iwlwifi: select MAC80211_LEDS conditionally
    325db54c4be9 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    23a87c6e13aa defconfigs: drop obselete options
    946e5b78ab94 linux-yocto: Handle /bin/awk issues
    9daee1dba585 uvesafb: provide option to specify timeout for task completion
    f68b8683441a uvesafb: print error message when task timeout occurs
    a1595c6b6017 compiler.h: Undef before redefining __attribute_const__
    8086839613c6 vmware: include jiffies.h
    32e79eb3c169 Resolve jiffies wrapping about arp
    f6fabf91b6f2 nfs: Allow default io size to be configured.
    ad2b29f801e9 check console device file on fs when booting
    5194785d545b mount_root: clarify error messages for when no rootfs found
    78b3498cb59a mconf: fix output of cflags and libraries
    9cc6870708d5 menuconfig,mconf-cfg: Allow specification of ncurses location
    f34088ed9c93 modpost: mask trivial warnings
    4784584582f5 kbuild: exclude meta directory from distclean processing
    73072b5fe25a powerpc: serialize image targets
    a120eb200320 arm: serialize build targets
    51d5719ac05b mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    5155f0bb36f0 cpu/amd: inhibit SMP check for qemux86
    e5a5996ee586 x86_64_defconfig: Fix warnings
    1359db75df0c mips: make current_cpu_data preempt safe
    385edf6090c3 mips: vdso: fix 'jalr $t9' crash in vdso code
    968266397319 mips: Kconfig: add QEMUMIPS64 option
    389ce854fde3 4kc cache tlb hazard: tlbp cache coherency
    9cab61199fa8 malta uhci quirks: make allowance for slow 4k(e)c
    80cae3bd9eea arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    41c82709900f drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    59ef4f151a5e arm64: defconfig: cleanup config options
    c5fb425762ed vexpress: Pass LOADADDR to Makefile
    07a8b544d4e9 arm: ARM EABI socketcall
    574f3ae3d2ca ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: 8640017507a8e68cd7c89169e224ce684710f047)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit aa6e9888173ce4252c0f2ad8cdd94c8ff795cff2)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Richard Purdie
0c29992ed6 efi-bootdisk.wks: Increase overhead-factor to avoid test failures
After commit d74bfb2d5c:
"linux-yocto: Enable l2tp drivers when ptest featuee is on"
was merged, oe-selftest efibootpartition.GenericEFITest.test_boot_efi
breaks due to space issues.

Increase the disk space available to avoid this and allow functional
automated testing again.

(From OE-Core rev: 76f91dba302330c89c4a742e4ef24ec1898d130f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit eb76c15de881a56ead0a18f6428c5564291249c9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Khem Raj
735e7dcdd0 linux-yocto: Enable l2tp drivers when ptest featuee is on
openl2tp ptests from networking layer depend upon these

(From OE-Core rev: 7f8294456024772896072d4d6492c4d167c59613)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f25b0857a71656f4eaeb27beebd6b10bc3207d61)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Bruce Ashfield
60eb74fb47 linux-yocto/6.6: update to v6.6.54
Updating linux-yocto/6.6 to the latest korg -stable release that comprises
the following commits:

    63a57420cf79 Linux 6.6.54
    cada2646b748 Revert: "dm-verity: restart or panic on an I/O error"
    646749b423c4 spi: atmel-quadspi: Fix wrong register value written to MR
    4c0c5dcb5471 x86/tdx: Fix "in-kernel MMIO" check
    440fba897c5a thunderbolt: Fix NULL pointer dereference in tb_port_update_credits()
    e2ab9fd64d4f thunderbolt: Fix minimum allocated USB 3.x and PCIe bandwidth
    3dc5525d59da thunderbolt: Send uevent after asymmetric/symmetric switch
    6b5630297e94 wifi: brcmfmac: add linefeed at end of file
    72a3aef9640e iio: magnetometer: ak8975: Fix 'Unexpected device' error
    18b5ee7bf700 perf/arm-cmn: Fail DTC counter allocation correctly
    e43caacf6110 usb: yurex: Fix inconsistent locking bug in yurex_read()
    790c630ab0e7 bpf: Fix use-after-free in bpf_uprobe_multi_link_attach()
    7390c461264c Documentation: KVM: fix warning in "make htmldocs"
    d669e7829007 i2c: isch: Add missed 'else'
    88dfb1dd17d6 i2c: aspeed: Update the stop sw state when the bus recovery occurs
    b35a42bdaf18 mm/damon/vaddr: protect vma traversal in __damon_va_thre_regions() with rcu read lock
    6ec62dba4a19 module: Fix KCOV-ignored file name
    236eb2f95ad0 spi: fspi: add support for imx8ulp
    934760569134 mm: only enforce minimum stack gap size if it's sensible
    e1e734c1a085 lockdep: fix deadlock issue between lockdep and rcu
    bd24f30f5068 dm-verity: restart or panic on an I/O error
    b3c10ac84c5a bpf: lsm: Set bpf_lsm_blob_sizes.lbs_task to 0
    722e9e5acccf mm/filemap: optimize filemap folio adding
    734594d41c8e lib/xarray: introduce a new helper xas_get_order
    ff3c557fa93e mm/filemap: return early if failed to allocate memory for split
    4d0261cea469 thunderbolt: Improve DisplayPort tunnel setup process to be more robust
    aed38a3eaf65 thunderbolt: Configure asymmetric link if needed and bandwidth allows
    9b6933e9bddc thunderbolt: Add support for asymmetric link
    8f053095e13e thunderbolt: Introduce tb_switch_depth()
    e07bc5858e3e thunderbolt: Introduce tb_for_each_upstream_port_on_path()
    18dcdadc9941 thunderbolt: Introduce tb_port_path_direction_downstream()
    5ac89bb0062e thunderbolt: Change bandwidth reservations to comply USB4 v2
    7b85d751081b thunderbolt: Make is_gen4_link() available to the rest of the driver
    22081f720764 thunderbolt: Use weight constants in tb_usb3_consumed_bandwidth()
    c014f37411d5 thunderbolt: Use constants for path weight and priority
    ae2d54f5e5e9 thunderbolt: Create multiple DisplayPort tunnels if there are more DP IN/OUT pairs
    6870e5b499f1 thunderbolt: Expose tb_tunnel_xxx() log macros to the rest of the driver
    95f53ccfe6ed thunderbolt: Use tb_tunnel_dbg() where possible to make logging more consistent
    90135c317d17 thunderbolt: Fix debug log when DisplayPort adapter not available for pairing
    159b1b45300c dt-bindings: spi: nxp-fspi: add imx8ulp support
    eb95bd96465c dt-bindings: spi: nxp-fspi: support i.MX93 and i.MX95
    f56a6d9c267e btrfs: fix race setting file private on concurrent lseek using same fd
    971d03cd457a btrfs: update comment for struct btrfs_inode::lock
    a0cc053ba1e2 btrfs: reorder btrfs_inode to fill gaps
    0131bf19a141 btrfs: subpage: fix the bitmap dump which can cause bitmap corruption
    459b724c3c31 lib/bitmap: add bitmap_{read,write}()
    32e93cae4dc4 x86/entry: Remove unwanted instrumentation in common_interrupt()
    d5c5afdb9e1e x86/idtentry: Incorporate definitions/declarations of the FRED entries
    1d8c1add5e36 serial: don't use uninitialized value in uart_poll_init()
    88e26a196aa4 tty: serial: kgdboc: Fix 8250_* kgdb over serial
    73c1928a0076 pps: add an error check in parport_attach
    8b48ea27185d pps: remove usage of the deprecated ida_simple_xx() API
    aafeabf2765f usb: xhci: fix loss of data on Cadence xHC
    eef5d6219a81 xhci: Add a quirk for writing ERST in high-low order
    225643310df7 USB: misc: yurex: fix race between read and write
    eff6dde4c3a0 usb: yurex: Replace snprintf() with the safer scnprintf() variant
    8526ca3bc8af soc: versatile: realview: fix soc_dev leak during device remove
    c48d5ad1c4b8 soc: versatile: realview: fix memory leak during device remove
    f6bda3f118e3 ARM: dts: imx6ul-geam: fix fsl,pins property in tscgrp pinctrl
    45f690fae473 spi: fspi: involve lut_num for struct nxp_fspi_devtype_data
    1b8cf11b3ca5 padata: use integer wrap around to prevent deadlock on seq_nr overflow
    62004f17039d cpuidle: riscv-sbi: Use scoped device node handling to fix missing of_node_put
    662ec52260cc icmp: change the order of rate limits
    e0be8f2d64d6 EDAC/igen6: Fix conversion of system address to physical memory address
    2a4a997adb36 nfs: fix memory leak in error path of nfs4_do_reclaim
    4d3d0869eccb fs: Fix file_set_fowner LSM hook inconsistencies
    0eed942bc65d vfs: fix race between evice_inodes() and find_inode()&iput()
    ca2a69fdd6af arm64: dts: rockchip: Correct the Pinebook Pro battery design capacity
    eea02200cb8c arm64: dts: qcom: sa8775p: Mark APPS and PCIe SMMUs as DMA coherent
    4fff20cff6e2 arm64: dts: rockchip: Raise Pinebook Pro's panel backlight PWM frequency
    0e6774ec012b arm64: errata: Enable the AC03_CPU_38 workaround for ampere1a
    93e1215f3fe0 arm64: esr: Define ESR_ELx_EC_* constants as UL
    1b4089d56778 hwrng: cctrng - Add missing clk_disable_unprepare in cctrng_resume
    3fd8e444e824 hwrng: bcm2835 - Add missing clk_disable_unprepare in bcm2835_rng_init
    5ad4d0b64820 hwrng: mtk - Use devm_pm_runtime_enable
    7cb51731f24b f2fs: fix to check atomic_file in f2fs ioctl interfaces
    5e0de753bfe8 f2fs: Require FMODE_WRITE for atomic write ioctls
    56d865167992 f2fs: avoid potential int overflow in sanity_check_area_boundary()
    0c598a021718 f2fs: prevent possible int overflow in dir_block_index()
    b18a5c8382c8 f2fs: fix several potential integer overflows in file offsets
    4adf6514949f btrfs: always update fstrim_range on failure in FITRIM ioctl
    6a6a5751c06a btrfs: tree-checker: fix the wrong output of data backref objectid
    534230eebae5 debugobjects: Fix conditions in fill_pool()
    c1ba1f2ca1b8 wifi: mt76: mt7615: check devm_kasprintf() returned value
    eed8db8203a8 wifi: rtw88: 8822c: Fix reported RX band width
    de0cb07dc2c3 wifi: rtw88: 8821cu: Remove VID/PID 0bda:c82c
    8e4b60ae8a04 wifi: mt76: mt7996: fix NULL pointer dereference in mt7996_mcu_sta_bfer_he
    cf23427dd75b wifi: mt76: mt7915: check devm_kasprintf() returned value
    0a74a9b148d3 wifi: mt76: mt7921: Check devm_kasprintf() returned value
    cb0125ec3d99 perf/x86/intel/pt: Fix sampling synchronization
    19fd2f2c5fb3 efistub/tpm: Use ACPI reclaim memory for event log to avoid corruption
    ca659f380469 ACPI: resource: Add another DMI match for the TongFang GMxXGxx
    f0921ecd4ddc ACPI: sysfs: validate return type of _STR method
    df6a82a6b06e drbd: Add NULL check for net_conf to prevent dereference in state validation
    42ac42d79039 drbd: Fix atomicity violation in drbd_uuid_set_bm()
    a3028d70a563 crypto: ccp - Properly unregister /dev/sev on sev PLATFORM_STATUS failure
    633bd1d6be1a serial: qcom-geni: fix fifo polling timeout
    e29a1f8b74a9 xhci: Set quirky xHC PCI hosts to D3 _after_ stopping and freeing them.
    f7ba350f4e7d tty: rp2: Fix reset with non forgiving PCIe host bridges
    7420c1bf7fc7 firmware_loader: Block path traversal
    18ed6a331881 bus: mhi: host: pci_generic: Fix the name for the Telit FE990A
    3ae13d48686b bus: integrator-lm: fix OF node leak in probe()
    4f7908ebafd5 usb: dwc2: drd: fix clock gating on USB role switch
    19fb05d2e5c3 usb: cdnsp: Fix incorrect usb_request status
    a0b4cbeb0936 USB: class: CDC-ACM: fix race between get_serial and set_serial
    7bcd961dcb5a USB: misc: cypress_cy7c63: check for short transfer
    ef08eb1605f5 USB: appledisplay: close race between probe and completion handler
    090386dbedbc arm64: dts: mediatek: mt8195-cherry: Mark USB 3.0 on xhci1 as disabled
    1e44ee6cdd12 usbnet: fix cyclical race on disconnect with work queue
    d71300d07f39 wifi: rtw88: Fix USB/SDIO devices not transmitting beacons
    9ecd9d7ad7f0 can: esd_usb: Remove CAN_CTRLMODE_3_SAMPLES for CAN-USB/3-FD
    ccc87864b097 scsi: mac_scsi: Disallow bus errors during PDMA send
    0120c7762f25 scsi: mac_scsi: Refactor polling loop
    6e8dc2050a4a scsi: mac_scsi: Revise printk(KERN_DEBUG ...) messages
    09b06c2591fa scsi: ufs: qcom: Update MODE_MAX cfg_bw value
    568c7c4c77ee scsi: sd: Fix off-by-one error in sd_read_block_characteristics()
    facf1e49a04a ata: libata-scsi: Fix ata_msense_control() CDL page reporting
    6ab95e27b777 ksmbd: handle caseless file creation
    30fe2a885c28 ksmbd: allow write with FILE_APPEND_DATA
    3c1fd66a1914 ksmbd: make __dir_empty() compatible with POSIX
    ef83620438d7 fs: Create a generic is_dot_dotdot() utility
    ae619de5000b powerpc/atomic: Use YZ constraints for DS-form instructions
    a3765b497a4f KEYS: prevent NULL pointer dereference in find_asymmetric_key()
    c886061bbdd1 drm/amd/display: Validate backlight caps are sane
    9ce1ee22dc68 drm/amd/display: Round calculated vtotal
    55fcbe5f6086 drm/amd/display: Add HDMI DSC native YCbCr422 support
    a53841b074cc drm/amd/display: Skip Recompute DSC Params if no Stream on Link
    4777225ec89f KVM: Use dedicated mutex to protect kvm_usage_count to avoid deadlock
    beef3353c601 KVM: x86: Move x2APIC ICR helper above kvm_apic_write_nodecode()
    7eae461dc357 KVM: x86: Enforce x2APIC's must-be-zero reserved ICR bits
    d5d6489b9211 KVM: arm64: Add memory length checks and remove inline in do_ffa_mem_xfer
    0188ea5facba Input: i8042 - add another board name for TUXEDO Stellaris Gen5 AMD line
    09d94ac8b25f Input: i8042 - add TUXEDO Stellaris 15 Slim Gen6 AMD to i8042 quirk table
    c18dca92da2a Input: i8042 - add TUXEDO Stellaris 16 Gen5 AMD to i8042 quirk table
    2a26c3122d01 Input: adp5588-keys - fix check on return code
    cd6dd564ae7d iommufd: Protect against overflow of ALIGN() during iova allocation
    e48edd476291 Revert "media: tuners: fix error return code of hybrid_tuner_request_state()"
    a4c2fbed2037 soc: versatile: integrator: fix OF node leak in probe() error path
    c3533bf2ed1d soc: fsl: cpm1: tsa: Fix tsa_write8()
    543a3c7dbd5b ASoC: rt5682: Return devm_of_clk_add_hw_provider to transfer the error
    513d60f41945 Revert "soc: qcom: smd-rpm: Match rpmsg channel instead of compatible"
    02a370c4fc0f PCI: xilinx-nwl: Fix off-by-one in INTx IRQ handler
    3d8573abdc65 PCI: Use an error code with PCIe failed link retraining
    a200897dc704 PCI: Correct error reporting with PCIe failed link retraining
    f23785c6e7d3 PCI: imx6: Fix missing call to phy_power_off() in error handling
    b91d041e0756 PCI: dra7xx: Fix threaded IRQ request for "dra7xx-pcie-main" IRQ
    894f21117f63 PCI: Clear the LBMS bit after a link retrain
    fb1769573574 PCI: Revert to the original speed after PCIe failed link retraining
    38dee6edb700 Remove *.orig pattern from .gitignore
    01ad0576f092 io_uring/sqpoll: do not put cpumask on stack
    859f62a2f904 io_uring/sqpoll: retain test for whether the CPU is valid
    adbb44539b56 xen: allow mapping ACPI data using a different physical address
    161fd69123b0 xen: move checks for e820 conflicts further up
    79fec62d0f9b Revert "net: libwx: fix alloc msix vectors failed"
    0851b1ec650a drm/vmwgfx: Prevent unmapping active read buffers
    b5d38f1d4acb drm/amd/display: Fix Synaptics Cascaded Panamera DSC Determination
    49d3a4ad57c5 mm: call the security_mmap_file() LSM hook in remap_file_pages()
    4bdf75c2ef33 io_uring: check for presence of task_work rather than TIF_NOTIFY_SIGNAL
    358124ba2cea io_uring/sqpoll: do not allow pinning outside of cpuset
    da2bb8e177a4 netfilter: nf_tables: use rcu chain hook list iterator from netlink dump path
    b3f7607f2003 netfilter: ctnetlink: compile ctnetlink_label_size with CONFIG_NF_CONNTRACK_EVENTS
    668f4df6d6df netfilter: nf_tables: Keep deleted flowtable hooks until after RCU
    3e8ac2743d48 net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled
    e9e3424d6d4b virtio_net: Fix mismatched buf address when unmapping for small packets
    ccd3e6ff05e5 bonding: Fix unnecessary warnings and logs from bond_xdp_get_xmit_slave()
    00a0c2d49bb5 net: qrtr: Update packets cloning when broadcasting
    570f7d8c9bf1 tcp: check skb is non-NULL in tcp_rto_delta_us()
    88297d3c1a71 net: ipv6: select DST_CACHE from IPV6_RPL_LWTUNNEL
    d2abc3790718 net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race Condition
    af4b8a704f26 netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()
    89bab8310a0a net: xilinx: axienet: Fix packet counting
    bcce13930b2e net: xilinx: axienet: Schedule NAPI in two steps
    9360d077d319 Revert "dm: requeue IO if mapping table not yet available"
    66e78ade976d ep93xx: clock: Fix off by one in ep93xx_div_recalc_rate()
    ca64edd7ae93 vhost_vdpa: assign irq bypass producer token correctly
    70a180b8d84b cxl/pci: Fix to record only non-zero ranges
    c16fa6d5018b interconnect: icc-clk: Add missed num_nodes initialization
    257c7a39092e coresight: tmc: sg: Do not leak sg_table
    5060a1be9399 serial: 8250: omap: Cleanup on error in request_irq
    b8e45b910525 driver core: Fix a potential null-ptr-deref in module_add_driver()
    fdc637d4f5fb dt-bindings: iio: asahi-kasei,ak8975: drop incorrect AK09116 compatible
    7387270b6837 iio: magnetometer: ak8975: drop incorrect AK09116 compatible
    c5a4a27666e0 iio: magnetometer: ak8975: Convert enum->pointer for data in the match tables
    2bc96d4ea9e1 iio: chemical: bme680: Fix read/write ops to device by adding mutexes
    5d86a29db8a3 ABI: testing: fix admv8818 attr description
    dd69fb026c97 driver core: Fix error handling in driver API device_rename()
    0f115888eaa9 iio: adc: ad7606: fix standby gpio state to match the documentation
    48617707401e iio: adc: ad7606: fix oversampling gpio array
    30b9bf4b4107 nvme-multipath: system fails to create generic nvme device
    ecb8a79d21fb spi: atmel-quadspi: Avoid overwriting delay register settings
    54fd87259c85 lib/sbitmap: define swap_lock as raw_spinlock_t
    93773e446197 spi: spi-fsl-lpspi: Undo runtime PM changes at driver exit time
    2016d58567b6 spi: atmel-quadspi: Undo runtime PM changes at driver exit time
    649ec8b30df1 f2fs: fix to don't set SB_RDONLY in f2fs_handle_critical_error()
    f9ce2f550d53 f2fs: get rid of online repaire on corrupted directory
    66b1b8254d20 f2fs: clean up w/ dotdot_name
    364afd8aa824 f2fs: prevent atomic file from being dirtied before commit
    b6f186bd6aee f2fs: compress: don't redirty sparse cluster during {,de}compress
    4263b3ef81e4 f2fs: compress: do sanity check on cluster when CONFIG_F2FS_CHECK_FS is on
    fc18e655b62a f2fs: fix to avoid use-after-free in f2fs_stop_gc_thread()
    f2971778b2cb f2fs: support .shutdown in f2fs_sops
    783b6ca3428f f2fs: atomic: fix to truncate pagecache before on-disk metadata truncation
    1bb0686a2e8a f2fs: fix to wait page writeback before setting gcing flag
    87f9d26fcc50 f2fs: Create COW inode from parent dentry for atomic write
    67c3c4638f22 f2fs: fix to avoid racing in between read and OPU dio write
    6c59f87e1eea f2fs: reduce expensive checkpoint trigger frequency
    d889928bbc69 f2fs: atomic: fix to avoid racing w/ GC
    8edf3a4038f4 crypto: powerpc/p10-aes-gcm - Disable CRYPTO_AES_GCM_P10
    21b4fa3bffc0 crypto: caam - Pad SG length when allocating hash edesc
    318f70857caa nfsd: return -EINVAL when namelen is 0
    a1afbbb5276f nfsd: call cache_put if xdr_reserve_space returns NULL
    b743922b5aad ntb: Force physically contiguous allocation of rx ring buffers
    fd8932cf6b76 ntb_perf: Fix printk format
    16e5bed6c188 ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir()
    b15dd2aa7987 RDMA/irdma: fix error message in irdma_modify_qp_roce()
    0d50ae281a17 RDMA/cxgb4: Added NULL check for lookup_atid
    21ada6915c45 riscv: Fix fp alignment bug in perf_callchain_user()
    6eff336b103f RDMA/mlx5: Obtain upper net device only when needed
    e8721e9ba113 RDMA/hns: Fix restricted __le16 degrades to integer issue
    b3b7ff07675c RDMA/hns: Optimize hem allocation performance
    288ecfd3e8aa RDMA/hns: Fix 1bit-ECC recovery address in non-4K OS
    3ab289914eab RDMA/hns: Fix VF triggering PF reset in abnormal interrupt handler
    094a1821903f RDMA/hns: Fix spin_unlock_irqrestore() called with IRQs enabled
    69d9566822af RDMA/hns: Fix the overflow risk of hem_list_calc_ba_range()
    d2d9c5127122 RDMA/hns: Fix Use-After-Free of rsv_qp on HIP08
    85e37ac13906 RDMA/hns: Don't modify rq next block addr in HIP09 QPC
    b972bade1578 watchdog: imx_sc_wdt: Don't disable WDT in suspend
    613a8d27d1e1 RDMA/mlx5: Limit usage of over-sized mkeys from the MR cache
    7838f6c8a64b RDMA/erdma: Return QP state in erdma_query_qp
    95248d7497bc PCI: kirin: Fix buffer overflow in kirin_pcie_parse_port()
    d08754be993f IB/core: Fix ib_cache_setup_one error flow cleanup
    4c49d34f87a2 pinctrl: mvebu: Fix devinit_dove_pinctrl_probe function
    a685bc3524f3 nfsd: fix refcount leak when file is unhashed after being found
    982dfdfd59b1 nfsd: remove unneeded EEXIST error check in nfsd_do_file_acquire
    6ba262477994 clk: rockchip: rk3588: Fix 32k clock name for pmu_24m_32k_100m_src_p
    521d101e9e8f clk: starfive: Use pm_runtime_resume_and_get to fix pm_runtime_get_sync() usage
    8758691ea89a clk: ti: dra7-atl: Fix leak of of_nodes
    01b9be936ee8 RDMA/rtrs-clt: Reset cid to con_num - 1 to stay in bounds
    effc10f00cf8 RDMA/rtrs: Reset hb_missed_cnt after receiving other traffic from peer
    c6b9f971b439 media: mediatek: vcodec: Fix H264 stateless decoder smatch warning
    dbe5b7373801 media: mediatek: vcodec: Fix VP8 stateless decoder smatch warning
    588bcce9e64c media: mediatek: vcodec: Fix H264 multi stateless decoder smatch warning
    08d13bcb9cea clk: at91: sama7g5: Allocate only the needed amount of memory for PLLs
    b6edb3fd96bf pinctrl: single: fix missing error code in pcs_probe()
    8b7df76356d0 RDMA/iwcm: Fix WARNING:at_kernel/workqueue.c:#check_flush_dependency
    451249bb8d44 media: platform: rzg2l-cru: rzg2l-csi2: Add missing MODULE_DEVICE_TABLE
    4f201a94ac52 PCI: xilinx-nwl: Clean up clock on probe failure/removal
    f1058b0780b4 PCI: xilinx-nwl: Fix register misspelling
    18a672c62d73 nvdimm: Fix devs leaks in scan_labels()
    e39cc0c37d7c x86/PCI: Check pcie_find_root_port() return for NULL
    597c72f4d162 leds: pca995x: Fix device child node usage in pca995x_probe()
    d14451d91a11 leds: pca995x: Use device_for_each_child_node() to access device child nodes
    dbba3fce3e2f leds: leds-pca995x: Add support for NXP PCA9956B
    583314ebaae7 clk: qcom: dispcc-sm8250: use special function for Lucid 5LPE PLL
    4ddb580089e3 clk: qcom: ipq5332: Register gcc_qdss_tsctr_clk_src
    e85ab507882d PCI: keystone: Fix if-statement expression in ks_pcie_quirk()
    8e152448d0a0 firewire: core: correct range of block for case of switch statement
    390de4d01bc1 PCI: Wait for Link before restoring Downstream Buses
    58f31be7dfbc drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error
    527ab3eb3b0b drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error
    075a0ce1fa28 Input: ilitek_ts_i2c - add report id message validation
    831886bf1a5a Input: ilitek_ts_i2c - avoid wrong input subsystem sync
    a3552e2f7d30 pinctrl: ti: ti-iodelay: Fix some error handling paths
    85427d5109c2 pinctrl: ti: iodelay: Use scope based of_node_put() cleanups
    ccc7cdf49634 pinctrl: Use device_get_match_data()
    a12e8a92909e pinctrl: ti: ti-iodelay: Convert to platform remove callback returning void
    bbf297b4cdc1 leds: bd2606mvv: Fix device child node usage in bd2606mvv_probe()
    676bf8fcf387 clk: qcom: dispcc-sm8550: use rcg2_shared_ops for ESC RCGs
    ffb0ae195b28 clk: qcom: dispcc-sm8650: Update the GDSC flags
    65a25e42a491 clk: qcom: dispcc-sm8550: use rcg2_ops for mdss_dptx1_aux_clk_src
    59938d4f05f4 clk: qcom: dispcc-sm8550: fix several supposed typos
    77c859e8b8a9 clk: rockchip: Set parent rate for DCLK_VOP clock on RK3228
    d271e66f74b5 remoteproc: imx_rproc: Initialize workqueue earlier
    2941577c764b remoteproc: imx_rproc: Correct ddr alias for i.MX8M
    af70d9395d7c clk: imx: imx8qxp: Parent should be initialized earlier than the clock
    d64513b2dab1 clk: imx: imx8qxp: Register dc0_bypass0_clk before disp clk
    5b44298953f3 clk: imx: imx8mp: fix clock tree update of TF-A managed clocks
    908165b5d369 clk: imx: fracn-gppll: fix fractional part of PLL getting lost
    ed323659a011 clk: imx: composite-7ulp: Check the PCC present bit
    c1eb71fd985d clk: imx: composite-93: keep root clock on when mcore enabled
    73034d130b0a clk: imx: composite-8m: Enable gate clk with mcore_booted
    554c590d229d clk: imx: composite-8m: Less function calls in __imx8m_clk_hw_composite() after error detection
    c2ee6de22dac clk: imx: imx6ul: fix default parent for enet*_ref_sel
    bd553be1cfb2 clk: imx: clk-audiomix: Correct parent clock for earc_phy and audpll
    3ba5a2e91c70 perf time-utils: Fix 32-bit nsec parsing
    022f9328ef17 perf sched timehist: Fixed timestamp error when unable to confirm event sched_in time
    fa0720b32afa perf stat: Display iostat headers correctly
    505ec05002c7 perf sched timehist: Fix missing free of session in perf_sched__timehist()
    88c4b5dd2107 perf report: Fix --total-cycles --stdio output error
    297871cb5115 perf ui/browser/annotate: Use global annotation_options
    4c857dcf34a5 perf annotate: Move some source code related fields from 'struct annotation' to 'struct annotated_source'
    4ef032d89995 perf annotate: Split branch stack cycles info from 'struct annotation'
    ba18185bea37 perf inject: Fix leader sampling inserting additional samples
    1490a5dbd55f perf mem: Free the allocated sort string, fixing a leak
    a634fa8e480a bpf: Zero former ARG_PTR_TO_{LONG,INT} args in case of error
    abf7559b4ff6 bpf: Improve check_raw_mode_ok test for MEM_UNINIT-tagged types
    a2c8dc7e2180 bpf: Fix helper writes to read-only maps
    81197a9b4510 bpf: Fix bpf_strtol and bpf_strtoul helpers for 32bit
    257f9e5185eb nilfs2: fix potential oob read in nilfs_btree_check_delete()
    0f28b3b51fc1 nilfs2: determine empty node blocks as corrupted
    21839b6fbc3c nilfs2: fix potential null-ptr-deref in nilfs_btree_insert()
    66f3fc741177 sched/numa: Fix the vma scan starving issue
    e3a2d3f6c40e sched/numa: Complete scanning of inactive VMAs when there is no alternative
    cb7846df6b4f sched/numa: Complete scanning of partial VMAs regardless of PID activity
    7f01977665d7 sched/numa: Move up the access pid reset logic
    6654e54ae7e7 sched/numa: Trace decisions related to skipping VMAs
    707e9a6c880f sched/numa: Rename vma_numab_state::access_pids[] => ::pids_active[], ::next_pid_reset => ::pids_active_reset
    ba4eb7f25886 sched/numa: Document vma_numab_state fields
    faeff8b1ee2e ext4: check stripe size compatibility on remount as well
    2a6579ef5f25 ext4: avoid OOB when system.data xattr changes underneath the filesystem
    dd3f90e8c470 ext4: return error on ext4_find_inline_entry
    9f70768554ac ext4: avoid negative min_clusters in find_group_orlov()
    fae0793abdab ext4: avoid potential buffer_head leak in __ext4_new_inode()
    7a349feead81 ext4: avoid buffer_head leak in ext4_mark_inode_used()
    72eef5226fbe smackfs: Use rcu_assign_pointer() to ensure safe assignment in smk_set_cipso
    e4006410b0f5 ext4: clear EXT4_GROUP_INFO_WAS_TRIMMED_BIT even mount with discard
    cfd257f5e85b kthread: fix task state in kthread worker if being frozen
    b7d6e724e42a xz: cleanup CRC32 edits from 2018
    2288b54b96dc bpf: correctly handle malformed BPF_CORE_TYPE_ID_LOCAL relos
    fc2b89707e47 samples/bpf: Fix compilation errors with cf-protection option
    33ef0b25b022 selftests/bpf: Fix error compiling tc_redirect.c with musl libc
    8553067f1cae selftests/bpf: Fix compile if backtrace support missing in libc
    7824530b80ba selftests/bpf: Fix redefinition errors compiling lwt_reroute.c
    a7d322fd3be8 selftests/bpf: Fix flaky selftest lwt_redirect/lwt_reroute
    fb99b106ad38 selftests/bpf: Fix C++ compile error from missing _Bool type
    99c03869599c selftests/bpf: Fix error compiling test_lru_map.c
    564d1abf506b selftests/bpf: Fix arg parsing in veristat, test_progs
    d57f8de839e4 selftests/bpf: Fix errors compiling cg_storage_multi.h with musl libc
    96416a7e4884 selftests/bpf: Fix errors compiling decap_sanity.c with musl libc
    0bc023e2f600 selftests/bpf: Fix errors compiling lwt_redirect.c with musl libc
    397192f81476 selftests/bpf: Fix compiling core_reloc.c with musl-libc
    227b50fe66eb selftests/bpf: Fix compiling tcp_rtt.c with musl-libc
    fe81b3df3cf9 selftests/bpf: Fix compiling flow_dissector.c with musl-libc
    7d8d5840453a selftests/bpf: Fix compiling kfree_skb.c with musl-libc
    425d4934e4f8 selftests/bpf: Fix compiling parse_tcp_hdr_opt.c with musl-libc
    52f5ed9461f4 selftests/bpf: Fix include of <sys/fcntl.h>
    4730b07ef774 selftests/bpf: Add a cgroup prog bpf_get_ns_current_pid_tgid() test
    17536f3b7262 selftests/bpf: Refactor out some functions in ns_current_pid_tgid test
    d6e16c33e093 selftests/bpf: Replace CHECK with ASSERT_* in ns_current_pid_tgid test
    bedda119babc selftests/bpf: Fix missing BUILD_BUG_ON() declaration
    4bff8cc537ce selftests/bpf: Fix missing UINT_MAX definitions in benchmarks
    2388d181667a selftests/bpf: Fix missing ARRAY_SIZE() definition in bench.c
    103c0431c7fb selftests/bpf: Drop unneeded error.h includes
    c8c590f07ad7 selftests/bpf: Implement get_hw_ring_size function to retrieve current and max interface size
    7c877bad03fb selftests/bpf: Fix error compiling bpf_iter_setsockopt.c with musl libc
    db5cde7b4386 selftests/bpf: Fix compile error from rlim_t in sk_storage_map.c
    7572c32f8ef2 selftests/bpf: Use pid_t consistently in test_progs.c
    b0b99c1226ea tools/runqslower: Fix LDFLAGS and add LDLIBS support
    cd1b7f772f56 selftests/bpf: Fix wrong binary in Makefile log output
    97e4a3ba9de7 selftests/bpf: Add CFLAGS per source file and runner
    5d99839bfe1c bpf: Temporarily define BPF_NO_PRESEVE_ACCESS_INDEX for GCC
    01aa0d2861be bpf: Disable some `attribute ignored' warnings in GCC
    5de3bd34dd5b bpf: Use -Wno-error in certain tests when building with GCC
    b6529a310dfa selftests/bpf: Fix error linking uprobe_multi on mips
    e7d263b2947c selftests/bpf: Workaround strict bpf_lsm return value check.
    5a4f8de92dd7 sched/fair: Make SCHED_IDLE entity be preempted in strict hierarchy
    82478cb8a23b tpm: Clean up TPM space after command failure
    9c21cdae4b93 xen/swiotlb: fix allocated size
    d1691e977860 xen/swiotlb: add alignment check for dma buffers
    ac8ec1268e7a xen: tolerate ACPI NVS memory overlapping with Xen allocated memory
    149fbd6aecdb xen: add capability to remap non-RAM pages to different PFNs
    f12153eece97 xen: move max_pfn in xen_memory_setup() out of function scope
    242d0c3c40cc xen: introduce generic helper checking for memory map conflicts
    35a10211dec2 minmax: avoid overly complex min()/max() macro arguments in xen
    27f113dc120c ata: libata: Clear DID_TIME_OUT for ATA PT commands with sense data
    f7b4ba5f78f2 HID: wacom: Do not warn about dropped packets for first packet
    85572bf646e4 HID: wacom: Support sequence numbers smaller than 16-bit
    cafeba3c2a1f xen: use correct end address of kernel for conflict checking
    37c40c01cf1a drivers:drm:exynos_drm_gsc:Fix wrong assignment in gsc_bind()
    614773a4e536 drm/msm: fix %s null argument error
    476945372b1f drm/msm/dsi: correct programming sequence for SM8350 / SM8450
    52d571a21349 ipmi: docs: don't advertise deprecated sysfs entries
    cbd26fc9ec4c drm/msm/a5xx: workaround early ring-buffer emptiness check
    d9bef5ba5638 drm/msm/a5xx: fix races in preemption evaluation stage
    dfd012052bfb drm/msm/a5xx: properly clear preemption records on resume
    b9415145327c drm/msm/a5xx: disable preemption in submits by default
    7e34440a3d06 drm/msm: Fix incorrect file name output in adreno_request_fw()
    a02d92e8eb55 powerpc/vdso: Inconditionally use CFUNC macro
    efdf2af50b31 powerpc/8xx: Fix kernel vs user address comparison
    6b7a006ab003 powerpc/8xx: Fix initial memory mapping
    415a2c218370 drm/mediatek: Use spin_lock_irqsave() for CRTC event lock
    5b9b8cd28950 drm/mediatek: Fix missing configuration flags in mtk_crtc_ddp_config()
    c1ba4b8ca799 jfs: fix out-of-bounds in dbNextAG() and diAlloc()
    baeb8628ab7f scsi: elx: libefc: Fix potential use after free in efc_nport_vport_del()
    9263023a0b04 drm/vc4: hdmi: Handle error case of pm_runtime_resume_and_get
    087b88088015 drm/bridge: lontium-lt8912b: Validate mode in drm_bridge_funcs::mode_valid()
    fa94d60546d2 drm/radeon/evergreen_cs: fix int overflow errors in cs track offsets
    656803ab1ad2 drm/rockchip: dw_hdmi: Fix reading EDID when using a forced mode
    9ec05e0b4ac4 drm/rockchip: vop: Allow 4096px width scaling
    8e7760ed234f drm/amd/amdgpu: Properly tune the size of struct
    53c18f7baf0c scsi: NCR5380: Check for phase match during PDMA fixup
    464fd60a16d2 scsi: smartpqi: revert propagate-the-multipath-failure-to-SML-quickly
    de67850b4019 drm/radeon: properly handle vbios fake edid sizing
    78b9e10b3bd1 drm/amdgpu: properly handle vbios fake edid sizing
    ddf9ff244d70 drm/amd/display: Add null check for set_output_gamma in dcn30_set_output_transfer_func
    fc8b0b8dbdba drm/stm: ltdc: check memory returned by devm_kzalloc()
    6e513c2e9460 drm/stm: Fix an error handling path in stm_drm_platform_probe()
    8e6f4aa43b79 pmdomain: core: Harden inter-column space in debug summary
    c390a26db31a iommu/arm-smmu-qcom: apply num_context_bank fixes for SDM630 / SDM660
    7acaef4f28b6 iommu/arm-smmu-qcom: Work around SDM845 Adreno SMMU w/ 16K pages
    324e1ec46356 iommu/arm-smmu-qcom: hide last LPASS SMMU context bank from linux
    0f0222d5abe9 mtd: rawnand: mtk: Fix init error path
    e502a0db3422 mtd: rawnand: mtk: Factorize out the logic cleaning mtk chips
    ca63b1cbcd99 mtd: rawnand: mtk: Use for_each_child_of_node_scoped()
    9b52ee18f6d2 rcu/nocb: Fix RT throttling hrtimer armed from offline CPU
    4e31e504201f mtd: powernv: Add check devm_kasprintf() returned value
    e109a01f3d56 iommu/amd: Do not set the D bit on AMD v2 table entries
    9b97d6b08b7f fbdev: hpfb: Fix an error handling path in hpfb_dio_probe()
    508a550eec10 power: supply: max17042_battery: Fix SOC threshold calc w/ no current sense
    05dba1274e7d power: supply: axp20x_battery: Remove design from min and max voltage
    cbb2313e76d3 hwmon: (ntc_thermistor) fix module autoloading
    590960a5b3b3 mtd: slram: insert break after errors in parsing the map
    0a27e17475d4 hwmon: (max16065) Fix alarm attributes
    fc702f5c3d24 hwmon: (max16065) Remove use of i2c_match_id()
    0c7af15f64b6 hwmon: (max16065) Fix overflows seen when writing limits
    f606b9ac4abb ASoC: loongson: fix error release
    886ea81de41f m68k: Fix kernel_clone_args.flags in m68k_clone()
    cc08ac5f42c3 ALSA: hda: cs35l41: fix module autoloading
    c239cfa322ee selftests/ftrace: Add required dependency for kprobe tests
    7000e5f31ccf ASoC: tas2781-i2c: Get the right GPIO line
    92b53ece5d37 ASoC: tas2781-i2c: Drop weird GPIO code
    ac7976b67277 ASoC: tas2781: Use of_property_read_reg()
    c0f652180696 ASoC: tas2781: remove unused acpi_subysystem_id
    06a95f7184ab ASoC: rt5682s: Return devm_of_clk_add_hw_provider to transfer the error
    17c72808dbbd x86/mm: Use IPIs to synchronize LAM enablement
    ecd4adebb852 arm64: dts: mediatek: mt8195: Correct clock order for dp_intf*
    27106b0a292e clocksource/drivers/qcom: Add missing iounmap() on errors in msm_dt_timer_init()
    ee7e02e780f1 reset: k210: fix OF node leak in probe() error path
    cfbf049d1605 reset: berlin: fix OF node leak in probe() error path
    b2cce50abd4e ARM: versatile: fix OF node leak in CPUs prepare
    01f986dc6411 ARM: dts: imx7d-zii-rmu2: fix Ethernet PHY pinctrl property
    58bd96e5ec45 ARM: dts: microchip: sama7g5: Fix RTT clock
    e91e803da1e5 spi: bcmbca-hsspi: Fix missing pm_runtime_disable()
    7c84cb5a3990 arm64: dts: ti: k3-j721e-beagleboneai64: Fix reversed C6x carveout locations
    ff8444011fe5 arm64: dts: ti: k3-j721e-sk: Fix reversed C6x carveout locations
    6d91b3f570ab arm64: dts: rockchip: Correct vendor prefix for Hardkernel ODROID-M1
    c742692fad4a ARM: dts: microchip: sam9x60: Fix rtc/rtt clocks
    514265b1f154 arm64: dts: renesas: r9a07g044: Correct GICD and GICR sizes
    c2bae2675ca6 arm64: dts: renesas: r9a07g054: Correct GICD and GICR sizes
    7d0be3622399 arm64: dts: renesas: r9a07g043u: Correct GICD and GICR sizes
    1ccd886abf45 regulator: Return actual error in of_regulator_bulk_get_all()
    3bf127bc2695 spi: ppc4xx: Avoid returning 0 when failed to parse and map IRQ
    6699567b0bbb firmware: arm_scmi: Fix double free in OPTEE transport
    bd7fa63736c7 arm64: dts: mediatek: mt8186: Fix supported-hw mask for GPU OPPs
    8d81cd1a048a arm64: dts: exynos: exynos7885-jackpotlte: Correct RAM amount to 4GB
    1b08f7b5f56d spi: ppc4xx: handle irq_of_parse_and_map() errors
    80f5bfbb80ea block: fix potential invalid pointer dereference in blk_add_partition
    0d7ddfc89284 block: print symbolic error name instead of error code
    5740c0fa9367 io_uring/io-wq: inherit cpuset of cgroup in io worker
    7b3a35584db4 io_uring/io-wq: do not allow pinning outside of cpuset
    c3eba0a4e940 block, bfq: fix procress reference leakage for bfqq in merge chain
    0780451f03bf block, bfq: fix uaf for accessing waker_bfqq after splitting
    0c9b52bfee0e erofs: fix incorrect symlink detection in fast symlink
    81b048b9484b cachefiles: Fix non-taking of sb_writers around set/removexattr
    19f3bec2ac4b block, bfq: don't break merge chain in bfq_split_bfqq()
    e50c9a352676 block, bfq: choose the last bfqq from merge chain in bfq_setup_cooperator()
    7faed2896d78 block, bfq: fix possible UAF for bfqq->bic with merge chain
    6e73b946a379 nbd: fix race between timeout and normal completion
    75a5e5909b1f ublk: move zone report data out of request pdu
    0ceb2f2b5c81 ipv6: avoid possible NULL deref in rt6_uncached_list_flush_dev()
    2b5e904deabb net: tipc: avoid possible garbage value
    a46add42bd06 net: ipv6: rpl_iptunnel: Fix memory leak in rpl_input
    50d062b6cc90 r8169: disable ALDPS per default for RTL8125
    1e8fc4ffa955 net: enetc: Use IRQF_NO_AUTOEN flag in request_irq()
    905e83c61bdc bareudp: Pull inner IP header on xmit.
    61761f08e361 bareudp: Pull inner IP header in bareudp_udp_encap_recv().
    a4a70cba57aa Bluetooth: btusb: Fix not handling ZPL/short-transfer
    d7572187bce6 can: m_can: m_can_close(): stop clocks after device has been shut down
    7fb4f5605c3e can: m_can: enable NAPI before enabling interrupts
    c3d941cc734e can: bcm: Clear bo->bcm_proc_read after remove_proc_entry().
    80bd490ac0a3 sock_map: Add a cond_resched() in sock_hash_free()
    7eebbdde4b94 Bluetooth: hci_sync: Ignore errors from HCI_OP_REMOTE_NAME_REQ_CANCEL
    ea8d90a5b04a Bluetooth: hci_core: Fix sending MGMT_EV_CONNECT_FAILED
    84398204c5df wifi: wilc1000: fix potential RCU dereference issue in wilc_parse_join_bss_param
    058c9026ad79 wifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop()
    cacdc1189841 wifi: cfg80211: fix two more possible UBSAN-detected off-by-one errors
    2780657f7f53 wifi: mt76: mt7996: fix uninitialized TLV data
    2d9f3e56b9d5 wifi: mt76: mt7996: ensure 4-byte alignment for beacon commands
    15c1d606fa75 wifi: mt76: mt7915: fix rx filter setting for bfee functionality
    9f05824b35a4 wifi: cfg80211: fix UBSAN noise in cfg80211_wext_siwscan()
    0940196c3d62 wifi: mt76: mt7603: fix mixed declarations and code
    aa3e0db35a60 crypto: hisilicon/qm - inject error before stopping queue
    8b21a9b1d8f0 crypto: hisilicon/qm - reset device before enabling it
    7803e8cdaa84 crypto: hisilicon/hpre - mask cluster timeout error
    4589bb97e42f pm:cpupower: Add missing powercap_set_enabled() stub function
    fb2d057539ed x86/sgx: Fix deadlock in SGX NUMA node search
    6f68e1e9ade6 wifi: mt76: mt7996: fix EHT beamforming capability check
    c07082fa2421 wifi: mt76: mt7996: fix HE and EHT beamforming capabilities
    29516e5db9c6 wifi: mt76: mt7996: fix wmm set of station interface to 3
    7146e5aeff6d wifi: mt76: mt7996: fix traffic delay when switching back to working channel
    50d87e3b7098 wifi: mt76: mt7996: use hweight16 to get correct tx antenna
    818dd118f4a9 wifi: mt76: mt7915: fix oops on non-dbdc mt7986
    4d3608ae154b cpufreq: ti-cpufreq: Introduce quirks to handle syscon fails appropriately
    c902e515b6b4 perf/arm-cmn: Ensure dtm_idx is big enough
    5418a61e3207 perf/arm-cmn: Fix CCLA register offset
    a687d9d1fedd perf/arm-cmn: Refactor node ID handling. Again.
    a1b25661a04a perf/arm-cmn: Improve debugfs pretty-printing for large configs
    f5c4ec8d0e2f perf/arm-cmn: Rework DTC counters (again)
    814b8bc5cc0a netfilter: nf_tables: remove annotation to access set timeout while holding lock
    9431e5eddcc1 netfilter: nf_tables: reject expiration higher than timeout
    2a5e648a0cb6 netfilter: nf_tables: reject element expiration with no timeout
    08b25d59ffb0 netfilter: nf_tables: elements with timeout below CONFIG_HZ never expire
    8ad28208be7b ACPI: CPPC: Fix MASK_VAL() usage
    fa3ef5ea3ff4 can: j1939: use correct function name in comment
    37c5024e464c kselftest/arm64: Actually test SME vector length changes via sigreturn
    666a46a90f18 drivers/perf: hisi_pcie: Fix TLP headers bandwidth counting
    6206a0edb29b drivers/perf: hisi_pcie: Record hardware counts correctly
    39dd1f1f48d3 padata: Honor the caller's alignment in case of chunk_size 0
    1661f1352b55 wifi: iwlwifi: mvm: increase the time between ranging measurements
    2c4a7b501422 wifi: iwlwifi: config: label 'gl' devices as discrete
    305b7827cf5d wifi: iwlwifi: remove AX101, AX201 and AX203 support from LNL
    d54455a3a965 wifi: mac80211: don't use rate mask for offchannel TX either
    3b839d461904 drivers/perf: Fix ali_drw_pmu driver interrupt status clearing
    be158b7e6a46 kselftest/arm64: signal: fix/refactor SVE vector length enumeration
    288cbc505e20 powercap: intel_rapl: Fix off by one in get_rpi()
    9fc60f2bdd43 ARM: 9410/1: vfp: Use asm volatile in fmrx/fmxr macros
    c82ea72d96dd mount: handle OOM on mnt_warn_timestamp_expiry
    032ca566f589 RISC-V: KVM: Fix to allow hpmcounter31 from the guest
    3c39f253e2c9 RISC-V: KVM: Allow legacy PMU access from guest
    a72a99da7a8f RISC-V: KVM: Fix sbiret init before forwarding to userspace
    07b90bbfe9c9 wifi: rtw88: remove CPT execution branch never used
    32ba3160889e arm64: signal: Fix some under-bracketed UAPI macros
    f0525a641a4a net: stmmac: dwmac-loongson: Init ref and PTP clocks rate
    0a9445aa8e8f wifi: ath12k: fix invalid AMPDU factor calculation in ath12k_peer_assoc_h_he()
    aafd6ad1d9d6 wifi: ath12k: match WMI BSS chan info structure with firmware definition
    d45fe0115edf wifi: ath12k: fix BSS chan info request WMI command
    dda028a8aa3c wifi: ath9k: Remove error checks when creating debugfs entries
    fb1862ce2664 wifi: brcmfmac: introducing fwil query functions
    c3cfcf51b4e0 wifi: brcmfmac: export firmware interface functions
    9349283fc6b8 ACPI: PMIC: Remove unneeded check in tps68470_pmic_opregion_probe()
    e55fcc821db0 crypto: xor - fix template benchmarking
    1b8178a2ae27 wifi: rtw88: always wait for both firmware loading attempts
    b3e360e00d21 EDAC/synopsys: Fix error injection on Zynq UltraScale+
    23752ababd72 EDAC/synopsys: Fix ECC status and IRQ control race condition
    4ad9fa5c30ed Linux 6.6.53
    51297ef7ad78 USB: usbtmc: prevent kernel-usb-infoleak
    39d69238899a USB: serial: pl2303: add device id for Macrosilicon MS3020
    3a2532d88251 can: mcp251xfd: move mcp251xfd_timestamp_start()/stop() into mcp251xfd_chip_start/stop()
    fa45741f1e90 can: mcp251xfd: properly indent labels
    26b0a1cd9f22 x86/mm: Switch to new Intel CPU model defines
    ab51a98de8d5 nvme-pci: qdepth 1 quirk
    c4e98006092b gpiolib: cdev: Ignore reconfiguration without direction
    53dc61ae5cff Revert "wifi: cfg80211: check wiphy mutex is held for wdev mutex"
    424bd79517ce netfilter: nf_tables: missing iterator type in lookup walk
    f24d8abc2bb8 netfilter: nft_set_pipapo: walk over current view on netlink dump
    94d6fe6b6e6e netfilter: nft_socket: Fix a NULL vs IS_ERR() bug in nft_socket_cgroup_subtree_level()
    f07e28e4c623 netfilter: nft_socket: make cgroupsv2 matching work with namespaces
    ea71c39d4638 powercap/intel_rapl: Add support for AMD family 1Ah
    e615cd84dcf8 drm: Expand max DRM device number to full MINORBITS
    f6b589e36153 accel: Use XArray instead of IDR for minors
    d2e3d344e20e drm: Use XArray instead of IDR for minors
    c726dea9d0c8 ocfs2: strict bound check before memcmp in ocfs2_xattr_find_entry()
    1f6e167d6753 ocfs2: add bounds checking to ocfs2_xattr_find_entry()
    4c21bba38b94 spi: spidev: Add missing spi_device_id for jg10309-01
    c20e89c96f14 block: Fix where bio IO priority gets set
    532ba43dcef8 tools: hv: rm .*.cmd when make clean
    f0759b097377 x86/hyperv: Set X86_FEATURE_TSC_KNOWN_FREQ when Hyper-V provides frequency
    fabc4ed200f9 smb: client: fix hang in wait_for_response() for negproto
    e79896417c03 spi: bcm63xx: Enable module autoloading
    745fe9f19d04 drm: komeda: Fix an issue related to normalized zpos
    d7c126497de6 ALSA: hda: add HDMI codec ID for Intel PTL
    16fb61afffdb ASoC: amd: yc: Add a quirk for MSI Bravo 17 (D7VEK)
    a9affc6dd8b0 spi: spidev: Add an entry for elgin,jg10309-01
    5a8f8d49bcd7 ASoC: fix module autoloading
    b3cc98bd86e8 ASoC: tda7419: fix module autoloading
    1803f06c86b0 ASoC: google: fix module autoloading
    7675ab5900a8 ASoC: intel: fix module autoloading
    ec39e3104a77 ASoC: Intel: soc-acpi-cht: Make Lenovo Yoga Tab 3 X90F DMI match less strict
    740253ebb552 can: mcp251xfd: mcp251xfd_ring_init(): check TX-coalescing configuration
    021cd8f0e479 wifi: iwlwifi: clear trans->state earlier upon error
    9902dacd5b0b wifi: mac80211: free skb on error path in ieee80211_beacon_get_ap()
    4d0a900ec470 wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead
    2c61b561baf9 wifi: iwlwifi: mvm: pause TCM when the firmware is stopped
    8587a0ed5f07 wifi: iwlwifi: mvm: fix iwl_mvm_max_scan_ie_fw_cmd_room()
    0d07f12e1f06 wifi: iwlwifi: mvm: fix iwl_mvm_scan_fits() calculation
    dfa94a93f7b7 wifi: iwlwifi: lower message level for FW buffer destination
    8a834f251f6c LoongArch: Define ARCH_IRQ_INIT_FLAGS as IRQ_NOPROBE
    d44cfa992b6b net: ftgmac100: Ensure tx descriptor updates are visible
    001eaeaac79d platform/x86: x86-android-tablets: Make Lenovo Yoga Tab 3 X90F DMI match less strict
    1bab72a2b985 microblaze: don't treat zero reserved memory regions as error
    76f74a1c3d5d hwmon: (asus-ec-sensors) remove VRM temp X570-E GAMING
    af08f4506114 pinctrl: at91: make it work with current gpiolib
    013180bf2314 scsi: lpfc: Fix overflow build issue
    49a9fe95eb6f ALSA: hda/realtek - FIxed ALC285 headphone no sound
    4a31d48c096b ALSA: hda/realtek - Fixed ALC256 headphone no sound
    50dcf4b7b76c ASoC: allow module autoloading for table board_ids
    b7420317a90d ASoC: allow module autoloading for table db1200_pids
    0627ba94347b ASoC: mediatek: mt8188: Mark AFE_DAC_CON0 register as volatile
    aef267374152 ASoC: SOF: mediatek: Add missing board compatible
    18abb2787b53 x86/syscall: Mark exit[_group] syscall handlers __noreturn
    2879d995e569 pnmtologo: sync with 6.6
    43ea1c5e6eb3 lib/build_OID_registry: take -stable reproducibility changes
    35046aea43c8 bpftool: Fix undefined bpf macro for unix socket
    9a558d4b8621 tools/resolve_btfids: Fix comparison of distinct pointer types warning in resolve_btfids
    42b2eec2e503 bpftool: Query only cgroup-related attach types
    f71bb11887ba cpu/amd: inhibit SMP check for qemux86
    c31365597a17 powerpc/uaccess: Fix build errors seen with GCC 13/14
    64ebf485c56b usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
    7c76aad68f6d kselftest: Add a ksft_perror() helper
    06644f0d7193 drm/tilcdc: Set preferred depth
    ff7ae7b32324 crypto: jitter - add RCT/APT support for different OSRs
    50cd24ddb6f0 arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    58e5c91d6701 x86/alternatives: Disable interrupts and sync when optimizing NOPs in place
    c878fd2d4c79 x86/alternatives: Sync core before enabling interrupts
    c2d64b9f52b6 qemux86: add configuration symbol to select values
    630c33229e6d sched/isolation: really align nohz_full with rcu_nocbs
    0e5e0f68e2e6 clear_warn_once: add a clear_warn_once= boot parameter
    46934791b902 clear_warn_once: bind a timer to written reset value
    cdee9e38ff32 clear_warn_once: expand debugfs to include read support
    82b562b81841 tools: Remove some options from CLANG_CROSS_FLAGS
    36dc380b776b libbpf: Fix build warning on ref_ctr_off
    9e3e1fe20982 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    e497a4a5da65 perf: x86-32: explicitly include <errno.h>
    7b57ddd89565 perf: mips64: Convert __u64 to unsigned long long
    1cfc19423dc7 perf: fix bench numa compilation
    98bc2815fade perf: add SLANG_INC for slang.h
    17209a70b9b3 perf: add sgidefs.h to for mips builds
    9cd4258d910a perf: change --root to --prefix for python install
    8110a4f26628 perf: add 'libperl not found' warning
    bc89d5e08f77 perf: force include of <stdbool.h>
    4f6c760cc876 fat: Replace prandom_u32() with get_random_u32()
    bc53117b12b2 fat: don't use obsolete random32 call in namei_vfat
    30b2236ab378 FAT: Added FAT_NO_83NAME
    cef98d22b4ed FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    0bbd7daba9e1 FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    5883fc340084 aufs6: adapt to v6.6 i_op->ctime changes
    c4342d979bf2 aufs6: fix magic.mk include path
    35266bc2dc81 aufs6: adapt to v6.6
    8edede4e98be aufs6: core
    712248233ebe aufs6: standalone
    3b71a8a848d8 aufs6: mmap
    3e2924871f37 aufs6: base
    7f4907a93101 aufs6: kbuild
    d2f7b03e4aa7 yaffs2: update VFS ctime operations to 6.6+
    bcd6cfcd1aa0 yaffs2: v6.5 fixups
    cc615704b5f5 yaffs2: Fix miscalculation of devname buffer length
    8ef2e22dcf91 yaffs2: convert user_namespace to mnt_idmap
    c9c749f9f7d3 yaffs2: replace bdevname call with sprintf
    395b01cdc39d yaffs2: convert read_page -> readfolio
    d98b07e43ba6 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    613c6d50fdbe yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    622c4648936f yaffs2: v5.12+ build fixups (not runtime tested)
    7562133d4090 yaffs: include blkdev.h
    dbd44252cd59 yaffs: fix misplaced variable declaration
    c223a10b1ac0 yaffs2: v5.6 build fixups
    90f6007cfbf4 yaffs2: fix memory leak when /proc/yaffs is read
    37ee169c5ea1 yaffs: add strict check when call yaffs_internal_read_super
    b6e007b8abb6 yaffs: repair yaffs_get_mtd_device
    fb98f65a466a yaffs: Fix build failure by handling inode i_version with proper atomic API
    51e0aac75ea2 yaffs2: fix memory leak in mount/umount
    2b74a0cae7b0 yaffs: Avoid setting any ACL releated xattr
    ff4130a9c376 Yaffs:check oob size before auto selecting Yaffs1
    ba95b409c67c fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    8fa35eba9056 yaffs2: adjust to proper location of MS_RDONLY
    1eb5deaad8c4 yaffs2: import git revision b4ce1bb (jan, 2020)
    4dce67c1e8c8 initramfs: allow an optional wrapper script around initramfs generation
    2f603d83fcc4 pnmtologo: use relocatable file name
    664a6a0a484b tools: use basename to identify file in gen-mach-types
    9de64bc0c185 lib/build_OID_registry: fix reproducibility issues
    ae9b80797295 vt/conmakehash: improve reproducibility
    a972323151bd iwlwifi: select MAC80211_LEDS conditionally
    15d2adcc0198 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    5556a6c04b19 arm64/perf: Fix wrong cast that may cause wrong truncation
    5552dc768ffc defconfigs: drop obselete options
    00fe4152df31 arm64/perf: fix backtrace for AAPCS with FP enabled
    3888d0652edf linux-yocto: Handle /bin/awk issues
    3d55d299f23a uvesafb: provide option to specify timeout for task completion
    23c068c080be uvesafb: print error message when task timeout occurs
    edbfc939266e compiler.h: Undef before redefining __attribute_const__
    c99ae7e2a19a vmware: include jiffies.h
    572d84d928c8 Resolve jiffies wrapping about arp
    fdcd47cac843 nfs: Allow default io size to be configured.
    927d48801098 check console device file on fs when booting
    57cc27f821dd mount_root: clarify error messages for when no rootfs found
    1b53d82a8152 mconf: fix output of cflags and libraries
    1811da09f42c menuconfig,mconf-cfg: Allow specification of ncurses location
    83c2e0c6eb1f modpost: mask trivial warnings
    6de673039484 kbuild: exclude meta directory from distclean processing
    6decd32815f5 powerpc: serialize image targets
    f6b683b38318 arm: serialize build targets
    e798b09ebf57 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    dc8a1e5a88f8 x86_64_defconfig: Fix warnings
    68491e5f72b6 powerpc/ptrace: Disable array-bounds warning with gcc8
    d71ebfce3004 powerpc: Disable attribute-alias warnings from gcc8
    62f50884b8b1 powerpc: kexec fix for powerpc64
    da6871c62c37 powerpc: Add unwind information for SPE registers of E500 core
    f161c880c11d mips: make current_cpu_data preempt safe
    5e94a8247ce7 mips: vdso: fix 'jalr $t9' crash in vdso code
    19e36714b1c7 mips: Kconfig: add QEMUMIPS64 option
    e2e537db3cbd 4kc cache tlb hazard: tlbp cache coherency
    aee9870611e5 malta uhci quirks: make allowance for slow 4k(e)c
    881948cd1517 drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    98ec1963fcb7 arm64: defconfig: cleanup config options
    f1727c537ba8 vexpress: Pass LOADADDR to Makefile
    4474c32dc24a arm: ARM EABI socketcall
    75e31a2b70fd ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: b9e6a9fe1aa9eab1f45ad1abbc14217feffb01a1)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 533d46e8c01994a0c2d89d0758fc6b0e7f1174f5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Bruce Ashfield
15b68a9e74 linux-yocto/6.6: update to v6.6.52
Updating linux-yocto/6.6 to the latest korg -stable release that comprises
the following commits:

    561bbd55f91a Linux 6.6.52
    bd9c3c2d7e44 riscv: dts: starfive: add assigned-clock* to limit frquency
    e43364f578cd ASoC: meson: axg-card: fix 'use-after-free'
    2a01f3b7b19b pinctrl: meteorlake: Add Arrow Lake-H/U ACPI ID
    b9d510e08504 cifs: Fix signature miscalculation
    6ec7cbc7f578 ASoC: codecs: avoid possible garbage value in peb2466_reg_read()
    86238603c8f4 drm/i915/guc: prevent a possible int overflow in wq offsets
    f9e08c201705 spi: geni-qcom: Fix incorrect free_irq() sequence
    64cdc5d11442 spi: geni-qcom: Undo runtime PM changes at driver exit time
    ff65ae25d3cb drm/amd/amdgpu: apply command submission parser for JPEG v1
    54268468399e drm/amdgpu/atomfirmware: Silence UBSAN warning
    def80cdb2676 drm/nouveau/fb: restore init() for ramgp102
    eb7fc8b65cea dma-buf: heaps: Fix off-by-one in CMA heap fault handler
    8e1ffb257982 drm/syncobj: Fix syncobj leak in drm_syncobj_eventfd_ioctl
    28425a10a4fa soundwire: stream: Revert "soundwire: stream: fix programming slave ports for non-continous port maps"
    af9ca9ca3e44 spi: nxp-fspi: fix the KASAN report out-of-bounds bug
    a8632ef4fc13 tracing/osnoise: Fix build when timerlat is not enabled
    34fcac26216c net: dpaa: Pad packets to ETH_ZLEN
    fc8c0cec1b48 net: dsa: felix: ignore pending status of TAS module when it's disabled
    83e6fb59040e netfilter: nft_socket: fix sk refcount leaks
    033a71efabac selftests: net: csum: Fix checksums for packets with non-zero padding
    38859fb5bdb6 net: ftgmac100: Enable TX interrupt to avoid TX timeout
    5bfbf2c18cf5 octeontx2-af: Modify SMQ flush sequence to drop packets
    7ae890ee1947 fou: fix initialization of grc
    65feee671e37 net/mlx5: Fix bridge mode operations when there are no VFs
    4bb9745cc3d3 net/mlx5: Verify support for scheduling element and TSAR type
    9f806d095955 net/mlx5: Correct TASR typo into TSAR
    fa2e98068d25 net/mlx5: Add missing masks and QoS bit masks for scheduling elements
    f015f63cc9c4 net/mlx5: Explicitly set scheduling element and TSAR type
    f7e7dbdfc093 net/mlx5e: Add missing link mode to ptys2ext_ethtool_map
    4ce59074d53c IB/mlx5: Rename 400G_8X speed to comply to naming convention
    93fd5e028b29 net/mlx5e: Add missing link modes to ptys2ethtool_map
    02518dc443cd net/mlx5: Update the list of the PCI supported devices
    e8db32a90248 igb: Always call igb_xdp_ring_update_tail() under Tx lock
    cbaed60c69f0 ice: fix VSI lists confusion when adding VLANs
    01a786ada184 ice: fix accounting for filters shared by multiple VSIs
    d21559e2037e ice: Fix lldp packets dropping after changing the number of channels
    1bc085e9977f hwmon: (pmbus) Conditionally clear individual status bits for pmbus rev >= 1.2
    14f6a11ea21e selftests/bpf: Support SOCK_STREAM in unix_inet_redir_to_connected()
    8295194a50eb cxl/core: Fix incorrect vendor debug UUID define
    cb735cf79aa1 eeprom: digsy_mtc: Fix 93xx46 driver probe failure
    7853c146f8b4 drm/amd/display: Fix FEC_READY write on DP LT
    27bbf0b1cac9 drm/amd/display: Disable error correction if it's not supported
    d72432755b12 arm64: dts: rockchip: fix PMIC interrupt pin in pinctrl for ROCK Pi E
    b1e1daf0125e net: xilinx: axienet: Fix race in axienet_stop
    a95a24fcaee1 mm: avoid leaving partial pfn mappings around in error case
    2ae1beb3ab4f x86/hyperv: fix kexec crash due to VP assist page corruption
    9b27991f3fb7 dm-integrity: fix a race condition when accessing recalc_sector
    4ec0d8dbd702 net: tighten bad gso csum offset check in virtio_net_hdr
    1705209b3e2a minmax: reduce min/max macro expansion in atomisp driver
    3844bc360e16 arm64: dts: rockchip: override BIOS_DISABLE signal via GPIO hog on RK3399 Puma
    d52643ced186 arm64: dts: rockchip: fix eMMC/SPI corruption when audio has been used on RK3399 Puma
    7e2e638c5909 selftests: mptcp: join: restrict fullmesh endp on 1st sf
    6452b162549c mptcp: pm: Fix uaf in __timer_delete_sync
    c54fc405a060 platform/x86: panasonic-laptop: Allocate 1 entry extra in the sinf array
    6821a82616f6 platform/x86: panasonic-laptop: Fix SINF array out of bounds accesses
    d07216aa30e8 NFS: Avoid unnecessary rescanning of the per-server delegation list
    d8a7055ffd39 NFSv4: Fix clearing of layout segments in layoutreturn
    75e6572ccb78 smb/server: fix return value of smb2_open()
    91043a573ca7 Input: i8042 - add Fujitsu Lifebook E756 to i8042 quirk table
    57ac3b43fb1f drm/msm/adreno: Fix error return if missing firmware-name
    c5331c6342fd platform/surface: aggregator_registry: Add support for Surface Laptop Go 3
    64f8ed257cec platform/surface: aggregator_registry: Add Support for Surface Pro 10
    86a1aaee7f44 scripts: kconfig: merge_config: config files: add a trailing newline
    1d5c7d0a49ec HID: multitouch: Add support for GT7868Q
    11eb4a8228f6 Input: synaptics - enable SMBus for HP Elitebook 840 G2
    3acb2392df34 Input: ads7846 - ratelimit the spi_sync error message
    5ee7efa629bf btrfs: update target inode's ctime on unlink
    ab8f0c4986c7 net: hns3: use correct release function during uninitialization
    4bfee9346d8c wifi: mt76: mt7921: fix NULL pointer access in mt7921_ipv6_addr_change
    4a9a1edd9c49 powerpc/mm: Fix boot warning with hugepages and CONFIG_DEBUG_VIRTUAL
    af252750bf3b net: phy: vitesse: repair vsc73xx autonegotiation
    31b9fc3d0c10 drm: panel-orientation-quirks: Add quirk for Ayn Loki Max
    7d42d19973cb drm: panel-orientation-quirks: Add quirk for Ayn Loki Zero
    9569e1fd06fa net: ethernet: use ip_hdrlen() instead of bit shift
    28123a54f887 usbnet: ipheth: fix carrier detection in modes 1 and 4
    4d1cfa3afb86 usbnet: ipheth: do not stop RX on failing RX callback
    9c8c230e2e15 usbnet: ipheth: drop RX URBs with no payload
    c2fb33a7fed5 usbnet: ipheth: remove extraneous rx URB length check
    78bce66914db ksmbd: override fsids for smb2_query_info()
    5a199eedfdc8 ksmbd: override fsids for share path check
    2278629c3ebb nvmem: u-boot-env: error if NVMEM device is too small
    368fa77b7945 nvmem: u-boot-env: improve coding style
    2eea394c31cb nvmem: u-boot-env: use nvmem device helpers
    ae91c9c7b67d nvmem: u-boot-env: use nvmem_add_one_cell() nvmem subsystem helper
    820b1b981aeb nvmem: core: add nvmem_dev_size() helper
    f7dc14df1bde iio: adc: ad7124: fix DT configuration parsing
    fbed74005829 iio: adc: ad7124: Switch from of specific to fwnode based property handling
    bfc8dab8c73a device property: Introduce device_for_each_child_node_scoped()
    fce8373d3153 device property: Add cleanup.h based fwnode_handle_put() scope based cleanup.
    6d1dc55b5bab Linux 6.6.51
    611e4281117a Bluetooth: hci_sync: Fix UAF on hci_abort_conn_sync
    4d6cf010d876 Bluetooth: hci_sync: Fix UAF on create_le_conn_complete
    78155f30beeb Bluetooth: hci_sync: Fix UAF in hci_acl_create_conn_sync
    50b6744c12fa spi: spi-fsl-lpspi: Fix off-by-one in prescale max
    7b5595f33c3c btrfs: fix race between direct IO write and fsync when using same fd
    8eeda5fb5938 x86/mm: Fix PTI for i386 some more
    a2977c0ca3e9 membarrier: riscv: Add full memory barrier in switch_mm()
    136a29d8112d ublk_drv: fix NULL pointer dereference in ublk_ctrl_start_recovery()
    bd29d8452079 riscv: Do not restrict memory size because of linear mapping on nommu
    8289dc916e9e riscv: Fix toolchain vector detection
    b27ea9c96efd smb: client: fix double put of @cfile in smb2_rename_path()
    52b688c8087b gpio: modepin: Enable module autoloading
    9ceae54e65a3 gpio: rockchip: fix OF node leak in probe()
    60d54a45dbbb drm/i915/fence: Mark debug_fence_free() with __maybe_unused
    a65ebba87337 drm/i915/fence: Mark debug_fence_init_onstack() with __maybe_unused
    7c391eaf2c63 clk: qcom: gcc-sm8550: Don't park the USB RCG at registration time
    a5e871d26ba1 clk: qcom: gcc-sm8550: Don't use parking clk_ops for QUPs
    b9bb9634368e ASoC: sunxi: sun4i-i2s: fix LRCLK polarity in i2s mode
    f39bde3f7825 ASoc: SOF: topology: Clear SOF link platform name upon unload
    05500a48d80d nvme-pci: allocate tagset on reset if necessary
    489f2913a63f nvmet-tcp: fix kernel crash if commands allocation fails
    585c598082e1 ASoC: tegra: Fix CBB error during probe()
    af4d5630d991 powerpc/vdso: Don't discard rela sections
    547acc20e567 powerpc/64e: Define mmu_pte_psize static
    8ea58996f539 powerpc/64e: split out nohash Book3E 64-bit code
    8ebe3bb3688a powerpc/64e: remove unused IBM HTW code
    eaccebe663b2 clk: qcom: ipq9574: Update the alpha PLL type for GPLLs
    37b65ea6c7ad crypto: starfive - Fix nent assignment in rsa dec
    02b3f8860963 crypto: starfive - Align rsa input data to 32-bit
    872f86e1757b ata: libata-scsi: Check ATA_QCFLAG_RTF_FILLED before using result_tf
    c8d4acb32530 ata: libata-scsi: Remove redundant sense_buffer memsets
    302ba299c31e drm/amdgpu: handle gfx12 in amdgpu_display_verify_sizes
    5f2a2bf25395 drm/amd: Add gfx12 swizzle mode defs
    5ea24ddc26a7 can: mcp251xfd: rx: add workaround for erratum DS80000789E 6 of mcp2518fd
    6cdc3fc4fb2f can: mcp251xfd: clarify the meaning of timestamp
    bf501ab4cbfe can: mcp251xfd: rx: prepare to workaround broken RX FIFO head index erratum
    2370061f0707 can: mcp251xfd: mcp251xfd_handle_rxif_ring_uinc(): factor out in separate function
    62ca6d3a905b arm64: acpi: Harden get_cpu_for_acpi_id() against missing CPU entry
    acf9ef8d1b1f arm64: acpi: Move get_cpu_for_acpi_id() to a header
    47c310fbaaf4 ACPI: processor: Fix memory leaks in error paths of processor_add()
    6bf77014db58 ACPI: processor: Return an error if acpi_processor_get_info() fails in processor_add()
    241bce1c757d workqueue: Improve scalability of workqueue watchdog touch
    5ff0a4414195 workqueue: wq_watchdog_touch is always called with valid CPU
    0eceaa9d0560 Revert "mm: skip CMA pages when they are not available"
    9a9974713de8 mm/vmscan: use folio_migratetype() instead of get_pageblock_migratetype()
    c4b69bee3f4e perf/aux: Fix AUX buffer serialization
    9faed52b98e1 uprobes: Use kzalloc to allocate xol area
    7eeb7189c4d4 clocksource/drivers/timer-of: Remove percpu irq related code
    444c3927a0c1 clocksource/drivers/imx-tpm: Fix next event not taking effect sometime
    c4f27b17d384 clocksource/drivers/imx-tpm: Fix return -ETIME when delta exceeds INT_MAX
    39e7e593418c VMCI: Fix use-after-free when removing resource in vmci_resource_remove()
    6ed45748c19b Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic
    de6946be9c8b uio_hv_generic: Fix kernel NULL pointer dereference in hv_uio_rescind
    3d1baf322a3a nvmem: Fix return type of devm_nvmem_device_get() in kerneldoc
    1f33d9f1d9ac binder: fix UAF caused by offsets overwrite
    f77dc8a75859 misc: fastrpc: Fix double free of 'buf' in error path
    7d301dd2722f usb: dwc3: Avoid waking up gadget during startxfer
    f224f3729779 usb: cdns2: Fix controller reset issue
    6ef746b0b63f usb: dwc3: core: update LC timer as per USB Spec V3.2
    314125cbae48 iio: adc: ad7124: fix chip ID mismatch
    66d0d59afe55 iio: adc: ad7606: remove frstdata check for serial mode
    fb5d58f238c4 iio: adc: ad7124: fix config comparison
    ecc8e1bcac27 iio: fix scale application in iio_convert_raw_to_processed_unlocked
    cb0f3f0c102b iio: buffer-dmaengine: fix releasing dma channel on error
    dc12e49f970b staging: iio: frequency: ad9834: Validate frequency parameter value
    5c007a980450 intel: legacy: Partial revert of field get conversion
    4fe707a29789 tcp: process the 3rd ACK with sk_socket for TFO/MPTCP
    3b843046dbbe cpufreq: amd-pstate: fix the highest frequency issue which limits performance
    1ec40a175a48 cpufreq: amd-pstate: Enable amd-pstate preferred core support
    0b983c08ca81 ACPI: CPPC: Add helper to get the highest performance value
    e0316069fae7 riscv: Use accessors to page table entries instead of direct dereference
    59c9160a7ee3 riscv: mm: Only compile pgtable.c if MMU
    1a8b2391e06e mm: Introduce pudp/p4dp/pgdp_get() functions
    193b1fc1cbca riscv: Use WRITE_ONCE() when setting page table entries
    6c4a878e1cc8 NFSv4: Add missing rescheduling points in nfs_client_return_marked_delegations
    07f384c5be1f smb/server: fix potential null-ptr-deref of lease_ctx_info in smb2_open()
    b777131d03be ata: pata_macio: Use WARN instead of BUG
    ff62110ec522 spi: spi-fsl-lpspi: limit PRESCALE bit in TCR register
    32ee0520159f MIPS: cevt-r4k: Don't call get_c0_compare_int if timer irq is installed
    d942e855324a lib/generic-radix-tree.c: Fix rare race in __genradix_ptr_alloc()
    7ead730af11e of/irq: Prevent device address out-of-bounds read in interrupt map walk
    c3af7e460a52 Squashfs: sanity check symbolic link size
    6604d76253e7 usbnet: ipheth: race between ipheth_close and error handling
    a4858b00a1ec Input: uinput - reject requests with unreasonable number of slots
    60dc4ee0428d HID: amd_sfh: free driver_data after destroying hid device
    30e9ce7cd559 HID: cougar: fix slab-out-of-bounds Read in cougar_report_fixup
    fc9fabeee107 s390/vmlinux.lds.S: Move ro_after_init section behind rodata section
    f1eb69aa8562 btrfs: initialize location to fix -Wmaybe-uninitialized in btrfs_lookup_dentry()
    16ccaf581da4 spi: hisi-kunpeng: Add verification for the max_frequency provided by the firmware
    d43fde5ebfe7 kselftests: dmabuf-heaps: Ensure the driver name is null-terminated
    5a022269abb2 i3c: mipi-i3c-hci: Error out instead on BUG_ON() in IBI DMA setup
    1f489656d506 i3c: master: svc: resend target address when get NACK
    c03185f4a23e vfs: Fix potential circular locking through setxattr() and removexattr()
    e42ea96d6d36 regmap: maple: work around gcc-14.1 false-positive warning
    fd8e14122374 LoongArch: Use correct API to map cmdline in relocate_kernel()
    938acd8e3aa0 net: dpaa: avoid on-stack arrays of NR_CPUS elements
    013dae4735d2 Bluetooth: btnxpuart: Fix Null pointer dereference in btnxpuart_flush()
    9fd29738377c tcp: Don't drop SYN+ACK for simultaneous connect().
    78c6e39fef5c PCI: Add missing bridge lock to pci_bus_lock()
    ce2e63804abf riscv: set trap vector earlier
    124451bbc2d3 cxl/region: Verify target positions using the ordered target list
    41a0f85e268d btrfs: replace BUG_ON() with error handling at update_ref_for_cow()
    7d1df13bf078 btrfs: clean up our handling of refs == 0 in snapshot delete
    e7469c65b3c5 btrfs: replace BUG_ON with ASSERT in walk_down_proc()
    951b696db188 fs/ntfs3: Check more cases when directory is corrupted
    6b1b0a86d9c1 smp: Add missing destroy_work_on_stack() call in smp_call_on_cpu()
    6922ab293262 drm/amdgpu: reject gang submit on reserved VMIDs
    c2618dcb26c7 wifi: mwifiex: Do not return unused priv in mwifiex_get_priv_by_id()
    abc8b81b6fc7 dma-mapping: benchmark: Don't starve others when doing the test
    e16c4c245150 jbd2: avoid mount failed when commit block is partial submitted
    3236afd1a2fa ext4: fix possible tid_t sequence overflows
    077c7e5fee4b drm/amdgpu: Set no_hw_access when VF request full GPU fails
    030958c2d05e libbpf: Add NULL checks to bpf_object__{prev_map,next_map}
    4b83b207f006 ASoc: TAS2781: replace beXX_to_cpup with get_unaligned_beXX for potentially broken alignment
    8fecb75bff1b hwmon: (w83627ehf) Fix underflows seen when writing limit attributes
    2f695544084a hwmon: (nct6775-core) Fix underflows seen when writing limit attributes
    46e4fd338d5b hwmon: (lm95234) Fix underflows seen when writing limit attributes
    6891b11a0c62 hwmon: (adc128d818) Fix underflows seen when writing limit attributes
    3a986d134402 crypto: qat - fix unintentional re-enabling of error interrupts
    7b1d779647af scsi: pm80xx: Set phy->enable_completion only when we wait for it
    2f49e05d6b58 scsi: ufs: core: Remove SCSI host only if added
    c83d464b82a8 wifi: rtw88: usb: schedule rx work after everything is set up
    c5b30148ef3b virtio_ring: fix KMSAN error for premapped mode
    b82d4d5c736f pci/hotplug/pnv_php: Fix hotplug driver crash on Powernv
    72377cee3f46 devres: Initialize an uninitialized struct member
    ec5b47a37017 um: line: always fill *error_out in setup_one_line()
    84a6b76b2859 cgroup: Protect css->cgroup write under css_set_lock
    7cfa7abb240c iommu/vt-d: Handle volatile descriptor status read
    8b3267428333 dm init: Handle minors larger than 255
    67786b291e77 ASoC: topology: Properly initialize soc_enum values
    8bdbc44c6d26 phy: zynqmp: Take the phy mutex in xlate
    441e6f5829be firmware: cs_dsp: Don't allow writes to read-only controls
    e997b357b13a xen: privcmd: Fix possible access to a freed kirqfd instance
    2b110cce19c8 selftests: net: enable bind tests
    97d627461504 net: dsa: vsc73xx: fix possible subblocks range of CAPT block
    c6c535a44469 net: bridge: br_fdb_external_learn_add(): always set EXT_LEARN
    565eb51b3d80 r8152: fix the firmware doesn't work
    1df42be305fe fou: Fix null-ptr-deref in GRO.
    40531583c5cd bareudp: Fix device stats updates.
    f8d6acb19f4a bpf, net: Fix a potential race in do_sock_getsockopt()
    2174a3c36899 net/socket: Break down __sys_getsockopt
    e88c16a4f07e net/socket: Break down __sys_setsockopt
    09fba0162ba0 bpf: Add sockptr support for setsockopt
    4a746fb253fa bpf: Add sockptr support for getsockopt
    07200e313cb5 usbnet: modern method to get random MAC
    81e5622c052b ice: do not bring the VSI up, if it was down before the XDP setup
    2f057db2fb29 ice: protect XDP configuration with a mutex
    26928c8f00f6 net: phy: Fix missing of_node_put() for leds
    217539e994e5 hwmon: (hp-wmi-sensors) Check if WMI event data exists
    ed60aab60641 igc: Unlock on error in igc_io_resume()
    249c88e7fb45 Bluetooth: MGMT: Fix not generating command complete for MGMT_OP_DISCONNECT
    d56412ee7cf9 Bluetooth: hci_sync: Introduce hci_cmd_sync_run/hci_cmd_sync_run_once
    d948e1ffa1d4 Bluetooth: hci_sync: Attempt to dequeue connection attempt
    1499f79995c7 Bluetooth: hci_sync: Add helper functions to manipulate cmd_sync queue
    98f66ea456d5 Bluetooth: hci_conn: Fix UAF Write in __hci_acl_create_connection_sync
    e78bd85af297 Bluetooth: Remove pending ACL connection attempts
    c57edb548276 Bluetooth: hci_conn: Only do ACL connections sequentially
    9cd7289bcc24 Bluetooth: hci_event: Use HCI error defines instead of magic values
    a22cbf1e085b Bluetooth: qca: If memdump doesn't work, re-enable IBS
    503901d3c9e5 can: kvaser_pciefd: Use a single write when releasing RX buffers
    6587b387cd54 can: kvaser_pciefd: Move reset of DMA RX buffers to the end of the ISR
    00e4c69422c0 can: kvaser_pciefd: Rename board_irq to pci_irq
    42408507362d can: kvaser_pciefd: Remove unnecessary comment
    c1fb6226795d can: kvaser_pciefd: Skip redundant NULL pointer check in ISR
    c5e236744db6 regulator: core: Stub devm_regulator_bulk_get_const() if !CONFIG_REGULATOR
    dc2694e474b7 platform/x86: dell-smbios: Fix error path in dell_smbios_init()
    efe8effe1380 ice: Add netif_device_attach/detach into PF reset flow
    4dde04370503 igb: Fix not clearing TimeSync interrupts for 82580
    0a9423f99ded cifs: Fix FALLOC_FL_ZERO_RANGE to preflush buffered part of target region
    b4b2115d1f50 rust: kbuild: fix export of bss symbols
    4de4e53bbd13 rust: Use awk instead of recent xargs
    0e52907493fd can: mcp251xfd: fix ring configuration when switching from CAN-CC to CAN-FD mode
    db5aca78e260 can: m_can: Release irq on error in m_can_open
    4377b79323df can: bcm: Remove proc entry when dev is unregistered.
    9a41def4c48f drm/amdgpu: check for LINEAR_ALIGNED correctly in check_tiling_flags_gfx6
    dfafee0a7b51 drm/amd/display: Check denominator pbn_div before used
    dd48992a8a90 pcmcia: Use resource_size function on resource object
    b4987d0236d5 media: qcom: camss: Add check for v4l2_fwnode_endpoint_parse
    6970213c7e7d Input: ili210x - use kvmalloc() to allocate buffer for firmware update
    576d0fb6f8d4 PCI: keystone: Add workaround for Errata #i2037 (AM65x SR 1.0)
    7b645e687086 ice: Check all ice_vsi_rebuild() errors in function
    4ef01846c686 vfio/spapr: Always clear TCEs before unsetting the window
    4676bacc6eaf media: vivid: don't set HDMI TX controls if there are no HDMI outputs
    2521ba3cfa1d drm/amdgpu: clear RB_OVERFLOW bit when enabling interrupts
    8bc7b3ce33e6 drm/amdgpu: Fix smatch static checker warning
    1bd1fe1109fc drm/amd/display: Check HDCP returned status
    874e3bb302f9 drm/amd/display: Run DC_LOG_DC after checking link->link_enc
    b2a50ffdd1a0 usb: gadget: aspeed_udc: validate endpoint index for ast udc
    4292441b87b8 usb: uas: set host status byte on data completion error
    d22d72e2bf9c wifi: brcmsmac: advertise MFP_CAPABLE to enable WPA3
    56b7104b823b leds: spi-byte: Call of_node_put() on error path
    6ae2e315a388 media: vivid: fix wrong sizeimage value for mplane
    1741021fc120 riscv: kprobes: Use patch_text_nosync() for insn slots
    d670934d4fc9 fs/ntfs3: One more reason to mark inode bad
    a56330761950 udf: Avoid excessive partition lengths
    415f3634d53c wifi: iwlwifi: mvm: use IWL_FW_CHECK for link ID check
    54921e9a7a8e netfilter: nf_conncount: fix wrong variable type
    75758ca26cb5 iommu: sun50i: clear bypass register
    4ebd15ab4b85 x86/kmsan: Fix hook for unaligned accesses
    9c2450cf5d65 af_unix: Remove put_pid()/put_cred() in copy_peercred().
    29ac5a9b6e9c irqchip/armada-370-xp: Do not allow mapping IRQ 0 and 1
    9a173212a318 accel/habanalabs/gaudi2: unsecure edma max outstanding register
    53f17409abf6 ELF: fix kernel.randomize_va_space double read
    3c9e7909df15 bpf, verifier: Correct tail_call_reachable for bpf prog
    b181e96e8043 smack: unix sockets: fix accept()ed socket label
    838c2cfdb6be wifi: ath12k: fix firmware crash due to invalid peer nss
    b366b1e1dda7 wifi: ath12k: fix uninitialize symbol error on ath12k_peer_assoc_h_he()
    fd05943b054b ALSA: hda: Add input value sanity checks to HDMI channel map controls
    4a67c7c03830 ALSA: control: Apply sanity check of input values for user elements
    337266ada863 drm/i915: Do not attempt to load the GSC multiple times
    0a1a961bde43 nilfs2: fix state management in error path of log writing function
    8c6e43b3d5f1 nilfs2: protect references to superblock parameters exposed in sysfs
    9d8c3a585d56 nilfs2: fix missing cleanup on rollforward recovery error
    d4a9039a7b3d sched: sch_cake: fix bulk flow accounting logic for host fairness
    18a5a1694046 ila: call nf_unregister_net_hooks() sooner
    c8219a27fa43 tcp_bpf: fix return value of tcp_bpf_sendmsg()
    94479011f4f5 Revert "drm/amdgpu: align pp_power_profile_mode with kernel docs"
    73d20d08d39e x86/apic: Make x2apic_disable() work correctly
    55c834bc9f82 x86/fpu: Avoid writing LBR bit to IA32_XSS unless supported
    ec36815215d7 net: mctp-serial: Fix missing escapes on transmit
    9e0bff4900b5 net: mana: Fix error handling in mana_create_txq/rxq's NAPI cleanup
    05e08297c3c2 eventfs: Use list_del_rcu() for SRCU protected list variable
    e0d724932ad1 fscache: delete fscache_cookie_lru_timer when fscache exits to avoid UAF
    3c6b4bcf3784 userfaultfd: fix checks for huge PMDs
    4a594acc12d5 userfaultfd: don't BUG_ON() if khugepaged yanks our page table
    b4fdabffae14 tracing/timerlat: Add interface_lock around clearing of kthread in stop_kthread()
    993ecb4ec1f3 tracing: Avoid possible softlockup in tracing_iter_reset()
    8c72f0b2c45f tracing/timerlat: Only clear timer if a kthread exists
    7a5f01828edf tracing/osnoise: Use a cpumask to know what threads are kthreads
    d034bff62fae spi: rockchip: Resolve unbalanced runtime PM / system PM handling
    1b2770e27d6d mm: vmalloc: ensure vmap_block is initialised before adding to queue
    c318a4bb36f2 kexec_file: fix elfcorehdr digest exclusion when CONFIG_CRASH_HOTPLUG=y
    8fecde9c3f9a can: mcp251x: fix deadlock if an interrupt occurs during mcp251x_open
    f58f23328932 clk: qcom: clk-alpha-pll: Fix the trion pll postdiv set rate API
    229493828da0 clk: qcom: clk-alpha-pll: Fix the pll post div mask
    72f4fc5fb291 clk: starfive: jh7110-sys: Add notifier for PLL0 clock
    f36df5cc866f fuse: fix memory leak in fuse_create_open
    bfd55cd4295a fuse: use unsigned type for getxattr/listxattr size truncation
    ad6451ab31e1 fuse: update stats for pages in dropped aux writeback list
    a7fa220ebb41 mmc: cqhci: Fix checking of CQHCI_HALT state
    4c6520627bbe mmc: sdhci-of-aspeed: fix module autoloading
    5b4bf3948875 mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K
    115a755bb38d mmc: core: apply SD quirks earlier during probe
    84996e92a184 Bluetooth: MGMT: Ignore keys being loaded with invalid type
    c4252955e1fb Revert "Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE"
    f9275893b07f rust: macros: provide correct provenance when constructing THIS_MODULE
    d6344cc86f31 rust: types: Make Opaque::get const
    77ee2eaee4d9 nvme-pci: Add sleep quirk for Samsung 990 Evo
    85f03ca98e07 rtmutex: Drop rt_mutex::wait_lock before scheduling
    0b46b4ac929f x86/kaslr: Expose and use the end of the physical memory address space
    2f4d7b702668 irqchip/gic-v2m: Fix refcount leak in gicv2m_of_init()
    0eaf812aa150 perf/x86/intel: Limit the period on Haswell
    ef00818c50cf x86/tdx: Fix data leak in mmio_read()
    c0fbc9593b18 ata: libata: Fix memory leak for error path in ata_host_alloc()
    f75881f54c05 ksmbd: Unlock on in ksmbd_tcp_set_interfaces()
    41bc256da7e4 ksmbd: unset the binding mark of a reused connection
    5a72d1edb084 smb: client: fix double put of @cfile in smb2_set_path_size()
    d84ab6661e8d powerpc/qspinlock: Fix deadlock in MCS queue
    c1f23443da3f ALSA: hda/realtek: Support mute LED on HP Laptop 14-dq2xxx
    421c2701a9fe ALSA: hda/realtek: add patch for internal mic in Lenovo V145
    638e61b00208 ALSA: hda/conexant: Add pincfg quirk to enable top speakers on Sirius devices
    6c7c519c4dc0 KVM: SVM: Don't advertise Bus Lock Detect to guest if SVM support is missing
    c98bb4f15e7f KVM: SVM: fix emulation of msr reads/writes of MSR_FS_BASE and MSR_GS_BASE
    939375737b5a KVM: x86: Acquire kvm->srcu when handling KVM_SET_VCPU_EVENTS
    5d13afd021eb ASoC: dapm: Fix UAF for snd_soc_pcm_runtime object
    b0804c286ccf net: microchip: vcap: Fix use-after-free error in kunit test
    dde33a9d0b80 sch/netem: fix use after free in netem_dequeue
    18abb2787b53 x86/syscall: Mark exit[_group] syscall handlers __noreturn
    2879d995e569 pnmtologo: sync with 6.6
    43ea1c5e6eb3 lib/build_OID_registry: take -stable reproducibility changes
    35046aea43c8 bpftool: Fix undefined bpf macro for unix socket
    9a558d4b8621 tools/resolve_btfids: Fix comparison of distinct pointer types warning in resolve_btfids
    42b2eec2e503 bpftool: Query only cgroup-related attach types
    f71bb11887ba cpu/amd: inhibit SMP check for qemux86
    c31365597a17 powerpc/uaccess: Fix build errors seen with GCC 13/14
    64ebf485c56b usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
    7c76aad68f6d kselftest: Add a ksft_perror() helper
    06644f0d7193 drm/tilcdc: Set preferred depth
    ff7ae7b32324 crypto: jitter - add RCT/APT support for different OSRs
    50cd24ddb6f0 arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    58e5c91d6701 x86/alternatives: Disable interrupts and sync when optimizing NOPs in place
    c878fd2d4c79 x86/alternatives: Sync core before enabling interrupts
    c2d64b9f52b6 qemux86: add configuration symbol to select values
    630c33229e6d sched/isolation: really align nohz_full with rcu_nocbs
    0e5e0f68e2e6 clear_warn_once: add a clear_warn_once= boot parameter
    46934791b902 clear_warn_once: bind a timer to written reset value
    cdee9e38ff32 clear_warn_once: expand debugfs to include read support
    82b562b81841 tools: Remove some options from CLANG_CROSS_FLAGS
    36dc380b776b libbpf: Fix build warning on ref_ctr_off
    9e3e1fe20982 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    e497a4a5da65 perf: x86-32: explicitly include <errno.h>
    7b57ddd89565 perf: mips64: Convert __u64 to unsigned long long
    1cfc19423dc7 perf: fix bench numa compilation
    98bc2815fade perf: add SLANG_INC for slang.h
    17209a70b9b3 perf: add sgidefs.h to for mips builds
    9cd4258d910a perf: change --root to --prefix for python install
    8110a4f26628 perf: add 'libperl not found' warning
    bc89d5e08f77 perf: force include of <stdbool.h>
    4f6c760cc876 fat: Replace prandom_u32() with get_random_u32()
    bc53117b12b2 fat: don't use obsolete random32 call in namei_vfat
    30b2236ab378 FAT: Added FAT_NO_83NAME
    cef98d22b4ed FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    0bbd7daba9e1 FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    5883fc340084 aufs6: adapt to v6.6 i_op->ctime changes
    c4342d979bf2 aufs6: fix magic.mk include path
    35266bc2dc81 aufs6: adapt to v6.6
    8edede4e98be aufs6: core
    712248233ebe aufs6: standalone
    3b71a8a848d8 aufs6: mmap
    3e2924871f37 aufs6: base
    7f4907a93101 aufs6: kbuild
    d2f7b03e4aa7 yaffs2: update VFS ctime operations to 6.6+
    bcd6cfcd1aa0 yaffs2: v6.5 fixups
    cc615704b5f5 yaffs2: Fix miscalculation of devname buffer length
    8ef2e22dcf91 yaffs2: convert user_namespace to mnt_idmap
    c9c749f9f7d3 yaffs2: replace bdevname call with sprintf
    395b01cdc39d yaffs2: convert read_page -> readfolio
    d98b07e43ba6 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    613c6d50fdbe yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    622c4648936f yaffs2: v5.12+ build fixups (not runtime tested)
    7562133d4090 yaffs: include blkdev.h
    dbd44252cd59 yaffs: fix misplaced variable declaration
    c223a10b1ac0 yaffs2: v5.6 build fixups
    90f6007cfbf4 yaffs2: fix memory leak when /proc/yaffs is read
    37ee169c5ea1 yaffs: add strict check when call yaffs_internal_read_super
    b6e007b8abb6 yaffs: repair yaffs_get_mtd_device
    fb98f65a466a yaffs: Fix build failure by handling inode i_version with proper atomic API
    51e0aac75ea2 yaffs2: fix memory leak in mount/umount
    2b74a0cae7b0 yaffs: Avoid setting any ACL releated xattr
    ff4130a9c376 Yaffs:check oob size before auto selecting Yaffs1
    ba95b409c67c fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    8fa35eba9056 yaffs2: adjust to proper location of MS_RDONLY
    1eb5deaad8c4 yaffs2: import git revision b4ce1bb (jan, 2020)
    4dce67c1e8c8 initramfs: allow an optional wrapper script around initramfs generation
    2f603d83fcc4 pnmtologo: use relocatable file name
    664a6a0a484b tools: use basename to identify file in gen-mach-types
    9de64bc0c185 lib/build_OID_registry: fix reproducibility issues
    ae9b80797295 vt/conmakehash: improve reproducibility
    a972323151bd iwlwifi: select MAC80211_LEDS conditionally
    15d2adcc0198 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    5556a6c04b19 arm64/perf: Fix wrong cast that may cause wrong truncation
    5552dc768ffc defconfigs: drop obselete options
    00fe4152df31 arm64/perf: fix backtrace for AAPCS with FP enabled
    3888d0652edf linux-yocto: Handle /bin/awk issues
    3d55d299f23a uvesafb: provide option to specify timeout for task completion
    23c068c080be uvesafb: print error message when task timeout occurs
    edbfc939266e compiler.h: Undef before redefining __attribute_const__
    c99ae7e2a19a vmware: include jiffies.h
    572d84d928c8 Resolve jiffies wrapping about arp
    fdcd47cac843 nfs: Allow default io size to be configured.
    927d48801098 check console device file on fs when booting
    57cc27f821dd mount_root: clarify error messages for when no rootfs found
    1b53d82a8152 mconf: fix output of cflags and libraries
    1811da09f42c menuconfig,mconf-cfg: Allow specification of ncurses location
    83c2e0c6eb1f modpost: mask trivial warnings
    6de673039484 kbuild: exclude meta directory from distclean processing
    6decd32815f5 powerpc: serialize image targets
    f6b683b38318 arm: serialize build targets
    e798b09ebf57 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    dc8a1e5a88f8 x86_64_defconfig: Fix warnings
    68491e5f72b6 powerpc/ptrace: Disable array-bounds warning with gcc8
    d71ebfce3004 powerpc: Disable attribute-alias warnings from gcc8
    62f50884b8b1 powerpc: kexec fix for powerpc64
    da6871c62c37 powerpc: Add unwind information for SPE registers of E500 core
    f161c880c11d mips: make current_cpu_data preempt safe
    5e94a8247ce7 mips: vdso: fix 'jalr $t9' crash in vdso code
    19e36714b1c7 mips: Kconfig: add QEMUMIPS64 option
    e2e537db3cbd 4kc cache tlb hazard: tlbp cache coherency
    aee9870611e5 malta uhci quirks: make allowance for slow 4k(e)c
    881948cd1517 drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    98ec1963fcb7 arm64: defconfig: cleanup config options
    f1727c537ba8 vexpress: Pass LOADADDR to Makefile
    4474c32dc24a arm: ARM EABI socketcall
    75e31a2b70fd ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: 157438f70137e00941456df97c978106175f4440)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6b1a48c9a70d78082ecb23ba98fd833716077023)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Deepthi Hemraj
33dbbe8979 glibc: stable 2.40 branch updates
Below commits on glibc-2.40 stable branch are updated.
7073164add libio: Attempt wide backup free only for non-legacy code
adfb14e71f debug: Fix read error handling in pcprofiledump
f4a9b6e97b elf: Fix tst-dlopen-tlsreinit1.out test dependency
f496b750f1 elf: Avoid re-initializing already allocated TLS in dlopen (bug 31717)
b7edcfa0f4 elf: Clarify and invert second argument of _dl_allocate_tls_init
3414b17e9d nptl: Use <support/check.h> facilities in tst-setuid3
3b3350d7ba posix: Use <support/check.h> facilities in tst-truncate and tst-truncate64
e24902f409 ungetc: Fix backup buffer leak on program exit [BZ #27821]
dac7a0694b ungetc: Fix uninitialized read when putting into unused streams [BZ #27821]
2f749d2b15 Make tst-ungetc use libsupport
27fb563bfe stdio-common: Add test for vfscanf with matches longer than INT_MAX [BZ #27650]
bc240ba7c8 support: Add FAIL test failure helper
709319f9de string: strerror, strsignal cannot use buffer after dlmopen (bug 32026)
586e4cd8c6 Define __libc_initial for the static libc
c0af0c2ba0 x86: Fix bug in strchrnul-evex512 [BZ #32078]
898f25e0b1 x32/cet: Support shadow stack during startup for Linux 6.10
e3556937c2 x86-64: Remove sysdeps/x86_64/x32/dl-machine.h
39ee60a719 support: Add options list terminator to the test driver
5641780762 manual/stdio: Further clarify putc, putwc, getc, and getwc
6a97e2ba14 Fix name space violation in fortify wrappers (bug 32052)
aa533d58ff x86: Tunables may incorrectly set Prefer_PMINUB_for_stringop (bug 32047)
928769737c resolv: Fix tst-resolv-short-response for older GCC (bug 32042)
ca53bc68ab Add mremap tests
2eb2d78ca7 mremap: Update manual entry
3433a35842 linux: Update the mremap C implementation [BZ #31968]
46f19b2342 Enhanced test coverage for strncmp, wcsncmp
509166c9a5 Enhance test coverage for strnlen, wcsnlen
132a72f93c manual: make setrlimit() description less ambiguous
65fbcfe589 manual/stdio: Clarify putc and putwc
5d2a931a81 malloc: add multi-threaded tests for aligned_alloc/calloc/malloc
2aebac5e15 malloc: avoid global locks in tst-aligned_alloc-lib.c
145b588637 Fix version number in NEWS file
b6aeba2de1 manual: Do not mention STATIC_TLS in dynamic linker hardening recommendations
ef14142663 resolv: Do not wait for non-existing second DNS response after error (bug 30081)
8bbb8d7b16 resolv: Allow short error responses to match any query (bug 31890)

(From OE-Core rev: 08d6477a47ff7819af2c24693c5dfbd0c59ac2ff)

Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5335a7b2852ce891a98eda18d59fc32e60f1c722)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Shunsuke Tokumoto
fa99b92b24 python3-setuptools: Add "python:setuptools" to CVE_PRODUCT
Since there are vulnerabilities that cannot be detected by the existing
CVE_PRODUCT, add "python:setuptools" to CVE_PRODUCT.

https://nvd.nist.gov/vuln/detail/CVE-2013-1633
https://nvd.nist.gov/vuln/detail/CVE-2022-40897

(From OE-Core rev: d06ce1ca98e5a192dd47af0fa243328aa6d87bff)

Signed-off-by: Shunsuke Tokumoto <s-tokumoto@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit aa1c8d97efc6640a1cffa2459d9b20ad1f7309b0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Peter Marko
1111dd3ba1 wpa-supplicant: Ignore CVE-2024-5290
NVD CVE report [1] links Ubuntu bug [2] which has a very good
description/discussion about this issue.
It applies only to distros patching wpa-supplicant to allow non-root
users (e.g. via netdev group) to load modules.
This is not the case of Yocto.

Quote:
So upstream isn't vulnerable as they only expose the dbus interface to
root. Downstreams like Ubuntu and Chromium added a patch that grants
access to the netdev group. The patch is the problem, not the upstream
code IMHO.

There is also a commit [3] associated with this CVE, however that only
provides build-time configuration to limit paths which can be accessed
but it acts only as a mitigation for distros which allow non-root users
to load crafted modules.

The patch is included in version 2.11, however NVD has this CVE
version-less, so explicit ignore is necessary.

[1] https://nvd.nist.gov/vuln/detail/CVE-2024-5290
[2] https://bugs.launchpad.net/ubuntu/+source/wpa/+bug/2067613
[3] https://w1.fi/cgit/hostap/commit/?id=c84388ee4c66bcd310db57489eac4a75fc600747

(From OE-Core rev: 617cf25b0f49b732f961f1fa4d1390e8e883f12b)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6cb794d44a8624784ec0f76dca764616d81ffbf5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Antonin Godard
86bc5dca18 release-notes-5.1: update release note for styhead
Finalize the release note for the 5.1 release (styhead).

Add enhancements, changes, removals, license changes, and migration
notes for this release by going over the git commit log of
openembedded-core, bitbake and meta-yocto.

(From yocto-docs rev: 65618b0588053d2c4325d995482957b660f5e104)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 17:04:54 +01:00
Lee Chee Yang
e21d9bcda7 release-notes-5.1: update for several section
update for these changes:
 - license
 - recipe enable for ptests
 - new class, recipe and variable.
 - PACKAGECONFIG
 - some utility script, class and include file.
 - bitbake.
 - qemu/runqemu.
 - Contributors.

removed wic as no significant change or improvement.

Antonin Godard: amend and fix some typos.

(From yocto-docs rev: afbcc16cd5244d8bb6bb79796aa064156f99e3d3)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 17:04:54 +01:00
Antonin Godard
1a0e884473 ref-manual: add mission pep517-backend sanity check
New sanity check to check for PEP517-backend compliance.

(From yocto-docs rev: 24e5bbeefe989e22ecdf5e86f48432e437330cc2)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 17:04:54 +01:00
Antonin Godard
875498aa82 ref-manual: merge patch-status-* to patch-status
These are not distinct anymore and check for any patches in any layer.

(From yocto-docs rev: 300c585909743754e0e6662d48d43834c031b835)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 17:04:54 +01:00
Antonin Godard
fb481d9ea4 ref-manual: add missing variable PRSERV_UPSTREAM
(From yocto-docs rev: 94a590aad8d503c5d5528bff4d8ec07746ca9805)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 17:04:54 +01:00
Antonin Godard
2d2cc822ce ref-manual: add missing OPKGBUILDCMD variable
(From yocto-docs rev: a6a2c8e48995200c9c3be7096f34d912427de145)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 17:04:54 +01:00
Antonin Godard
d2f0e50f30 ref-manual: drop TCLIBCAPPEND variable
No longer required as TMPDIR can be shared for multiple lib providers
nowadays.

(From yocto-docs rev: 6690c0aee9e7f0dcc63ccbe19657b78963240610)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 17:04:54 +01:00
Antonin Godard
2f96b4eb92 ref-manual: add missing EXTERNAL_KERNEL_DEVICETREE variable
This variable can be used to specify one or more compiled device tree or
device tree overlays to use in addition to the one compiled by the
kernel.

(From yocto-docs rev: 6566ffceab3780dc5ecbfe26f786ebe6ff17e693)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 17:04:54 +01:00
Antonin Godard
14186b29fb ref-manual: add missing image manifest variables
New variables that control the output of the image task manifests.

(From yocto-docs rev: e46af38733ae581c4aa180efc226d8a34ea4e590)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 17:04:54 +01:00
Antonin Godard
3cf1818e08 ref-manual: add missing TESTIMAGE_FAILED_QA_ARTIFACTS
This variable lists space-separated paths on the target to retrieve onto
the host, when inheriting testimage.

(From yocto-docs rev: 2537642d2cdf844dc5f6027fb3097aac52162c1f)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 17:04:54 +01:00
Antonin Godard
3ed853713e ref-manual: drop siteconfig class
Removed as it was only used by ncurses and zlib and adding minimal
added-value for a considerable amount of added runtime.

(From yocto-docs rev: c35688a0f4cb115c63387cc15fd15ec57cb386fb)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 17:04:54 +01:00
Antonin Godard
7564fe65d7 ref-manual: add new RECIPE_UPGRADE_EXTRA_TASKS variable
(From yocto-docs rev: c80bc42afa40fd9eb5acaba24da3ad3b5915a254)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 17:04:54 +01:00
Antonin Godard
50a9d8220c ref-manual: add missing nospdx class
(From yocto-docs rev: ec41a5bf1a49e5d83bb93a3438ba1cd01f613088)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 17:04:54 +01:00
Antonin Godard
eb17e06e8b ref-manual: add new retain class and variables
Document the new `retain` class with its configuration variables in the
variable index.

(From yocto-docs rev: b62f1be5dada0fb760ff7e0806b16225f7261560)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 17:04:54 +01:00
Antonin Godard
a91f06c3a6 ref-manual: add new vex class
Add a brief description on the new vex.bbclass that is used to generate
metadata needed by external tools to check for vulnerabilities.

(From yocto-docs rev: 32cf3414f5ed127f59119e38639bc8dbd57b7891)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 17:04:53 +01:00
Antonin Godard
b3a7565465 ref-manual: add missing CVE_CHECK manifest variables
Variables that can be used for toggling creation of manifest and
specifying the path to the output in the deploy directory.

(From yocto-docs rev: 14131a42a7ea8bbae2165c1b8dbcabd5f28b2b22)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 17:04:53 +01:00
Yoann Congal
d278c5ddb1 release-notes-5.1: document spirv-tools reproducibility
This covers Poky's commits
47ed8ac83a (spirv-tools: Fix git-describe related reproducibility, 2024-08-03)
a19bb8c1d5 (spirv-tools: Update merged patch to backport status, 2024-09-05)

(From yocto-docs rev: 98e7f378bc5670d23a6c2bdfcd3b7af965f7c450)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-09 14:04:26 +01:00
Yoann Congal
aa8f9838d4 release-notes-5.1: document fixed _test_devtool_add_git_url test
This covers Poky's commits:
3c05286fa1 (oeqa/selftest/devtool: fix _test_devtool_add_git_url, 2024-04-26)
268dfbd949 (Revert "oeqa/selftest/devtool: fix test_devtool_add_git_style2", 2024-04-26)

(From yocto-docs rev: 8c4efab8f9baf1e8b11232dc8438ab7c103a9a40)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-09 14:04:26 +01:00
Yoann Congal
79e444e880 release-notes-5.1: document added python3-libarchive-c ptest
This covers Poky's commit
c01e633ab9 (python3-libarchive-c: add ptest, 2024-08-02)

(From yocto-docs rev: 94126f6f5526b460ebd5ce548ad0aa83dbc1eeaa)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-09 14:04:26 +01:00
Yoann Congal
315a4aa17c migration/release-notes-5.1: document oeqa/selftest envvars change
This covers the Poky commit:
61186bc98a (oeqa/selftest: Only rewrite envvars paths that absolutely point to builddir, 2024-09-10)

(From yocto-docs rev: 59bfb63af0913ad69ae36691436af96d63dd657b)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-09 14:04:26 +01:00
Lee Chee Yang
d3160e2d2d migration-guide: add release notes for 4.0.21
(From yocto-docs rev: bbe2ae02d01ffd962e0a7086c9e08a0e205c1728)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-09 14:04:26 +01:00
Richard Purdie
6ffecc8083 bitbake: fetch2/git: Use quote from shlex, not pipes
The pipes module is removed in python 3.13. It was already using the
quote function from shlex so use that directly instead.

The module already imports shlex too so it is an easy substitution.

(Bitbake rev: 9ef4f2a30127455562e38e869793a723eed6c07c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-01 14:54:16 +01:00
Ross Burton
9347bef90b bitbake: fetch2: don't try to preserve all attributes when unpacking files
When copying files as part of the unpack we currently use cp -p, which
is a shortcut for --preserve=mode,ownership,timestamps.

We do want to preserve timestamps, because some fetchers set these
explicitly.

We don't care about ownership. If the files are owned by us then they
ill remain owned by us, and if they're not then the attempt to change
ownership will be silently ignored.  In a shared DL_DIR where files have
group ownership this group access isn't relevant in the single-user build
tree.

We do want to preserve executable bits in the mode, but cp always does
this.  The difference between --preserve=mode and no --preserve is that
the mode isn't preserved exactly (no sticky bits, no suid, umask is
applied) but this also isn't a relevant difference in a build tree.

Also expand the arguments to be clearer about what options are being
passed.

The impetus for this is that coreutils 9.4 includes a change in gnulib[1]
and will now try to preserve permission-based xattrs if asked to preserve
the mode.  This can result in cp failing when copying a file from a
NFSv4 server with ACLs stored in xattrs to a non-NFS directory where
those xattrs cannot be written:

cp: preserving permissions for ‘./jquery-3.7.1.js’: Operation not supported

The error comes from the kernel refusing to write a system.nfs4_acl
xattr to a file on ext4.

This situation doesn't appear on all systems with coreutils 9.4, at the
time of writing it fails on Ubuntu 24.04 onwards but not Fedora 40. This
is because /etc/xattr.conf is used to determine which xattrs describe
permissions, and Fedora 40 has removed the NFSv4 attributes[2].

Also, use long-form options to make the cp command clearer.

[1] https://github.com/coreutils/gnulib/commit/eb6a8a4dfb
[2] https://src.fedoraproject.org/rpms/attr/blob/rawhide/f/0003-attr-2.4.48-xattr-conf-nfs4-acls.patch

[ YOCTO #15596 ]

(Bitbake rev: 2f35dac0c821ab231459922ed98e1b2cc599ca9a)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-01 14:54:16 +01:00
Christian Lindeberg
38e998ded5 bitbake: tests/fetch: Update GoModTest and GoModGitTest
Add test cases for a module path consisting of only a hostname and add
checksum verification of the unpacked go.mod files.

(Bitbake rev: 9380859b59923dee17469348f472a22e11be1779)

Signed-off-by: Christian Lindeberg <christian.lindeberg@axis.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-01 14:54:16 +01:00
Mathieu Dubois-Briand
a5eb89bdc9 oeqa/postactions: Fix archive retrieval from target
A previous patch broke archive retrieval because of an undeclared
variable. Declare the archive_name variable as expected.

(From OE-Core rev: 0d0f3541552b073f3536176e2caf847bec24548d)

Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Reported-by: Richard Purdie <richard.purdie@linuxfoundation.org>
CC: Alexis Lothoré <alexis.lothore@bootlin.com>
CC: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-20 16:00:27 +01:00
5810 changed files with 717023 additions and 114 deletions

2
.templateconf Normal file
View File

@@ -0,0 +1,2 @@
# Template settings
TEMPLATECONF=${TEMPLATECONF:-meta-poky/conf/templates/default}

20
LICENSE Normal file
View File

@@ -0,0 +1,20 @@
Different components of OpenEmbedded are under different licenses (a mix
of MIT and GPLv2). See LICENSE.GPL-2.0-only and LICENSE.MIT for further
details of the individual licenses.
All metadata is MIT licensed unless otherwise stated. Source code
included in tree for individual recipes (e.g. patches) are under
the LICENSE stated in the associated recipe (.bb file) unless
otherwise stated.
License information for any other files is either explicitly stated
or defaults to GPL version 2 only.
Individual files contain the following style tags instead of the full license
text to identify their license:
SPDX-License-Identifier: GPL-2.0-only
SPDX-License-Identifier: MIT
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/

288
LICENSE.GPL-2.0-only Normal file
View File

@@ -0,0 +1,288 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Note:
Individual files contain the following tag instead of the full license text.
SPDX-License-Identifier: GPL-2.0-only
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/

25
LICENSE.MIT Normal file
View File

@@ -0,0 +1,25 @@
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Note:
Individual files contain the following tag instead of the full license text.
SPDX-License-Identifier: MIT
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/

71
MAINTAINERS.md Normal file
View File

@@ -0,0 +1,71 @@
OpenEmbedded-Core and Yocto Project Maintainer Information
==========================================================
OpenEmbedded and Yocto Project work jointly together to maintain the metadata,
layers, tools and sub-projects that make up their ecosystems.
The projects operate through collaborative development. This currently takes
place on mailing lists for many components as the "pull request on github"
workflow works well for single or small numbers of maintainers but we have
a large number, all with different specialisms and benefit from the mailing
list review process. Changes therefore undergo peer review through mailing
lists in many cases.
This file aims to acknowledge people with specific skills/knowledge/interest
both to recognise their contributions but also empower them to help lead and
curate those components. Where we have people with specialist knowledge in
particular areas, during review patches/feedback from these people in these
areas would generally carry weight.
This file is maintained in OE-Core but may refer to components that are separate
to it if that makes sense in the context of maintainership. The README of specific
layers and components should ultimately be definitive about the patch process and
maintainership for the component.
Recipe Maintainers
------------------
See meta/conf/distro/include/maintainers.inc
Component/Subsystem Maintainers
-------------------------------
* Kernel (inc. linux-yocto, perf): Bruce Ashfield
* Reproducible Builds: Joshua Watt
* Toaster: David Reyna
* Hash-Equivalence: Joshua Watt
* Recipe upgrade infrastructure: Alex Kanavin
* Toolchain: Khem Raj
* ptest-runner: Aníbal Limón
* opkg: Alex Stewart
* devtool: Saul Wold
* eSDK: Saul Wold
* overlayfs: Vyacheslav Yurkov
* Patchtest: Trevor Gamblin
Maintainers needed
------------------
* Pseudo
* Layer Index
* recipetool
* QA framework/automated testing
* error reporting system/web UI
* wic
* Patchwork
* Matchbox
* Sato
* Autobuilder
Layer Maintainers needed
------------------------
* meta-gplv2 (ideally new strategy but active maintainer welcome)
Shadow maintainers/development needed
--------------------------------------
* toaster
* bitbake

5
MEMORIAM Normal file
View File

@@ -0,0 +1,5 @@
Some project contributors who are sadly no longer with us:
Greg Gilbert (treke) - Ahead of his time with licensing
Thomas Wood (thos) - Creator of the original sato
Scott Rifenbark (scottrif) - Our long standing techwriter whose words live on

114
README
View File

@@ -1,114 +0,0 @@
The poky repository master branch is no longer being updated.
You can either:
a) switch to individual clones of bitbake, openembedded-core, meta-yocto and yocto-docs
https://docs.yoctoproject.org/dev/dev-manual/poky-manual-setup.html
b) use the new bitbake-setup
https://docs.yoctoproject.org/bitbake/dev/bitbake-user-manual/bitbake-user-manual-environment-setup.html
You can find more information in our documentation: https://docs.yoctoproject.org/
Note that "poky" the distro setting is still available in meta-yocto as
before and we continue to use and maintain that.
Long live Poky!
Some further information on the background of this change follows. The
details are taken from:
https://lists.openembedded.org/g/openembedded-architecture/message/2179
TLDR: People have complained about the combo-layer built poky
repository for years. It was meant to be a temporary thing, we now have
an alternative and I'm therefore doing what I promised I'd do. Change
is tough, things may break but this is the right point to at least try
it.
I'd like to note that:
* setting up builds with a separate oe-core and bitbake clone
works as it always has done
* you can change your CI just to use those two repos instead of poky
* bitbake-setup isn't mandatory, it will just be what the yocto-
docs presents to users
* we don't have to stop maintaining the poky repository
however nobody will test the new approach/code unless we do
* we are optionally exposing sstate mirrors in the new config
* we are also exposing config fragments to users
* poky as a DISTRO in meta-yocto remains
A bit more about the history and background for those who are
interested and then some FAQs:
Back around 2010 when we split up openembedded-classic and started
developing layers, we made the artificial "poky" repository construct
as a way to let people easily and quickly get started with the project.
without cloning and managing multiple repositories. Layers were a new
idea with lots of rough edges. kas didn't exist, I think repo was only
just created and it was a different world. For us, it meant hacking up
a quick tool, "combo-layer" and it was really a temporary solution to
fill a gap and it was at least as functional as repo of the era. It was
assumed we'd work it out properly in the future.
At developer meetings there are inevitable questions about why
poky/combo-layer exist and few seem to actually like/support it. There
are continual questions about why a tool doesn't exist or why we don't
adopt one too.
15 years later, a bit longer than we might have thought, we are finally
in a position where there may be a viable way forward to change.
It has taken us a bit of time to get to this point. I wrote the
original description of something like bitbake-setup about 7-8 years
ago. I shared it privately with a few people, the review feedback
stopped me pushing it further as I simply did not have the bandwidth.
We were fortunate to get funding from the Sovereign Tech Fund to start
the work and whilst I'd probably prefer to avoid the issue, the time
had come to start. Since then, Alexander Kanavin has put a lot of work
into getting it to the point where it would be possible to switch. A
huge thanks to him for getting this to the current point.
Why not use kas/submodules/repo?
This topic has been discussed in depth several times. Very roughly,
these are either difficult to focus on our use cases or have specific
designs and intent which we as a project would struggle to influence.
We are taking significant influence from some of them but also trying
to build something where we can benefit from tight direct integration
with bitbake and the metadata. For example fragment support is generic
and hopefully something other approaches can also benefit from. We want
to provide something we can switch the projects docs and autobuilder to
which we can control and develop as we need it to. We are not aiming to
force anyone to switch, you can use whichever tool you want.
Can we not keep poky [repository master branch] around?
If we do that, nobody will use the new tooling and it will be a
disaster as issues won't get resolved. We need our CI to use the same
thing we promote to our new and experienced users. We need this new
tooling to be usable by our experienced developers too. We have tried
for months to get people to try it and they simply don't. Making a
release with it won't change much either. It needs people using it and
for that, poky has to stop being updated.
What happens to poky [repository]?
The LTS branches continue their lifetime as planned. For master, I'll
probably put a final commit in changing to just a README which points
people at the bitbake-setup changes and explains what happened.
What are the timelines? Why now?
If we're going to make a change, we really want this in the next LTS
release, which is April 2026. We only have one release before that
which is now, October 2025. We therefore need to switch now, and then
give us time to update docs, fix issues that arise and so on and have
it in a release cycle. Whilst it means delaying the Oct 2025 release
slightly, that is the right thing to do in the context of the bigger
picture.

33
README.OE-Core.md Normal file
View File

@@ -0,0 +1,33 @@
OpenEmbedded-Core
=================
OpenEmbedded-Core is a layer containing the core metadata for current versions
of OpenEmbedded. It is distro-less (can build a functional image with
DISTRO = "nodistro") and contains only emulated machine support.
For information about OpenEmbedded, see the OpenEmbedded website:
https://www.openembedded.org/
The Yocto Project has extensive documentation about OE including a reference manual
which can be found at:
https://docs.yoctoproject.org/
Contributing
------------
Please refer to our contributor guide here: https://docs.yoctoproject.org/dev/contributor-guide/
for full details on how to submit changes.
As a quick guide, patches should be sent to openembedded-core@lists.openembedded.org
The git command to do that would be:
git send-email -M -1 --to openembedded-core@lists.openembedded.org
Mailing list:
https://lists.openembedded.org/g/openembedded-core
Source code:
https://git.openembedded.org/openembedded-core/

1
README.hardware.md Symbolic link
View File

@@ -0,0 +1 @@
meta-yocto-bsp/README.hardware.md

1
README.md Symbolic link
View File

@@ -0,0 +1 @@
README.poky.md

1
README.poky.md Symbolic link
View File

@@ -0,0 +1 @@
meta-poky/README.poky.md

15
README.qemu.md Normal file
View File

@@ -0,0 +1,15 @@
QEMU Emulation Targets
======================
To simplify development, the build system supports building images to
work with the QEMU emulator in system emulation mode. Several architectures
are currently supported in 32 and 64 bit variants:
* ARM (qemuarm + qemuarm64)
* x86 (qemux86 + qemux86-64)
* PowerPC (qemuppc only)
* MIPS (qemumips + qemumips64)
Use of the QEMU images is covered in the Yocto Project Reference Manual.
The appropriate MACHINE variable value corresponding to the target is given
in brackets.

22
SECURITY.md Normal file
View File

@@ -0,0 +1,22 @@
How to Report a Potential Vulnerability?
========================================
If you would like to report a public issue (for example, one with a released
CVE number), please report it using the
[https://bugzilla.yoctoproject.org/enter_bug.cgi?product=Security Security Bugzilla]
If you are dealing with a not-yet released or urgent issue, please send a
message to security AT yoctoproject DOT org, including as many details as
possible: the layer or software module affected, the recipe and its version,
and any example code, if available.
Branches maintained with security fixes
---------------------------------------
See [https://wiki.yoctoproject.org/wiki/Stable_Release_and_LTS Stable release and LTS]
for detailed info regarding the policies and maintenance of Stable branches.
The [https://wiki.yoctoproject.org/wiki/Releases Release page] contains a list of all
releases of the Yocto Project. Versions in grey are no longer actively maintained with
security patches, but well-tested patches may still be accepted for them for
significant issues.

2
bitbake/.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
*min.js binary
*min.css binary

10
bitbake/AUTHORS Normal file
View File

@@ -0,0 +1,10 @@
Tim Ansell <mithro@mithis.net>
Phil Blundell <pb@handhelds.org>
Seb Frankengul <seb@frankengul.org>
Holger Freyther <holger@moiji-mobile.com>
Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>
Chris Larson <kergoth@handhelds.org>
Ulrich Luckas <luckas@musoft.de>
Mickey Lauer <mickey@Vanille.de>
Richard Purdie <rpurdie@rpsys.net>
Holger Schurig <holgerschurig@gmx.de>

317
bitbake/ChangeLog Normal file
View File

@@ -0,0 +1,317 @@
Changes in Bitbake 1.9.x:
- Add PE (Package Epoch) support from Philipp Zabel (pH5)
- Treat python functions the same as shell functions for logging
- Use TMPDIR/anonfunc as a __anonfunc temp directory (T)
- Catch truncated cache file errors
- Allow operations other than assignment on flag variables
- Add code to handle inter-task dependencies
- Fix cache errors when generation dotGraphs
- Make sure __inherit_cache is updated before calling include() (from Michael Krelin)
- Fix bug when target was in ASSUME_PROVIDED (#2236)
- Raise ParseError for filenames with multiple underscores instead of infinitely looping (#2062)
- Fix invalid regexp in BBMASK error handling (missing import) (#1124)
- Promote certain warnings from debug to note 2 level
- Update manual
- Correctly redirect stdin when forking
- If parsing errors are found, exit, too many users miss the errors
- Remove supriours PREFERRED_PROVIDER warnings
- svn fetcher: Add _buildsvncommand function
- Improve certain error messages
- Rewrite svn fetcher to make adding extra operations easier
as part of future SRCDATE="now" fixes
(requires new FETCHCMD_svn definition in bitbake.conf)
- Change SVNDIR layout to be more unique (fixes #2644 and #2624)
- Add ConfigParsed Event after configuration parsing is complete
- Add SRCREV support for svn fetcher
- data.emit_var() - only call getVar if we need the variable
- Stop generating the A variable (seems to be legacy code)
- Make sure intertask depends get processed correcting in recursive depends
- Add pn-PN to overrides when evaluating PREFERRED_VERSION
- Improve the progress indicator by skipping tasks that have
already run before starting the build rather than during it
- Add profiling option (-P)
- Add BB_SRCREV_POLICY variable (clear or cache) to control SRCREV cache
- Add SRCREV_FORMAT support
- Fix local fetcher's localpath return values
- Apply OVERRIDES before performing immediate expansions
- Allow the -b -e option combination to take regular expressions
- Fix handling of variables with expansion in the name using _append/_prepend
e.g. RRECOMMENDS_${PN}_append_xyz = "abc"
- Add plain message function to bb.msg
- Sort the list of providers before processing so dependency problems are
reproducible rather than effectively random
- Fix/improve bitbake -s output
- Add locking for fetchers so only one tries to fetch a given file at a given time
- Fix int(0)/None confusion in runqueue.py which causes random gaps in dependency chains
- Expand data in addtasks
- Print the list of missing DEPENDS,RDEPENDS for the "No buildable providers available for required...."
error message.
- Rework add_task to be more efficient (6% speedup, 7% number of function calls reduction)
- Sort digraph output to make builds more reproducible
- Split expandKeys into two for loops to benefit from the expand_cache (12% speedup)
- runqueue.py: Fix idepends handling to avoid dependency errors
- Clear the terminal TOSTOP flag if set (and warn the user)
- Fix regression from r653 and make SRCDATE/CVSDATE work for packages again
- Fix a bug in bb.decodeurl where http://some.where.com/somefile.tgz decoded to host="" (#1530)
- Warn about malformed PREFERRED_PROVIDERS (#1072)
- Add support for BB_NICE_LEVEL option (#1627)
- Psyco is used only on x86 as there is no support for other architectures.
- Sort initial providers list by default preference (#1145, #2024)
- Improve provider sorting so prefered versions have preference over latest versions (#768)
- Detect builds of tasks with overlapping providers and warn (will become a fatal error) (#1359)
- Add MULTI_PROVIDER_WHITELIST variable to allow known safe multiple providers to be listed
- Handle paths in svn fetcher module parameter
- Support the syntax "export VARIABLE"
- Add bzr fetcher
- Add support for cleaning directories before a task in the form:
do_taskname[cleandirs] = "dir"
- bzr fetcher tweaks from Robert Schuster (#2913)
- Add mercurial (hg) fetcher from Robert Schuster (#2913)
- Don't add duplicates to BBPATH
- Fix preferred_version return values (providers.py)
- Fix 'depends' flag splitting
- Fix unexport handling (#3135)
- Add bb.copyfile function similar to bb.movefile (and improve movefile error reporting)
- Allow multiple options for deptask flag
- Use git-fetch instead of git-pull removing any need for merges when
fetching (we don't care about the index). Fixes fetch errors.
- Add BB_GENERATE_MIRROR_TARBALLS option, set to 0 to make git fetches
faster at the expense of not creating mirror tarballs.
- SRCREV handling updates, improvements and fixes from Poky
- Add bb.utils.lockfile() and bb.utils.unlockfile() from Poky
- Add support for task selfstamp and lockfiles flags
- Disable task number acceleration since it can allow the tasks to run
out of sequence
- Improve runqueue code comments
- Add task scheduler abstraction and some example schedulers
- Improve circular dependency chain debugging code and user feedback
- Don't give a stacktrace for invalid tasks, have a user friendly message (#3431)
- Add support for "-e target" (#3432)
- Fix shell showdata command (#3259)
- Fix shell data updating problems (#1880)
- Properly raise errors for invalid source URI protocols
- Change the wget fetcher failure handling to avoid lockfile problems
- Add support for branches in git fetcher (Otavio Salvador, Michael Lauer)
- Make taskdata and runqueue errors more user friendly
- Add norecurse and fullpath options to cvs fetcher
- Fix exit code for build failures in --continue mode
- Fix git branch tags fetching
- Change parseConfigurationFile so it works on real data, not a copy
- Handle 'base' inherit and all other INHERITs from parseConfigurationFile
instead of BBHandler
- Fix getVarFlags bug in data_smart
- Optmise cache handling by more quickly detecting an invalid cache, only
saving the cache when its changed, moving the cache validity check into
the parsing loop and factoring some getVar calls outside a for loop
- Cooker: Remove a debug message from the parsing loop to lower overhead
- Convert build.py exec_task to use getVarFlags
- Update shell to use cooker.buildFile
- Add StampUpdate event
- Convert -b option to use taskdata/runqueue
- Remove digraph and switch to new stamp checking code. exec_task no longer
honours dependencies
- Make fetcher timestamp updating non-fatal when permissions don't allow
updates
- Add BB_SCHEDULER variable/option ("completion" or "speed") controlling
the way bitbake schedules tasks
- Add BB_STAMP_POLICY variable/option ("perfile" or "full") controlling
how extensively stamps are looked at for validity
- When handling build target failures make sure idepends are checked and
failed where needed. Fixes --continue mode crashes.
- Fix -f (force) in conjunction with -b
- Fix problems with recrdeptask handling where some idepends weren't handled
correctly.
- Handle exit codes correctly (from pH5)
- Work around refs/HEAD issues with git over http (#3410)
- Add proxy support to the CVS fetcher (from Cyril Chemparathy)
- Improve runfetchcmd so errors are seen and various GIT variables are exported
- Add ability to fetchers to check URL validity without downloading
- Improve runtime PREFERRED_PROVIDERS warning message
- Add BB_STAMP_WHITELIST option which contains a list of stamps to ignore when
checking stamp dependencies and using a BB_STAMP_POLICY of "whitelist"
- No longer weight providers on the basis of a package being "already staged". This
leads to builds being non-deterministic.
- Flush stdout/stderr before forking to fix duplicate console output
- Make sure recrdeps tasks include all inter-task dependencies of a given fn
- Add bb.runqueue.check_stamp_fn() for use by packaged-staging
- Add PERSISTENT_DIR to store the PersistData in a persistent
directory != the cache dir.
- Add md5 and sha256 checksum generation functions to utils.py
- Correctly handle '-' characters in class names (#2958)
- Make sure expandKeys has been called on the data dictionary before running tasks
- Correctly add a task override in the form task-TASKNAME.
- Revert the '-' character fix in class names since it breaks things
- When a regexp fails to compile for PACKAGES_DYNAMIC, print a more useful error (#4444)
- Allow to checkout CVS by Date and Time. Just add HHmm to the SRCDATE.
- Move prunedir function to utils.py and add explode_dep_versions function
- Raise an exception if SRCREV == 'INVALID'
- Fix hg fetcher username/password handling and fix crash
- Fix PACKAGES_DYNAMIC handling of packages with '++' in the name
- Rename __depends to __base_depends after configuration parsing so we don't
recheck the validity of the config files time after time
- Add better environmental variable handling. By default it will now only pass certain
whitelisted variables into the data store. If BB_PRESERVE_ENV is set bitbake will use
all variable from the environment. If BB_ENV_WHITELIST is set, that whitelist will be
used instead of the internal bitbake one. Alternatively, BB_ENV_EXTRAWHITE can be used
to extend the internal whitelist.
- Perforce fetcher fix to use commandline options instead of being overriden by the environment
- bb.utils.prunedir can cope with symlinks to directoriees without exceptions
- use @rev when doing a svn checkout
- Add osc fetcher (from Joshua Lock in Poky)
- When SRCREV autorevisioning for a recipe is in use, don't cache the recipe
- Add tryaltconfigs option to control whether bitbake trys using alternative providers
to fulfil failed dependencies. It defaults to off, changing the default since this
behaviour confuses many users and isn't often useful.
- Improve lock file function error handling
- Add username handling to the git fetcher (Robert Bragg)
- Add support for HTTP_PROXY and HTTP_PROXY_IGNORE variables to the wget fetcher
- Export more variables to the fetcher commands to allow ssh checkouts and checkouts through
proxies to work better. (from Poky)
- Also allow user and pswd options in SRC_URIs globally (from Poky)
- Improve proxy handling when using mirrors (from Poky)
- Add bb.utils.prune_suffix function
- Fix hg checkouts of specific revisions (from Poky)
- Fix wget fetching of urls with parameters specified (from Poky)
- Add username handling to git fetcher (from Poky)
- Set HOME environmental variable when running fetcher commands (from Poky)
- Make sure allowed variables inherited from the environment are exported again (from Poky)
- When running a stage task in bbshell, run populate_staging, not the stage task (from Poky)
- Fix + character escaping from PACKAGES_DYNAMIC (thanks Otavio Salvador)
- Addition of BBCLASSEXTEND support for allowing one recipe to provide multiple targets (from Poky)
Changes in Bitbake 1.8.0:
- Release 1.7.x as a stable series
Changes in BitBake 1.7.x:
- Major updates of the dependency handling and execution
of tasks. Code from bin/bitbake replaced with runqueue.py
and taskdata.py
- New task execution code supports multithreading with a simplistic
threading algorithm controlled by BB_NUMBER_THREADS
- Change of the SVN Fetcher to keep the checkout around
courtsey of Paul Sokolovsky (#1367)
- PATH fix to bbimage (#1108)
- Allow debug domains to be specified on the commandline (-l)
- Allow 'interactive' tasks
- Logging message improvements
- Drop now uneeded BUILD_ALL_DEPS variable
- Add support for wildcards to -b option
- Major overhaul of the fetchers making a large amount of code common
including mirroring code
- Fetchers now touch md5 stamps upon access (to show activity)
- Fix -f force option when used without -b (long standing bug)
- Add expand_cache to data_cache.py, caching expanded data (speedup)
- Allow version field in DEPENDS (ignored for now)
- Add abort flag support to the shell
- Make inherit fail if the class doesn't exist (#1478)
- Fix data.emit_env() to expand keynames as well as values
- Add ssh fetcher
- Add perforce fetcher
- Make PREFERRED_PROVIDER_foobar defaults to foobar if available
- Share the parser's mtime_cache, reducing the number of stat syscalls
- Compile all anonfuncs at once!
*** Anonfuncs must now use common spacing format ***
- Memorise the list of handlers in __BBHANDLERS and tasks in __BBTASKS
This removes 2 million function calls resulting in a 5-10% speedup
- Add manpage
- Update generateDotGraph to use taskData/runQueue improving accuracy
and also adding a task dependency graph
- Fix/standardise on GPLv2 licence
- Move most functionality from bin/bitbake to cooker.py and split into
separate funcitons
- CVS fetcher: Added support for non-default port
- Add BBINCLUDELOGS_LINES, the number of lines to read from any logfile
- Drop shebangs from lib/bb scripts
Changes in Bitbake 1.6.0:
- Better msg handling
- COW dict implementation from Tim Ansell (mithro) leading
to better performance
- Speed up of -s
Changes in Bitbake 1.4.4:
- SRCDATE now handling courtsey Justin Patrin
- #1017 fix to work with rm_work
Changes in BitBake 1.4.2:
- Send logs to oe.pastebin.com instead of pastebin.com
fixes #856
- Copy the internal bitbake data before building the
dependency graph. This fixes nano not having a
virtual/libc dependency
- Allow multiple TARBALL_STASH entries
- Cache, check if the directory exists before changing
into it
- git speedup cloning by not doing a checkout
- allow to have spaces in filenames (.conf, .bb, .bbclass)
Changes in BitBake 1.4.0:
- Fix to check both RDEPENDS and RDEPENDS_${PN}
- Fix a RDEPENDS parsing bug in utils:explode_deps()
- Update git fetcher behaviour to match git changes
- ASSUME_PROVIDED allowed to include runtime packages
- git fetcher cleanup and efficency improvements
- Change the format of the cache
- Update usermanual to document the Fetchers
- Major changes to caching with a new strategy
giving a major performance increase when reparsing
with few data changes
Changes in BitBake 1.3.3:
- Create a new Fetcher module to ease the
development of new Fetchers.
Issue #438 fixed by rpurdie@openedhand.com
- Make the Subversion fetcher honor the SRC Date
(CVSDATE).
Issue #555 fixed by chris@openedhand.com
- Expand PREFERRED_PROVIDER properly
Issue #436 fixed by rprudie@openedhand.com
- Typo fix for Issue #531 by Philipp Zabel for the
BitBake Shell
- Introduce a new special variable SRCDATE as
a generic naming to replace CVSDATE.
- Introduce a new keyword 'required'. In contrast
to 'include' parsing will fail if a to be included
file can not be found.
- Remove hardcoding of the STAMP directory. Patch
courtsey pHilipp Zabel
- Track the RDEPENDS of each package (rpurdie@openedhand.com)
- Introduce BUILD_ALL_DEPS to build all RDEPENDS. E.g
this is used by the OpenEmbedded Meta Packages.
(rpurdie@openedhand.com).
Changes in BitBake 1.3.2:
- reintegration of make.py into BitBake
- bbread is gone, use bitbake -e
- lots of shell updates and bugfixes
- Introduction of the .= and =. operator
- Sort variables, keys and groups in bitdoc
- Fix regression in the handling of BBCOLLECTIONS
- Update the bitbake usermanual
Changes in BitBake 1.3.0:
- add bitbake interactive shell (bitbake -i)
- refactor bitbake utility in OO style
- kill default arguments in methods in the bb.data module
- kill default arguments in methods in the bb.fetch module
- the http/https/ftp fetcher will fail if the to be
downloaded file was not found in DL_DIR (this is needed
to avoid unpacking the sourceforge mirror page)
- Switch to a cow like data instance for persistent and non
persisting mode (called data_smart.py)
- Changed the callback of bb.make.collect_bbfiles to carry
additional parameters
- Drastically reduced the amount of needed RAM by not holding
each data instance in memory when using a cache/persistent
storage
Changes in BitBake 1.2.1:
The 1.2.1 release is meant as a intermediate release to lay the
ground for more radical changes. The most notable changes are:
- Do not hardcode {}, use bb.data.init() instead if you want to
get a instance of a data class
- bb.data.init() is a factory and the old bb.data methods are delegates
- Do not use deepcopy use bb.data.createCopy() instead.
- Removed default arguments in bb.fetch

29
bitbake/LICENSE Normal file
View File

@@ -0,0 +1,29 @@
BitBake is licensed under the GNU General Public License version 2.0. See
LICENSE.GPL-2.0-only for further details.
Individual files contain the following style tags instead of the full license text:
SPDX-License-Identifier: GPL-2.0-only
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/
The following external components are distributed with this software:
* The Toaster Simple UI application is based upon the Django project template, the files of which are covered by the BSD license and are copyright (c) Django Software
Foundation and individual contributors.
* Twitter Bootstrap (including Glyphicons), redistributed under the MIT license
* jQuery is redistributed under the MIT license.
* Twitter typeahead.js redistributed under the MIT license. Note that the JS source has one small modification, so the full unminified file is currently included to make it obvious where this is.
* jsrender is redistributed under the MIT license.
* QUnit is redistributed under the MIT license.
* Font Awesome fonts redistributed under the SIL Open Font License 1.1
* simplediff is distributed under the zlib license.

View File

@@ -0,0 +1,288 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Note:
Individual files contain the following tag instead of the full license text.
SPDX-License-Identifier: GPL-2.0-only
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/

25
bitbake/LICENSE.MIT Normal file
View File

@@ -0,0 +1,25 @@
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Note:
Individual files contain the following tag instead of the full license text.
SPDX-License-Identifier: MIT
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/

63
bitbake/README Normal file
View File

@@ -0,0 +1,63 @@
Bitbake
=======
BitBake is a generic task execution engine that allows shell and Python tasks to be run
efficiently and in parallel while working within complex inter-task dependency constraints.
One of BitBake's main users, OpenEmbedded, takes this core and builds embedded Linux software
stacks using a task-oriented approach.
For information about Bitbake, see the OpenEmbedded website:
https://www.openembedded.org/
Bitbake plain documentation can be found under the doc directory or its integrated
html version at the Yocto Project website:
https://docs.yoctoproject.org
Bitbake requires Python version 3.8 or newer.
Contributing
------------
Please refer to our contributor guide here: https://docs.yoctoproject.org/contributor-guide/
for full details on how to submit changes.
As a quick guide, patches should be sent to bitbake-devel@lists.openembedded.org
The git command to do that would be:
git send-email -M -1 --to bitbake-devel@lists.openembedded.org
If you're sending a patch related to the BitBake manual, make sure you copy
the Yocto Project documentation mailing list:
git send-email -M -1 --to bitbake-devel@lists.openembedded.org --cc docs@lists.yoctoproject.org
Mailing list:
https://lists.openembedded.org/g/bitbake-devel
Source code:
https://git.openembedded.org/bitbake/
Testing
-------
Bitbake has a testsuite located in lib/bb/tests/ whichs aim to try and prevent regressions.
You can run this with "bitbake-selftest". In particular the fetcher is well covered since
it has so many corner cases. The datastore has many tests too. Testing with the testsuite is
recommended before submitting patches, particularly to the fetcher and datastore. We also
appreciate new test cases and may require them for more obscure issues.
To run the tests "zstd" and "git" must be installed.
The assumption is made that this testsuite is run from an initialized OpenEmbedded build
environment (i.e. `source oe-init-build-env` is used). If this is not the case, run the
testsuite as follows:
export PATH=$(pwd)/bin:$PATH
bin/bitbake-selftest
The testsuite can alternatively be executed using pytest, e.g. obtained from PyPI (in this
case, the PATH is configured automatically):
pytest

24
bitbake/SECURITY.md Normal file
View File

@@ -0,0 +1,24 @@
How to Report a Potential Vulnerability?
========================================
If you would like to report a public issue (for example, one with a released
CVE number), please report it using the
[https://bugzilla.yoctoproject.org/enter_bug.cgi?product=Security Security Bugzilla].
If you have a patch ready, submit it following the same procedure as any other
patch as described in README.md.
If you are dealing with a not-yet released or urgent issue, please send a
message to security AT yoctoproject DOT org, including as many details as
possible: the layer or software module affected, the recipe and its version,
and any example code, if available.
Branches maintained with security fixes
---------------------------------------
See [https://wiki.yoctoproject.org/wiki/Stable_Release_and_LTS Stable release and LTS]
for detailed info regarding the policies and maintenance of Stable branches.
The [https://wiki.yoctoproject.org/wiki/Releases Release page] contains a list of all
releases of the Yocto Project. Versions in grey are no longer actively maintained with
security patches, but well-tested patches may still be accepted for them for
significant issues.

45
bitbake/bin/bitbake Executable file
View File

@@ -0,0 +1,45 @@
#!/usr/bin/env python3
#
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2003, 2004 Phil Blundell
# Copyright (C) 2003 - 2005 Michael 'Mickey' Lauer
# Copyright (C) 2005 Holger Hans Peter Freyther
# Copyright (C) 2005 ROAD GmbH
# Copyright (C) 2006 Richard Purdie
#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
import sys
import warnings
warnings.simplefilter("default")
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)),
'lib'))
try:
import bb
except RuntimeError as exc:
sys.exit(str(exc))
from bb import cookerdata
from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException
bb.utils.check_system_locale()
__version__ = "2.9.1"
if __name__ == "__main__":
if __version__ != bb.__version__:
sys.exit("Bitbake core version and program version mismatch!")
try:
sys.exit(bitbake_main(BitBakeConfigParameters(sys.argv),
cookerdata.CookerConfiguration()))
except BBMainException as err:
sys.exit(err)
except bb.BBHandledException:
sys.exit(1)
except Exception:
import traceback
traceback.print_exc()
sys.exit(1)

208
bitbake/bin/bitbake-diffsigs Executable file
View File

@@ -0,0 +1,208 @@
#!/usr/bin/env python3
# bitbake-diffsigs / bitbake-dumpsig
# BitBake task signature data dump and comparison utility
#
# Copyright (C) 2012-2013, 2017 Intel Corporation
#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
import sys
import warnings
warnings.simplefilter("default")
import argparse
import logging
import pickle
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
import bb.tinfoil
import bb.siggen
import bb.msg
myname = os.path.basename(sys.argv[0])
logger = bb.msg.logger_create(myname)
is_dump = myname == 'bitbake-dumpsig'
def find_siginfo(tinfoil, pn, taskname, sigs=None):
result = None
tinfoil.set_event_mask(['bb.event.FindSigInfoResult',
'logging.LogRecord',
'bb.command.CommandCompleted',
'bb.command.CommandFailed'])
ret = tinfoil.run_command('findSigInfo', pn, taskname, sigs)
if ret:
while True:
event = tinfoil.wait_event(1)
if event:
if isinstance(event, bb.command.CommandCompleted):
break
elif isinstance(event, bb.command.CommandFailed):
logger.error(str(event))
sys.exit(2)
elif isinstance(event, bb.event.FindSigInfoResult):
result = event.result
elif isinstance(event, logging.LogRecord):
logger.handle(event)
else:
logger.error('No result returned from findSigInfo command')
sys.exit(2)
return result
def find_siginfo_task(bbhandler, pn, taskname, sig1=None, sig2=None):
""" Find the most recent signature files for the specified PN/task """
if not taskname.startswith('do_'):
taskname = 'do_%s' % taskname
if sig1 and sig2:
sigfiles = find_siginfo(bbhandler, pn, taskname, [sig1, sig2])
if not sigfiles:
logger.error('No sigdata files found matching %s %s matching either %s or %s' % (pn, taskname, sig1, sig2))
sys.exit(1)
elif sig1 not in sigfiles:
logger.error('No sigdata files found matching %s %s with signature %s' % (pn, taskname, sig1))
sys.exit(1)
elif sig2 not in sigfiles:
logger.error('No sigdata files found matching %s %s with signature %s' % (pn, taskname, sig2))
sys.exit(1)
latestfiles = [sigfiles[sig1]['path'], sigfiles[sig2]['path']]
else:
sigfiles = find_siginfo(bbhandler, pn, taskname)
latestsigs = sorted(sigfiles.keys(), key=lambda h: sigfiles[h]['time'])[-2:]
if not latestsigs:
logger.error('No sigdata files found matching %s %s' % (pn, taskname))
sys.exit(1)
latestfiles = [sigfiles[latestsigs[0]]['path']]
if len(latestsigs) > 1:
latestfiles.append(sigfiles[latestsigs[1]]['path'])
return latestfiles
# Define recursion callback
def recursecb(key, hash1, hash2):
hashes = [hash1, hash2]
hashfiles = find_siginfo(tinfoil, key, None, hashes)
recout = []
if not hashfiles:
recout.append("Unable to find matching sigdata for %s with hashes %s or %s" % (key, hash1, hash2))
elif hash1 not in hashfiles:
recout.append("Unable to find matching sigdata for %s with hash %s" % (key, hash1))
elif hash2 not in hashfiles:
recout.append("Unable to find matching sigdata for %s with hash %s" % (key, hash2))
else:
out2 = bb.siggen.compare_sigfiles(hashfiles[hash1]['path'], hashfiles[hash2]['path'], recursecb, color=color)
for change in out2:
for line in change.splitlines():
recout.append(' ' + line)
return recout
parser = argparse.ArgumentParser(
description=("Dumps" if is_dump else "Compares") + " siginfo/sigdata files written out by BitBake")
parser.add_argument('-D', '--debug',
help='Enable debug output',
action='store_true')
if is_dump:
parser.add_argument("-t", "--task",
help="find the signature data file for the last run of the specified task",
action="store", dest="taskargs", nargs=2, metavar=('recipename', 'taskname'))
parser.add_argument("sigdatafile1",
help="Signature file to dump. Not used when using -t/--task.",
action="store", nargs='?', metavar="sigdatafile")
else:
parser.add_argument('-c', '--color',
help='Colorize the output (where %(metavar)s is %(choices)s)',
choices=['auto', 'always', 'never'], default='auto', metavar='color')
parser.add_argument('-d', '--dump',
help='Dump the last signature data instead of comparing (equivalent to using bitbake-dumpsig)',
action='store_true')
parser.add_argument("-t", "--task",
help="find the signature data files for the last two runs of the specified task and compare them",
action="store", dest="taskargs", nargs=2, metavar=('recipename', 'taskname'))
parser.add_argument("-s", "--signature",
help="With -t/--task, specify the signatures to look for instead of taking the last two",
action="store", dest="sigargs", nargs=2, metavar=('fromsig', 'tosig'))
parser.add_argument("sigdatafile1",
help="First signature file to compare (or signature file to dump, if second not specified). Not used when using -t/--task.",
action="store", nargs='?')
parser.add_argument("sigdatafile2",
help="Second signature file to compare",
action="store", nargs='?')
options = parser.parse_args()
if is_dump:
options.color = 'never'
options.dump = True
options.sigdatafile2 = None
options.sigargs = None
if options.debug:
logger.setLevel(logging.DEBUG)
color = (options.color == 'always' or (options.color == 'auto' and sys.stdout.isatty()))
if options.taskargs:
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(config_only=True)
if not options.dump and options.sigargs:
files = find_siginfo_task(tinfoil, options.taskargs[0], options.taskargs[1], options.sigargs[0],
options.sigargs[1])
else:
files = find_siginfo_task(tinfoil, options.taskargs[0], options.taskargs[1])
if options.dump:
logger.debug("Signature file: %s" % files[-1])
output = bb.siggen.dump_sigfile(files[-1])
else:
if len(files) < 2:
logger.error('Only one matching sigdata file found for the specified task (%s %s)' % (
options.taskargs[0], options.taskargs[1]))
sys.exit(1)
# Recurse into signature comparison
logger.debug("Signature file (previous): %s" % files[-2])
logger.debug("Signature file (latest): %s" % files[-1])
output = bb.siggen.compare_sigfiles(files[-2], files[-1], recursecb, color=color)
else:
if options.sigargs:
logger.error('-s/--signature can only be used together with -t/--task')
sys.exit(1)
try:
if not options.dump and options.sigdatafile1 and options.sigdatafile2:
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(config_only=True)
output = bb.siggen.compare_sigfiles(options.sigdatafile1, options.sigdatafile2, recursecb, color=color)
elif options.sigdatafile1:
output = bb.siggen.dump_sigfile(options.sigdatafile1)
else:
logger.error('Must specify signature file(s) or -t/--task')
parser.print_help()
sys.exit(1)
except IOError as e:
logger.error(str(e))
sys.exit(1)
except (pickle.UnpicklingError, EOFError):
logger.error('Invalid signature data - ensure you are specifying sigdata/siginfo files')
sys.exit(1)
if output:
print('\n'.join(output))

1
bitbake/bin/bitbake-dumpsig Symbolic link
View File

@@ -0,0 +1 @@
bitbake-diffsigs

60
bitbake/bin/bitbake-getvar Executable file
View File

@@ -0,0 +1,60 @@
#! /usr/bin/env python3
#
# Copyright (C) 2021 Richard Purdie
#
# SPDX-License-Identifier: GPL-2.0-only
#
import argparse
import io
import os
import sys
import warnings
warnings.simplefilter("default")
bindir = os.path.dirname(__file__)
topdir = os.path.dirname(bindir)
sys.path[0:0] = [os.path.join(topdir, 'lib')]
import bb.tinfoil
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Bitbake Query Variable")
parser.add_argument("variable", help="variable name to query")
parser.add_argument("-r", "--recipe", help="Recipe name to query", default=None, required=False)
parser.add_argument('-u', '--unexpand', help='Do not expand the value (with --value)', action="store_true")
parser.add_argument('-f', '--flag', help='Specify a variable flag to query (with --value)', default=None)
parser.add_argument('--value', help='Only report the value, no history and no variable name', action="store_true")
parser.add_argument('-q', '--quiet', help='Silence bitbake server logging', action="store_true")
parser.add_argument('--ignore-undefined', help='Suppress any errors related to undefined variables', action="store_true")
args = parser.parse_args()
if not args.value:
if args.unexpand:
sys.exit("--unexpand only makes sense with --value")
if args.flag:
sys.exit("--flag only makes sense with --value")
quiet = args.quiet or args.value
with bb.tinfoil.Tinfoil(tracking=True, setup_logging=not quiet) as tinfoil:
if args.recipe:
tinfoil.prepare(quiet=3 if quiet else 2)
d = tinfoil.parse_recipe(args.recipe)
else:
tinfoil.prepare(quiet=2, config_only=True)
d = tinfoil.config_data
value = None
if args.flag:
value = d.getVarFlag(args.variable, args.flag, expand=not args.unexpand)
if value is None and not args.ignore_undefined:
sys.exit(f"The flag '{args.flag}' is not defined for variable '{args.variable}'")
else:
value = d.getVar(args.variable, expand=not args.unexpand)
if value is None and not args.ignore_undefined:
sys.exit(f"The variable '{args.variable}' is not defined")
if args.value:
print(str(value if value is not None else ""))
else:
bb.data.emit_var(args.variable, d=d, all=True)

418
bitbake/bin/bitbake-hashclient Executable file
View File

@@ -0,0 +1,418 @@
#! /usr/bin/env python3
#
# Copyright (C) 2019 Garmin Ltd.
#
# SPDX-License-Identifier: GPL-2.0-only
#
import argparse
import hashlib
import logging
import os
import pprint
import sys
import threading
import time
import warnings
import netrc
import json
import statistics
warnings.simplefilter("default")
try:
import tqdm
ProgressBar = tqdm.tqdm
except ImportError:
class ProgressBar(object):
def __init__(self, *args, **kwargs):
pass
def __enter__(self):
return self
def __exit__(self, *args, **kwargs):
pass
def update(self):
pass
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib'))
import hashserv
import bb.asyncrpc
DEFAULT_ADDRESS = 'unix://./hashserve.sock'
METHOD = 'stress.test.method'
def print_user(u):
print(f"Username: {u['username']}")
if "permissions" in u:
print("Permissions: " + " ".join(u["permissions"]))
if "token" in u:
print(f"Token: {u['token']}")
def main():
def handle_get(args, client):
result = client.get_taskhash(args.method, args.taskhash, all_properties=True)
if not result:
return 0
print(json.dumps(result, sort_keys=True, indent=4))
return 0
def handle_get_outhash(args, client):
result = client.get_outhash(args.method, args.outhash, args.taskhash)
if not result:
return 0
print(json.dumps(result, sort_keys=True, indent=4))
return 0
def handle_stats(args, client):
if args.reset:
s = client.reset_stats()
else:
s = client.get_stats()
print(json.dumps(s, sort_keys=True, indent=4))
return 0
def handle_stress(args, client):
def thread_main(pbar, lock):
nonlocal found_hashes
nonlocal missed_hashes
nonlocal max_time
nonlocal times
with hashserv.create_client(args.address) as client:
for i in range(args.requests):
taskhash = hashlib.sha256()
taskhash.update(args.taskhash_seed.encode('utf-8'))
taskhash.update(str(i).encode('utf-8'))
start_time = time.perf_counter()
l = client.get_unihash(METHOD, taskhash.hexdigest())
elapsed = time.perf_counter() - start_time
with lock:
if l:
found_hashes += 1
else:
missed_hashes += 1
times.append(elapsed)
pbar.update()
max_time = 0
found_hashes = 0
missed_hashes = 0
lock = threading.Lock()
times = []
start_time = time.perf_counter()
with ProgressBar(total=args.clients * args.requests) as pbar:
threads = [threading.Thread(target=thread_main, args=(pbar, lock), daemon=False) for _ in range(args.clients)]
for t in threads:
t.start()
for t in threads:
t.join()
total_elapsed = time.perf_counter() - start_time
with lock:
mean = statistics.mean(times)
median = statistics.median(times)
stddev = statistics.pstdev(times)
print(f"Number of clients: {args.clients}")
print(f"Requests per client: {args.requests}")
print(f"Number of requests: {len(times)}")
print(f"Total elapsed time: {total_elapsed:.3f}s")
print(f"Total request rate: {len(times)/total_elapsed:.3f} req/s")
print(f"Average request time: {mean:.3f}s")
print(f"Median request time: {median:.3f}s")
print(f"Request time std dev: {stddev:.3f}s")
print(f"Maximum request time: {max(times):.3f}s")
print(f"Minimum request time: {min(times):.3f}s")
print(f"Hashes found: {found_hashes}")
print(f"Hashes missed: {missed_hashes}")
if args.report:
with ProgressBar(total=args.requests) as pbar:
for i in range(args.requests):
taskhash = hashlib.sha256()
taskhash.update(args.taskhash_seed.encode('utf-8'))
taskhash.update(str(i).encode('utf-8'))
outhash = hashlib.sha256()
outhash.update(args.outhash_seed.encode('utf-8'))
outhash.update(str(i).encode('utf-8'))
client.report_unihash(taskhash.hexdigest(), METHOD, outhash.hexdigest(), taskhash.hexdigest())
with lock:
pbar.update()
def handle_remove(args, client):
where = {k: v for k, v in args.where}
if where:
result = client.remove(where)
print("Removed %d row(s)" % (result["count"]))
else:
print("No query specified")
def handle_clean_unused(args, client):
result = client.clean_unused(args.max_age)
print("Removed %d rows" % (result["count"]))
return 0
def handle_refresh_token(args, client):
r = client.refresh_token(args.username)
print_user(r)
def handle_set_user_permissions(args, client):
r = client.set_user_perms(args.username, args.permissions)
print_user(r)
def handle_get_user(args, client):
r = client.get_user(args.username)
print_user(r)
def handle_get_all_users(args, client):
users = client.get_all_users()
print("{username:20}| {permissions}".format(username="Username", permissions="Permissions"))
print(("-" * 20) + "+" + ("-" * 20))
for u in users:
print("{username:20}| {permissions}".format(username=u["username"], permissions=" ".join(u["permissions"])))
def handle_new_user(args, client):
r = client.new_user(args.username, args.permissions)
print_user(r)
def handle_delete_user(args, client):
r = client.delete_user(args.username)
print_user(r)
def handle_get_db_usage(args, client):
usage = client.get_db_usage()
print(usage)
tables = sorted(usage.keys())
print("{name:20}| {rows:20}".format(name="Table name", rows="Rows"))
print(("-" * 20) + "+" + ("-" * 20))
for t in tables:
print("{name:20}| {rows:<20}".format(name=t, rows=usage[t]["rows"]))
print()
total_rows = sum(t["rows"] for t in usage.values())
print(f"Total rows: {total_rows}")
def handle_get_db_query_columns(args, client):
columns = client.get_db_query_columns()
print("\n".join(sorted(columns)))
def handle_gc_status(args, client):
result = client.gc_status()
if not result["mark"]:
print("No Garbage collection in progress")
return 0
print("Current Mark: %s" % result["mark"])
print("Total hashes to keep: %d" % result["keep"])
print("Total hashes to remove: %s" % result["remove"])
return 0
def handle_gc_mark(args, client):
where = {k: v for k, v in args.where}
result = client.gc_mark(args.mark, where)
print("New hashes marked: %d" % result["count"])
return 0
def handle_gc_sweep(args, client):
result = client.gc_sweep(args.mark)
print("Removed %d rows" % result["count"])
return 0
def handle_unihash_exists(args, client):
result = client.unihash_exists(args.unihash)
if args.quiet:
return 0 if result else 1
print("true" if result else "false")
return 0
def handle_ping(args, client):
times = []
for i in range(1, args.count + 1):
if not args.quiet:
print(f"Ping {i} of {args.count}... ", end="")
start_time = time.perf_counter()
client.ping()
elapsed = time.perf_counter() - start_time
times.append(elapsed)
if not args.quiet:
print(f"{elapsed:.3f}s")
mean = statistics.mean(times)
median = statistics.median(times)
std_dev = statistics.pstdev(times)
if not args.quiet:
print("------------------------")
print(f"Number of pings: {len(times)}")
print(f"Average round trip time: {mean:.3f}s")
print(f"Median round trip time: {median:.3f}s")
print(f"Round trip time std dev: {std_dev:.3f}s")
print(f"Min time is: {min(times):.3f}s")
print(f"Max time is: {max(times):.3f}s")
return 0
parser = argparse.ArgumentParser(description='Hash Equivalence Client')
parser.add_argument('--address', default=DEFAULT_ADDRESS, help='Server address (default "%(default)s")')
parser.add_argument('--log', default='WARNING', help='Set logging level')
parser.add_argument('--login', '-l', metavar="USERNAME", help="Authenticate as USERNAME")
parser.add_argument('--password', '-p', metavar="TOKEN", help="Authenticate using token TOKEN")
parser.add_argument('--become', '-b', metavar="USERNAME", help="Impersonate user USERNAME (if allowed) when performing actions")
parser.add_argument('--no-netrc', '-n', action="store_false", dest="netrc", help="Do not use .netrc")
subparsers = parser.add_subparsers()
get_parser = subparsers.add_parser('get', help="Get the unihash for a taskhash")
get_parser.add_argument("method", help="Method to query")
get_parser.add_argument("taskhash", help="Task hash to query")
get_parser.set_defaults(func=handle_get)
get_outhash_parser = subparsers.add_parser('get-outhash', help="Get output hash information")
get_outhash_parser.add_argument("method", help="Method to query")
get_outhash_parser.add_argument("outhash", help="Output hash to query")
get_outhash_parser.add_argument("taskhash", help="Task hash to query")
get_outhash_parser.set_defaults(func=handle_get_outhash)
stats_parser = subparsers.add_parser('stats', help='Show server stats')
stats_parser.add_argument('--reset', action='store_true',
help='Reset server stats')
stats_parser.set_defaults(func=handle_stats)
stress_parser = subparsers.add_parser('stress', help='Run stress test')
stress_parser.add_argument('--clients', type=int, default=10,
help='Number of simultaneous clients')
stress_parser.add_argument('--requests', type=int, default=1000,
help='Number of requests each client will perform')
stress_parser.add_argument('--report', action='store_true',
help='Report new hashes')
stress_parser.add_argument('--taskhash-seed', default='',
help='Include string in taskhash')
stress_parser.add_argument('--outhash-seed', default='',
help='Include string in outhash')
stress_parser.set_defaults(func=handle_stress)
remove_parser = subparsers.add_parser('remove', help="Remove hash entries")
remove_parser.add_argument("--where", "-w", metavar="KEY VALUE", nargs=2, action="append", default=[],
help="Remove entries from table where KEY == VALUE")
remove_parser.set_defaults(func=handle_remove)
clean_unused_parser = subparsers.add_parser('clean-unused', help="Remove unused database entries")
clean_unused_parser.add_argument("max_age", metavar="SECONDS", type=int, help="Remove unused entries older than SECONDS old")
clean_unused_parser.set_defaults(func=handle_clean_unused)
refresh_token_parser = subparsers.add_parser('refresh-token', help="Refresh auth token")
refresh_token_parser.add_argument("--username", "-u", help="Refresh the token for another user (if authorized)")
refresh_token_parser.set_defaults(func=handle_refresh_token)
set_user_perms_parser = subparsers.add_parser('set-user-perms', help="Set new permissions for user")
set_user_perms_parser.add_argument("--username", "-u", help="Username", required=True)
set_user_perms_parser.add_argument("permissions", metavar="PERM", nargs="*", default=[], help="New permissions")
set_user_perms_parser.set_defaults(func=handle_set_user_permissions)
get_user_parser = subparsers.add_parser('get-user', help="Get user")
get_user_parser.add_argument("--username", "-u", help="Username")
get_user_parser.set_defaults(func=handle_get_user)
get_all_users_parser = subparsers.add_parser('get-all-users', help="List all users")
get_all_users_parser.set_defaults(func=handle_get_all_users)
new_user_parser = subparsers.add_parser('new-user', help="Create new user")
new_user_parser.add_argument("--username", "-u", help="Username", required=True)
new_user_parser.add_argument("permissions", metavar="PERM", nargs="*", default=[], help="New permissions")
new_user_parser.set_defaults(func=handle_new_user)
delete_user_parser = subparsers.add_parser('delete-user', help="Delete user")
delete_user_parser.add_argument("--username", "-u", help="Username", required=True)
delete_user_parser.set_defaults(func=handle_delete_user)
db_usage_parser = subparsers.add_parser('get-db-usage', help="Database Usage")
db_usage_parser.set_defaults(func=handle_get_db_usage)
db_query_columns_parser = subparsers.add_parser('get-db-query-columns', help="Show columns that can be used in database queries")
db_query_columns_parser.set_defaults(func=handle_get_db_query_columns)
gc_status_parser = subparsers.add_parser("gc-status", help="Show garbage collection status")
gc_status_parser.set_defaults(func=handle_gc_status)
gc_mark_parser = subparsers.add_parser('gc-mark', help="Mark hashes to be kept for garbage collection")
gc_mark_parser.add_argument("mark", help="Mark for this garbage collection operation")
gc_mark_parser.add_argument("--where", "-w", metavar="KEY VALUE", nargs=2, action="append", default=[],
help="Keep entries in table where KEY == VALUE")
gc_mark_parser.set_defaults(func=handle_gc_mark)
gc_sweep_parser = subparsers.add_parser('gc-sweep', help="Perform garbage collection and delete any entries that are not marked")
gc_sweep_parser.add_argument("mark", help="Mark for this garbage collection operation")
gc_sweep_parser.set_defaults(func=handle_gc_sweep)
unihash_exists_parser = subparsers.add_parser('unihash-exists', help="Check if a unihash is known to the server")
unihash_exists_parser.add_argument("--quiet", action="store_true", help="Don't print status. Instead, exit with 0 if unihash exists and 1 if it does not")
unihash_exists_parser.add_argument("unihash", help="Unihash to check")
unihash_exists_parser.set_defaults(func=handle_unihash_exists)
ping_parser = subparsers.add_parser('ping', help="Ping server")
ping_parser.add_argument("-n", "--count", type=int, help="Number of pings. Default is %(default)s", default=10)
ping_parser.add_argument("-q", "--quiet", action="store_true", help="Don't print each ping; only print results")
ping_parser.set_defaults(func=handle_ping)
args = parser.parse_args()
logger = logging.getLogger('hashserv')
level = getattr(logging, args.log.upper(), None)
if not isinstance(level, int):
raise ValueError('Invalid log level: %s' % args.log)
logger.setLevel(level)
console = logging.StreamHandler()
console.setLevel(level)
logger.addHandler(console)
login = args.login
password = args.password
if login is None and args.netrc:
try:
n = netrc.netrc()
auth = n.authenticators(args.address)
if auth is not None:
login, _, password = auth
except FileNotFoundError:
pass
except netrc.NetrcParseError as e:
sys.stderr.write(f"Error parsing {e.filename}:{e.lineno}: {e.msg}\n")
func = getattr(args, 'func', None)
if func:
try:
with hashserv.create_client(args.address, login, password) as client:
if args.become:
client.become_user(args.become)
return func(args, client)
except bb.asyncrpc.InvokeError as e:
print(f"ERROR: {e}")
return 1
return 0
if __name__ == '__main__':
try:
ret = main()
except Exception:
ret = 1
import traceback
traceback.print_exc()
sys.exit(ret)

179
bitbake/bin/bitbake-hashserv Executable file
View File

@@ -0,0 +1,179 @@
#! /usr/bin/env python3
#
# Copyright (C) 2018 Garmin Ltd.
#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
import sys
import logging
import argparse
import sqlite3
import warnings
warnings.simplefilter("default")
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), "lib"))
import hashserv
from hashserv.server import DEFAULT_ANON_PERMS
VERSION = "1.0.0"
DEFAULT_BIND = "unix://./hashserve.sock"
def main():
parser = argparse.ArgumentParser(
description="Hash Equivalence Reference Server. Version=%s" % VERSION,
formatter_class=argparse.RawTextHelpFormatter,
epilog="""
The bind address may take one of the following formats:
unix://PATH - Bind to unix domain socket at PATH
ws://ADDRESS:PORT - Bind to websocket on ADDRESS:PORT
ADDRESS:PORT - Bind to raw TCP socket on ADDRESS:PORT
To bind to all addresses, leave the ADDRESS empty, e.g. "--bind :8686" or
"--bind ws://:8686". To bind to a specific IPv6 address, enclose the address in
"[]", e.g. "--bind [::1]:8686" or "--bind ws://[::1]:8686"
Note that the default Anonymous permissions are designed to not break existing
server instances when upgrading, but are not particularly secure defaults. If
you want to use authentication, it is recommended that you use "--anon-perms
@read" to only give anonymous users read access, or "--anon-perms @none" to
give un-authenticated users no access at all.
Setting "--anon-perms @all" or "--anon-perms @user-admin" is not allowed, since
this would allow anonymous users to manage all users accounts, which is a bad
idea.
If you are using user authentication, you should run your server in websockets
mode with an SSL terminating load balancer in front of it (as this server does
not implement SSL). Otherwise all usernames and passwords will be transmitted
in the clear. When configured this way, clients can connect using a secure
websocket, as in "wss://SERVER:PORT"
The following permissions are supported by the server:
@none - No permissions
@read - The ability to read equivalent hashes from the server
@report - The ability to report equivalent hashes to the server
@db-admin - Manage the hash database(s). This includes cleaning the
database, removing hashes, etc.
@user-admin - The ability to manage user accounts. This includes, creating
users, deleting users, resetting login tokens, and assigning
permissions.
@all - All possible permissions, including any that may be added
in the future
""",
)
parser.add_argument(
"-b",
"--bind",
default=os.environ.get("HASHSERVER_BIND", DEFAULT_BIND),
help='Bind address (default $HASHSERVER_BIND, "%(default)s")',
)
parser.add_argument(
"-d",
"--database",
default=os.environ.get("HASHSERVER_DB", "./hashserv.db"),
help='Database file (default $HASHSERVER_DB, "%(default)s")',
)
parser.add_argument(
"-l",
"--log",
default=os.environ.get("HASHSERVER_LOG_LEVEL", "WARNING"),
help='Set logging level (default $HASHSERVER_LOG_LEVEL, "%(default)s")',
)
parser.add_argument(
"-u",
"--upstream",
default=os.environ.get("HASHSERVER_UPSTREAM", None),
help="Upstream hashserv to pull hashes from ($HASHSERVER_UPSTREAM)",
)
parser.add_argument(
"-r",
"--read-only",
action="store_true",
help="Disallow write operations from clients ($HASHSERVER_READ_ONLY)",
)
parser.add_argument(
"--db-username",
default=os.environ.get("HASHSERVER_DB_USERNAME", None),
help="Database username ($HASHSERVER_DB_USERNAME)",
)
parser.add_argument(
"--db-password",
default=os.environ.get("HASHSERVER_DB_PASSWORD", None),
help="Database password ($HASHSERVER_DB_PASSWORD)",
)
parser.add_argument(
"--anon-perms",
metavar="PERM[,PERM[,...]]",
default=os.environ.get("HASHSERVER_ANON_PERMS", ",".join(DEFAULT_ANON_PERMS)),
help='Permissions to give anonymous users (default $HASHSERVER_ANON_PERMS, "%(default)s")',
)
parser.add_argument(
"--admin-user",
default=os.environ.get("HASHSERVER_ADMIN_USER", None),
help="Create default admin user with name ADMIN_USER ($HASHSERVER_ADMIN_USER)",
)
parser.add_argument(
"--admin-password",
default=os.environ.get("HASHSERVER_ADMIN_PASSWORD", None),
help="Create default admin user with password ADMIN_PASSWORD ($HASHSERVER_ADMIN_PASSWORD)",
)
parser.add_argument(
"--reuseport",
action="store_true",
help="Enable SO_REUSEPORT, allowing multiple servers to bind to the same port for load balancing",
)
args = parser.parse_args()
logger = logging.getLogger("hashserv")
level = getattr(logging, args.log.upper(), None)
if not isinstance(level, int):
raise ValueError(
"Invalid log level: %s (Try ERROR/WARNING/INFO/DEBUG)" % args.log
)
logger.setLevel(level)
console = logging.StreamHandler()
console.setLevel(level)
logger.addHandler(console)
read_only = (os.environ.get("HASHSERVER_READ_ONLY", "0") == "1") or args.read_only
if "," in args.anon_perms:
anon_perms = args.anon_perms.split(",")
else:
anon_perms = args.anon_perms.split()
server = hashserv.create_server(
args.bind,
args.database,
upstream=args.upstream,
read_only=read_only,
db_username=args.db_username,
db_password=args.db_password,
anon_perms=anon_perms,
admin_username=args.admin_user,
admin_password=args.admin_password,
reuseport=args.reuseport,
)
server.serve_forever()
return 0
if __name__ == "__main__":
try:
ret = main()
except Exception:
ret = 1
import traceback
traceback.print_exc()
sys.exit(ret)

106
bitbake/bin/bitbake-layers Executable file
View File

@@ -0,0 +1,106 @@
#!/usr/bin/env python3
# This script has subcommands which operate against your bitbake layers, either
# displaying useful information, or acting against them.
# See the help output for details on available commands.
# Copyright (C) 2011 Mentor Graphics Corporation
# Copyright (C) 2011-2015 Intel Corporation
#
# SPDX-License-Identifier: GPL-2.0-only
#
import logging
import os
import sys
import argparse
import warnings
warnings.simplefilter("default")
bindir = os.path.dirname(__file__)
topdir = os.path.dirname(bindir)
sys.path[0:0] = [os.path.join(topdir, 'lib')]
import bb.tinfoil
import bb.msg
logger = bb.msg.logger_create('bitbake-layers', sys.stdout)
def main():
parser = argparse.ArgumentParser(
description="BitBake layers utility",
epilog="Use %(prog)s <subcommand> --help to get help on a specific command",
add_help=False)
parser.add_argument('-d', '--debug', help='Enable debug output', action='store_true')
parser.add_argument('-q', '--quiet', help='Print only errors', action='store_true')
parser.add_argument('-F', '--force', help='Forced execution: can be specified multiple times. -F will force add without recipe parse verification and -FF will additionally force the run withput layer parsing.', action='count', default=0)
parser.add_argument('--color', choices=['auto', 'always', 'never'], default='auto', help='Colorize output (where %(metavar)s is %(choices)s)', metavar='COLOR')
global_args, unparsed_args = parser.parse_known_args()
# Help is added here rather than via add_help=True, as we don't want it to
# be handled by parse_known_args()
parser.add_argument('-h', '--help', action='help', default=argparse.SUPPRESS,
help='show this help message and exit')
subparsers = parser.add_subparsers(title='subcommands', metavar='<subcommand>')
subparsers.required = True
if global_args.debug:
logger.setLevel(logging.DEBUG)
elif global_args.quiet:
logger.setLevel(logging.ERROR)
# Need to re-run logger_create with color argument
# (will be the same logger since it has the same name)
bb.msg.logger_create('bitbake-layers', output=sys.stdout,
color=global_args.color,
level=logger.getEffectiveLevel())
plugins = []
tinfoil = bb.tinfoil.Tinfoil(tracking=True)
tinfoil.logger.setLevel(logger.getEffectiveLevel())
if global_args.force > 1:
bbpaths = []
else:
tinfoil.prepare(True)
bbpaths = tinfoil.config_data.getVar('BBPATH').split(':')
try:
for path in ([topdir] + bbpaths):
pluginpath = os.path.join(path, 'lib', 'bblayers')
bb.utils.load_plugins(logger, plugins, pluginpath)
registered = False
for plugin in plugins:
if hasattr(plugin, 'tinfoil_init') and global_args.force <= 1:
plugin.tinfoil_init(tinfoil)
if hasattr(plugin, 'register_commands'):
registered = True
plugin.register_commands(subparsers)
if not registered:
logger.error("No commands registered - missing plugins?")
sys.exit(1)
args = parser.parse_args(unparsed_args, namespace=global_args)
if getattr(args, 'parserecipes', False):
tinfoil.config_data.disableTracking()
tinfoil.parse_recipes()
tinfoil.config_data.enableTracking()
return args.func(args)
finally:
tinfoil.shutdown()
if __name__ == "__main__":
try:
ret = main()
except bb.BBHandledException:
ret = 1
except Exception:
ret = 1
import traceback
traceback.print_exc()
sys.exit(ret)

113
bitbake/bin/bitbake-prserv Executable file
View File

@@ -0,0 +1,113 @@
#!/usr/bin/env python3
#
# Copyright BitBake Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
import sys,logging
import argparse
import warnings
warnings.simplefilter("default")
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), "lib"))
import prserv
import prserv.serv
VERSION = "2.0.0"
PRHOST_DEFAULT="0.0.0.0"
PRPORT_DEFAULT=8585
def init_logger(logfile, loglevel):
numeric_level = getattr(logging, loglevel.upper(), None)
if not isinstance(numeric_level, int):
raise ValueError("Invalid log level: %s" % loglevel)
FORMAT = "%(asctime)-15s %(message)s"
logging.basicConfig(level=numeric_level, filename=logfile, format=FORMAT)
def main():
parser = argparse.ArgumentParser(
description="BitBake PR Server. Version=%s" % VERSION,
formatter_class=argparse.RawTextHelpFormatter)
parser.add_argument(
"-f",
"--file",
default="prserv.sqlite3",
help="database filename (default: prserv.sqlite3)",
)
parser.add_argument(
"-l",
"--log",
default="prserv.log",
help="log filename(default: prserv.log)",
)
parser.add_argument(
"--loglevel",
default="INFO",
help="logging level, i.e. CRITICAL, ERROR, WARNING, INFO, DEBUG",
)
parser.add_argument(
"--start",
action="store_true",
help="start daemon",
)
parser.add_argument(
"--stop",
action="store_true",
help="stop daemon",
)
parser.add_argument(
"--host",
help="ip address to bind",
default=PRHOST_DEFAULT,
)
parser.add_argument(
"--port",
type=int,
default=PRPORT_DEFAULT,
help="port number (default: 8585)",
)
parser.add_argument(
"-r",
"--read-only",
action="store_true",
help="open database in read-only mode",
)
parser.add_argument(
"-u",
"--upstream",
default=os.environ.get("PRSERVER_UPSTREAM", None),
help="Upstream PR service (host:port)",
)
args = parser.parse_args()
init_logger(os.path.abspath(args.log), args.loglevel)
if args.start:
ret=prserv.serv.start_daemon(
args.file,
args.host,
args.port,
os.path.abspath(args.log),
args.read_only,
args.upstream
)
elif args.stop:
ret=prserv.serv.stop_daemon(args.host, args.port)
else:
ret=parser.print_help()
return ret
if __name__ == "__main__":
try:
ret = main()
except Exception:
ret = 1
import traceback
traceback.print_exc()
sys.exit(ret)

79
bitbake/bin/bitbake-selftest Executable file
View File

@@ -0,0 +1,79 @@
#!/usr/bin/env python3
#
# Copyright (C) 2012 Richard Purdie
#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
import sys, logging
import warnings
warnings.simplefilter("default")
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib'))
import unittest
try:
import bb
import hashserv
import prserv
import layerindexlib
except RuntimeError as exc:
sys.exit(str(exc))
tests = ["bb.tests.codeparser",
"bb.tests.color",
"bb.tests.cooker",
"bb.tests.cow",
"bb.tests.data",
"bb.tests.event",
"bb.tests.fetch",
"bb.tests.parse",
"bb.tests.persist_data",
"bb.tests.runqueue",
"bb.tests.siggen",
"bb.tests.utils",
"bb.tests.compression",
"hashserv.tests",
"prserv.tests",
"layerindexlib.tests.layerindexobj",
"layerindexlib.tests.restapi",
"layerindexlib.tests.cooker"]
for t in tests:
t = '.'.join(t.split('.')[:3])
__import__(t)
# Set-up logging
class StdoutStreamHandler(logging.StreamHandler):
"""Special handler so that unittest is able to capture stdout"""
def __init__(self):
# Override __init__() because we don't want to set self.stream here
logging.Handler.__init__(self)
@property
def stream(self):
# We want to dynamically write wherever sys.stdout is pointing to
return sys.stdout
handler = StdoutStreamHandler()
bb.logger.addHandler(handler)
bb.logger.setLevel(logging.DEBUG)
ENV_HELP = """\
Environment variables:
BB_SKIP_NETTESTS set to 'yes' in order to skip tests using network
connection
BB_TMPDIR_NOCLEAN set to 'yes' to preserve test tmp directories
"""
class main(unittest.main):
def _print_help(self, *args, **kwargs):
super(main, self)._print_help(*args, **kwargs)
print(ENV_HELP)
if __name__ == '__main__':
main(defaultTest=tests, buffer=True)

55
bitbake/bin/bitbake-server Executable file
View File

@@ -0,0 +1,55 @@
#!/usr/bin/env python3
#
# SPDX-License-Identifier: GPL-2.0-only
#
# Copyright (C) 2020 Richard Purdie
#
import os
import sys
import warnings
warnings.simplefilter("default")
import logging
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
import bb
bb.utils.check_system_locale()
# Users shouldn't be running this code directly
if len(sys.argv) != 11 or not sys.argv[1].startswith("decafbad"):
print("bitbake-server is meant for internal execution by bitbake itself, please don't use it standalone.")
sys.exit(1)
import bb.server.process
lockfd = int(sys.argv[2])
readypipeinfd = int(sys.argv[3])
logfile = sys.argv[4]
lockname = sys.argv[5]
sockname = sys.argv[6]
timeout = float(sys.argv[7])
profile = bool(int(sys.argv[8]))
xmlrpcinterface = (sys.argv[9], int(sys.argv[10]))
if xmlrpcinterface[0] == "None":
xmlrpcinterface = (None, xmlrpcinterface[1])
# Replace standard fds with our own
with open('/dev/null', 'r') as si:
os.dup2(si.fileno(), sys.stdin.fileno())
so = open(logfile, 'a+')
os.dup2(so.fileno(), sys.stdout.fileno())
os.dup2(so.fileno(), sys.stderr.fileno())
# Have stdout and stderr be the same so log output matches chronologically
# and there aren't two seperate buffers
sys.stderr = sys.stdout
logger = logging.getLogger("BitBake")
# Ensure logging messages get sent to the UI as events
handler = bb.event.LogHandler()
logger.addHandler(handler)
bb.server.process.execServer(lockfd, readypipeinfd, lockname, sockname, timeout, xmlrpcinterface, profile)

582
bitbake/bin/bitbake-worker Executable file
View File

@@ -0,0 +1,582 @@
#!/usr/bin/env python3
#
# Copyright BitBake Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
import sys
import warnings
warnings.simplefilter("default")
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
from bb import fetch2
import logging
import bb
import select
import errno
import signal
import pickle
import traceback
import queue
import shlex
import subprocess
from multiprocessing import Lock
from threading import Thread
bb.utils.check_system_locale()
# Users shouldn't be running this code directly
if len(sys.argv) != 2 or not sys.argv[1].startswith("decafbad"):
print("bitbake-worker is meant for internal execution by bitbake itself, please don't use it standalone.")
sys.exit(1)
profiling = False
if sys.argv[1].startswith("decafbadbad"):
profiling = True
try:
import cProfile as profile
except:
import profile
# Unbuffer stdout to avoid log truncation in the event
# of an unorderly exit as well as to provide timely
# updates to log files for use with tail
try:
if sys.stdout.name == '<stdout>':
import fcntl
fl = fcntl.fcntl(sys.stdout.fileno(), fcntl.F_GETFL)
fl |= os.O_SYNC
fcntl.fcntl(sys.stdout.fileno(), fcntl.F_SETFL, fl)
#sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
except:
pass
logger = logging.getLogger("BitBake")
worker_pipe = sys.stdout.fileno()
bb.utils.nonblockingfd(worker_pipe)
# Need to guard against multiprocessing being used in child processes
# and multiple processes trying to write to the parent at the same time
worker_pipe_lock = None
handler = bb.event.LogHandler()
logger.addHandler(handler)
if 0:
# Code to write out a log file of all events passing through the worker
logfilename = "/tmp/workerlogfile"
format_str = "%(levelname)s: %(message)s"
conlogformat = bb.msg.BBLogFormatter(format_str)
consolelog = logging.FileHandler(logfilename)
consolelog.setFormatter(conlogformat)
logger.addHandler(consolelog)
worker_queue = queue.Queue()
def worker_fire(event, d):
data = b"<event>" + pickle.dumps(event) + b"</event>"
worker_fire_prepickled(data)
def worker_fire_prepickled(event):
global worker_queue
worker_queue.put(event)
#
# We can end up with write contention with the cooker, it can be trying to send commands
# and we can be trying to send event data back. Therefore use a separate thread for writing
# back data to cooker.
#
worker_thread_exit = False
def worker_flush(worker_queue):
worker_queue_int = bytearray()
global worker_pipe, worker_thread_exit
while True:
try:
worker_queue_int.extend(worker_queue.get(True, 1))
except queue.Empty:
pass
while (worker_queue_int or not worker_queue.empty()):
try:
(_, ready, _) = select.select([], [worker_pipe], [], 1)
if not worker_queue.empty():
worker_queue_int.extend(worker_queue.get())
written = os.write(worker_pipe, worker_queue_int)
worker_queue_int = worker_queue_int[written:]
except (IOError, OSError) as e:
if e.errno != errno.EAGAIN and e.errno != errno.EPIPE:
raise
if worker_thread_exit and worker_queue.empty() and not worker_queue_int:
return
worker_thread = Thread(target=worker_flush, args=(worker_queue,))
worker_thread.start()
def worker_child_fire(event, d):
global worker_pipe
global worker_pipe_lock
data = b"<event>" + pickle.dumps(event) + b"</event>"
try:
with bb.utils.lock_timeout(worker_pipe_lock):
while(len(data)):
written = worker_pipe.write(data)
data = data[written:]
except IOError:
sigterm_handler(None, None)
raise
bb.event.worker_fire = worker_fire
lf = None
#lf = open("/tmp/workercommandlog", "w+")
def workerlog_write(msg):
if lf:
lf.write(msg)
lf.flush()
def sigterm_handler(signum, frame):
signal.signal(signal.SIGTERM, signal.SIG_DFL)
os.killpg(0, signal.SIGTERM)
sys.exit()
def fork_off_task(cfg, data, databuilder, workerdata, extraconfigdata, runtask):
fn = runtask['fn']
task = runtask['task']
taskname = runtask['taskname']
taskhash = runtask['taskhash']
unihash = runtask['unihash']
appends = runtask['appends']
layername = runtask['layername']
taskdepdata = runtask['taskdepdata']
quieterrors = runtask['quieterrors']
# We need to setup the environment BEFORE the fork, since
# a fork() or exec*() activates PSEUDO...
envbackup = {}
fakeroot = False
fakeenv = {}
umask = None
uid = os.getuid()
gid = os.getgid()
taskdep = runtask['taskdep']
if 'umask' in taskdep and taskname in taskdep['umask']:
umask = taskdep['umask'][taskname]
elif workerdata["umask"]:
umask = workerdata["umask"]
if umask:
# umask might come in as a number or text string..
try:
umask = int(umask, 8)
except TypeError:
pass
dry_run = cfg.dry_run or runtask['dry_run']
# We can't use the fakeroot environment in a dry run as it possibly hasn't been built
if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not dry_run:
fakeroot = True
envvars = (runtask['fakerootenv'] or "").split()
for key, value in (var.split('=',1) for var in envvars):
envbackup[key] = os.environ.get(key)
os.environ[key] = value
fakeenv[key] = value
fakedirs = (runtask['fakerootdirs'] or "").split()
for p in fakedirs:
bb.utils.mkdirhier(p)
logger.debug2('Running %s:%s under fakeroot, fakedirs: %s' %
(fn, taskname, ', '.join(fakedirs)))
else:
envvars = (runtask['fakerootnoenv'] or "").split()
for key, value in (var.split('=',1) for var in envvars):
envbackup[key] = os.environ.get(key)
os.environ[key] = value
fakeenv[key] = value
sys.stdout.flush()
sys.stderr.flush()
try:
pipein, pipeout = os.pipe()
pipein = os.fdopen(pipein, 'rb', 4096)
pipeout = os.fdopen(pipeout, 'wb', 0)
pid = os.fork()
except OSError as e:
logger.critical("fork failed: %d (%s)" % (e.errno, e.strerror))
sys.exit(1)
if pid == 0:
def child():
global worker_pipe
global worker_pipe_lock
pipein.close()
bb.utils.signal_on_parent_exit("SIGTERM")
# Save out the PID so that the event can include it the
# events
bb.event.worker_pid = os.getpid()
bb.event.worker_fire = worker_child_fire
worker_pipe = pipeout
worker_pipe_lock = Lock()
# Make the child the process group leader and ensure no
# child process will be controlled by the current terminal
# This ensures signals sent to the controlling terminal like Ctrl+C
# don't stop the child processes.
os.setsid()
signal.signal(signal.SIGTERM, sigterm_handler)
# Let SIGHUP exit as SIGTERM
signal.signal(signal.SIGHUP, sigterm_handler)
# No stdin & stdout
# stdout is used as a status report channel and must not be used by child processes.
dumbio = os.open(os.devnull, os.O_RDWR)
os.dup2(dumbio, sys.stdin.fileno())
os.dup2(dumbio, sys.stdout.fileno())
if umask is not None:
os.umask(umask)
try:
(realfn, virtual, mc) = bb.cache.virtualfn2realfn(fn)
the_data = databuilder.mcdata[mc]
the_data.setVar("BB_WORKERCONTEXT", "1")
the_data.setVar("BB_TASKDEPDATA", taskdepdata)
the_data.setVar('BB_CURRENTTASK', taskname.replace("do_", ""))
if cfg.limited_deps:
the_data.setVar("BB_LIMITEDDEPS", "1")
the_data.setVar("BUILDNAME", workerdata["buildname"])
the_data.setVar("DATE", workerdata["date"])
the_data.setVar("TIME", workerdata["time"])
for varname, value in extraconfigdata.items():
the_data.setVar(varname, value)
bb.parse.siggen.set_taskdata(workerdata["sigdata"])
if "newhashes" in workerdata:
bb.parse.siggen.set_taskhashes(workerdata["newhashes"])
ret = 0
the_data = databuilder.parseRecipe(fn, appends, layername)
the_data.setVar('BB_TASKHASH', taskhash)
the_data.setVar('BB_UNIHASH', unihash)
bb.parse.siggen.setup_datacache_from_datastore(fn, the_data)
bb.utils.set_process_name("%s:%s" % (the_data.getVar("PN"), taskname.replace("do_", "")))
if not bb.utils.to_boolean(the_data.getVarFlag(taskname, 'network')):
if bb.utils.is_local_uid(uid):
logger.debug("Attempting to disable network for %s" % taskname)
bb.utils.disable_network(uid, gid)
else:
logger.debug("Skipping disable network for %s since %s is not a local uid." % (taskname, uid))
# exported_vars() returns a generator which *cannot* be passed to os.environ.update()
# successfully. We also need to unset anything from the environment which shouldn't be there
exports = bb.data.exported_vars(the_data)
bb.utils.empty_environment()
for e, v in exports:
os.environ[e] = v
for e in fakeenv:
os.environ[e] = fakeenv[e]
the_data.setVar(e, fakeenv[e])
the_data.setVarFlag(e, 'export', "1")
task_exports = the_data.getVarFlag(taskname, 'exports')
if task_exports:
for e in task_exports.split():
the_data.setVarFlag(e, 'export', '1')
v = the_data.getVar(e)
if v is not None:
os.environ[e] = v
if quieterrors:
the_data.setVarFlag(taskname, "quieterrors", "1")
except Exception:
if not quieterrors:
logger.critical(traceback.format_exc())
os._exit(1)
sys.stdout.flush()
sys.stderr.flush()
try:
if dry_run:
return 0
try:
ret = bb.build.exec_task(fn, taskname, the_data, cfg.profile)
finally:
if fakeroot:
fakerootcmd = shlex.split(the_data.getVar("FAKEROOTCMD"))
subprocess.run(fakerootcmd + ['-S'], check=True, stdout=subprocess.PIPE)
return ret
except:
os._exit(1)
if not profiling:
os._exit(child())
else:
profname = "profile-%s.log" % (fn.replace("/", "-") + "-" + taskname)
prof = profile.Profile()
try:
ret = profile.Profile.runcall(prof, child)
finally:
prof.dump_stats(profname)
bb.utils.process_profilelog(profname)
os._exit(ret)
else:
for key, value in iter(envbackup.items()):
if value is None:
del os.environ[key]
else:
os.environ[key] = value
return pid, pipein, pipeout
class runQueueWorkerPipe():
"""
Abstraction for a pipe between a worker thread and the worker server
"""
def __init__(self, pipein, pipeout):
self.input = pipein
if pipeout:
pipeout.close()
bb.utils.nonblockingfd(self.input)
self.queue = bytearray()
def read(self):
start = len(self.queue)
try:
self.queue.extend(self.input.read(102400) or b"")
except (OSError, IOError) as e:
if e.errno != errno.EAGAIN:
raise
end = len(self.queue)
index = self.queue.find(b"</event>")
while index != -1:
msg = self.queue[:index+8]
assert msg.startswith(b"<event>") and msg.count(b"<event>") == 1
worker_fire_prepickled(msg)
self.queue = self.queue[index+8:]
index = self.queue.find(b"</event>")
return (end > start)
def close(self):
while self.read():
continue
if len(self.queue) > 0:
print("Warning, worker child left partial message: %s" % self.queue)
self.input.close()
normalexit = False
class BitbakeWorker(object):
def __init__(self, din):
self.input = din
bb.utils.nonblockingfd(self.input)
self.queue = bytearray()
self.cookercfg = None
self.databuilder = None
self.data = None
self.extraconfigdata = None
self.build_pids = {}
self.build_pipes = {}
signal.signal(signal.SIGTERM, self.sigterm_exception)
# Let SIGHUP exit as SIGTERM
signal.signal(signal.SIGHUP, self.sigterm_exception)
if "beef" in sys.argv[1]:
bb.utils.set_process_name("Worker (Fakeroot)")
else:
bb.utils.set_process_name("Worker")
def sigterm_exception(self, signum, stackframe):
if signum == signal.SIGTERM:
bb.warn("Worker received SIGTERM, shutting down...")
elif signum == signal.SIGHUP:
bb.warn("Worker received SIGHUP, shutting down...")
self.handle_finishnow(None)
signal.signal(signal.SIGTERM, signal.SIG_DFL)
os.kill(os.getpid(), signal.SIGTERM)
def serve(self):
while True:
(ready, _, _) = select.select([self.input] + [i.input for i in self.build_pipes.values()], [] , [], 1)
if self.input in ready:
try:
r = self.input.read()
if len(r) == 0:
# EOF on pipe, server must have terminated
self.sigterm_exception(signal.SIGTERM, None)
self.queue.extend(r)
except (OSError, IOError):
pass
if len(self.queue):
self.handle_item(b"cookerconfig", self.handle_cookercfg)
self.handle_item(b"extraconfigdata", self.handle_extraconfigdata)
self.handle_item(b"workerdata", self.handle_workerdata)
self.handle_item(b"newtaskhashes", self.handle_newtaskhashes)
self.handle_item(b"runtask", self.handle_runtask)
self.handle_item(b"finishnow", self.handle_finishnow)
self.handle_item(b"ping", self.handle_ping)
self.handle_item(b"quit", self.handle_quit)
for pipe in self.build_pipes:
if self.build_pipes[pipe].input in ready:
self.build_pipes[pipe].read()
if len(self.build_pids):
while self.process_waitpid():
continue
def handle_item(self, item, func):
opening_tag = b"<" + item + b">"
if not self.queue.startswith(opening_tag):
return
tag_len = len(opening_tag)
if len(self.queue) < tag_len + 4:
# we need to receive more data
return
header = self.queue[tag_len:tag_len + 4]
payload_len = int.from_bytes(header, 'big')
# closing tag has length (tag_len + 1)
if len(self.queue) < tag_len * 2 + 1 + payload_len:
# we need to receive more data
return
index = self.queue.find(b"</" + item + b">")
if index != -1:
try:
func(self.queue[(tag_len + 4):index])
except pickle.UnpicklingError:
workerlog_write("Unable to unpickle data: %s\n" % ":".join("{:02x}".format(c) for c in self.queue))
raise
self.queue = self.queue[(index + len(b"</") + len(item) + len(b">")):]
def handle_cookercfg(self, data):
self.cookercfg = pickle.loads(data)
self.databuilder = bb.cookerdata.CookerDataBuilder(self.cookercfg, worker=True)
self.databuilder.parseBaseConfiguration(worker=True)
self.data = self.databuilder.data
def handle_extraconfigdata(self, data):
self.extraconfigdata = pickle.loads(data)
def handle_workerdata(self, data):
self.workerdata = pickle.loads(data)
bb.build.verboseShellLogging = self.workerdata["build_verbose_shell"]
bb.build.verboseStdoutLogging = self.workerdata["build_verbose_stdout"]
bb.msg.loggerDefaultLogLevel = self.workerdata["logdefaultlevel"]
bb.msg.loggerDefaultDomains = self.workerdata["logdefaultdomain"]
for mc in self.databuilder.mcdata:
self.databuilder.mcdata[mc].setVar("PRSERV_HOST", self.workerdata["prhost"])
self.databuilder.mcdata[mc].setVar("BB_HASHSERVE", self.workerdata["hashservaddr"])
self.databuilder.mcdata[mc].setVar("__bbclasstype", "recipe")
def handle_newtaskhashes(self, data):
self.workerdata["newhashes"] = pickle.loads(data)
def handle_ping(self, _):
workerlog_write("Handling ping\n")
logger.warning("Pong from bitbake-worker!")
def handle_quit(self, data):
workerlog_write("Handling quit\n")
global normalexit
normalexit = True
sys.exit(0)
def handle_runtask(self, data):
runtask = pickle.loads(data)
fn = runtask['fn']
task = runtask['task']
taskname = runtask['taskname']
workerlog_write("Handling runtask %s %s %s\n" % (task, fn, taskname))
pid, pipein, pipeout = fork_off_task(self.cookercfg, self.data, self.databuilder, self.workerdata, self.extraconfigdata, runtask)
self.build_pids[pid] = task
self.build_pipes[pid] = runQueueWorkerPipe(pipein, pipeout)
def process_waitpid(self):
"""
Return none is there are no processes awaiting result collection, otherwise
collect the process exit codes and close the information pipe.
"""
try:
pid, status = os.waitpid(-1, os.WNOHANG)
if pid == 0 or os.WIFSTOPPED(status):
return False
except OSError:
return False
workerlog_write("Exit code of %s for pid %s\n" % (status, pid))
if os.WIFEXITED(status):
status = os.WEXITSTATUS(status)
elif os.WIFSIGNALED(status):
# Per shell conventions for $?, when a process exits due to
# a signal, we return an exit code of 128 + SIGNUM
status = 128 + os.WTERMSIG(status)
task = self.build_pids[pid]
del self.build_pids[pid]
self.build_pipes[pid].close()
del self.build_pipes[pid]
worker_fire_prepickled(b"<exitcode>" + pickle.dumps((task, status)) + b"</exitcode>")
return True
def handle_finishnow(self, _):
if self.build_pids:
logger.info("Sending SIGTERM to remaining %s tasks", len(self.build_pids))
for k, v in iter(self.build_pids.items()):
try:
os.kill(-k, signal.SIGTERM)
os.waitpid(-1, 0)
except:
pass
for pipe in self.build_pipes:
self.build_pipes[pipe].read()
try:
worker = BitbakeWorker(os.fdopen(sys.stdin.fileno(), 'rb'))
if not profiling:
worker.serve()
else:
profname = "profile-worker.log"
prof = profile.Profile()
try:
profile.Profile.runcall(prof, worker.serve)
finally:
prof.dump_stats(profname)
bb.utils.process_profilelog(profname)
except BaseException as e:
if not normalexit:
import traceback
sys.stderr.write(traceback.format_exc())
sys.stderr.write(str(e))
finally:
worker_thread_exit = True
worker_thread.join()
workerlog_write("exiting")
if not normalexit:
sys.exit(1)
sys.exit(0)

175
bitbake/bin/git-make-shallow Executable file
View File

@@ -0,0 +1,175 @@
#!/usr/bin/env python3
#
# Copyright BitBake Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
"""git-make-shallow: make the current git repository shallow
Remove the history of the specified revisions, then optionally filter the
available refs to those specified.
"""
import argparse
import collections
import errno
import itertools
import os
import subprocess
import sys
import warnings
warnings.simplefilter("default")
version = 1.0
git_cmd = ['git', '-c', 'safe.bareRepository=all']
def main():
if sys.version_info < (3, 4, 0):
sys.exit('Python 3.4 or greater is required')
git_dir = check_output(git_cmd + ['rev-parse', '--git-dir']).rstrip()
shallow_file = os.path.join(git_dir, 'shallow')
if os.path.exists(shallow_file):
try:
check_output(git_cmd + ['fetch', '--unshallow'])
except subprocess.CalledProcessError:
try:
os.unlink(shallow_file)
except OSError as exc:
if exc.errno != errno.ENOENT:
raise
args = process_args()
revs = check_output(git_cmd + ['rev-list'] + args.revisions).splitlines()
make_shallow(shallow_file, args.revisions, args.refs)
ref_revs = check_output(git_cmd + ['rev-list'] + args.refs).splitlines()
remaining_history = set(revs) & set(ref_revs)
for rev in remaining_history:
if check_output(git_cmd + ['rev-parse', '{}^@'.format(rev)]):
sys.exit('Error: %s was not made shallow' % rev)
filter_refs(args.refs)
if args.shrink:
shrink_repo(git_dir)
subprocess.check_call(git_cmd + ['fsck', '--unreachable'])
def process_args():
# TODO: add argument to automatically keep local-only refs, since they
# can't be easily restored with a git fetch.
parser = argparse.ArgumentParser(description='Remove the history of the specified revisions, then optionally filter the available refs to those specified.')
parser.add_argument('--ref', '-r', metavar='REF', action='append', dest='refs', help='remove all but the specified refs (cumulative)')
parser.add_argument('--shrink', '-s', action='store_true', help='shrink the git repository by repacking and pruning')
parser.add_argument('revisions', metavar='REVISION', nargs='+', help='a git revision/commit')
if len(sys.argv) < 2:
parser.print_help()
sys.exit(2)
args = parser.parse_args()
if args.refs:
args.refs = check_output(git_cmd + ['rev-parse', '--symbolic-full-name'] + args.refs).splitlines()
else:
args.refs = get_all_refs(lambda r, t, tt: t == 'commit' or tt == 'commit')
args.refs = list(filter(lambda r: not r.endswith('/HEAD'), args.refs))
args.revisions = check_output(git_cmd + ['rev-parse'] + ['%s^{}' % i for i in args.revisions]).splitlines()
return args
def check_output(cmd, input=None):
return subprocess.check_output(cmd, universal_newlines=True, input=input)
def make_shallow(shallow_file, revisions, refs):
"""Remove the history of the specified revisions."""
for rev in follow_history_intersections(revisions, refs):
print("Processing %s" % rev)
with open(shallow_file, 'a') as f:
f.write(rev + '\n')
def get_all_refs(ref_filter=None):
"""Return all the existing refs in this repository, optionally filtering the refs."""
ref_output = check_output(git_cmd + ['for-each-ref', '--format=%(refname)\t%(objecttype)\t%(*objecttype)'])
ref_split = [tuple(iter_extend(l.rsplit('\t'), 3)) for l in ref_output.splitlines()]
if ref_filter:
ref_split = (e for e in ref_split if ref_filter(*e))
refs = [r[0] for r in ref_split]
return refs
def iter_extend(iterable, length, obj=None):
"""Ensure that iterable is the specified length by extending with obj."""
return itertools.islice(itertools.chain(iterable, itertools.repeat(obj)), length)
def filter_refs(refs):
"""Remove all but the specified refs from the git repository."""
all_refs = get_all_refs()
to_remove = set(all_refs) - set(refs)
if to_remove:
check_output(['xargs', '-0', '-n', '1'] + git_cmd + ['update-ref', '-d', '--no-deref'],
input=''.join(l + '\0' for l in to_remove))
def follow_history_intersections(revisions, refs):
"""Determine all the points where the history of the specified revisions intersects the specified refs."""
queue = collections.deque(revisions)
seen = set()
for rev in iter_except(queue.popleft, IndexError):
if rev in seen:
continue
parents = check_output(git_cmd + ['rev-parse', '%s^@' % rev]).splitlines()
yield rev
seen.add(rev)
if not parents:
continue
check_refs = check_output(git_cmd + ['merge-base', '--independent'] + sorted(refs)).splitlines()
for parent in parents:
for ref in check_refs:
print("Checking %s vs %s" % (parent, ref))
try:
merge_base = check_output(git_cmd + ['merge-base', parent, ref]).rstrip()
except subprocess.CalledProcessError:
continue
else:
queue.append(merge_base)
def iter_except(func, exception, start=None):
"""Yield a function repeatedly until it raises an exception."""
try:
if start is not None:
yield start()
while True:
yield func()
except exception:
pass
def shrink_repo(git_dir):
"""Shrink the newly shallow repository, removing the unreachable objects."""
subprocess.check_call(git_cmd + ['reflog', 'expire', '--expire-unreachable=now', '--all'])
subprocess.check_call(git_cmd + ['repack', '-ad'])
try:
os.unlink(os.path.join(git_dir, 'objects', 'info', 'alternates'))
except OSError as exc:
if exc.errno != errno.ENOENT:
raise
subprocess.check_call(git_cmd + ['prune', '--expire', 'now'])
if __name__ == '__main__':
main()

332
bitbake/bin/toaster Executable file
View File

@@ -0,0 +1,332 @@
#!/bin/echo ERROR: This script needs to be sourced. Please run as .
# toaster - shell script to start Toaster
# Copyright (C) 2013-2015 Intel Corp.
#
# SPDX-License-Identifier: GPL-2.0-or-later
#
HELP="
Usage 1: source toaster start|stop [webport=<address:port>] [noweb] [nobuild] [toasterdir]
Optional arguments:
[nobuild] Setup the environment for capturing builds with toaster but disable managed builds
[noweb] Setup the environment for capturing builds with toaster but don't start the web server
[webport] Set the development server (default: localhost:8000)
[toasterdir] Set absolute path to be used as TOASTER_DIR (default: BUILDDIR/../)
Usage 2: source toaster manage [createsuperuser|lsupdates|migrate|makemigrations|checksettings|collectstatic|...]
"
custom_extention()
{
custom_extension=$BBBASEDIR/lib/toaster/orm/fixtures/custom_toaster_append.sh
if [ -f $custom_extension ] ; then
$custom_extension $*
fi
}
databaseCheck()
{
retval=0
# you can always add a superuser later via
# ../bitbake/lib/toaster/manage.py createsuperuser --username=<ME>
$MANAGE migrate --noinput || retval=1
if [ $retval -eq 1 ]; then
echo "Failed migrations, halting system start" 1>&2
return $retval
fi
# Make sure that checksettings can pick up any value for TEMPLATECONF
export TEMPLATECONF
$MANAGE checksettings --traceback || retval=1
if [ $retval -eq 1 ]; then
printf "\nError while checking settings; exiting\n"
return $retval
fi
return $retval
}
webserverKillAll()
{
local pidfile
if [ -f ${BUILDDIR}/.toastermain.pid ] ; then
custom_extention web_stop_postpend
else
custom_extention noweb_stop_postpend
fi
for pidfile in ${BUILDDIR}/.toastermain.pid ${BUILDDIR}/.runbuilds.pid; do
if [ -f ${pidfile} ]; then
pid=`cat ${pidfile}`
while kill -0 $pid 2>/dev/null; do
kill -SIGTERM $pid 2>/dev/null
sleep 1
done
rm ${pidfile}
fi
done
}
webserverStartAll()
{
# do not start if toastermain points to a valid process
if ! cat "${BUILDDIR}/.toastermain.pid" 2>/dev/null | xargs -I{} kill -0 {} ; then
retval=1
rm "${BUILDDIR}/.toastermain.pid"
fi
retval=0
# check the database
databaseCheck || return 1
echo "Starting webserver..."
$MANAGE runserver --noreload "$ADDR_PORT" \
</dev/null >>${TOASTER_LOGS_DIR}/web.log 2>&1 \
& echo $! >${BUILDDIR}/.toastermain.pid
sleep 1
if ! cat "${BUILDDIR}/.toastermain.pid" | xargs -I{} kill -0 {} ; then
retval=1
rm "${BUILDDIR}/.toastermain.pid"
else
echo "Toaster development webserver started at http://$ADDR_PORT"
echo -e "\nYou can now run 'bitbake <target>' on the command line and monitor your build in Toaster.\nYou can also use a Toaster project to configure and run a build.\n"
custom_extention web_start_postpend $ADDR_PORT
fi
return $retval
}
INSTOPSYSTEM=0
# define the stop command
stop_system()
{
# prevent reentry
if [ $INSTOPSYSTEM -eq 1 ]; then return; fi
INSTOPSYSTEM=1
webserverKillAll
# unset exported variables
unset TOASTER_DIR
unset BITBAKE_UI
unset BBBASEDIR
trap - SIGHUP
#trap - SIGCHLD
INSTOPSYSTEM=0
}
verify_prereq() {
# Verify Django version
reqfile=$(python3 -c "import os; print(os.path.realpath('$BBBASEDIR/toaster-requirements.txt'))")
exp='s/Django\([><=]\+\)\([^,]\+\),\([><=]\+\)\(.\+\)/'
# expand version parts to 2 digits to support 1.10.x > 1.8
# (note:helper functions hard to insert in-line)
exp=$exp'import sys,django;'
exp=$exp'version=["%02d" % int(n) for n in django.get_version().split(".")];'
exp=$exp'vmin=["%02d" % int(n) for n in "\2".split(".")];'
exp=$exp'vmax=["%02d" % int(n) for n in "\4".split(".")];'
exp=$exp'sys.exit(not (version \1 vmin and version \3 vmax))'
exp=$exp'/p'
if ! sed -n "$exp" $reqfile | python3 - ; then
req=`grep ^Django $reqfile`
echo "This program needs $req"
echo "Please install with pip3 install -r $reqfile"
return 2
fi
return 0
}
# read command line parameters
if [ -n "$BASH_SOURCE" ] ; then
TOASTER=${BASH_SOURCE}
elif [ -n "$ZSH_NAME" ] ; then
TOASTER=${(%):-%x}
else
TOASTER=$0
fi
export BBBASEDIR=`dirname $TOASTER`/..
MANAGE="python3 $BBBASEDIR/lib/toaster/manage.py"
if [ -z "$OE_ROOT" ]; then
OE_ROOT=`dirname $TOASTER`/../..
fi
# this is the configuraton file we are using for toaster
# we are using the same logic that oe-setup-builddir uses
# (based on TEMPLATECONF and .templateconf) to determine
# which toasterconf.json to use.
# note: There are a number of relative path assumptions
# in the local layers that currently make using an arbitrary
# toasterconf.json difficult.
. $OE_ROOT/.templateconf
if [ -n "$TEMPLATECONF" ]; then
if [ ! -d "$TEMPLATECONF" ]; then
# Allow TEMPLATECONF=meta-xyz/conf as a shortcut
if [ -d "$OE_ROOT/$TEMPLATECONF" ]; then
TEMPLATECONF="$OE_ROOT/$TEMPLATECONF"
fi
fi
fi
unset OE_ROOT
WEBSERVER=1
export TOASTER_BUILDSERVER=1
ADDR_PORT="localhost:8000"
TOASTERDIR=`dirname $BUILDDIR`
# ${BUILDDIR}/toaster_logs/ became the default location for toaster logs
# This is needed for implemented django-log-viewer: https://pypi.org/project/django-log-viewer/
# If the directory does not exist, create it.
TOASTER_LOGS_DIR="${BUILDDIR}/toaster_logs/"
if [ ! -d $TOASTER_LOGS_DIR ]
then
mkdir $TOASTER_LOGS_DIR
fi
unset CMD
for param in $*; do
case $param in
noweb )
WEBSERVER=0
;;
nobuild )
TOASTER_BUILDSERVER=0
;;
start )
CMD=$param
;;
stop )
CMD=$param
;;
webport=*)
ADDR_PORT="${param#*=}"
# Split the addr:port string
ADDR=`echo $ADDR_PORT | cut -f 1 -d ':'`
PORT=`echo $ADDR_PORT | cut -f 2 -d ':'`
# If only a port has been speified then set address to localhost.
if [ $ADDR = $PORT ] ; then
ADDR_PORT="localhost:$PORT"
fi
;;
toasterdir=*)
TOASTERDIR="${param#*=}"
;;
manage )
CMD=$param
manage_cmd=""
;;
--help)
echo "$HELP"
return 0
;;
*)
if [ "manage" == "$CMD" ] ; then
manage_cmd="$manage_cmd $param"
else
echo "$HELP"
exit 1
fi
;;
esac
done
if [ `basename \"$0\"` = `basename \"${TOASTER}\"` ]; then
echo "Error: This script needs to be sourced. Please run as . $TOASTER"
return 1
fi
verify_prereq || return 1
# We make sure we're running in the current shell and in a good environment
if [ -z "$BUILDDIR" ] || ! which bitbake >/dev/null 2>&1 ; then
echo "Error: Build environment is not setup or bitbake is not in path." 1>&2
return 2
fi
# this defines the dir toaster will use for
# 1) clones of layers (in _toaster_clones )
# 2) the build dir (in build)
# 3) the sqlite db if that is being used.
# 4) pid's we need to clean up on exit/shutdown
export TOASTER_DIR=$TOASTERDIR
export BB_ENV_PASSTHROUGH_ADDITIONS="$BB_ENV_PASSTHROUGH_ADDITIONS TOASTER_DIR"
# Determine the action. If specified by arguments, fine, if not, toggle it
if [ "$CMD" = "start" ] ; then
if [ -n "$BBSERVER" ]; then
echo " Toaster is already running. Exiting..."
return 1
fi
elif [ "$CMD" = "" ]; then
echo "No command specified"
echo "$HELP"
return 1
fi
echo "The system will $CMD."
# Execute the commands
custom_extention toaster_prepend $CMD $ADDR_PORT
case $CMD in
start )
# check if addr:port is not in use
if [ "$CMD" == 'start' ]; then
if [ $WEBSERVER -gt 0 ]; then
$MANAGE checksocket "$ADDR_PORT" || return 1
fi
fi
# Create configuration file
conf=${BUILDDIR}/conf/local.conf
line='INHERIT+="toaster buildhistory"'
grep -q "$line" $conf || echo $line >> $conf
if [ $WEBSERVER -eq 0 ] ; then
# Do not update the database for "noweb" unless
# it does not yet exist
if [ ! -f "$TOASTER_DIR/toaster.sqlite" ] ; then
if ! databaseCheck; then
echo "Failed ${CMD}."
return 4
fi
fi
custom_extention noweb_start_postpend $ADDR_PORT
fi
if [ $WEBSERVER -gt 0 ] && ! webserverStartAll; then
echo "Failed ${CMD}."
return 4
fi
export BITBAKE_UI='toasterui'
if [ $TOASTER_BUILDSERVER -eq 1 ] ; then
$MANAGE runbuilds \
</dev/null >>${TOASTER_LOGS_DIR}/toaster_runbuilds.log 2>&1 \
& echo $! >${BUILDDIR}/.runbuilds.pid
else
echo "Toaster build server not started."
fi
# set fail safe stop system on terminal exit
trap stop_system SIGHUP
echo "Successful ${CMD}."
custom_extention toaster_postpend $CMD $ADDR_PORT
return 0
;;
stop )
stop_system
echo "Successful ${CMD}."
;;
manage )
cd $BBBASEDIR/lib/toaster
$MANAGE $manage_cmd
;;
esac
custom_extention toaster_postpend $CMD $ADDR_PORT

59
bitbake/bin/toaster-eventreplay Executable file
View File

@@ -0,0 +1,59 @@
#!/usr/bin/env python3
#
# Copyright (C) 2014 Alex Damian
#
# SPDX-License-Identifier: GPL-2.0-only
#
# This file re-uses code spread throughout other Bitbake source files.
# As such, all other copyrights belong to their own right holders.
#
"""
This command takes a filename as a single parameter. The filename is read
as a build eventlog, and the ToasterUI is used to process events in the file
and log data in the database
"""
import os
import sys
import json
import pickle
import codecs
import warnings
warnings.simplefilter("default")
from collections import namedtuple
# mangle syspath to allow easy import of modules
from os.path import join, dirname, abspath
sys.path.insert(0, join(dirname(dirname(abspath(__file__))), 'lib'))
import bb.cooker
from bb.ui import toasterui
from bb.ui import eventreplay
def main(argv):
with open(argv[-1]) as eventfile:
# load variables from the first line
variables = None
while line := eventfile.readline().strip():
try:
variables = json.loads(line)['allvariables']
break
except (KeyError, json.JSONDecodeError):
continue
if not variables:
sys.exit("Cannot find allvariables entry in event log file %s" % argv[-1])
eventfile.seek(0)
params = namedtuple('ConfigParams', ['observe_only'])(True)
player = eventreplay.EventPlayer(eventfile, variables)
return toasterui.main(player, player, params)
# run toaster ui on our mock bitbake class
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: %s <event file>" % os.path.basename(sys.argv[0]))
sys.exit(1)
sys.exit(main(sys.argv))

1
bitbake/contrib/README Normal file
View File

@@ -0,0 +1 @@
This directory is for additional contributed files which may be useful.

View File

@@ -0,0 +1,13 @@
{
"version": 1,
"loggers": {
"BitBake.SigGen.HashEquiv": {
"level": "VERBOSE",
"handlers": ["BitBake.verbconsole"]
},
"BitBake.RunQueue.HashEquiv": {
"level": "VERBOSE",
"handlers": ["BitBake.verbconsole"]
}
}
}

31
bitbake/contrib/bbdev.sh Normal file
View File

@@ -0,0 +1,31 @@
# This is a shell function to be sourced into your shell or placed in your .profile,
# which makes setting things up for BitBake a bit easier.
#
# The author disclaims copyright to the contents of this file and places it in the
# public domain.
bbdev () {
local BBDIR PKGDIR BUILDDIR
if test x"$1" = "x--help"; then echo >&2 "syntax: bbdev [bbdir [pkgdir [builddir]]]"; return 1; fi
if test x"$1" = x; then BBDIR=`pwd`; else BBDIR=$1; fi
if test x"$2" = x; then PKGDIR=`pwd`; else PKGDIR=$2; fi
if test x"$3" = x; then BUILDDIR=`pwd`; else BUILDDIR=$3; fi
BBDIR=`readlink -f $BBDIR`
PKGDIR=`readlink -f $PKGDIR`
BUILDDIR=`readlink -f $BUILDDIR`
if ! (test -d $BBDIR && test -d $PKGDIR && test -d $BUILDDIR); then
echo >&2 "syntax: bbdev [bbdir [pkgdir [builddir]]]"
return 1
fi
PATH=$BBDIR/bin:$PATH
BBPATH=$BBDIR
if test x"$BBDIR" != x"$PKGDIR"; then
BBPATH=$PKGDIR:$BBPATH
fi
if test x"$PKGDIR" != x"$BUILDDIR"; then
BBPATH=$BUILDDIR:$BBPATH
fi
export BBPATH
}

View File

@@ -0,0 +1,89 @@
#! /usr/bin/env python3
#
# Copyright (C) 2020 Joshua Watt <JPEWhacker@gmail.com>
#
# SPDX-License-Identifier: MIT
import argparse
import os
import random
import shutil
import signal
import subprocess
import sys
import time
def try_unlink(path):
try:
os.unlink(path)
except:
pass
def main():
def cleanup():
shutil.rmtree("tmp/cache", ignore_errors=True)
try_unlink("bitbake-cookerdaemon.log")
try_unlink("bitbake.sock")
try_unlink("bitbake.lock")
parser = argparse.ArgumentParser(
description="Bitbake parser torture test",
epilog="""
A torture test for bitbake's parser. Repeatedly interrupts parsing until
bitbake decides to deadlock.
""",
)
args = parser.parse_args()
if not "BUILDDIR" in os.environ:
print(
"'BUILDDIR' not found in the environment. Did you initialize the build environment?"
)
return 1
os.chdir(os.environ["BUILDDIR"])
run_num = 0
while True:
if run_num % 100 == 0:
print("Calibrating wait time...")
cleanup()
start_time = time.monotonic()
r = subprocess.run(["bitbake", "-p"])
max_wait_time = time.monotonic() - start_time
if r.returncode != 0:
print("Calibration run exited with %d" % r.returncode)
return 1
print("Maximum wait time is %f seconds" % max_wait_time)
run_num += 1
wait_time = random.random() * max_wait_time
print("Run #%d" % run_num)
print("Will sleep for %f seconds" % wait_time)
cleanup()
with subprocess.Popen(["bitbake", "-p"]) as proc:
time.sleep(wait_time)
proc.send_signal(signal.SIGINT)
try:
proc.wait(45)
except subprocess.TimeoutExpired:
print("Run #%d: Waited too long. Possible deadlock!" % run_num)
proc.wait()
return 1
if proc.returncode == 0:
print("Exited successfully. Timeout too long?")
else:
print("Exited with %d" % proc.returncode)
if __name__ == "__main__":
sys.exit(main())

83
bitbake/contrib/dump_cache.py Executable file
View File

@@ -0,0 +1,83 @@
#!/usr/bin/env python3
#
# Copyright (C) 2012, 2018 Wind River Systems, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Used for dumping the bb_cache.dat
#
import os
import sys
import argparse
# For importing bb.cache
sys.path.insert(0, os.path.join(os.path.abspath(os.path.dirname(sys.argv[0])), '../lib'))
from bb.cache import CoreRecipeInfo
import pickle
class DumpCache(object):
def __init__(self):
parser = argparse.ArgumentParser(
description="bb_cache.dat's dumper",
epilog="Use %(prog)s --help to get help")
parser.add_argument("-r", "--recipe",
help="specify the recipe, default: all recipes", action="store")
parser.add_argument("-m", "--members",
help = "specify the member, use comma as separator for multiple ones, default: all members", action="store", default="")
parser.add_argument("-s", "--skip",
help = "skip skipped recipes", action="store_true")
parser.add_argument("cachefile",
help = "specify bb_cache.dat", nargs = 1, action="store", default="")
self.args = parser.parse_args()
def main(self):
with open(self.args.cachefile[0], "rb") as cachefile:
pickled = pickle.Unpickler(cachefile)
while True:
try:
key = pickled.load()
val = pickled.load()
except Exception:
break
if isinstance(val, CoreRecipeInfo):
pn = val.pn
if self.args.recipe and self.args.recipe != pn:
continue
if self.args.skip and val.skipped:
continue
if self.args.members:
out = key
for member in self.args.members.split(','):
out += ": %s" % val.__dict__.get(member)
print("%s" % out)
else:
print("%s: %s" % (key, val.__dict__))
elif not self.args.recipe:
print("%s %s" % (key, val))
if __name__ == "__main__":
try:
dump = DumpCache()
ret = dump.main()
except Exception as esc:
ret = 1
import traceback
traceback.print_exc()
sys.exit(ret)

View File

@@ -0,0 +1,23 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2021 Joshua Watt <JPEWhacker@gmail.com>
#
# Dockerfile to build a bitbake hash equivalence server container
#
# From the root of the bitbake repository, run:
#
# docker build -f contrib/hashserv/Dockerfile .
#
FROM alpine:3.13.1
RUN apk add --no-cache python3
COPY bin/bitbake-hashserv /opt/bbhashserv/bin/
COPY lib/hashserv /opt/bbhashserv/lib/hashserv/
COPY lib/bb /opt/bbhashserv/lib/bb/
COPY lib/codegen.py /opt/bbhashserv/lib/codegen.py
COPY lib/ply /opt/bbhashserv/lib/ply/
COPY lib/bs4 /opt/bbhashserv/lib/bs4/
ENTRYPOINT ["/opt/bbhashserv/bin/bitbake-hashserv"]

View File

@@ -0,0 +1,62 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2022 Daniel Gomez <daniel@qtec.com>
#
# Dockerfile to build a bitbake PR service container
#
# From the root of the bitbake repository, run:
#
# docker build -f contrib/prserv/Dockerfile . -t prserv
#
# Running examples:
#
# 1. PR Service in RW mode, port 18585:
#
# docker run --detach --tty \
# --env PORT=18585 \
# --publish 18585:18585 \
# --volume $PWD:/var/lib/bbprserv \
# prserv
#
# 2. PR Service in RO mode, default port (8585) and custom LOGFILE:
#
# docker run --detach --tty \
# --env DBMODE="--read-only" \
# --env LOGFILE=/var/lib/bbprserv/prservro.log \
# --publish 8585:8585 \
# --volume $PWD:/var/lib/bbprserv \
# prserv
#
FROM alpine:3.14.4
RUN apk add --no-cache python3
COPY bin/bitbake-prserv /opt/bbprserv/bin/
COPY lib/prserv /opt/bbprserv/lib/prserv/
COPY lib/bb /opt/bbprserv/lib/bb/
COPY lib/codegen.py /opt/bbprserv/lib/codegen.py
COPY lib/ply /opt/bbprserv/lib/ply/
COPY lib/bs4 /opt/bbprserv/lib/bs4/
ENV PATH=$PATH:/opt/bbprserv/bin
RUN mkdir -p /var/lib/bbprserv
ENV DBFILE=/var/lib/bbprserv/prserv.sqlite3 \
LOGFILE=/var/lib/bbprserv/prserv.log \
LOGLEVEL=debug \
HOST=0.0.0.0 \
PORT=8585 \
DBMODE=""
ENTRYPOINT [ "/bin/sh", "-c", \
"bitbake-prserv \
--file=$DBFILE \
--log=$LOGFILE \
--loglevel=$LOGLEVEL \
--start \
--host=$HOST \
--port=$PORT \
$DBMODE \
&& tail -f $LOGFILE"]

View File

@@ -0,0 +1,18 @@
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -0,0 +1,24 @@
" Vim filetype detection file
" Language: BitBake
" Author: Ricardo Salveti <rsalveti@rsalveti.net>
" Copyright: Copyright (C) 2008 Ricardo Salveti <rsalveti@rsalveti.net>
" Licence: You may redistribute this under the same terms as Vim itself
"
" This sets up the syntax highlighting for BitBake files, like .bb, .bbclass and .inc
if &compatible || version < 600 || exists("b:loaded_bitbake_plugin")
finish
endif
" .bb, .bbappend and .bbclass
au BufNewFile,BufRead *.{bb,bbappend,bbclass} set filetype=bitbake
" .inc
au BufNewFile,BufRead *.inc set filetype=bitbake
" .conf
au BufNewFile,BufRead *.conf
\ if (match(expand("%:p:h"), "conf") > 0) |
\ set filetype=bitbake |
\ endif

View File

@@ -0,0 +1,13 @@
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl cms< sts< sw< et< sua<"
setlocal commentstring=#\ %s
setlocal softtabstop=4 shiftwidth=4 expandtab
setlocal suffixesadd+=.bb,.bbclass

View File

@@ -0,0 +1,343 @@
" Vim indent file
" Language: BitBake
" Copyright: Copyright (C) 2019 Agilent Technologies, Inc.
" Maintainer: Chris Laplante <chris.laplante@agilent.com>
" License: You may redistribute this under the same terms as Vim itself
if exists("b:did_indent")
finish
endif
if exists("*BitbakeIndent")
finish
endif
runtime! indent/sh.vim
unlet b:did_indent
setlocal indentexpr=BitbakeIndent(v:lnum)
setlocal autoindent nolisp
function s:is_bb_python_func_def(lnum)
let stack = synstack(a:lnum, 1)
if len(stack) == 0
return 0
endif
let top = synIDattr(stack[0], "name")
echo top
return synIDattr(stack[0], "name") == "bbPyFuncDef"
endfunction
"""" begin modified from indent/python.vim, upstream commit 7a9bd7c1e0ce1baf5a02daf36eeae3638aa315c7
"""" This copied code is licensed the same as Vim itself.
setlocal indentkeys+=<:>,=elif,=except
let s:keepcpo= &cpo
set cpo&vim
let s:maxoff = 50 " maximum number of lines to look backwards for ()
function! GetBBPythonIndent(lnum)
" If this line is explicitly joined: If the previous line was also joined,
" line it up with that one, otherwise add two 'shiftwidth'
if getline(a:lnum - 1) =~ '\\$'
if a:lnum > 1 && getline(a:lnum - 2) =~ '\\$'
return indent(a:lnum - 1)
endif
return indent(a:lnum - 1) + (exists("g:pyindent_continue") ? eval(g:pyindent_continue) : (shiftwidth() * 2))
endif
" If the start of the line is in a string don't change the indent.
if has('syntax_items')
\ && synIDattr(synID(a:lnum, 1, 1), "name") =~ "String$"
return -1
endif
" Search backwards for the previous non-empty line.
let plnum = prevnonblank(v:lnum - 1)
if plnum == 0
" This is the first non-empty line, use zero indent.
return 0
endif
call cursor(plnum, 1)
" Identing inside parentheses can be very slow, regardless of the searchpair()
" timeout, so let the user disable this feature if he doesn't need it
let disable_parentheses_indenting = get(g:, "pyindent_disable_parentheses_indenting", 0)
if disable_parentheses_indenting == 1
let plindent = indent(plnum)
let plnumstart = plnum
else
" searchpair() can be slow sometimes, limit the time to 150 msec or what is
" put in g:pyindent_searchpair_timeout
let searchpair_stopline = 0
let searchpair_timeout = get(g:, 'pyindent_searchpair_timeout', 150)
" If the previous line is inside parenthesis, use the indent of the starting
" line.
" Trick: use the non-existing "dummy" variable to break out of the loop when
" going too far back.
let parlnum = searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW',
\ "line('.') < " . (plnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if parlnum > 0
" We may have found the opening brace of a BitBake Python task, e.g. 'python do_task {'
" If so, ignore it here - it will be handled later.
if s:is_bb_python_func_def(parlnum)
let parlnum = 0
let plindent = indent(plnum)
let plnumstart = plnum
else
let plindent = indent(parlnum)
let plnumstart = parlnum
endif
else
let plindent = indent(plnum)
let plnumstart = plnum
endif
" When inside parenthesis: If at the first line below the parenthesis add
" two 'shiftwidth', otherwise same as previous line.
" i = (a
" + b
" + c)
call cursor(a:lnum, 1)
let p = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if p > 0
if s:is_bb_python_func_def(p)
" Handle first non-empty line inside a BB Python task
if p == plnum
return shiftwidth()
endif
" Handle the user actually trying to close a BitBake Python task
let line = getline(a:lnum)
if line =~ '^\s*}'
return -2
endif
" Otherwise ignore the brace
let p = 0
else
if p == plnum
" When the start is inside parenthesis, only indent one 'shiftwidth'.
let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if pp > 0
return indent(plnum) + (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : shiftwidth())
endif
return indent(plnum) + (exists("g:pyindent_open_paren") ? eval(g:pyindent_open_paren) : (shiftwidth() * 2))
endif
if plnumstart == p
return indent(plnum)
endif
return plindent
endif
endif
endif
" Get the line and remove a trailing comment.
" Use syntax highlighting attributes when possible.
let pline = getline(plnum)
let pline_len = strlen(pline)
if has('syntax_items')
" If the last character in the line is a comment, do a binary search for
" the start of the comment. synID() is slow, a linear search would take
" too long on a long line.
if synIDattr(synID(plnum, pline_len, 1), "name") =~ "\\(Comment\\|Todo\\)$"
let min = 1
let max = pline_len
while min < max
let col = (min + max) / 2
if synIDattr(synID(plnum, col, 1), "name") =~ "\\(Comment\\|Todo\\)$"
let max = col
else
let min = col + 1
endif
endwhile
let pline = strpart(pline, 0, min - 1)
endif
else
let col = 0
while col < pline_len
if pline[col] == '#'
let pline = strpart(pline, 0, col)
break
endif
let col = col + 1
endwhile
endif
" If the previous line ended with a colon, indent this line
if pline =~ ':\s*$'
return plindent + shiftwidth()
endif
" If the previous line was a stop-execution statement...
" TODO: utilize this logic to deindent when ending a bbPyDefRegion
if getline(plnum) =~ '^\s*\(break\|continue\|raise\|return\|pass\|bb\.fatal\)\>'
" See if the user has already dedented
if indent(a:lnum) > indent(plnum) - shiftwidth()
" If not, recommend one dedent
return indent(plnum) - shiftwidth()
endif
" Otherwise, trust the user
return -1
endif
" If the current line begins with a keyword that lines up with "try"
if getline(a:lnum) =~ '^\s*\(except\|finally\)\>'
let lnum = a:lnum - 1
while lnum >= 1
if getline(lnum) =~ '^\s*\(try\|except\)\>'
let ind = indent(lnum)
if ind >= indent(a:lnum)
return -1 " indent is already less than this
endif
return ind " line up with previous try or except
endif
let lnum = lnum - 1
endwhile
return -1 " no matching "try"!
endif
" If the current line begins with a header keyword, dedent
if getline(a:lnum) =~ '^\s*\(elif\|else\)\>'
" Unless the previous line was a one-liner
if getline(plnumstart) =~ '^\s*\(for\|if\|try\)\>'
return plindent
endif
" Or the user has already dedented
if indent(a:lnum) <= plindent - shiftwidth()
return -1
endif
return plindent - shiftwidth()
endif
" When after a () construct we probably want to go back to the start line.
" a = (b
" + c)
" here
if parlnum > 0
return plindent
endif
return -1
endfunction
let &cpo = s:keepcpo
unlet s:keepcpo
""" end of stuff from indent/python.vim
let b:did_indent = 1
setlocal indentkeys+=0\"
function! BitbakeIndent(lnum)
if !has('syntax_items')
return -1
endif
let stack = synstack(a:lnum, 1)
if len(stack) == 0
return -1
endif
let name = synIDattr(stack[0], "name")
" TODO: support different styles of indentation for assignments. For now,
" we only support like this:
" VAR = " \
" value1 \
" value2 \
" "
"
" i.e. each value indented by shiftwidth(), with the final quote " completely unindented.
if name == "bbVarValue"
" Quote handling is tricky. kernel.bbclass has this line for instance:
" EXTRA_OEMAKE = " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" " HOSTCPP="${BUILD_CPP}""
" Instead of trying to handle crazy cases like that, just assume that a
" double-quote on a line by itself (following an assignment) means the
" user is closing the assignment, and de-dent.
if getline(a:lnum) =~ '^\s*"$'
return 0
endif
let prevstack = synstack(a:lnum - 1, 1)
if len(prevstack) == 0
return -1
endif
let prevname = synIDattr(prevstack[0], "name")
" Only indent if there was actually a continuation character on
" the previous line, to avoid misleading indentation.
let prevlinelastchar = synIDattr(synID(a:lnum - 1, col([a:lnum - 1, "$"]) - 1, 1), "name")
let prev_continued = prevlinelastchar == "bbContinue"
" Did the previous line introduce an assignment?
if index(["bbVarDef", "bbVarFlagDef"], prevname) != -1
if prev_continued
return shiftwidth()
endif
endif
if !prev_continued
return 0
endif
" Autoindent can take it from here
return -1
endif
if index(["bbPyDefRegion", "bbPyFuncRegion"], name) != -1
let ret = GetBBPythonIndent(a:lnum)
" Should normally always be indented by at least one shiftwidth; but allow
" return of -1 (defer to autoindent) or -2 (force indent to 0)
if ret == 0
return shiftwidth()
elseif ret == -2
return 0
endif
return ret
endif
" TODO: GetShIndent doesn't detect tasks prepended with 'fakeroot'
" Need to submit a patch upstream to Vim to provide an extension point.
" Unlike the Python indenter, the Sh indenter is way too large to copy and
" modify here.
if name == "bbShFuncRegion"
return GetShIndent()
endif
" TODO:
" + heuristics for de-denting out of a bbPyDefRegion? e.g. when the user
" types an obvious BB keyword like addhandler or addtask, or starts
" writing a shell task. Maybe too hard to implement...
return -1
endfunction

View File

@@ -0,0 +1,88 @@
" Vim plugin file
" Purpose: Create a template for new bb files
" Author: Ricardo Salveti <rsalveti@gmail.com>
" Copyright: Copyright (C) 2008 Ricardo Salveti <rsalveti@gmail.com>
"
" This file is licensed under the MIT license, see COPYING.MIT in
" this source distribution for the terms.
"
" Based on the gentoo-syntax package
"
" Will try to use git to find the user name and email
if &compatible || v:version < 600 || exists("b:loaded_bitbake_plugin")
finish
endif
fun! <SID>GetUserName()
let l:user_name = system("git config --get user.name")
if v:shell_error
return "Unknown User"
else
return substitute(l:user_name, "\n", "", "")
endfun
fun! <SID>GetUserEmail()
let l:user_email = system("git config --get user.email")
if v:shell_error
return "unknown@user.org"
else
return substitute(l:user_email, "\n", "", "")
endfun
fun! BBHeader()
let l:current_year = strftime("%Y")
let l:user_name = <SID>GetUserName()
let l:user_email = <SID>GetUserEmail()
0 put ='# Copyright (C) ' . l:current_year .
\ ' ' . l:user_name . ' <' . l:user_email . '>'
put ='# Released under the MIT license (see COPYING.MIT for the terms)'
$
endfun
fun! NewBBTemplate()
if line2byte(line('$') + 1) != -1
return
endif
let l:paste = &paste
set nopaste
" Get the header
call BBHeader()
" New the bb template
put ='SUMMARY = \"\"'
put ='HOMEPAGE = \"\"'
put ='LICENSE = \"\"'
put ='SECTION = \"\"'
put ='DEPENDS = \"\"'
put =''
put ='SRC_URI = \"\"'
" Go to the first place to edit
0
/^SUMMARY =/
exec "normal 2f\""
if paste == 1
set paste
endif
endfun
if !exists("g:bb_create_on_empty")
let g:bb_create_on_empty = 1
endif
" disable in case of vimdiff
if v:progname =~ "vimdiff"
let g:bb_create_on_empty = 0
endif
augroup NewBB
au BufNewFile,BufReadPost *.bb
\ if g:bb_create_on_empty |
\ call NewBBTemplate() |
\ endif
augroup END

View File

@@ -0,0 +1,46 @@
" Vim plugin file
" Purpose: Create a template for new bbappend file
" Author: Joshua Watt <JPEWhacker@gmail.com>
" Copyright: Copyright (C) 2017 Joshua Watt <JPEWhacker@gmail.com>
"
" This file is licensed under the MIT license, see COPYING.MIT in
" this source distribution for the terms.
"
if &compatible || v:version < 600 || exists("b:loaded_bitbake_plugin")
finish
endif
fun! NewBBAppendTemplate()
if line2byte(line('$') + 1) != -1
return
endif
let l:paste = &paste
set nopaste
" New bbappend template
0 put ='FILESEXTRAPATHS:prepend := \"${THISDIR}/${PN}:\"'
2
if paste == 1
set paste
endif
endfun
if !exists("g:bb_create_on_empty")
let g:bb_create_on_empty = 1
endif
" disable in case of vimdiff
if v:progname =~ "vimdiff"
let g:bb_create_on_empty = 0
endif
augroup NewBBAppend
au BufNewFile,BufReadPost *.bbappend
\ if g:bb_create_on_empty |
\ call NewBBAppendTemplate() |
\ endif
augroup END

View File

@@ -0,0 +1,131 @@
" Vim syntax file
" Language: BitBake bb/bbclasses/inc
" Author: Chris Larson <kergoth@handhelds.org>
" Ricardo Salveti <rsalveti@rsalveti.net>
" Copyright: Copyright (C) 2004 Chris Larson <kergoth@handhelds.org>
" Copyright (C) 2008 Ricardo Salveti <rsalveti@rsalveti.net>
"
" This file is licensed under the MIT license, see COPYING.MIT in
" this source distribution for the terms.
"
" Syntax highlighting for bb, bbclasses and inc files.
"
" It's an entirely new type, just has specific syntax in shell and python code
if &compatible || v:version < 600 || exists("b:loaded_bitbake_plugin")
finish
endif
if exists("b:current_syntax")
finish
endif
syn include @python syntax/python.vim
if exists("b:current_syntax")
unlet b:current_syntax
endif
" BitBake syntax
" Matching case
syn case match
" Indicates the error when nothing is matched
syn match bbUnmatched "."
" Comments
syn cluster bbCommentGroup contains=bbTodo,@Spell
syn keyword bbTodo COMBAK FIXME TODO XXX contained
syn match bbComment "#.*$" contains=@bbCommentGroup
" String helpers
syn match bbQuote +['"]+ contained
syn match bbDelimiter "[(){}=]" contained
syn match bbArrayBrackets "[\[\]]" contained
" BitBake strings
syn match bbContinue "\\$"
syn region bbString matchgroup=bbQuote start=+"+ skip=+\\$+ end=+"+ contained contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell
syn region bbString matchgroup=bbQuote start=+'+ skip=+\\$+ end=+'+ contained contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell
" Vars definition
syn match bbExport "^export" nextgroup=bbIdentifier skipwhite
syn keyword bbExportFlag export contained nextgroup=bbIdentifier skipwhite
syn match bbIdentifier "[a-zA-Z0-9\-_\.\/\+]\+" display contained
syn match bbVarDeref "${[a-zA-Z0-9\-_:\.\/\+]\+}" contained
syn match bbVarEq "\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)" contained nextgroup=bbVarValue
syn match bbVarDef "^\(export\s*\)\?\([a-zA-Z0-9\-_\.\/\+][${}a-zA-Z0-9\-_:\.\/\+]*\)\s*\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)\@=" contains=bbExportFlag,bbIdentifier,bbOverrideOperator,bbVarDeref nextgroup=bbVarEq
syn match bbVarValue ".*$" contained contains=bbString,bbVarDeref,bbVarPyValue
syn region bbVarPyValue start=+${@+ skip=+\\$+ end=+}+ contained contains=@python
" Vars metadata flags
syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.+]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag
syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(:=\|=\|.=\|=.|+=\|=+\|?=\)\@=" contained contains=bbIdentifier nextgroup=bbVarEq
" Includes and requires
syn keyword bbInclude inherit include require contained
syn match bbIncludeRest ".*$" contained contains=bbString,bbVarDeref,bbVarPyValue
syn match bbIncludeLine "^\(inherit\|include\|require\)\s\+" contains=bbInclude nextgroup=bbIncludeRest
" Add taks and similar
syn keyword bbStatement addtask deltask addhandler after before EXPORT_FUNCTIONS contained
syn match bbStatementRest /[^\\]*$/ skipwhite contained contains=bbStatement,bbVarDeref,bbVarPyValue
syn region bbStatementRestCont start=/.*\\$/ end=/^[^\\]*$/ contained contains=bbStatement,bbVarDeref,bbVarPyValue,bbContinue keepend
syn match bbStatementLine "^\(addtask\|deltask\|addhandler\|after\|before\|EXPORT_FUNCTIONS\)\s\+" contains=bbStatement nextgroup=bbStatementRest,bbStatementRestCont
" OE Important Functions
syn keyword bbOEFunctions do_fetch do_unpack do_patch do_configure do_compile do_stage do_install do_package contained
" Generic Functions
syn match bbFunction "\h[0-9A-Za-z_\-\.]*" display contained contains=bbOEFunctions
syn keyword bbOverrideOperator append prepend remove contained
" BitBake shell metadata
syn include @shell syntax/sh.vim
if exists("b:current_syntax")
unlet b:current_syntax
endif
syn keyword bbShFakeRootFlag fakeroot contained
syn match bbShFuncDef "^\(fakeroot\s*\)\?\([\.0-9A-Za-z_:${}\-\.]\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbFunction,bbOverrideOperator,bbVarDeref,bbDelimiter nextgroup=bbShFuncRegion skipwhite
syn region bbShFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" contained contains=@shell
" Python value inside shell functions
syn region shDeref start=+${@+ skip=+\\$+ excludenl end=+}+ contained contains=@python
" BitBake python metadata
syn keyword bbPyFlag python contained
syn match bbPyFuncDef "^\(fakeroot\s*\)\?\(python\)\(\s\+[0-9A-Za-z_:${}\-\.]\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbPyFlag,bbFunction,bbOverrideOperator,bbVarDeref,bbDelimiter nextgroup=bbPyFuncRegion skipwhite
syn region bbPyFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" contained contains=@python
" BitBake 'def'd python functions
syn keyword bbPyDef def contained
syn region bbPyDefRegion start='^\(def\s\+\)\([0-9A-Za-z_-]\+\)\(\s*(.*)\s*\):\s*$' end='^\(\s\|$\)\@!' contains=@python
" Highlighting Definitions
hi def link bbUnmatched Error
hi def link bbInclude Include
hi def link bbTodo Todo
hi def link bbComment Comment
hi def link bbQuote String
hi def link bbString String
hi def link bbDelimiter Keyword
hi def link bbArrayBrackets Statement
hi def link bbContinue Special
hi def link bbExport Type
hi def link bbExportFlag Type
hi def link bbIdentifier Identifier
hi def link bbVarDeref PreProc
hi def link bbVarDef Identifier
hi def link bbVarValue String
hi def link bbShFakeRootFlag Type
hi def link bbFunction Function
hi def link bbPyFlag Type
hi def link bbPyDef Statement
hi def link bbStatement Statement
hi def link bbStatementRest Identifier
hi def link bbStatementRestCont Identifier
hi def link bbOEFunctions Special
hi def link bbVarPyValue PreProc
hi def link bbOverrideOperator Operator
let b:current_syntax = "bb"

1
bitbake/doc/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
_build/

339
bitbake/doc/COPYING.GPL Normal file
View File

@@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

17
bitbake/doc/COPYING.MIT Normal file
View File

@@ -0,0 +1,17 @@
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
THE USE OR OTHER DEALINGS IN THE SOFTWARE.

35
bitbake/doc/Makefile Normal file
View File

@@ -0,0 +1,35 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?= -W --keep-going -j auto
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build
DESTDIR = final
ifeq ($(shell if which $(SPHINXBUILD) >/dev/null 2>&1; then echo 1; else echo 0; fi),0)
$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed")
endif
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile clean publish
publish: Makefile html singlehtml
rm -rf $(BUILDDIR)/$(DESTDIR)/
mkdir -p $(BUILDDIR)/$(DESTDIR)/
cp -r $(BUILDDIR)/html/* $(BUILDDIR)/$(DESTDIR)/
cp $(BUILDDIR)/singlehtml/index.html $(BUILDDIR)/$(DESTDIR)/singleindex.html
sed -i -e 's@index.html#@singleindex.html#@g' $(BUILDDIR)/$(DESTDIR)/singleindex.html
clean:
@rm -rf $(BUILDDIR)
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

55
bitbake/doc/README Normal file
View File

@@ -0,0 +1,55 @@
Documentation
=============
This is the directory that contains the BitBake documentation.
Manual Organization
===================
Folders exist for individual manuals as follows:
* bitbake-user-manual --- The BitBake User Manual
Each folder is self-contained regarding content and figures.
If you want to find HTML versions of the BitBake manuals on the web,
go to https://www.openembedded.org/wiki/Documentation.
Sphinx
======
The BitBake documentation was migrated from the original DocBook
format to Sphinx based documentation for the Yocto Project 3.2
release.
Additional information related to the Sphinx migration, and guidelines
for developers willing to contribute to the BitBake documentation can
be found in the Yocto Project Documentation README file:
https://git.yoctoproject.org/cgit/cgit.cgi/yocto-docs/tree/documentation/README
How to build the Yocto Project documentation
============================================
Sphinx is written in Python. While it might work with Python2, for
obvious reasons, we will only support building the BitBake
documentation with Python3.
Sphinx might be available in your Linux distro packages repositories,
however it is not recommend using distro packages, as they might be
old versions, especially if you are using an LTS version of your
distro. The recommended method to install Sphinx and all required
dependencies is to use the Python Package Index (pip).
To install all required packages run:
$ pip3 install sphinx sphinx_rtd_theme pyyaml
To build the documentation locally, run:
$ cd doc
$ make html
The resulting HTML index page will be _build/html/index.html, and you
can browse your own copy of the locally generated documentation with
your browser.

14
bitbake/doc/_templates/breadcrumbs.html vendored Normal file
View File

@@ -0,0 +1,14 @@
{% extends "!breadcrumbs.html" %}
{% block breadcrumbs %}
<li>
<span class="doctype_switcher_placeholder">{{ doctype or 'single' }}</span>
<span class="version_switcher_placeholder">{{ release }}</span>
</li>
<li> &raquo;</li>
{% for doc in parents %}
<li><a href="{{ doc.link|e }}">{{ doc.title }}</a> &raquo;</li>
{% endfor %}
<li>{{ title }}</li>
{% endblock %}

9
bitbake/doc/_templates/footer.html vendored Normal file
View File

@@ -0,0 +1,9 @@
<footer>
<hr/>
<div role="contentinfo">
<p>&copy; Copyright {{ copyright }}
<br>Last updated on {{ last_updated }} from the <a href="https://git.openembedded.org/bitbake/">bitbake</a> git repository.
</p>
</div>
</footer>

7
bitbake/doc/_templates/layout.html vendored Normal file
View File

@@ -0,0 +1,7 @@
{% extends "!layout.html" %}
{% block extrabody %}
<div id="outdated-warning" style="text-align: center; background-color: #FFBABA; color: #6A0E0E;">
</div>
{% endblock %}

View File

@@ -0,0 +1,761 @@
.. SPDX-License-Identifier: CC-BY-2.5
=========
Execution
=========
|
The primary purpose for running BitBake is to produce some kind of
output such as a single installable package, a kernel, a software
development kit, or even a full, board-specific bootable Linux image,
complete with bootloader, kernel, and root filesystem. Of course, you
can execute the ``bitbake`` command with options that cause it to
execute single tasks, compile single recipe files, capture or clear
data, or simply return information about the execution environment.
This chapter describes BitBake's execution process from start to finish
when you use it to create an image. The execution process is launched
using the following command form::
$ bitbake target
For information on
the BitBake command and its options, see ":ref:`The BitBake Command
<bitbake-user-manual-command>`" section.
.. note::
Prior to executing BitBake, you should take advantage of available
parallel thread execution on your build host by setting the
:term:`BB_NUMBER_THREADS` variable in
your project's ``local.conf`` configuration file.
A common method to determine this value for your build host is to run
the following::
$ grep processor /proc/cpuinfo
This command returns
the number of processors, which takes into account hyper-threading.
Thus, a quad-core build host with hyper-threading most likely shows
eight processors, which is the value you would then assign to
:term:`BB_NUMBER_THREADS`.
A possibly simpler solution is that some Linux distributions (e.g.
Debian and Ubuntu) provide the ``ncpus`` command.
Parsing the Base Configuration Metadata
=======================================
The first thing BitBake does is parse base configuration metadata. Base
configuration metadata consists of your project's ``bblayers.conf`` file
to determine what layers BitBake needs to recognize, all necessary
``layer.conf`` files (one from each layer), and ``bitbake.conf``. The
data itself is of various types:
- **Recipes:** Details about particular pieces of software.
- **Class Data:** An abstraction of common build information (e.g. how to
build a Linux kernel).
- **Configuration Data:** Machine-specific settings, policy decisions,
and so forth. Configuration data acts as the glue to bind everything
together.
The ``layer.conf`` files are used to construct key variables such as
:term:`BBPATH` and :term:`BBFILES`.
:term:`BBPATH` is used to search for configuration and class files under the
``conf`` and ``classes`` directories, respectively. :term:`BBFILES` is used
to locate both recipe and recipe append files (``.bb`` and
``.bbappend``). If there is no ``bblayers.conf`` file, it is assumed the
user has set the :term:`BBPATH` and :term:`BBFILES` directly in the environment.
Next, the ``bitbake.conf`` file is located using the :term:`BBPATH` variable
that was just constructed. The ``bitbake.conf`` file may also include
other configuration files using the ``include`` or ``require``
directives.
Prior to parsing configuration files, BitBake looks at certain
variables, including:
- :term:`BB_ENV_PASSTHROUGH`
- :term:`BB_ENV_PASSTHROUGH_ADDITIONS`
- :term:`BB_PRESERVE_ENV`
- :term:`BB_ORIGENV`
- :term:`BITBAKE_UI`
The first four variables in this list relate to how BitBake treats shell
environment variables during task execution. By default, BitBake cleans
the environment variables and provides tight control over the shell
execution environment. However, through the use of these first four
variables, you can apply your control regarding the environment
variables allowed to be used by BitBake in the shell during execution of
tasks. See the
":ref:`bitbake-user-manual/bitbake-user-manual-metadata:Passing Information Into the Build Task Environment`"
section and the information about these variables in the variable
glossary for more information on how they work and on how to use them.
The base configuration metadata is global and therefore affects all
recipes and tasks that are executed.
BitBake first searches the current working directory for an optional
``conf/bblayers.conf`` configuration file. This file is expected to
contain a :term:`BBLAYERS` variable that is a
space-delimited list of 'layer' directories. Recall that if BitBake
cannot find a ``bblayers.conf`` file, then it is assumed the user has
set the :term:`BBPATH` and :term:`BBFILES` variables directly in the
environment.
For each directory (layer) in this list, a ``conf/layer.conf`` file is
located and parsed with the :term:`LAYERDIR` variable
being set to the directory where the layer was found. The idea is these
files automatically set up :term:`BBPATH` and other
variables correctly for a given build directory.
BitBake then expects to find the ``conf/bitbake.conf`` file somewhere in
the user-specified :term:`BBPATH`. That configuration file generally has
include directives to pull in any other metadata such as files specific
to the architecture, the machine, the local environment, and so forth.
Only variable definitions and include directives are allowed in BitBake
``.conf`` files. Some variables directly influence BitBake's behavior.
These variables might have been set from the environment depending on
the environment variables previously mentioned or set in the
configuration files. The ":ref:`bitbake-user-manual/bitbake-user-manual-ref-variables:Variables Glossary`"
chapter presents a full list of
variables.
After parsing configuration files, BitBake uses its rudimentary
inheritance mechanism, which is through class files, to inherit some
standard classes. BitBake parses a class when the inherit directive
responsible for getting that class is encountered.
The ``base.bbclass`` file is always included. Other classes that are
specified in the configuration using the
:term:`INHERIT` variable are also included. BitBake
searches for class files in a ``classes`` subdirectory under the paths
in :term:`BBPATH` in the same way as configuration files.
A good way to get an idea of the configuration files and the class files
used in your execution environment is to run the following BitBake
command::
$ bitbake -e > mybb.log
Examining the top of the ``mybb.log``
shows you the many configuration files and class files used in your
execution environment.
.. note::
You need to be aware of how BitBake parses curly braces. If a recipe
uses a closing curly brace within the function and the character has
no leading spaces, BitBake produces a parsing error. If you use a
pair of curly braces in a shell function, the closing curly brace
must not be located at the start of the line without leading spaces.
Here is an example that causes BitBake to produce a parsing error::
fakeroot create_shar() {
cat << "EOF" > ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh
usage()
{
echo "test"
###### The following "}" at the start of the line causes a parsing error ######
}
EOF
}
Writing the recipe this way avoids the error:
fakeroot create_shar() {
cat << "EOF" > ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh
usage()
{
echo "test"
###### The following "}" with a leading space at the start of the line avoids the error ######
}
EOF
}
Locating and Parsing Recipes
============================
During the configuration phase, BitBake will have set
:term:`BBFILES`. BitBake now uses it to construct a
list of recipes to parse, along with any append files (``.bbappend``) to
apply. :term:`BBFILES` is a space-separated list of available files and
supports wildcards. An example would be::
BBFILES = "/path/to/bbfiles/*.bb /path/to/appends/*.bbappend"
BitBake parses each
recipe and append file located with :term:`BBFILES` and stores the values of
various variables into the datastore.
.. note::
Append files are applied in the order they are encountered in BBFILES.
For each file, a fresh copy of the base configuration is made, then the
recipe is parsed line by line. Any inherit statements cause BitBake to
find and then parse class files (``.bbclass``) using
:term:`BBPATH` as the search path. Finally, BitBake
parses in order any append files found in :term:`BBFILES`.
One common convention is to use the recipe filename to define pieces of
metadata. For example, in ``bitbake.conf`` the recipe name and version
are used to set the variables :term:`PN` and
:term:`PV`::
PN = "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
PV = "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
In this example, a recipe called "something_1.2.3.bb" would set
:term:`PN` to "something" and :term:`PV` to "1.2.3".
By the time parsing is complete for a recipe, BitBake has a list of
tasks that the recipe defines and a set of data consisting of keys and
values as well as dependency information about the tasks.
BitBake does not need all of this information. It only needs a small
subset of the information to make decisions about the recipe.
Consequently, BitBake caches the values in which it is interested and
does not store the rest of the information. Experience has shown it is
faster to re-parse the metadata than to try and write it out to the disk
and then reload it.
Where possible, subsequent BitBake commands reuse this cache of recipe
information. The validity of this cache is determined by first computing
a checksum of the base configuration data (see
:term:`BB_HASHCONFIG_IGNORE_VARS`) and
then checking if the checksum matches. If that checksum matches what is
in the cache and the recipe and class files have not changed, BitBake is
able to use the cache. BitBake then reloads the cached information about
the recipe instead of reparsing it from scratch.
Recipe file collections exist to allow the user to have multiple
repositories of ``.bb`` files that contain the same exact package. For
example, one could easily use them to make one's own local copy of an
upstream repository, but with custom modifications that one does not
want upstream. Here is an example::
BBFILES = "/stuff/openembedded/*/*.bb /stuff/openembedded.modified/*/*.bb"
BBFILE_COLLECTIONS = "upstream local"
BBFILE_PATTERN_upstream = "^/stuff/openembedded/"
BBFILE_PATTERN_local = "^/stuff/openembedded.modified/"
BBFILE_PRIORITY_upstream = "5"
BBFILE_PRIORITY_local = "10"
.. note::
The layers mechanism is now the preferred method of collecting code.
While the collections code remains, its main use is to set layer
priorities and to deal with overlap (conflicts) between layers.
.. _bb-bitbake-providers:
Providers
=========
Assuming BitBake has been instructed to execute a target and that all
the recipe files have been parsed, BitBake starts to figure out how to
build the target. BitBake looks through the :term:`PROVIDES` list for each
of the recipes. A :term:`PROVIDES` list is the list of names by which the
recipe can be known. Each recipe's :term:`PROVIDES` list is created
implicitly through the recipe's :term:`PN` variable and
explicitly through the recipe's :term:`PROVIDES`
variable, which is optional.
When a recipe uses :term:`PROVIDES`, that recipe's functionality can be
found under an alternative name or names other than the implicit :term:`PN`
name. As an example, suppose a recipe named ``keyboard_1.0.bb``
contained the following::
PROVIDES += "fullkeyboard"
The :term:`PROVIDES`
list for this recipe becomes "keyboard", which is implicit, and
"fullkeyboard", which is explicit. Consequently, the functionality found
in ``keyboard_1.0.bb`` can be found under two different names.
.. _bb-bitbake-preferences:
Preferences
===========
The :term:`PROVIDES` list is only part of the solution for figuring out a
target's recipes. Because targets might have multiple providers, BitBake
needs to prioritize providers by determining provider preferences.
A common example in which a target has multiple providers is
"virtual/kernel", which is on the :term:`PROVIDES` list for each kernel
recipe. Each machine often selects the best kernel provider by using a
line similar to the following in the machine configuration file::
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
The default :term:`PREFERRED_PROVIDER` is the provider
with the same name as the target. BitBake iterates through each target
it needs to build and resolves them and their dependencies using this
process.
Understanding how providers are chosen is made complicated by the fact
that multiple versions might exist for a given provider. BitBake
defaults to the highest version of a provider. Version comparisons are
made using the same method as Debian. You can use the
:term:`PREFERRED_VERSION` variable to
specify a particular version. You can influence the order by using the
:term:`DEFAULT_PREFERENCE` variable.
By default, files have a preference of "0". Setting
:term:`DEFAULT_PREFERENCE` to "-1" makes the recipe unlikely to be used
unless it is explicitly referenced. Setting :term:`DEFAULT_PREFERENCE` to
"1" makes it likely the recipe is used. :term:`PREFERRED_VERSION` overrides
any :term:`DEFAULT_PREFERENCE` setting. :term:`DEFAULT_PREFERENCE` is often used
to mark newer and more experimental recipe versions until they have
undergone sufficient testing to be considered stable.
When there are multiple "versions" of a given recipe, BitBake defaults
to selecting the most recent version, unless otherwise specified. If the
recipe in question has a
:term:`DEFAULT_PREFERENCE` set lower than
the other recipes (default is 0), then it will not be selected. This
allows the person or persons maintaining the repository of recipe files
to specify their preference for the default selected version.
Additionally, the user can specify their preferred version.
If the first recipe is named ``a_1.1.bb``, then the
:term:`PN` variable will be set to "a", and the
:term:`PV` variable will be set to 1.1.
Thus, if a recipe named ``a_1.2.bb`` exists, BitBake will choose 1.2 by
default. However, if you define the following variable in a ``.conf``
file that BitBake parses, you can change that preference::
PREFERRED_VERSION_a = "1.1"
.. note::
It is common for a recipe to provide two versions -- a stable,
numbered (and preferred) version, and a version that is automatically
checked out from a source code repository that is considered more
"bleeding edge" but can be selected only explicitly.
For example, in the OpenEmbedded codebase, there is a standard,
versioned recipe file for BusyBox, ``busybox_1.22.1.bb``, but there
is also a Git-based version, ``busybox_git.bb``, which explicitly
contains the line ::
DEFAULT_PREFERENCE = "-1"
to ensure that the
numbered, stable version is always preferred unless the developer
selects otherwise.
.. _bb-bitbake-dependencies:
Dependencies
============
Each target BitBake builds consists of multiple tasks such as ``fetch``,
``unpack``, ``patch``, ``configure``, and ``compile``. For best
performance on multi-core systems, BitBake considers each task as an
independent entity with its own set of dependencies.
Dependencies are defined through several variables. You can find
information about variables BitBake uses in the
:doc:`bitbake-user-manual-ref-variables` near the end of this manual. At a
basic level, it is sufficient to know that BitBake uses the
:term:`DEPENDS` and
:term:`RDEPENDS` variables when calculating
dependencies.
For more information on how BitBake handles dependencies, see the
:ref:`bitbake-user-manual/bitbake-user-manual-metadata:Dependencies`
section.
.. _ref-bitbake-tasklist:
The Task List
=============
Based on the generated list of providers and the dependency information,
BitBake can now calculate exactly what tasks it needs to run and in what
order it needs to run them. The
:ref:`bitbake-user-manual/bitbake-user-manual-execution:executing tasks`
section has more information on how BitBake chooses which task to
execute next.
The build now starts with BitBake forking off threads up to the limit
set in the :term:`BB_NUMBER_THREADS`
variable. BitBake continues to fork threads as long as there are tasks
ready to run, those tasks have all their dependencies met, and the
thread threshold has not been exceeded.
It is worth noting that you can greatly speed up the build time by
properly setting the :term:`BB_NUMBER_THREADS` variable.
As each task completes, a timestamp is written to the directory
specified by the :term:`STAMP` variable. On subsequent
runs, BitBake looks in the build directory within ``tmp/stamps`` and
does not rerun tasks that are already completed unless a timestamp is
found to be invalid. Currently, invalid timestamps are only considered
on a per recipe file basis. So, for example, if the configure stamp has
a timestamp greater than the compile timestamp for a given target, then
the compile task would rerun. Running the compile task again, however,
has no effect on other providers that depend on that target.
The exact format of the stamps is partly configurable. In modern
versions of BitBake, a hash is appended to the stamp so that if the
configuration changes, the stamp becomes invalid and the task is
automatically rerun. This hash, or signature used, is governed by the
signature policy that is configured (see the
:ref:`bitbake-user-manual/bitbake-user-manual-execution:checksums (signatures)`
section for information). It is also
possible to append extra metadata to the stamp using the
``[stamp-extra-info]`` task flag. For example, OpenEmbedded uses this
flag to make some tasks machine-specific.
.. note::
Some tasks are marked as "nostamp" tasks. No timestamp file is
created when these tasks are run. Consequently, "nostamp" tasks are
always rerun.
For more information on tasks, see the
:ref:`bitbake-user-manual/bitbake-user-manual-metadata:tasks` section.
Executing Tasks
===============
Tasks can be either a shell task or a Python task. For shell tasks,
BitBake writes a shell script to
``${``\ :term:`T`\ ``}/run.do_taskname.pid`` and then
executes the script. The generated shell script contains all the
exported variables, and the shell functions with all variables expanded.
Output from the shell script goes to the file
``${``\ :term:`T`\ ``}/log.do_taskname.pid``. Looking at the expanded shell functions in
the run file and the output in the log files is a useful debugging
technique.
For Python tasks, BitBake executes the task internally and logs
information to the controlling terminal. Future versions of BitBake will
write the functions to files similar to the way shell tasks are handled.
Logging will be handled in a way similar to shell tasks as well.
The order in which BitBake runs the tasks is controlled by its task
scheduler. It is possible to configure the scheduler and define custom
implementations for specific use cases. For more information, see these
variables that control the behavior:
- :term:`BB_SCHEDULER`
- :term:`BB_SCHEDULERS`
It is possible to have functions run before and after a task's main
function. This is done using the ``[prefuncs]`` and ``[postfuncs]``
flags of the task that lists the functions to run.
.. _checksums:
Checksums (Signatures)
======================
A checksum is a unique signature of a task's inputs. The signature of a
task can be used to determine if a task needs to be run. Because it is a
change in a task's inputs that triggers running the task, BitBake needs
to detect all the inputs to a given task. For shell tasks, this turns
out to be fairly easy because BitBake generates a "run" shell script for
each task and it is possible to create a checksum that gives you a good
idea of when the task's data changes.
To complicate the problem, some things should not be included in the
checksum. First, there is the actual specific build path of a given task
- the working directory. It does not matter if the working directory
changes because it should not affect the output for target packages. The
simplistic approach for excluding the working directory is to set it to
some fixed value and create the checksum for the "run" script. BitBake
goes one step better and uses the
:term:`BB_BASEHASH_IGNORE_VARS` variable
to define a list of variables that should never be included when
generating the signatures.
Another problem results from the "run" scripts containing functions that
might or might not get called. The incremental build solution contains
code that figures out dependencies between shell functions. This code is
used to prune the "run" scripts down to the minimum set, thereby
alleviating this problem and making the "run" scripts much more readable
as a bonus.
So far we have solutions for shell scripts. What about Python tasks? The
same approach applies even though these tasks are more difficult. The
process needs to figure out what variables a Python function accesses
and what functions it calls. Again, the incremental build solution
contains code that first figures out the variable and function
dependencies, and then creates a checksum for the data used as the input
to the task.
Like the working directory case, situations exist where dependencies
should be ignored. For these cases, you can instruct the build process
to ignore a dependency by using a line like the following::
PACKAGE_ARCHS[vardepsexclude] = "MACHINE"
This example ensures that the
``PACKAGE_ARCHS`` variable does not depend on the value of ``MACHINE``,
even if it does reference it.
Equally, there are cases where we need to add dependencies BitBake is
not able to find. You can accomplish this by using a line like the
following::
PACKAGE_ARCHS[vardeps] = "MACHINE"
This example explicitly
adds the ``MACHINE`` variable as a dependency for ``PACKAGE_ARCHS``.
Consider a case with in-line Python, for example, where BitBake is not
able to figure out dependencies. When running in debug mode (i.e. using
``-DDD``), BitBake produces output when it discovers something for which
it cannot figure out dependencies.
Thus far, this section has limited discussion to the direct inputs into
a task. Information based on direct inputs is referred to as the
"basehash" in the code. However, there is still the question of a task's
indirect inputs --- the things that were already built and present in the
build directory. The checksum (or signature) for a particular task needs
to add the hashes of all the tasks on which the particular task depends.
Choosing which dependencies to add is a policy decision. However, the
effect is to generate a master checksum that combines the basehash and
the hashes of the task's dependencies.
At the code level, there are a variety of ways both the basehash and the
dependent task hashes can be influenced. Within the BitBake
configuration file, we can give BitBake some extra information to help
it construct the basehash. The following statement effectively results
in a list of global variable dependency excludes --- variables never
included in any checksum. This example uses variables from OpenEmbedded
to help illustrate the concept::
BB_BASEHASH_IGNORE_VARS ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \
SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL \
USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST \
PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \
CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_DISABLE LICENSE_PATH SDKPKGSUFFIX"
The previous example excludes the work directory, which is part of
``TMPDIR``.
The rules for deciding which hashes of dependent tasks to include
through dependency chains are more complex and are generally
accomplished with a Python function. The code in
``meta/lib/oe/sstatesig.py`` shows two examples of this and also
illustrates how you can insert your own policy into the system if so
desired. This file defines the basic signature generator
OpenEmbedded-Core uses: "OEBasicHash". By default, there
is a dummy "noop" signature handler enabled in BitBake. This means that
behavior is unchanged from previous versions. ``OE-Core`` uses the
"OEBasicHash" signature handler by default through this setting in the
``bitbake.conf`` file::
BB_SIGNATURE_HANDLER ?= "OEBasicHash"
The main feature of the "OEBasicHash" :term:`BB_SIGNATURE_HANDLER` is that
it adds the task hash to the stamp files. Thanks to this, any metadata
change will change the task hash, automatically causing the task to be run
again. This removes the need to bump :term:`PR` values, and changes to
metadata automatically ripple across the build.
It is also worth noting that the end result of signature
generators is to make some dependency and hash information available to
the build. This information includes:
- ``BB_BASEHASH_task-``\ *taskname*: The base hashes for each task in the
recipe.
- ``BB_BASEHASH_``\ *filename:taskname*: The base hashes for each
dependent task.
- :term:`BB_TASKHASH`: The hash of the currently running task.
It is worth noting that BitBake's "-S" option lets you debug BitBake's
processing of signatures. The options passed to -S allow different
debugging modes to be used, either using BitBake's own debug functions
or possibly those defined in the metadata/signature handler itself. The
simplest parameter to pass is "none", which causes a set of signature
information to be written out into ``STAMPS_DIR`` corresponding to the
targets specified. The other currently available parameter is
"printdiff", which causes BitBake to try to establish the most recent
signature match it can (e.g. in the sstate cache) and then run
compare the matched signatures to determine the stamps and delta
where these two stamp trees diverge. This can be used to determine why
tasks need to be re-run in situations where that is not expected.
.. note::
It is likely that future versions of BitBake will provide other
signature handlers triggered through additional "-S" parameters.
You can find more information on checksum metadata in the
:ref:`bitbake-user-manual/bitbake-user-manual-metadata:task checksums and setscene`
section.
Setscene
========
The setscene process enables BitBake to handle "pre-built" artifacts.
The ability to handle and reuse these artifacts allows BitBake the
luxury of not having to build something from scratch every time.
Instead, BitBake can use, when possible, existing build artifacts.
BitBake needs to have reliable data indicating whether or not an
artifact is compatible. Signatures, described in the previous section,
provide an ideal way of representing whether an artifact is compatible.
If a signature is the same, an object can be reused.
If an object can be reused, the problem then becomes how to replace a
given task or set of tasks with the pre-built artifact. BitBake solves
the problem with the "setscene" process.
When BitBake is asked to build a given target, before building anything,
it first asks whether cached information is available for any of the
targets it's building, or any of the intermediate targets. If cached
information is available, BitBake uses this information instead of
running the main tasks.
BitBake first calls the function defined by the
:term:`BB_HASHCHECK_FUNCTION` variable
with a list of tasks and corresponding hashes it wants to build. This
function is designed to be fast and returns a list of the tasks for
which it believes in can obtain artifacts.
Next, for each of the tasks that were returned as possibilities, BitBake
executes a setscene version of the task that the possible artifact
covers. Setscene versions of a task have the string "_setscene" appended
to the task name. So, for example, the task with the name ``xxx`` has a
setscene task named ``xxx_setscene``. The setscene version of the task
executes and provides the necessary artifacts returning either success
or failure.
As previously mentioned, an artifact can cover more than one task. For
example, it is pointless to obtain a compiler if you already have the
compiled binary. To handle this, BitBake calls the
:term:`BB_SETSCENE_DEPVALID` function for
each successful setscene task to know whether or not it needs to obtain
the dependencies of that task.
You can find more information on setscene metadata in the
:ref:`bitbake-user-manual/bitbake-user-manual-metadata:task checksums and setscene`
section.
Logging
=======
In addition to the standard command line option to control how verbose
builds are when execute, bitbake also supports user defined
configuration of the `Python
logging <https://docs.python.org/3/library/logging.html>`__ facilities
through the :term:`BB_LOGCONFIG` variable. This
variable defines a JSON or YAML `logging
configuration <https://docs.python.org/3/library/logging.config.html>`__
that will be intelligently merged into the default configuration. The
logging configuration is merged using the following rules:
- The user defined configuration will completely replace the default
configuration if top level key ``bitbake_merge`` is set to the value
``False``. In this case, all other rules are ignored.
- The user configuration must have a top level ``version`` which must
match the value of the default configuration.
- Any keys defined in the ``handlers``, ``formatters``, or ``filters``,
will be merged into the same section in the default configuration,
with the user specified keys taking replacing a default one if there
is a conflict. In practice, this means that if both the default
configuration and user configuration specify a handler named
``myhandler``, the user defined one will replace the default. To
prevent the user from inadvertently replacing a default handler,
formatter, or filter, all of the default ones are named with a prefix
of "``BitBake.``"
- If a logger is defined by the user with the key ``bitbake_merge`` set
to ``False``, that logger will be completely replaced by user
configuration. In this case, no other rules will apply to that
logger.
- All user defined ``filter`` and ``handlers`` properties for a given
logger will be merged with corresponding properties from the default
logger. For example, if the user configuration adds a filter called
``myFilter`` to the ``BitBake.SigGen``, and the default configuration
adds a filter called ``BitBake.defaultFilter``, both filters will be
applied to the logger
As a first example, you can create a ``hashequiv.json`` user logging
configuration file to log all Hash Equivalence related messages of ``VERBOSE``
or higher priority to a file called ``hashequiv.log``::
{
"version": 1,
"handlers": {
"autobuilderlog": {
"class": "logging.FileHandler",
"formatter": "logfileFormatter",
"level": "DEBUG",
"filename": "hashequiv.log",
"mode": "w"
}
},
"formatters": {
"logfileFormatter": {
"format": "%(name)s: %(levelname)s: %(message)s"
}
},
"loggers": {
"BitBake.SigGen.HashEquiv": {
"level": "VERBOSE",
"handlers": ["autobuilderlog"]
},
"BitBake.RunQueue.HashEquiv": {
"level": "VERBOSE",
"handlers": ["autobuilderlog"]
}
}
}
Then set the :term:`BB_LOGCONFIG` variable in ``conf/local.conf``::
BB_LOGCONFIG = "hashequiv.json"
Another example is this ``warn.json`` file to log all ``WARNING`` and
higher priority messages to a ``warn.log`` file::
{
"version": 1,
"formatters": {
"warnlogFormatter": {
"()": "bb.msg.BBLogFormatter",
"format": "%(levelname)s: %(message)s"
}
},
"handlers": {
"warnlog": {
"class": "logging.FileHandler",
"formatter": "warnlogFormatter",
"level": "WARNING",
"filename": "warn.log"
}
},
"loggers": {
"BitBake": {
"handlers": ["warnlog"]
}
},
"@disable_existing_loggers": false
}
Note that BitBake's helper classes for structured logging are implemented in
``lib/bb/msg.py``.

View File

@@ -0,0 +1,851 @@
.. SPDX-License-Identifier: CC-BY-2.5
=====================
File Download Support
=====================
|
BitBake's fetch module is a standalone piece of library code that deals
with the intricacies of downloading source code and files from remote
systems. Fetching source code is one of the cornerstones of building
software. As such, this module forms an important part of BitBake.
The current fetch module is called "fetch2" and refers to the fact that
it is the second major version of the API. The original version is
obsolete and has been removed from the codebase. Thus, in all cases,
"fetch" refers to "fetch2" in this manual.
The Download (Fetch)
====================
BitBake takes several steps when fetching source code or files. The
fetcher codebase deals with two distinct processes in order: obtaining
the files from somewhere (cached or otherwise) and then unpacking those
files into a specific location and perhaps in a specific way. Getting
and unpacking the files is often optionally followed by patching.
Patching, however, is not covered by this module.
The code to execute the first part of this process, a fetch, looks
something like the following::
src_uri = (d.getVar('SRC_URI') or "").split()
fetcher = bb.fetch2.Fetch(src_uri, d)
fetcher.download()
This code sets up an instance of the fetch class. The instance uses a
space-separated list of URLs from the :term:`SRC_URI`
variable and then calls the ``download`` method to download the files.
The instantiation of the fetch class is usually followed by::
rootdir = l.getVar('WORKDIR')
fetcher.unpack(rootdir)
This code unpacks the downloaded files to the specified by ``WORKDIR``.
.. note::
For convenience, the naming in these examples matches the variables
used by OpenEmbedded. If you want to see the above code in action,
examine the OpenEmbedded class file ``base.bbclass``
.
The :term:`SRC_URI` and ``WORKDIR`` variables are not hardcoded into the
fetcher, since those fetcher methods can be (and are) called with
different variable names. In OpenEmbedded for example, the shared state
(sstate) code uses the fetch module to fetch the sstate files.
When the ``download()`` method is called, BitBake tries to resolve the
URLs by looking for source files in a specific search order:
- *Pre-mirror Sites:* BitBake first uses pre-mirrors to try and find
source files. These locations are defined using the
:term:`PREMIRRORS` variable.
- *Source URI:* If pre-mirrors fail, BitBake uses the original URL (e.g
from :term:`SRC_URI`).
- *Mirror Sites:* If fetch failures occur, BitBake next uses mirror
locations as defined by the :term:`MIRRORS` variable.
For each URL passed to the fetcher, the fetcher calls the submodule that
handles that particular URL type. This behavior can be the source of
some confusion when you are providing URLs for the :term:`SRC_URI` variable.
Consider the following two URLs::
https://git.yoctoproject.org/git/poky;protocol=git
git://git.yoctoproject.org/git/poky;protocol=http
In the former case, the URL is passed to the ``wget`` fetcher, which does not
understand "git". Therefore, the latter case is the correct form since the Git
fetcher does know how to use HTTP as a transport.
Here are some examples that show commonly used mirror definitions::
PREMIRRORS ?= "\
bzr://.*/.\* http://somemirror.org/sources/ \
cvs://.*/.\* http://somemirror.org/sources/ \
git://.*/.\* http://somemirror.org/sources/ \
hg://.*/.\* http://somemirror.org/sources/ \
osc://.*/.\* http://somemirror.org/sources/ \
p4://.*/.\* http://somemirror.org/sources/ \
svn://.*/.\* http://somemirror.org/sources/"
MIRRORS =+ "\
ftp://.*/.\* http://somemirror.org/sources/ \
http://.*/.\* http://somemirror.org/sources/ \
https://.*/.\* http://somemirror.org/sources/"
It is useful to note that BitBake
supports cross-URLs. It is possible to mirror a Git repository on an
HTTP server as a tarball. This is what the ``git://`` mapping in the
previous example does.
Since network accesses are slow, BitBake maintains a cache of files
downloaded from the network. Any source files that are not local (i.e.
downloaded from the Internet) are placed into the download directory,
which is specified by the :term:`DL_DIR` variable.
File integrity is of key importance for reproducing builds. For
non-local archive downloads, the fetcher code can verify SHA-256 and MD5
checksums to ensure the archives have been downloaded correctly. You can
specify these checksums by using the :term:`SRC_URI` variable with the
appropriate varflags as follows::
SRC_URI[md5sum] = "value"
SRC_URI[sha256sum] = "value"
You can also specify the checksums as
parameters on the :term:`SRC_URI` as shown below::
SRC_URI = "http://example.com/foobar.tar.bz2;md5sum=4a8e0f237e961fd7785d19d07fdb994d"
If multiple URIs exist, you can specify the checksums either directly as
in the previous example, or you can name the URLs. The following syntax
shows how you name the URIs::
SRC_URI = "http://example.com/foobar.tar.bz2;name=foo"
SRC_URI[foo.md5sum] = 4a8e0f237e961fd7785d19d07fdb994d
After a file has been downloaded and
has had its checksum checked, a ".done" stamp is placed in :term:`DL_DIR`.
BitBake uses this stamp during subsequent builds to avoid downloading or
comparing a checksum for the file again.
.. note::
It is assumed that local storage is safe from data corruption. If
this were not the case, there would be bigger issues to worry about.
If :term:`BB_STRICT_CHECKSUM` is set, any
download without a checksum triggers an error message. The
:term:`BB_NO_NETWORK` variable can be used to
make any attempted network access a fatal error, which is useful for
checking that mirrors are complete as well as other things.
If :term:`BB_CHECK_SSL_CERTS` is set to ``0`` then SSL certificate checking will
be disabled. This variable defaults to ``1`` so SSL certificates are normally
checked.
.. _bb-the-unpack:
The Unpack
==========
The unpack process usually immediately follows the download. For all
URLs except Git URLs, BitBake uses the common ``unpack`` method.
A number of parameters exist that you can specify within the URL to
govern the behavior of the unpack stage:
- *unpack:* Controls whether the URL components are unpacked. If set to
"1", which is the default, the components are unpacked. If set to
"0", the unpack stage leaves the file alone. This parameter is useful
when you want an archive to be copied in and not be unpacked.
- *dos:* Applies to ``.zip`` and ``.jar`` files and specifies whether
to use DOS line ending conversion on text files.
- *striplevel:* Strip specified number of leading components (levels)
from file names on extraction
- *subdir:* Unpacks the specific URL to the specified subdirectory
within the root directory.
The unpack call automatically decompresses and extracts files with ".Z",
".z", ".gz", ".xz", ".zip", ".jar", ".ipk", ".rpm". ".srpm", ".deb" and
".bz2" extensions as well as various combinations of tarball extensions.
As mentioned, the Git fetcher has its own unpack method that is
optimized to work with Git trees. Basically, this method works by
cloning the tree into the final directory. The process is completed
using references so that there is only one central copy of the Git
metadata needed.
.. _bb-fetchers:
Fetchers
========
As mentioned earlier, the URL prefix determines which fetcher submodule
BitBake uses. Each submodule can support different URL parameters, which
are described in the following sections.
.. _local-file-fetcher:
Local file fetcher (``file://``)
--------------------------------
This submodule handles URLs that begin with ``file://``. The filename
you specify within the URL can be either an absolute or relative path to
a file. If the filename is relative, the contents of the
:term:`FILESPATH` variable is used in the same way
``PATH`` is used to find executables. If the file cannot be found, it is
assumed that it is available in :term:`DL_DIR` by the
time the ``download()`` method is called.
If you specify a directory, the entire directory is unpacked.
Here are a couple of example URLs, the first relative and the second
absolute::
SRC_URI = "file://relativefile.patch"
SRC_URI = "file:///Users/ich/very_important_software"
.. _http-ftp-fetcher:
HTTP/FTP wget fetcher (``http://``, ``ftp://``, ``https://``)
-------------------------------------------------------------
This fetcher obtains files from web and FTP servers. Internally, the
fetcher uses the wget utility.
The executable and parameters used are specified by the
``FETCHCMD_wget`` variable, which defaults to sensible values. The
fetcher supports a parameter "downloadfilename" that allows the name of
the downloaded file to be specified. Specifying the name of the
downloaded file is useful for avoiding collisions in
:term:`DL_DIR` when dealing with multiple files that
have the same name.
If a username and password are specified in the ``SRC_URI``, a Basic
Authorization header will be added to each request, including across redirects.
To instead limit the Authorization header to the first request, add
"redirectauth=0" to the list of parameters.
Some example URLs are as follows::
SRC_URI = "http://oe.handhelds.org/not_there.aac"
SRC_URI = "ftp://oe.handhelds.org/not_there_as_well.aac"
SRC_URI = "ftp://you@oe.handhelds.org/home/you/secret.plan"
.. note::
Because URL parameters are delimited by semi-colons, this can
introduce ambiguity when parsing URLs that also contain semi-colons,
for example::
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git;a=snapshot;h=a5dd47"
Such URLs should should be modified by replacing semi-colons with '&'
characters::
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git&a=snapshot&h=a5dd47"
In most cases this should work. Treating semi-colons and '&' in
queries identically is recommended by the World Wide Web Consortium
(W3C). Note that due to the nature of the URL, you may have to
specify the name of the downloaded file as well::
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git&a=snapshot&h=a5dd47;downloadfilename=myfile.bz2"
.. _cvs-fetcher:
CVS fetcher (``(cvs://``)
-------------------------
This submodule handles checking out files from the CVS version control
system. You can configure it using a number of different variables:
- :term:`FETCHCMD_cvs <FETCHCMD>`: The name of the executable to use when running
the ``cvs`` command. This name is usually "cvs".
- :term:`SRCDATE`: The date to use when fetching the CVS source code. A
special value of "now" causes the checkout to be updated on every
build.
- :term:`CVSDIR`: Specifies where a temporary
checkout is saved. The location is often ``DL_DIR/cvs``.
- CVS_PROXY_HOST: The name to use as a "proxy=" parameter to the
``cvs`` command.
- CVS_PROXY_PORT: The port number to use as a "proxyport="
parameter to the ``cvs`` command.
As well as the standard username and password URL syntax, you can also
configure the fetcher with various URL parameters:
The supported parameters are as follows:
- *"method":* The protocol over which to communicate with the CVS
server. By default, this protocol is "pserver". If "method" is set to
"ext", BitBake examines the "rsh" parameter and sets ``CVS_RSH``. You
can use "dir" for local directories.
- *"module":* Specifies the module to check out. You must supply this
parameter.
- *"tag":* Describes which CVS TAG should be used for the checkout. By
default, the TAG is empty.
- *"date":* Specifies a date. If no "date" is specified, the
:term:`SRCDATE` of the configuration is used to
checkout a specific date. The special value of "now" causes the
checkout to be updated on every build.
- *"localdir":* Used to rename the module. Effectively, you are
renaming the output directory to which the module is unpacked. You
are forcing the module into a special directory relative to
:term:`CVSDIR`.
- *"rsh":* Used in conjunction with the "method" parameter.
- *"scmdata":* Causes the CVS metadata to be maintained in the tarball
the fetcher creates when set to "keep". The tarball is expanded into
the work directory. By default, the CVS metadata is removed.
- *"fullpath":* Controls whether the resulting checkout is at the
module level, which is the default, or is at deeper paths.
- *"norecurse":* Causes the fetcher to only checkout the specified
directory with no recurse into any subdirectories.
- *"port":* The port to which the CVS server connects.
Some example URLs are as follows::
SRC_URI = "cvs://CVSROOT;module=mymodule;tag=some-version;method=ext"
SRC_URI = "cvs://CVSROOT;module=mymodule;date=20060126;localdir=usethat"
.. _svn-fetcher:
Subversion (SVN) Fetcher (``svn://``)
-------------------------------------
This fetcher submodule fetches code from the Subversion source control
system. The executable used is specified by ``FETCHCMD_svn``, which
defaults to "svn". The fetcher's temporary working directory is set by
:term:`SVNDIR`, which is usually ``DL_DIR/svn``.
The supported parameters are as follows:
- *"module":* The name of the svn module to checkout. You must provide
this parameter. You can think of this parameter as the top-level
directory of the repository data you want.
- *"path_spec":* A specific directory in which to checkout the
specified svn module.
- *"protocol":* The protocol to use, which defaults to "svn". If
"protocol" is set to "svn+ssh", the "ssh" parameter is also used.
- *"rev":* The revision of the source code to checkout.
- *"scmdata":* Causes the ".svn" directories to be available during
compile-time when set to "keep". By default, these directories are
removed.
- *"ssh":* An optional parameter used when "protocol" is set to
"svn+ssh". You can use this parameter to specify the ssh program used
by svn.
- *"transportuser":* When required, sets the username for the
transport. By default, this parameter is empty. The transport
username is different than the username used in the main URL, which
is passed to the subversion command.
Following are three examples using svn::
SRC_URI = "svn://myrepos/proj1;module=vip;protocol=http;rev=667"
SRC_URI = "svn://myrepos/proj1;module=opie;protocol=svn+ssh"
SRC_URI = "svn://myrepos/proj1;module=trunk;protocol=http;path_spec=${MY_DIR}/proj1"
.. _git-fetcher:
Git Fetcher (``git://``)
------------------------
This fetcher submodule fetches code from the Git source control system.
The fetcher works by creating a bare clone of the remote into
:term:`GITDIR`, which is usually ``DL_DIR/git2``. This
bare clone is then cloned into the work directory during the unpack
stage when a specific tree is checked out. This is done using alternates
and by reference to minimize the amount of duplicate data on the disk
and make the unpack process fast. The executable used can be set with
``FETCHCMD_git``.
This fetcher supports the following parameters:
- *"protocol":* The protocol used to fetch the files. The default is
"git" when a hostname is set. If a hostname is not set, the Git
protocol is "file". You can also use "http", "https", "ssh" and
"rsync".
.. note::
When ``protocol`` is "ssh", the URL expected in :term:`SRC_URI` differs
from the one that is typically passed to ``git clone`` command and provided
by the Git server to fetch from. For example, the URL returned by GitLab
server for ``mesa`` when cloning over SSH is
``git@gitlab.freedesktop.org:mesa/mesa.git``, however the expected URL in
:term:`SRC_URI` is the following::
SRC_URI = "git://git@gitlab.freedesktop.org/mesa/mesa.git;branch=main;protocol=ssh;..."
Note the ``:`` character changed for a ``/`` before the path to the project.
- *"nocheckout":* Tells the fetcher to not checkout source code when
unpacking when set to "1". Set this option for the URL where there is
a custom routine to checkout code. The default is "0".
- *"rebaseable":* Indicates that the upstream Git repository can be
rebased. You should set this parameter to "1" if revisions can become
detached from branches. In this case, the source mirror tarball is
done per revision, which has a loss of efficiency. Rebasing the
upstream Git repository could cause the current revision to disappear
from the upstream repository. This option reminds the fetcher to
preserve the local cache carefully for future use. The default value
for this parameter is "0".
- *"nobranch":* Tells the fetcher to not check the SHA validation for
the branch when set to "1". The default is "0". Set this option for
the recipe that refers to the commit that is valid for any namespace
(branch, tag, ...) instead of the branch.
- *"bareclone":* Tells the fetcher to clone a bare clone into the
destination directory without checking out a working tree. Only the
raw Git metadata is provided. This parameter implies the "nocheckout"
parameter as well.
- *"branch":* The branch(es) of the Git tree to clone. Unless
"nobranch" is set to "1", this is a mandatory parameter. The number of
branch parameters must match the number of name parameters.
- *"rev":* The revision to use for the checkout. The default is
"master".
- *"tag":* Specifies a tag to use for the checkout. To correctly
resolve tags, BitBake must access the network. For that reason, tags
are often not used. As far as Git is concerned, the "tag" parameter
behaves effectively the same as the "rev" parameter.
- *"subpath":* Limits the checkout to a specific subpath of the tree.
By default, the whole tree is checked out.
- *"destsuffix":* The name of the path in which to place the checkout.
By default, the path is ``git/``.
- *"usehead":* Enables local ``git://`` URLs to use the current branch
HEAD as the revision for use with ``AUTOREV``. The "usehead"
parameter implies no branch and only works when the transfer protocol
is ``file://``.
Here are some example URLs::
SRC_URI = "git://github.com/fronteed/icheck.git;protocol=https;branch=${PV};tag=${PV}"
SRC_URI = "git://github.com/asciidoc/asciidoc-py;protocol=https;branch=main"
SRC_URI = "git://git@gitlab.freedesktop.org/mesa/mesa.git;branch=main;protocol=ssh;..."
.. note::
When using ``git`` as the fetcher of the main source code of your software,
``S`` should be set accordingly::
S = "${WORKDIR}/git"
.. note::
Specifying passwords directly in ``git://`` urls is not supported.
There are several reasons: :term:`SRC_URI` is often written out to logs and
other places, and that could easily leak passwords; it is also all too
easy to share metadata without removing passwords. SSH keys, ``~/.netrc``
and ``~/.ssh/config`` files can be used as alternatives.
Using tags with the git fetcher may cause surprising behaviour. Bitbake needs to
resolve the tag to a specific revision and to do that, it has to connect to and use
the upstream repository. This is because the revision the tags point at can change and
we've seen cases of this happening in well known public repositories. This can mean
many more network connections than expected and recipes may be reparsed at every build.
Source mirrors will also be bypassed as the upstream repository is the only source
of truth to resolve the revision accurately. For these reasons, whilst the fetcher
can support tags, we recommend being specific about revisions in recipes.
.. _gitsm-fetcher:
Git Submodule Fetcher (``gitsm://``)
------------------------------------
This fetcher submodule inherits from the :ref:`Git
fetcher<bitbake-user-manual/bitbake-user-manual-fetching:git fetcher
(\`\`git://\`\`)>` and extends that fetcher's behavior by fetching a
repository's submodules. :term:`SRC_URI` is passed to the Git fetcher as
described in the :ref:`bitbake-user-manual/bitbake-user-manual-fetching:git
fetcher (\`\`git://\`\`)` section.
.. note::
You must clean a recipe when switching between '``git://``' and
'``gitsm://``' URLs.
The Git Submodules fetcher is not a complete fetcher implementation.
The fetcher has known issues where it does not use the normal source
mirroring infrastructure properly. Further, the submodule sources it
fetches are not visible to the licensing and source archiving
infrastructures.
.. _clearcase-fetcher:
ClearCase Fetcher (``ccrc://``)
-------------------------------
This fetcher submodule fetches code from a
`ClearCase <http://en.wikipedia.org/wiki/Rational_ClearCase>`__
repository.
To use this fetcher, make sure your recipe has proper
:term:`SRC_URI`, :term:`SRCREV`, and
:term:`PV` settings. Here is an example::
SRC_URI = "ccrc://cc.example.org/ccrc;vob=/example_vob;module=/example_module"
SRCREV = "EXAMPLE_CLEARCASE_TAG"
PV = "${@d.getVar("SRCREV", False).replace("/", "+")}"
The fetcher uses the ``rcleartool`` or
``cleartool`` remote client, depending on which one is available.
Following are options for the :term:`SRC_URI` statement:
- *vob*: The name, which must include the prepending "/" character,
of the ClearCase VOB. This option is required.
- *module*: The module, which must include the prepending "/"
character, in the selected VOB.
.. note::
The module and vob options are combined to create the load rule in the
view config spec. As an example, consider the vob and module values from
the SRC_URI statement at the start of this section. Combining those values
results in the following::
load /example_vob/example_module
- *proto*: The protocol, which can be either ``http`` or ``https``.
By default, the fetcher creates a configuration specification. If you
want this specification written to an area other than the default, use
the ``CCASE_CUSTOM_CONFIG_SPEC`` variable in your recipe to define where
the specification is written.
.. note::
the SRCREV loses its functionality if you specify this variable. However,
SRCREV is still used to label the archive after a fetch even though it does
not define what is fetched.
Here are a couple of other behaviors worth mentioning:
- When using ``cleartool``, the login of ``cleartool`` is handled by
the system. The login require no special steps.
- In order to use ``rcleartool`` with authenticated users, an
"rcleartool login" is necessary before using the fetcher.
.. _perforce-fetcher:
Perforce Fetcher (``p4://``)
----------------------------
This fetcher submodule fetches code from the
`Perforce <https://www.perforce.com/>`__ source control system. The
executable used is specified by ``FETCHCMD_p4``, which defaults to "p4".
The fetcher's temporary working directory is set by
:term:`P4DIR`, which defaults to "DL_DIR/p4".
The fetcher does not make use of a perforce client, instead it
relies on ``p4 files`` to retrieve a list of
files and ``p4 print`` to transfer the content
of those files locally.
To use this fetcher, make sure your recipe has proper
:term:`SRC_URI`, :term:`SRCREV`, and
:term:`PV` values. The p4 executable is able to use the
config file defined by your system's ``P4CONFIG`` environment variable
in order to define the Perforce server URL and port, username, and
password if you do not wish to keep those values in a recipe itself. If
you choose not to use ``P4CONFIG``, or to explicitly set variables that
``P4CONFIG`` can contain, you can specify the ``P4PORT`` value, which is
the server's URL and port number, and you can specify a username and
password directly in your recipe within :term:`SRC_URI`.
Here is an example that relies on ``P4CONFIG`` to specify the server URL
and port, username, and password, and fetches the Head Revision::
SRC_URI = "p4://example-depot/main/source/..."
SRCREV = "${AUTOREV}"
PV = "p4-${SRCPV}"
S = "${WORKDIR}/p4"
Here is an example that specifies the server URL and port, username, and
password, and fetches a Revision based on a Label::
P4PORT = "tcp:p4server.example.net:1666"
SRC_URI = "p4://user:passwd@example-depot/main/source/..."
SRCREV = "release-1.0"
PV = "p4-${SRCPV}"
S = "${WORKDIR}/p4"
.. note::
You should always set S to "${WORKDIR}/p4" in your recipe.
By default, the fetcher strips the depot location from the local file paths. In
the above example, the content of ``example-depot/main/source/`` will be placed
in ``${WORKDIR}/p4``. For situations where preserving parts of the remote depot
paths locally is desirable, the fetcher supports two parameters:
- *"module":*
The top-level depot location or directory to fetch. The value of this
parameter can also point to a single file within the depot, in which case
the local file path will include the module path.
- *"remotepath":*
When used with the value "``keep``", the fetcher will mirror the full depot
paths locally for the specified location, even in combination with the
``module`` parameter.
Here is an example use of the the ``module`` parameter::
SRC_URI = "p4://user:passwd@example-depot/main;module=source/..."
In this case, the content of the top-level directory ``source/`` will be fetched
to ``${P4DIR}``, including the directory itself. The top-level directory will
be accesible at ``${P4DIR}/source/``.
Here is an example use of the the ``remotepath`` parameter::
SRC_URI = "p4://user:passwd@example-depot/main;module=source/...;remotepath=keep"
In this case, the content of the top-level directory ``source/`` will be fetched
to ``${P4DIR}``, but the complete depot paths will be mirrored locally. The
top-level directory will be accessible at
``${P4DIR}/example-depot/main/source/``.
.. _repo-fetcher:
Repo Fetcher (``repo://``)
--------------------------
This fetcher submodule fetches code from ``google-repo`` source control
system. The fetcher works by initiating and syncing sources of the
repository into :term:`REPODIR`, which is usually
``${DL_DIR}/repo``.
This fetcher supports the following parameters:
- *"protocol":* Protocol to fetch the repository manifest (default:
git).
- *"branch":* Branch or tag of repository to get (default: master).
- *"manifest":* Name of the manifest file (default: ``default.xml``).
Here are some example URLs::
SRC_URI = "repo://REPOROOT;protocol=git;branch=some_branch;manifest=my_manifest.xml"
SRC_URI = "repo://REPOROOT;protocol=file;branch=some_branch;manifest=my_manifest.xml"
.. _az-fetcher:
Az Fetcher (``az://``)
--------------------------
This submodule fetches data from an
`Azure Storage account <https://docs.microsoft.com/en-us/azure/storage/>`__ ,
it inherits its functionality from the HTTP wget fetcher, but modifies its
behavior to accomodate the usage of a
`Shared Access Signature (SAS) <https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview>`__
for non-public data.
Such functionality is set by the variable:
- :term:`AZ_SAS`: The Azure Storage Shared Access Signature provides secure
delegate access to resources, if this variable is set, the Az Fetcher will
use it when fetching artifacts from the cloud.
You can specify the AZ_SAS variable as shown below::
AZ_SAS = "se=2021-01-01&sp=r&sv=2018-11-09&sr=c&skoid=<skoid>&sig=<signature>"
Here is an example URL::
SRC_URI = "az://<azure-storage-account>.blob.core.windows.net/<foo_container>/<bar_file>"
It can also be used when setting mirrors definitions using the :term:`PREMIRRORS` variable.
.. _gcp-fetcher:
GCP Fetcher (``gs://``)
--------------------------
This submodule fetches data from a
`Google Cloud Storage Bucket <https://cloud.google.com/storage/docs/buckets>`__.
It uses the `Google Cloud Storage Python Client <https://cloud.google.com/python/docs/reference/storage/latest>`__
to check the status of objects in the bucket and download them.
The use of the Python client makes it substantially faster than using command
line tools such as gsutil.
The fetcher requires the Google Cloud Storage Python Client to be installed, along
with the gsutil tool.
The fetcher requires that the machine has valid credentials for accessing the
chosen bucket. Instructions for authentication can be found in the
`Google Cloud documentation <https://cloud.google.com/docs/authentication/provide-credentials-adc#local-dev>`__.
If it used from the OpenEmbedded build system, the fetcher can be used for
fetching sstate artifacts from a GCS bucket by specifying the
``SSTATE_MIRRORS`` variable as shown below::
SSTATE_MIRRORS ?= "\
file://.* gs://<bucket name>/PATH \
"
The fetcher can also be used in recipes::
SRC_URI = "gs://<bucket name>/<foo_container>/<bar_file>"
However, the checksum of the file should be also be provided::
SRC_URI[sha256sum] = "<sha256 string>"
.. _crate-fetcher:
Crate Fetcher (``crate://``)
----------------------------
This submodule fetches code for
`Rust language "crates" <https://doc.rust-lang.org/reference/glossary.html?highlight=crate#crate>`__
corresponding to Rust libraries and programs to compile. Such crates are typically shared
on https://crates.io/ but this fetcher supports other crate registries too.
The format for the :term:`SRC_URI` setting must be::
SRC_URI = "crate://REGISTRY/NAME/VERSION"
Here is an example URL::
SRC_URI = "crate://crates.io/glob/0.2.11"
.. _npm-fetcher:
NPM Fetcher (``npm://``)
------------------------
This submodule fetches source code from an
`NPM <https://en.wikipedia.org/wiki/Npm_(software)>`__
Javascript package registry.
The format for the :term:`SRC_URI` setting must be::
SRC_URI = "npm://some.registry.url;ParameterA=xxx;ParameterB=xxx;..."
This fetcher supports the following parameters:
- *"package":* The NPM package name. This is a mandatory parameter.
- *"version":* The NPM package version. This is a mandatory parameter.
- *"downloadfilename":* Specifies the filename used when storing the downloaded file.
- *"destsuffix":* Specifies the directory to use to unpack the package (default: ``npm``).
Note that NPM fetcher only fetches the package source itself. The dependencies
can be fetched through the `npmsw-fetcher`_.
Here is an example URL with both fetchers::
SRC_URI = " \
npm://registry.npmjs.org/;package=cute-files;version=${PV} \
npmsw://${THISDIR}/${BPN}/npm-shrinkwrap.json \
"
See :yocto_docs:`Creating Node Package Manager (NPM) Packages
</dev-manual/packages.html#creating-node-package-manager-npm-packages>`
in the Yocto Project manual for details about using
:yocto_docs:`devtool <https://docs.yoctoproject.org/ref-manual/devtool-reference.html>`
to automatically create a recipe from an NPM URL.
.. _npmsw-fetcher:
NPM shrinkwrap Fetcher (``npmsw://``)
-------------------------------------
This submodule fetches source code from an
`NPM shrinkwrap <https://docs.npmjs.com/cli/v8/commands/npm-shrinkwrap>`__
description file, which lists the dependencies
of an NPM package while locking their versions.
The format for the :term:`SRC_URI` setting must be::
SRC_URI = "npmsw://some.registry.url;ParameterA=xxx;ParameterB=xxx;..."
This fetcher supports the following parameters:
- *"dev":* Set this parameter to ``1`` to install "devDependencies".
- *"destsuffix":* Specifies the directory to use to unpack the dependencies
(``${S}`` by default).
Note that the shrinkwrap file can also be provided by the recipe for
the package which has such dependencies, for example::
SRC_URI = " \
npm://registry.npmjs.org/;package=cute-files;version=${PV} \
npmsw://${THISDIR}/${BPN}/npm-shrinkwrap.json \
"
Such a file can automatically be generated using
:yocto_docs:`devtool <https://docs.yoctoproject.org/ref-manual/devtool-reference.html>`
as described in the :yocto_docs:`Creating Node Package Manager (NPM) Packages
</dev-manual/packages.html#creating-node-package-manager-npm-packages>`
section of the Yocto Project.
Other Fetchers
--------------
Fetch submodules also exist for the following:
- Bazaar (``bzr://``)
- Mercurial (``hg://``)
- OSC (``osc://``)
- S3 (``s3://``)
- Secure FTP (``sftp://``)
- Secure Shell (``ssh://``)
- Trees using Git Annex (``gitannex://``)
No documentation currently exists for these lesser used fetcher
submodules. However, you might find the code helpful and readable.
Auto Revisions
==============
We need to document ``AUTOREV`` and :term:`SRCREV_FORMAT` here.

View File

@@ -0,0 +1,408 @@
.. SPDX-License-Identifier: CC-BY-2.5
===================
Hello World Example
===================
BitBake Hello World
===================
The simplest example commonly used to demonstrate any new programming
language or tool is the "`Hello
World <http://en.wikipedia.org/wiki/Hello_world_program>`__" example.
This appendix demonstrates, in tutorial form, Hello World within the
context of BitBake. The tutorial describes how to create a new project
and the applicable metadata files necessary to allow BitBake to build
it.
Obtaining BitBake
=================
See the :ref:`bitbake-user-manual/bitbake-user-manual-intro:obtaining bitbake` section for
information on how to obtain BitBake. Once you have the source code on
your machine, the BitBake directory appears as follows::
$ ls -al
total 108
drwxr-xr-x 9 fawkh 10000 4096 feb 24 12:10 .
drwx------ 36 fawkh 10000 4096 mar 2 17:00 ..
-rw-r--r-- 1 fawkh 10000 365 feb 24 12:10 AUTHORS
drwxr-xr-x 2 fawkh 10000 4096 feb 24 12:10 bin
-rw-r--r-- 1 fawkh 10000 16501 feb 24 12:10 ChangeLog
drwxr-xr-x 2 fawkh 10000 4096 feb 24 12:10 classes
drwxr-xr-x 2 fawkh 10000 4096 feb 24 12:10 conf
drwxr-xr-x 5 fawkh 10000 4096 feb 24 12:10 contrib
drwxr-xr-x 6 fawkh 10000 4096 feb 24 12:10 doc
drwxr-xr-x 8 fawkh 10000 4096 mar 2 16:26 .git
-rw-r--r-- 1 fawkh 10000 31 feb 24 12:10 .gitattributes
-rw-r--r-- 1 fawkh 10000 392 feb 24 12:10 .gitignore
drwxr-xr-x 13 fawkh 10000 4096 feb 24 12:11 lib
-rw-r--r-- 1 fawkh 10000 1224 feb 24 12:10 LICENSE
-rw-r--r-- 1 fawkh 10000 15394 feb 24 12:10 LICENSE.GPL-2.0-only
-rw-r--r-- 1 fawkh 10000 1286 feb 24 12:10 LICENSE.MIT
-rw-r--r-- 1 fawkh 10000 229 feb 24 12:10 MANIFEST.in
-rw-r--r-- 1 fawkh 10000 2413 feb 24 12:10 README
-rw-r--r-- 1 fawkh 10000 43 feb 24 12:10 toaster-requirements.txt
-rw-r--r-- 1 fawkh 10000 2887 feb 24 12:10 TODO
At this point, you should have BitBake cloned to a directory that
matches the previous listing except for dates and user names.
Setting Up the BitBake Environment
==================================
First, you need to be sure that you can run BitBake. Set your working
directory to where your local BitBake files are and run the following
command::
$ ./bin/bitbake --version
BitBake Build Tool Core version 2.3.1
The console output tells you what version
you are running.
The recommended method to run BitBake is from a directory of your
choice. To be able to run BitBake from any directory, you need to add
the executable binary to your binary to your shell's environment
``PATH`` variable. First, look at your current ``PATH`` variable by
entering the following::
$ echo $PATH
Next, add the directory location
for the BitBake binary to the ``PATH``. Here is an example that adds the
``/home/scott-lenovo/bitbake/bin`` directory to the front of the
``PATH`` variable::
$ export PATH=/home/scott-lenovo/bitbake/bin:$PATH
You should now be able to enter the ``bitbake`` command from the command
line while working from any directory.
The Hello World Example
=======================
The overall goal of this exercise is to build a complete "Hello World"
example utilizing task and layer concepts. Because this is how modern
projects such as OpenEmbedded and the Yocto Project utilize BitBake, the
example provides an excellent starting point for understanding BitBake.
To help you understand how to use BitBake to build targets, the example
starts with nothing but the ``bitbake`` command, which causes BitBake to
fail and report problems. The example progresses by adding pieces to the
build to eventually conclude with a working, minimal "Hello World"
example.
While every attempt is made to explain what is happening during the
example, the descriptions cannot cover everything. You can find further
information throughout this manual. Also, you can actively participate
in the :oe_lists:`/g/bitbake-devel`
discussion mailing list about the BitBake build tool.
.. note::
This example was inspired by and drew heavily from
`Mailing List post - The BitBake equivalent of "Hello, World!"
<https://www.mail-archive.com/yocto@yoctoproject.org/msg09379.html>`_.
As stated earlier, the goal of this example is to eventually compile
"Hello World". However, it is unknown what BitBake needs and what you
have to provide in order to achieve that goal. Recall that BitBake
utilizes three types of metadata files:
:ref:`bitbake-user-manual/bitbake-user-manual-intro:configuration files`,
:ref:`bitbake-user-manual/bitbake-user-manual-intro:classes`, and
:ref:`bitbake-user-manual/bitbake-user-manual-intro:recipes`.
But where do they go? How does BitBake find
them? BitBake's error messaging helps you answer these types of
questions and helps you better understand exactly what is going on.
Following is the complete "Hello World" example.
#. **Create a Project Directory:** First, set up a directory for the
"Hello World" project. Here is how you can do so in your home
directory::
$ mkdir ~/hello
$ cd ~/hello
This is the directory that
BitBake will use to do all of its work. You can use this directory
to keep all the metafiles needed by BitBake. Having a project
directory is a good way to isolate your project.
#. **Run BitBake:** At this point, you have nothing but a project
directory. Run the ``bitbake`` command and see what it does::
$ bitbake
ERROR: The BBPATH variable is not set and bitbake did not find a conf/bblayers.conf file in the expected location.
Maybe you accidentally invoked bitbake from the wrong directory?
When you run BitBake, it begins looking for metadata files. The
:term:`BBPATH` variable is what tells BitBake where
to look for those files. :term:`BBPATH` is not set and you need to set
it. Without :term:`BBPATH`, BitBake cannot find any configuration files
(``.conf``) or recipe files (``.bb``) at all. BitBake also cannot
find the ``bitbake.conf`` file.
#. **Setting BBPATH:** For this example, you can set :term:`BBPATH` in
the same manner that you set ``PATH`` earlier in the appendix. You
should realize, though, that it is much more flexible to set the
:term:`BBPATH` variable up in a configuration file for each project.
From your shell, enter the following commands to set and export the
:term:`BBPATH` variable::
$ BBPATH="projectdirectory"
$ export BBPATH
Use your actual project directory in the command. BitBake uses that
directory to find the metadata it needs for your project.
.. note::
When specifying your project directory, do not use the tilde
("~") character as BitBake does not expand that character as the
shell would.
#. **Run BitBake:** Now that you have :term:`BBPATH` defined, run the
``bitbake`` command again::
$ bitbake
ERROR: Unable to parse /home/scott-lenovo/bitbake/lib/bb/parse/__init__.py
Traceback (most recent call last):
File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 127, in resolve_file(fn='conf/bitbake.conf', d=<bb.data_smart.DataSmart object at 0x7f22919a3df0>):
if not newfn:
> raise IOError(errno.ENOENT, "file %s not found in %s" % (fn, bbpath))
fn = newfn
FileNotFoundError: [Errno 2] file conf/bitbake.conf not found in <projectdirectory>
This sample output shows that BitBake could not find the
``conf/bitbake.conf`` file in the project directory. This file is
the first thing BitBake must find in order to build a target. And,
since the project directory for this example is empty, you need to
provide a ``conf/bitbake.conf`` file.
#. **Creating conf/bitbake.conf:** The ``conf/bitbake.conf`` includes
a number of configuration variables BitBake uses for metadata and
recipe files. For this example, you need to create the file in your
project directory and define some key BitBake variables. For more
information on the ``bitbake.conf`` file, see
https://git.openembedded.org/bitbake/tree/conf/bitbake.conf.
Use the following commands to create the ``conf`` directory in the
project directory::
$ mkdir conf
From within the ``conf`` directory,
use some editor to create the ``bitbake.conf`` so that it contains
the following::
PN = "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
TMPDIR = "${TOPDIR}/tmp"
CACHE = "${TMPDIR}/cache"
STAMP = "${TMPDIR}/${PN}/stamps"
T = "${TMPDIR}/${PN}/work"
B = "${TMPDIR}/${PN}"
.. note::
Without a value for :term:`PN`, the variables :term:`STAMP`, :term:`T`, and :term:`B`, prevent more
than one recipe from working. You can fix this by either setting :term:`PN` to
have a value similar to what OpenEmbedded and BitBake use in the default
``bitbake.conf`` file (see previous example). Or, by manually updating each
recipe to set :term:`PN`. You will also need to include :term:`PN` as part of the :term:`STAMP`,
:term:`T`, and :term:`B` variable definitions in the ``local.conf`` file.
The ``TMPDIR`` variable establishes a directory that BitBake uses
for build output and intermediate files other than the cached
information used by the
:ref:`bitbake-user-manual/bitbake-user-manual-execution:setscene`
process. Here, the ``TMPDIR`` directory is set to ``hello/tmp``.
.. tip::
You can always safely delete the tmp directory in order to rebuild a
BitBake target. The build process creates the directory for you when you
run BitBake.
For information about each of the other variables defined in this
example, check :term:`PN`, :term:`TOPDIR`, :term:`CACHE`, :term:`STAMP`,
:term:`T` or :term:`B` to take you to the definitions in the
glossary.
#. **Run BitBake:** After making sure that the ``conf/bitbake.conf`` file
exists, you can run the ``bitbake`` command again::
$ bitbake
ERROR: Unable to parse /home/scott-lenovo/bitbake/lib/bb/parse/parse_py/BBHandler.py
Traceback (most recent call last):
File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/BBHandler.py", line 67, in inherit(files=['base'], fn='configuration INHERITs', lineno=0, d=<bb.data_smart.DataSmart object at 0x7fab6815edf0>):
if not os.path.exists(file):
> raise ParseError("Could not inherit file %s" % (file), fn, lineno)
bb.parse.ParseError: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass
In the sample output,
BitBake could not find the ``classes/base.bbclass`` file. You need
to create that file next.
#. **Creating classes/base.bbclass:** BitBake uses class files to
provide common code and functionality. The minimally required class
for BitBake is the ``classes/base.bbclass`` file. The ``base`` class
is implicitly inherited by every recipe. BitBake looks for the class
in the ``classes`` directory of the project (i.e ``hello/classes``
in this example).
Create the ``classes`` directory as follows::
$ cd $HOME/hello
$ mkdir classes
Move to the ``classes`` directory and then create the
``base.bbclass`` file by inserting this single line::
addtask build
The minimal task that BitBake runs is the ``do_build`` task. This is
all the example needs in order to build the project. Of course, the
``base.bbclass`` can have much more depending on which build
environments BitBake is supporting.
#. **Run BitBake:** After making sure that the ``classes/base.bbclass``
file exists, you can run the ``bitbake`` command again::
$ bitbake
Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.
BitBake is finally reporting
no errors. However, you can see that it really does not have
anything to do. You need to create a recipe that gives BitBake
something to do.
#. **Creating a Layer:** While it is not really necessary for such a
small example, it is good practice to create a layer in which to
keep your code separate from the general metadata used by BitBake.
Thus, this example creates and uses a layer called "mylayer".
.. note::
You can find additional information on layers in the
":ref:`bitbake-user-manual/bitbake-user-manual-intro:Layers`" section.
Minimally, you need a recipe file and a layer configuration file in
your layer. The configuration file needs to be in the ``conf``
directory inside the layer. Use these commands to set up the layer
and the ``conf`` directory::
$ cd $HOME
$ mkdir mylayer
$ cd mylayer
$ mkdir conf
Move to the ``conf`` directory and create a ``layer.conf`` file that has the
following::
BBPATH .= ":${LAYERDIR}"
BBFILES += "${LAYERDIR}/*.bb"
BBFILE_COLLECTIONS += "mylayer"
BBFILE_PATTERN_mylayer := "^${LAYERDIR_RE}/"
LAYERSERIES_CORENAMES = "hello_world_example"
LAYERSERIES_COMPAT_mylayer = "hello_world_example"
For information on these variables, click on :term:`BBFILES`,
:term:`LAYERDIR`, :term:`BBFILE_COLLECTIONS`, :term:`BBFILE_PATTERN_mylayer <BBFILE_PATTERN>`
or :term:`LAYERSERIES_COMPAT` to go to the definitions in the glossary.
.. note::
We are setting both ``LAYERSERIES_CORENAMES`` and :term:`LAYERSERIES_COMPAT` in this particular case, because we
are using bitbake without OpenEmbedded.
You should usually just use :term:`LAYERSERIES_COMPAT` to specify the OE-Core versions for which your layer
is compatible, and add the meta-openembedded layer to your project.
You need to create the recipe file next. Inside your layer at the
top-level, use an editor and create a recipe file named
``printhello.bb`` that has the following::
DESCRIPTION = "Prints Hello World"
PN = 'printhello'
PV = '1'
python do_build() {
bb.plain("********************");
bb.plain("* *");
bb.plain("* Hello, World! *");
bb.plain("* *");
bb.plain("********************");
}
The recipe file simply provides
a description of the recipe, the name, version, and the ``do_build``
task, which prints out "Hello World" to the console. For more
information on :term:`DESCRIPTION`, :term:`PN` or :term:`PV`
follow the links to the glossary.
#. **Run BitBake With a Target:** Now that a BitBake target exists, run
the command and provide that target::
$ cd $HOME/hello
$ bitbake printhello
ERROR: no recipe files to build, check your BBPATH and BBFILES?
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
We have created the layer with the recipe and
the layer configuration file but it still seems that BitBake cannot
find the recipe. BitBake needs a ``conf/bblayers.conf`` that lists
the layers for the project. Without this file, BitBake cannot find
the recipe.
#. **Creating conf/bblayers.conf:** BitBake uses the
``conf/bblayers.conf`` file to locate layers needed for the project.
This file must reside in the ``conf`` directory of the project (i.e.
``hello/conf`` for this example).
Set your working directory to the ``hello/conf`` directory and then
create the ``bblayers.conf`` file so that it contains the following::
BBLAYERS ?= " \
/home/<you>/mylayer \
"
You need to provide your own information for ``you`` in the file.
#. **Run BitBake With a Target:** Now that you have supplied the
``bblayers.conf`` file, run the ``bitbake`` command and provide the
target::
$ bitbake printhello
Loading cache: 100% |
Loaded 0 entries from dependency cache.
Parsing recipes: 100% |##################################################################################|
Parsing of 1 .bb files complete (0 cached, 1 parsed). 1 targets, 0 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |###############################################################################|
NOTE: No setscene tasks
NOTE: Executing Tasks
********************
* *
* Hello, World! *
* *
********************
NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be rerun and all succeeded.
.. note::
After the first execution, re-running bitbake printhello again will not
result in a BitBake run that prints the same console output. The reason
for this is that the first time the printhello.bb recipe's do_build task
executes successfully, BitBake writes a stamp file for the task. Thus,
the next time you attempt to run the task using that same bitbake
command, BitBake notices the stamp and therefore determines that the task
does not need to be re-run. If you delete the tmp directory or run
bitbake -c clean printhello and then re-run the build, the "Hello,
World!" message will be printed again.

View File

@@ -0,0 +1,653 @@
.. SPDX-License-Identifier: CC-BY-2.5
========
Overview
========
|
Welcome to the BitBake User Manual. This manual provides information on
the BitBake tool. The information attempts to be as independent as
possible regarding systems that use BitBake, such as OpenEmbedded and
the Yocto Project. In some cases, scenarios or examples within the
context of a build system are used in the manual to help with
understanding. For these cases, the manual clearly states the context.
.. _intro:
Introduction
============
Fundamentally, BitBake is a generic task execution engine that allows
shell and Python tasks to be run efficiently and in parallel while
working within complex inter-task dependency constraints. One of
BitBake's main users, OpenEmbedded, takes this core and builds embedded
Linux software stacks using a task-oriented approach.
Conceptually, BitBake is similar to GNU Make in some regards but has
significant differences:
- BitBake executes tasks according to the provided metadata that builds up
the tasks. Metadata is stored in recipe (``.bb``) and related recipe
"append" (``.bbappend``) files, configuration (``.conf``) and
underlying include (``.inc``) files, and in class (``.bbclass``)
files. The metadata provides BitBake with instructions on what tasks
to run and the dependencies between those tasks.
- BitBake includes a fetcher library for obtaining source code from
various places such as local files, source control systems, or
websites.
- The instructions for each unit to be built (e.g. a piece of software)
are known as "recipe" files and contain all the information about the
unit (dependencies, source file locations, checksums, description and
so on).
- BitBake includes a client/server abstraction and can be used from a
command line or used as a service over XML-RPC and has several
different user interfaces.
History and Goals
=================
BitBake was originally a part of the OpenEmbedded project. It was
inspired by the Portage package management system used by the Gentoo
Linux distribution. On December 7, 2004, OpenEmbedded project team
member Chris Larson split the project into two distinct pieces:
- BitBake, a generic task executor
- OpenEmbedded, a metadata set utilized by BitBake
Today, BitBake is the primary basis of the
`OpenEmbedded <https://www.openembedded.org/>`__ project, which is being
used to build and maintain Linux distributions such as the `Poky
Reference Distribution <https://www.yoctoproject.org/software-item/poky/>`__,
developed under the umbrella of the `Yocto Project <https://www.yoctoproject.org>`__.
Prior to BitBake, no other build tool adequately met the needs of an
aspiring embedded Linux distribution. All of the build systems used by
traditional desktop Linux distributions lacked important functionality,
and none of the ad hoc Buildroot-based systems, prevalent in the
embedded space, were scalable or maintainable.
Some important original goals for BitBake were:
- Handle cross-compilation.
- Handle inter-package dependencies (build time on target architecture,
build time on native architecture, and runtime).
- Support running any number of tasks within a given package,
including, but not limited to, fetching upstream sources, unpacking
them, patching them, configuring them, and so forth.
- Be Linux distribution agnostic for both build and target systems.
- Be architecture agnostic.
- Support multiple build and target operating systems (e.g. Cygwin, the
BSDs, and so forth).
- Be self-contained, rather than tightly integrated into the build
machine's root filesystem.
- Handle conditional metadata on the target architecture, operating
system, distribution, and machine.
- Be easy to use the tools to supply local metadata and packages
against which to operate.
- Be easy to use BitBake to collaborate between multiple projects for
their builds.
- Provide an inheritance mechanism to share common metadata between
many packages.
Over time it became apparent that some further requirements were
necessary:
- Handle variants of a base recipe (e.g. native, sdk, and multilib).
- Split metadata into layers and allow layers to enhance or override
other layers.
- Allow representation of a given set of input variables to a task as a
checksum. Based on that checksum, allow acceleration of builds with
prebuilt components.
BitBake satisfies all the original requirements and many more with
extensions being made to the basic functionality to reflect the
additional requirements. Flexibility and power have always been the
priorities. BitBake is highly extensible and supports embedded Python
code and execution of any arbitrary tasks.
.. _Concepts:
Concepts
========
BitBake is a program written in the Python language. At the highest
level, BitBake interprets metadata, decides what tasks are required to
run, and executes those tasks. Similar to GNU Make, BitBake controls how
software is built. GNU Make achieves its control through "makefiles",
while BitBake uses "recipes".
BitBake extends the capabilities of a simple tool like GNU Make by
allowing for the definition of much more complex tasks, such as
assembling entire embedded Linux distributions.
The remainder of this section introduces several concepts that should be
understood in order to better leverage the power of BitBake.
Recipes
-------
BitBake Recipes, which are denoted by the file extension ``.bb``, are
the most basic metadata files. These recipe files provide BitBake with
the following:
- Descriptive information about the package (author, homepage, license,
and so on)
- The version of the recipe
- Existing dependencies (both build and runtime dependencies)
- Where the source code resides and how to fetch it
- Whether the source code requires any patches, where to find them, and
how to apply them
- How to configure and compile the source code
- How to assemble the generated artifacts into one or more installable
packages
- Where on the target machine to install the package or packages
created
Within the context of BitBake, or any project utilizing BitBake as its
build system, files with the ``.bb`` extension are referred to as
recipes.
.. note::
The term "package" is also commonly used to describe recipes.
However, since the same word is used to describe packaged output from
a project, it is best to maintain a single descriptive term -
"recipes". Put another way, a single "recipe" file is quite capable
of generating a number of related but separately installable
"packages". In fact, that ability is fairly common.
Configuration Files
-------------------
Configuration files, which are denoted by the ``.conf`` extension,
define various configuration variables that govern the project's build
process. These files fall into several areas that define machine
configuration, distribution configuration, possible compiler tuning,
general common configuration, and user configuration. The main
configuration file is the sample ``bitbake.conf`` file, which is located
within the BitBake source tree ``conf`` directory.
Classes
-------
Class files, which are denoted by the ``.bbclass`` extension, contain
information that is useful to share between metadata files. The BitBake
source tree currently comes with one class metadata file called
``base.bbclass``. You can find this file in the ``classes`` directory.
The ``base.bbclass`` class files is special since it is always included
automatically for all recipes and classes. This class contains
definitions for standard basic tasks such as fetching, unpacking,
configuring (empty by default), compiling (runs any Makefile present),
installing (empty by default) and packaging (empty by default). These
tasks are often overridden or extended by other classes added during the
project development process.
Layers
------
Layers allow you to isolate different types of customizations from each
other. While you might find it tempting to keep everything in one layer
when working on a single project, the more modular your metadata, the
easier it is to cope with future changes.
To illustrate how you can use layers to keep things modular, consider
customizations you might make to support a specific target machine.
These types of customizations typically reside in a special layer,
rather than a general layer, called a Board Support Package (BSP) layer.
Furthermore, the machine customizations should be isolated from recipes
and metadata that support a new GUI environment, for example. This
situation gives you a couple of layers: one for the machine
configurations and one for the GUI environment. It is important to
understand, however, that the BSP layer can still make machine-specific
additions to recipes within the GUI environment layer without polluting
the GUI layer itself with those machine-specific changes. You can
accomplish this through a recipe that is a BitBake append
(``.bbappend``) file.
.. _append-bbappend-files:
Append Files
------------
Append files, which are files that have the ``.bbappend`` file
extension, extend or override information in an existing recipe file.
BitBake expects every append file to have a corresponding recipe file.
Furthermore, the append file and corresponding recipe file must use the
same root filename. The filenames can differ only in the file type
suffix used (e.g. ``formfactor_0.0.bb`` and
``formfactor_0.0.bbappend``).
Information in append files extends or overrides the information in the
underlying, similarly-named recipe files.
When you name an append file, you can use the "``%``" wildcard character
to allow for matching recipe names. For example, suppose you have an
append file named as follows::
busybox_1.21.%.bbappend
That append file
would match any ``busybox_1.21.``\ x\ ``.bb`` version of the recipe. So,
the append file would match the following recipe names::
busybox_1.21.1.bb
busybox_1.21.2.bb
busybox_1.21.3.bb
.. note::
The use of the " % " character is limited in that it only works directly in
front of the .bbappend portion of the append file's name. You cannot use the
wildcard character in any other location of the name.
If the ``busybox`` recipe was updated to ``busybox_1.3.0.bb``, the
append name would not match. However, if you named the append file
``busybox_1.%.bbappend``, then you would have a match.
In the most general case, you could name the append file something as
simple as ``busybox_%.bbappend`` to be entirely version independent.
Obtaining BitBake
=================
You can obtain BitBake several different ways:
- **Cloning BitBake:** Using Git to clone the BitBake source code
repository is the recommended method for obtaining BitBake. Cloning
the repository makes it easy to get bug fixes and have access to
stable branches and the master branch. Once you have cloned BitBake,
you should use the latest stable branch for development since the
master branch is for BitBake development and might contain less
stable changes.
You usually need a version of BitBake that matches the metadata you
are using. The metadata is generally backwards compatible but not
forward compatible.
Here is an example that clones the BitBake repository::
$ git clone git://git.openembedded.org/bitbake
This command clones the BitBake
Git repository into a directory called ``bitbake``. Alternatively,
you can designate a directory after the ``git clone`` command if you
want to call the new directory something other than ``bitbake``. Here
is an example that names the directory ``bbdev``::
$ git clone git://git.openembedded.org/bitbake bbdev
- **Installation using your Distribution Package Management System:**
This method is not recommended because the BitBake version that is
provided by your distribution, in most cases, is several releases
behind a snapshot of the BitBake repository.
- **Taking a snapshot of BitBake:** Downloading a snapshot of BitBake
from the source code repository gives you access to a known branch or
release of BitBake.
.. note::
Cloning the Git repository, as described earlier, is the preferred
method for getting BitBake. Cloning the repository makes it easier
to update as patches are added to the stable branches.
The following example downloads a snapshot of BitBake version 1.17.0::
$ wget https://git.openembedded.org/bitbake/snapshot/bitbake-1.17.0.tar.gz
$ tar zxpvf bitbake-1.17.0.tar.gz
After extraction of the tarball using
the tar utility, you have a directory entitled ``bitbake-1.17.0``.
- **Using the BitBake that Comes With Your Build Checkout:** A final
possibility for getting a copy of BitBake is that it already comes
with your checkout of a larger BitBake-based build system, such as
Poky. Rather than manually checking out individual layers and gluing
them together yourself, you can check out an entire build system. The
checkout will already include a version of BitBake that has been
thoroughly tested for compatibility with the other components. For
information on how to check out a particular BitBake-based build
system, consult that build system's supporting documentation.
.. _bitbake-user-manual-command:
The BitBake Command
===================
The ``bitbake`` command is the primary interface to the BitBake tool.
This section presents the BitBake command syntax and provides several
execution examples.
Usage and syntax
----------------
Following is the usage and syntax for BitBake::
$ bitbake -h
Usage: bitbake [options] [recipename/target recipe:do_task ...]
Executes the specified task (default is 'build') for a given set of target recipes (.bb files).
It is assumed there is a conf/bblayers.conf available in cwd or in BBPATH which
will provide the layer, BBFILES and other configuration information.
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-b BUILDFILE, --buildfile=BUILDFILE
Execute tasks from a specific .bb recipe directly.
WARNING: Does not handle any dependencies from other
recipes.
-k, --continue Continue as much as possible after an error. While the
target that failed and anything depending on it cannot
be built, as much as possible will be built before
stopping.
-f, --force Force the specified targets/task to run (invalidating
any existing stamp file).
-c CMD, --cmd=CMD Specify the task to execute. The exact options
available depend on the metadata. Some examples might
be 'compile' or 'populate_sysroot' or 'listtasks' may
give a list of the tasks available.
-C INVALIDATE_STAMP, --clear-stamp=INVALIDATE_STAMP
Invalidate the stamp for the specified task such as
'compile' and then run the default task for the
specified target(s).
-r PREFILE, --read=PREFILE
Read the specified file before bitbake.conf.
-R POSTFILE, --postread=POSTFILE
Read the specified file after bitbake.conf.
-v, --verbose Enable tracing of shell tasks (with 'set -x'). Also
print bb.note(...) messages to stdout (in addition to
writing them to ${T}/log.do_&lt;task&gt;).
-D, --debug Increase the debug level. You can specify this more
than once. -D sets the debug level to 1, where only
bb.debug(1, ...) messages are printed to stdout; -DD
sets the debug level to 2, where both bb.debug(1, ...)
and bb.debug(2, ...) messages are printed; etc.
Without -D, no debug messages are printed. Note that
-D only affects output to stdout. All debug messages
are written to ${T}/log.do_taskname, regardless of the
debug level.
-q, --quiet Output less log message data to the terminal. You can
specify this more than once.
-n, --dry-run Don't execute, just go through the motions.
-S SIGNATURE_HANDLER, --dump-signatures=SIGNATURE_HANDLER
Dump out the signature construction information, with
no task execution. The SIGNATURE_HANDLER parameter is
passed to the handler. Two common values are none and
printdiff but the handler may define more/less. none
means only dump the signature, printdiff means compare
the dumped signature with the cached one.
-p, --parse-only Quit after parsing the BB recipes.
-s, --show-versions Show current and preferred versions of all recipes.
-e, --environment Show the global or per-recipe environment complete
with information about where variables were
set/changed.
-g, --graphviz Save dependency tree information for the specified
targets in the dot syntax.
-I EXTRA_ASSUME_PROVIDED, --ignore-deps=EXTRA_ASSUME_PROVIDED
Assume these dependencies don't exist and are already
provided (equivalent to ASSUME_PROVIDED). Useful to
make dependency graphs more appealing
-l DEBUG_DOMAINS, --log-domains=DEBUG_DOMAINS
Show debug logging for the specified logging domains
-P, --profile Profile the command and save reports.
-u UI, --ui=UI The user interface to use (knotty, ncurses, taskexp or
teamcity - default knotty).
--token=XMLRPCTOKEN Specify the connection token to be used when
connecting to a remote server.
--revisions-changed Set the exit code depending on whether upstream
floating revisions have changed or not.
--server-only Run bitbake without a UI, only starting a server
(cooker) process.
-B BIND, --bind=BIND The name/address for the bitbake xmlrpc server to bind
to.
-T SERVER_TIMEOUT, --idle-timeout=SERVER_TIMEOUT
Set timeout to unload bitbake server due to
inactivity, set to -1 means no unload, default:
Environment variable BB_SERVER_TIMEOUT.
--no-setscene Do not run any setscene tasks. sstate will be ignored
and everything needed, built.
--skip-setscene Skip setscene tasks if they would be executed. Tasks
previously restored from sstate will be kept, unlike
--no-setscene
--setscene-only Only run setscene tasks, don't run any real tasks.
--remote-server=REMOTE_SERVER
Connect to the specified server.
-m, --kill-server Terminate any running bitbake server.
--observe-only Connect to a server as an observing-only client.
--status-only Check the status of the remote bitbake server.
-w WRITEEVENTLOG, --write-log=WRITEEVENTLOG
Writes the event log of the build to a bitbake event
json file. Use '' (empty string) to assign the name
automatically.
--runall=RUNALL Run the specified task for any recipe in the taskgraph
of the specified target (even if it wouldn't otherwise
have run).
--runonly=RUNONLY Run only the specified task within the taskgraph of
the specified targets (and any task dependencies those
tasks may have).
.. _bitbake-examples:
Examples
--------
This section presents some examples showing how to use BitBake.
.. _example-executing-a-task-against-a-single-recipe:
Executing a Task Against a Single Recipe
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Executing tasks for a single recipe file is relatively simple. You
specify the file in question, and BitBake parses it and executes the
specified task. If you do not specify a task, BitBake executes the
default task, which is "build". BitBake obeys inter-task dependencies
when doing so.
The following command runs the build task, which is the default task, on
the ``foo_1.0.bb`` recipe file::
$ bitbake -b foo_1.0.bb
The following command runs the clean task on the ``foo.bb`` recipe file::
$ bitbake -b foo.bb -c clean
.. note::
The "-b" option explicitly does not handle recipe dependencies. Other
than for debugging purposes, it is instead recommended that you use
the syntax presented in the next section.
Executing Tasks Against a Set of Recipe Files
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are a number of additional complexities introduced when one wants
to manage multiple ``.bb`` files. Clearly there needs to be a way to
tell BitBake what files are available and, of those, which you want to
execute. There also needs to be a way for each recipe to express its
dependencies, both for build-time and runtime. There must be a way for
you to express recipe preferences when multiple recipes provide the same
functionality, or when there are multiple versions of a recipe.
The ``bitbake`` command, when not using "--buildfile" or "-b" only
accepts a "PROVIDES". You cannot provide anything else. By default, a
recipe file generally "PROVIDES" its "packagename" as shown in the
following example::
$ bitbake foo
This next example "PROVIDES" the
package name and also uses the "-c" option to tell BitBake to just
execute the ``do_clean`` task::
$ bitbake -c clean foo
Executing a List of Task and Recipe Combinations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The BitBake command line supports specifying different tasks for
individual targets when you specify multiple targets. For example,
suppose you had two targets (or recipes) ``myfirstrecipe`` and
``mysecondrecipe`` and you needed BitBake to run ``taskA`` for the first
recipe and ``taskB`` for the second recipe::
$ bitbake myfirstrecipe:do_taskA mysecondrecipe:do_taskB
Generating Dependency Graphs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BitBake is able to generate dependency graphs using the ``dot`` syntax.
You can convert these graphs into images using the ``dot`` tool from
`Graphviz <http://www.graphviz.org>`__.
When you generate a dependency graph, BitBake writes two files to the
current working directory:
- ``task-depends.dot``: Shows dependencies between tasks. These
dependencies match BitBake's internal task execution list.
- ``pn-buildlist``: Shows a simple list of targets that are to be
built.
To stop depending on common depends, use the ``-I`` depend option and
BitBake omits them from the graph. Leaving this information out can
produce more readable graphs. This way, you can remove from the graph
:term:`DEPENDS` from inherited classes such as ``base.bbclass``.
Here are two examples that create dependency graphs. The second example
omits depends common in OpenEmbedded from the graph::
$ bitbake -g foo
$ bitbake -g -I virtual/kernel -I eglibc foo
Executing a Multiple Configuration Build
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BitBake is able to build multiple images or packages using a single
command where the different targets require different configurations
(multiple configuration builds). Each target, in this scenario, is
referred to as a "multiconfig".
To accomplish a multiple configuration build, you must define each
target's configuration separately using a parallel configuration file in
the build directory. The location for these multiconfig configuration
files is specific. They must reside in the current build directory in a
sub-directory of ``conf`` named ``multiconfig``. Following is an example
for two separate targets:
.. image:: figures/bb_multiconfig_files.png
:align: center
The reason for this required file hierarchy is because the :term:`BBPATH`
variable is not constructed until the layers are parsed. Consequently,
using the configuration file as a pre-configuration file is not possible
unless it is located in the current working directory.
Minimally, each configuration file must define the machine and the
temporary directory BitBake uses for the build. Suggested practice
dictates that you do not overlap the temporary directories used during
the builds.
Aside from separate configuration files for each target, you must also
enable BitBake to perform multiple configuration builds. Enabling is
accomplished by setting the
:term:`BBMULTICONFIG` variable in the
``local.conf`` configuration file. As an example, suppose you had
configuration files for ``target1`` and ``target2`` defined in the build
directory. The following statement in the ``local.conf`` file both
enables BitBake to perform multiple configuration builds and specifies
the two extra multiconfigs::
BBMULTICONFIG = "target1 target2"
Once the target configuration files are in place and BitBake has been
enabled to perform multiple configuration builds, use the following
command form to start the builds::
$ bitbake [mc:multiconfigname:]target [[[mc:multiconfigname:]target] ... ]
Here is an example for two extra multiconfigs: ``target1`` and ``target2``::
$ bitbake mc::target mc:target1:target mc:target2:target
.. _bb-enabling-multiple-configuration-build-dependencies:
Enabling Multiple Configuration Build Dependencies
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sometimes dependencies can exist between targets (multiconfigs) in a
multiple configuration build. For example, suppose that in order to
build an image for a particular architecture, the root filesystem of
another build for a different architecture needs to exist. In other
words, the image for the first multiconfig depends on the root
filesystem of the second multiconfig. This dependency is essentially
that the task in the recipe that builds one multiconfig is dependent on
the completion of the task in the recipe that builds another
multiconfig.
To enable dependencies in a multiple configuration build, you must
declare the dependencies in the recipe using the following statement
form::
task_or_package[mcdepends] = "mc:from_multiconfig:to_multiconfig:recipe_name:task_on_which_to_depend"
To better show how to use this statement, consider an example with two
multiconfigs: ``target1`` and ``target2``::
image_task[mcdepends] = "mc:target1:target2:image2:rootfs_task"
In this example, the
``from_multiconfig`` is "target1" and the ``to_multiconfig`` is "target2". The
task on which the image whose recipe contains image_task depends on the
completion of the rootfs_task used to build out image2, which is
associated with the "target2" multiconfig.
Once you set up this dependency, you can build the "target1" multiconfig
using a BitBake command as follows::
$ bitbake mc:target1:image1
This command executes all the tasks needed to create ``image1`` for the "target1"
multiconfig. Because of the dependency, BitBake also executes through
the ``rootfs_task`` for the "target2" multiconfig build.
Having a recipe depend on the root filesystem of another build might not
seem that useful. Consider this change to the statement in the image1
recipe::
image_task[mcdepends] = "mc:target1:target2:image2:image_task"
In this case, BitBake must create ``image2`` for the "target2" build since
the "target1" build depends on it.
Because "target1" and "target2" are enabled for multiple configuration
builds and have separate configuration files, BitBake places the
artifacts for each build in the respective temporary build directories.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,91 @@
.. SPDX-License-Identifier: CC-BY-2.5
================
Variable Context
================
|
Variables might only have an impact or can be used in certain contexts. Some
should only be used in global files like ``.conf``, while others are intended only
for local files like ``.bb``. This chapter aims to describe some important variable
contexts.
.. _ref-varcontext-configuration:
BitBake's own configuration
===========================
Variables starting with ``BB_`` usually configure the behaviour of BitBake itself.
For example, one could configure:
- System resources, like disk space to be used (:term:`BB_DISKMON_DIRS`),
or the number of tasks to be run in parallel by BitBake (:term:`BB_NUMBER_THREADS`).
- How the fetchers shall behave, e.g., :term:`BB_FETCH_PREMIRRORONLY` is used
by BitBake to determine if BitBake's fetcher shall search only
:term:`PREMIRRORS` for files.
Those variables are usually configured globally.
BitBake configuration
=====================
There are variables:
- Like :term:`B` or :term:`T`, that are used to specify directories used by
BitBake during the build of a particular recipe. Those variables are
specified in ``bitbake.conf``. Some, like :term:`B`, are quite often
overwritten in recipes.
- Starting with ``FAKEROOT``, to configure how the ``fakeroot`` command is
handled. Those are usually set by ``bitbake.conf`` and might get adapted in a
``bbclass``.
- Detailing where BitBake will store and fetch information from, for
data reuse between build runs like :term:`CACHE`, :term:`DL_DIR` or
:term:`PERSISTENT_DIR`. Those are usually global.
Layers and files
================
Variables starting with ``LAYER`` configure how BitBake handles layers.
Additionally, variables starting with ``BB`` configure how layers and files are
handled. For example:
- :term:`LAYERDEPENDS` is used to configure on which layers a given layer
depends.
- The configured layers are contained in :term:`BBLAYERS` and files in
:term:`BBFILES`.
Those variables are often used in the files ``layer.conf`` and ``bblayers.conf``.
Recipes and packages
====================
Variables handling recipes and packages can be split into:
- :term:`PN`, :term:`PV` or :term:`PF` for example, contain information about
the name or revision of a recipe or package. Usually, the default set in
``bitbake.conf`` is used, but those are from time to time overwritten in
recipes.
- :term:`SUMMARY`, :term:`DESCRIPTION`, :term:`LICENSE` or :term:`HOMEPAGE`
contain the expected information and should be set specifically for every
recipe.
- In recipes, variables are also used to control build and runtime
dependencies between recipes/packages with other recipes/packages. The
most common should be: :term:`PROVIDES`, :term:`RPROVIDES`, :term:`DEPENDS`,
and :term:`RDEPENDS`.
- There are further variables starting with ``SRC`` that specify the sources in
a recipe like :term:`SRC_URI` or :term:`SRCDATE`. Those are also usually set
in recipes.
- Which version or provider of a recipe should be given preference when
multiple recipes would provide the same item, is controlled by variables
starting with ``PREFERRED_``. Those are normally set in the configuration
files of a ``MACHINE`` or ``DISTRO``.

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

142
bitbake/doc/bitbake.1 Normal file
View File

@@ -0,0 +1,142 @@
.\" Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH BITBAKE 1 "November 19, 2006"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh disable hyphenation
.\" .hy enable hyphenation
.\" .ad l left justify
.\" .ad b justify to both left and right margins
.\" .nf disable filling
.\" .fi enable filling
.\" .br insert line break
.\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
BitBake \- simple tool for the execution of tasks
.SH SYNOPSIS
.B bitbake
.RI [ options ] " packagenames"
.br
.SH DESCRIPTION
This manual page documents briefly the
.B bitbake
command.
.PP
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
.\" respectively.
\fBbitbake\fP is a program that executes the specified task (default is 'build')
for a given set of BitBake files.
.br
It expects that BBFILES is defined, which is a space separated list of files to
be executed. BBFILES does support wildcards.
.br
Default BBFILES are the .bb files in the current directory.
.SH OPTIONS
This program follow the usual GNU command line syntax, with long
options starting with two dashes (`-').
.TP
.B \-h, \-\-help
Show summary of options.
.TP
.B \-\-version
Show version of program.
.TP
.B \-bBUILDFILE, \-\-buildfile=BUILDFILE
execute the task against this .bb file, rather than a package from BBFILES.
.TP
.B \-k, \-\-continue
continue as much as possible after an error. While the target that failed, and
those that depend on it, cannot be remade, the other dependencies of these
targets can be processed all the same.
.TP
.B \-a, \-\-tryaltconfigs
continue with builds by trying to use alternative providers where possible.
.TP
.B \-f, \-\-force
force run of specified cmd, regardless of stamp status
.TP
.B \-i, \-\-interactive
drop into the interactive mode also called the BitBake shell.
.TP
.B \-cCMD, \-\-cmd=CMD
Specify task to execute. Note that this only executes the specified task for
the providee and the packages it depends on, i.e. 'compile' does not implicitly
call stage for the dependencies (IOW: use only if you know what you are doing).
Depending on the base.bbclass a listtasks task is defined and will show
available tasks.
.TP
.B \-rFILE, \-\-read=FILE
read the specified file before bitbake.conf
.TP
.B \-v, \-\-verbose
output more chit-chat to the terminal
.TP
.B \-D, \-\-debug
Increase the debug level. You can specify this more than once.
.TP
.B \-n, \-\-dry-run
don't execute, just go through the motions
.TP
.B \-p, \-\-parse-only
quit after parsing the BB files (developers only)
.TP
.B \-s, \-\-show-versions
show current and preferred versions of all packages
.TP
.B \-e, \-\-environment
show the global or per-recipe environment (this is what used to be bbread)
.TP
.B \-g, \-\-graphviz
emit the dependency trees of the specified packages in the dot syntax
.TP
.B \-IIGNORED\_DOT\_DEPS, \-\-ignore-deps=IGNORED_DOT_DEPS
Stop processing at the given list of dependencies when generating dependency
graphs. This can help to make the graph more appealing
.TP
.B \-lDEBUG_DOMAINS, \-\-log-domains=DEBUG_DOMAINS
Show debug logging for the specified logging domains
.TP
.B \-P, \-\-profile
profile the command and print a report
.TP
.B \-uUI, \-\-ui=UI
User interface to use. Currently, knotty, taskexp or ncurses can be specified as UI.
.TP
.B \-tSERVERTYPE, \-\-servertype=SERVERTYPE
Choose which server to use, none, process or xmlrpc.
.TP
.B \-\-revisions-changed
Set the exit code depending on whether upstream floating revisions have changed or not.
.TP
.B \-\-server-only
Run bitbake without UI, the frontend can connect with bitbake server itself.
.TP
.B \-BBIND, \-\-bind=BIND
The name/address for the bitbake server to bind to.
.TP
.B \-\-no\-setscene
Do not run any setscene tasks, forces builds.
.SH ENVIRONMENT VARIABLES
bitbake uses the following environment variables to control its
operation:
.TP
.B BITBAKE_UI
The bitbake user interface; overridden by the \fB-u\fP commandline option.
.SH AUTHORS
BitBake was written by
Phil Blundell,
Holger Freyther,
Chris Larson,
Mickey Lauer,
Richard Purdie,
Holger Schurig
.PP
This manual page was written by Marcin Juszkiewicz <marcin@hrw.one.pl>
for the Debian project (but may be used by others).

101
bitbake/doc/conf.py Normal file
View File

@@ -0,0 +1,101 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
import sys
import datetime
current_version = "dev"
# String used in sidebar
version = 'Version: ' + current_version
if current_version == 'dev':
version = 'Version: Current Development'
# Version seen in documentation_options.js and hence in js switchers code
release = current_version
# -- Project information -----------------------------------------------------
project = 'Bitbake'
copyright = '2004-%s, Richard Purdie, Chris Larson, and Phil Blundell' \
% datetime.datetime.now().year
author = 'Richard Purdie, Chris Larson, and Phil Blundell'
# external links and substitutions
extlinks = {
'yocto_docs': ('https://docs.yoctoproject.org%s', None),
'oe_lists': ('https://lists.openembedded.org%s', None),
}
# -- General configuration ---------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.autosectionlabel',
'sphinx.ext.extlinks',
]
autosectionlabel_prefix_document = True
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
# master document name. The default changed from contents to index. so better
# set it ourselves.
master_doc = 'index'
# create substitution for project configuration variables
rst_prolog = """
.. |project_name| replace:: %s
.. |copyright| replace:: %s
.. |author| replace:: %s
""" % (project, copyright, author)
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
try:
import sphinx_rtd_theme
html_theme = 'sphinx_rtd_theme'
except ImportError:
sys.stderr.write("The Sphinx sphinx_rtd_theme HTML theme was not found.\
\nPlease make sure to install the sphinx_rtd_theme python package.\n")
sys.exit(1)
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['sphinx-static']
# Add customm CSS and JS files
html_css_files = ['theme_overrides.css']
html_js_files = ['switchers.js']
# Hide 'Created using Sphinx' text
html_show_sphinx = False
# Add 'Last updated' on each page
html_last_updated_fmt = '%b %d, %Y'
# Remove the trailing 'dot' in section numbers
html_secnumber_suffix = " "

3
bitbake/doc/genindex.rst Normal file
View File

@@ -0,0 +1,3 @@
=====
Index
=====

39
bitbake/doc/index.rst Normal file
View File

@@ -0,0 +1,39 @@
.. SPDX-License-Identifier: CC-BY-2.5
===================
BitBake User Manual
===================
|
.. toctree::
:caption: Table of Contents
:numbered:
bitbake-user-manual/bitbake-user-manual-intro
bitbake-user-manual/bitbake-user-manual-execution
bitbake-user-manual/bitbake-user-manual-metadata
bitbake-user-manual/bitbake-user-manual-ref-variables-context
bitbake-user-manual/bitbake-user-manual-fetching
bitbake-user-manual/bitbake-user-manual-ref-variables
bitbake-user-manual/bitbake-user-manual-hello
.. toctree::
:maxdepth: 1
:hidden:
genindex
releases
----
.. include:: <xhtml1-lat1.txt>
| BitBake Community
| Copyright |copy| |copyright|
| <bitbake-devel@lists.openembedded.org>
This work is licensed under the Creative Commons Attribution License. To view a
copy of this license, visit http://creativecommons.org/licenses/by/2.5/ or send
a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View,
California 94041, USA.

186
bitbake/doc/releases.rst Normal file
View File

@@ -0,0 +1,186 @@
.. SPDX-License-Identifier: CC-BY-2.5
=================================
BitBake Supported Release Manuals
=================================
*******************************
Release Series 5.0 (scarthgap)
*******************************
- :yocto_docs:`BitBake 2.8 User Manual </bitbake/2.8/>`
******************************
Release Series 4.0 (kirkstone)
******************************
- :yocto_docs:`BitBake 2.0 User Manual </bitbake/2.0/>`
****************************
Release Series 3.1 (dunfell)
****************************
- :yocto_docs:`BitBake 1.46 User Manual </bitbake/1.46/>`
================================
BitBake Outdated Release Manuals
================================
*******************************
Release Series 4.3 (nanbield)
*******************************
- :yocto_docs:`BitBake 2.6 User Manual </bitbake/2.6/>`
*******************************
Release Series 4.2 (mickledore)
*******************************
- :yocto_docs:`BitBake 2.4 User Manual </bitbake/2.4/>`
*****************************
Release Series 4.1 (langdale)
*****************************
- :yocto_docs:`BitBake 2.2 User Manual </bitbake/2.2/>`
******************************
Release Series 3.4 (honister)
******************************
- :yocto_docs:`BitBake 1.52 User Manual </bitbake/1.52/>`
******************************
Release Series 3.3 (hardknott)
******************************
- :yocto_docs:`BitBake 1.50 User Manual </bitbake/1.50/>`
*******************************
Release Series 3.2 (gatesgarth)
*******************************
- :yocto_docs:`BitBake 1.48 User Manual </bitbake/1.48/>`
*******************************************
Release Series 3.1 (dunfell first versions)
*******************************************
- :yocto_docs:`3.1 BitBake User Manual </3.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.1.1 BitBake User Manual </3.1.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.1.2 BitBake User Manual </3.1.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.1.3 BitBake User Manual </3.1.3/bitbake-user-manual/bitbake-user-manual.html>`
*************************
Release Series 3.0 (zeus)
*************************
- :yocto_docs:`3.0 BitBake User Manual </3.0/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.0.1 BitBake User Manual </3.0.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.0.2 BitBake User Manual </3.0.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.0.3 BitBake User Manual </3.0.3/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.0.4 BitBake User Manual </3.0.4/bitbake-user-manual/bitbake-user-manual.html>`
****************************
Release Series 2.7 (warrior)
****************************
- :yocto_docs:`2.7 BitBake User Manual </2.7/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.7.1 BitBake User Manual </2.7.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.7.2 BitBake User Manual </2.7.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.7.3 BitBake User Manual </2.7.3/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.7.4 BitBake User Manual </2.7.4/bitbake-user-manual/bitbake-user-manual.html>`
*************************
Release Series 2.6 (thud)
*************************
- :yocto_docs:`2.6 BitBake User Manual </2.6/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.6.1 BitBake User Manual </2.6.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.6.2 BitBake User Manual </2.6.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.6.3 BitBake User Manual </2.6.3/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.6.4 BitBake User Manual </2.6.4/bitbake-user-manual/bitbake-user-manual.html>`
*************************
Release Series 2.5 (sumo)
*************************
- :yocto_docs:`2.5 Documentation </2.5>`
- :yocto_docs:`2.5.1 Documentation </2.5.1>`
- :yocto_docs:`2.5.2 Documentation </2.5.2>`
- :yocto_docs:`2.5.3 Documentation </2.5.3>`
**************************
Release Series 2.4 (rocko)
**************************
- :yocto_docs:`2.4 BitBake User Manual </2.4/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.4.1 BitBake User Manual </2.4.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.4.2 BitBake User Manual </2.4.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.4.3 BitBake User Manual </2.4.3/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.4.4 BitBake User Manual </2.4.4/bitbake-user-manual/bitbake-user-manual.html>`
*************************
Release Series 2.3 (pyro)
*************************
- :yocto_docs:`2.3 BitBake User Manual </2.3/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.3.1 BitBake User Manual </2.3.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.3.2 BitBake User Manual </2.3.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.3.3 BitBake User Manual </2.3.3/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.3.4 BitBake User Manual </2.3.4/bitbake-user-manual/bitbake-user-manual.html>`
**************************
Release Series 2.2 (morty)
**************************
- :yocto_docs:`2.2 BitBake User Manual </2.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.2.1 BitBake User Manual </2.2.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.2.2 BitBake User Manual </2.2.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.2.3 BitBake User Manual </2.2.3/bitbake-user-manual/bitbake-user-manual.html>`
****************************
Release Series 2.1 (krogoth)
****************************
- :yocto_docs:`2.1 BitBake User Manual </2.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.1.1 BitBake User Manual </2.1.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.1.2 BitBake User Manual </2.1.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.1.3 BitBake User Manual </2.1.3/bitbake-user-manual/bitbake-user-manual.html>`
***************************
Release Series 2.0 (jethro)
***************************
- :yocto_docs:`1.9 BitBake User Manual </1.9/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.0 BitBake User Manual </2.0/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.0.1 BitBake User Manual </2.0.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.0.2 BitBake User Manual </2.0.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.0.3 BitBake User Manual </2.0.3/bitbake-user-manual/bitbake-user-manual.html>`
*************************
Release Series 1.8 (fido)
*************************
- :yocto_docs:`1.8 BitBake User Manual </1.8/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.8.1 BitBake User Manual </1.8.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.8.2 BitBake User Manual </1.8.2/bitbake-user-manual/bitbake-user-manual.html>`
**************************
Release Series 1.7 (dizzy)
**************************
- :yocto_docs:`1.7 BitBake User Manual </1.7/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.7.1 BitBake User Manual </1.7.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.7.2 BitBake User Manual </1.7.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.7.3 BitBake User Manual </1.7.3/bitbake-user-manual/bitbake-user-manual.html>`
**************************
Release Series 1.6 (daisy)
**************************
- :yocto_docs:`1.6 BitBake User Manual </1.6/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.6.1 BitBake User Manual </1.6.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.6.2 BitBake User Manual </1.6.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.6.3 BitBake User Manual </1.6.3/bitbake-user-manual/bitbake-user-manual.html>`

View File

@@ -0,0 +1,233 @@
(function() {
'use strict';
var all_versions = {
'dev': 'dev (3.2)',
'3.1.2': '3.1.2',
'3.0.3': '3.0.3',
'2.7.4': '2.7.4',
};
var all_doctypes = {
'single': 'Individual Webpages',
'mega': "All-in-one 'Mega' Manual",
};
// Simple version comparision
// Return 1 if a > b
// Return -1 if a < b
// Return 0 if a == b
function ver_compare(a, b) {
if (a == "dev") {
return 1;
}
if (a === b) {
return 0;
}
var a_components = a.split(".");
var b_components = b.split(".");
var len = Math.min(a_components.length, b_components.length);
// loop while the components are equal
for (var i = 0; i < len; i++) {
// A bigger than B
if (parseInt(a_components[i]) > parseInt(b_components[i])) {
return 1;
}
// B bigger than A
if (parseInt(a_components[i]) < parseInt(b_components[i])) {
return -1;
}
}
// If one's a prefix of the other, the longer one is greater.
if (a_components.length > b_components.length) {
return 1;
}
if (a_components.length < b_components.length) {
return -1;
}
// Otherwise they are the same.
return 0;
}
function build_version_select(current_series, current_version) {
var buf = ['<select>'];
$.each(all_versions, function(version, title) {
var series = version.substr(0, 3);
if (series == current_series) {
if (version == current_version)
buf.push('<option value="' + version + '" selected="selected">' + title + '</option>');
else
buf.push('<option value="' + version + '">' + title + '</option>');
if (version != current_version)
buf.push('<option value="' + current_version + '" selected="selected">' + current_version + '</option>');
} else {
buf.push('<option value="' + version + '">' + title + '</option>');
}
});
buf.push('</select>');
return buf.join('');
}
function build_doctype_select(current_doctype) {
var buf = ['<select>'];
$.each(all_doctypes, function(doctype, title) {
if (doctype == current_doctype)
buf.push('<option value="' + doctype + '" selected="selected">' +
all_doctypes[current_doctype] + '</option>');
else
buf.push('<option value="' + doctype + '">' + title + '</option>');
});
if (!(current_doctype in all_doctypes)) {
// In case we're browsing a doctype that is not yet in all_doctypes.
buf.push('<option value="' + current_doctype + '" selected="selected">' +
current_doctype + '</option>');
all_doctypes[current_doctype] = current_doctype;
}
buf.push('</select>');
return buf.join('');
}
function navigate_to_first_existing(urls) {
// Navigate to the first existing URL in urls.
var url = urls.shift();
// Web browsers won't redirect file:// urls to file urls using ajax but
// its useful for local testing
if (url.startsWith("file://")) {
window.location.href = url;
return;
}
if (urls.length == 0) {
window.location.href = url;
return;
}
$.ajax({
url: url,
success: function() {
window.location.href = url;
},
error: function() {
navigate_to_first_existing(urls);
}
});
}
function get_docroot_url() {
var url = window.location.href;
var root = DOCUMENTATION_OPTIONS.URL_ROOT;
var urlarray = url.split('/');
// Trim off anything after '/'
urlarray.pop();
var depth = (root.match(/\.\.\//g) || []).length;
for (var i = 0; i < depth; i++) {
urlarray.pop();
}
return urlarray.join('/') + '/';
}
function on_version_switch() {
var selected_version = $(this).children('option:selected').attr('value');
var url = window.location.href;
var current_version = DOCUMENTATION_OPTIONS.VERSION;
var docroot = get_docroot_url()
var new_versionpath = selected_version + '/';
if (selected_version == "dev")
new_versionpath = '';
// dev versions have no version prefix
if (current_version == "dev") {
var new_url = docroot + new_versionpath + url.replace(docroot, "");
var fallback_url = docroot + new_versionpath;
} else {
var new_url = url.replace('/' + current_version + '/', '/' + new_versionpath);
var fallback_url = new_url.replace(url.replace(docroot, ""), "");
}
console.log(get_docroot_url())
console.log(url + " to url " + new_url);
console.log(url + " to fallback " + fallback_url);
if (new_url != url) {
navigate_to_first_existing([
new_url,
fallback_url,
'https://www.yoctoproject.org/docs/',
]);
}
}
function on_doctype_switch() {
var selected_doctype = $(this).children('option:selected').attr('value');
var url = window.location.href;
if (selected_doctype == 'mega') {
var docroot = get_docroot_url()
var current_version = DOCUMENTATION_OPTIONS.VERSION;
// Assume manuals before 3.2 are using old docbook mega-manual
if (ver_compare(current_version, "3.2") < 0) {
var new_url = docroot + "mega-manual/mega-manual.html";
} else {
var new_url = docroot + "singleindex.html";
}
} else {
var new_url = url.replace("singleindex.html", "index.html")
}
if (new_url != url) {
navigate_to_first_existing([
new_url,
'https://www.yoctoproject.org/docs/',
]);
}
}
// Returns the current doctype based upon the url
function doctype_segment_from_url(url) {
if (url.includes("singleindex") || url.includes("mega-manual"))
return "mega";
return "single";
}
$(document).ready(function() {
var release = DOCUMENTATION_OPTIONS.VERSION;
var current_doctype = doctype_segment_from_url(window.location.href);
var current_series = release.substr(0, 3);
var version_select = build_version_select(current_series, release);
$('.version_switcher_placeholder').html(version_select);
$('.version_switcher_placeholder select').bind('change', on_version_switch);
var doctype_select = build_doctype_select(current_doctype);
$('.doctype_switcher_placeholder').html(doctype_select);
$('.doctype_switcher_placeholder select').bind('change', on_doctype_switch);
if (ver_compare(release, "3.1") < 0) {
$('#outdated-warning').html('Version ' + release + ' of the project is now considered obsolete, please select and use a more recent version');
$('#outdated-warning').css('padding', '.5em');
} else if (release != "dev") {
$.each(all_versions, function(version, title) {
var series = version.substr(0, 3);
if (series == current_series && version != release) {
$('#outdated-warning').html('This document is for outdated version ' + release + ', you should select the latest release version in this series, ' + version + '.');
$('#outdated-warning').css('padding', '.5em');
}
});
}
});
})();

View File

@@ -0,0 +1,162 @@
/*
SPDX-License-Identifier: CC-BY-2.0-UK
*/
body {
font-family: Verdana, Sans, sans-serif;
margin: 0em auto;
color: #333;
}
h1,h2,h3,h4,h5,h6,h7 {
font-family: Arial, Sans;
color: #00557D;
clear: both;
}
h1 {
font-size: 2em;
text-align: left;
padding: 0em 0em 0em 0em;
margin: 2em 0em 0em 0em;
}
h2.subtitle {
margin: 0.10em 0em 3.0em 0em;
padding: 0em 0em 0em 0em;
font-size: 1.8em;
padding-left: 20%;
font-weight: normal;
font-style: italic;
}
h2 {
margin: 2em 0em 0.66em 0em;
padding: 0.5em 0em 0em 0em;
font-size: 1.5em;
font-weight: bold;
}
h3.subtitle {
margin: 0em 0em 1em 0em;
padding: 0em 0em 0em 0em;
font-size: 142.14%;
text-align: right;
}
h3 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 140%;
font-weight: bold;
}
h4 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 120%;
font-weight: bold;
}
h5 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 110%;
font-weight: bold;
}
h6 {
margin: 1em 0em 0em 0em;
padding: 1em 0em 0em 0em;
font-size: 110%;
font-weight: bold;
}
em {
font-weight: bold;
}
.pre {
font-size: medium;
font-family: Courier, monospace;
}
.wy-nav-content a {
text-decoration: underline;
color: #444;
background: transparent;
}
.wy-nav-content a:hover {
text-decoration: underline;
background-color: #dedede;
}
.wy-nav-content a:visited {
color: #444;
}
[alt='Permalink'] { color: #eee; }
[alt='Permalink']:hover { color: black; }
@media screen {
/* content column
*
* RTD theme's default is 800px as max width for the content, but we have
* tables with tons of columns, which need the full width of the view-port.
*/
.wy-nav-content{max-width: none; }
/* inline literal: drop the borderbox, padding and red color */
code, .rst-content tt, .rst-content code {
color: inherit;
border: none;
padding: unset;
background: inherit;
font-size: 85%;
}
.rst-content tt.literal,.rst-content tt.literal,.rst-content code.literal {
color: inherit;
}
/* Admonition should be gray, not blue or green */
.rst-content .note .admonition-title,
.rst-content .tip .admonition-title,
.rst-content .warning .admonition-title,
.rst-content .caution .admonition-title,
.rst-content .important .admonition-title {
background: #f0f0f2;
color: #00557D;
}
.rst-content .note,
.rst-content .tip,
.rst-content .important,
.rst-content .warning,
.rst-content .caution {
background: #f0f0f2;
}
/* Remove the icon in front of note/tip element, and before the logo */
.icon-home:before, .rst-content .admonition-title:before {
display: none
}
/* a custom informalexample container is used in some doc */
.informalexample {
border: 1px solid;
border-color: #aaa;
margin: 1em 0em;
padding: 1em;
page-break-inside: avoid;
}
/* Remove the blue background in the top left corner, around the logo */
.wy-side-nav-search {
background: inherit;
}
}

BIN
bitbake/doc/template/Vera.ttf vendored Normal file

Binary file not shown.

BIN
bitbake/doc/template/VeraMoBd.ttf vendored Normal file

Binary file not shown.

BIN
bitbake/doc/template/VeraMono.ttf vendored Normal file

Binary file not shown.

BIN
bitbake/doc/template/draft.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

197
bitbake/lib/bb/COW.py Normal file
View File

@@ -0,0 +1,197 @@
#
# This is a copy on write dictionary and set which abuses classes to try and be nice and fast.
#
# Copyright (C) 2006 Tim Ansell
#
# SPDX-License-Identifier: GPL-2.0-only
#
# Please Note:
# Be careful when using mutable types (ie Dict and Lists) - operations involving these are SLOW.
# Assign a file to __warn__ to get warnings about slow operations.
#
import copy
ImmutableTypes = (
bool,
complex,
float,
int,
tuple,
frozenset,
str
)
MUTABLE = "__mutable__"
class COWMeta(type):
pass
class COWDictMeta(COWMeta):
__warn__ = False
__hasmutable__ = False
__marker__ = tuple()
def __str__(cls):
# FIXME: I have magic numbers!
return "<COWDict Level: %i Current Keys: %i>" % (cls.__count__, len(cls.__dict__) - 3)
__repr__ = __str__
def cow(cls):
class C(cls):
__count__ = cls.__count__ + 1
return C
copy = cow
__call__ = cow
def __setitem__(cls, key, value):
if value is not None and not isinstance(value, ImmutableTypes):
if not isinstance(value, COWMeta):
cls.__hasmutable__ = True
key += MUTABLE
setattr(cls, key, value)
def __getmutable__(cls, key, readonly=False):
nkey = key + MUTABLE
try:
return cls.__dict__[nkey]
except KeyError:
pass
value = getattr(cls, nkey)
if readonly:
return value
if not cls.__warn__ is False and not isinstance(value, COWMeta):
print("Warning: Doing a copy because %s is a mutable type." % key, file=cls.__warn__)
try:
value = value.copy()
except AttributeError as e:
value = copy.copy(value)
setattr(cls, nkey, value)
return value
__getmarker__ = []
def __getreadonly__(cls, key, default=__getmarker__):
"""
Get a value (even if mutable) which you promise not to change.
"""
return cls.__getitem__(key, default, True)
def __getitem__(cls, key, default=__getmarker__, readonly=False):
try:
try:
value = getattr(cls, key)
except AttributeError:
value = cls.__getmutable__(key, readonly)
# This is for values which have been deleted
if value is cls.__marker__:
raise AttributeError("key %s does not exist." % key)
return value
except AttributeError as e:
if not default is cls.__getmarker__:
return default
raise KeyError(str(e))
def __delitem__(cls, key):
cls.__setitem__(key, cls.__marker__)
def __revertitem__(cls, key):
if key not in cls.__dict__:
key += MUTABLE
delattr(cls, key)
def __contains__(cls, key):
return cls.has_key(key)
def has_key(cls, key):
value = cls.__getreadonly__(key, cls.__marker__)
if value is cls.__marker__:
return False
return True
def iter(cls, type, readonly=False):
for key in dir(cls):
if key.startswith("__"):
continue
if key.endswith(MUTABLE):
key = key[:-len(MUTABLE)]
if type == "keys":
yield key
try:
if readonly:
value = cls.__getreadonly__(key)
else:
value = cls[key]
except KeyError:
continue
if type == "values":
yield value
if type == "items":
yield (key, value)
return
def iterkeys(cls):
return cls.iter("keys")
def itervalues(cls, readonly=False):
if not cls.__warn__ is False and cls.__hasmutable__ and readonly is False:
print("Warning: If you aren't going to change any of the values call with True.", file=cls.__warn__)
return cls.iter("values", readonly)
def iteritems(cls, readonly=False):
if not cls.__warn__ is False and cls.__hasmutable__ and readonly is False:
print("Warning: If you aren't going to change any of the values call with True.", file=cls.__warn__)
return cls.iter("items", readonly)
class COWSetMeta(COWDictMeta):
def __str__(cls):
# FIXME: I have magic numbers!
return "<COWSet Level: %i Current Keys: %i>" % (cls.__count__, len(cls.__dict__) - 3)
__repr__ = __str__
def cow(cls):
class C(cls):
__count__ = cls.__count__ + 1
return C
def add(cls, value):
COWDictMeta.__setitem__(cls, repr(hash(value)), value)
def remove(cls, value):
COWDictMeta.__delitem__(cls, repr(hash(value)))
def __in__(cls, value):
return repr(hash(value)) in COWDictMeta
def iterkeys(cls):
raise TypeError("sets don't have keys")
def iteritems(cls):
raise TypeError("sets don't have 'items'")
# These are the actual classes you use!
class COWDictBase(metaclass=COWDictMeta):
__count__ = 0
class COWSetBase(metaclass=COWSetMeta):
__count__ = 0

221
bitbake/lib/bb/__init__.py Normal file
View File

@@ -0,0 +1,221 @@
#
# BitBake Build System Python Library
#
# Copyright (C) 2003 Holger Schurig
# Copyright (C) 2003, 2004 Chris Larson
#
# Based on Gentoo's portage.py.
#
# SPDX-License-Identifier: GPL-2.0-only
#
__version__ = "2.9.1"
import sys
if sys.version_info < (3, 8, 0):
raise RuntimeError("Sorry, python 3.8.0 or later is required for this version of bitbake")
if sys.version_info < (3, 10, 0):
# With python 3.8 and 3.9, we see errors of "libgcc_s.so.1 must be installed for pthread_cancel to work"
# https://stackoverflow.com/questions/64797838/libgcc-s-so-1-must-be-installed-for-pthread-cancel-to-work
# https://bugs.ams1.psf.io/issue42888
# so ensure libgcc_s is loaded early on
import ctypes
libgcc_s = ctypes.CDLL('libgcc_s.so.1')
class BBHandledException(Exception):
"""
The big dilemma for generic bitbake code is what information to give the user
when an exception occurs. Any exception inheriting this base exception class
has already provided information to the user via some 'fired' message type such as
an explicitly fired event using bb.fire, or a bb.error message. If bitbake
encounters an exception derived from this class, no backtrace or other information
will be given to the user, its assumed the earlier event provided the relevant information.
"""
pass
import os
import logging
from collections import namedtuple
class NullHandler(logging.Handler):
def emit(self, record):
pass
class BBLoggerMixin(object):
def __init__(self, *args, **kwargs):
# Does nothing to allow calling super() from derived classes
pass
def setup_bblogger(self, name):
if name.split(".")[0] == "BitBake":
self.debug = self._debug_helper
def _debug_helper(self, *args, **kwargs):
return self.bbdebug(1, *args, **kwargs)
def debug2(self, *args, **kwargs):
return self.bbdebug(2, *args, **kwargs)
def debug3(self, *args, **kwargs):
return self.bbdebug(3, *args, **kwargs)
def bbdebug(self, level, msg, *args, **kwargs):
loglevel = logging.DEBUG - level + 1
if not bb.event.worker_pid:
if self.name in bb.msg.loggerDefaultDomains and loglevel > (bb.msg.loggerDefaultDomains[self.name]):
return
if loglevel < bb.msg.loggerDefaultLogLevel:
return
if not isinstance(level, int) or not isinstance(msg, str):
mainlogger.warning("Invalid arguments in bbdebug: %s" % repr((level, msg,) + args))
return self.log(loglevel, msg, *args, **kwargs)
def plain(self, msg, *args, **kwargs):
return self.log(logging.INFO + 1, msg, *args, **kwargs)
def verbose(self, msg, *args, **kwargs):
return self.log(logging.INFO - 1, msg, *args, **kwargs)
def verbnote(self, msg, *args, **kwargs):
return self.log(logging.INFO + 2, msg, *args, **kwargs)
def warnonce(self, msg, *args, **kwargs):
return self.log(logging.WARNING - 1, msg, *args, **kwargs)
def erroronce(self, msg, *args, **kwargs):
return self.log(logging.ERROR - 1, msg, *args, **kwargs)
Logger = logging.getLoggerClass()
class BBLogger(Logger, BBLoggerMixin):
def __init__(self, name, *args, **kwargs):
self.setup_bblogger(name)
super().__init__(name, *args, **kwargs)
logging.raiseExceptions = False
logging.setLoggerClass(BBLogger)
class BBLoggerAdapter(logging.LoggerAdapter, BBLoggerMixin):
def __init__(self, logger, *args, **kwargs):
self.setup_bblogger(logger.name)
super().__init__(logger, *args, **kwargs)
logging.LoggerAdapter = BBLoggerAdapter
logger = logging.getLogger("BitBake")
logger.addHandler(NullHandler())
logger.setLevel(logging.DEBUG - 2)
mainlogger = logging.getLogger("BitBake.Main")
class PrefixLoggerAdapter(logging.LoggerAdapter):
def __init__(self, prefix, logger):
super().__init__(logger, {})
self.__msg_prefix = prefix
def process(self, msg, kwargs):
return "%s%s" %(self.__msg_prefix, msg), kwargs
# This has to be imported after the setLoggerClass, as the import of bb.msg
# can result in construction of the various loggers.
import bb.msg
from bb import fetch2 as fetch
sys.modules['bb.fetch'] = sys.modules['bb.fetch2']
# Messaging convenience functions
def plain(*args):
mainlogger.plain(''.join(args))
def debug(lvl, *args):
if isinstance(lvl, str):
mainlogger.warning("Passed invalid debug level '%s' to bb.debug", lvl)
args = (lvl,) + args
lvl = 1
mainlogger.bbdebug(lvl, ''.join(args))
def note(*args):
mainlogger.info(''.join(args))
#
# A higher prioity note which will show on the console but isn't a warning
#
# Something is happening the user should be aware of but they probably did
# something to make it happen
#
def verbnote(*args):
mainlogger.verbnote(''.join(args))
#
# Warnings - things the user likely needs to pay attention to and fix
#
def warn(*args):
mainlogger.warning(''.join(args))
def warnonce(*args):
mainlogger.warnonce(''.join(args))
def error(*args, **kwargs):
mainlogger.error(''.join(args), extra=kwargs)
def erroronce(*args):
mainlogger.erroronce(''.join(args))
def fatal(*args, **kwargs):
mainlogger.critical(''.join(args), extra=kwargs)
raise BBHandledException()
def deprecated(func, name=None, advice=""):
"""This is a decorator which can be used to mark functions
as deprecated. It will result in a warning being emitted
when the function is used."""
import warnings
if advice:
advice = ": %s" % advice
if name is None:
name = func.__name__
def newFunc(*args, **kwargs):
warnings.warn("Call to deprecated function %s%s." % (name,
advice),
category=DeprecationWarning,
stacklevel=2)
return func(*args, **kwargs)
newFunc.__name__ = func.__name__
newFunc.__doc__ = func.__doc__
newFunc.__dict__.update(func.__dict__)
return newFunc
# For compatibility
def deprecate_import(current, modulename, fromlist, renames = None):
"""Import objects from one module into another, wrapping them with a DeprecationWarning"""
import sys
module = __import__(modulename, fromlist = fromlist)
for position, objname in enumerate(fromlist):
obj = getattr(module, objname)
newobj = deprecated(obj, "{0}.{1}".format(current, objname),
"Please use {0}.{1} instead".format(modulename, objname))
if renames:
newname = renames[position]
else:
newname = objname
setattr(sys.modules[current], newname, newobj)
TaskData = namedtuple("TaskData", [
"pn",
"taskname",
"fn",
"deps",
"provides",
"taskhash",
"unihash",
"hashfn",
"taskhash_deps",
])

215
bitbake/lib/bb/acl.py Executable file
View File

@@ -0,0 +1,215 @@
#! /usr/bin/env python3
#
# Copyright 2023 by Garmin Ltd. or its subsidiaries
#
# SPDX-License-Identifier: MIT
import sys
import ctypes
import os
import errno
import pwd
import grp
libacl = ctypes.CDLL("libacl.so.1", use_errno=True)
ACL_TYPE_ACCESS = 0x8000
ACL_TYPE_DEFAULT = 0x4000
ACL_FIRST_ENTRY = 0
ACL_NEXT_ENTRY = 1
ACL_UNDEFINED_TAG = 0x00
ACL_USER_OBJ = 0x01
ACL_USER = 0x02
ACL_GROUP_OBJ = 0x04
ACL_GROUP = 0x08
ACL_MASK = 0x10
ACL_OTHER = 0x20
ACL_READ = 0x04
ACL_WRITE = 0x02
ACL_EXECUTE = 0x01
acl_t = ctypes.c_void_p
acl_entry_t = ctypes.c_void_p
acl_permset_t = ctypes.c_void_p
acl_perm_t = ctypes.c_uint
acl_tag_t = ctypes.c_int
libacl.acl_free.argtypes = [acl_t]
def acl_free(acl):
libacl.acl_free(acl)
libacl.acl_get_file.restype = acl_t
libacl.acl_get_file.argtypes = [ctypes.c_char_p, ctypes.c_uint]
def acl_get_file(path, typ):
acl = libacl.acl_get_file(os.fsencode(path), typ)
if acl is None:
err = ctypes.get_errno()
raise OSError(err, os.strerror(err), str(path))
return acl
libacl.acl_get_entry.argtypes = [acl_t, ctypes.c_int, ctypes.c_void_p]
def acl_get_entry(acl, entry_id):
entry = acl_entry_t()
ret = libacl.acl_get_entry(acl, entry_id, ctypes.byref(entry))
if ret < 0:
err = ctypes.get_errno()
raise OSError(err, os.strerror(err))
if ret == 0:
return None
return entry
libacl.acl_get_tag_type.argtypes = [acl_entry_t, ctypes.c_void_p]
def acl_get_tag_type(entry_d):
tag = acl_tag_t()
ret = libacl.acl_get_tag_type(entry_d, ctypes.byref(tag))
if ret < 0:
err = ctypes.get_errno()
raise OSError(err, os.strerror(err))
return tag.value
libacl.acl_get_qualifier.restype = ctypes.c_void_p
libacl.acl_get_qualifier.argtypes = [acl_entry_t]
def acl_get_qualifier(entry_d):
ret = libacl.acl_get_qualifier(entry_d)
if ret is None:
err = ctypes.get_errno()
raise OSError(err, os.strerror(err))
return ctypes.c_void_p(ret)
libacl.acl_get_permset.argtypes = [acl_entry_t, ctypes.c_void_p]
def acl_get_permset(entry_d):
permset = acl_permset_t()
ret = libacl.acl_get_permset(entry_d, ctypes.byref(permset))
if ret < 0:
err = ctypes.get_errno()
raise OSError(err, os.strerror(err))
return permset
libacl.acl_get_perm.argtypes = [acl_permset_t, acl_perm_t]
def acl_get_perm(permset_d, perm):
ret = libacl.acl_get_perm(permset_d, perm)
if ret < 0:
err = ctypes.get_errno()
raise OSError(err, os.strerror(err))
return bool(ret)
class Entry(object):
def __init__(self, tag, qualifier, mode):
self.tag = tag
self.qualifier = qualifier
self.mode = mode
def __str__(self):
typ = ""
qual = ""
if self.tag == ACL_USER:
typ = "user"
qual = pwd.getpwuid(self.qualifier).pw_name
elif self.tag == ACL_GROUP:
typ = "group"
qual = grp.getgrgid(self.qualifier).gr_name
elif self.tag == ACL_USER_OBJ:
typ = "user"
elif self.tag == ACL_GROUP_OBJ:
typ = "group"
elif self.tag == ACL_MASK:
typ = "mask"
elif self.tag == ACL_OTHER:
typ = "other"
r = "r" if self.mode & ACL_READ else "-"
w = "w" if self.mode & ACL_WRITE else "-"
x = "x" if self.mode & ACL_EXECUTE else "-"
return f"{typ}:{qual}:{r}{w}{x}"
class ACL(object):
def __init__(self, acl):
self.acl = acl
def __del__(self):
acl_free(self.acl)
def entries(self):
entry_id = ACL_FIRST_ENTRY
while True:
entry = acl_get_entry(self.acl, entry_id)
if entry is None:
break
permset = acl_get_permset(entry)
mode = 0
for m in (ACL_READ, ACL_WRITE, ACL_EXECUTE):
if acl_get_perm(permset, m):
mode |= m
qualifier = None
tag = acl_get_tag_type(entry)
if tag == ACL_USER or tag == ACL_GROUP:
qual = acl_get_qualifier(entry)
qualifier = ctypes.cast(qual, ctypes.POINTER(ctypes.c_int))[0]
yield Entry(tag, qualifier, mode)
entry_id = ACL_NEXT_ENTRY
@classmethod
def from_path(cls, path, typ):
acl = acl_get_file(path, typ)
return cls(acl)
def main():
import argparse
import pwd
import grp
from pathlib import Path
parser = argparse.ArgumentParser()
parser.add_argument("path", help="File Path", type=Path)
args = parser.parse_args()
acl = ACL.from_path(args.path, ACL_TYPE_ACCESS)
for entry in acl.entries():
print(str(entry))
return 0
if __name__ == "__main__":
sys.exit(main())

View File

@@ -0,0 +1,16 @@
#
# Copyright BitBake Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
from .client import AsyncClient, Client
from .serv import AsyncServer, AsyncServerConnection
from .connection import DEFAULT_MAX_CHUNK
from .exceptions import (
ClientError,
ServerError,
ConnectionClosedError,
InvokeError,
)

View File

@@ -0,0 +1,266 @@
#
# Copyright BitBake Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
import abc
import asyncio
import json
import os
import socket
import sys
import re
import contextlib
from threading import Thread
from .connection import StreamConnection, WebsocketConnection, DEFAULT_MAX_CHUNK
from .exceptions import ConnectionClosedError, InvokeError
UNIX_PREFIX = "unix://"
WS_PREFIX = "ws://"
WSS_PREFIX = "wss://"
ADDR_TYPE_UNIX = 0
ADDR_TYPE_TCP = 1
ADDR_TYPE_WS = 2
WEBSOCKETS_MIN_VERSION = (9, 1)
# Need websockets 10 with python 3.10+
if sys.version_info >= (3, 10, 0):
WEBSOCKETS_MIN_VERSION = (10, 0)
def parse_address(addr):
if addr.startswith(UNIX_PREFIX):
return (ADDR_TYPE_UNIX, (addr[len(UNIX_PREFIX) :],))
elif addr.startswith(WS_PREFIX) or addr.startswith(WSS_PREFIX):
return (ADDR_TYPE_WS, (addr,))
else:
m = re.match(r"\[(?P<host>[^\]]*)\]:(?P<port>\d+)$", addr)
if m is not None:
host = m.group("host")
port = m.group("port")
else:
host, port = addr.split(":")
return (ADDR_TYPE_TCP, (host, int(port)))
class AsyncClient(object):
def __init__(
self,
proto_name,
proto_version,
logger,
timeout=30,
server_headers=False,
headers={},
):
self.socket = None
self.max_chunk = DEFAULT_MAX_CHUNK
self.proto_name = proto_name
self.proto_version = proto_version
self.logger = logger
self.timeout = timeout
self.needs_server_headers = server_headers
self.server_headers = {}
self.headers = headers
async def connect_tcp(self, address, port):
async def connect_sock():
reader, writer = await asyncio.open_connection(address, port)
return StreamConnection(reader, writer, self.timeout, self.max_chunk)
self._connect_sock = connect_sock
async def connect_unix(self, path):
async def connect_sock():
# AF_UNIX has path length issues so chdir here to workaround
cwd = os.getcwd()
try:
os.chdir(os.path.dirname(path))
# The socket must be opened synchronously so that CWD doesn't get
# changed out from underneath us so we pass as a sock into asyncio
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM, 0)
sock.connect(os.path.basename(path))
finally:
os.chdir(cwd)
reader, writer = await asyncio.open_unix_connection(sock=sock)
return StreamConnection(reader, writer, self.timeout, self.max_chunk)
self._connect_sock = connect_sock
async def connect_websocket(self, uri):
import websockets
try:
version = tuple(
int(v)
for v in websockets.__version__.split(".")[
0 : len(WEBSOCKETS_MIN_VERSION)
]
)
except ValueError:
raise ImportError(
f"Unable to parse websockets version '{websockets.__version__}'"
)
if version < WEBSOCKETS_MIN_VERSION:
min_ver_str = ".".join(str(v) for v in WEBSOCKETS_MIN_VERSION)
raise ImportError(
f"Websockets version {websockets.__version__} is less than minimum required version {min_ver_str}"
)
async def connect_sock():
websocket = await websockets.connect(
uri,
ping_interval=None,
open_timeout=self.timeout,
)
return WebsocketConnection(websocket, self.timeout)
self._connect_sock = connect_sock
async def setup_connection(self):
# Send headers
await self.socket.send("%s %s" % (self.proto_name, self.proto_version))
await self.socket.send(
"needs-headers: %s" % ("true" if self.needs_server_headers else "false")
)
for k, v in self.headers.items():
await self.socket.send("%s: %s" % (k, v))
# End of headers
await self.socket.send("")
self.server_headers = {}
if self.needs_server_headers:
while True:
line = await self.socket.recv()
if not line:
# End headers
break
tag, value = line.split(":", 1)
self.server_headers[tag.lower()] = value.strip()
async def get_header(self, tag, default):
await self.connect()
return self.server_headers.get(tag, default)
async def connect(self):
if self.socket is None:
self.socket = await self._connect_sock()
await self.setup_connection()
async def disconnect(self):
if self.socket is not None:
await self.socket.close()
self.socket = None
async def close(self):
await self.disconnect()
async def _send_wrapper(self, proc):
count = 0
while True:
try:
await self.connect()
return await proc()
except (
OSError,
ConnectionError,
ConnectionClosedError,
json.JSONDecodeError,
UnicodeDecodeError,
) as e:
self.logger.warning("Error talking to server: %s" % e)
if count >= 3:
if not isinstance(e, ConnectionError):
raise ConnectionError(str(e))
raise e
await self.close()
count += 1
def check_invoke_error(self, msg):
if isinstance(msg, dict) and "invoke-error" in msg:
raise InvokeError(msg["invoke-error"]["message"])
async def invoke(self, msg):
async def proc():
await self.socket.send_message(msg)
return await self.socket.recv_message()
result = await self._send_wrapper(proc)
self.check_invoke_error(result)
return result
async def ping(self):
return await self.invoke({"ping": {}})
async def __aenter__(self):
return self
async def __aexit__(self, exc_type, exc_value, traceback):
await self.close()
class Client(object):
def __init__(self):
self.client = self._get_async_client()
self.loop = asyncio.new_event_loop()
# Override any pre-existing loop.
# Without this, the PR server export selftest triggers a hang
# when running with Python 3.7. The drawback is that there is
# potential for issues if the PR and hash equiv (or some new)
# clients need to both be instantiated in the same process.
# This should be revisited if/when Python 3.9 becomes the
# minimum required version for BitBake, as it seems not
# required (but harmless) with it.
asyncio.set_event_loop(self.loop)
self._add_methods("connect_tcp", "ping")
@abc.abstractmethod
def _get_async_client(self):
pass
def _get_downcall_wrapper(self, downcall):
def wrapper(*args, **kwargs):
return self.loop.run_until_complete(downcall(*args, **kwargs))
return wrapper
def _add_methods(self, *methods):
for m in methods:
downcall = getattr(self.client, m)
setattr(self, m, self._get_downcall_wrapper(downcall))
def connect_unix(self, path):
self.loop.run_until_complete(self.client.connect_unix(path))
self.loop.run_until_complete(self.client.connect())
@property
def max_chunk(self):
return self.client.max_chunk
@max_chunk.setter
def max_chunk(self, value):
self.client.max_chunk = value
def disconnect(self):
self.loop.run_until_complete(self.client.close())
def close(self):
if self.loop:
self.loop.run_until_complete(self.client.close())
self.loop.run_until_complete(self.loop.shutdown_asyncgens())
self.loop.close()
self.loop = None
def __enter__(self):
return self
def __exit__(self, exc_type, exc_value, traceback):
self.close()
return False

View File

@@ -0,0 +1,146 @@
#
# Copyright BitBake Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
import asyncio
import itertools
import json
from datetime import datetime
from .exceptions import ClientError, ConnectionClosedError
# The Python async server defaults to a 64K receive buffer, so we hardcode our
# maximum chunk size. It would be better if the client and server reported to
# each other what the maximum chunk sizes were, but that will slow down the
# connection setup with a round trip delay so I'd rather not do that unless it
# is necessary
DEFAULT_MAX_CHUNK = 32 * 1024
def chunkify(msg, max_chunk):
if len(msg) < max_chunk - 1:
yield "".join((msg, "\n"))
else:
yield "".join((json.dumps({"chunk-stream": None}), "\n"))
args = [iter(msg)] * (max_chunk - 1)
for m in map("".join, itertools.zip_longest(*args, fillvalue="")):
yield "".join(itertools.chain(m, "\n"))
yield "\n"
def json_serialize(obj):
if isinstance(obj, datetime):
return obj.isoformat()
raise TypeError("Type %s not serializeable" % type(obj))
class StreamConnection(object):
def __init__(self, reader, writer, timeout, max_chunk=DEFAULT_MAX_CHUNK):
self.reader = reader
self.writer = writer
self.timeout = timeout
self.max_chunk = max_chunk
@property
def address(self):
return self.writer.get_extra_info("peername")
async def send_message(self, msg):
for c in chunkify(json.dumps(msg, default=json_serialize), self.max_chunk):
self.writer.write(c.encode("utf-8"))
await self.writer.drain()
async def recv_message(self):
l = await self.recv()
m = json.loads(l)
if not m:
return m
if "chunk-stream" in m:
lines = []
while True:
l = await self.recv()
if not l:
break
lines.append(l)
m = json.loads("".join(lines))
return m
async def send(self, msg):
self.writer.write(("%s\n" % msg).encode("utf-8"))
await self.writer.drain()
async def recv(self):
if self.timeout < 0:
line = await self.reader.readline()
else:
try:
line = await asyncio.wait_for(self.reader.readline(), self.timeout)
except asyncio.TimeoutError:
raise ConnectionError("Timed out waiting for data")
if not line:
raise ConnectionClosedError("Connection closed")
line = line.decode("utf-8")
if not line.endswith("\n"):
raise ConnectionError("Bad message %r" % (line))
return line.rstrip()
async def close(self):
self.reader = None
if self.writer is not None:
self.writer.close()
self.writer = None
class WebsocketConnection(object):
def __init__(self, socket, timeout):
self.socket = socket
self.timeout = timeout
@property
def address(self):
return ":".join(str(s) for s in self.socket.remote_address)
async def send_message(self, msg):
await self.send(json.dumps(msg, default=json_serialize))
async def recv_message(self):
m = await self.recv()
return json.loads(m)
async def send(self, msg):
import websockets.exceptions
try:
await self.socket.send(msg)
except websockets.exceptions.ConnectionClosed:
raise ConnectionClosedError("Connection closed")
async def recv(self):
import websockets.exceptions
try:
if self.timeout < 0:
return await self.socket.recv()
try:
return await asyncio.wait_for(self.socket.recv(), self.timeout)
except asyncio.TimeoutError:
raise ConnectionError("Timed out waiting for data")
except websockets.exceptions.ConnectionClosed:
raise ConnectionClosedError("Connection closed")
async def close(self):
if self.socket is not None:
await self.socket.close()
self.socket = None

View File

@@ -0,0 +1,21 @@
#
# Copyright BitBake Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
class ClientError(Exception):
pass
class InvokeError(Exception):
pass
class ServerError(Exception):
pass
class ConnectionClosedError(Exception):
pass

View File

@@ -0,0 +1,410 @@
#
# Copyright BitBake Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
import abc
import asyncio
import json
import os
import signal
import socket
import sys
import multiprocessing
import logging
from .connection import StreamConnection, WebsocketConnection
from .exceptions import ClientError, ServerError, ConnectionClosedError, InvokeError
class ClientLoggerAdapter(logging.LoggerAdapter):
def process(self, msg, kwargs):
return f"[Client {self.extra['address']}] {msg}", kwargs
class AsyncServerConnection(object):
# If a handler returns this object (e.g. `return self.NO_RESPONSE`), no
# return message will be automatically be sent back to the client
NO_RESPONSE = object()
def __init__(self, socket, proto_name, logger):
self.socket = socket
self.proto_name = proto_name
self.handlers = {
"ping": self.handle_ping,
}
self.logger = ClientLoggerAdapter(
logger,
{
"address": socket.address,
},
)
self.client_headers = {}
async def close(self):
await self.socket.close()
async def handle_headers(self, headers):
return {}
async def process_requests(self):
try:
self.logger.info("Client %r connected" % (self.socket.address,))
# Read protocol and version
client_protocol = await self.socket.recv()
if not client_protocol:
return
(client_proto_name, client_proto_version) = client_protocol.split()
if client_proto_name != self.proto_name:
self.logger.debug("Rejecting invalid protocol %s" % (self.proto_name))
return
self.proto_version = tuple(int(v) for v in client_proto_version.split("."))
if not self.validate_proto_version():
self.logger.debug(
"Rejecting invalid protocol version %s" % (client_proto_version)
)
return
# Read headers
self.client_headers = {}
while True:
header = await self.socket.recv()
if not header:
# Empty line. End of headers
break
tag, value = header.split(":", 1)
self.client_headers[tag.lower()] = value.strip()
if self.client_headers.get("needs-headers", "false") == "true":
for k, v in (await self.handle_headers(self.client_headers)).items():
await self.socket.send("%s: %s" % (k, v))
await self.socket.send("")
# Handle messages
while True:
d = await self.socket.recv_message()
if d is None:
break
try:
response = await self.dispatch_message(d)
except InvokeError as e:
await self.socket.send_message(
{"invoke-error": {"message": str(e)}}
)
break
if response is not self.NO_RESPONSE:
await self.socket.send_message(response)
except ConnectionClosedError as e:
self.logger.info(str(e))
except (ClientError, ConnectionError) as e:
self.logger.error(str(e))
finally:
await self.close()
async def dispatch_message(self, msg):
for k in self.handlers.keys():
if k in msg:
self.logger.debug("Handling %s" % k)
return await self.handlers[k](msg[k])
raise ClientError("Unrecognized command %r" % msg)
async def handle_ping(self, request):
return {"alive": True}
class StreamServer(object):
def __init__(self, handler, logger):
self.handler = handler
self.logger = logger
self.closed = False
async def handle_stream_client(self, reader, writer):
# writer.transport.set_write_buffer_limits(0)
socket = StreamConnection(reader, writer, -1)
if self.closed:
await socket.close()
return
await self.handler(socket)
async def stop(self):
self.closed = True
class TCPStreamServer(StreamServer):
def __init__(self, host, port, handler, logger, *, reuseport=False):
super().__init__(handler, logger)
self.host = host
self.port = port
self.reuseport = reuseport
def start(self, loop):
self.server = loop.run_until_complete(
asyncio.start_server(
self.handle_stream_client,
self.host,
self.port,
reuse_port=self.reuseport,
)
)
for s in self.server.sockets:
self.logger.debug("Listening on %r" % (s.getsockname(),))
# Newer python does this automatically. Do it manually here for
# maximum compatibility
s.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, 1)
s.setsockopt(socket.SOL_TCP, socket.TCP_QUICKACK, 1)
# Enable keep alives. This prevents broken client connections
# from persisting on the server for long periods of time.
s.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
s.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 30)
s.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 15)
s.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 4)
name = self.server.sockets[0].getsockname()
if self.server.sockets[0].family == socket.AF_INET6:
self.address = "[%s]:%d" % (name[0], name[1])
else:
self.address = "%s:%d" % (name[0], name[1])
return [self.server.wait_closed()]
async def stop(self):
await super().stop()
self.server.close()
def cleanup(self):
pass
class UnixStreamServer(StreamServer):
def __init__(self, path, handler, logger):
super().__init__(handler, logger)
self.path = path
def start(self, loop):
cwd = os.getcwd()
try:
# Work around path length limits in AF_UNIX
os.chdir(os.path.dirname(self.path))
self.server = loop.run_until_complete(
asyncio.start_unix_server(
self.handle_stream_client, os.path.basename(self.path)
)
)
finally:
os.chdir(cwd)
self.logger.debug("Listening on %r" % self.path)
self.address = "unix://%s" % os.path.abspath(self.path)
return [self.server.wait_closed()]
async def stop(self):
await super().stop()
self.server.close()
def cleanup(self):
os.unlink(self.path)
class WebsocketsServer(object):
def __init__(self, host, port, handler, logger, *, reuseport=False):
self.host = host
self.port = port
self.handler = handler
self.logger = logger
self.reuseport = reuseport
def start(self, loop):
import websockets.server
self.server = loop.run_until_complete(
websockets.server.serve(
self.client_handler,
self.host,
self.port,
ping_interval=None,
reuse_port=self.reuseport,
)
)
for s in self.server.sockets:
self.logger.debug("Listening on %r" % (s.getsockname(),))
# Enable keep alives. This prevents broken client connections
# from persisting on the server for long periods of time.
s.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
s.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 30)
s.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 15)
s.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 4)
name = self.server.sockets[0].getsockname()
if self.server.sockets[0].family == socket.AF_INET6:
self.address = "ws://[%s]:%d" % (name[0], name[1])
else:
self.address = "ws://%s:%d" % (name[0], name[1])
return [self.server.wait_closed()]
async def stop(self):
self.server.close()
def cleanup(self):
pass
async def client_handler(self, websocket):
socket = WebsocketConnection(websocket, -1)
await self.handler(socket)
class AsyncServer(object):
def __init__(self, logger):
self.logger = logger
self.loop = None
self.run_tasks = []
def start_tcp_server(self, host, port, *, reuseport=False):
self.server = TCPStreamServer(
host,
port,
self._client_handler,
self.logger,
reuseport=reuseport,
)
def start_unix_server(self, path):
self.server = UnixStreamServer(path, self._client_handler, self.logger)
def start_websocket_server(self, host, port, reuseport=False):
self.server = WebsocketsServer(
host,
port,
self._client_handler,
self.logger,
reuseport=reuseport,
)
async def _client_handler(self, socket):
address = socket.address
try:
client = self.accept_client(socket)
await client.process_requests()
except Exception as e:
import traceback
self.logger.error(
"Error from client %s: %s" % (address, str(e)), exc_info=True
)
traceback.print_exc()
finally:
self.logger.debug("Client %s disconnected", address)
await socket.close()
@abc.abstractmethod
def accept_client(self, socket):
pass
async def stop(self):
self.logger.debug("Stopping server")
await self.server.stop()
def start(self):
tasks = self.server.start(self.loop)
self.address = self.server.address
return tasks
def signal_handler(self):
self.logger.debug("Got exit signal")
self.loop.create_task(self.stop())
def _serve_forever(self, tasks):
try:
self.loop.add_signal_handler(signal.SIGTERM, self.signal_handler)
self.loop.add_signal_handler(signal.SIGINT, self.signal_handler)
self.loop.add_signal_handler(signal.SIGQUIT, self.signal_handler)
signal.pthread_sigmask(signal.SIG_UNBLOCK, [signal.SIGTERM])
self.loop.run_until_complete(asyncio.gather(*tasks))
self.logger.debug("Server shutting down")
finally:
self.server.cleanup()
def serve_forever(self):
"""
Serve requests in the current process
"""
self._create_loop()
tasks = self.start()
self._serve_forever(tasks)
self.loop.close()
def _create_loop(self):
# Create loop and override any loop that may have existed in
# a parent process. It is possible that the usecases of
# serve_forever might be constrained enough to allow using
# get_event_loop here, but better safe than sorry for now.
self.loop = asyncio.new_event_loop()
asyncio.set_event_loop(self.loop)
def serve_as_process(self, *, prefunc=None, args=(), log_level=None):
"""
Serve requests in a child process
"""
def run(queue):
# Create loop and override any loop that may have existed
# in a parent process. Without doing this and instead
# using get_event_loop, at the very minimum the hashserv
# unit tests will hang when running the second test.
# This happens since get_event_loop in the spawned server
# process for the second testcase ends up with the loop
# from the hashserv client created in the unit test process
# when running the first testcase. The problem is somewhat
# more general, though, as any potential use of asyncio in
# Cooker could create a loop that needs to replaced in this
# new process.
self._create_loop()
try:
self.address = None
tasks = self.start()
finally:
# Always put the server address to wake up the parent task
queue.put(self.address)
queue.close()
if prefunc is not None:
prefunc(self, *args)
if log_level is not None:
self.logger.setLevel(log_level)
self._serve_forever(tasks)
self.loop.run_until_complete(self.loop.shutdown_asyncgens())
self.loop.close()
queue = multiprocessing.Queue()
# Temporarily block SIGTERM. The server process will inherit this
# block which will ensure it doesn't receive the SIGTERM until the
# handler is ready for it
mask = signal.pthread_sigmask(signal.SIG_BLOCK, [signal.SIGTERM])
try:
self.process = multiprocessing.Process(target=run, args=(queue,))
self.process.start()
self.address = queue.get()
queue.close()
queue.join_thread()
return self.process
finally:
signal.pthread_sigmask(signal.SIG_SETMASK, mask)

1030
bitbake/lib/bb/build.py Normal file

File diff suppressed because it is too large Load Diff

978
bitbake/lib/bb/cache.py Normal file
View File

@@ -0,0 +1,978 @@
#
# BitBake Cache implementation
#
# Caching of bitbake variables before task execution
# Copyright (C) 2006 Richard Purdie
# Copyright (C) 2012 Intel Corporation
# but small sections based on code from bin/bitbake:
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2003, 2004 Phil Blundell
# Copyright (C) 2003 - 2005 Michael 'Mickey' Lauer
# Copyright (C) 2005 Holger Hans Peter Freyther
# Copyright (C) 2005 ROAD GmbH
#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
import logging
import pickle
from collections import defaultdict
from collections.abc import Mapping
import bb.utils
from bb import PrefixLoggerAdapter
import re
import shutil
logger = logging.getLogger("BitBake.Cache")
__cache_version__ = "156"
def getCacheFile(path, filename, mc, data_hash):
mcspec = ''
if mc:
mcspec = ".%s" % mc
return os.path.join(path, filename + mcspec + "." + data_hash)
# RecipeInfoCommon defines common data retrieving methods
# from meta data for caches. CoreRecipeInfo as well as other
# Extra RecipeInfo needs to inherit this class
class RecipeInfoCommon(object):
@classmethod
def listvar(cls, var, metadata):
return cls.getvar(var, metadata).split()
@classmethod
def intvar(cls, var, metadata):
return int(cls.getvar(var, metadata) or 0)
@classmethod
def depvar(cls, var, metadata):
return bb.utils.explode_deps(cls.getvar(var, metadata))
@classmethod
def pkgvar(cls, var, packages, metadata):
return dict((pkg, cls.depvar("%s:%s" % (var, pkg), metadata))
for pkg in packages)
@classmethod
def taskvar(cls, var, tasks, metadata):
return dict((task, cls.getvar("%s:task-%s" % (var, task), metadata))
for task in tasks)
@classmethod
def flaglist(cls, flag, varlist, metadata, squash=False):
out_dict = dict((var, metadata.getVarFlag(var, flag))
for var in varlist)
if squash:
return dict((k,v) for (k,v) in out_dict.items() if v)
else:
return out_dict
@classmethod
def getvar(cls, var, metadata, expand = True):
return metadata.getVar(var, expand) or ''
class CoreRecipeInfo(RecipeInfoCommon):
__slots__ = ()
cachefile = "bb_cache.dat"
def __init__(self, filename, metadata):
self.file_depends = metadata.getVar('__depends', False)
self.timestamp = bb.parse.cached_mtime(filename)
self.variants = self.listvar('__VARIANTS', metadata) + ['']
self.appends = self.listvar('__BBAPPEND', metadata)
self.nocache = self.getvar('BB_DONT_CACHE', metadata)
self.provides = self.depvar('PROVIDES', metadata)
self.rprovides = self.depvar('RPROVIDES', metadata)
self.pn = self.getvar('PN', metadata) or bb.parse.vars_from_file(filename,metadata)[0]
self.packages = self.listvar('PACKAGES', metadata)
if not self.packages:
self.packages.append(self.pn)
self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata)
self.rprovides_pkg = self.pkgvar('RPROVIDES', self.packages, metadata)
self.skipreason = self.getvar('__SKIPPED', metadata)
if self.skipreason:
self.skipped = True
return
self.tasks = metadata.getVar('__BBTASKS', False)
self.basetaskhashes = metadata.getVar('__siggen_basehashes', False) or {}
self.hashfilename = self.getvar('BB_HASHFILENAME', metadata)
self.task_deps = metadata.getVar('_task_deps', False) or {'tasks': [], 'parents': {}}
self.skipped = False
self.pe = self.getvar('PE', metadata)
self.pv = self.getvar('PV', metadata)
self.pr = self.getvar('PR', metadata)
self.defaultpref = self.intvar('DEFAULT_PREFERENCE', metadata)
self.not_world = self.getvar('EXCLUDE_FROM_WORLD', metadata)
self.stamp = self.getvar('STAMP', metadata)
self.stampclean = self.getvar('STAMPCLEAN', metadata)
self.stamp_extrainfo = self.flaglist('stamp-extra-info', self.tasks, metadata)
self.file_checksums = self.flaglist('file-checksums', self.tasks, metadata, True)
self.depends = self.depvar('DEPENDS', metadata)
self.rdepends = self.depvar('RDEPENDS', metadata)
self.rrecommends = self.depvar('RRECOMMENDS', metadata)
self.rdepends_pkg = self.pkgvar('RDEPENDS', self.packages, metadata)
self.rrecommends_pkg = self.pkgvar('RRECOMMENDS', self.packages, metadata)
self.inherits = self.getvar('__inherit_cache', metadata, expand=False)
self.fakerootenv = self.getvar('FAKEROOTENV', metadata)
self.fakerootdirs = self.getvar('FAKEROOTDIRS', metadata)
self.fakerootlogs = self.getvar('FAKEROOTLOGS', metadata)
self.fakerootnoenv = self.getvar('FAKEROOTNOENV', metadata)
self.extradepsfunc = self.getvar('calculate_extra_depends', metadata)
@classmethod
def init_cacheData(cls, cachedata):
# CacheData in Core RecipeInfo Class
cachedata.task_deps = {}
cachedata.pkg_fn = {}
cachedata.pkg_pn = defaultdict(list)
cachedata.pkg_pepvpr = {}
cachedata.pkg_dp = {}
cachedata.stamp = {}
cachedata.stampclean = {}
cachedata.stamp_extrainfo = {}
cachedata.file_checksums = {}
cachedata.fn_provides = {}
cachedata.pn_provides = defaultdict(list)
cachedata.all_depends = []
cachedata.deps = defaultdict(list)
cachedata.packages = defaultdict(list)
cachedata.providers = defaultdict(list)
cachedata.rproviders = defaultdict(list)
cachedata.packages_dynamic = defaultdict(list)
cachedata.rundeps = defaultdict(lambda: defaultdict(list))
cachedata.runrecs = defaultdict(lambda: defaultdict(list))
cachedata.possible_world = []
cachedata.universe_target = []
cachedata.hashfn = {}
cachedata.basetaskhash = {}
cachedata.inherits = {}
cachedata.fakerootenv = {}
cachedata.fakerootnoenv = {}
cachedata.fakerootdirs = {}
cachedata.fakerootlogs = {}
cachedata.extradepsfunc = {}
def add_cacheData(self, cachedata, fn):
cachedata.task_deps[fn] = self.task_deps
cachedata.pkg_fn[fn] = self.pn
cachedata.pkg_pn[self.pn].append(fn)
cachedata.pkg_pepvpr[fn] = (self.pe, self.pv, self.pr)
cachedata.pkg_dp[fn] = self.defaultpref
cachedata.stamp[fn] = self.stamp
cachedata.stampclean[fn] = self.stampclean
cachedata.stamp_extrainfo[fn] = self.stamp_extrainfo
cachedata.file_checksums[fn] = self.file_checksums
provides = [self.pn]
for provide in self.provides:
if provide not in provides:
provides.append(provide)
cachedata.fn_provides[fn] = provides
for provide in provides:
cachedata.providers[provide].append(fn)
if provide not in cachedata.pn_provides[self.pn]:
cachedata.pn_provides[self.pn].append(provide)
for dep in self.depends:
if dep not in cachedata.deps[fn]:
cachedata.deps[fn].append(dep)
if dep not in cachedata.all_depends:
cachedata.all_depends.append(dep)
rprovides = self.rprovides
for package in self.packages:
cachedata.packages[package].append(fn)
rprovides += self.rprovides_pkg[package]
for rprovide in rprovides:
if fn not in cachedata.rproviders[rprovide]:
cachedata.rproviders[rprovide].append(fn)
for package in self.packages_dynamic:
cachedata.packages_dynamic[package].append(fn)
# Build hash of runtime depends and recommends
for package in self.packages:
cachedata.rundeps[fn][package] = list(self.rdepends) + self.rdepends_pkg[package]
cachedata.runrecs[fn][package] = list(self.rrecommends) + self.rrecommends_pkg[package]
# Collect files we may need for possible world-dep
# calculations
if not bb.utils.to_boolean(self.not_world):
cachedata.possible_world.append(fn)
#else:
# logger.debug2("EXCLUDE FROM WORLD: %s", fn)
# create a collection of all targets for sanity checking
# tasks, such as upstream versions, license, and tools for
# task and image creation.
cachedata.universe_target.append(self.pn)
cachedata.hashfn[fn] = self.hashfilename
for task, taskhash in self.basetaskhashes.items():
identifier = '%s:%s' % (fn, task)
cachedata.basetaskhash[identifier] = taskhash
cachedata.inherits[fn] = self.inherits
cachedata.fakerootenv[fn] = self.fakerootenv
cachedata.fakerootnoenv[fn] = self.fakerootnoenv
cachedata.fakerootdirs[fn] = self.fakerootdirs
cachedata.fakerootlogs[fn] = self.fakerootlogs
cachedata.extradepsfunc[fn] = self.extradepsfunc
class SiggenRecipeInfo(RecipeInfoCommon):
__slots__ = ()
classname = "SiggenRecipeInfo"
cachefile = "bb_cache_" + classname +".dat"
# we don't want to show this information in graph files so don't set cachefields
#cachefields = []
def __init__(self, filename, metadata):
self.siggen_gendeps = metadata.getVar("__siggen_gendeps", False)
self.siggen_varvals = metadata.getVar("__siggen_varvals", False)
self.siggen_taskdeps = metadata.getVar("__siggen_taskdeps", False)
@classmethod
def init_cacheData(cls, cachedata):
cachedata.siggen_taskdeps = {}
cachedata.siggen_gendeps = {}
cachedata.siggen_varvals = {}
def add_cacheData(self, cachedata, fn):
cachedata.siggen_gendeps[fn] = self.siggen_gendeps
cachedata.siggen_varvals[fn] = self.siggen_varvals
cachedata.siggen_taskdeps[fn] = self.siggen_taskdeps
# The siggen variable data is large and impacts:
# - bitbake's overall memory usage
# - the amount of data sent over IPC between parsing processes and the server
# - the size of the cache files on disk
# - the size of "sigdata" hash information files on disk
# The data consists of strings (some large) or frozenset lists of variables
# As such, we a) deplicate the data here and b) pass references to the object at second
# access (e.g. over IPC or saving into pickle).
store = {}
save_map = {}
save_count = 1
restore_map = {}
restore_count = {}
@classmethod
def reset(cls):
# Needs to be called before starting new streamed data in a given process
# (e.g. writing out the cache again)
cls.save_map = {}
cls.save_count = 1
cls.restore_map = {}
@classmethod
def _save(cls, deps):
ret = []
if not deps:
return deps
for dep in deps:
fs = deps[dep]
if fs is None:
ret.append((dep, None, None))
elif fs in cls.save_map:
ret.append((dep, None, cls.save_map[fs]))
else:
cls.save_map[fs] = cls.save_count
ret.append((dep, fs, cls.save_count))
cls.save_count = cls.save_count + 1
return ret
@classmethod
def _restore(cls, deps, pid):
ret = {}
if not deps:
return deps
if pid not in cls.restore_map:
cls.restore_map[pid] = {}
map = cls.restore_map[pid]
for dep, fs, mapnum in deps:
if fs is None and mapnum is None:
ret[dep] = None
elif fs is None:
ret[dep] = map[mapnum]
else:
try:
fs = cls.store[fs]
except KeyError:
cls.store[fs] = fs
map[mapnum] = fs
ret[dep] = fs
return ret
def __getstate__(self):
ret = {}
for key in ["siggen_gendeps", "siggen_taskdeps", "siggen_varvals"]:
ret[key] = self._save(self.__dict__[key])
ret['pid'] = os.getpid()
return ret
def __setstate__(self, state):
pid = state['pid']
for key in ["siggen_gendeps", "siggen_taskdeps", "siggen_varvals"]:
setattr(self, key, self._restore(state[key], pid))
def virtualfn2realfn(virtualfn):
"""
Convert a virtual file name to a real one + the associated subclass keyword
"""
mc = ""
if virtualfn.startswith('mc:') and virtualfn.count(':') >= 2:
(_, mc, virtualfn) = virtualfn.split(':', 2)
fn = virtualfn
cls = ""
if virtualfn.startswith('virtual:'):
elems = virtualfn.split(':')
cls = ":".join(elems[1:-1])
fn = elems[-1]
return (fn, cls, mc)
def realfn2virtual(realfn, cls, mc):
"""
Convert a real filename + the associated subclass keyword to a virtual filename
"""
if cls:
realfn = "virtual:" + cls + ":" + realfn
if mc:
realfn = "mc:" + mc + ":" + realfn
return realfn
def variant2virtual(realfn, variant):
"""
Convert a real filename + a variant to a virtual filename
"""
if variant == "":
return realfn
if variant.startswith("mc:") and variant.count(':') >= 2:
elems = variant.split(":")
if elems[2]:
return "mc:" + elems[1] + ":virtual:" + ":".join(elems[2:]) + ":" + realfn
return "mc:" + elems[1] + ":" + realfn
return "virtual:" + variant + ":" + realfn
#
# Cooker calls cacheValid on its recipe list, then either calls loadCached
# from it's main thread or parse from separate processes to generate an up to
# date cache
#
class Cache(object):
"""
BitBake Cache implementation
"""
def __init__(self, databuilder, mc, data_hash, caches_array):
self.databuilder = databuilder
self.data = databuilder.data
# Pass caches_array information into Cache Constructor
# It will be used later for deciding whether we
# need extra cache file dump/load support
self.mc = mc
self.logger = PrefixLoggerAdapter("Cache: %s: " % (mc if mc else "default"), logger)
self.caches_array = caches_array
self.cachedir = self.data.getVar("CACHE")
self.clean = set()
self.checked = set()
self.depends_cache = {}
self.data_fn = None
self.cacheclean = True
self.data_hash = data_hash
self.filelist_regex = re.compile(r'(?:(?<=:True)|(?<=:False))\s+')
if self.cachedir in [None, '']:
bb.fatal("Please ensure CACHE is set to the cache directory for BitBake to use")
def getCacheFile(self, cachefile):
return getCacheFile(self.cachedir, cachefile, self.mc, self.data_hash)
def prepare_cache(self, progress):
loaded = 0
self.cachefile = self.getCacheFile("bb_cache.dat")
self.logger.debug("Cache dir: %s", self.cachedir)
bb.utils.mkdirhier(self.cachedir)
cache_ok = True
if self.caches_array:
for cache_class in self.caches_array:
cachefile = self.getCacheFile(cache_class.cachefile)
cache_exists = os.path.exists(cachefile)
self.logger.debug2("Checking if %s exists: %r", cachefile, cache_exists)
cache_ok = cache_ok and cache_exists
cache_class.init_cacheData(self)
if cache_ok:
loaded = self.load_cachefile(progress)
elif os.path.isfile(self.cachefile):
self.logger.info("Out of date cache found, rebuilding...")
else:
self.logger.debug("Cache file %s not found, building..." % self.cachefile)
# We don't use the symlink, its just for debugging convinience
if self.mc:
symlink = os.path.join(self.cachedir, "bb_cache.dat.%s" % self.mc)
else:
symlink = os.path.join(self.cachedir, "bb_cache.dat")
if os.path.exists(symlink) or os.path.islink(symlink):
bb.utils.remove(symlink)
try:
os.symlink(os.path.basename(self.cachefile), symlink)
except OSError:
pass
return loaded
def cachesize(self):
cachesize = 0
for cache_class in self.caches_array:
cachefile = self.getCacheFile(cache_class.cachefile)
try:
with open(cachefile, "rb") as cachefile:
cachesize += os.fstat(cachefile.fileno()).st_size
except FileNotFoundError:
pass
return cachesize
def load_cachefile(self, progress):
previous_progress = 0
for cache_class in self.caches_array:
cachefile = self.getCacheFile(cache_class.cachefile)
self.logger.debug('Loading cache file: %s' % cachefile)
with open(cachefile, "rb") as cachefile:
pickled = pickle.Unpickler(cachefile)
# Check cache version information
try:
cache_ver = pickled.load()
bitbake_ver = pickled.load()
except Exception:
self.logger.info('Invalid cache, rebuilding...')
return 0
if cache_ver != __cache_version__:
self.logger.info('Cache version mismatch, rebuilding...')
return 0
elif bitbake_ver != bb.__version__:
self.logger.info('Bitbake version mismatch, rebuilding...')
return 0
# Load the rest of the cache file
current_progress = 0
while cachefile:
try:
key = pickled.load()
value = pickled.load()
except Exception:
break
if not isinstance(key, str):
bb.warn("%s from extras cache is not a string?" % key)
break
if not isinstance(value, RecipeInfoCommon):
bb.warn("%s from extras cache is not a RecipeInfoCommon class?" % value)
break
if key in self.depends_cache:
self.depends_cache[key].append(value)
else:
self.depends_cache[key] = [value]
# only fire events on even percentage boundaries
current_progress = cachefile.tell() + previous_progress
progress(cachefile.tell() + previous_progress)
previous_progress += current_progress
return len(self.depends_cache)
def parse(self, filename, appends, layername):
"""Parse the specified filename, returning the recipe information"""
self.logger.debug("Parsing %s", filename)
infos = []
datastores = self.databuilder.parseRecipeVariants(filename, appends, mc=self.mc, layername=layername)
depends = []
variants = []
# Process the "real" fn last so we can store variants list
for variant, data in sorted(datastores.items(),
key=lambda i: i[0],
reverse=True):
virtualfn = variant2virtual(filename, variant)
variants.append(variant)
depends = depends + (data.getVar("__depends", False) or [])
if depends and not variant:
data.setVar("__depends", depends)
if virtualfn == filename:
data.setVar("__VARIANTS", " ".join(variants))
info_array = []
for cache_class in self.caches_array:
info = cache_class(filename, data)
info_array.append(info)
infos.append((virtualfn, info_array))
return infos
def loadCached(self, filename, appends):
"""Obtain the recipe information for the specified filename,
using cached values.
"""
infos = []
# info_array item is a list of [CoreRecipeInfo, XXXRecipeInfo]
info_array = self.depends_cache[filename]
for variant in info_array[0].variants:
virtualfn = variant2virtual(filename, variant)
infos.append((virtualfn, self.depends_cache[virtualfn]))
return infos
def cacheValid(self, fn, appends):
"""
Is the cache valid for fn?
Fast version, no timestamps checked.
"""
if fn not in self.checked:
self.cacheValidUpdate(fn, appends)
if fn in self.clean:
return True
return False
def cacheValidUpdate(self, fn, appends):
"""
Is the cache valid for fn?
Make thorough (slower) checks including timestamps.
"""
self.checked.add(fn)
# File isn't in depends_cache
if not fn in self.depends_cache:
self.logger.debug2("%s is not cached", fn)
return False
mtime = bb.parse.cached_mtime_noerror(fn)
# Check file still exists
if mtime == 0:
self.logger.debug2("%s no longer exists", fn)
self.remove(fn)
return False
info_array = self.depends_cache[fn]
# Check the file's timestamp
if mtime != info_array[0].timestamp:
self.logger.debug2("%s changed", fn)
self.remove(fn)
return False
# Check dependencies are still valid
depends = info_array[0].file_depends
if depends:
for f, old_mtime in depends:
fmtime = bb.parse.cached_mtime_noerror(f)
# Check if file still exists
if old_mtime != 0 and fmtime == 0:
self.logger.debug2("%s's dependency %s was removed",
fn, f)
self.remove(fn)
return False
if (fmtime != old_mtime):
self.logger.debug2("%s's dependency %s changed",
fn, f)
self.remove(fn)
return False
if hasattr(info_array[0], 'file_checksums'):
for _, fl in info_array[0].file_checksums.items():
fl = fl.strip()
if not fl:
continue
# Have to be careful about spaces and colons in filenames
flist = self.filelist_regex.split(fl)
for f in flist:
if not f:
continue
f, exist = f.rsplit(":", 1)
if (exist == "True" and not os.path.exists(f)) or (exist == "False" and os.path.exists(f)):
self.logger.debug2("%s's file checksum list file %s changed",
fn, f)
self.remove(fn)
return False
if tuple(appends) != tuple(info_array[0].appends):
self.logger.debug2("appends for %s changed", fn)
self.logger.debug2("%s to %s" % (str(appends), str(info_array[0].appends)))
self.remove(fn)
return False
invalid = False
for cls in info_array[0].variants:
virtualfn = variant2virtual(fn, cls)
self.clean.add(virtualfn)
if virtualfn not in self.depends_cache:
self.logger.debug2("%s is not cached", virtualfn)
invalid = True
elif len(self.depends_cache[virtualfn]) != len(self.caches_array):
self.logger.debug2("Extra caches missing for %s?" % virtualfn)
invalid = True
# If any one of the variants is not present, mark as invalid for all
if invalid:
for cls in info_array[0].variants:
virtualfn = variant2virtual(fn, cls)
if virtualfn in self.clean:
self.logger.debug2("Removing %s from cache", virtualfn)
self.clean.remove(virtualfn)
if fn in self.clean:
self.logger.debug2("Marking %s as not clean", fn)
self.clean.remove(fn)
return False
self.clean.add(fn)
return True
def remove(self, fn):
"""
Remove a fn from the cache
Called from the parser in error cases
"""
if fn in self.depends_cache:
self.logger.debug("Removing %s from cache", fn)
del self.depends_cache[fn]
if fn in self.clean:
self.logger.debug("Marking %s as unclean", fn)
self.clean.remove(fn)
def sync(self):
"""
Save the cache
Called from the parser when complete (or exiting)
"""
if self.cacheclean:
self.logger.debug2("Cache is clean, not saving.")
return
for cache_class in self.caches_array:
cache_class_name = cache_class.__name__
cachefile = self.getCacheFile(cache_class.cachefile)
self.logger.debug2("Writing %s", cachefile)
with open(cachefile, "wb") as f:
p = pickle.Pickler(f, pickle.HIGHEST_PROTOCOL)
p.dump(__cache_version__)
p.dump(bb.__version__)
for key, info_array in self.depends_cache.items():
for info in info_array:
if isinstance(info, RecipeInfoCommon) and info.__class__.__name__ == cache_class_name:
p.dump(key)
p.dump(info)
del self.depends_cache
SiggenRecipeInfo.reset()
@staticmethod
def mtime(cachefile):
return bb.parse.cached_mtime_noerror(cachefile)
def add_info(self, filename, info_array, cacheData, parsed=None, watcher=None):
if self.mc is not None:
(fn, cls, mc) = virtualfn2realfn(filename)
if mc:
self.logger.error("Unexpected multiconfig %s", filename)
return
vfn = realfn2virtual(fn, cls, self.mc)
else:
vfn = filename
if isinstance(info_array[0], CoreRecipeInfo) and (not info_array[0].skipped):
cacheData.add_from_recipeinfo(vfn, info_array)
if watcher:
watcher(info_array[0].file_depends)
if (info_array[0].skipped or 'SRCREVINACTION' not in info_array[0].pv) and not info_array[0].nocache:
if parsed:
self.cacheclean = False
self.depends_cache[filename] = info_array
class MulticonfigCache(Mapping):
def __init__(self, databuilder, data_hash, caches_array):
def progress(p):
nonlocal current_progress
nonlocal previous_progress
nonlocal previous_percent
nonlocal cachesize
current_progress = previous_progress + p
if current_progress > cachesize:
# we might have calculated incorrect total size because a file
# might've been written out just after we checked its size
cachesize = current_progress
current_percent = 100 * current_progress / cachesize
if current_percent > previous_percent:
previous_percent = current_percent
bb.event.fire(bb.event.CacheLoadProgress(current_progress, cachesize),
databuilder.data)
cachesize = 0
current_progress = 0
previous_progress = 0
previous_percent = 0
self.__caches = {}
for mc, mcdata in databuilder.mcdata.items():
self.__caches[mc] = Cache(databuilder, mc, data_hash, caches_array)
cachesize += self.__caches[mc].cachesize()
bb.event.fire(bb.event.CacheLoadStarted(cachesize), databuilder.data)
loaded = 0
for c in self.__caches.values():
SiggenRecipeInfo.reset()
loaded += c.prepare_cache(progress)
previous_progress = current_progress
# Note: depends cache number is corresponding to the parsing file numbers.
# The same file has several caches, still regarded as one item in the cache
bb.event.fire(bb.event.CacheLoadCompleted(cachesize, loaded), databuilder.data)
def __len__(self):
return len(self.__caches)
def __getitem__(self, key):
return self.__caches[key]
def __contains__(self, key):
return key in self.__caches
def __iter__(self):
for k in self.__caches:
yield k
class CacheData(object):
"""
The data structures we compile from the cached data
"""
def __init__(self, caches_array):
self.caches_array = caches_array
for cache_class in self.caches_array:
if not issubclass(cache_class, RecipeInfoCommon):
bb.error("Extra cache data class %s should subclass RecipeInfoCommon class" % cache_class)
cache_class.init_cacheData(self)
# Direct cache variables
self.task_queues = {}
self.preferred = {}
self.tasks = {}
# Indirect Cache variables (set elsewhere)
self.ignored_dependencies = []
self.world_target = set()
self.bbfile_priority = {}
def add_from_recipeinfo(self, fn, info_array):
for info in info_array:
info.add_cacheData(self, fn)
class MultiProcessCache(object):
"""
BitBake multi-process cache implementation
Used by the codeparser & file checksum caches
"""
def __init__(self):
self.cachefile = None
self.cachedata = self.create_cachedata()
self.cachedata_extras = self.create_cachedata()
def init_cache(self, cachedir, cache_file_name=None):
if not cachedir:
return
bb.utils.mkdirhier(cachedir)
self.cachefile = os.path.join(cachedir,
cache_file_name or self.__class__.cache_file_name)
logger.debug("Using cache in '%s'", self.cachefile)
glf = bb.utils.lockfile(self.cachefile + ".lock")
try:
with open(self.cachefile, "rb") as f:
p = pickle.Unpickler(f)
data, version = p.load()
except:
bb.utils.unlockfile(glf)
return
bb.utils.unlockfile(glf)
if version != self.__class__.CACHE_VERSION:
return
self.cachedata = data
def create_cachedata(self):
data = [{}]
return data
def save_extras(self):
if not self.cachefile:
return
have_data = any(self.cachedata_extras)
if not have_data:
return
glf = bb.utils.lockfile(self.cachefile + ".lock", shared=True)
i = os.getpid()
lf = None
while not lf:
lf = bb.utils.lockfile(self.cachefile + ".lock." + str(i), retry=False)
if not lf or os.path.exists(self.cachefile + "-" + str(i)):
if lf:
bb.utils.unlockfile(lf)
lf = None
i = i + 1
continue
with open(self.cachefile + "-" + str(i), "wb") as f:
p = pickle.Pickler(f, -1)
p.dump([self.cachedata_extras, self.__class__.CACHE_VERSION])
bb.utils.unlockfile(lf)
bb.utils.unlockfile(glf)
def merge_data(self, source, dest):
for j in range(0,len(dest)):
for h in source[j]:
if h not in dest[j]:
dest[j][h] = source[j][h]
def save_merge(self):
if not self.cachefile:
return
glf = bb.utils.lockfile(self.cachefile + ".lock")
data = self.cachedata
have_data = False
for f in [y for y in os.listdir(os.path.dirname(self.cachefile)) if y.startswith(os.path.basename(self.cachefile) + '-')]:
f = os.path.join(os.path.dirname(self.cachefile), f)
try:
with open(f, "rb") as fd:
p = pickle.Unpickler(fd)
extradata, version = p.load()
except (IOError, EOFError):
os.unlink(f)
continue
if version != self.__class__.CACHE_VERSION:
os.unlink(f)
continue
have_data = True
self.merge_data(extradata, data)
os.unlink(f)
if have_data:
with open(self.cachefile, "wb") as f:
p = pickle.Pickler(f, -1)
p.dump([data, self.__class__.CACHE_VERSION])
bb.utils.unlockfile(glf)
class SimpleCache(object):
"""
BitBake multi-process cache implementation
Used by the codeparser & file checksum caches
"""
def __init__(self, version):
self.cachefile = None
self.cachedata = None
self.cacheversion = version
def init_cache(self, d, cache_file_name=None, defaultdata=None):
cachedir = (d.getVar("PERSISTENT_DIR") or
d.getVar("CACHE"))
if not cachedir:
return defaultdata
bb.utils.mkdirhier(cachedir)
self.cachefile = os.path.join(cachedir,
cache_file_name or self.__class__.cache_file_name)
logger.debug("Using cache in '%s'", self.cachefile)
glf = bb.utils.lockfile(self.cachefile + ".lock")
try:
with open(self.cachefile, "rb") as f:
p = pickle.Unpickler(f)
data, version = p.load()
except:
bb.utils.unlockfile(glf)
return defaultdata
bb.utils.unlockfile(glf)
if version != self.cacheversion:
return defaultdata
return data
def save(self, data):
if not self.cachefile:
return
glf = bb.utils.lockfile(self.cachefile + ".lock")
with open(self.cachefile, "wb") as f:
p = pickle.Pickler(f, -1)
p.dump([data, self.cacheversion])
bb.utils.unlockfile(glf)
def copyfile(self, target):
if not self.cachefile:
return
glf = bb.utils.lockfile(self.cachefile + ".lock")
shutil.copy(self.cachefile, target)
bb.utils.unlockfile(glf)

View File

@@ -0,0 +1,63 @@
#
# Extra RecipeInfo will be all defined in this file. Currently,
# Only Hob (Image Creator) Requests some extra fields. So
# HobRecipeInfo is defined. It's named HobRecipeInfo because it
# is introduced by 'hob'. Users could also introduce other
# RecipeInfo or simply use those already defined RecipeInfo.
# In the following patch, this newly defined new extra RecipeInfo
# will be dynamically loaded and used for loading/saving the extra
# cache fields
# Copyright (C) 2011, Intel Corporation. All rights reserved.
# SPDX-License-Identifier: GPL-2.0-only
#
from bb.cache import RecipeInfoCommon
class HobRecipeInfo(RecipeInfoCommon):
__slots__ = ()
classname = "HobRecipeInfo"
# please override this member with the correct data cache file
# such as (bb_cache.dat, bb_extracache_hob.dat)
cachefile = "bb_extracache_" + classname +".dat"
# override this member with the list of extra cache fields
# that this class will provide
cachefields = ['summary', 'license', 'section',
'description', 'homepage', 'bugtracker',
'prevision', 'files_info']
def __init__(self, filename, metadata):
self.summary = self.getvar('SUMMARY', metadata)
self.license = self.getvar('LICENSE', metadata)
self.section = self.getvar('SECTION', metadata)
self.description = self.getvar('DESCRIPTION', metadata)
self.homepage = self.getvar('HOMEPAGE', metadata)
self.bugtracker = self.getvar('BUGTRACKER', metadata)
self.prevision = self.getvar('PR', metadata)
self.files_info = self.getvar('FILES_INFO', metadata)
@classmethod
def init_cacheData(cls, cachedata):
# CacheData in Hob RecipeInfo Class
cachedata.summary = {}
cachedata.license = {}
cachedata.section = {}
cachedata.description = {}
cachedata.homepage = {}
cachedata.bugtracker = {}
cachedata.prevision = {}
cachedata.files_info = {}
def add_cacheData(self, cachedata, fn):
cachedata.summary[fn] = self.summary
cachedata.license[fn] = self.license
cachedata.section[fn] = self.section
cachedata.description[fn] = self.description
cachedata.homepage[fn] = self.homepage
cachedata.bugtracker[fn] = self.bugtracker
cachedata.prevision[fn] = self.prevision
cachedata.files_info[fn] = self.files_info

144
bitbake/lib/bb/checksum.py Normal file
View File

@@ -0,0 +1,144 @@
# Local file checksum cache implementation
#
# Copyright (C) 2012 Intel Corporation
#
# SPDX-License-Identifier: GPL-2.0-only
#
import glob
import operator
import os
import stat
import bb.utils
import logging
import re
from bb.cache import MultiProcessCache
logger = logging.getLogger("BitBake.Cache")
filelist_regex = re.compile(r'(?:(?<=:True)|(?<=:False))\s+')
# mtime cache (non-persistent)
# based upon the assumption that files do not change during bitbake run
class FileMtimeCache(object):
cache = {}
def cached_mtime(self, f):
if f not in self.cache:
self.cache[f] = os.stat(f)[stat.ST_MTIME]
return self.cache[f]
def cached_mtime_noerror(self, f):
if f not in self.cache:
try:
self.cache[f] = os.stat(f)[stat.ST_MTIME]
except OSError:
return 0
return self.cache[f]
def update_mtime(self, f):
self.cache[f] = os.stat(f)[stat.ST_MTIME]
return self.cache[f]
def clear(self):
self.cache.clear()
# Checksum + mtime cache (persistent)
class FileChecksumCache(MultiProcessCache):
cache_file_name = "local_file_checksum_cache.dat"
CACHE_VERSION = 1
def __init__(self):
self.mtime_cache = FileMtimeCache()
MultiProcessCache.__init__(self)
def get_checksum(self, f):
f = os.path.normpath(f)
entry = self.cachedata[0].get(f)
cmtime = self.mtime_cache.cached_mtime(f)
if entry:
(mtime, hashval) = entry
if cmtime == mtime:
return hashval
else:
bb.debug(2, "file %s changed mtime, recompute checksum" % f)
hashval = bb.utils.md5_file(f)
self.cachedata_extras[0][f] = (cmtime, hashval)
return hashval
def merge_data(self, source, dest):
for h in source[0]:
if h in dest:
(smtime, _) = source[0][h]
(dmtime, _) = dest[0][h]
if smtime > dmtime:
dest[0][h] = source[0][h]
else:
dest[0][h] = source[0][h]
def get_checksums(self, filelist, pn, localdirsexclude):
"""Get checksums for a list of files"""
def checksum_file(f):
try:
checksum = self.get_checksum(f)
except OSError as e:
bb.warn("Unable to get checksum for %s SRC_URI entry %s: %s" % (pn, os.path.basename(f), e))
return None
return checksum
#
# Changing the format of file-checksums is problematic as both OE and Bitbake have
# knowledge of them. We need to encode a new piece of data, the portion of the path
# we care about from a checksum perspective. This means that files that change subdirectory
# are tracked by the task hashes. To do this, we do something horrible and put a "/./" into
# the path. The filesystem handles it but it gives us a marker to know which subsection
# of the path to cache.
#
def checksum_dir(pth):
# Handle directories recursively
if pth == "/":
bb.fatal("Refusing to checksum /")
pth = pth.rstrip("/")
dirchecksums = []
for root, dirs, files in os.walk(pth, topdown=True):
[dirs.remove(d) for d in list(dirs) if d in localdirsexclude]
for name in files:
fullpth = os.path.join(root, name).replace(pth, os.path.join(pth, "."))
checksum = checksum_file(fullpth)
if checksum:
dirchecksums.append((fullpth, checksum))
return dirchecksums
checksums = []
for pth in filelist_regex.split(filelist):
if not pth:
continue
pth = pth.strip()
if not pth:
continue
exist = pth.split(":")[1]
if exist == "False":
continue
pth = pth.split(":")[0]
if '*' in pth:
# Handle globs
for f in glob.glob(pth):
if os.path.isdir(f):
if not os.path.islink(f):
checksums.extend(checksum_dir(f))
else:
checksum = checksum_file(f)
if checksum:
checksums.append((f, checksum))
elif os.path.isdir(pth):
if not os.path.islink(pth):
checksums.extend(checksum_dir(pth))
else:
checksum = checksum_file(pth)
if checksum:
checksums.append((pth, checksum))
checksums.sort(key=operator.itemgetter(1))
return checksums

View File

@@ -0,0 +1,554 @@
#
# Copyright BitBake Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
"""
BitBake code parser
Parses actual code (i.e. python and shell) for functions and in-line
expressions. Used mainly to determine dependencies on other functions
and variables within the BitBake metadata. Also provides a cache for
this information in order to speed up processing.
(Not to be confused with the code that parses the metadata itself,
see lib/bb/parse/ for that).
NOTE: if you change how the parsers gather information you will almost
certainly need to increment CodeParserCache.CACHE_VERSION below so that
any existing codeparser cache gets invalidated. Additionally you'll need
to increment __cache_version__ in cache.py in order to ensure that old
recipe caches don't trigger "Taskhash mismatch" errors.
"""
import ast
import sys
import codegen
import logging
import inspect
import bb.pysh as pysh
import bb.utils, bb.data
import hashlib
from itertools import chain
from bb.pysh import pyshyacc, pyshlex
from bb.cache import MultiProcessCache
logger = logging.getLogger('BitBake.CodeParser')
def bbhash(s):
return hashlib.sha256(s.encode("utf-8")).hexdigest()
def check_indent(codestr):
"""If the code is indented, add a top level piece of code to 'remove' the indentation"""
i = 0
while codestr[i] in ["\n", "\t", " "]:
i = i + 1
if i == 0:
return codestr
if codestr[i-1] == "\t" or codestr[i-1] == " ":
if codestr[0] == "\n":
# Since we're adding a line, we need to remove one line of any empty padding
# to ensure line numbers are correct
codestr = codestr[1:]
return "if 1:\n" + codestr
return codestr
modulecode_deps = {}
def add_module_functions(fn, functions, namespace):
import os
fstat = os.stat(fn)
fixedhash = fn + ":" + str(fstat.st_size) + ":" + str(fstat.st_mtime)
for f in functions:
name = "%s.%s" % (namespace, f)
parser = PythonParser(name, logger)
try:
parser.parse_python(None, filename=fn, lineno=1, fixedhash=fixedhash+f)
#bb.warn("Cached %s" % f)
except KeyError:
targetfn = inspect.getsourcefile(functions[f])
if fn != targetfn:
# Skip references to other modules outside this file
#bb.warn("Skipping %s" % name)
continue
lines, lineno = inspect.getsourcelines(functions[f])
src = "".join(lines)
parser.parse_python(src, filename=fn, lineno=lineno, fixedhash=fixedhash+f)
#bb.warn("Not cached %s" % f)
execs = parser.execs.copy()
# Expand internal module exec references
for e in parser.execs:
if e in functions:
execs.remove(e)
execs.add(namespace + "." + e)
visitorcode = None
if hasattr(functions[f], 'visitorcode'):
visitorcode = getattr(functions[f], "visitorcode")
modulecode_deps[name] = [parser.references.copy(), execs, parser.var_execs.copy(), parser.contains.copy(), parser.extra, visitorcode]
#bb.warn("%s: %s\nRefs:%s Execs: %s %s %s" % (name, fn, parser.references, parser.execs, parser.var_execs, parser.contains))
def update_module_dependencies(d):
for mod in modulecode_deps:
excludes = set((d.getVarFlag(mod, "vardepsexclude") or "").split())
if excludes:
modulecode_deps[mod] = [modulecode_deps[mod][0] - excludes, modulecode_deps[mod][1] - excludes, modulecode_deps[mod][2] - excludes, modulecode_deps[mod][3], modulecode_deps[mod][4], modulecode_deps[mod][5]]
# A custom getstate/setstate using tuples is actually worth 15% cachesize by
# avoiding duplication of the attribute names!
class SetCache(object):
def __init__(self):
self.setcache = {}
def internSet(self, items):
new = []
for i in items:
new.append(sys.intern(i))
s = frozenset(new)
h = hash(s)
if h in self.setcache:
return self.setcache[h]
self.setcache[h] = s
return s
codecache = SetCache()
class pythonCacheLine(object):
def __init__(self, refs, execs, contains, extra):
self.refs = codecache.internSet(refs)
self.execs = codecache.internSet(execs)
self.contains = {}
for c in contains:
self.contains[c] = codecache.internSet(contains[c])
self.extra = extra
def __getstate__(self):
return (self.refs, self.execs, self.contains, self.extra)
def __setstate__(self, state):
(refs, execs, contains, extra) = state
self.__init__(refs, execs, contains, extra)
def __hash__(self):
l = (hash(self.refs), hash(self.execs), hash(self.extra))
for c in sorted(self.contains.keys()):
l = l + (c, hash(self.contains[c]))
return hash(l)
def __repr__(self):
return " ".join([str(self.refs), str(self.execs), str(self.contains)])
class shellCacheLine(object):
def __init__(self, execs):
self.execs = codecache.internSet(execs)
def __getstate__(self):
return (self.execs)
def __setstate__(self, state):
(execs) = state
self.__init__(execs)
def __hash__(self):
return hash(self.execs)
def __repr__(self):
return str(self.execs)
class CodeParserCache(MultiProcessCache):
cache_file_name = "bb_codeparser.dat"
# NOTE: you must increment this if you change how the parsers gather information,
# so that an existing cache gets invalidated. Additionally you'll need
# to increment __cache_version__ in cache.py in order to ensure that old
# recipe caches don't trigger "Taskhash mismatch" errors.
CACHE_VERSION = 14
def __init__(self):
MultiProcessCache.__init__(self)
self.pythoncache = self.cachedata[0]
self.shellcache = self.cachedata[1]
self.pythoncacheextras = self.cachedata_extras[0]
self.shellcacheextras = self.cachedata_extras[1]
# To avoid duplication in the codeparser cache, keep
# a lookup of hashes of objects we already have
self.pythoncachelines = {}
self.shellcachelines = {}
def newPythonCacheLine(self, refs, execs, contains, extra):
cacheline = pythonCacheLine(refs, execs, contains, extra)
h = hash(cacheline)
if h in self.pythoncachelines:
return self.pythoncachelines[h]
self.pythoncachelines[h] = cacheline
return cacheline
def newShellCacheLine(self, execs):
cacheline = shellCacheLine(execs)
h = hash(cacheline)
if h in self.shellcachelines:
return self.shellcachelines[h]
self.shellcachelines[h] = cacheline
return cacheline
def init_cache(self, cachedir):
# Check if we already have the caches
if self.pythoncache:
return
MultiProcessCache.init_cache(self, cachedir)
# cachedata gets re-assigned in the parent
self.pythoncache = self.cachedata[0]
self.shellcache = self.cachedata[1]
def create_cachedata(self):
data = [{}, {}]
return data
codeparsercache = CodeParserCache()
def parser_cache_init(cachedir):
codeparsercache.init_cache(cachedir)
def parser_cache_save():
codeparsercache.save_extras()
def parser_cache_savemerge():
codeparsercache.save_merge()
Logger = logging.getLoggerClass()
class BufferedLogger(Logger):
def __init__(self, name, level=0, target=None):
Logger.__init__(self, name)
self.setLevel(level)
self.buffer = []
self.target = target
def handle(self, record):
self.buffer.append(record)
def flush(self):
for record in self.buffer:
if self.target.isEnabledFor(record.levelno):
self.target.handle(record)
self.buffer = []
class DummyLogger():
def flush(self):
return
class PythonParser():
getvars = (".getVar", ".appendVar", ".prependVar", "oe.utils.conditional")
getvarflags = (".getVarFlag", ".appendVarFlag", ".prependVarFlag")
containsfuncs = ("bb.utils.contains", "base_contains")
containsanyfuncs = ("bb.utils.contains_any", "bb.utils.filter")
execfuncs = ("bb.build.exec_func", "bb.build.exec_task")
def warn(self, func, arg):
"""Warn about calls of bitbake APIs which pass a non-literal
argument for the variable name, as we're not able to track such
a reference.
"""
try:
funcstr = codegen.to_source(func)
argstr = codegen.to_source(arg)
except TypeError:
self.log.debug2('Failed to convert function and argument to source form')
else:
self.log.debug(self.unhandled_message % (funcstr, argstr))
def visit_Call(self, node):
name = self.called_node_name(node.func)
if name and name in modulecode_deps and modulecode_deps[name][5]:
visitorcode = modulecode_deps[name][5]
contains, execs, warn = visitorcode(name, node.args)
for i in contains:
self.contains[i] = contains[i]
self.execs |= execs
if warn:
self.warn(node.func, warn)
elif name and (name.endswith(self.getvars) or name.endswith(self.getvarflags) or name in self.containsfuncs or name in self.containsanyfuncs):
if isinstance(node.args[0], ast.Constant) and isinstance(node.args[0].value, str):
varname = node.args[0].value
if name in self.containsfuncs and isinstance(node.args[1], ast.Constant):
if varname not in self.contains:
self.contains[varname] = set()
self.contains[varname].add(node.args[1].value)
elif name in self.containsanyfuncs and isinstance(node.args[1], ast.Constant):
if varname not in self.contains:
self.contains[varname] = set()
self.contains[varname].update(node.args[1].value.split())
elif name.endswith(self.getvarflags):
if isinstance(node.args[1], ast.Constant):
self.references.add('%s[%s]' % (varname, node.args[1].value))
else:
self.warn(node.func, node.args[1])
else:
self.references.add(varname)
else:
self.warn(node.func, node.args[0])
elif name and name.endswith(".expand"):
if isinstance(node.args[0], ast.Constant):
value = node.args[0].value
d = bb.data.init()
parser = d.expandWithRefs(value, self.name)
self.references |= parser.references
self.execs |= parser.execs
for varname in parser.contains:
if varname not in self.contains:
self.contains[varname] = set()
self.contains[varname] |= parser.contains[varname]
elif name in self.execfuncs:
if isinstance(node.args[0], ast.Constant):
self.var_execs.add(node.args[0].value)
else:
self.warn(node.func, node.args[0])
elif name and isinstance(node.func, (ast.Name, ast.Attribute)):
self.execs.add(name)
def called_node_name(self, node):
"""Given a called node, return its original string form"""
components = []
while node:
if isinstance(node, ast.Attribute):
components.append(node.attr)
node = node.value
elif isinstance(node, ast.Name):
components.append(node.id)
return '.'.join(reversed(components))
else:
break
def __init__(self, name, log):
self.name = name
self.var_execs = set()
self.contains = {}
self.execs = set()
self.references = set()
self._log = log
# Defer init as expensive
self.log = DummyLogger()
self.unhandled_message = "in call of %s, argument '%s' is not a string literal"
self.unhandled_message = "while parsing %s, %s" % (name, self.unhandled_message)
# For the python module code it is expensive to have the function text so it is
# uses a different fixedhash to cache against. We can take the hit on obtaining the
# text if it isn't in the cache.
def parse_python(self, node, lineno=0, filename="<string>", fixedhash=None):
if not fixedhash and (not node or not node.strip()):
return
if fixedhash:
h = fixedhash
else:
h = bbhash(str(node))
if h in codeparsercache.pythoncache:
self.references = set(codeparsercache.pythoncache[h].refs)
self.execs = set(codeparsercache.pythoncache[h].execs)
self.contains = {}
for i in codeparsercache.pythoncache[h].contains:
self.contains[i] = set(codeparsercache.pythoncache[h].contains[i])
self.extra = codeparsercache.pythoncache[h].extra
return
if h in codeparsercache.pythoncacheextras:
self.references = set(codeparsercache.pythoncacheextras[h].refs)
self.execs = set(codeparsercache.pythoncacheextras[h].execs)
self.contains = {}
for i in codeparsercache.pythoncacheextras[h].contains:
self.contains[i] = set(codeparsercache.pythoncacheextras[h].contains[i])
self.extra = codeparsercache.pythoncacheextras[h].extra
return
if fixedhash and not node:
raise KeyError
# Need to parse so take the hit on the real log buffer
self.log = BufferedLogger('BitBake.Data.PythonParser', logging.DEBUG, self._log)
# We can't add to the linenumbers for compile, we can pad to the correct number of blank lines though
node = "\n" * int(lineno) + node
code = compile(check_indent(str(node)), filename, "exec",
ast.PyCF_ONLY_AST)
for n in ast.walk(code):
if n.__class__.__name__ == "Call":
self.visit_Call(n)
self.execs.update(self.var_execs)
self.extra = None
if fixedhash:
self.extra = bbhash(str(node))
codeparsercache.pythoncacheextras[h] = codeparsercache.newPythonCacheLine(self.references, self.execs, self.contains, self.extra)
class ShellParser():
def __init__(self, name, log):
self.funcdefs = set()
self.allexecs = set()
self.execs = set()
self._name = name
self._log = log
# Defer init as expensive
self.log = DummyLogger()
self.unhandled_template = "unable to handle non-literal command '%s'"
self.unhandled_template = "while parsing %s, %s" % (name, self.unhandled_template)
def parse_shell(self, value):
"""Parse the supplied shell code in a string, returning the external
commands it executes.
"""
h = bbhash(str(value))
if h in codeparsercache.shellcache:
self.execs = set(codeparsercache.shellcache[h].execs)
return self.execs
if h in codeparsercache.shellcacheextras:
self.execs = set(codeparsercache.shellcacheextras[h].execs)
return self.execs
# Need to parse so take the hit on the real log buffer
self.log = BufferedLogger('BitBake.Data.%s' % self._name, logging.DEBUG, self._log)
self._parse_shell(value)
self.execs = set(cmd for cmd in self.allexecs if cmd not in self.funcdefs)
codeparsercache.shellcacheextras[h] = codeparsercache.newShellCacheLine(self.execs)
return self.execs
def _parse_shell(self, value):
try:
tokens, _ = pyshyacc.parse(value, eof=True, debug=False)
except Exception:
bb.error('Error during parse shell code, the last 5 lines are:\n%s' % '\n'.join(value.split('\n')[-5:]))
raise
self.process_tokens(tokens)
def process_tokens(self, tokens):
"""Process a supplied portion of the syntax tree as returned by
pyshyacc.parse.
"""
def function_definition(value):
self.funcdefs.add(value.name)
return [value.body], None
def case_clause(value):
# Element 0 of each item in the case is the list of patterns, and
# Element 1 of each item in the case is the list of commands to be
# executed when that pattern matches.
words = chain(*[item[0] for item in value.items])
cmds = chain(*[item[1] for item in value.items])
return cmds, words
def if_clause(value):
main = chain(value.cond, value.if_cmds)
rest = value.else_cmds
if isinstance(rest, tuple) and rest[0] == "elif":
return chain(main, if_clause(rest[1]))
else:
return chain(main, rest)
def simple_command(value):
return None, chain(value.words, (assign[1] for assign in value.assigns))
token_handlers = {
"and_or": lambda x: ((x.left, x.right), None),
"async": lambda x: ([x], None),
"brace_group": lambda x: (x.cmds, None),
"for_clause": lambda x: (x.cmds, x.items),
"function_definition": function_definition,
"if_clause": lambda x: (if_clause(x), None),
"pipeline": lambda x: (x.commands, None),
"redirect_list": lambda x: ([x.cmd], None),
"subshell": lambda x: (x.cmds, None),
"while_clause": lambda x: (chain(x.condition, x.cmds), None),
"until_clause": lambda x: (chain(x.condition, x.cmds), None),
"simple_command": simple_command,
"case_clause": case_clause,
}
def process_token_list(tokens):
for token in tokens:
if isinstance(token, list):
process_token_list(token)
continue
name, value = token
try:
more_tokens, words = token_handlers[name](value)
except KeyError:
raise NotImplementedError("Unsupported token type " + name)
if more_tokens:
self.process_tokens(more_tokens)
if words:
self.process_words(words)
process_token_list(tokens)
def process_words(self, words):
"""Process a set of 'words' in pyshyacc parlance, which includes
extraction of executed commands from $() blocks, as well as grabbing
the command name argument.
"""
words = list(words)
for word in words:
wtree = pyshlex.make_wordtree(word[1])
for part in wtree:
if not isinstance(part, list):
continue
candidates = [part]
# If command is of type:
#
# var="... $(cmd [...]) ..."
#
# Then iterate on what's between the quotes and if we find a
# list, make that what we check for below.
if len(part) >= 3 and part[0] == '"':
for p in part[1:-1]:
if isinstance(p, list):
candidates.append(p)
for candidate in candidates:
if len(candidate) >= 2:
if candidate[0] in ('`', '$('):
command = pyshlex.wordtree_as_string(candidate[1:-1])
self._parse_shell(command)
if word[0] in ("cmd_name", "cmd_word"):
if word in words:
words.remove(word)
usetoken = False
for word in words:
if word[0] in ("cmd_name", "cmd_word") or \
(usetoken and word[0] == "TOKEN"):
if "=" in word[1]:
usetoken = True
continue
cmd = word[1]
if cmd.startswith("$"):
self.log.debug(self.unhandled_template % cmd)
elif cmd == "eval":
command = " ".join(word for _, word in words[1:])
self._parse_shell(command)
else:
self.allexecs.add(cmd)
break

805
bitbake/lib/bb/command.py Normal file
View File

@@ -0,0 +1,805 @@
"""
BitBake 'Command' module
Provide an interface to interact with the bitbake server through 'commands'
"""
# Copyright (C) 2006-2007 Richard Purdie
#
# SPDX-License-Identifier: GPL-2.0-only
#
"""
The bitbake server takes 'commands' from its UI/commandline.
Commands are either synchronous or asynchronous.
Async commands return data to the client in the form of events.
Sync commands must only return data through the function return value
and must not trigger events, directly or indirectly.
Commands are queued in a CommandQueue
"""
from collections import OrderedDict, defaultdict
import io
import bb.event
import bb.cooker
import bb.remotedata
class DataStoreConnectionHandle(object):
def __init__(self, dsindex=0):
self.dsindex = dsindex
class CommandCompleted(bb.event.Event):
pass
class CommandExit(bb.event.Event):
def __init__(self, exitcode):
bb.event.Event.__init__(self)
self.exitcode = int(exitcode)
class CommandFailed(CommandExit):
def __init__(self, message):
self.error = message
CommandExit.__init__(self, 1)
def __str__(self):
return "Command execution failed: %s" % self.error
class CommandError(Exception):
pass
class Command:
"""
A queue of asynchronous commands for bitbake
"""
def __init__(self, cooker, process_server):
self.cooker = cooker
self.cmds_sync = CommandsSync()
self.cmds_async = CommandsAsync()
self.remotedatastores = None
self.process_server = process_server
# Access with locking using process_server.{get/set/clear}_async_cmd()
self.currentAsyncCommand = None
def runCommand(self, commandline, process_server, ro_only=False):
command = commandline.pop(0)
# Ensure cooker is ready for commands
if command not in ["updateConfig", "setFeatures", "ping"]:
try:
self.cooker.init_configdata()
if not self.remotedatastores:
self.remotedatastores = bb.remotedata.RemoteDatastores(self.cooker)
except (Exception, SystemExit) as exc:
import traceback
if isinstance(exc, bb.BBHandledException):
# We need to start returning real exceptions here. Until we do, we can't
# tell if an exception is an instance of bb.BBHandledException
return None, "bb.BBHandledException()\n" + traceback.format_exc()
return None, traceback.format_exc()
if hasattr(CommandsSync, command):
# Can run synchronous commands straight away
command_method = getattr(self.cmds_sync, command)
if ro_only:
if not hasattr(command_method, 'readonly') or not getattr(command_method, 'readonly'):
return None, "Not able to execute not readonly commands in readonly mode"
try:
if getattr(command_method, 'needconfig', True):
self.cooker.updateCacheSync()
result = command_method(self, commandline)
except CommandError as exc:
return None, exc.args[0]
except (Exception, SystemExit) as exc:
import traceback
if isinstance(exc, bb.BBHandledException):
# We need to start returning real exceptions here. Until we do, we can't
# tell if an exception is an instance of bb.BBHandledException
return None, "bb.BBHandledException()\n" + traceback.format_exc()
return None, traceback.format_exc()
else:
return result, None
if command not in CommandsAsync.__dict__:
return None, "No such command"
if not process_server.set_async_cmd((command, commandline)):
return None, "Busy (%s in progress)" % self.process_server.get_async_cmd()[0]
self.cooker.idleCallBackRegister(self.runAsyncCommand, process_server)
return True, None
def runAsyncCommand(self, _, process_server, halt):
try:
if self.cooker.state in (bb.cooker.state.error, bb.cooker.state.shutdown, bb.cooker.state.forceshutdown):
# updateCache will trigger a shutdown of the parser
# and then raise BBHandledException triggering an exit
self.cooker.updateCache()
return bb.server.process.idleFinish("Cooker in error state")
cmd = process_server.get_async_cmd()
if cmd is not None:
(command, options) = cmd
commandmethod = getattr(CommandsAsync, command)
needcache = getattr( commandmethod, "needcache" )
if needcache and self.cooker.state != bb.cooker.state.running:
self.cooker.updateCache()
return True
else:
commandmethod(self.cmds_async, self, options)
return False
else:
return bb.server.process.idleFinish("Nothing to do, no async command?")
except KeyboardInterrupt as exc:
return bb.server.process.idleFinish("Interrupted")
except SystemExit as exc:
arg = exc.args[0]
if isinstance(arg, str):
return bb.server.process.idleFinish(arg)
else:
return bb.server.process.idleFinish("Exited with %s" % arg)
except Exception as exc:
import traceback
if isinstance(exc, bb.BBHandledException):
return bb.server.process.idleFinish("")
else:
return bb.server.process.idleFinish(traceback.format_exc())
def finishAsyncCommand(self, msg=None, code=None):
if msg or msg == "":
bb.event.fire(CommandFailed(msg), self.cooker.data)
elif code:
bb.event.fire(CommandExit(code), self.cooker.data)
else:
bb.event.fire(CommandCompleted(), self.cooker.data)
self.cooker.finishcommand()
self.process_server.clear_async_cmd()
def reset(self):
if self.remotedatastores:
self.remotedatastores = bb.remotedata.RemoteDatastores(self.cooker)
class CommandsSync:
"""
A class of synchronous commands
These should run quickly so as not to hurt interactive performance.
These must not influence any running synchronous command.
"""
def ping(self, command, params):
"""
Allow a UI to check the server is still alive
"""
return "Still alive!"
ping.needconfig = False
ping.readonly = True
def stateShutdown(self, command, params):
"""
Trigger cooker 'shutdown' mode
"""
command.cooker.shutdown(False)
def stateForceShutdown(self, command, params):
"""
Stop the cooker
"""
command.cooker.shutdown(True)
def getAllKeysWithFlags(self, command, params):
"""
Returns a dump of the global state. Call with
variable flags to be retrieved as params.
"""
flaglist = params[0]
return command.cooker.getAllKeysWithFlags(flaglist)
getAllKeysWithFlags.readonly = True
def getVariable(self, command, params):
"""
Read the value of a variable from data
"""
varname = params[0]
expand = True
if len(params) > 1:
expand = (params[1] == "True")
return command.cooker.data.getVar(varname, expand)
getVariable.readonly = True
def setVariable(self, command, params):
"""
Set the value of variable in data
"""
varname = params[0]
value = str(params[1])
command.cooker.extraconfigdata[varname] = value
command.cooker.data.setVar(varname, value)
def getSetVariable(self, command, params):
"""
Read the value of a variable from data and set it into the datastore
which effectively expands and locks the value.
"""
varname = params[0]
result = self.getVariable(command, params)
command.cooker.data.setVar(varname, result)
return result
def setConfig(self, command, params):
"""
Set the value of variable in configuration
"""
varname = params[0]
value = str(params[1])
setattr(command.cooker.configuration, varname, value)
def enableDataTracking(self, command, params):
"""
Enable history tracking for variables
"""
command.cooker.enableDataTracking()
def disableDataTracking(self, command, params):
"""
Disable history tracking for variables
"""
command.cooker.disableDataTracking()
def setPrePostConfFiles(self, command, params):
prefiles = params[0].split()
postfiles = params[1].split()
command.cooker.configuration.prefile = prefiles
command.cooker.configuration.postfile = postfiles
setPrePostConfFiles.needconfig = False
def matchFile(self, command, params):
fMatch = params[0]
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.matchFile(fMatch, mc)
matchFile.needconfig = False
def getUIHandlerNum(self, command, params):
return bb.event.get_uihandler()
getUIHandlerNum.needconfig = False
getUIHandlerNum.readonly = True
def setEventMask(self, command, params):
handlerNum = params[0]
llevel = params[1]
debug_domains = params[2]
mask = params[3]
return bb.event.set_UIHmask(handlerNum, llevel, debug_domains, mask)
setEventMask.needconfig = False
setEventMask.readonly = True
def setFeatures(self, command, params):
"""
Set the cooker features to include the passed list of features
"""
features = params[0]
command.cooker.setFeatures(features)
setFeatures.needconfig = False
# although we change the internal state of the cooker, this is transparent since
# we always take and leave the cooker in state.initial
setFeatures.readonly = True
def updateConfig(self, command, params):
options = params[0]
environment = params[1]
cmdline = params[2]
command.cooker.updateConfigOpts(options, environment, cmdline)
updateConfig.needconfig = False
def parseConfiguration(self, command, params):
"""Instruct bitbake to parse its configuration
NOTE: it is only necessary to call this if you aren't calling any normal action
(otherwise parsing is taken care of automatically)
"""
command.cooker.parseConfiguration()
parseConfiguration.needconfig = False
def getLayerPriorities(self, command, params):
command.cooker.parseConfiguration()
ret = []
# regex objects cannot be marshalled by xmlrpc
for collection, pattern, regex, pri in command.cooker.bbfile_config_priorities:
ret.append((collection, pattern, regex.pattern, pri))
return ret
getLayerPriorities.readonly = True
def revalidateCaches(self, command, params):
"""Called by UI clients when metadata may have changed"""
command.cooker.revalidateCaches()
parseConfiguration.needconfig = False
def getRecipes(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return list(command.cooker.recipecaches[mc].pkg_pn.items())
getRecipes.readonly = True
def getRecipeDepends(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return list(command.cooker.recipecaches[mc].deps.items())
getRecipeDepends.readonly = True
def getRecipeVersions(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.recipecaches[mc].pkg_pepvpr
getRecipeVersions.readonly = True
def getRecipeProvides(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.recipecaches[mc].fn_provides
getRecipeProvides.readonly = True
def getRecipePackages(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.recipecaches[mc].packages
getRecipePackages.readonly = True
def getRecipePackagesDynamic(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.recipecaches[mc].packages_dynamic
getRecipePackagesDynamic.readonly = True
def getRProviders(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.recipecaches[mc].rproviders
getRProviders.readonly = True
def getRuntimeDepends(self, command, params):
ret = []
try:
mc = params[0]
except IndexError:
mc = ''
rundeps = command.cooker.recipecaches[mc].rundeps
for key, value in rundeps.items():
if isinstance(value, defaultdict):
value = dict(value)
ret.append((key, value))
return ret
getRuntimeDepends.readonly = True
def getRuntimeRecommends(self, command, params):
ret = []
try:
mc = params[0]
except IndexError:
mc = ''
runrecs = command.cooker.recipecaches[mc].runrecs
for key, value in runrecs.items():
if isinstance(value, defaultdict):
value = dict(value)
ret.append((key, value))
return ret
getRuntimeRecommends.readonly = True
def getRecipeInherits(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.recipecaches[mc].inherits
getRecipeInherits.readonly = True
def getBbFilePriority(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.recipecaches[mc].bbfile_priority
getBbFilePriority.readonly = True
def getDefaultPreference(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.recipecaches[mc].pkg_dp
getDefaultPreference.readonly = True
def getSkippedRecipes(self, command, params):
"""
Get the map of skipped recipes for the specified multiconfig/mc name (`params[0]`).
Invoked by `bb.tinfoil.Tinfoil.get_skipped_recipes`
:param command: Internally used parameter.
:param params: Parameter array. params[0] is multiconfig/mc name. If not given, then default mc '' is assumed.
:return: Dict whose keys are virtualfns and values are `bb.cooker.SkippedPackage`
"""
try:
mc = params[0]
except IndexError:
mc = ''
# Return list sorted by reverse priority order
import bb.cache
def sortkey(x):
vfn, _ = x
realfn, _, item_mc = bb.cache.virtualfn2realfn(vfn)
return -command.cooker.collections[item_mc].calc_bbfile_priority(realfn)[0], vfn
skipdict = OrderedDict(sorted(command.cooker.skiplist_by_mc[mc].items(), key=sortkey))
return list(skipdict.items())
getSkippedRecipes.readonly = True
def getOverlayedRecipes(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return list(command.cooker.collections[mc].overlayed.items())
getOverlayedRecipes.readonly = True
def getFileAppends(self, command, params):
fn = params[0]
try:
mc = params[1]
except IndexError:
mc = ''
return command.cooker.collections[mc].get_file_appends(fn)
getFileAppends.readonly = True
def getAllAppends(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.collections[mc].bbappends
getAllAppends.readonly = True
def findProviders(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.findProviders(mc)
findProviders.readonly = True
def findBestProvider(self, command, params):
(mc, pn) = bb.runqueue.split_mc(params[0])
return command.cooker.findBestProvider(pn, mc)
findBestProvider.readonly = True
def allProviders(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return list(bb.providers.allProviders(command.cooker.recipecaches[mc]).items())
allProviders.readonly = True
def getRuntimeProviders(self, command, params):
rprovide = params[0]
try:
mc = params[1]
except IndexError:
mc = ''
all_p = bb.providers.getRuntimeProviders(command.cooker.recipecaches[mc], rprovide)
if all_p:
best = bb.providers.filterProvidersRunTime(all_p, rprovide,
command.cooker.data,
command.cooker.recipecaches[mc])[0][0]
else:
best = None
return all_p, best
getRuntimeProviders.readonly = True
def dataStoreConnectorCmd(self, command, params):
dsindex = params[0]
method = params[1]
args = params[2]
kwargs = params[3]
d = command.remotedatastores[dsindex]
ret = getattr(d, method)(*args, **kwargs)
if isinstance(ret, bb.data_smart.DataSmart):
idx = command.remotedatastores.store(ret)
return DataStoreConnectionHandle(idx)
return ret
def dataStoreConnectorVarHistCmd(self, command, params):
dsindex = params[0]
method = params[1]
args = params[2]
kwargs = params[3]
d = command.remotedatastores[dsindex].varhistory
return getattr(d, method)(*args, **kwargs)
def dataStoreConnectorVarHistCmdEmit(self, command, params):
dsindex = params[0]
var = params[1]
oval = params[2]
val = params[3]
d = command.remotedatastores[params[4]]
o = io.StringIO()
command.remotedatastores[dsindex].varhistory.emit(var, oval, val, o, d)
return o.getvalue()
def dataStoreConnectorIncHistCmd(self, command, params):
dsindex = params[0]
method = params[1]
args = params[2]
kwargs = params[3]
d = command.remotedatastores[dsindex].inchistory
return getattr(d, method)(*args, **kwargs)
def dataStoreConnectorRelease(self, command, params):
dsindex = params[0]
if dsindex <= 0:
raise CommandError('dataStoreConnectorRelease: invalid index %d' % dsindex)
command.remotedatastores.release(dsindex)
def parseRecipeFile(self, command, params):
"""
Parse the specified recipe file (with or without bbappends)
and return a datastore object representing the environment
for the recipe.
"""
virtualfn = params[0]
(fn, cls, mc) = bb.cache.virtualfn2realfn(virtualfn)
appends = params[1]
appendlist = params[2]
if len(params) > 3:
config_data = command.remotedatastores[params[3]]
else:
config_data = None
if appends:
if appendlist is not None:
appendfiles = appendlist
else:
appendfiles = command.cooker.collections[mc].get_file_appends(fn)
else:
appendfiles = []
layername = command.cooker.collections[mc].calc_bbfile_priority(fn)[2]
# We are calling bb.cache locally here rather than on the server,
# but that's OK because it doesn't actually need anything from
# the server barring the global datastore (which we have a remote
# version of)
if config_data:
# We have to use a different function here if we're passing in a datastore
# NOTE: we took a copy above, so we don't do it here again
envdata = command.cooker.databuilder._parse_recipe(config_data, fn, appendfiles, mc, layername)[cls]
else:
# Use the standard path
envdata = command.cooker.databuilder.parseRecipe(virtualfn, appendfiles, layername)
idx = command.remotedatastores.store(envdata)
return DataStoreConnectionHandle(idx)
parseRecipeFile.readonly = True
class CommandsAsync:
"""
A class of asynchronous commands
These functions communicate via generated events.
Any function that requires metadata parsing should be here.
"""
def buildFile(self, command, params):
"""
Build a single specified .bb file
"""
bfile = params[0]
task = params[1]
if len(params) > 2:
internal = params[2]
else:
internal = False
if internal:
command.cooker.buildFileInternal(bfile, task, fireevents=False, quietlog=True)
else:
command.cooker.buildFile(bfile, task)
buildFile.needcache = False
def buildTargets(self, command, params):
"""
Build a set of targets
"""
pkgs_to_build = params[0]
task = params[1]
command.cooker.buildTargets(pkgs_to_build, task)
buildTargets.needcache = True
def generateDepTreeEvent(self, command, params):
"""
Generate an event containing the dependency information
"""
pkgs_to_build = params[0]
task = params[1]
command.cooker.generateDepTreeEvent(pkgs_to_build, task)
command.finishAsyncCommand()
generateDepTreeEvent.needcache = True
def generateDotGraph(self, command, params):
"""
Dump dependency information to disk as .dot files
"""
pkgs_to_build = params[0]
task = params[1]
command.cooker.generateDotGraphFiles(pkgs_to_build, task)
command.finishAsyncCommand()
generateDotGraph.needcache = True
def generateTargetsTree(self, command, params):
"""
Generate a tree of buildable targets.
If klass is provided ensure all recipes that inherit the class are
included in the package list.
If pkg_list provided use that list (plus any extras brought in by
klass) rather than generating a tree for all packages.
"""
klass = params[0]
pkg_list = params[1]
command.cooker.generateTargetsTree(klass, pkg_list)
command.finishAsyncCommand()
generateTargetsTree.needcache = True
def findConfigFiles(self, command, params):
"""
Find config files which provide appropriate values
for the passed configuration variable. i.e. MACHINE
"""
varname = params[0]
command.cooker.findConfigFiles(varname)
command.finishAsyncCommand()
findConfigFiles.needcache = False
def findFilesMatchingInDir(self, command, params):
"""
Find implementation files matching the specified pattern
in the requested subdirectory of a BBPATH
"""
pattern = params[0]
directory = params[1]
command.cooker.findFilesMatchingInDir(pattern, directory)
command.finishAsyncCommand()
findFilesMatchingInDir.needcache = False
def testCookerCommandEvent(self, command, params):
"""
Dummy command used by OEQA selftest to test tinfoil without IO
"""
pattern = params[0]
command.cooker.testCookerCommandEvent(pattern)
command.finishAsyncCommand()
testCookerCommandEvent.needcache = False
def findConfigFilePath(self, command, params):
"""
Find the path of the requested configuration file
"""
configfile = params[0]
command.cooker.findConfigFilePath(configfile)
command.finishAsyncCommand()
findConfigFilePath.needcache = False
def showVersions(self, command, params):
"""
Show the currently selected versions
"""
command.cooker.showVersions()
command.finishAsyncCommand()
showVersions.needcache = True
def showEnvironmentTarget(self, command, params):
"""
Print the environment of a target recipe
(needs the cache to work out which recipe to use)
"""
pkg = params[0]
command.cooker.showEnvironment(None, pkg)
command.finishAsyncCommand()
showEnvironmentTarget.needcache = True
def showEnvironment(self, command, params):
"""
Print the standard environment
or if specified the environment for a specified recipe
"""
bfile = params[0]
command.cooker.showEnvironment(bfile)
command.finishAsyncCommand()
showEnvironment.needcache = False
def parseFiles(self, command, params):
"""
Parse the .bb files
"""
command.cooker.updateCache()
command.finishAsyncCommand()
parseFiles.needcache = True
def compareRevisions(self, command, params):
"""
Parse the .bb files
"""
if bb.fetch.fetcher_compare_revisions(command.cooker.data):
command.finishAsyncCommand(code=1)
else:
command.finishAsyncCommand()
compareRevisions.needcache = True
def triggerEvent(self, command, params):
"""
Trigger a certain event
"""
event = params[0]
bb.event.fire(eval(event), command.cooker.data)
process_server.clear_async_cmd()
triggerEvent.needcache = False
def resetCooker(self, command, params):
"""
Reset the cooker to its initial state, thus forcing a reparse for
any async command that has the needcache property set to True
"""
command.cooker.reset()
command.finishAsyncCommand()
resetCooker.needcache = False
def clientComplete(self, command, params):
"""
Do the right thing when the controlling client exits
"""
command.cooker.clientComplete()
command.finishAsyncCommand()
clientComplete.needcache = False
def findSigInfo(self, command, params):
"""
Find signature info files via the signature generator
"""
(mc, pn) = bb.runqueue.split_mc(params[0])
taskname = params[1]
sigs = params[2]
bb.siggen.check_siggen_version(bb.siggen)
res = bb.siggen.find_siginfo(pn, taskname, sigs, command.cooker.databuilder.mcdata[mc])
bb.event.fire(bb.event.FindSigInfoResult(res), command.cooker.databuilder.mcdata[mc])
command.finishAsyncCommand()
findSigInfo.needcache = False
def getTaskSignatures(self, command, params):
res = command.cooker.getTaskSignatures(params[0], params[1])
bb.event.fire(bb.event.GetTaskSignatureResult(res), command.cooker.data)
command.finishAsyncCommand()
getTaskSignatures.needcache = True

View File

@@ -0,0 +1,196 @@
#
# Copyright BitBake Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
# Helper library to implement streaming compression and decompression using an
# external process
#
# This library should be used directly by end users; a wrapper library for the
# specific compression tool should be created
import builtins
import io
import os
import subprocess
def open_wrap(
cls, filename, mode="rb", *, encoding=None, errors=None, newline=None, **kwargs
):
"""
Open a compressed file in binary or text mode.
Users should not call this directly. A specific compression library can use
this helper to provide it's own "open" command
The filename argument can be an actual filename (a str or bytes object), or
an existing file object to read from or write to.
The mode argument can be "r", "rb", "w", "wb", "x", "xb", "a" or "ab" for
binary mode, or "rt", "wt", "xt" or "at" for text mode. The default mode is
"rb".
For binary mode, this function is equivalent to the cls constructor:
cls(filename, mode). In this case, the encoding, errors and newline
arguments must not be provided.
For text mode, a cls object is created, and wrapped in an
io.TextIOWrapper instance with the specified encoding, error handling
behavior, and line ending(s).
"""
if "t" in mode:
if "b" in mode:
raise ValueError("Invalid mode: %r" % (mode,))
else:
if encoding is not None:
raise ValueError("Argument 'encoding' not supported in binary mode")
if errors is not None:
raise ValueError("Argument 'errors' not supported in binary mode")
if newline is not None:
raise ValueError("Argument 'newline' not supported in binary mode")
file_mode = mode.replace("t", "")
if isinstance(filename, (str, bytes, os.PathLike, int)):
binary_file = cls(filename, file_mode, **kwargs)
elif hasattr(filename, "read") or hasattr(filename, "write"):
binary_file = cls(None, file_mode, fileobj=filename, **kwargs)
else:
raise TypeError("filename must be a str or bytes object, or a file")
if "t" in mode:
return io.TextIOWrapper(
binary_file, encoding, errors, newline, write_through=True
)
else:
return binary_file
class CompressionError(OSError):
pass
class PipeFile(io.RawIOBase):
"""
Class that implements generically piping to/from a compression program
Derived classes should add the function get_compress() and get_decompress()
that return the required commands. Input will be piped into stdin and the
(de)compressed output should be written to stdout, e.g.:
class FooFile(PipeCompressionFile):
def get_decompress(self):
return ["fooc", "--decompress", "--stdout"]
def get_compress(self):
return ["fooc", "--compress", "--stdout"]
"""
READ = 0
WRITE = 1
def __init__(self, filename=None, mode="rb", *, stderr=None, fileobj=None):
if "t" in mode or "U" in mode:
raise ValueError("Invalid mode: {!r}".format(mode))
if not "b" in mode:
mode += "b"
if mode.startswith("r"):
self.mode = self.READ
elif mode.startswith("w"):
self.mode = self.WRITE
else:
raise ValueError("Invalid mode %r" % mode)
if fileobj is not None:
self.fileobj = fileobj
else:
self.fileobj = builtins.open(filename, mode or "rb")
if self.mode == self.READ:
self.p = subprocess.Popen(
self.get_decompress(),
stdin=self.fileobj,
stdout=subprocess.PIPE,
stderr=stderr,
close_fds=True,
)
self.pipe = self.p.stdout
else:
self.p = subprocess.Popen(
self.get_compress(),
stdin=subprocess.PIPE,
stdout=self.fileobj,
stderr=stderr,
close_fds=True,
)
self.pipe = self.p.stdin
self.__closed = False
def _check_process(self):
if self.p is None:
return
returncode = self.p.wait()
if returncode:
raise CompressionError("Process died with %d" % returncode)
self.p = None
def close(self):
if self.closed:
return
self.pipe.close()
if self.p is not None:
self._check_process()
self.fileobj.close()
self.__closed = True
@property
def closed(self):
return self.__closed
def fileno(self):
return self.pipe.fileno()
def flush(self):
self.pipe.flush()
def isatty(self):
return self.pipe.isatty()
def readable(self):
return self.mode == self.READ
def writable(self):
return self.mode == self.WRITE
def readinto(self, b):
if self.mode != self.READ:
import errno
raise OSError(
errno.EBADF, "read() on write-only %s object" % self.__class__.__name__
)
size = self.pipe.readinto(b)
if size == 0:
self._check_process()
return size
def write(self, data):
if self.mode != self.WRITE:
import errno
raise OSError(
errno.EBADF, "write() on read-only %s object" % self.__class__.__name__
)
data = self.pipe.write(data)
if not data:
self._check_process()
return data

View File

@@ -0,0 +1,19 @@
#
# Copyright BitBake Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
import bb.compress._pipecompress
def open(*args, **kwargs):
return bb.compress._pipecompress.open_wrap(LZ4File, *args, **kwargs)
class LZ4File(bb.compress._pipecompress.PipeFile):
def get_compress(self):
return ["lz4c", "-z", "-c"]
def get_decompress(self):
return ["lz4c", "-d", "-c"]

View File

@@ -0,0 +1,30 @@
#
# Copyright BitBake Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
import bb.compress._pipecompress
import shutil
def open(*args, **kwargs):
return bb.compress._pipecompress.open_wrap(ZstdFile, *args, **kwargs)
class ZstdFile(bb.compress._pipecompress.PipeFile):
def __init__(self, *args, num_threads=1, compresslevel=3, **kwargs):
self.num_threads = num_threads
self.compresslevel = compresslevel
super().__init__(*args, **kwargs)
def _get_zstd(self):
if self.num_threads == 1 or not shutil.which("pzstd"):
return ["zstd"]
return ["pzstd", "-p", "%d" % self.num_threads]
def get_compress(self):
return self._get_zstd() + ["-c", "-%d" % self.compresslevel]
def get_decompress(self):
return self._get_zstd() + ["-d", "-c"]

2381
bitbake/lib/bb/cooker.py Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,551 @@
#
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2003, 2004 Phil Blundell
# Copyright (C) 2003 - 2005 Michael 'Mickey' Lauer
# Copyright (C) 2005 Holger Hans Peter Freyther
# Copyright (C) 2005 ROAD GmbH
# Copyright (C) 2006 Richard Purdie
#
# SPDX-License-Identifier: GPL-2.0-only
#
import logging
import os
import re
import sys
import hashlib
from functools import wraps
import bb
from bb import data
import bb.parse
logger = logging.getLogger("BitBake")
parselog = logging.getLogger("BitBake.Parsing")
class ConfigParameters(object):
def __init__(self, argv=None):
self.options, targets = self.parseCommandLine(argv or sys.argv)
self.environment = self.parseEnvironment()
self.options.pkgs_to_build = targets or []
for key, val in self.options.__dict__.items():
setattr(self, key, val)
def parseCommandLine(self, argv=sys.argv):
raise Exception("Caller must implement commandline option parsing")
def parseEnvironment(self):
return os.environ.copy()
def updateFromServer(self, server):
if not self.options.cmd:
defaulttask, error = server.runCommand(["getVariable", "BB_DEFAULT_TASK"])
if error:
raise Exception("Unable to get the value of BB_DEFAULT_TASK from the server: %s" % error)
self.options.cmd = defaulttask or "build"
_, error = server.runCommand(["setConfig", "cmd", self.options.cmd])
if error:
raise Exception("Unable to set configuration option 'cmd' on the server: %s" % error)
if not self.options.pkgs_to_build:
bbpkgs, error = server.runCommand(["getVariable", "BBTARGETS"])
if error:
raise Exception("Unable to get the value of BBTARGETS from the server: %s" % error)
if bbpkgs:
self.options.pkgs_to_build.extend(bbpkgs.split())
def updateToServer(self, server, environment):
options = {}
for o in ["halt", "force", "invalidate_stamp",
"dry_run", "dump_signatures",
"extra_assume_provided", "profile",
"prefile", "postfile", "server_timeout",
"nosetscene", "setsceneonly", "skipsetscene",
"runall", "runonly", "writeeventlog"]:
options[o] = getattr(self.options, o)
options['build_verbose_shell'] = self.options.verbose
options['build_verbose_stdout'] = self.options.verbose
options['default_loglevel'] = bb.msg.loggerDefaultLogLevel
options['debug_domains'] = bb.msg.loggerDefaultDomains
ret, error = server.runCommand(["updateConfig", options, environment, sys.argv])
if error:
raise Exception("Unable to update the server configuration with local parameters: %s" % error)
def parseActions(self):
# Parse any commandline into actions
action = {'action':None, 'msg':None}
if self.options.show_environment:
if 'world' in self.options.pkgs_to_build:
action['msg'] = "'world' is not a valid target for --environment."
elif 'universe' in self.options.pkgs_to_build:
action['msg'] = "'universe' is not a valid target for --environment."
elif len(self.options.pkgs_to_build) > 1:
action['msg'] = "Only one target can be used with the --environment option."
elif self.options.buildfile and len(self.options.pkgs_to_build) > 0:
action['msg'] = "No target should be used with the --environment and --buildfile options."
elif self.options.pkgs_to_build:
action['action'] = ["showEnvironmentTarget", self.options.pkgs_to_build]
else:
action['action'] = ["showEnvironment", self.options.buildfile]
elif self.options.buildfile is not None:
action['action'] = ["buildFile", self.options.buildfile, self.options.cmd]
elif self.options.revisions_changed:
action['action'] = ["compareRevisions"]
elif self.options.show_versions:
action['action'] = ["showVersions"]
elif self.options.parse_only:
action['action'] = ["parseFiles"]
elif self.options.dot_graph:
if self.options.pkgs_to_build:
action['action'] = ["generateDotGraph", self.options.pkgs_to_build, self.options.cmd]
else:
action['msg'] = "Please specify a package name for dependency graph generation."
else:
if self.options.pkgs_to_build:
action['action'] = ["buildTargets", self.options.pkgs_to_build, self.options.cmd]
else:
#action['msg'] = "Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information."
action = None
self.options.initialaction = action
return action
class CookerConfiguration(object):
"""
Manages build options and configurations for one run
"""
def __init__(self):
self.debug_domains = bb.msg.loggerDefaultDomains
self.default_loglevel = bb.msg.loggerDefaultLogLevel
self.extra_assume_provided = []
self.prefile = []
self.postfile = []
self.cmd = None
self.halt = True
self.force = False
self.profile = False
self.nosetscene = False
self.setsceneonly = False
self.skipsetscene = False
self.invalidate_stamp = False
self.dump_signatures = []
self.build_verbose_shell = False
self.build_verbose_stdout = False
self.dry_run = False
self.tracking = False
self.writeeventlog = False
self.limited_deps = False
self.runall = []
self.runonly = []
self.env = {}
def __getstate__(self):
state = {}
for key in self.__dict__.keys():
state[key] = getattr(self, key)
return state
def __setstate__(self,state):
for k in state:
setattr(self, k, state[k])
def catch_parse_error(func):
"""Exception handling bits for our parsing"""
@wraps(func)
def wrapped(fn, *args):
try:
return func(fn, *args)
except Exception as exc:
import traceback
bbdir = os.path.dirname(__file__) + os.sep
exc_class, exc, tb = sys.exc_info()
for tb in iter(lambda: tb.tb_next, None):
# Skip frames in bitbake itself, we only want the metadata
fn, _, _, _ = traceback.extract_tb(tb, 1)[0]
if not fn.startswith(bbdir):
break
parselog.critical("Unable to parse %s" % fn, exc_info=(exc_class, exc, tb))
raise bb.BBHandledException()
return wrapped
@catch_parse_error
def parse_config_file(fn, data, include=True):
return bb.parse.handle(fn, data, include, baseconfig=True)
@catch_parse_error
def _inherit(bbclass, data):
bb.parse.BBHandler.inherit(bbclass, "configuration INHERITs", 0, data)
return data
def findConfigFile(configfile, data):
search = []
bbpath = data.getVar("BBPATH")
if bbpath:
for i in bbpath.split(":"):
search.append(os.path.join(i, "conf", configfile))
path = os.getcwd()
while path != "/":
search.append(os.path.join(path, "conf", configfile))
path, _ = os.path.split(path)
for i in search:
if os.path.exists(i):
return i
return None
#
# We search for a conf/bblayers.conf under an entry in BBPATH or in cwd working
# up to /. If that fails, bitbake would fall back to cwd.
#
def findTopdir():
d = bb.data.init()
bbpath = None
if 'BBPATH' in os.environ:
bbpath = os.environ['BBPATH']
d.setVar('BBPATH', bbpath)
layerconf = findConfigFile("bblayers.conf", d)
if layerconf:
return os.path.dirname(os.path.dirname(layerconf))
return os.path.abspath(os.getcwd())
class CookerDataBuilder(object):
def __init__(self, cookercfg, worker = False):
self.prefiles = cookercfg.prefile
self.postfiles = cookercfg.postfile
self.tracking = cookercfg.tracking
bb.utils.set_context(bb.utils.clean_context())
bb.event.set_class_handlers(bb.event.clean_class_handlers())
self.basedata = bb.data.init()
if self.tracking:
self.basedata.enableTracking()
# Keep a datastore of the initial environment variables and their
# values from when BitBake was launched to enable child processes
# to use environment variables which have been cleaned from the
# BitBake processes env
self.savedenv = bb.data.init()
for k in cookercfg.env:
self.savedenv.setVar(k, cookercfg.env[k])
if k in bb.data_smart.bitbake_renamed_vars:
bb.error('Shell environment variable %s has been renamed to %s' % (k, bb.data_smart.bitbake_renamed_vars[k]))
bb.fatal("Exiting to allow enviroment variables to be corrected")
filtered_keys = bb.utils.approved_variables()
bb.data.inheritFromOS(self.basedata, self.savedenv, filtered_keys)
self.basedata.setVar("BB_ORIGENV", self.savedenv)
self.basedata.setVar("__bbclasstype", "global")
if worker:
self.basedata.setVar("BB_WORKERCONTEXT", "1")
self.data = self.basedata
self.mcdata = {}
def calc_datastore_hashes(self):
data_hash = hashlib.sha256()
data_hash.update(self.data.get_hash().encode('utf-8'))
multiconfig = (self.data.getVar("BBMULTICONFIG") or "").split()
for config in multiconfig:
data_hash.update(self.mcdata[config].get_hash().encode('utf-8'))
self.data_hash = data_hash.hexdigest()
def parseBaseConfiguration(self, worker=False):
mcdata = {}
try:
self.data = self.parseConfigurationFiles(self.prefiles, self.postfiles)
if self.data.getVar("BB_WORKERCONTEXT", False) is None and not worker:
bb.fetch.fetcher_init(self.data)
bb.parse.init_parser(self.data)
bb.event.fire(bb.event.ConfigParsed(), self.data)
reparse_cnt = 0
while self.data.getVar("BB_INVALIDCONF", False) is True:
if reparse_cnt > 20:
logger.error("Configuration has been re-parsed over 20 times, "
"breaking out of the loop...")
raise Exception("Too deep config re-parse loop. Check locations where "
"BB_INVALIDCONF is being set (ConfigParsed event handlers)")
self.data.setVar("BB_INVALIDCONF", False)
self.data = self.parseConfigurationFiles(self.prefiles, self.postfiles)
reparse_cnt += 1
bb.event.fire(bb.event.ConfigParsed(), self.data)
bb.parse.init_parser(self.data)
mcdata[''] = self.data
multiconfig = (self.data.getVar("BBMULTICONFIG") or "").split()
for config in multiconfig:
if config[0].isdigit():
bb.fatal("Multiconfig name '%s' is invalid as multiconfigs cannot start with a digit" % config)
parsed_mcdata = self.parseConfigurationFiles(self.prefiles, self.postfiles, config)
bb.event.fire(bb.event.ConfigParsed(), parsed_mcdata)
mcdata[config] = parsed_mcdata
if multiconfig:
bb.event.fire(bb.event.MultiConfigParsed(mcdata), self.data)
except bb.data_smart.ExpansionError as e:
logger.error(str(e))
raise bb.BBHandledException()
bb.codeparser.update_module_dependencies(self.data)
# Handle obsolete variable names
d = self.data
renamedvars = d.getVarFlags('BB_RENAMED_VARIABLES') or {}
renamedvars.update(bb.data_smart.bitbake_renamed_vars)
issues = False
for v in renamedvars:
if d.getVar(v) != None or d.hasOverrides(v):
issues = True
loginfo = {}
history = d.varhistory.get_variable_refs(v)
for h in history:
for line in history[h]:
loginfo = {'file' : h, 'line' : line}
bb.data.data_smart._print_rename_error(v, loginfo, renamedvars)
if not history:
bb.data.data_smart._print_rename_error(v, loginfo, renamedvars)
if issues:
raise bb.BBHandledException()
for mc in mcdata:
mcdata[mc].renameVar("__depends", "__base_depends")
mcdata[mc].setVar("__bbclasstype", "recipe")
# Create a copy so we can reset at a later date when UIs disconnect
self.mcorigdata = mcdata
for mc in mcdata:
self.mcdata[mc] = bb.data.createCopy(mcdata[mc])
self.data = self.mcdata['']
self.calc_datastore_hashes()
def reset(self):
# We may not have run parseBaseConfiguration() yet
if not hasattr(self, 'mcorigdata'):
return
for mc in self.mcorigdata:
self.mcdata[mc] = bb.data.createCopy(self.mcorigdata[mc])
self.data = self.mcdata['']
def _findLayerConf(self, data):
return findConfigFile("bblayers.conf", data)
def parseConfigurationFiles(self, prefiles, postfiles, mc = "default"):
data = bb.data.createCopy(self.basedata)
data.setVar("BB_CURRENT_MC", mc)
# Parse files for loading *before* bitbake.conf and any includes
for f in prefiles:
data = parse_config_file(f, data)
layerconf = self._findLayerConf(data)
if layerconf:
parselog.debug2("Found bblayers.conf (%s)", layerconf)
# By definition bblayers.conf is in conf/ of TOPDIR.
# We may have been called with cwd somewhere else so reset TOPDIR
data.setVar("TOPDIR", os.path.dirname(os.path.dirname(layerconf)))
data = parse_config_file(layerconf, data)
if not data.getVar("BB_CACHEDIR"):
data.setVar("BB_CACHEDIR", "${TOPDIR}/cache")
bb.codeparser.parser_cache_init(data.getVar("BB_CACHEDIR"))
layers = (data.getVar('BBLAYERS') or "").split()
broken_layers = []
if not layers:
bb.fatal("The bblayers.conf file doesn't contain any BBLAYERS definition")
data = bb.data.createCopy(data)
approved = bb.utils.approved_variables()
# Check whether present layer directories exist
for layer in layers:
if not os.path.isdir(layer):
broken_layers.append(layer)
if broken_layers:
parselog.critical("The following layer directories do not exist:")
for layer in broken_layers:
parselog.critical(" %s", layer)
parselog.critical("Please check BBLAYERS in %s" % (layerconf))
raise bb.BBHandledException()
layerseries = None
compat_entries = {}
for layer in layers:
parselog.debug2("Adding layer %s", layer)
if 'HOME' in approved and '~' in layer:
layer = os.path.expanduser(layer)
if layer.endswith('/'):
layer = layer.rstrip('/')
data.setVar('LAYERDIR', layer)
data.setVar('LAYERDIR_RE', re.escape(layer))
data = parse_config_file(os.path.join(layer, "conf", "layer.conf"), data)
data.expandVarref('LAYERDIR')
data.expandVarref('LAYERDIR_RE')
# Sadly we can't have nice things.
# Some layers think they're going to be 'clever' and copy the values from
# another layer, e.g. using ${LAYERSERIES_COMPAT_core}. The whole point of
# this mechanism is to make it clear which releases a layer supports and
# show when a layer master branch is bitrotting and is unmaintained.
# We therefore avoid people doing this here.
collections = (data.getVar('BBFILE_COLLECTIONS') or "").split()
for c in collections:
compat_entry = data.getVar("LAYERSERIES_COMPAT_%s" % c)
if compat_entry:
compat_entries[c] = set(compat_entry.split())
data.delVar("LAYERSERIES_COMPAT_%s" % c)
if not layerseries:
layerseries = set((data.getVar("LAYERSERIES_CORENAMES") or "").split())
if layerseries:
data.delVar("LAYERSERIES_CORENAMES")
data.delVar('LAYERDIR_RE')
data.delVar('LAYERDIR')
for c in compat_entries:
data.setVar("LAYERSERIES_COMPAT_%s" % c, " ".join(sorted(compat_entries[c])))
bbfiles_dynamic = (data.getVar('BBFILES_DYNAMIC') or "").split()
collections = (data.getVar('BBFILE_COLLECTIONS') or "").split()
invalid = []
for entry in bbfiles_dynamic:
parts = entry.split(":", 1)
if len(parts) != 2:
invalid.append(entry)
continue
l, f = parts
invert = l[0] == "!"
if invert:
l = l[1:]
if (l in collections and not invert) or (l not in collections and invert):
data.appendVar("BBFILES", " " + f)
if invalid:
bb.fatal("BBFILES_DYNAMIC entries must be of the form {!}<collection name>:<filename pattern>, not:\n %s" % "\n ".join(invalid))
collections_tmp = collections[:]
for c in collections:
collections_tmp.remove(c)
if c in collections_tmp:
bb.fatal("Found duplicated BBFILE_COLLECTIONS '%s', check bblayers.conf or layer.conf to fix it." % c)
compat = set()
if c in compat_entries:
compat = compat_entries[c]
if compat and not layerseries:
bb.fatal("No core layer found to work with layer '%s'. Missing entry in bblayers.conf?" % c)
if compat and not (compat & layerseries):
bb.fatal("Layer %s is not compatible with the core layer which only supports these series: %s (layer is compatible with %s)"
% (c, " ".join(layerseries), " ".join(compat)))
elif not compat and not data.getVar("BB_WORKERCONTEXT"):
bb.warn("Layer %s should set LAYERSERIES_COMPAT_%s in its conf/layer.conf file to list the core layer names it is compatible with." % (c, c))
data.setVar("LAYERSERIES_CORENAMES", " ".join(sorted(layerseries)))
if not data.getVar("BBPATH"):
msg = "The BBPATH variable is not set"
if not layerconf:
msg += (" and bitbake did not find a conf/bblayers.conf file in"
" the expected location.\nMaybe you accidentally"
" invoked bitbake from the wrong directory?")
bb.fatal(msg)
if not data.getVar("TOPDIR"):
data.setVar("TOPDIR", os.path.abspath(os.getcwd()))
if not data.getVar("BB_CACHEDIR"):
data.setVar("BB_CACHEDIR", "${TOPDIR}/cache")
bb.codeparser.parser_cache_init(data.getVar("BB_CACHEDIR"))
data = parse_config_file(os.path.join("conf", "bitbake.conf"), data)
# Parse files for loading *after* bitbake.conf and any includes
for p in postfiles:
data = parse_config_file(p, data)
# Handle any INHERITs and inherit the base class
bbclasses = ["base"] + (data.getVar('INHERIT') or "").split()
for bbclass in bbclasses:
data = _inherit(bbclass, data)
# Normally we only register event handlers at the end of parsing .bb files
# We register any handlers we've found so far here...
for var in data.getVar('__BBHANDLERS', False) or []:
handlerfn = data.getVarFlag(var, "filename", False)
if not handlerfn:
parselog.critical("Undefined event handler function '%s'" % var)
raise bb.BBHandledException()
handlerln = int(data.getVarFlag(var, "lineno", False))
bb.event.register(var, data.getVar(var, False), (data.getVarFlag(var, "eventmask") or "").split(), handlerfn, handlerln, data)
data.setVar('BBINCLUDED',bb.parse.get_file_depends(data))
return data
@staticmethod
def _parse_recipe(bb_data, bbfile, appends, mc, layername):
bb_data.setVar("__BBMULTICONFIG", mc)
bb_data.setVar("FILE_LAYERNAME", layername)
bbfile_loc = os.path.abspath(os.path.dirname(bbfile))
bb.parse.cached_mtime_noerror(bbfile_loc)
if appends:
bb_data.setVar('__BBAPPEND', " ".join(appends))
return bb.parse.handle(bbfile, bb_data)
def parseRecipeVariants(self, bbfile, appends, virtonly=False, mc=None, layername=None):
"""
Load and parse one .bb build file
Return the data and whether parsing resulted in the file being skipped
"""
if virtonly:
(bbfile, virtual, mc) = bb.cache.virtualfn2realfn(bbfile)
bb_data = self.mcdata[mc].createCopy()
bb_data.setVar("__ONLYFINALISE", virtual or "default")
return self._parse_recipe(bb_data, bbfile, appends, mc, layername)
if mc is not None:
bb_data = self.mcdata[mc].createCopy()
return self._parse_recipe(bb_data, bbfile, appends, mc, layername)
bb_data = self.data.createCopy()
datastores = self._parse_recipe(bb_data, bbfile, appends, '', layername)
for mc in self.mcdata:
if not mc:
continue
bb_data = self.mcdata[mc].createCopy()
newstores = self._parse_recipe(bb_data, bbfile, appends, mc, layername)
for ns in newstores:
datastores["mc:%s:%s" % (mc, ns)] = newstores[ns]
return datastores
def parseRecipe(self, virtualfn, appends, layername):
"""
Return a complete set of data for fn.
To do this, we need to parse the file.
"""
logger.debug("Parsing %s (full)" % virtualfn)
(fn, virtual, mc) = bb.cache.virtualfn2realfn(virtualfn)
datastores = self.parseRecipeVariants(virtualfn, appends, virtonly=True, layername=layername)
return datastores[virtual]

101
bitbake/lib/bb/daemonize.py Normal file
View File

@@ -0,0 +1,101 @@
#
# Copyright BitBake Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
"""
Python Daemonizing helper
Originally based on code Copyright (C) 2005 Chad J. Schroeder but now heavily modified
to allow a function to be daemonized and return for bitbake use by Richard Purdie
"""
import os
import sys
import io
import traceback
import bb
def createDaemon(function, logfile):
"""
Detach a process from the controlling terminal and run it in the
background as a daemon, returning control to the caller.
"""
# Ensure stdout/stderror are flushed before forking to avoid duplicate output
sys.stdout.flush()
sys.stderr.flush()
try:
# Fork a child process so the parent can exit. This returns control to
# the command-line or shell. It also guarantees that the child will not
# be a process group leader, since the child receives a new process ID
# and inherits the parent's process group ID. This step is required
# to insure that the next call to os.setsid is successful.
pid = os.fork()
except OSError as e:
raise Exception("%s [%d]" % (e.strerror, e.errno))
if (pid == 0): # The first child.
# To become the session leader of this new session and the process group
# leader of the new process group, we call os.setsid(). The process is
# also guaranteed not to have a controlling terminal.
os.setsid()
try:
# Fork a second child and exit immediately to prevent zombies. This
# causes the second child process to be orphaned, making the init
# process responsible for its cleanup. And, since the first child is
# a session leader without a controlling terminal, it's possible for
# it to acquire one by opening a terminal in the future (System V-
# based systems). This second fork guarantees that the child is no
# longer a session leader, preventing the daemon from ever acquiring
# a controlling terminal.
pid = os.fork() # Fork a second child.
except OSError as e:
raise Exception("%s [%d]" % (e.strerror, e.errno))
if (pid != 0):
# Parent (the first child) of the second child.
# exit() or _exit()?
# _exit is like exit(), but it doesn't call any functions registered
# with atexit (and on_exit) or any registered signal handlers. It also
# closes any open file descriptors, but doesn't flush any buffered output.
# Using exit() may cause all any temporary files to be unexpectedly
# removed. It's therefore recommended that child branches of a fork()
# and the parent branch(es) of a daemon use _exit().
os._exit(0)
else:
os.waitpid(pid, 0)
return
# The second child.
# Replace standard fds with our own
with open('/dev/null', 'r') as si:
os.dup2(si.fileno(), sys.stdin.fileno())
with open(logfile, 'a+') as so:
try:
os.dup2(so.fileno(), sys.stdout.fileno())
os.dup2(so.fileno(), sys.stderr.fileno())
except io.UnsupportedOperation:
sys.stdout = so
# Have stdout and stderr be the same so log output matches chronologically
# and there aren't two separate buffers
sys.stderr = sys.stdout
try:
function()
except Exception as e:
traceback.print_exc()
finally:
bb.event.print_ui_queue()
# os._exit() doesn't flush open files like os.exit() does. Manually flush
# stdout and stderr so that any logging output will be seen, particularly
# exception tracebacks.
sys.stdout.flush()
sys.stderr.flush()
os._exit(0)

448
bitbake/lib/bb/data.py Normal file
View File

@@ -0,0 +1,448 @@
"""
BitBake 'Data' implementations
Functions for interacting with the data structure used by the
BitBake build tools.
expandKeys and datastore iteration are the most expensive
operations. Updating overrides is now "on the fly" but still based
on the idea of the cookie monster introduced by zecke:
"At night the cookie monster came by and
suggested 'give me cookies on setting the variables and
things will work out'. Taking this suggestion into account
applying the skills from the not yet passed 'Entwurf und
Analyse von Algorithmen' lecture and the cookie
monster seems to be right. We will track setVar more carefully
to have faster datastore operations."
This is a trade-off between speed and memory again but
the speed is more critical here.
"""
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2005 Holger Hans Peter Freyther
#
# SPDX-License-Identifier: GPL-2.0-only
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import sys, os, re
import hashlib
from itertools import groupby
from bb import data_smart
from bb import codeparser
import bb
logger = data_smart.logger
_dict_type = data_smart.DataSmart
def init():
"""Return a new object representing the Bitbake data"""
return _dict_type()
def init_db(parent = None):
"""Return a new object representing the Bitbake data,
optionally based on an existing object"""
if parent is not None:
return parent.createCopy()
else:
return _dict_type()
def createCopy(source):
"""Link the source set to the destination
If one does not find the value in the destination set,
search will go on to the source set to get the value.
Value from source are copy-on-write. i.e. any try to
modify one of them will end up putting the modified value
in the destination set.
"""
return source.createCopy()
def initVar(var, d):
"""Non-destructive var init for data structure"""
d.initVar(var)
def keys(d):
"""Return a list of keys in d"""
return d.keys()
def expand(s, d, varname = None):
"""Variable expansion using the data store"""
return d.expand(s, varname)
def expandKeys(alterdata, readdata = None):
if readdata is None:
readdata = alterdata
todolist = {}
for key in alterdata:
if not '${' in key:
continue
ekey = expand(key, readdata)
if key == ekey:
continue
todolist[key] = ekey
# These two for loops are split for performance to maximise the
# usefulness of the expand cache
for key in sorted(todolist):
ekey = todolist[key]
newval = alterdata.getVar(ekey, False)
if newval is not None:
val = alterdata.getVar(key, False)
if val is not None:
bb.warn("Variable key %s (%s) replaces original key %s (%s)." % (key, val, ekey, newval))
alterdata.renameVar(key, ekey)
def inheritFromOS(d, savedenv, permitted):
"""Inherit variables from the initial environment."""
exportlist = bb.utils.preserved_envvars_exported()
for s in savedenv.keys():
if s in permitted:
try:
d.setVar(s, savedenv.getVar(s), op = 'from env')
if s in exportlist:
d.setVarFlag(s, "export", True, op = 'auto env export')
except TypeError:
pass
def emit_var(var, o=sys.__stdout__, d = init(), all=False):
"""Emit a variable to be sourced by a shell."""
func = d.getVarFlag(var, "func", False)
if d.getVarFlag(var, 'python', False) and func:
return False
export = bb.utils.to_boolean(d.getVarFlag(var, "export"))
unexport = bb.utils.to_boolean(d.getVarFlag(var, "unexport"))
if not all and not export and not unexport and not func:
return False
try:
if all:
oval = d.getVar(var, False)
val = d.getVar(var)
except (KeyboardInterrupt):
raise
except Exception as exc:
o.write('# expansion of %s threw %s: %s\n' % (var, exc.__class__.__name__, str(exc)))
return False
if all:
d.varhistory.emit(var, oval, val, o, d)
if (var.find("-") != -1 or var.find(".") != -1 or var.find('{') != -1 or var.find('}') != -1 or var.find('+') != -1) and not all:
return False
varExpanded = d.expand(var)
if unexport:
o.write('unset %s\n' % varExpanded)
return False
if val is None:
return False
val = str(val)
if varExpanded.startswith("BASH_FUNC_"):
varExpanded = varExpanded[10:-2]
val = val[3:] # Strip off "() "
o.write("%s() %s\n" % (varExpanded, val))
o.write("export -f %s\n" % (varExpanded))
return True
if func:
# Write a comment indicating where the shell function came from (line number and filename) to make it easier
# for the user to diagnose task failures. This comment is also used by build.py to determine the metadata
# location of shell functions.
o.write("# line: {0}, file: {1}\n".format(
d.getVarFlag(var, "lineno", False),
d.getVarFlag(var, "filename", False)))
# NOTE: should probably check for unbalanced {} within the var
val = val.rstrip('\n')
o.write("%s() {\n%s\n}\n" % (varExpanded, val))
return 1
if export:
o.write('export ')
# if we're going to output this within doublequotes,
# to a shell, we need to escape the quotes in the var
alter = re.sub('"', '\\"', val)
alter = re.sub('\n', ' \\\n', alter)
alter = re.sub('\\$', '\\\\$', alter)
o.write('%s="%s"\n' % (varExpanded, alter))
return False
def emit_env(o=sys.__stdout__, d = init(), all=False):
"""Emits all items in the data store in a format such that it can be sourced by a shell."""
isfunc = lambda key: bool(d.getVarFlag(key, "func", False))
keys = sorted((key for key in d.keys() if not key.startswith("__")), key=isfunc)
grouped = groupby(keys, isfunc)
for isfunc, keys in grouped:
for key in sorted(keys):
emit_var(key, o, d, all and not isfunc) and o.write('\n')
def exported_keys(d):
return (key for key in d.keys() if not key.startswith('__') and
bb.utils.to_boolean(d.getVarFlag(key, 'export')) and
not bb.utils.to_boolean(d.getVarFlag(key, 'unexport')))
def exported_vars(d):
k = list(exported_keys(d))
for key in k:
try:
value = d.getVar(key)
except Exception as err:
bb.warn("%s: Unable to export ${%s}: %s" % (d.getVar("FILE"), key, err))
continue
if value is not None:
yield key, str(value)
def emit_func(func, o=sys.__stdout__, d = init()):
"""Emits all items in the data store in a format such that it can be sourced by a shell."""
keys = (key for key in d.keys() if not key.startswith("__") and not d.getVarFlag(key, "func", False))
for key in sorted(keys):
emit_var(key, o, d, False)
o.write('\n')
emit_var(func, o, d, False) and o.write('\n')
newdeps = bb.codeparser.ShellParser(func, logger).parse_shell(d.getVar(func))
newdeps |= set((d.getVarFlag(func, "vardeps") or "").split())
seen = set()
while newdeps:
deps = newdeps
seen |= deps
newdeps = set()
for dep in sorted(deps):
if d.getVarFlag(dep, "func", False) and not d.getVarFlag(dep, "python", False):
emit_var(dep, o, d, False) and o.write('\n')
newdeps |= bb.codeparser.ShellParser(dep, logger).parse_shell(d.getVar(dep))
newdeps |= set((d.getVarFlag(dep, "vardeps") or "").split())
newdeps -= seen
_functionfmt = """
def {function}(d):
{body}"""
def emit_func_python(func, o=sys.__stdout__, d = init()):
"""Emits all items in the data store in a format such that it can be sourced by a shell."""
def write_func(func, o, call = False):
body = d.getVar(func, False)
if not body.startswith("def"):
body = _functionfmt.format(function=func, body=body)
o.write(body.strip() + "\n\n")
if call:
o.write(func + "(d)" + "\n\n")
write_func(func, o, True)
pp = bb.codeparser.PythonParser(func, logger)
pp.parse_python(d.getVar(func, False))
newdeps = pp.execs
newdeps |= set((d.getVarFlag(func, "vardeps") or "").split())
seen = set()
while newdeps:
deps = newdeps
seen |= deps
newdeps = set()
for dep in deps:
if d.getVarFlag(dep, "func", False) and d.getVarFlag(dep, "python", False):
write_func(dep, o)
pp = bb.codeparser.PythonParser(dep, logger)
pp.parse_python(d.getVar(dep, False))
newdeps |= pp.execs
newdeps |= set((d.getVarFlag(dep, "vardeps") or "").split())
newdeps -= seen
def build_dependencies(key, keys, mod_funcs, shelldeps, varflagsexcl, ignored_vars, d, codeparsedata):
def handle_contains(value, contains, exclusions, d):
newvalue = []
if value:
newvalue.append(str(value))
for k in sorted(contains):
if k in exclusions or k in ignored_vars:
continue
l = (d.getVar(k) or "").split()
for item in sorted(contains[k]):
for word in item.split():
if not word in l:
newvalue.append("\n%s{%s} = Unset" % (k, item))
break
else:
newvalue.append("\n%s{%s} = Set" % (k, item))
return "".join(newvalue)
def handle_remove(value, deps, removes, d):
for r in sorted(removes):
r2 = d.expandWithRefs(r, None)
value += "\n_remove of %s" % r
deps |= r2.references
deps = deps | (keys & r2.execs)
value = handle_contains(value, r2.contains, exclusions, d)
return value
deps = set()
try:
if key in mod_funcs:
exclusions = set()
moddep = bb.codeparser.modulecode_deps[key]
value = handle_contains(moddep[4], moddep[3], exclusions, d)
return frozenset((moddep[0] | keys & moddep[1]) - ignored_vars), value
if key[-1] == ']':
vf = key[:-1].split('[')
if vf[1] == "vardepvalueexclude":
return deps, ""
value, parser = d.getVarFlag(vf[0], vf[1], False, retparser=True)
deps |= parser.references
deps = deps | (keys & parser.execs)
deps -= ignored_vars
return frozenset(deps), value
varflags = d.getVarFlags(key, ["vardeps", "vardepvalue", "vardepsexclude", "exports", "postfuncs", "prefuncs", "lineno", "filename"]) or {}
vardeps = varflags.get("vardeps")
exclusions = varflags.get("vardepsexclude", "").split()
if "vardepvalue" in varflags:
value = varflags.get("vardepvalue")
elif varflags.get("func"):
if varflags.get("python"):
value = codeparsedata.getVarFlag(key, "_content", False)
parser = bb.codeparser.PythonParser(key, logger)
parser.parse_python(value, filename=varflags.get("filename"), lineno=varflags.get("lineno"))
deps = deps | parser.references
deps = deps | (keys & parser.execs)
value = handle_contains(value, parser.contains, exclusions, d)
else:
value, parsedvar = codeparsedata.getVarFlag(key, "_content", False, retparser=True)
parser = bb.codeparser.ShellParser(key, logger)
parser.parse_shell(parsedvar.value)
deps = deps | shelldeps
deps = deps | parsedvar.references
deps = deps | (keys & parser.execs) | (keys & parsedvar.execs)
value = handle_contains(value, parsedvar.contains, exclusions, d)
if hasattr(parsedvar, "removes"):
value = handle_remove(value, deps, parsedvar.removes, d)
if vardeps is None:
parser.log.flush()
if "prefuncs" in varflags:
deps = deps | set(varflags["prefuncs"].split())
if "postfuncs" in varflags:
deps = deps | set(varflags["postfuncs"].split())
if "exports" in varflags:
deps = deps | set(varflags["exports"].split())
else:
value, parser = d.getVarFlag(key, "_content", False, retparser=True)
deps |= parser.references
deps = deps | (keys & parser.execs)
value = handle_contains(value, parser.contains, exclusions, d)
if hasattr(parser, "removes"):
value = handle_remove(value, deps, parser.removes, d)
if "vardepvalueexclude" in varflags:
exclude = varflags.get("vardepvalueexclude")
for excl in exclude.split('|'):
if excl:
value = value.replace(excl, '')
# Add varflags, assuming an exclusion list is set
if varflagsexcl:
varfdeps = []
for f in varflags:
if f not in varflagsexcl:
varfdeps.append('%s[%s]' % (key, f))
if varfdeps:
deps |= set(varfdeps)
deps |= set((vardeps or "").split())
deps -= set(exclusions)
deps -= ignored_vars
except bb.parse.SkipRecipe:
raise
except Exception as e:
bb.warn("Exception during build_dependencies for %s" % key)
raise
return frozenset(deps), value
#bb.note("Variable %s references %s and calls %s" % (key, str(deps), str(execs)))
#d.setVarFlag(key, "vardeps", deps)
def generate_dependencies(d, ignored_vars):
mod_funcs = set(bb.codeparser.modulecode_deps.keys())
keys = set(key for key in d if not key.startswith("__")) | mod_funcs
shelldeps = set(key for key in d.getVar("__exportlist", False) if bb.utils.to_boolean(d.getVarFlag(key, "export")) and not bb.utils.to_boolean(d.getVarFlag(key, "unexport")))
varflagsexcl = d.getVar('BB_SIGNATURE_EXCLUDE_FLAGS')
codeparserd = d.createCopy()
for forced in (d.getVar('BB_HASH_CODEPARSER_VALS') or "").split():
key, value = forced.split("=", 1)
codeparserd.setVar(key, value)
deps = {}
values = {}
tasklist = d.getVar('__BBTASKS', False) or []
for task in tasklist:
deps[task], values[task] = build_dependencies(task, keys, mod_funcs, shelldeps, varflagsexcl, ignored_vars, d, codeparserd)
newdeps = deps[task]
seen = set()
while newdeps:
nextdeps = newdeps
seen |= nextdeps
newdeps = set()
for dep in nextdeps:
if dep not in deps:
deps[dep], values[dep] = build_dependencies(dep, keys, mod_funcs, shelldeps, varflagsexcl, ignored_vars, d, codeparserd)
newdeps |= deps[dep]
newdeps -= seen
#print "For %s: %s" % (task, str(deps[task]))
return tasklist, deps, values
def generate_dependency_hash(tasklist, gendeps, lookupcache, ignored_vars, fn):
taskdeps = {}
basehash = {}
for task in tasklist:
data = lookupcache[task]
if data is None:
bb.error("Task %s from %s seems to be empty?!" % (task, fn))
data = []
else:
data = [data]
newdeps = gendeps[task]
seen = set()
while newdeps:
nextdeps = newdeps
seen |= nextdeps
newdeps = set()
for dep in nextdeps:
newdeps |= gendeps[dep]
newdeps -= seen
alldeps = sorted(seen)
for dep in alldeps:
data.append(dep)
var = lookupcache[dep]
if var is not None:
data.append(str(var))
k = fn + ":" + task
basehash[k] = hashlib.sha256("".join(data).encode("utf-8")).hexdigest()
taskdeps[task] = frozenset(seen)
return taskdeps, basehash
def inherits_class(klass, d):
val = d.getVar('__inherit_cache', False) or []
needle = '/%s.bbclass' % klass
for v in val:
if v.endswith(needle):
return True
return False

1116
bitbake/lib/bb/data_smart.py Normal file

File diff suppressed because it is too large Load Diff

876
bitbake/lib/bb/event.py Normal file
View File

@@ -0,0 +1,876 @@
"""
BitBake 'Event' implementation
Classes and functions for manipulating 'events' in the
BitBake build tools.
"""
# Copyright (C) 2003, 2004 Chris Larson
#
# SPDX-License-Identifier: GPL-2.0-only
#
import ast
import atexit
import collections
import logging
import pickle
import sys
import threading
import traceback
import bb.utils
# This is the pid for which we should generate the event. This is set when
# the runqueue forks off.
worker_pid = 0
worker_fire = None
logger = logging.getLogger('BitBake.Event')
class Event(object):
"""Base class for events"""
def __init__(self):
self.pid = worker_pid
class HeartbeatEvent(Event):
"""Triggered at regular time intervals of 10 seconds. Other events can fire much more often
(runQueueTaskStarted when there are many short tasks) or not at all for long periods
of time (again runQueueTaskStarted, when there is just one long-running task), so this
event is more suitable for doing some task-independent work occasionally."""
def __init__(self, time):
Event.__init__(self)
self.time = time
Registered = 10
AlreadyRegistered = 14
def get_class_handlers():
return _handlers
def set_class_handlers(h):
global _handlers
_handlers = h
def clean_class_handlers():
return collections.OrderedDict()
# Internal
_handlers = clean_class_handlers()
_ui_handlers = {}
_ui_logfilters = {}
_ui_handler_seq = 0
_event_handler_map = {}
_catchall_handlers = {}
_eventfilter = None
_uiready = False
_thread_lock = threading.Lock()
_heartbeat_enabled = False
_should_exit = threading.Event()
def enable_threadlock():
# Always needed now
return
def disable_threadlock():
# Always needed now
return
def enable_heartbeat():
global _heartbeat_enabled
_heartbeat_enabled = True
def disable_heartbeat():
global _heartbeat_enabled
_heartbeat_enabled = False
#
# In long running code, this function should be called periodically
# to check if we should exit due to an interuption (.e.g Ctrl+C from the UI)
#
def check_for_interrupts(d):
global _should_exit
if _should_exit.is_set():
bb.warn("Exiting due to interrupt.")
raise bb.BBHandledException()
def execute_handler(name, handler, event, d):
event.data = d
try:
ret = handler(event, d)
except (bb.parse.SkipRecipe, bb.BBHandledException):
raise
except Exception:
etype, value, tb = sys.exc_info()
logger.error("Execution of event handler '%s' failed" % name,
exc_info=(etype, value, tb.tb_next))
raise
except SystemExit as exc:
if exc.code != 0:
logger.error("Execution of event handler '%s' failed" % name)
raise
finally:
del event.data
def fire_class_handlers(event, d):
if isinstance(event, logging.LogRecord):
return
eid = str(event.__class__)[8:-2]
evt_hmap = _event_handler_map.get(eid, {})
for name, handler in list(_handlers.items()):
if name in _catchall_handlers or name in evt_hmap:
if _eventfilter:
if not _eventfilter(name, handler, event, d):
continue
if d is not None and not name in (d.getVar("__BBHANDLERS_MC") or set()):
continue
execute_handler(name, handler, event, d)
ui_queue = []
@atexit.register
def print_ui_queue():
global ui_queue
"""If we're exiting before a UI has been spawned, display any queued
LogRecords to the console."""
logger = logging.getLogger("BitBake")
if not _uiready:
from bb.msg import BBLogFormatter
# Flush any existing buffered content
try:
sys.stdout.flush()
except:
pass
try:
sys.stderr.flush()
except:
pass
stdout = logging.StreamHandler(sys.stdout)
stderr = logging.StreamHandler(sys.stderr)
formatter = BBLogFormatter("%(levelname)s: %(message)s")
stdout.setFormatter(formatter)
stderr.setFormatter(formatter)
# First check to see if we have any proper messages
msgprint = False
msgerrs = False
# Should we print to stderr?
for event in ui_queue[:]:
if isinstance(event, logging.LogRecord) and event.levelno >= logging.WARNING:
msgerrs = True
break
if msgerrs:
logger.addHandler(stderr)
else:
logger.addHandler(stdout)
for event in ui_queue[:]:
if isinstance(event, logging.LogRecord):
if event.levelno > logging.DEBUG:
logger.handle(event)
msgprint = True
# Nope, so just print all of the messages we have (including debug messages)
if not msgprint:
for event in ui_queue[:]:
if isinstance(event, logging.LogRecord):
logger.handle(event)
if msgerrs:
logger.removeHandler(stderr)
else:
logger.removeHandler(stdout)
ui_queue = []
def fire_ui_handlers(event, d):
global _thread_lock
if not _uiready:
# No UI handlers registered yet, queue up the messages
ui_queue.append(event)
return
with bb.utils.lock_timeout_nocheck(_thread_lock) as lock:
if not lock:
# If we can't get the lock, we may be recursively called, queue and return
ui_queue.append(event)
return
errors = []
for h in _ui_handlers:
#print "Sending event %s" % event
try:
if not _ui_logfilters[h].filter(event):
continue
# We use pickle here since it better handles object instances
# which xmlrpc's marshaller does not. Events *must* be serializable
# by pickle.
if hasattr(_ui_handlers[h].event, "sendpickle"):
_ui_handlers[h].event.sendpickle((pickle.dumps(event)))
else:
_ui_handlers[h].event.send(event)
except:
errors.append(h)
for h in errors:
del _ui_handlers[h]
while ui_queue:
fire_ui_handlers(ui_queue.pop(), d)
def fire(event, d):
"""Fire off an Event"""
# We can fire class handlers in the worker process context and this is
# desired so they get the task based datastore.
# UI handlers need to be fired in the server context so we defer this. They
# don't have a datastore so the datastore context isn't a problem.
fire_class_handlers(event, d)
if worker_fire:
worker_fire(event, d)
else:
# If messages have been queued up, clear the queue
global _uiready, ui_queue
if _uiready and ui_queue:
for queue_event in ui_queue:
fire_ui_handlers(queue_event, d)
ui_queue = []
fire_ui_handlers(event, d)
def fire_from_worker(event, d):
fire_ui_handlers(event, d)
noop = lambda _: None
def register(name, handler, mask=None, filename=None, lineno=None, data=None):
"""Register an Event handler"""
if data is not None and data.getVar("BB_CURRENT_MC"):
mc = data.getVar("BB_CURRENT_MC")
name = '%s%s' % (mc.replace('-', '_'), name)
# already registered
if name in _handlers:
if data is not None:
bbhands_mc = (data.getVar("__BBHANDLERS_MC") or set())
bbhands_mc.add(name)
data.setVar("__BBHANDLERS_MC", bbhands_mc)
return AlreadyRegistered
if handler is not None:
# handle string containing python code
if isinstance(handler, str):
tmp = "def %s(e, d):\n%s" % (name, handler)
# Inject empty lines to make code match lineno in filename
if lineno is not None:
tmp = "\n" * (lineno-1) + tmp
try:
code = bb.methodpool.compile_cache(tmp)
if not code:
if filename is None:
filename = "%s(e, d)" % name
code = compile(tmp, filename, "exec", ast.PyCF_ONLY_AST)
code = compile(code, filename, "exec")
bb.methodpool.compile_cache_add(tmp, code)
except SyntaxError:
logger.error("Unable to register event handler '%s':\n%s", name,
''.join(traceback.format_exc(limit=0)))
_handlers[name] = noop
return
env = {}
bb.utils.better_exec(code, env)
func = bb.utils.better_eval(name, env)
_handlers[name] = func
else:
_handlers[name] = handler
if not mask or '*' in mask:
_catchall_handlers[name] = True
else:
for m in mask:
if _event_handler_map.get(m, None) is None:
_event_handler_map[m] = {}
_event_handler_map[m][name] = True
if data is not None:
bbhands_mc = (data.getVar("__BBHANDLERS_MC") or set())
bbhands_mc.add(name)
data.setVar("__BBHANDLERS_MC", bbhands_mc)
return Registered
def remove(name, handler, data=None):
"""Remove an Event handler"""
if data is not None:
if data.getVar("BB_CURRENT_MC"):
mc = data.getVar("BB_CURRENT_MC")
name = '%s%s' % (mc.replace('-', '_'), name)
_handlers.pop(name)
if name in _catchall_handlers:
_catchall_handlers.pop(name)
for event in _event_handler_map.keys():
if name in _event_handler_map[event]:
_event_handler_map[event].pop(name)
if data is not None:
bbhands_mc = (data.getVar("__BBHANDLERS_MC") or set())
if name in bbhands_mc:
bbhands_mc.remove(name)
data.setVar("__BBHANDLERS_MC", bbhands_mc)
def get_handlers():
return _handlers
def set_handlers(handlers):
global _handlers
_handlers = handlers
def set_eventfilter(func):
global _eventfilter
_eventfilter = func
def register_UIHhandler(handler, mainui=False):
with bb.utils.lock_timeout(_thread_lock):
bb.event._ui_handler_seq = bb.event._ui_handler_seq + 1
_ui_handlers[_ui_handler_seq] = handler
level, debug_domains = bb.msg.constructLogOptions()
_ui_logfilters[_ui_handler_seq] = UIEventFilter(level, debug_domains)
if mainui:
global _uiready
_uiready = _ui_handler_seq
return _ui_handler_seq
def unregister_UIHhandler(handlerNum, mainui=False):
if mainui:
global _uiready
_uiready = False
with bb.utils.lock_timeout(_thread_lock):
if handlerNum in _ui_handlers:
del _ui_handlers[handlerNum]
return
def get_uihandler():
if _uiready is False:
return None
return _uiready
# Class to allow filtering of events and specific filtering of LogRecords *before* we put them over the IPC
class UIEventFilter(object):
def __init__(self, level, debug_domains):
self.update(None, level, debug_domains)
def update(self, eventmask, level, debug_domains):
self.eventmask = eventmask
self.stdlevel = level
self.debug_domains = debug_domains
def filter(self, event):
if isinstance(event, logging.LogRecord):
if event.levelno >= self.stdlevel:
return True
if event.name in self.debug_domains and event.levelno >= self.debug_domains[event.name]:
return True
return False
eid = str(event.__class__)[8:-2]
if self.eventmask and eid not in self.eventmask:
return False
return True
def set_UIHmask(handlerNum, level, debug_domains, mask):
if not handlerNum in _ui_handlers:
return False
if '*' in mask:
_ui_logfilters[handlerNum].update(None, level, debug_domains)
else:
_ui_logfilters[handlerNum].update(mask, level, debug_domains)
return True
def getName(e):
"""Returns the name of a class or class instance"""
if getattr(e, "__name__", None) is None:
return e.__class__.__name__
else:
return e.__name__
class OperationStarted(Event):
"""An operation has begun"""
def __init__(self, msg = "Operation Started"):
Event.__init__(self)
self.msg = msg
class OperationCompleted(Event):
"""An operation has completed"""
def __init__(self, total, msg = "Operation Completed"):
Event.__init__(self)
self.total = total
self.msg = msg
class OperationProgress(Event):
"""An operation is in progress"""
def __init__(self, current, total, msg = "Operation in Progress"):
Event.__init__(self)
self.current = current
self.total = total
self.msg = msg + ": %s/%s" % (current, total);
class ConfigParsed(Event):
"""Configuration Parsing Complete"""
class MultiConfigParsed(Event):
"""Multi-Config Parsing Complete"""
def __init__(self, mcdata):
self.mcdata = mcdata
Event.__init__(self)
class RecipeEvent(Event):
def __init__(self, fn):
self.fn = fn
Event.__init__(self)
class RecipePreFinalise(RecipeEvent):
""" Recipe Parsing Complete but not yet finalised"""
class RecipePostKeyExpansion(RecipeEvent):
""" Recipe Parsing Complete but not yet finalised"""
class RecipeTaskPreProcess(RecipeEvent):
"""
Recipe Tasks about to be finalised
The list of tasks should be final at this point and handlers
are only able to change interdependencies
"""
def __init__(self, fn, tasklist):
self.fn = fn
self.tasklist = tasklist
Event.__init__(self)
class RecipeParsed(RecipeEvent):
""" Recipe Parsing Complete """
class BuildBase(Event):
"""Base class for bitbake build events"""
def __init__(self, n, p, failures = 0):
self._name = n
self._pkgs = p
Event.__init__(self)
self._failures = failures
def getPkgs(self):
return self._pkgs
def setPkgs(self, pkgs):
self._pkgs = pkgs
def getName(self):
return self._name
def setName(self, name):
self._name = name
def getFailures(self):
"""
Return the number of failed packages
"""
return self._failures
pkgs = property(getPkgs, setPkgs, None, "pkgs property")
name = property(getName, setName, None, "name property")
class BuildInit(BuildBase):
"""buildFile or buildTargets was invoked"""
def __init__(self, p=[]):
name = None
BuildBase.__init__(self, name, p)
class BuildStarted(BuildBase, OperationStarted):
"""Event when builds start"""
def __init__(self, n, p, failures = 0):
OperationStarted.__init__(self, "Building Started")
BuildBase.__init__(self, n, p, failures)
class BuildCompleted(BuildBase, OperationCompleted):
"""Event when builds have completed"""
def __init__(self, total, n, p, failures=0, interrupted=0):
if not failures:
OperationCompleted.__init__(self, total, "Building Succeeded")
else:
OperationCompleted.__init__(self, total, "Building Failed")
self._interrupted = interrupted
BuildBase.__init__(self, n, p, failures)
class DiskFull(Event):
"""Disk full case build halted"""
def __init__(self, dev, type, freespace, mountpoint):
Event.__init__(self)
self._dev = dev
self._type = type
self._free = freespace
self._mountpoint = mountpoint
class DiskUsageSample:
def __init__(self, available_bytes, free_bytes, total_bytes):
# Number of bytes available to non-root processes.
self.available_bytes = available_bytes
# Number of bytes available to root processes.
self.free_bytes = free_bytes
# Total capacity of the volume.
self.total_bytes = total_bytes
class MonitorDiskEvent(Event):
"""If BB_DISKMON_DIRS is set, then this event gets triggered each time disk space is checked.
Provides information about devices that are getting monitored."""
def __init__(self, disk_usage):
Event.__init__(self)
# hash of device root path -> DiskUsageSample
self.disk_usage = disk_usage
class NoProvider(Event):
"""No Provider for an Event"""
def __init__(self, item, runtime=False, dependees=None, reasons=None, close_matches=None):
Event.__init__(self)
self._item = item
self._runtime = runtime
self._dependees = dependees
self._reasons = reasons
self._close_matches = close_matches
def getItem(self):
return self._item
def isRuntime(self):
return self._runtime
def __str__(self):
msg = ''
if self._runtime:
r = "R"
else:
r = ""
extra = ''
if not self._reasons:
if self._close_matches:
extra = ". Close matches:\n %s" % '\n '.join(sorted(set(self._close_matches)))
if self._dependees:
msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, self._item, ", ".join(self._dependees), r, extra)
else:
msg = "Nothing %sPROVIDES '%s'%s" % (r, self._item, extra)
if self._reasons:
for reason in self._reasons:
msg += '\n' + reason
return msg
class MultipleProviders(Event):
"""Multiple Providers"""
def __init__(self, item, candidates, runtime = False):
Event.__init__(self)
self._item = item
self._candidates = candidates
self._is_runtime = runtime
def isRuntime(self):
"""
Is this a runtime issue?
"""
return self._is_runtime
def getItem(self):
"""
The name for the to be build item
"""
return self._item
def getCandidates(self):
"""
Get the possible Candidates for a PROVIDER.
"""
return self._candidates
def __str__(self):
msg = "Multiple providers are available for %s%s (%s)" % (self._is_runtime and "runtime " or "",
self._item,
", ".join(self._candidates))
rtime = ""
if self._is_runtime:
rtime = "R"
msg += "\nConsider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, self._item)
return msg
class ParseStarted(OperationStarted):
"""Recipe parsing for the runqueue has begun"""
def __init__(self, total):
OperationStarted.__init__(self, "Recipe parsing Started")
self.total = total
class ParseCompleted(OperationCompleted):
"""Recipe parsing for the runqueue has completed"""
def __init__(self, cached, parsed, skipped, masked, virtuals, errors, total):
OperationCompleted.__init__(self, total, "Recipe parsing Completed")
self.cached = cached
self.parsed = parsed
self.skipped = skipped
self.virtuals = virtuals
self.masked = masked
self.errors = errors
self.sofar = cached + parsed
class ParseProgress(OperationProgress):
"""Recipe parsing progress"""
def __init__(self, current, total):
OperationProgress.__init__(self, current, total, "Recipe parsing")
class CacheLoadStarted(OperationStarted):
"""Loading of the dependency cache has begun"""
def __init__(self, total):
OperationStarted.__init__(self, "Loading cache Started")
self.total = total
class CacheLoadProgress(OperationProgress):
"""Cache loading progress"""
def __init__(self, current, total):
OperationProgress.__init__(self, current, total, "Loading cache")
class CacheLoadCompleted(OperationCompleted):
"""Cache loading is complete"""
def __init__(self, total, num_entries):
OperationCompleted.__init__(self, total, "Loading cache Completed")
self.num_entries = num_entries
class TreeDataPreparationStarted(OperationStarted):
"""Tree data preparation started"""
def __init__(self):
OperationStarted.__init__(self, "Preparing tree data Started")
class TreeDataPreparationProgress(OperationProgress):
"""Tree data preparation is in progress"""
def __init__(self, current, total):
OperationProgress.__init__(self, current, total, "Preparing tree data")
class TreeDataPreparationCompleted(OperationCompleted):
"""Tree data preparation completed"""
def __init__(self, total):
OperationCompleted.__init__(self, total, "Preparing tree data Completed")
class DepTreeGenerated(Event):
"""
Event when a dependency tree has been generated
"""
def __init__(self, depgraph):
Event.__init__(self)
self._depgraph = depgraph
class TargetsTreeGenerated(Event):
"""
Event when a set of buildable targets has been generated
"""
def __init__(self, model):
Event.__init__(self)
self._model = model
class ReachableStamps(Event):
"""
An event listing all stamps reachable after parsing
which the metadata may use to clean up stale data
"""
def __init__(self, stamps):
Event.__init__(self)
self.stamps = stamps
class StaleSetSceneTasks(Event):
"""
An event listing setscene tasks which are 'stale' and will
be rerun. The metadata may use to clean up stale data.
tasks is a mapping of tasks and matching stale stamps.
"""
def __init__(self, tasks):
Event.__init__(self)
self.tasks = tasks
class FilesMatchingFound(Event):
"""
Event when a list of files matching the supplied pattern has
been generated
"""
def __init__(self, pattern, matches):
Event.__init__(self)
self._pattern = pattern
self._matches = matches
class ConfigFilesFound(Event):
"""
Event when a list of appropriate config files has been generated
"""
def __init__(self, variable, values):
Event.__init__(self)
self._variable = variable
self._values = values
class ConfigFilePathFound(Event):
"""
Event when a path for a config file has been found
"""
def __init__(self, path):
Event.__init__(self)
self._path = path
class MsgBase(Event):
"""Base class for messages"""
def __init__(self, msg):
self._message = msg
Event.__init__(self)
class MsgDebug(MsgBase):
"""Debug Message"""
class MsgNote(MsgBase):
"""Note Message"""
class MsgWarn(MsgBase):
"""Warning Message"""
class MsgError(MsgBase):
"""Error Message"""
class MsgFatal(MsgBase):
"""Fatal Message"""
class MsgPlain(MsgBase):
"""General output"""
class LogExecTTY(Event):
"""Send event containing program to spawn on tty of the logger"""
def __init__(self, msg, prog, sleep_delay, retries):
Event.__init__(self)
self.msg = msg
self.prog = prog
self.sleep_delay = sleep_delay
self.retries = retries
class LogHandler(logging.Handler):
"""Dispatch logging messages as bitbake events"""
def emit(self, record):
if record.exc_info:
record.bb_exc_formatted = traceback.format_exception(*record.exc_info)
record.exc_info = None
fire(record, None)
def filter(self, record):
record.taskpid = worker_pid
return True
class MetadataEvent(Event):
"""
Generic event that target for OE-Core classes
to report information during asynchronous execution
"""
def __init__(self, eventtype, eventdata):
Event.__init__(self)
self.type = eventtype
self._localdata = eventdata
class ProcessStarted(Event):
"""
Generic process started event (usually part of the initial startup)
where further progress events will be delivered
"""
def __init__(self, processname, total):
Event.__init__(self)
self.processname = processname
self.total = total
class ProcessProgress(Event):
"""
Generic process progress event (usually part of the initial startup)
"""
def __init__(self, processname, progress):
Event.__init__(self)
self.processname = processname
self.progress = progress
class ProcessFinished(Event):
"""
Generic process finished event (usually part of the initial startup)
"""
def __init__(self, processname):
Event.__init__(self)
self.processname = processname
class SanityCheck(Event):
"""
Event to run sanity checks, either raise errors or generate events as return status.
"""
def __init__(self, generateevents = True):
Event.__init__(self)
self.generateevents = generateevents
class SanityCheckPassed(Event):
"""
Event to indicate sanity check has passed
"""
class SanityCheckFailed(Event):
"""
Event to indicate sanity check has failed
"""
def __init__(self, msg, network_error=False):
Event.__init__(self)
self._msg = msg
self._network_error = network_error
class NetworkTest(Event):
"""
Event to run network connectivity tests, either raise errors or generate events as return status.
"""
def __init__(self, generateevents = True):
Event.__init__(self)
self.generateevents = generateevents
class NetworkTestPassed(Event):
"""
Event to indicate network test has passed
"""
class NetworkTestFailed(Event):
"""
Event to indicate network test has failed
"""
class FindSigInfoResult(Event):
"""
Event to return results from findSigInfo command
"""
def __init__(self, result):
Event.__init__(self)
self.result = result
class GetTaskSignatureResult(Event):
"""
Event to return results from GetTaskSignatures command
"""
def __init__(self, sig):
Event.__init__(self)
self.sig = sig
class ParseError(Event):
"""
Event to indicate parse failed
"""
def __init__(self, msg):
super().__init__()
self._msg = msg

Some files were not shown because too many files have changed in this diff Show More