Compare commits

..

184 Commits

Author SHA1 Message Date
Paul Barker
64e69ed237 build-appliance-image: Update to scarthgap head revision
Bump b-a SRCREV again to pull in docs changes.

(From OE-Core rev: 70dc15941dd33270a92d1001174efb3093e79bdf)

Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 14:30:56 +01:00
Quentin Schulz
b70aeb3af5 README: update instructions for installing vale and sphinx-lint
pip install won't work on recent Debian distros (and Debian-based ones
I'm assuming as well) and will suggest using pipx instead.

In any case, pip and pipx aren't actually that user-friendly to us for
the simple reason the instructions to build the documentation, c.f.
documentation/tools/host_packages_scripts/pip3_docs.sh, make use of a
virtual environment which doesn't have access to the host system's
Python modules (missing --system-site-packages). So you would need to
chose between building the docs and running vale/sphinx-lint but not
both at the same time.

Instead, update the instructions to use pipenv for stylecheck and
sphinx-lint make targets such that there's a setup in which one can
build the docs AND run those commands without doing some back and forth
between venvs or host packages and the venv.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Closes: https://lore.kernel.org/yocto-docs/959e65b6-e7eb-bcc3-992f-bed7276c8449@crashcourse.ca/
(From yocto-docs rev: fe46d5de41930a2762a9ad2543d50e0f4e10463b)

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Link: https://patch.msgid.link/20260821-pipenv-vale-sphinx-lint-v1-1-f108b7e3e739@cherry.de
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 9955b0f099b6b42a9750f0d544944a2d8e5a39b2)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 14:26:37 +01:00
Antonin Godard
23ecb8d810 ref-manual/variables.rst: document the PACKAGEFUNCS variable
Added by commit 4b46c1f6e8 ("Initial population") in OE-Core. This
completes the variables used during do_package, as
PACKAGE_PREPROCESS_FUNCS and PACKAGESPLITFUNCS are already documented.

Link: https://patch.msgid.link/20260818-packagefuncs-v1-2-1f26764cbdd3@bootlin.com
(From yocto-docs rev: c7082a42f69f99e277864f319c1e8a71b7c62ada)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit c3e8c602c60bf78123d6a05b83346235abf7f233)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 14:26:37 +01:00
Antonin Godard
4f226dfe73 ref-manual/variables.rst: document the PACKAGE_NO_LOCALE variable
Added by commit 4b46c1f6e8 ("Initial population") in OE-Core (2005!).

Link: https://patch.msgid.link/20260818-packagefuncs-v1-1-1f26764cbdd3@bootlin.com
(From yocto-docs rev: 1cf267bd4dbd0c0ffbdc5a36dd608dae731b6640)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 6d69a4744a4d1cfa45dafcf5af28658cafe30a1e)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 14:26:37 +01:00
Antonin Godard
779318a316 index.rst: show the intro paragraph only for html-based docs
The current non-HTML-based documents we support is the PDF format. For
this format, this intro paragraph is placed right after the table of
contents, which is odd and breaks the flow of the document. Show this
paragraph only in HTML-based document, which includes the HTML and ePUB
formats.

Link: https://patch.msgid.link/20260818-intros-only-in-html-v1-1-4fe4c54655bf@bootlin.com
(From yocto-docs rev: f24fed24c0893074d5990b15436229d9957d4038)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 8e70193dc4c6271e0226cdda7110cf60347f0f51)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 14:26:37 +01:00
Daiane Angolini
ac4a16fccc docs-wide: fix manual names in cross references
The text naming the target manual did not match the manual the cross
reference points to.

AI-Generated: Uses Claude Opus 5
(From yocto-docs rev: c828809855fb4eec84d284c1849f9e44753c312a)

Signed-off-by: Daiane Angolini <daiane.angolini@oss.qualcomm.com>
Link: https://patch.msgid.link/20260814220720.1115397-2-daiane.angolini@oss.qualcomm.com
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit a002724c80e958ad6336db9994ad28671da79f36)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 14:26:37 +01:00
Daiane Angolini
2145f1ba3e ref-manual/features.rst: fix some cross references
The text does not match the cross reference, so change that.

Also, drop an extra colon.

(From yocto-docs rev: 104b8fefb09530a5fec35c14164b7637bc00c192)

Signed-off-by: Daiane Angolini <daiane.angolini@oss.qualcomm.com>
Link: https://patch.msgid.link/20260814202800.1106393-1-daiane.angolini@oss.qualcomm.com
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit cb7de72f45032e476a772a1ae8f4bd5bd20c882d)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 14:26:37 +01:00
Antonin Godard
7856e112fe index.rst: move release notes in their own section
The release notes are currently hidden in the welcome page, under the
"Release Manuals" section, but these changelogs/migration guides are not
release manuals per say. Move them out of the "Release Manuals" section
under their own "Release Information" section, and make them appear as a
"Release Notes and Migration Guides" section in the welcome page.

(From yocto-docs rev: 67a69f9133434129e404990d2b8a5405343580a0)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit f68f97ee4ee9b444a853569cdbe3c307d2521677)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 14:26:37 +01:00
Antonin Godard
751f10349c bitbake.rst: rename section to "BitBake User Manual"
This is how the documentation manual is called in the external BitBake
documentation so call it that way. Moreover this aligns better with the
other subsections of the "Manuals" section.

(From yocto-docs rev: a9f1e03127db221ef942875e6e35c1fe5da51e0e)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 77d257b88861ed690e19e5d03b6f353dfaeb9a82)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 14:26:36 +01:00
Antonin Godard
569c16668e contributor-guide/identify-component.rst: use the same tense as other section
All the other subsections of the Contributor Guide use a participle in
their titles, let's do the same here.

(From yocto-docs rev: ef21685393cc506ca2fec7a5f585b99b3c417e20)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit cc1179dd71a1baa03ecce5a3ebc1f3a49c1c7b38)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 14:26:36 +01:00
Antonin Godard
95f043e03b overview-manual: move the intro content in the index
The index document can act as an intro document. Having an extra intro
document to this section felt a bit superfluous, now that it is part of
the whole "Introduction and Overview" section.

(From yocto-docs rev: 5f11d2ff260cd1bfadf2070780ce81eac8b1c2fb)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 9deb3a9496e3cf36b0528d7616004c0f9cd6c427)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 14:26:36 +01:00
Antonin Godard
33b3f081f0 index.rst: move external links to the bottom of the intro section
These two links contain more introductory resources to the project and
are external to yocto-docs, but currently break the flow of the
introduction:

- The "Yocto Project Technical Overview" from https://www.yoctoproject.org
  is essentially the same as our "Introducing the Yocto Project" section
  of the Overview and Concepts manual but with less details.

- The Tips and Tricks wiki page contains a lot of old and obsolete
  information, and the wiki is bound to be deprecated at some point.

Additionally, hide them from the sidebar by not including them in a
toctree.

(From yocto-docs rev: ddced6aa15828cfc127e5678ff2e8f64087d250a)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit a23f8a921a56ded065bf94bc52e26f280e83c949)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 14:26:36 +01:00
Antonin Godard
ced8ad236d index.rst: move the "Overview and Concepts" manual in the "Introduction and Overview" section
The Overview and Concepts manual contains introductory content which
feels like it should rather be in the first section of the welcome page,
rather than the "Manuals" section. Moreover, this section does not feel
like a manual either, so rename the section title to "Overview and
Concepts". Keep the "-manual" suffix to the directory name to avoid
breaking links, though.

(From yocto-docs rev: f1ab418602aefbde6ca46cfe01ee0695a9c91d65)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 62b982ca545441657491f4d8553144cef7cb3185)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 14:26:36 +01:00
Antonin Godard
63b78c24e1 index.rst: move the contributor guide out of the Manuals section
In many project, contributing sections are usually separate from the
technical documentation and put to the forefront. Let's follow this in
yocto-docs by creating a dedicated section for it on the main page.

(From yocto-docs rev: d80385c1c8221d7d6a11cfdeb504000d7385d44d)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 8a20261c231c2bda8be6eea2bbefee19b49cf35d)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 14:26:36 +01:00
Antonin Godard
b39088793e index.rst: add introduction paragraphs
The homepage of the Yocto Project documentation currently has no
introduction and only displays the table of contents. Inspired by
https://docs.kernel.org, provide a short introduction to the
documentation and also precede each section with a short sentence about
what the section contains.

The section titles are voluntarily duplicated in the document itself and
in the toctree directive, so that the sidebar still contains them, and we
can have text between the section titles and the toctree content.
However this also duplicates the title in the document itself, so add
CSS directive in our customization file to hide the duplicates.

Note that these titles do not show in the PDF and ePub outputs as those
are generated differently.

(From yocto-docs rev: 378360de3dab9b6f349bac852eff645ab0066093)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 976ee1e250af67b944521b0446c255c88e57db07)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 14:26:36 +01:00
Paul Barker
1030d3c2c7 build-appliance-image: Update to scarthgap head revision
(From OE-Core rev: eda3665770d7d2b97e1227a666065838fc1b1117)

Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 13:26:00 +01:00
Paul Barker
24a462fdc0 poky.conf: Bump version for 5.0.20 release
(From meta-yocto rev: 961c2399d06fbdb04ee27d06079e186d2c4a14ad)

Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 13:20:10 +01:00
Bruce Ashfield
cb79d2f107 linux-yocto/6.6: update to v6.6.147
Updating linux-yocto/6.6 to the latest korg -stable release that comprises
the following commits:

    a1153c0deb44f Linux 6.6.147
    12a891c773aeb posix-cpu-timers: Prevent UAF caused by non-leader exec() race
    ae068b6761967 Linux 6.6.146
    d8a1f7420d2d5 mm: refactor mm_access() to not return NULL
    c5596480c50e0 Linux 6.6.145
    bd37e81cb475c selftests/bpf: Add simple strscpy() implementation
    8fa926d33f082 tools/testing: add linux/args.h header and fix radix, VMA tests
    2f48e29ce9dca driver core: Guard deferred probe timeout extension with delayed_work_pending()
    d329ff4039abd driver core: Fix missing jiffies conversion in deferred_probe_extend_timeout()
    8cd66ea50f3b1 jiffies: Cast to unsigned long in secs_to_jiffies() conversion
    a48236b8889e8 jiffies: Define secs_to_jiffies()
    df9757a9f5213 writeback: drop now-unnecessary rcu_barrier() in cgroup_writeback_umount()
    19ec404b079be writeback: Fix use after free in inode_switch_wbs_work_fn()
    96ae4c663f127 xfs: fix stupid compiler warning
    2ec1d9d1cd538 Bluetooth: btmtk: remove #ifdef around declarations
    88a04d42aa6c0 Bluetooth: btmtk: Fix btmtk.c undefined reference build error harder
    9f53402757671 selftests/hid: ensure CKI can compile our new tests on old kernels
    4893deede7bbc Bluetooth: 6lowpan: Fix using chan->conn as indication to no remote netdev
    6d012b730fd22 Bluetooth: hci_sync: Fix attempting to send HCI_Disconnect to BIS handle
    3d65aa0fd012e Bluetooth: hci_core: Remove check of BDADDR_ANY in hci_conn_hash_lookup_big_state
    fcd446bbe7446 ksmbd: fix durable reconnect double-bind race in ksmbd_reopen_durable_fd
    faa3ff1dd933c seqlock: fix scoped_seqlock_read kernel-doc
    90d35d2b8e47a KVM: Move kvm_io_bus_get_dev() locking responsibilities to callers
    83b22d7f7c384 Bluetooth: hci_conn: Fix null ptr deref in hci_abort_conn()
    e51042ddc0b20 Bluetooth: hci_sync: annotate data-races around hdev->req_status
    436b54dfa0fb7 Bluetooth: separate CIS_LINK and BIS_LINK link types
    3053a0be28cfa Bluetooth: hci_core: Enable buffer flow control for SCO/eSCO
    097b159d43407 btrfs: fix incorrect buffered IO fallback for append direct writes
    7236d59f58f39 btrfs: fix false IO failure after falling back to buffered write
    d0bf0a7d75bb0 exfat: preserve benign secondary entries during rename and move
    1058a40273237 exfat: move exfat_chain_set() out of __exfat_resolve_path()
    2e22bced8e7e7 exfat: add exfat_get_dentry_set_by_ei() helper
    e603c5487f365 exfat: rename argument name for exfat_move_file and exfat_rename_file
    04fe6ca144141 exfat: remove unnecessary read entry in __exfat_rename()
    fa0d1c1ff406b exfat: move free cluster out of exfat_init_ext_entry()
    744b23aa430d5 mm: do file ownership checks with the proper mount idmap
    e2baf8ea13fb4 regulator: scmi: fix of_node refcount leak in scmi_regulator_probe()
    7c90aa5cae6f5 regulator: scmi: Simplify with scoped for each OF child loop
    1526f3c9884c4 audit: fix potential integer overflow in audit_log_n_hex()
    fc7e17d2f742c audit: add audit_log_nf_skb helper function
    3ba204896c144 crypto: qat - fix restarting state leak on allocation failure
    08f1388e09886 btrfs: check and set EXTENT_DELALLOC_NEW before clearing EXTENT_DELALLOC
    e2e4042d86664 usb: gadget: f_fs: Tie read_buffer lifetime to ffs_epfile
    80cd28b56ab62 nvmet-auth: validate reply message payload bounds against transfer length
    824425c42253a nvmet: return DHCHAP status codes from nvmet_setup_auth()
    981ccee1414ba nvmet: remove superfluous initialization
    d5631081be07f usb: gadget: f_fs: initialize reset_work at allocation time
    7b20686bf065b crypto: atmel-sha204a - drop hwrng quality reduction for ATSHA204A
    9379d998f86d5 crypto: atmel - Drop explicit initialization of struct i2c_device_id::driver_data to 0
    f37d00b9d28d5 usb: typec: tcpm: Fix VDM type for Enter Mode commands
    f2a6abc670104 usb: atm: ueagle-atm: wait for pre-firmware load in .disconnect()
    6be54e2c8ea48 usb: iowarrior: remove inherent race with minor number
    ec662a8b2cde0 bpf: Allow LPM map access from sleepable BPF programs
    85f16dd3f4872 bpf: Consistently use bpf_rcu_lock_held() everywhere
    b6a481642ea19 hfs/hfsplus: fix u32 overflow in check_and_correct_requested_length
    d6be467a9eb23 hfs/hfsplus: prevent getting negative values of offset/length
    587afb06a5d1d serial: 8250_mid: Disable DMA for selected platforms
    184579feec824 serial: 8250_mid: Remove 8250_pci usage
    05e3decc55d1d HID: appleir: fix UAF on pending key_up_timer in remove()
    120306ea29e99 treewide: Switch/rename to timer_delete[_sync]()
    7456ae990a973 proc: protect ptrace_may_access() with exec_update_lock (part 1)
    42417d36cf084 seqlock: Change do_task_stat() to use scoped_seqlock_read()
    7d9295e319ec7 seqlock: Introduce scoped_seqlock_read()
    6256899c3a346 mm/slab: do not limit zeroing to orig_size when only red zoning is enabled
    a6d5ce2e1a2d7 HID: multitouch: fix out-of-bounds bit access on mt_io_flags
    7c29bc073a1f7 HID: add haptics page defines
    a018a7c37d5ae perf/x86/intel/uncore: Defer ADL global PMON enable to enable_box()
    5c3265f3252b2 writeback: fix race between cgroup_writeback_umount() and inode_switch_wbs()
    ac7b2c21f2269 writeback: Avoid contention on wb->list_lock when switching inodes
    138c692d2b2d6 proc: protect ptrace_may_access() with exec_update_lock (FD links)
    5e7fc3518a48d proc: rename proc_setattr to proc_nochmod_setattr
    ea5c9bf99f626 ksmbd: track the connection owning a byte-range lock
    875f1fde874f3 ksmbd: centralize ksmbd_conn final release to plug transport leak
    1e112c47ec5dd ksmbd: use opener credentials for FSCTL mutations
    aa3c0cab4b28c smb: client: resolve SWN tcon from live registrations
    5bb65ae76d055 smb: client: Improve unlocking of a mutex in cifs_get_swn_reg()
    8c37e4338c801 Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connection_cb()
    080a5a42810a4 Bluetooth: 6lowpan: fix cyclic locking warning on netdev unregister
    8daaf7f73fe99 Bluetooth: L2CAP: cancel pending_rx_work before taking conn->lock
    9e6c5169db423 netfilter: ebtables: zero chainstack array
    101358689d262 netfilter: ebtables: Use vmalloc_array() to improve code
    d22fb719654bf media: nxp: imx8-isi: Fix use-after-free on remove
    8b8358c7ce216 media: nxp: imx8-isi: use devm_pm_runtime_enable() to simplify code
    e522a5ec70b88 media: nxp: imx8-isi: Convert to platform remove callback returning void
    7a550256d68bb gpio: sch: use raw_spinlock_t in the irq startup path
    c23a7bbb0277f coresight: etb10: restore atomic_t for shared reading state
    e441cbfbd0eaa mm/shrinker: do not hold RCU lock in shrinker_debugfs_count_show()
    1455793885772 mm: shrinker: remove redundant shrinker_rwsem in debugfs operations
    91047a4396a8b Bluetooth: L2CAP: Fix UAF in channel timeout by holding conn ref
    f344a369d0380 crypto: qat - fix VF2PF work teardown race in adf_disable_sriov()
    b27ecba3196f6 staging: rtl8723bs: fix OOB reads in rtw_get_sec_ie(), rtw_get_wapi_ie(), and rtw_get_wps_attr()
    425e1db64b5a6 staging: rtl8723bs: fix spaces around binary operators
    e2d5e8e8f758f staging: rtl8723bs: core: move constants to right side in comparison
    7d41a98a0d22e PCI: Skip Resizable BAR restore on read error
    51b254181df29 PCI: Move Resizable BAR code to rebar.c
    fd0e8911770f5 PCI: Add kerneldoc for pci_resize_resource()
    0b52ed5ec3deb PCI: Fix restoring BARs on BAR resize rollback path
    56f89adc050b6 PCI: Free saved list without holding pci_bus_sem
    c3e11419a630c PCI: Prevent resource tree corruption when BAR resize fails
    fe8c701a53c28 PCI: mediatek: Fix IRQ domain leak when port fails to enable
    87129460aacb8 PCI: mediatek: Use generic MACRO for TPVPERL delay
    5bbdcf407209d PCI: mediatek: Convert bool to single quirks entry and bitmap
    81842201d74a9 PCI: controller: Use dev_fwnode() instead of of_fwnode_handle()
    4860120380916 PCI: imx6: Fix IMX6SX_GPR12_PCIE_TEST_POWERDOWN handling
    f1db80a67da92 vfio/mlx5: Fix racy bitfields and tighten struct layout
    a25bfa2a6665a PCI: altera: Fix resource leaks on probe failure
    2ee9c46fd2dcd ALSA: aoa: check snd_ctl_new1() return value
    f2315b1675bd3 iio: common: st_sensors: honour channel endianness in read_axis_data
    668e305b743fa bitops: make BYTES_TO_BITS() treewide-available
    5022f4ed5aae9 iio: pressure: mpl115: fix runtime PM leak on read error
    f88ae94a69ce7 iio: imu: inv_icm42600: fix timestamping by limiting FIFO reading
    4700ad28cfdd3 iio: imu: inv_icm42600: stabilized timestamp in interrupt
    e56fac319bb99 iio: invensense: fix timestamp glitches when switching frequency
    3822181f61903 iio: invensense: remove redundant initialization of variable period
    a5df36432d8cc iio: hid-sensor-rotation: Fix stale or zero output when reading raw values
    bd3c53b25b241 iio: imu: adis: add IRQF_NO_THREAD to non-FIFO trigger IRQ
    8e63297ca0af2 ACPI: NFIT: core: Fix possible deadlock and missing notifications
    5dfed5a90e2ca ACPI: NFIT: core: Use devm_acpi_install_notify_handler()
    c5570ebe8ec65 ACPI: bus: Introduce devm_acpi_install_notify_handler()
    f1e12d81f9cd2 ACPI: driver: Check ACPI_COMPANION() against NULL during probe
    c127dbd832bd4 ACPI: NFIT: core: Fix acpi_nfit_init() error cleanup
    ac44b4a3d6137 perf/x86/amd/brs: Fix kernel address leakage
    bd4a622786f92 mtd: rawnand: lpc32xx_slc: fail DMA transfer on completion timeout
    f51f5acaeee65 mtd: rawnand: lpc32xx_mlc: fail DMA transfers on timeout
    f3da9bc7c8c2d mtd: rawnand: fsl_ifc: return errors for failed page reads
    7ee7a77ec2f44 mmc: vub300: defer reset until cmd_mutex is unlocked
    7c0a3a73dccc9 mtd: mchp23k256: use SPI match data for chip caps
    35568121adfc5 mtd: onenand: samsung: report DMA completion timeouts
    deb5f0ae384f1 wifi: mwifiex: fix permanently busy scans after multiple roam iterations
    5d9f700511a52 wifi: mac80211: free ack status frame on TX header build failure
    d97a8f3668949 powerpc/spufs: fix out-of-bounds access in spufs_mem_mmap_access()
    6dc0c8cd9c8a8 reset: sunxi: fix memory region leak on ioremap failure
    ac6ac3d35bfc0 ipvs: reload ip header after head reallocation
    a3f0d5b605cd5 ipvs: fix more places with wrong ipv6 transport offsets
    d5db3439ee8d1 memstick: ms_block: reject a card that reports too many blocks
    9735bc3aacc28 macsec: fix promiscuity refcount leak in macsec_dev_open()
    75866e80e31e9 llc: fix SAP refcount leak when creating incoming sockets
    68c5a2a19987c Bluetooth: btrtl: validate firmware patch bounds
    d573250d22840 net: openvswitch: reject oversized nested action attrs
    e1f485f5ea8cd regulator: ltc3676: Fix incorrect IRQSTAT bit offsets
    a02b52fe54f7b wifi: mac80211: fix memory leak in ieee80211_register_hw()
    eb7474d0253bb wifi: rt2x00: avoid full teardown before work setup in probe
    8bf359e2547e8 powerpc/pseries: fix memory leak on krealloc failure in papr_init
    87af3ebc112fb pmdomain: imx: Fix i.MX8MP VC8000E power up sequence
    5c5d58fff3401 pmdomain: imx: Fix i.MX8MP power notifier
    02f67c4f88be8 cgroup/cpuset: rebind mm mempolicy to effective_mems, not mems_allowed
    3c693635bb7b3 tracing/osnoise: Call synchronize_rcu() when unregistering
    b5f92cc4e24a2 riscv: Prevent NULL pointer dereference in machine_kexec_prepare()
    f16866c626568 drbd: reject data replies with an out-of-range payload size
    f21fa533a3ed1 macsec: don't read an unset MAC header in macsec_encrypt()
    9e36602cbec55 ipvs: reset full ip_vs_seq structs in ip_vs_conn_new
    9cb5ac594ca76 ipvs: use parsed transport offset in SCTP state lookup
    c7881b6088276 llc: fix SAP refcount leak in llc_ui_autobind()
    b91e5248dd7af mac802154: remove interfaces with RCU list deletion
    036bc56610607 s390/monwriter: Reject buffer reuse with different data length
    5da5cf48a432e riscv: probes: save original sp in rethook trampoline
    76392d35c8df4 hwmon: (asus_atk0110) Check package count before accessing element
    2b822df8e498a net: wwan: iosm: bound device offsets in the MUX downlink decoder
    566d5bf1e27c8 ata: pata_pxa: Fix DMA channel leak on probe error
    07c05601a9a8e orangefs: keep the readdir entry size 64-bit in fill_from_part()
    1b7687fc56c9b tracing/probes: Fix double addition of offset for @+FOFFSET
    6ee5a7665a908 net/sched: sch_taprio: Replace direct dequeue call with peek and qdisc_dequeue_peeked
    86a61e46a1919 net/sched: sch_multiq: Replace direct dequeue call with peek and qdisc_dequeue_peeked
    6523daa6852b1 net: lan743x: Initialize eth_syslock spinlock before use
    ffb13fe1947bc fsl/fman: Free init resources on KeyGen failure in fman_init()
    e7fd81e9fb1fe hwmon: (occ) unregister sysfs devices outside occ lock
    b74f293e5f380 net: liquidio: fix BAR resource leak on PF number failure
    22f864f7471a5 hwmon: (w83793) remove vrm sysfs file on probe failure
    43d49fa630edf hwmon: (w83627hf) remove VID sysfs files on error and remove
    22fa00dac08c7 rtc: mpfs: fix counter upload completion condition
    5576ee19a6a4a bnx2x: fix potential memory leak in bnx2x_alloc_mem_bp()
    54d73f18f8919 espintcp: use sk_msg_free_partial to fix partial send
    e8a916579e427 LoongArch: Fix missing dirty page tracking in {pte,pmd}_wrprotect()
    f2423da55976e batman-adv: clean untagged VLAN on netdev registration failure
    e6640923afee6 batman-adv: ensure minimal ethernet header on TX
    f19259395b44a batman-adv: retrieve ethhdr after potential skb realloc on RX
    29dbd6e27d0f8 net/sched: sch_teql: move rcu_read_lock()/spin_lock() from _bh variants
    1fe2643d0b24c ieee802154: ca8210: fix pointer truncation in kfifo on 64-bit
    b9071dc7889be ieee802154: ca8210: fix cas_ctl leak on spi_async failure
    66f3053070c0b ieee802154: allow legacy LLSEC ADD/DEL ops to pass strict validation
    5abe94a205539 ieee802154: admin-gate legacy LLSEC dump operations
    1d4d8ee002083 net: ip6_gre: require CAP_NET_ADMIN in the device netns for changelink
    983cc4aa7e6f6 net: ipip: require CAP_NET_ADMIN in the device netns for changelink
    33fd93961557e net: ip_vti: require CAP_NET_ADMIN in the device netns for changelink
    c64b9ae7eb97e net: ip6_vti: require CAP_NET_ADMIN in the device netns for changelink
    f2ff634d95f8a net: ena: clean up XDP TX queues when regular TX setup fails
    2400c4b05d588 net/sched: act_ct: preserve tc_skb_cb across defragmentation
    fd0b939ebd1ee net: ixp4xx_hss: fix duplicate HDLC netdev allocation
    fd01247bde1ad net: wwan: t7xx: destroy DMA pool on CLDMA late init failure
    388ccffbd2e7e net: sit: require CAP_NET_ADMIN in the device netns for changelink
    f916210f9d64e gpios: palmas: add .get_direction() op
    0ea41686d72f6 gpio-f7188x: Add support for NCT6126D version B
    998f66e9ce320 cpu: hotplug: Bound hotplug states sysfs output
    7a68257b90d8a cpu: hotplug: Preserve per instance callback errors
    cff8281bacd28 posix-cpu-timers: Use u64 multiplication in update_rlimit_cpu()
    218cc15a4c907 net/mlx5e: macsec: fix use-after-free of metadata_dst on RX SC delete
    08bf4b6ee2898 Input: ims-pcu - fix type confusion in CDC union descriptor parsing
    129187ec3f868 Input: ims-pcu - fix race condition in reset_device sysfs callback
    e3f93d63dcd48 Input: ims-pcu - fix potential infinite loop in CDC union descriptor parsing
    3fd7c0ace2453 Input: ims-pcu - fix out-of-bounds read in ims_pcu_irq() debug logging
    477149c848d40 Input: ims-pcu - fix DMA mapping violation in line setup
    f7f5afeed31ba Input: ims-pcu - add response length checks
    aa1885f87e60c Input: ims-pcu - validate control endpoint type
    ae05b7a600c07 Input: ims-pcu - release data interface on disconnect
    6a6c373e6a82e Input: ims-pcu - fix use-after-free and double-free in disconnect
    8c689a8f22922 scsi: elx: efct: Fix I/O leak on unsupported additional CDB
    62cf39a9770a6 scsi: elx: efct: Fix refcount leak in efct_hw_io_abort()
    a040004846f1f scsi: target: core: Fix iSCSI ISID use-after-free in REGISTER AND MOVE
    6ca5de8782e67 scsi: target: Bound PR-OUT TransportID parsing to the received buffer
    fa588f2840110 scsi: xen: scsiback: Free unsubmitted command instead of double-putting it
    18d4f86816592 scsi: xen: scsiback: Free the command tag on the TMR submit-failure path
    5594ee5a2653b scsi: sg: Report request-table problems when any status is set
    c3f4e40766154 scsi: lpfc: Fix memory leak in lpfc_sli4_driver_resource_setup()
    a61de4d7e22a9 scsi: hpsa: Fix DMA mapping leak on IOACCEL2 reset path
    29b8d12278d20 dm-verity: increase sprintf buffer size
    1f04b390add2e dm-verity: fix a possible NULL pointer dereference
    cf9feed8c131e dm-integrity: don't increment hash_offset twice
    259ce9e3fc3a3 dm_early_create: fix freeing used table on dm_resume failure
    9964ae466c589 dm-stats: fix merge accounting
    04ca47b6768d8 dm-stats: fix dm_jiffies_to_msec64
    d05e0edfecf52 dm-log: fix a bitset_size overflow on 32bit machines
    29536a9ff146d dm-ioctl: fix a possible overflow in list_version_get_info
    ae7fac9cb5bb0 dm-bufio: fix wrong count calculation in dm_bufio_issue_discard
    7e1822f83c5a1 dm era: fix out-of-bounds memory access for non-zero start sector
    3dc9ae1029320 dm thin metadata: fix metadata snapshot consistency on commit failure
    a887bf1f0de8e dm thin metadata: fix superblock refcount leak on snapshot shadow failure
    cf419c869e0d0 net: sparx5: unregister blocking notifier on init failure
    8b719cef5ac30 bpf: Add missing access_ok call to copy_user_syms
    c3fd6f28c7ce1 bpf,fork: wipe ->bpf_storage before bailouts that access it
    f53bdab85e64e can: bcm: add missing rcu list annotations and operations
    0f6f9f95294b4 can: bcm: fix lockless bound/ifindex race and silent RX_SETUP failure
    4177762f70646 can: bcm: defer rx_op deallocation to workqueue to fix thrtimer UAF
    6280eda96e070 can: isotp: use unconditional synchronize_rcu() in isotp_release()
    a02e1d8f19132 can: esd_usb: kill anchored URBs before freeing netdevs
    7c96581169c9d nvmet-rdma: handle inline data with a nonzero offset
    a257b41ddfe9e sctp: validate STALE_COOKIE cause length before reading staleness
    49f6705d80b5e spi: uniphier: Fix completion initialization order before devm_request_irq()
    64b4197d013bf time: Fix off-by-one in compat settimeofday() usec validation
    9c513dabd4540 tpm: Make the TPM character devices non-seekable
    0084fd985fe28 tpm: fix event_size output in tpm1_binary_bios_measurements_show
    e9c90756f10da xfrm: xfrm_interface: require CAP_NET_ADMIN in the device netns for changelink
    9257c256efa27 xfrm: use compat translator only for u64 alignment mismatch
    311011f8cc206 xen/gntdev: fix error handling in ioctl
    c3f2f080b21f8 ice: fix ice_init_link() error return preventing probe
    5290a52533e09 i2c: mlxbf: Fix use-after-free in mlxbf_i2c_init_resource()
    6239860c5581f i2c: mediatek: fix WRRD for SoCs without auto_restart option
    1f45a48035bdb hwmon: (ltc2992) add missing 'select REGMAP_I2C' to Kconfig
    b1d16cecefbcd ksmbd: fix integer overflow in set_file_allocation_info()
    ecf3107bfa717 smb: client: use kvzalloc() for megabyte buffer in simple fallocate
    9a14297744686 platform/x86/amd/pmc: Add delay_suspend module parameter
    b977cfb193aad platform/x86/amd/pmc: Delay suspend for some Lenovo Laptops
    1ec0f176f793e platform/x86/amd/pmc: Check for intermediate wakeup in function
    3ee0f478bb29b dmaengine: dw-edma: Add spinlock to protect DONE_INT_MASK and ABORT_INT_MASK
    8f0f5de109111 dmaengine: tegra: Fix burst size calculation
    6b068a97958aa tpm: tpm_tis_spi: Use wait_woken() in wait_for_tmp_stat()
    424130169dc03 irqchip/crossbar: Use correct index in crossbar_domain_free()
    44c6abf5d823d mtd: maps: vmu-flash: fix NULL pointer dereference in initialization
    dc341272cf8e1 mtd: spi-nor: swp: Improve locking user experience
    0d3766fecd9b2 fpga: microchip-spi: fix zero header_size OOB read in mpf_ops_parse_header()
    2b3b4e5ff5a58 net: thunderbolt: Fix frags[] overflow by bounding frame_count
    7a563dbb3d8d5 bus: mhi: ep: Protect mhi_ep_handle_syserr() in the error path
    b2f6220e929b2 fpga: dfl: add bounds check in dfh_get_param_size()
    38c1ef7ce50eb ocfs2: reject non-inline dinodes with i_size and zero i_clusters
    b363e2c77de8e ocfs2: reject dinodes whose i_rdev disagrees with the file type
    a5b555bcabbb0 ocfs2: reject dinodes with non-canonical i_mode type
    7da7e4ac21895 ocfs2: add journal NULL check in ocfs2_checkpoint_inode()
    f14aaaa130356 ocfs2: fix NULL h_transaction deref in ocfs2_assure_trans_credits
    e281d892ce587 ocfs2: avoid moving extents to occupied clusters
    3da4eb15c7b42 mtd: rawnand: fix condition in 'nand_select_target()'
    f62a1f245a716 net/9p: fix infinite loop in p9_client_rpc on fatal signal
    afddc64840351 mtd: rawnand: pl353: fix probe resource allocation
    6ab9356517c7b ocfs2: use kzalloc for quota recovery bitmap allocation
    17400e4d9dd57 scsi: sas: Skip opt_sectors when DMA reports no real optimization hint
    e1919423f1b92 scsi: smartpqi: Use shost_to_hba() in pqi_scan_finished()
    a5a682b016ef5 9p: skip nlink update in cacheless mode to fix WARN_ON
    200b8bc5b6065 mtd: slram: remove failed entries from the device list
    511a60e71aec3 mm/mm_init: fix uninitialized struct pages for ZONE_DEVICE
    31bfda8ca7745 proc: only bump parent nlink when registering directories
    50a753171d255 mm/damon/sysfs-schemes: put stats for scheme_add_dirs() internal error
    a8c0592a80e95 mm/damon/sysfs-schemes: fix dir put orders in access_pattern_add_dirs()
    51afb7da697b6 riscv: cacheinfo: Fix node reference leak in populate_cache_leaves
    3446ffb5d03c3 mips: sched: Fix CPUMASK_OFFSTACK memory corruption
    e44ad91e9f75f power: supply: charger-manager: fix refcount leak in is_full_charged()
    bd77afca2ae9b ntfs3: fix out-of-bounds read in decompress_lznt
    b232eb5c9fe11 ntfs3: validate split-point offset in indx_insert_into_buffer
    53c5f3b2da377 ntfs3: bound to_move in indx_insert_into_root before hdr_insert_head
    7ac4c86915c24 ntfs3: cap RESTART_TABLE free-chain walker at rt->used
    429d653ca641d fs/ntfs3: bound NTFS_DE view.data_off in UpdateRecordData{Root,Allocation}
    96fb64f9da86f fs/ntfs3: add depth limit to indx_find_buffer to prevent stack overflow
    57c071e2c4f30 fs/ntfs3: validate lcns_follow in log_replay conversion
    546518468e6c9 fs/ntfs3: bound attr_off in UpdateResidentValue against data_off
    9b7c28d8c61bd fs/ntfs3: bound copy_lcns dp->page_lcns[] index in analysis pass
    4c8aac931c1cd fs/ntfs3: bound DeleteIndexEntryAllocation memmove length
    af08e689ec260 fs/ntfs3: fix syncing wrong inode on DIRSYNC cross-directory rename
    c31067bf5c8dc mm/damon/core: make charge_addr_from aware of end-address exclusivity
    700c225d829a1 power: supply: cpcap-battery: Fix missing nvmem_device_put() causing reference leak
    27857db30c985 MIPS: DEC: Ensure 32-bit stack location for o32 prom_printf()
    fadd0af657f35 MIPS: ip22-gio: fix device reference leak in probe
    22c4c06006721 MIPS: ip22-gio: fix kfree() of static object
    9d19995c61977 MIPS: ip22-gio: fix gio device memory leak
    65104d6eb43f0 remoteproc: qcom: Fix leak when custom dump_segments addition fails
    4a1148f2739d5 SUNRPC: Bound-check xdr_buf_to_bvec() stores before writing
    7ce4c23e783e7 lockd: Plug nlm_file refcount leak on cached nlm_do_fopen() failure
    ddfbd816273b4 lockd: Plug nlm_file leak when nlm_do_fopen() fails
    0d8ceb3988414 sunrpc: wait for in-flight TLS handshake callback when cancel loses race
    f3b55945dd99f sunrpc: pin svc_xprt across the asynchronous TLS handshake callback
    0b0d9404951aa nvdimm/btt: Free arena sub-allocations on discover_arenas() error path
    5804e6a6912b5 nvdimm/btt: Free arenas on btt_init() error paths
    fb9b49618ed72 jbd2: fix integer underflow in jbd2_journal_initialize_fast_commit()
    d141d9b769bcd Bluetooth: SCO: hold sk properly in sco_conn_ready
    44a203afaedb4 Bluetooth: SCO: fix sleeping under spinlock in sco_conn_ready
    6df7b63afb666 HID: playstation: validate num_touch_reports in DualShock 4 reports
    614b6c5ad99c6 mfd: tps6586x: Fix OF node refcount
    9015475f766b3 cifs: invalidate cfid on unlink/rename/rmdir
    604bd5042fbcd batman-adv: tt: prevent TVLV OOB check overflow
    d2148aeee9319 batman-adv: frag: fix primary_if leak on failed linearization
    740542f11bf8c batman-adv: frag: free unfragmentable packet
    5ae95378caa59 batman-adv: fix VLAN priority offset
    067e413eec2e6 batman-adv: tt: avoid request storms during pending request
    ddfea9b5089c7 batman-adv: dat: fix tie-break for candidate selection
    3c62694c31f04 batman-adv: dat: ensure accessible eth_hdr proto field
    ab2bac47a0263 batman-adv: bla: reacquire gw address after skb realloc
    3404be97b940a batman-adv: dat: acquire ARP hw source only after skb realloc
    ed90eb5c68420 batman-adv: access unicast_ttvn skb->data only after skb realloc
    afac8096bde49 batman-adv: gw: acquire ethernet header only after skb realloc
    27206bb57c47b s390/perf_cpum_cf: Add missing array_index_nospec() to __hw_perf_event_init()
    5be478c1e0898 perf/x86/amd/lbr: Fix kernel address leakage
    7ab30a12b88bf x86/boot: Reject too long acpi_rsdp= values
    9a77a7639dfdc x86/boot: Validate console=uart8250 baud rate to fix early boot hang
    db938eb9a3c13 tools/power/x86/intel-speed-select: Harden daemon pidfile open
    a3e340d506c10 mfd: sm501: Fix reference leak on failed device registration
    8bf529571cca6 leds: uleds: Fix potential buffer overread
    30500acfc43ef selinux: fix incorrect execmem checks on overlayfs
    e507633bf76bc selinux: check connect-related permissions on TCP Fast Open
    bb29a484dee0b soc: fsl: qe: panic on ioremap() failure in qe_reset()
    f747a76004dac soc: ti: k3-ringacc: Fix access mode for k3_ringacc_ring_pop_tail_io/proxy
    edc7267b59a46 gpu: host1x: Fix device reference leak in host1x_device_parse_dt() error path
    c141f69d0a0fb netfilter: bridge: fix stale prevhdr pointer in br_ip6_fragment()
    a842dab87cab2 netfilter: xt_nat: reject unsupported target families
    bca4bfb9cc5c5 netfilter: ecache: fix inverted time_after() check
    7bdc3c0985ecf netfilter: nf_conncount: fix zone comparison in tuple dedup
    cd0d7bbc027b4 netfilter: nf_conntrack_reasm: guard mac_header adjustment after IPv6 defrag
    57e4e29644ec0 netfilter: nf_nat_sip: reload possible stale data pointer
    3f03a2d225c66 netfilter: nf_queue: pin bridge device while NFQUEUE holds fake dst
    fac2fdac3baad netfilter: xt_cluster: reject template conntracks in hash match
    893319e9950d0 netfilter: nfnl_cthelper: apply per-class values when updating policies
    2b70f61f569bb netfilter: nf_conntrack_irc: fix parse_dcc() off-by-one OOB read
    ec369eac0795c ASoC: qcom: q6apm: fix NULL pointer dereference in graph_callback
    48b6c39883637 ASoC: mediatek: mt8183: Release reserved memory on cleanup
    989cbe8cc86f4 ASoC: mediatek: mt8192: Release reserved memory on cleanup
    ee781058cd4d7 ASoC: SOF: ipc3-control: Validate size in snd_sof_update_control
    1adde1941bba7 ASoC: SOF: ipc3-control: Fix heap overflow in bytes_ext put/get
    8d16e5bc78478 fbdev: tridentfb: fix potential memory leak in trident_pci_probe()
    6ca48f23ce61a fbdev: nvidia: fix potential memory leak in nvidiafb_probe()
    124df55c7201d fbdev: vesafb: fix memory leak in vesafb_probe()
    d21e6747f3f68 fbdev: carminefb: fix potential memory leak in alloc_carmine_fb()
    dfbb1a695d889 fbdev: tdfxfb: fix potential memory leak in tdfxfb_probe()
    c53fdf7ee65af fbdev: uvesafb: fix potential memory leak in uvesafb_probe()
    0d0fa8425b296 fbdev: s3fb: fix potential memory leak in s3_pci_probe()
    e1ecbaeec5fbf fbdev: i740fb: fix potential memory leak in i740fb_probe()
    f4dacbfd885f3 fbdev: radeon: fix potential memory leak in radeonfb_pci_register()
    200375909216b fbdev: sm712: Fix operator precedence in big_swap macro
    2952767e399e2 fbdev: hecubafb: fix potential memory leak in hecubafb_probe()
    4ce94f9e3bfb3 fbdev: broadsheetfb: fix potential memory leak in broadsheetfb_probe()
    01708cf3dca2f fbdev: metronomefb: fix potential memory leak in metronomefb_probe()
    8e9f7a95279bf KVM: x86: Ignore pending PV EOI if the vCPU has since disabled PV EOIs
    3ef3190e30601 KVM: s390: pci: Fix handling of AIF enable without AISB
    654be81c4c637 KVM: arm64: vgic: Check the interrupt is still ours before migrating it
    6e69317cd44a2 KVM: s390: pci: Fix GISC refcount leak on AIF enable failure
    1237c24ea3ceb arm64: dts: qcom: sdm630: describe adsp_mem region properly
    cedcabcd3c826 arm64: fpsimd: Fix type mismatch in sve_{save,load}_state()
    9433578bff9c1 net: ife: require ETH_HLEN to be pullable in ife_decode()
    513f820b3f0cf net: atm: reject out-of-range traffic classes in QoS validation
    d0597074e9973 net: qrtr: fix 32-bit integer overflow in qrtr_endpoint_post()
    7c6d2d2baeb1e ASoC: SOF: topology: validate vendor array size before parsing
    0dce240145f47 ASoC: SOF: ipc3-control: Fix TOCTOU in bytes_put and bytes_get
    89a2309a9eec8 ASoC: SOF: ipc3-control: Use overflow checks in control_update size calc
    266f936db83ae ASoC: SOF: ipc4-control: Fix TOCTOU in sof_ipc4_bytes_put
    d7e7c813834c6 vduse: Fix race in vduse_dev_msg_sync and vduse_dev_read_iter
    220d41bdce41f mlxsw: fix refcount leak in mlxsw_sp_vrs_lpm_tree_replace()
    8b3350eacd9df mlxsw: fix refcount leak in mlxsw_sp_port_lag_join()
    160045fc943f6 smb: client: fix overflow in passthrough ioctl bounds check
    212c59e5e4168 octeontx2-af: fix VF bringup affecting PF promiscuous state
    6c97f394bb15f net/mlx5: Fix L3 tunnel entropy refcount leak
    75a59698886cc selftests/net: fix EVP_MD_CTX leak in tcp_mmap
    29a7953e9adea regulator: core: regulator_lock_two() should test for EDEADLK not EDEADLOCK
    889374b8e4a60 dm era: fix NULL pointer dereference in metadata_open()
    79cd550f8c884 SUNRPC: pin upper rpc_clnt across the TLS connect_worker
    ce4d29a99878c SUNRPC: release lower rpc_clnt if killed waiting for XPRT_LOCKED
    d64b6be5740ce cifs: validate DFS referral string offsets
    25e7c0fc304bd s390/zcrypt: Remove the empty file
    9bc9b95aee2b2 ipvs: ensure inner headers in ICMP errors are in headroom
    accee8e53a760 ipvs: fix PMTU for GUE/GRE tunnel ICMP errors
    d45f73c274435 ipvs: use parsed transport offset in TCP state lookup
    946e09454b1a0 ipvs: pass parsed transport offset to state handlers
    9815e834f5ff8 ipv6: mcast: Fix potential UAF in MLD delayed work
    8374a462c74ec ipv6: mcast: Replace locking comments with lockdep annotations.
    40a1e998cb266 ipv4: igmp: Fix potential UAF in igmp_gq_start_timer()
    75a7e03ad7336 octeontx2-pf: check DMAC extraction support before filtering
    336c1e414fc0e net/sched: cake: reject overhead values that underflow length
    ff431529d3773 net: usb: lan78xx: disable VLAN filter in promiscuous mode
    0e75abbc36ed1 net: usb: lan78xx: move functions to avoid forward definitions
    0867b0f2513eb net/tls: Consume empty data records in tls_sw_read_sock()
    dbcb8635b1eb7 ring-buffer: Fix event length with forced 8-byte alignment
    f80b4afe893df Bluetooth: bpa10x: avoid OOB read of revision string in bpa10x_setup()
    85f5e3a9885a3 Bluetooth: ISO: exclude RFU bits from ISO_SDU_Length
    5aabbd01ac315 Bluetooth: MGMT: Fix adv monitor add failure cleanup
    ba1f1ef6522e6 Bluetooth: 6lowpan: hold L2CAP conn across debugfs control
    dd54267a70e32 amt: fix size calculation in amt_get_size()
    647b19e5cc145 net/smc: fix UAF in smc_cdc_rx_handler() by pinning the socket
    0d8532a5e972a net/sched: act_pedit: fix TOCTOU heap OOB write in tc offload
    3868c3244369a net: qualcomm: rmnet: validate MAP frame length before ingress parsing
    0bf78df2d3ecb qede: fix off-by-one in BD ring consumption on build_skb failure
    786456d0a244b net: microchip: vcap: fix races on the shared Super VCAP block
    24c77044cdfcf net/mlx5e: Fix HV VHCA stats agent registration race
    5b927dcec5f10 net/mlx5e: Fix HV VHCA stats zero-sized buffer allocation
    8ace320ac4416 netfilter: xt_connmark: reject invalid shift parameters
    2fd89a50a9783 netfilter: ip6tables: mark malformed IPv6 extension headers for hotdrop
    5da915fc159c6 netfilter: xt_rateest: fix u64 truncation in xt_rateest_mt()
    0a8b7a6d76377 netfilter: xt_u32: reject invalid shift counts
    2a99224c12082 gue: validate REMCSUM private option length
    685e92934f11d net: usb: net1080: validate packet_len before pad-byte access in rx_fixup
    6a3e06f1d1185 selftests/hid: Cover hid_bpf_get_data() size overflow
    56558ef8eb2f8 selftests/hid: convert the hid_bpf selftests with struct_ops
    4dee51c96e870 selftests/hid: force using our compiled libbpf headers
    b52c523eb8fc9 selftests/hid: do not manually call headers_install
    75e9e9f1bc6ca selftests/hid: ensure we can compile the tests on kernels pre-6.3
    6a10e76a56f81 arm64/mm: Optimize TLB flush in unmap_hotplug_[pmd|pud]_range()
    33833e83cf552 arm64/mm: convert ptep_clear() to ptep_get_and_clear()
    3be7e80fc59b2 arm64/mm: convert set_pte_at() to set_ptes(..., 1)
    3ea68f5ec9bfe arm64/mm: convert READ_ONCE(*ptep) to ptep_get(ptep)
    c973d53bcd420 HID: core: Fix OOB read in hid_get_report for numbered reports
    a02d5d7ad7ae5 HID: picolcd: prevent NULL pointer dereference in picolcd_send_and_wait()
    9eae03f0df96b ata: sata_gemini: unwind clocks on IDE pinctrl errors
    a11ebaab50d27 minix: avoid overflow in bitmap block count calculation
    598f8ba4e8818 afs: Fix unchecked-length string display in debug statement
    1607075220cf5 afs: Fix the volume AFS_VOLUME_RM_TREE is set on
    bef5514f6b6cb afs: Fix vllist leak
    5a39b145a8fb4 afs: Fix callback service message parsers to pass through -EAGAIN
    ac428553b5a3d afs: use kvfree() to free memory allocated by kvcalloc()
    9ad9016e3333c afs: Fix error code in afs_extract_vl_addrs()
    bac8fb0d60254 fs: refuse O_TMPFILE creation with an unmapped fsuid or fsgid
    d3b5adfa2f008 net/sched: hhf: clear heavy-hitter state on reset
    fb64c5a232808 pinctrl: meson: restore non-sleeping GPIO access
    1bc19683c8bbb gpio: timberdale: Return -ENOMEM on dynamic memory allocation in probe
    fb978d7205270 ksmbd: fix use-after-free of fp->owner.name in durable handle owner check
    515195c5e508c smb: move some duplicate definitions to common/cifsglob.h
    16fb65ec15fe7 ksmbd: reject undersized DACLs before parsing ACEs
    17efa598efd94 net/sched: act_bpf: use rcu_dereference_bh() to read the filter
    d04abfe08e4f8 cxgb4: Fix decode strings dump for T6 adapters
    97cc510eafb6e virtio_net: disable cb when NAPI is busy-polled
    e6b674dc341c6 irqchip/ts4800: Fix missing chained handler cleanup on remove
    57a48d17a789c irqchip/gic-v3-its: Fix OF node reference leak
    284928533c7ed tracing: eprobe: read the complete FILTER_PTR_STRING pointer
    63d5fd8f5e2db tracing/events: Fix to check the simple_tsk_fn creation
    4c40eec06eeac bridge: stp: Fix a potential use-after-free when deleting a bridge
    735567bde7401 net/sched: sch_teql: Introduce slaves_lock to avoid race condition and UAF
    e8c714acf5573 net: gianfar: dispose irq mappings on probe failure and device removal
    d2c37f26d1a37 net: phy: sfp: free mii_bus in sfp_i2c_mdiobus_destroy
    573418f7ea8f8 usbnet: gl620a: fix out-of-bounds read in genelink_rx_fixup()
    2106bf4056858 hwmon: (pmbus) Fix passing events to regulator core
    39a581bd64a0e hwmon: adm1275: Prevent reading uninitialized stack
    8c693f988ce1b MIPS: DEC: Ensure RTC platform device deregistration upon failure
    dcb0940c3df1e sctp: fix SCTP_RESET_STREAMS stream list length limit
    f55276160ffad net: enetc: check the number of BDs needed for xdp_frame
    e30af53dca803 qede: fix out-of-bounds check for cqe->len_list[]
    804bb969f194c seg6: validate SRH length before reading fixed fields
    a05c848a94bbc gpio: htc-egpio: use managed gpiochip registration
    f0320c623f4d4 gpio: mvebu: fail probe if gpiochip registration fails
    0567b5bcbd793 spi: sh-msiof: abort transfers when reset times out
    edce0203a4fc0 tracing: probes: fix typo in a log message
    cde84429e0fae dt-bindings: net: renesas,ether: Drop example "ethernet-phy-ieee802.3-c22" fallback
    d805c95580b23 ASoC: fsl_asrc_dma: fix eDMA maxburst misalignment with channel count
    1596d8ecb6680 net: ethernet: sunplus: spl2sw: fix phy_node refcount leak in remove
    a63eaf7605d15 net: sungem: fix probe error cleanup
    be626ac1faadd net: mvneta: re-enable percpu interrupt on resume
    aa6e2b431070b rtc: cmos: unregister HPET IRQ handler on probe failure
    ebe5ad5937dbc rtc: ds1307: Fix off-by-one issue with wday for rx8130
    0d6d5194d9bba smb/client: preserve errors from smb2_set_sparse()
    ea8e946b09baf ipv6: fix error handling in disable_policy sysctl
    2474255868717 ipv6: fix error handling in forwarding sysctl
    7469cebbd8107 ipv6: fix error handling in ignore_routes_with_linkdown sysctl
    bcf9266fc3cd1 ipv6: fix error handling in disable_ipv6 sysctl
    447d493034a9c net/sched: cls_api: Handle TC_ACT_CONSUMED in tcf_qevent_handle
    83090f5e7b547 veth: fix NAPI leak in XDP enable error path
    fc62bfd30d30a net: dsa: sja1105: round up PTP perout pin duration
    3876318ea54e8 net, bpf: check master for NULL in xdp_master_redirect()
    bd9e5220ffb15 alpha/PCI: Fix __pci_mmap_fits() overflow for zero-length BARs
    4de5ff924c0a8 alpha/PCI: Add security_locked_down() check to pci_mmap_resource()
    4e5ed2a7dda54 NTB: epf: Fix doorbell bitmask and IRQ vector handling
    3fb009699812a NTB: epf: Report 0-based doorbell vector via ntb_db_event()
    ba1a84de32848 NTB: epf: Make db_valid_mask cover only real doorbell bits
    efc17b9240d82 netfilter: nft_compat: ebtables emulation must reject non-bridge targets
    1655ca28c5b6d netfilter: nft_synproxy: stop bypassing the priv->info snapshot
    abef7f817217f netfilter: nf_conncount: prevent connlimit drops for early confirmed ct
    87f7a720de254 netfilter: nf_nat: avoid invalid nat_net pointer use on failed nf_nat_init()
    6b44c6660aa1c bpf: Disable xfrm_decode_session hook attachment
    b3b4719429d5c bpf, lsm: Add disabled BPF LSM hook list
    49eaf14032013 ipv4: fib: Don't ignore error route in local/main tables.
    302d57ed78728 ipv6: Fix null-ptr-deref in fib6_nh_mtu_change().
    7470511d085af ksmbd: fix use-after-free of conn->preauth_info in concurrent SMB2 NEGOTIATE
    52c73b6992b46 rtc: msc313: fix NULL deref in shared IRQ handler at probe
    3186a301d65d5 i40e: Fix i40e_debug() to use struct i40e_hw argument
    d662269211c49 ice: fix AQ error code comparison in ice_set_pauseparam()
    335c2dd21ad9d ice: fix FDIR CTRL VSI resource leak in ice_reset_all_vfs()
    2465d1bdf84e0 PCI: endpoint: pci-epf-ntb: Add check to detect 'db_count' value of 0
    014dd1c8617ba PCI: endpoint: pci-epf-vntb: Add check to detect 'db_count' value of 0
    bfa05d89dc3ca drm/edid: fix OOB read in drm_parse_tiled_block()
    525e408c27ae7 bpf: Fix effective prog array index with BPF_F_PREORDER
    9fe373020cc9d bpf: zero-initialize the fib lookup flow struct
    475405593de2b bpf: Fix stack slot index in nospec checks
    48c16ed988790 rtc: ds1307: handle oscillator stop flag for ds1337/ds1339/ds3231
    429025d25ac24 rtc: abx80x: fix the RTC_VL_CLR clearing all status flags
    e88b1ff95f2ed octeontx2-pf: mcs: Fix mcs resources free on PF shutdown
    ab9c0b007c7fd octeontx2-pf: Clear stats of all resources when freeing resources
    9ab0fb5758cbb octeontx2-af: mcs: Fix unsupported secy stats read
    754dfaddde3a1 net: ethernet: mtk_ppe: Fix rhashtable leak in mtk_ppe_init error paths
    5e215bf1c47fd tipc: fix use-after-free of the discoverer in tipc_disc_rcv()
    a07f77e995a63 net: marvell: prestera: initialize err in prestera_port_sfp_bind
    c6edb7532c8e7 selftests/mm: fix exclusive_cow test fork() handling
    75ec9461a4623 selftests/mm: allow PUD-level entries in compound testcase of hmm tests
    04dfc21465992 selftests/mm: clarify alternate unmapping in compaction_test
    b508e7542d683 irqchip/crossbar: Fix parent domain resource leak
    f73b7de5338fc netfilter: nft_meta_bridge: fix NFT_META_BRI_IIFPVID stack leak
    76d1bc5498c72 netfilter: nf_reject: skip iphdr options when looking for icmp header
    d01b4b471f0fc netfilter: ipset: fix order of kfree_rcu() and rcu_assign_pointer()
    6329d3a9afe71 netfilter: ipset: Don't use test_bit() in lockless RCU readers in hash types
    28642b1420f27 netfilter: ipset: annotate "pos" for concurrent readers/writers
    bead63993e05e netfilter: ipset: Fix data race between add and dump in all hash types
    c66ed3e6371f5 md/raid1: free r1_bio when REQ_NOWAIT is set and read would block on retry
    71b5add66c51d ieee802154: fix kernel-infoleak in dgram_recvmsg()
    ded58bfebcb32 ieee802154: Remove WARN_ON() in cfg802154_pernet_exit()
    e74488982ecfd ACPI: IPMI: Fix inverted interface check in ipmi_bmc_gone()
    e3987bc539630 ACPI: resource: Amend kernel-doc style
    e432404e63edd thermal: intel: Fix dangling resources on thermal_throttle_online() failure
    79417b08f747d arm64/hw_breakpoint: reject unaligned watchpoints that would truncate BAS
    bcdd5a7363bdd ALSA: usb-audio: Kill MIDI 2.0 URBs before freeing endpoints
    9a65860959db5 flow_dissector: check device type before reading ETH_ADDRS
    f104794507099 devlink: Fix parent ref leak in devl_rate_node_create()
    0ce4f958ddeb8 dpaa2-switch: fix VLAN upper check not rejecting bridge join
    38e94d63e29f4 virtio-net: fix len check in receive_big()
    154e29d0c6a23 spi: rpc-if: Use correct device for hardware reinitialization on resume
    e58aef585d173 PCI: iproc: Restore .map_irq() for the platform bus driver
    722576aba0a6d sctp: hold socket lock when dumping endpoints in sctp_diag
    befe1ebe7fc2c net: psample: fix info leak in PSAMPLE_ATTR_DATA
    19d2d36e193c3 octeontx2-pf: Fix leak of SQ timestamp buffer on teardown
    cfbffc8091f51 drm/amdgpu: initialize irq.lock spinlock earlier
    506e635aed05d drm/amdkfd: fix list_del corruption in kfd_criu_resume_svm
    283e77af49fda drm/amdkfd: Avoid double-unpin of DOORBELL/MMIO BOs on free
    a6d0abb35052c ASoC: tlv320aic3x: restrict CLKDIV bypass Q values in dual-rate mode
    efa9e3b9f3dea xfrm: validate selector family and prefixlen during match
    a1c6d68ddee37 xfrm: annotate data-races around xfrm_policy_count[] and xfrm_policy_default[]
    be8cdef5c93d5 xfrm: Support crypto offload for inbound IPv6 ESP packets not in GRO path
    22d554d9ba241 xfrm: Use the XFRM_GRO to indicate a GRO call on input
    cb4f93bdade99 spi: dw: fix wrong BAUDR setting after resume
    6564da2814a79 gpio: mlxbf3: fail probe if gpiochip registration fails
    e1a215900d2ed sparc: led: avoid trimming a newline from empty writes
    5feaaa1d34b29 apparmor: fix label can not be immediately before a declaration
    b8e89081a97b6 i3c: master: Prevent reuse of dynamic address on device add failure
    07fea242a8942 apparmor: put secmark label after secid lookup
    58817bf37ccc4 apparmor: aa_getprocattr free procattr leak on format failure
    5cba148eae6e8 apparmor: fix potential UAF in aa_replace_profiles
    5acb878db4132 apparmor: grab ns lock and refresh when looking up changehat child profiles
    6a26de6c05542 apparmor: fix rawdata_f_data implicit flex array
    cc2192899d502 apparmor: aa_label_alloc use aa_label_free on alloc failure
    b7c45c05a396a apparmor: check label build before no_new_privs test
    79d80d70b03d1 security/apparmor/apparmorfs.c: conditionally compile get_loaddata_common_ref()
    6848ca381edff Revert "PCI/MSI: Unmap MSI-X region on error"
    2e605bef29e09 PCI: mediatek: Use actual physical address instead of virt_to_phys()
    26b30daf73ae8 PCI: mediatek: Fix possible truncation in mtk_pcie_parse_port()
    b3c60e4f962dd tools lib api: Fix mount_overload() snprintf truncation and toupper range
    bd0a73192c3a9 tools lib api: Fix filename__write_int() writing uninitialized stack data
    20a17dd8a0c7e tools lib api: Fix missing null termination in filename__read_int/ull()
    05457b1241d74 xprtrdma: Return sendctx slot after Send preparation failure
    4322fd9645ee7 xprtrdma: Repost Receive buffers for malformed replies
    4163424214017 xprtrdma: Sanitize the reply credit grant after parsing
    88b5346284a18 xprtrdma: Fix bcall rep leak and unbounded peek
    e967e82e372f4 xprtrdma: Resize reply buffers before reposting receives
    2b84ff4da343b xprtrdma: Document and assert reply-handler invariants
    dd798b76a3481 xprtrdma: Check frwr_wp_create() during connect
    65a04db641fdb PCI: rcar-host: Remove unused LIST_HEAD(res)
    2097a2537d9d1 fs/ntfs3: resize log->one_page_buf when adopting on-disk page size
    018359b048c4c PCI: meson: Propagate devm_add_action_or_reset() failure
    b0c5bc5068f8c PCI: mediatek: Fix operator precedence in PCIE_FTS_NUM_L0 macro
    4bc7e5c789b62 NFSv4/flexfiles: honor FF_FLAGS_NO_IO_THRU_MDS in pg_get_mirror_count_write
    502b282f2f452 NFSv4/flexfiles: honor FF_FLAGS_NO_IO_THRU_MDS on fatal DS connect errors
    c31ce9fd8b349 nfs: keep PG_UPTODATE clear after read errors in page groups
    02e00663846b2 NFSv4/pnfs: defer return_range callbacks until after inode unlock
    9f3d9b68c1c6c xprtrdma: Decouple req recycling from RPC completion
    d006a5fb63b92 xprtrdma: Use sendctx DMA state for Send signaling
    d1b159356a358 xprtrdma: Post receive buffers after RPC completion
    9d17e2618037d xprtrdma: Close lost-wakeup race in xprt_rdma_alloc_slot
    b7070614baeba xprtrdma: Avoid 250 ms delay on backlog wakeup
    e253e1a0b360e xprtrdma: Remove temp allocation of rpcrdma_rep objects
    b6c4002122573 pNFS/filelayout: fix cheking if a layout is striped
    a64d70d5e33f8 clk: qcom: a53: Corrected frequency multiplier for 1152MHz
    5876f38b67a30 dmaengine: Fix possible use after free
    98cc38b541014 dmaengine: qcom: gpi: set DMA_PRIVATE capability
    ba8b410c7c4f6 perf: Fix off-by-one stack buffer overflow in kallsyms__parse()
    b67a3bcc1cb49 dmaengine: imx-sdma: Refine spba bus searching in probe
    bca364c4c7579 drm/amd/display: Add missing kdoc for ALLM parameters
    914a77aa7a24e fs/ntfs3: fix mount failure on 64K page-size kernels
    8afc24a884aff fs/ntfs3: add bounds check to run_get_highest_vcn()
    6c63a4ed26927 HID: logitech-hidpp: remove excess kernel-doc member in hidpp_scroll_counter
    eda31b3b90f15 clk: at91: keep securam node alive while mapping it
    8ac30431ca7e4 iio: tcs3472: power down chip on probe failure
    eed69f8a10b82 iio: accel: mma8452: handle I2C read error(s) in mma8452_read()
    94d158985b6ea iio: adc: xilinx-ams: fix out-of-bounds channel lookup in event handling
    8cf3460745333 iio: magnetometer: ak8975: fix potential kernel stack memory leak
    922e9be5c41a2 iio: light: si1133: prevent race condition on timeout
    4799162324a84 iio: light: si1133: reset counter to prevent race condition
    764723bd67a6c char: tlclk: fix use-after-free in tlclk_cleanup()
    2bb0cfa1392c3 usb: host: max3421: Reject hub port requests for non-existent ports
    d512bdefd241b usb: host: max3421: Fix shift-out-of-bounds in max3421_hub_control()
    4928096212b78 staging: most: video: avoid double free on video register failure
    e519c1d8c5efb mailbox: mtk-adsp: fix UAF during device teardown
    9c55eb9a0f6f4 phy: phy-can-transceiver: Check driver match and driver data against NULL
    4d6628c106697 bus: mhi: ep: Fix potential deadlock in mhi_ep_reset_worker()
    78a0d1fa5d7a3 PCI: loongson: Do not ignore downstream devices on external bridges
    f67b187af7493 platform/x86: xo15-ebook: Fix wakeup source and GPE handling
    37b43903ef0f0 x86/platform/olpc: xo15: Drop wakeup source on driver removal
    4997873e3abba PCI: Check ROM header and data structure addr before accessing
    01b03bc88bd8d PCI: Introduce named defines for PCI ROM
    a397bf58445ff PCI/ASPM: Don't reconfigure ASPM entering low-power state
    d887844028cd6 coresight: etm4x: Correct TRCVMIDCCTLR1 save and restore
    66433aca6e806 coresight: cti: Fix DT filter signals silently ignored
    08626fcfe1230 staging: nvec: fix use-after-free in nvec_rx_completed()
    8aadc136d8e8d net/9p: fix race condition on rdma->state in trans_rdma.c
    49b34bd3ad696 ocfs2: fix circular locking dependency in ocfs2_dio_end_io_write
    2ce02059ceb63 mfd: cs42l43: Sanity check firmware size
    7c3264d273d52 ksmbd: fix use-after-free in same_client_has_lease()
    179966099aa10 ionic: Fix check in ionic_get_link_ext_stats
    572fff10819df tcp: ipv6: clamp default adverting MSS to avoid GSO_BY_FRAGS (0xFFFF)
    50ff092633b06 tipc: fix UAF in tipc_l2_send_msg()
    00cd01ea0cf53 KEYS: Use acquire when reading state in keyring search
    55d0edf94c19c powerpc/kexec: fix double get_cpu() imbalance in kexec_prepare_cpus
    7c75878359bd2 powerpc/powernv: fix preempt count leak in pnv_kexec_wait_secondaries_down
    5397142d60aa2 powerpc/perf: fix preempt count underflow in fsl_emb_pmu_del
    ac7385af1dca8 MIPS: mm: Fix out-of-bounds write in maar_res_walk()
    c05a0ec1cdced bpf, sockmap: fix integer overflow in bpf_msg_pop_data() bounds check
    888706a76286c bpf, sockmap: reject overflowing copy + len in bpf_msg_push_data()
    5c5fccbcf3e1c bpf: Fix bpf_get/setsockopt to tos for ipv4-mapped ipv6 socket
    98219ce3e1c96 selftests/bpf: Initialize operation name before use
    6fb80feea3099 smb/client: always return a value for FS_IOC_GETFLAGS
    4465ebe67d893 cifs: remove all cifs files before kill super
    3ff31b83aacf2 ALSA: core: Fix unintuitive behavior of snd_power_ref_and_wait()
    68d0415c16e5e netfilter: nf_conncount: callers must hold rcu read lock
    b8c90823cdfb5 kcm: use WRITE_ONCE() when changing lower socket callbacks
    498a667dc9542 net: bcmgenet: Use weighted round-robin TX DMA arbitration
    7edd4db82f942 net: wwan: t7xx: check skb_clone in control TX
    8d654fa6ebf45 net/mlx5: Check max_macs devlink param value against max capability
    b6dced2150081 bpf: Run generic devmap egress prog on private skb
    637639118ef33 net: mana: guard TX wq object destroy with INVALID_MANA_HANDLE check
    8e52a247d9aa9 net: mana: initialize gdma queue id to INVALID_QUEUE_ID
    e8c6dbadf139c net/sched: sch_codel: Do not call qdisc_tree_reduce_backlog during peek before restoring qlen
    acc08a0c7f37e net/sched: sch_fq_codel: Do not call qdisc_tree_reduce_backlog during peek before restoring qlen
    25fb53e43ec00 handshake: Require admin permission for DONE command
    23a29ee1d9de3 power: supply: core: fix supplied_from allocations
    820a87639e9aa ASoC: adau1372: Clear PLL_EN on failed PLL lock without reset GPIO
    dfab0d4698a64 spi: xilinx: use FIFO occupancy register to determine buffer size
    cbc2fcf580882 crypto: rng - Free default RNG on module exit
    8afd1007ef798 crypto: cavium/cpt - fix DMA cleanup using wrong loop index
    ed374dbc70c10 crypto: marvell/octeontx - fix DMA cleanup using wrong loop index
    66bdbb8e6c5c8 cxl/test: Add check after kzalloc() memory in alloc_mock_res()
    f1715d92ee309 tipc: reject inverted service ranges from peer bindings
    47ed873e4ceda tipc: prevent snt_unacked underflow on CONN_ACK
    9b937de4b3ded tipc: require net admin for TIPCv2 netlink mutators
    b2a017bfcf565 net/sched: sch_hfsc: Don't make class passive twice
    85f54cf589163 sctp: validate embedded address parameter length
    53788b134519e bridge: cfm: reject invalid CCM interval at configuration time
    a7ef30753353b net: fib_rules: Don't dump dying fib_rule in fib_rules_dump().
    3d05400186027 net/sched: cls_flow: Dont expose folded kernel pointers
    4bcb23635d505 ASoC: tegra: tegra210_ahub: Validate written enum value
    0b10c6203e62d ASoC: fsl: fsl_audmix: Validate written enum values
    8cbf24714d6b3 ASoC: codecs: hdac_hdmi: Validate written enum value
    aabfc845838ef RDMA/mlx5: Release the HW‑provided UAR index rather than the SW one
    6fc874fdfb366 RDMA/mlx5: Fix undefined shift of user RQ WQE size
    87262e60adfe1 RDMA/mlx5: Remove raw RSS QP restrack tracking
    60fa67263a772 fs: efs: remove unneeded debug prints
    41d3e5526fcd6 Bluetooth: vhci: validate devcoredump state before side effects
    290b36f9d1eb9 Bluetooth: hci: validate codec capability element length
    809230cc25dde Bluetooth: hci_qca: fix NULL pointer dereference in qca_dmp_hdr() for non-serdev device
    b43dee28b7c81 s390/process: Fix kernel thread function pointer type
    eb73056ce2a6f bpf: Tighten cgroup storage cookie checks for prog arrays
    b0dbe5f70ee8d of: cpu: add check in __of_find_n_match_cpu_property()
    7f10e0f35ac1d cxl/test: Zero out LSA backing memory to avoid leaking to user
    0101d4000a124 cxl/test: Fix integer overflow in mock LSA bounds checks
    2a0ee19de6e89 selftests/bpf: Fix bpf_iter/task_vma test
    260830a9a706f ext4: fix kernel BUG in ext4_write_inline_data_end
    015e32e264a9b bonding: 3ad: fix mux port state on oper down
    3c75cd8e68f1f ASoC: cs35l56: Don't leave parent IRQ disabled if system_suspend fails
    b72d5d2d8fe76 ASoC: cs35l56: Fix missing calls to wm_adsp2_remove()
    67fb36b508ce7 tools/virtio: check mmap return value in vringh_test
    6445b945024f4 vhost/net: complete zerocopy ubufs only once
    f8e1f130689a2 vduse: Requeue failed read to send_list head
    2b3f79b90b231 vhost/vdpa: validate virtqueue index in mmap and fault paths
    93ed4692f2299 vduse: hold vduse_lock across IDR lookup in open path
    dbc63fe645f09 ASoC: codecs: aw88261: fix incorrect masks for boost regs
    a28ad91dc5d80 spi: meson-spifc: fix runtime PM leak on remove
    407472df02dba IB/mlx4: Fill in the access_flags if IB_MR_REREG_ACCESS is not specified
    fcce8a44dfa39 btrfs: zoned: don't account data relocation space-info in statfs free space
    5a15f8d87a007 hwmon: (it87) Clamp negative values to zero in set_fan()
    b2ff450f7f5cf fbdev: sm501fb: Fix buffer errors in OF binding code
    015dc4a1e0c2c btrfs: fix invalid pointer dereference in __btrfs_run_delayed_refs()
    06010aab6ec04 wifi: mt76: mt7921: fix potential tx_retries underflow
    d42f6f25211a4 wifi: mt76: mt7915: fix potential tx_retries underflow
    e93b18ddc18a2 wifi: mt76: fix argument to ieee80211_is_first_frag()
    66f21eecda2a2 sched/fair: Fix cpu_util runnable_avg arithmetic
    6abaa8ec1b986 hwspinlock: qcom: avoid uninitialized struct members
    af71c2b88ccae vmalloc: fix NULL pointer dereference in is_vm_area_hugepages()
    310958030dc02 pinctrl: mediatek: mt8167: Fix Schmitt trigger register offset of pins 34-39
    9f56b6dbefa85 pinctrl: mediatek: mt8516: Fix Schmitt trigger register offset of pins 34-39
    8c888a062c6de scsi: target: Remove tcm_loop target reset handling
    0165403da5086 scsi: target: Fix hexadecimal CHAP_I handling
    89184909634e5 watchdog: unregister PM notifier on watchdog unregister
    9e57e2863872e configfs: fix lockless traversals of ->s_children
    38149b57427c7 firmware_loader: Fix recursive lock in device_cache_fw_images()
    43c9646d98a04 spi: ep93xx: fix double-free of zeropage on DMA setup failure
    94f7e50eb6b2c IB/mlx5: Properly support implicit ODP rereg_mr
    52d0e6527716f IB/mlx5: Don't take the rereg_mr fallback without a new translation
    2bc08fe88e578 cpufreq: Documentation: fix conservative governor freq_step description
    e67b984f8c142 ACPI: IPMI: Fix message kref handling on dead device
    e0c3edd864145 ALSA: seq: Clear variable event pointer on read
    dba54c80f86eb riscv: stacktrace: Remove bogus -0x4 offset in non-FP walk_stackframe
    32b482fbda6b5 ALSA: seq: Fix partial userptr event expansion
    c07aa0534d503 wifi: wcn36xx: fix OOB read from short trigger BA firmware response
    64228dfc4247a wifi: wcn36xx: fix OOB read from firmware count in PRINT_REG_INFO indication
    cfc67aee0c83e wifi: wcn36xx: fix heap overflow from oversized firmware HAL response
    5e630134d11d4 bpf: Update transport_header when encapsulating UDP tunnel in lwt
    1bfabe51760db bpf: Check tail zero of bpf_prog_info
    f8ab1c1bf42ee arm64: dts: tqma8mpql-mba8mpxl: configure sai clock in audio codec as well
    3982121730f91 RDMA/irdma: Initialize iwmr->access during MR registration
    ad360a31092a8 RDMA/irdma: Fix OOB read during CQ MR registration
    9b82054dfe69a IB/cm: Fix av cm device leak on an error path in cm_init_av_by_path()
    c121473586603 netfilter: conntrack: call nf_ct_gre_keymap_destroy() if master helper is pptp
    6bba4846f196d netfilter: conntrack: revert ct extension genid infrastructure
    8d86b4041d219 netfilter: synproxy: protect nf_ct_seqadj_init() with conntrack lock
    cc5d7dadb6d87 netfilter: nfnetlink_osf: fix mss parsing on big-endian architectures
    f38fb17c8758e ocfs2: fix race between ocfs2_control_install_private() and ocfs2_control_release()
    aa7883b6a3c76 ocfs2/dlm: require a ref for locking_state debugfs open
    346314bb0cc2f ocfs2: reject FITRIM ranges shorter than a cluster
    ecb3f9386f435 ocfs2: fix buffer head management in ocfs2_read_blocks()
    6b38a5b8ee951 ocfs2: rebase copied fsdlm LVB pointers in locking_state
    a97a5f842c68f perf/x86/amd/core: Always use the NMI latency mitigation
    c35dce681145f bpftool: Use libbpf error code for flow dissector query
    71323880be792 drm/amdgpu: set sub_block_index for mca ras sub-blocks
    eee07d769da5a configfs_lookup(): don't leave ->s_dentry dangling on failure
    b0799d03b709f lib/test_meminit: use && for bools
    e8bbcc00760df sched: restore timer_slack_ns when resetting RT policy on fork
    8990dbb7065b0 ext2: fix ignored return value of generic_write_sync()
    4af4f0b04964a mm/fake-numa: fix under-allocation detection in uniform split
    c70d0f9114c3c bpf: fix UAF by restoring RCU-delayed inode freeing in bpffs
    10e05b5ff05ce scsi: ufs: Fix wrong value printed in unexpected UPIU response case
    4f944acca6379 scsi: pm8001: Fix error code in non_fatal_log_show()
    da4853eb4616f scsi: Revert "scsi: Fix sas_user_scan() to handle wildcard and multi-channel scans"
    73e35c1bdfa16 nvdimm/btt: Handle preemption in BTT lane acquisition
    c225bb49c697f ARM: imx31: Fix IIM mapping leak in revision check
    ddab66c9a90d6 ata: libata: Fix ata_exec_internal()
    21b8e6afbd1bb HID: wiimote: Fix table layout and whitespace errors
    7eb7c42ec4930 ARM: imx3: Fix CCM node reference leak
    93bc5642fbda3 ASoC: rsnd: Fix RSND_SOC_MASK width to single nibble
    70b1c71b1fdfb ext4: fix LOGFLUSH shutdown ordering to allow ordered-mode data writeback
    ce3030e92f143 md/raid10: reset read_slot when reusing r10bio for discard
    964a44a990d61 rpmsg: use generic driver_override infrastructure
    04c18c43d250e media: qcom: venus: relax encoder frame/blur step size on v6
    061a2f302fc50 media: qcom: venus: relax encoder frame/blur dimension steps on v4
    c4f0846d1d246 media: qcom: venus: drop extra padding in NV12 raw size calculation
    fc72fd61cc8b2 RDMA/rxe: Copy WQE to local buffer in non-SRQ receive path
    cd19a6345e372 RDMA/rxe: Fix TOCTOU heap overflow in get_srq_wqe
    0c16d7c01284a EDAC/{skx_common,skx}: Fix UBSAN shift-out-of-bounds in skx_get_dimm_info
    01623d834b5e8 drm/msm/dp: Fix the ISR_* enum values
    fee0e0eefcd41 drm/msm/dp: fix HPD state status bit shift value
    86145b5c5a7c2 crypto: hisilicon/qm - disable error report before flr
    cc7d67197c51a ocfs2: kill osb->system_file_mutex lock
    b460f8d01a120 ocfs2: don't BUG_ON an invalid journal dinode
    acd54f42abbbd rapidio/tsi721: prevent a bad dereference in tsi721_db_dpc()
    d47b0b8a69a13 dax/kmem: account for partial discontiguous resource upon removal
    ca06e163e5181 libbpf: Fix UAF in strset__add_str()
    fb203d0e21dc0 libbpf: Harden parse_vma_segs() path parsing
    9980c66ad2d4f drm/nouveau/bios: specify correct display fuse register for Ampere and Ada
    13d9e73955c91 drm/tegra: Fix iommu_map_sgtable() return value check
    3ac173e46ef6f gpu: host1x: Fix iommu_map_sgtable() return value check
    3d211fb43a04e drm/tegra: dc: Fix device node reference leak in tegra_dc_has_output()
    71c017b3f83ff gpu: host1x: Allow entries in BO caches to be freed
    4b731af227c69 drm/tegra: gr2d/gr3d: Contain PM in the gr*d_probe/gr*d_remove
    6e22d5ad61cfa drm/tegra: gr2d/gr3d: Initialize address register map before HOST1X client is registered
    4a76953c3ed04 net/sched: cls_bpf: prevent unbounded recursion in offload rollback
    1e3db30a88815 ipv6: guard against possible NULL deref in __in6_dev_stats_get()
    ec2644cc69e14 workqueue: drop spurious '*' from print_worker_info() fn declaration
    9ffdd11bd6c96 nvme-multipath: fix flex array size in struct nvme_ns_head
    2f7c245d4601d pinctrl: cs42l43: Fix polarity on debounce
    936641af564c3 ALSA: seq: midi: Serialize output teardown with event_input
    82d6a87de7843 mtd: spi-nor: Drop duplicate Kconfig dependency
    5b36ed8cc78f5 mips: n64: add __iomem for writel call
    9291ea4dc7b05 mips: ralink: mt7621: add missing __iomem
    17f5de95069b8 MIPS: DEC: Remove do_IRQ() call indirection
    f3d1b0c22466f MIPS: Fix big-endian stack argument fetching in o32 wrapper
    59096e2aa0f66 PM: sleep: Use complete() in device_pm_sleep_init()
    a22346dc47b02 RDMA/counter: Fix incorrect port index in rdma_counter_init() error cleanup
    a075a7acd155f RDMA/hns: Fix warning in poll cq direct mode
    1035807ed1aba IB/mlx4: Fix refcount leak in add_port() error path
    665fb7d22a700 RDMA/rxe: Fix a use-after-free problem in rxe_mmap
    9f8f0d2099e3d RDMA/irdma: Fix out-of-bounds write in irdma_copy_user_pgaddrs
    b0c4c1d8d42f4 bus: sunxi-rsb: Always check register address validity
    5ff037ec8b5e9 pwm: imx27: Fix variable truncation in .apply()
    7a832f4070be1 cpufreq: conservative: Simplify frequency limit handling
    de8f81c0e7d3e cpufreq: Documentation: fix sampling_down_factor range
    9f1de8e384012 Revert "treewide: Fix probing of devices in DT overlays"
    73323db56aae6 driver core: Use mod_delayed_work to prevent lost deferred probe work
    08739321420f0 device property: fix fwnode reference leak in fwnode_graph_get_endpoint_by_id()
    0c584c27f6649 tracing: Bound synthetic-field strings with seq_buf
    0a1d6bbba52ae arm64: dts: qcom: sm8450: Add power-domain and iface clk for ice node
    30aa348494531 firmware: arm_scmi: Fix OOB in scmi_power_name_get()
    8972d8f38373e media: rockchip: rga: fix too small buffer size
    ed4e2f9f7e54b net/sched: sch_drr: annotate data-races around cl->deficit
    8bfe280576b2a regulator: dt-bindings: mt6359: Drop regulator-name pattern restrictions
    e05e423fff76c bitops: use common function parameter names
    969203772e515 sysfs: clamp show() return value in sysfs_kf_read()
    457136c9719af firmware: arm_scmi: Read sensor config as 32-bit value
    f8c7669f57056 media: atomisp: Fix memory leak in atomisp_fixed_pattern_table()
    dcf7a986f377c RDMA/srpt: fix integer overflow in immediate data length check
    1025dc2f7ba29 RDMA/mlx5: Fix devx subscribe-event unwind NULL dereference
    0ccf70ea84330 RDMA/hns: Fix arithmetic overflow in calc_hem_config()
    2c3b2667dad69 IB/mlx5: Fix transport-domain rollback and initialize lb mutex earlier
    8ed0ce9ea58d6 ipv6: addrconf: bail out of dad_failure when state is no longer POSTDAD
    1134ff0c8228f net/sched: sch_htb: annotate data-races (I)
    dc56c30c50cee net/sched: sch_htb: do not change sch->flags in htb_dump()
    e9c1d78836cef spi: hisi-kunpeng: Use dev_err_probe() for host registration failure
    50c3c7df4f26d crypto: ccp - Treat zero-length cert chain as query for blob lengths
    5543dd4d8eb58 net/sched: sch_hfsc: annotate data-races in hfsc_dump_class_stats()
    1029bb377700e clk: scpi: Unregister child clock providers on remove
    345675e960ab4 thermal: hwmon: Fix critical temperature attribute removal
    a36cbfb85f26e evm: terminate and bound the evm_xattrs read buffer
    31f5ad37509d6 drm/hisilicon/hibmc: use clock to look up the PLL value
    08bb9f3fdd4e6 drm/hisilicon/hibmc: move display contrl config to hibmc_probe()
    cca79a18f6275 arm64: dts: qcom: sm8450: Fix ICE reg size
    79784c80d570e clk: scmi: Fix clock rate rounding
    c10d7a84e5a1a arm64: dts: mediatek: mt8192-asurada: Move PCIe DMA bounce buffer to host
    747a1775c4ee1 iommu/amd: Fix a stale comment about which legacy mode is user visible
    ac3d1a11397a4 nilfs2: fix backing_dev_info reference leak
    ae9e534e502a0 dlm: fix add msg handle in send_queue ordered
    627938383761f crypto: asymmetric_keys - fix OOB read in pefile_digest_pe_contents
    32e50358edf05 crypto: ecrdsa - fix unknown OID check in ecrdsa_param_curve
    e833e865e4944 crypto: atmel-sha204a - fix blocking and non-blocking rng logic
    f79c80f173fda vxlan: Fix potential null-ptr-deref in vxlan_gro_prepare_receive().
    95b9fff4036e3 arm64: dts: imx8x-colibri: Correct SODIMM PAD settings
    118930f6c9dcf arm64: dts: rockchip: fix rk809 interrupt pin on rk3566-roc-pc
    c399e66507af1 pinctrl: sunxi: fix regulator leak in sunxi_pmx_request() error path
    42fbc613682f5 media: v4l2-common: Add YUV24 format info
    d011267be9a3f media: cedrus: Fix failure to clean up hardware on probe failure
    0b22f0181250b watchdog: sprd_wdt: Remove redundant sprd_wdt_disable() on register failure
    72b77aa04b50a watchdog: sama5d4_wdt: Fix WDDIS detection on SAM9X60 and SAMA7G5
    886c7101db617 watchdog: sp5100_tco: Use EFCH MMIO for newer Hygon FCH
    ee346dcb5ebcd ARM: dts: am335x-sl50: Fix audio bitclock and frame master endpoint
    46ca1451f61b5 wifi: ath9k: fix OOB access from firmware tx status queue ID
    3e135495c1657 kconfig: fix potential NULL pointer dereference in conf_askvalue
    6a3c384393d3f wifi: rtw88: fix OOB read from firmware RX descriptor exceeding DMA buffer
    966fbed4b4463 wifi: rtw89: Correct data type for scan index to avoid infinite loop
    5e79e0180515b driver core: use READ_ONCE() for dev->driver in dev_has_sync_state()
    89a75e3349c4f drm/amdkfd: Validate CRIU-restored IDs before idr_alloc
    d2ebe124d3633 dt-bindings: pinctrl: nvidia,tegra234: Add missing required block
    da4a14062bbcb arm64: tegra: Fix Tegra234 MGBE PTP clock
    dbb66f78931b1 wifi: cfg80211: fix grammar in MLO group key error message
    2ed6b94441cf6 arm64: dts: qcom: sdm845-mezzanine: Fix camss ports unit_address_vs_reg warning
    6d7ef14197b71 arm64: dts: rockchip: Fix gmac0 reset pin for NanoPi R5S
    b6f6a8b8c3f92 Documentation: proc: fix section numbering in table of contents
    126549251ce38 libbpf: Report error when a negative kprobe offset is specified
    1c9ba32308c02 drm/radeon: fix memory leak in radeon_ring_restore() on lock failure
    b7b44937c548c drm/radeon: fix integer overflow in radeon_align_pitch()
    a5d13544cacb3 drm/amdgpu: fix integer overflow in amdgpu_gem_align_pitch()
    a0a24f75f8420 drm/tidss: Drop extra drm_mode_config_reset() call
    c0d5266a945a4 drm/rockchip: Test for imported buffers with drm_gem_is_imported()
    e3e69cfb053e6 clocksource/drivers/sun5i: Handle error returns from devm_reset_control_get_optional_exclusive()
    9b783b7e03dc7 fbcon: fix NULL pointer dereference for a console without vc_data
    f34fa27d4ac18 afs: Fix further netns teardown to cancel the preallocation charger
    867b3ea146a04 afs: fix NULL pointer dereference in afs_get_tree()
    85d5fb80fe4f0 afs: Fix netns teardown to cancel the preallocation charger
    86eff3140c9d4 rxrpc: Fix leak of released call in recvmsg(MSG_PEEK)
    8bbede0afced3 rxrpc: rxrpc_verify_data ensure rx_dec_buffer alloc
    c004ef925faf0 serial: 8250_omap: clear rx_running on zero-length DMA completes
    abc1926c88c18 serial: msm: Disable DMA for kernel console UART
    6c9ac3417de7b dt-bindings: power: imx93: Add MIPI PHY power domain
    3a9c0bee69e68 dt-bindings: media: sun4i-a10-video-engine: Add interconnect properties
    47ca0107e6a65 media: uvcvideo: Fix sequence number when no EOF
    e1052f8406019 media: uvcvideo: Fix buffer sequence in frame gaps
    3351da80ca645 media: uvcvideo: Avoid partial metadata buffers
    116f0e0890896 bpf: Prefer dirty packs for eBPF allocations
    8d65c431e1037 bpf: Prefer packs that won't trigger an IBPB flush on allocation
    1f232626a42b6 bpf: Skip redundant IBPB in pack allocator
    3b3b23c80202c bpf: Restrict JIT predictor flush to cBPF
    cb27f3bf915cc x86/bugs: Enable IBPB flush on BPF JIT allocation
    6e52c240c43a6 bpf: Support for hardening against JIT spraying
    9badc789a500a crypto: hisi-trng - Remove crypto_rng interface
    9a0e68b66e7ce crypto: crypto4xx - Remove insecure and unused rng_alg
    05b7812164cee crypto: crypto4xx - Remove ahash-related code
    b2dbc71fe33b4 x86/mm: Fix check/use ordering in switch_mm_irqs_off()
    306ded31bfa00 crypto: sun4i-ss - Remove insecure and unused rng_alg
    e091ff83d962f nvmet-tcp: Fix potential UAF when ddgst mismatch
    e602c93b25bda nvmet-tcp: check INIT_FAILED before nvmet_req_uninit in digest error path
    477145860dba4 KVM: arm64: Clear __hyp_running_vcpu when flushing the pKVM hyp vCPU
    2c5e72b9fbf83 KVM: arm64: Bound used_lrs when flushing the pKVM hyp vCPU
    7b91e51d0eb7c crypto: algif_skcipher - force synchronous processing on trees without ctx->state
    5a3218fbdeacb sched/fair: Only update stats for allowed CPUs when looking for dst group
    d6998ddd507c8 block: skip sync_blockdev() on surprise removal in bdev_mark_dead()
    c2e252e04fdcc smb/server: do not require delete access for non-replacing links
    50f0012da1040 xfs: resample the data fork mapping after cycling ILOCK
    d0ae7ec3aa61d xfs: fail recovery on a committed log item with no regions
    36bfa52459e45 smb: client: reject overlapping data areas in SMB2 responses
    0e4a5a000123d fuse: re-lock request before returning from fuse_ref_folio()
    018e33d403946 fuse: fix device node leak in cuse_process_init_reply()
    b2e26c955f8dd RDMA/siw: bound Read Response placement to the RREAD length
    2912f3d40355d RDMA/rtrs-srv: Bound RDMA-Write length to chunk size in rdma_write_sg
    04781ba93e362 Input: maplecontrol - set driver data before registering input device
    985cb452c2d10 Input: maplemouse - set driver data before registering input device
    330f7b37f838c Input: maple_keyb - set driver data before registering input device
    d89daead87d9b Input: mms114 - fix multi-touch slot corruption
    a72f944864b45 Input: maplemouse - fix NULL pointer dereference in open()
    5d2ea15ba03bf Input: mms114 - reject an oversized device packet size
    431ad239f2924 Input: touchwin - reset the packet index on every complete packet
    112666835071d Input: mms114 - fix touch indexing for MMS134S and MMS136
    c21295616a8a5 Input: iforce - bound the device-reported force-feedback effect index
    719d1a2c83a46 Input: goodix - clamp the device-reported contact count
    8c1db3418a419 Input: elan_i2c - prevent division by zero and arithmetic underflow
    26c895928d711 Input: synaptics-rmi4 - bound the F30 keymap to the GPIO/LED count
    ba57f43032853 Input: synaptics-rmi4 - bound the F3A keymap to the GPIO count
    5bd64ed8dd76f Input: synaptics-rmi4 - unregister function handlers on physical driver registration failure
    8f9b0cb58a10f i2c: stm32f7: truncate clock period instead of rounding it
    0c36f72fc4d94 i2c: mpc: Fix timeout calculations
    9882a9bd74db0 i2c: core: fix adapter deregistration race
    051be2ed4d073 udmabuf: fix DMA direction mismatch in release_udmabuf()
    ffaaff82336db KVM: VMX: Grab vmcs12 on CR8 interception update iff vCPU is in guest mode
    8192763d0ad78 KVM: VMX: Refresh GUEST_PENDING_DBG_EXCEPTIONS.BS on all injected #DBs
    503fdfdcac243 NTB: epf: Fix request_irq() unwind in ntb_epf_init_isr()
    ce4736c1e6c4c exfat: bound uniname advance in exfat_find_dir_entry()
    afcc0515bbdd2 module: decompress: check return value of module_extend_max_pages()
    22c1fd1355ad4 NFSv4: include MAY_WRITE in open permission mask for O_TRUNC
    35ae19764eabf tracing: Prevent out-of-bounds read in glob matching
    0cab02d06307c watchdog: apple: Add "apple,t8103-wdt" compatible
    caf08fd5ed742 EDAC/i10nm: Don't fail probing if ADXL is missing
    e65505d91fa03 spi: fsl-lpspi: terminate the RX channel on TX prepare failure path
    bf69ee9355c26 spi: fsl-lpspi: replace dmaengine_terminate_all() with dmaengine_terminate_sync()
    51ffc1f5d8981 arm64: fpsimd: Fix type mismatch in sme_{save,load}_state()
    7953af378a19f crypto: talitos/hash - fix SEC2 64k - 1 ahash request limitation
    0fae6fb13c49e crypto: talitos/hash - remove useless wrapper
    c9a65ad48bd24 crypto: talitos/hash - rename first_desc/last_desc to first_request/last_request
    d1731c1798f8f crypto: talitos/hash - drop workqueue mechanism for SEC1
    44174532b459a crypto: talitos/hash - use descriptor chaining for SEC1 instead of workqueue
    49ca4ff6d6432 crypto: talitos/hash - prepare SEC1 descriptor chaining, remove additional descriptor
    9c68f257f9b29 crypto: talitos - move code in current_desc_hdr() into a standalone function
    a9ba45af2788f crypto: talitos - move dma mapping code in talitos_submit() into a standalone dma_map_request() function
    03ab5ac0dc382 crypto: talitos - move dma unmapping code in flush_channel() into a standalone dma_unmap_request() function
    c25be6c4e4bef crypto: talitos - add chaining of arbitrary number of descriptor for the SEC1
    3d1d94445ab01 crypto: talitos - use dma_sync_single_for_cpu() before reading descriptor header
    500319830d769 crypto: qat - validate RSA CRT component lengths
    e3155eb0ea98f crypto: drbg - Fix the fips_enabled priority boost
    d955e2127c34c crypto: drbg - Fix drbg_max_addtl() on 64-bit kernels
    cc42fb40171c2 crypto: drbg - Fix returning success on failure in CTR_DRBG
    82789a44415e3 crypto: pcrypt - restore callback for non-parallel fallback
    677450e5ef850 crypto: ecc - Fix carry overflow in vli multiplication
    c8cfe11e48b2a crypto: caam - use print_hex_dump_devel to guard key hex dumps again
    ebd37eef6e4f4 crypto: caam - use print_hex_dump_devel to guard key hex dumps
    425d2001df58c crypto: af_alg - Remove zero-copy support from skcipher and aead
    b736b12108fd1 isofs: bound Rock Ridge symlink components to the SL record
    fd94a779020f2 partitions: aix: bound the pp_count scan to the ppe array
    9c894159c5b8a btrfs: do not trim a device which is not writeable
    be5e5553b1e2a nvme-multipath: set BIO_REMAPPED on bios remapped to per-path namespace disks
    ee4465a245c14 dm-ioctl: report an error if a device has no table
    93dfe94d55676 hwrng: jh7110 - fix refcount leak in starfive_trng_read()
    7285276aa50d2 udf: validate sparing table length as an entry count, not a byte count
    bb0d384c1f42a udf: validate VAT header length against the VAT inode size
    fb49099206c5c udf: validate free block extents against the partition length
    7f91201b1e486 PCI: Always lift 2.5GT/s restriction in PCIe failed link retraining
    edcbc218c39f6 iio: temperature: ltc2983: Fix n_wires default bypassing rotation check
    97a5da403566c usb: typec: ucsi: cancel pending work on system suspend
    c32df11147822 usb: typec: ucsi: ccg: Fix use-after-free of ucsi on remove
    af040c5b300c0 usb: typec: ucsi: Pass full DP config payload in SET_NEW_CAM for DP alt mode
    0195c30c77e3a usb: typec: ucsi: Invert DisplayPort role assignment
    012406f89abc5 usb: typec: tcpm: Validate SVID index in svdm_consume_modes()
    a82450bcb7ae4 usb: typec: class: drop PD lookup reference
    58b26ba693008 usb: typec: anx7411: use devm_pm_runtime_enable()
    d0ebf9cc7c2dd usbip: vudc: fix NULL deref in vep_dequeue()
    5bd3654a778bd usbip: tools: support SuperSpeedPlus devices
    0b0651f8ed4f0 USB: usb-storage: ene_ub6250: restore media-ready check
    5c098f20f15db USB: ulpi: fix memory leak on registration failure
    699dfb6917503 USB: serial: digi_acceleport: fix write buffer corruption
    bcfeae431db99 USB: serial: digi_acceleport: fix hard lockup on disconnect
    8d50a910194f6 USB: serial: digi_acceleport: fix broken rx after throttle
    64a115456397c USB: serial: option: add Telit Cinterion FE990D50 compositions
    2f7a6b8ab3845 USB: serial: keyspan_pda: fix information leak
    4183874b7925f usb: mtu3: unmap request DMA on queue failure
    0b3073f40cc9f USB: misc: uss720: unregister parport on probe failure
    6a935158d01f9 USB: storage: include US_FL_NO_SAME in quirks mask
    bb545c4dd22a3 usb: sl811-hcd: disable controller wakeup on remove
    0b57e5ddbd89d USB: legousbtower: fix use-after-free on disconnect race
    9b40d283ac2ad USB: quirks: add NO_LPM for the Samsung T5 EVO Portable SSD
    164398601a7f1 USB: iowarrior: fix use-after-free on disconnect
    02ca08fff74cf USB: ldusb: fix use-after-free on disconnect race
    60fc5ef4ecea3 USB: idmouse: fix use-after-free on disconnect race
    75c0ad13e1369 usb: gadget: f_printer: take kref only for successful open
    7a5214dae906d usb: gadget: udc: Fix use-after-free in gadget_match_driver
    56add2b9b2e89 usb: gadget: composite: fix dead empty check in the USB_DT_OTG handler
    be5004395dfd0 usb: free iso schedules on failed submit
    164a966035039 usb: dwc3: meson-g12a: fix refcount leak in dwc3_meson_g12a_resume()
    dd338e4ffa7fe USB: core: add USB_QUIRK_NO_LPM for VIA Labs USB 2.0 hub
    fde3c095e1d48 usb: cdnsp: fix stream context array leak in cdnsp_alloc_stream_info()
    19d9ff2b423d1 usb: cdc_acm: Add quirk for Uniden BC125AT scanner
    46ab32870d010 net: usb: kalmia: bound RX frame length in kalmia_rx_fixup()
    702d75f1a6025 bpf: Restore sysctl new-value from 1 to 0
    bccbab36ff228 bpf: Reject fragmented frames in devmap
    2c590972a2735 xfs: fix unreachable BIGTIME check in dquot flush validation
    960b29769c909 xfs: use null daddr for unset first bad log block
    0fed0fc34ce73 media: mtk-jpeg: cancel workqueue on release for supported platforms only
    286f77d002a33 nilfs2: reject CLEAN_SEGMENTS ioctl with out-of-range segment numbers
    16ca053c2be5f hfs/hfsplus: zero-initialize buffer in hfs_bnode_read
    798d762a5e55b HID: sensor-hub: Add sensor_hub_input_attr_read_values() for multi-byte reads
    33cd1a000daf9 HID: lg-g15: cancel pending work on remove to fix a use-after-free
    523db788c0f84 HID: letsketch: fix UAF on inrange_timer at driver unbind
    1a1ebdcb56ae5 HID: wacom: stop hardware after post-start probe failures
    5b535bde893f5 tools/mm/slabinfo: fix total_objects attribute name
    d2468e241af4c tools/mm/slabinfo: Fix trace disable logic inversion
    459b3a373d197 X.509: Fix validation of ASN.1 certificate header
    9638d3d28f9fe clocksource/drivers/timer-tegra186: Fix support for multiple watchdog instances
    e5ffc638faf5d posix-cpu-timers: Fix pid refcount leak in do_cpu_nanosleep() error path
    982c9f92d57bd cpufreq: pcc: fix use-after-free and double free in _OSC evaluation
    73255d702c756 cpufreq: Fix hotplug-suspend race during reboot
    860aaff72c844 sched/rt: Have RT_PUSH_IPI be default off for non PREEMPT_RT
    069ae9502f27f cpufreq: intel_pstate: Sync policy->cur during CPU offline
    46d403da376a8 firmware_loader: fix device reference leak in firmware_upload_register()
    f0776d142e530 OPP: of: Fix potential memory leak in opp_parse_supplies()
    08c600b7e1818 smb: client: mask server-provided mode to 07777 in modefromsid
    0de5b8e76847f smb: client: harden POSIX SID length parsing
    b723097775598 smb: client: use unaligned reads in parse_posix_ctxt()
    9136a08dc2932 smb: client: Fix next buffer leak in receive_encrypted_standard()
    037511726228a smb: client: fix double-free in SMB2_close() replay
    02bc2896bdc3e smb: client: fix double-free in SMB2_open() replay
    6e27f40b682a5 smb: client: fix double-free in SMB2_flush() replay
    5821f9dbb8b5b smb: client: fix change notify replay double-free
    0be4bc64882ed smb: client: fix double-free in SMB2_ioctl() replay
    100fb7c455fa8 smb: client: fix query_info() replay double-free
    3409aedf3c81a smb: client: fix query directory replay double-free
    f08b3f451f12e ksmbd: use opener credentials for delete-on-close
    2b9d2a370d639 ksmbd: add per-handle permission check to FILE_LINK_INFORMATION
    288a4abc16fe5 ksmbd: enforce FILE_READ_ATTRIBUTES on SMB_FIND_FILE_POSIX_INFORMATION
    b35afd5cf8fab ksmbd: run set info with opener credentials
    e6aa731f1b4b3 ksmbd: add a WRITE_DAC/WRITE_OWNER check to SMB2 SET_INFO SECURITY
    67bdad9cf01b2 ksmbd: require source read access for duplicate extents
    7703fd9aba1f2 ksmbd: fix UAF of struct file_lock in SMB2_LOCK deferred-lock cancellation
    2a64dbf9c739d ksmbd: serialize QUERY_DIRECTORY requests per file
    3072d82461f49 ksmbd: add a permission check for FSCTL_SET_ZERO_DATA
    620d133d46929 ksmbd: add permission checks for FSCTL_DUPLICATE_EXTENTS_TO_FILE
    aa37f5fef78dd smb/client: Fix error code in smb2_aead_req_alloc()
    38dbc8db8341c coresight: ultrasoc-smb: Fix OOB write in smb_sync_perf_buffer()
    ea59d9dbc5504 fs/ntfs3: fix missing run load for vcn0 in attr_data_get_block_locked()
    3ca13af5a4004 fs/ntfs3: zero-fill folios beyond i_valid in ntfs_read_folio()
    92300ac7ff17c fs/ntfs3: handle attr_set_size() errors when truncating files
    caa36a91c9c51 fs/ntfs3: fsync files by syncing parent inodes
    98d93c226bdfa Bluetooth: L2CAP: validate option length before reading conf opt value
    c66a95e60b65d Bluetooth: fix UAF in bt_accept_dequeue()
    21e60eb4d9585 Bluetooth: btnxpuart: Fix out-of-bounds firmware read in nxp_recv_fw_req_v3()
    ae215c5b6422d Bluetooth: bnep: pin L2CAP connection during netdev registration
    466540e045d01 Bluetooth: btmtksdio: fix infinite loop in btmtksdio_txrx_work()
    2664f537ca5bc netfilter: ebtables: terminate table name before find_table_lock()
    d2367d99f2455 netfilter: ebtables: module names must be null-terminated
    e44f78f5f0585 netfilter: ctnetlink: use nf_ct_exp_net() in expectation dump
    09d2407985b8c mm: shrinker: fix NULL pointer dereference in debugfs
    729ae27dc2503 mfd: cros_ec: Delay dev_set_drvdata() until probe success
    e81f805824a81 net: ipv4: bound TCP reordering sysctl writes and MTU probe sizes
    76d030ac95e17 ipv4: igmp: remove multicast group from hash table on device destruction
    ea61b04e1d724 io_uring/io-wq: re-check IO_WQ_BIT_EXIT for each linked work item
    19d63fd528719 gpio: eic-sprd: use raw_spinlock_t in the irq startup path
    1dba8444ac010 NTB: epf: Avoid calling pci_irq_vector() from hardirq context
    946046841013e fs/ntfs3: validate Dirty Page Table capacity in log_replay copy_lcns
    d663fbf28b2ee debugobjects: Plug race against a concurrent OOM disable
    caed4a96d5575 Bluetooth: MGMT: Fix UAF of hci_conn_params in add_device_complete
    7ff42312ccde5 audit: Fix data races of skb_queue_len() readers on audit_queue
    273c06b81d2e9 net: af_key: initialize alg_key_len for IPComp states
    b8e274e69ab09 ksmbd: fix use-after-free of a deferred file_lock on SMB2_CLOSE then SMB2_CANCEL
    f30e2b879bda1 crypto: amlogic - avoid double cleanup in meson_crypto_probe()
    bb3b942da4123 staging: rtl8723bs: fix OOB write in HT_caps_handler()
    6f26cc55affd9 staging: rtl8723bs: fix OOB reads in is_ap_in_tkip() IE loop
    4c21eec80cf50 staging: rtl8723bs: fix OOB reads in IE loops in issue_assocreq() and join_cmd_hdl()
    9193c34f75fd9 staging: rtl8723bs: fix OOB read in update_beacon_info() IE loop
    0406d746574e8 staging: rtl8723bs: fix OOB read in OnAssocRsp() IE loop
    1f6c9d255bdda staging: rtl8723bs: fix WEP length underflow and OOB read in OnAuth()
    5d7812360abf3 staging: rtl8723bs: fix heap buffer overflow in rtw_cfg80211_set_wpa_ie()
    85263739e810d staging: media: atomisp: reduce load_primary_binaries() stack usage
    b7da3b9f7c3c5 media: staging: ipu3-imgu: Add range check for imgu_css_cfg_acc_stripe
    eef048dd77ebf staging: vme_user: fix location monitor leak in tsi148 bridge
    0471a3c725326 staging: vme_user: fix location monitor leak in fake bridge
    573e502d14714 smb: client: restrict implied bcc[0] exemption to responses without data area
    adc8b9c30d716 staging: vme_user: bound slave read/write to the kern_buf size
    9a51115fcdc78 tipc: fix out-of-bounds read in broadcast Gap ACK blocks
    a8e3a94711134 6lowpan: fix NHC entry use-after-free on error path
    5e5798880eb15 usb: dwc3: run gadget disconnect from sleepable suspend context
    6c82f88bc7a84 USB: chaoskey: Fix slab-use-after-free in chaoskey_release()
    fde19b0d4eeab hwrng: virtio: clamp device-reported used.len at copy_data()
    74a4cac9603d3 virtio-mmio: fix device release warning on module unload
    96fbafc20ebd9 netfilter: ipset: fix race between dump and ip_set_list resize
    74fef68d52115 mm/damon/ops-common: handle extreme intervals in damon_hot_score()
    0f90c4fadef8c PCI: host-common: Request bus reassignment when not probe-only
    b8189e8b0343d PCI: altera: Do not dispose parent IRQ mapping
    ce2e36e8759df usb: typec: tcpci_rt1711h: unregister TCPCI port with devres
    10666ac9c5529 usb: xhci: Fix sleep in atomic context in xhci_free_streams()
    45df558c543bb binder: fix UAF in binder_free_transaction()
    faa070c7ad8ba binder: fix UAF in binder_thread_release()
    7370cb0dccd6d Bluetooth: btusb: fix wakeup source leak on probe failure
    6e1b10df890f4 Bluetooth: btusb: fix use-after-free on marvell probe failure
    e6313b800da61 Bluetooth: btusb: fix use-after-free on registration failure
    9cc0350f2677e Bluetooth: btusb: Add USB ID 2c4e:0128 for Mercusys MA60XNB
    8e872c07e40d5 vfio: prevent infinite loop in vfio_mig_get_next_state() on blocked arc
    08b74e320c7a2 vfio/pci: Fix racy bitfields and tighten struct layout
    9e0a3f642e607 vfio/pci: Release the VGA arbiter client on register_device() failure
    654710ef3135c vfio/pci: Latch disable_idle_d3 per device
    28f92b8d3fefc vfio/pci: Use a private flag to prevent power state change with VFs
    90310e29ca74e ALSA: usb-audio: Update US-16x08 EQ/comp shadow state after successful writes
    73178209f2fec ALSA: usb-audio: Update Babyface Pro control caches only after successful writes
    b31c5faf77cdf ALSA: usb-audio: Roll back quirk control caches on write errors
    a851636ef95a3 ALSA: usb-audio: Propagate US-16x08 write errors in route/mix EQ-switch put callbacks
    29dc393ab69b8 ALSA: usb-audio: Propagate errors in scarlett_ctl_enum_put()
    a47ecd904c51a ALSA: usb-audio: avoid kobject path lookup in DualSense match
    ea672a9f6cc38 ALSA: seq: Fix uninitialised heap leak in snd_seq_event_dup()
    69bf1dfa32155 ALSA: ice1712: check snd_ctl_new1() return value
    eccf8e91266e3 ALSA: gus: check snd_ctl_new1() return value
    3ed2fa1ed8cc6 ALSA: firewire: isight: bound the sample count to the packet payload
    7531a37720c25 ALSA: es1938: check snd_ctl_new1() return value
    8825a06bfa793 ALSA: cmipci: check snd_ctl_new1() return value
    05df59b9a61f7 ALSA: caiaq: fix out-of-bounds read in the Traktor Kontrol S4 input parser
    91095474eea29 ALSA: ymfpci: check snd_ctl_new1() return value
    c31679fedfedc ALSA: virtio: Add missing 384 kHz PCM rate mapping
    46a2cbf57dc3e iio: temperature: ltc2983: Fix reinit_completion() called after conversion start
    ae73df471a835 iio: magnetometer: ak8975: Add missed pm_runtime_put_autosuspend() call
    664376579d1fd iio: light: veml6030: fix channel type when pushing events
    4337683a3639d iio: light: tsl2591: return actual error from probe IRQ failure
    140117813afde iio: light: opt3001: fix missing state reset on timeout
    f350883989ced iio: light: gp2ap002: fix runtime PM leak on read error
    06158c241f9a3 iio: light: al3010: fix incorrect scale for the highest gain range
    34d9d5c81e9df iio: imu: st_lsm6dsx: deselect shub page before reading whoami
    00982b61d026b iio: imu: inv_icm42600: fix timestamp clock period by using lower value
    5a62be142e28e iio: imu: bmi160: add IRQF_NO_THREAD to data-ready trigger IRQ
    5240dd5cf02ba iio: gyro: bmg160: wait full startup time after mode change at probe
    8d202515baea4 iio: gyro: bmg160: bail out when bandwidth/filter is not in table
    0d4a646d7f87e iio: event: Fix event FIFO reset race
    b131f0011dfef iio: chemical: scd30: Cleanup initializations and fix sign-extension bug
    030fb84816471 iio: adc: ti-ads124s08: Return reset GPIO lookup errors
    f3f90bc7b38ba iio: adc: spear: Initialize completion before requesting IRQ
    820c4f15353ef iio: adc: lpc32xx: Initialize completion before requesting IRQ
    36154171385a8 iio: accel: kxsd9: fix runtime PM imbalance on write_raw() error
    bfffc98f3de92 iio: accel: bmc150: clamp the device-reported FIFO frame count
    d6ef5af7d0fe1 usb: gadget: function: rndis: add length check for header
    caea8b1206043 usb: gadget: function: rndis: add length check to response query
    e1919d0267065 MIPS: smp: report dying CPU to RCU in stop_this_cpu()
    cd2463ec60f0d net: Drop the lock in skb_may_tx_timestamp()
    b0b39425b5202 LoongArch: Add PIO for early access before ACPI PCI root register
    865a048a3f5ac virtio_net: Support dynamic rss indirection table size
    dbab796ff3803 arm64: sysreg: Correct sign definitions for EIESB and DoubleLock
    804e2e41641bd arm64: Revamp HCR_EL2.E2H RES1 detection
    6e5714bcc98f3 KVM: arm64: Initialize SCTLR_EL1 in __kvm_hyp_init_cpu()
    a2c343370351f KVM: arm64: Initialize HCR_EL2.E2H early
    153ed820d525b arm64: Fix early handling of FEAT_E2H0 not being implemented
    4f25422239d09 arm64: Treat HCR_EL2.E2H as RES1 when ID_AA64MMFR4_EL1.E2H0 is negative
    d087272c49aa5 arm64: sysreg: Add layout for ID_AA64MMFR4_EL1
    5b8729416ee88 crypto: talitos - rename first/last to first_desc/last_desc
    22e2db16c8011 crypto: talitos - fix SEC1 32k ahash request limitation
    1981cde2f0be4 crypto: talitos - stop using crypto_ahash::init
    7c3ba8f490f5b Revert "crypto: talitos - fix SEC1 32k ahash request limitation"
    f35e5399c97b1 Revert "crypto: talitos - rename first/last to first_desc/last_desc"
    4cdb1b3ab96eb perf/core: Detach event groups during remove_on_exec
    a44343fe230aa ACPI: NFIT: core: Fix possible NULL pointer dereference
    2fb80e9620290 ACPI: CPPC: Suppress UBSAN warning caused by field misuse
    140133dac0ae9 perf trace beauty fcntl: Fix build with older kernel headers
    927ef409f7139 Bluetooth: ISO: Copy BASE if service data matches EIR_BAA_SERVICE_UUID
    a444c3de7187b xfs: move ->iop_recover to xfs_defer_op_type
    5e327f772ca89 xfs: use xfs_defer_finish_one to finish recovered work items
    ce9d7f9188f18 xfs: dump the recovered xattri log item if corruption happens
    9395d11f63415 xfs: recreate work items when recovering intent items
    9af37d8be0fb6 mm/vmscan: flush deferred TLB before freeing large folios
    420e5aad7ba89 team: fix header_ops type confusion with non-Ethernet ports
    9532d0d0ad1d7 bonding: prevent potential infinite loop in bond_header_parse()
    5d0fb9806ab6c bonding: fix type confusion in bond_setup_by_slave()
    4128ccd7683f8 bonding: fix xfrm offload feature setup on active-backup mode
    8d5c8ac644554 bonding: use common function to compute the features
    a1d397dbc00a7 net: add a common function to compute features for upper devices
    ed976725dba37 bonding: Correctly support GSO ESP offload
    3b2bd2018938b bonding: add ESP offload features when slaves support
    4a85b335f8704 bonding: Fix initial {vlan,mpls}_feature set in bond_compute_features
    7cf5a74558e31 net, team, bonding: Add netdev_base_features helper
    1f1fe94e0c727 net: team: rename team to team_core for linking
    f59f8c2addba0 nfsd: change nfs4_client_to_reclaim() to allocate data
    2a8ff394907fe nfsd: move name lookup out of nfsd4_list_rec_dir()
    42726c616d958 apparmor: advertise the tcp fast open fix is applied
    655349816642f nfsd: Don't reset the write verifier on a commit EAGAIN
    eeabb9020721d NFSv4/flexfiles: reject zero filehandle version count
    a7a526fbc847f fbdev: fbcon: fix out-of-bounds read in err_out of fbcon_do_set_font()
    da9d8d9711f78 i2c: core: fix adapter registration race
    4a0034756c2a6 i2c: core: fix adapter debugfs creation
    ad4322d84ebf7 i2c: core: fix NULL-deref on adapter registration failure
    2f8a894e148a0 i2c: core: fix hang on adapter registration failure
    055aff407db51 i2c: core: fix irq domain leak on adapter registration failure
    1a02a5028bd6d block: Avoid mounting the bdev pseudo-filesystem in userspace
    92fc631b69deb KVM: Replace guest-triggerable BUG_ON() in ioeventfd datamatch with get_unaligned()
    2770041f34b52 f2fs: fix listxattr handling of corrupted xattr entries
    1436031b33fa2 f2fs: fix potential deadlock in gc_merge path of f2fs_balance_fs()
    345c1d1ff7511 f2fs: fix potential deadlock in f2fs_balance_fs()
    76e1a05cf6d40 f2fs: bound i_inline_xattr_size for non-inline-xattr inodes
    7d3ae21783e59 f2fs: atomic: fix UAF issue on f2fs_inode_info.atomic_inode
    d2f236196d542 f2fs: validate orphan inode entry count
    f0b4e1cc8ad76 device property: initialize the remaining fields of fwnode_handle in fwnode_init()
    e54c05ed3d9c2 net: ip_gre: require CAP_NET_ADMIN in the device netns for changelink
    c717f052d7023 drm/amd: Fix set but not used warnings
    290014c798763 slimbus: qcom-ngd-ctrl: Register callbacks after creating the ngd
    c75f153e5d547 slimbus: Convert to platform remove callback returning void
    e43819a198b56 slimbus: qcom-ngd-ctrl: Correct PDR and SSR cleanup ownership
    da82ec28a0cf1 slimbus: qcom-ngd-ctrl: Fix probe error path ordering
    ade787f047906 Bluetooth: btmtk: Fix btmtk.c undefined reference build error
    f6290849b88a0 perf: Fix dangling cgroup pointer in cpuctx backport
    5f4dbdb0a8759 userfaultfd: gate must_wait writability check on pte_present()
    9440a6980fc63 Bluetooth: btmtk: Fix wait_on_bit_timeout interruption during shutdown
    51c4b6e9c0e56 Bluetooth: btmtk: Fix failed to send func ctrl for MediaTek devices.
    f344a2d77d47e Bluetooth: btmtk: move btusb_mtk_[setup, shutdown] to btmtk.c
    9eca71da3b843 Bluetooth: btusb: mediatek: return error for failed reg access
    6501b60129664 Bluetooth: btusb: mediatek: remove the unnecessary goto tag
    6b6d985e7a889 Bluetooth: btusb: mediatek: add MT7922 subsystem reset
    1c770a550df2f Bluetooth: btusb: mediatek: reset the controller before downloading the fw
    eae5bb7c0c160 Bluetooth: btmtk: apply the common btmtk_fw_get_filename
    1fa22de588a65 LoongArch: Report dying CPU to RCU in stop_this_cpu()
    dd699a60a29ee ext4: get rid of ppath in get_ext_path()
    666e837b247fc nfsd: reset write verifier on deferred writeback errors
    48a586e382e4d nfsd: release layout stid on setlease failure
    c39973ebd7329 bpf, arm64: Reject out-of-range B.cond targets
    bb51b626b5a8e ia64: Make acpi_cpufreq_cpu_exit return void

(From OE-Core rev: 735dd46d8557280b0a4a79dd5d5bd0467a18fe5f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:46 +01:00
Peter Marko
f02ff451cd libsndfile1: patch CVE-2026-37555
Pick patch per [1].

[1] https://security-tracker.debian.org/tracker/CVE-2026-37555

(From OE-Core rev: 19b24171d147f22fbd1db31e01cc2c389679fa8f)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:46 +01:00
Jaipaul Cheernam
b28d0cf59a libssh2: fix CVE-2026-66035
Reference:
https://nvd.nist.gov/vuln/detail/CVE-2026-66035
42e33d8157

libssh2 ptest results (qemux86-64):
  before: PASSED: 1 FAILED: 0 SKIPPED: 0
  after:  PASSED: 1 FAILED: 0 SKIPPED: 0

(From OE-Core rev: e0e829a80e9d8a736c41594c0fe7d4fddca9f0b4)

Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:46 +01:00
Jaipaul Cheernam
001428f528 libssh2: fix CVE-2026-66034
Reference:
https://nvd.nist.gov/vuln/detail/CVE-2026-66034
a13bb6c773

libssh2 ptest results (qemux86-64):
  before: PASSED: 1 FAILED: 0 SKIPPED: 0
  after:  PASSED: 1 FAILED: 0 SKIPPED: 0

(From OE-Core rev: 677c476980e7ef47bc4804682c554796edd0cde8)

Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:46 +01:00
Jaipaul Cheernam
69957c8adf libssh2: fix CVE-2026-66033
Reference:
https://nvd.nist.gov/vuln/detail/CVE-2026-66033
a2ed82d409

libssh2 ptest results (qemux86-64):
  before: PASSED: 1 FAILED: 0 SKIPPED: 0
  after:  PASSED: 1 FAILED: 0 SKIPPED: 0

(From OE-Core rev: bd8afadd38a27c0e143cf7b0096c2abded569f82)

Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:46 +01:00
Jaipaul Cheernam
23aeeb9e5d libssh2: fix CVE-2026-66032
Reference:
https://nvd.nist.gov/vuln/detail/CVE-2026-66032
5e47761465

libssh2 ptest results (qemux86-64):
  before: PASSED: 1 FAILED: 0 SKIPPED: 0
  after:  PASSED: 1 FAILED: 0 SKIPPED: 0

(From OE-Core rev: c578c63b01b919bc403b9fb27bd76a2ccc632d3c)

Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:46 +01:00
Deepak Rathore
0656d53a6b curl: fix CVE-2026-4873
This patch applies the upstream backport for CVE-2026-4873.
The upstream fix commit is referenced in [1], and the public
CVE advisory is referenced in [2].

[1] 507e7be573
[2] https://curl.se/docs/CVE-2026-4873.html

(From OE-Core rev: dfd15b80d4e69de4979f56e0bf6cbd095415a30c)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:46 +01:00
Peter Marko
59e4468e8f busybox: patch CVE-2026-38754
Pick patch which fixes this CVE as discussed in [1].

[1] https://lists.busybox.net/pipermail/busybox/2026-July/092392.html

(From OE-Core rev: 8cabc0b083bb9e152803ef9e92ff5ae11459f00f)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
Alexander Kanavin
b18a694103 perf: drop newt from tui build requirements
As the comment says this was used by very old kernels
(pre 3.10), and slang has been the only option for a
long time. Also, correct the option to disable slang TUI.

(From OE-Core rev: 426655c63733ed0f29a47275cd4cab5b2f90ad78)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a36a84490b943e6f0638c0430ad1eac7740e9be3)
Signed-off-by: Shinu Chandran <shinucha@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
Peter Marko
af36ad9afb sudo: set CVE_PRODUCT
This change removes currently open CVE-2025-64170 and CVE-2025-64517
from reports which are for "trifectatech:sudo-rs".

It also removes following "patched" ones:
* CVE-2023-42456 (memorysafety:sudo)
* CVE-2025-46717 (trifectatech:sudo)
* CVE-2025-46718 (trifectatech:sudo)
All these are also for "sudo-rs".

(From OE-Core rev: 73143bf253ab21ee25fcfc19d3bc0ad55181a980)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0459398d31f74e9653cb55a57d8d0f6bfbdfa2ad)
Signed-off-by: Devansh Patel <devanshp@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
Marta Rybczynska
7909382fca flex: update CVE_PRODUCT
NVD uses westes:flex for recent CVEs in flex, based on the GitHub repo

(From OE-Core rev: 4979619b4aaa8c4b462fae30027b335253b61b24)

Signed-off-by: Marta Rybczynska <marta.rybczynska@ygreky.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8bb6aa4b4acb16c59b66aa55b33053e3e8749e72)
Signed-off-by: Devansh Patel <devanshp@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
Peter Marko
1d8a4f3ba2 shadow: set CVE_PRODUCT
This will remove CVE-2016-15024 from open cve reports.
This CVE for is for "doomsider:shadow" [1].

It will also remove
* CVE-2018-16588 (suse:shadow, [2])
* CVE-2019-16110 (blade-group:shadow [3])
which can be verified that they don't affect Yocto shadow.

[1] https://security-tracker.debian.org/tracker/CVE-2016-15024
[2] https://security-tracker.debian.org/tracker/CVE-2018-16588
[3] https://security-tracker.debian.org/tracker/CVE-2019-16110

(From OE-Core rev: ce42a12d7270ed25ce46f5a67cbf3889f7b456ee)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2946e238d2a3947c1a51c4ac1c86c8284f68e4cf)
Signed-off-by: Devansh Patel <devanshp@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
Peter Marko
bd1db1a566 xserver-org: update CVE_PRODUCT
In cvelistV5, CVE-2024-21886 uses CPE xorg:xserver ([1]).
Detected because this CVE is shown for xwayland recipe.

[1] https://github.com/CVEProject/cvelistV5/blob/cve_2026-04-12_1800Z/cves/2024/21xxx/CVE-2024-21886.json#L646

(From OE-Core rev: 1e1407bf640b2a8353bd9de3635a16e8e5b88dbb)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5311f2a08842612b74472c843be2ae0d47cff6f5)
Signed-off-by: Devansh Patel <devanshp@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
Maik Otto
39d4d55423 u-boot: Set CVE_PRODUCT
The CPE vendor is "denx" and the CPE product is "u-boot".
Set CVE_PRODUCT for properly matching in the NVD database.

(From OE-Core rev: 6ac428e32aecf1f172c6b5c851edf2e0403eeeec)

Signed-off-by: Maik Otto <m.otto@phytec.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d2e5d427de13b33694a1d802f5ac833b2c04ced6)
Signed-off-by: Devansh Patel <devanshp@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
Deepak Rathore
6885998553 curl: fix CVE-2026-6253
This patch applies the upstream backport for CVE-2026-6253.
The upstream fix commit is referenced in [1], and the public
CVE advisory is referenced in [2].

[1] 188c2f166a
[2] https://curl.se/docs/CVE-2026-6253.html

(From OE-Core rev: 21a929291fddb4f7c874609f6d5293477fb74ad9)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
Deepak Rathore
74cc040335 curl: fix CVE-2026-5545
This patch applies the upstream backport for CVE-2026-5545.
The upstream fix commit is referenced in [1], and the public
CVE advisory is referenced in [2].

[1] 33e43985b8
[2] https://curl.se/docs/CVE-2026-5545.html

(From OE-Core rev: dfb61bf303fc32257e32719df36344286b1a80e6)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
David Nyström
c38773f228 libssh2: Fix CVE-2025-15661
Fix CVE-2025-15661[1] similiar to debian[2], two first commits identical,
third commit fixes a return code regression introduced by CVE fix commit.

[1] https://nvd.nist.gov/vuln/detail/CVE-2025-15661
[2] https://sources.debian.org/patches/libssh2/1.11.1-4/

(From OE-Core rev: bfe549a53dc12382745fc49d37f3d2709fc20bec)

Signed-off-by: David Nyström <david.nystrom@est.tech>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
Himanshu Jadon
604781030b python3-pip: set CVE_PRODUCT
CVE_PRODUCT is not set for python3-pip, so cve-check can miss or
misreport pip CVEs. CVE-2026-8643 is reported in NVD with pypa:pip.

Add CVE_PRODUCT to match the NVD product name and report this CVE
correctly.

(From OE-Core rev: 3a24c9f77622148c3894c9228e061cabf79f169f)

Signed-off-by: Himanshu Jadon <hjadon@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a486abd4889ad03e1a8ddd5311595f3ece7d61b6)
Signed-off-by: Himanshu Jadon <hjadon@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
Amaury Couderc
44913c2842 python3: fix CVE-2026-7210
CVE-2026-7210 is a hash-flooding denial-of-service vulnerability in
Python's XML parsing modules (xml.parsers.expat, xml.etree.ElementTree).
An attacker can craft XML input that forces O(n²) hash collisions in
libexpat's internal name dictionary, causing excessive CPU consumption.

The previous mitigation seeded libexpat's hash function with only 4
bytes of entropy, which is insufficient against a determined attacker.
This patch upgrades to XML_SetHashSalt16Bytes (libexpat >= 2.8.0),
providing a full 16-byte secret. Older expat versions fall back
gracefully to the legacy XML_SetHashSalt via a runtime NULL check.

Backport patch to fix CVE-2026-7210.
https://nvd.nist.gov/vuln/detail/CVE-2026-7210

Upstream fix:
  24b8f12544

-- Changes from Upstream --

Replace compile-time version checks with runtime detection of the
XML_SetHashSalt16Bytes function using #pragma weak. This allows using
backported security fixes from expat even when version macros haven't
been bumped (in thus case expat 2.6.4 with CVE-2026-41080).

- Add weak symbol declaration for XML_SetHashSalt16Bytes
- Convert newxmlparseobject() version check to runtime NULL check
- Convert pyexpat_exec() CAPI export check to runtime NULL check

Tested with ptest:
  Before: PASSED: 40019, FAILED: 0, SKIPPED: 1882
  After: PASSED: 40020, FAILED: 0, SKIPPED: 1882

CVE: CVE-2026-7210

(From OE-Core rev: d753c46085c9d31f3b68d59f863855c909a6f400)

Signed-off-by: Amaury Couderc <amaury.couderc@est.tech>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
Deepak Rathore
12c7c6841f expat: fix CVE-2026-56132
These patches apply the upstream fix shown in [2], its prerequisite
[1], the regression test in [3], and the follow-up cleanups in [4] and
[5], as referenced by [6].

[1] 3a4eaf47af
[2] 58400483d7
[3] 353919b3b9
[4] bca93b4ba9
[5] 08baa7ef9d
[6] https://nvd.nist.gov/vuln/detail/CVE-2026-56132

(From OE-Core rev: 0cba8f866ffe5b96dd7f2a8fe7b4c52264d382c5)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
Deepak Rathore
2b8eb621c1 expat: fix CVE-2026-56407
This patch applies the upstream fix shown in [1] as referenced by [2].

[1] 30c2fc179c
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-56407

(From OE-Core rev: 9e565187ad989856ed274feecb343744a4d0d290)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
Deepak Rathore
2c527003ab expat: fix CVE-2026-56411
This patch applies the upstream fix shown in [1] as referenced by [2].

[1] 528a4e5017
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-56411

(From OE-Core rev: 61f895ea50fc7d6e3c1f3bac9e77f3a7ac96de6a)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
Deepak Rathore
12aa2868f6 expat: fix CVE-2026-56409
This patch applies the upstream fix shown in [1] as referenced by [2].

[1] 61f7cdda22
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-56409

(From OE-Core rev: 6e0669fdbf661569083b7fe479bf829e6e476f72)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
Deepak Rathore
8ef6ff8a53 expat: fix CVE-2026-56406
This patch applies the upstream fix shown in [1] as referenced by [3].
The prerequisite in [2] provides XML_INDEX_MAX for the Scarthgap Expat
2.6.4 backport.

[1] 99d8454fdf
[2] 252ff1a307
[3] https://nvd.nist.gov/vuln/detail/CVE-2026-56406

(From OE-Core rev: 6cbc3b17313df01c48e738a87f8d12bc8834fd59)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
Deepak Rathore
067f3e473d expat: fix CVE-2026-56410
These patches apply the upstream fixes shown in [1] and [2], as
referenced by [3].

[1] deeb97f7c8
[2] cee20e91bf
[3] https://nvd.nist.gov/vuln/detail/CVE-2026-56410

(From OE-Core rev: 51d1871b3551deddd9f5fac85fdcd4b2793b94f0)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:44 +01:00
Deepak Rathore
8859330d24 expat: fix CVE-2026-56405
This patch applies the upstream fix shown in [1] as referenced by [2].

[1] 2c6c42d336
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-56405

(From OE-Core rev: 7d9b2576a9dcb01184c0aa3bd54a6bdd20496bbe)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:44 +01:00
Deepak Rathore
97081e82e0 expat: fix CVE-2026-56404
This patch applies the upstream fix shown in [1] as referenced by [2].

[1] babfc48090
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-56404

(From OE-Core rev: 5ac52606f2aae12323b29026e3d8af24a9c278bf)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:44 +01:00
Deepak Rathore
65887ca9e7 expat: fix CVE-2026-56408
This patch applies the upstream fix shown in [1] as referenced by [2].
The fix is adapted to the existing Scarthgap Expat 2.6.4 source.

[1] 16e2efd867
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-56408

(From OE-Core rev: 7a0997b570488debe1ae1f2ab5a312150a96b940)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:44 +01:00
Deepak Rathore
2003935a78 expat: fix CVE-2026-56403
These patches apply the upstream fixes shown in [1] and [2], as
referenced by [3].

[1] 12dc6d8d3d
[2] 147c8f36d6
[3] https://nvd.nist.gov/vuln/detail/CVE-2026-56403

(From OE-Core rev: a9e124fc7c48291392676a3cf26cde4acd660fa5)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:44 +01:00
Adarsh Jagadish Kamini
524a237691 gnutls: fix CVE-2026-3833
Backport patch to fix CVE-2026-3833.

References:
  https://nvd.nist.gov/vuln/detail/CVE-2026-3833

Upstream fix:
  19f6508647

Tested with ptest:
Before: PASSED: 369, FAILED: 0, SKIPPED: 17
After: PASSED: 369, FAILED: 0, SKIPPED: 17

(From OE-Core rev: c4d9e204adc134b1d7d2b3b8ea9bbfd6fd33e5f5)

Signed-off-by: Adarsh Jagadish Kamini <adarsh.jagadish.kamini@est.tech>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:44 +01:00
mark.yang
6c3ab4e59e python3-pyyaml: set CVE_PRODUCT
The pypi class default python:pyyaml vendor prefix matches nothing,
so PyYAML CVEs are not evaluated at all. The databases use two
vendor spellings: pyyaml in the NVD CPEs, and "Red Hat" (with a
space, not expressible as a vendor:product pair) in CVE-2020-1747's
CNA record. Use the bare product name to cover both.

All four existing CVEs (CVE-2017-18342, CVE-2019-20477,
CVE-2020-1747, CVE-2020-14343) are fixed by 5.4, so they resolve as
not affected at 6.0.1.

Note: Original commit was for python3-pyyaml_6.0.3.bb. This is adjusted
for scarthgap where recipe version is python3-pyyaml_6.0.1.bb.

(From OE-Core rev: 666e25c1fe1347da307726afd87554ffc080ed12)

Signed-off-by: mark.yang <mark.yang@lge.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 89a0ba3c2da2a7755bafb28afbf75dc7112e2549)
Signed-off-by: Himanshu Jadon <hjadon@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:44 +01:00
mark.yang
12e69785c0 python3-xmltodict: set CVE_PRODUCT
The CVE databases track xmltodict as xmltodict:xmltodict, so the
default python:xmltodict vendor prefix never matches and its CVEs
are not evaluated at all. Use the exact vendor:product pair.

Note: Original commit was for python3-xmltodict_1.0.4.bb. This is
adjusted for scarthgap where recipe version is python3-xmltodict_0.13.0.bb.

(From OE-Core rev: 918d1fd448ff96431197031e5adb1be658156bc2)

Signed-off-by: mark.yang <mark.yang@lge.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2229426b729adf85780c23d38c85fc3cf090f6ba)
Signed-off-by: Himanshu Jadon <hjadon@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:44 +01:00
mark.yang
f7aca85b42 python3-certifi: set CVE_PRODUCT
NVD tracks certifi as certifi:certifi, so the default python:certifi
vendor prefix never matches and its CVEs are not evaluated at all.
Use the exact vendor:product pair.

For scarthgap, python3-certifi is 2024.2.2. CVE-2024-39689 affects
certifi versions before 2024.7.4, but this recipe already carries
CVE-2024-39689.patch. With this mapping, cve-check can evaluate that
existing backport against the correct NVD product instead of missing
the CVE mapping.

Note: Original commit was for python3-certifi_2026.2.25.bb. This is
adjusted for scarthgap where recipe version is
python3-certifi_2024.2.2.bb.

(From OE-Core rev: e6773f4c819544eae93f3efa7d2101b448db4ebb)

Signed-off-by: mark.yang <mark.yang@lge.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 26c49743ec431a3cc39803664eec8851be75756e)
Signed-off-by: Himanshu Jadon <hjadon@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:44 +01:00
mark.yang
745aacf2e3 python3-idna: set CVE_PRODUCT
The pypi class default python:idna matches nothing in the CVE
databases, which track the Python idna CVEs as:

* CVE-2024-3651 (kjd:internationalized_domain_names_in_applications) [1]
* CVE-2026-45409 (kjd:idna in the CNA record, same NVD CPE as above)

Set both vendor:product pairs.

For scarthgap, python3-idna is 3.7. CVE-2026-45409 affects idna
versions before 3.15, so this metadata change will expose that CVE as
applicable/unpatched. The fix for CVE-2026-45409 needs to be handled
separately.

The bare product name is not an option here: it would also match
"servo:idna", the Rust idna crate (e.g. CVE-2024-12224).

Note: Original commit was for python3-idna_3.11.bb. This is adjusted
for scarthgap where recipe version is python3-idna_3.7.bb.

[1] https://nvd.nist.gov/vuln/detail/CVE-2024-3651

(From OE-Core rev: 70a1b17edf909715065c1d727f989fc07f8db8bf)

Signed-off-by: mark.yang <mark.yang@lge.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 48428c0fe22d8ecbfa53efffb28173d4d37539e6)
Signed-off-by: Himanshu Jadon <hjadon@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:44 +01:00
mark.yang
e0baff51a3 python3-pyopenssl: set CVE_PRODUCT
The pypi class default python:pyopenssl matches nothing in the CVE
databases, which have used four vendor spellings for pyOpenSSL over
the years:

* CVE-2013-4314 (jean-paul_calderone:pyopenssl)
* CVE-2018-1000807 (pyopenssl:pyopenssl)
* CVE-2018-1000808 (pyopenssl_project:pyopenssl)
* CVE-2026-27448, CVE-2026-27459 (pyca:pyopenssl in the CNA records,
  pyopenssl:pyopenssl in the NVD CPEs)

Set all four vendor:product pairs.

For scarthgap, python3-pyopenssl is 24.0.0. CVE-2026-27448 and
CVE-2026-27459 are fixed in 26.0.0, so this metadata change will
expose those CVEs as applicable/unpatched. The fixes for these CVEs
need to be handled separately.

Note: Original commit was for python3-pyopenssl_26.0.0.bb. This is
adjusted for scarthgap where recipe version is
python3-pyopenssl_24.0.0.bb.

(From OE-Core rev: f6cc7e0c0a4a906244fc8cd4b45706d42a931fce)

Signed-off-by: mark.yang <mark.yang@lge.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ba3d752e577004f871fe7f4235e2625410140a08)
Signed-off-by: Himanshu Jadon <hjadon@cisco.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:44 +01:00
Antonin Godard
1ba3cd7c88 ref-manual/variables.rst: document the QB_DEFAULT_BIOS variable
The QB_DEFAULT_BIOS allows setting the -bios parameter of QEMU, which
can be used to emulate U-Boot, for example.

(From yocto-docs rev: dc9a5aa19ca2a0b5ad866f0329b8a030542ca0c6)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit f2eef5268aa94b31e986e4eef4ce1fe0094b70c4)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-13 12:33:22 +01:00
Antonin Godard
3cd1dbb582 ref-manual/variables.rst: document qemuboot variables
Document the variables in qemuboot.bbclass that allow customizing how
the QEMU guest is instantiated.

(From yocto-docs rev: 3c485a4838d7ca721d2d00867ff3d98d9e999c69)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 392ef512b05da8170d5e329c2750b2ada0a06cbd)
[AG: remove QB_TAP_NAMESERVER, doesn't exist on scarthgap]
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-13 12:33:22 +01:00
Antonin Godard
5a83b18b4d docs-wide: remove CROPS references
The CROPS[1] project hasn't been updated in two years which makes it
incompatible with our current system requirements.

Remove references to CROPS from the documentation, and in most cases
replace them by mentioning that a container can be used (setup for it
left to the user).

Note that the project is working on reference containers[2] which may
replace this at some point (not confirmed).

[1]: https://github.com/crops/poky-container/
[2]: https://lore.kernel.org/yocto/8286fd3b-1b05-47bf-95e4-0b9f0f5411cb@app.fastmail.com/

(From yocto-docs rev: 9d795bc96ad209c1ab7c007c2aae92b60a5d6ee9)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 95cf1ba327a3bcdabadf0ee96d6bf38d05c4c3dc)
[AG: fix conflicts in start.rst]
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-13 12:33:22 +01:00
Paul Barker
8ce6b5c8c7 contributor-guide: Note patch complexity requirements for stable branches
Expand the existing note section under "Submitting Changes to Stable
Release Branches" to provide guidance on (not) submitting large or
complex changes.

Concerns around the increased size and complexity of patches being
submitted for the stable branches (mostly driven by complex
vulnerabilities found and/or fixed via LLM agents) were discussed with
the stable maintainer and the Yocto Project TSC. This patch reflects the
TSC decision that we should push back on these changes to preserve the
maintainability of our stable branches.

Cc: Yoann Congal <yoann.congal@smile.fr>
(From yocto-docs rev: 3adedbd203b894924fb75d187a8cea1d92aaa700)

Signed-off-by: Paul Barker <paul@pbarker.dev>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 33bf0ff80df6be2aad8eb081752648d3c408a54b)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-13 12:33:21 +01:00
Antonin Godard
c72ed1013c dev-manual/sbom.rst: refresh for SPDX3
SPDX3 support was backported to scarthgap with 9c9b9545049a ("backport:
SPDX 3.0 fixes and tasks from upstream version Walnascar") in OE-Core,
but the Scarthgap documentation doesn't reflect it. Update the
documentation to show how to enable and remove SPDX2 statements.

(From yocto-docs rev: 365377da1b810c456f1d966ae8ffeed1cd534c10)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-13 12:33:21 +01:00
Devansh Patel
077627338a openssh: set status for CVE-2026-59998
Analysis:
- CVE-2026-59998 concerns an undocumented limitation of
  GSSAPIStrictAcceptorCheck in Windows Active Directory
  environments [1].
- Upstream OpenSSH 10.4 only documents the existing behavior and
  provides no code remediation [2].
- The recipe disables Kerberos/GSSAPI by default. Mark the CVE
  not-applicable-config when PACKAGECONFIG lacks kerberos, and
  unpatched when kerberos is enabled.

Reference:
[1] https://nvd.nist.gov/vuln/detail/CVE-2026-59998
[2] 8058c5bdb5

(From OE-Core rev: 543550522f831479f07d332a40ba343c53ae1065)

Signed-off-by: Devansh Patel <devanshp@cisco.com>
[YC: See previous version of this patch for context about ignoring vs
this CVE vs patching:
https://patchwork.yoctoproject.org/project/oe-core/patch/20260720175518.3546447-3-devanshp@cisco.com/#40497 ]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:23 +01:00
Martin Schwan
e1223f066d cargo-update-recipe-crates: Don't fail for partially empty Cargo.lock
Do not fail if only some Cargo.lock files are empty. Only fail, if there
are absolutely no dependencies found in any Cargo.lock.

This fixes the following error message, which would occur with "bitbake
-c update_crates python3-orjson":

    ERROR: python3-orjson-3.10.17-r0 do_update_crates: Execution of '.../python3-orjson/3.10.17/temp/run.do_update_crates.70693' failed with exit code 1
    ERROR: Logfile of failure stored in: .../python3-orjson/3.10.17/temp/log.do_update_crates.70693
    Log data follows:
    | DEBUG: Executing python function extend_recipe_sysroot
    | NOTE: Direct dependencies are ['.../sources/oe-core/../oe-core/meta/recipes-devtools/quilt/quilt-native_0.69.bb:do_populate_sysroot', 'virtual:native:.../sources/oe-core/../oe-core/meta/recipes-devtools/patch/patch_2.8.bb:do_populate_sysroot', 'virtual:native:.../sources/oe-core/../oe-core/meta/recipes-devtools/python/python3_3.13.9.bb:do_populate_sysroot']
    | NOTE: Installed into sysroot: []
    | NOTE: Skipping as already exists in sysroot: ['gettext-minimal-native', 'cmake-native', 'libtool-native', 'quilt-native', 'texinfo-dummy-native', 'openssl-native', 'expat-native', 'ncurses-native', 'util-linux-libuuid-native', 'zlib-native', 'libedit-native', 'make-native', 'patch-native', 'perl-native', 'python3-native', 'bzip2-native', 'xz-native', 'zstd-native', 'attr-native', 'gdbm-native', 'libffi-native', 'sqlite3-native']
    | DEBUG: Python function extend_recipe_sysroot finished
    | DEBUG: Executing shell function do_update_crates
    | Traceback (most recent call last):
    |   File "<stdin>", line 41, in <module>
    |   File "<stdin>", line 12, in get_crates
    | ValueError: Unable to find any candidate crates that use crates.io
    |
    | The above exception was the direct cause of the following exception:
    |
    | Traceback (most recent call last):
    |   File "<stdin>", line 43, in <module>
    | ValueError: Cannot parse '.../python3-orjson/3.10.17/sources/orjson-3.10.17/include/cargo/simdutf8-0.1.5/Cargo.lock'
    | WARNING: exit code 1 from a shell command.
    ERROR: Task (.../sources/oe-core/../meta-openembedded/meta-python/recipes-devtools/python/python3-orjson_3.10.17.bb:do_update_crates) failed with exit code '1'

(From OE-Core rev: 59f1965358f59457857c920ed836998509450d9a)

Signed-off-by: Martin Schwan <m.schwan@phytec.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1ef39b3fa731fb121d338aea2b1ac004620063e0)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:23 +01:00
João Marcos Costa
c5366e63b1 curl: add annotation for CVE-2026-10536
This CVE is detailed here: https://curl.se/docs/CVE-2026-10536.html

and the fix essentially consolidates the fact that HTTP2 stream
dependency is deprecated.

While oe-core provides a PACKAGECONFIG to enable HTTP2, it is not
actually used so the affected part of the code is not compiled. For
instance, in the do_configure logs:

"""
(...)
HTTP2: no (--with-nghttp2, --with-hyper)
(...)
"""

Ignore this CVE unless 'nghttp2' is enabled.

(From OE-Core rev: 637ce45a66ff7125b98fc126321b31cb0cf6bf0f)

Signed-off-by: João Marcos Costa (Schneider Electric) <joaomarcos.costa@bootlin.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:23 +01:00
Deepak Rathore
f1d5865685 sqlite3: fix CVE-2026-11822 and CVE-2026-11824
This patch applies the upstream fix [1], which addresses memory
corruption vulnerabilities in the SQLite FTS5 full-text search extension.
The GitHub mirror commit [1] corresponds to the SQLite Fossil check-in
shown in [2].

[1] e0b995b2a6
[2] https://sqlite.org/src/info/061febcf41ca

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2026-11822
https://nvd.nist.gov/vuln/detail/CVE-2026-11824

(From OE-Core rev: 3de44d1dd09907f620ed349dba563c489a5cecb9)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:22 +01:00
Siddharth Doshi
8e0b74b1d8 vim: Security Fix for CVE-2026-47167
Picking patch as per [1], and same patch is mentioned in [2]

References:
[1] https://nvd.nist.gov/vuln/detail/CVE-2026-47167
[2] https://security-tracker.debian.org/tracker/CVE-2026-47167

(From OE-Core rev: 4c3c569a7d9e19f7d613d01afd2ab793a4d35453)

Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:22 +01:00
Siddharth Doshi
676f7e731a vim: Security Fix for CVE-2026-47162
Picking patch as per [1], and same patch is mentioned in [2]

References:
[1] https://nvd.nist.gov/vuln/detail/CVE-2026-47162
[2] https://security-tracker.debian.org/tracker/CVE-2026-47162

(From OE-Core rev: 2f2d13412852098c0a9c4d633d9f2f340d34b29b)

Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:22 +01:00
Siddharth Doshi
0623e8b986 vim: Security Fix for CVE-2026-43961
Picking patch as per [1], and same patch is mentioned in [2]

References:
[1] https://github.com/vim/vim/commit/8af0f098c3a42a28661d0295364e
[2] https://security-tracker.debian.org/tracker/CVE-2026-43961

(From OE-Core rev: 333839503766bdb995092b09546922a3f4ec968e)

Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:22 +01:00
Siddharth Doshi
0939d72e83 vim: Security Fix for CVE-2026-42307
Picking patch as per [1], and same patch is mentioned in [2]

References:
[1] https://nvd.nist.gov/vuln/detail/CVE-2026-42307
[2] https://security-tracker.debian.org/tracker/CVE-2026-42307

(From OE-Core rev: ce14ca9604dfa13c619f17282273eb279a79a3ac)

Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:22 +01:00
Siddharth Doshi
1c0ffd724f vim: Security Fix for CVE-2026-28422
Picking patch as per [1], and same patch is mentioned in [2]

References:
[1] https://nvd.nist.gov/vuln/detail/CVE-2026-28422
[2] https://security-tracker.debian.org/tracker/CVE-2026-28422

(From OE-Core rev: 5568c80413e04ffe9a495b28fa1d067bd8cc3209)

Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:22 +01:00
Darsh Kelaiya
7a6a4aa3b1 python3-setuptools: Fix CVE-2026-59890
This patch applies the upstream fix as referenced in [2],
using the commit shown in [1].

[1] dd9f436a36
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-59890

(From OE-Core rev: 0c89d54002ed0411ea34a926ccb80c4b6e4d858c)

Signed-off-by: Darsh Kelaiya <dkelaiya@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:22 +01:00
mark.yang
9b68c3fb71 python3-pyasn1: set CVE_PRODUCT
The default python:pyasn1 does not match the NVD/CNA entries which use
pyasn1 as vendor, so CVEs like CVE-2026-30922 are never reported. Use
the exact pyasn1:pyasn1 pair.

Note: Original commit was for python3-pyasn1_0.6.3.bb. This is adjusted
for scarthgap where recipe version is python3-pyasn1_0.5.1.bb.

Suggested-by: Ross Burton <ross.burton@arm.com>
(From OE-Core rev: 4c2a8f74464cf3b7143bd9e978eef976aea6315e)

Signed-off-by: mark.yang <mark.yang@lge.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 4971337840e8855740409e8f5dadb3ab3661f033)
Signed-off-by: Himanshu Jadon <hjadon@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:22 +01:00
mark.yang
26302ae479 python3-ply: set CVE_PRODUCT
NVD registers ply as dabeaz:ply, so the default python:ply vendor
prefix never matches and no CVEs are reported. Use the exact
vendor:product pair.

CVE-2025-56005 will then show as unpatched; no fixed release exists.

Suggested-by: Paul Barker <paul@pbarker.dev>
(From OE-Core rev: 069cda2549b0dd841914c5b860f138f6db8b3977)

Signed-off-by: mark.yang <mark.yang@lge.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 bb80fef9a76649fb1144408fbc7e2903439cd556)
Signed-off-by: Himanshu Jadon <hjadon@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:22 +01:00
mark.yang
860d4b1c86 python3-cryptography: set CVE_PRODUCT
NVD lists it as cryptography.io:cryptography and CNA lists it as
pyca:cryptography, so set both vendor:product pairs to match correctly
and precisely.

Suggested-by: Ross Burton <ross.burton@arm.com>
(From OE-Core rev: f4029c635ce3dc1470352d3d3381d9fef19426ed)

Signed-off-by: mark.yang <mark.yang@lge.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 b721019e0b2ccbaa8de267e14b282c48a5a3de8b)
Signed-off-by: Himanshu Jadon <hjadon@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:22 +01:00
Darsh Kelaiya
cb5f298597 gawk: Fix CVE-2026-40553
This patch applies the upstream fix as referenced in [3], using the
commit shown in [1]. It also applies the corrective follow-up [2],
which fixes the snprintf() truncation boundary check. Both commits
are included in gawk 5.4.1, identified as the fixed release in [4].

[1] https://cgit.git.savannah.gnu.org/cgit/gawk.git/commit/?id=cca0366144336b49aaa7d5d949966ce8e2c70843
[2] https://cgit.git.savannah.gnu.org/cgit/gawk.git/commit/?id=bfa2e4b890a44100a99d26b54af385479528b12e
[3] https://nvd.nist.gov/vuln/detail/CVE-2026-40553
[4] https://cert.pl/en/posts/2026/07/CVE-2026-40467/

(From OE-Core rev: 1f60829da0b2ea7d9f3295ba3cfd3bba972872a2)

Signed-off-by: Darsh Kelaiya <dkelaiya@cisco.com>
Reviewed-by: Leonid Iziumtsev <leonid.iziumtsev@est.tech>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:22 +01:00
Darsh Kelaiya
5cd9ed667f gawk: Fix CVE-2026-40469
NVD [3] identifies upstream merge commit [2] as the fix. The
CVE-specific change is its second parent [1], which adds 32-bit
overflow checking in do_sub().

[1] https://cgit.git.savannah.gnu.org/cgit/gawk.git/commit/?id=aa7272a6e1184cdd21ab8f89200219abd8053eda
[2] https://cgit.git.savannah.gnu.org/cgit/gawk.git/commit/?id=ae1b2d508f46913269a9e62aceda3636afe8147b
[3] https://nvd.nist.gov/vuln/detail/CVE-2026-40469

(From OE-Core rev: 421a3d2166e922c5a8085be0aa9daab13920b613)

Signed-off-by: Darsh Kelaiya <dkelaiya@cisco.com>
Reviewed-by: Leonid Iziumtsev <leonid.iziumtsev@est.tech>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:22 +01:00
Darsh Kelaiya
e84e827496 gawk: Fix CVE-2026-40468
This patch applies the upstream fix as referenced in [2], using the commit shown in [1].

[1] https://cgit.git.savannah.gnu.org/cgit/gawk.git/commit/?id=062f2f2581b991362c046f7f2e238ffa34e6f8c7
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-40468

(From OE-Core rev: a149dbcad38f6f838db303b76fffbfe68052e74e)

Signed-off-by: Darsh Kelaiya <dkelaiya@cisco.com>
Reviewed-by: Leonid Iziumtsev <leonid.iziumtsev@est.tech>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:22 +01:00
Darsh Kelaiya
a59438acc8 gawk: Fix CVE-2026-40467
This patch applies the upstream fix as referenced in [2], using the commit shown in [1].

[1] https://cgit.git.savannah.gnu.org/cgit/gawk.git/commit/?id=a2d18c74109e41bec29a23098eba2e00057286d8
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-40467

(From OE-Core rev: 157c0642e924dc5f53064322ad8b8143a3621d6b)

Signed-off-by: Darsh Kelaiya <dkelaiya@cisco.com>
Reviewed-by: Leonid Iziumtsev <leonid.iziumtsev@est.tech>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:22 +01:00
AshishKumar Mishra
337c659854 package.bbclass: hardcode emit_pkgdata to run last
Ensure emit_pkgdata runs after all PACKAGEFUNCS to allow layers to
extend packaging behavior.
Layers can now append custom functions via PACKAGEFUNCS += "func_name"
and they will run before emit_pkgdata generates package metadata.

(From OE-Core rev: 358a847c9dfaf56291f9eb5e2f150cae56044c7c)

Signed-off-by: AshishKumar Mishra <emailaddress.ashish@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 aa85baff9ebdd3f932811c3b43d1918c38373cb9)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:22 +01:00
Shubham Pushpkar
32067f2db1 libsolv: Fix CVE-2026-9149
This patch applies the upstream fix as referenced in [1], using the CVE advisory shown in [2].
[1] 210386037c
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-9149

(From OE-Core rev: 6c39677193adf777b9abe22859842ec692bebdc3)

Signed-off-by: Shubham Pushpkar <spushpka@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
(cherry picked from commit d3fc48836349e81369f5680d808d2e469fce626a)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-31 16:41:22 +01:00
Niko Mauno
5de2230907 ref-manual: Fix occurrences of omitted space with :prepend
Add trailing space to value field in :prepend assignments, in
order to avoid providing examples which could lead the users to risk
inadvertent string concatenation.

(From yocto-docs rev: 8496602a28b19fec9ee55dc45572b31a32c70443)

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>
(cherry picked from commit b2f611f498eb22ca42dc436e3cde0c60ad2ba72f)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Antonin Godard
173c1c523d kernel-dev/common.rst: remove taskhash mismatch note
Running 'devtool modify linux-yocto' with latest version of OE-Core and
linux-yocto did not prompt the error, so remove the note.

(From yocto-docs rev: 6a5efba38c8edf17a28cc0bd9f682df582c71705)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit e8debfba3458618a25d21286581adc22bf78a836)
[AG: conflicts: note had different path, remove anyway]
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Antonin Godard
d8015a395d migration-guides: replace broken link with archive links
Replace broken link with working archives found on
https://web.archive.org/.

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

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 3288e85934868917f10d66a9130bbdfa5e0ff763)
[AG: conflicts: remove applied hunks for non-existing files]
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Daniel Turull
9011c7faaa ref-manual/release-process.rst: update LTS supported versions
Add Wrynose and remove Kirkstone as supported versions.

(From yocto-docs rev: 032850b7245c853b947218654f9036cced44c36d)

Signed-off-by: Daniel Turull <daniel.turull@ericsson.com>
[AG: fix Wyrnose -> Wrynose typo]
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 563e100d5663713e593fd92d2d0fcbddcf25c1c5)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Lee Chee Yang
f511852928 migration-guide: add release notes for 5.0.19
(From yocto-docs rev: 40df1e24e6e8f712212071aba010c7b127c8b4c7)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 95b59a99896052ef7547a54e376d827bf64da43f)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Hongxu Jia
e640c1faf0 bzip2: fix 'bzip2 --version > /tmp/aaa 2>&1' hang
According to [1]

As of the current version 1.0.8, bzip2 --version will print version
info but it will also continue compressing stdin:

  $ ./bzip2 --version
  bzip2, a block-sorting file compressor.  Version 1.0.8, 13-Jul-2019.

     Copyright (C) 1996-2019 by Julian Seward.

     This program is free software; [...]

  bzip2: I won't write compressed data to a terminal.
  bzip2: For help, type: `bzip2 --help'.

This is a long-standing bug, not new to 1.0.8 -- the same code
(license() followed by break, with no exit) exists in bzip2 1.0.6 and
earlier. The upstream bzip2 master branch on GitLab already includes
this fix.

Debian (and its downstreams like Ubuntu) will patch this out [2],
making the < /dev/null unnecessary, port a part of debian patch
to fix the issue

[1] https://stackoverflow.com/questions/59757176/why-using-dev-null-with-a-program-like-bzip2
[2] https://sources.debian.org/src/bzip2/1.0.8-6/debian/patches/20-legacy.patch/

(From OE-Core rev: 762321beb0260b1411c7f98f13458ec99a118280)

Signed-off-by: Hongxu Jia <hongxu.jia@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 ae4fe4263ba9d372f9b9e80df4ec4697b51c1f9b)
[Jaipaul: backport to scarthgap -- added commit message context that this is a
long-standing bug (not new to 1.0.8), updated Upstream-Status in patch
to actual mailing list URL in the patch file, this patch is already present on master,
wrynose and walnascar branches using the same bzip2 1.0.8]
Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Darsh Kelaiya
6dacef99fb gzip: Fix CVE-2026-41991
This patch applies the upstream fix for CVE-2026-41991 as referenced
in [2], using the upstream commit identified in [1].

[1] https://cgit.git.savannah.gnu.org/cgit/gzip.git/commit/?id=4e6f8b24ab823146ab8776f0b7fe486ab34d4269
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-41991

(From OE-Core rev: 756270e9b67b97b276729daba50febe7093d85b3)

Signed-off-by: Darsh Kelaiya <dkelaiya@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Deepak Rathore
11fbd90126 glib-2.0: fix CVE-2026-58014
This patch applies the upstream 2.88.1 backport for
CVE-2026-58014. The upstream fix commit is referenced in [1],
and the public CVE advisory is referenced in [2].

[1] 94ecb5b44a
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-58014

(From OE-Core rev: cb3cbcb16363f6c351492d19e240c0a02f073749)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Deepak Rathore
6ae62b54aa glib-2.0: fix CVE-2026-58013
This patch applies the upstream 2.88.1 backport for
CVE-2026-58013. The upstream fix commit is referenced in [1],
and the public CVE advisory is referenced in [2].

[1] 6a2583dec3
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-58013

(From OE-Core rev: cb2fd8601b4243183d5e219b901439da3f2d41c8)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Deepak Rathore
97deef61ea glib-2.0: fix CVE-2026-58012
This patch applies the upstream 2.86.5 backport for
CVE-2026-58012. The upstream fix commit is referenced in [1],
and the public CVE advisory is referenced in [2].

[1] d337aabd24
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-58012

(From OE-Core rev: b11588f572c1ce6af24da9020793e96404a028b4)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Deepak Rathore
f5a87ca676 glib-2.0: fix CVE-2026-58011
This patch applies the upstream 2.86.5 backport for
CVE-2026-58011. The upstream fix commit is referenced in [1],
and the public CVE advisory is referenced in [2].

[1] ae27363f02
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-58011

(From OE-Core rev: a5fe21f357fc41de52e16ef918a737068b0f47e7)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Deepak Rathore
bb040b7305 glib-2.0: fix CVE-2026-58010
This patch applies the upstream 2.86.5 backport for
CVE-2026-58010. The upstream fix commit is referenced in [1],
and the public CVE advisory is referenced in [2].

[1] aa1cb87d56
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-58010

(From OE-Core rev: 42905f772f74fd9977bb571380c8512f197a1473)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Sudhir Dumbhare
d0d68df4c3 libpng: Fix CVE-2026-34757
These patches apply the upstream fixes [1][2], which address
getter-to-setter aliasing issues in libpng chunk setters that could
cause stale-pointer reads, as described in [3].

[1] 398cbe3df0
[2] 55d20aaa32
[3] https://github.com/pnggroup/libpng/issues/836

Reference:
https://security-tracker.debian.org/tracker/CVE-2026-34757
https://nvd.nist.gov/vuln/detail/CVE-2026-34757

Test results on qemux86-64 using ptest-runner:
START: ptest-runner
2026-06-04T11:29
BEGIN: /usr/lib/libpng/ptest
PASS: tests/pnggetset
Testsuite summary
# TOTAL: 33
# PASS:  33
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
DURATION: 80
END: /usr/lib/libpng/ptest
2026-06-04T11:31
STOP: ptest-runner
TOTAL: 1 FAIL: 0

(From OE-Core rev: 392fb4216357fd4eefb6abe3788414f2e60b0889)

Signed-off-by: Sudhir Dumbhare <sudumbha@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Sudhir Dumbhare
75764cf5d7 gnutls: fix CVE-2026-42009
This patch applies the upstream fix [1] and [2], as referenced in [3],
to address a DTLS packet reordering flaw where duplicate sequence numbers
could lead to unstable ordering or undefined behavior.

[1] f01e21441e
[2] f341441fad
[3] https://security-tracker.debian.org/tracker/CVE-2026-42009

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2026-42009

(From OE-Core rev: 8f3c2010a6bb4b2e7f4508a3ea4c2717294d75a3)

Signed-off-by: Sudhir Dumbhare <sudumbha@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Sudhir Dumbhare
ffc5320e51 gnutls: set status for CVE-2026-3832
Analysis:
  - CVE-2026-3832 affects GnuTLS OCSP multi-record response handling.
  - The vulnerable OCSP response handling code was introduced in GnuTLS 3.8.8.
  - This vulnerable code is not present in the current GnuTLS 3.8.4.
  - Hence ignoring the CVE for this version.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2026-3832
https://security-tracker.debian.org/tracker/CVE-2026-3832
https://gitlab.com/gnutls/gnutls/-/issues/1801

(From OE-Core rev: e07d9d20c8c53b21b57f824a8ea471cb4657e717)

Signed-off-by: Sudhir Dumbhare <sudumbha@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Enoch Ng
9747726708 libxpm: fix CVE-2026-4367
Backport the upstream fix for CVE-2026-4367, in which the
`xpmNextWord()` function could attempt to read beyond the file's
end due to improper validation of file boundaries.

Reference: https://nvd.nist.gov/vuln/detail/CVE-2026-4367

(From OE-Core rev: b3f8956f38b2f2cb0f260ab8853e9d028831f420)

Signed-off-by: Enoch Ng <enoch.ng@windriver.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Deepak Rathore
44fd9295ca cups: fix CVE-2026-39316
Pick the upstream patch [1] as mentioned in [2].

[1] 0142eeb58e
[2] https://security-tracker.debian.org/tracker/CVE-2026-39316

(From OE-Core rev: f7e5b2536577573a9a9a280c1dda9c21140cfb21)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Deepak Rathore
38a2761a99 cups: fix CVE-2026-39314
Pick the upstream patch [1] as mentioned in [2].

[1] 928a86b1b7
[2] https://security-tracker.debian.org/tracker/CVE-2026-39314

(From OE-Core rev: d3ab2665bb1b99ced4449e85f1a0e0124033b5d3)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:16 +01:00
Deepak Rathore
4ae1f9aec6 cups: fix CVE-2026-34990
Pick the upstream patch [1] as mentioned in [2].

[1] e052dc44da
[2] https://security-tracker.debian.org/tracker/CVE-2026-34990

(From OE-Core rev: 5bf5d3da45fcc1494e5e6b3acf23880982518a7b)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Deepak Rathore
6fa69de2bc cups: fix CVE-2026-34979
Pick the upstream patch [1] as mentioned in [2].

[1] 0ff8897367
[2] https://security-tracker.debian.org/tracker/CVE-2026-34979

(From OE-Core rev: 7aaebb1682f0ea5f75860523efdef6fefda16307)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Deepak Rathore
335776489f cups: fix CVE-2026-34980
Pick the upstream fix [1] for CVE-2026-34980 as mentioned in [2], where
the scheduler did not filter control characters from option values.

Also include the upstream regression fixes that followed the CVE fix:

- CVE-2026-34980-regression_p1.patch [3] fixes filter PPD keyword
  processing. The CVE fix parsed PPD keywords into a temporary array,
  but the loop did not advance the keyword pointer. This regression was
  reported in OpenPrinting/cups Issue [4].
- CVE-2026-34980-regression_p2.patch [5] fixes a get_options() regression
  where the option-value parser did not advance the input pointer for
  whitespace/control-character paths.

[1] 8d0f51cac2
[2] https://security-tracker.debian.org/tracker/CVE-2026-34980
[3] 3f2bdc2932
[4] https://github.com/OpenPrinting/cups/issues/1562
[5] da0ff58c04

(From OE-Core rev: a64f1bfff50bb9e507705ff671391ec2cafdc692)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Deepak Rathore
9184e90773 cups: fix CVE-2026-34978
Pick the upstream patch [1] as mentioned in [2].

[1] 730347c5bb
[2] https://security-tracker.debian.org/tracker/CVE-2026-34978

(From OE-Core rev: 511d976c70fb591f3bc72b750df1542c4ee84d6a)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
[YC: reverted upstream patch indentation]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Deepak Rathore
8b7ff1d843 cups: fix CVE-2026-41079
Pick the upstream fix [1] for CVE-2026-41079 as referenced by Debian [2].

[1] b7c2525a88
[2] https://security-tracker.debian.org/tracker/CVE-2026-41079

(From OE-Core rev: bdb4178b04dabbdba1c1f32aa34bb50ee1a8aedf)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
[YC: reverted modified indentation in imported patch]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Deepak Rathore
b9993675ea cups: fix CVE-2026-27447
Pick the upstream backport [1] for CVE-2026-27447 as mentioned in [2], where
the scheduler treated local user and group names as case-insensitive.

Also include the two upstream regression fixes that followed the CVE
fix:
- CVE-2026-27447-regression_p1.patch [3] fixes a cupsd crash when the
  referenced user does not exist on the server. This regression was
  reported in OpenPrinting/cups Issue [5].
- CVE-2026-27447-regression_p2.patch [4] fixes unauthenticated print
  policies for non-local accounts. This regression was reported in
  OpenPrinting/cups Issue [6].

[1] a0c62c1e69
[2] https://security-tracker.debian.org/tracker/CVE-2026-27447
[3] 6d97ee39fe
[4] 849fba7d7a
[5] https://github.com/OpenPrinting/cups/issues/1555
[6] https://github.com/OpenPrinting/cups/issues/1557

(From OE-Core rev: f2aac255fcc1c44ed30a191ba18c4ad46ea4c807)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Devansh Patel
012eac4b8f openssh: Fix CVE-2026-60000
This patch applies the upstream OpenSSH 10.4 backport for
CVE-2026-60000. The upstream fix commit is referenced in [1],
and the public CVE advisory is referenced in [2].

[1] 5d04ca6af7
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-60000

(From OE-Core rev: c3dad1896c5377635506c87a09234240c5bbca90)

Signed-off-by: Devansh Patel <devanshp@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Devansh Patel
cb5e6f65a5 openssh: Fix CVE-2026-60002
This patch applies the upstream OpenSSH 10.4 backport for
CVE-2026-60002. The upstream fix commit is referenced in [1],
and the public CVE advisory is referenced in [2].

[1] e8bdfb151a
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-60002

(From OE-Core rev: c46f65e3f938efa983b24c53206972972d51da24)

Signed-off-by: Devansh Patel <devanshp@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Devansh Patel
b2a7dabed0 openssh: Fix CVE-2026-60001
This patch applies the upstream OpenSSH 10.4 backport for
CVE-2026-60001. The upstream fix commit is referenced in [1],
and the public CVE advisory is referenced in [2].

[1] d43ba60c91
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-60001

(From OE-Core rev: 11cf9397c6ca0d8c080fbceb190d2a2b72b40da6)

Signed-off-by: Devansh Patel <devanshp@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Devansh Patel
6f56dca72f openssh: Fix CVE-2026-59995
This patch applies the upstream OpenSSH 10.4 backport for
CVE-2026-59995. The upstream fix commit is referenced in [1],
and the public CVE advisory is referenced in [2].

[1] 1b39f39657
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-59995

(From OE-Core rev: 9967952fbfcb130477521324bc9899dafc277439)

Signed-off-by: Devansh Patel <devanshp@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Devansh Patel
a116ddae05 openssh: Fix CVE-2026-59996
This patch applies the upstream OpenSSH 10.4 backport for
CVE-2026-59996. The upstream fix commit is referenced in [1],
and the public CVE advisory is referenced in [2].

[1] 36480181fa
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-59996

(From OE-Core rev: c0c407666d264d94091d994f2d468369c37cc336)

Signed-off-by: Devansh Patel <devanshp@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Devansh Patel
5c16db6e87 openssh: Fix CVE-2026-59997
This patch applies the upstream OpenSSH 10.4 backport for
CVE-2026-59997. The upstream fix commit is referenced in [1],
and the public CVE advisory is referenced in [2].

[1] e9916c44c1
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-59997

(From OE-Core rev: 171530a1066afd2d420c33d063238af7e73ee784)

Signed-off-by: Devansh Patel <devanshp@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Devansh Patel
82cf81a3e9 openssh: Fix CVE-2026-59999
This patch applies the upstream OpenSSH 10.4 backport for
CVE-2026-59999. The upstream fix commit is referenced in [1],
and the public CVE advisory is referenced in [2].

[1] 8dfe7ed6e2
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-59999

(From OE-Core rev: c185f00f350783e8c59b0257eb279f2f7bb0a5de)

Signed-off-by: Devansh Patel <devanshp@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Devansh Patel
51d4fee207 libxml2: Fix CVE-2026-11979
This patch applies the upstream fix as referenced in [2],
using the commit shown in [1].

[1] c2e233fc1b
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-11979

(From OE-Core rev: e2a9a776855ea1de5c7c6817d282ea2f555395ef)

Signed-off-by: Devansh Patel <devanshp@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Yoann Congal
e5c6f86964 linux-yocto/6.6: update CVE exclusions (6.6.144)
$ ./meta/recipes-kernel/linux/generate-cve-exclusions.py .../cvelistV5/ 6.6.144 > meta/recipes-kernel/linux/cve-exclusion_6.6.inc

Generated at 2026-07-23 08:09:32.765073+00:00 for kernel version 6.6.144
From cvelistV5 cve_2026-07-23_0700Z

(From OE-Core rev: 9b5c90be9cd6dfa5ed42f2e05935068ba31bac1b)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Bruce Ashfield
600aca66db linux-yocto/6.6: update to v6.6.144
Updating linux-yocto/6.6 to the latest korg -stable release that comprises
the following commits:

    da47cbc254661 Linux 6.6.144
    6848a6e39cac4 crypto: qat - remove unused character device and IOCTLs
    1a42f84b0f6b5 crypto: qat - Return pointer directly in adf_ctl_alloc_resources
    30d648e225447 crypto: qat - Replace kzalloc() + copy_from_user() with memdup_user()
    c0b8e6eea1b2b Documentation: ioctl-number: Extend "Include File" column width
    802e113cf120d drivers/base/memory: set mem->altmap after successful device registration
    511d2b92f8d20 serial: 8250_dw: unregister 8250 port if clk_notifier_register() fails
    851e1847f881e serial: qcom_geni: Fix RX DMA stall when SE_DMA_RX_LEN_IN is zero
    36599894fa853 ksmbd: fix out-of-bounds read in smb_check_perm_dacl()
    2ef8f2a5695ae NFS: Prevent resource leak in nfs_alloc_server()
    6c344fff2feff NFSv4/pNFS: reject zero-length r_addr in nfs4_decode_mp_ds_addr
    abc978daffd26 nfsd: check get_user() return when reading princhashlen
    1e96239fddcef nfsd: fix posix_acl leak on SETACL decode failure
    1e04be34cafae NFSD: Fix SECINFO_NO_NAME decode error cleanup
    1a7ee9f9f3957 fbdev: modedb: Fix misaligned fields in the 1920x1080-60 mode
    c7dc382439f7b fbdev: modedb: fix a possible UAF in fb_find_mode()
    7640b4f68acb5 fbdev: Fix fb_new_modelist to prevent null-ptr-deref in fb_videomode_to_var
    c04d606f8b35e power: reset: linkstation-poweroff: fix use-after-free in the linkstation_poweroff_init()
    889c2a9c59897 KVM: SVM: Fix page overflow in sev_dbg_crypt() for ENCRYPT path
    d18756b12aab3 KVM: x86: hyper-v: Bound the bank index when querying sparse banks
    b84f46179c806 9p: avoid putting oldfid in p9_client_walk() error path
    c5a125eadba05 ocfs2: reject oversized group bitmap descriptors
    ddf13f91ca82c rpmsg: char: Fix use-after-free on probe error path
    fbaf509ad7cb2 fpga: region: fix use-after-free in child_regions_with_firmware()
    44567537a2623 irqchip/imgpdc: Fix resource leak, add missing chained handler cleanup on remove
    7e37e9b3e82ad pNFS: Fix use-after-free in pnfs_update_layout()
    eaca7dae02fab tipc: fix slab-use-after-free Read in tipc_aead_decrypt_done
    96e545410c4f7 blk-cgroup: fix UAF in __blkcg_rstat_flush()
    508a0139d3bf6 hdlc_ppp: sync per-proto timers before freeing hdlc state
    4fe388218826d gfs2: fix use-after-free in gfs2_qd_dealloc
    8e0abc17fbd7e exfat: fix potential use-after-free in exfat_find_dir_entry()
    ab465495b1ed5 MIPS: DEC: Prevent initial console buffer from landing in XKPHYS
    81fc9a13acae9 bpf: use kvfree() for replaced sysctl write buffer
    fda128096fc84 f2fs: keep atomic write retry from zeroing original data
    7e4d8f98be63f f2fs: fix incorrect FI_NO_EXTENT handling in __destroy_extent_node()
    1ddf3fd21c4c6 f2fs: validate ACL entry sizes in f2fs_acl_from_disk()
    24f8c87070c3e f2fs: fix to round down start offset of fallocate for pin file
    13e4b59d3a941 f2fs: validate compress cache inode only when enabled
    bd499f138ccf7 wifi: iwlwifi: mvm: fix race condition in PTP removal
    2b2060c2075a7 wifi: rtw88: usb: fix memory leaks on USB write failures
    6579dcb5e0f74 wifi: rtw88: increase TX report timeout to fix race condition
    16eef2a52687b wifi: rtlwifi: rtl8821ae: Fix C2H bit location in RX descriptor
    318703b6f71d1 wifi: ath11k: fix warning when unbinding
    a2e631fa91bb2 wifi: mt76: mt76x2u: Add support for ELECOM WDC-867SU3S
    35ab4db86774d keys: Pin request_key_auth payload in instantiate paths
    5966e4e2ba213 KEYS: fix overflow in keyctl_pkey_params_get_2()
    03ef56495f0be err.h: use __always_inline on all error pointer helpers
    5267eab88fa4c fbdev: fix use-after-free in store_modes()
    06f6dd2ff2bd0 NTB: epf: Avoid pci_iounmap() with offset when PEER_SPAD and CONFIG share BAR
    15fd83a1e42ed apparmor: fix use-after-free in rawdata dedup loop
    faea60deaa05c apparmor: mediate the implicit connect of TCP fast open sendmsg
    0eb4c16c4adb2 net: skmsg: preserve sg.copy across SG transforms
    e28e7fd34c449 mac802154: llsec: add skb_cow_data() before in-place crypto
    82c17e13d404f af_unix: Set gc_in_progress to true in unix_gc().
    5f0b95ef68ab9 nvmet-tcp: fix race between ICReq handling and queue teardown
    e8852ae29868e ntfs3: reject direct userspace writes to reserved $LX* xattrs
    ce494707a9c07 ipv4: account for fraggap on the paged allocation path
    f79f0db614160 inet: add indirect call wrapper for getfrag() calls
    65fb14cbebb0c ipv6: account for fraggap on the paged allocation path
    2660bd8333ab6 batman-adv: tvlv: avoid race of cifsnotfound handler state
    9c9f4e69368a4 batman-adv: tvlv: enforce 2-byte alignment
    d7fdbab25eae6 batman-adv: dat: prevent false sharing between VLANs
    a8da361cdd929 batman-adv: tt: track roam count per VID
    e82a02a0c1aa2 batman-adv: tt: don't merge change entries with different VIDs
    0e868200cf042 batman-adv: tp_meter: handle overlapping packets
    31dec4dc86cf6 batman-adv: tp_meter: prevent parallel modifications of last_recv
    be3af0c705a13 batman-adv: tp_meter: annotate last_recv_time access with READ/WRITE_ONCE
    f8c499fd275e5 batman-adv: tp_meter: restrict number of unacked list entries
    97644fdaaf644 batman-adv: v: prevent OGM aggregation on disabled hardif
    3af7f10d5fe44 batman-adv: frag: avoid underflow of TTL
    cb96aa1737200 batman-adv: frag: ensure fragment is writable before modifying TTL
    5263ff0bbd132 batman-adv: fix (m|b)cast csum after decrementing TTL
    4741001ca0b04 batman-adv: ensure bcast is writable before modifying TTL
    29f59324e61fc batman-adv: tp_meter: initialize last_recv_time during init
    b88f8f4e5e78e batman-adv: prevent ELP transmission interval underflow
    b5cf66cdc49b1 batman-adv: bla: annotate lasttime access with READ/WRITE_ONCE
    75445cf501ac7 batman-adv: tp_meter: add only finished tp_vars to lists
    4774a32baec46 batman-adv: tp_meter: handle seqno wrap-around for fast recovery detection
    ec8ef37fea33c batman-adv: tp_meter: fix fast recovery precondition
    cd74176cf1685 batman-adv: tp_meter: avoid divide-by-zero for dec_cwnd
    f58e5df92180e batman-adv: tp_meter: avoid window underflow
    774d22045a8fa batman-adv: tp_meter: initialize dec_cwnd explicitly
    0c610db91bbde batman-adv: tp_meter: initialize dup_acks explicitly
    edae04afb11f6 batman-adv: tp_meter: keep unacked list in ascending ordered
    bc6c380c1159d selinux: fix overlayfs mmap() and mprotect() access checks
    41c5b269af8b1 lsm: add backing_file LSM hooks
    ba3ebdd89fa20 fs: prepare for adding LSM blob to backing_file
    922a03b26e354 Bluetooth: btmtk: accept too short WMT FUNC_CTRL events
    36c85f7029484 Bluetooth: btmtk: validate WMT event SKB length before struct access
    7536ebe0473d9 Revert "ptp: add testptp mask test"
    48b91ed7e22bb KVM: x86/mmu: Ensure hugepage is in by slot before checking max mapping level
    9291654d69e08 KVM: x86: Fix shadow paging use-after-free due to unexpected role
    2de4db145b299 eventpoll: fix ep_remove struct eventpoll / struct file UAF
    a0e685da1efe0 eventpoll: move epi_fget() up
    20423e2c1c84a eventpoll: rename ep_remove_safe() back to ep_remove()
    0a4a2db528b0e eventpoll: drop vestigial __ prefix from ep_remove_{file,epi}()
    f484ab90b2290 eventpoll: kill __ep_remove()
    903070f8f3552 eventpoll: split __ep_remove()
    ff4fe83a9aabb eventpoll: use hlist_is_singular_node() in __ep_remove()
    44e8907b81fea file: add fput() cleanup helper
    2181a09ba980f virtiofs: fix UAF on submount umount
    cd923dadefadb media: vidtv: fix NULL pointer dereference in vidtv_mux_push_si
    d2bbbb6c55812 ksmbd: reject non-VALID session in compound request branch
    8232fca738011 vc_screen: fix null-ptr-deref in vcs_notifier() during concurrent vcs_write
    08fbcba06e968 scripts/sorttable: Fix endianness handling in build-time mcount sort
    80514e97c50ab scripts/sorttable: Allow matches to functions before function entry
    9ba53f9808e1e scripts/sorttable: Use normal sort if theres no relocs in the mcount section
    e115e9fa69b48 ftrace: Check against is_kernel_text() instead of kaslr_offset()
    379e755ec2c54 ftrace: Test mcount_loc addr before calling ftrace_call_addr()
    bf802b936a7b2 ftrace: Do not over-allocate ftrace memory
    4c30b173b6176 ftrace: Have ftrace pages output reflect freed pages
    dc06779d338de ftrace: Update the mcount_loc check of skipped entries
    4893af6318fe8 scripts/sorttable: Zero out weak functions in mcount_loc table
    bbfbacec9e000 scripts/sorttable: Always use an array for the mcount_loc sorting
    38be2ffe9808b scripts/sorttable: Have mcount rela sort use direct values
    fe0434d604a94 arm64: scripts/sorttable: Implement sorting mcount_loc at boot for arm64
    8297f13962063 scripts/sorttable: Use a structure of function pointers for elf helpers
    ff7e015d63849 scripts/sorttable: Get start/stop_mcount_loc from ELF file directly
    ecbb09356560c scripts/sorttable: Move code from sorttable.h into sorttable.c
    7fbddce9a2685 scripts/sorttable: Use uint64_t for mcount sorting
    23b5a9659a27d scripts/sorttable: Add helper functions for Elf_Sym
    8cd6caaa4a244 scripts/sorttable: Add helper functions for Elf_Shdr
    a03240485cf57 scripts/sorttable: Add helper functions for Elf_Ehdr
    1dd7def1ae877 scripts/sorttable: Convert Elf_Sym MACRO over to a union
    1afca399cc4d5 scripts/sorttable: Replace Elf_Shdr Macro with a union
    7ce5ed40d976e scripts/sorttable: Convert Elf_Ehdr to union
    e6bb2482b5b17 scripts/sorttable: Make compare_extable() into two functions
    d5e14532a8b86 scripts/sorttable: Have the ORC code use the _r() functions to read
    4f2fba2de0620 scripts/sorttable: Remove unneeded Elf_Rel
    c13a4c1fd1b74 scripts/sorttable: Remove unused write functions
    d9e259e63b36b scripts/sorttable: Remove unused macro defines
    030fe3e9d8abd fuse: re-lock request before replacing page cache folio
    fe95e90559bce slimbus: qcom-ngd-ctrl: Balance pm_runtime enablement for NGD
    e65ae7c948640 slimbus: qcom-ngd-ctrl: Fix up platform_driver registration
    5d1ae4e17a3ec rxrpc: Fix the ACK parser to extract the SACK table for parsing
    09c9b92c20104 net: phonet: free phonet_device after RCU grace period
    210ac54bdd8df phonet: Pass net and ifindex to phonet_address_notify().
    cf30797ea8cea phonet: Pass ifindex to fill_addr().
    6707d7e0b7174 locking/rtmutex: Skip remove_waiter() when waiter is not enqueued
    67fde21e4522e Drivers: hv: vmbus: Improve the logic of reserving fb_mmio on Gen2 VMs
    5df8310a41391 hv: utils: handle and propagate errors in kvp_register
    23e5a1b9ae954 mptcp: pm: fix extra_subflows underflow on userspace PM subflow creation
    4830fb44d12f5 netfilter: nf_tables: always walk all pending catchall elements
    7109d69bec6ed dlm: prevent NPD when writing a positive value to event_done
    c84860dac7af7 regulator: core: fix locking in regulator_resolve_supply() error path
    c2716362ec335 ring-buffer: Remove ring_buffer_read_prepare_sync()
    f155b8f1c9576 selftests/bpf: Update comments find_equal_scalars->sync_linked_regs
    8e655dbef4c9e selftests/bpf: Tests for per-insn sync_linked_regs() precision tracking
    78da8e1be90c5 bpf: Remove mark_precise_scalar_ids()
    0252b9d262222 bpf: Track equal scalars history on per-instruction level
    b741c9c6ef59f af_unix: Reject SIOCATMARK on non-stream sockets
    f68f34033d403 selftests/bpf: Add test to ensure kprobe_multi is not sleepable
    89327ed787746 bpf: Reject sleepable kprobe_multi programs at attach time
    eb045714bc6a2 agp/amd64: Fix broken error propagation in agp_amd64_probe()
    1078ae8175777 net: qualcomm: rmnet: fix endpoint use-after-free in rmnet_dellink()
    1c4ffe6b4f043 i2c: stub: Reject I2C block transfers with invalid length
    c19b360fa10c5 RDMA/bnxt_re: zero shared page before exposing to userspace
    218c24bfc3334 KVM: VMX: Update SVI during runtime APICv activation
    de1ba6c93868f ARM: fix branch predictor hardening
    1f7cc85046f1c ARM: fix hash_name() fault
    98b209cd62ef9 ARM: allow __do_kernel_fault() to report execution of memory faults
    89b37df6f805f ARM: group is_permission_fault() with is_translation_fault()
    5d95f6b267f3d debugobjects: Dont call fill_pool() in early boot hardirq context
    a3383df76f0d7 debugobjects: Do not fill_pool() if pi_blocked_on
    c8cd2ca8f085c debugobjects: Use LD_WAIT_CONFIG instead of LD_WAIT_SLEEP
    0d2a64411b097 debugobjects: Allow to refill the pool before SYSTEM_SCHEDULING
    40fe77146137b batman-adv: tt: prevent TVLV entry number overflow
    abb069fdf51a9 drm/v3d: Skip CSD when it has zeroed workgroups
    756724002c5a6 drm/v3d: Store the active job inside the queue's state
    f4b6b4af7ef06 ip6_vti: set netns_immutable on the fallback device.
    499c6b43a79dd drm/amd/display: Bound VBIOS record-chain walk loops
    b685d6ef6f07a net/sched: fix pedit partial COW leading to page cache corruption
    8bef2f840b43e fuse: limit FUSE_NOTIFY_RETRIEVE to uptodate folios

(From OE-Core rev: 6eeed0e2fee69c3c13f3b20f419d0ca25c9d8def)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Bruce Ashfield
9852ff8b42 linux-yocto/6.6: update to v6.6.143
Updating linux-yocto/6.6 to the latest korg -stable release that comprises
the following commits:

    d1cfde2d5d15 Linux 6.6.143
    726abf975668 netfilter: require Ethernet MAC header before using eth_hdr()
    05bd072e97fe x86/CPU/AMD: Rename init_amd_zn() to init_amd_zen_common()
    4a83b435acf8 x86/CPU/AMD: Call the spectral chicken in the Zen2 init function
    5e0c93dca433 x86/CPU/AMD: Move the Zen3 BTC_NO detection to the Zen3 init function
    217f53b5e3c6 Revert "selftest/ptp: update ptp selftest to exercise the gettimex options"
    189c7e57826f mptcp: fix missing wakeups in edge scenarios
    c12e67a0ef93 mptcp: add-addr: always drop other suboptions
    1111ab94fd49 arm64: errata: Mitigate TLBI errata on Microsoft Azure Cobalt 100 CPU
    e5b6bdc3d8b8 arm64: errata: Mitigate TLBI errata on NVIDIA Olympus CPU
    e717a4d08779 arm64: errata: Mitigate TLBI errata on various Arm CPUs
    baf63e6a6435 arm64: cputype: Add C1-Premium definitions
    1e4a5225b4d3 arm64: cputype: Add C1-Ultra definitions
    f58e88f8653f arm64: cputype: Add NVIDIA Olympus definitions
    2602d4b53925 ALSA: hda/hdmi: Add quirk for TUXEDO IBS14G6
    9aa7edc1347b ipvs: skip ipv6 extension headers for csum checks
    2de5c8eea0a9 net: bonding: fix use-after-free in bond_xmit_broadcast()
    8fe0231adebe RDMA/umem: Fix truncation for block sizes >= 4G
    3faebd387ed1 RDMA: Move DMA block iterator logic into dedicated files
    a7c6be320c0e RDMA/umem: fix kernel-doc warnings
    09dc18894148 RDMA: During rereg_mr ensure that REREG_ACCESS is compatible
    09b8a7aa5a34 hv_netvsc: use kmap_local_page in netvsc_copy_to_send_buf
    77b73b54801a mm/memory-failure: fix hugetlb_lock AA deadlock in get_huge_page_for_hwpoison
    252bb328b36f mm/memory-failure: fix missing ->mf_stats count in hugetlb poison
    05f1ad6d62a3 mm/hugetlb: rename folio_putback_active_hugetlb() to folio_putback_hugetlb()
    471f5d78ea4b mm/migrate: don't call folio_putback_active_hugetlb() on dst hugetlb folio
    411fa5113da0 mm/hugetlb: rename isolate_hugetlb() to folio_isolate_hugetlb()
    eb8a8124484d netfilter: nft_fib: fix stale stack leak via the OIFNAME register
    46582b0fd381 usb: typec: ucsi: Don't update power_supply on power role change if not connected
    c91ea13375f7 serial: qcom_geni: fix kfifo underflow when flush precedes DMA completion IRQ
    d3e9b79aa794 scsi: target: iscsi: Fix CRC overread and double-free in iscsit_handle_text_cmd()
    b4621e5ef634 thunderbolt: property: Cap recursion depth in __tb_property_parse_dir()
    078c11224c7f usb: typec: ucsi: Check if power role change actually happened before handling
    e15c414092b3 usb: gadget: uvc: hold opts->lock across XU walks in uvc_function_bind
    5542d2c35930 usb: dwc3: xilinx: fix error handling in zynqmp init error paths
    b987f380620b usb: musb: omap2430: Fix use-after-free in omap2430_probe()
    a9c22e0f93ba tty: serial: samsung: Remove redundant port lock acquisition in rx helpers
    8809b7941c4a tty: serial: samsung: use u32 for register interactions
    33da47d4a003 serial: samsung_tty: Use port lock wrappers
    1cdb07d8946c ALSA: firewire-motu: Protect register DSP event queue positions
    b3f4f82d1315 memfd: deny writeable mappings when implying SEAL_WRITE
    2619d9d2aac3 iio: dac: ad5686: fix ref bit initialization for single-channel parts
    f8dcef820161 usb: cdns3: plat: fix leaked usb2_phy initialization on usb3_phy acquisition failure
    e85bc501947f iio: chemical: scd30: fix division by zero in write_raw
    73d8bf36f217 iio: chemical: scd30: Use guard(mutex) to allow early returns
    86298fb6829c iio: gyro: adis16260: fix division by zero in write_raw
    b35e71b7cc7a mptcp: handle first subflow closing consistently
    792fa6eee73e Bluetooth: hci_qca: Convert timeout from jiffies to ms
    c3fc351d256c Bluetooth: hci_qca: Migrate to serdev specific shutdown function
    123724bb6ee5 serdev: Provide a bustype shutdown function
    ca2f48b9c03d serdev: make serdev_bus_type const
    c0e37017a452 mm/damon/sysfs-schemes: delete tried region in regions_rmdirs()
    e7af1b15c884 mm/memory: fix spurious warning when unmapping device-private/exclusive pages
    fe76413677e7 mptcp: do not drop partial packets
    293b0e63136b mptcp: introduce the mptcp_init_skb helper
    681d14ef45b1 iio: adc: npcm: fix unbalanced clk_disable_unprepare()
    4ed1366f9f90 iio: adc: npcm: Convert to platform remove callback returning void
    d766a49d9b55 arm64: tlb: Flush walk cache when unsharing PMD tables
    4c29603498b0 octeontx2-pf: avoid double free of pool->stack on AQ init failure
    26342087fac9 af_unix: Fix UAF read of tail->len in unix_stream_data_wait()
    db9389042db4 af_unix: Cache state->msg in unix_stream_read_generic().
    c2c764b00c0f rxrpc: Fix RESPONSE packet verification to extract skb to a linear buffer
    a05bf6d9e621 rxrpc: Fix DATA decrypt vs splice() by copying data to buffer in recvmsg
    7713f4aafb57 net: hsr: defer node table free until after RCU readers
    1dca7e491f07 ipv6: ioam: add NULL check for idev in ipv6_hop_ioam()
    dcc42d701529 ipv6/addrconf: annotate data-races around devconf fields (II)
    ada8dcfd5298 mptcp: pm: fix ADD_ADDR timer infinite retry on option space insufficient
    04318e252c58 ice: fix VF queue configuration with low MTU values
    d37a60086ee7 selftests: mptcp: drop nanoseconds width specifier
    00ffe9893f4b mptcp: reset rcv wnd on disconnect
    1521fecf44fc mptcp: cleanup fallback dummy mapping generation
    78f9d747f386 mptcp: use plain bool instead of custom binary enum
    e043017ac429 octeontx2-af: CGX: add bounds check to cgx_speed_mbps index
    1132ca7a1ba8 octeontx2-af: replace deprecated strncpy with strscpy
    557edaf01062 platform/x86/intel/vsec: Fix enable_cnt imbalance on PCIe error recovery
    969bc6370334 smb: client: require net admin for CIFS SWN netlink
    e19eff331240 genetlink: Use internal flags for multicast groups
    14897ef9341c cgroup/cpuset: Reset DL migration state on can_attach() failure
    850452af77f5 ksmbd: fix OOB write in QUERY_INFO for compound requests
    6d8f52f3f80a fbdev/vt8500lcdfb: Initialize fb_ops with fbdev macros
    666bd0598f37 ipmi:ssif: NULL thread on error
    318a0403b270 ipmi:ssif: Remove unnecessary indention
    ae9d4caf6f13 mm/huge_memory: update file PMD counter before folio_put()
    310a8cc74612 soc: qcom: ice: Fix race between qcom_ice_probe() and of_qcom_ice_get()
    428a33573dcb mm/hugetlb: avoid false positive lockdep assertion
    000e8f55fbc7 driver core: reject devices with unregistered buses
    b5fa9e32fb67 fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling
    201151e120f0 drm/amd/display: Use krealloc_array() in dal_vector_reserve()
    7fc4fab4acc3 drm/amd/display: Fix NULL deref and buffer over-read in SDP debugfs
    4d1c3c26c2ab drm/amd/display: Clamp VBIOS HDMI retimer register count to array size
    79e0273272a0 drm/amd/display: Clamp HDMI HDCP2 rx_id_list read to buffer size
    3fe2c6af3f51 drm/amdgpu: restart the CS if some parts of the VM are still invalidated
    16dad1fb0d78 drm/amdkfd: Fix buffer overflow in SDMA queue checkpoint/restore on GFX11
    62bd09e23a23 drm/amdkfd: fix NULL dereference in get_queue_ids()
    d54a221b0f3c slimbus: qcom-ngd-ctrl: Avoid ABBA on tx_lock/ctrl->lock
    9f4a76c7e9fa slimbus: qcom-ngd-ctrl: fix OF node refcount
    fc261397295b thunderbolt: Limit XDomain response copy to actual frame size
    0dd61ba03d05 thunderbolt: Validate XDomain request packet size before type cast
    5db10c8ad8c0 thunderbolt: Clamp XDomain response data copy to allocation size
    4d0b1524caad thunderbolt: Bound root directory content to block size
    5f56bc6bddff thunderbolt: Reject zero-length property entries in validator
    7dd9a42b044a sctp: stream: fully roll back denied add-stream state
    e97c2a535e23 sctp: diag: reject stale associations in dump_one path
    7e60d675288d mmc: sdhci: add signal voltage switch in sdhci_resume_host
    b46521877611 mmc: renesas_sdhi: Add OF entry for RZ/G2H SoC
    6dc14b9b431e mmc: litex_mmc: Set mandatory idle clocks before CMD0
    30e727657185 mmc: core: Fix host controller programming for fixed driver type
    8d6e1dd3ad13 mm/hugetlb: restore reservation on error in hugetlb folio copy paths
    f0ca9c7f44a9 octeontx2-af: fix memory leak in rvu_setup_hw_resources()
    033d498b0f47 nvmem: layouts: onie-tlv: fix hang on unknown types
    e7cf30aa5f1f net: rds: clear i_sends on setup unwind
    1ccad3ee7998 net: mv643xx: fix OF node refcount
    a629418d463f net: bonding: fix NULL pointer dereference in bond_do_ioctl()
    c090df5be6bc net/mlx5: Reorder completion before putting command entry in cmd_work_handler
    8fb4a23df5b7 misc: fastrpc: Fix NULL pointer dereference in rpmsg callback
    d3e26df2e8eb misc: fastrpc: fix DMA address corruption due to find_vma misuse
    8b080c891831 misc: fastrpc: fix use-after-free race in fastrpc_map_create
    df08fadcf0e5 misc: fastrpc: fix use-after-free of fastrpc_user in workqueue context
    6560be3f6a5b ipc/shm: serialize orphan cleanup with shm_nattch updates
    7a395a147f06 Input: atkbd - skip deactivate for HONOR BCC-N's internal keyboard
    81d60181ed55 Input: atkbd - add DMI quirk for Lenovo Yoga Air 14 (83QK)
    2d175d6aae9c i2c: tegra: Fix NOIRQ suspend/resume
    5bebff5e8492 i2c: stm32f7: fix timing computation ignoring i2c-analog-filter
    7107627b8b35 i2c: qcom-cci: Fix NULL pointer dereference in cci_remove()
    dd92773d4d9c fuse: reject fuse_notify() pagecache ops on directories
    254c469a404a pidfd: refuse access to tasks that have started exiting harder
    0e823ca0e739 inet: frags: fix use-after-free caused by the fqdir_pre_exit() flush
    c1234229399f IB/isert: Reject login PDUs shorter than ISER_HEADERS_LEN
    1a418ad0e5e5 bnxt_en: Fix NULL pointer dereference
    6f5285a6054a ASoC: fsl_sai: Fix 32 slots TDM broken by integer shift UB in xMR write
    dfd853197615 vsock/vmci: fix sk_ack_backlog leak on failed handshake
    688fcac7054a wifi: nl80211: reject oversized EMA RNR lists
    eb13ab2f66e2 selftests: mptcp: add test for extra_subflows underflow on userspace PM
    026c4a70e2a9 mptcp: sockopt: check timestamping ret value
    b1fd13074f22 mptcp: allow subflow rcv wnd to shrink
    907ac6b1658e mptcp: close TOCTOU race while computing rcv_wnd
    f2c9012fc115 mptcp: fix retransmission loop when csum is enabled
    c2e3aadc8fef ARM: 9475/1: entry: use byte load for KASAN VMAP stack shadow
    b6290cc96dc8 ARM: 9474/1: io: avoid KASAN instrumentation of raw halfword I/O
    c35c0763af34 ARM: socfpga: Fix OF node refcount leak in SMP setup
    1b585673a224 udp: clear skb->dev before running a sockmap verdict
    0c2821665ff7 zram: fix use-after-free in zram_bvec_write_partial()
    0d64bc200ebe RDMA/srp: bound SRP_RSP sense copy by the received length
    5c97ae9382de mm/damon/ops-common: call folio_test_lru() after folio_get()
    5242b5f3c77f drm/amd/display: Reject gpio_bitshift >= 32 in bios_parser_get_gpio_pin_info()
    898bd0ccfed7 drm/virtio: fix dma_fence refcount leak on error in virtio_gpu_dma_fence_wait()
    e2331730175f ALSA: timer: Fix UAF at snd_timer_user_params()
    a1288cd700f7 USB: serial: kl5kusb105: fix bulk-out buffer overflow
    f71f8f99a9cd USB: serial: option: add usb-id for Dell Wireless DW5826e-m
    4cb722747ed2 USB: serial: io_ti: fix heap overflow in build_i2c_fw_hdr()
    d92f17af7097 USB: serial: io_ti: fix heap overflow in get_manuf_info()
    aa82a078f70f xfrm: espintcp: do not reuse an in-progress partial send
    0da2e073f9cb ksmbd: fix use-after-free of a deferred file_lock on double SMB2_CANCEL
    07c33be968d9 drm/i915/gem: Fix phys BO pread/pwrite with offset
    033d39e41fc3 KVM: Don't WARN if memory is dirtied without a vCPU when the VM is dying
    88520b2fecc4 mmc: litex_mmc: Use DIV_ROUND_UP for more accurate clock calculation
    1e927a468500 tracing/probes: Point the error offset correctly for eprobe argument error
    214a2042b16b Bluetooth: L2CAP: reject BR/EDR signaling packets over MTUsig
    1338ee049a89 Bluetooth: hci_sync: reject oversized Broadcast Announcement prepend
    8767fe4079af netfilter: nft_tunnel: fix use-after-free on object destroy
    e0ce103e89d6 drm/vc4: fix krealloc() memory leak
    ed3e134700a2 drm/virtio: Fix driver removal with disabled KMS
    c5f438dd2fd8 clk: qcom: dispcc-sc8280xp: Don't park mdp_clk_src at registration time
    5e1c1d22268a netfilter: ctnetlink: ensure safe access to master conntrack
    5f82b02b4059 ipv6: Fix a potential NPD in cleanup_prefix_route()
    ccdd7f1949bb net: mvpp2: build skb from XDP-adjusted data on XDP_PASS
    580f92f27cb8 net: mvpp2: refill RX buffers before XDP or skb use
    26c0986cb613 net: mvpp2: Add metadata support for xdp mode
    3b8b0c3631b1 net: mvpp2: limit XDP frame size to the RX buffer
    bede0f481b91 net: mvpp2: sync RX data at the hardware packet offset
    cd513e43b4b2 netfilter: nft_exthdr: fix register tracking for F_PRESENT flag
    8a81e336da68 netfilter: nf_log: validate MAC header was set before dumping it
    a0d16941adf3 netfilter: x_tables: avoid leaking percpu counter pointers
    29d8cc44bbdf netfilter: nf_conntrack: destroy stale expectfn expectations on unregister
    eb7e77342e3e rds: mark snapshot pages dirty in rds_info_getsockopt()
    f513f308cc4b ip6_vti: fix incorrect tunnel matching in vti6_tnl_lookup()
    0f22412a2f4f net/rds: fix NULL deref in rds_ib_send_cqe_handler() on masked atomic completion
    b903e9b5629e net: guard timestamp cmsgs to real error queue skbs
    8ce96f118264 sctp: fix uninit-value in __sctp_rcv_asconf_lookup()
    22f4ee66614e r8152: handle the return value of usb_reset_device()
    25fdf5369853 net: openvswitch: fix possible kfree_skb of ERR_PTR
    0bfa7bba1f41 ipv6: sit: reload inner IPv6 header after GSO offloads
    41781f278930 net/mlx5: Fix slab-out-of-bounds in mlx5_query_nic_vport_mac_list
    2047c2aa0963 net: qrtr: fix refcount saturation and potential UAF in qrtr_port_remove
    12fb84dc4dc8 net: phy: clean the sfp upstream if phy probing fails
    838f411b8ef8 net/mlx4: avoid GCC 10 __bad_copy_from() false positive
    ecfe9171b26a tcp: restrict SO_ATTACH_FILTER to priv users
    10def23b67b4 ASoC: wm_adsp: Fix NULL dereference when removing firmware controls
    7db09011ce62 gpio: mvebu: fix NULL pointer dereference in suspend/resume
    07a18f5c90dd netlabel: validate unlabeled address and mask attribute lengths
    42827d03f800 xfrm: policy: fix use-after-free on inexact bin in xfrm_policy_bysel_ctx()
    f4e4b98cee82 iomap: don't revert iov_iter on partially completed buffered writes
    fed65bc9de8e arm64: tlb: Optimize ARM64_WORKAROUND_REPEAT_TLBI
    b7d3add1884c arm64: tlb: Allow XZR argument to TLBI ops
    523bc49979b9 KVM: arm64: Remove VPIPT I-cache handling
    d30aac0fa00c tap: free page on error paths in tap_get_user_xdp()
    ceafb893b12f net: skbuff: fix missing zerocopy reference in pskb_carve helpers
    9eaa4e8d5561 tools/rv: Fix cleanup after failed trace setup
    7fce959e9be3 usb: gadget: u_ether: Fix NULL pointer deref in eth_get_drvinfo
    36c41e9724c9 usb: gadget: f_ncm: Fix net_device lifecycle with device_move
    d68b621bb5a4 ALSA: PCM: Fix wait queue list corruption in snd_pcm_drain() on linked streams
    c12c4cae0cd7 time: Fix off-by-one in settimeofday() usec validation
    f4aae11abb44 signal: clear JOBCTL_PENDING_MASK for caller in zap_other_threads()
    6e39863cefe4 ipmi: Fix rcu_read_unlock to srcu_read_unlock in handle_read_event_rsp
    2afc9e684dc7 sctp: purge outqueue on stale COOKIE-ECHO handling
    6d6e42e8e17f net/802/mrp: fix vector attribute parsing in mrp_pdu_parse_vecattr
    1a827b95e62b ieee802154: 6lowpan: only accept IPv6 packets in lowpan_xmit()
    9db4dd019a6b vxlan: vnifilter: fix spurious notification on VNI update
    5a7ad529fd53 vxlan: vnifilter: send notification on VNI add
    e4e7428349d9 octeontx2-af: npc: Fix CPT channel mask in npc_install_flow
    72775977e89c net: ethernet: mtk_eth_soc: Fix use-after-free in metadata dst teardown
    cecdc6574a82 ptp: vclock: Switch from RCU to SRCU
    8ff85dbabbbf ipv4: restrict IPOPT_SSRR and IPOPT_LSRR options
    ba760c38b38b Bluetooth: MGMT: Fix backward compatibility with userspace
    0622e527a31d Bluetooth: fix memory leak in error path of hci_alloc_dev()
    691f14b6a48b Bluetooth: bnep: reject short frames before parsing
    10e90715e68f Bluetooth: bnep: fix incorrect length parsing in bnep_rx_frame() extension handling
    98377e6b1a1a Bluetooth: RFCOMM: validate skb length in MCC handlers
    74c08e4db35a Bluetooth: MGMT: validate advertising TLV before type checks
    de31973ef00e Bluetooth: RFCOMM: hold listener socket in rfcomm_connect_ind()
    28a6a3762796 net: fec: fix pinctrl default state restore order on resume
    caeb42f28f00 net: lan743x: permit VLAN-tagged packets up to configured MTU
    74e02121be1d net: garp: fix unsigned integer underflow in garp_pdu_parse_attr
    271355c2ef61 hsr: Remove WARN_ONCE() in hsr_addr_is_self().
    91cdbb9b308f net: Annotate sk->sk_write_space() for UDP SOCKMAP.
    daf5a9eef894 pcnet32: stop holding device spin lock during napi_complete_done
    e732c4444bcf drm/imx: Fix three kernel-doc warnings in dcss-scaler.c
    06ce6fc106b1 6lowpan: fix off-by-one in multicast context address compression
    8b136f18ac4b net/sched: act_api: use RCU with deferred freeing for action lifecycle
    b4892561552d dm cache policy smq: check allocation under invalidate lock
    afd64b59c3de netfilter: bridge: make ebt_snat ARP rewrite writable
    af80f78ce984 netfilter: nft_ct: bail out on template ct in get eval
    7c34f9130529 netfilter: conntrack_irc: fix possible out-of-bounds read
    0f8ba5e4c53d netfilter: synproxy: add mutex to guard hook reference counting
    c6376b9b1b4d ipvs: clear the svc scheduler ptr early on edit
    8122abd4fd92 netfilter: xt_NFQUEUE: prefer raw_smp_processor_id
    945a86b21b40 ksmbd: fix NULL-deref of opinfo->conn in oplock/lease break notifiers
    9a0dc9279d09 tee: optee: prevent use-after-free when the client exits before the supplicant
    5d27d2ffe487 net/smc: fix sleep-inside-lock in __smc_setsockopt() causing local DoS
    2a613bf49702 ipv6: mcast: Fix use-after-free when processing MLD queries
    aa6ef7340169 i2c: dev: prevent integer overflow in I2C_TIMEOUT ioctl
    067579d5cf8c Disable -Wattribute-alias for clang-23 and newer
    b26849cffaa7 hwmon: (pmbus/core) Protect regulator operations with mutex
    d859e53596d1 RDMA/rxe: Fix "trying to register non-static key in rxe_qp_do_cleanup" bug
    7502c1cf303b Bluetooth: hci_conn: fix potential UAF in set_cig_params_sync
    90dbad14b109 USB: serial: mct_u232: fix memory corruption with small endpoint
    f8b8f1d4bb76 bpf: Free reuseport cBPF prog after RCU grace period.
    37f488be2a82 usb: core: Fix SuperSpeed root hub wMaxPacketSize
    ff3c2b623bfa HID: core: Fix size_t specifier in hid_report_raw_event()
    9e36568e67f8 HID: pass the buffer size to hid_report_raw_event
    20a816422e98 HID: core: Add printk_ratelimited variants to hid_warn() etc
    bb2040484f90 serial: zs: Convert to use a platform device
    c9e78361fe92 serial: dz: Convert to use a platform device
    5fc2943ad6a1 serial: dz: Fix bootconsole handover lockup
    bef9e8bdbc60 xhci: tegra: Fix ghost USB device on dual-role port unplug
    8a65db5edd7b USB: serial: digi_acceleport: fix memory corruption with small endpoints
    fbf718d5afe2 landlock: Fix handling of disconnected directories
    0e96cd314c0d x86/kexec: Disable KCOV instrumentation after load_segments()
    a55618c0f4ce Bluetooth: hci_sync: fix UAF in hci_le_create_cis_sync
    4bcaa59f403d USB: serial: cypress_m8: fix memory corruption with small endpoint
    36f07474f2b9 serial: zs: Switch to using channel reset
    633a33fe1a34 serial: zs: Fix bootconsole handover lockup
    6f22119afe53 serial: dz: Fix bootconsole message clobbering at chip reset
    a8bd09d3d843 drm/amdkfd: Check for pdd drm file first in CRIU restore path
    4e5f808b4541 drm/amdkfd: fix a vulnerability of integer overflow in kfd debugger
    6495cc09f7e6 drm/amdkfd: fix NULL pointer bug in svm_range_set_attr
    c33322ef3ce5 serial: fsl_lpuart: fix rx buffer and DMA map leaks in start_rx_dma
    ea7bdbee9fc3 serial: zs: Fix swapped RI/DSR modem line transition counting
    4860f9821baf serial: sh-sci: fix memory region release in error path
    70982b7ac673 serial: qcom-geni: fix UART_RX_PAR_EN bit position
    3c29f8af029b serial: altera_jtaguart: handle uart_add_one_port() failures
    a1b9535768ed drm/amd/pm/si: Disregard vblank time when no displays are connected
    28b22dbaf407 drm/i915: Fix potential UAF in TTM object purge
    049a6b474823 drm/hyperv: validate VMBus packet size in receive callback
    1fb565b77b8f drm/hyperv: validate resolution_count and fix WIN8 fallback
    edd06675a023 scsi: target: iscsi: Validate CHAP_R length before base64 decode
    4e9f0c4a645c scsi: target: iscsi: Bound iscsi_encode_text_output() appends to rsp_buf
    163bd704d751 scsi: scsi_transport_fc: Widen FPIN pname walker counter to u32
    0e3c6e5a8fc1 scsi: fcoe: Reject FIP descriptors with zero fip_dlen in CVL walker
    5506c825f14d thunderbolt: property: Reject dir_len < 4 to prevent size_t underflow
    8d4a758b407a thunderbolt: property: Reject u32 wrap in tb_property_entry_valid()
    e835bf9a055f usb: gadget: f_fs: copy only received bytes on short ep0 read
    a183b47fee46 usb: gadget: dummy_hcd: Reject hub port requests for non-existent ports
    046870ff6b6f usb: gadget: composite: fix integer underflow in WebUSB GET_URL handling
    5d39924ae38c usb: gadget: f_hid: fix device reference leak in hidg_alloc()
    085652fda7f3 usb: gadget: net2280: Fix double free in probe error path
    70bb9a2661d3 USB: serial: mct_u232: fix missing interrupt-in transfer sanity check
    be3a1ed4ae51 USB: serial: mxuport: fix memory corruption with small endpoint
    0bde5431037a USB: serial: keyspan: fix missing indat transfer sanity check
    be50533fe706 USB: serial: cypress_m8: validate interrupt packet headers
    ffb739a49186 USB: serial: belkin_sa: validate interrupt status length
    37a2ac9f5125 USB: serial: option: add missing RSVD(5) flag for Rolling RW135R-GL
    5a0e65d56ffd USB: serial: option: add MeiG SRM813Q
    17587492179c usb: usbtmc: reject interrupt endpoints with small wMaxPacketSize
    5de7df75ef3a usb: usbtmc: check URB actual_length for interrupt-IN notifications
    a0638db2340e usbip: vudc: Fix use after free bug in vudc_remove due to race condition
    02c76e026c06 usb: storage: Add quirks for PNY Elite Portable SSD
    aec4d38ac605 USB: quirks: add NO_LPM for Lenovo ThinkPad USB-C Dock Gen2 hub controllers
    e21f5abf80ad usb: core: Fix up Interrupt IN endpoints with bogus wBytesPerInterval
    028cc2555eca usb: chipidea: core: convert ci_role_switch to local variable
    6dd5c0ea139b tty: serial: pch_uart: add check for dma_alloc_coherent()
    68f603bb8622 counter: Fix refcount leak in counter_alloc() error path
    9fa854ea4318 comedi: comedi_test: Fix limiting of convert_arg in waveform_ai_cmdtest()
    422af0f9ce0c comedi: comedi_test: fix check for valid scan_begin_src in waveform_ai_cmdtest()
    2ad3397f3cc5 Input: synaptics - add LEN2058 to SMBus passlist for ThinkPad E490
    e9b62996ba53 Input: atmel_mxt_ts - fix boundary check in mxt_prepare_cfg_mem
    0fe08c5776a7 ksmbd: OOB read regression in smb_check_perm_dacl() ACE-walk loops
    ba451cf21f1d Input: xpad - add support for ASUS ROG RAIKIRI II
    6e6de3eba8e4 Input: xpad - add "Nova 2 Lite" from GameSir
    322e48187e02 xfrm: esp: restore combined single-frag length gate
    d780c61bd2ef ASoC: qcom: q6asm-dai: do not set stream state in event and trigger callbacks
    ed4e2ff1ddd1 ASoC: qcom: q6asm-dai: close stream only when running
    2bb6d82b586e netfilter: conntrack: tcp: do not force CLOSE on invalid-seq RST without direction check
    32aa292fbcb9 xfrm: ah: use skb_to_full_sk in async output callbacks
    00f2c451e57d xfrm: route MIGRATE notifications to caller's netns
    c4cc6b3b0013 nfc: hci: fix out-of-bounds read in HCP header parsing
    1552b979a0b6 iommu, debugobjects: avoid gcc-16.1 section mismatch warnings
    ed598de9f615 HID: wacom: Fix OOB write in wacom_hid_set_device_mode()
    f1e89a943ee5 ip6: vti: Use ip6_tnl.net in vti6_changelink().
    48ce101cd630 xfrm: input: hold netns during deferred transport reinjection
    a29768d56eb3 ipv6: validate extension header length before copying to cmsg
    1acfb7d9c6fc ip6: vti: Use ip6_tnl.net in vti6_siocdevprivate().
    12d957979e4a ipv6: exthdrs: refresh nh after handling HAO option
    f21a9285147a ASoC: qcom: q6asm-dai: fix error handling in prepare and set_params
    bddaa4dfc7f3 ipv6: exthdrs: refresh nh pointer after ipv6_hop_jumbo()
    679e13a65e68 macsec: fix replay protection at XPN lower-PN wrap
    96b72672ce84 bpf: sockmap: fix tail fragment offset in bpf_msg_push_data
    48b0aa9c08a3 Input: elan_i2c - validate firmware size before use
    0584af4fe40f usb: dwc2: Fix use after free in debug code
    c28bfafa9d70 usb: cdns3: plat: fix unbalanced pm_runtime_forbid() call permanently leaks the runtime PM usage counter across bind/unbind cycles
    96291794d162 usb: cdns3: gadget: fix request skipping after clearing halt
    9a3860454bdf USB: serial: omninet: fix memory corruption with small endpoint
    29783e6b6ec0 iio: buffer: hw-consumer: fix use-after-free in error path
    d291f76e4231 iio: light: cm3323: fix reg_conf not being initialized correctly
    d534936cf3ac iio: magnetometer: st_magn: fix default DRDY pin selection for LIS2MDL
    c43741113cd6 iio: temperature: tsys01: fix broken PROM checksum validation
    b5d9befff543 iio: ssp_sensors: cancel delayed work_refresh on remove
    31bbd4b87dd6 iio: gyro: itg3200: fix i2c read into the wrong stack location
    d434a6abd101 iio: adc: viperboard: Fix error handling in vprbrd_iio_read_raw
    1c375f2c4a7a iio: dac: ad5686: acquire lock when doing powerdown control
    99d8feee7560 iio: dac: ad5686: fix input raw value check
    9a8fca2af3aa iio: dac: max5821: fix return value check in powerdown sync
    baff1f00d8b5 iio: adc: xilinx-xadc: Fix sequencer mode in postdisable for dual mux
    7b9dcbe89d7a wireguard: send: append trailer after expanding head
    a452ca80b7ad KVM: SVM: Flush the current TLB when transitioning from xAVIC => x2AVIC
    c881af73ae98 KVM: arm64: PMU: Preserve AArch32 counter low bits
    ecc9635e7501 USB: cdc-acm: Fix bit overlap and move quirk definitions to header
    15b1723c1472 parport: Fix race between port and client registration
    bcfb4833cd40 Input: xpad - fix out-of-bounds access for Share button
    35f68f36d988 Bluetooth: ISO: serialize iso_sock_clear_timer with socket lock
    119fb6f80c44 Bluetooth: ISO: fix UAF in iso_recv_frame
    d313683d6ccd Bluetooth: HIDP: fix missing length checks in hidp_input_report()
    63cd225cc13d Bluetooth: L2CAP: fix chan ref leak in l2cap_chan_timeout() on !conn
    89dec9204171 Bluetooth: L2CAP: use chan timer to close channels in cleanup_listen()
    8776032fe989 auxdisplay: line-display: fix OOB read on zero-length message_store()
    157ce2c6836c ipc: limit next_id allocation to the valid ID range
    7c58c55a2a16 hpfs: fix a crash if hpfs_map_dnode_bitmap fails
    dcd2b02b095f Bluetooth: btusb: Allow firmware re-download when version matches
    4c52e31e9ea6 HID: quirks: Add ALWAYS_POLL quirk for SIGMACHIP USB mouse
    0cd7b3a15a49 Input: ims-pcu - fix usb_free_coherent() size in ims_pcu_buffers_free()
    060fca8e0983 media: rc: igorplugusb: fix control request setup packet
    9b3145b3001f USB: serial: safe_serial: fix memory corruption with small endpoint
    156b6f0aec61 usb: typec: ucsi: validate connector number in ucsi_connector_change()
    0af00f1459f5 usb: typec: tcpm/tcpci_maxim: validate header NDO against RX_BYTE_CNT
    5cd0e7ac4eef usb: typec: wcove: don't write past struct pd_message in wcove_read_rx_buffer()
    70e7045849e9 usb: typec: altmodes/displayport: validate count before reading Status Update VDO
    592cbdc644c6 usb: typec: ucsi: displayport: NAK DP_CMD_CONFIGURE without a payload VDO
    3f432b820306 usb: typec: ucsi: ccg: reject firmware images without a ':' record header
    d42ac0bfb6a1 iio: imu: st_lsm6dsx: fix stack leak in tagged FIFO buffer
    d1c9c79eb06e soc/tegra: pmc: Fix unsafe generic_handle_irq() call
    0bb1522d3081 hwmon: (pmbus/adm1266) serialize NVMEM blackbox read with pmbus_lock
    96852c116071 hwmon: (pmbus/adm1266) serialize GPIO PMBus accesses with pmbus_lock
    7e2476057950 x86/kexec: add a sanity check on previous kernel's ima kexec buffer
    566db3370f12 of/kexec: refactor ima_get_kexec_buffer() to use ima_validate_range()
    43308106a176 ima: verify the previous kernel's IMA buffer lies in addressable RAM
    e1d839efc1e4 phy: mscc: Use PHY_ID_MATCH_EXACT for VSC8584, VSC8582, VSC8575, VSC856X
    64858b76ec67 arm64: io: Extract user memory type in ioremap_prot()
    4356c4d85050 arm64: io: Rename ioremap_prot() to __ioremap_prot()
    05ff52238039 drm/i915/psr: Apply Intel DPCD workaround when SDP on prior line used
    45e27857b24e drm/dp: Add eDP 1.5 bit definition
    ac7045d3f6d3 drm/i915/psr: Read Intel DPCD workaround register
    28557e9deb23 drm/i915/psr: Add defininitions for INTEL_WA_REGISTER_CAPS DPCD register
    22ee4010866d inet: frags: flush pending skbs in fqdir_pre_exit()
    e0fc5427d6a8 inet: frags: add inet_frag_queue_flush()
    711ebd961190 drm, fbcon, vga_switcheroo: Avoid race condition in fbcon setup
    f707f53f9ff5 drm/fbdev-helper: Set and clear VGA switcheroo client from fb_info
    228cc232079d media: rc: ttusbir: fix inverted error logic
    a7becb58f6b8 media: rc: fix race between unregister and urb/irq callbacks
    3edb8ebbf79b mm/page_alloc: clear page->private in free_pages_prepare()
    a9393751ecf7 batman-adv: bla: avoid double decrement of bla.num_requests
    99f17d1cdb37 batman-adv: tt: avoid empty VLAN responses
    65a1e67339aa batman-adv: tt: fix TOCTOU race for reported vlans
    5bc2d50fb66b batman-adv: tp_meter: directly shut down timer on cleanup
    3c19cb8a84ef net: af_key: zero aligned sockaddr tail in PF_KEY exports
    100953b5011d batman-adv: tp_meter: avoid role confusion in tp_list
    cf12f8881832 batman-adv: iv: recover OGM scheduling after forward packet error
    13493b00dd1e batman-adv: tvlv: reject oversized TVLV packets
    2a8c9e865291 batman-adv: bla: avoid NULL-ptr deref for claim via dropped interface
    a5904f2c92b0 batman-adv: tt: reject oversized local TVLV buffers
    fcedc98bd03c batman-adv: tvlv: abort OGM send on tvlv append failure
    31dcb9711abd batman-adv: v: stop OGMv2 on disabled interface
    ae1ada0af162 perf: Fix dangling cgroup pointer in cpuctx
    1488367423a6 net: skbuff: fix pskb_carve leaking zcopy pages
    c87cd3cb3096 ipv6: fix possible infinite loop in fib6_select_path()
    279853aec9f5 ipv6: fix possible infinite loop in rt6_fill_node()
    634a9af8a26a sctp: fix race between sctp_wait_for_connect and peeloff
    95e414f83243 net: mana: Add NULL guards in teardown path to prevent panic on attach failure
    88403b42faa8 gpio: rockchip: convert bank->clk to devm_clk_get_enabled()
    6319b38fe69f Bluetooth: L2CAP: Fix possible crash on l2cap_ecred_conn_rsp
    cc2b4f749de0 Bluetooth: l2cap: clear chan->ident on ECRED reconfiguration success
    97e06791368c ipv6: rpl: fix hdrlen overflow in ipv6_rpl_srh_decompress()
    65674d2489a1 ethtool: eeprom: add more safeties to EEPROM Netlink fallback
    091b58d9a65b ethtool: eeprom: add missing ethnl_ops_begin() / _complete() during fallback
    f4d78a81f57d bonding: refuse to enslave CAN devices
    b06203ac5f12 Bluetooth: 6lowpan: check skb_clone() return value in send_mcast_pkt()
    5fe860af8630 ASoC: codecs: simple-mux: Fix enum control bounds check
    3127a884525d ksmbd: fix FSCTL permission bypass by adding a permission check for FSCTL_SET_SPARSE
    e917d0c69f01 tunnels: do not assume transport header in iptunnel_pmtud_check_icmp()
    dc3bfa050f87 vxlan: do not reuse cached ip_hdr() value after skb_tunnel_check_pmtu()
    76cd9398a047 tunnels: load network headers after skb_cow() in iptunnel_pmtud_build_icmp[v6]()
    5165922a8b5c gpio: mxc: fix irq_high handling
    a4b64f3e9c7b net: hsr: fix potential OOB access in supervision frame handling
    e9e1dbdee16e ASoC: Intel: bytcht_es8316: Fix MCLK leak on init errors
    8e59d4d0dcde ipv4: free net->ipv4.sysctl_local_reserved_ports after unregister_net_sysctl_table()
    15fb19af49f2 scsi: core: Run queues for all non-SDEV_DEL devices from scsi_run_host_queues
    cd691beafea0 net/iucv: fix locking in .getsockopt
    ed7a75831301 net/smc: Do not re-initialize smc hashtables
    e523bb6d1de3 net: netlink: don't set nsid on local notifications
    490a6ef32ab2 net: netlink: fix sending unassigned nsid after assigned one
    20f977a75333 vsock: keep poll shutdown state consistent
    60d9c0d6cdde tun: free page on build_skb failure in tun_xdp_one()
    5b34f9e4fe2f tun: free page on short-frame rejection in tun_xdp_one()
    b80ef316e978 netfilter: nf_tables: fix dst corruption in same register operation
    ce0712149e21 netfilter: bitwise: add support for doing AND, OR and XOR directly
    45cb4821021e netfilter: bitwise: rename some boolean operation functions
    a27cb7325a6c netfilter: ebtables: fix OOB read in compat_mtw_from_user
    21994d11461b netfilter: xt_cpu: prefer raw_smp_processor_id
    af2c22ccb1f6 netfilter: synproxy: refresh tcphdr after skb_ensure_writable
    d0cbeaa85b58 nfc: nxp-nci: i2c: use rising-edge IRQ on ACPI systems
    fccd685b32df xfrm: Check for underflow in xfrm_state_mtu
    ee2d1a8a1833 nfc: llcp: Fix use-after-free race in nfc_llcp_recv_cc()
    e00f50f86977 nfc: llcp: Fix use-after-free in llcp_sock_release()
    67cca9df4d17 net: cpsw_new: Fix potential unregister of netdev that has not been registered yet
    4f33d74ccf69 bcache: fix uninitialized closure object
    b4a659bae3b8 drm: Remove plane hsub/vsub alignment requirement for core helpers
    6c153d97c100 net/sched: sch_sfb: Replace direct dequeue call with peek and qdisc_dequeue_peeked
    963537a26fd8 net: mctp: ensure our nlmsg responses are initialised
    5df49f0579f7 net/sched: cls_fw: fix NULL dereference of "old" filters before change()
    d883312061cc Input: usbtouchscreen - clamp NEXIO data_len/x_len to URB buffer size

(From OE-Core rev: f716609076112c273dda2809694d6db10ff856e6)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:15 +01:00
Yoann Congal
fe1d12b1a4 scripts/install-buildtools: Update to 5.0.19
Update to the 5.0.19 release of the 5.0 series for buildtools

(From OE-Core rev: 250d7a18a7a1478f4bce0be8b07a12654059727d)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:14 +01:00
Richard Purdie
f8b89ba589 bitbake: utils: Add NFS EEXISTS/isdir failure workaround
We're seeing cases where we see tracebacks when creating directories in
SSTATE_DIR on an NFS server. The issue is that we see EEXISTS being returned
but isdir() is False, likely when multiple clients try and create the same
directory at the same time.

This is likely a relatively well known issue with NFS's attribute cache.
There is also a way to clear the attribute cache, which is to call
opendir() on the parent directory. That is what this workaround does. In
the rare case we're about to fail, try that using os.listdir() and
see if it helps. Testing showed that it would "fix" several cases
where we'd have had failures otherwise.

[YOCTO #16351]

(Bitbake rev: cff3be6f664f8f07a40727ff63eeeb24d6f5e00b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3a99c26fa581d70ed67bd08a5e0e0d0b18369a7c)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:14 +01:00
Yoann Congal
83fd2a9ab4 bitbake: README: Add "2.8" subject-prefix to git-send-email suggestion
That might help new users send correct first stable patches.

(Bitbake rev: 40f0570bdad3d008268a1085dfad2da97b1ddbd1)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-30 13:21:14 +01:00
Joshua Watt
9916b7471e glibc-testsuite: Do not generate SPDX
glibc-testsuite does not run on target or factor into the build supply
chain, since its purpose is run tests in Qemu at build time

(From OE-Core rev: 3217490cc554069ae53aa54cf8ad7327ce85fa10)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 32801348ca231978498612f3ebee121ca27459c1)
[YC: See https://lore.kernel.org/all/20260708115052.71740-1-jaipaul.cheernam@est.tech/ ]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:55 +01:00
Harish Sadineni
7d7d132471 binutils: Add CVE-2025-69646 to "CVE:" tag
Bugzilla bug 33641 (assigned CVE-2025-69648) has been resolved as a
duplicate of bug 33638 (assigned CVE-2025-69646):

https://sourceware.org/bugzilla/show_bug.cgi?id=33641

The existing patch already fixes the issue associated with both CVEs.

Update the "CVE:" tag to reference both identifiers.

(From OE-Core rev: b6cffcce711a1285ffba7f39e7acf5861fda6486)

Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:55 +01:00
Ankur Tyagi
e895f7c264 ca-certificates: upgrade 20260223 -> 20260601
License-Update: ca-certificates-local example removed[1]

[1] 0ba2e089da

(From OE-Core rev: a1c01fc4fe6235d86ab9ceb739d96a69dd91b87d)

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 366cfc1103661f98020d7b7c8d249f2b7f9432af)
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
[YC: Changelog:
https://metadata.ftp-master.debian.org/changelogs/main/c/ca-certificates/ca-certificates_20260601_changelog
]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:55 +01:00
Ankur Tyagi
211a713181 wireless-regdb: upgrade 2026.03.18 -> 2026.05.30
(From OE-Core rev: 2fd02dbbf0328724de521fffdb1dfc56e4ca098e)

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 86e35bc1ab5fb2132b06b666fe73fc9bd6446ab6)
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
[YC: Changelog:
https://git.kernel.org/pub/scm/linux/kernel/git/wens/wireless-regdb.git/log/?qt=range&q=master-2026-03-18..master-2026-05-30
]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:55 +01:00
Ankur Tyagi
4f83b7b498 wireless-regdb: upgrade 2026.02.04 -> 2026.03.18
(From OE-Core rev: 67786616508c010b3dfb7f0951b5a70bb69050d7)

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 97a940bfdeaa3f9f4442a6fbb0fabe1ce5eaff69)
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
[YC: Changelog:
https://git.kernel.org/pub/scm/linux/kernel/git/wens/wireless-regdb.git/log/?qt=range&q=master-2026-02-04..master-2026-03-18
"wireless-regdb: Replace M2Crypto with cryptography package" only
impacts signing code that maintainers run.
]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:55 +01:00
Ross Burton
bdb543e713 xmlto: update SRC_URI
xmlto was previously hosted on Fedora's pagure.io server, but this is
being decomissioned. As xmlto isn't Fedora-specific the repository has
migrated to codeberg.org.

>From discussion with Michal Schorm <mschorm@redhat.com>:

  I became the new maintainer of the project upstream and after a
  discussion with Kevin Fenzi, migrated it to a new home on the
  codeberg.org: https://codeberg.org/xmlto/xmlto

(From OE-Core rev: 514e5212a304f879ca73b0008baea56e9626d0e5)

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 0046c780bf612aa7946023f8993c45f0c0b65c08)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:55 +01:00
Benjamin Robin (Schneider Electric)
91ed772bf3 glib-2.0: fix CVE-2026-58016
A flaw was found in GLib. A state confusion issue exists in
g_dbus_node_info_new_for_xml() in the gio/gdbusintrospection.c file when
processing malformed D-Bus introspection XML, specifically with a <node>
element nested within other elements like <method>, <signal>, <property>
or <arg>. This issue can cause an unsigned integer overflow and lead to an
out-of-bounds read, resulting in a denial of service.

The CVE NVD entry is wrong, it indicates that the CVE is fixed in 2.88.1
but the fix was realized in 2.89.0, see [1]. The fix is not present in 2.88.2.

[1] c9da977c17

(From OE-Core rev: b7bb8b7eace676556d50d130a08a1363088c98d5)

Signed-off-by: Benjamin Robin (Schneider Electric) <benjamin.robin@bootlin.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 d52f4d582cc71ada3c8ebe54be1a5b70278ea1ca)
[YC: re-added the removed Signed-off-bys from the patches]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:55 +01:00
Hitendra Prajapati
82f8ecb35d vim: Fix for CVE-2026-52858,CVE-2026-52859,CVE-2026-52860
Pick patch from [1], [2] & [3] also mentioned at NVD report in [4,5 & 6]

[1] 4b850457e1
[2] 63680c6d3d
[3] c8c63673bc
[4] https://nvd.nist.gov/vuln/detail/CVE-2026-52858
[5] https://nvd.nist.gov/vuln/detail/CVE-2026-52859
[6] https://nvd.nist.gov/vuln/detail/CVE-2026-52860

(From OE-Core rev: 1c08fa48b6765ace24a261ecf43f871e850cee88)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:55 +01:00
Sudhir Dumbhare
247c484238 openssh: set status for CVE-2026-3497
Analysis:
 - CVE-2026-3497 affects downstream OpenSSH GSSAPI Key Exchange patches.
 - The vulnerable code uses sshpkt_disconnect() in the GSSAPI KEX server path.
 - Upstream OpenSSH/OE-Core does not carry the vulnerable GSSAPI key-exchange delta.
 - Hence ignoring the CVE for this version.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2026-3497
https://github.com/advisories/ghsa-wcpp-3x59-h8vp
https://ubuntu.com/security/CVE-2026-3497
https://security-tracker.debian.org/tracker/CVE-2026-3497
https://www.openwall.com/lists/oss-security/2026/03/12/3

(From OE-Core rev: d8d7b0e9fa678bc67de3da8b7cddbda6c43086b8)

Signed-off-by: Sudhir Dumbhare <sudumbha@cisco.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 c2bd43b373d65d717e606cab3793b8a64facd946)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:55 +01:00
Aleksandar Nikolic
3b4d998c7a wic: Fix updating fstab for nvme devices
In case wks file references nvme, update_fstab() function will not add
prefix 'p' before the partition number, as the if condition only takes
mmcblk into consideration.

In case of nvme0n1 this leads that following entries are added to fstab:

    /dev/nvme0n11
    /dev/nvme0n13

instead of:

    /dev/nvme0n1p1
    /dev/nvme0n1p3

The patch fixes this as it extends the if condition and adds prefix 'p' for
both mmcblk and nvme.

Upstream-Status: Backport [https://git.yoctoproject.org/wic/commit/?id=f20cda73b495b75ef399c331f59b0e2401a3e76a]
(From OE-Core rev: 5dde0ae4c9592091935eca63beacd3af28ac508a)

Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:55 +01:00
Sudhir Dumbhare
a184998193 python3-urllib3: fix CVE-2026-44431
Applies the upstream fix [1] referenced in [2] and addresses the
sensitive-header redirect handling issue in proxied low-level urllib3 requests.

[1] 5ec0de499b
[2] https://ubuntu.com/security/CVE-2026-44431

References:
https://nvd.nist.gov/vuln/detail/CVE-2026-44431

(From OE-Core rev: a7f0523f5ff7a8fef611d30ad41b12d73eecec8c)

Signed-off-by: Sudhir Dumbhare <sudumbha@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:55 +01:00
Hugo SIMELIERE (Schneider Electric)
3d80d019e6 libcap: Fix CVE-2026-4878
Pick patch from [1] as mentioned in Debian report in [2].

[1] https://git.kernel.org/pub/scm/libs/libcap/libcap.git/commit/?id=286ace1259992bd0c5d9016715833f2e148ac596
[2] https://security-tracker.debian.org/tracker/CVE-2026-4878

(From OE-Core rev: f53beec471b04c818db7c3834c9af67956c548ec)

Signed-off-by: Hugo SIMELIERE (Schneider Electric) <hsimeliere.opensource@witekio.com>
Reviewed-by: Bruno VERNAY <bruno.vernay@se.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:55 +01:00
Theo Gaige
8a839ef416 expat: patch CVE-2026-45186
Backport patches from [1] also mentioned in [2].

[1] https://github.com/libexpat/libexpat/pull/1216
[2] https://security-tracker.debian.org/tracker/CVE-2026-45186

(From OE-Core rev: aa81f5c9a7e1243b9467b51388798dc0dd5a7aad)

Signed-off-by: Theo Gaige <tgaige.opensource@witekio.com>
Reviewed-by: Bruno Vernay <bruno.vernay@se.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:55 +01:00
Peter Marko
c5f228145b expat: patch CVE-2026-41080
Pick github PR [1] mentioned in [2].
* 969af8f4654ce50d837bb9199a73d1d02d2c7e16..4ba09dc471b39a78d77e5179d0243186c0c4ff7a
* dropped code which doesn't exist in 2.6.4 yet (github actions, map
  file)
* resolved minor conflicts (formatting)
* picked 2 additional commits to apply the code cleanly

[1] https://github.com/libexpat/libexpat/pull/1183
[2] https://security-tracker.debian.org/tracker/CVE-2026-41080

(From OE-Core rev: 273968c71fbf4a376996df555a8283bf63674ae8)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
[YC: See discussion :
https://lore.kernel.org/openembedded-core/2030b4435c8bc81bb4452637c0517ac33ab94d20.camel@pbarker.dev/T/#m56c5da4033c2f3571027c2745431178064ea1b5d ]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:55 +01:00
Vijay Anusuri
9c72283ec8 tzdata/tzcode-native: upgrade 2026b -> 2026c
This release contains the following changes:

   Briefly:
     Alberta moved to permanent -06 on 2026-06-18.
     Morocco moves to permanent +00 on 2026-09-20.
     More integer overflow bugs have been fixed in zic.

   Changes to future timestamps

     Alberta’s 2026-03-08 spring forward was its last foreseeable clock
     change, as it moved to permanent -06 thereafter.  (Thanks to Roozbeh
     Pournader and others.)  Model this with its traditional abbreviation
     CST.  Although the change to permanent -06 legally took place on
     2026-06-18, temporarily model the change to occur on 2026-11-01 at
     02:00 instead, for the same reason we introduced a similarly
     temporary hack for British Columbia in 2026b.

       Although another TZDB release will likely be needed soon because
       Northwest Territories will likely follow Alberta, the legal
       formalities have not yet taken place.

     Morocco plans to move back to permanent UTC, without daylight
     saving time transitions, on 2026-09-20 at 02:00.  This also
     affects Western Sahara.

   Changes to code

     zic no longer overflows integers when processing outlandish input
     like ‘Zone Ouch 0 - LMT 9223372036854775807’, ‘Zone Ouch 0
     2562047788015215 LMT’, ‘Zone Ouch -2562047788015215:30:08 - LMT’,
     and ‘Zone Ouch -2562047788015215:30:08 - %%z’.  This avoids
     undefined behavior in C.  (Problems reported by Naveed Khan.)

     On platforms that have EFTYPE, tzalloc now fails with errno set to
     EFTYPE, not EINVAL, if it detects that the TZif file has an
     invalid format or is not a regular file.  Formerly it did this
     only on NetBSD, and only when the file was not a regular file.

     Unprivileged programs no longer require TZif files to be regular
     files or reject relative names containing ".." components.  This
     reverts to the more-permissive 2025b behavior, as the stricter
     behavior did not catch on in FreeBSD.

     zic now reports any failure to remove a temporary file when
     cleaning up after a previous failure.  (Problem reported by Tom
     Lane.)

   Changes to commentary

     Northwest Territories is expected to move to permanent -06 prior to
     2026-11-01 02:00, when clocks would otherwise fall back.  (Thanks to
     Tim Parenti and James Bellaire.)  Model this with its traditional
     abbreviation CST.  Unfortunately the change is not yet official, so
     it is currently present only as comments that can be uncommented as
     needed.

   Changes to build procedure

     The undocumented ‘typecheck’ Makefile check rule has been removed.
     It stopped working in 2025a and evidently nobody noticed.
     The rule was superseded by ‘check_time_t_alternatives’ in 2013d.

Ref: https://lists.iana.org/hyperkitty/list/tz-announce@iana.org/thread/NVHSX2PAQIT44U5FCCEVNJJYXQMMTJSA/

(From OE-Core rev: 41f3415d03bf85e9bf18fc960ab6e08c376a4abf)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 33a7e1170b0c8ba83cdb4c7d6d9f83f6c194baed)
Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:55 +01:00
Deepak Rathore
fca50b3652 util-linux: fix CVE-2026-13595
This patch applies the upstream stable/v2.41 backport for
CVE-2026-13595. The upstream fix merge or commit is referenced in [1],
and the public CVE advisory is referenced in [2]. The individual
backported commit links are recorded in the embedded patch headers
when the fix expands to multiple commits.

[1] 132d9c8aa1
[2] https://access.redhat.com/security/cve/CVE-2026-13595

(From OE-Core rev: 9f4a0789961def89303e6e8a211c944e41c29cab)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:55 +01:00
Jaipaul Cheernam
865d0fd2d6 gzip: fix CVE-2026-41992
Backport upstream fix for a global buffer overflow in the LZH
decompression logic (unlzh.c). The left[] and right[] global arrays
shared across LZW and LZH decompression routines are not reinitialized
between files processed in the same invocation, allowing an
out-of-bounds read in the LZH decoder.

Adapted for gzip 1.13:
- Refreshed NEWS and THANKS hunks to match 1.13 release context.

Reference: https://nvd.nist.gov/vuln/detail/CVE-2026-41992
(From OE-Core rev: db470c65798b4a90a5c1c333d61f3a531cca75cc)

Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit deaaaacabbf8d21fb9271e3f6f83055893510cff)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:54 +01:00
Peter Marko
9a906f991a rootfs: move tasks using image_list_installed_packages to postuninstall
Since some packages can be uninstalled, any task querying installed
packages should be run only after both installation and uninstallation
is completed.

(From OE-Core rev: d79423d3a1b8cabdf7c0383de2b5460a9725d912)

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>
(From OE-Core rev: c3097962ac925538e99b17b771c541950a8b8c26)
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:54 +01:00
Peter Marko
46891dba64 vex: remove obsolete semicolon
Usage of semicolon as separator in ROOTFS/IMAGE_*COMMAND was deprecated
long time ago.
Remove it.

(From OE-Core rev: cf0d89407e6b44c8fa4033cc0032dd270351172a)

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>
(From OE-Core rev: 311d418d22a609fb54b87bfc909bdd1861892228)
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:54 +01:00
Peter Marko
21137ce7bb socat: patch CVE-2026-56123
Pick the only commit in release 1.8.1.2.
This release has a note for this CVE which was added by this commit.

Drop change in VERSION file (as we're not upgrading).
Resolve minor conflicts in CHANGES and test.sh.

Since we're not running tests, it's not worth to pick next commit from
1.8.1.3 which is fixing test on non-bash shell systems.

(From OE-Core rev: 043f99712f596054d54dded6a0f8bb3c77e36566)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
[YC: project git repo seem down. A mirror is here:
https://third-party-mirror.googlesource.com/socat/+/d44cd1cc4fbb70a9ae9e71890024ae8367fcb912%5E%21/ ]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:54 +01:00
Jaipaul Cheernam
515c8e27b7 bzip2: Fix CVE-2026-42250
This patch applies the upstream fix as referenced in [1], using the commit shown in [2].

[1] https://nvd.nist.gov/vuln/detail/CVE-2026-42250
[2] https://sourceware.org/cgit/bzip2/commit/?id=35d122a3df8b0cc4082a4d89fdc6ee99f375fe67

(From OE-Core rev: 2ae360e0f03c70f376226f4cbb5fd7d61b7bae99)

Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bf39a3c0497023e96de11444579ffef31f968bcd)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:54 +01:00
Benjamin Robin (Schneider Electric)
0c2fa146c5 python3: fix CVE-2026-9669
bz2.BZ2Decompressor objects could be reused after a decompression error.
If an application caught the resulting OSError and retried with the same
decompressor, crafted input could cause the decompressor to resume from an
invalid internal state and perform out-of-bounds writes to a stack buffer.
This could crash the process when processing untrusted data.

This CVE has a CVSS 4.0 score of 8.2. The patch (5755d0f08394) is
referenced in the CVEList database.

(From OE-Core rev: 226831c16d13133e89d3405b5e2298bb6571bed6)

Signed-off-by: Benjamin Robin (Schneider Electric) <benjamin.robin@bootlin.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:54 +01:00
Benjamin Robin (Schneider Electric)
96f1bb2af7 python3: fix CVE-2026-11972
When using the "tarfile" module with a file opened in "streaming mode"
(mode="r|") the tarfile module did not properly handle EOF, making archive
parsing take exponentially longer.

(From OE-Core rev: 9c066bcd634e7b938a10c64ef1eaf322a99ec434)

Signed-off-by: Benjamin Robin (Schneider Electric) <benjamin.robin@bootlin.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 bbd9c82298880ab61b9befea97dfe8a0a4943836)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:54 +01:00
Benjamin Robin (Schneider Electric)
ca405952dc python3: fix CVE-2026-11940
tarfile.extractall() with the 'data' or 'tar' filter could be bypassed
by a crafted archive where a hardlink references a symlink stored at a
deeper name than the hardlink itself.

(From OE-Core rev: a76513212f1830fbda2dc6a243943a3c1a011239)

Signed-off-by: Benjamin Robin (Schneider Electric) <benjamin.robin@bootlin.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:54 +01:00
Kris Gavvala
f55e6c80f1 python3: skiptest tracemalloc_track_race
In python3 ptests, tracemalloc_track_race fails with a segfault.
To avoid ptest failures for now, skip the test.

Fixes [YOCTO #16182]
Upstream Issue: https://github.com/python/cpython/issues/143143

(From OE-Core rev: 09adf3945b681bbc9eaa89cdad8fbb17191fd7d3)

Signed-off-by: Kris Gavvala <kris.gavvala@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 7504490ba5e6ce0317dd12bdb961542062f05830)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:54 +01:00
Mathieu Dubois-Briand
cd6939b8ba python3: Simplify ptest exclusion list
Makes the exclusion list a bit more readable, avoiding very long sed
expression lines.

[Kris Gavvala]:
this commit was modified to fit scarthgap. the original commit expects
to skip test_timerfd_TFD_TIMER_ABSTIME, test_date_locale2 and test_null_dlsym.
These tests were not being skipped on scarthgap so were removed from the
backport.

(From OE-Core rev: 649b6848ccd4aa3842b2b42b03058511e4f07ce3)

Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Kris Gavvala <kris.gavvala@windriver.com>
(cherry picked from commit d9a44e7390d7c8f2c2b73572825a6f8ceeb729ac)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:54 +01:00
Roland Kovacs
082c373810 binutils: fix CVE-2025-69645
Binutils objdump contains a denial-of-service vulnerability when processing
a crafted binary with malformed DWARF debug information. A logic error in
the handling of DWARF compilation units can result in an invalid offset_size
value being used inside byte_get_little_endian, leading to an abort (SIGABRT).
A local attacker can trigger the crash by supplying a malicious input file.

(From OE-Core rev: ca101b2ff0b91630df25ee619c809e0621d41b21)

Signed-off-by: Roland Kovacs <roland.kovacs@est.tech>
[YC: The patch is referenced on the NVD page:
     https://nvd.nist.gov/vuln/detail/CVE-2025-69645 ]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:54 +01:00
Roland Kovacs
72b30efa58 binutils: fix CVE-2025-69649, and CVE-2025-69652
CVE-2025-69649:
  Null pointer dereference in readelf before 2.46 results in segfault when
  processing a crafted ELF binary with malformed header fields.
  No evidence of memory corruption beyond the null pointer dereference, nor
  any possibility of code execution, was observed.

CVE-2025-69652:
  Null pointer dereference in readelf when processing a crafted ELF binary
  with malformed DWARF abbrev or debug information which leads to SIGABORT.
  No evidence of memory corruption or code execution was observed; the impact
  is limited to denial of service.

(From OE-Core rev: 86dd1306e350c4cd3b36a39254d6f17587960a60)

Signed-off-by: Roland Kovacs <roland.kovacs@est.tech>
[YC: patches are referenced in the NVD database:
     https://nvd.nist.gov/vuln/detail/CVE-2025-69649
     https://nvd.nist.gov/vuln/detail/CVE-2025-69652 ]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:54 +01:00
Ashishkumar Parmar
5f7a875f6d bind: Upgrade 9.18.44 -> 9.18.49
This upgrade fixes CVE-2026-1519, CVE-2026-3039, CVE-2026-3592, CVE-2026-5946 and CVE-2026-5950.

Changelog
=========
https://downloads.isc.org/isc/bind9/9.18.49/doc/arm/html/notes.html

The 9.18.45 changelog includes a Python 3.10 requirement change for ISC's
upstream system test suite, but OE-Core's bind recipe does not enable or package
that test suite and does not inherit ptest. This change is therefore not part of
the target build, installed packages, runtime dependencies, or runtime behavior.

(From OE-Core rev: dee1f392d5294bc5a228ff185bd0c105243a26d4)

Signed-off-by: Ashishkumar Parmar <asparmar@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:54 +01:00
Jaipaul Cheernam
74551a4b4b glibc: stable 2.39 branch updates
git log --oneline ce65d944e38a20cb70af2a48a4b8aa5d8fabe1cc..be1e627cd72db31161a3b4ce1c8114674f0895eb
be1e627cd7 Linux: Only define OPEN_TREE_* macros in <sys/mount.h> if undefined (bug 33921)
98bc06a361 include: isolate __O_CLOEXEC flag for sys/mount.h and fcntl.h
3e13579841 Use pending character state in IBM1390, IBM1399 character sets (CVE-2026-4046)
0dc95ae109 elf: parse /proc/self/maps as the last resort to find the gap for tst-link-map-contiguous-ldso
9344c796f7 resolv: Check hostname for validity (CVE-2026-4438)
5663ab0b83 resolv: Count records correctly (CVE-2026-4437)
c53cd6e738 posix: Run tst-wordexp-reuse-mem test
2760e4c5ed iconvdata: Fix invalid pointer arithmetic in ANSI_X3.110 module
ba29a36aa3 posix: Fix invalid flags test for p{write,read}v2
60b039bf6a socket: Add new test for shutdown

Testing Results:
             Before    After    Diff
PASS         4892      4896     +4
XPASS        4         4         0
FAIL         371       372      +1
XFAIL        16        16        0
UNSUPPORTED  224       224       0

Changes in testcases:

testcase-name                                before  after
posix/tst-wordexp-reuse-mem(new)               -     PASS (native)

[Note: posix/tst-wordexp-reuse-mem is a new test added by this uplift
(c53cd6e738). It fails under QEMU user-mode because the test-wrapper
cannot support LD_PRELOAD and MALLOC_TRACE needed for mtrace. Running
natively with LD_PRELOAD=libc_malloc_debug.so confirms the test passes
with no memory leaks.

nptl/tst-getpid3 is a flaky test under QEMU user-mode (passes 7/10
re-runs). No nptl code was changed in this uplift.]

(From OE-Core rev: 2afc207fb9d2b720912a5eedb0f368e40f5a236e)

Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:54 +01:00
Eric Meyers
a8a3e88a5e create-spdx-image-3.0: correct SSTATE_SKIP_CREATION key for do_create_image_sbom_spdx
The override was "task-create-image-sbom" but BitBake derives it as
"task-create-image-sbom-spdx" (do_ stripped, underscores to hyphens), so
the skip was never applied. The task then cached an ${IMAGE_NAME}-stamped
SBOM in sstate, letting a stale spdx.json be restored via setscene. A
later do_sbom_cve_check would compute the current IMAGE_NAME and fail with
"No such file or directory" on the missing timestamped SBOM. Correct the
key so the image SBOM is always regenerated, never restored from sstate.

(From OE-Core rev: 4acdac4caaed1179ff52c4ff3064f014d08a4664)

Signed-off-by: Eric Meyers <eric.meyers@arthrex.com>
Cc: Joshua Watt <JPEWhacker@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 45302ff5cfaf91ece74d4065acf710507f27da15)
Signed-off-by: Benjamin Robin (Schneider Electric) <benjamin.robin@bootlin.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-22 21:08:54 +01:00
Paul Barker
6ccffb86e8 cve-update: Avoid NFS caching issues
When moving the updated CVE database file to the downloads directory,
ensure that it has a different inode number to the previous version of
this file.

We have seen "sqlite3.DatabaseError: database disk image is malformed"
exceptions on our autobuilder when trying to read the CVE database in
do_cve_check tasks. The context here is that the downloads directory
(where the updated database file is copied to) is shared between workers
as an NFS mount. Different autobuilder workers were seeing different
checksums for the database file, which indicates that a mix of both new
and stale data was being read. Forcing each new version of the database
file to have a different inode number will prevent stale data from being
read from local caches.

This should fix [YOCTO #16086].

(From OE-Core rev: 8aca19cff468c5f15c919c973c46be58e020af46)

Signed-off-by: Paul Barker <paul@pbarker.dev>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f63622bbec1cfaca6d0b3e05e11466e4c10fa86e)
[YC: removed cve-update-db-native part, file was removed in
17eb0788514 (cve-update-db-native: remove, 2023-06-23)]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:33 +01:00
Jakub Szczudlo
c574139f59 libgcrypt: upgrade 1.10.3 -> 1.10.4
Release notes are here:
https://dev.gnupg.org/T8233.html
Update contains fix for CVE-2026-41989 and because of building error patch need to be
updated to fix compile flags in new version.

(From OE-Core rev: b06db09b3e8199014b125e3307ba4ae351ad2938)

Signed-off-by: Jakub Szczudlo <jakubszczudlo40@gmail.com>
[YC: upgrades contains
"mpi/ec-inline: refactor i386 assembly to reduce register usage" which
looks like optimisation but it is actually a fix for a build failure.
See: https://dev.gnupg.org/T6892.html]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:33 +01:00
Benjamin Robin (Schneider Electric)
95ac28ddfa openssh: CVE-2026-35387 patch also fixes CVE-2026-35414
The openssh commit fd1c7e131f331942d20f42f31e79912d570081fa fixes 2 CVEs:
CVE-2026-35414 and CVE-2026-35387.

CVE-2026-35414:
| OpenSSH before 10.3 mishandles the authorized_keys principals option
| in uncommon scenarios involving a principals list in conjunction
| with a Certificate Authority that makes certain use of comma
| characters.

The match_principals_option() function is fixed. Before this fix:
When matching an authorized_keys principals="" option against a list of
principals in a certificate, an incorrect algorithm was used that could
allow inappropriate matching in cases where a principal name in the
certificate contains a comma character. Exploitation of the condition
requires an authorized_keys principals="" option that lists more than
one principal *and* a CA that will issue a certificate that encodes more
than one of these principal names separated by a comma (typical CAs
strongly constrain which principal names they will place in a
certificate). This condition only applies to user- trusted CA keys in
authorized_keys, the main certificate authentication path
(TrustedUserCAKeys/AuthorizedPrincipalsFile) is not affected.

CVE-2026-35387:
| OpenSSH before 10.3 can use unintended ECDSA algorithms. Listing of
| any ECDSA algorithm in PubkeyAcceptedAlgorithms or
| HostbasedAcceptedAlgorithms is misinterpreted to mean all ECDSA
| algorithms.

The rest of the patch allows to correctly match ECDSA signature algorithms
against algorithm allowlists.

The full explanation can be found on debian repository:
ae190b6440

(From OE-Core rev: c871a726471a37e46ba10afe7d93b5e0e3de8cdb)

Signed-off-by: Benjamin Robin (Schneider Electric) <benjamin.robin@bootlin.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:32 +01:00
Anil Dongare
7aad94e82e cargo: Fix CVE-2026-5223
This patch applies the upstream fix as referenced in [2], using the commit shown in [1].

[1] 285cebf589
[2] https://security-tracker.debian.org/tracker/CVE-2026-5223

(From OE-Core rev: 9a7fa66844042347a01347538c221115eb40856b)

Signed-off-by: Anil Dongare <adongare@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:32 +01:00
Anil Dongare
ae2f076ef7 cargo: Fix CVE-2026-5222
This patch applies the upstream fix as referenced in [2], using the commit shown in [1].

[1] c4d63a4423
[2] https://security-tracker.debian.org/tracker/CVE-2026-5222

(From OE-Core rev: 1f38e3b8ea709fb8e7ef7a13991809ede5d24d09)

Signed-off-by: Anil Dongare <adongare@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:32 +01:00
Ashishkumar Parmar
8cb3e690c5 qemu: Fix CVE-2026-2243
This patch applies the upstream v10.0.9 stable backport for
CVE-2026-2243. The upstream fix commit is referenced in [1],
and the public CVE advisory is referenced in [2]. The individual
backported commit links are recorded in the embedded patch headers
when the fix expands to multiple commits.

[1] 37ff880a12
[2] https://access.redhat.com/security/cve/CVE-2026-2243

(From OE-Core rev: 9d20ff0a25cf9822c1164baaf0a319985c5cc88f)

Signed-off-by: Ashishkumar Parmar <asparmar@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:32 +01:00
Ashishkumar Parmar
8f694f00c4 qemu: Fix CVE-2026-0665
This patch applies the upstream v10.0.8 stable backport for
CVE-2026-0665. The upstream fix commit is referenced in [1],
and the public CVE advisory is referenced in [2]. The individual
backported commit links are recorded in the embedded patch headers
when the fix expands to multiple commits.

[1] 4ba877461e
[2] https://access.redhat.com/security/cve/CVE-2026-0665

(From OE-Core rev: c66315d7276db8f65794cf514689301b027b13eb)

Signed-off-by: Ashishkumar Parmar <asparmar@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:32 +01:00
Ashishkumar Parmar
de00d925c6 qemu: Fix CVE-2025-14876
This patch applies the upstream v10.0.8 stable backport for
CVE-2025-14876. The upstream fix commit is referenced in [1],
and the public CVE advisory is referenced in [2]. The individual
backported commit links are recorded in the embedded patch headers
when the fix expands to multiple commits.

[1] e649201bb9
[2] https://access.redhat.com/security/cve/CVE-2025-14876

(From OE-Core rev: 2e1f2bbf21f332dd34cff915e06a8545bc974cca)

Signed-off-by: Ashishkumar Parmar <asparmar@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:32 +01:00
Shubham Pushpkar
db642a22a1 binutils: Fix CVE-2026-6846
This patch applies the upstream fix as referenced in [2], using the commit shown in [1].

[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7a089e0302382f4d4e077941156e1eaa68d01393
[2] https://security-tracker.debian.org/tracker/CVE-2026-6846

(From OE-Core rev: c4773d5fb3b9d17c80c0ba717a07d113c3784249)

Signed-off-by: Shubham Pushpkar <spushpka@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:32 +01:00
Esa Jaaskela
dbf61c2308 linux-yocto/6.6: update CVE exclusions (6.6.142)
Regenerated to fix this warning:
WARNING: linux-yocto-6.6.142+git-r0 do_cve_check: Kernel CVE status needs updating: generated for 6.6.127 but kernel is 6.6.142

$ ./meta/recipes-kernel/linux/generate-cve-exclusions.py .../cvelistV5/ 6.6.142 > meta/recipes-kernel/linux/cve-exclusion_6.6.inc

Generated at 2026-07-07 17:39:10.952928+00:00 for kernel version 6.6.142
From cvelistV5 cve_2026-07-07_1600Z

(From OE-Core rev: 923038b75d09c0966ec42b1460faf306adecc8c2)

Signed-off-by: Esa Jaaskela <esa.jaaskela@suomi24.fi>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:32 +01:00
Adarsh Jagadish Kamini
502e6c40a5 curl: fix CVE-2026-6276
Backport patch to fix CVE-2026-6276.
https://nvd.nist.gov/vuln/detail/CVE-2026-6276

The upstream fix moves cookiehost from the connection-scoped aptr struct
to the per-request SingleRequest struct, preventing cookie data from
leaking across reused handles.

Adapted for curl 8.7.1:
- Use Curl_safefree (renamed to curlx_safefree in later versions)
- Use conn->host.name (changed to data->conn->host.name upstream)
- Keep existing header parsing structure (refactored upstream)
- Dropped tests

Upstream fix:
  3a19987a87

Tested with ptest:
Before: PASSED: 857, FAILED: 0, SKIPPED: 0
After: PASSED: 857, FAILED: 0, SKIPPED: 0

(From OE-Core rev: 6459b4629bfd71ab147257f9d257e3e1626b74f3)

Signed-off-by: Adarsh Jagadish Kamini <adarsh.jagadish.kamini@est.tech>
[YC: copy the backport info from commit message into the patch file itself]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:32 +01:00
Theo Gaige (Schneider Electric)
94181a64fd perl: patch CVE-2026-8376
Backport patches from [1]

[1] https://github.com/Perl/perl5/pull/24433

(From OE-Core rev: 918bf1dd78104c833497f7766cabe9cba4fa35b0)

Signed-off-by: Theo Gaige (Schneider Electric) <tgaige.opensource@witekio.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:32 +01:00
Hitendra Prajapati
ca2b19114c vim: Security fix for CVE-2026-28420 & CVE-2026-46483
Pick patch from [1] & [2] also mentioned at NVD report in 3 & 4

[1] bb6de2105b
[2] 3fb5e58fbc
[3] https://nvd.nist.gov/vuln/detail/CVE-2026-28420
[4] https://nvd.nist.gov/vuln/detail/CVE-2026-46483

(From OE-Core rev: ef42f90ce86f9139e6618b351aaa58129813f544)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:32 +01:00
Hitendra Prajapati
bac60a09b6 vim: Fix for CVE-2026-28417, CVE-2026-32249, CVE-2026-45130
Pick patch from [1], [2] & [3] also mentioned at NVD report in [4,5 & 6]

[1] 79348dbbc0
[2] 36d6e87542
[3] 9299332917
[4] https://nvd.nist.gov/vuln/detail/CVE-2026-28417
[5] https://nvd.nist.gov/vuln/detail/CVE-2026-32249
[6] https://nvd.nist.gov/vuln/detail/CVE-2026-45130

(From OE-Core rev: e61095581f25a79964ee426899ee72236118f570)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:32 +01:00
Hitendra Prajapati
ba66043d77 vim: fix for CVE-2026-28421, CVE-2026-41411 & CVE-2026-44656
Pick patch from [1], [2] & [3] also mentioned at NVD report in [4,5 & 6]

[1] 65c1a143c3
[2] c78194e41d
[3] 190cb3c2b9
[4] https://nvd.nist.gov/vuln/detail/CVE-2026-28421
[5] https://nvd.nist.gov/vuln/detail/CVE-2026-41411
[6] https://nvd.nist.gov/vuln/detail/CVE-2026-44656

More info :
CVE-2026-28421 - Validate block tree indices and readfile() line bounds.
CVE-2026-41411 - Disallow backticks before attempting to expand filenames.
CVE-2026-44656 - Prevent shell execution from 'path' backticks via modelines.

(From OE-Core rev: 3fe9e5132aab67f1ee3139c88a89d5c6c94313c1)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:32 +01:00
Hitendra Prajapati
623f85f957 vim: fix for CVE-2026-34982, CVE-2026-34714 & CVE-2026-35177
Pick patch from [1], [2] & [3] also mentioned at NVD report in [4,5 & 6]

[1] 75661a66a1
[2] 664701eb75
[3] 7088926316
[4] https://nvd.nist.gov/vuln/detail/CVE-2026-34982
[5] https://nvd.nist.gov/vuln/detail/CVE-2026-34714
[6] https://nvd.nist.gov/vuln/detail/CVE-2026-35177

More info :
CVE-2026-34982 - vim: arbitrary command execution via modeline sandbox bypass.
CVE-2026-34714 - vim: Arbitrary code execution via crafted file.
CVE-2026-35177 - vim zip.vim plugin: Arbitrary file overwrite via path traversal bypass.

(From OE-Core rev: 1b4ee99b86262ade31b69a2ba9f80791b15ea130)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:32 +01:00
Theo Gaige (Schneider Electric)
d29b27fb31 dhcpcd: patch CVE-2026-56117
Backport patch [1] mentionned in [2]

[1] 78ea09ed16

[2] https://security-tracker.debian.org/tracker/CVE-2026-56117

(From OE-Core rev: 5c94b031f12c8623dc6eb9e05b87a004826345c1)

Signed-off-by: Theo Gaige (Schneider Electric) <tgaige.opensource@witekio.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:32 +01:00
Theo Gaige (Schneider Electric)
4e6df49262 dhcpcd: patch CVE-2026-56114
Backport patch [1] mentionned in [2]

[1] 2f00c7bfc4

[2] https://security-tracker.debian.org/tracker/CVE-2026-56114

(From OE-Core rev: daaaedd30aac04f3440e11682b0a9ecbb2b75b1f)

Signed-off-by: Theo Gaige (Schneider Electric) <tgaige.opensource@witekio.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:32 +01:00
Theo Gaige (Schneider Electric)
c223541984 dhcpcd: patch CVE-2026-56113
Backport patch [1] mentionned in [2]

[1] 5733d3c59a

[2] https://security-tracker.debian.org/tracker/CVE-2026-56113

(From OE-Core rev: fbfee67ed5d0c799bc1011f8463741c3b0910885)

Signed-off-by: Theo Gaige (Schneider Electric) <tgaige.opensource@witekio.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:31 +01:00
Jaipaul Cheernam
37b718ecb9 curl: fix CVE-2026-5773 - wrong reuse of SMB connection
libcurl's SMB handler marks connections for reuse (connkeep) without
verifying that subsequent requests target the same share. This allows
a second SMB request to the same host to reuse a connection
authenticated for a different share, potentially accessing data
without proper authorization.

The upstream fix removes connection reuse for SMB entirely in
lib/protocol.c, a file introduced in curl 8.20.0. For 8.7.1, the
equivalent fix is changing connkeep() to connclose() in lib/smb.c,
which prevents the connection from being returned to the pool.

Tested with SMBv1 server (Docker dperson/samba):
  Without patch: "Re-using existing connection" for different shares
  With patch: New connection per request, no reuse

Binary verified: Curl_conncontrol arg changes from 0 (KEEP) to 1 (CLOSE)

Reference: https://curl.se/docs/CVE-2026-5773.html

(From OE-Core rev: 7736f905e78162ac657d7a1c790dfa5701dd6b19)

Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:31 +01:00
Nate Kent
b8085938de sudo: fix pam-wheel sed for sudo 1.9.17p2 sudoers
[YOCTO #16321]

In version 1.9.17p2, the line that the recipe uses to add the 'wheel'
group to the sudoers file does not exist. This updates the sed usage to
the actual line in question.

(From OE-Core rev: 55f7bf8cd9516971d6d01c1c890bc4c1df62b008)

Signed-off-by: Nate Kent <nathan@otiv.ai>
Tested-by: Siva Balasubramanian <sivakumar.bs@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 76231f202a437be221c2580d4fa0fc100c453e92)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:31 +01:00
Himanshu Jadon
75cbb0daa1 tar: Fix CVE-2026-5704
Backport the upstream 3-commit fix chain for CVE-2026-5704.

The final CVE fix is [1], which depends on the earlier cleanup in [2]
and the behavioral change in [3]. Keep this patch order so the final
fix applies cleanly and preserves the upstream logic.

Also include upstream follow-up [4] to fix the --no-overwrite-dir ptest
regression caused by the CVE backport. Without this follow-up, tar can
temporarily chmod an existing directory even when --no-overwrite-dir is
used, which breaks the upstream --no-overwrite-dir ptest.

[1] https://cgit.git.savannah.gnu.org/cgit/tar.git/commit/?id=b8d8a61b25588caca4efaf9bdd2e3f1a49da77e3
[2] https://cgit.git.savannah.gnu.org/cgit/tar.git/commit/?id=112ead79312ea308e58414b74623f101b8c06f0b
[3] https://cgit.git.savannah.gnu.org/cgit/tar.git/commit/?id=b009124ffde415515081db844d7a104e1d1c6c58
[4] https://cgit.git.savannah.gnu.org/cgit/tar.git/commit/?id=4e742fc8674064a9fa00d4483d06aca48d5b0463
[5] https://security-tracker.debian.org/tracker/CVE-2026-5704

(From OE-Core rev: 86360db7d1ea4e5d2bac9889cf8fefe6148a90b4)

Signed-off-by: Himanshu Jadon <hjadon@cisco.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 872d86b99ad3e77a105b386331a41f7fa40c2b72)
Signed-off-by: Himanshu Jadon <hjadon@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:31 +01:00
Daniel Turull
c70d4a799a libssh2: fix CVE-2026-55199
Backport patch to fix CVE-2026-55199.
https://nvd.nist.gov/vuln/detail/CVE-2026-55199

Upstream fix:
  17626857d2

Tested with ptest:
Before: PASSED: 3, FAILED: 0, SKIPPED: 0
After: PASSED: 3, FAILED: 0, SKIPPED: 0

Reviewed-by: Anders Heimer <anders.heimer@est.tech>
(From OE-Core rev: 2da74d75a8719db63979f132b456afdbd80395ef)

Signed-off-by: Daniel Turull <daniel.turull@ericsson.com>
(cherry picked from commit 5b52af4a02849c1ce74491056a2d13e4e3b6ad2d)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:31 +01:00
Daniel Turull
af5ab14071 libssh2: fix CVE-2026-55200
Backport patch to fix CVE-2026-55200.
https://nvd.nist.gov/vuln/detail/CVE-2026-55200

Upstream fix:
  97acf3dfda

Tested with ptest:
Before: PASSED: 3, FAILED: 0, SKIPPED: 0
After: PASSED: 3, FAILED: 0, SKIPPED: 0

Reviewed-by: Anders Heimer <anders.heimer@est.tech>
(From OE-Core rev: a610461f9040644bec9f1b9be23dcfff121df888)

Signed-off-by: Daniel Turull <daniel.turull@ericsson.com>
(cherry picked from commit 42c8c6ec3066dc47b9eeeba0247ffa927193abff)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-20 09:04:31 +01:00
Antonin Godard
e146cbbc73 docs-wide: fix various broken links
Fix various broken links found using the linkcheck builder, in various
places of the documentation. For most, the replacing link is the
equivalent new link.

(From yocto-docs rev: 5f708a1bc31ae94dd3513615b0ce079aa7897628)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 358519ca6406a89fee42c45dcaf63a37a374f33c)
[AG: fix conflict in variables.rst, due to changes to new variables in master]
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-15 18:39:01 +01:00
Antonin Godard
cbaaf0dcf7 migration-guides/release-notes-5.0.rst: remove broken link
https://no-color.org seems down, so remove the link.

(From yocto-docs rev: 615ae29b1d00e56b76bc86982848a152392ee691)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 45f54eca0f7ba4a56ce7dd8a1a388eef1eeffc45)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-15 18:39:01 +01:00
Antonin Godard
84db80f823 ref-manual/images.rst: update obsolete VMWare links
VMWare Player has been discontinued in 2024 so remove the link. What
seems to be remaining is VMWare Fusions and Workstation so provide that
link only.

(From yocto-docs rev: f139c98f658e83328169cb90d119855e43a5bc83)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 7c969dcbebf5cccb28ccbf2370dc8b52cbd08974)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-15 18:39:01 +01:00
Antonin Godard
6dc01c1e09 ref-manual/classes.rst: replace obsolete mailing list thread
I found this one by looking at the archive of the link on
https://web.archive.org and then locating the thread on
lists.yoctoproject.org by its title.

(From yocto-docs rev: a39ce713ec34964776cb7562c6bd7dad9e4b675d)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 5e792ff01d463a7eca21b7be50124d7c10ff8559)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-15 18:39:01 +01:00
Antonin Godard
be96cd2ddb docs-wide: fix broken path links
Fix link that forget to add a leading '/', by looking at the output of
'grep -E -r --no-filename -o 'href="http.://[^/"]+' | sort | uniq' in
the HTML output.

(From yocto-docs rev: 5e1aade33c75ce58bfb20f0118a0c862b03f7b7b)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 12a5d2add529e789480fa782af3803dada982869)
[AG: fix conflicts: only applies to
 migration-guides/release-notes-3.4.2.rst]
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-15 18:39:01 +01:00
Antonin Godard
fbbf0d711c migration-guides/release-notes-3.4.2.rst: fix a broken link
Remove the extra '`'.

(From yocto-docs rev: 95ca2f097165b7689498575db282937a0fb0212a)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 4fd8cc10d3749f6ab3a372f943b5586f465565fb)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-15 18:39:01 +01:00
Robert P. J. Day
be05e58dcf ref-manual: add "KERNEL_IMAGE_STRIP_EXTRA_SECTIONS" to variables
Add this variable to the variables glossary, and add links to it and
back to the do_strip() task for completeness.

(From yocto-docs rev: cc4b7ffb3b2558ae796decbd216302e253addf02)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit f43fc622d2fd6bc832a2993841b2020f86c6475c)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-15 18:39:01 +01:00
Robert P. J. Day
9ba4cbc08e ref-manual: expand on kernel "do_sizecheck" task
Expand on the description of do_sizecheck() to mention that it will
size-check on *all* kernel images listed in KERNEL_IMAGETYPES.

(From yocto-docs rev: 0a7d6b399d6354985527ed5fa7c2a0b132e0b640)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
[AG: kilobytes -> kibibytes
 See https://lore.kernel.org/r/DJUQAEXAC03Q.2T7IDXHKVIX95@bootlin.com]
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit b01fb11a4909fe2d3afa6cb01bd7b179429e382c)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-15 18:39:01 +01:00
Antonin Godard
84ecefc9f2 ref-manual/variables.rst: document the LOCALE_UTF8_IS_DEFAULT variable
Added by commit fcde0c43f7b5 ("libc-package.bbclass: add
LOCALE_UTF8_IS_DEFAULT") in OE-Core.

(From yocto-docs rev: dcf4ecb7f0dfab1b33d4ce557d04f53dff94a8ed)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 0d5a45cb46f89bd09ed9ac59e09cff77f2868b2d)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-15 18:39:01 +01:00
Antonin Godard
6b7474f7ca ref-manual/variables.rst: document the IMAGE_*_DEBUGFS variables
Added by commit 41316293e442 ("lib/oe/image.py: Add image generation
for companion debug filesystem") in OE-Core.

(From yocto-docs rev: 51c53ef1e8b4ec4afbb84252e59dd5501f405064)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 75a69c94f5ba556fbe182c96a9bab2c561a0358e)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-03 11:19:21 +01:00
Antonin Godard
2f9c3b01d1 ref-manual/variables.rst: document the LOCALE_PATHS variable
Added by commit 0ffc7cf01225 ("lib/oe/package: add LOCALE_PATHS to
add define all locations for locales") in OE-Core.

(From yocto-docs rev: f8c795f6e9b94d0a747b6ccbd3fcc55c84b16919)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit b2267d27de5ac5ac163be4c740d725a181f3f2cf)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-03 11:19:21 +01:00
Antonin Godard
4d3cdfe6ce ref-manual/variables.rst: document missing CONFLICT_*_FEATURES variables
Those are part of the features_check class.

(From yocto-docs rev: 297003a537798e6a4beafdd4ad520ed1c47c355a)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit fb38ef19e67b31f855bddb61ad990020d5cef234)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-03 11:19:21 +01:00
Antonin Godard
26efce957c ref-manual/variables.rst: document the CCACHE_NATIVE_RECIPES_ALLOWED variable
Added by commit 87cb2be71e0c ("ccache.bbclass: Add allowed list for
native recipes") in OE-Core.

(From yocto-docs rev: 67abd242b2fa08d3ebc3f1147058d683a4e1ef85)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 8881547719215a86a4a2e51ae3362462419a335b)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-03 11:19:21 +01:00
Robert P. J. Day
3899ca2590 ref-manual: remove all traces of "kernel_menuconfig" task
It's not clear why the non-existent "kernel_menuconfig" task was
documented in the reference manual, but it does not appear to have
ever existed so delete all references to it and replace with pointers
to rewritten "menuconfig" task.

(From yocto-docs rev: 5bd2aab3ad66bcc9f0b58e1b0643d71697a63da7)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit fdeabae4ba20e34c428ceb133ad41c4f3fedcf24)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-03 11:19:21 +01:00
Paul Barker
a448bff87a recipe-style-guide: Clarify when License-Update tag is needed
As discussed in a patch review call, we don't need License-Update tags
in commits where the upstream license has not changed, and we are
instead changing the LICENSE variable to fix incorrect data.

(From yocto-docs rev: d4e19136ffee4fabfdfc5048835da64f0cfbb3eb)

Signed-off-by: Paul Barker <paul@pbarker.dev>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit db04faf56afded6c5f846cc60a9062e0a1ffa741)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-07-03 11:19:21 +01:00
243 changed files with 19318 additions and 1258 deletions

View File

@@ -24,7 +24,7 @@ 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
git send-email -M -1 --to bitbake-devel@lists.openembedded.org --subject-prefix='2.8][PATCH'
If you're sending a patch related to the BitBake manual, make sure you copy
the Yocto Project documentation mailing list:

View File

@@ -763,8 +763,20 @@ def mkdirhier(directory):
try:
os.makedirs(directory)
except OSError as e:
if e.errno != errno.EEXIST or not os.path.isdir(directory):
if e.errno != errno.EEXIST:
raise e
if os.path.isdir(directory):
return
# We can end up here if there is a race between two mkdirs on an NFS mount,
# which happens more often with sstate that you'd think. The server returns
# EEXIST but the local attribute cache is out of date. It can be refreshed with
# an opendir call, so try that (via listdir) and check the directory again
# before we really fail.
os.listdir(os.path.dirname(directory))
if os.path.isdir(directory):
return
bb.warn("mkdir: %s is not a directory?")
raise e
def movefile(src, dest, newmtime = None, sstat = None):
"""Moves a file from src to dest, preserving all permissions and

View File

@@ -4,6 +4,8 @@ url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
sphinx-lint = "*"
vale = "*"
[packages]
sphinx = "*"

View File

@@ -151,6 +151,13 @@ dependencies in a virtual environment:
$ pipenv install
$ pipenv run make html
Note: if you decide to use Pipenv for installing the dependencies, don't forget
to prefix all the make commands below with "pipenv run ". The make commands
which already start with "pipenv run " don't need to be prefixed a second time
but require you to use Pipenv for them to run and aren't available when
following the instructions from
https://docs.yoctoproject.org/dev/ref-manual/system-requirements.html#required-packages-for-the-build-host.
Style checking the Yocto Project documentation
==============================================
@@ -159,19 +166,19 @@ to validate the text style.
To install Vale:
$ pip install vale
$ pipenv install --dev
To run Vale:
$ make stylecheck
$ pipenv run make stylecheck
Style checking the whole documentation might take some time and generate a
lot of warnings/errors, thus one can run Vale on a subset of files or
directories:
$ make stylecheck VALEDOCS=<file>
$ make stylecheck VALEDOCS="<file1> <file2>"
$ make stylecheck VALEDOCS=<dir>
$ pipenv run make stylecheck VALEDOCS=<file>
$ pipenv run make stylecheck VALEDOCS="<file1> <file2>"
$ pipenv run make stylecheck VALEDOCS=<dir>
Lint checking the Yocto Project documentation
=============================================
@@ -181,19 +188,19 @@ the project uses sphinx-lint (https://github.com/sphinx-contrib/sphinx-lint).
To install sphinx-lint:
$ pip install sphinx-lint
$ pipenv install --dev
To run sphinx-lint:
$ make sphinx-lint
$ pipenv run make sphinx-lint
Lint checking the whole documentation might take some time and generate a
lot of warnings/errors, thus one can run sphinx-lint on a subset of files
or directories:
$ make sphinx-lint SPHINXLINTDOCS=<file>
$ make sphinx-lint SPHINXLINTDOCS="<file1> <file2>"
$ make sphinx-lint SPHINXLINTDOCS=<dir>
$ pipenv run make sphinx-lint SPHINXLINTDOCS=<file>
$ pipenv run make sphinx-lint SPHINXLINTDOCS="<file1> <file2>"
$ pipenv run make sphinx-lint SPHINXLINTDOCS=<dir>
Sphinx theme and CSS customization
==================================

View File

@@ -1,8 +1,8 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
=====================
BitBake Documentation
=====================
===================
BitBake User Manual
===================
|

View File

@@ -19,11 +19,8 @@ build a reference embedded OS called Poky.
you want to use Yocto Project on to build an image
(:term:`Build Host`) is not
a native Linux system, you can still perform these steps by using
CROss PlatformS (CROPS) and setting up a Poky container. See the
:ref:`dev-manual/start:setting up to use cross platforms (crops)`
section
in the Yocto Project Development Tasks Manual for more
information.
an :wikipedia:`OCI container <Open_Container_Initiative>` (using
`Docker <https://www.docker.com/>`__ or `Podman <https://podman.io/>`__).
- You may use version 2 of Windows Subsystem For Linux (WSL 2) to set
up a build host using Windows 10 or later, Windows Server 2019 or later.

View File

@@ -147,8 +147,7 @@ section.
#. *Set Up the Build Environment:* Be sure you are set up to use BitBake
in a shell. See the ":ref:`dev-manual/start:preparing the build host`"
section in the Yocto Project Development Tasks Manual for information on how
to get a build host ready that is either a native Linux machine or a machine
that uses CROPS.
to get a :term:`build host` ready.
#. *Clone the poky Repository:* You need to have a local copy of the
Yocto Project :term:`Source Directory` (i.e. a local

View File

@@ -1,7 +1,7 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Identify the component
**********************
Identifying the component
*************************
The Yocto Project and OpenEmbedded ecosystem is built of :term:`layers <Layer>`
so the first step is to identify the component where the issue likely lies.

View File

@@ -268,14 +268,19 @@ License Updates
~~~~~~~~~~~~~~~
When you change the :term:`LICENSE` or :term:`LIC_FILES_CHKSUM` in the recipe
you need to briefly explain the reason for the change via a ``License-Update:``
tag. Often it's quite trivial, such as::
due to upstream making modifications to the license files, you need to briefly
explain the reason for the change via a ``License-Update:`` tag. Often it's
quite trivial, such as::
License-Update: copyright years refreshed
Less often, the actual licensing terms themselves will have changed. If so, do
try to link to upstream making/justifying that decision.
The ``License-Update:`` tag is not needed for commits which fix incorrect
license data in our metadata (for an example see OE-Core commit
:oecore_rev:`6c8b76d240d2457578a58787121bc5873d724ee2`).
Tips and Guidelines for Writing Recipes
---------------------------------------

View File

@@ -702,6 +702,12 @@ page.
.. note::
Patches submitted for a stable branch need to be isolated changes that are
human readable and understandable. Fixes for CVEs or other issues which have
a high complexity, consist of a large number of commits and/or a large
numbers of changed lines are unlikely to be accepted due to the difficulty
they cause with maintainability and scalability.
Changes will not typically be accepted for branches which are marked as
End-Of-Life (EOL).

View File

@@ -825,7 +825,7 @@ different ways:
- *systemd:* System Management Daemon (systemd) was designed to replace
SysVinit and to provide enhanced management of services. For more
information on systemd, see the systemd homepage at
https://freedesktop.org/wiki/Software/systemd/.
https://systemd.io/.
To enable a service using systemd, your recipe needs to inherit the
:ref:`ref-classes-systemd` class. See the ``systemd.bbclass`` file

View File

@@ -31,9 +31,18 @@ If needed, it can be disabled from a :term:`configuration file`::
INHERIT_DISTRO:remove = "create-spdx"
SPDX version 3 support is available on Yocto &DISTRO_NAME;, but disabled by
default. To enable it, add the following statements from a :term:`configuration
file`::
INHERIT_DISTRO:remove = "create-spdx"
INHERIT_DISTRO:append = " create-spdx-3.0"
The following documentation will make the assumption that SPDX3 is used.
Upon building an image, you will then get the compressed archive
``IMAGE-MACHINE.spdx.tar.zst`` contains the index and the files for the single
recipes.
``IMAGE-MACHINE.spdx.json`` file in ``tmp/deploy/images/MACHINE/`` inside
the :term:`Build Directory`.
The :ref:`ref-classes-create-spdx` class offers options to include
more information in the output :term:`SPDX` data:
@@ -50,19 +59,7 @@ more information in the output :term:`SPDX` data:
Though the toplevel :term:`SPDX` output is available in
``tmp/deploy/images/MACHINE/`` inside the :term:`Build Directory`, ancillary
generated files are available in ``tmp/deploy/spdx`` too, such as:
- The individual :term:`SPDX` JSON files in the ``IMAGE-MACHINE.spdx.tar.zst``
archive.
- Compressed archives of the files in the generated target packages,
in ``packages/packagename.tar.zst`` (when :term:`SPDX_ARCHIVE_PACKAGED`
is set).
- Compressed archives of the source files used to build the host tools
and the target packages in ``recipes/recipe-packagename.tar.zst``
(when :term:`SPDX_ARCHIVE_SOURCES` is set). Those are needed to fulfill
"source code access" license requirements.
generated files are available in ``tmp/deploy/spdx`` too.
See also the :term:`SPDX_CUSTOM_ANNOTATION_VARS` variable which allows
to associate custom notes to a recipe.

View File

@@ -251,11 +251,10 @@ Preparing the Build Host
This section provides procedures to set up a system to be used as your
:term:`Build Host` for
development using the Yocto Project. Your build host can be a native
Linux machine (recommended), it can be a machine (Linux, Mac, or
Windows) that uses `CROPS <https://github.com/crops/poky-container>`__,
which leverages `Docker Containers <https://www.docker.com/>`__ or it
can be a Windows machine capable of running version 2 of Windows Subsystem
For Linux (WSL 2).
Linux machine (recommended), it can be an :wikipedia:`OCI container
<Open_Container_Initiative>` (such as `Docker <https://www.docker.com/>`__ or
`Podman <https://podman.io/>`__), or it can be a Windows machine capable of
running version 2 of Windows Subsystem For Linux (WSL 2).
.. note::
@@ -339,101 +338,6 @@ the `Yocto Project BitBake
<https://marketplace.visualstudio.com/items?itemName=yocto-project.yocto-bitbake>`__
extension accordingly.
Setting Up to Use CROss PlatformS (CROPS)
-----------------------------------------
With `CROPS <https://github.com/crops/poky-container>`__, which
leverages `Docker Containers <https://www.docker.com/>`__, you can
create a Yocto Project development environment that is operating system
agnostic. You can set up a container in which you can develop using the
Yocto Project on a Windows, Mac, or Linux machine.
Follow these general steps to prepare a Windows, Mac, or Linux machine
as your Yocto Project build host:
#. *Determine What Your Build Host Needs:*
`Docker <https://www.docker.com/what-docker>`__ is a software
container platform that you need to install on the build host.
Depending on your build host, you might have to install different
software to support Docker containers. Go to the Docker installation
page and read about the platform requirements in "`Supported
Platforms <https://docs.docker.com/engine/install/#supported-platforms>`__"
your build host needs to run containers.
#. *Choose What To Install:* Depending on whether or not your build host
meets system requirements, you need to install "Docker CE Stable" or
the "Docker Toolbox". Most situations call for Docker CE. However, if
you have a build host that does not meet requirements (e.g.
Pre-Windows 10 or Windows 10 "Home" version), you must install Docker
Toolbox instead.
#. *Go to the Install Site for Your Platform:* Click the link for the
Docker edition associated with your build host's native software. For
example, if your build host is running Microsoft Windows Version 10
and you want the Docker CE Stable edition, click that link under
"Supported Platforms".
#. *Install the Software:* Once you have understood all the
pre-requisites, you can download and install the appropriate
software. Follow the instructions for your specific machine and the
type of the software you need to install:
- Install `Docker Desktop on
Windows <https://docs.docker.com/docker-for-windows/install/#install-docker-desktop-on-windows>`__
for Windows build hosts that meet requirements.
- Install `Docker Desktop on
MacOs <https://docs.docker.com/docker-for-mac/install/#install-and-run-docker-desktop-on-mac>`__
for Mac build hosts that meet requirements.
- Install `Docker Engine on
CentOS <https://docs.docker.com/engine/install/centos/>`__
for Linux build hosts running the CentOS distribution.
- Install `Docker Engine on
Debian <https://docs.docker.com/engine/install/debian/>`__
for Linux build hosts running the Debian distribution.
- Install `Docker Engine for
Fedora <https://docs.docker.com/engine/install/fedora/>`__
for Linux build hosts running the Fedora distribution.
- Install `Docker Engine for
Ubuntu <https://docs.docker.com/engine/install/ubuntu/>`__
for Linux build hosts running the Ubuntu distribution.
#. *Optionally Orient Yourself With Docker:* If you are unfamiliar with
Docker and the container concept, you can learn more here -
https://docs.docker.com/get-started/.
#. *Launch Docker or Docker Toolbox:* You should be able to launch
Docker or the Docker Toolbox and have a terminal shell on your
development host.
#. *Set Up the Containers to Use the Yocto Project:* Go to
https://github.com/crops/docker-win-mac-docs/wiki and follow
the directions for your particular build host (i.e. Linux, Mac, or
Windows).
Once you complete the setup instructions for your machine, you have
the Poky, Extensible SDK, and Toaster containers available. You can
click those links from the page and learn more about using each of
those containers.
Once you have a container set up, everything is in place to develop just
as if you were running on a native Linux machine. If you are going to
use the Poky container, see the
":ref:`dev-manual/start:cloning the \`\`poky\`\` repository`"
section. If you are going to use the Extensible SDK container, see the
":doc:`/sdk-manual/extensible`" Chapter in the Yocto
Project Application Development and the Extensible Software Development
Kit (eSDK) manual. If you are going to use the Toaster container, see
the ":doc:`/toaster-manual/setup-and-use`"
section in the Toaster User Manual. If you are a VSCode user, you can configure
the `Yocto Project BitBake
<https://marketplace.visualstudio.com/items?itemName=yocto-project.yocto-bitbake>`__
extension accordingly.
Setting Up to Use Windows Subsystem For Linux (WSL 2)
-----------------------------------------------------

View File

@@ -3,8 +3,8 @@
Using x32 psABI
***************
x32 processor-specific Application Binary Interface (`x32
psABI <https://software.intel.com/en-us/node/628948>`__) is a native
x32 processor-specific Application Binary Interface (:wikipedia:`x32
psABI <X32_ABI>`) is a native
32-bit processor-specific ABI for Intel 64 (x86-64) architectures. An
ABI defines the calling conventions between functions in a processing
environment. The interface determines what registers are used and what

View File

@@ -5,10 +5,21 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
==========================================
Welcome to the Yocto Project Documentation
==========================================
|
.. only:: html
This is the top level of the Yocto Project documentation tree. The Yocto
Project documentation is always a work in progress, just like the Yocto
Project itself. Improvements to the documentation are always welcome; join
the :yocto_lists:`docs mailing list </g/docs>` if you want to help out.
Introduction and Overview
=========================
Get started using the Yocto Project.
.. toctree::
:maxdepth: 1
@@ -17,15 +28,41 @@ Welcome to the Yocto Project Documentation
Quick Build <brief-yoctoprojectqs/index>
what-i-wish-id-known
transitioning-to-a-custom-environment
Yocto Project Technical Overview <https://www.yoctoproject.org/development/technical-overview/>
Tips and Tricks Wiki <https://wiki.yoctoproject.org/wiki/TipsAndTricks>
Get familiar with the development environment and concepts of the Yocto Project.
.. toctree::
:maxdepth: 2
Overview and Concepts <overview-manual/index>
Additional introductory resources.
- `Technical Overview (external website) <https://www.yoctoproject.org/development/technical-overview/>`__
- `Tips and Tricks Wiki (external website) <https://wiki.yoctoproject.org/wiki/TipsAndTricks>`__
Contributing to the Yocto Project
=================================
Guides on how to contribute to the different parts of the Yocto Project.
.. toctree::
:maxdepth: 2
:caption: Contributor Guide
Contributor Guide <contributor-guide/index>
Manuals
=======
A collection of manuals covering many aspects of the Yocto Project, including
reference definitions, tutorials, and details about the project's
infrastructure.
.. toctree::
:maxdepth: 1
:caption: Manuals
Overview and Concepts Manual <overview-manual/index>
Contributor Guide <contributor-guide/index>
Reference Manual <ref-manual/index>
Board Support Package (BSP) Developer's guide <bsp-guide/index>
Development Tasks Manual <dev-manual/index>
@@ -34,20 +71,35 @@ Welcome to the Yocto Project Documentation
Application Development and the Extensible SDK (eSDK) <sdk-manual/index>
Toaster Manual <toaster-manual/index>
Test Environment Manual <test-manual/index>
bitbake
BitBake User Manual <bitbake>
Security Reference
==================
Security-related processes and contact information for vulnerability reporting.
.. toctree::
:maxdepth: 1
:caption: Security
:caption: Security Reference
Yocto Project Security Reference <security-reference/index>
Release Information
===================
Release notes and migration guides for the different Yocto Project releases.
.. toctree::
:maxdepth: 2
:caption: Release Information
Release Notes and Migration Guides <migration-guides/index>
.. toctree::
:maxdepth: 1
:caption: Release Manuals
:hidden:
Release Information <migration-guides/index>
releases
.. toctree::

View File

@@ -696,21 +696,6 @@ the ":ref:`kernel-dev/common:getting ready to develop using ``devtool```" Sectio
$ devtool modify linux-yocto
.. note::
During the checkout operation, there is a bug that could cause
errors such as the following:
.. code-block:: none
ERROR: Taskhash mismatch 2c793438c2d9f8c3681fd5f7bc819efa versus
be3a89ce7c47178880ba7bf6293d7404 for
/path/to/esdk/layers/poky/meta/recipes-kernel/linux/linux-yocto_4.10.bb.do_unpack
You can safely ignore these messages. The source code is correctly
checked out.
#. *Edit the Source Files* Follow these steps to make some simple
changes to the source files:

View File

@@ -25,3 +25,4 @@ Release 5.0 (scarthgap)
release-notes-5.0.16
release-notes-5.0.17
release-notes-5.0.18
release-notes-5.0.19

View File

@@ -200,7 +200,7 @@ openembedded-core
meta-mingw
- Repository Location: :yocto_git:`meta-mingw`
- Repository Location: :yocto_git:`/meta-mingw`
- Branch: :yocto_git:`honister </meta-mingw/log/?h=honister>`
- Tag: :yocto_git:`yocto-3.4.2 </meta-mingw/tag/?h=yocto-3.4.2>`
- Git Revision: :yocto_git:`f5d761cbd5c957e4405c5d40b0c236d263c916a8 </meta-mingw/commit/?id=f5d761cbd5c957e4405c5d40b0c236d263c916a8>`
@@ -239,4 +239,4 @@ yocto-docs
- Repository Location: :yocto_git:`/yocto-docs`
- Branch: :yocto_git:`honister </yocto-docs/log/?h=honister>`
- Tag: :yocto_git:`yocto-3.4.2 </yocto-docs/tag/?h=yocto-3.4.2>`
- Git Revision: :yocto_git:`3061d3d62054a5c3b9e16bfce4bcd186fa7a23d2` </yocto-docs/commit/?3061d3d62054a5c3b9e16bfce4bcd186fa7a23d2>`
- Git Revision: :yocto_git:`3061d3d62054a5c3b9e16bfce4bcd186fa7a23d2 </yocto-docs/commit/?3061d3d62054a5c3b9e16bfce4bcd186fa7a23d2>`

View File

@@ -73,7 +73,7 @@ New Features / Enhancements in 4.3
for the latest long-term release (6.1).
- The list of fixed kernel CVEs is updated regularly using data from
`linuxkernelcves.com <https://linuxkernelcves.com>`__.
`linuxkernelcves.com <https://web.archive.org/web/20240420122324/https://www.linuxkernelcves.com/>`__.
- A ``showconfig`` task was added to the :ref:`ref-classes-cml1` class, to
easily examine the final generated ``.config`` file.

View File

@@ -0,0 +1,663 @@
Release notes for Yocto-5.0.19 (Scarthgap)
------------------------------------------
gawk-native is now built from source instead of used from the host when
building grub2 & glibc to avoid reproducibility issues on newer host
distros.
Security Fixes in Yocto-5.0.19
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- avahi: Remove a reference to the rejected :cve_nist:`2021-36217`
- binutils: Fix :cve_nist:`2025-69644`
- busybox: Fix :cve_nist:`2026-29004`
- dpkg: Fix :cve_nist:`2026-2219`
- go: Fix :cve_nist:`2025-58183`, :cve_mitre:`2026-25679`, :cve_nist:`2026-27140`,
:cve_nist:`2026-27142`, :cve_nist:`2026-27143`, :cve_nist:`2026-27144`, :cve_nist:`2026-27145`,
:cve_nist:`2026-32280`, :cve_nist:`2026-32283`, :cve_nist:`2026-32288`, :cve_nist:`2026-32289`,
:cve_nist:`2026-33811`, :cve_nist:`2026-39817`, :cve_nist:`2026-39819`, :cve_nist:`2026-39820`,
:cve_nist:`2026-39825`, :cve_nist:`2026-39826`, :cve_nist:`2026-42499`, :cve_nist:`2026-42501`,
:cve_nist:`2026-42504` and :cve_nist:`2026-42507`
- go: Ignore :cve_nist:`2026-39836`
- libarchive: Fix :cve_nist:`2026-4424`
- libexif: Fix :cve_nist:`2026-32775`, :cve_nist:`2026-40385` and :cve_nist:`2026-40386`
- libinput: Fix :cve_nist:`2026-50292`
- libpng: Fix :cve_nist:`2026-33416`
- libsolv: Fix :cve_nist:`2026-9150`
- libsoup: Fix :cve_nist:`2025-11021` and :cve_nist:`2026-2369`
- libssh2: Fix :cve_nist:`2026-7598`
- libusb1: Fix :cve_nist:`2026-23679` and :cve_nist:`2026-47104`
- libxml-parser-perl: Fix :cve_nist:`2006-10003`
- linux-yocto/6.6: Fix :cve_nist:`2023-52920`, :cve_nist:`2024-14027`, :cve_nist:`2024-27022`,
:cve_nist:`2024-56647`, :cve_nist:`2025-21739`, :cve_nist:`2025-22125`, :cve_nist:`2025-38531`,
:cve_nist:`2025-38584`, :cve_nist:`2025-38710`, :cve_nist:`2025-39981`, :cve_nist:`2025-40219`,
:cve_nist:`2025-68315`, :cve_nist:`2025-71184`, :cve_nist:`2025-71239`, :cve_nist:`2025-71265`,
:cve_nist:`2025-71266`, :cve_nist:`2025-71267`, :cve_nist:`2025-71269`, :cve_nist:`2025-71274`,
:cve_nist:`2025-71286`, :cve_nist:`2025-71287`, :cve_nist:`2025-71288`, :cve_nist:`2025-71291`,
:cve_nist:`2025-71292`, :cve_nist:`2025-71295`, :cve_nist:`2025-71297`, :cve_nist:`2025-71304`,
:cve_nist:`2025-71305`, :cve_nist:`2026-23004`, :cve_nist:`2026-23171`, :cve_nist:`2026-23231`,
:cve_nist:`2026-23242`, :cve_nist:`2026-23243`, :cve_nist:`2026-23244`, :cve_nist:`2026-23245`,
:cve_nist:`2026-23246`, :cve_nist:`2026-23253`, :cve_nist:`2026-23255`, :cve_nist:`2026-23268`,
:cve_nist:`2026-23269`, :cve_nist:`2026-23270`, :cve_nist:`2026-23271`, :cve_nist:`2026-23272`,
:cve_nist:`2026-23273`, :cve_nist:`2026-23274`, :cve_nist:`2026-23277`, :cve_nist:`2026-23279`,
:cve_nist:`2026-23281`, :cve_nist:`2026-23284`, :cve_nist:`2026-23285`, :cve_nist:`2026-23286`,
:cve_nist:`2026-23287`, :cve_nist:`2026-23289`, :cve_nist:`2026-23290`, :cve_nist:`2026-23291`,
:cve_nist:`2026-23292`, :cve_nist:`2026-23293`, :cve_nist:`2026-23296`, :cve_nist:`2026-23298`,
:cve_nist:`2026-23300`, :cve_nist:`2026-23302`, :cve_nist:`2026-23303`, :cve_nist:`2026-23304`,
:cve_nist:`2026-23306`, :cve_nist:`2026-23307`, :cve_nist:`2026-23308`, :cve_nist:`2026-23310`,
:cve_nist:`2026-23312`, :cve_nist:`2026-23313`, :cve_nist:`2026-23315`, :cve_nist:`2026-23317`,
:cve_nist:`2026-23318`, :cve_nist:`2026-23319`, :cve_nist:`2026-23321`, :cve_nist:`2026-23324`,
:cve_nist:`2026-23325`, :cve_nist:`2026-23330`, :cve_nist:`2026-23334`, :cve_nist:`2026-23335`,
:cve_nist:`2026-23336`, :cve_nist:`2026-23339`, :cve_nist:`2026-23340`, :cve_nist:`2026-23343`,
:cve_nist:`2026-23347`, :cve_nist:`2026-23351`, :cve_nist:`2026-23352`, :cve_nist:`2026-23356`,
:cve_nist:`2026-23357`, :cve_nist:`2026-23359`, :cve_nist:`2026-23360`, :cve_nist:`2026-23362`,
:cve_nist:`2026-23364`, :cve_nist:`2026-23365`, :cve_nist:`2026-23367`, :cve_nist:`2026-23368`,
:cve_nist:`2026-23370`, :cve_nist:`2026-23372`, :cve_nist:`2026-23374`, :cve_nist:`2026-23378`,
:cve_nist:`2026-23379`, :cve_nist:`2026-23381`, :cve_nist:`2026-23382`, :cve_nist:`2026-23386`,
:cve_nist:`2026-23387`, :cve_nist:`2026-23388`, :cve_nist:`2026-23389`, :cve_nist:`2026-23391`,
:cve_nist:`2026-23392`, :cve_nist:`2026-23395`, :cve_nist:`2026-23396`, :cve_nist:`2026-23397`,
:cve_nist:`2026-23398`, :cve_nist:`2026-23399`, :cve_nist:`2026-23401`, :cve_nist:`2026-23403`,
:cve_nist:`2026-23404`, :cve_nist:`2026-23405`, :cve_nist:`2026-23406`, :cve_nist:`2026-23407`,
:cve_nist:`2026-23408`, :cve_nist:`2026-23409`, :cve_nist:`2026-23410`, :cve_nist:`2026-23411`,
:cve_nist:`2026-23412`, :cve_nist:`2026-23413`, :cve_nist:`2026-23414`, :cve_nist:`2026-23419`,
:cve_nist:`2026-23420`, :cve_nist:`2026-23422`, :cve_nist:`2026-23426`, :cve_nist:`2026-23427`,
:cve_nist:`2026-23428`, :cve_nist:`2026-23434`, :cve_nist:`2026-23438`, :cve_nist:`2026-23439`,
:cve_nist:`2026-23440`, :cve_nist:`2026-23441`, :cve_nist:`2026-23442`, :cve_nist:`2026-23443`,
:cve_nist:`2026-23444`, :cve_nist:`2026-23446`, :cve_nist:`2026-23447`, :cve_nist:`2026-23448`,
:cve_nist:`2026-23449`, :cve_nist:`2026-23450`, :cve_nist:`2026-23452`, :cve_nist:`2026-23454`,
:cve_nist:`2026-23455`, :cve_nist:`2026-23456`, :cve_nist:`2026-23457`, :cve_nist:`2026-23458`,
:cve_nist:`2026-23460`, :cve_nist:`2026-23461`, :cve_nist:`2026-23462`, :cve_nist:`2026-23463`,
:cve_nist:`2026-23465`, :cve_nist:`2026-23468`, :cve_nist:`2026-23474`, :cve_nist:`2026-23475`,
:cve_nist:`2026-31389`, :cve_nist:`2026-31391`, :cve_nist:`2026-31392`, :cve_nist:`2026-31393`,
:cve_nist:`2026-31396`, :cve_nist:`2026-31399`, :cve_nist:`2026-31400`, :cve_nist:`2026-31402`,
:cve_nist:`2026-31403`, :cve_nist:`2026-31405`, :cve_nist:`2026-31407`, :cve_nist:`2026-31408`,
:cve_nist:`2026-31409`, :cve_nist:`2026-31411`, :cve_nist:`2026-31412`, :cve_nist:`2026-31414`,
:cve_nist:`2026-31415`, :cve_nist:`2026-31416`, :cve_nist:`2026-31417`, :cve_nist:`2026-31418`,
:cve_nist:`2026-31421`, :cve_nist:`2026-31422`, :cve_nist:`2026-31423`, :cve_nist:`2026-31424`,
:cve_nist:`2026-31425`, :cve_nist:`2026-31426`, :cve_nist:`2026-31427`, :cve_nist:`2026-31428`,
:cve_nist:`2026-31429`, :cve_nist:`2026-31430`, :cve_nist:`2026-31431`, :cve_nist:`2026-31433`,
:cve_nist:`2026-31434`, :cve_nist:`2026-31439`, :cve_nist:`2026-31440`, :cve_nist:`2026-31441`,
:cve_nist:`2026-31446`, :cve_nist:`2026-31447`, :cve_nist:`2026-31448`, :cve_nist:`2026-31449`,
:cve_nist:`2026-31450`, :cve_nist:`2026-31451`, :cve_nist:`2026-31452`, :cve_nist:`2026-31453`,
:cve_nist:`2026-31454`, :cve_nist:`2026-31455`, :cve_nist:`2026-31458`, :cve_nist:`2026-31464`,
:cve_nist:`2026-31466`, :cve_nist:`2026-31467`, :cve_nist:`2026-31469`, :cve_nist:`2026-31473`,
:cve_nist:`2026-31474`, :cve_nist:`2026-31476`, :cve_nist:`2026-31477`, :cve_nist:`2026-31478`,
:cve_nist:`2026-31480`, :cve_nist:`2026-31482`, :cve_nist:`2026-31483`, :cve_nist:`2026-31485`,
:cve_nist:`2026-31488`, :cve_nist:`2026-31489`, :cve_nist:`2026-31492`, :cve_nist:`2026-31494`,
:cve_nist:`2026-31495`, :cve_nist:`2026-31496`, :cve_nist:`2026-31497`, :cve_nist:`2026-31498`,
:cve_nist:`2026-31500`, :cve_nist:`2026-31503`, :cve_nist:`2026-31504`, :cve_nist:`2026-31507`,
:cve_nist:`2026-31508`, :cve_nist:`2026-31509`, :cve_nist:`2026-31510`, :cve_nist:`2026-31512`,
:cve_nist:`2026-31515`, :cve_nist:`2026-31518`, :cve_nist:`2026-31519`, :cve_nist:`2026-31520`,
:cve_nist:`2026-31521`, :cve_nist:`2026-31522`, :cve_nist:`2026-31523`, :cve_nist:`2026-31524`,
:cve_nist:`2026-31525`, :cve_nist:`2026-31528`, :cve_nist:`2026-31532`, :cve_nist:`2026-31533`,
:cve_nist:`2026-31540`, :cve_nist:`2026-31542`, :cve_nist:`2026-31545`, :cve_nist:`2026-31546`,
:cve_nist:`2026-31548`, :cve_nist:`2026-31549`, :cve_nist:`2026-31550`, :cve_nist:`2026-31551`,
:cve_nist:`2026-31552`, :cve_nist:`2026-31555`, :cve_nist:`2026-31563`, :cve_nist:`2026-31565`,
:cve_nist:`2026-31566`, :cve_nist:`2026-31570`, :cve_nist:`2026-31576`, :cve_nist:`2026-31577`,
:cve_nist:`2026-31578`, :cve_nist:`2026-31580`, :cve_nist:`2026-31581`, :cve_nist:`2026-31583`,
:cve_nist:`2026-31584`, :cve_nist:`2026-31585`, :cve_nist:`2026-31586`, :cve_nist:`2026-31587`,
:cve_nist:`2026-31588`, :cve_nist:`2026-31590`, :cve_nist:`2026-31594`, :cve_nist:`2026-31595`,
:cve_nist:`2026-31596`, :cve_nist:`2026-31597`, :cve_nist:`2026-31598`, :cve_nist:`2026-31599`,
:cve_nist:`2026-31602`, :cve_nist:`2026-31603`, :cve_nist:`2026-31604`, :cve_nist:`2026-31605`,
:cve_nist:`2026-31607`, :cve_nist:`2026-31610`, :cve_nist:`2026-31611`, :cve_nist:`2026-31612`,
:cve_nist:`2026-31613`, :cve_nist:`2026-31614`, :cve_nist:`2026-31615`, :cve_nist:`2026-31616`,
:cve_nist:`2026-31617`, :cve_nist:`2026-31618`, :cve_nist:`2026-31619`, :cve_nist:`2026-31622`,
:cve_nist:`2026-31623`, :cve_nist:`2026-31624`, :cve_nist:`2026-31625`, :cve_nist:`2026-31626`,
:cve_nist:`2026-31627`, :cve_nist:`2026-31628`, :cve_nist:`2026-31629`, :cve_nist:`2026-31634`,
:cve_nist:`2026-31637`, :cve_nist:`2026-31638`, :cve_nist:`2026-31639`, :cve_nist:`2026-31642`,
:cve_nist:`2026-31646`, :cve_nist:`2026-31648`, :cve_nist:`2026-31649`, :cve_nist:`2026-31651`,
:cve_nist:`2026-31655`, :cve_nist:`2026-31656`, :cve_nist:`2026-31657`, :cve_nist:`2026-31658`,
:cve_nist:`2026-31659`, :cve_nist:`2026-31660`, :cve_nist:`2026-31661`, :cve_nist:`2026-31662`,
:cve_nist:`2026-31664`, :cve_nist:`2026-31665`, :cve_nist:`2026-31667`, :cve_nist:`2026-31668`,
:cve_nist:`2026-31669`, :cve_nist:`2026-31670`, :cve_nist:`2026-31671`, :cve_nist:`2026-31672`,
:cve_nist:`2026-31673`, :cve_nist:`2026-31674`, :cve_nist:`2026-31675`, :cve_nist:`2026-31676`,
:cve_nist:`2026-31678`, :cve_nist:`2026-31679`, :cve_nist:`2026-31680`, :cve_nist:`2026-31681`,
:cve_nist:`2026-31682`, :cve_nist:`2026-31683`, :cve_nist:`2026-31684`, :cve_nist:`2026-31685`,
:cve_nist:`2026-31686`, :cve_nist:`2026-31689`, :cve_nist:`2026-31693`, :cve_nist:`2026-31694`,
:cve_nist:`2026-31695`, :cve_nist:`2026-31696`, :cve_nist:`2026-31697`, :cve_nist:`2026-31698`,
:cve_nist:`2026-31699`, :cve_nist:`2026-31700`, :cve_nist:`2026-31701`, :cve_nist:`2026-31702`,
:cve_nist:`2026-31704`, :cve_nist:`2026-31705`, :cve_nist:`2026-31707`, :cve_nist:`2026-31708`,
:cve_nist:`2026-31709`, :cve_nist:`2026-31711`, :cve_nist:`2026-31712`, :cve_nist:`2026-31714`,
:cve_nist:`2026-31715`, :cve_nist:`2026-31716`, :cve_nist:`2026-31718`, :cve_nist:`2026-31720`,
:cve_nist:`2026-31721`, :cve_nist:`2026-31726`, :cve_nist:`2026-31728`, :cve_nist:`2026-31730`,
:cve_nist:`2026-31737`, :cve_nist:`2026-31738`, :cve_nist:`2026-31740`, :cve_nist:`2026-31741`,
:cve_nist:`2026-31747`, :cve_nist:`2026-31748`, :cve_nist:`2026-31749`, :cve_nist:`2026-31751`,
:cve_nist:`2026-31752`, :cve_nist:`2026-31754`, :cve_nist:`2026-31755`, :cve_nist:`2026-31756`,
:cve_nist:`2026-31758`, :cve_nist:`2026-31759`, :cve_nist:`2026-31761`, :cve_nist:`2026-31762`,
:cve_nist:`2026-31763`, :cve_nist:`2026-31768`, :cve_nist:`2026-31770`, :cve_nist:`2026-31773`,
:cve_nist:`2026-31778`, :cve_nist:`2026-31779`, :cve_nist:`2026-31780`, :cve_nist:`2026-31781`,
:cve_nist:`2026-31786`, :cve_nist:`2026-31787`, :cve_nist:`2026-31788`, :cve_nist:`2026-43007`,
:cve_nist:`2026-43011`, :cve_nist:`2026-43013`, :cve_nist:`2026-43014`, :cve_nist:`2026-43015`,
:cve_nist:`2026-43016`, :cve_nist:`2026-43017`, :cve_nist:`2026-43018`, :cve_nist:`2026-43020`,
:cve_nist:`2026-43023`, :cve_nist:`2026-43024`, :cve_nist:`2026-43025`, :cve_nist:`2026-43026`,
:cve_nist:`2026-43027`, :cve_nist:`2026-43028`, :cve_nist:`2026-43030`, :cve_nist:`2026-43032`,
:cve_nist:`2026-43033`, :cve_nist:`2026-43035`, :cve_nist:`2026-43037`, :cve_nist:`2026-43038`,
:cve_nist:`2026-43040`, :cve_nist:`2026-43041`, :cve_nist:`2026-43043`, :cve_nist:`2026-43044`,
:cve_nist:`2026-43046`, :cve_nist:`2026-43047`, :cve_nist:`2026-43050`, :cve_nist:`2026-43051`,
:cve_nist:`2026-43054`, :cve_nist:`2026-43056`, :cve_nist:`2026-43057`, :cve_nist:`2026-43058`,
:cve_nist:`2026-43060`, :cve_nist:`2026-43061`, :cve_nist:`2026-43062`, :cve_nist:`2026-43064`,
:cve_nist:`2026-43065`, :cve_nist:`2026-43066`, :cve_nist:`2026-43067`, :cve_nist:`2026-43068`,
:cve_nist:`2026-43069`, :cve_nist:`2026-43071`, :cve_nist:`2026-43072`, :cve_nist:`2026-43074`,
:cve_nist:`2026-43075`, :cve_nist:`2026-43076`, :cve_nist:`2026-43077`, :cve_nist:`2026-43078`,
:cve_nist:`2026-43079`, :cve_nist:`2026-43080`, :cve_nist:`2026-43081`, :cve_nist:`2026-43082`,
:cve_nist:`2026-43085`, :cve_nist:`2026-43086`, :cve_nist:`2026-43089`, :cve_nist:`2026-43091`,
:cve_nist:`2026-43092`, :cve_nist:`2026-43093`, :cve_nist:`2026-43094`, :cve_nist:`2026-43098`,
:cve_nist:`2026-43099`, :cve_nist:`2026-43103`, :cve_nist:`2026-43104`, :cve_nist:`2026-43105`,
:cve_nist:`2026-43109`, :cve_nist:`2026-43110`, :cve_nist:`2026-43111`, :cve_nist:`2026-43112`,
:cve_nist:`2026-43113`, :cve_nist:`2026-43114`, :cve_nist:`2026-43117`, :cve_nist:`2026-43120`,
:cve_nist:`2026-43123`, :cve_nist:`2026-43124`, :cve_nist:`2026-43128`, :cve_nist:`2026-43130`,
:cve_nist:`2026-43132`, :cve_nist:`2026-43133`, :cve_nist:`2026-43134`, :cve_nist:`2026-43135`,
:cve_nist:`2026-43136`, :cve_nist:`2026-43137`, :cve_nist:`2026-43139`, :cve_nist:`2026-43140`,
:cve_nist:`2026-43141`, :cve_nist:`2026-43143`, :cve_nist:`2026-43145`, :cve_nist:`2026-43147`,
:cve_nist:`2026-43148`, :cve_nist:`2026-43149`, :cve_nist:`2026-43150`, :cve_nist:`2026-43152`,
:cve_nist:`2026-43156`, :cve_nist:`2026-43157`, :cve_nist:`2026-43158`, :cve_nist:`2026-43159`,
:cve_nist:`2026-43162`, :cve_nist:`2026-43163`, :cve_nist:`2026-43167`, :cve_nist:`2026-43168`,
:cve_nist:`2026-43170`, :cve_nist:`2026-43171`, :cve_nist:`2026-43173`, :cve_nist:`2026-43180`,
:cve_nist:`2026-43182`, :cve_nist:`2026-43183`, :cve_nist:`2026-43184`, :cve_nist:`2026-43186`,
:cve_nist:`2026-43187`, :cve_nist:`2026-43189`, :cve_nist:`2026-43190`, :cve_nist:`2026-43194`,
:cve_nist:`2026-43196`, :cve_nist:`2026-43200`, :cve_nist:`2026-43202`, :cve_nist:`2026-43203`,
:cve_nist:`2026-43205`, :cve_nist:`2026-43206`, :cve_nist:`2026-43207`, :cve_nist:`2026-43209`,
:cve_nist:`2026-43211`, :cve_nist:`2026-43212`, :cve_nist:`2026-43214`, :cve_nist:`2026-43215`,
:cve_nist:`2026-43218`, :cve_nist:`2026-43221`, :cve_nist:`2026-43222`, :cve_nist:`2026-43223`,
:cve_nist:`2026-43225`, :cve_nist:`2026-43226`, :cve_nist:`2026-43227`, :cve_nist:`2026-43230`,
:cve_nist:`2026-43231`, :cve_nist:`2026-43232`, :cve_nist:`2026-43233`, :cve_nist:`2026-43236`,
:cve_nist:`2026-43238`, :cve_nist:`2026-43239`, :cve_nist:`2026-43240`, :cve_nist:`2026-43241`,
:cve_nist:`2026-43242`, :cve_nist:`2026-43245`, :cve_nist:`2026-43246`, :cve_nist:`2026-43251`,
:cve_nist:`2026-43252`, :cve_nist:`2026-43253`, :cve_nist:`2026-43255`, :cve_nist:`2026-43256`,
:cve_nist:`2026-43257`, :cve_nist:`2026-43261`, :cve_nist:`2026-43262`, :cve_nist:`2026-43264`,
:cve_nist:`2026-43265`, :cve_nist:`2026-43266`, :cve_nist:`2026-43268`, :cve_nist:`2026-43269`,
:cve_nist:`2026-43270`, :cve_nist:`2026-43271`, :cve_nist:`2026-43273`, :cve_nist:`2026-43275`,
:cve_nist:`2026-43277`, :cve_nist:`2026-43278`, :cve_nist:`2026-43279`, :cve_nist:`2026-43281`,
:cve_nist:`2026-43283`, :cve_nist:`2026-43284`, :cve_nist:`2026-43287`, :cve_nist:`2026-43288`,
:cve_nist:`2026-43289`, :cve_nist:`2026-43291`, :cve_nist:`2026-43295`, :cve_nist:`2026-43296`,
:cve_nist:`2026-43302`, :cve_nist:`2026-43304`, :cve_nist:`2026-43312`, :cve_nist:`2026-43313`,
:cve_nist:`2026-43314`, :cve_nist:`2026-43315`, :cve_nist:`2026-43316`, :cve_nist:`2026-43324`,
:cve_nist:`2026-43327`, :cve_nist:`2026-43328`, :cve_nist:`2026-43329`, :cve_nist:`2026-43330`,
:cve_nist:`2026-43332`, :cve_nist:`2026-43333`, :cve_nist:`2026-43334`, :cve_nist:`2026-43336`,
:cve_nist:`2026-43339`, :cve_nist:`2026-43340`, :cve_nist:`2026-43341`, :cve_nist:`2026-43342`,
:cve_nist:`2026-43343`, :cve_nist:`2026-43345`, :cve_nist:`2026-43350`, :cve_nist:`2026-43355`,
:cve_nist:`2026-43357`, :cve_nist:`2026-43359`, :cve_nist:`2026-43360`, :cve_nist:`2026-43361`,
:cve_nist:`2026-43362`, :cve_nist:`2026-43363`, :cve_nist:`2026-43365`, :cve_nist:`2026-43366`,
:cve_nist:`2026-43368`, :cve_nist:`2026-43370`, :cve_nist:`2026-43371`, :cve_nist:`2026-43372`,
:cve_nist:`2026-43373`, :cve_nist:`2026-43376`, :cve_nist:`2026-43377`, :cve_nist:`2026-43378`,
:cve_nist:`2026-43379`, :cve_nist:`2026-43380`, :cve_nist:`2026-43381`, :cve_nist:`2026-43382`,
:cve_nist:`2026-43383`, :cve_nist:`2026-43386`, :cve_nist:`2026-43387`, :cve_nist:`2026-43397`,
:cve_nist:`2026-43405`, :cve_nist:`2026-43406`, :cve_nist:`2026-43407`, :cve_nist:`2026-43409`,
:cve_nist:`2026-43411`, :cve_nist:`2026-43412`, :cve_nist:`2026-43413`, :cve_nist:`2026-43415`,
:cve_nist:`2026-43419`, :cve_nist:`2026-43420`, :cve_nist:`2026-43424`, :cve_nist:`2026-43425`,
:cve_nist:`2026-43426`, :cve_nist:`2026-43427`, :cve_nist:`2026-43428`, :cve_nist:`2026-43429`,
:cve_nist:`2026-43430`, :cve_nist:`2026-43432`, :cve_nist:`2026-43436`, :cve_nist:`2026-43437`,
:cve_nist:`2026-43439`, :cve_nist:`2026-43441`, :cve_nist:`2026-43445`, :cve_nist:`2026-43448`,
:cve_nist:`2026-43449`, :cve_nist:`2026-43450`, :cve_nist:`2026-43451`, :cve_nist:`2026-43452`,
:cve_nist:`2026-43453`, :cve_nist:`2026-43455`, :cve_nist:`2026-43457`, :cve_nist:`2026-43458`,
:cve_nist:`2026-43459`, :cve_nist:`2026-43466`, :cve_nist:`2026-43468`, :cve_nist:`2026-43469`,
:cve_nist:`2026-43471`, :cve_nist:`2026-43472`, :cve_nist:`2026-43473`, :cve_nist:`2026-43475`,
:cve_nist:`2026-43476`, :cve_nist:`2026-43480`, :cve_nist:`2026-43483`, :cve_nist:`2026-43484`,
:cve_nist:`2026-43488`, :cve_nist:`2026-43490`, :cve_nist:`2026-43491`, :cve_nist:`2026-43492`,
:cve_nist:`2026-43493`, :cve_nist:`2026-43494`, :cve_nist:`2026-43495`, :cve_nist:`2026-43496`,
:cve_nist:`2026-43497`, :cve_nist:`2026-43499`, :cve_nist:`2026-43500`, :cve_nist:`2026-43501`,
:cve_nist:`2026-43502`, :cve_nist:`2026-43503`, :cve_nist:`2026-45834`, :cve_nist:`2026-45835`,
:cve_nist:`2026-45836`, :cve_nist:`2026-45838`, :cve_nist:`2026-45839`, :cve_nist:`2026-45840`,
:cve_nist:`2026-45841`, :cve_nist:`2026-45842`, :cve_nist:`2026-45843`, :cve_nist:`2026-45844`,
:cve_nist:`2026-45845`, :cve_nist:`2026-45846`, :cve_nist:`2026-45847`, :cve_nist:`2026-45848`,
:cve_nist:`2026-45849`, :cve_nist:`2026-45851`, :cve_nist:`2026-45852`, :cve_nist:`2026-45856`,
:cve_nist:`2026-45857`, :cve_nist:`2026-45858`, :cve_nist:`2026-45860`, :cve_nist:`2026-45862`,
:cve_nist:`2026-45864`, :cve_nist:`2026-45865`, :cve_nist:`2026-45866`, :cve_nist:`2026-45867`,
:cve_nist:`2026-45868`, :cve_nist:`2026-45869`, :cve_nist:`2026-45870`, :cve_nist:`2026-45871`,
:cve_nist:`2026-45872`, :cve_nist:`2026-45873`, :cve_nist:`2026-45875`, :cve_nist:`2026-45878`,
:cve_nist:`2026-45879`, :cve_nist:`2026-45880`, :cve_nist:`2026-45881`, :cve_nist:`2026-45883`,
:cve_nist:`2026-45885`, :cve_nist:`2026-45886`, :cve_nist:`2026-45890`, :cve_nist:`2026-45891`,
:cve_nist:`2026-45895`, :cve_nist:`2026-45899`, :cve_nist:`2026-45902`, :cve_nist:`2026-45904`,
:cve_nist:`2026-45905`, :cve_nist:`2026-45910`, :cve_nist:`2026-45911`, :cve_nist:`2026-45912`,
:cve_nist:`2026-45913`, :cve_nist:`2026-45914`, :cve_nist:`2026-45915`, :cve_nist:`2026-45916`,
:cve_nist:`2026-45919`, :cve_nist:`2026-45920`, :cve_nist:`2026-45921`, :cve_nist:`2026-45923`,
:cve_nist:`2026-45924`, :cve_nist:`2026-45935`, :cve_nist:`2026-45936`, :cve_nist:`2026-45941`,
:cve_nist:`2026-45942`, :cve_nist:`2026-45946`, :cve_nist:`2026-45947`, :cve_nist:`2026-45948`,
:cve_nist:`2026-45954`, :cve_nist:`2026-45956`, :cve_nist:`2026-45957`, :cve_nist:`2026-45958`,
:cve_nist:`2026-45960`, :cve_nist:`2026-45962`, :cve_nist:`2026-45964`, :cve_nist:`2026-45965`,
:cve_nist:`2026-45968`, :cve_nist:`2026-45969`, :cve_nist:`2026-45970`, :cve_nist:`2026-45972`,
:cve_nist:`2026-45974`, :cve_nist:`2026-45976`, :cve_nist:`2026-45978`, :cve_nist:`2026-45981`,
:cve_nist:`2026-45982`, :cve_nist:`2026-45983`, :cve_nist:`2026-45984`, :cve_nist:`2026-45985`,
:cve_nist:`2026-45986`, :cve_nist:`2026-45987`, :cve_nist:`2026-45988`, :cve_nist:`2026-45989`,
:cve_nist:`2026-45991`, :cve_nist:`2026-45993`, :cve_nist:`2026-45994`, :cve_nist:`2026-45996`,
:cve_nist:`2026-45997`, :cve_nist:`2026-45998`, :cve_nist:`2026-45999`, :cve_nist:`2026-46000`,
:cve_nist:`2026-46002`, :cve_nist:`2026-46003`, :cve_nist:`2026-46004`, :cve_nist:`2026-46005`,
:cve_nist:`2026-46006`, :cve_nist:`2026-46009`, :cve_nist:`2026-46011`, :cve_nist:`2026-46012`,
:cve_nist:`2026-46015`, :cve_nist:`2026-46016`, :cve_nist:`2026-46018`, :cve_nist:`2026-46019`,
:cve_nist:`2026-46021`, :cve_nist:`2026-46022`, :cve_nist:`2026-46023`, :cve_nist:`2026-46024`,
:cve_nist:`2026-46026`, :cve_nist:`2026-46027`, :cve_nist:`2026-46028`, :cve_nist:`2026-46031`,
:cve_nist:`2026-46033`, :cve_nist:`2026-46037`, :cve_nist:`2026-46038`, :cve_nist:`2026-46040`,
:cve_nist:`2026-46043`, :cve_nist:`2026-46046`, :cve_nist:`2026-46047`, :cve_nist:`2026-46049`,
:cve_nist:`2026-46050`, :cve_nist:`2026-46051`, :cve_nist:`2026-46052`, :cve_nist:`2026-46053`,
:cve_nist:`2026-46056`, :cve_nist:`2026-46058`, :cve_nist:`2026-46062`, :cve_nist:`2026-46063`,
:cve_nist:`2026-46064`, :cve_nist:`2026-46065`, :cve_nist:`2026-46068`, :cve_nist:`2026-46069`,
:cve_nist:`2026-46070`, :cve_nist:`2026-46072`, :cve_nist:`2026-46075`, :cve_nist:`2026-46077`,
:cve_nist:`2026-46078`, :cve_nist:`2026-46079`, :cve_nist:`2026-46080`, :cve_nist:`2026-46082`,
:cve_nist:`2026-46083`, :cve_nist:`2026-46084`, :cve_nist:`2026-46086`, :cve_nist:`2026-46088`,
:cve_nist:`2026-46089`, :cve_nist:`2026-46091`, :cve_nist:`2026-46094`, :cve_nist:`2026-46098`,
:cve_nist:`2026-46099`, :cve_nist:`2026-46101`, :cve_nist:`2026-46102`, :cve_nist:`2026-46103`,
:cve_nist:`2026-46106`, :cve_nist:`2026-46107`, :cve_nist:`2026-46108`, :cve_nist:`2026-46110`,
:cve_nist:`2026-46111`, :cve_nist:`2026-46112`, :cve_nist:`2026-46113`, :cve_nist:`2026-46114`,
:cve_nist:`2026-46115`, :cve_nist:`2026-46116`, :cve_nist:`2026-46119`, :cve_nist:`2026-46120`,
:cve_nist:`2026-46121`, :cve_nist:`2026-46122`, :cve_nist:`2026-46123`, :cve_nist:`2026-46124`,
:cve_nist:`2026-46125`, :cve_nist:`2026-46127`, :cve_nist:`2026-46128`, :cve_nist:`2026-46129`,
:cve_nist:`2026-46131`, :cve_nist:`2026-46132`, :cve_nist:`2026-46133`, :cve_nist:`2026-46136`,
:cve_nist:`2026-46137`, :cve_nist:`2026-46138`, :cve_nist:`2026-46142`, :cve_nist:`2026-46143`,
:cve_nist:`2026-46144`, :cve_nist:`2026-46145`, :cve_nist:`2026-46146`, :cve_nist:`2026-46149`,
:cve_nist:`2026-46150`, :cve_nist:`2026-46151`, :cve_nist:`2026-46152`, :cve_nist:`2026-46155`,
:cve_nist:`2026-46158`, :cve_nist:`2026-46159`, :cve_nist:`2026-46160`, :cve_nist:`2026-46161`,
:cve_nist:`2026-46163`, :cve_nist:`2026-46164`, :cve_nist:`2026-46167`, :cve_nist:`2026-46168`,
:cve_nist:`2026-46169`, :cve_nist:`2026-46170`, :cve_nist:`2026-46172`, :cve_nist:`2026-46173`,
:cve_nist:`2026-46174`, :cve_nist:`2026-46176`, :cve_nist:`2026-46177`, :cve_nist:`2026-46178`,
:cve_nist:`2026-46179`, :cve_nist:`2026-46180`, :cve_nist:`2026-46184`, :cve_nist:`2026-46185`,
:cve_nist:`2026-46186`, :cve_nist:`2026-46187`, :cve_nist:`2026-46189`, :cve_nist:`2026-46190`,
:cve_nist:`2026-46191`, :cve_nist:`2026-46193`, :cve_nist:`2026-46194`, :cve_nist:`2026-46195`,
:cve_nist:`2026-46196`, :cve_nist:`2026-46197`, :cve_nist:`2026-46198`, :cve_nist:`2026-46199`,
:cve_nist:`2026-46204`, :cve_nist:`2026-46205`, :cve_nist:`2026-46206`, :cve_nist:`2026-46208`,
:cve_nist:`2026-46209`, :cve_nist:`2026-46212`, :cve_nist:`2026-46214`, :cve_nist:`2026-46218`,
:cve_nist:`2026-46219`, :cve_nist:`2026-46220`, :cve_nist:`2026-46225`, :cve_nist:`2026-46226`,
:cve_nist:`2026-46227`, :cve_nist:`2026-46229`, :cve_nist:`2026-46230`, :cve_nist:`2026-46231`,
:cve_nist:`2026-46232`, :cve_nist:`2026-46233`, :cve_nist:`2026-46234`, :cve_nist:`2026-46235`,
:cve_nist:`2026-46236`, :cve_nist:`2026-46238`, :cve_nist:`2026-46243`, :cve_nist:`2026-46244`,
:cve_nist:`2026-46247`, :cve_nist:`2026-46249`, :cve_nist:`2026-46250`, :cve_nist:`2026-46251`,
:cve_nist:`2026-46253`, :cve_nist:`2026-46255`, :cve_nist:`2026-46259`, :cve_nist:`2026-46260`,
:cve_nist:`2026-46261`, :cve_nist:`2026-46262`, :cve_nist:`2026-46265`, :cve_nist:`2026-46266`,
:cve_nist:`2026-46267`, :cve_nist:`2026-46270`, :cve_nist:`2026-46273`, :cve_nist:`2026-46274`,
:cve_nist:`2026-46275`, :cve_nist:`2026-46276`, :cve_nist:`2026-46280`, :cve_nist:`2026-46285`,
:cve_nist:`2026-46286`, :cve_nist:`2026-46287`, :cve_nist:`2026-46289`, :cve_nist:`2026-46291`,
:cve_nist:`2026-46292`, :cve_nist:`2026-46293`, :cve_nist:`2026-46294`, :cve_nist:`2026-46296`,
:cve_nist:`2026-46299`, :cve_nist:`2026-46300`, :cve_nist:`2026-46301`, :cve_nist:`2026-46303`,
:cve_nist:`2026-46304`, :cve_nist:`2026-46306`, :cve_nist:`2026-46307`, :cve_nist:`2026-46312`,
:cve_nist:`2026-46319`, :cve_nist:`2026-46323`, :cve_nist:`2026-46328`, :cve_nist:`2026-46333`,
:cve_nist:`2026-52911`, :cve_nist:`2026-52912`, :cve_nist:`2026-52914`, :cve_nist:`2026-52915`,
:cve_nist:`2026-52916`, :cve_nist:`2026-52918`, :cve_nist:`2026-52919`, :cve_nist:`2026-52920`,
:cve_nist:`2026-52921`, :cve_nist:`2026-52922`, :cve_nist:`2026-52923`, :cve_nist:`2026-52925`,
:cve_nist:`2026-52926`, :cve_nist:`2026-52931`, :cve_nist:`2026-52933`, :cve_nist:`2026-52936`,
:cve_nist:`2026-52941`, :cve_nist:`2026-53128`, :cve_nist:`2026-53130`, :cve_nist:`2026-53279`,
:cve_nist:`2026-53287`, :cve_nist:`2026-53289`, :cve_nist:`2026-53291`, :cve_nist:`2026-53293`,
:cve_nist:`2026-53294`, :cve_nist:`2026-53295`, :cve_nist:`2026-53296`, :cve_nist:`2026-53303`,
:cve_nist:`2026-53304`, :cve_nist:`2026-53306`, :cve_nist:`2026-53309`, :cve_nist:`2026-53314`
and :cve_nist:`2026-53320`
- linux-yocto/6.6: Ignore :cve_nist:`2023-53012`, :cve_nist:`2023-53187`, :cve_nist:`2024-26949`,
:cve_nist:`2024-26997`, :cve_nist:`2024-35983`, :cve_nist:`2024-36002`, :cve_nist:`2024-36288`,
:cve_nist:`2024-38542`, :cve_nist:`2024-38595`, :cve_nist:`2024-40920`, :cve_nist:`2024-40921`,
:cve_nist:`2024-40986`, :cve_nist:`2024-42111`, :cve_nist:`2024-42112`, :cve_nist:`2024-42150`,
:cve_nist:`2024-43820`, :cve_nist:`2024-43838`, :cve_nist:`2024-47711`, :cve_nist:`2024-49854`,
:cve_nist:`2024-50042`, :cve_nist:`2024-50097`, :cve_nist:`2024-50203`, :cve_nist:`2024-50206`,
:cve_nist:`2024-50238`, :cve_nist:`2024-50241`, :cve_nist:`2024-50249`, :cve_nist:`2024-50281`,
:cve_nist:`2024-53073`, :cve_nist:`2024-53097`, :cve_nist:`2024-53115`, :cve_nist:`2024-53133`,
:cve_nist:`2024-53169`, :cve_nist:`2024-53201`, :cve_nist:`2024-54191`, :cve_nist:`2024-54460`,
:cve_nist:`2024-56542`, :cve_nist:`2024-56550`, :cve_nist:`2024-56561`, :cve_nist:`2024-56782`,
:cve_nist:`2024-57805`, :cve_nist:`2024-57852`, :cve_nist:`2024-57879`, :cve_nist:`2024-57935`,
:cve_nist:`2024-57952`, :cve_nist:`2024-57990`, :cve_nist:`2024-58008`, :cve_nist:`2024-58081`,
:cve_nist:`2025-21752`, :cve_nist:`2025-21809`, :cve_nist:`2025-21813`, :cve_nist:`2025-21902`,
:cve_nist:`2025-22026`, :cve_nist:`2025-22030`, :cve_nist:`2025-22032`, :cve_nist:`2025-22069`,
:cve_nist:`2025-22112`, :cve_nist:`2025-37760`, :cve_nist:`2025-37814`, :cve_nist:`2025-37827`,
:cve_nist:`2025-37845`, :cve_nist:`2025-37868`, :cve_nist:`2025-37871`, :cve_nist:`2025-37878`,
:cve_nist:`2025-37895`, :cve_nist:`2025-37929`, :cve_nist:`2025-37962`, :cve_nist:`2025-37974`,
:cve_nist:`2025-38055`, :cve_nist:`2025-38098`, :cve_nist:`2025-38099`, :cve_nist:`2025-38162`,
:cve_nist:`2025-38169`, :cve_nist:`2025-38201`, :cve_nist:`2025-38224`, :cve_nist:`2025-38234`,
:cve_nist:`2025-38289`, :cve_nist:`2025-38325`, :cve_nist:`2025-38372`, :cve_nist:`2025-38373`,
:cve_nist:`2025-38405`, :cve_nist:`2025-38421`, :cve_nist:`2025-38484`, :cve_nist:`2025-38551`,
:cve_nist:`2025-38567`, :cve_nist:`2025-38675`, :cve_nist:`2025-38733`, :cve_nist:`2025-38736`,
:cve_nist:`2025-39688`, :cve_nist:`2025-39725`, :cve_nist:`2025-39775`, :cve_nist:`2025-39807`,
:cve_nist:`2025-39872`, :cve_nist:`2025-39930`, :cve_nist:`2025-39948`, :cve_nist:`2025-39965`,
:cve_nist:`2025-39999`, :cve_nist:`2025-40005`, :cve_nist:`2025-40007`, :cve_nist:`2025-40082`,
:cve_nist:`2025-40101`, :cve_nist:`2025-40131`, :cve_nist:`2025-40199`, :cve_nist:`2025-40213`,
:cve_nist:`2025-40290`, :cve_nist:`2025-40327`, :cve_nist:`2025-40332`, :cve_nist:`2025-40344`,
:cve_nist:`2025-68195`, :cve_nist:`2025-68207`, :cve_nist:`2025-68213`, :cve_nist:`2025-68215`,
:cve_nist:`2025-68298`, :cve_nist:`2025-68351`, :cve_nist:`2025-68357`, :cve_nist:`2025-68358`,
:cve_nist:`2025-68823`, :cve_nist:`2025-71070`, :cve_nist:`2025-71076`, :cve_nist:`2025-71135`,
:cve_nist:`2025-71145`, :cve_nist:`2025-71146`, :cve_nist:`2025-71155`, :cve_nist:`2025-71204`,
:cve_nist:`2025-71220`, :cve_nist:`2025-71222`, :cve_nist:`2025-71223`, :cve_nist:`2025-71224`,
:cve_nist:`2025-71229`, :cve_nist:`2025-71232`, :cve_nist:`2025-71233`, :cve_nist:`2025-71235`,
:cve_nist:`2025-71236`, :cve_nist:`2025-71237`, :cve_nist:`2025-71238`, :cve_nist:`2025-71268`,
:cve_nist:`2025-71270`, :cve_nist:`2025-71271`, :cve_nist:`2025-71290`, :cve_nist:`2025-71293`,
:cve_nist:`2025-71294`, :cve_nist:`2025-71296`, :cve_nist:`2025-71298`, :cve_nist:`2025-71299`,
:cve_nist:`2025-71300`, :cve_nist:`2025-71301`, :cve_nist:`2025-71302`, :cve_nist:`2026-23014`,
:cve_nist:`2026-23018`, :cve_nist:`2026-23079`, :cve_nist:`2026-23100`, :cve_nist:`2026-23111`,
:cve_nist:`2026-23112`, :cve_nist:`2026-23143`, :cve_nist:`2026-23148`, :cve_nist:`2026-23151`,
:cve_nist:`2026-23166`, :cve_nist:`2026-23169`, :cve_nist:`2026-23176`, :cve_nist:`2026-23178`,
:cve_nist:`2026-23180`, :cve_nist:`2026-23182`, :cve_nist:`2026-23187`, :cve_nist:`2026-23189`,
:cve_nist:`2026-23190`, :cve_nist:`2026-23193`, :cve_nist:`2026-23198`, :cve_nist:`2026-23200`,
:cve_nist:`2026-23201`, :cve_nist:`2026-23202`, :cve_nist:`2026-23204`, :cve_nist:`2026-23205`,
:cve_nist:`2026-23206`, :cve_nist:`2026-23209`, :cve_nist:`2026-23216`, :cve_nist:`2026-23217`,
:cve_nist:`2026-23220`, :cve_nist:`2026-23221`, :cve_nist:`2026-23222`, :cve_nist:`2026-23228`,
:cve_nist:`2026-23229`, :cve_nist:`2026-23230`, :cve_nist:`2026-23233`, :cve_nist:`2026-23234`,
:cve_nist:`2026-23235`, :cve_nist:`2026-23236`, :cve_nist:`2026-23237`, :cve_nist:`2026-23238`,
:cve_nist:`2026-23254`, :cve_nist:`2026-23256`, :cve_nist:`2026-23257`, :cve_nist:`2026-23258`,
:cve_nist:`2026-23260`, :cve_nist:`2026-23261`, :cve_nist:`2026-23262`, :cve_nist:`2026-23264`,
:cve_nist:`2026-23266`, :cve_nist:`2026-23267`, :cve_nist:`2026-23288`, :cve_nist:`2026-23341`,
:cve_nist:`2026-23355`, :cve_nist:`2026-23376`, :cve_nist:`2026-23418`, :cve_nist:`2026-23421`,
:cve_nist:`2026-23423`, :cve_nist:`2026-23424`, :cve_nist:`2026-23425`, :cve_nist:`2026-23429`,
:cve_nist:`2026-23430`, :cve_nist:`2026-23431`, :cve_nist:`2026-23432`, :cve_nist:`2026-23433`,
:cve_nist:`2026-23435`, :cve_nist:`2026-23436`, :cve_nist:`2026-23437`, :cve_nist:`2026-23445`,
:cve_nist:`2026-23451`, :cve_nist:`2026-23453`, :cve_nist:`2026-23459`, :cve_nist:`2026-23464`,
:cve_nist:`2026-23466`, :cve_nist:`2026-23467`, :cve_nist:`2026-23469`, :cve_nist:`2026-23470`,
:cve_nist:`2026-31390`, :cve_nist:`2026-31394`, :cve_nist:`2026-31395`, :cve_nist:`2026-31397`,
:cve_nist:`2026-31398`, :cve_nist:`2026-31401`, :cve_nist:`2026-31404`, :cve_nist:`2026-31406`,
:cve_nist:`2026-31413`, :cve_nist:`2026-31435`, :cve_nist:`2026-31436`, :cve_nist:`2026-31437`,
:cve_nist:`2026-31438`, :cve_nist:`2026-31442`, :cve_nist:`2026-31443`, :cve_nist:`2026-31444`,
:cve_nist:`2026-31445`, :cve_nist:`2026-31456`, :cve_nist:`2026-31457`, :cve_nist:`2026-31459`,
:cve_nist:`2026-31460`, :cve_nist:`2026-31461`, :cve_nist:`2026-31463`, :cve_nist:`2026-31465`,
:cve_nist:`2026-31468`, :cve_nist:`2026-31470`, :cve_nist:`2026-31471`, :cve_nist:`2026-31472`,
:cve_nist:`2026-31475`, :cve_nist:`2026-31479`, :cve_nist:`2026-31481`, :cve_nist:`2026-31484`,
:cve_nist:`2026-31490`, :cve_nist:`2026-31491`, :cve_nist:`2026-31499`, :cve_nist:`2026-31501`,
:cve_nist:`2026-31511`, :cve_nist:`2026-31513`, :cve_nist:`2026-31514`, :cve_nist:`2026-31517`,
:cve_nist:`2026-31526`, :cve_nist:`2026-31529`, :cve_nist:`2026-31535`, :cve_nist:`2026-31538`,
:cve_nist:`2026-31539`, :cve_nist:`2026-31541`, :cve_nist:`2026-31543`, :cve_nist:`2026-31544`,
:cve_nist:`2026-31547`, :cve_nist:`2026-31553`, :cve_nist:`2026-31554`, :cve_nist:`2026-31556`,
:cve_nist:`2026-31558`, :cve_nist:`2026-31559`, :cve_nist:`2026-31561`, :cve_nist:`2026-31562`,
:cve_nist:`2026-31564`, :cve_nist:`2026-31567`, :cve_nist:`2026-31569`, :cve_nist:`2026-31571`,
:cve_nist:`2026-31572`, :cve_nist:`2026-31573`, :cve_nist:`2026-31574`, :cve_nist:`2026-31575`,
:cve_nist:`2026-31582`, :cve_nist:`2026-31589`, :cve_nist:`2026-31591`, :cve_nist:`2026-31593`,
:cve_nist:`2026-31600`, :cve_nist:`2026-31601`, :cve_nist:`2026-31608`, :cve_nist:`2026-31609`,
:cve_nist:`2026-31620`, :cve_nist:`2026-31621`, :cve_nist:`2026-31631`, :cve_nist:`2026-31632`,
:cve_nist:`2026-31633`, :cve_nist:`2026-31635`, :cve_nist:`2026-31636`, :cve_nist:`2026-31640`,
:cve_nist:`2026-31641`, :cve_nist:`2026-31643`, :cve_nist:`2026-31644`, :cve_nist:`2026-31647`,
:cve_nist:`2026-31650`, :cve_nist:`2026-31652`, :cve_nist:`2026-31653`, :cve_nist:`2026-31654`,
:cve_nist:`2026-31666`, :cve_nist:`2026-31687`, :cve_nist:`2026-31690`, :cve_nist:`2026-31691`,
:cve_nist:`2026-31703`, :cve_nist:`2026-31710`, :cve_nist:`2026-31713`, :cve_nist:`2026-31719`,
:cve_nist:`2026-31727`, :cve_nist:`2026-31731`, :cve_nist:`2026-31732`, :cve_nist:`2026-31733`,
:cve_nist:`2026-31734`, :cve_nist:`2026-31735`, :cve_nist:`2026-31736`, :cve_nist:`2026-31739`,
:cve_nist:`2026-31742`, :cve_nist:`2026-31743`, :cve_nist:`2026-31744`, :cve_nist:`2026-31745`,
:cve_nist:`2026-31746`, :cve_nist:`2026-31750`, :cve_nist:`2026-31753`, :cve_nist:`2026-31757`,
:cve_nist:`2026-31760`, :cve_nist:`2026-31764`, :cve_nist:`2026-31765`, :cve_nist:`2026-31766`,
:cve_nist:`2026-31769`, :cve_nist:`2026-31772`, :cve_nist:`2026-31774`, :cve_nist:`2026-31775`,
:cve_nist:`2026-31776`, :cve_nist:`2026-31782`, :cve_nist:`2026-31783`, :cve_nist:`2026-31784`,
:cve_nist:`2026-31785`, :cve_nist:`2026-43004`, :cve_nist:`2026-43005`, :cve_nist:`2026-43006`,
:cve_nist:`2026-43008`, :cve_nist:`2026-43012`, :cve_nist:`2026-43021`, :cve_nist:`2026-43031`,
:cve_nist:`2026-43034`, :cve_nist:`2026-43039`, :cve_nist:`2026-43045`, :cve_nist:`2026-43055`,
:cve_nist:`2026-43059`, :cve_nist:`2026-43063`, :cve_nist:`2026-43070`, :cve_nist:`2026-43084`,
:cve_nist:`2026-43087`, :cve_nist:`2026-43090`, :cve_nist:`2026-43095`, :cve_nist:`2026-43096`,
:cve_nist:`2026-43097`, :cve_nist:`2026-43100`, :cve_nist:`2026-43102`, :cve_nist:`2026-43106`,
:cve_nist:`2026-43108`, :cve_nist:`2026-43121`, :cve_nist:`2026-43122`, :cve_nist:`2026-43131`,
:cve_nist:`2026-43138`, :cve_nist:`2026-43142`, :cve_nist:`2026-43144`, :cve_nist:`2026-43146`,
:cve_nist:`2026-43151`, :cve_nist:`2026-43154`, :cve_nist:`2026-43155`, :cve_nist:`2026-43160`,
:cve_nist:`2026-43164`, :cve_nist:`2026-43165`, :cve_nist:`2026-43166`, :cve_nist:`2026-43169`,
:cve_nist:`2026-43174`, :cve_nist:`2026-43175`, :cve_nist:`2026-43176`, :cve_nist:`2026-43177`,
:cve_nist:`2026-43178`, :cve_nist:`2026-43179`, :cve_nist:`2026-43181`, :cve_nist:`2026-43188`,
:cve_nist:`2026-43191`, :cve_nist:`2026-43192`, :cve_nist:`2026-43193`, :cve_nist:`2026-43195`,
:cve_nist:`2026-43201`, :cve_nist:`2026-43208`, :cve_nist:`2026-43210`, :cve_nist:`2026-43217`,
:cve_nist:`2026-43220`, :cve_nist:`2026-43224`, :cve_nist:`2026-43228`, :cve_nist:`2026-43229`,
:cve_nist:`2026-43235`, :cve_nist:`2026-43237`, :cve_nist:`2026-43243`, :cve_nist:`2026-43247`,
:cve_nist:`2026-43254`, :cve_nist:`2026-43259`, :cve_nist:`2026-43260`, :cve_nist:`2026-43263`,
:cve_nist:`2026-43267`, :cve_nist:`2026-43272`, :cve_nist:`2026-43274`, :cve_nist:`2026-43276`,
:cve_nist:`2026-43280`, :cve_nist:`2026-43282`, :cve_nist:`2026-43285`, :cve_nist:`2026-43286`,
:cve_nist:`2026-43290`, :cve_nist:`2026-43292`, :cve_nist:`2026-43293`, :cve_nist:`2026-43297`,
:cve_nist:`2026-43300`, :cve_nist:`2026-43301`, :cve_nist:`2026-43305`, :cve_nist:`2026-43306`,
:cve_nist:`2026-43307`, :cve_nist:`2026-43320`, :cve_nist:`2026-43321`, :cve_nist:`2026-43322`,
:cve_nist:`2026-43323`, :cve_nist:`2026-43325`, :cve_nist:`2026-43326`, :cve_nist:`2026-43335`,
:cve_nist:`2026-43337`, :cve_nist:`2026-43346`, :cve_nist:`2026-43347`, :cve_nist:`2026-43348`,
:cve_nist:`2026-43349`, :cve_nist:`2026-43351`, :cve_nist:`2026-43354`, :cve_nist:`2026-43356`,
:cve_nist:`2026-43358`, :cve_nist:`2026-43364`, :cve_nist:`2026-43367`, :cve_nist:`2026-43369`,
:cve_nist:`2026-43374`, :cve_nist:`2026-43375`, :cve_nist:`2026-43384`, :cve_nist:`2026-43385`,
:cve_nist:`2026-43388`, :cve_nist:`2026-43389`, :cve_nist:`2026-43390`, :cve_nist:`2026-43391`,
:cve_nist:`2026-43392`, :cve_nist:`2026-43393`, :cve_nist:`2026-43394`, :cve_nist:`2026-43395`,
:cve_nist:`2026-43396`, :cve_nist:`2026-43398`, :cve_nist:`2026-43399`, :cve_nist:`2026-43400`,
:cve_nist:`2026-43401`, :cve_nist:`2026-43402`, :cve_nist:`2026-43403`, :cve_nist:`2026-43404`,
:cve_nist:`2026-43408`, :cve_nist:`2026-43410`, :cve_nist:`2026-43417`, :cve_nist:`2026-43418`,
:cve_nist:`2026-43422`, :cve_nist:`2026-43423`, :cve_nist:`2026-43431`, :cve_nist:`2026-43433`,
:cve_nist:`2026-43434`, :cve_nist:`2026-43435`, :cve_nist:`2026-43438`, :cve_nist:`2026-43440`,
:cve_nist:`2026-43442`, :cve_nist:`2026-43444`, :cve_nist:`2026-43446`, :cve_nist:`2026-43447`,
:cve_nist:`2026-43454`, :cve_nist:`2026-43460`, :cve_nist:`2026-43461`, :cve_nist:`2026-43462`,
:cve_nist:`2026-43463`, :cve_nist:`2026-43467`, :cve_nist:`2026-43470`, :cve_nist:`2026-43474`,
:cve_nist:`2026-43477`, :cve_nist:`2026-43478`, :cve_nist:`2026-43479`, :cve_nist:`2026-43481`,
:cve_nist:`2026-43482`, :cve_nist:`2026-43485`, :cve_nist:`2026-43486`, :cve_nist:`2026-43487`,
:cve_nist:`2026-43489` and :cve_nist:`2026-43498`
- lz4: Remove a reference to the rejected :cve_nist:`2025-62813`
- nfs-utils: Fix :cve_nist:`2025-12801`
- openssh: Fix :cve_nist:`2026-35386`, :cve_nist:`2026-35385`, :cve_nist:`2026-35387` and
:cve_nist:`2026-35388`
- python3-requests: Fix :cve_nist:`2026-25645`
- python3: Fix :cve_nist:`2025-13462`, :cve_nist:`2026-0672`, :cve_nist:`2026-1502`,
:cve_nist:`2026-3644`, :cve_nist:`2026-4224`, :cve_nist:`2026-4519`, :cve_nist:`2026-4786`,
:cve_nist:`2026-6019` and :cve_nist:`2026-6100`
- python3: Ignore :cve_nist:`2026-3087`
- qemu: Fix :cve_nist:`2024-6519`
- qemu: fix :cve_nist:`2025-11234`
- rust,libstd-rs: Ignore :cve_nist:`2024-3566`
- tiff: fix :cve_nist:`2026-4775`
- util-linux: Fix :cve_nist:`2026-27456`
- xserver-xorg: Fix :cve_nist:`2026-33999`, :cve_nist:`2026-34000`, :cve_nist:`2026-34001`,
:cve_nist:`2026-34002` and :cve_nist:`2026-34003`
- xwayland: Fix :cve_nist:`2026-33999`, :cve_nist:`2026-34000`, :cve_nist:`2026-34001`,
:cve_nist:`2026-34002` and :cve_nist:`2026-34003`
- xz: Fix :cve_nist:`2026-34743`
Fixes in Yocto-5.0.19
~~~~~~~~~~~~~~~~~~~~~
- apr-util: Add :term:`CVE_PRODUCT` to support product name
- apr: Add :term:`CVE_PRODUCT` to support product name
- bitbake: data: fix issue with varflag exclusion
- bitbake: fetch2/git: quote shallow extra ref arguments
- bitbake: fetch2/wget: handle HTTP 308 Permanent Redirect
- bitbake: fetch2/wget: limit auth on checkstatus redirects
- bitbake: fetch2: Unpack RPMs with --no-absolute-filenames
- bitbake: fetch2: validate deb/ipk data member names
- bitbake: fetch2: validate striplevel parameter
- bitbake: hashserv/tests: use valid 64-character unihashes
- bitbake: hashserv: validate unihash values
- bitbake: tests/fetch: cover checkstatus redirect auth handling
- bsp-guide: mention bootloader and device tree in BSP intro
- bsp-guide: update guide to reflect newer beaglebone
- build-appliance-image: Update to scarthgap head revisions
- build-manual: update :term:`ROOTFS_POSTPROCESS_COMMAND` example
- bzip2: set :term:`CVE_PRODUCT`
- cargo: set :term:`CVE_PRODUCT`
- classes/base: prefer gnu-prefixed :term:`HOSTTOOLS`
- classes/gtk-icon-cache: fix libdir passed to the postrm intercept
- conf/machine: fix typos in ARM and x86 README files
- contributor-guide: couple minor typo/grammar fixes
- contributor-guide: fix type "maintainance" to "maintenance"
- dev-manual: drop "PREFERRED_VERSION" from x86-base.inc snippet
- dev-manual: fix broken grammar in "Libraries" section
- dev-manual: fix grammatical error, missing word "with"
- dev-manual: fully define SOLIBS-related variables in bitbake.conf
- dev-manual: remove semicolons for rootfs commands
- dev-manual: SysVinit is the default init manager for Poky
- dev-manual: update :term:`AUTOREV` explanation to match current file
- devtool: prevent 'devtool modify -n' from corrupting kernel Git repos
- docs: conf.py: add a :yocto_bug: role
- docs: conf.py: define new \*_path roles
- docs: conf.py: define new {oecore,bitbake,meta_yocto}_rev roles
- docs: index.rst: update "Software Overview" to "Technical Overview"
- docs: "Transitioning ..." Various pedantic cleanups
- docs: What I Wish I'd Known: Various pedantic cleanups
- docs: YP Quick Build: delete extraneous periods in list
- gawk-native: fix gcc-15/C23 compilation issues
- gawk: trim native build configuration
- gawk: use native gawk when building glibc and grub
- gdb: backport a patch to fix static_assert in recent GCC
- gnupg: upgrade to 2.4.9
- go.bbclass: change GOTMPDIR to improve reproducibility
- go.bbclass: disable workspaces
- grub/glibc: Bump versions to resolve hashequiv/reproducibility issues
- kernel-dev: remove references to defunct LTSI project
- linux-yocto/6.6: address ltp hang
- linux-yocto/6.6: genericarm64 fix configuration audit warning
- linux-yocto/6.6: update to v6.6.142
- lttng-modules: Fix trace_hrtimer_start build failure
- meta/lib/oe/package.py: fix path to kernel sources in save_debugsources_info
- meta: fix generation of kernel CONFIGi\_ in SPDX3
- migration-guide: add release notes for 4.0.35 5.0.18
- oeqa/core/runner: stub addDuration in OETestResult
- oeqa/runtime/parselogs: update pci BAR ignore for kernel 6.10
- oeqa: Drop /git/ from our urls
- oeqa: runtime: go: Increase test_go_compile/test_go_module timeout
- openssl: upgrade to 3.5.7
- overview-manual: add ":term:" for OE Build System
- overview-manual: fix "checkout" versus "check out"
- overview-manual: fix typo, "semi-colon" -> "colon"
- overview-manual: hyphens not allowed in file version
- overview-manual: inform the reader early of "bitbake-getvar"
- overview-manual: mention that patch files can be compressed
- overview-manual: provide a more expansive definition of "layer"
- overview-manual: remind reader that meta-poky is a distro layer
- overview-manual: update deploy.bbclass snippet
- overview-manual: use correct spelling "counterpart"
- overview-manual: yp-intro.rst: add link to "buildbot"
- overview-manual: yp-intro.rst: delete really old references
- perl: link to the system zlib instead of a vendored copy
- poky.conf: Bump version for 5.0.19 release
- pseudo: Update to 1.9.8
- python_setuptools_build_meta: clean the build directory in configure
- recipe-style-guide.rst: two minor grammatical tweaks
- recipetool: Recognise https://git. as git urls
- ref-manual/variables.rst: link \*MIRRORS definitions to the BitBake manual
- ref-manual: add more explanation to glossary variable :term:`LICENSE`
- ref-manual: clarify that :term:`PACKAGE_EXCLUDE` supports DEB packaging
- ref-manual: clarify use of "PACKAGE_ARCH" in a packagegroup
- ref-manual: document :term:`RM_WORK_EXCLUDE_ITEMS` variable
- scripts/install-buildtools: Update to 5.0.18
- security-team.rst: update my email address and key
- security-team: Add section on multi-project embargoes
- security-team: Tidy and update section on security team operations
- security-team: Update membership list
- setuptools3: clean the build directory in configure
- setuptools3_legacy: ensure ${B} is clean
- systemd: update musl specific patch to apply
- tzdata/tzcode-native: upgrade to 2026b
- wic: filemap: use separate fd for SEEK_HOLE probes
Known Issues in Yocto-5.0.19
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- N/A
Contributors to Yocto-5.0.19
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Thanks to the following people who contributed to this release:
- Adarsh Jagadish Kamini
- Alexander Kanavin
- Amaury Couderc
- Anders Heimer
- Anil Dongare
- Ankur Tyagi
- Antonin Godard
- Benjamin Robin (Schneider Electric)
- Bruce Ashfield
- Changqing Li
- Deepak Rathore
- Enrico Jörns
- Guðni Már Gilbert
- He Zhe
- Himanshu Jadon
- Hitendra Prajapati
- Hugo SIMELIERE (Schneider Electric)
- Jonas Munsin
- João Marcos Costa (Schneider Electric)
- Lee Chee Yang
- Marcio Henriques
- Mark Hatle
- Marta Rybczynska
- Martin Jansa
- Mathieu Dubois-Briand
- Naman Jain
- Paul Barker
- Peter Bergin
- Peter Marko
- Prabhudasu Vatala
- Richard Purdie
- Robert P. J. Day
- Ross Burton
- Shubham Pushpkar
- Sudhir Dumbhare
- Theo Gaige (Schneider Electric)
- Trevor Woerner
- Vijay Anusuri
- Yoann Congal
- Zahir Hussain
Repositories / Downloads for Yocto-5.0.19
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
yocto-docs
- Repository Location: :yocto_git:`/yocto-docs`
- Branch: :yocto_git:`scarthgap </yocto-docs/log/?h=scarthgap>`
- Tag: :yocto_git:`yocto-5.0.19 </yocto-docs/log/?h=yocto-5.0.19>`
- Git Revision: :yocto_git:`1b819d324780a699d9307a2d4e68c69b576ab748 </yocto-docs/commit/?id=1b819d324780a699d9307a2d4e68c69b576ab748>`
- Release Artefact: yocto-docs-1b819d324780a699d9307a2d4e68c69b576ab748
- sha: b2c484d8d13b05b133f6f23f44e7757e4b53d93c27c9ea76d1a2e5f759f51af0
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.19/yocto-docs-1b819d324780a699d9307a2d4e68c69b576ab748.tar.bz2
https://mirrors.edge.kernel.org/yocto/yocto/yocto-5.0.19/yocto-docs-1b819d324780a699d9307a2d4e68c69b576ab748.tar.bz2
poky
- Repository Location: :yocto_git:`/poky`
- Branch: :yocto_git:`scarthgap </poky/log/?h=scarthgap>`
- Tag: :yocto_git:`yocto-5.0.19 </poky/log/?h=yocto-5.0.19>`
- Git Revision: :yocto_git:`bb98354685781296e3b3737e7762412100f359c2 </poky/commit/?id=bb98354685781296e3b3737e7762412100f359c2>`
- Release Artefact: poky-bb98354685781296e3b3737e7762412100f359c2
- sha: 37fd9eeff8043e6d7d595421b8ac40d38357d2d4ce3a6d0f86a0f7d884c995c3
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.19/poky-bb98354685781296e3b3737e7762412100f359c2.tar.bz2
https://mirrors.edge.kernel.org/yocto/yocto/yocto-5.0.19/poky-bb98354685781296e3b3737e7762412100f359c2.tar.bz2
openembedded-core
- Repository Location: :oe_git:`/openembedded-core`
- Branch: :oe_git:`scarthgap </openembedded-core/log/?h=scarthgap>`
- Tag: :oe_git:`yocto-5.0.19 </openembedded-core/log/?h=yocto-5.0.19>`
- Git Revision: :oe_git:`2814f0962f56c8d1afa4de76d2895ba9b5cb767d </openembedded-core/commit/?id=2814f0962f56c8d1afa4de76d2895ba9b5cb767d>`
- Release Artefact: oecore-2814f0962f56c8d1afa4de76d2895ba9b5cb767d
- sha: 8556e454499fcda4026dc58fb8fc627861720f5c006bd72bf3b455dabd22a0e8
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.19/oecore-2814f0962f56c8d1afa4de76d2895ba9b5cb767d.tar.bz2
https://mirrors.edge.kernel.org/yocto/yocto/yocto-5.0.19/oecore-2814f0962f56c8d1afa4de76d2895ba9b5cb767d.tar.bz2
meta-yocto
- Repository Location: :yocto_git:`/meta-yocto`
- Branch: :yocto_git:`scarthgap </meta-yocto/log/?h=scarthgap>`
- Tag: :yocto_git:`yocto-5.0.19 </meta-yocto/log/?h=yocto-5.0.19>`
- Git Revision: :yocto_git:`2f749ae477c3b94dce71038f025180d7f612dab0 </meta-yocto/commit/?id=2f749ae477c3b94dce71038f025180d7f612dab0>`
- Release Artefact: meta-yocto-2f749ae477c3b94dce71038f025180d7f612dab0
- sha: 754237ee59a67d31da1f242555c77b75a96d9cdabdf0a4c9cfd98e378643d031
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.19/meta-yocto-2f749ae477c3b94dce71038f025180d7f612dab0.tar.bz2
https://mirrors.edge.kernel.org/yocto/yocto/yocto-5.0.19/meta-yocto-2f749ae477c3b94dce71038f025180d7f612dab0.tar.bz2
meta-mingw
- Repository Location: :yocto_git:`/meta-mingw`
- Branch: :yocto_git:`scarthgap </meta-mingw/log/?h=scarthgap>`
- Tag: :yocto_git:`yocto-5.0.19 </meta-mingw/log/?h=yocto-5.0.19>`
- Git Revision: :yocto_git:`bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f </meta-mingw/commit/?id=bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f>`
- Release Artefact: meta-mingw-bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f
- sha: ab073def6487f237ac125d239b3739bf02415270959546b6b287778664f0ae65
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.19/meta-mingw-bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f.tar.bz2
https://mirrors.edge.kernel.org/yocto/yocto/yocto-5.0.19/meta-mingw-bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f.tar.bz2
bitbake
- Repository Location: :oe_git:`/bitbake`
- Branch: :oe_git:`2.8 </bitbake/log/?h=2.8>`
- Tag: :oe_git:`yocto-5.0.19 </bitbake/log/?h=yocto-5.0.19>`
- Git Revision: :oe_git:`0880963fea4d91a034e4a6e007d23f98658ab986 </bitbake/commit/?id=0880963fea4d91a034e4a6e007d23f98658ab986>`
- Release Artefact: bitbake-0880963fea4d91a034e4a6e007d23f98658ab986
- sha: 2bbf83d622fd4ad7ef0110378a9c88b683b2d82a911aba681b561446ec2f486b
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.19/bitbake-0880963fea4d91a034e4a6e007d23f98658ab986.tar.bz2
https://mirrors.edge.kernel.org/yocto/yocto/yocto-5.0.19/bitbake-0880963fea4d91a034e4a6e007d23f98658ab986.tar.bz2

View File

@@ -166,7 +166,7 @@ New Features / Enhancements in 5.0
``meta/lib/patchtest/tests``) and make a number of improvements to enable
it to validate patches submitted on the mailing list again. Additionally,
make it work with the original upstream version of
`Patchwork <http://jk.ozlabs.org/projects/patchwork/>`__.
`Patchwork <https://web.archive.org/web/20250823174533/http://jk.ozlabs.org/projects/patchwork/>`__.
- Add an optional ``unimplemented-ptest`` QA warning to detect upstream
packages with tests, that do not use ptest.
@@ -217,7 +217,7 @@ New Features / Enhancements in 5.0
state directory (i.e., ``/run``).
- Allow to disable colored text output through the
`NO_COLOR <https://no-color.org/>`__ environment variable.
``NO_COLOR`` environment variable.
- ``git-make-shallow`` script: add support for Git's ``safe.bareRepository=explicit``
configuration setting.

View File

@@ -58,16 +58,12 @@ Project. Most find that it is best to have a native Linux machine
function as the development host. However, it is possible to use a
system that does not run Linux as its operating system as your
development host. When you have a Mac or Windows-based system, you can
set it up as the development host by using
`CROPS <https://github.com/crops/poky-container>`__, which leverages
`Docker Containers <https://www.docker.com/>`__. Once you take the steps
to set up a CROPS machine, you effectively have access to a shell
set it up as the development host by using an :wikipedia:`OCI container
<Open_Container_Initiative>` (using `Docker <https://www.docker.com/>`__ or
`Podman <https://podman.io/>`__). Once you take the steps
to set up container, you effectively have access to a shell
environment that is similar to what you see when using a Linux-based
development host. For the steps needed to set up a system using CROPS,
see the
":ref:`dev-manual/start:setting up to use cross platforms (crops)`"
section in
the Yocto Project Development Tasks Manual.
development host.
If your development host is going to be a system that runs a Linux
distribution, you must still take steps to prepare the system
@@ -87,7 +83,7 @@ are several ways of working in the Yocto Project environment:
which uses
BitBake, in a command-line environment from a shell on your
development host. You can accomplish this from a host that is a
native Linux machine or from a host that has been set up with CROPS.
native Linux machine or from a container.
Either way, you create, modify, and build images and applications all
within a shell-based environment using components and tools available
through your Linux distribution and the Yocto Project.
@@ -365,7 +361,7 @@ commands.
.. note::
- For more information on Git, see
https://git-scm.com/documentation.
https://git-scm.com/docs.
- If you need to download Git, it is recommended that you add Git to
your system through your distribution's "software store" (e.g. for
@@ -496,7 +492,7 @@ you can manage with a small set of basic operations and workflows once
you understand the basic philosophy behind Git. You do not have to be an
expert in Git to be functional. A good place to look for instruction on
a minimal set of Git commands is
`here <https://git-scm.com/documentation>`__.
`here <https://git-scm.com/docs>`__.
The following list of Git commands briefly describes some basic Git
operations as a way to get started. As with any set of commands, this

View File

@@ -4,15 +4,70 @@
Yocto Project Overview and Concepts Manual
==========================================
|
Welcome to the Yocto Project Overview and Concepts Manual! This manual
introduces the Yocto Project by providing concepts, software overviews,
best-known-methods (BKMs), and any other high-level introductory
information suitable for a new Yocto Project user.
Here is what you can get from this manual:
- :ref:`overview-manual/yp-intro:introducing the yocto project`\ *:*
This chapter provides an introduction to the Yocto Project. You will learn
about features and challenges of the Yocto Project, the layer model,
components and tools, development methods, the
:term:`Poky` reference distribution, the
:term:`OpenEmbedded Build System` workflow, and some basic Yocto terms.
- :ref:`overview-manual/development-environment:the yocto project development environment`\ *:*
This chapter helps you get started understanding the Yocto Project
development environment. You will learn about open source, development hosts,
Yocto Project source repositories, workflows using Git and the Yocto
Project, a Git primer, and information about licensing.
- :doc:`/overview-manual/concepts` *:* This
chapter presents various concepts regarding the Yocto Project. You
can find conceptual information about components, development,
cross-toolchains, and so forth.
This manual does not give you the following:
- *Step-by-step Instructions for Development Tasks:* Instructional
procedures reside in other manuals within the Yocto Project
documentation set. For example, the :doc:`/dev-manual/index`
provides examples on how to perform
various development tasks. As another example, the
:doc:`/sdk-manual/index` manual contains detailed
instructions on how to install an SDK, which is used to develop
applications for target hardware.
- *Reference Material:* This type of material resides in an appropriate
reference manual. For example, system variables are documented in the
:doc:`/ref-manual/index`. As another
example, the :doc:`/bsp-guide/index` contains reference information on
BSPs.
- *Detailed Public Information Not Specific to the Yocto Project:* For
example, exhaustive information on how to use the Source Control
Manager Git is better covered with Internet searches and official Git
Documentation than through the Yocto Project documentation.
.. toctree::
:caption: Table of Contents
:numbered:
intro
yp-intro
development-environment
concepts
Because this manual presents information for many different topics,
supplemental information is recommended for full comprehension. For
additional introductory information on the Yocto Project, see the
:yocto_home:`Yocto Project Website <>`. If you want to build an image
with no knowledge of Yocto Project as a way of quickly testing it out,
see the :doc:`/brief-yoctoprojectqs/index` document.
For a comprehensive list of links and other documentation, see the
":ref:`Links and Related
Documentation <resources-links-and-related-documentation>`"
section in the Yocto Project Reference Manual.
.. include:: /boilerplate.rst

View File

@@ -1,69 +0,0 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
**********************************************
The Yocto Project Overview and Concepts Manual
**********************************************
Welcome
=======
Welcome to the Yocto Project Overview and Concepts Manual! This manual
introduces the Yocto Project by providing concepts, software overviews,
best-known-methods (BKMs), and any other high-level introductory
information suitable for a new Yocto Project user.
Here is what you can get from this manual:
- :ref:`overview-manual/yp-intro:introducing the yocto project`\ *:*
This chapter provides an introduction to the Yocto Project. You will learn
about features and challenges of the Yocto Project, the layer model,
components and tools, development methods, the
:term:`Poky` reference distribution, the
:term:`OpenEmbedded Build System` workflow, and some basic Yocto terms.
- :ref:`overview-manual/development-environment:the yocto project development environment`\ *:*
This chapter helps you get started understanding the Yocto Project
development environment. You will learn about open source, development hosts,
Yocto Project source repositories, workflows using Git and the Yocto
Project, a Git primer, and information about licensing.
- :doc:`/overview-manual/concepts` *:* This
chapter presents various concepts regarding the Yocto Project. You
can find conceptual information about components, development,
cross-toolchains, and so forth.
This manual does not give you the following:
- *Step-by-step Instructions for Development Tasks:* Instructional
procedures reside in other manuals within the Yocto Project
documentation set. For example, the :doc:`/dev-manual/index`
provides examples on how to perform
various development tasks. As another example, the
:doc:`/sdk-manual/index` manual contains detailed
instructions on how to install an SDK, which is used to develop
applications for target hardware.
- *Reference Material:* This type of material resides in an appropriate
reference manual. For example, system variables are documented in the
:doc:`/ref-manual/index`. As another
example, the :doc:`/bsp-guide/index` contains reference information on
BSPs.
- *Detailed Public Information Not Specific to the Yocto Project:* For
example, exhaustive information on how to use the Source Control
Manager Git is better covered with Internet searches and official Git
Documentation than through the Yocto Project documentation.
Other Information
=================
Because this manual presents information for many different topics,
supplemental information is recommended for full comprehension. For
additional introductory information on the Yocto Project, see the
:yocto_home:`Yocto Project Website <>`. If you want to build an image
with no knowledge of Yocto Project as a way of quickly testing it out,
see the :doc:`/brief-yoctoprojectqs/index` document.
For a comprehensive list of links and other documentation, see the
":ref:`Links and Related
Documentation <resources-links-and-related-documentation>`"
section in the Yocto Project Reference Manual.

View File

@@ -285,13 +285,6 @@ Development Tools
Here are tools that help you develop images and applications using
the Yocto Project:
- *CROPS:* `CROPS <https://github.com/crops/poky-container/>`__ is an
open source, cross-platform development framework that leverages
`Docker Containers <https://www.docker.com/>`__. CROPS provides an
easily managed, extensible environment that allows you to build
binaries for a variety of architectures on Windows, Linux and Mac OS
X hosts.
- *devtool:* This command-line tool is available as part of the
extensible SDK (eSDK) and is its cornerstone. You can use ``devtool``
to help build, test, and package software within the eSDK. You can
@@ -534,9 +527,9 @@ Linux.
Build Appliance was useful as a way to try out development in the
Yocto Project environment.
#. *CROPS:* The final and best solution available now for developing
using the Yocto Project on a system not native to Linux is with
:ref:`CROPS <overview-manual/yp-intro:development tools>`.
#. *CROPS:* Used to be a solution available for developing
using the Yocto Project on a system not native to Linux (see
https://github.com/crops/poky-container).
Development Methods
===================
@@ -570,25 +563,10 @@ Build Host runs, you have several choices.
":ref:`dev-manual/start:setting up a native linux host`"
section in the Yocto Project Development Tasks Manual.
- *CROss PlatformS (CROPS):* Typically, you use
`CROPS <https://github.com/crops/poky-container/>`__, which leverages
`Docker Containers <https://www.docker.com/>`__, to set up a Build
Host that is not running Linux (e.g. Microsoft Windows or macOS).
.. note::
You can, however, use CROPS on a Linux-based system.
CROPS is an open source, cross-platform development framework that
provides an easily managed, extensible environment for building
binaries targeted for a variety of architectures on Windows, macOS,
or Linux hosts. Once the Build Host is set up using CROPS, you can
prepare a shell environment to mimic that of a shell being used on a
system natively running Linux.
For information on how to set up a Build Host with CROPS, see the
":ref:`dev-manual/start:setting up to use cross platforms (crops)`"
section in the Yocto Project Development Tasks Manual.
- *OCI Containers:* Typically, you use an :wikipedia:`OCI container
<Open_Container_Initiative>` (with `Docker <https://www.docker.com/>`__ or
`Podman <https://podman.io/>`__ for example), to set up a :term:`Build
Host` that is not running Linux (e.g. Microsoft Windows or macOS).
- *Windows Subsystem For Linux (WSL 2):* You may use Windows Subsystem
For Linux version 2 to set up a Build Host using Windows 10 or later,

View File

@@ -39,7 +39,7 @@ other tools when it seems useful to do so.
The coverage below details some of the most common ways you'll likely
want to apply the tool; full documentation can be found either within
the tool itself or in the manual pages at
`perf(1) <https://linux.die.net/man/1/perf>`__.
:manpage:`perf(1)`.
perf Setup
----------
@@ -869,8 +869,8 @@ goes a little way to support the idea mentioned previously that given
the right kind of trace data, higher-level profiling-type summaries can
be derived from it.
Documentation on using the `'perf script' Python
binding <https://linux.die.net/man/1/perf-script-python>`__.
Documentation on using the :manpage:`'perf script' Python
binding <perf-script-python(1)>`.
System-Wide Tracing and Profiling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1150,23 +1150,19 @@ perf Documentation
Online versions of the manual pages for the commands discussed in this
section can be found here:
- The `'perf stat' manual page <https://linux.die.net/man/1/perf-stat>`__.
- The :manpage:`'perf stat' manual page <perf-stat(1)>`.
- The `'perf record'
manual page <https://linux.die.net/man/1/perf-record>`__.
- The :manpage:`'perf record' manual page <perf-record(1)>`.
- The `'perf report'
manual page <https://linux.die.net/man/1/perf-report>`__.
- The :manpage:`'perf report' manual page <perf-report(1)>`.
- The `'perf probe' manual page <https://linux.die.net/man/1/perf-probe>`__.
- The :manpage:`'perf probe' manual page <perf-probe(1)>`.
- The `'perf script'
manual page <https://linux.die.net/man/1/perf-script>`__.
- The :manpage:`'perf script' manual page <perf-script(1)>`.
- Documentation on using the `'perf script' Python
binding <https://linux.die.net/man/1/perf-script-python>`__.
- Documentation on using the :manpage:`'perf script' Python binding <perf-script-python(1)>`.
- The top-level `perf(1) manual page <https://linux.die.net/man/1/perf>`__.
- The top-level :manpage:`perf(1) manual page <perf(1)>`.
Normally, you should be able to open the manual pages via perf itself
e.g. ``perf help`` or ``perf help record``.
@@ -1781,7 +1777,7 @@ gather / print / aggregate data extracted from the context they end up being
called under.
For example, this probe from the `SystemTap
tutorial <https://sourceware.org/systemtap/tutorial/>`__ just prints a
tutorial <https://sourceware.org/systemtap/tutorial.html>`__ just prints a
line every time any process on the system runs ``open()`` on a file. For each line,
it prints the executable name of the program that opened the file, along
with its PID, and the name of the file it opened (or tried to open), which it
@@ -1957,7 +1953,7 @@ SystemTap Documentation
-----------------------
The SystemTap language reference can be found here: `SystemTap Language
Reference <https://sourceware.org/systemtap/langref/>`__
Reference <https://sourceware.org/systemtap/langref.html>`__
Links to other SystemTap documents, tutorials, and examples can be found
here: `SystemTap documentation
@@ -2388,7 +2384,7 @@ first part of the filenames::
The report shows each event that was
found in the blktrace data, along with a summary of the overall block
I/O traffic during the run. You can look at the
`blkparse <https://linux.die.net/man/1/blkparse>`__ manual page to learn the
:manpage:`blkparse(1)` manual page to learn the
meaning of each field displayed in the trace listing.
Live Mode
@@ -2588,14 +2584,14 @@ blktrace Documentation
Online versions of the manual pages for the commands discussed in this
section can be found here:
- https://linux.die.net/man/8/blktrace
- :manpage:`blktrace(8)`
- https://linux.die.net/man/1/blkparse
- :manpage:`blkparse(1)`
- https://linux.die.net/man/8/btrace
- :manpage:`btrace(8)`
The above manual pages, along with manuals for the other blktrace utilities
(``btt``, ``blkiomon``, etc) can be found in the ``/doc`` directory of the blktrace
tools git repository::
$ git clone git://git.kernel.dk/blktrace.git
$ git clone https://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git

View File

@@ -515,7 +515,7 @@ by the :term:`SPDX_PRETTY`, :term:`SPDX_ARCHIVE_PACKAGED`,
See the description of these variables and the
":ref:`dev-manual/sbom:creating a software bill of materials`"
section in the Yocto Project Development Manual for more details.
section in the Yocto Project Development Tasks Manual for more details.
.. _ref-classes-cross:
@@ -2327,11 +2327,8 @@ consider some further things about using RPM:
perform on-device upgrades.
You can find additional information on the effects of the package class
at these two Yocto Project mailing list links:
- :yocto_lists:`/pipermail/poky/2011-May/006362.html`
- :yocto_lists:`/pipermail/poky/2011-May/006363.html`
at this Yocto Project mailing list link:
:yocto_lists:`/g/poky/topic/61292484#msg6286`
.. _ref-classes-package_deb:
@@ -2689,7 +2686,7 @@ This class is intended to be inherited by individual recipes. However,
the class' functionality is largely disabled unless "ptest" appears in
:term:`DISTRO_FEATURES`. See the
":ref:`test-manual/ptest:testing packages with ptest`"
section in the Yocto Project Development Tasks Manual for more information
section in the Yocto Project Test Environment Manual for more information
on ptest.
.. _ref-classes-ptest-cargo:
@@ -2713,7 +2710,7 @@ have tests intended to be executed with ``gnome-desktop-testing``.
For information on setting up and running ptests, see the
":ref:`test-manual/ptest:testing packages with ptest`"
section in the Yocto Project Development Tasks Manual.
section in the Yocto Project Test Environment Manual.
.. _ref-classes-python3-dir:
@@ -3000,7 +2997,7 @@ Python version 3.x extensions that use build systems based on ``setuptools``
``pyproject.toml`` format). Unlike :ref:`ref-classes-setuptools3`,
this uses the traditional ``setup.py`` ``build`` and ``install`` commands and
not wheels. This use of ``setuptools`` like this is
`deprecated <https://github.com/pypa/setuptools/blob/main/CHANGES.rst#v5830>`__
`deprecated <https://github.com/pypa/setuptools/blob/14cc4452199818e60cf01cd9cea96e90761abce7/NEWS.rst#v5830>`__
but still relatively common.
.. _ref-classes-setuptools3-base:
@@ -3265,7 +3262,7 @@ the :term:`SYSTEMD_BOOT_CFG`,
:term:`SYSTEMD_BOOT_TIMEOUT` variables.
You can also see the `Systemd-boot
documentation <https://www.freedesktop.org/wiki/Software/systemd/systemd-boot/>`__
documentation <https://systemd.io/BOOT/>`__
for more information.
.. _ref-classes-terminal:

View File

@@ -105,7 +105,8 @@ attempt before any others by adding something like the following to the
git://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
ftp://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
http://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
https://.*/.* &YOCTO_DL_URL;/mirror/sources/"
https://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
"
These changes cause the build system to intercept Git, FTP, HTTP, and
HTTPS requests and direct them to the ``http://`` sources mirror. You
@@ -144,7 +145,8 @@ file as long as the :term:`PREMIRRORS` server is current::
git://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
ftp://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
http://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
https://.*/.* &YOCTO_DL_URL;/mirror/sources/"
https://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
"
BB_FETCH_PREMIRRORONLY = "1"
These changes would cause the build system to successfully fetch source

View File

@@ -208,7 +208,7 @@ metadata, as extra layers can define their own:
- *ptest:* Enables building the package tests where supported by
individual recipes. For more information on package tests, see the
":ref:`test-manual/ptest:testing packages with ptest`" section
in the Yocto Project Development Tasks Manual.
in the Yocto Project Test Environment Manual.
- *pulseaudio:* Include support for
`PulseAudio <https://www.freedesktop.org/wiki/Software/PulseAudio/>`__.
@@ -357,7 +357,7 @@ The image features available for all images are:
different package name (or names) within the image recipe or at the
distro configuration level.
- *stateless-rootfs:*: specifies that the image should be created as
- *stateless-rootfs:* specifies that the image should be created as
stateless - when using ``systemd``, ``systemctl-native`` will not
be run on the image, leaving the image for population at runtime by
systemd.

View File

@@ -37,10 +37,7 @@ Here is a list of supported recipes:
- ``build-appliance-image``: An example virtual machine that contains
all the pieces required to run builds using the build system as well
as the build system itself. You can boot and run the image using
either the `VMware
Player <https://www.vmware.com/products/player/overview.html>`__ or
`VMware
Workstation <https://www.vmware.com/products/workstation/overview.html>`__.
`VMware Workstation <https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion>`__.
For more information on this image, see the :yocto_home:`Build
Appliance </software-item/build-appliance>` page
on the Yocto Project website.

View File

@@ -151,8 +151,8 @@ upgrade to the following :term:`LTS` release.
The currently supported :term:`LTS` releases are:
- Version 6.0 ("Wrynose"), released in May 2026 and supported until April 2030.
- Version 5.0 ("Scarthgap"), released in April 2024 and supported until April 2028.
- Version 4.0 ("Kirkstone"), released in May 2022 and supported until May 2026.
See :yocto_wiki:`/Stable_Release_and_LTS` for details about the management
of stable and :term:`LTS` releases.

View File

@@ -658,7 +658,7 @@ When invoked by the user, this task creates a file containing the
differences between the original config as produced by
:ref:`ref-tasks-kernel_configme` task and the
changes made by the user with other methods (i.e. using
(:ref:`ref-tasks-kernel_menuconfig`). Once the
(:ref:`ref-tasks-menuconfig`). Once the
file of differences is created, it can be used to create a config
fragment that only contains the differences. You can invoke this task
from the command line as follows::
@@ -686,7 +686,7 @@ kernel with the correct branches checked out.
-------------------------
Validates the configuration produced by the
:ref:`ref-tasks-kernel_menuconfig` task. The
:ref:`ref-tasks-menuconfig` task. The
:ref:`ref-tasks-kernel_configcheck` task produces warnings when a requested
configuration does not appear in the final ``.config`` file or when you
override a policy configuration in a hardware configuration fragment.
@@ -711,26 +711,6 @@ passed to the kernel configuration phase proper. This is also the time
during which user-specified defconfigs are applied if present, and where
configuration modes such as ``--allnoconfig`` are applied.
.. _ref-tasks-kernel_menuconfig:
``do_kernel_menuconfig``
------------------------
Invoked by the user to manipulate the ``.config`` file used to build a
linux-yocto recipe. This task starts the Linux kernel configuration
tool, which you then use to modify the kernel configuration.
.. note::
You can also invoke this tool from the command line as follows::
$ bitbake linux-yocto -c menuconfig
See the ":ref:`kernel-dev/common:using ``menuconfig```"
section in the Yocto Project Linux Kernel Development Manual for more
information on this configuration tool.
.. _ref-tasks-kernel_metadata:
``do_kernel_metadata``
@@ -749,10 +729,19 @@ which can then be applied by subsequent tasks such as
``do_menuconfig``
-----------------
Runs ``make menuconfig`` for the kernel. For information on
``menuconfig``, see the
":ref:`kernel-dev/common:using ``menuconfig```"
section in the Yocto Project Linux Kernel Development Manual.
Invoked by the user to manipulate the ``.config`` file used to build a
linux-yocto recipe. This task starts the Linux kernel configuration
tool, which you then use to modify the kernel configuration.
You can invoke this tool from the command line as follows:
.. code-block:: console
$ bitbake linux-yocto -c menuconfig
See the ":ref:`kernel-dev/common:using ``menuconfig```"
section in the Yocto Project Linux Kernel Development Manual for more
information on this configuration tool.
.. _ref-tasks-savedefconfig:
@@ -763,7 +752,7 @@ When invoked by the user, creates a defconfig file that can be used
instead of the default defconfig. The saved defconfig contains the
differences between the default defconfig and the changes made by the
user using other methods (i.e. the
:ref:`ref-tasks-kernel_menuconfig` task. You
:ref:`ref-tasks-menuconfig` task. You
can invoke the task using the following command::
$ bitbake linux-yocto -c savedefconfig
@@ -785,22 +774,29 @@ can successfully build the kernel modules in the next step of the build.
``do_sizecheck``
----------------
After the kernel has been built, this task checks the size of the
stripped kernel image against
:term:`KERNEL_IMAGE_MAXSIZE`. If that
variable was set and the size of the stripped kernel exceeds that size,
the kernel build produces a warning to that effect.
If the variable :term:`KERNEL_IMAGE_MAXSIZE` is set, this task compares
the size of all stripped kernel images listed in :term:`KERNEL_IMAGETYPES`
against that value. If more than one image type is listed there, warn on
any that exceed that value, but fail only if none of them fit.
.. _ref-tasks-strip:
``do_strip``
------------
If ``KERNEL_IMAGE_STRIP_EXTRA_SECTIONS`` is defined, this task strips
If :term:`KERNEL_IMAGE_STRIP_EXTRA_SECTIONS` is defined, this task strips
the sections named in that variable from ``vmlinux``. This stripping is
typically used to remove nonessential sections such as ``.comment``
sections from a size-sensitive configuration.
Common sections to strip:
- ``.comment``: Holds compiler version strings and information
- ``.note.*``: Extra notes often left by the compiler
- ``.debug``: Debugging information
.. _ref-tasks-validate_branches:
``do_validate_branches``

View File

@@ -1463,6 +1463,11 @@ system and gives an overview of their function and contents.
:term:`CCACHE_DISABLE` variable can be set to "1" in a recipe to disable
`Ccache` support. This is useful when the recipe is known to not support it.
:term:`CCACHE_NATIVE_RECIPES_ALLOWED`
The :term:`CCACHE_NATIVE_RECIPES_ALLOWED` variable can be set in a
:term:`configuration file` to a list of native recipes that are allowed to
be optimized with the :ref:`ref-classes-ccache` class.
:term:`CCACHE_TOP_DIR`
When inheriting the :ref:`ref-classes-ccache` class, the
:term:`CCACHE_TOP_DIR` variable can be set to the location of where
@@ -1727,15 +1732,52 @@ system and gives an overview of their function and contents.
Where :term:`AUTOTOOLS_SCRIPT_PATH` is the location of the of the
Autotools build system scripts, which defaults to :term:`S`.
:term:`CONFLICT_COMBINED_FEATURES`
When inheriting the :ref:`ref-classes-features_check`
class, this variable identifies combined features (see
:term:`COMBINED_FEATURES` for what this means) that would be in conflict
should the recipe be built. In other words, if the
:term:`CONFLICT_COMBINED_FEATURES` variable lists a feature that also
appears in :term:`COMBINED_FEATURES` within the current configuration,
then the recipe will be skipped, and if the build system attempts to build
the recipe then an error will be triggered.
:term:`CONFLICT_DISTRO_FEATURES`
When inheriting the :ref:`ref-classes-features_check`
class, this variable identifies distribution features that would be
class, this variable identifies distro features that would be
in conflict should the recipe be built. In other words, if the
:term:`CONFLICT_DISTRO_FEATURES` variable lists a feature that also
appears in :term:`DISTRO_FEATURES` within the current configuration, then
the recipe will be skipped, and if the build system attempts to build
the recipe then an error will be triggered.
:term:`CONFLICT_IMAGE_FEATURES`
When inheriting the :ref:`ref-classes-features_check`
class, this variable identifies image features that would be
in conflict should the recipe be built. In other words, if the
:term:`CONFLICT_IMAGE_FEATURES` variable lists a feature that also
appears in :term:`IMAGE_FEATURES` within the current configuration, then
the recipe will be skipped, and if the build system attempts to build
the recipe then an error will be triggered.
:term:`CONFLICT_MACHINE_FEATURES`
When inheriting the :ref:`ref-classes-features_check`
class, this variable identifies machine features that would be
in conflict should the recipe be built. In other words, if the
:term:`CONFLICT_MACHINE_FEATURES` variable lists a feature that also
appears in :term:`MACHINE_FEATURES` within the current configuration, then
the recipe will be skipped, and if the build system attempts to build
the recipe then an error will be triggered.
:term:`CONFLICT_TUNE_FEATURES`
When inheriting the :ref:`ref-classes-features_check`
class, this variable identifies tune features that would be
in conflict should the recipe be built. In other words, if the
:term:`CONFLICT_TUNE_FEATURES` variable lists a feature that also
appears in :term:`TUNE_FEATURES` within the current configuration, then
the recipe will be skipped, and if the build system attempts to build
the recipe then an error will be triggered.
:term:`CONVERSION_CMD`
This variable is used for storing image conversion commands.
Image conversion can convert an image into different objects like:
@@ -3522,7 +3564,7 @@ system and gives an overview of their function and contents.
GROUPADD_PARAM:${PN} = "-g 880 group1; -g 890 group2"
For information on the standard Linux shell command
``groupadd``, see https://linux.die.net/man/8/groupadd.
``groupadd``, see :manpage:`groupadd(8)`.
:term:`GROUPMEMS_PARAM`
When inheriting the :ref:`ref-classes-useradd` class,
@@ -3946,6 +3988,21 @@ system and gives an overview of their function and contents.
or ``:prepend``. You must use the ``+=`` operator to add one or
more options to the :term:`IMAGE_FSTYPES` variable.
:term:`IMAGE_FSTYPES_DEBUGFS`
The :term:`IMAGE_FSTYPES_DEBUGFS` holds a list of filesystem image types
to generate when the :term:`IMAGE_GEN_DEBUGFS` variable is set to "1". The
content of this variable is the same as what is supported by the
:term:`IMAGE_FSTYPES` variable.
:term:`IMAGE_GEN_DEBUGFS`
When set to "1" in an :ref:`ref-classes-image` recipe, the
:term:`OpenEmbedded Build System` will generate a companion image that
contains the debug symbols and source code for the packages installed on
the image. The :term:`OpenEmbedded Build System` does this by adding all
the available ``-dbg`` and ``-src`` packages available in the package
feed, which are automatically generated during
:ref:`overview-manual/concepts:Package Splitting`.
:term:`IMAGE_INSTALL`
Used by recipes to specify the packages to install into an image
through the :ref:`ref-classes-image` class. Use the
@@ -5053,17 +5110,18 @@ system and gives an overview of their function and contents.
information.
:term:`KERNEL_IMAGE_MAXSIZE`
Specifies the maximum size of the kernel image file in kilobytes. If
:term:`KERNEL_IMAGE_MAXSIZE` is set, the size of the kernel image file is
checked against the set value during the
:ref:`ref-tasks-sizecheck` task. The task fails if
the kernel image file is larger than the setting.
Specifies the maximum allowable size of the kernel image file in kibibytes.
If this variable is set, the sizes of all of the kernel image files listed
in :term:`KERNEL_IMAGETYPES` are checked against this value during the
:ref:`ref-tasks-sizecheck` task. That task will warn about any of the
kernel images that exceed the maximum, and will fail only if all images
are too large.
:term:`KERNEL_IMAGE_MAXSIZE` is useful for target devices that have a
limited amount of space in which the kernel image must be stored.
By default, this variable is not set, which means the size of the
kernel image is not checked.
kernel images are not checked.
:term:`KERNEL_IMAGE_NAME`
The base name of the kernel image. This variable is set in the
@@ -5073,6 +5131,13 @@ system and gives an overview of their function and contents.
See :term:`KERNEL_ARTIFACT_NAME` for additional information.
:term:`KERNEL_IMAGE_STRIP_EXTRA_SECTIONS`
If this variable is set, it should contain the sections to be
stripped from the ``vmlinux`` image by the kernel-related
:ref:`ref-tasks-strip` task. As a simple example::
KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment .note.* .debug"
:term:`KERNEL_IMAGETYPE`
The type of kernel to build for a device, usually set by the machine
configuration files and defaults to "zImage". This variable is used
@@ -5510,6 +5575,19 @@ system and gives an overview of their function and contents.
$ uname -r
3.7.0-rc8-custom
:term:`LOCALE_PATHS`
The :term:`LOCALE_PATHS` variable holds a whitespace separated list of
paths that are scanned to construct ``-locale`` packages during
:ref:`overview-manual/concepts:Package Splitting`. The list
contains ``${datadir}/locale`` by default.
:term:`LOCALE_UTF8_IS_DEFAULT`
If set, locale names are renamed such that those lacking an explicit
encoding (e.g. ``en_US``) will always be UTF-8, and non-UTF-8 encodings
are renamed to, e.g., ``en_US.ISO-8859-1``. Otherwise, the encoding is
specified by `Glibc`'s ``SUPPORTED`` file. This is not supported for
pre-compiled locales.
:term:`LOG_DIR`
Specifies the directory to which the OpenEmbedded build system writes
overall log files. The default directory is ``${TMPDIR}/log``.
@@ -5828,7 +5906,7 @@ system and gives an overview of their function and contents.
See the :term:`KERNEL_MODULE_AUTOLOAD` variable for more information.
:term:`module_conf`
Specifies `modprobe.d <https://linux.die.net/man/5/modprobe.d>`__
Specifies :manpage:`modprobe.d(5)`
syntax lines for inclusion in the ``/etc/modprobe.d/modname.conf``
file.
@@ -6501,6 +6579,53 @@ system and gives an overview of their function and contents.
install, the build system does not generate an error. This variable
is generally not user-defined.
:term:`PACKAGE_NO_LOCALE`
The :term:`PACKAGE_NO_LOCALE` variable can be set to "1" to prevent the
:term:`OpenEmbedded Build System` from splitting the locales found in the
:term:`PKGD` directory into split packages.
For example, the ``quilt`` recipe automatically produces split packages
after the :ref:`ref-tasks-package` task is run. Taking a look inside the
:term:`WORKDIR` directory of ``quilt``:
.. code-block:: console
$ ls -1 packages-split/
guards
guards-doc
quilt
quilt-dbg
quilt-dev
quilt-doc
quilt-locale-de
quilt-locale-fr
quilt-locale-ja
quilt-locale-ru
quilt-ptest
quilt-src
quilt-staticdev
We can see the ``quilt-locale-*`` packages were automatically generated.
Setting :term:`PACKAGE_NO_LOCALE` to "1" would produce the following
packages:
.. code-block:: console
$ ls -1 packages-split/
guards
guards-doc
quilt
quilt-dbg
quilt-dev
quilt-doc
quilt-locale
quilt-ptest
quilt-src
quilt-staticdev
The ``quilt-locale`` package contains the merged content of the previous
``quilt-locale-*`` packages.
:term:`PACKAGE_PREPROCESS_FUNCS`
Specifies a list of functions run to pre-process the
:term:`PKGD` directory prior to splitting the files out
@@ -6648,6 +6773,12 @@ system and gives an overview of their function and contents.
:ref:`ref-tasks-configure` task, then you need to use
:term:`PACKAGECONFIG_CONFARGS` appropriately.
:term:`PACKAGEFUNCS`
The :term:`PACKAGEFUNCS` variable holds a list of functions which are
executed to process metadata based on split packages found in the
:term:`PKGDEST` directory. These functions are executed in the
:ref:`ref-classes-package` class in the order found in the list.
:term:`PACKAGEGROUP_DISABLE_COMPLEMENTARY`
For recipes inheriting the :ref:`ref-classes-packagegroup` class, setting
:term:`PACKAGEGROUP_DISABLE_COMPLEMENTARY` to "1" specifies that the
@@ -7101,7 +7232,8 @@ system and gives an overview of their function and contents.
git://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
ftp://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
http://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
https://.*/.* &YOCTO_DL_URL;/mirror/sources/"
https://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
"
These changes cause the
build system to intercept Git, FTP, HTTP, and HTTPS requests and
@@ -7281,6 +7413,167 @@ system and gives an overview of their function and contents.
QA_EMPTY_DIRS_RECOMMENDATION:/dev = "but all devices must be created at runtime"
:term:`QB_CMDLINE_IP_SLIRP`
If :term:`QB_NETWORK_DEVICE` adds more than one network interface to QEMU,
usually the ``ip=`` Linux kernel command line argument needs to be changed
accordingly. The :term:`QB_CMDLINE_IP_SLIRP` variable allows controlling
this value. See the Linux kernel documentation for more details:
https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt.
:term:`QB_CMDLINE_IP_TAP`
This variable is similar to the :term:`QB_CMDLINE_IP_SLIRP` variable.
Use as follows::
QB_CMDLINE_IP_TAP = "ip=192.168.7.@CLIENT@::192.168.7.@GATEWAY@:255.255.255.0::eth0"
Since the tap interface requires static IP configuration, ``runqemu``
replaces the ``@CLIENT@`` and ``@GATEWAY@`` place holders by the IP and
the gateway address of the QEMU guest.
:term:`QB_DEFAULT_BIOS`
The :term:`QB_DEFAULT_BIOS` variable can be used to provide a default
value for the path of a file located in :term:`DEPLOY_DIR_IMAGE` and
used by ``runqemu`` to specify the `-bios <https://www.qemu.org/docs/master/system/invocation.html#hxtool-8>`__
option of QEMU. For example, this variable can be set as follows to
emulate U-Boot for the :oecore_path:`qemuarm64 <meta/conf/machine/qemuarm64.conf>`
machine::
QB_DEFAULT_BIOS = "u-boot.bin"
The above example makes the assumption the U-Boot recipe was built
and that the ``u-boot.bin`` is deployed in the :term:`DEPLOY_DIR_IMAGE`
directory.
.. note::
When using ``runqemu``, the ``BIOS`` environment variable takes
precedence over this variable.
:term:`QB_DEFAULT_FSTYPE`
The :term:`QB_DEFAULT_FSTYPE` variable controls the default filesystem
type to boot. It is represented as the file extension of one of the root
filesystem image extension found in :term:`DEPLOY_DIR_IMAGE`. For example:
``ext4.zst``.
:term:`QB_DEFAULT_KERNEL`
When using ``runqemu``, the :term:`QB_DEFAULT_KERNEL` variable controls
the default Linux kernel image to boot, found in :term:`DEPLOY_DIR_IMAGE`. For
example: ``bzImage``.
:term:`QB_DRIVE_TYPE`
When using ``runqemu``, the :term:`QB_DRIVE_TYPE` variable specifies the
type of drive to emulate when starting the emulated machine.
Valid values are:
- ``/dev/hd``: emulates an IDE drive.
- ``/dev/mmcblk``: emulates an SD Card.
- ``/dev/sd``: emulates an SCSI drive.
- ``/dev/vd``: emulates a VirtIO drive.
- ``/dev/vdb``: emulates a block VirtIO drive.
:term:`QB_GRAPHICS`
When using ``runqemu``, the :term:`QB_GRAPHICS` variable controls the QEMU
video card type to emulate. For example: ``-vga std``.
This value is appended to the argument list when running ``qemu``.
:term:`QB_KERNEL_CMDLINE_APPEND`
The :term:`QB_KERNEL_CMDLINE_APPEND` variable controls the options passed
to the Linux kernel's ``-append`` QEMU options, which controls the Linux kernel
command-line.
For example::
QB_KERNEL_CMDLINE_APPEND = "console=ttyS0"
:term:`QB_MEM`
The :term:`QB_MEM` variable controls the amount of memory allocated to the
emulated machine. Specify as follows::
QB_MEM = "-m 512"
:term:`QB_NETWORK_DEVICE`
When using ``runqemu``, the :term:`QB_NETWORK_DEVICE` variable controls
the network device instantiated by QEMU. This value needs to be compatible
with the :term:`QB_TAP_OPT` variable.
Example::
QB_NETWORK_DEVICE = "-device virtio-net-pci,netdev=net0,mac=@MAC@"
``runqemu`` replaces ``@MAC@`` with a predefined mac address.
:term:`QB_NFSROOTFS_EXTRA_OPT`
When using ``runqemu``, the :term:`QB_NFSROOTFS_EXTRA_OPT` variable
controls extra options to be appended to the NFS rootfs options in the
Linux kernel command-line.
For example::
QB_NFSROOTFS_EXTRA_OPT = "wsize=4096,rsize=4096"
:term:`QB_OPT_APPEND`
When using ``runqemu``, the :term:`QB_OPT_APPEND` variable controls
general options to append to QEMU when starting.
:term:`QB_RNG`
When using ``runqemu``, the :term:`QB_RNG` variable controls
pass-through for host random number generator, it can speedup boot
in system mode, where system is experiencing entropy starvation.
For example::
QB_RNG = "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
:term:`QB_ROOTFS_EXTRA_OPT`
When using ``runqemu``, the :term:`QB_ROOTFS_EXTRA_OPT` variable controls
extra options to be appended to the rootfs device options.
:term:`QB_SERIAL_OPT`
When using ``runqemu``, the :term:`QB_SERIAL_OPT` variable controls the
serial port option.
For example::
QB_SERIAL_OPT = "-serial mon:stdio"
:term:`QB_SMP`
When using ``runqemu``, the :term:`QB_SMP` variable controls
amount of CPU cores made availalble inside the QEMU guest, each mapped to
a thread on the host.
For example::
QB_SMP = "-smp 8".
:term:`QB_TAP_OPT`
When using ``runqemu``, the :term:`QB_TAP_OPT` variable controls
the network option for "tap" mode.
For example::
QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
Note that ``runqemu`` will replace ``@TAP@`` with the tap interface in
use, such as ``tap0``, ``tap1``, etc.
:term:`RANLIB`
The minimal command and arguments to run :manpage:`ranlib <ranlib(1)>`.
@@ -9827,7 +10120,8 @@ system and gives an overview of their function and contents.
For background information on cross-development toolchains in the
Yocto Project development environment, see the
":ref:`sdk-manual/intro:the cross-development toolchain`"
section in the Yocto Project Overview and Concepts Manual. For
section in the Yocto Project Application Development and Software
Development Kits (SDK/eSDK) Manual. For
information on setting up a cross-development environment, see the
:doc:`/sdk-manual/index` manual.
@@ -9875,7 +10169,8 @@ system and gives an overview of their function and contents.
For background information on cross-development toolchains in the
Yocto Project development environment, see the
":ref:`sdk-manual/intro:the cross-development toolchain`"
section in the Yocto Project Overview and Concepts Manual. For
section in the Yocto Project Application Development and Software
Development Kits (SDK/eSDK) Manual. For
information on setting up a cross-development environment, see the
:doc:`/sdk-manual/index` manual.
@@ -10500,7 +10795,7 @@ system and gives an overview of their function and contents.
For information on the
standard Linux shell command ``useradd``, see
https://linux.die.net/man/8/useradd.
:manpage:`useradd(8)`.
:term:`USERADD_UID_TABLES`
Specifies a password file to use for obtaining static user

View File

@@ -96,8 +96,7 @@ build the SDK installer. Follow these steps:
#. *Set Up the Build Environment:* Be sure you are set up to use BitBake
in a shell. See the ":ref:`dev-manual/start:preparing the build host`" section
in the Yocto Project Development Tasks Manual for information on how
to get a build host ready that is either a native Linux machine or a
machine that uses CROPS.
to get a :term:`build host` ready.
#. *Clone the ``poky`` Repository:* You need to have a local copy of the
Yocto Project :term:`Source Directory`

View File

@@ -103,6 +103,10 @@ em {
background: #f8f8f8;
}
section#welcome-to-the-yocto-project-documentation p.caption {
display: none;
}
@media screen {
.wy-nav-content {
max-width: 1000px;

View File

@@ -141,7 +141,7 @@ the following types of tests:
built by the OpenEmbedded build system on the target machine. See the
:ref:`Testing Packages With
ptest <test-manual/ptest:Testing Packages With ptest>` section
in the Yocto Project Development Tasks Manual and the
in the Yocto Project Test Environment Manual and the
":yocto_wiki:`Ptest </Ptest>`" Wiki page for more
information on Ptest.

View File

@@ -1,6 +1,6 @@
DISTRO = "poky"
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
DISTRO_VERSION = "5.0.19"
DISTRO_VERSION = "5.0.20"
DISTRO_CODENAME = "scarthgap"
SDK_VENDOR = "-pokysdk"
SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}"

View File

@@ -468,8 +468,7 @@ PACKAGEFUNCS += " \
package_do_shlibs \
package_do_pkgconfig \
read_shlibdeps \
package_depchains \
emit_pkgdata"
package_depchains"
python do_package () {
# Change the following version to cause sstate to invalidate the package
@@ -561,9 +560,13 @@ python do_package () {
for file in files:
pkgfiles[pkg].append(walkroot + os.sep + file)
# We want emit_pkgdata to run last, after everything
for f in (d.getVar('PACKAGEFUNCS') or '').split():
bb.build.exec_func(f, d)
bb.build.exec_func("emit_pkgdata", d)
oe.qa.exit_if_errors(d)
}

View File

@@ -36,7 +36,8 @@ def get_crates(f):
crates_candidates = list(filter(lambda c: 'crates.io' in c.get('source', ''), crates['package']))
if not crates_candidates:
raise ValueError("Unable to find any candidate crates that use crates.io")
print("WARNING: Unable to find any candidate crates that use crates.io")
return None
# Update crates uri and their checksum, to avoid name clashing on the checksum
# we need to rename crates with name and version to have a unique key
@@ -63,14 +64,11 @@ for root, dirs, files in os.walk('${CARGO_LOCK_SRC_DIR}'):
continue
for file in files:
if file == 'Cargo.lock':
try:
cargo_lock_path = os.path.join(root, file)
crates += get_crates(os.path.join(root, file))
except Exception as e:
raise ValueError("Cannot parse '%s'" % cargo_lock_path) from e
else:
found = True
if not found:
cargo_lock_path = os.path.join(root, file)
c = get_crates(cargo_lock_path)
if c is not None:
crates += c
if crates is None:
raise ValueError("Unable to find any Cargo.lock in ${CARGO_LOCK_SRC_DIR}")
open("${TARGET_FILE}", 'w').write(crates)
EOF

View File

@@ -71,7 +71,7 @@ python do_create_image_sbom_spdx() {
}
addtask do_create_image_sbom_spdx after do_create_rootfs_spdx do_create_image_spdx before do_build
SSTATETASKS += "do_create_image_sbom_spdx"
SSTATE_SKIP_CREATION:task-create-image-sbom = "1"
SSTATE_SKIP_CREATION:task-create-image-sbom-spdx = "1"
do_create_image_sbom_spdx[sstate-inputdirs] = "${SPDXIMAGEDEPLOYDIR}"
do_create_image_sbom_spdx[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}"
do_create_image_sbom_spdx[stamp-extra-info] = "${MACHINE_ARCH}"

View File

@@ -294,7 +294,7 @@ def get_deployed_files(man_file):
dep_files.append(os.path.basename(f))
return dep_files
ROOTFS_POSTPROCESS_COMMAND:prepend = "write_package_manifest license_create_manifest "
ROOTFS_POSTUNINSTALL_COMMAND:prepend = "write_package_manifest license_create_manifest "
do_rootfs[recrdeptask] += "do_populate_lic"
python do_populate_lic_deploy() {

View File

@@ -10,4 +10,4 @@ deltask do_create_spdx_runtime
deltask do_create_package_spdx
deltask do_create_rootfs_spdx
deltask do_create_image_spdx
deltask do_create_image_sbom
deltask do_create_image_sbom_spdx

View File

@@ -229,7 +229,7 @@ python vex_write_rootfs_manifest () {
bb.plain("Image VEX JSON report stored in: %s" % manifest_name)
}
ROOTFS_POSTPROCESS_COMMAND:prepend = "vex_write_rootfs_manifest; "
ROOTFS_POSTUNINSTALL_COMMAND:prepend = "vex_write_rootfs_manifest "
do_rootfs[recrdeptask] += "do_generate_vex "
do_populate_sdk[recrdeptask] += "do_generate_vex "

View File

@@ -19,6 +19,8 @@ PACKAGECONFIG ??= "openssl"
# a host build dependency.
PACKAGECONFIG[openssl] = ",,openssl-native"
CVE_PRODUCT = "denx:u-boot"
# Allow setting an additional version string that will be picked up by the
# u-boot build system and appended to the u-boot version. If the .scmversion
# file already exists it will not be overwritten.

View File

@@ -20,7 +20,7 @@ SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \
file://0001-avoid-start-failure-with-bind-user.patch \
"
SRC_URI[sha256sum] = "81f5035a25c576af1a93f0061cf70bde6d00a0c7bd1274abf73f5b5389a6f82d"
SRC_URI[sha256sum] = "c43ce4548ebed788cd9df63658a7de105ceafba43fcd63fa352b1093e525cd24"
UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
# follow the ESV versions divisible by 2

View File

@@ -15,6 +15,9 @@ SRC_URI = "git://github.com/NetworkConfiguration/dhcpcd;protocol=https;branch=ma
file://dhcpcd.service \
file://dhcpcd@.service \
file://0001-dhcpcd.8-Fix-conflict-error-when-enable-multilib.patch \
file://CVE-2026-56113.patch \
file://CVE-2026-56114.patch \
file://CVE-2026-56117.patch \
"
SRCREV = "1c8ae59836fa87b4c63c598087f0460ec20ed862"

View File

@@ -0,0 +1,92 @@
From 9f953ada0df6e7a568f006f3ae0ff10a77a95924 Mon Sep 17 00:00:00 2001
From: Roy Marples <roy@marples.name>
Date: Tue, 23 Jun 2026 02:17:10 +0100
Subject: [PATCH] DHCPv6: When deprecating addresses, restart on prefix
deletions
As that might invalidate the next address to iterate on.
Reported-by: CuB3y0nd <root@cubeyond.net>
(cherry picked from commit 5733d3c59a5651f64357ac11c98b4f39895c8d25)
CVE: CVE-2026-56113
Upstream-Status: Backport [https://github.com/NetworkConfiguration/dhcpcd/commit/5733d3c59a5651f64357ac11c98b4f39895c8d25]
Signed-off-by: Theo Gaige (Schneider Electric) <tgaige.opensource@witekio.com>
---
src/dhcp6.c | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/src/dhcp6.c b/src/dhcp6.c
index bdc3664e..5154bf41 100644
--- a/src/dhcp6.c
+++ b/src/dhcp6.c
@@ -2480,12 +2480,13 @@ dhcp6_findia(struct interface *ifp, struct dhcp6_message *m, size_t l,
}
#ifndef SMALL
-static void
+static bool
dhcp6_deprecatedele(struct ipv6_addr *ia)
{
struct ipv6_addr *da, *dan, *dda;
struct timespec now;
struct dhcp6_state *state;
+ bool freed = false;
timespecclear(&now);
TAILQ_FOREACH_SAFE(da, &ia->pd_pfxs, pd_next, dan) {
@@ -2511,11 +2512,14 @@ dhcp6_deprecatedele(struct ipv6_addr *ia)
if (IN6_ARE_ADDR_EQUAL(&dda->addr, &da->addr))
break;
}
- if (dda != NULL) {
+ if (dda != ia && dda != NULL) {
TAILQ_REMOVE(&state->addrs, dda, next);
ipv6_freeaddr(dda);
+ freed = true;
}
}
+
+ return freed;
}
#endif
@@ -2523,7 +2527,11 @@ static void
dhcp6_deprecateaddrs(struct ipv6_addrhead *addrs)
{
struct ipv6_addr *ia, *ian;
+#ifndef SMALL
+ bool again;
+#endif
+again:
TAILQ_FOREACH_SAFE(ia, addrs, next, ian) {
if (ia->flags & IPV6_AF_EXTENDED)
;
@@ -2545,7 +2553,9 @@ dhcp6_deprecateaddrs(struct ipv6_addrhead *addrs)
/* If we delegated from this prefix, deprecate or remove
* the delegations. */
if (ia->flags & IPV6_AF_DELEGATEDPFX)
- dhcp6_deprecatedele(ia);
+ again = dhcp6_deprecatedele(ia);
+ else
+ again = false;
#endif
if (ia->flags & IPV6_AF_REQUEST) {
@@ -2558,6 +2568,11 @@ dhcp6_deprecateaddrs(struct ipv6_addrhead *addrs)
if (ia->flags & IPV6_AF_EXTENDED)
ipv6_deleteaddr(ia);
ipv6_freeaddr(ia);
+#ifndef SMALL
+ /* Deletion may invalidate the next pointer so restart */
+ if (again)
+ goto again;
+#endif
}
}
--
2.43.0

View File

@@ -0,0 +1,34 @@
From fd86ded940524f60174582faa96f583c168589ef Mon Sep 17 00:00:00 2001
From: Roy Marples <roy@marples.name>
Date: Tue, 23 Jun 2026 02:06:55 +0100
Subject: [PATCH] DHCPv6: Prefix exclude option can be 17 octets (#671)
Well that's a simple off by one error
Reported-by: CuB3y0nd <root@cubeyond.net>
(cherry picked from commit 2f00c7bfc408b6582d331932dfa47829c4819029)
CVE: CVE-2026-56114
Upstream-Status: Backport [https://github.com/NetworkConfiguration/dhcpcd/commit/2f00c7bfc408b6582d331932dfa47829c4819029]
Signed-off-by: Theo Gaige (Schneider Electric) <tgaige.opensource@witekio.com>
---
src/dhcp6.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/dhcp6.c b/src/dhcp6.c
index 5154bf41..1eac9f23 100644
--- a/src/dhcp6.c
+++ b/src/dhcp6.c
@@ -1006,7 +1006,7 @@ dhcp6_makemessage(struct interface *ifp)
/* RFC6603 Section 4.2 */
if (ap->prefix_exclude_len) {
- uint8_t exb[16], *ep, u8;
+ uint8_t exb[17], *ep, u8;
const uint8_t *pp;
n = (size_t)((ap->prefix_exclude_len -
--
2.43.0

View File

@@ -0,0 +1,167 @@
From 52e0746deeace02b0ea039441d6cdc58f026018d Mon Sep 17 00:00:00 2001
From: Roy Marples <roy@marples.name>
Date: Mon, 22 Jun 2026 23:41:53 +0100
Subject: [PATCH] control: Avoid hangup in the recvdata path
Instead return an error and bubble it up where it can be
hangup / freed more cleanly.
Reported-by: CuB3y0nd <root@cubeyond.net>
(cherry picked from commit 78ea09ed1633a583dbcde6e7bab9df4639ec8a34)
CVE: CVE-2026-56117
Upstream-Status: Backport [https://github.com/NetworkConfiguration/dhcpcd/commit/78ea09ed1633a583dbcde6e7bab9df4639ec8a34]
Signed-off-by: Theo Gaige (Schneider Electric) <tgaige.opensource@witekio.com>
---
src/control.c | 47 ++++++++++++++++++++++++-------------------
src/control.h | 2 +-
src/privsep-control.c | 7 ++++++-
3 files changed, 33 insertions(+), 23 deletions(-)
diff --git a/src/control.c b/src/control.c
index 17fd13aa..20480f69 100644
--- a/src/control.c
+++ b/src/control.c
@@ -115,10 +115,8 @@ control_handle_read(struct fd_list *fd)
bytes = read(fd->fd, buffer, sizeof(buffer) - 1);
if (bytes == -1)
logerr(__func__);
- if (bytes == -1 || bytes == 0) {
- control_hangup(fd);
- return -1;
- }
+ if (bytes == -1 || bytes == 0)
+ return (int)bytes;
#ifdef PRIVSEP
if (IN_PRIVSEP(fd->ctx)) {
@@ -134,15 +132,13 @@ control_handle_read(struct fd_list *fd)
if (err == 1 &&
ps_ctl_sendargs(fd, buffer, (size_t)bytes) == -1) {
logerr(__func__);
- control_free(fd);
return -1;
}
- return 0;
+ return 1;
}
#endif
- control_recvdata(fd, buffer, (size_t)bytes);
- return 0;
+ return control_recvdata(fd, buffer, (size_t)bytes);
}
static int
@@ -205,23 +201,31 @@ static void
control_handle_data(void *arg, unsigned short events)
{
struct fd_list *fd = arg;
+ int err;
if (!(events & (ELE_READ | ELE_WRITE | ELE_HANGUP)))
logerrx("%s: unexpected event 0x%04x", __func__, events);
if (events & ELE_WRITE && !(events & ELE_HANGUP)) {
- if (control_handle_write(fd) == -1)
- return;
+ err = control_handle_write(fd);
+ if (err == -1)
+ goto hangup;
}
if (events & ELE_READ) {
- if (control_handle_read(fd) == -1)
- return;
+ err = control_handle_read(fd);
+ if (err == -1 || err == 0)
+ goto hangup;
}
if (events & ELE_HANGUP)
- control_hangup(fd);
+ goto hangup;
+
+ return;
+
+hangup:
+ control_hangup(fd);
}
-void
+int
control_recvdata(struct fd_list *fd, char *data, size_t len)
{
char *p = data, *e;
@@ -243,12 +247,13 @@ control_recvdata(struct fd_list *fd, char *data, size_t len)
if (e == NULL) {
errno = EINVAL;
logerrx("%s: no terminator", __func__);
- return;
+ return -1;
}
- if ((size_t)argc >= sizeof(argvp) / sizeof(argvp[0])) {
+ if ((size_t)argc + 1 >=
+ sizeof(argvp) / sizeof(argvp[0])) {
errno = ENOBUFS;
logerrx("%s: no arg buffer", __func__);
- return;
+ return -1;
}
*ap++ = p;
argc++;
@@ -268,12 +273,12 @@ control_recvdata(struct fd_list *fd, char *data, size_t len)
*ap = NULL;
if (dhcpcd_handleargs(fd->ctx, fd, argc, argvp) == -1) {
logerr(__func__);
- if (errno != EINTR && errno != EAGAIN) {
- control_free(fd);
- return;
- }
+ if (errno != EINTR && errno != EAGAIN)
+ return -1;
}
}
+
+ return 1;
}
struct fd_list *
diff --git a/src/control.h b/src/control.h
index f5e2bc7e..c5511dd7 100644
--- a/src/control.h
+++ b/src/control.h
@@ -75,5 +75,5 @@ struct fd_list *control_new(struct dhcpcd_ctx *, int, unsigned int);
void control_free(struct fd_list *);
void control_delete(struct fd_list *);
int control_queue(struct fd_list *, void *, size_t);
-void control_recvdata(struct fd_list *fd, char *, size_t);
+int control_recvdata(struct fd_list *fd, char *, size_t);
#endif
diff --git a/src/privsep-control.c b/src/privsep-control.c
index 40bfb164..954126c0 100644
--- a/src/privsep-control.c
+++ b/src/privsep-control.c
@@ -108,6 +108,7 @@ ps_ctl_dispatch(void *arg, struct ps_msghdr *psm, struct msghdr *msg)
struct iovec *iov = msg->msg_iov;
struct fd_list *fd;
unsigned int fd_flags = FD_SENDLEN;
+ int err;
switch (psm->ps_flags) {
case PS_CTL_PRIV:
@@ -131,7 +132,11 @@ ps_ctl_dispatch(void *arg, struct ps_msghdr *psm, struct msghdr *msg)
if (fd == NULL)
return -1;
ctx->ps_control_client = fd;
- control_recvdata(fd, iov->iov_base, iov->iov_len);
+ err = control_recvdata(fd, iov->iov_base, iov->iov_len);
+ if (err == -1 || err == 0) {
+ control_free(fd);
+ ctx->ps_control_client = NULL;
+ }
break;
case PS_CTL_EOF:
ctx->ps_control_client = NULL;
--
2.43.0

View File

@@ -14,7 +14,7 @@ Reported by Christos Papakonstantinou of Cantina and Spearbit.
OpenBSD-Commit-ID: c790e2687c35989ae34a00e709be935c55b16a86
CVE: CVE-2026-35387
CVE: CVE-2026-35414 CVE-2026-35387
Upstream-Status: Backport [https://github.com/openssh/openssh-portable/commit/fd1c7e131f331942d20f42f31e79912d570081fa]
Signed-off-by: Theo Gaige (Schneider Electric) <tgaige.opensource@witekio.com>
---

View File

@@ -0,0 +1,42 @@
From b340eaa274a7e7dffea03bcb62169249bbddab37 Mon Sep 17 00:00:00 2001
From: "djm@openbsd.org" <djm@openbsd.org>
Date: Mon, 29 Jun 2026 01:47:21 +0000
Subject: [PATCH] upstream: avoid download to server-controlled path when
performing
download on the commandline. From Swival scanner
CVE: CVE-2026-59995
Upstream-Status: Backport [https://github.com/openssh/openssh-portable/commit/1b39f39657d2e58f8ec57341581a39bbf0be645b]
Backport Changes:
- Retained the Scarthgap sftp.c OpenBSD revision identifier because the
10.4 identifier does not describe the older source baseline.
OpenBSD-Commit-ID: d1b2c44305fdfe6d51eed9ecc727e59478bf311f
(cherry picked from commit 1b39f39657d2e58f8ec57341581a39bbf0be645b)
Signed-off-by: Devansh Patel <devanshp@cisco.com>
---
sftp.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/sftp.c b/sftp.c
index c609b4153..487e53976 100644
--- a/sftp.c
+++ b/sftp.c
@@ -2268,13 +2268,8 @@ interactive_loop(struct sftp_conn *conn, char *file1, char *file2)
return (-1);
}
} else {
- /* XXX this is wrong wrt quoting */
- snprintf(cmd, sizeof cmd, "get%s %s%s%s",
- global_aflag ? " -a" : "", dir,
- file2 == NULL ? "" : " ",
- file2 == NULL ? "" : file2);
- err = parse_dispatch_command(conn, cmd,
- &remote_path, startdir, 1, 0);
+ err = process_get(conn, dir, file2, remote_path, 0, 0,
+ global_aflag, 0);
free(dir);
free(startdir);
free(remote_path);

View File

@@ -0,0 +1,37 @@
From 762b3d438547893d62ce3e147dce6cef14697b09 Mon Sep 17 00:00:00 2001
From: "djm@openbsd.org" <djm@openbsd.org>
Date: Sun, 28 Jun 2026 23:47:16 +0000
Subject: [PATCH] upstream: resist that return ".." via remote glob during
remote/remote copies, similar to fixes for bz3871 for remote/local copies.
From Swival scanner
CVE: CVE-2026-59996
Upstream-Status: Backport [https://github.com/openssh/openssh-portable/commit/36480181fa22f98e180b4f9e10203480c0346c78]
Backport Changes:
- Retained the Scarthgap scp.c OpenBSD revision identifier because the
10.4 identifier does not describe the older source baseline.
OpenBSD-Commit-ID: c0c20a1b746db55c08e53658bf21ea9405b300a5
(cherry picked from commit 36480181fa22f98e180b4f9e10203480c0346c78)
Signed-off-by: Devansh Patel <devanshp@cisco.com>
---
scp.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/scp.c b/scp.c
index 2c21fa19a..00d87517d 100644
--- a/scp.c
+++ b/scp.c
@@ -2043,6 +2043,10 @@ throughlocal_sftp(struct sftp_conn *from, struct sftp_conn *to,
goto out;
}
+ /* Special handling for source of '..' */
+ if (strcmp(filename, "..") == 0)
+ filename = "."; /* Download to dest, not dest/.. */
+
if (targetisdir)
abs_dst = sftp_path_append(target, filename);
else

View File

@@ -0,0 +1,58 @@
From 3011cbb6bb73f3f3dc90fa1d48736803fa407509 Mon Sep 17 00:00:00 2001
From: "djm@openbsd.org" <djm@openbsd.org>
Date: Fri, 5 Jun 2026 08:53:07 +0000
Subject: [PATCH] upstream: pass >9 commandline arguments to the internal-sftp
server,
previously they were silently dropped; reported by Steve Caffrey ok deraadt@
CVE: CVE-2026-59997
Upstream-Status: Backport [https://github.com/openssh/openssh-portable/commit/e9916c44c1324ab9ab022719e4df08a390a83014]
Backport Changes:
- Retained the Scarthgap session.c OpenBSD revision identifier because the
10.4 identifier does not describe the older source baseline.
OpenBSD-Commit-ID: ee6cd5430a3ca027c3223af54b58ad3cc7ccd624
(cherry picked from commit e9916c44c1324ab9ab022719e4df08a390a83014)
Signed-off-by: Devansh Patel <devanshp@cisco.com>
---
session.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/session.c b/session.c
index eb932b8bf..1a01ecf74 100644
--- a/session.c
+++ b/session.c
@@ -1650,21 +1650,22 @@ do_child(struct ssh *ssh, Session *s, const char *command)
exit(1);
} else if (s->is_subsystem == SUBSYSTEM_INT_SFTP) {
extern int optind, optreset;
- int i;
- char *p, *args;
+ int sftp_argc;
+ char **sftp_argv;
setproctitle("%s@%s", s->pw->pw_name, INTERNAL_SFTP_NAME);
- args = xstrdup(command ? command : "sftp-server");
- for (i = 0, (p = strtok(args, " ")); p; (p = strtok(NULL, " ")))
- if (i < ARGV_MAX - 1)
- argv[i++] = p;
- argv[i] = NULL;
+ if (argv_split(command == NULL ? "sftp-server" : command,
+ &sftp_argc, &sftp_argv, 1) != 0) {
+ error("internal error: can't split internal-sftp "
+ "arguments");
+ exit(1);
+ }
optind = optreset = 1;
- __progname = argv[0];
+ __progname = sftp_argv[0];
#ifdef WITH_SELINUX
ssh_selinux_change_context("sftpd_t");
#endif
- exit(sftp_server_main(i, argv, s->pw));
+ exit(sftp_server_main(sftp_argc, sftp_argv, s->pw));
}
fflush(NULL);

View File

@@ -0,0 +1,36 @@
From 1c719fa7d0fb0aa335f0e8d5db5d5e5d01c894e5 Mon Sep 17 00:00:00 2001
From: "djm@openbsd.org" <djm@openbsd.org>
Date: Sun, 31 May 2026 04:47:29 +0000
Subject: [PATCH] upstream: DisableForwarding=yes didn't override
PermitTunnel=yes
Reported independently by Huzaifa Sidhpurwala of Redhat and Marko
Jevtic; ok markus@
CVE: CVE-2026-59999
Upstream-Status: Backport [https://github.com/openssh/openssh-portable/commit/8dfe7ed6e2fd988de08df508355a196b956b2753]
Backport Changes:
- Retained the Scarthgap serverloop.c OpenBSD revision identifier because
the 10.4 identifier does not describe the older source baseline.
OpenBSD-Commit-ID: b5c13f0746cf079b21f8deba47407fad49ccbf4c
(cherry picked from commit 8dfe7ed6e2fd988de08df508355a196b956b2753)
Signed-off-by: Devansh Patel <devanshp@cisco.com>
---
serverloop.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/serverloop.c b/serverloop.c
index f3683c2e4..c1fe99d12 100644
--- a/serverloop.c
+++ b/serverloop.c
@@ -531,7 +531,7 @@ server_request_tun(struct ssh *ssh)
ssh_packet_send_debug(ssh, "Unsupported tunnel device mode.");
return NULL;
}
- if ((options.permit_tun & mode) == 0) {
+ if ((options.permit_tun & mode) == 0 || options.disable_forwarding) {
ssh_packet_send_debug(ssh, "Server has rejected tunnel device "
"forwarding");
return NULL;

View File

@@ -0,0 +1,140 @@
From 055316632809a2e2e58eac2020699b52187d1b11 Mon Sep 17 00:00:00 2001
From: "djm@openbsd.org" <djm@openbsd.org>
Date: Mon, 6 Jul 2026 07:53:30 +0000
Subject: [PATCH] upstream: Fix multiple RFC 4462 (GSSAPIAuthentication)
compliance
problems
1) Remove an early failure return for GSSAPI authentication attempts
made for invalid accounts that yielded different behaviour for
valid vs invalid accounts.
2) Fix a situation where some GSSAPI requestes were not correctly
subjected to MaxAuthTries.
3) Fix a moderate pre-authentication resource DoS related to #2.
Add missing logging for error cases.
Report and fixes from Manfred Kaiser, milCERT AT
CVE: CVE-2026-60000
Upstream-Status: Backport [https://github.com/openssh/openssh-portable/commit/5d04ca6af739b82fd30d84d2783ca802ebfa1192]
Backport Changes:
- Kept Scarthgap's PRIVSEP(ssh_gssapi_server_ctx()) interface and its
authentication-context guard while applying the upstream RFC 4462 state,
failure, logging, and MaxAuthTries changes.
- Retained the Scarthgap auth2-gss.c OpenBSD revision identifier.
OpenBSD-Commit-ID: ca0acdd64eea435d6f89534538a9eb404a5629d3
(cherry picked from commit 5d04ca6af739b82fd30d84d2783ca802ebfa1192)
Signed-off-by: Devansh Patel <devanshp@cisco.com>
---
auth2-gss.c | 53 ++++++++++++++++++++++++-----------------------------
1 file changed, 24 insertions(+), 29 deletions(-)
diff --git a/auth2-gss.c b/auth2-gss.c
index 195578bcf..6846eae5b 100644
--- a/auth2-gss.c
+++ b/auth2-gss.c
@@ -110,12 +110,6 @@ userauth_gssapi(struct ssh *ssh, const char *method)
return (0);
}
- if (!authctxt->valid || authctxt->user == NULL) {
- debug2_f("disabled because of invalid user");
- free(doid);
- return (0);
- }
-
if (GSS_ERROR(PRIVSEP(ssh_gssapi_server_ctx(&ctxt, &goid)))) {
if (ctxt != NULL)
ssh_gssapi_delete_ctx(&ctxt);
@@ -177,8 +171,14 @@ input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh)
(r = sshpkt_send(ssh)) != 0)
fatal_fr(r, "send ERRTOK packet");
}
+ logit("Failed gssapi-with-mic for %s%.100s "
+ "from %.200s port %d ssh2",
+ authctxt->valid ? "" : "invalid user ",
+ authctxt->user,
+ ssh_remote_ipaddr(ssh), ssh_remote_port(ssh));
authctxt->postponed = 0;
ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_TOKEN, NULL);
+ ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_ERRTOK, NULL);
userauth_finish(ssh, 0, "gssapi-with-mic", NULL);
} else {
if (send_tok.length != 0) {
@@ -190,14 +190,18 @@ input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh)
fatal_fr(r, "send TOKEN packet");
}
if (maj_status == GSS_S_COMPLETE) {
- ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_TOKEN, NULL);
- if (flags & GSS_C_INTEG_FLAG)
- ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_MIC,
+ ssh_dispatch_set(ssh,
+ SSH2_MSG_USERAUTH_GSSAPI_TOKEN, NULL);
+ /* note: keep ERRTOK handler as per RFC 4462 s3.4 */
+ if (flags & GSS_C_INTEG_FLAG) {
+ ssh_dispatch_set(ssh,
+ SSH2_MSG_USERAUTH_GSSAPI_MIC,
&input_gssapi_mic);
- else
+ } else {
ssh_dispatch_set(ssh,
SSH2_MSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETE,
&input_gssapi_exchange_complete);
+ }
}
}
@@ -209,10 +213,6 @@ static int
input_gssapi_errtok(int type, u_int32_t plen, struct ssh *ssh)
{
Authctxt *authctxt = ssh->authctxt;
- Gssctxt *gssctxt;
- gss_buffer_desc send_tok = GSS_C_EMPTY_BUFFER;
- gss_buffer_desc recv_tok;
- OM_uint32 maj_status;
int r;
u_char *p;
size_t len;
@@ -220,26 +220,21 @@ input_gssapi_errtok(int type, u_int32_t plen, struct ssh *ssh)
if (authctxt == NULL || (authctxt->methoddata == NULL && !use_privsep))
fatal("No authentication or GSSAPI context");
- gssctxt = authctxt->methoddata;
- if ((r = sshpkt_get_string(ssh, &p, &len)) != 0 ||
+ /* Minimal error handling - just cancel auth and return FAILURE */
+ if ((r = sshpkt_get_string_direct(ssh, NULL, NULL)) != 0 ||
(r = sshpkt_get_end(ssh)) != 0)
fatal_fr(r, "parse packet");
- recv_tok.value = p;
- recv_tok.length = len;
-
- /* Push the error token into GSSAPI to see what it says */
- maj_status = PRIVSEP(ssh_gssapi_accept_ctx(gssctxt, &recv_tok,
- &send_tok, NULL));
-
- free(recv_tok.value);
- /* We can't return anything to the client, even if we wanted to */
+ logit("Failed gssapi-with-mic for %s%.100s from %.200s port %d ssh2",
+ authctxt->valid ? "" : "invalid user ",
+ authctxt->user,
+ ssh_remote_ipaddr(ssh), ssh_remote_port(ssh));
+ authctxt->postponed = 0;
ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_TOKEN, NULL);
ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_ERRTOK, NULL);
-
- /* The client will have already moved on to the next auth */
-
- gss_release_buffer(&maj_status, &send_tok);
+ ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_MIC, NULL);
+ ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETE, NULL);
+ userauth_finish(ssh, 0, "gssapi-with-mic", NULL);
return 0;
}

View File

@@ -0,0 +1,130 @@
From ef41798b35a53757f8aa08ad14ee1463b0fe9b15 Mon Sep 17 00:00:00 2001
From: "djm@openbsd.org" <djm@openbsd.org>
Date: Mon, 6 Jul 2026 07:44:48 +0000
Subject: [PATCH] upstream: Fix cases in GSSAPI and keyboard-interactive
authentication where the minimum per-attempt delay was not being enforced.
Reported by Orange Cyberdefense Vulnerability Team
CVE: CVE-2026-60001
Upstream-Status: Backport [https://github.com/openssh/openssh-portable/commit/d43ba60c91cb323ca921049b7d43b1908c318454]
Backport Changes:
- Kept Scarthgap's PRIVSEP(ssh_gssapi_userok()) interface and GSSAPI
display-name recording while adding the upstream failure-delay calls;
mm_ssh_gssapi_userok() belongs to the later split-sshd architecture.
- Retained the Scarthgap OpenBSD revision identifiers in auth.h,
auth2-chall.c, auth2-gss.c, and auth2.c.
OpenBSD-Commit-ID: c40bd35cc2428fcaccad7a141703c28baa6da01e
(cherry picked from commit d43ba60c91cb323ca921049b7d43b1908c318454)
Signed-off-by: Devansh Patel <devanshp@cisco.com>
---
auth.h | 1 +
auth2-chall.c | 4 ++++
auth2-gss.c | 7 +++++++
auth2.c | 10 ++++++++--
4 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/auth.h b/auth.h
index 6d2d39762..9ad4898c5 100644
--- a/auth.h
+++ b/auth.h
@@ -173,6 +173,7 @@ void auth_log(struct ssh *, int, int, const char *, const char *);
void auth_maxtries_exceeded(struct ssh *) __attribute__((noreturn));
void userauth_finish(struct ssh *, int, const char *, const char *);
int auth_root_allowed(struct ssh *, const char *);
+void auth_failure_delay(Authctxt *, double);
char *auth2_read_banner(void);
int auth2_methods_valid(const char *, int);
diff --git a/auth2-chall.c b/auth2-chall.c
index 021df8291..20e70d222 100644
--- a/auth2-chall.c
+++ b/auth2-chall.c
@@ -296,6 +296,7 @@ input_userauth_info_response(int type, u_int32_t seq, struct ssh *ssh)
u_int i, nresp;
const char *devicename = NULL;
char **response = NULL;
+ double tstart = monotime_double();
if (authctxt == NULL)
fatal_f("no authctxt");
@@ -354,6 +355,9 @@ input_userauth_info_response(int type, u_int32_t seq, struct ssh *ssh)
auth2_challenge_start(ssh);
}
}
+
+ if (!authenticated)
+ auth_failure_delay(authctxt, tstart);
userauth_finish(ssh, authenticated, "keyboard-interactive",
devicename);
return 0;
diff --git a/auth2-gss.c b/auth2-gss.c
index f72a38998..195578bcf 100644
--- a/auth2-gss.c
+++ b/auth2-gss.c
@@ -255,6 +255,7 @@ input_gssapi_exchange_complete(int type, u_int32_t plen, struct ssh *ssh)
Authctxt *authctxt = ssh->authctxt;
int r, authenticated;
const char *displayname;
+ double tstart = monotime_double();
if (authctxt == NULL || (authctxt->methoddata == NULL && !use_privsep))
fatal("No authentication or GSSAPI context");
@@ -268,6 +269,8 @@ input_gssapi_exchange_complete(int type, u_int32_t plen, struct ssh *ssh)
fatal_fr(r, "parse packet");
authenticated = PRIVSEP(ssh_gssapi_userok(authctxt->user));
+ if (!authenticated)
+ auth_failure_delay(authctxt, tstart);
if ((!use_privsep || mm_is_monitor()) &&
(displayname = ssh_gssapi_displayname()) != NULL)
@@ -293,6 +296,7 @@ input_gssapi_mic(int type, u_int32_t plen, struct ssh *ssh)
const char *displayname;
u_char *p;
size_t len;
+ double tstart = monotime_double();
if (authctxt == NULL || (authctxt->methoddata == NULL && !use_privsep))
fatal("No authentication or GSSAPI context");
@@ -320,6 +324,9 @@ input_gssapi_mic(int type, u_int32_t plen, struct ssh *ssh)
sshbuf_free(b);
free(mic.value);
+ if (!authenticated)
+ auth_failure_delay(authctxt, tstart);
+
if ((!use_privsep || mm_is_monitor()) &&
(displayname = ssh_gssapi_displayname()) != NULL)
auth2_record_info(authctxt, "%s", displayname);
diff --git a/auth2.c b/auth2.c
index 271789a77..18077d625 100644
--- a/auth2.c
+++ b/auth2.c
@@ -265,6 +265,12 @@ ensure_minimum_time_since(double start, double seconds)
nanosleep(&ts, NULL);
}
+void
+auth_failure_delay(Authctxt *authctxt, double tstart)
+{
+ ensure_minimum_time_since(tstart, user_specific_delay(authctxt->user));
+}
+
static int
input_userauth_request(int type, u_int32_t seq, struct ssh *ssh)
{
@@ -348,8 +354,8 @@ input_userauth_request(int type, u_int32_t seq, struct ssh *ssh)
authenticated = m->userauth(ssh, method);
}
if (!authctxt->authenticated && strcmp(method, "none") != 0)
- ensure_minimum_time_since(tstart,
- user_specific_delay(authctxt->user));
+ auth_failure_delay(authctxt, tstart);
+
userauth_finish(ssh, authenticated, method, NULL);
r = 0;
out:

View File

@@ -0,0 +1,226 @@
From 767104acedd68c317b9d8fb603561e1a8be9e76a Mon Sep 17 00:00:00 2001
From: "djm@openbsd.org" <djm@openbsd.org>
Date: Mon, 6 Jul 2026 07:49:58 +0000
Subject: [PATCH] upstream: fix ownership and lifetime of several bits of
client
state that need to persist for the life of the connection, especially the
cached hostkey that was being incorrectly freed early on some paths, possibly
allowing its use after free.
Reported by Zhenpeng (Leo) Lin from depthfirst.com
CVE: CVE-2026-60002
Upstream-Status: Backport [https://github.com/openssh/openssh-portable/commit/e8bdfb151a356d0171fea4194dd205fbb252be23]
Backport Changes:
- Retained Scarthgap's valid_hostname() and valid_ruser() helpers when
relocating ssh_conn_info_free() from ssh.c to sshconnect.c.
- Retained Scarthgap's ext-info-c proposal handling while applying the
upstream connection-state ownership and lifetime changes.
- Retained the Scarthgap OpenBSD revision identifiers in ssh.c,
sshconnect.c, sshconnect.h, and sshconnect2.c.
OpenBSD-Commit-ID: faaa6ad72e7d69d41fa8b197b606265b7d9bc73f
(cherry picked from commit e8bdfb151a356d0171fea4194dd205fbb252be23)
Signed-off-by: Devansh Patel <devanshp@cisco.com>
---
ssh.c | 24 ++----------------------
sshconnect.c | 47 +++++++++++++++++++++++++++++++++++++++++++++--
sshconnect.h | 7 +++++--
sshconnect2.c | 20 +++++++++++---------
4 files changed, 63 insertions(+), 35 deletions(-)
diff --git a/ssh.c b/ssh.c
index 9c49f98a8..aecdb79ea 100644
--- a/ssh.c
+++ b/ssh.c
@@ -606,26 +606,6 @@ set_addrinfo_port(struct addrinfo *addrs, int port)
}
}
-static void
-ssh_conn_info_free(struct ssh_conn_info *cinfo)
-{
- if (cinfo == NULL)
- return;
- free(cinfo->conn_hash_hex);
- free(cinfo->shorthost);
- free(cinfo->uidstr);
- free(cinfo->keyalias);
- free(cinfo->thishost);
- free(cinfo->host_arg);
- free(cinfo->portstr);
- free(cinfo->remhost);
- free(cinfo->remuser);
- free(cinfo->homedir);
- free(cinfo->locuser);
- free(cinfo->jmphost);
- free(cinfo);
-}
-
static int
valid_hostname(const char *s)
{
@@ -1771,8 +1751,8 @@ main(int ac, char **av)
ssh_signal(SIGCHLD, main_sigchld_handler);
/* Log into the remote system. Never returns if the login fails. */
- ssh_login(ssh, &sensitive_data, host, (struct sockaddr *)&hostaddr,
- options.port, pw, timeout_ms, cinfo);
+ ssh_login(ssh, &sensitive_data, host, &hostaddr, options.port,
+ pw, timeout_ms, cinfo);
/* We no longer need the private host keys. Clear them now. */
if (sensitive_data.nkeys != 0) {
diff --git a/sshconnect.c b/sshconnect.c
index bd077c75c..7823b6782 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -83,6 +83,49 @@ extern char *__progname;
static int show_other_keys(struct hostkeys *, struct sshkey *);
static void warn_changed_key(struct sshkey *);
+void
+ssh_conn_info_free(struct ssh_conn_info *cinfo)
+{
+ if (cinfo == NULL)
+ return;
+ free(cinfo->conn_hash_hex);
+ free(cinfo->shorthost);
+ free(cinfo->uidstr);
+ free(cinfo->keyalias);
+ free(cinfo->thishost);
+ free(cinfo->host_arg);
+ free(cinfo->portstr);
+ free(cinfo->remhost);
+ free(cinfo->remuser);
+ free(cinfo->homedir);
+ free(cinfo->locuser);
+ free(cinfo->jmphost);
+ freezero(cinfo, sizeof(*cinfo));
+}
+
+struct ssh_conn_info *
+ssh_conn_info_dup(const struct ssh_conn_info *cinfo)
+{
+ struct ssh_conn_info *ret;
+
+ if (cinfo == NULL)
+ return NULL;
+ ret = xcalloc(1, sizeof(*ret));
+ ret->conn_hash_hex = xstrdup(cinfo->conn_hash_hex);
+ ret->shorthost = xstrdup(cinfo->shorthost);
+ ret->uidstr = xstrdup(cinfo->uidstr);
+ ret->keyalias = xstrdup(cinfo->keyalias);
+ ret->thishost = xstrdup(cinfo->thishost);
+ ret->host_arg = xstrdup(cinfo->host_arg);
+ ret->portstr = xstrdup(cinfo->portstr);
+ ret->remhost = xstrdup(cinfo->remhost);
+ ret->remuser = xstrdup(cinfo->remuser);
+ ret->homedir = xstrdup(cinfo->homedir);
+ ret->locuser = xstrdup(cinfo->locuser);
+ ret->jmphost = xstrdup(cinfo->jmphost);
+ return ret;
+}
+
/* Expand a proxy command */
static char *
expand_proxy_command(const char *proxy_command, const char *user,
@@ -1559,8 +1602,8 @@ out:
*/
void
ssh_login(struct ssh *ssh, Sensitive *sensitive, const char *orighost,
- struct sockaddr *hostaddr, u_short port, struct passwd *pw, int timeout_ms,
- const struct ssh_conn_info *cinfo)
+ struct sockaddr_storage *hostaddr, u_short port, struct passwd *pw,
+ int timeout_ms, const struct ssh_conn_info *cinfo)
{
char *host;
char *server_user, *local_user;
diff --git a/sshconnect.h b/sshconnect.h
index 79d35cc19..da2a73f5a 100644
--- a/sshconnect.h
+++ b/sshconnect.h
@@ -71,7 +71,7 @@ int ssh_connect(struct ssh *, const char *, const char *,
void ssh_kill_proxy_command(void);
void ssh_login(struct ssh *, Sensitive *, const char *,
- struct sockaddr *, u_short, struct passwd *, int,
+ struct sockaddr_storage *, u_short, struct passwd *, int,
const struct ssh_conn_info *);
int verify_host_key(char *, struct sockaddr *, struct sshkey *,
@@ -80,7 +80,7 @@ int verify_host_key(char *, struct sockaddr *, struct sshkey *,
void get_hostfile_hostname_ipaddr(char *, struct sockaddr *, u_short,
char **, char **);
-void ssh_kex2(struct ssh *ssh, char *, struct sockaddr *, u_short,
+void ssh_kex2(struct ssh *ssh, char *, struct sockaddr_storage *, u_short,
const struct ssh_conn_info *);
void ssh_userauth2(struct ssh *ssh, const char *, const char *,
@@ -94,3 +94,6 @@ void maybe_add_key_to_agent(const char *, struct sshkey *,
void load_hostkeys_command(struct hostkeys *, const char *,
const char *, const struct ssh_conn_info *,
const struct sshkey *, const char *);
+
+void ssh_conn_info_free(struct ssh_conn_info *);
+struct ssh_conn_info *ssh_conn_info_dup(const struct ssh_conn_info *);
diff --git a/sshconnect2.c b/sshconnect2.c
index a296c9b8c..9efb3da8a 100644
--- a/sshconnect2.c
+++ b/sshconnect2.c
@@ -89,7 +89,7 @@ extern Options options;
*/
static char *xxx_host;
-static struct sockaddr *xxx_hostaddr;
+static struct sockaddr_storage xxx_hostaddr;
static const struct ssh_conn_info *xxx_conn_info;
static int key_type_allowed(struct sshkey *, const char *);
@@ -105,7 +105,7 @@ verify_host_key_callback(struct sshkey *hostkey, struct ssh *ssh)
fatal("Server host key %s not in HostKeyAlgorithms",
sshkey_ssh_name(hostkey));
}
- if (verify_host_key(xxx_host, xxx_hostaddr, hostkey,
+ if (verify_host_key(xxx_host, (struct sockaddr *)&xxx_hostaddr, hostkey,
xxx_conn_info) != 0)
fatal("Host key verification failed.");
return 0;
@@ -222,16 +222,16 @@ order_hostkeyalgs(char *host, struct sockaddr *hostaddr, u_short port,
}
void
-ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port,
- const struct ssh_conn_info *cinfo)
+ssh_kex2(struct ssh *ssh, char *host, struct sockaddr_storage *hostaddr,
+ u_short port, const struct ssh_conn_info *cinfo)
{
char *myproposal[PROPOSAL_MAX];
char *s, *all_key, *hkalgs = NULL;
int r, use_known_hosts_order = 0;
- xxx_host = host;
- xxx_hostaddr = hostaddr;
- xxx_conn_info = cinfo;
+ xxx_host = xstrdup(host);
+ xxx_hostaddr = *hostaddr;
+ xxx_conn_info = ssh_conn_info_dup(cinfo);
if (options.rekey_limit || options.rekey_interval)
ssh_packet_set_rekey_limits(ssh, options.rekey_limit,
@@ -257,8 +257,10 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port,
if ((s = kex_names_cat(options.kex_algorithms, "ext-info-c")) == NULL)
fatal_f("kex_names_cat");
- if (use_known_hosts_order)
- hkalgs = order_hostkeyalgs(host, hostaddr, port, cinfo);
+ if (use_known_hosts_order) {
+ hkalgs = order_hostkeyalgs(host, (struct sockaddr *)hostaddr,
+ port, cinfo);
+ }
kex_proposal_populate_entries(ssh, myproposal, s, options.ciphers,
options.macs, compression_alg_list(options.compression),

View File

@@ -35,8 +35,15 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar
file://CVE-2025-61985.patch \
file://CVE-2025-61984_CVE-2026-35386.patch \
file://CVE-2026-35385.patch \
file://CVE-2026-35387.patch \
file://CVE-2026-35414-CVE-2026-35387.patch \
file://CVE-2026-35388.patch \
file://CVE-2026-59999.patch \
file://CVE-2026-59997.patch \
file://CVE-2026-59996.patch \
file://CVE-2026-59995.patch \
file://CVE-2026-60001.patch \
file://CVE-2026-60002.patch \
file://CVE-2026-60000.patch \
"
SRC_URI[sha256sum] = "910211c07255a8c5ad654391b40ee59800710dd8119dd5362de09385aa7a777c"
@@ -49,6 +56,8 @@ Red Hat Enterprise Linux 7 and when running in a Kerberos environment"
CVE_STATUS[CVE-2008-3844] = "not-applicable-platform: Only applies to some distributed RHEL binaries."
CVE_STATUS[CVE-2023-51767] = "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."
CVE_STATUS[CVE-2026-3497] = "not-applicable-platform: Only affects GSSAPI Key Exchange patches used by some Linux distributions and does not exist in upstream openssh."
CVE_STATUS[CVE-2026-59998] = "${@bb.utils.contains('PACKAGECONFIG', 'kerberos', 'unpatched', 'not-applicable-config: GSSAPI/Kerberos support is disabled in the default OpenSSH configuration', d)}"
PAM_SRC_URI = "file://sshd"

View File

@@ -0,0 +1,150 @@
From d44cd1cc4fbb70a9ae9e71890024ae8367fcb912 Mon Sep 17 00:00:00 2001
From: Gerhard Rieger <gerhard@dest-unreach.org>
Date: Thu, 25 Jun 2026 14:55:59 +0200
Subject: [PATCH] Version 1.8.1.2 - fixed SOCKS5 client buffer overflow
(CVE-2026-56123)
CVE: CVE-2026-56123
Upstream-Status: Backport [repo.or.cz/socat.git/commitdiff/d44cd1cc4fbb70a9ae9e71890024ae8367fcb912]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
CHANGES | 13 ++++++++++
test.sh | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++
xio-socks5.h | 4 +--
3 files changed, 88 insertions(+), 2 deletions(-)
diff --git a/CHANGES b/CHANGES
index ba82024..3c2f230 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,17 @@

+Security:
+ Socat security advisory 10
+ CVE-2026-56123
+ There was a possible heap overflow in the socks5 client code. It could
+ be triggered by connecting to a malicious socks5 server that expected
+ this connection and had knowledge about details of the client binary
+ code.
+ Only builds with C signed char (vs.unsigned char) are affected.
+ Thanks to Tristan Madani for finding and reporting this issue, and for
+ conveying the process.
+ Test: SOCKS5_OVERFL
+
+
####################### V 1.8.0.0
Security:
diff --git a/test.sh b/test.sh
index 53bbb2a..467ac57 100755
--- a/test.sh
+++ b/test.sh
@@ -601,6 +601,9 @@ rm -rf "$TD" || (echo "cannot rm $TD" >&2; exit 1)
mkdir -p "$TD"
#trap "rm -r $TD" 0 3
+BINDIR=$td/bin
+mkdir -p $BINDIR
+
echo "Using temp directory $TD"
case "$TESTS" in
@@ -19217,6 +19220,76 @@ fi # NUMCOND
esac
N=$((N+1))
+# Above tests introduced with 1.8.1.0 (none with 1.8.1.1)
+#==============================================================================
+# Below tests introduced with 1.8.1.2
+
+
+# Test socks5 client buffer overflow (CVE-2026-56123)
+NAME=SOCKS5_OVERFL
+case "$TESTS" in
+*%$N%*|*%functions%*|*%bugs%*|*%security%*|*%socks5%*|*%socks%*|*%%*|*%%*|*%socket%*|*%$NAME%*)
+#*%internet%*|*%root%*|*%listen%*|*%fork%*|*%ip4%*|*%tcp4%*|*%bug%*|...
+TEST="$NAME: socks5 client buffer overflow"
+# Start a listener that emulates a malicious socks5 server, using a temporary
+# shell script;
+# connect using Socat with socks5 client;
+# when is terminates with rc=0 the test succeeded (not vulnerable)
+if ! eval $NUMCOND; then :
+# Check if this test can be performed meaningfully
+elif ! cond=$(checkconds \
+ "" \
+ "" \
+ "" \
+ "IP4 TCP LISTEN SHELL GOPEN SOCKS5" \
+ "TCP4-LISTEN SHELL GOPEN SOCKS5" \
+ "socksport" \
+ "tcp4" ); then
+ $PRINTF "test $F_n $TEST... ${YELLOW}$cond${NORMAL}\n" $N
+ cant
+else
+ mkdir -p "$BINDIR"
+ tf="$td/test$N.stdout"
+ te="$td/test$N.stderr"
+ tdiff="$td/test$N.diff"
+ tsh="$BINDIR/test$N.sh"
+ cat >"$tsh" <<__EOF__
+$ECHO -n "\\x05\\x00"
+relsleep 1
+$ECHO -n "\\x05\\x00\\x00\\x03\\xfdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+__EOF__
+ chmod a+x "$tsh"
+ newport tcp4 # -> PORT
+ CMD0="$TRACE $SOCAT $opts TCP4-LISTEN:$PORT SHELL:$tsh"
+ CMD1="$TRACE $SOCAT $opts /dev/null SOCKS5:$LOCALHOST4:17.34.51.68:85,socksport=$PORT"
+ printf "test $F_n $TEST... " $N
+ $CMD0 >/dev/null 2>"${te}0" &
+ pid0=$!
+ waittcp4port $PORT 1
+ $CMD1 >"${tf}1" 2>"${te}1"
+ rc1=$?
+ kill $pid0 2>/dev/null; wait
+ if [ "$rc1" -ne 0 ]; then
+ $PRINTF "$FAILED (rc1=$rc1)\n"
+ echo "$CMD0 &"
+ cat "${te}0" >&2
+ echo "$CMD1"
+ cat "${te}1" >&2
+ failed
+ else
+ $PRINTF "$OK\n"
+ if [ "$VERBOSE" ]; then echo "$CMD0 &"; fi
+ if [ "$DEBUG" ]; then cat "${te}0" >&2; fi
+ if [ "$VERBOSE" ]; then echo "$CMD1"; fi
+ if [ "$DEBUG" ]; then cat "${te}1" >&2; fi
+ ok
+ fi
+fi # NUMCOND
+ ;;
+esac
+N=$((N+1))
+
+
# end of common tests
##################################################################################
diff --git a/xio-socks5.h b/xio-socks5.h
index 4dab76b..d4712d2 100644
--- a/xio-socks5.h
+++ b/xio-socks5.h
@@ -23,7 +23,7 @@ struct socks5_request {
uint8_t command;
uint8_t reserved;
uint8_t address_type;
- char dstdata[];
+ unsigned char dstdata[];
};
struct socks5_reply {
@@ -31,7 +31,7 @@ struct socks5_reply {
uint8_t reply;
uint8_t reserved;
uint8_t address_type;
- char dstdata[];
+ unsigned char dstdata[];
};
extern const struct addrdesc xioaddr_socks5_connect;

View File

@@ -12,6 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2 \
file://0001-fix-compile-procan.c-failed.patch \
file://CVE-2024-54661.patch \
file://CVE-2026-56123.patch \
"
SRC_URI[sha256sum] = "e1de683dd22ee0e3a6c6bbff269abe18ab0c9d7eb650204f125155b9005faca7"

View File

@@ -0,0 +1,155 @@
From a448b6d5b21e5b21249391389b6f0551d9bea136 Mon Sep 17 00:00:00 2001
From: Sanghyun Park <sanghyun.park.cnu@gmail.com>
Date: Thu, 18 Jun 2026 17:04:20 +0900
Subject: [PATCH] ash: fix out-of-bounds read in ifsbreakup()
ifsfree() does not only release allocated ifsregion nodes; it also clears
the global IFS region state used by ifsbreakup(). If argstr() raises an
error while expanding an argument, ash longjmps out of expandarg() before
that cleanup runs, leaving stale IFS split offsets behind.
A later expansion can reuse the stack for a shorter string. ifsbreakup()
then sees the stale IFS state, trusts the old offsets, and can walk past
the current stack block before dereferencing p.
Follow dash's root-cause fix: when an expansion-related handler catches
EXERROR and continues, restore the handler and call ifsfree(). Apply
the cleanup to redirectsafe(), expandstr(), and evaltree().
Upstream commit:
Date: Mon Dec 5 23:02:01 2022 +0800
expand: Add ifsfree to expand to fix a logic error that causes a buffer over-read
On Mon, Jun 20, 2022 at 02:27:10PM -0400, Alex Gorinson wrote:
> Due to a logic error in the ifsbreakup function in expand.c if a
> heredoc and normal command is run one after the other by means of a
> semi-colon, when the second command drops into ifsbreakup the command
> will be evaluated with the ifslastp/ifsfirst struct that was set when
> the here doc was evaluated. This results in a buffer over-read that
> can leak the program's heap, stack, and arena addresses which can be
> used to beat ASLR.
>
> Steps to Reproduce:
> First bug:
> cmd args: ~/exampleDir/example> dash
> $ M='AAAAAAAAAAAAAAAAA' <note: 17 A's>
> $ q00(){
> $ <<000;echo
> $ ${D?$M$M$M$M$M$M} <note: 6 $M's>
> $ 000
> $ }
> $ q00 <note: After the q00 is typed in, the leak
> should be echo'd out; this works with ash, busybox ash, and dash and
> with all option args.>
>
> Patch:
> Adding the following to expand.c will fix both bugs in one go.
> (Thank you to Harald van Dijk and Michael Greenberg for doing the
> heavy lifting for this patch!)
> ==========================
> --- a/src/expand.c
> +++ b/src/expand.c
> @@ -859,6 +859,7 @@
> if (discard)
> return -1;
>
> +ifsfree();
> sh_error("Bad substitution");
> }
>
> @@ -1739,6 +1740,7 @@
> } else
> msg = umsg;
> }
> +ifsfree();
> sh_error("%.*s: %s%s", end - var - 1, var, msg, tail);
> }
> ==========================
Thanks for the report!
I think it's better to add the ifsfree() call to the exception
handling path as other sh_error calls may trigger this too.
function old new delta
restore_handler_expandarg - 33 +33
evaltree 725 711 -14
static.redirectsafe 141 124 -17
expandstr 262 242 -20
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/3 up/down: 36/-45) Total: -18 bytes
Signed-off-by: Sanghyun Park <sanghyun.park.cnu@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
CVE: CVE-2026-38754
Upstream-Status: Backport [https://github.com/vda-linux/busybox_mirror/commit/a448b6d5b21e5b21249391389b6f0551d9bea136]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
shell/ash.c | 24 +++++++++++++++---------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/shell/ash.c b/shell/ash.c
index fb887f31b..b8ff67b16 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -5480,6 +5480,7 @@ stoppedjobs(void)
*/
/* openhere needs this forward reference */
static void expandhere(union node *arg);
+static void ifsfree(void);
static int
openhere(union node *redir)
{
@@ -5909,6 +5910,17 @@ redirect(union node *redir, int flags)
// preverrout_fd = copied_fd2;
}
+static void
+restore_handler_expandarg(struct jmploc *savehandler, int err)
+{
+ exception_handler = savehandler;
+ if (err) {
+ if (exception_type != EXERROR)
+ longjmp(exception_handler->loc, 1);
+ ifsfree();
+ }
+}
+
static int
redirectsafe(union node *redir, int flags)
{
@@ -5924,9 +5936,7 @@ redirectsafe(union node *redir, int flags)
exception_handler = &jmploc;
redirect(redir, flags);
}
- exception_handler = savehandler;
- if (err && exception_type != EXERROR)
- longjmp(exception_handler->loc, 1);
+ restore_handler_expandarg(savehandler, err);
RESTORE_INT(saveint);
return err;
}
@@ -9435,9 +9445,7 @@ evaltree(union node *n, int flags)
trap_depth--;
in_trap_ERR = 0;
- exception_handler = savehandler;
- if (err && exception_type != EXERROR)
- longjmp(exception_handler->loc, 1);
+ restore_handler_expandarg(savehandler, err);
exitstatus = savestatus;
}
@@ -13444,9 +13452,7 @@ expandstr(const char *ps, int syntax_type)
result = stackblock();
out:
- exception_handler = savehandler;
- if (err && exception_type != EXERROR)
- longjmp(exception_handler->loc, 1);
+ restore_handler_expandarg(savehandler, err);
doprompt = saveprompt;
/* Try: PS1='`xxx(`' */

View File

@@ -66,6 +66,7 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
file://CVE-2026-26157-CVE-2026-26158-02.patch \
file://CVE-2026-29004-01.patch \
file://CVE-2026-29004-02.patch \
file://CVE-2026-38754.patch \
"
SRC_URI:append:libc-musl = " file://musl.cfg "
# TODO http://lists.busybox.net/pipermail/busybox/2023-January/090078.html

View File

@@ -0,0 +1,50 @@
From fe04a7f0ff8afe57ba33d919f368b1ba23bcda92 Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Sun, 30 Mar 2025 19:26:55 +0200
Subject: [PATCH 1/3] lib/xmlparse.c: Address clang-tidy warning
misc-no-recursion
CVE: CVE-2026-41080
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/fe04a7f0ff8afe57ba33d919f368b1ba23bcda92]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
lib/xmlparse.c | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/lib/xmlparse.c b/lib/xmlparse.c
index 9bc67f38..cb25c37b 100644
--- a/lib/xmlparse.c
+++ b/lib/xmlparse.c
@@ -1243,9 +1243,10 @@ generate_hash_secret_salt(XML_Parser parser) {
static unsigned long
get_hash_secret_salt(XML_Parser parser) {
- if (parser->m_parentParser != NULL)
- return get_hash_secret_salt(parser->m_parentParser);
- return parser->m_hash_secret_salt;
+ const XML_Parser rootParser = getRootParserOf(parser, NULL);
+ assert(! rootParser->m_parentParser);
+
+ return rootParser->m_hash_secret_salt;
}
static enum XML_Error
@@ -2321,12 +2322,14 @@ int XMLCALL
XML_SetHashSalt(XML_Parser parser, unsigned long hash_salt) {
if (parser == NULL)
return 0;
- if (parser->m_parentParser)
- return XML_SetHashSalt(parser->m_parentParser, hash_salt);
+
+ const XML_Parser rootParser = getRootParserOf(parser, NULL);
+ assert(! rootParser->m_parentParser);
+
/* block after XML_Parse()/XML_ParseBuffer() has been called */
- if (parserBusy(parser))
+ if (parserBusy(rootParser))
return 0;
- parser->m_hash_secret_salt = hash_salt;
+ rootParser->m_hash_secret_salt = hash_salt;
return 1;
}

View File

@@ -0,0 +1,29 @@
From 7fb2c7a454edc9e2880073a27f899c31d9b078ce Mon Sep 17 00:00:00 2001
From: Atrem Borovik <polzovatellllk@gmail.com>
Date: Sat, 20 Dec 2025 13:22:16 +0300
Subject: [PATCH 2/3] WASI: remove getpid
CVE: CVE-2026-41080
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/7fb2c7a454edc9e2880073a27f899c31d9b078ce]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
lib/xmlparse.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lib/xmlparse.c b/lib/xmlparse.c
index cb25c37b..1bafb948 100644
--- a/lib/xmlparse.c
+++ b/lib/xmlparse.c
@@ -1228,8 +1228,11 @@ generate_hash_secret_salt(XML_Parser parser) {
# endif /* ! defined(_WIN32) && defined(XML_DEV_URANDOM) */
/* .. and self-made low quality for backup: */
+ entropy = gather_time_entropy();
+# if ! defined(__wasi__)
/* Process ID is 0 bits entropy if attacker has local access */
- entropy = gather_time_entropy() ^ getpid();
+ entropy ^= getpid();
+# endif
/* Factors are 2^31-1 and 2^61-1 (Mersenne primes M31 and M61) */
if (sizeof(unsigned long) == 4) {

View File

@@ -0,0 +1,467 @@
From b77ab600e1893fdcfc3868d0a46efcc87c87943d Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Wed, 8 Apr 2026 15:41:54 +0200
Subject: [PATCH 3/3] [CVE-2026-41080] Improve protection against hash flooding
(fixes #47)
Fixes #47
CVE: CVE-2026-41080
Upstream-Status: Backport [https://github.com/libexpat/libexpat/pull/1183]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
Changes | 16 ++++++
doc/reference.html | 51 ++++++++++++++--
lib/expat.h | 12 ++++
lib/internal.h | 2 +
lib/xmlparse.c | 118 ++++++++++++++++++++++++++------------
tests/basic_tests.c | 25 ++++++++
6 files changed, 181 insertions(+), 43 deletions(-)
diff --git a/Changes b/Changes
index 4265d608..1d87d6a0 100644
--- a/Changes
+++ b/Changes
@@ -30,6 +30,22 @@
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Patches:
+ Security fixes:
+ #47 #1183 CVE-2026-41080 -- The existing hash flooding protection
+ (based on SipHash) only used 4 to 8 bytes of entropy for
+ a salt, when 16 bytes of salt are supported by the
+ implementation of SipHash used by Expat. Now full 16 bytes
+ of entropy are used to improve protection against hash
+ flooding attacks.
+ Existing API function XML_SetHashSalt is now deprecated
+ because of its limitations, and its use should be
+ considered a vulnerability. Please either use the new API
+ function XML_SetHashSalt16Bytes (with known-high-quality
+ entropy input only!) instead, or leave the derivation of
+ a 16-bytes hash salt from high quality entropy to Expat's
+ internal machinery (by *not* calling either of the two
+ XML_SetHashSalt* functions).
+
Security fixes:
#1018 #1034 CVE-2025-59375 -- Disallow use of disproportional amounts of
dynamic memory from within an Expat parser (e.g. previously
diff --git a/doc/reference.html b/doc/reference.html
index 8f14b011..7f374f84 100644
--- a/doc/reference.html
+++ b/doc/reference.html
@@ -174,7 +174,8 @@ interface.</p>
<li><a href="#XML_GetAttributeInfo">XML_GetAttributeInfo</a></li>
<li><a href="#XML_SetEncoding">XML_SetEncoding</a></li>
<li><a href="#XML_SetParamEntityParsing">XML_SetParamEntityParsing</a></li>
- <li><a href="#XML_SetHashSalt">XML_SetHashSalt</a></li>
+ <li><a href="#XML_SetHashSalt">XML_SetHashSalt</a> (deprecated)</li>
+ <li><a href="#XML_SetHashSalt16Bytes">XML_SetHashSalt16Bytes</a></li>
<li><a href="#XML_UseForeignDTD">XML_UseForeignDTD</a></li>
<li><a href="#XML_SetReturnNSTriplet">XML_SetReturnNSTriplet</a></li>
<li><a href="#XML_DefaultCurrent">XML_DefaultCurrent</a></li>
@@ -2553,10 +2554,10 @@ The choices for <code>code</code> are:
no effect and will always return 0.
</div>
-<h4 id="XML_SetHashSalt">XML_SetHashSalt</h4>
+<h4 id="XML_SetHashSalt">XML_SetHashSalt (deprecated)</h4>
<pre class="fcndec">
int XMLCALL
-XML_SetHashSalt(XML_Parser p,
+XML_SetHashSalt(XML_Parser parser,
unsigned long hash_salt);
</pre>
<div class="fcndef">
@@ -2564,15 +2565,55 @@ Sets the hash salt to use for internal hash calculations.
Helps in preventing DoS attacks based on predicting hash
function behavior. In order to have an effect this must be called
before parsing has started. Returns 1 if successful, 0 when called
-after <code>XML_Parse</code> or <code>XML_ParseBuffer</code>.
+after <code>XML_Parse</code> or <code>XML_ParseBuffer</code> or when
+ <code>parser</code> is <code>NULL</code>.
+ <p>
+ <b>Note:</b> Function <code>XML_SetHashSalt</code> is
+ <strong>deprecated</strong>. Please use function <code><a href=
+ "#XML_SetHashSalt16Bytes">XML_SetHashSalt16Bytes</a></code> instead for better
+ security. <code>XML_SetHashSalt</code> only provides 4 to 8 bytes of entropy
+ (depending on the size of type <code>unsigned long</code>) while the SipHash
+ implementation used by Expat can leverage up to 16 bytes of entropy — at least
+ twice as much. Function <code><a href=
+ "#XML_SetHashSalt16Bytes">XML_SetHashSalt16Bytes</a></code> of Expat &gt;=2.7.6
+ (and where backported) matches the amount of entropy supported by SipHash.
+ </p>.
<p><b>Note:</b> This call is optional, as the parser will auto-generate
-a new random salt value if no value has been set at the start of parsing.</p>
+a new random salt value internally if no value has been set by the start of parsing.</p>
<p><b>Note:</b> One should not call <code>XML_SetHashSalt</code> with a
hash salt value of 0, as this value is used as sentinel value to indicate
that <code>XML_SetHashSalt</code> has <b>not</b> been called. Consequently
such a call will have no effect, even if it returns 1.</p>
</div>
+ <h4 id="XML_SetHashSalt16Bytes">
+ XML_SetHashSalt16Bytes
+ </h4>
+
+ <pre class="fcndec">
+/* Added in Expat 2.7.6. */
+XML_Bool XMLCALL
+XML_SetHashSalt16Bytes(XML_Parser parser,
+ const uint8_t entropy[16]);
+</pre>
+ <div class="fcndef">
+ Sets the hash salt to use for internal hash calculations. Helps in preventing DoS
+ attacks based on predicting hash function behavior. In order to have an effect
+ this must be called before parsing has started. Returns <code>XML_TRUE</code> if
+ successful, <code>XML_FALSE</code> when called after <code>XML_Parse</code> or
+ <code>XML_ParseBuffer</code> or when <code>parser</code> is <code>NULL</code>.
+ <p>
+ <b>Note:</b> Setting a salt that is <em>not</em> from a source of high quality
+ entropy (like <code>getentropy(3)</code>) will make the parser vulnerable to
+ hash flooding attacks.
+ </p>
+
+ <p>
+ <b>Note:</b> This call is optional, as the parser will auto-generate a new
+ random salt value internally if no value has been set by the start of parsing.
+ </p>
+ </div>
+
<h4 id="XML_UseForeignDTD">XML_UseForeignDTD</h4>
<pre class="fcndec">
enum XML_Error XMLCALL
diff --git a/lib/expat.h b/lib/expat.h
index df207e9e..b356e002 100644
--- a/lib/expat.h
+++ b/lib/expat.h
@@ -44,6 +44,7 @@
#ifndef Expat_INCLUDED
#define Expat_INCLUDED 1
+# include <stdint.h> // for uint8_t
#include <stdlib.h>
#include "expat_external.h"
@@ -916,10 +917,21 @@ XML_SetParamEntityParsing(XML_Parser parser,
function behavior. This must be called before parsing is started.
Returns 1 if successful, 0 when called after parsing has started.
Note: If parser == NULL, the function will do nothing and return 0.
+ DEPRECATED since Expat 2.7.6.
*/
XMLPARSEAPI(int)
XML_SetHashSalt(XML_Parser parser, unsigned long hash_salt);
+/* Sets the hash salt to use for internal hash calculations.
+ Helps in preventing DoS attacks based on predicting hash function behavior.
+ This must be called before parsing is started.
+ Returns XML_TRUE if successful, XML_FALSE when called after parsing has
+ started or when parser is NULL.
+ Added in Expat 2.7.6.
+*/
+XMLPARSEAPI(XML_Bool)
+XML_SetHashSalt16Bytes(XML_Parser parser, const uint8_t entropy[16]);
+
/* If XML_Parse or XML_ParseBuffer have returned XML_STATUS_ERROR, then
XML_GetErrorCode returns information about the error.
*/
diff --git a/lib/internal.h b/lib/internal.h
index 32faaa05..617d6454 100644
--- a/lib/internal.h
+++ b/lib/internal.h
@@ -113,6 +113,7 @@
#if defined(_WIN32) \
&& (! defined(__USE_MINGW_ANSI_STDIO) \
|| (1 - __USE_MINGW_ANSI_STDIO - 1 == 0))
+# define EXPAT_FMT_LLX(midpart) "%" midpart "I64x"
# define EXPAT_FMT_ULL(midpart) "%" midpart "I64u"
# if defined(_WIN64) // Note: modifiers "td" and "zu" do not work for MinGW
# define EXPAT_FMT_PTRDIFF_T(midpart) "%" midpart "I64d"
@@ -122,6 +123,7 @@
# define EXPAT_FMT_SIZE_T(midpart) "%" midpart "u"
# endif
#else
+# define EXPAT_FMT_LLX(midpart) "%" midpart "llx"
# define EXPAT_FMT_ULL(midpart) "%" midpart "llu"
# if ! defined(ULONG_MAX)
# error Compiler did not define ULONG_MAX for us
diff --git a/lib/xmlparse.c b/lib/xmlparse.c
index 1bafb948..75a7e5d0 100644
--- a/lib/xmlparse.c
+++ b/lib/xmlparse.c
@@ -604,7 +604,7 @@ static ELEMENT_TYPE *getElementType(XML_Parser parser, const ENCODING *enc,
static XML_Char *copyString(const XML_Char *s, XML_Parser parser);
-static unsigned long generate_hash_secret_salt(XML_Parser parser);
+static struct sipkey generate_hash_secret_salt(void);
static XML_Bool startParsing(XML_Parser parser);
static XML_Parser parserCreate(const XML_Char *encodingName,
@@ -777,7 +777,8 @@ struct XML_ParserStruct {
XML_Bool m_useForeignDTD;
enum XML_ParamEntityParsing m_paramEntityParsing;
#endif
- unsigned long m_hash_secret_salt;
+ struct sipkey m_hash_secret_salt_128;
+ XML_Bool m_hash_secret_salt_set;
#if XML_GE == 1
ACCOUNTING m_accounting;
MALLOC_TRACKER m_alloc_tracker;
@@ -1189,69 +1190,65 @@ gather_time_entropy(void) {
#endif /* ! defined(HAVE_ARC4RANDOM_BUF) && ! defined(HAVE_ARC4RANDOM) */
-static unsigned long
-ENTROPY_DEBUG(const char *label, unsigned long entropy) {
+static struct sipkey
+ENTROPY_DEBUG(const char *label, struct sipkey entropy_128) {
if (getDebugLevel("EXPAT_ENTROPY_DEBUG", 0) >= 1u) {
- fprintf(stderr, "expat: Entropy: %s --> 0x%0*lx (%lu bytes)\n", label,
- (int)sizeof(entropy) * 2, entropy, (unsigned long)sizeof(entropy));
+ fprintf(stderr,
+ "expat: Entropy: %s --> [0x" EXPAT_FMT_LLX(
+ "016") ", 0x" EXPAT_FMT_LLX("016") "] (16 bytes)\n",
+ label, (unsigned long long)entropy_128.k[0],
+ (unsigned long long)entropy_128.k[1]);
}
- return entropy;
+ return entropy_128;
}
-static unsigned long
-generate_hash_secret_salt(XML_Parser parser) {
- unsigned long entropy;
- (void)parser;
+static struct sipkey
+generate_hash_secret_salt(void) {
+ struct sipkey entropy;
/* "Failproof" high quality providers: */
#if defined(HAVE_ARC4RANDOM_BUF)
arc4random_buf(&entropy, sizeof(entropy));
return ENTROPY_DEBUG("arc4random_buf", entropy);
#elif defined(HAVE_ARC4RANDOM)
- writeRandomBytes_arc4random((void *)&entropy, sizeof(entropy));
+ writeRandomBytes_arc4random(&entropy, sizeof(entropy));
return ENTROPY_DEBUG("arc4random", entropy);
#else
/* Try high quality providers first .. */
# ifdef _WIN32
- if (writeRandomBytes_rand_s((void *)&entropy, sizeof(entropy))) {
+ if (writeRandomBytes_rand_s(&entropy, sizeof(entropy))) {
return ENTROPY_DEBUG("rand_s", entropy);
}
# elif defined(HAVE_GETRANDOM) || defined(HAVE_SYSCALL_GETRANDOM)
- if (writeRandomBytes_getrandom_nonblock((void *)&entropy, sizeof(entropy))) {
+ if (writeRandomBytes_getrandom_nonblock(&entropy, sizeof(entropy))) {
return ENTROPY_DEBUG("getrandom", entropy);
}
# endif
# if ! defined(_WIN32) && defined(XML_DEV_URANDOM)
- if (writeRandomBytes_dev_urandom((void *)&entropy, sizeof(entropy))) {
+ if (writeRandomBytes_dev_urandom(&entropy, sizeof(entropy))) {
return ENTROPY_DEBUG("/dev/urandom", entropy);
}
# endif /* ! defined(_WIN32) && defined(XML_DEV_URANDOM) */
/* .. and self-made low quality for backup: */
- entropy = gather_time_entropy();
+ entropy.k[0] = 0;
+ entropy.k[1] = gather_time_entropy();
# if ! defined(__wasi__)
/* Process ID is 0 bits entropy if attacker has local access */
- entropy ^= getpid();
+ entropy.k[1] ^= getpid();
# endif
/* Factors are 2^31-1 and 2^61-1 (Mersenne primes M31 and M61) */
if (sizeof(unsigned long) == 4) {
- return ENTROPY_DEBUG("fallback(4)", entropy * 2147483647);
+ entropy.k[1] *= 2147483647;
+ return ENTROPY_DEBUG("fallback(4)", entropy);
} else {
- return ENTROPY_DEBUG("fallback(8)",
- entropy * (unsigned long)2305843009213693951ULL);
+ entropy.k[1] *= 2305843009213693951ULL;
+ return ENTROPY_DEBUG("fallback(8)", entropy);
}
#endif
}
-static unsigned long
-get_hash_secret_salt(XML_Parser parser) {
- const XML_Parser rootParser = getRootParserOf(parser, NULL);
- assert(! rootParser->m_parentParser);
-
- return rootParser->m_hash_secret_salt;
-}
-
static enum XML_Error
callProcessor(XML_Parser parser, const char *start, const char *end,
const char **endPtr) {
@@ -1320,8 +1316,10 @@ callProcessor(XML_Parser parser, const char *start, const char *end,
static XML_Bool /* only valid for root parser */
startParsing(XML_Parser parser) {
/* hash functions must be initialized before setContext() is called */
- if (parser->m_hash_secret_salt == 0)
- parser->m_hash_secret_salt = generate_hash_secret_salt(parser);
+ if (parser->m_hash_secret_salt_set != XML_TRUE) {
+ parser->m_hash_secret_salt_128 = generate_hash_secret_salt();
+ parser->m_hash_secret_salt_set = XML_TRUE;
+ }
if (parser->m_ns) {
/* implicit context only set for root parser, since child
parsers (i.e. external entity parsers) will inherit it
@@ -1609,7 +1607,9 @@ parserInit(XML_Parser parser, const XML_Char *encodingName) {
parser->m_useForeignDTD = XML_FALSE;
parser->m_paramEntityParsing = XML_PARAM_ENTITY_PARSING_NEVER;
#endif
- parser->m_hash_secret_salt = 0;
+ parser->m_hash_secret_salt_128.k[0] = 0;
+ parser->m_hash_secret_salt_128.k[1] = 0;
+ parser->m_hash_secret_salt_set = XML_FALSE;
#if XML_GE == 1
memset(&parser->m_accounting, 0, sizeof(ACCOUNTING));
@@ -1776,7 +1776,8 @@ XML_ExternalEntityParserCreate(XML_Parser oldParser, const XML_Char *context,
from hash tables associated with either parser without us having
to worry which hash secrets each table has.
*/
- unsigned long oldhash_secret_salt;
+ struct sipkey oldhash_secret_salt_128;
+ XML_Bool oldhash_secret_salt_set;
XML_Bool oldReparseDeferralEnabled;
/* Validate the oldParser parameter before we pull everything out of it */
@@ -1822,7 +1823,8 @@ XML_ExternalEntityParserCreate(XML_Parser oldParser, const XML_Char *context,
from hash tables associated with either parser without us having
to worry which hash secrets each table has.
*/
- oldhash_secret_salt = parser->m_hash_secret_salt;
+ oldhash_secret_salt_128 = parser->m_hash_secret_salt_128;
+ oldhash_secret_salt_set = parser->m_hash_secret_salt_set;
oldReparseDeferralEnabled = parser->m_reparseDeferralEnabled;
#ifdef XML_DTD
@@ -1877,7 +1879,8 @@ XML_ExternalEntityParserCreate(XML_Parser oldParser, const XML_Char *context,
parser->m_externalEntityRefHandlerArg = oldExternalEntityRefHandlerArg;
parser->m_defaultExpandInternalEntities = oldDefaultExpandInternalEntities;
parser->m_ns_triplets = oldns_triplets;
- parser->m_hash_secret_salt = oldhash_secret_salt;
+ parser->m_hash_secret_salt_128 = oldhash_secret_salt_128;
+ parser->m_hash_secret_salt_set = oldhash_secret_salt_set;
parser->m_reparseDeferralEnabled = oldReparseDeferralEnabled;
parser->m_parentParser = oldParser;
#ifdef XML_DTD
@@ -2321,6 +2324,7 @@ XML_SetParamEntityParsing(XML_Parser parser,
#endif
}
+// DEPRECATED since Expat 2.7.6.
int XMLCALL
XML_SetHashSalt(XML_Parser parser, unsigned long hash_salt) {
if (parser == NULL)
@@ -2332,10 +2336,46 @@ XML_SetHashSalt(XML_Parser parser, unsigned long hash_salt) {
/* block after XML_Parse()/XML_ParseBuffer() has been called */
if (parserBusy(rootParser))
return 0;
- rootParser->m_hash_secret_salt = hash_salt;
+
+ rootParser->m_hash_secret_salt_128.k[0] = 0;
+ rootParser->m_hash_secret_salt_128.k[1] = hash_salt;
+
+ if (hash_salt != 0) { // to remain backwards compatible
+ rootParser->m_hash_secret_salt_set = XML_TRUE;
+
+ if (sizeof(unsigned long) == 4)
+ ENTROPY_DEBUG("explicit(4)", rootParser->m_hash_secret_salt_128);
+ else
+ ENTROPY_DEBUG("explicit(8)", rootParser->m_hash_secret_salt_128);
+ }
+
return 1;
}
+XML_Bool XMLCALL
+XML_SetHashSalt16Bytes(XML_Parser parser, const uint8_t entropy[16]) {
+ if (parser == NULL)
+ return XML_FALSE;
+
+ if (entropy == NULL)
+ return XML_FALSE;
+
+ const XML_Parser rootParser = getRootParserOf(parser, NULL);
+ assert(! rootParser->m_parentParser);
+
+ /* block after XML_Parse()/XML_ParseBuffer() has been called */
+ if (parserBusy(rootParser))
+ return XML_FALSE;
+
+ sip_tokey(&(rootParser->m_hash_secret_salt_128), entropy);
+
+ rootParser->m_hash_secret_salt_set = XML_TRUE;
+
+ ENTROPY_DEBUG("explicit(16)", rootParser->m_hash_secret_salt_128);
+
+ return XML_TRUE;
+}
+
enum XML_Status XMLCALL
XML_Parse(XML_Parser parser, const char *s, int len, int isFinal) {
if ((parser == NULL) || (len < 0) || ((s == NULL) && (len != 0))) {
@@ -7837,8 +7877,10 @@ keylen(KEY s) {
static void
copy_salt_to_sipkey(XML_Parser parser, struct sipkey *key) {
- key->k[0] = 0;
- key->k[1] = get_hash_secret_salt(parser);
+ const XML_Parser rootParser = getRootParserOf(parser, NULL);
+ assert(! rootParser->m_parentParser);
+
+ *key = rootParser->m_hash_secret_salt_128;
}
static unsigned long FASTCALL
diff --git a/tests/basic_tests.c b/tests/basic_tests.c
index 023d9ce4..380caf19 100644
--- a/tests/basic_tests.c
+++ b/tests/basic_tests.c
@@ -204,6 +204,30 @@ START_TEST(test_hash_collision) {
END_TEST
#undef COLLIDING_HASH_SALT
+START_TEST(test_hash_salt_setter) {
+ const uint8_t entropy[16] = {'0', '1', '2', '3', '4', '5', '6', '7',
+ '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
+ XML_Parser parser = XML_ParserCreate(NULL);
+
+ // NULL parser should be rejected
+ assert_true(XML_SetHashSalt16Bytes(NULL, entropy) == XML_FALSE);
+
+ // NULL entropy should be rejected
+ assert_true(XML_SetHashSalt16Bytes(parser, NULL) == XML_FALSE);
+
+ // Setting should be allowed more than once
+ assert_true(XML_SetHashSalt16Bytes(parser, entropy) == XML_TRUE);
+ assert_true(XML_SetHashSalt16Bytes(parser, entropy) == XML_TRUE);
+
+ // But not after parsing has started
+ assert_true(XML_Parse(parser, "", 0, XML_FALSE /* isFinal */)
+ == XML_STATUS_OK);
+ assert_true(XML_SetHashSalt16Bytes(parser, entropy) == XML_FALSE);
+
+ XML_ParserFree(parser);
+}
+END_TEST
+
/* Regression test for SF bug #491986. */
START_TEST(test_danish_latin1) {
const char *text = "<?xml version='1.0' encoding='iso-8859-1'?>\n"
@@ -6244,6 +6268,7 @@ make_basic_test_case(Suite *s) {
tcase_add_test(tc_basic, test_bom_utf16_le);
tcase_add_test(tc_basic, test_nobom_utf16_le);
tcase_add_test(tc_basic, test_hash_collision);
+ tcase_add_test(tc_basic, test_hash_salt_setter);
tcase_add_test(tc_basic, test_illegal_utf8);
tcase_add_test(tc_basic, test_utf8_auto_align);
tcase_add_test(tc_basic, test_utf16);

View File

@@ -0,0 +1,70 @@
From 3020144133b2d860c44f4eeacf72e5f2843235a3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Berkay=20Eren=20=C3=9Cr=C3=BCn?= <berkay.ueruen@siemens.com>
Date: Fri, 13 Mar 2026 13:26:45 +0100
Subject: [PATCH 1/7] Make "counting_start_element_handler" count default attrs
(cherry picked from commit 0802a5892030610144b736dec6e2f63e8600fe85)
CVE: CVE-2026-45186
Upstream-Status: Backport [https://github.com/libexpat/libexpat/pull/1216/commits/0802a5892030610144b736dec6e2f63e8600fe85]
Signed-off-by: Theo Gaige <tgaige.opensource@witekio.com>
---
tests/basic_tests.c | 8 ++++----
tests/handlers.c | 2 +-
tests/handlers.h | 1 +
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/tests/basic_tests.c b/tests/basic_tests.c
index 023d9ce..d6edb16 100644
--- a/tests/basic_tests.c
+++ b/tests/basic_tests.c
@@ -2439,9 +2439,9 @@ START_TEST(test_attributes) {
{XCS("id"), XCS("one")},
{NULL, NULL}};
AttrInfo tag_info[] = {{XCS("c"), XCS("3")}, {NULL, NULL}};
- ElementInfo info[] = {{XCS("doc"), 3, XCS("id"), NULL},
- {XCS("tag"), 1, NULL, NULL},
- {NULL, 0, NULL, NULL}};
+ ElementInfo info[] = {{XCS("doc"), 3, 0, XCS("id"), NULL},
+ {XCS("tag"), 1, 0, NULL, NULL},
+ {NULL, 0, 0, NULL, NULL}};
info[0].attributes = doc_info;
info[1].attributes = tag_info;
@@ -5496,7 +5496,7 @@ START_TEST(test_deep_nested_attribute_entity) {
(long unsigned)(N_LINES - 1));
AttrInfo doc_info[] = {{XCS("name"), XCS("deepText")}, {NULL, NULL}};
- ElementInfo info[] = {{XCS("foo"), 1, NULL, NULL}, {NULL, 0, NULL, NULL}};
+ ElementInfo info[] = {{XCS("foo"), 1, 0, NULL, NULL}, {NULL, 0, 0, NULL, NULL}};
info[0].attributes = doc_info;
XML_Parser parser = XML_ParserCreate(NULL);
diff --git a/tests/handlers.c b/tests/handlers.c
index e658223..9ff7b35 100644
--- a/tests/handlers.c
+++ b/tests/handlers.c
@@ -137,7 +137,7 @@ counting_start_element_handler(void *userData, const XML_Char *name,
fail("ID does not have the correct name");
return;
}
- for (i = 0; i < info->attr_count; i++) {
+ for (i = 0; i < info->attr_count + info->default_attr_count; i++) {
attr = info->attributes;
while (attr->name != NULL) {
if (! xcstrcmp(atts[0], attr->name))
diff --git a/tests/handlers.h b/tests/handlers.h
index ac4ca94..11d45eb 100644
--- a/tests/handlers.h
+++ b/tests/handlers.h
@@ -88,6 +88,7 @@ typedef struct attrInfo {
typedef struct elementInfo {
const XML_Char *name;
int attr_count;
+ int default_attr_count;
const XML_Char *id_name;
AttrInfo *attributes;
} ElementInfo;
--
2.43.0

View File

@@ -0,0 +1,318 @@
From ba12af3b3ffd98b9e31c3a01a20d392c89aa974e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Berkay=20Eren=20=C3=9Cr=C3=BCn?= <berkay.ueruen@siemens.com>
Date: Fri, 13 Mar 2026 13:27:31 +0100
Subject: [PATCH 2/7] test(attlist): Cover duplicate attribute names
Co-authored-by: Sebastian Pipping <sebastian@pipping.org>
(cherry picked from commit e569f47181c43dca5d262089e541ddf9a9c09927)
CVE: CVE-2026-45186
Upstream-Status: Backport [https://github.com/libexpat/libexpat/pull/1216/commits/e569f47181c43dca5d262089e541ddf9a9c09927]
Signed-off-by: Theo Gaige <tgaige.opensource@witekio.com>
---
tests/basic_tests.c | 282 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 282 insertions(+)
diff --git a/tests/basic_tests.c b/tests/basic_tests.c
index d6edb16..907a458 100644
--- a/tests/basic_tests.c
+++ b/tests/basic_tests.c
@@ -2462,6 +2462,279 @@ START_TEST(test_attributes) {
}
END_TEST
+START_TEST(test_duplicate_cdata_attribute) {
+ /*
+ https://www.w3.org/TR/xml/#attdecls
+
+ Test the following statement from the linked specification:
+ When more than one definition is provided for the same attribute of a given
+ element type, the first declaration is binding and later declarations are
+ ignored.
+ */
+
+ const char *text
+ = "<!DOCTYPE doc [\n"
+ " <!ATTLIST doc attribute CDATA 'expected' attribute CDATA 'ignored'>\n"
+ "]>\n"
+ "<doc/>\n";
+ AttrInfo doc_info[] = {{XCS("attribute"), XCS("expected")}, {NULL, NULL}};
+ ElementInfo info[]
+ = {{XCS("doc"), 0, 1, NULL, doc_info}, {NULL, 0, 0, NULL, NULL}};
+
+ XML_Parser parser = XML_ParserCreate(NULL);
+ assert_true(parser != NULL);
+
+ ParserAndElementInfo parserAndElementInfos = {
+ parser,
+ info,
+ };
+
+ XML_SetStartElementHandler(parser, counting_start_element_handler);
+ XML_SetUserData(parser, &parserAndElementInfos);
+
+ if (_XML_Parse_SINGLE_BYTES(parser, text, (int)strlen(text), XML_TRUE)
+ != XML_STATUS_OK)
+ xml_failure(parser);
+
+ XML_ParserFree(parser);
+}
+END_TEST
+
+START_TEST(test_duplicate_id_attribute_1) {
+ /*
+ https://www.w3.org/TR/xml/#attdecls
+
+ Test the following statement from the linked specification:
+ When more than one definition is provided for the same attribute of a given
+ element type, the first declaration is binding and later declarations are
+ ignored.
+ */
+
+ const char *text
+ = "<!DOCTYPE doc [\n"
+ " <!ATTLIST doc identifier CDATA 'expected' identifier ID #REQUIRED>\n"
+ "]>\n"
+ "<doc/>\n";
+ AttrInfo doc_info[] = {{XCS("identifier"), XCS("expected")}, {NULL, NULL}};
+ ElementInfo info[]
+ = {{XCS("doc"), 0, 1, NULL, doc_info}, {NULL, 0, 0, NULL, NULL}};
+
+ XML_Parser parser = XML_ParserCreate(NULL);
+ assert_true(parser != NULL);
+
+ ParserAndElementInfo parserAndElementInfos = {
+ parser,
+ info,
+ };
+
+ XML_SetStartElementHandler(parser, counting_start_element_handler);
+ XML_SetUserData(parser, &parserAndElementInfos);
+
+ if (_XML_Parse_SINGLE_BYTES(parser, text, (int)strlen(text), XML_TRUE)
+ != XML_STATUS_OK)
+ xml_failure(parser);
+
+ XML_ParserFree(parser);
+}
+END_TEST
+
+START_TEST(test_duplicate_id_attribute_2) {
+ /*
+ https://www.w3.org/TR/xml/#attdecls
+
+ Test the following statement from the linked specification:
+ When more than one definition is provided for the same attribute of a given
+ element type, the first declaration is binding and later declarations are
+ ignored.
+ */
+
+ const char *text
+ = "<!DOCTYPE doc [\n"
+ " <!ATTLIST doc identifier ID #REQUIRED identifier CDATA 'unexpected'>\n"
+ "]>\n"
+ "<doc/>\n";
+ AttrInfo doc_info[] = {{NULL, NULL}};
+
+ ElementInfo info[]
+ = {{XCS("doc"), 0, 0, NULL, doc_info}, {NULL, 0, 0, NULL, NULL}};
+
+ XML_Parser parser = XML_ParserCreate(NULL);
+ assert_true(parser != NULL);
+
+ ParserAndElementInfo parserAndElementInfos = {
+ parser,
+ info,
+ };
+
+ XML_SetStartElementHandler(parser, counting_start_element_handler);
+ XML_SetUserData(parser, &parserAndElementInfos);
+
+ if (_XML_Parse_SINGLE_BYTES(parser, text, (int)strlen(text), XML_TRUE)
+ != XML_STATUS_OK)
+ xml_failure(parser);
+
+ XML_ParserFree(parser);
+}
+END_TEST
+
+START_TEST(test_duplicate_cdata_attribute_multiple_attlistdecl) {
+ /*
+ https://www.w3.org/TR/xml/#attdecls
+
+ Test the following statement from the linked specification:
+ When more than one AttlistDecl is provided for a given element type,
+ the contents of all those provided are merged.
+ */
+ const char *text = "<!DOCTYPE doc [\n"
+ " <!ATTLIST doc attribute CDATA 'expected'>\n"
+ " <!ATTLIST doc attribute CDATA 'ignored'>\n"
+ "]>\n"
+ "<doc/>\n";
+ AttrInfo doc_info[] = {{XCS("attribute"), XCS("expected")}, {NULL, NULL}};
+ ElementInfo info[]
+ = {{XCS("doc"), 0, 1, NULL, doc_info}, {NULL, 0, 0, NULL, NULL}};
+
+ XML_Parser parser = XML_ParserCreate(NULL);
+ assert_true(parser != NULL);
+
+ ParserAndElementInfo parserAndElementInfos = {
+ parser,
+ info,
+ };
+
+ XML_SetStartElementHandler(parser, counting_start_element_handler);
+ XML_SetUserData(parser, &parserAndElementInfos);
+
+ if (_XML_Parse_SINGLE_BYTES(parser, text, (int)strlen(text), XML_TRUE)
+ != XML_STATUS_OK)
+ xml_failure(parser);
+
+ XML_ParserFree(parser);
+}
+END_TEST
+
+START_TEST(test_duplicate_cdata_attribute_multiple_attlistdecl_2) {
+ /*
+ https://www.w3.org/TR/xml/#attdecls
+
+ Test the following statement from the linked specification:
+ When more than one AttlistDecl is provided for a given element type,
+ the contents of all those provided are merged.
+ */
+ const char *text = "<!DOCTYPE doc [\n"
+ " <!ATTLIST doc attribute CDATA 'expected_doc'>\n"
+ " <!ATTLIST tag attribute CDATA 'expected_tag'>\n"
+ " <!ATTLIST doc attribute CDATA 'ignored_doc'>\n"
+ "]>\n"
+ "<doc><tag></tag></doc>\n";
+ AttrInfo doc_info[] = {{XCS("attribute"), XCS("expected_doc")}, {NULL, NULL}};
+ AttrInfo tag_info[] = {{XCS("attribute"), XCS("expected_tag")}, {NULL, NULL}};
+ ElementInfo info[] = {{XCS("doc"), 0, 1, NULL, doc_info},
+ {XCS("tag"), 0, 1, NULL, tag_info},
+ {NULL, 0, 0, NULL, NULL}};
+
+ XML_Parser parser = XML_ParserCreate(NULL);
+ assert_true(parser != NULL);
+
+ ParserAndElementInfo parserAndElementInfos = {
+ parser,
+ info,
+ };
+
+ XML_SetStartElementHandler(parser, counting_start_element_handler);
+ XML_SetUserData(parser, &parserAndElementInfos);
+
+ if (_XML_Parse_SINGLE_BYTES(parser, text, (int)strlen(text), XML_TRUE)
+ != XML_STATUS_OK)
+ xml_failure(parser);
+
+ XML_ParserFree(parser);
+}
+END_TEST
+
+START_TEST(test_duplicate_cdata_attribute_multiple_attlistdecl_3) {
+ /*
+ https://www.w3.org/TR/xml/#attdecls
+
+ Test the following statement from the linked specification:
+ When more than one AttlistDecl is provided for a given element type,
+ the contents of all those provided are merged.
+ */
+ const char *text
+ = "<!DOCTYPE doc [\n"
+ " <!ATTLIST doc attribute CDATA 'expected_doc'>\n"
+ " <!ATTLIST tag attribute CDATA 'expected_tag'>\n"
+ " <!ATTLIST doc second_attribute CDATA 'second_expected_doc' attribute CDATA 'ignored_doc'>\n"
+ "]>\n"
+ "<doc><tag></tag></doc>\n";
+ AttrInfo doc_info[] = {{XCS("attribute"), XCS("expected_doc")},
+ {XCS("second_attribute"), XCS("second_expected_doc")},
+ {NULL, NULL}};
+ AttrInfo tag_info[] = {{XCS("attribute"), XCS("expected_tag")}, {NULL, NULL}};
+ ElementInfo info[] = {{XCS("doc"), 0, 2, NULL, doc_info},
+ {XCS("tag"), 0, 1, NULL, tag_info},
+ {NULL, 0, 0, NULL, NULL}};
+
+ XML_Parser parser = XML_ParserCreate(NULL);
+ assert_true(parser != NULL);
+
+ ParserAndElementInfo parserAndElementInfos = {
+ parser,
+ info,
+ };
+
+ XML_SetStartElementHandler(parser, counting_start_element_handler);
+ XML_SetUserData(parser, &parserAndElementInfos);
+
+ if (_XML_Parse_SINGLE_BYTES(parser, text, (int)strlen(text), XML_TRUE)
+ != XML_STATUS_OK)
+ xml_failure(parser);
+
+ XML_ParserFree(parser);
+}
+END_TEST
+
+START_TEST(test_duplicate_id_attribute_multiple_attlistdecl) {
+ /*
+ https://www.w3.org/TR/xml/#attdecls
+
+ Test the following statement from the linked specification:
+ When more than one AttlistDecl is provided for a given element type,
+ the contents of all those provided are merged.
+ */
+ const char *text = "<!DOCTYPE doc [\n"
+ " <!ATTLIST doc identifier ID #REQUIRED>\n"
+ " <!ATTLIST tag identifier CDATA 'identifier_tag'>\n"
+ " <!ATTLIST doc identifier CDATA 'ignored'>\n"
+ "]>\n"
+ "<doc identifier='doc_identity'><tag></tag></doc>\n";
+ AttrInfo doc_info[]
+ = {{XCS("identifier"), XCS("doc_identity")}, {NULL, NULL}};
+ AttrInfo tag_info[]
+ = {{XCS("identifier"), XCS("identifier_tag")}, {NULL, NULL}};
+ ElementInfo info[] = {{XCS("doc"), 1, 0, XCS("identifier"), doc_info},
+ {XCS("tag"), 0, 1, NULL, tag_info},
+ {NULL, 0, 0, NULL, NULL}};
+
+ XML_Parser parser = XML_ParserCreate(NULL);
+ assert_true(parser != NULL);
+
+ ParserAndElementInfo parserAndElementInfos = {
+ parser,
+ info,
+ };
+
+ XML_SetStartElementHandler(parser, counting_start_element_handler);
+ XML_SetUserData(parser, &parserAndElementInfos);
+
+ if (_XML_Parse_SINGLE_BYTES(parser, text, (int)strlen(text), XML_TRUE)
+ != XML_STATUS_OK)
+ xml_failure(parser);
+
+ XML_ParserFree(parser);
+}
+END_TEST
+
/* Test reset works correctly in the middle of processing an internal
* entity. Exercises some obscure code in XML_ParserReset().
*/
@@ -6325,6 +6598,15 @@ make_basic_test_case(Suite *s) {
tcase_add_test__ifdef_xml_dtd(tc_basic, test_empty_foreign_dtd);
tcase_add_test(tc_basic, test_set_base);
tcase_add_test(tc_basic, test_attributes);
+ tcase_add_test(tc_basic, test_duplicate_cdata_attribute);
+ tcase_add_test(tc_basic, test_duplicate_id_attribute_1);
+ tcase_add_test(tc_basic, test_duplicate_id_attribute_2);
+ tcase_add_test(tc_basic, test_duplicate_cdata_attribute_multiple_attlistdecl);
+ tcase_add_test(tc_basic,
+ test_duplicate_cdata_attribute_multiple_attlistdecl_2);
+ tcase_add_test(tc_basic,
+ test_duplicate_cdata_attribute_multiple_attlistdecl_3);
+ tcase_add_test(tc_basic, test_duplicate_id_attribute_multiple_attlistdecl);
tcase_add_test__if_xml_ge(tc_basic, test_reset_in_entity);
tcase_add_test(tc_basic, test_resume_invalid_parse);
tcase_add_test(tc_basic, test_resume_resuspended);
--
2.43.0

View File

@@ -0,0 +1,46 @@
From 852ab610685b45c62017556c38096d941c154963 Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Mon, 20 Apr 2026 13:44:43 +0200
Subject: [PATCH 3/7] tests: Define .attributes the first time around
(cherry picked from commit 05307d352a5aa858cdda57ec53a53b597b3a4a82)
CVE: CVE-2026-45186
Upstream-Status: Backport [https://github.com/libexpat/libexpat/pull/1216/commits/05307d352a5aa858cdda57ec53a53b597b3a4a82]
Signed-off-by: Theo Gaige <tgaige.opensource@witekio.com>
---
tests/basic_tests.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/tests/basic_tests.c b/tests/basic_tests.c
index 907a458..b0178fc 100644
--- a/tests/basic_tests.c
+++ b/tests/basic_tests.c
@@ -2439,11 +2439,9 @@ START_TEST(test_attributes) {
{XCS("id"), XCS("one")},
{NULL, NULL}};
AttrInfo tag_info[] = {{XCS("c"), XCS("3")}, {NULL, NULL}};
- ElementInfo info[] = {{XCS("doc"), 3, 0, XCS("id"), NULL},
- {XCS("tag"), 1, 0, NULL, NULL},
+ ElementInfo info[] = {{XCS("doc"), 3, 0, XCS("id"), doc_info},
+ {XCS("tag"), 1, 0, NULL, tag_info},
{NULL, 0, 0, NULL, NULL}};
- info[0].attributes = doc_info;
- info[1].attributes = tag_info;
XML_Parser parser = XML_ParserCreate(NULL);
assert_true(parser != NULL);
@@ -5769,8 +5767,8 @@ START_TEST(test_deep_nested_attribute_entity) {
(long unsigned)(N_LINES - 1));
AttrInfo doc_info[] = {{XCS("name"), XCS("deepText")}, {NULL, NULL}};
- ElementInfo info[] = {{XCS("foo"), 1, 0, NULL, NULL}, {NULL, 0, 0, NULL, NULL}};
- info[0].attributes = doc_info;
+ ElementInfo info[]
+ = {{XCS("foo"), 1, 0, NULL, doc_info}, {NULL, 0, 0, NULL, NULL}};
XML_Parser parser = XML_ParserCreate(NULL);
ParserAndElementInfo parserPlusElemenInfo = {parser, info};
--
2.43.0

View File

@@ -0,0 +1,32 @@
From 89c6acdcd919b64014b180fadec46b0d25760832 Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Mon, 13 Apr 2026 01:34:03 +0200
Subject: [PATCH 4/7] tests: Make counting_start_element_handler enforce
complete attribute lists
(cherry picked from commit 4176aff73840711060913e0ac6aa1168d8ba5c8d)
CVE: CVE-2026-45186
Upstream-Status: Backport [https://github.com/libexpat/libexpat/pull/1216/commits/4176aff73840711060913e0ac6aa1168d8ba5c8d]
Signed-off-by: Theo Gaige <tgaige.opensource@witekio.com>
---
tests/handlers.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tests/handlers.c b/tests/handlers.c
index 9ff7b35..5e72e8b 100644
--- a/tests/handlers.c
+++ b/tests/handlers.c
@@ -155,6 +155,9 @@ counting_start_element_handler(void *userData, const XML_Char *name,
/* Remember, two entries in atts per attribute (see above) */
atts += 2;
}
+
+ // Self-test that the test case's list of expected attributes is complete
+ assert_true(atts[0] == NULL);
}
void XMLCALL
--
2.43.0

View File

@@ -0,0 +1,32 @@
From d352c83afaa3945c964aba74cb60a00822af96d3 Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Sun, 8 Mar 2026 22:14:41 +0100
Subject: [PATCH 5/7] lib: Extract a constant for upcoming reuse
(cherry picked from commit fb35f2d2040d114f355bae8a7450942533237530)
CVE: CVE-2026-45186
Upstream-Status: Backport [https://github.com/libexpat/libexpat/pull/1216/commits/fb35f2d2040d114f355bae8a7450942533237530]
Signed-off-by: Theo Gaige <tgaige.opensource@witekio.com>
---
lib/xmlparse.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/xmlparse.c b/lib/xmlparse.c
index 9bc67f3..8d3e8db 100644
--- a/lib/xmlparse.c
+++ b/lib/xmlparse.c
@@ -7708,8 +7708,9 @@ dtdCopy(XML_Parser oldParser, DTD *newDtd, const DTD *oldDtd,
newE->prefix = (PREFIX *)lookup(oldParser, &(newDtd->prefixes),
oldE->prefix->name, 0);
for (i = 0; i < newE->nDefaultAtts; i++) {
+ const XML_Char *const attributeName = oldE->defaultAtts[i].id->name;
newE->defaultAtts[i].id = (ATTRIBUTE_ID *)lookup(
- oldParser, &(newDtd->attributeIds), oldE->defaultAtts[i].id->name, 0);
+ oldParser, &(newDtd->attributeIds), attributeName, 0);
newE->defaultAtts[i].isCdata = oldE->defaultAtts[i].isCdata;
if (oldE->defaultAtts[i].value) {
newE->defaultAtts[i].value
--
2.43.0

View File

@@ -0,0 +1,87 @@
From a2c8ddb3d6f4df7af64e05bed4b3a4edeae33fd0 Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Sun, 8 Mar 2026 23:05:49 +0100
Subject: [PATCH 6/7] lib: Introduce ELEMENT_TYPE.defaultAttsNames
(cherry picked from commit 7f0f1b9e70d937072d2e9e37ae9edf27784cc080)
CVE: CVE-2026-45186
Upstream-Status: Backport [https://github.com/libexpat/libexpat/pull/1216/commits/7f0f1b9e70d937072d2e9e37ae9edf27784cc080]
Signed-off-by: Theo Gaige <tgaige.opensource@witekio.com>
---
lib/xmlparse.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/lib/xmlparse.c b/lib/xmlparse.c
index 8d3e8db..4a29c18 100644
--- a/lib/xmlparse.c
+++ b/lib/xmlparse.c
@@ -388,6 +388,7 @@ typedef struct {
int nDefaultAtts;
int allocDefaultAtts;
DEFAULT_ATTRIBUTE *defaultAtts;
+ HASH_TABLE defaultAttsNames;
} ELEMENT_TYPE;
typedef struct {
@@ -3844,6 +3845,8 @@ storeAtts(XML_Parser parser, const ENCODING *enc, const char *attStr,
sizeof(ELEMENT_TYPE));
if (! elementType)
return XML_ERROR_NO_MEMORY;
+ if (! elementType->defaultAttsNames.parser)
+ hashTableInit(&(elementType->defaultAttsNames), parser);
if (parser->m_ns && ! setElementTypePrefix(parser, elementType))
return XML_ERROR_NO_MEMORY;
}
@@ -7549,6 +7552,7 @@ dtdReset(DTD *p, XML_Parser parser) {
ELEMENT_TYPE *e = (ELEMENT_TYPE *)hashTableIterNext(&iter);
if (! e)
break;
+ hashTableDestroy(&(e->defaultAttsNames));
if (e->allocDefaultAtts != 0)
FREE(parser, e->defaultAtts);
}
@@ -7590,6 +7594,7 @@ dtdDestroy(DTD *p, XML_Bool isDocEntity, XML_Parser parser) {
ELEMENT_TYPE *e = (ELEMENT_TYPE *)hashTableIterNext(&iter);
if (! e)
break;
+ hashTableDestroy(&(e->defaultAttsNames));
if (e->allocDefaultAtts != 0)
FREE(parser, e->defaultAtts);
}
@@ -7683,6 +7688,10 @@ dtdCopy(XML_Parser oldParser, DTD *newDtd, const DTD *oldDtd,
sizeof(ELEMENT_TYPE));
if (! newE)
return 0;
+
+ if (! newE->defaultAttsNames.parser)
+ hashTableInit(&(newE->defaultAttsNames), parser);
+
if (oldE->nDefaultAtts) {
/* Detect and prevent integer overflow.
* The preprocessor guard addresses the "always false" warning
@@ -7719,6 +7728,12 @@ dtdCopy(XML_Parser oldParser, DTD *newDtd, const DTD *oldDtd,
return 0;
} else
newE->defaultAtts[i].value = NULL;
+
+ NAMED *const nameAddedOrFound = (NAMED *)lookup(
+ parser, &(newE->defaultAttsNames), attributeName, sizeof(NAMED));
+ if (! nameAddedOrFound) {
+ return 0;
+ }
}
}
@@ -8458,6 +8473,8 @@ getElementType(XML_Parser parser, const ENCODING *enc, const char *ptr,
sizeof(ELEMENT_TYPE));
if (! ret)
return NULL;
+ if (! ret->defaultAttsNames.parser)
+ hashTableInit(&(ret->defaultAttsNames), getRootParserOf(parser, NULL));
if (ret->name != name)
poolDiscard(&dtd->pool);
else {
--
2.43.0

View File

@@ -0,0 +1,52 @@
From 0e4829f4be500ce687b37ec82f9650b86c8419c7 Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Sun, 8 Mar 2026 23:06:29 +0100
Subject: [PATCH 7/7] lib: Leverage ELEMENT_TYPE.defaultAttsNames for attribute
collision detection
.. to resolve quadratic runtime behavior
(cherry picked from commit 4cd4eb0683e04cd45a2ffc81a08ca2a2663994b5)
CVE: CVE-2026-45186
Upstream-Status: Backport [https://github.com/libexpat/libexpat/pull/1216/commits/4cd4eb0683e04cd45a2ffc81a08ca2a2663994b5]
Signed-off-by: Theo Gaige <tgaige.opensource@witekio.com>
---
lib/xmlparse.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/lib/xmlparse.c b/lib/xmlparse.c
index 4a29c18..b3f0b73 100644
--- a/lib/xmlparse.c
+++ b/lib/xmlparse.c
@@ -7177,10 +7177,10 @@ defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool isCdata,
if (value || isId) {
/* The handling of default attributes gets messed up if we have
a default which duplicates a non-default. */
- int i;
- for (i = 0; i < type->nDefaultAtts; i++)
- if (attId == type->defaultAtts[i].id)
- return 1;
+ NAMED *const nameFound
+ = (NAMED *)lookup(parser, &(type->defaultAttsNames), attId->name, 0);
+ if (nameFound)
+ return 1;
if (isId && ! type->idAtt && ! attId->xmlns)
type->idAtt = attId;
}
@@ -7227,6 +7227,12 @@ defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool isCdata,
att->isCdata = isCdata;
if (! isCdata)
attId->maybeTokenized = XML_TRUE;
+
+ NAMED *const nameAddedOrFound = (NAMED *)lookup(
+ parser, &(type->defaultAttsNames), attId->name, sizeof(NAMED));
+ if (! nameAddedOrFound)
+ return 0;
+
type->nDefaultAtts += 1;
return 1;
}
--
2.43.0

View File

@@ -0,0 +1,80 @@
From 9d1c131840a501e6664c5770046153235467f574 Mon Sep 17 00:00:00 2001
From: Matthew Fernandez <matthew.fernandez@gmail.com>
Date: Thu, 4 Jun 2026 17:01:02 -0700
Subject: [PATCH 13/17] lib: Remove reuse of `m_groupSize` to count
`m_scaffIndex` allocation
The sizes of the two arrays `m_groupConnector` and `scaffIndex` need to
vary independently. This change is a step towards allowing this.
Anthropic: ANT-2026-00037
Anthropic: ANT-2026-03621
Anthropic: ANT-2026-03867
Co-authored-by: Alessandro Gario <alessandro.gario@trailofbits.com>
CVE: CVE-2026-56132
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/3a4eaf47af8fd7abda38ea2c08308c91152061f3]
Backport Changes:
- Adapt scaffIndex sizing to Scarthgap 2.6.4, where m_groupSize is
not temporarily doubled before reallocation.
Keep the branch's equivalent size_t overflow check.
(cherry picked from commit 3a4eaf47af8fd7abda38ea2c08308c91152061f3)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/lib/xmlparse.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c
index 8439dc0e..e9ad78df 100644
--- a/expat/lib/xmlparse.c
+++ b/expat/lib/xmlparse.c
@@ -423,6 +423,7 @@ typedef struct {
unsigned scaffCount;
int scaffLevel;
int *scaffIndex;
+ size_t scaffIndexSize;
} DTD;
enum EntityType {
@@ -5975,6 +5976,7 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end,
if (new_scaff_index == NULL)
return XML_ERROR_NO_MEMORY;
dtd->scaffIndex = new_scaff_index;
+ dtd->scaffIndexSize = parser->m_groupSize;
}
} else {
parser->m_groupConnector = MALLOC(parser, parser->m_groupSize = 32);
@@ -7575,6 +7577,7 @@ dtdCreate(XML_Parser parser) {
p->in_eldecl = XML_FALSE;
p->scaffIndex = NULL;
+ p->scaffIndexSize = 0;
p->scaffold = NULL;
p->scaffLevel = 0;
p->scaffSize = 0;
@@ -7615,6 +7618,7 @@ dtdReset(DTD *p, XML_Parser parser) {
FREE(parser, p->scaffIndex);
p->scaffIndex = NULL;
+ p->scaffIndexSize = 0;
FREE(parser, p->scaffold);
p->scaffold = NULL;
@@ -7790,6 +7794,7 @@ dtdCopy(XML_Parser oldParser, DTD *newDtd, const DTD *oldDtd,
newDtd->scaffSize = oldDtd->scaffSize;
newDtd->scaffLevel = oldDtd->scaffLevel;
newDtd->scaffIndex = oldDtd->scaffIndex;
+ newDtd->scaffIndexSize = oldDtd->scaffIndexSize;
return 1;
} /* End dtdCopy */
@@ -8310,6 +8315,7 @@ nextScaffoldPart(XML_Parser parser) {
dtd->scaffIndex = MALLOC(parser, parser->m_groupSize * sizeof(int));
if (! dtd->scaffIndex)
return -1;
+ dtd->scaffIndexSize = parser->m_groupSize;
dtd->scaffIndex[0] = 0;
}

View File

@@ -0,0 +1,60 @@
From a4c1b874dffcc80ee63ca3b4d6a1537c56da8dc1 Mon Sep 17 00:00:00 2001
From: Matthew Fernandez <matthew.fernandez@gmail.com>
Date: Thu, 4 Jun 2026 17:01:02 -0700
Subject: [PATCH 14/17] lib: doProlog: Fix out-of-bound scaffolding index store
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The scaffold backing array is reallocated using the caller parsers
per-parser `m_groupSize`, but the DTD struct (which carries
`scaffIndex`) is shared between a parent parser and any external
parameter-entity sub-parser created via
`XML_ExternalEntityParserCreate(parent, NULL, …)`. A sub-parser whose
group nesting is shallower than the parents can `REALLOC` the shared
`scaffIndex` down to its own size; when the parent resumes and parses a
deeper element content model, its bounds check passes (its private
`m_groupSize` is still large enough), the doubling-grow path is skipped,
and the next write lands past the shrunken buffer.
Anthropic: ANT-2026-00037
Anthropic: ANT-2026-03621
Anthropic: ANT-2026-03867
Co-authored-by: Alessandro Gario <alessandro.gario@trailofbits.com>
Reported-by: Trail of Bits, in collaboration with Anthropic
CVE: CVE-2026-56132
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/58400483d7c97be316d7a77739c0a6af5d55932e]
(cherry picked from commit 58400483d7c97be316d7a77739c0a6af5d55932e)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/lib/xmlparse.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c
index e9ad78df..c46c17bc 100644
--- a/expat/lib/xmlparse.c
+++ b/expat/lib/xmlparse.c
@@ -5992,6 +5992,21 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end,
if (myindex < 0)
return XML_ERROR_NO_MEMORY;
assert(dtd->scaffIndex != NULL);
+ if ((size_t)dtd->scaffLevel >= dtd->scaffIndexSize) {
+ /* Detect and prevent integer overflow */
+ if (dtd->scaffIndexSize > SIZE_MAX / 2 / sizeof(int)) {
+ return XML_ERROR_NO_MEMORY;
+ }
+ assert(dtd->scaffIndexSize > 0);
+ const size_t new_size = dtd->scaffIndexSize * 2;
+ int *const new_scaff_index
+ = REALLOC(parser, dtd->scaffIndex, new_size * sizeof(int));
+ if (new_scaff_index == NULL) {
+ return XML_ERROR_NO_MEMORY;
+ }
+ dtd->scaffIndex = new_scaff_index;
+ dtd->scaffIndexSize = new_size;
+ }
dtd->scaffIndex[dtd->scaffLevel] = myindex;
dtd->scaffLevel++;
dtd->scaffold[myindex].type = XML_CTYPE_SEQ;

View File

@@ -0,0 +1,74 @@
From 5d4d0dab46e077b327f70a7c02a307287e8d1fe5 Mon Sep 17 00:00:00 2001
From: Matthew Fernandez <matthew.fernandez@gmail.com>
Date: Thu, 4 Jun 2026 17:01:02 -0700
Subject: [PATCH 15/17] tests: Add a test case for scaffolding array limits in
shared DTDs
This test case provokes the bug fixed in the previous commit.
Anthropic: ANT-2026-00037
Anthropic: ANT-2026-03621
Anthropic: ANT-2026-03867
Co-authored-by: Alessandro Gario <alessandro.gario@trailofbits.com>
Reported-by: Trail of Bits, in collaboration with Anthropic
CVE: CVE-2026-56132
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/353919b3b9f2174073a557ac7d517a5f3cd0cbbf]
(cherry picked from commit 353919b3b9f2174073a557ac7d517a5f3cd0cbbf)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/tests/basic_tests.c | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/expat/tests/basic_tests.c b/expat/tests/basic_tests.c
index 023d9ce4..d52dcf1c 100644
--- a/expat/tests/basic_tests.c
+++ b/expat/tests/basic_tests.c
@@ -4044,6 +4044,37 @@ START_TEST(test_skipped_external_entity) {
}
END_TEST
+START_TEST(test_scaff_index_shared_across_external_entity_parser) {
+ const char text[]
+ = "<!DOCTYPE doc [\n"
+ "<!ELEMENT a "
+ "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((b))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))>\n"
+ "<!ENTITY % e SYSTEM 'ext'>\n"
+ "%e;\n"
+ "<!ELEMENT c "
+ "(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((d)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))>\n"
+ "]>\n"
+ "<doc/>";
+ ExtOption options[]
+ = {{XCS("ext"),
+ "<!ELEMENT x "
+ "((((((((((((((((((((((((((((((((y))))))))))))))))))))))))))))))))>"},
+ {NULL, NULL}};
+
+ XML_Parser parser = XML_ParserCreate(NULL);
+ XML_SetParamEntityParsing(parser, XML_PARAM_ENTITY_PARSING_ALWAYS);
+ XML_SetUserData(parser, options);
+ XML_SetExternalEntityRefHandler(parser, external_entity_optioner);
+ XML_SetElementDeclHandler(parser, dummy_element_decl_handler);
+
+ if (_XML_Parse_SINGLE_BYTES(parser, text, (int)strlen(text), XML_TRUE)
+ == XML_STATUS_ERROR)
+ xml_failure(parser);
+
+ XML_ParserFree(parser);
+}
+END_TEST
+
/* Test a different form of unknown external entity */
START_TEST(test_skipped_null_loaded_ext_entity) {
const char *text = "<!DOCTYPE doc SYSTEM 'http://example.org/one.ent'>\n"
@@ -6399,6 +6430,8 @@ make_basic_test_case(Suite *s) {
tcase_add_test(tc_basic, test_trailing_cr_in_att_value);
tcase_add_test(tc_basic, test_standalone_internal_entity);
tcase_add_test(tc_basic, test_skipped_external_entity);
+ tcase_add_test__ifdef_xml_dtd(
+ tc_basic, test_scaff_index_shared_across_external_entity_parser);
tcase_add_test(tc_basic, test_skipped_null_loaded_ext_entity);
tcase_add_test(tc_basic, test_skipped_unloaded_ext_entity);
tcase_add_test__ifdef_xml_dtd(tc_basic, test_param_entity_with_trailing_cr);

View File

@@ -0,0 +1,60 @@
From a7d7ed5d6dbcc7231529357d64eb19ede3114868 Mon Sep 17 00:00:00 2001
From: Matthew Fernandez <matthew.fernandez@gmail.com>
Date: Thu, 4 Jun 2026 17:01:02 -0700
Subject: [PATCH 16/17] lib: Remove unnecessary `scaffIndex` expansion
Following the previous changes, all locations that append entries to
`scaffIndex` handle expanding the array if it is not already large
enough. So this extra expansion code is no longer necessary. In some
cases such as processing siblings with alternating scaffolding counts,
this logic would actually _shrink_ the array only to then later
re-expand it.
Anthropic: ANT-2026-00037
Anthropic: ANT-2026-03621
Anthropic: ANT-2026-03867
Co-authored-by: Alessandro Gario <alessandro.gario@trailofbits.com>
CVE: CVE-2026-56132
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/bca93b4ba9e15fd84425568d772b69baebf790e4]
Backport Changes:
- Remove the Scarthgap 2.6.4 scaffIndex resize block because later
append paths already expand the array when required.
(cherry picked from commit bca93b4ba9e15fd84425568d772b69baebf790e4)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/lib/xmlparse.c | 19 -------------------
1 file changed, 19 deletions(-)
diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c
index c46c17bc..3afe2884 100644
--- a/expat/lib/xmlparse.c
+++ b/expat/lib/xmlparse.c
@@ -5959,25 +5959,6 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end,
}
parser->m_groupConnector = new_connector;
}
-
- if (dtd->scaffIndex) {
- /* Detect and prevent integer overflow.
- * The preprocessor guard addresses the "always false" warning
- * from -Wtype-limits on platforms where
- * sizeof(unsigned int) < sizeof(size_t), e.g. on x86_64. */
-#if UINT_MAX >= SIZE_MAX
- if (parser->m_groupSize > (size_t)(-1) / sizeof(int)) {
- return XML_ERROR_NO_MEMORY;
- }
-#endif
-
- int *const new_scaff_index = REALLOC(
- parser, dtd->scaffIndex, parser->m_groupSize * sizeof(int));
- if (new_scaff_index == NULL)
- return XML_ERROR_NO_MEMORY;
- dtd->scaffIndex = new_scaff_index;
- dtd->scaffIndexSize = parser->m_groupSize;
- }
} else {
parser->m_groupConnector = MALLOC(parser, parser->m_groupSize = 32);
if (! parser->m_groupConnector) {

View File

@@ -0,0 +1,56 @@
From 778ba31c47f9930fe339194f4d97081e43893362 Mon Sep 17 00:00:00 2001
From: Matthew Fernandez <matthew.fernandez@gmail.com>
Date: Thu, 4 Jun 2026 17:01:02 -0700
Subject: [PATCH 17/17] lib: Remove indented scoping of `new_connector` local
Following the previous change, the lifetime of `new_connector` as
constrained by this introduced scope was identical to the parent scope.
CVE: CVE-2026-56132
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/08baa7ef9d168b99094249998fd78f8d190526e5]
Backport Changes:
- Retain the Scarthgap 2.6.4 unsigned integer overflow guard while
removing only the redundant new_connector scope.
(cherry picked from commit 08baa7ef9d168b99094249998fd78f8d190526e5)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/lib/xmlparse.c | 22 ++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c
index 3afe2884..df8331d5 100644
--- a/expat/lib/xmlparse.c
+++ b/expat/lib/xmlparse.c
@@ -5945,20 +5945,18 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end,
case XML_ROLE_GROUP_OPEN:
if (parser->m_prologState.level >= parser->m_groupSize) {
if (parser->m_groupSize) {
- {
- /* Detect and prevent integer overflow */
- if (parser->m_groupSize > (unsigned int)(-1) / 2u) {
- return XML_ERROR_NO_MEMORY;
- }
+ /* Detect and prevent integer overflow */
+ if (parser->m_groupSize > (unsigned int)(-1) / 2u) {
+ return XML_ERROR_NO_MEMORY;
+ }
- char *const new_connector = REALLOC(
- parser, parser->m_groupConnector, parser->m_groupSize *= 2);
- if (new_connector == NULL) {
- parser->m_groupSize /= 2;
- return XML_ERROR_NO_MEMORY;
- }
- parser->m_groupConnector = new_connector;
+ char *const new_connector = REALLOC(parser, parser->m_groupConnector,
+ parser->m_groupSize *= 2);
+ if (new_connector == NULL) {
+ parser->m_groupSize /= 2;
+ return XML_ERROR_NO_MEMORY;
}
+ parser->m_groupConnector = new_connector;
} else {
parser->m_groupConnector = MALLOC(parser, parser->m_groupSize = 32);
if (! parser->m_groupConnector) {

View File

@@ -0,0 +1,81 @@
From b689559597116ee75a633453e2f7177c8541b04e Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Wed, 20 May 2026 12:12:10 +0200
Subject: [PATCH 01/17] lib: Protect function `storeAtts` from signed integer
overflow
CVE: CVE-2026-56403
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/12dc6d8d3d65f79471a94d8565f6bf1cf245f648]
Backport Changes:
- Adapt storeAtts to the Scarthgap 2.6.4 loop and URI allocation
logic while preserving the upstream overflow checks.
(cherry picked from commit 12dc6d8d3d65f79471a94d8565f6bf1cf245f648)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/lib/xmlparse.c | 30 ++++++++++++++++++++----------
1 file changed, 20 insertions(+), 10 deletions(-)
diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c
index 9bc67f38..df92a3ca 100644
--- a/expat/lib/xmlparse.c
+++ b/expat/lib/xmlparse.c
@@ -4226,26 +4226,32 @@ storeAtts(XML_Parser parser, const ENCODING *enc, const char *attStr,
return XML_ERROR_NONE;
prefixLen = 0;
if (parser->m_ns_triplets && binding->prefix->name) {
- for (; binding->prefix->name[prefixLen++];)
- ; /* prefixLen includes null terminator */
+ size_t candidateLen = 0;
+ for (; binding->prefix->name[candidateLen++];)
+ ; /* candidateLen includes null terminator */
+ /* Detect and prevent integer overflow */
+ if (candidateLen > INT_MAX)
+ return XML_ERROR_NO_MEMORY;
+ prefixLen = (int)candidateLen;
}
tagNamePtr->localPart = localPart;
tagNamePtr->uriLen = binding->uriLen;
tagNamePtr->prefix = binding->prefix->name;
tagNamePtr->prefixLen = prefixLen;
- for (i = 0; localPart[i++];)
- ; /* i includes null terminator */
+
+ size_t localPartLen = 0;
+ for (; localPart[localPartLen++];)
+ ; /* localPartLen includes null terminator */
/* Detect and prevent integer overflow */
- if (binding->uriLen > INT_MAX - prefixLen
- || i > INT_MAX - (binding->uriLen + prefixLen)) {
+ if (localPartLen > INT_MAX || binding->uriLen > INT_MAX - prefixLen
+ || localPartLen > (size_t)INT_MAX - (binding->uriLen + prefixLen)) {
return XML_ERROR_NO_MEMORY;
}
- n = i + binding->uriLen + prefixLen;
+ n = (int)localPartLen + binding->uriLen + prefixLen;
if (n > binding->uriAlloc) {
TAG *p;
-
/* Detect and prevent integer overflow */
if (n > INT_MAX - EXPAND_SPARE) {
return XML_ERROR_NO_MEMORY;
@@ -4273,10 +4279,14 @@ storeAtts(XML_Parser parser, const ENCODING *enc, const char *attStr,
}
/* if m_namespaceSeparator != '\0' then uri includes it already */
uri = binding->uri + binding->uriLen;
- memcpy(uri, localPart, i * sizeof(XML_Char));
+ /* Detect and prevent integer overflow */
+ if (localPartLen > SIZE_MAX / sizeof(XML_Char)) {
+ return XML_ERROR_NO_MEMORY;
+ }
+ memcpy(uri, localPart, localPartLen * sizeof(XML_Char));
/* we always have a namespace separator between localPart and prefix */
if (prefixLen) {
- uri += i - 1;
+ uri += localPartLen - 1;
*uri = parser->m_namespaceSeparator; /* replace null terminator */
memcpy(uri + 1, binding->prefix->name, prefixLen * sizeof(XML_Char));
}

View File

@@ -0,0 +1,52 @@
From 2855ce68a1ce9732267c06734427930364ab66c1 Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Fri, 22 May 2026 00:43:52 +0200
Subject: [PATCH 02/17] xmlwf: Protect function `xcsdup` from signed integer
overflow
CVE: CVE-2026-56403
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/147c8f36d6277d5c6011c098370a8362aed47b15]
Backport Changes:
- Add stdint.h and convert count and numBytes to size_t because
Scarthgap 2.6.4 lacks these upstream prerequisites.
(cherry picked from commit 147c8f36d6277d5c6011c098370a8362aed47b15)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/xmlwf/xmlwf.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/expat/xmlwf/xmlwf.c b/expat/xmlwf/xmlwf.c
index fd4fc3f8..7bbdb303 100644
--- a/expat/xmlwf/xmlwf.c
+++ b/expat/xmlwf/xmlwf.c
@@ -45,6 +45,7 @@
#include <assert.h>
#include <stdio.h>
+#include <stdint.h>
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
@@ -304,13 +305,18 @@ processingInstruction(void *userData, const XML_Char *target,
static XML_Char *
xcsdup(const XML_Char *s) {
XML_Char *result;
- int count = 0;
- int numBytes;
+ size_t count = 0;
+ size_t numBytes;
/* Get the length of the string, including terminator */
while (s[count++] != 0) {
/* Do nothing */
}
+
+ // Detect and prevent integer overflow
+ if (count > SIZE_MAX / sizeof(XML_Char))
+ return NULL;
+
numBytes = count * sizeof(XML_Char);
result = malloc(numBytes);
if (result == NULL)

View File

@@ -0,0 +1,45 @@
From d8e09a54fa9214e64d8e73057ca6918d08857022 Mon Sep 17 00:00:00 2001
From: netliomax25-code <netliomax25@gmail.com>
Date: Thu, 28 May 2026 12:44:11 +0530
Subject: [PATCH 04/17] lib: protect function addBinding from signed integer
overflow
CVE: CVE-2026-56404
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/babfc48090977cbf7be24b2c48f6053dca75c164]
(cherry picked from commit babfc48090977cbf7be24b2c48f6053dca75c164)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/lib/xmlparse.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c
index 12bbe23e..9d21e136 100644
--- a/expat/lib/xmlparse.c
+++ b/expat/lib/xmlparse.c
@@ -4456,6 +4456,10 @@ addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId,
}
for (len = 0; uri[len]; len++) {
+ /* Detect and prevent signed integer overflow */
+ if (len == INT_MAX) {
+ return XML_ERROR_NO_MEMORY;
+ }
if (isXML && (len > xmlLen || uri[len] != xmlNamespace[len]))
isXML = XML_FALSE;
@@ -4496,8 +4500,13 @@ addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId,
if (isXMLNS)
return XML_ERROR_RESERVED_NAMESPACE_URI;
- if (parser->m_namespaceSeparator)
+ if (parser->m_namespaceSeparator) {
+ /* Detect and prevent signed integer overflow */
+ if (len == INT_MAX) {
+ return XML_ERROR_NO_MEMORY;
+ }
len++;
+ }
if (parser->m_freeBindingList) {
b = parser->m_freeBindingList;
if (len > b->uriAlloc) {

View File

@@ -0,0 +1,30 @@
From 49ba5bdafa7aaee9b77a32ffaa798e625bd46e73 Mon Sep 17 00:00:00 2001
From: netliomax25-code <netliomax25@gmail.com>
Date: Fri, 29 May 2026 11:45:17 +0530
Subject: [PATCH 05/17] lib: Protect function getAttributeId from signed
integer overflow
CVE: CVE-2026-56405
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/2c6c42d33689f6b266a5267b639e03cde17e53c0]
(cherry picked from commit 2c6c42d33689f6b266a5267b639e03cde17e53c0)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/lib/xmlparse.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c
index 9d21e136..80ad0811 100644
--- a/expat/lib/xmlparse.c
+++ b/expat/lib/xmlparse.c
@@ -7312,6 +7312,10 @@ getAttributeId(XML_Parser parser, const ENCODING *enc, const char *start,
} else {
int i;
for (i = 0; name[i]; i++) {
+ /* Detect and prevent signed integer overflow */
+ if (i == INT_MAX) {
+ return NULL;
+ }
/* attributes without prefix are *not* in the default namespace */
if (name[i] == XML_T(ASCII_COLON)) {
int j;

View File

@@ -0,0 +1,59 @@
From 9aafa47798332618f08af046c3471de1f3a9e031 Mon Sep 17 00:00:00 2001
From: Matthew Fernandez <matthew.fernandez@gmail.com>
Date: Wed, 27 May 2026 17:01:44 -0700
Subject: [PATCH 08/17] lib: Make `XML_Index` overflow check more intuitive
In fixing a bug, 7e5b71b748491b6e459e5c9a1d090820f94544d8 introduced a magic number `2` in this code that made it difficult to understand the rationale for this overflow check without reading the commit log. This change introduces some more readable constants to use in these situations.
CVE: CVE-2026-56406
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/252ff1a307b1490ce0f430632791e7e52d7e43fd]
Backport Changes:
- Adapt include context for Scarthgap 2.6.4 and expose SIZE_MAX in
the existing stdint.h comment.
(cherry picked from commit 252ff1a307b1490ce0f430632791e7e52d7e43fd)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/lib/xmlparse.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c
index 80ad0811..5bf706b0 100644
--- a/expat/lib/xmlparse.c
+++ b/expat/lib/xmlparse.c
@@ -97,10 +97,10 @@
#include <stddef.h>
#include <string.h> /* memset(), memcpy() */
#include <assert.h>
-#include <limits.h> /* UINT_MAX */
+#include <limits.h> /* INT_MAX, LLONG_MAX, LONG_MAX, UINT_MAX */
#include <stdio.h> /* fprintf */
#include <stdlib.h> /* getenv, rand_s */
-#include <stdint.h> /* uintptr_t */
+#include <stdint.h> /* SIZE_MAX, uintptr_t */
#include <math.h> /* isnan */
#ifdef _WIN32
@@ -211,6 +211,12 @@ typedef char ICHAR;
#endif
+#ifdef XML_LARGE_SIZE
+# define XML_INDEX_MAX LLONG_MAX
+#else
+# define XML_INDEX_MAX LONG_MAX
+#endif
+
/* Round up n to be a multiple of sz, where sz is a power of 2. */
#define ROUND_UP(n, sz) (((n) + ((sz) - 1)) & ~((sz) - 1))
@@ -2360,7 +2366,7 @@ XML_Parse(XML_Parser parser, const char *s, int len, int isFinal) {
int nLeftOver;
enum XML_Status result;
/* Detect overflow (a+b > MAX <==> b > MAX-a) */
- if ((XML_Size)len > ((XML_Size)-1) / 2 - parser->m_parseEndByteIndex) {
+ if (len > XML_INDEX_MAX - parser->m_parseEndByteIndex) {
parser->m_errorCode = XML_ERROR_NO_MEMORY;
parser->m_eventPtr = parser->m_eventEndPtr = NULL;
parser->m_processor = errorProcessor;

View File

@@ -0,0 +1,34 @@
From 5db699faa6af1c66e96abec5dbd1908efd64ef70 Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Sun, 31 May 2026 15:18:58 +0200
Subject: [PATCH 09/17] lib: Copy overflow check from `XML_Parse` to
`XML_ParseBuffer`
CVE: CVE-2026-56406
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/99d8454fdf900a6d00c2a52748e6c0eeb507574d]
(cherry picked from commit 99d8454fdf900a6d00c2a52748e6c0eeb507574d)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/lib/xmlparse.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c
index 5bf706b0..9f07b860 100644
--- a/expat/lib/xmlparse.c
+++ b/expat/lib/xmlparse.c
@@ -2483,6 +2483,14 @@ XML_ParseBuffer(XML_Parser parser, int len, int isFinal) {
parser->m_parsingStatus.parsing = XML_PARSING;
}
+ // Detect and avoid integer overflow
+ if (len > XML_INDEX_MAX - parser->m_parseEndByteIndex) {
+ parser->m_errorCode = XML_ERROR_NO_MEMORY;
+ parser->m_eventPtr = parser->m_eventEndPtr = NULL;
+ parser->m_processor = errorProcessor;
+ return XML_STATUS_ERROR;
+ }
+
start = parser->m_bufferPtr;
parser->m_positionPtr = start;
parser->m_bufferEnd += len;

View File

@@ -0,0 +1,41 @@
From d1cd2bd7da8ed830e9432660616e9b4831df959a Mon Sep 17 00:00:00 2001
From: netliomax25-code <netliomax25@gmail.com>
Date: Tue, 2 Jun 2026 11:59:01 +0530
Subject: [PATCH 12/17] cap entity textLen against signed integer overflow
CVE: CVE-2026-56407
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/30c2fc179ce5d2b1b1bae30bbe0dfddeac894e13]
(cherry picked from commit 30c2fc179ce5d2b1b1bae30bbe0dfddeac894e13)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/lib/xmlparse.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c
index 9f07b860..8439dc0e 100644
--- a/expat/lib/xmlparse.c
+++ b/expat/lib/xmlparse.c
@@ -5655,6 +5655,10 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end,
parser, enc, s + enc->minBytesPerChar, next - enc->minBytesPerChar,
XML_ACCOUNT_NONE);
if (parser->m_declEntity) {
+ /* Detect and prevent signed integer overflow */
+ if ((size_t)poolLength(&dtd->entityValuePool) > (size_t)INT_MAX) {
+ return XML_ERROR_NO_MEMORY;
+ }
parser->m_declEntity->textPtr = poolStart(&dtd->entityValuePool);
parser->m_declEntity->textLen
= (int)(poolLength(&dtd->entityValuePool));
@@ -7076,6 +7080,11 @@ storeSelfEntityValue(XML_Parser parser, ENTITY *entity) {
return XML_ERROR_NO_MEMORY;
}
+ /* Detect and prevent signed integer overflow */
+ if ((size_t)poolLength(pool) > (size_t)INT_MAX) {
+ poolDiscard(pool);
+ return XML_ERROR_NO_MEMORY;
+ }
entity->textPtr = poolStart(pool);
entity->textLen = (int)(poolLength(pool));
poolFinish(pool);

View File

@@ -0,0 +1,29 @@
From c1ad5610cf060c6374d8f8d3b39163edd7053321 Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Thu, 23 Apr 2026 10:31:45 +0200
Subject: [PATCH 03/17] lib: Waterproof `copyString` from integer overflow
CVE: CVE-2026-56408
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/16e2efd867ea8567ffa012210b52ef5918e20817]
(cherry picked from commit 16e2efd867ea8567ffa012210b52ef5918e20817)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/lib/xmlparse.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c
index df92a3ca..12bbe23e 100644
--- a/expat/lib/xmlparse.c
+++ b/expat/lib/xmlparse.c
@@ -8489,6 +8489,10 @@ copyString(const XML_Char *s, XML_Parser parser) {
/* Include the terminator */
charsRequired++;
+ /* Detect and prevent integer overflow */
+ if (charsRequired > SIZE_MAX / sizeof(XML_Char))
+ return NULL;
+
/* Now allocate space for the copy */
result = MALLOC(parser, charsRequired * sizeof(XML_Char));
if (result == NULL)

View File

@@ -0,0 +1,51 @@
From 174ce18f2a283be634d830a5259bd07142635fe8 Mon Sep 17 00:00:00 2001
From: netliomax25-code <netliomax25@gmail.com>
Date: Mon, 1 Jun 2026 11:53:19 +0530
Subject: [PATCH 10/17] xmlwf: protect output path join from integer overflow
CVE: CVE-2026-56409
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/61f7cdda22546c4bee38dd2d3fa3d6e4aa64d33e]
Backport Changes:
- Adapt the allocation hunk to the explicit XML_Char cast used by
Scarthgap 2.6.4; overflow checks are unchanged.
(cherry picked from commit 61f7cdda22546c4bee38dd2d3fa3d6e4aa64d33e)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/xmlwf/xmlwf.c | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/expat/xmlwf/xmlwf.c b/expat/xmlwf/xmlwf.c
index 7bbdb303..bd5f68a4 100644
--- a/expat/xmlwf/xmlwf.c
+++ b/expat/xmlwf/xmlwf.c
@@ -1240,8 +1240,26 @@ tmain(int argc, XML_Char **argv) {
}
#endif
}
- outName = (XML_Char *)malloc((tcslen(outputDir) + tcslen(file) + 2)
- * sizeof(XML_Char));
+ const size_t outputDirLen = tcslen(outputDir);
+ const size_t fileLen = tcslen(file);
+
+ /* Detect and prevent integer overflow in the addition (without
+ risking underflow) and the multiplication, mirroring the guards
+ in xcsdup() and resolveSystemId() */
+ if (outputDirLen > SIZE_MAX - fileLen
+ || outputDirLen > SIZE_MAX - fileLen - 2) {
+ tperror(T("Could not allocate memory"));
+ exit(XMLWF_EXIT_INTERNAL_ERROR);
+ }
+
+ const size_t charsRequired = outputDirLen + fileLen + 2;
+
+ if (charsRequired > SIZE_MAX / sizeof(XML_Char)) {
+ tperror(T("Could not allocate memory"));
+ exit(XMLWF_EXIT_INTERNAL_ERROR);
+ }
+
+ outName = malloc(charsRequired * sizeof(XML_Char));
if (! outName) {
tperror(T("Could not allocate memory"));
exit(XMLWF_EXIT_INTERNAL_ERROR);

View File

@@ -0,0 +1,46 @@
From b454931c42290c9f0faf2a01f9634d82db636bac Mon Sep 17 00:00:00 2001
From: netliomax25-code <netliomax25@gmail.com>
Date: Fri, 29 May 2026 17:51:25 +0530
Subject: [PATCH 06/17] xmlwf: protect resolveSystemId from integer overflow
CVE: CVE-2026-56410
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/deeb97f7c88d17a16b0ea2521a13733abc283347]
Backport Changes:
- Adapt the allocation hunk to Scarthgap 2.6.4's explicit cast and
include stdint.h so SIZE_MAX is available.
(cherry picked from commit deeb97f7c88d17a16b0ea2521a13733abc283347)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/xmlwf/xmlfile.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/expat/xmlwf/xmlfile.c b/expat/xmlwf/xmlfile.c
index 9c4f7f8d..ad691b12 100644
--- a/expat/xmlwf/xmlfile.c
+++ b/expat/xmlwf/xmlfile.c
@@ -41,6 +41,7 @@
#include "expat_config.h"
#include <stdio.h>
+#include <stdint.h>
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
@@ -130,8 +131,13 @@ resolveSystemId(const XML_Char *base, const XML_Char *systemId,
#endif
)
return systemId;
- *toFree = (XML_Char *)malloc((tcslen(base) + tcslen(systemId) + 2)
- * sizeof(XML_Char));
+ const size_t charsRequired = tcslen(base) + tcslen(systemId) + 2;
+
+ /* Detect and prevent integer overflow */
+ if (charsRequired > SIZE_MAX / sizeof(XML_Char))
+ return systemId;
+
+ *toFree = malloc(charsRequired * sizeof(XML_Char));
if (! *toFree)
return systemId;
tcscpy(*toFree, base);

View File

@@ -0,0 +1,39 @@
From 7e6230212ddc4ea74115218fdbe5717e8e1c0f2b Mon Sep 17 00:00:00 2001
From: netliomax25-code <netliomax25@gmail.com>
Date: Sat, 30 May 2026 11:28:51 +0530
Subject: [PATCH 07/17] xmlwf: guard each operator in resolveSystemId length
sum
CVE: CVE-2026-56410
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/cee20e91bf14dc7f6d2fc48f0d70d86b2dc3afea]
(cherry picked from commit cee20e91bf14dc7f6d2fc48f0d70d86b2dc3afea)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/xmlwf/xmlfile.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/expat/xmlwf/xmlfile.c b/expat/xmlwf/xmlfile.c
index ad691b12..4d2e3220 100644
--- a/expat/xmlwf/xmlfile.c
+++ b/expat/xmlwf/xmlfile.c
@@ -131,9 +131,17 @@ resolveSystemId(const XML_Char *base, const XML_Char *systemId,
#endif
)
return systemId;
- const size_t charsRequired = tcslen(base) + tcslen(systemId) + 2;
+ const size_t baseLen = tcslen(base);
+ const size_t systemIdLen = tcslen(systemId);
- /* Detect and prevent integer overflow */
+ /* Detect and prevent integer overflow in the addition (without risking
+ underflow) */
+ if (baseLen > SIZE_MAX - systemIdLen || baseLen > SIZE_MAX - systemIdLen - 2)
+ return systemId;
+
+ const size_t charsRequired = baseLen + systemIdLen + 2;
+
+ /* Detect and prevent integer overflow in the multiplication */
if (charsRequired > SIZE_MAX / sizeof(XML_Char))
return systemId;

View File

@@ -0,0 +1,50 @@
From 5e696e78f8c4a709c4f774973b142e57090c4364 Mon Sep 17 00:00:00 2001
From: netliomax25-code <netliomax25@gmail.com>
Date: Tue, 2 Jun 2026 13:13:34 +0530
Subject: [PATCH 11/17] xmlwf: protect notation list allocation from integer
overflow
CVE: CVE-2026-56411
Upstream-Status: Backport [https://github.com/libexpat/libexpat/commit/528a4e5017e1bd3b48b689fd0c131df940ae3ea5]
Backport Changes:
- Use Scarthgap 2.6.4 freeNotations cleanup and return directly
because the newer shared cleanUp label is absent.
(cherry picked from commit 528a4e5017e1bd3b48b689fd0c131df940ae3ea5)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
expat/xmlwf/xmlwf.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/expat/xmlwf/xmlwf.c b/expat/xmlwf/xmlwf.c
index bd5f68a4..6a3d31b7 100644
--- a/expat/xmlwf/xmlwf.c
+++ b/expat/xmlwf/xmlwf.c
@@ -387,9 +387,9 @@ static void XMLCALL
endDoctypeDecl(void *userData) {
XmlwfUserData *data = (XmlwfUserData *)userData;
NotationList **notations;
- int notationCount = 0;
+ size_t notationCount = 0;
NotationList *p;
- int i;
+ size_t i;
/* How many notations do we have? */
for (p = data->notationListHead; p != NULL; p = p->next)
@@ -401,6 +401,14 @@ endDoctypeDecl(void *userData) {
return;
}
+ /* Detect and prevent integer overflow in the multiplication, mirroring
+ the guards in xcsdup() and resolveSystemId() */
+ if (notationCount > SIZE_MAX / sizeof(NotationList *)) {
+ fprintf(stderr, "Unable to sort notations");
+ freeNotations(data);
+ return;
+ }
+
notations = malloc(notationCount * sizeof(NotationList *));
if (notations == NULL) {
fprintf(stderr, "Unable to sort notations");

View File

@@ -51,6 +51,33 @@ SRC_URI = "${GITHUB_BASE_URI}/download/R_${VERSION_TAG}/expat-${PV}.tar.bz2 \
file://CVE-2026-32777-02.patch \
file://CVE-2026-32778-01.patch \
file://CVE-2026-32778-02.patch \
file://CVE-2026-41080-01.patch \
file://CVE-2026-41080-02.patch \
file://CVE-2026-41080-03.patch \
file://CVE-2026-45186-01.patch \
file://CVE-2026-45186-02.patch \
file://CVE-2026-45186-03.patch \
file://CVE-2026-45186-04.patch \
file://CVE-2026-45186-05.patch \
file://CVE-2026-45186-06.patch \
file://CVE-2026-45186-07.patch \
file://CVE-2026-56403_p1.patch;striplevel=2 \
file://CVE-2026-56403_p2.patch;striplevel=2 \
file://CVE-2026-56408.patch;striplevel=2 \
file://CVE-2026-56404.patch;striplevel=2 \
file://CVE-2026-56405.patch;striplevel=2 \
file://CVE-2026-56410_p1.patch;striplevel=2 \
file://CVE-2026-56410_p2.patch;striplevel=2 \
file://CVE-2026-56406-dependent.patch;striplevel=2 \
file://CVE-2026-56406.patch;striplevel=2 \
file://CVE-2026-56409.patch;striplevel=2 \
file://CVE-2026-56411.patch;striplevel=2 \
file://CVE-2026-56407.patch;striplevel=2 \
file://CVE-2026-56132_p1.patch;striplevel=2 \
file://CVE-2026-56132_p2.patch;striplevel=2 \
file://CVE-2026-56132_p3.patch;striplevel=2 \
file://CVE-2026-56132_p4.patch;striplevel=2 \
file://CVE-2026-56132_p5.patch;striplevel=2 \
"
GITHUB_BASE_URI = "https://github.com/libexpat/libexpat/releases/"

View File

@@ -0,0 +1,113 @@
From 333f164f00fb874e3c670ce70d2a2a3667b9ebf9 Mon Sep 17 00:00:00 2001
From: Philip Withnall <pwithnall@gnome.org>
Date: Sun, 29 Mar 2026 19:10:41 +0100
Subject: [PATCH] gvariant: Fix an off-by-one error in an offset comparison
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This allows a single byte out-of-bounds read off the end of the
(potentially untrusted) byte array backing a `GVariant` when its
being checked for normal form.
I cant see how this could practically be exploited, but its certainly
a security bug as the `GVariant` normal form checking code is supposed
to be robust to malicious inputs.
Spotted by linhlhq as #YWH-PGM9867-190, and fix and reproducer provided
by them too, thanks. Confirmed and turned into a unit test by me.
Fixes: #3915
CVE: CVE-2026-58010
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/aa1cb87d56111ef989811e824f0ac77484cc997f]
Signed-off-by: Philip Withnall <pwithnall@gnome.org>
(cherry picked from commit aa1cb87d56111ef989811e824f0ac77484cc997f)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
glib/gvariant-serialiser.c | 2 +-
glib/tests/gvariant.c | 48 ++++++++++++++++++++++++++++++++++++++
2 files changed, 49 insertions(+), 1 deletion(-)
diff --git a/glib/gvariant-serialiser.c b/glib/gvariant-serialiser.c
index 4e4a73ad1..99a1d3fbd 100644
--- a/glib/gvariant-serialiser.c
+++ b/glib/gvariant-serialiser.c
@@ -1247,7 +1247,7 @@ gvs_tuple_is_normal (GVariantSerialised value)
while (offset & alignment)
{
- if (offset > value.size || value.data[offset] != '\0')
+ if (offset >= value.size || value.data[offset] != '\0')
return FALSE;
offset++;
}
diff --git a/glib/tests/gvariant.c b/glib/tests/gvariant.c
index c8f13360c..55e2cee00 100644
--- a/glib/tests/gvariant.c
+++ b/glib/tests/gvariant.c
@@ -5637,6 +5637,52 @@ test_normal_checking_tuple_offsets5 (void)
g_variant_unref (variant);
}
+/* This is a regression test that looping over the padding bytes in a short
+ * (non-normal) tuple doesnt overflow the input data.
+ *
+ * See https://gitlab.gnome.org/GNOME/glib/-/issues/3915 */
+static void
+test_normal_checking_tuple_offsets6 (void)
+{
+ /*
+ * Type: (ynqiuxthdsog) — 12 members, first member 'y' (byte) has
+ * alignment 0, second 'n' (int16) has alignment 1.
+ * With 1 byte of data (0x28), after reading the first byte member,
+ * offset=1, alignment check for 'n' requires offset to be even,
+ * so the while loop checks value.data[1] — but size is only 1.
+ *
+ * Use heap allocation via GBytes so ASan reports heap-buffer-overflow.
+ */
+ guint8 *heap_data = NULL;
+ GBytes *bytes = NULL;
+ const GVariantType *data_type = G_VARIANT_TYPE ("(ynqiuxthdsog)");
+ GVariant *variant = NULL;
+ GVariant *normal_variant = NULL;
+ GVariant *expected = NULL;
+
+ g_test_bug ("https://gitlab.gnome.org/GNOME/glib/-/issues/3915");
+
+ heap_data = g_malloc (1);
+ heap_data[0] = 0x28;
+ bytes = g_bytes_new_take (heap_data, 1);
+
+ variant = g_variant_new_from_bytes (data_type, bytes, FALSE);
+ g_assert_nonnull (variant);
+
+ g_assert_false (g_variant_is_normal_form (variant));
+
+ normal_variant = g_variant_get_normal_form (variant);
+ g_assert_nonnull (normal_variant);
+
+ expected = g_variant_new_parsed ("(byte 0x28, int16 0, uint16 0, 0, uint32 0, int64 0, uint64 0, handle 0, 0.0, '', objectpath '/', signature '')");
+ g_assert_cmpvariant (expected, variant);
+ g_assert_cmpvariant (expected, normal_variant);
+
+ g_variant_unref (expected);
+ g_variant_unref (normal_variant);
+ g_variant_unref (variant);
+}
+
/* Test that an otherwise-valid serialised GVariant is considered non-normal if
* its offset table entries are too wide.
*
@@ -5890,6 +5936,8 @@ main (int argc, char **argv)
test_normal_checking_tuple_offsets4);
g_test_add_func ("/gvariant/normal-checking/tuple-offsets5",
test_normal_checking_tuple_offsets5);
+ g_test_add_func ("/gvariant/normal-checking/tuple-offsets6",
+ test_normal_checking_tuple_offsets6);
g_test_add_func ("/gvariant/normal-checking/tuple-offsets/minimal-sized",
test_normal_checking_tuple_offsets_minimal_sized);
g_test_add_func ("/gvariant/normal-checking/empty-object-path",
--
2.35.6

View File

@@ -0,0 +1,78 @@
From 371dbccb6b9a9a42b93c4b371214b159e7e94792 Mon Sep 17 00:00:00 2001
From: Philip Withnall <pwithnall@gnome.org>
Date: Sun, 29 Mar 2026 23:46:17 +0100
Subject: [PATCH] gdatetime: Add missing range validation to
g_date_time_add_full()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Otherwise its possible to create a non-`NULL` but invalid `GDateTime`,
which breaks all kinds of internal assumptions.
Spotted by linhlhq as #YWH-PGM9867-191. Thanks to them for providing a
suggested fix and a test case, which I have adapted and validated.
Fixes: #3917
CVE: CVE-2026-58011
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/ae27363f025ffc131e2d75ee88a5cd8320dffe3b]
Backport Changes:
- Used the target branch's existing literal day bounds because it does
not have upstream's MIN_DAYS/MAX_DAYS helper macros.
Signed-off-by: Philip Withnall <pwithnall@gnome.org>
(cherry picked from commit ae27363f025ffc131e2d75ee88a5cd8320dffe3b)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
glib/gdatetime.c | 4 +++-
glib/tests/gdatetime.c | 18 ++++++++++++++++++
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/glib/gdatetime.c b/glib/gdatetime.c
index 2640e3b24..73eea643b 100644
--- a/glib/gdatetime.c
+++ b/glib/gdatetime.c
@@ -2024,7 +2024,9 @@ g_date_time_add_full (GDateTime *datetime,
new->days = full_time / USEC_PER_DAY;
new->usec = full_time % USEC_PER_DAY;
- /* XXX validate */
+ /* Validate its still in the range 0001-01-01 to 9999-12-31 */
+ if (new->days < 1 || new->days > 3652059)
+ g_clear_pointer (&new, g_date_time_unref);
return new;
}
diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c
index 49390c900..527d61a11 100644
--- a/glib/tests/gdatetime.c
+++ b/glib/tests/gdatetime.c
@@ -1117,6 +1117,24 @@ test_GDateTime_add_full (void)
TEST_ADD_FULL (2010, 8, 25, 22, 45, 0,
0, 1, 6, 1, 25, 0,
2010, 10, 2, 0, 10, 0);
+
+#define TEST_ADD_FULL_ERROR(y,m,d,h,mi,s,ay,am,ad,ah,ami,as) G_STMT_START { \
+ GDateTime *dt; \
+ dt = g_date_time_new_utc (y, m, d, h, mi, s); \
+ g_assert_null (g_date_time_add_full (dt, ay, am, ad, ah, ami, as)); \
+ g_date_time_unref (dt); \
+} G_STMT_END
+
+ TEST_ADD_FULL_ERROR ( 1, 12, 1, 0, 0, 0,
+ -1, 0, 0, 0, 0, 0);
+ TEST_ADD_FULL_ERROR ( 1, 12, 1, 0, 0, 0,
+ 10000, 0, 0, 0, 0, 0);
+ TEST_ADD_FULL_ERROR ( 9999, 12, 1, 0, 0, 0,
+ -10000, 0, 0, 0, 0, 0);
+ TEST_ADD_FULL_ERROR ( 1, 12, 1, 0, 0, 0,
+ 0, 0, 3660001, 0, 0, 0);
+ TEST_ADD_FULL_ERROR ( 9999, 12, 1, 0, 0, 0,
+ 0, 0, -3660001, 0, 0, 0);
}
static void
--
2.35.6

View File

@@ -0,0 +1,228 @@
From 74564fefcec22fc1efc187c36aa1fb8dcfe34454 Mon Sep 17 00:00:00 2001
From: Philip Withnall <pwithnall@gnome.org>
Date: Tue, 31 Mar 2026 16:13:57 +0100
Subject: [PATCH] gregex: Fix case changing substitutions with G_REGEX_RAW
In `G_REGEX_RAW` mode, the input string is treated as a byte array
(basically ASCII) rather than a unichar array. Accordingly, the case
changing code for substitutions needs to operate on bytes with
`G_REGEX_RAW`, rather than operating on unichars.
This fixes a potential buffer overflow when trying to do a case change
on a match of a set of bytes which are a truncated multi-byte UTF-8
encoding at the end of the input buffer.
Spotted by linhlhq as #YWH-PGM9867-193. I adapted their reproducer as
the unit test, but implemented the fix in `gregex.c` independently.
Fixes: #3918
CVE: CVE-2026-58012
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/d337aabd24ee2b8ac2a690dba3ccf26aa70e638f]
Signed-off-by: Philip Withnall <pwithnall@gnome.org>
(cherry picked from commit d337aabd24ee2b8ac2a690dba3ccf26aa70e638f)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
glib/gregex.c | 59 ++++++++++++++++++++++++++++++++++------------
glib/tests/regex.c | 53 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 97 insertions(+), 15 deletions(-)
diff --git a/glib/gregex.c b/glib/gregex.c
index 116ecacbb..496b34bbd 100644
--- a/glib/gregex.c
+++ b/glib/gregex.c
@@ -3147,19 +3147,25 @@ split_replacement (const gchar *replacement,
return g_list_reverse (list);
}
-/* Change the case of c based on change_case. */
-#define CHANGE_CASE(c, change_case) \
+/* Change the case of c based on change_case.
+ * g_ascii_to*() will happily pass through non-ASCII bytes unchanged. */
+#define UTF8_CHANGE_CASE(c, change_case) \
(((change_case) & CHANGE_CASE_LOWER_MASK) ? \
g_unichar_tolower (c) : \
g_unichar_toupper (c))
+#define RAW_CHANGE_CASE(c, change_case) \
+ (((change_case) & CHANGE_CASE_LOWER_MASK) ? \
+ g_ascii_tolower (c) : \
+ g_ascii_toupper (c))
+/* If @text_is_raw is set, @text might not be valid UTF-8 (but will be
+ * nul-terminated). */
static void
string_append (GString *string,
const gchar *text,
+ gboolean text_is_raw,
ChangeCase *change_case)
{
- gunichar c;
-
if (text[0] == '\0')
return;
@@ -3169,22 +3175,44 @@ string_append (GString *string,
}
else if (*change_case & CHANGE_CASE_SINGLE_MASK)
{
- c = g_utf8_get_char (text);
- g_string_append_unichar (string, CHANGE_CASE (c, *change_case));
- g_string_append (string, g_utf8_next_char (text));
+ if (!text_is_raw)
+ {
+ gunichar c = g_utf8_get_char (text);
+ g_string_append_unichar (string, UTF8_CHANGE_CASE (c, *change_case));
+ g_string_append (string, g_utf8_next_char (text));
+ }
+ else
+ {
+ g_string_append_c (string, RAW_CHANGE_CASE (text[0], *change_case));
+ g_string_append (string, text + 1);
+ }
+
*change_case = CHANGE_CASE_NONE;
}
else
{
- while (*text != '\0')
+ if (!text_is_raw)
{
- c = g_utf8_get_char (text);
- g_string_append_unichar (string, CHANGE_CASE (c, *change_case));
- text = g_utf8_next_char (text);
+ while (*text != '\0')
+ {
+ gunichar c = g_utf8_get_char (text);
+ g_string_append_unichar (string, UTF8_CHANGE_CASE (c, *change_case));
+ text = g_utf8_next_char (text);
+ }
+ }
+ else
+ {
+ while (*text != '\0')
+ {
+ char c = *text;
+ g_string_append_c (string, RAW_CHANGE_CASE (c, *change_case));
+ text++;
+ }
}
}
}
+/* @match_info is (nullable) */
static gboolean
interpolate_replacement (const GMatchInfo *match_info,
GString *result,
@@ -3194,6 +3222,7 @@ interpolate_replacement (const GMatchInfo *match_info,
InterpolationData *idata;
gchar *match;
ChangeCase change_case = CHANGE_CASE_NONE;
+ gboolean is_raw = (match_info != NULL && (match_info->regex->orig_compile_opts & G_REGEX_RAW));
for (list = data; list; list = list->next)
{
@@ -3201,10 +3230,10 @@ interpolate_replacement (const GMatchInfo *match_info,
switch (idata->type)
{
case REPL_TYPE_STRING:
- string_append (result, idata->text, &change_case);
+ string_append (result, idata->text, is_raw, &change_case);
break;
case REPL_TYPE_CHARACTER:
- g_string_append_c (result, CHANGE_CASE (idata->c, change_case));
+ g_string_append_c (result, UTF8_CHANGE_CASE (idata->c, change_case));
if (change_case & CHANGE_CASE_SINGLE_MASK)
change_case = CHANGE_CASE_NONE;
break;
@@ -3212,7 +3241,7 @@ interpolate_replacement (const GMatchInfo *match_info,
match = g_match_info_fetch (match_info, idata->num);
if (match)
{
- string_append (result, match, &change_case);
+ string_append (result, match, is_raw, &change_case);
g_free (match);
}
break;
@@ -3220,7 +3249,7 @@ interpolate_replacement (const GMatchInfo *match_info,
match = g_match_info_fetch_named (match_info, idata->text);
if (match)
{
- string_append (result, match, &change_case);
+ string_append (result, match, is_raw, &change_case);
g_free (match);
}
break;
diff --git a/glib/tests/regex.c b/glib/tests/regex.c
index d7a698ec6..bffb52a87 100644
--- a/glib/tests/regex.c
+++ b/glib/tests/regex.c
@@ -2529,6 +2529,58 @@ test_compiled_regex_after_jit_failure (void)
g_regex_unref (regex);
}
+static void
+test_replace_raw_change_case (void)
+{
+ GError *local_error = NULL;
+ GRegex *regex = NULL;
+
+ g_test_bug ("https://gitlab.gnome.org/GNOME/glib/-/issues/3918");
+ g_test_summary ("Test that case changes as part of a replacement are handled correctly in G_REGEX_RAW mode");
+
+ /*
+ * Match a multi-byte sequence in RAW mode. The pattern matches
+ * exactly 2 bytes. The subject contains a 4-byte UTF-8 lead (0xF4)
+ * followed by only one continuation byte, then NUL.
+ *
+ * The matched substring will be "\xf4\x80" (2 bytes, heap-allocated
+ * as 3-byte buffer with NUL). If the code regresses and tries to handle
+ * the replacement as UTF-8 then g_utf8_get_char() would see 0xF4 and try
+ * to read 4 bytes, going 1 byte past the NUL into OOB territory.
+ */
+ regex = g_regex_new ("..", G_REGEX_RAW, 0, &local_error);
+ g_assert_no_error (local_error);
+
+ /*
+ * Build a subject string with truncated UTF-8.
+ * \xF4 = 4-byte UTF-8 lead byte
+ * \x80 = continuation byte
+ * No 3rd/4th continuation bytes — the match is only 2 bytes.
+ *
+ * \U\0 = uppercase the entire match → triggers string_append()
+ * with case change on the 2-byte non-UTF-8 match.
+ */
+ char subject[] = "\xf4\x80";
+ char *result = g_regex_replace (regex, subject, -1, 0, "\\U\\0", 0, &local_error);
+ g_assert_no_error (local_error);
+
+ g_clear_pointer (&result, g_free);
+ g_clear_pointer (&regex, g_regex_unref);
+
+ /*
+ * Second variant: single-char case change \u with \0 backreference.
+ */
+ regex = g_regex_new (".", G_REGEX_RAW, 0, &local_error);
+ g_assert_no_error (local_error);
+
+ char subject2[] = "\xe6\xb0"; /* 3-byte UTF-8 lead, only 2 bytes */
+ result = g_regex_replace (regex, subject2, -1, 0, "\\u\\0", 0, &local_error);
+ g_assert_no_error (local_error);
+
+ g_clear_pointer (&result, g_free);
+ g_clear_pointer (&regex, g_regex_unref);
+}
+
int
main (int argc, char *argv[])
{
@@ -2550,6 +2602,7 @@ main (int argc, char *argv[])
g_test_add_func ("/regex/jit-unsupported-matching", test_jit_unsupported_matching_options);
g_test_add_func ("/regex/unmatched-named-subpattern", test_unmatched_named_subpattern);
g_test_add_func ("/regex/compiled-regex-after-jit-failure", test_compiled_regex_after_jit_failure);
+ g_test_add_func ("/regex/replace-raw-change-case", test_replace_raw_change_case);
/* TEST_NEW(pattern, compile_opts, match_opts) */
TEST_NEW("[A-Z]+", G_REGEX_CASELESS | G_REGEX_EXTENDED | G_REGEX_OPTIMIZE, G_REGEX_MATCH_NOTBOL | G_REGEX_MATCH_PARTIAL);
--
2.35.6

View File

@@ -0,0 +1,140 @@
From cb9d97e1b261d75eb8ea255e0a9f3e846d547af7 Mon Sep 17 00:00:00 2001
From: Philip Withnall <pwithnall@gnome.org>
Date: Tue, 28 Apr 2026 16:45:14 +0100
Subject: [PATCH] giochannel: Fix memcmp() off the end of the buffer with long
terminators
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
If the line terminator is longer than a single byte, and the current
line extends to the end of the buffer, and the buffer (which is a
`GString`) is near a power of two in length (as thats how `GString`s
are allocated) its possible for the `memcmp()` which checks the
terminator to read off the end of the string buffer.
Fix that by checking the terminator length against the last character
before calling `memcmp()`. Add a unit test.
Spotted by linhlhq as #YWH-PGM9867-199. The fix is theirs (validated by
me), and the unit test is adapted from their proof of concept.
Fixes: #3925
CVE: CVE-2026-58013
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/6a2583dec39bfe05553b16d9b7419d6c2a257244]
Backport Changes:
- Added the <stdint.h> include for the regression test because these target
branches do not otherwise expose uint8_t in glib/tests/io-channel.c.
Signed-off-by: Philip Withnall <pwithnall@gnome.org>
(cherry picked from commit 6a2583dec39bfe05553b16d9b7419d6c2a257244)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
glib/giochannel.c | 3 ++-
glib/tests/io-channel.c | 61 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 63 insertions(+), 1 deletion(-)
diff --git a/glib/giochannel.c b/glib/giochannel.c
index 7572c47a2..8d867d0fb 100644
--- a/glib/giochannel.c
+++ b/glib/giochannel.c
@@ -1833,7 +1833,8 @@ read_again:
{
if (channel->line_term)
{
- if (memcmp (channel->line_term, nextchar, line_term_len) == 0)
+ if ((size_t) (lastchar - nextchar) >= line_term_len &&
+ memcmp (channel->line_term, nextchar, line_term_len) == 0)
{
line_length = nextchar - use_buf->str;
got_term_len = line_term_len;
diff --git a/glib/tests/io-channel.c b/glib/tests/io-channel.c
index c5dd01d04..cf81a9f6b 100644
--- a/glib/tests/io-channel.c
+++ b/glib/tests/io-channel.c
@@ -29,6 +29,7 @@
#include <glib.h>
#include <glib/gstdio.h>
+#include <stdint.h>
static void
test_small_writes (void)
@@ -216,6 +217,65 @@ test_read_line_embedded_nuls (void)
g_free (filename);
}
+static void
+test_read_line_long_terminator (void)
+{
+ uint8_t *test_data = NULL;
+ size_t test_data_len = 0;
+ int fd;
+ char *filename = NULL;
+ GIOChannel *channel = NULL;
+ GError *local_error = NULL;
+ char *line = NULL;
+ size_t line_length, terminator_pos;
+ const char *line_term;
+ int line_term_length;
+ GIOStatus status;
+
+ g_test_summary ("Test that reading a line when using a long terminator doesnt over-read the buffer.");
+ g_test_bug ("https://gitlab.gnome.org/GNOME/glib/-/work_items/3925");
+
+ /* Write out a temporary file containing 2047 bytes. This is enough to make it
+ * near the length of the GString buffer when read back in. */
+ fd = g_file_open_tmp ("glib-test-io-channel-XXXXXX", &filename, &local_error);
+ g_assert_no_error (local_error);
+ g_close (g_steal_fd (&fd), NULL);
+
+ test_data_len = 2047;
+ test_data = g_malloc (test_data_len);
+ memset (test_data, 'M', test_data_len);
+ g_file_set_contents (filename, (const gchar *) test_data, test_data_len, &local_error);
+ g_assert_no_error (local_error);
+
+ /* Create the channel. */
+ channel = g_io_channel_new_file (filename, "r", &local_error);
+ g_assert_no_error (local_error);
+
+ /* Use a long line terminator so it could potentially over-read the end of the buffer. */
+ g_io_channel_set_line_term (channel, "DEADBEEF", 8);
+
+ line_term = g_io_channel_get_line_term (channel, &line_term_length);
+ g_assert_cmpstr (line_term, ==, "DEADBEEF");
+ g_assert_cmpint (line_term_length, ==, 8);
+
+ g_io_channel_set_encoding (channel, "UTF-8", &local_error);
+ g_assert_no_error (local_error);
+
+ status = g_io_channel_read_line (channel, &line, &line_length,
+ &terminator_pos, &local_error);
+ g_assert_no_error (local_error);
+ g_assert_cmpint (status, ==, G_IO_STATUS_NORMAL);
+ g_assert_cmpuint (line_length, ==, 2047);
+ g_assert_cmpuint (terminator_pos, ==, 2047);
+ g_assert_cmpmem (line, line_length, test_data, test_data_len);
+
+ g_free (line);
+ g_io_channel_unref (channel);
+ g_free (test_data);
+ g_unlink (filename);
+ g_free (filename);
+}
+
int
main (int argc,
char *argv[])
@@ -224,6 +283,7 @@ main (int argc,
g_test_add_func ("/io-channel/read-write", test_read_write);
g_test_add_func ("/io-channel/read-line/embedded-nuls", test_read_line_embedded_nuls);
+ g_test_add_func ("/io-channel/read-line/long-terminator", test_read_line_long_terminator);
return g_test_run ();
}
--
2.35.6

View File

@@ -0,0 +1,106 @@
From ba0478c206bc04542df774343c6c85f77df49f6e Mon Sep 17 00:00:00 2001
From: Philip Withnall <pwithnall@gnome.org>
Date: Sat, 11 Apr 2026 14:42:57 +0100
Subject: [PATCH] gkeyfile: Fix a one-byte heap under-read with
g_key_file_get_locale_string_list()
If this method was called on a key file key which has an empty value,
`len == 0` and this leads to a one-byte under-read off the start of the
key file buffer.
Spotted by linhlhq as #YWH-PGM9867-200. The suggested fix is theirs, and
the unit test is adapted from their report. I added the fuzzing test.
Fixes: #3930
CVE: CVE-2026-58014
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/94ecb5b44a1cae09f481dd5e693832f129948893]
Signed-off-by: Philip Withnall <pwithnall@gnome.org>
(cherry picked from commit 94ecb5b44a1cae09f481dd5e693832f129948893)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
fuzzing/fuzz_key.c | 9 +++++++++
glib/gkeyfile.c | 2 +-
glib/tests/keyfile.c | 23 +++++++++++++++++++++++
3 files changed, 33 insertions(+), 1 deletion(-)
diff --git a/fuzzing/fuzz_key.c b/fuzzing/fuzz_key.c
index 77cb684..7d00443 100644
--- a/fuzzing/fuzz_key.c
+++ b/fuzzing/fuzz_key.c
@@ -26,11 +26,20 @@ test_parse (const gchar *data,
GKeyFileFlags flags)
{
GKeyFile *key = NULL;
+ char *comment = NULL;
+ char **list = NULL;
key = g_key_file_new ();
g_key_file_load_from_data (key, (const gchar*) data, size, G_KEY_FILE_NONE,
NULL);
+ /* Also try some additional parsing and see if it crashes */
+ comment = g_key_file_get_comment (key, "group", "key", NULL);
+ g_free (comment);
+
+ list = g_key_file_get_locale_string_list (key, "group", "key", "de", NULL, NULL);
+ g_strfreev (list);
+
g_key_file_free (key);
}
diff --git a/glib/gkeyfile.c b/glib/gkeyfile.c
index d08a485..54d77a5 100644
--- a/glib/gkeyfile.c
+++ b/glib/gkeyfile.c
@@ -2421,7 +2421,7 @@ g_key_file_get_locale_string_list (GKeyFile *key_file,
}
len = strlen (value);
- if (value[len - 1] == key_file->list_separator)
+ if (len > 0 && value[len - 1] == key_file->list_separator)
value[len - 1] = '\0';
list_separator[0] = key_file->list_separator;
diff --git a/glib/tests/keyfile.c b/glib/tests/keyfile.c
index bc125c1..289bd2b 100644
--- a/glib/tests/keyfile.c
+++ b/glib/tests/keyfile.c
@@ -850,6 +850,28 @@ test_locale_string_multiple_loads (void)
g_free (old_locale);
}
+static void
+test_locale_string_empty (void)
+{
+ GKeyFile *keyfile = NULL;
+ GError *local_error = NULL;
+ const char *data =
+ "[valid]\n"
+ "key1=\n";
+
+ g_test_summary ("Check that loading an empty translatable string works");
+ g_test_bug ("https://gitlab.gnome.org/GNOME/glib/-/issues/3930");
+
+ keyfile = g_key_file_new ();
+
+ g_key_file_load_from_data (keyfile, data, -1, G_KEY_FILE_NONE, &local_error);
+ g_assert_no_error (local_error);
+
+ check_locale_string_list_value (keyfile, "valid", "key1", NULL, NULL);
+
+ g_key_file_free (keyfile);
+}
+
static void
test_lists (void)
{
@@ -1939,6 +1961,7 @@ main (int argc, char *argv[])
g_test_add_func ("/keyfile/number", test_number);
g_test_add_func ("/keyfile/locale-string", test_locale_string);
g_test_add_func ("/keyfile/locale-string/multiple-loads", test_locale_string_multiple_loads);
+ g_test_add_func ("/keyfile/locale-string/empty", test_locale_string_empty);
g_test_add_func ("/keyfile/lists", test_lists);
g_test_add_func ("/keyfile/lists-set-get", test_lists_set_get);
g_test_add_func ("/keyfile/group-remove", test_group_remove);

View File

@@ -0,0 +1,94 @@
From 38eee3870fbcf6bdf8e6b1281bc7a98d32b68521 Mon Sep 17 00:00:00 2001
From: Philip Withnall <pwithnall@gnome.org>
Date: Thu, 16 Apr 2026 15:27:37 +0100
Subject: [PATCH 1/2] gdbusintrospection: Fix XML parser state handling for
<node> element nesting
The check for whether a `<node>` element in D-Bus introspection XML was
nested correctly was broken. `<node>` elements can only be at the top
level, or nested immediately within another `<node>` element.
Fix the check and add some unit tests for it.
Spotted by linhlhq as #YWH-PGM9867-204. The fix is mine, and the unit test
uses example XML strings adapted from their report.
Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Fixes: #3932
CVE: CVE-2026-58016
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/c9da977c178fbfc0e4caf99f9fdf5dc433d6fcc2]
Signed-off-by: Benjamin Robin <benjamin.robin@bootlin.com>
---
gio/gdbusintrospection.c | 2 +-
gio/tests/gdbus-introspection.c | 33 +++++++++++++++++++++++++++++++++
2 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/gio/gdbusintrospection.c b/gio/gdbusintrospection.c
index c7be334ce2f7..6f722ee6153d 100644
--- a/gio/gdbusintrospection.c
+++ b/gio/gdbusintrospection.c
@@ -1272,7 +1272,7 @@ parser_start_element (GMarkupParseContext *context,
/* ---------------------------------------------------------------------------------------------------- */
if (strcmp (element_name, "node") == 0)
{
- if (!(g_slist_length (stack) >= 1 || strcmp (stack->next->data, "node") != 0))
+ if (stack->next != NULL && strcmp (stack->next->data, "node") != 0)
{
g_set_error_literal (error,
G_MARKUP_ERROR,
diff --git a/gio/tests/gdbus-introspection.c b/gio/tests/gdbus-introspection.c
index 44cb7a96af45..daca313f77e7 100644
--- a/gio/tests/gdbus-introspection.c
+++ b/gio/tests/gdbus-introspection.c
@@ -299,6 +299,38 @@ test_extra_data (void)
g_dbus_node_info_unref (info);
}
+static void
+test_invalid (void)
+{
+ const struct
+ {
+ const char *xml;
+ GMarkupError expected_error_code;
+ }
+ vectors[] =
+ {
+ { "", G_MARKUP_ERROR_EMPTY },
+ { "<node><interface name=\"I\"><method name=\"M\"><node><interface name=\"I2\"></interface></node></method>", G_MARKUP_ERROR_INVALID_CONTENT },
+ { "<node><interface name=\"I\"><signal name=\"S\"><node><interface name=\"I2\"><signal name=\"S2\"></signal></interface></node></signal>", G_MARKUP_ERROR_INVALID_CONTENT },
+ { "<node><interface name=\"I\"><property name=\"P\" type=\"s\" access=\"read\"><node><interface name=\"I2\"></interface></node></property>", G_MARKUP_ERROR_INVALID_CONTENT },
+ { "<node><interface name=\"I\"><method name=\"M\"><arg type=\"\"><node><interface name=\"I2\"><method name=\"M2\"></method></interface></node></arg>", G_MARKUP_ERROR_INVALID_CONTENT },
+ };
+
+ for (size_t i = 0; i < G_N_ELEMENTS (vectors); i++)
+ {
+ GDBusNodeInfo *node;
+ GError *local_error = NULL;
+
+ g_test_message ("Testing parsing of %s gives an error", vectors[i].xml);
+
+ node = g_dbus_node_info_new_for_xml (vectors[i].xml, &local_error);
+ g_assert_error (local_error, G_MARKUP_ERROR, (int) vectors[i].expected_error_code);
+ g_assert_null (node);
+
+ g_clear_error (&local_error);
+ }
+}
+
/* ---------------------------------------------------------------------------------------------------- */
int
@@ -316,6 +348,7 @@ main (int argc,
g_test_add_func ("/gdbus/introspection-generate", test_generate);
g_test_add_func ("/gdbus/introspection-default-direction", test_default_direction);
g_test_add_func ("/gdbus/introspection-extra-data", test_extra_data);
+ g_test_add_func ("/gdbus/introspection/invalid", test_invalid);
ret = session_bus_run ();
--
2.54.0

View File

@@ -0,0 +1,98 @@
From a75052ceeebea434f271b670766acd5416bc83b9 Mon Sep 17 00:00:00 2001
From: Philip Withnall <pwithnall@gnome.org>
Date: Thu, 16 Apr 2026 15:08:10 +0100
Subject: [PATCH 2/2] gdbusintrospection: Add some assertions before array
dereferences
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The state handling inside the D-Bus introspection XML parser is
complicated, and its possible that these dereferences of the
`len - 1`th element might get reached when the array is empty.
Make failures like that more debuggable by adding an assertion on the
length beforehand.
Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Helps: #3932
CVE: CVE-2026-58016
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/656ad4582cb1d7a7fa8bafe3ce8aec6aa3c17da0]
Signed-off-by: Benjamin Robin <benjamin.robin@bootlin.com>
---
gio/gdbusintrospection.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/gio/gdbusintrospection.c b/gio/gdbusintrospection.c
index 6f722ee6153d..ed0d291f99f0 100644
--- a/gio/gdbusintrospection.c
+++ b/gio/gdbusintrospection.c
@@ -1110,6 +1110,7 @@ parse_data_get_annotation (ParseData *data,
{
if (create_new)
g_ptr_array_add (data->annotations, g_new0 (GDBusAnnotationInfo, 1));
+ g_assert (data->annotations->len > 0);
return data->annotations->pdata[data->annotations->len - 1];
}
@@ -1119,6 +1120,7 @@ parse_data_get_arg (ParseData *data,
{
if (create_new)
g_ptr_array_add (data->args, g_new0 (GDBusArgInfo, 1));
+ g_assert (data->args->len > 0);
return data->args->pdata[data->args->len - 1];
}
@@ -1128,6 +1130,7 @@ parse_data_get_out_arg (ParseData *data,
{
if (create_new)
g_ptr_array_add (data->out_args, g_new0 (GDBusArgInfo, 1));
+ g_assert (data->out_args->len > 0);
return data->out_args->pdata[data->out_args->len - 1];
}
@@ -1137,6 +1140,7 @@ parse_data_get_method (ParseData *data,
{
if (create_new)
g_ptr_array_add (data->methods, g_new0 (GDBusMethodInfo, 1));
+ g_assert (data->methods->len > 0);
return data->methods->pdata[data->methods->len - 1];
}
@@ -1146,6 +1150,7 @@ parse_data_get_signal (ParseData *data,
{
if (create_new)
g_ptr_array_add (data->signals, g_new0 (GDBusSignalInfo, 1));
+ g_assert (data->signals->len > 0);
return data->signals->pdata[data->signals->len - 1];
}
@@ -1155,6 +1160,7 @@ parse_data_get_property (ParseData *data,
{
if (create_new)
g_ptr_array_add (data->properties, g_new0 (GDBusPropertyInfo, 1));
+ g_assert (data->properties->len > 0);
return data->properties->pdata[data->properties->len - 1];
}
@@ -1164,6 +1170,7 @@ parse_data_get_interface (ParseData *data,
{
if (create_new)
g_ptr_array_add (data->interfaces, g_new0 (GDBusInterfaceInfo, 1));
+ g_assert (data->interfaces->len > 0);
return data->interfaces->pdata[data->interfaces->len - 1];
}
@@ -1173,6 +1180,7 @@ parse_data_get_node (ParseData *data,
{
if (create_new)
g_ptr_array_add (data->nodes, g_new0 (GDBusNodeInfo, 1));
+ g_assert (data->nodes->len > 0);
return data->nodes->pdata[data->nodes->len - 1];
}
--
2.54.0

View File

@@ -47,6 +47,13 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
file://CVE-2026-1489-02.patch \
file://CVE-2026-1489-03.patch \
file://CVE-2026-1489-04.patch \
file://CVE-2026-58016-1.patch \
file://CVE-2026-58016-2.patch \
file://CVE-2026-58010.patch \
file://CVE-2026-58011.patch \
file://CVE-2026-58012.patch \
file://CVE-2026-58013.patch \
file://CVE-2026-58014.patch \
"
SRC_URI:append:class-native = " file://relocate-modules.patch \
file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \

View File

@@ -31,6 +31,7 @@ do_check:append () {
}
inherit nopackages
inherit nospdx
deltask do_stash_locale
deltask do_install
deltask do_populate_sysroot

View File

@@ -1,6 +1,6 @@
SRCBRANCH ?= "release/2.39/master"
PV = "2.39+git"
SRCREV_glibc ?= "ce65d944e38a20cb70af2a48a4b8aa5d8fabe1cc"
SRCREV_glibc ?= "be1e627cd72db31161a3b4ce1c8114674f0895eb"
SRCREV_localedef ?= "cba02c503d7c853a38ccfb83c57e343ca5ecd7e5"
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https"

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