Compare commits

..

142 Commits

Author SHA1 Message Date
Steve Sakoman
fc697fe874 build-appliance-image: Update to kirkstone head revision
(From OE-Core rev: 7949e786cf8e50f716ff1f1c4797136637205e0c)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-23 04:27:00 -10:00
Steve Sakoman
5ded548a1e poky.conf: bump version for 4.0.11
(From meta-yocto rev: c0435b61978e431974628a052ce2812fbd8e7196)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-23 04:16:41 -10:00
Pavel Zhukov
18469232f6 lib/terminal.py: Add urxvt terminal
This fixes failure [1] of menuconfig task in rxvt-unicode terminal in case if
xterm/Konsole/Gnome is not installed. Tested with rxvt-unicode-256color

[1]
WARNING: Terminal screen is supported but did not start
ERROR: No valid terminal found, unable to open devshell.
Tried the following commands:
	tmux split-window -c "{cwd}" "do_terminal"
	tmux new-window -c "{cwd}" -n "zephyr-helloworld Configuration" "do_terminal"
	xfce4-terminal -T "zephyr-helloworld Configuration" -e "do_terminal"
	terminology -T="zephyr-helloworld Configuration" -e do_terminal
	mate-terminal --disable-factory -t "zephyr-helloworld Configuration" -x do_terminal
	konsole --separate --workdir . -p tabtitle="zephyr-helloworld Configuration" -e do_terminal
	gnome-terminal -t "zephyr-helloworld Configuration" -- do_terminal
	xterm -T "zephyr-helloworld Configuration" -e do_terminal
	rxvt -T "zephyr-helloworld Configuration" -e do_terminal
	tmux new -c "{cwd}" -d -s devshell -n devshell "do_terminal"
	screen -D -m -t "zephyr-helloworld Configuration" -S devshell do_terminal
DEBUG: Python function do_menuconfig finished

(From OE-Core rev: 59f1a1b2326e2191aa882cfc73a851ea79672a6f)

Signed-off-by: Pavel Zhukov <pazhukov@suse.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8d2fe4df8ae33e033caf4119a76715f085be1d15)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-23 04:16:41 -10:00
Chen Qi
a81330c455 staging.bbclass: do not add extend_recipe_sysroot to prefuncs of prepare_recipe_sysroot
When running prepare_recipe_sysroot task, the extend_recipe_sysroot
is run twice.

What prepare_recipe_sysroot does is executing extend_recipe_sysroot,
there's no need to add extend_recipe_sysroot to its prefuncs.

(From OE-Core rev: dad053c4b99d4aefebe40459500ad53a2b458fa0)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bf7584a2ac16ee46ff5b41536b06bb46d0cbada7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-23 04:16:41 -10:00
Thomas Roos
49b2b70749 oeqa/selftest/cases/devtool.py: skip all tests require folder a git repo
Devtool selftests require poky dir a git repo, when downloading poky as a tar,
this is not the case. Those tests will now skipped.

[YOCTO #12389]

(From OE-Core rev: 9ce30faa488ea905292b9944fb3c1b471019f28c)

Signed-off-by: Thomas Roos <throos@amazon.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 95a5bc130dc51ea9de95c64dbf0e9c7892415d50)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-23 04:16:41 -10:00
Ranjitsinh Rathod
da8512f9b0 kmscube: Correct DEPENDS to avoid overwrite
As part of the below commit, DEPENDS gets overwrite which is wrong
Link: https://git.yoctoproject.org/poky/commit/?id=bd947d3343dcd96e79fc8157f32a2a087cd710a7

So correct the DEPENDS varibales

(From OE-Core rev: 5dec509c33ce3d01fa1cd44408f0ef198dc4f6c0)

Signed-off-by: Ranjitsinh Rathod <ranjitsinh.rathod@kpit.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 63f338255000874c62bf01ccc11f2c100014c3d9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-23 04:16:41 -10:00
Bruce Ashfield
62257379ea kernel: don't force PAHOLE=false
If a specific kernel provider or configuration wants to enable BTF
and pahole analysis, it isn't currently possible due to the explicit
definition to false in the base kernel build arguments.

pahole is now detected by the kernel built itself, so unless
pahole-native is enabled, the result is the same.

If a kernel does require an explicit disable of pahole, it is better
to carry PAHOLE=false in those specific recipes.

(From OE-Core rev: 44b75c7442b05a2fedcc0d73982566c2bef84357)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b1e4851a36ed47ce6ba880a49264b9a57c78cf4f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-23 04:16:41 -10:00
Lorenzo Arena
aa12c43757 conf: add nice level to the hash config ignred variables
This is needed as each user could be setting different nice levels
while building, however this should not make the shared cache unusable.

(From OE-Core rev: c89090e148cdf404e25e1262d1366e963277fd2c)

Signed-off-by: Lorenzo Arena <arena.lor@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 42784f9360345da1c01d988070253e7ffd5ac4ac)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-23 04:16:41 -10:00
Martin Jansa
756c144ee1 go.bbclass: don't use test to check output from ls
* avoids possibly confusing error message in log.do_install like:
  ls: cannot access 'etcd/3.5.7-r0/build/bin/linux_arm64/': No such file or directory

(From OE-Core rev: f9b1a56c50a96ad6300a48bf74a540579b352411)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 2f1777e6ac5269a71203b6a2c562a43503be95ae)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-23 04:16:40 -10:00
Wang Mingyu
d3153b2847 iso-codes: upgrade 4.13.0 -> 4.15.0
Changelog:
==========
- Translation updates for ISO 3166-1
- Translation updates for ISO 3166-3
- Translation updates for ISO 639-2
- Translation updates for ISO 3166-1
- Translation updates for ISO 3166-2
- Translation updates for ISO 3166-3
- Translation updates for ISO 639-2
- Translation updates for ISO 639-3
- Translation updates for ISO 639-5
- Translation updates for ISO 4217
- Translation updates for ISO 15924
* ISO 3166-2: Fix wrong Spanish translation

(From OE-Core rev: 86e8e31a413fdbb8ffa825c41d0fe83c292a6b76)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 355f2f9fe8a1e6c5e78f136cb3ed77c9004fb75c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit b189240b211e5d8f40747a0128834ed83c38a8f4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-23 04:16:40 -10:00
Archana Polampalli
55724a7c45 nasm: fix CVE-2022-46457
NASM v2.16 was discovered to contain a segmentation violation
in the component ieee_write_file at /output/outieee.c.

References:
https://nvd.nist.gov/vuln/detail/CVE-2022-46457

Upstream patches:
c8af731120

(From OE-Core rev: 6b82d998184112c42b4298aef6a0b9e314fc8ee4)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-23 04:16:40 -10:00
Hannu Lounento
ab6c16cb55 profile-manual: fix blktrace remote usage instructions
The references to the target and host systems (i.e. the client and
server respectively) were swapped in the instructions.

Also, there's no need to specify the device node on the server command
line that is run on the host system.

The previous, incorrect, instructions resulted typically in:

    target# blktrace -l /dev/mmcblk1
    server: waiting for connections...

and

    host$ blktrace -d /dev/mmcblk2 -h target
    Invalid path /dev/mmcblk2 specified: 2/No such file or directory

unless the same device node happened to exist on the host system.

Based on

    target# blktrace --version
    blktrace version 2.0.0

and

    host$ blktrace --version
    blktrace version 2.0.0

(From yocto-docs rev: 6d16d2bde0aa32276a035ee49703e6eea7c7b29a)

Signed-off-by: Hannu Lounento <hannu.lounento@vaisala.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Ed Beroset
17760d65dd ref-manual: add clarification for SRCREV
It was not clear to me what a "full revision identifier" was in the
context of the note documenting SRCREV.  After clarification via IRC,
this submission attempts to clarify what is meant to help future
readers.

(From yocto-docs rev: c570732cededffa2992173e6c43de4845a1d7d44)

Signed-off-by: Ed Beroset <beroset@ieee.org>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Andrew Jeffery
5e0dd7be76 Revert "ipk: Decode byte data to string in manifest handling"
cf9df9e8d89f ("ipk: Decode byte data to string in manifest handling")
did a bit of least-effort fix to a string vs byte sequence issue in the
manifest handling. The approach was chosen as it localised the fix,
rather than having to analyse further call sites.

However since then f2167ae80258 ("package_manager/ipk: do not pipe
stderr to stdout") was applied, reworking the output handling from the
subcommand. dummy_bytes() now returns a string, so stop trying to decode
it.

Fixes: f2167ae80258 ("package_manager/ipk: do not pipe stderr to stdout")
Cc: Curtis Meier <cmeier@us.ibm.com>
Cc: Pam Eggler <eggler@us.ibm.com>
(From OE-Core rev: b61739554780d70307d2b6b37d2b3b1c7df93c77)

(From OE-Core rev: 0e17a5a4f0e3301bf78f77bb5ca4aaf3e4dbc7af)

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 07e5a6331be60d5e35d7336a6215a972ced6eb57)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Qiu Tingting
8bc1f7e015 e2fsprogs: fix ptest bug for second running
At second running, there are four new failed case:
  d_loaddump f_bigalloc_badinode f_bigalloc_orphan_list f_dup_resize

The test_data.tmp is necessary, but it is deleted by run-ptest.
So it should be restored after testing.

(From OE-Core rev: 3a5ce6f8090f912bb9744e8cc8f3f2510f351a33)

Signed-off-by: Qiu Tingting <qiutt@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit d0d08dd9a8a179e25b9cfcbac696c1d212a1910c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Ian Ray
7f8a4aa6cf systemd-systemctl: support instance expansion in WantedBy
Refactor _process_deps to expand systemd instance specifier "%i" to the
template instance.

This change expands on prior commit e510222b57 ("systemd-systemctl: fix
instance template WantedBy symlink construction") by substituting every
"%i" pattern-match with the instance name.

The regexp handles the following cases:

* svc-wants@%i.service

* sys-subsystem-net-devices-%i.device

(From OE-Core rev: 11d3f1c8252592c377ea6b92bba77ef6d9c75464)

Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 9356276137267a29ae2289d796a2940918375308)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Randy MacLeod
7412714f7d vim: upgrade 9.0.1429 -> 9.0.1527
Fixes: https://nvd.nist.gov/vuln/detail/CVE-2023-2426
caf642c25 patch 9.0.1499: using uninitialized memory with fuzzy matching

(From OE-Core rev: 035b5d918eea3f3bb238fecd795f09505801971b)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 4f9a8df5aca99d0a5c2d2346b27ce7be08e7896c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Bruce Ashfield
c71fb0017d linux-yocto/5.15: update to v5.15.113
Updating  to the latest korg -stable release that comprises
the following commits:

    1fe619a7d252 Linux 5.15.113
    7de20a23e52a HID: wacom: add three styli to wacom_intuos_get_tool_type
    25b835d40838 HID: wacom: Add new Intuos Pro Small (PTH-460) device IDs
    a540aabefa9b HID: wacom: Force pen out of prox if no events have been received in a while
    b4c7b54b83f6 s390/qdio: fix do_sqbs() inline assembly constraint
    b8427b8522d9 nilfs2: fix use-after-free bug of nilfs_root in nilfs_evict_inode()
    cafdd9cefc5b powerpc/64s/radix: Fix soft dirty tracking
    fe59dd824fad tpm/tpm_tis: Disable interrupts for more Lenovo devices
    b9eb4491f0c9 powerpc/iommu: Incorrect DDW Table is referenced for SR-IOV device
    317ee8c54faa ceph: force updating the msg pointer in non-split case
    e3d1adcad5b7 vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF
    03e39ec73941 thunderbolt: Clear registers properly when auto clear isn't in use
    742ed5bb683e serial: qcom-geni: fix enabling deactivated interrupt
    6960267e7d0b serial: 8250_exar: Add support for USR298x PCI Modems
    7d8873ecbd3c serial: Add support for Advantech PCI-1611U card
    51d90382d241 statfs: enforce statfs[64] structure initialization
    865be1cff2c0 ksmbd: fix global-out-of-bounds in smb2_find_context_vals
    7657321b2624 ksmbd: fix wrong UserName check in session_user
    61e043326e72 ksmbd: allocate one more byte for implied bcc[0]
    1c2461b41f30 ksmbd: smb2: Allow messages padded to 8byte boundary
    49f47945386e SMB3: drop reference to cfile before sending oplock break
    653d30a1512c SMB3: Close all deferred handles of inode in case of handle lease break
    972a33e6cc76 can: kvaser_pciefd: Disable interrupts in probe error path
    143623940a03 can: kvaser_pciefd: Do not send EFLUSH command on TFD interrupt
    c724a6edc1c6 can: kvaser_pciefd: Clear listen-only bit if not explicitly requested
    f04628305cac can: kvaser_pciefd: Empty SRB buffer in probe
    da711a8af0fa can: kvaser_pciefd: Call request_irq() before enabling interrupts
    4857ccfbe283 can: kvaser_pciefd: Set CAN_STATE_STOPPED in kvaser_pciefd_stop()
    9ac2448c24a9 can: isotp: recvmsg(): allow MSG_CMSG_COMPAT flag
    a17cf315f246 can: j1939: recvmsg(): allow MSG_CMSG_COMPAT flag
    83af0876040b ALSA: hda/realtek: Add quirk for 2nd ASUS GU603
    cc1924ab21d7 ALSA: hda/realtek: Add a quirk for HP EliteDesk 805
    3a32c5149461 ALSA: hda/realtek: Add quirk for Clevo L140AU
    059a18e95e06 ALSA: hda: Add NVIDIA codec IDs a3 through a7 to patch table
    e8c7d7c43d5e ALSA: hda: Fix Oops by 9.1 surround channel names
    831a1ffb0a93 xhci: Fix incorrect tracking of free space on transfer rings
    4c5c4870694b xhci-pci: Only run d3cold avoidance quirk for s2idle
    fc0e18f95c88 usb: typec: altmodes/displayport: fix pin_assignment_show
    0ed9257a8ab9 usb: gadget: u_ether: Fix host MAC address case
    c51a131cacf4 usb: dwc3: debugfs: Resume dwc3 before accessing registers
    720be29c7d1c USB: UHCI: adjust zhaoxin UHCI controllers OverCurrent bit value
    2ef3ecff0907 usb-storage: fix deadlock when a scsi command timeouts more than once
    3b43d9df27a7 USB: usbtmc: Fix direction for 0-length ioctl control messages
    15d744133218 ALSA: usb-audio: Add a sample rate workaround for Line6 Pod Go
    62499cf3ddd7 bridge: always declare tunnel functions
    ec5caa765f7f netfilter: nft_set_rbtree: fix null deref on element insertion
    b0cc763806c0 netfilter: nf_tables: fix nft_trans type confusion
    addaba68018b vlan: fix a potential uninit-value in vlan_dev_hard_start_xmit()
    3a0450d38a3e igb: fix bit_shift to be in [1..8] range
    c15c3bb90c9a net: dsa: mv88e6xxx: Fix mv88e6393x EPC write command offset
    234e744d86bd cassini: Fix a memory leak in the error handling path of cas_init_one()
    76a7cd047b3a scsi: storvsc: Don't pass unused PFNs to Hyper-V host
    05ad5a4d421c wifi: iwlwifi: mvm: don't trust firmware n_channels
    d66490c29364 wifi: iwlwifi: mvm: fix cancel_delayed_work_sync() deadlock
    fce7d92a8990 wifi: mac80211: fix min center freq offset tracing
    fd8bc0f581af net: bcmgenet: Restore phy_stop() depending upon suspend/close
    99c5acfd1f6a net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop()
    ed1283c46d90 s390/cio: include subchannels without devices also for evaluation
    673cb4798921 tipc: check the bearer min mtu properly when setting it by netlink
    575e84d90a74 tipc: do not update mtu if msg_max is too small in mtu negotiation
    5cf99d5f656a tipc: add tipc_bearer_min_mtu to calculate min mtu
    6a7690f2bd17 virtio_net: Fix error unwinding of XDP initialization
    18c0bd6888b3 virtio-net: Maintain reverse cleanup order
    cdd8160dcda1 net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment()
    f51d15d9bc41 drm/exynos: fix g2d_open/close helper function definitions
    45a158a212d9 SUNRPC: Fix trace_svc_register() call site
    1c28b206ae49 SUNRPC: always free ctxt when freeing deferred request
    54832355b0b1 SUNRPC: Remove svc_rqst::rq_xprt_hlen
    7a1dca013124 SUNRPC: Remove dead code in svc_tcp_release_rqst()
    9712097e89b2 SUNRPC: Clean up svc_deferred_class trace events
    8c26ecd887ef tracing: Introduce helpers to safely handle dynamic-sized sockaddrs
    7851771789e8 SUNRPC: double free xprt_ctxt while still in use
    051af3f0b7d1 media: netup_unidvb: fix use-after-free at del_timer()
    8e37baf62181 net: hns3: fix reset delay time to avoid configuration timeout
    aaf7c7d8448f net: hns3: fix sending pfc frames after reset issue
    56640004ee56 net: hns3: fix output information incomplete for dumping tx queue info with debugfs
    98e964801811 erspan: get the proto with the md version for collect_md
    5258395e67fe serial: 8250_bcm7271: fix leak in `brcmuart_probe`
    cc2f7cee933f serial: 8250_bcm7271: balance clk_enable calls
    f76a18e53a66 serial: arc_uart: fix of_iomap leak in `arc_serial_probe`
    15251e783a4b tcp: fix possible sk_priority leak in tcp_v4_send_reset()
    2832d6244634 vsock: avoid to close connected socket after the timeout
    2c1617dc6dab ALSA: hda/realtek: Apply HP B&O top speaker profile to Pavilion 15
    bbb5ac533ca6 ALSA: firewire-digi00x: prevent potential use after free
    81c843152422 net: phy: dp83867: add w/a for packet errors seen with short cables
    c1bc2870f14e net: fec: Better handle pm_runtime_get() failing in .remove()
    b598e76b49cc selftets: seg6: disable rp_filter by default in srv6_end_dt4_l3vpn_test
    5041897b9f0f selftests: seg6: disable DAD on IPv6 router cfg for srv6_end_dt4_l3vpn_test
    d6c89d776be2 af_key: Reject optional tunnel/BEET mode templates in outbound policies
    19457a4423a3 cpupower: Make TSC read per CPU for Mperf monitor
    3a4ff14b0ecb ASoC: fsl_micfil: Fix error handler with pm_runtime_enable
    a2e5a77ae3c3 dt-bindings: display/msm: dsi-controller-main: Document qcom, master-dsi and qcom, sync-dual-dsi
    e1c9c7482e31 drm/msm/dpu: Remove duplicate register defines from INTF
    85eb9aef4fb5 drm/msm/dpu: Move non-MDP_TOP INTF_INTR offsets out of hwio header
    b688a4115bdf drm/msm/dpu: Add INTF_5 interrupts
    d8a291e39af2 drm/msm/dp: unregister audio driver during unbind
    288247879f4e Revert "Fix XFRM-I support for nested ESP tunnels"
    46f1a953545f xfrm: don't check the default policy if the policy allows the packet
    98f179c5b072 platform/x86: hp-wmi: add micmute to hp_wmi_keymap struct
    a832a43fdd95 platform/x86: Move existing HP drivers to a new hp subdir
    df14d64b36b1 platform/x86: hp-wmi: Support touchpad on/off
    6158e958e824 parisc: Replace regular spinlock with spin_trylock on panic path
    1fa3fb4f7018 mfd: dln2: Fix memory leak in dln2_probe()
    c9faa002ea4b soundwire: qcom: gracefully handle too many ports in DT
    b61382a825c0 phy: st: miphy28lp: use _poll_timeout functions for waits
    dc9c54d34dbd Input: xpad - add constants for GIP interface numbers
    92c089a931fd iommu/sprd: Release dma buffer to avoid memory leak
    a2bc5241ee14 iommu/arm-smmu-v3: Acknowledge pri/event queue overflow if any
    aa50d0a460cc clk: tegra20: fix gcc-7 constant overflow warning
    20f9bfc664d6 fs/ntfs3: Fix a possible null-pointer dereference in ni_clear()
    85afd3007465 fs/ntfs3: Add length check in indx_get_root
    2a67f26f70ab fs/ntfs3: Validate MFT flags before replaying logs
    d4b744825295 fs/ntfs3: Fix NULL dereference in ni_write_inode
    1fd5b80c9339 fs/ntfs3: Enhance the attribute size check
    6d3d3283e6b4 fs/ntfs3: Fix NULL pointer dereference in 'ni_write_inode'
    8ebcbd1811b8 iommu/arm-smmu-qcom: Limit the SMR groups to 128
    036e02dfd515 RDMA/core: Fix multiple -Warray-bounds warnings
    ff70ad9159fb recordmcount: Fix memory leaks in the uwrite function
    f3458b84c627 sched: Fix KCSAN noinstr violation
    0652b54957ff mcb-pci: Reallocate memory region to avoid memory overlapping
    1ba5594739d8 serial: 8250: Reinit port->pm on port specific driver unbind
    ee009c2abc44 usb: typec: tcpm: fix multiple times discover svids error
    973f84956b2c HID: wacom: generic: Set battery quirk only when we see battery data
    b2069cfe1b33 spi: spi-imx: fix MX51_ECSPI_* macros when cs > 3
    6293d0533cfe HID: logitech-hidpp: Reconcile USB and Unifying serials
    3f1719790cc3 HID: logitech-hidpp: Don't use the USB serial for USB devices
    a97e60bd2896 staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE
    116b9c002c89 Bluetooth: L2CAP: fix "bad unlock balance" in l2cap_disconnect_rsp
    392a06f965fe Bluetooth: hci_bcm: Fall back to getting bdaddr from EFI if not set
    c018360885f0 Bluetooth: btintel: Add LE States quirk support
    7aa14a7a3a85 ipvs: Update width of source for ip_vs_sync_conn_options
    52851d0c3354 nbd: fix incomplete validation of ioctl arg
    3d3f8fe01a01 wifi: ath11k: Fix SKB corruption in REO destination ring
    87940e4030e4 wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace
    35e304dbcefa null_blk: Always check queue mode setting from configfs
    82f877ec9b04 wifi: iwlwifi: pcie: Fix integer overflow in iwl_write_to_user_buf
    7545f21eee13 wifi: iwlwifi: pcie: fix possible NULL pointer dereference
    095018267c87 bpf: Add preempt_count_{sub,add} into btf id deny list
    e3e6e252d74f samples/bpf: Fix fout leak in hbm's run_bpf_prog
    e2759a59a4cc f2fs: fix to check readonly condition correctly
    d8f4ad5f3979 f2fs: fix to drop all dirty pages during umount() if cp_error is set
    613f6cde5ebb ext4: Fix best extent lstart adjustment logic in ext4_mb_new_inode_pa()
    bc4a3e1d07a8 ext4: set goal start correctly in ext4_mb_normalize_request
    203e8875d294 scsi: ufs: ufs-pci: Add support for Intel Lunar Lake
    71ee06193ed7 gfs2: Fix inode height consistency check
    e84282efc87f scsi: message: mptlan: Fix use after free bug in mptlan_remove() due to race condition
    c6ed54dd9069 lib: cpu_rmap: Avoid use after free on rmap->obj array entries
    1911cca5916b scsi: target: iscsit: Free cmds before session free
    a6f9f53d73bf net: Catch invalid index in XPS mapping
    e3644d15d74a net: pasemi: Fix return type of pasemi_mac_start_tx()
    d5eaf2a6b077 bnxt: avoid overflow in bnxt_get_nvram_directory()
    f91037487036 scsi: lpfc: Prevent lpfc_debugfs_lockstat_write() buffer overflow
    99f8a15af6c9 ext2: Check block size validity during mount
    e242c66f7ecf wifi: brcmfmac: cfg80211: Pass the PMK in binary instead of hex
    fe913db2acef bpf: Annotate data races in bpf_local_storage
    aa186074b6f2 wifi: ath: Silence memcpy run-time false positive warning
    9f87ee85ce1d media: Prefer designated initializers over memset for subdev pad ops
    66acfe798cd0 drm/amd: Fix an out of bounds error in BIOS parser
    d997c920a530 ACPICA: ACPICA: check null return of ACPI_ALLOCATE_ZEROED in acpi_db_display_objects
    3a7a4aa3958c ACPICA: Avoid undefined behavior: applying zero offset to null pointer
    0aa3d558f14e drm/msm/dp: Clean up handling of DP AUX interrupts
    33cc6ef106c9 drm/tegra: Avoid potential 32-bit integer overflow
    19882a49b242 remoteproc: stm32_rproc: Add mutex protection for workqueue
    f4a573eed637 ACPI: EC: Fix oops when removing custom query handlers
    66caf2278771 firmware: arm_sdei: Fix sleep from invalid context BUG
    162a9b321538 memstick: r592: Fix UAF bug in r592_remove due to race condition
    dcf632bca424 media: pci: tw68: Fix null-ptr-deref bug in buf prepare and finish
    f0a06203f2fe media: cx23885: Fix a null-ptr-deref bug in buffer_prepare() and buffer_finish()
    c12733784112 arm64: dts: qcom: msm8996: Add missing DWC3 quirks
    15856ab95617 regmap: cache: Return error in cache sync operations for REGCACHE_NONE
    e9c5fc4f3f35 drm/amd/display: Use DC_LOG_DC in the trasform pixel function
    9fd5be74b38f drm/displayid: add displayid_get_header() and check bounds better
    37cab61a52d6 fs: hfsplus: remove WARN_ON() from hfsplus_cat_{read,write}_inode()
    e30a55e98ae6 rcu: Protect rcu_print_task_exp_stall() ->exp_tasks access
    718b66c5eb65 refscale: Move shutdown from wait_event() to wait_event_idle()
    620a3c28221b ext4: allow ext4_get_group_info() to fail
    99f7ce0fac22 ext4: allow to find by goal if EXT4_MB_HINT_GOAL_ONLY is set
    1de53f2223eb ext4: fix lockdep warning when enabling MMP
    c53936d9fb35 ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled
    3f937d6615dd ext4: reflect error codes from ext4_multi_mount_protect() to its callers
    1284253ce95a ext4: remove an unused variable warning with CONFIG_QUOTA=n
    96b3233f42fb fbdev: arcfb: Fix error handling in arcfb_probe()
    33b5890dfaf2 drm/i915/dp: prevent potential div-by-zero
    a41559ae3681 af_unix: Fix data races around sk->sk_shutdown.
    610fd07c1370 af_unix: Fix a data race of sk->sk_receive_queue->qlen.
    62d43dd14b1d net: datagram: fix data-races in datagram_poll()
    7c8be27727fe ipvlan:Fix out-of-bounds caused by unclear skb->cb
    3c9d916e39ef gve: Remove the code of clearing PBA bit
    43d938a82ed1 tcp: add annotations around sk->sk_shutdown accesses
    9dd9ffe11841 net: add vlan_get_protocol_and_depth() helper
    538b511bc54e net: deal with most data-races in sk_wait_event()
    159a81d5e5a9 net: annotate sk->sk_err write from do_recvmmsg()
    1d5c8b01f1df netlink: annotate accesses to nlk->cb_running
    1a2b27f2d7ac netfilter: conntrack: fix possible bug_on with enable_hooks=1
    8d56f00c61f6 netfilter: nf_tables: always release netdev hooks from notifier
    de260d1e02cd net: Fix load-tearing on sk->sk_stamp in sock_recv_cmsgs().
    5f5549b99828 net: stmmac: Initialize MAC_ONEUS_TIC_COUNTER register
    b0a513ba5b28 net: stmmac: switch to use interrupt for hw crosstimestamping
    46e100be0f02 linux/dim: Do nothing if no time delta between samples
    2fdce3e52dc3 tick/broadcast: Make broadcast device replacement work correctly
    6e455b89f02c scsi: ufs: core: Fix I/O hang that occurs when BKOPS fails in W-LUN suspend
    b614567e0dd8 net: mdio: mvusb: Fix an error handling path in mvusb_mdio_probe()
    da3cd1a81d4e ARM: 9296/1: HP Jornada 7XX: fix kernel-doc warnings
    ac88a1f41f93 drm/mipi-dsi: Set the fwnode for mipi_dsi_device

(From OE-Core rev: 2057c5a6e7480e32709a6afedc3eda1ee64b6709)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit e59689be96bb366233a10db22246751f484691fa)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Bruce Ashfield
7d75bf2e97 linux-yocto/5.15: update to v5.15.112
Updating  to the latest korg -stable release that comprises
the following commits:

    9d6bde853685 Linux 5.15.112
    0788273bd0a6 drm/amd/display: Fix hang when skipping modeset
    de9a3ed42333 RISC-V: Fix up a cherry-pick warning in setup_vm_final()
    3c9b08a16978 drbd: correctly submit flush bio on barrier
    d0bcf6caa280 serial: 8250: Fix serial8250_tx_empty() race with DMA Tx
    0b401c2cccc5 drm/msm/adreno: adreno_gpu: Use suspend() instead of idle() on load error
    8beaa3cb293a ext4: fix invalid free tracking in ext4_xattr_move_to_block()
    978e5e9111af ext4: remove a BUG_ON in ext4_mb_release_group_pa()
    2b3b8f18c0dc ext4: bail out of ext4_xattr_ibody_get() fails for any reason
    f22b274429e8 ext4: add bounds checking in get_max_inline_xattr_value_size()
    640c8c365999 ext4: fix deadlock when converting an inline directory in nojournal mode
    b2531936118d ext4: improve error handling from ext4_dirhash()
    b2f1314e6e36 ext4: improve error recovery code paths in __ext4_remount()
    5f7d66e5e557 ext4: check iomap type only if ext4_iomap_begin() does not fail
    f5e687698c6d ext4: fix data races when using cached status extents
    6d9a705a653e ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum
    d55e76e11592 ext4: fix WARNING in mb_find_extent
    c5c385baee9b locking/rwsem: Add __always_inline annotation to __down_read_common() and inlined callers
    ed76d3a8910b ksmbd: not allow guest user on multichannel
    4f9baa066749 ksmbd: fix deadlock in ksmbd_find_crypto_ctx()
    bc77a6e93306 ksmbd: fix racy issue while destroying session on multichannel
    a89ff57e4da1 ksmbd: fix kernel oops from idr_remove()
    876a7e3b58e3 ksmbd: add channel rwlock
    05cbc9806ae8 ksmbd: replace sessions list in connection with xarray
    f86a1a74d9a7 ksmbd: fix multi session connection failure
    bb3b772f186c ksmbd: set RSS capable in FSCTL_QUERY_NETWORK_INTERFACE_INFO
    2456e2889c77 wifi: rtw88: rtw8821c: Fix rfe_option field width
    615aff165bda drm/amd/display: Add NULL plane_state check for cursor disable logic
    c11b90aced1a drm/amd/display: Refine condition of cursor visibility for pipe-split
    bf16debcda5c drm/msm/adreno: fix runtime PM imbalance at gpu load
    bac00e57cd5e drm/msm: Remove struct_mutex usage
    17eeeac92b47 drm/i915/dg2: Add HDMI pixel clock frequencies 267.30 and 319.89 MHz
    6d5e6d5a70e2 drm/i915/dg2: Add additional HDMI pixel clock frequencies
    06af228515d1 drm/i915/dg2: Support 4k@30 on HDMI
    a63c6b1eed9a ASoC: soc-pcm.c: call __soc_pcm_close() in soc_pcm_close()
    aa803e6ecac7 ASoC: DPCM: Don't pick up BE without substream
    44b685c4bab3 ASoC: soc-pcm: Move debugfs removal out of spinlock
    0d5017dea0c6 ASoC: soc-compress: Inherit atomicity from DAI link for Compress FE
    a536c367b0d8 ASoC: soc-pcm: Fix DPCM lockdep warning due to nested stream locks
    e2e5b8c72998 fs/ntfs3: Refactoring of various minor issues
    5047a228d4c8 HID: wacom: insert timestamp to packed Bluetooth (BT) events
    db587340a004 HID: wacom: Set a default resolution for older tablets
    823787470e32 drm/amdgpu: disable sdma ecc irq only when sdma RAS is enabled in suspend
    b39ba90d69ee drm/amdgpu: Fix vram recover doesn't work after whole GPU reset (v2)
    cd3c0f7013c3 drm/amdgpu/gfx: disable gfx9 cp_ecc_error_irq only when enabling legacy gfx ras
    6d4b6abedd2d drm/amdgpu: fix an amdgpu_irq_put() issue in gmc_v9_0_hw_fini()
    db307e725d5b drm/amd/display: fix flickering caused by S/G mode
    61b694b742fb drm/panel: otm8009a: Set backlight parent to panel device
    8f57f3e112cf f2fs: fix potential corruption when moving a directory
    e2d1cc82ad50 drm/msm: fix NULL-deref on irq uninstall
    8f0e1ad5327a drm/msm: fix NULL-deref on snapshot tear down
    74543041c03e drm/bridge: lt8912b: Fix DSI Video Mode
    9d79ccd97199 ARM: dts: s5pv210: correct MIPI CSIS clock name
    137259261cd0 ARM: dts: exynos: fix WM8960 clock name in Itop Elite
    eb15fb94d44a remoteproc: imx_rproc: Call of_node_put() on iteration error
    de26e064ed9e remoteproc: st: Call of_node_put() on iteration error
    8915e44eb3fb remoteproc: stm32: Call of_node_put() on iteration error
    975b80702f0e sh: nmi_debug: fix return value of __setup handler
    66dbc361214d sh: init: use OF_EARLY_FLATTREE for early init
    bb870c4b73d2 sh: mcount.S: fix build error when PRINTK is not enabled
    be95f9ebaf10 sh: math-emu: fix macro redefined warning
    9fdf3666e3f1 SMB3: force unmount was failing to close deferred close files
    c3a0ae5259ea smb3: fix problem remounting a share after shutdown
    17ad86d8c122 inotify: Avoid reporting event with invalid wd
    e51cd74e32d2 platform/x86: touchscreen_dmi: Add info for the Dexp Ursus KX210i
    21de866f75de platform/x86: touchscreen_dmi: Add upside-down quirk for GDIX1002 ts on the Juno Tablet
    5af78b437cd3 cifs: release leases for deferred close handles when freezing
    f43b5573cddc cifs: fix pcchunk length type in smb2_copychunk_range
    69dfa5a2e89d btrfs: fix space cache inconsistency after error loading it from disk
    e0710a49799f btrfs: print-tree: parent bytenr must be aligned to sector size
    bcc401bb8678 btrfs: zero the buffer before marking it dirty in btrfs_redirty_list_add
    f264be24146b btrfs: don't free qgroup space unless specified
    29478148bb3b btrfs: fix encoded write i_size corruption with no-holes
    91f585024e3e btrfs: zoned: fix wrong use of bitops API in btrfs_ensure_empty_zones
    77c6323dad14 btrfs: fix btrfs_prev_leaf() to not return the same key twice
    b13e20cc58e4 perf stat: Separate bperf from bpf_profiler
    2baa45d8f55e perf evlist: Refactor evlist__for_each_cpu()
    871149abc1b9 perf symbols: Fix return incorrect build_id size in elf_read_build_id()
    f716374c4e21 crypto: engine - fix crypto_queue backlog handling
    fa4e304bbd8a crypto: engine - Use crypto_request_complete
    e7ce4ba11635 crypto: api - Add scaffolding to change completion function signature
    a8cc4d5adfe5 crypto: engine - check if BH is disabled during completion
    7b36a06bacf7 crypto: sun8i-ss - Fix a test in sun8i_ss_setup_ivs()
    b6e2d1e253a4 perf map: Delete two variable initialisations before null pointer checks in sort__sym_from_cmp()
    4f128167e64b perf pmu: zfree() expects a pointer to a pointer to zero it after freeing its contents
    e685e2e2bd14 perf vendor events power9: Remove UTF-8 characters from JSON files
    a6ef72c38c23 perf scripts intel-pt-events.py: Fix IPC output for Python 2
    53f7b55f6b3a net: enetc: check the index of the SFI rather than the handle
    a0cb00295dbe virtio_net: suppress cpu stall when free_unused_bufs
    b4e16ea5f146 virtio_net: split free_unused_bufs()
    f495e435e588 net: dsa: mt7530: fix corrupt frames using trgmii on 40 MHz XTAL MT7621
    dfad4eb4c4d8 ALSA: caiaq: input: Add error handling for unsupported input methods in `snd_usb_caiaq_input_init`
    10c5ea39573d drm/amdgpu: add a missing lock for AMDGPU_SCHED
    54c466c60e23 af_packet: Don't send zero-byte data in packet_sendmsg_spkt().
    c177dd465f5c ionic: catch failure from devlink_alloc
    da81af0ef809 ethtool: Fix uninitialized number of lanes
    27b0d1b81f82 ionic: remove noise from ethtool rxnfc error msg
    d37f6a832331 octeontx2-vf: Detach LF resources on probe cleanup
    00e985958b3e octeontx2-pf: Disable packet I/O for graceful exit
    b5ad803dec80 octeontx2-af: Skip PFs if not enabled
    e39148d3d719 octeontx2-af: Secure APR table update with the lock
    a895ab54afce rxrpc: Fix hard call timeout units
    f5b44b2a17ca sfc: Fix module EEPROM reporting for QSFP modules
    98a20dceddf6 r8152: move setting r8153b_rx_agg_chg_indicate()
    4fbf19a5bd31 r8152: fix the poor throughput for 2.5G devices
    d0ebe36065a8 r8152: fix flow control issue of RTL8156A
    55aeff5361e6 net/sched: act_mirred: Add carrier check
    59bf62f0ed7e RISC-V: mm: Enable huge page support to kernel_page_present() function
    cc4ae807dbef watchdog: dw_wdt: Fix the error handling path of dw_wdt_drv_probe()
    b36cc1c39448 writeback: fix call of incorrect macro
    f98f2ac30f75 net: dsa: mv88e6xxx: add mv88e6321 rsvd2cpu
    56444f30619b selftests: srv6: make srv6_end_dt46_l3vpn_test more robust
    c5ce7c4517d6 sit: update dev->needed_headroom in ipip6_tunnel_bind_dev()
    cb145932fcf6 net/sched: cls_api: remove block_cb from driver_list before freeing
    480577d419f9 net/ncsi: clear Tx enable mode when handling a Config required AEN
    5e756a59cee6 scsi: qedi: Fix use after free bug in qedi_remove()
    fd6204d7724a drm/hyperv: Don't overwrite dirt_needed value set by host
    f8d9e062a695 fs/ntfs3: Fix null-ptr-deref on inode->i_op in ntfs_lookup()
    ce30b2f48b65 ASoC: soc-pcm: fix BE handling of PAUSE_RELEASE
    74201b3c3e52 ASoC: soc-pcm: test refcount before triggering
    2cf8c9f883de ASoC: soc-pcm: serialize BE triggers
    703ebcf64aac ASoC: soc-pcm: Fix and cleanup DPCM locking
    c474bb800000 ASoC: soc-pcm: align BE 'atomicity' with that of the FE
    13390bea97a4 ASoC: soc-pcm: use GFP_ATOMIC for dpcm structure
    25361a0155a1 mailbox: zynqmp: Fix counts of child nodes
    f9dd36311bd5 mailbox: zynq: Switch to flexible array to simplify code
    2343385fe6ee bus: mhi: host: Range check CHDBOFF and ERDBOFF
    a7561c04adb1 bus: mhi: host: Use mhi_tryset_pm_state() for setting fw error state
    7517f62ea073 bus: mhi: host: Remove duplicate ee check for syserr
    9fbf10148f31 bus: mhi: Move host MHI code to "host" directory
    43b2f7d69069 ubifs: Fix memory leak in do_rename
    9933a9086cea ubifs: Fix AA deadlock when setting xattr for encrypted file
    21ad89e197dd crypto: ccp - Clear PSP interrupt status register before calling handler
    93f8b664031b ring-buffer: Ensure proper resetting of atomic variables in ring_buffer_reset_online_cpus

(From OE-Core rev: 6180d99b8af79ceba5096e6f5499a4fb151fc612)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 276039dd77ad0e6276d4e4688db65150fced3d5f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Bruce Ashfield
351dca5a44 linux-yocto/5.15: update to v5.15.111
Updating  to the latest korg -stable release that comprises
the following commits:

    b0ece631f84a Linux 5.15.111
    0a008c5098d8 sched: Fix DEBUG && !SCHEDSTATS warn
    21c2a454486d netfilter: nf_tables: deactivate anonymous set from preparation phase
    aa6ff950f875 arm64: dts: qcom: sdm845: correct dynamic power coefficients - again
    2931ed45bfe3 sound/oss/dmasound: fix 'dmasound_setup' defined but not used
    503e554782c9 debugobject: Ensure pool refill (again)
    6b84832966a0 perf intel-pt: Fix CYC timestamps after standalone CBR
    06106efa20f7 perf auxtrace: Fix address filter entire kernel size
    11c6fb35df5c dm: don't lock fs when the map is NULL in process of resume
    e11765cea205 dm ioctl: fix nested locking in table_clear() to remove deadlock concern
    f76fcb9d43ec dm flakey: fix a crash with invalid table line
    a5d8c6bf58e5 dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path
    56e952ae6d89 dm clone: call kmem_cache_destroy() in dm_clone_init() error path
    f382705d0460 dm verity: fix error handling for check_at_most_once on FEC
    1821a33bb23e ia64: fix an addr to taddr in huge_pte_offset()
    3a57c70e9e92 s390/dasd: fix hanging blockdevice after request requeue
    ed7e8beb201b btrfs: scrub: reject unsupported scrub flags
    14383698c0de scripts/gdb: fix lx-timerlist for Python3
    33383fbe4f01 clk: rockchip: rk3399: allow clk_cifout to force clk_cifout_src to reparent
    e8353dea7d7d wifi: rtl8xxxu: RTL8192EU always needs full init
    384a0dcac2a6 mailbox: zynqmp: Fix typo in IPI documentation
    09206edff007 mailbox: zynqmp: Fix IPI isr handling
    6d1af517817a mtd: core: fix error path for nvmem provider
    8444b46e163a mtd: core: fix nvmem error reporting
    7c253e98685e mtd: core: provide unique name for nvmem device, take two
    68695084077e md/raid10: fix null-ptr-deref in raid10_sync_request
    8d07d9119642 nilfs2: fix infinite loop in nilfs_mdt_get_block()
    13f73ef77baa nilfs2: do not write dirty data after degenerating to read-only
    ab0748f246b7 ALSA: usb-audio: Add quirk for Pioneer DDJ-800
    a87e5b9b4c64 parisc: Fix argument pointer in real64_call_asm()
    f1b4681cfa0a afs: Fix updating of i_size with dv jump from server
    33f302c9bf3e mfd: tqmx86: Correct board names for TQMxE39x
    ce01b75447f6 mfd: tqmx86: Specify IO port register range more precisely
    a23b3b2be0d0 mfd: tqmx86: Do not access I2C_DETECT register through io_base
    388d2578c7d7 thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe
    bdcf9fec87b2 dmaengine: at_xdmac: do not enable all cyclic channels
    a5227b3be869 dmaengine: at_xdmac: Fix race for the tx desc callback
    2b68028d771a dmaengine: at_xdmac: Fix concurrency over chan's completed_cookie
    738a4fdbd157 dmaengine: dw-edma: Fix to enable to issue dma request on DMA processing
    fd6316dec20f dmaengine: dw-edma: Fix to change for continuous transfer
    dd23c11136ff dma: gpi: remove spurious unlock in gpi_ch_init
    dce3bdaee3f2 phy: tegra: xusb: Add missing tegra_xusb_port_unregister for usb2_port and ulpi_port
    1cccf7c5c7f5 pwm: mtk-disp: Configure double buffering before reading in .get_state()
    d2798512fafc pwm: mtk-disp: Disable shadow registers before setting backlight values
    8ffa1cb8bcfa leds: tca6507: Fix error handling of using fwnode_property_read_string
    e63e3a0fc062 dmaengine: mv_xor_v2: Fix an error code.
    332ca024a82e leds: TI_LMU_COMMON: select REGMAP instead of depending on it
    c904a070d7cd pinctrl: renesas: r8a779a0: Remove incorrect AVB[01] pinmux configuration
    40566def189c ext4: fix use-after-free read in ext4_find_extent for bigalloc + inline
    18eb23891aea ext4: fix i_disksize exceeding i_size problem in paritally written case
    3dc3a86b88bd SMB3: Close deferred file handles in case of handle lease break
    0f87e18203bd SMB3: Add missing locks to protect deferred close file list
    b574e73db844 timekeeping: Fix references to nonexistent ktime_get_fast_ns()
    ccfede0a2cb1 openrisc: Properly store r31 to pt_regs on unhandled exceptions
    1c7456aa5d3a clocksource/drivers/davinci: Fix memory leak in davinci_timer_register when init fails
    c87c6d50505b RDMA/mlx5: Use correct device num_ports when modify DC
    d2823237dabc SUNRPC: remove the maximum number of retries in call_bind_status
    c11e44ac1a71 RDMA/mlx5: Fix flow counter query via DEVX
    7acad58049ac Input: raspberrypi-ts - fix refcount leak in rpi_ts_probe
    b6157a9f0fc7 clk: qcom: gcc-sm8350: fix PCIe PIPE clocks handling
    33f9b8de1b00 clk: qcom: regmap: add PHY clock source implementation
    0ccc1a6bac34 NFSv4.1: Always send a RECLAIM_COMPLETE after establishing lease
    a2bd706ab635 IB/hfi1: Fix bugs with non-PAGE_SIZE-end multi-iovec user SDMA requests
    6bbc49661c31 IB/hfi1: Fix SDMA mmu_rb_node not being evicted in LRU order
    00cc21e32ea1 RDMA/srpt: Add a check for valid 'mad_agent' pointer
    03b9d26f33e6 RDMA/cm: Trace icm_send_rej event before the cm state is reset
    30218b769845 clk: qcom: gcc-sm6115: Mark RCGs shared where applicable
    5255051c8f31 RDMA/siw: Remove namespace check from siw_netdev_event()
    48ba87f6e14d clk: add missing of_node_put() in "assigned-clocks" property parsing
    3d7c6f2076f1 power: supply: generic-adc-battery: fix unit scaling
    c58ea97aa94f fs/ntfs3: Fix slab-out-of-bounds read in hdr_delete_de()
    cd7e1d679240 fs/ntfs3: Fix OOB read in indx_insert_into_buffer
    952bbfcedbf8 fs/ntfs3: Add check for kmemdup
    3030f2b9b332 fs/ntfs3: Fix memory leak if ntfs_read_mft failed
    d1faeb14bce3 rtc: meson-vrtc: Use ktime_get_real_ts64() to get the current time
    9911be215572 RDMA/mlx4: Prevent shift wrapping in set_user_sq_size()
    44438a49593a rtc: omap: include header for omap_rtc_power_off_program prototype
    6d19fe968ef6 workqueue: Fix hung time report of worker pools
    6c073c5a5b97 workqueue: Introduce show_one_worker_pool and show_one_workqueue.
    e89f95c68536 RDMA/rdmavt: Delete unnecessary NULL check
    9721b14e6c8a RDMA/siw: Fix potential page_array out of range access
    8d909684bdf6 clk: at91: clk-sam9x60-pll: fix return value check
    623941780df3 sched/rt: Fix bad task migration for rt tasks
    594d2a055526 Revert "objtool: Support addition to set CFA base"
    80973ce36f4b perf/core: Fix hardlockup failure caused by perf throttle
    3e09b68fc520 sched/fair: Fix inaccurate tally of ttwu_move_affine
    c3b9f95598b8 sched: Make struct sched_statistics independent of fair sched class
    6002989848c5 sched/fair: Use __schedstat_set() in set_next_entity()
    94bcf94c25aa powerpc/rtas: use memmove for potentially overlapping buffer copy
    f7107d44dff7 macintosh: via-pmu-led: requires ATA to be set
    85842228df0e powerpc/sysdev/tsi108: fix resource printk format warnings
    179cc5ab9591 powerpc/wii: fix resource printk format warnings
    516c27922c96 powerpc/mpc512x: fix resource printk format warning
    da961d510b21 macintosh/windfarm_smu_sat: Add missing of_node_put()
    5b9fc529b689 virtio_ring: don't update event idx on get_buf
    ee0b6146317a spmi: Add a check for remove callback when removing a SPMI driver
    be267f30b07e staging: rtl8192e: Fix W_DISABLE# does not work after stop/start
    424cf2929635 serial: 8250: Add missing wakeup event reporting
    8dfd00bfd53f tty: serial: fsl_lpuart: adjust buffer length to the intended size
    59ecc2cf3466 firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe
    ee53a7a88027 usb: mtu3: fix kernel panic at qmu transfer done irq handler
    6b0d399dac58 usb: chipidea: fix missing goto in `ci_hdrc_probe`
    6d4325ebd8c0 usb: gadget: tegra-xudc: Fix crash in vbus_draw
    d96f6bc10789 sh: sq: Fix incorrect element size for allocating bitmap buffer
    397eb669dac0 uapi/linux/const.h: prefer ISO-friendly __typeof__
    d1c4dedcd2df scripts/gdb: raise error with reduced debugging information
    2d65599ad1e4 i2c: cadence: cdns_i2c_master_xfer(): Fix runtime PM leak on error path
    d453f25faf68 spi: cadence-quadspi: fix suspend-resume implementations
    6a129c0e9935 ASoC: fsl_mqs: move of_node_put() to the correct location
    850631845531 coresight: etm_pmu: Set the module field
    db6f1b2bba34 HID: amd_sfh: Add support for shutdown operation
    b711dd0ba9b3 scripts/gdb: bail early if there are no generic PD
    eaecf281c27f scripts/gdb: bail early if there are no clocks
    0110bfacff03 ia64: salinfo: placate defined-but-not-used warning
    51395777f66d ia64: mm/contig: fix section mismatch warning/error
    1a2a0d5b0617 PCI/EDR: Clear Device Status after EDR error recovery
    cc4f0e168a56 of: Fix modalias string generation
    770d30b1355c vmci_host: fix a race condition in vmci_host_poll() causing GPF
    08c7608798a9 spi: fsl-spi: Fix CPM/QE mode Litte Endian
    f345d4d71e87 spi: qup: Don't skip cleanup in remove's error path
    77b0c0dd2c56 linux/vt_buffer.h: allow either builtin or modular for macros
    af9ec18aa8ee ASoC: es8316: Handle optional IRQ assignment
    39287d16b2d2 PCI: imx6: Install the fault handler only on compatible match
    1e58fb6b1cef usb: gadget: udc: renesas_usb3: Fix use after free bug in renesas_usb3_remove due to race condition
    f90822ad63d1 spi: imx: Don't skip cleanup in remove's error path
    e9ded9dd5d05 spi: spi-imx: using pm_runtime_resume_and_get instead of pm_runtime_get_sync
    193f7fffdcaf serial: 8250_bcm7271: Fix arbitration handling
    f67cc4929ef9 iio: light: max44009: add missing OF device matching
    7e42057532ea fpga: bridge: fix kernel-doc parameter description
    72b1ce904567 serial: stm32: Re-assert RTS/DE GPIO in RS485 mode only if more data are transmitted
    59ed254dd35e serial: stm32: re-introduce an irq flag condition in usart_receive_chars
    4b7bb1c7be4f usb: dwc3: gadget: Change condition for processing suspend event
    beb12083c1ac usb: host: xhci-rcar: remove leftover quirk handling
    295f3fcaa8ea pstore: Revert pmsg_lock back to a normal mutex
    2491b999a60d drivers: staging: rtl8723bs: Fix locking in rtw_scan_timeout_handler()
    209850f17717 drivers: staging: rtl8723bs: Fix locking in _rtw_join_timeout_handler()
    1ffb2ca65051 ipmi: ASPEED_BT_IPMI_BMC: select REGMAP_MMIO instead of depending on it
    43e4197dd5f6 tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp.
    1d2f799c1604 net: amd: Fix link leak when verifying config failed
    5d6e5c054ed2 netlink: Use copy_to_user() for optval in netlink_getsockopt().
    a789192f3661 Revert "Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work"
    a54ec573d9b8 ipv4: Fix potential uninit variable access bug in __ip_make_skb()
    d0b43125ec89 net/sched: sch_fq: fix integer overflow of "credit"
    7a45b4e1c82b netfilter: nf_tables: don't write table validation state without mutex
    8913abddad4a bpf: Don't EFAULT for getsockopt with optval=NULL
    77f245ce053e net: stmmac:fix system hang when setting up tag_8021q VLAN for DSA ports
    a9e96eef8218 net/mlx5: E-switch, Don't destroy indirect table in split rule
    05cf6f353d3c ixgbe: Enable setting RSS table to default values
    624b73f77664 ixgbe: Allow flow hash to be set via ethtool
    e302e9ca14a8 wifi: iwlwifi: fw: fix memory leak in debugfs
    53b3b1f563bc wifi: iwlwifi: mvm: check firmware response size
    aa11a894458d wifi: mt76: mt7921e: improve reliability of dma reset
    f8923ad9dd8e wifi: mt76: fix 6GHz high channel not be scanned
    613b51663fc4 wifi: mt76: mt7921e: fix probe timeout after reboot
    5279aaf9f5b0 wifi: mt76: add flexible polling wait-interval support
    ac9fec5b5688 wifi: mt76: handle failure of vzalloc in mt7615_coredump_work
    210e6d01cc49 wifi: iwlwifi: make the loop for card preparation effective
    dff2a7b33060 jdb2: Don't refuse invalidation of already invalidated buffers
    358317ad9cf4 wifi: iwlwifi: fw: move memset before early return
    cccf85e047c3 wifi: iwlwifi: mvm: initialize seq variable
    b3cecbb2571c wifi: iwlwifi: yoyo: Fix possible division by zero
    4636c35b7e6e wifi: iwlwifi: yoyo: skip dump correctly on hw error
    34222897e0eb md/raid10: don't call bio_start_io_acct twice for bio which experienced read error
    d6cfcf98b824 md/raid10: fix memleak of md thread
    7f673fa34c0e md/raid10: fix memleak for 'conf->bio_split'
    8d09065802c5 md/raid10: fix leak of 'r10bio->remaining' for recovery
    901b4918faa4 md/raid10: fix task hung in raid10d
    fc04998351fe md/raid10: factor out code from wait_barrier() to stop_waiting_barrier()
    39db562b3fed md: raid10 add nowait support
    74af08efa5cd md: drop queue limitation for RAID1 and RAID10
    337d1d88be9d bpf, sockmap: Revert buggy deadlock fix in the sockhash and sockmap
    12e70c6f4ed8 selftests/bpf: Fix leaked bpf_link in get_stackid_cannot_attach
    103a4275420e nvme-fcloop: fix "inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage"
    9fe41e648254 nvme: fix async event trace event
    13475e639162 nvme: handle the persistent internal error AER
    30b9073583ac nvmet: fix I/O Command Set specific Identify Controller
    42bcbc2a90a8 nvmet: fix Identify Active Namespace ID list handling
    92cf81746ebc nvmet: fix Identify Controller handling
    ac86d59eaa69 nvmet: fix Identify Namespace handling
    c7e98afecab2 nvmet: fix error handling in nvmet_execute_identify_cns_cs_ns()
    537083b1275c nvmet: move the call to nvmet_ns_changed out of nvmet_ns_revalidate
    080826d16758 nvmet: use i_size_read() to set size for file-ns
    f333854dce4a bpf, sockmap: fix deadlocks in the sockhash and sockmap
    c8a67bc85772 net: ethernet: stmmac: dwmac-rk: fix optional phy regulator handling
    fd8c83d8375b scsi: lpfc: Fix ioremap issues in lpfc_sli4_pci_mem_setup()
    9a7f63283af6 f2fs: fix to avoid use-after-free for cached IPU bio
    119f278ea9c1 xsk: Fix unaligned descriptor validation
    1056b209935d crypto: drbg - Only fail when jent is unavailable in FIPS mode
    9317d6612011 crypto: drbg - make drbg_prepare_hrng() handle jent instantiation errors
    80bfd8b184d8 bpftool: Fix bug for long instructions in program CFG dumps
    afdc3a4bd77d selftests/bpf: Wait for receive in cg_storage_multi test
    c5fa99bce673 selftests: xsk: Disable IPv6 on VETH1
    c4afd6410f3c net: qrtr: correct types of trace event parameters
    eb77c0c0a17c wifi: rt2x00: Fix memory leak when handling surveys
    0b0c3e37a43f wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_reg()
    0a847af3cb40 wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_rfreg()
    3e660d117513 crypto: sa2ul - Select CRYPTO_DES
    d82d82e0372b crypto: caam - Clear some memory in instantiate_rng
    169134da419c f2fs: compress: fix to call f2fs_wait_on_page_writeback() in f2fs_write_raw_pages()
    d0cf44f06dd4 f2fs: apply zone capacity to all zone type
    2cc6a05661ad f2fs: enforce single zone capacity
    e5a56f13ba2d f2fs: handle dqget error in f2fs_transfer_project_quota()
    6d6415e5bce2 scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS
    eb4cf26d2e86 scsi: target: iscsit: Fix TAS handling during conn cleanup
    9158c86fd323 scsi: target: Fix multiple LUN_RESET handling
    ad4a647aa587 net/packet: convert po->auxdata to an atomic flag
    f1a111ca05ce net/packet: convert po->origdev to an atomic flag
    c3238c7dbed9 net/packet: annotate accesses to po->xmit
    97e7b1c1da12 vlan: partially enable SIOCSHWTSTAMP in container
    5f44dfa841e9 net: pcs: xpcs: remove double-read of link state when using AN
    a7282fc797df bpf: Remove misleading spec_v1 check on var-offset stack read
    60f9ed23b954 selftests/bpf: Fix a fd leak in an error path in network_helpers.c
    9b9e803b4823 scm: fix MSG_CTRUNC setting condition for SO_PASSSEC
    670754766ac3 bpf: fix precision propagation verbose logging
    c022b09fcc32 bpf: take into account liveness when propagating precision
    23634d119ca7 wifi: rtw88: mac: Return the original error from rtw_mac_power_switch()
    3fc0be9f48ff wifi: rtw88: mac: Return the original error from rtw_pwr_seq_parser()
    2ba1e4a623bf tools: bpftool: Remove invalid \' json escape
    484d95c69fc1 wifi: ath6kl: reduce WARN to dev_dbg() in callback
    19ba40acb170 wifi: brcmfmac: support CQM RSSI notification with older firmware
    378364abbe55 wifi: ath5k: fix an off by one check in ath5k_eeprom_read_freq_list()
    59073060fe09 wifi: ath9k: hif_usb: fix memory leak of remain_skbs
    104b1b48b679 wifi: ath6kl: minor fix for allocation size
    d1138f118f43 hwmon: (pmbus/fsp-3y) Fix functionality bitmask in FSP-3Y YM-2151E
    f1d68061b074 cpufreq: use correct unit when verify cur freq
    a55050c7989c tick/common: Align tick period with the HZ tick.
    54202488c835 drm/i915: Make intel_get_crtc_new_encoder() less oopsy
    500ffa58e70b debugobject: Prevent init race with static objects
    af04d8d3c156 arm64: kgdb: Set PSTATE.SS to 1 to re-enable single-step
    00132fab90ea x86/ioapic: Don't return 0 from arch_dynirq_lower_bound()
    ad6481f49fb2 regulator: stm32-pwr: fix of_iomap leak
    b8c2678d0fe7 media: venus: dec: Fix handling of the start cmd
    2ed8f8c09d2a media: rc: gpio-ir-recv: Fix support for wake-up
    4b1afffdd940 drm/amd/display: Fix potential null dereference
    2322b262d220 media: rcar_fdp1: Fix refcount leak in probe and remove function
    5847021f8052 media: rcar_fdp1: Convert to platform remove callback returning void
    d18789f43484 platform: Provide a remove callback that returns no value
    825281f34bec media: rcar_fdp1: Fix the correct variable assignments
    3c300022c188 media: rcar_fdp1: Make use of the helper function devm_platform_ioremap_resource()
    2f48c0a463a3 media: saa7134: fix use after free bug in saa7134_finidev due to race condition
    c94388b5b909 media: dm1105: Fix use after free bug in dm1105_remove due to race condition
    cac0f4f36e22 media: rkvdec: fix use after free bug in rkvdec_remove
    d991f6139fa6 x86/apic: Fix atomic update of offset in reserve_eilvt_offset()
    1e3056b8067c regulator: core: Avoid lockdep reports when resolving supplies
    4e5c9738185b regulator: core: Consistently set mutex_owner when using ww_mutex_lock_slow()
    678b3f29aaaf drm/ttm/pool: Fix ttm_pool_alloc error path
    b19bebc96381 drm/ttm: optimize pool allocations a bit v2
    1e26766dc83a arm64: dts: qcom: msm8994-msft-lumia-octagon: drop unit address from PMI8994 regulator
    bee1a285732a arm64: dts: qcom: msm8994-kitakami: drop unit address from PMI8994 regulator
    fb0bea59d078 arm64: dts: qcom: sc7180-trogdor-lazor: correct trackpad supply
    8853aab16787 mailbox: mpfs: switch to txdone_poll
    623275db2841 drm/lima/lima_drv: Add missing unwind goto in lima_pdev_probe()
    5a8aedb7b9fe ACPI: VIOT: Initialize the correct IOMMU fwspec
    111af9798356 firmware: arm_scmi: Fix xfers allocation on Rx channel
    657776d47bed ARM: dts: gta04: fix excess dma channel usage
    d3047a1b0422 drm: rcar-du: Fix a NULL vs IS_ERR() bug
    3cfaa8713e8b mmc: sdhci-of-esdhc: fix quirk to ignore command inhibit for data
    60cadfcfa44c ACPI: processor: Fix evaluating _PDC method when running as Xen dom0
    aa8d52ddf7c8 drm/amd/display/dc/dce60/Makefile: Fix previous attempt to silence known override-init warnings
    d28ec12c48dd drm: msm: adreno: Disable preemption on Adreno 510
    2ad781393eb3 drm/msm/adreno: drop bogus pm_runtime_set_active()
    86c1a99528c6 drm/msm/adreno: Defer enabling runpm until hw_init()
    1ad4b8c4552b media: max9286: Free control handler
    3d7003c400ca drm/bridge: adv7533: Fix adv7533_mode_valid for adv7533 and adv7535
    a3ea89b5978d firmware: qcom_scm: Clear download bit during reboot
    ca4ce92e3ec9 media: av7110: prevent underflow in write_ts_to_decoder()
    519b08494011 media: bdisp: Add missing check for create_workqueue
    11c58a0c1937 x86/MCE/AMD: Use an u64 for bank_map
    88a9d3c0b59a ARM: dts: qcom: ipq8064: Fix the PCI I/O port range
    112ff0f25305 ARM: dts: qcom: ipq8064: reduce pci IO size to 64K
    99e7b14569da ARM: dts: qcom: ipq4019: Fix the PCI I/O port range
    96158bfc764f arm64: dts: qcom: sm8250: Fix the PCI I/O port range
    cc1ae8710ac4 arm64: dts: qcom: msm8996: Fix the PCI I/O port range
    656657bdeb8a arm64: dts: qcom: ipq6018: Fix the PCI I/O port range
    a19c40b97908 arm64: dts: qcom: ipq8074: Fix the PCI I/O port range
    9f89689d8b9d arm64: dts: qcom: msm8998: Fix the PCI I/O port range
    16111402966e arm64: dts: qcom: sdm845: Fix the PCI I/O port range
    3e7be9b63264 arm64: dts: qcom: sdm845: correct dynamic power coefficients
    a9e9a4a62725 arm64: dts: qcom: msm8998: Fix stm-stimulus-base reg name
    a46878476c55 arm64: dts: broadcom: bcmbca: bcm4908: fix procmon nodename
    1994284cb922 arm64: dts: broadcom: bcmbca: bcm4908: fix NAND interrupt name
    6ae67829fa5e arm64: dts: Move BCM4908 dts to bcmbca folder
    fe8ab85ed495 arm64: dts: Add base DTS file for bcmbca device Asus GT-AX6000
    aefde9ada466 ARM64: dts: Add DTS files for bcmbca SoC BCM6858
    273be36e4209 arm64: dts: Add DTS files for bcmbca SoC BCM4912
    fe07b3b5af01 arm64: dts: Add DTS files for bcmbca SoC BCM63158
    77112d23a671 arm64: dts: broadcom: bcm4908: add DT for Netgear RAXE500
    a53862a20239 arm64: dts: ti: k3-j721e-main: Remove ti,strobe-sel property
    e3143e6cca0a regulator: core: Shorten off-on-delay-us for always-on/boot-on by time since booted
    30b4edaf221d EDAC/skx: Fix overflows on the DRAM row address mapping arrays
    d450fa865750 drm/msm/disp/dpu: check for crtc enable rather than crtc active to release shared resources
    62cd3e056123 arm64: dts: renesas: r8a774c0: Remove bogus voltages from OPP table
    667c86b2a941 arm64: dts: renesas: r8a77990: Remove bogus voltages from OPP table
    6a50350033e0 soc: ti: pm33xx: Fix refcount leak in am33xx_pm_probe
    fb2a6e00291a tools/x86/kcpuid: Fix avx512bw and avx512lvl fields in Fn00000007
    00f79abccc5b drm/probe-helper: Cancel previous job before starting new one
    9fde84fb59e5 drm/vgem: add missing mutex_destroy
    a51b71af169f drm/rockchip: Drop unbalanced obj unref
    0834a2b554e5 erofs: fix potential overflow calculating xattr_isize
    060fecf1114f erofs: stop parsing non-compact HEAD index if clusterofs is invalid
    5a37916d988e tpm, tpm_tis: Claim locality when interrupts are reenabled on resume
    46da635566dc tpm, tpm: Implement usage counter for locality
    51162b05a44c tpm, tpm_tis: Claim locality before writing interrupt registers
    b665edd7a585 tpm, tpm_tis: Disable interrupts if tpm_tis_probe_irq() failed
    fd9b4b2bff6b tpm, tpm_tis: Claim locality before writing TPM_INT_ENABLE register
    8c08c74de718 tpm, tpm_tis: Do not skip reset of original interrupt vector
    dfa1e84b774c selinux: ensure av_permissions.h is built when needed
    8a3a1f7b54b8 selinux: fix Makefile dependencies of flask.h
    08e403705778 selftests/resctrl: Check for return value after write_schemata()
    25661fe5f658 selftests/resctrl: Allow ->setup() to return errors
    b5adaf5045d0 selftests/resctrl: Move ->setup() call outside of test specific branches
    f9eeea03a5e7 selftests/resctrl: Extend CPU vendor detection
    ebd40f52de19 selftests/resctrl: Return NULL if malloc_and_init_memory() did not alloc mem
    988901984ddd rcu: Fix missing TICK_DEP_MASK_RCU_EXP dependency check
    74f06429b727 sound/oss/dmasound: fix build when drivers are mixed =y/=m
    c628b07d5974 xfs: don't consider future format versions valid
    ce840284929b ubifs: Free memory for tmpfile name
    20ef288612e5 ubi: Fix return value overwrite issue in try_write_vid_and_data()
    3ae75f82c33f ubifs: Fix memleak when insert_old_idx() failed
    149ea56995c2 Revert "ubifs: dirty_cow_znode: Fix memleak in error handling path"
    dc299bd1d5c4 iommu/amd: Fix "Guest Virtual APIC Table Root Pointer" configuration in IRTE
    b7bc8f6c8a31 tracing: Fix permissions for the buffer_percent file
    b91a5aa1e7ea riscv: mm: remove redundant parameter of create_fdt_early_page_table
    ec1814116fa4 i2c: omap: Fix standard mode false ACK readings
    671f21fbcb47 ksmbd: fix memleak in session setup
    227eb2689b44 ksmbd: fix NULL pointer dereference in smb2_get_info_filesystem()
    c053e389db0d ksmbd: call rcu_barrier() in ksmbd_server_exit()
    2db4b91480b2 writeback, cgroup: fix null-ptr-deref write in bdi_split_work_to_wbs
    0b46ee654a9d relayfs: fix out-of-bounds access in relay_file_read
    a18bdaca46d0 KVM: nVMX: Emulate NOPs in L2, and PAUSE if it's not intercepted
    a79fb2ce4fbe reiserfs: Add security prefix to xattr name in reiserfs_security_write()
    4c3d1a6720ae rcu: Avoid stack overflow due to __rcu_irq_enter_check_tick() being kprobe-ed
    09e177d6f7ed crypto: safexcel - Cleanup ring IRQ workqueues on load failure
    63b7fbaa1278 crypto: api - Demote BUG_ON() in crypto_unregister_alg() to a WARN_ON()
    c63741e872fc ring-buffer: Sync IRQ works before buffer destruction
    333f49fcf0e7 pinctrl: qcom: lpass-lpi: set output value before enabling output
    3028ac7dc0c0 soundwire: qcom: correct setting ignore bit on v1.5.1
    01fefb82fd79 pwm: meson: Fix g12a ao clk81 name
    dcf6611e80f9 pwm: meson: Fix axg ao mux parents
    2104e15b0072 wifi: mt76: add missing locking to protect against concurrent rx/status calls
    4a07d2d511e2 kheaders: Use array declaration instead of char
    99d561199bf8 ipmi: fix SSIF not responding under certain cond.
    8fddbd9c5c86 ipmi:ssif: Add send_retries increment
    3ef93b7bd9e0 MIPS: fw: Allow firmware to pass a empty env
    e047e40676d1 tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem
    9c0b37d0da47 xhci: fix debugfs register accesses while suspended
    321e16a5709e tty: Prevent writing chars during tcsetattr TCSADRAIN/FLUSH
    fa30909fbd1f staging: iio: resolver: ads1210: fix config mode
    ac44e1275dae ext4: use ext4_journal_start/stop for fast commit transactions
    5bb4005fb667 blk-crypto: make blk_crypto_evict_key() more robust
    f8d9d6c3ffcc blk-crypto: make blk_crypto_evict_key() return void
    d206f79d9cd6 blk-mq: release crypto keyslot before reporting I/O complete
    2c62f4abd714 posix-cpu-timers: Implement the missing timer_wait_running callback
    dca7427a8b12 hwmon: (adt7475) Use device_property APIs when configuring polarity
    d50321946ec0 hwmon: (k10temp) Check range scale when CUR_TEMP register is read-write
    d40fa6f78835 USB: dwc3: fix runtime pm imbalance on unbind
    9436221ea250 USB: dwc3: fix runtime pm imbalance on probe errors
    bfd693628192 IMA: allow/fix UML builds
    c23e103fd736 PCI: qcom: Fix the incorrect register usage in v2.7.0 config
    8a0b61e5a7d2 PCI: pciehp: Fix AB-BA deadlock between reset_lock and device_lock
    402d2b1d54b7 arm64: Stash shadow stack pointer in the task struct on interrupt
    21cc4e5304d2 arm64: Always load shadow stack pointer directly from the task struct
    a00f75f71fca wifi: mt76: mt7921e: Set memory space enable in PCI_COMMAND if unset
    a646556769e1 wireguard: timers: cast enum limits members to int in prints
    95ec7a59ceb2 x86/cpu: Add model number for Intel Arrow Lake processor
    520820400608 asm-generic/io.h: suppress endianness warnings for readq() and writeq()
    5e3c87e4d3bd selftests mount: Fix mount_setattr_test builds failed
    e1383b440132 ASoC: Intel: bytcr_rt5640: Add quirk for the Acer Iconia One 7 B1-750
    21976532f274 iio: adc: palmas_gpadc: fix NULL dereference on rmmod
    50015dbdec70 x86/hyperv: Block root partition functionality in a Confidential VM
    a7d91f67a10a ASoC: soc-pcm: fix hw->formats cleared by soc_pcm_hw_init() for dpcm
    cf5b14b8de0d ASOC: Intel: sof_sdw: add quirk for Intel 'Rooks County' NUC M15

(From OE-Core rev: ea29961df7334f4df7d19ede2a955fadb64fdf0e)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 5425b3557b6efdba07bd3efa51c647bd62d5259b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Bruce Ashfield
263d5df539 linux-yocto/5.15: update to v5.15.110
Updating  to the latest korg -stable release that comprises
the following commits:

    8a7f2a5c5aa1 Linux 5.15.110
    cab0f985037b riscv: No need to relocate the dtb as it lies in the fixmap region
    1f09c9bab723 riscv: Do not set initial_boot_params to the linear address of the dtb
    bbf94b042155 riscv: Move early dtb mapping into the fixmap region
    ccb29694c2da selftests: mptcp: join: fix "invalid address, ADD_ADDR timeout"
    0994aa001fde driver core: Don't require dynamic_debug for initcall_debug probe timing
    3dcebcaa258c USB: serial: option: add UNISOC vendor and TOZED LT70C product
    f1e6a14d5ae8 bluetooth: Perform careful capability checks in hci_sock_ioctl()
    39c472809aab drm/fb-helper: set x/yres_virtual in drm_fb_helper_check_var
    936a23293bbb wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies()
    2bd716c6e4d1 KVM: arm64: Fix buffer overflow in kvm_arm_set_fw_reg()
    00f74003edf5 KVM: arm64: Retry fault if vma_lookup() results become invalid
    c1da649699e1 selftests/kselftest/runner/run_one(): allow running non-executable files
    c88435054153 PCI/ASPM: Remove pcie_aspm_pm_state_change()

(From OE-Core rev: 0c328f0b044f5851bd5c53adcdfd795ee3c996ba)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 8fb28c7f71888d65c170c9f5400438a077860c6f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Bruce Ashfield
8a6e38dd24 linux-yocto/5.15: update to v5.15.109
Updating  to the latest korg -stable release that comprises
the following commits:

    f48aeeaaa64c Linux 5.15.109
    4aed6b5809bb soc: sifive: l2_cache: fix missing of_node_put() in sifive_l2_init()
    71e7ed6e3aa9 soc: sifive: l2_cache: fix missing free_irq() in error path in sifive_l2_init()
    48c5fd373345 soc: sifive: l2_cache: fix missing iounmap() in error path in sifive_l2_init()
    2a2a502af466 ASN.1: Fix check for strdup() success
    9fc2e7f2cf47 ASoC: fsl_asrc_dma: fix potential null-ptr-deref
    0431e1323f42 mm/page_alloc: fix potential deadlock on zonelist_update_seq seqlock
    144ff55623e2 iio: adc: at91-sama5d2_adc: fix an error code in at91_adc_allocate_trigger()
    e589986ef037 counter: 104-quad-8: Fix race condition between FLAG and CNTR reads
    78559037632b pwm: hibvt: Explicitly set .polarity in .get_state()
    2147e7c2d26f pwm: iqs620a: Explicitly set .polarity in .get_state()
    a2ab4924f0c8 pwm: meson: Explicitly set .polarity in .get_state()
    dbc7a6d1ec8e sctp: Call inet6_destroy_sock() via sk->sk_destruct().
    4f66b180a622 dccp: Call inet6_destroy_sock() via sk->sk_destruct().
    b60d534d1e70 inet6: Remove inet6_destroy_sock() in sk->sk_prot->destroy().
    dd042131386f tcp/udp: Call inet6_destroy_sock() in IPv6 sk->sk_destruct().
    dabbe97f369b udp: Call inet6_destroy_sock() in setsockopt(IPV6_ADDRFORM).
    d58366aab868 fuse: fix deadlock between atomic O_TRUNC and page invalidation
    e21d9c606839 fuse: always revalidate rename target dentry
    c10a5b340681 fuse: fix attr version comparison in fuse_read_update_size()
    1e5c686087dc purgatory: fix disabling debug info
    a134b2ac4127 docs: futex: Fix kernel-doc references after code split-up preparation
    66dd55279174 MIPS: Define RUNTIME_DISCARD_EXIT in LD script
    e779884c713f sched/fair: Fixes for capacity inversion detection
    4ee882e0e1ed sched/uclamp: Fix a uninitialized variable warnings
    98762616db0b sched/fair: Consider capacity inversion in util_fits_cpu()
    99b704ae7a17 sched/fair: Detect capacity inversion
    1de6ee9d812c sched/uclamp: Cater for uclamp in find_energy_efficient_cpu()'s early exit condition
    a77e3c0e067d sched/uclamp: Make cpu_overutilized() use util_fits_cpu()
    ac407e5102e9 sched/uclamp: Fix fits_capacity() check in feec()
    46c631fe5a94 mm: page_alloc: skip regions with hugetlbfs pages when allocating 1G pages
    981e276dd965 mm/khugepaged: check again on anon uffd-wp during isolation
    29562319cba0 drm/i915: Fix fast wake AUX sync len
    afbfd70cb1a0 mmc: sdhci_am654: Set HIGH_SPEED_ENA for SDR12 and SDR25
    1aaa1e0a9a0f kernel/sys.c: fix and improve control flow in __sys_setres[ug]id()
    ebab1a86ca3e memstick: fix memory leak if card device is never registered
    8c168553abce nilfs2: initialize unused bytes in segment summary blocks
    e513fb5cadc4 iio: light: tsl2772: fix reading proximity-diodes from device tree
    c15737965434 rtmutex: Add acquire semantics for rtmutex lock acquisition slow path
    a8466e335f58 platform/x86: gigabyte-wmi: add support for X570S AORUS ELITE
    4a2a34a75f3e xen/netback: use same error messages for same errors
    08e774db2ef1 nvme-tcp: fix a possible UAF when failing to allocate an io queue
    1b91bfae3ee1 s390/ptrace: fix PTRACE_GET_LAST_BREAK error handling
    357fa038d93d net: dsa: b53: mmap: add phy ops
    583d2abf1374 scsi: core: Improve scsi_vpd_inquiry() checks
    139bea1d3aa1 scsi: megaraid_sas: Fix fw_crash_buffer_show()
    73890c48849d selftests: sigaltstack: fix -Wuninitialized
    c2680efa1507 platform/x86 (gigabyte-wmi): Add support for A320M-S2H V2
    fd3e899340e1 Input: i8042 - add quirk for Fujitsu Lifebook A574/H
    14bb1fb893db f2fs: Fix f2fs_truncate_partial_nodes ftrace event
    0ebc93afdaf6 e1000e: Disable TSO on i219-LM card to increase speed
    e722ea6dae2c bpf: Fix incorrect verifier pruning due to missing register precision taints
    25e50cdf9f63 spi: spi-rockchip: Fix missing unwind goto in rockchip_sfc_probe()
    cbce626dcd23 mlxsw: pci: Fix possible crash during initialization
    4eee0d9d3c11 net: rpl: fix rpl header size calculation
    92e0bc5e34ad bonding: Fix memory leak when changing bond type to Ethernet
    b24026f1409c mlxfw: fix null-ptr-deref in mlxfw_mfa2_tlv_next()
    5610d81d0214 bnxt_en: Do not initialize PTP on older P3/P4 chips
    7ff875ee15bc netfilter: nf_tables: tighten netlink attribute requirements for catch-all elements
    0a397535d189 netfilter: nf_tables: validate catch-all set elements
    25f1b40cf9b2 i40e: fix i40e_setup_misc_vector() error handling
    536ed39cbec8 i40e: fix accessing vsi->active_filters without holding lock
    8089d724dd7a netfilter: nf_tables: fix ifdef to also consider nf_tables=m
    69ea11769b8d sfc: Fix use-after-free due to selftest_work
    aa16f7b99d23 sfc: Split STATE_READY in to STATE_NET_DOWN and STATE_NET_UP.
    b36d82ddc74e virtio_net: bugfix overflow inside xdp_linearize_page()
    1ffc0e810551 net: sched: sch_qfq: prevent slab-out-of-bounds in qfq_activate_agg
    fe0d832ea0e6 regulator: fan53555: Fix wrong TCS_SLEW_MASK
    976f8482e459 regulator: fan53555: Explicitly include bits header
    cb9b96c154a1 netfilter: br_netfilter: fix recent physdev match breakage
    beb1c8576c23 arm64: dts: imx8mm-evk: correct pmic clock source
    863473055d1d arm64: dts: meson-g12-common: specify full DMC range
    dd6bd054a92c arm64: dts: qcom: ipq8074-hk01: enable QMP device, not the PHY node
    bd129e4c9e34 ARM: dts: rockchip: fix a typo error for rk3288 spdif node

(From OE-Core rev: fe55be7f4a543c576181af208551a9134d2b45fc)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 3411b2b442c44fa932e3d6065a95078a6f541dd9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Deepthi Hemraj
1e8fd09f78 glibc: stable 2.35 branch updates
Below commits on glibc-2.35 stable branch are updated.
cbceb903c4 (HEAD -> release/2.35/master, origin/release/2.35/master) io: Fix F_GETLK, F_SETLK, and F_SETLKW for powerpc64
0967fb5861 io: Fix record locking contants on 32 bit arch with 64 bit default time_t
739de21d30 Document BZ #20975 fix
2b9906f9a0 __check_pf: Add a cancellation cleanup handler
7035f2174f gmon: Revert addition of tunables to preserve GLIBC_PRIVATE ABI
e698e8bd8e gmon: fix memory corruption issues
9f81b8fa65 gmon: improve mcount overflow handling
f2820e478c gmon: Fix allocated buffer overflow
413af1eb02 posix: Fix system blocks SIGCHLD erroneously

CVE-2023-0687.patch is dropped

(From OE-Core rev: afce7649180950b0a168771c2f95e7839382b02c)

Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Jan Vermaete
c4c9531c9b cve-update-nvd2-native: added the missing http import
(From OE-Core rev: c7e1611ab0e72e18d3e41cfb8eaa157dab4d97ad)

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
(cherry picked from commit 39d2cde7eb922cb0a2cf9402cd8b3ae3b4cc2f62)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Marta Rybczynska
075d712b28 cve-update-nvd2-native: new CVE database fetcher
Add new fetcher for the NVD database using the 2.0 API [1].
The implementation changes as little as possible, keeping the current
database format (but using a different database file for the transition
period), with a notable exception of not using the META table.

Minor changes that could be visible:
- the database starts in 1999 instead of 2002
- the complete fetch is longer (30 minutes typically)

[1] https://nvd.nist.gov/developers/vulnerabilities

(From OE-Core rev: b8ae26aabe825c1bc8d84fd7e0ee197695f1dee7)

Signed-off-by: Marta Rybczynska <marta.rybczynska@syslinbit.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit fb62c4c3dbca4e58f7ce6cf29d4b630a06411a97)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Yogita Urade
1a63c9703f webkitgtk: fix CVE-2022-46700
A memory corruption issue was addressed with improved input validation.
This issue is fixed in Safari 16.2, tvOS 16.2, macOS Ventura 13.1, iOS
15.7.2 and iPadOS 15.7.2, iOS 16.2 and iPadOS 16.2, watchOS 9.2. Processing
maliciously crafted web content may lead to arbitrary code execution.

References:
https://support.apple.com/en-us/HT213531
https://bugs.webkit.org/show_bug.cgi?id=247562
https://github.com/WebKit/WebKit/pull/6266

(From OE-Core rev: da1e7adf33b86cd818a39091043817e21ff8bbbd)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Yogita Urade
b4a7ec6e0e webkitgtk: fix CVE-2022-42867
A use after free issue was addressed with improved memory management.
This issue is fixed in Safari 16.2, tvOS 16.2, macOS Ventura 13.1, iOS
16.2 and iPadOS 16.2, watchOS 9.2. Processing maliciously crafted web
content may lead to arbitrary code execution.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2022-42867
https://support.apple.com/en-us/HT213537

(From OE-Core rev: d4a872b6ac8c41d9c3f4d5f7255d4561684ef7d5)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Yogita Urade
ab62b82a81 webkitgtk: fix CVE-2022-46699
A memory corruption issue was addressed with improved state management.
This issue is fixed in Safari 16.2, tvOS 16.2, macOS Ventura 13.1, iOS
16.2 and iPadOS 16.2, watchOS 9.2. Processing maliciously crafted web
content may lead to arbitrary code execution.

References:
https://nvd.nist.gov/vuln/detail/CVE-2022-46699
https://support.apple.com/en-us/HT213537

(From OE-Core rev: 8f71f60af366837399290a7fc9e0e38452f379cc)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Yogita Urade
0498db775a webkitgtk: fix CVE-2022-46691
A memory consumption issue was addressed with improved memory handling.
This issue is fixed in Safari 16.2, tvOS 16.2, macOS Ventura 13.1, iOS
15.7.2 and iPadOS 15.7.2, iOS 16.2 and iPadOS 16.2, watchOS 9.2. Processing
maliciously crafted web content may lead to arbitrary code execution.

References:
https://nvd.nist.gov/vuln/detail/CVE-2022-46691
https://support.apple.com/en-us/HT213531

(From OE-Core rev: 15603261034610b6606df99996d065c254d8f8f9)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Sanjay Chitroda
a3983ed726 cups: Fix CVE-2023-32324
OpenPrinting CUPS is an open source printing system. In versions 2.4.2
and prior, a heap buffer overflow vulnerability would allow a remote
attacker to launch a denial of service (DoS) attack. A buffer overflow
vulnerability in the function `format_log_line` could allow remote
attackers to cause a DoS on the affected system. Exploitation of the
vulnerability can be triggered when the configuration file `cupsd.conf`
sets the value of `loglevel `to `DEBUG`. No known patches or
workarounds exist at time of publication.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-32324
https://security-tracker.debian.org/tracker/CVE-2023-32324

Upstream Patch:
https://github.com/OpenPrinting/cups/commit/fd8bc2d32589

(From OE-Core rev: cf741646f41835024c7e53234cfd527ff3f8542b)

Signed-off-by: Sanjay Chitroda <schitrod@cisco.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Chen Qi
0e22295713 openssh: fix CVE-2023-28531
Backport patch to fix CVE-2023-28531.

(From OE-Core rev: 2da7a711ca396451b10f5d2084532f7ae6f65cbe)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-21 04:00:58 -10:00
Michael Halstead
43b94d2b84 uninative: Upgrade to 4.0 to include latest gcc 13.1.1
(From OE-Core rev: 6e0d694ea1eb5d478dc7508d181c3a820098ee5f)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f87becb69e02bdf055dffb633ed4f6d36b36f7a7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-14 04:17:00 -10:00
Michael Halstead
aab6fc20de uninative: Upgrade to 3.10 to support gcc 13
(From OE-Core rev: dbf2a81d42b48c22864f64425672315158eb99cb)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f811bffb861b23238e8291394bd6e8407f013619)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-14 04:17:00 -10:00
Richard Purdie
51d6afc92f selftest/reproducible: Allow native/cross reuse in test
We don't compare reproducibility of the native/cross components, only the
target ones. With the long build times of rust-native, the test now takes
crazy lengths of time so this tweak should allow us to reuse native/cross
artefacts from sstate whilst still testing the target output is
reproducible.

(From OE-Core rev: 18a9596ae711ba37ac7e44e46744298ba79ae320)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b494d83c639a877cefeb7cbab6d37195e492f059)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-14 04:17:00 -10:00
C. Andy Martin
933033e54e systemd-networkd: backport fix for rm unmanaged wifi
Upstream v250 of systemd-newtorkd contains a race which will drop the
config of unmanaged wireless interfaces during reconfigure or carrier
loss. This bug is fixed in v251 by this commit:

commit a0e99a377a2f22c0ba460d3e7228214008714c14
Author: Yu Watanabe <watanabe.yu+github@gmail.com>
Date:   Mon Jan 31 19:08:27 2022 +0900

    network: remove only managed configs on reconfigure or carrier lost

    Otherwise, if the carrir of the non-managed interface is lost, the
    configs such as addresses or routes on the interface will be removed by
    networkd.

A bug was filed upstream on v250 to have upstream backport but was
rejected as "version-too-ancient", so backport this commit as a patch to
systemd-networkd for kirkstone.

Fixes: [YOCTO #15134]

(From OE-Core rev: 56fdf57d99900b8dfb75bf915fcab45d4c1a458e)

Signed-off-by: C. Andy Martin <cam@myfastmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-14 04:16:59 -10:00
Riyaz Khan
20c192f0ec openssh: Remove BSD-4-clause contents completely from codebase
Below upstream commit removed BSD-4-Clause from the LICENSE variable,
Link: https://git.yoctoproject.org/poky/commit/?id=2c86f586d55d0f6b99053e3e4d14c9ee36fa8aa8
But actually if we check from the source code of the openssh for this
version (8.9p1), there are some files (openbsd-compat/libressl-api-compat.c)
still affected.

As upstream removed this BSD-4-clause license, there are still some files
has this license. Below file is affected by this BSD-4-clause contents when
the below command is executed
grep -rl "All advertising materials mentioning features or use of this software" *|grep -v \.1|grep -v \.5|grep -v \.8 | sort
openbsd-compat/libressl-api-compat.c

All advertising materials mentioning features or use of this software

Reason for backporting is some of the product restrict the BSD-4-Clause usage and the purpose of this commit is
to completely remove the BSD-4-Clause license from the openssh.

When checked in the master branch, openssh upstream removes the bsd-4 license compeletely from this commit
7280401bdd
Hence Backport this commit completely to remove license of BSD-4-clause contents from code. Hunks are refreshed.

(From OE-Core rev: 10b9fdce3553a69714de17d3ed5c13c99ec8c460)

Signed-off-by: Riyaz Khan <Riyaz.Khan@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-14 04:16:59 -10:00
Narpat Mali
916105b352 python3-requests: fix for CVE-2023-32681
Requests is a HTTP library. Since Requests 2.3.0, Requests has been leaking
Proxy-Authorization headers to destination servers when redirected to an HTTPS
endpoint. This is a product of how we use `rebuild_proxies` to reattach the
`Proxy-Authorization` header to requests. For HTTP connections sent through the
tunnel, the proxy will identify the header in the request itself and remove it
prior to forwarding to the destination server. However when sent over HTTPS,
the `Proxy-Authorization` header must be sent in the CONNECT request as the proxy
has no visibility into the tunneled request. This results in Requests forwarding
proxy credentials to the destination server unintentionally, allowing a malicious
actor to potentially exfiltrate sensitive information. This issue has been patched
in version 2.31.0.

Reference: https://github.com/advisories/GHSA-j8r2-6x86-q33q

(From OE-Core rev: e806c625d9a7eb08079a3268d2d8b20b582d0b6c)

Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-14 04:16:59 -10:00
Peter Marko
fb53a9ec2b openssl: Upgrade 3.0.8 -> 3.0.9
* fix CVEs CVE-2023-1255 and CVE-2023-2650
* drop CVE patches merged upstream
* refresh 0001-Configure-do-not-tweak-mips-cflags.patch

https://www.openssl.org/news/openssl-3.0-notes.html
Major changes between OpenSSL 3.0.8 and OpenSSL 3.0.9 [30 May 2023]
* Mitigate for very slow `OBJ_obj2txt()` performance with gigantic OBJECT IDENTIFIER sub-identities. ([CVE-2023-2650])
* Fixed buffer overread in AES-XTS decryption on ARM 64 bit platforms ([CVE-2023-1255])
* Fixed documentation of X509_VERIFY_PARAM_add0_policy() ([CVE-2023-0466])
* Fixed handling of invalid certificate policies in leaf certificates ([CVE-2023-0465])
* Limited the number of nodes created in a policy tree ([CVE-2023-0464])

(From OE-Core rev: 5140fdf3417c7553d3b035d7eafacda139936494)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-14 04:16:59 -10:00
Soumya
875400f96f perl: fix CVE-2023-31484
CPAN.pm before 2.35 does not verify TLS certificates when downloading
distributions over HTTPS.

(From OE-Core rev: b093db144b35e7c140ac830dbe67cabfaac69f73)

Signed-off-by: Soumya <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-14 04:16:59 -10:00
Omkar Patil
f83291a946 curl: Correction for CVE-2023-27536
Correction of backport link inside the patch with correct commit link as
below
Link: cb49e67303

(From OE-Core rev: 4691bc257d0bf2372e31535f0b90cf49ef0ed0d8)

Signed-off-by: Sourav Kumar Pramanik <pramanik.souravkumar@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-14 04:16:59 -10:00
Vivek Kumbhar
15f7694793 go: fix CVE-2023-24539 html/template improper sanitization of CSS values
Angle brackets should not appear in CSS contexts, as they may affect
token boundaries (such as closing a <style> tag, resulting in
injection). Instead emit filterFailsafe, matching the behavior for other
dangerous characters.

Thanks to Juho Nurminen of Mattermost for reporting this issue.

For #59720
Fixes #59811
Fixes CVE-2023-24539

(From OE-Core rev: 0a09194f3d4ad98d0cf0d070ec0c99e7a6c8a158)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-14 04:16:59 -10:00
Hitendra Prajapati
3c6eb39773 sysstat: Fix CVE-2023-33204
Upstream-Status: Backport from https://github.com/sysstat/sysstat/commit/954ff2e2673c

(From OE-Core rev: d4ee3ad88392dbcb4284be48ef9fd0bbff979cca)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-14 04:16:59 -10:00
Randolph Sapp
1e6f147c68 kernel-devicetree: recursively search for dtbs
Upstream's dtb directory structure has no real standard. They just tend
to idle around the 2/3 directory depth. Recursively search for the
dtb/dtbo files instead of assuming anything.

Fixes: 04ab57d200 (kernel-devicetree: allow specification of dtb
directory, 2023-05-02)

(From OE-Core rev: 717b9f18a51e9c9fd5a471238aa2ea4de439ef17)

Signed-off-by: Randolph Sapp <rs@ti.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-01 16:24:08 -10:00
Randolph Sapp
ae34dbb410 package: enable recursion on file globs
Enable recursion of file globs. This just allows the use of '**' in file
globs to match 0 or more subdirectories, it should not make all current
globs recursive [1].

[1] https://docs.python.org/3.6/library/glob.html#glob.glob

(From OE-Core rev: 90855ef11e3bd85eea718532f20878b72aa729b4)

Signed-off-by: Randolph Sapp <rs@ti.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-01 16:24:08 -10:00
Martin Jansa
b32d7da361 kernel-devicetree: make shell scripts posix compliant
Use the notation suggested by Martin Jansa to avoid a bashism. Also
switch KERNEL_DTBVENDORED to the more common 0/1 notation instead of
true/false.

Fixes: 04ab57d200 (kernel-devicetree: allow specification of dtb
directory, 2023-05-02)

(From OE-Core rev: b7d6fc07462e6fca09d0db7f43a62920250ef053)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Randolph Sapp <rs@ti.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-01 16:24:07 -10:00
Randolph Sapp
ab21fd0ec1 kernel-devicetree: allow specification of dtb directory
Fedora/Redhat and Arch are somewhat standardized on their dtb directory
structure. Let's add some flags to configure yocto to mimic that
behavior.

Add the following variables to the kernel class:
	- KERNEL_DTBDEST (controls the destination directory for dtbs)
	- KERNEL_DTBVENDORED (controls if vendor subdirectories are to
	  be respected)

Currently KERNEL_DTBDEST is expected to be a subdir of KERNEL_IMAGEDEST
and KERNEL_DTBVENDORED is expected to be "true"/"false". This only
applies to the package directory structure. The deploydir structure is
purposely left untouched for compatibility with existing recipes.

By default this is configured to behave the same as the current recipe
and produce a flat dtb directory at KERNEL_IMAGEDEST.

(From OE-Core rev: 77d6118e20751f68ad7104edec8f14dbb5ba6ec1)

Signed-off-by: Randolph Sapp <rs@ti.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-01 16:24:07 -10:00
Bruce Ashfield
08252caaee linux-yocto/5.10: update to v5.10.180
Updating  to the latest korg -stable release that comprises
the following commits:

    4c893ff55907 Linux 5.10.180
    3ebe5d6d69ce drm/amd/display: Fix hang when skipping modeset
    a992c387b411 mm/page_alloc: fix potential deadlock on zonelist_update_seq seqlock
    f2656f437fb1 drm/exynos: move to use request_irq by IRQF_NO_AUTOEN flag
    32232bcd4e53 printk: declare printk_deferred_{enter,safe}() in include/linux/printk.h
    fcfe05990a5c KVM: x86: move guest_pv_has out of user_access section
    85cfbaa575ea KVM: x86: do not report preemption if the steal time cache is stale
    4bffae22bec7 KVM: x86: revalidate steal time cache if MSR value changes
    e10a73f53809 KVM: x86: do not set st->preempted when going back to user space
    029662004359 KVM: x86: Remove obsolete disabling of page faults in kvm_arch_vcpu_put()
    8e39c2f407af KVM: Fix steal time asm constraints
    ebd3010d42ba KVM: x86: Fix recording of guest steal time / preempted status
    4b19cbdb1dd3 KVM: x86: Ensure PV TLB flush tracepoint reflects KVM behavior
    01c0002ec7bd drbd: correctly submit flush bio on barrier
    ef77d602e306 serial: 8250: Fix serial8250_tx_empty() race with DMA Tx
    1a8822343e67 ext4: fix invalid free tracking in ext4_xattr_move_to_block()
    b0fc279de4bf ext4: remove a BUG_ON in ext4_mb_release_group_pa()
    d88fe8e61126 ext4: bail out of ext4_xattr_ibody_get() fails for any reason
    4597554b4f7b ext4: add bounds checking in get_max_inline_xattr_value_size()
    5f8b55136ad7 ext4: fix deadlock when converting an inline directory in nojournal mode
    37c69da3adc4 ext4: improve error recovery code paths in __ext4_remount()
    08838aeefa6f ext4: check iomap type only if ext4_iomap_begin() does not fail
    4aa7f744fa37 ext4: fix data races when using cached status extents
    0dde3141c527 ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum
    5d356d902e9d ext4: fix WARNING in mb_find_extent
    529f41f0eb1e KVM: x86: do not report a vCPU as preempted outside instruction boundaries
    0cb6e9e7d3f1 KVM: x86: hyper-v: Avoid calling kvm_make_vcpus_request_mask() with vcpu_mask==NULL
    4502ebbdc0e2 HID: wacom: insert timestamp to packed Bluetooth (BT) events
    77fd800d3f1b HID: wacom: Set a default resolution for older tablets
    c1420276be7a drm/amdgpu: disable sdma ecc irq only when sdma RAS is enabled in suspend
    20ca90ceda71 drm/amdgpu/gfx: disable gfx9 cp_ecc_error_irq only when enabling legacy gfx ras
    eed63477ae06 drm/amdgpu: fix an amdgpu_irq_put() issue in gmc_v9_0_hw_fini()
    c85327c1e93c drm/panel: otm8009a: Set backlight parent to panel device
    957904f531fd f2fs: fix potential corruption when moving a directory
    4a638a958230 ARM: dts: s5pv210: correct MIPI CSIS clock name
    fed6318e4722 ARM: dts: exynos: fix WM8960 clock name in Itop Elite
    777952ce1187 remoteproc: st: Call of_node_put() on iteration error
    30e0834becd8 remoteproc: stm32: Call of_node_put() on iteration error
    62fe5d74ef7f sh: nmi_debug: fix return value of __setup handler
    9245f34029b7 sh: init: use OF_EARLY_FLATTREE for early init
    f19bc0d2a68c sh: mcount.S: fix build error when PRINTK is not enabled
    bbad64abd610 sh: math-emu: fix macro redefined warning
    2d65c97777e5 inotify: Avoid reporting event with invalid wd
    73aef14407de platform/x86: touchscreen_dmi: Add info for the Dexp Ursus KX210i
    4b87eec73e47 platform/x86: touchscreen_dmi: Add upside-down quirk for GDIX1002 ts on the Juno Tablet
    8c2cdb7326f0 cifs: fix pcchunk length type in smb2_copychunk_range
    829c20fd7a7b btrfs: print-tree: parent bytenr must be aligned to sector size
    148b16cd30b2 btrfs: don't free qgroup space unless specified
    08fa23adbdcc btrfs: fix btrfs_prev_leaf() to not return the same key twice
    7a4db11f00f3 perf symbols: Fix return incorrect build_id size in elf_read_build_id()
    87a1fa0ad74e crypto: sun8i-ss - Fix a test in sun8i_ss_setup_ivs()
    be3517ae6b80 perf map: Delete two variable initialisations before null pointer checks in sort__sym_from_cmp()
    604b650fb574 perf pmu: zfree() expects a pointer to a pointer to zero it after freeing its contents
    1ebd0dfb271e perf vendor events power9: Remove UTF-8 characters from JSON files
    796616f216d0 net: enetc: check the index of the SFI rather than the handle
    b6b15de5129e virtio_net: suppress cpu stall when free_unused_bufs
    c043714ef230 virtio_net: split free_unused_bufs()
    0773270b1314 net: dsa: mt7530: fix corrupt frames using trgmii on 40 MHz XTAL MT7621
    0f1ad0ef60cc ALSA: caiaq: input: Add error handling for unsupported input methods in `snd_usb_caiaq_input_init`
    7f497a9451d7 drm/amdgpu: add a missing lock for AMDGPU_SCHED
    f00ef2618fa1 af_packet: Don't send zero-byte data in packet_sendmsg_spkt().
    02359ba526ce ionic: remove noise from ethtool rxnfc error msg
    3605b3318483 octeontx2-vf: Detach LF resources on probe cleanup
    ea7453f5e5b6 octeontx2-pf: Disable packet I/O for graceful exit
    15152b8a4bbb rxrpc: Fix hard call timeout units
    9291aba0ffa0 sfc: Fix module EEPROM reporting for QSFP modules
    774da7052156 net/sched: act_mirred: Add carrier check
    f3fae1b1c721 watchdog: dw_wdt: Fix the error handling path of dw_wdt_drv_probe()
    3b7798b42e1d writeback: fix call of incorrect macro
    f47f0fb5b58b net: dsa: mv88e6xxx: add mv88e6321 rsvd2cpu
    d6f0687d506d sit: update dev->needed_headroom in ipip6_tunnel_bind_dev()
    7311c8be3755 net/sched: cls_api: remove block_cb from driver_list before freeing
    cc8efc78c3f6 net/ncsi: clear Tx enable mode when handling a Config required AEN
    fa19c533ab19 scsi: qedi: Fix use after free bug in qedi_remove()
    4285cc0a22d2 dm verity: fix error handling for check_at_most_once on FEC
    fc097cfca004 dm verity: skip redundant verity_handle_err() on I/O errors
    26b1b0d0bebd mailbox: zynqmp: Fix counts of child nodes
    67fb57f24737 mailbox: zynq: Switch to flexible array to simplify code
    c4e636f025a1 crypto: ccp - Clear PSP interrupt status register before calling handler
    6f60aae72ccc ring-buffer: Ensure proper resetting of atomic variables in ring_buffer_reset_online_cpus
    2fcb12b3f421 tty: Prevent writing chars during tcsetattr TCSADRAIN/FLUSH
    6c2ee50c9012 tty: clean include/linux/tty.h up
    57b510c7d377 tty: move some tty-only functions to drivers/tty/tty.h
    1924d47a2809 tty: move some internal tty lock enums and functions out of tty.h
    f665d81ffad7 tty: audit: move some local functions out of tty.h
    6a392b806f18 tty: create internal tty.h file
    e044a2444718 netfilter: nf_tables: deactivate anonymous set from preparation phase
    a222d2794c53 scsi: target: core: Avoid smp_processor_id() in preemptible code
    14fc6af67b3f arm64: dts: qcom: sdm845: correct dynamic power coefficients
    c820c05c5ff6 sound/oss/dmasound: fix 'dmasound_setup' defined but not used
    9079ff34a1ac debugobject: Ensure pool refill (again)
    3f225f29c69c arm64: Stash shadow stack pointer in the task struct on interrupt
    9134b5a4647e arm64: Always load shadow stack pointer directly from the task struct
    a25a403e4b31 perf intel-pt: Fix CYC timestamps after standalone CBR
    905f847675cf perf auxtrace: Fix address filter entire kernel size
    ea827627a924 dm ioctl: fix nested locking in table_clear() to remove deadlock concern
    a1e3fffe02e0 dm flakey: fix a crash with invalid table line
    44f29e93a55b dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path
    717ceb487bc3 dm clone: call kmem_cache_destroy() in dm_clone_init() error path
    eded3ad80a04 ia64: fix an addr to taddr in huge_pte_offset()
    abb427cb7730 s390/dasd: fix hanging blockdevice after request requeue
    c96807a4adbe btrfs: scrub: reject unsupported scrub flags
    f7fd1eed3125 scripts/gdb: fix lx-timerlist for Python3
    9aabb5f9ef32 afs: Fix updating of i_size with dv jump from server
    3530a795bb07 mfd: tqmx86: Correct board names for TQMxE39x
    cbe060011b56 mfd: tqmx86: Specify IO port register range more precisely
    640a1f7e36e8 mfd: tqmx86: Add support for TQMx110EB and TQMxE40x
    4be49b7c2457 mfd: tqmx86: Remove incorrect TQMx90UC board ID
    6697a3b0ed83 mfd: tqmx86: Do not access I2C_DETECT register through io_base
    15da2acad515 thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe
    08012d9edc52 dmaengine: at_xdmac: do not enable all cyclic channels
    4f6303fd8f90 dmaengine: dw-edma: Fix to enable to issue dma request on DMA processing
    b29543194594 dmaengine: dw-edma: Fix to change for continuous transfer
    da67d60467dd phy: tegra: xusb: Add missing tegra_xusb_port_unregister for usb2_port and ulpi_port
    45e4c00940be pwm: mtk-disp: Disable shadow registers before setting backlight values
    6d13804388d6 pwm: mtk-disp: Adjust the clocks to avoid them mismatch
    060bd30bf705 pwm: mtk-disp: Don't check the return code of pwmchip_remove()
    795cec288e9c leds: tca6507: Fix error handling of using fwnode_property_read_string
    033f00eb8969 dmaengine: mv_xor_v2: Fix an error code.
    198fbdd10620 leds: TI_LMU_COMMON: select REGMAP instead of depending on it
    770b0613637f ext4: fix use-after-free read in ext4_find_extent for bigalloc + inline
    8f009ae90b2b openrisc: Properly store r31 to pt_regs on unhandled exceptions
    1fe1580521dd clocksource/drivers/davinci: Fix memory leak in davinci_timer_register when init fails
    3bc78eddf0a0 RDMA/mlx5: Use correct device num_ports when modify DC
    95468f165d93 SUNRPC: remove the maximum number of retries in call_bind_status
    50440cdb0b47 RDMA/mlx5: Fix flow counter query via DEVX
    0d6a5c9489c8 Input: raspberrypi-ts - fix refcount leak in rpi_ts_probe
    09bfd90d040f input: raspberrypi-ts: Release firmware handle when not needed
    3aa2503717ba firmware: raspberrypi: Introduce devm_rpi_firmware_get()
    73a65744c7fd NFSv4.1: Always send a RECLAIM_COMPLETE after establishing lease
    9c4c6512d733 IB/hfi1: Fix bugs with non-PAGE_SIZE-end multi-iovec user SDMA requests
    f84c02597857 IB/hfi1: Add additional usdma traces
    1af73620a191 IB/hfi1: Add AIP tx traces
    823b59fc5617 IB/hfi1: Fix SDMA mmu_rb_node not being evicted in LRU order
    8ec6acdb9b6a RDMA/srpt: Add a check for valid 'mad_agent' pointer
    16f596cfe956 RDMA/cm: Trace icm_send_rej event before the cm state is reset
    3ef7a4c0d5cd RDMA/siw: Remove namespace check from siw_netdev_event()
    ac7f79ee11c3 clk: add missing of_node_put() in "assigned-clocks" property parsing
    391fbf0d081d power: supply: generic-adc-battery: fix unit scaling
    9e5a7c110645 rtc: meson-vrtc: Use ktime_get_real_ts64() to get the current time
    9ad3221c86cc RDMA/mlx4: Prevent shift wrapping in set_user_sq_size()
    889a2070dc09 rtc: omap: include header for omap_rtc_power_off_program prototype
    647781347af9 workqueue: Fix hung time report of worker pools
    77d9a64cfbc6 workqueue: Rename "delayed" (delayed by active management) to "inactive"
    960167e0e019 RDMA/rdmavt: Delete unnecessary NULL check
    f7790aecb3c7 RDMA/siw: Fix potential page_array out of range access
    ab8646c9a0b1 clk: at91: clk-sam9x60-pll: fix return value check
    8f381b249424 perf/core: Fix hardlockup failure caused by perf throttle
    3ea9186a3ef5 powerpc/rtas: use memmove for potentially overlapping buffer copy
    6339b9dcdba2 macintosh: via-pmu-led: requires ATA to be set
    15f3a811bfde powerpc/sysdev/tsi108: fix resource printk format warnings
    4f41f55d82cb powerpc/wii: fix resource printk format warnings
    701e3e599913 powerpc/mpc512x: fix resource printk format warning
    d68265ec0bb1 macintosh/windfarm_smu_sat: Add missing of_node_put()
    c45ab3ab9c37 spmi: Add a check for remove callback when removing a SPMI driver
    4ca4a3e45436 staging: rtl8192e: Fix W_DISABLE# does not work after stop/start
    d5d628fea5f6 serial: 8250: Add missing wakeup event reporting
    fde8ffaaacfa tty: serial: fsl_lpuart: adjust buffer length to the intended size
    5a76bc35cce8 firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe
    012936502a9c usb: mtu3: fix kernel panic at qmu transfer done irq handler
    e8f64f3200cd usb: chipidea: fix missing goto in `ci_hdrc_probe`
    7d667749b3dd usb: gadget: tegra-xudc: Fix crash in vbus_draw
    95d97e182dbd sh: sq: Fix incorrect element size for allocating bitmap buffer
    a69eb1200eb6 uapi/linux/const.h: prefer ISO-friendly __typeof__
    fd7bf900c321 i2c: cadence: cdns_i2c_master_xfer(): Fix runtime PM leak on error path
    b24f1ecc8fe2 spi: cadence-quadspi: fix suspend-resume implementations
    b5a6930fc6a4 ASoC: fsl_mqs: move of_node_put() to the correct location
    5bf2d84074dd coresight: etm_pmu: Set the module field
    174d7483f15c scripts/gdb: bail early if there are no generic PD
    01710564a92a scripts/gdb: bail early if there are no clocks
    b4b4409510a3 ia64: salinfo: placate defined-but-not-used warning
    65b5b2c5fd86 ia64: mm/contig: fix section mismatch warning/error
    fd4e45d8d7c8 PCI/EDR: Clear Device Status after EDR error recovery
    9e5ee4fa0d06 of: Fix modalias string generation
    85b4aa4eb2e3 vmci_host: fix a race condition in vmci_host_poll() causing GPF
    4bdae667f911 spi: fsl-spi: Fix CPM/QE mode Litte Endian
    bc88243bbe61 spi: qup: Don't skip cleanup in remove's error path
    00c5b5498bd1 linux/vt_buffer.h: allow either builtin or modular for macros
    d4a3c912c87b ASoC: es8316: Handle optional IRQ assignment
    67b6e077fb89 ASoC: es8316: Use IRQF_NO_AUTOEN when requesting the IRQ
    eb971efca7f0 PCI: imx6: Install the fault handler only on compatible match
    36c237b202a4 usb: gadget: udc: renesas_usb3: Fix use after free bug in renesas_usb3_remove due to race condition
    aa93a46f998a spi: imx: Don't skip cleanup in remove's error path
    c3aba912f40e spi: spi-imx: using pm_runtime_resume_and_get instead of pm_runtime_get_sync
    f1f3bc9915b2 iio: light: max44009: add missing OF device matching
    ed1f459af644 fpga: bridge: fix kernel-doc parameter description
    98bf98e749e6 usb: dwc3: gadget: Change condition for processing suspend event
    8a859ac86dea usb: host: xhci-rcar: remove leftover quirk handling
    c76ba917915c pstore: Revert pmsg_lock back to a normal mutex
    7d285c6cfee6 ipmi: ASPEED_BT_IPMI_BMC: select REGMAP_MMIO instead of depending on it
    230a5ed7d813 tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp.
    0abcb0b0d629 net: amd: Fix link leak when verifying config failed
    b978d22fa122 netlink: Use copy_to_user() for optval in netlink_getsockopt().
    0837d10f6c37 Revert "Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work"
    566785731c6d ipv4: Fix potential uninit variable access bug in __ip_make_skb()
    4b8a05e38016 net/sched: sch_fq: fix integer overflow of "credit"
    cb71b24a8927 netfilter: nf_tables: don't write table validation state without mutex
    f4fc43fde12a bpf: Don't EFAULT for getsockopt with optval=NULL
    80090acb5885 ixgbe: Enable setting RSS table to default values
    7a150a5b5468 ixgbe: Allow flow hash to be set via ethtool
    89496d6cff29 wifi: iwlwifi: fw: fix memory leak in debugfs
    f4eb14d2618f wifi: iwlwifi: mvm: check firmware response size
    4ff7c0fbb3fd wifi: iwlwifi: make the loop for card preparation effective
    62fde4651759 jdb2: Don't refuse invalidation of already invalidated buffers
    038cbab55069 wifi: iwlwifi: fw: move memset before early return
    c0ca3824190e wifi: iwlwifi: yoyo: Fix possible division by zero
    2a65555f7e0f md/raid10: fix memleak of md thread
    6361b0592b46 md/raid10: fix memleak for 'conf->bio_split'
    1697fb124c6d md/raid10: fix leak of 'r10bio->remaining' for recovery
    fcacaa9d0457 bpf, sockmap: Revert buggy deadlock fix in the sockhash and sockmap
    21f2503d37ee nvme-fcloop: fix "inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage"
    e119d1918303 nvme: fix async event trace event
    a9e3d9bac963 nvme: handle the persistent internal error AER
    2f9307222227 bpf, sockmap: fix deadlocks in the sockhash and sockmap
    2be04fa7ee85 net: ethernet: stmmac: dwmac-rk: fix optional phy regulator handling
    bab8dc38b1a0 scsi: lpfc: Fix ioremap issues in lpfc_sli4_pci_mem_setup()
    b2f423fda64f f2fs: fix to avoid use-after-free for cached IPU bio
    5877980dc2e4 xsk: Fix unaligned descriptor validation
    2a67bc52cd3f crypto: drbg - Only fail when jent is unavailable in FIPS mode
    9dbdedd44ff4 crypto: drbg - make drbg_prepare_hrng() handle jent instantiation errors
    27942f477d10 bpftool: Fix bug for long instructions in program CFG dumps
    072d16abf567 selftests/bpf: Wait for receive in cg_storage_multi test
    d64a12eeb4a6 net: qrtr: correct types of trace event parameters
    dc55805db254 wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_reg()
    c621697505b3 wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_rfreg()
    adc2d82eee22 crypto: sa2ul - Select CRYPTO_DES
    de3908e15152 crypto: caam - Clear some memory in instantiate_rng
    a8226a45b2a9 f2fs: compress: fix to call f2fs_wait_on_page_writeback() in f2fs_write_raw_pages()
    d11a74577c21 f2fs: apply zone capacity to all zone type
    d420c4a06d8f f2fs: enforce single zone capacity
    c3a1914b9678 f2fs: handle dqget error in f2fs_transfer_project_quota()
    202048ec1ee5 scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS
    bfe67e056327 scsi: target: iscsit: Fix TAS handling during conn cleanup
    e1f59cd18a10 scsi: target: Fix multiple LUN_RESET handling
    008b936bbde3 scsi: target: Make state_list per CPU
    7c8a29f1b22e scsi: target: Rename cmd.bad_sector to cmd.sense_info
    621c89a0216a scsi: target: Rename struct sense_info to sense_detail
    05c6db12aece net/packet: convert po->auxdata to an atomic flag
    5ca1be3658cd net/packet: convert po->origdev to an atomic flag
    8bb81a925a9f net/packet: annotate accesses to po->xmit
    ba6d56b20e8a vlan: partially enable SIOCSHWTSTAMP in container
    118df5df1b4b bpf: Remove misleading spec_v1 check on var-offset stack read
    10c105126787 scm: fix MSG_CTRUNC setting condition for SO_PASSSEC
    10702be8b373 bpf: fix precision propagation verbose logging
    6be8ad4cdcac bpf: take into account liveness when propagating precision
    243fab8e37d4 wifi: rtw88: mac: Return the original error from rtw_mac_power_switch()
    1980dd8c53ec wifi: rtw88: mac: Return the original error from rtw_pwr_seq_parser()
    3ab6ec6c485b tools: bpftool: Remove invalid \' json escape
    1300517e371e wifi: ath6kl: reduce WARN to dev_dbg() in callback
    6c91b3b57b1f wifi: ath5k: fix an off by one check in ath5k_eeprom_read_freq_list()
    320d760a3527 wifi: ath9k: hif_usb: fix memory leak of remain_skbs
    129c3fb5795d wifi: ath6kl: minor fix for allocation size
    c4013689269d tick/common: Align tick period with the HZ tick.
    107ea1f63b26 tick: Get rid of tick_period
    fdc48767461a tick/sched: Optimize tick_do_update_jiffies64() further
    93c43008368d tick/sched: Reduce seqcount held scope in tick_do_update_jiffies64()
    ca721584e9a4 tick/sched: Use tick_next_period for lockless quick check
    780f303233c3 drm/i915: Make intel_get_crtc_new_encoder() less oopsy
    9edf5518db25 debugobject: Prevent init race with static objects
    f16f065f8ce3 arm64: kgdb: Set PSTATE.SS to 1 to re-enable single-step
    55fc2246c46d x86/ioapic: Don't return 0 from arch_dynirq_lower_bound()
    dfce9bb3517a regulator: stm32-pwr: fix of_iomap leak
    a6aeba550c59 media: venus: dec: Fix handling of the start cmd
    3a227dc12b1a media: venus: vdec: Handle DRC after drain
    5bac3de7f49f media: venus: preserve DRC state across seeks
    4c1239274f41 media: venus: vdec: Make decoder return LAST flag for sufficient event
    a30297bff881 media: venus: vdec: Fix non reliable setting of LAST flag
    025a34716c88 media: rc: gpio-ir-recv: Fix support for wake-up
    1acb982e3616 media: rcar_fdp1: Fix refcount leak in probe and remove function
    ccc454881f09 media: rcar_fdp1: Fix the correct variable assignments
    ee24c9e23206 media: rcar_fdp1: Make use of the helper function devm_platform_ioremap_resource()
    bf91fb6c1e9d media: rcar_fdp1: fix pm_runtime_get_sync() usage count
    21de9d0daab1 media: rcar_fdp1: simplify error check logic at fdp_open()
    7dac96e9cc98 media: saa7134: fix use after free bug in saa7134_finidev due to race condition
    e9d64e90a0ad media: dm1105: Fix use after free bug in dm1105_remove due to race condition
    de19d02d734e media: rkvdec: fix use after free bug in rkvdec_remove
    4883f0f7ee44 x86/apic: Fix atomic update of offset in reserve_eilvt_offset()
    06140d6dfe72 regulator: core: Avoid lockdep reports when resolving supplies
    4c0b98d87c3e regulator: core: Consistently set mutex_owner when using ww_mutex_lock_slow()
    e21c93b20a86 drm/lima/lima_drv: Add missing unwind goto in lima_pdev_probe()
    0fc1a90bcef7 ARM: dts: gta04: fix excess dma channel usage
    f59421334e94 mmc: sdhci-of-esdhc: fix quirk to ignore command inhibit for data
    1487b29030ba ACPI: processor: Fix evaluating _PDC method when running as Xen dom0
    ee22417f8299 drm: msm: adreno: Disable preemption on Adreno 510
    00f02bb8cb05 drm/msm/adreno: drop bogus pm_runtime_set_active()
    f9ba5962ccfc drm/msm/adreno: Defer enabling runpm until hw_init()
    9a3a907cf69f media: max9286: Free control handler
    f8d28cecf210 drm/bridge: adv7533: Fix adv7533_mode_valid for adv7533 and adv7535
    076cdba34de2 firmware: qcom_scm: Clear download bit during reboot
    4362444dca02 media: bdisp: Add missing check for create_workqueue
    a9b9ea0e63a0 x86/MCE/AMD: Use an u64 for bank_map
    a8504f9a1304 ARM: dts: qcom: ipq8064: Fix the PCI I/O port range
    7d731faebc8e ARM: dts: qcom: ipq8064: reduce pci IO size to 64K
    870644bf1bfc ARM: dts: qcom: ipq4019: Fix the PCI I/O port range
    45855912958f arm64: dts: qcom: msm8996: Fix the PCI I/O port range
    b6082e8caad8 arm64: dts: qcom: ipq8074: Fix the PCI I/O port range
    5f6302ab78f4 arm64: dts: qcom: msm8998: Fix the PCI I/O port range
    212352542d72 arm64: dts: qcom: sdm845: Fix the PCI I/O port range
    eb9c5b383e03 arm64: dts: qcom: sdm845: correct dynamic power coefficients
    94e6f7e75729 arm64: dts: qcom: msm8998: Fix stm-stimulus-base reg name
    e951bdaa6586 EDAC/skx: Fix overflows on the DRAM row address mapping arrays
    6e6c27b2fb9d drm/msm/disp/dpu: check for crtc enable rather than crtc active to release shared resources
    9c4c9010ae80 arm64: dts: renesas: r8a774c0: Remove bogus voltages from OPP table
    fbfca9b8399f arm64: dts: renesas: r8a77990: Remove bogus voltages from OPP table
    08310f810975 soc: ti: pm33xx: Fix refcount leak in am33xx_pm_probe
    a1e6a4161a27 soc: ti: pm33xx: Enable basic PM runtime support for genpd
    e33f374d65d9 drm/probe-helper: Cancel previous job before starting new one
    67f07215eb8b drm/vgem: add missing mutex_destroy
    ae784c3ed373 drm/rockchip: Drop unbalanced obj unref
    056a1217cffa erofs: fix potential overflow calculating xattr_isize
    7a4579cd6e49 erofs: stop parsing non-compact HEAD index if clusterofs is invalid
    e5ec129158f3 tpm, tpm_tis: Claim locality when interrupts are reenabled on resume
    933bfc5ad213 tpm, tpm: Implement usage counter for locality
    140735c46d37 tpm, tpm_tis: Claim locality before writing interrupt registers
    35ca7f625283 tpm, tpm_tis: Disable interrupts if tpm_tis_probe_irq() failed
    cbb1dd27058e tpm, tpm_tis: Claim locality before writing TPM_INT_ENABLE register
    c62a2331abfa tpm, tpm_tis: Do not skip reset of original interrupt vector
    3ec77043a27d selinux: ensure av_permissions.h is built when needed
    fea314463926 selinux: fix Makefile dependencies of flask.h
    0c29f14cf470 selftests/resctrl: Check for return value after write_schemata()
    4075fbcde40f selftests/resctrl: Return NULL if malloc_and_init_memory() did not alloc mem
    d0653cc6e0c7 rcu: Fix missing TICK_DEP_MASK_RCU_EXP dependency check
    d1ab8b54b2ce clk: rockchip: rk3399: allow clk_cifout to force clk_cifout_src to reparent
    e0dd13b49da9 wifi: rtl8xxxu: RTL8192EU always needs full init
    0fd9b0f61119 mailbox: zynqmp: Fix typo in IPI documentation
    63314371ebbf mailbox: zynqmp: Fix IPI isr handling
    bdbf104b1c91 md/raid10: fix null-ptr-deref in raid10_sync_request
    8a89d36a07af nilfs2: fix infinite loop in nilfs_mdt_get_block()
    7c3e66204805 nilfs2: do not write dirty data after degenerating to read-only
    e4b526442247 parisc: Fix argument pointer in real64_call_asm()
    be649ea153b0 sound/oss/dmasound: fix build when drivers are mixed =y/=m
    b8f444a4fadf ubifs: Free memory for tmpfile name
    5b4b6cb7246e ubi: Fix return value overwrite issue in try_write_vid_and_data()
    66e9f2fb3e75 ubifs: Fix memleak when insert_old_idx() failed
    a4904c56fc6f Revert "ubifs: dirty_cow_znode: Fix memleak in error handling path"
    87d98984b050 iommu/amd: Fix "Guest Virtual APIC Table Root Pointer" configuration in IRTE
    db8b34ffb29b i2c: omap: Fix standard mode false ACK readings
    2b00b2a0e642 writeback, cgroup: fix null-ptr-deref write in bdi_split_work_to_wbs
    1b0df44753bf relayfs: fix out-of-bounds access in relay_file_read
    e28df70df007 KVM: nVMX: Emulate NOPs in L2, and PAUSE if it's not intercepted
    680c419d0d8a reiserfs: Add security prefix to xattr name in reiserfs_security_write()
    eb18bc5a8678 rcu: Avoid stack overflow due to __rcu_irq_enter_check_tick() being kprobe-ed
    0a89d4a07552 crypto: safexcel - Cleanup ring IRQ workqueues on load failure
    ff86deaba1fa crypto: api - Demote BUG_ON() in crypto_unregister_alg() to a WARN_ON()
    1c99f65d6af2 ring-buffer: Sync IRQ works before buffer destruction
    dda1372c8d83 pwm: meson: Fix g12a ao clk81 name
    c1cabb10e072 pwm: meson: Fix axg ao mux parents
    fcd2da2e6bf2 kheaders: Use array declaration instead of char
    1b633da2fecf ipmi: fix SSIF not responding under certain cond.
    6d5993d56963 ipmi:ssif: Add send_retries increment
    47e61cadc7a5 MIPS: fw: Allow firmware to pass a empty env
    2884595932ea tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem
    29b89908fdd9 xhci: fix debugfs register accesses while suspended
    a863ac03fae0 staging: iio: resolver: ads1210: fix config mode
    c8714ddf3ccf ext4: use ext4_journal_start/stop for fast commit transactions
    701a8220762f blk-crypto: make blk_crypto_evict_key() more robust
    5072008bef23 blk-crypto: make blk_crypto_evict_key() return void
    874bdf43b4a7 blk-mq: release crypto keyslot before reporting I/O complete
    68494eb75f1f perf sched: Cast PTHREAD_STACK_MIN to int as it may turn into sysconf(__SC_THREAD_STACK_MIN_VALUE)
    7c5811b95c57 posix-cpu-timers: Implement the missing timer_wait_running callback
    aed39acf7ed6 hwmon: (adt7475) Use device_property APIs when configuring polarity
    b009006887e3 hwmon: (k10temp) Check range scale when CUR_TEMP register is read-write
    a71cb92ec431 USB: dwc3: fix runtime pm imbalance on unbind
    27dc207c386e USB: dwc3: fix runtime pm imbalance on probe errors
    b978269ddad4 PCI: qcom: Fix the incorrect register usage in v2.7.0 config
    2f31633da843 PCI: pciehp: Fix AB-BA deadlock between reset_lock and device_lock
    5434c7019d23 wireguard: timers: cast enum limits members to int in prints
    69fdbb334d6e asm-generic/io.h: suppress endianness warnings for readq() and writeq()
    925cbb725367 ASoC: Intel: bytcr_rt5640: Add quirk for the Acer Iconia One 7 B1-750
    f5e96af71eab iio: adc: palmas_gpadc: fix NULL dereference on rmmod
    8aa079c2fdfc driver core: Don't require dynamic_debug for initcall_debug probe timing
    f964a00386ca USB: serial: option: add UNISOC vendor and TOZED LT70C product
    c0e921422359 x86/fpu: Prevent FPU state corruption
    98cfbad52fc2 bluetooth: Perform careful capability checks in hci_sock_ioctl()
    dc110b20f4ce drm/fb-helper: set x/yres_virtual in drm_fb_helper_check_var
    549825602e3e wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies()
    1dd95b2109de KVM: arm64: Fix buffer overflow in kvm_arm_set_fw_reg()
    0f29d0e8fc77 counter: 104-quad-8: Fix race condition between FLAG and CNTR reads
    d4a895e924b4 seccomp: Move copy_seccomp() to no failure path.

(From OE-Core rev: c00e421942407b60145cc52844290e9e0f18f84c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-01 16:24:07 -10:00
Bruce Ashfield
ce8b35569a linux-yocto/5.10: update to v5.10.179
Updating  to the latest korg -stable release that comprises
the following commits:

    f1b32fda06d2 Linux 5.10.179
    0367bf3f4a4e ASN.1: Fix check for strdup() success
    4ab5f8f9d026 ASoC: fsl_asrc_dma: fix potential null-ptr-deref
    42604b4ad5f3 iio: adc: at91-sama5d2_adc: fix an error code in at91_adc_allocate_trigger()
    155b2586de3f pwm: hibvt: Explicitly set .polarity in .get_state()
    1c3a1211370d pwm: iqs620a: Explicitly set .polarity in .get_state()
    b28079807de2 pwm: meson: Explicitly set .polarity in .get_state()
    f69112de70a0 sctp: Call inet6_destroy_sock() via sk->sk_destruct().
    7da54ddc04e6 dccp: Call inet6_destroy_sock() via sk->sk_destruct().
    04d393c4bbf5 inet6: Remove inet6_destroy_sock() in sk->sk_prot->destroy().
    b1f06ab985ef tcp/udp: Call inet6_destroy_sock() in IPv6 sk->sk_destruct().
    0e7b5e1020aa udp: Call inet6_destroy_sock() in setsockopt(IPV6_ADDRFORM).
    05cf34a2b641 ext4: fix use-after-free in ext4_xattr_set_entry
    c75711396c04 ext4: remove duplicate definition of ext4_xattr_ibody_inline_set()
    9400206d9d5e Revert "ext4: fix use-after-free in ext4_xattr_set_entry"
    81775ab858b4 fuse: fix deadlock between atomic O_TRUNC and page invalidation
    03cefde986f1 fuse: always revalidate rename target dentry
    42dfdbd4dcfa fuse: fix attr version comparison in fuse_read_update_size()
    0078a1667cbf fuse: check s_root when destroying sb
    6d0d67b05f7b virtiofs: split requests that exceed virtqueue size
    cf08dc79168a virtiofs: clean up error handling in virtio_fs_get_tree()
    e220438d1e33 purgatory: fix disabling debug info
    37df709706ae docs: futex: Fix kernel-doc references after code split-up preparation
    77748b0a047e MIPS: Define RUNTIME_DISCARD_EXIT in LD script
    4735b6f74f25 sched/fair: Fixes for capacity inversion detection
    89ad8a672f57 sched/uclamp: Fix a uninitialized variable warnings
    09129798a608 sched/fair: Consider capacity inversion in util_fits_cpu()
    30f04dd56dfd sched/fair: Detect capacity inversion
    b18cbd359d72 sched/uclamp: Cater for uclamp in find_energy_efficient_cpu()'s early exit condition
    41a880740c9f sched/uclamp: Make cpu_overutilized() use util_fits_cpu()
    07750955e9a2 sched/uclamp: Make asym_fits_capacity() use util_fits_cpu()
    2fd1c194e688 sched/uclamp: Make select_idle_capacity() use util_fits_cpu()
    8ca2bf63d946 sched/uclamp: Fix fits_capacity() check in feec()
    5cb1a56ced30 sched/uclamp: Make task_fits_capacity() use util_fits_cpu()
    2523d9d7bb5c mm/khugepaged: check again on anon uffd-wp during isolation
    651b0bf43d67 mmc: sdhci_am654: Set HIGH_SPEED_ENA for SDR12 and SDR25
    c61928fcca27 kernel/sys.c: fix and improve control flow in __sys_setres[ug]id()
    e10a6d88ae9b memstick: fix memory leak if card device is never registered
    2c90ef37151f nilfs2: initialize unused bytes in segment summary blocks
    09daff9c3cd7 iio: light: tsl2772: fix reading proximity-diodes from device tree
    77ac8f2ad4ad xfs: drop submit side trans alloc for append ioends
    a4e800a7bd67 powerpc/doc: Fix htmldocs errors
    c215c636819c xen/netback: use same error messages for same errors
    0c9cbfc951c4 nvme-tcp: fix a possible UAF when failing to allocate an io queue
    8c746b665089 s390/ptrace: fix PTRACE_GET_LAST_BREAK error handling
    a36246a7480d net: dsa: b53: mmap: add phy ops
    b33f28ea45e9 scsi: core: Improve scsi_vpd_inquiry() checks
    24ddcc6a635b scsi: megaraid_sas: Fix fw_crash_buffer_show()
    01bd481b1b94 selftests: sigaltstack: fix -Wuninitialized
    8b44a83a1680 Input: i8042 - add quirk for Fujitsu Lifebook A574/H
    37882b203a2d f2fs: Fix f2fs_truncate_partial_nodes ftrace event
    9a8dbfd7f3e5 e1000e: Disable TSO on i219-LM card to increase speed
    b1281d008845 bpf: Fix incorrect verifier pruning due to missing register precision taints
    b085b5787b4a mlxsw: pci: Fix possible crash during initialization
    c972851d3848 net: rpl: fix rpl header size calculation
    b6b06c5ee333 mlxfw: fix null-ptr-deref in mlxfw_mfa2_tlv_next()
    880c09bc2f0b i40e: fix i40e_setup_misc_vector() error handling
    72df55d3dc96 i40e: fix accessing vsi->active_filters without holding lock
    381110d06192 netfilter: nf_tables: fix ifdef to also consider nf_tables=m
    6758a51ef36a sfc: Fix use-after-free due to selftest_work
    06a72bbf0d98 sfc: Split STATE_READY in to STATE_NET_DOWN and STATE_NET_UP.
    b6dd232f6350 virtio_net: bugfix overflow inside xdp_linearize_page()
    ddcf35deb8f2 net: sched: sch_qfq: prevent slab-out-of-bounds in qfq_activate_agg
    8e73952957a3 regulator: fan53555: Explicitly include bits header
    3224458030a2 netfilter: br_netfilter: fix recent physdev match breakage
    08b78037c4f1 arm64: dts: imx8mm-evk: correct pmic clock source
    2c06e904c2b7 arm64: dts: meson-g12-common: specify full DMC range
    b33dbd06ac5f arm64: dts: qcom: ipq8074-hk01: enable QMP device, not the PHY node
    e662521ec739 ARM: dts: rockchip: fix a typo error for rk3288 spdif node

(From OE-Core rev: 168b245456602d3d08cd2278e6ac97933dcbff6d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-01 16:24:07 -10:00
Bruce Ashfield
fdc1438438 linux-yocto/5.10: update to v5.10.178
Updating  to the latest korg -stable release that comprises
the following commits:

    791a854ae5a5 Linux 5.10.178
    f177b382c339 sysctl: Fix data-races in proc_dou8vec_minmax().
    56314b90fd43 panic, kexec: make __crash_kexec() NMI safe
    d425f348211f kexec: turn all kexec_mutex acquisitions into trylocks
    784b6ba15eb2 kexec: move locking into do_kexec_load
    0b077b22ea9f riscv: Handle zicsr/zifencei issues between clang and binutils
    c36a25101179 kbuild: check CONFIG_AS_IS_LLVM instead of LLVM_IAS
    d5f67f6d4ec4 kbuild: Switch to 'f' variants of integrated assembler flag
    83f55e6f298e kbuild: check the minimum assembler version in Kconfig
    6facabb4d069 coresight-etm4: Fix for() loop drvdata->nr_addr_cmp range bug
    7b78445bce52 watchdog: sbsa_wdog: Make sure the timeout programming is within the limits
    10b7a33c5de3 i2c: ocores: generate stop condition after timeout in polling mode
    b4210b10dc7e x86/rtc: Remove __init for runtime functions
    ba4a2f6d99fc sched/fair: Fix imbalance overflow
    68387ae3b63e sched/fair: Move calculate of avg_load to a better location
    ccbec01cc99c powerpc/papr_scm: Update the NUMA distance table for the target node
    453b3188be89 powerpc/pseries: Add support for FORM2 associativity
    498618e0a1e7 powerpc/pseries: Add a helper for form1 cpu distance
    18ce785effd9 powerpc/pseries: Consolidate different NUMA distance update code paths
    f2ae0eb96bfb powerpc/pseries: Rename TYPE1_AFFINITY to FORM1_AFFINITY
    f6d8a3a2eaab powerpc/pseries: rename min_common_depth to primary_domain_index
    5abf8af8df97 ubi: Fix deadlock caused by recursively holding work_sem
    33611d4a8181 mtd: ubi: wl: Fix a couple of kernel-doc issues
    0279e82e1484 ubi: Fix failure attaching when vid_hdr offset equals to (sub)page size
    37a3cf4abc5a cgroup/cpuset: Wake up cpuset_attach_wq tasks in cpuset_cancel_attach()
    10bda0ec3160 x86/PCI: Add quirk for AMD XHCI controller that loses MSI-X state in D3hot
    176d7345b89c scsi: ses: Handle enclosure with just a primary component gracefully
    cf22c98bcbf8 net: sfp: initialize sfp->i2c_block_size at sfp allocation
    2a4835b8ede0 riscv: add icache flush for nommu sigreturn trampoline
    c76e79e526cd asymmetric_keys: log on fatal failures in PE/pkcs7
    5de2e1f5e26f verify_pefile: relax wrapper length check
    e4b9f0bf91a3 drm: panel-orientation-quirks: Add quirk for Lenovo Yoga Book X90F
    9f0ee9ed54e1 efi: sysfb_efi: Add quirk for Lenovo Yoga Book X91F/L
    e1f80b4dfad9 i2c: imx-lpi2c: clean rx/tx buffers upon new message
    81c30f89b9c3 wifi: mwifiex: mark OF related data as maybe unused
    ab39582f3081 power: supply: cros_usbpd: reclassify "default case!" as debug
    6de0d0699f5c libbpf: Fix single-line struct definition output in btf_dump
    1bec9da233f7 net: macb: fix a memory corruption in extended buffer descriptor mode
    7d8c844b337d udp6: fix potential access to stale information
    d1b9b3191697 RDMA/core: Fix GID entry ref leak when create_ah fails
    79b28f42214a sctp: fix a potential overflow in sctp_ifwdtsn_skip
    3814d211ff13 net: qrtr: Fix an uninit variable access bug in qrtr_tx_resume()
    dad92d8ada07 qlcnic: check pci_reset_function result
    4a519731ece8 drm/armada: Fix a potential double free in an error handling path
    a069d4d98cd2 tcp: restrict net.ipv4.tcp_app_win
    cc9f9a49f5b3 tcp: convert elligible sysctls to u8
    f662a0786dfd ipv4: shrink netns_ipv4 with sysctl conversions
    389dab6142d7 sysctl: add proc_dou8vec_minmax()
    8a1fdb35459d niu: Fix missing unwind goto in niu_alloc_channels()
    9266e939d762 9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race condition
    ae1149885142 RDMA/cma: Allow UD qp_type to join multicast only
    5e567fd29611 IB/mlx5: Add support for 400G_8X lane speed
    a1d2fb5d13c9 IB/mlx5: Add support for NDR link speed
    8a886f01b85d clk: sprd: set max_register according to mapping range
    6e2845284b12 mtd: rawnand: stm32_fmc2: use timings.mode instead of checking tRC_min
    9e946e4e8c3d mtd: rawnand: stm32_fmc2: remove unsupported EDO mode
    6b0e71919264 mtd: rawnand: meson: fix bitmask for length in command word
    441e57ff87c2 mtdblock: tolerate corrected bit-flips
    0d07ea8d385c fbmem: Reject FB_ACTIVATE_KD_TEXT from userspace
    5635e6940656 btrfs: fix fast csum implementation detection
    3576e08f19dc btrfs: print checksum type and implementation at mount time
    f7ec5ca433ce Bluetooth: Fix race condition in hidp_session_thread
    d9ba36c22a7b Bluetooth: L2CAP: Fix use-after-free in l2cap_disconnect_{req,rsp}
    8533fe864574 ALSA: hda/sigmatel: fix S/PDIF out on Intel D*45* motherboards
    8f6a20a4f4ce ALSA: firewire-tascam: add missing unwind goto in snd_tscm_stream_start_duplex()
    69108a8a45c6 ALSA: i2c/cs8427: fix iec958 mixer control deactivation
    e63a515d11de ALSA: hda/sigmatel: add pin overrides for Intel DP45SG motherboard
    df4af0ddf7f0 ALSA: emu10k1: fix capture interrupt handler unlinking
    14e90335bc73 Revert "pinctrl: amd: Disable and mask interrupts on resume"
    59dc9767cefb bpftool: Print newline before '}' for struct with padding only fields
    2765aca63776 ocfs2: fix freeing uninitialized resource on ocfs2_dlm_shutdown
    a412ba6b6cc6 Revert "media: ti: cal: fix possible memory leak in cal_ctx_create()"
    2d96c8dca946 drm/bridge: lt9611: Fix PLL being unable to lock
    a2773afc81fc selftests: intel_pstate: ftime() is deprecated
    ea8c42b3b6d9 mm/swap: fix swap_info_struct race between swapoff and get_swap_pages()
    5a74837809cc ring-buffer: Fix race while reader and writer are on the same page
    c1bbe926a1c7 drm/nouveau/disp: Support more modes by checking with lower bpc
    8250f7f7ae21 drm/panfrost: Fix the panfrost_mmu_map_fault_addr() error path
    acbbfdba9ca6 ASoC: hdac_hdmi: use set_stream() instead of set_tdm_slots()
    6e36373aa5ff tracing: Free error logs of tracing instances
    9c5df2f14ee3 can: isotp: isotp_ops: fix poll() to not report false EPOLLOUT events
    70caa596d158 can: j1939: j1939_tp_tx_dat_new(): fix out-of-bounds memory access
    f018ef34c44b ftrace: Fix issue that 'direct->addr' not restored in modify_ftrace_direct()
    eadcad0a47bf ftrace: Mark get_lock_parent_ip() __always_inline
    9470fc63ab42 perf/core: Fix the same task check in perf_event_set_output
    499757ad3332 scsi: iscsi_tcp: Check that sock is valid before iscsi_set_param()
    4bfdead17443 iio: adc: ad7791: fix IRQ flags
    14f9ff7857e7 ALSA: hda/realtek: Add quirk for Clevo X370SNW
    1f3b8c3b047a dt-bindings: serial: renesas,scif: Fix 4th IRQ for 4-IRQ SCIFs
    3dbee84bf9e3 nilfs2: fix sysfs interface lifetime
    f32297dba338 nilfs2: fix potential UAF of struct nilfs_sc_info in nilfs_segctor_thread()
    a17bed82c0d3 tty: serial: fsl_lpuart: avoid checking for transfer complete when UARTCTRL_SBK is asserted in lpuart32_tx_empty
    25eff5e7f743 tty: serial: sh-sci: Fix Rx on RZ/G2L SCI
    72a3e4fa882d tty: serial: sh-sci: Fix transmit end interrupt handler
    741d73fc573c iio: light: cm32181: Unregister second I2C client if present
    58bf30479a2e iio: dac: cio-dac: Fix max DAC write value check for 12-bit
    f47659f1e942 iio: adc: ti-ads7950: Set `can_sleep` flag for GPIO chip
    52a003870ee2 USB: serial: option: add Quectel RM500U-CN modem
    e6655d483766 USB: serial: option: add Telit FE990 compositions
    9d1f2a6b8d9a usb: typec: altmodes/displayport: Fix configure initial pin assignment
    4be2b71e9d36 USB: serial: cp210x: add Silicon Labs IFS-USB-DATACABLE IDs
    ec20260950af xhci: also avoid the XHCI_ZERO_64B_REGS quirk with a passthrough iommu
    b4b4f17aa46c usb: xhci: tegra: fix sleep in atomic call
    07216da8fb1d NFSD: callback request does not use correct credential for AUTH_SYS
    a3c4aa48e5f2 sunrpc: only free unix grouplist after RCU settles
    890517a4a255 net: stmmac: fix up RX flow hash indirection table when setting channels
    bdbbd3fa58f8 net: ethernet: ti: am65-cpsw: Fix mdio cleanup in probe
    d8c8476c1433 gpio: davinci: Add irq chip flag to skip set wake
    605b056d6330 ipv6: Fix an uninit variable access bug in __ip6_make_skb()
    ff2565fb8f19 net: qrtr: Do not do DEL_SERVER broadcast after DEL_CLIENT
    b4b6dfad41aa sctp: check send stream number after wait_for_sndbuf
    efda95cebfdd net: don't let netpoll invoke NAPI if in xmit context
    ec81049f0957 icmp: guard against too small mtu
    98a9cd82c541 net: qrtr: Fix a refcount bug in qrtr_recvmsg()
    94c53d294944 net: qrtr: combine nameservice into main module
    3fe20515449a wifi: mac80211: fix invalid drv_sta_pre_rcu_remove calls for non-uploaded sta
    2951229ee7d0 KVM: s390: pv: fix external interruption loop not always detected
    b43a8939f1e1 pwm: sprd: Explicitly set .polarity in .get_state()
    d59b83494d1b pwm: cros-ec: Explicitly set .polarity in .get_state()
    176c6b488919 Drivers: vmbus: Check for channel allocation before looking up relids
    c51b336bd951 gpio: GPIO_REGMAP: select REGMAP instead of depending on it

(From OE-Core rev: 91f9c4095a3f99cb880400259fcaa2606c831bf1)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-01 16:24:07 -10:00
Bruce Ashfield
5f26c81523 linux-yocto/5.10: update to v5.10.177
Updating  to the latest korg -stable release that comprises
the following commits:

    387078f9030c Linux 5.10.177
    34a02011c5d1 hsr: ratelimit only when errors are printed
    7c414f6f06e9 gfs2: Always check inode size of inline inodes
    3392d67af0a4 ext4: fix kernel BUG in 'ext4_write_inline_data_end()'
    b4781477f397 libbpf: Fix btf_dump's packed struct determination
    7ad30ad8c684 selftests/bpf: Add few corner cases to test padding handling of btf_dump
    e5a16bcb131c libbpf: Fix BTF-to-C converter's padding logic
    b9f7422dd94a selftests/bpf: Test btf dump for struct with padding only fields
    f1c17475a9dc zonefs: Fix error message in zonefs_file_dio_append()
    b51e4422952b btrfs: scan device in non-exclusive mode
    3eeff8d26c6d s390/uaccess: add missing earlyclobber annotations to __clear_user()
    7051d51f1241 drm/amd/display: Add DSC Support for Synaptics Cascaded MST Hub
    79815326a516 drm/etnaviv: fix reference leak when mmaping imported buffer
    a484f8bec8ee rcu: Fix rcu_torture_read ftrace event
    08bfd05987df xtensa: fix KASAN report for show_stack
    8ada1b5c8b43 ALSA: hda/realtek: Add quirk for Lenovo ZhaoYang CF4620Z
    3b6992bdf09d ALSA: usb-audio: Fix regression on detection of Roland VS-100
    0044721f4f95 ALSA: hda/conexant: Partial revert of a quirk for Lenovo
    3d328a17c8cb NFSv4: Fix hangs when recovering open state after a server reboot
    80a4200d51e5 powerpc: Don't try to copy PPR for task with NULL pt_regs
    12c2612e18ca pinctrl: at91-pio4: fix domain name assignment
    25065ed83b5f pinctrl: amd: Disable and mask interrupts on resume
    fbf3fe7f7bc3 net: phy: dp83869: fix default value for tx-/rx-internal-delay
    b3d7a4478ce0 xen/netback: don't do grant copy across page boundary
    5f6347034341 btrfs: fix race between quota disable and quota assign ioctls
    ba5deb64ddde Input: goodix - add Lenovo Yoga Book X90F to nine_bytes_report DMI table
    26a32a212bc5 cifs: fix DFS traversal oops without CONFIG_CIFS_DFS_UPCALL
    63bbe24b99f9 cifs: prevent infinite recursion in CIFSGetDFSRefer()
    8b3d7ad3e8f1 Input: focaltech - use explicitly signed char type
    449a1a61f7f1 Input: alps - fix compatibility with -funsigned-char
    988061d09972 pinctrl: ocelot: Fix alt mode for ocelot
    ed3439a8c4fe net: dsa: mv88e6xxx: Enable IGMP snooping on user ports only
    8104c795517c bnxt_en: Add missing 200G link speed reporting
    62850a076353 bnxt_en: Fix typo in PCI id to device description string mapping
    f524d1e55013 i40e: fix registers dump after run ethtool adapter self test
    fa7fafedc9fd net: ipa: compute DMA pool size properly
    96e34c88000f ALSA: ymfpci: Fix BUG_ON in probe function
    688b1178c443 ALSA: ymfpci: Fix assignment in if condition
    ee17dea3072d s390/vfio-ap: fix memory leak in vfio_ap device driver
    ab2a55907823 can: bcm: bcm_tx_setup(): fix KMSAN uninit-value in vfs_write
    9b22e0cfc4d7 net: stmmac: don't reject VLANs when IFF_PROMISC is set
    f032e125149d net/net_failover: fix txq exceeding warning
    1025c471517b regulator: Handle deferred clk
    69ed49a7b881 r8169: fix RTL8168H and RTL8107E rx crc error
    3907fcb5a439 ptp_qoriq: fix memory leak in probe()
    6ff4a54c0218 scsi: megaraid_sas: Fix crash after a double completion
    059c3a7a3d6d sfc: ef10: don't overwrite offload features at NIC reset
    4a81e2da7297 mtd: rawnand: meson: invalidate cache on polling ECC bit
    47a449ec09b4 mips: bmips: BCM6358: disable RAC flush for TP1
    ac63f78d9aca ca8210: Fix unsigned mac_len comparison with zero in ca8210_skb_tx()
    8b1269b709c9 tracing: Fix wrong return in kprobe_event_gen_test.c
    038765a095fd tools/power turbostat: Fix /dev/cpu_dma_latency warnings
    5ec5680dc656 fbdev: au1200fb: Fix potential divide by zero
    ce5551db3629 fbdev: lxfb: Fix potential divide by zero
    c2be7f80562d fbdev: intelfb: Fix potential divide by zero
    78eb964805f9 fbdev: nvidia: Fix potential divide by zero
    1f2a94baee43 sched_getaffinity: don't assume 'cpumask_size()' is fully initialized
    6eaa2254cc5e fbdev: tgafb: Fix potential divide by zero
    baef27176ea5 ALSA: hda/ca0132: fixup buffer overrun at tuning_ctl_set()
    fcf80111a4f6 ALSA: asihpi: check pao in control_message()
    b94ffa287415 net: hsr: Don't log netdev_err message on unknown prp dst node
    74d6d33f3695 md: avoid signed overflow in slot_store()
    10941fd5c3e1 fsverity: don't drop pagecache at end of FS_IOC_ENABLE_VERITY
    0b9493b504fc dm crypt: avoid accessing uninitialized tasklet
    b2d19565478f bus: imx-weim: fix branch condition evaluates to a garbage value
    1635a062fa0e drm/meson: fix missing component unbind on bind errors
    794a6cea2268 drm/meson: Fix error handling when afbcd.ops->init fails
    f7385e0886cd kcsan: avoid passing -g for test
    46ae204069e7 kernel: kcsan: kcsan_test: build without structleak plugin
    a5ce0a559b66 usb: dwc3: gadget: Add 1ms delay after end transfer command without IOC
    ddb1973e6765 usb: dwc3: gadget: move cmd_endtransfer to extra function
    01e4c9c03de8 NFSD: fix use-after-free in __nfs42_ssc_open()
    34ef9cd887d5 KVM: fix memoryleak in kvm_init()
    a6d345c3a31e xfs: don't reuse busy extents on extent trim
    cb61e1e36fb3 xfs: shut down the filesystem if we screw up quota reservation
    91d7a4bd5656 ocfs2: fix data corruption after failed write
    d4a5181ba1b1 sched/fair: Sanitize vruntime of entity being migrated
    dfdcda25fb5e sched/fair: sanitize vruntime of entity being placed
    66ff37993dd7 dm crypt: add cond_resched() to dmcrypt_write()
    c68f08cc7456 dm stats: check for and propagate alloc_percpu failure
    1eaa2b7ae90c i2c: xgene-slimpro: Fix out-of-bounds bug in xgene_slimpro_i2c_xfer()
    85b637feee1e firmware: arm_scmi: Fix device node validation for mailbox transport
    f632a90f8e39 tee: amdtee: fix race condition in amdtee_open_session
    4ede0da36c2f drm/i915: Preserve crtc_state->inherited during state clearing
    d5329a06b4cb drm/i915/active: Fix missing debug object activation
    d18db946cc6a nilfs2: fix kernel-infoleak in nilfs_ioctl_wrap_copy()
    560437bba14d wifi: mac80211: fix qos on mesh interfaces
    a6adfe9bbd6a usb: ucsi: Fix NULL pointer deref in ucsi_connector_change()
    09671cfc2b22 usb: chipidea: core: fix possible concurrent when switch role
    073ce98aa3a6 usb: chipdea: core: fix return -EINVAL if request role is the same with current role
    5a36b601aff3 usb: cdns3: Fix issue with using incorrect PCI device function
    aae6d1bf4d8e dm thin: fix deadlock when swapping to thin device
    4d2626e10709 igb: revert rtnl_lock() that causes deadlock
    e66f3039c792 fsverity: Remove WQ_UNBOUND from fsverity read workqueue
    33f341c1fc60 usb: gadget: u_audio: don't let userspace block driver unbind
    1f01027c51eb usb: dwc2: fix a devres leak in hw_enable upon suspend resume
    dce128421554 scsi: core: Add BLIST_SKIP_VPD_PAGES for SKhynix H28U74301AMR
    f7a4ce351426 cifs: empty interface list when server doesn't support query interfaces
    8beb18c25bef sh: sanitize the flags on sigreturn
    87e800e3dc77 net: usb: qmi_wwan: add Telit 0x1080 composition
    27d4ce4aa3bb net: usb: cdc_mbim: avoid altsetting toggling for Telit FE990
    ddfc06179338 scsi: storvsc: Handle BlockSize change in Hyper-V VHD/VHDX file
    3e0a423a55a7 scsi: lpfc: Avoid usage of list iterator variable after loop
    f9a937f75ba2 scsi: ufs: core: Add soft dependency on governor_simpleondemand
    522314863f78 scsi: hisi_sas: Check devm_add_action() return value
    799d29a447dc scsi: target: iscsi: Fix an error message in iscsi_check_key()
    8c42442887db selftests/bpf: check that modifier resolves after pointer
    df1da53a7e98 m68k: Only force 030 bus error if PC not in exception table
    7df72bedbdd1 ca8210: fix mac_len negative array access
    3d8fafc5308f HID: cp2112: Fix driver not registering GPIO IRQ chip as threaded
    082b8240a66a riscv: Bump COMMAND_LINE_SIZE value to 1024
    2d6c2dee59a3 thunderbolt: Use const qualifier for `ring_interrupt_index`
    06e04b450bb4 thunderbolt: Use scale field when allocating USB3 bandwidth
    32fa53c27ea3 uas: Add US_FL_NO_REPORT_OPCODES for JMicron JMS583Gen 2
    231cfa78ec5b scsi: qla2xxx: Perform lockless command completion in abort path
    f73a88df19b7 hwmon (it87): Fix voltage scaling for chips with 10.9mV ADCs
    33c2fa39fb9e hwmon: fix potential sensor registration fail if of_node is missing
    f86ff88a1548 platform/chrome: cros_ec_chardev: fix kernel data leak from ioctl
    da3d3fdfb4d5 Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work
    fce0e47e9ec5 Bluetooth: L2CAP: Fix responding with wrong PDU type
    77a61df0a0e6 Bluetooth: L2CAP: Fix not checking for maximum number of DCID
    65ceb170749b Bluetooth: btqcomsmd: Fix command timeout after setting BD address
    7aa3d03e1b30 net: mdio: thunder: Add missing fwnode_handle_put()
    94ef1715d263 gve: Cache link_speed value from device
    3c72445dadc3 nvme-tcp: fix nvme_tcp_term_pdu to match spec
    73db80dcdc20 net/sonic: use dma_mapping_error() for error check
    f8cec30541f5 erspan: do not use skb_mac_header() in ndo_start_xmit()
    19aa85b9df48 atm: idt77252: fix kmemleak when rmmod idt77252
    5eadc8032829 net/mlx5: E-Switch, Fix an Oops in error handling code
    265101aea4c0 net/mlx5: Read the TC mapping of all priorities on ETS query
    18cead61e437 net/mlx5: Fix steering rules cleanup
    a4bbab27c4bf bpf: Adjust insufficient default bpf_jit_limit
    a44e98abcca4 keys: Do not cache key in task struct if key is requested from kernel thread
    ec23a669deca bootconfig: Fix testcase to increase max node
    56e0bc4a72a0 net/ps3_gelic_net: Use dma_mapping_error
    3d5a97283e2a net/ps3_gelic_net: Fix RX sk_buff length
    cb5879efde4f net: qcom/emac: Fix use after free bug in emac_remove due to race condition
    d04dac7fae75 net: mdio: fix owner field for mdio buses registered using device-tree
    1b333766ea7a net: phy: Ensure state transitions are processed from phy_stop()
    bfeeb3aaad4e xirc2ps_cs: Fix use after free bug in xirc2ps_detach
    39c3b9dd481c qed/qed_sriov: guard against NULL derefs from qed_iov_get_vf_info
    33d1603a38e0 net: usb: smsc95xx: Limit packet length to skb->len
    c09cdf6eb815 scsi: scsi_dh_alua: Fix memleak for 'qdata' in alua_activate()
    a3ada13f20fd i2c: imx-lpi2c: check only for enabled interrupt flags
    bde2e73d5232 igc: fix the validation logic for taprio's gate list
    d3e4844c1829 igbvf: Regard vf reset nack as success
    fe3850c72a72 intel/igbvf: free irq on the error path in igbvf_request_msix()
    155d6d434f86 iavf: fix non-tunneled IPv6 UDP packet type and hashing
    15dcb57eba09 iavf: fix inverted Rx hash condition leading to disabled hash
    580634b03a55 xsk: Add missing overflow check in xdp_umem_reg
    7b5dffe048f9 ARM: dts: imx6sl: tolino-shine2hd: fix usbotg1 pinctrl
    35a49d27585c ARM: dts: imx6sll: e60k02: fix usbotg1 pinctrl
    75e2144291e8 power: supply: da9150: Fix use after free bug in da9150_charger_remove due to race condition
    2b346876b931 power: supply: bq24190: Fix use after free bug in bq24190_remove due to race condition
    18359b8e30c4 power: supply: bq24190_charger: using pm_runtime_resume_and_get instead of pm_runtime_get_sync
    1fde5782f187 net: tls: fix possible race condition between do_tls_getsockopt_conf() and do_tls_setsockopt_conf()
    cfeda9432c1d drm/sun4i: fix missing component unbind on bind errors
    b5131ed83c83 serial: 8250: ASPEED_VUART: select REGMAP instead of depending on it
    5fcb12f00a05 serial: 8250: SERIAL_8250_ASPEED_VUART should depend on ARCH_ASPEED
    19a98d56dfed tty: serial: fsl_lpuart: fix race on RX DMA shutdown
    ae12308c7d55 serial: fsl_lpuart: Fix comment typo
    a43f7d0628e4 KVM: Register /dev/kvm as the _very_ last thing during initialization
    7958663668ef KVM: Pre-allocate cpumasks for kvm_make_all_cpus_request_except()
    6100066358ee KVM: Optimize kvm_make_vcpus_request_mask() a bit
    ad120bc86930 KVM: KVM: Use cpumask_available() to check for NULL cpumask when kicking vCPUs
    4cc54f6ae535 KVM: Clean up benign vcpu->cpu data races when kicking vCPUs
    8f9ae017dd35 ipmi:ssif: Add a timer between request retries
    c94de7f85d99 ipmi:ssif: resend_msg() cannot fail
    cd35cbde0078 ipmi:ssif: Increase the message retry time
    4d57c90f24e1 ipmi:ssif: make ssif_i2c_send() void
    18dd825b8651 perf: fix perf_event_context->time
    ddcf83200036 perf/core: Fix perf_output_begin parameter is incorrectly invoked in perf_event_bpf_output
    29ee1495e857 interconnect: qcom: osm-l3: fix icc_onecell_data allocation

(From OE-Core rev: 87febe433a6bf27b1a85ba4866f395dbcd131271)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-01 16:24:07 -10:00
Bruce Ashfield
7cfdccfa4a linux-yocto/5.10: update to v5.10.176
Updating  to the latest korg -stable release that comprises
the following commits:

    ca9787bdecfa Linux 5.10.176
    e57f797e3ffa HID: uhid: Over-ride the default maximum data buffer value with our own
    9bc878756b01 HID: core: Provide new max_buffer_size attribute to over-ride the default
    daa97e770e78 xfs: remove xfs_setattr_time() declaration
    183ca919544c fs: use consistent setgid checks in is_sxid()
    0e9dbde96cac attr: use consistent sgid stripping checks
    240b96ffece8 attr: add setattr_should_drop_sgid()
    baea3ae425fb fs: move should_remove_suid()
    24378d6f7486 attr: add in_group_or_capable()
    94ac142c19f1 fs: move S_ISGID stripping into the vfs_*() helpers
    347750e1b69c fs: add mode_strip_sgid() helper
    f60b68c46444 xfs: use setattr_copy to set vfs inode attributes
    8cf9400f8948 xfs: set prealloc flag in xfs_alloc_file_space()
    308dfe49eb75 xfs: fallocate() should call file_modified()
    35f049abbae3 xfs: remove XFS_PREALLOC_SYNC
    c84fb2962680 xfs: don't leak btree cursor when insrec fails after a split
    be60f08c03de xfs: purge dquots after inode walk fails during quotacheck
    d6f223cfef32 xfs: don't assert fail on perag references on teardown
    d0292124bb57 PCI/DPC: Await readiness of secondary bus after reset
    337aa99f76ea PCI: Unify delay handling for reset and resume
    b5e0b3d74285 s390/ipl: add missing intersection check to ipl_report handling
    84e2e393bf9f io_uring: avoid null-ptr-deref in io_arm_poll_handler
    5e784a7d07af drm/i915/active: Fix misuse of non-idle barriers as fence trackers
    8f27d4321700 drm/i915: Don't use stolen memory for ring buffers with LLC
    b4a798374f2d x86/mm: Fix use of uninitialized buffer in sme_enable()
    764217184f9e x86/mce: Make sure logged MCEs are processed after sysfs update
    15e926dfd820 cpuidle: psci: Iterate backwards over list in psci_pd_remove()
    38742635eda9 fbdev: stifb: Provide valid pixelclock and add fb_check_var() checks
    03fc29e75e44 mmc: sdhci_am654: lower power-on failed message severity
    b2747b690cb9 mm/userfaultfd: propagate uffd-wp bit when PTE-mapping the huge zeropage
    83c3b2f4e7c6 ftrace: Fix invalid address access in lookup_rec() when index is 0
    f9a98b8dde09 mptcp: avoid setting TCP_CLOSE state twice
    684c7372bbd6 drm/shmem-helper: Remove another errant put in error path
    fbc5ffcce72b ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book2 Pro
    9addf5e1050a ALSA: hda: intel-dsp-config: add MTL PCI id
    c54974ccaff7 KVM: nVMX: add missing consistency checks for CR0 and CR4
    7b18dea697e4 cifs: Fix smb2_set_path_size()
    ec663c410ce0 tracing: Make tracepoint lockdep check actually test something
    8ae86ef7a058 tracing: Check field value in hist_field_name()
    de3170bd41de tracing: Make splice_read available again
    efae80ca13fa interconnect: fix mem leak when freeing nodes
    b37d3ccbd549 firmware: xilinx: don't make a sleepable memory allocation from an atomic context
    0c16c20b8787 serial: 8250_em: Fix UART port type
    f5a5150c7066 tty: serial: fsl_lpuart: skip waiting for transmission complete when UARTCTRL_SBK is asserted
    020166bc6669 ext4: fix possible double unlock when moving a directory
    7257070be70e drm/amd/display: fix shift-out-of-bounds in CalculateVMAndRowBytes
    ab7da8d93a6f sh: intc: Avoid spurious sizeof-pointer-div warning
    6936525142a0 drm/amdkfd: Fix an illegal memory access
    a98160d8f3e6 ext4: fix task hung in ext4_xattr_delete_inode
    0bf15bc393a1 ext4: fail ext4_iget if special inode unallocated
    8e7f26b9565a jffs2: correct logic when creating a hole in jffs2_write_begin
    980d4e70c708 mmc: atmel-mci: fix race between stop command and start of next command
    04eaeaa2f79f media: m5mols: fix off-by-one loop termination error
    a4c048d502eb hwmon: (adm1266) Set `can_sleep` flag for GPIO chip
    a4c3e1132422 hwmon: tmp512: drop of_match_ptr for ID table
    c5bd9719b53b hwmon: (ucd90320) Add minimum delay between bus accesses
    663c3afee81e hwmon: (ina3221) return prober error code
    0a73c8b3cc99 hwmon: (xgene) Fix use after free bug in xgene_hwmon_remove due to race condition
    4a8c3ad12c9d hwmon: (adt7475) Fix masking of hysteresis registers
    aff84fadba53 hwmon: (adt7475) Display smoothing attributes in correct order
    d4dbd26f985c ethernet: sun: add check for the mdesc_grab()
    eb80cb66a2c5 qed/qed_mng_tlv: correctly zero out ->min instead of ->hour
    1c06d1223728 selftests: net: devlink_port_split.py: skip test if no suitable device available
    bd2e78462ae1 net/iucv: Fix size of interrupt data
    2cc46ed406bb net: usb: smsc75xx: Move packet length check to prevent kernel panic in skb_pull
    013fae04b8ff ipv4: Fix incorrect table ID in IOCTL path
    1f0586dcc076 net: dsa: mv88e6xxx: fix max_mtu of 1492 on 6165, 6191, 6220, 6250, 6290
    cccba1ff0798 ice: xsk: disable txq irq before flushing hw
    2f28cb5c2a51 block: sunvdc: add check for mdesc_grab() returning NULL
    a6317235da8a nvmet: avoid potential UAF in nvmet_req_complete()
    9ebc344ce547 nvme: fix handling single range discard request
    4cf15887a41b block: null_blk: Fix handling of fake timeout request
    d14d2574a54c null_blk: Move driver into its own directory
    d5e61a859a8a drm/bridge: Fix returned array size name for atomic_get_input_bus_fmts kdoc
    e294f0aa47e4 net: usb: smsc75xx: Limit packet length to skb->len
    9708efad9ba5 net/smc: fix deadlock triggered by cancel_delayed_work_syn()
    43aa468df246 nfc: st-nci: Fix use after free bug in ndlc_remove due to race condition
    194248138f8d net: phy: smsc: bail out in lan87xx_read_status if genphy_read_status fails
    be59b87ee4ae net: tunnels: annotate lockless accesses to dev->needed_headroom
    281e86e3fab6 qed/qed_dev: guard against a possible division by zero
    31817c530768 net/smc: fix NULL sndbuf_desc in smc_cdc_tx_handler()
    3cbecb1c9085 i40e: Fix kernel crash during reboot when adapter is in recovery mode
    91eb59240150 ipvlan: Make skb->skb_iif track skb->dev for l3s mode
    2703da78849c nfc: pn533: initialize struct pn533_out_arg properly
    77ad58bca011 tcp: tcp_make_synack() can be called from process context
    68c665bb1850 scsi: core: Fix a procfs host directory removal regression
    be5aa2534188 scsi: core: Fix a comment in function scsi_host_dev_release()
    0fac20b1806b netfilter: nft_redir: correct value of inet type `.maxattrs`
    c144dff64ea9 netfilter: nft_redir: correct length for loading protocol registers
    3a0f8ea35ddc netfilter: nft_masq: correct length for loading protocol registers
    eff050d83eee netfilter: nft_nat: correct length for loading protocol registers
    0c6c5abeb471 ALSA: hda: Match only Intel devices with CONTROLLER_IN_GPU()
    6f0c2f70d992 scsi: mpt3sas: Fix NULL pointer access in mpt3sas_transport_port_add()
    79fe786dab5c docs: Correct missing "d_" prefix for dentry_operations member d_weak_revalidate
    ea1e21d38a8d clk: HI655X: select REGMAP instead of depending on it
    081893e254f1 drm/meson: fix 1px pink line on GXM when scaling video overlay
    ed9ed2f58ceb cifs: Move the in_send statistic to __smb_send_rqst()
    a3c502218cd3 drm/panfrost: Don't sync rpm suspension after mmu flushing
    0da0b816972a xfrm: Allow transport-mode states with AF_UNSPEC selector

(From OE-Core rev: 9f27f11e19fc1929d42820e88e8df3380495f659)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-01 16:24:07 -10:00
Bhabu Bindu
b6c3cba355 curl: Fix CVE-2023-28322
Add patches to fix CVE-2023-28322

more POST-after-PUT confusion

When doing HTTP(S) transfers, libcurl might erroneously use the read
callback (`CURLOPT_READFUNCTION`) to ask for data to send, even when
the `CURLOPT_POSTFIELDS` option has been set, if the same handle
previously was used to issue a `PUT` request which used that callback.

This flaw may surprise the application and cause it to misbehave and
either send off the wrong data or use memory after free or similar in
the second transfer.The problem exists in the logic for a reused
handle when it is (expected tobe) changed from a PUT to a POST.

CVE-2023-28322-1.patch is a supporting patch to resolve hunk
error in the actual patch file : CVE-2023-28322-2.patch

Link: https://curl.se/docs/CVE-2023-28322.html

(From OE-Core rev: 9ef793eca87ac568d9c22067aa854a50837cf92f)

Signed-off-by: Bhabu Bindu <bhabu.bindu@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-01 16:24:07 -10:00
Bhabu Bindu
011b8b4758 curl: Fix CVE-2023-28321
Add patch to fix CVE-2023-28321

IDN wildcard match

curl supports matching of wildcard patterns when listed as
"Subject Alternative Name" in TLS server certificates. curl can be
built to use its own name matching function for TLS rather than one
provided by a TLS library. This private wildcard matching function
would match IDN (International Domain Name)hosts incorrectly and
could as a result accept patterns that otherwise should mismatch.

IDN hostnames are converted to puny code before used for certificate
checks. Puny coded names always start with `xn--` and should not be
allowed to pattern match, but the wildcard check in curl could still
check for `x*`,which would match even though the IDN name most likely
contained nothing even resembling an `x`.

Link: https://curl.se/docs/CVE-2023-28321.html

(From OE-Core rev: 75d8593ab3b090266fd2cde27ddc56ad88de7ac7)

Signed-off-by: Bhabu Bindu <bhabu.bindu@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-01 16:24:07 -10:00
Bhabu Bindu
d68f782872 curl: Fix CVE-2023-28320
Add patch to fix CVE-2023-28320

siglongjmp race condition

libcurl provides several different backends for resolving host names,
selectedat build time. If it is built to use the synchronous resolver,
it allows nameresolves to time-out slow operations using `alarm()` and
`siglongjmp()`.

When doing this, libcurl used a global buffer that was not mutex
protected anda multi-threaded application might therefore
crash or otherwise misbehave.

Link: https://curl.se/docs/CVE-2023-28320.html

(From OE-Core rev: c761d822be5ffc4a88600fbd7282c469b1e9902a)

Signed-off-by: Bhabu Bindu <bhabu.bindu@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-01 16:24:07 -10:00
Bhabu Bindu
8f3b0b8e9b curl: Fix CVE-2023-28319
Add patch to fix CVE-2023-28319

UAF in SSH sha256 fingerprint check

libcurl offers a feature to verify an SSH server's public key using
a SHA 256hash. When this check fails, libcurl would free the memory
for the fingerprintbefore it returns an error message containing the
(now freed) hash.

This flaw risks inserting sensitive heap-based data into the error
message that might be shown to users or otherwise get
leaked and revealed.

Link: https://curl.se/docs/CVE-2023-28319.html

(From OE-Core rev: f7d6751828683ac2adbf140e77dbf7454cfa8eb1)

Signed-off-by: Bhabu Bindu <bhabu.bindu@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-01 16:24:07 -10:00
Daniel Ammann
2afcf3e39f overview-manual: concepts.rst: Fix a typo
(From yocto-docs rev: 8241867b565310341e4741a5f0a7597d5c5c84ab)

Signed-off-by: Daniel Ammann <daniel.ammann@bytesatwork.ch>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:16 -10:00
Lee Chee Yang
17955962d7 migration-guides: add release notes for 4.0.10
(From yocto-docs rev: ca90cec1c441deae4289060d521f86c0c68a5e50)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:16 -10:00
Michael Opdenacker
1184ea6f5e migration-guides: use new cve_mitre macro
(From yocto-docs rev: 1b9b0bea93fa3793d8807f04d1588cd568e2ffe3)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:16 -10:00
Michael Opdenacker
7350eae0c4 conf.py: add macro for Mitre CVE links
New cve_mitre macro for CVEs that are not found (yet) on https://nvd.nist.gov/

(From yocto-docs rev: ff675ce150187561d6d1e8b8ff0eeb10b2696ec6)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:16 -10:00
Quentin Schulz
075e7e6d8c Revert "docs: conf.py: fix cve extlinks caption for sphinx <4.0"
This reverts commit c9922076f5c1285d9cfd6aff8ce5b6635d88222f.

Since the minimum version required to build the docs has been bumped in
the previous commit to 4.0, this commit is not required. Moreover, since
Sphinx 5.0 triggers a warning when extlinks captions are not using %s
substitution and Sphinx 6.0 will fail to build without the substitution
characters, this revert is now required to be able to build the docs.

Cc: Quentin Schulz <foss+yocto@0leil.net>
(From yocto-docs rev: 444df054f0bf3ad7614e1613b22ee5b9e8cb94ef)

Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:16 -10:00
Tom Hochstein
75b7d31614 piglit: Add missing glslang dependencies
The vulkan configuration requires glslangValidator for build and
runtime.

Fixes configure error:
```
| CMake Error at CMakeLists.txt:191 (message):
|   glslangValidator required by vulkan tests not found
```

Fixes runtime error:
```
name: vulkan@shaders@fs-large-local-array
    result: fail
    returncode: 1
    out:
    err: glslangValidator: No such file or directory
glslangValidator failed
```

(From OE-Core rev: 5e26ead1ca016d1691dccba1b58060ac853bf0d2)

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:16 -10:00
Zoltan Boszormenyi
722ace0444 piglit: Fix build time dependency
Replace explicit opencl-icd-loader with virtual/opencl-icd.

(From OE-Core rev: fadadd3cf258b6d403fdcf537ff4b97aaabb5a40)

Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:16 -10:00
Tom Hochstein
950f4c74a6 piglit: Add PACKAGECONFIG for glx and opencl
- Allow GLX tests to be disabled for systems that don't support it.

- Allow OpenCL tests to be enabled.

(From OE-Core rev: b0f54a3db7877a95a163bd480b93cfe6f0b97dcd)

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:16 -10:00
Ming Liu
9827c47368 weston: add xwayland to DEPENDS for PACKAGECONFIG xwayland
Otherwise xwayland.pc would not be present in sysroot, this leads to
some xwayland configs missing like have_listenfd, have_glamor.

(From OE-Core rev: 4e42196754b19926b2219c6ffda47bd389e9d9fb)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7f1932cb5a408320a5b542e20ba2807718349e8f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:16 -10:00
Peter Kjellerstedt
ef68c9166b license.bbclass: Include LICENSE in the output when it fails to parse
(From OE-Core rev: 1dd008511cc62bd32f85b529f8d6031bd57e4cd2)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1a5197760da3890cc80ac7da8d589766612d9051)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Alexander Kanavin
2118c5b7f8 dhcpcd: use git instead of tarballs
As announced here:
https://roy.marples.name/downloads/dhcpcd/

(From OE-Core rev: ceb8e2fd1686d9a8b9be3feb277741f97c4c6c66)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6e317eaab45da2dea70d1485fdae93cfeea0db1d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Enrico Jörns
1ba75c259c package_manager/ipk: fix config path generation in _create_custom_config()
"sysconfdir" contains "/" by definition and thus using os.path.join()
leads to self.target_rootfs being always ignored (and thus attempting to
generate paths in host's /etc).

Use oe.path.join() instead which was made for this purpose.

(From OE-Core rev: 4766ba017b7562e42b33fde7f2e84c2a339e3f4c)

Signed-off-by: Enrico Jorns <ejo@pengutronix.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8414c504138f6de663f5130c6b4a6ede5605d88b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Khem Raj
c6d6808e72 quilt: Fix merge.test race condition
This is consistently seen with musl and grep from busybox
Therefore backport a patch from upstream to fix it

(From OE-Core rev: 769290794fc23894211c56b1878a73634fd20283)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 511bcd965af658e6bb0c61d9f2adb1af75af773b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Richard Purdie
c94d5b8771 maintainers.inc: Move repo to unassigned
(From OE-Core rev: 2309f14f37636f0c2da7471c982e373c4ef5e35c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a51a069bad78c578122ae1a5b500f715246d413d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Richard Purdie
ed2a92b55d maintainers.inc: Fix email address typo
(From OE-Core rev: c8837fecf62cbd103103c66c576dac55301cdc1a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2a86ca028980b501e386f6bb8293a094fd77f97b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Martin Siegumfeldt
d81118899d systemd-systemctl: fix instance template WantedBy symlink construction
Fix issue of the below instance template systemd service dependency

[Install]
WantedBy=svc-wants@%i.service

creating the symlink (instance "a" example)

/etc/systemd/system/svc-wants@%i.service.wants/svc-wanted-by@a.service

which should be

/etc/systemd/system/svc-wants@a.service.wants/svc-wanted-by@a.service

as implemented by this change.

The functionality appears regressed just after "thud" baseline when the
logic was refactored from shell script into python (commit
925e30cb10)

(From OE-Core rev: 308397f0bb3d6f3d4e9ec2c6a10823184049c9b5)

(From OE-Core rev: e572d096e81bb7dba8a07ee9dba93d0944857212)

Signed-off-by: Martin Siegumfeldt <mns@gomspace.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 372b29c8ad270d4d430c26a4e614976c7029afaf)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Jan Luebbe
9a514e19fa p11-kit: add native to BBCLASSEXTEND
This recipe is needed to build softhsm (in meta-oe) in with p11-kit
support, which is useful when multiple PKCS#11 modules need to be used.

(From OE-Core rev: 19498bea309f19d841187a7063286b2a68ce2587)

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4942a42d5a071b283fe49047dcb4fee2c96422e8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Eero Aaltonen
a23ae80a37 avahi: fix D-Bus introspection
Install and package the D-Bus introspection files.

(From OE-Core rev: 45714f9ea8bde1c8047d493667b1a1d808ea7949)

Signed-off-by: Eero Aaltonen <eero.aaltonen@vaisala.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit b8183ad25af3bcf23f04dd649b6ef665569fac8c)
Signed-off-by: Eero Aaltonen <eero.aaltonen@vaisala.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
leimaohui
80bf4d4f9a nghttp2: Deleted the entries for -client and -server, and removed a dependency on them from the main package.
By default there is nothing in nghttp2-client and nghttp2-server ,nghttp2-client
and nghttp2-server aren't created. So there are dependences error if install
main package.

Problem: conflicting requests
  - nothing provides nghttp2-client >= 1.52.0 needed by nghttp2-1.52.0-r0.core2_64
  - nothing provides nghttp2-server >= 1.52.0 needed by nghttp2-1.52.0-r0.core2_64

Upstream-Status: Backport [OE-core d2cbe060955c598bd81923ecd554fbe82c17af99]
(From OE-Core rev: 619a643f71eceab73bbbe4dacd1eb42b6d6b01d1)

Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Martin Jansa
65a57df04c llvm: backport a fix for build with gcc-13
* needed for llvm-native on hosts with gcc-13

(From OE-Core rev: 3382759cb6c5cee42151e72fd94e99a3060317f5)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Khem Raj
645fd39e4b gcc-runtime: Use static dummy libstdc++
some standalone targets e.g. riscv64-elf disable shared linking for
baremetal ELF ABI in ld, therefore lets make it a static library

(From OE-Core rev: 3c6219dfcbcbde314648ba8cc54a90b32ea1c952)

(From OE-Core rev: 4ee9d5839669560ec10f23445fa8bbc03a4c5406)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Marek Vasut
971da34872 cpio: Fix wrong CRC with ASCII CRC for large files
Due to signedness, the checksum is not computed when filesize is bigger
a 2GB. Pick a fix for this problem from CPIO ML, where the fix has been
posted for 5 years. Since CPIO upstream is effectively unresponsive and
any and all attempts to communicate with the maintainer and get the fix
applied upstream failed, add the fix here instead.

(From OE-Core rev: bfff138af4bdd356ac66571e6ad91c1a5599b935)

(From OE-Core rev: 8320097487cc46045482f5d0d41ad799a2435bce)

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Upgrade Helper
b7f72b6d88 waffle: upgrade 1.7.0 -> 1.7.2
The Waffle bugfix release 1.7.1 is now available.

What is new in this release:
  - cmake: pass deps' cflags to the build
  - gbm: fix crash when platform lacks modifier support
  - gitlab-ci: stabilise CI runs under X
  - gitlab-ci: add more warnings, make all warnings fatal
  - gitlab-ci: update to bullseye
  - meson: add override_* support, when using waffle as submodule
  - meson: skip installing bash completion when custom prefix is used
  - meson: silence deprecation warnings
  - meson: generate cmake files only on Windows
  - meson: find wayland.xml from wayland-scanner.pc
  - misc: zsh completion
  - misc: fix dozens of compiler warnings
  - misc: update website references
  - wayland: fix build against wayland 1.20

The Waffle bugfix release 1.7.2 is now available.

What is new in this release:
  - all: use format(gnu_printf), enable in mingw
  - meson: don't run TLS checks on mingw
  - wgl: remove unused dummy wgl_error.[ch]

Upstream now only generates CMake files on Windows, so remove all
references to CMake.

A zsh completion is now installed, remove this for now as we don't really
use zsh.

(From OE-Core rev: 6b1d94fe5d8728e3eb152426cde08634d248e1f7)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 94cf6ef11bba381ab6f65b03ed1ed14022438151)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit e4ebfb5c7892488fc834d9837e9a5a4c28eb676f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Pablo Saavedra
c84f68642e gstreamer1.0: upgrade 1.20.5 -> 1.20.6
Changelog:
===========
audio: channel-mix: allow up to 64 channels instead of up to 63 channels
AOM AV1 encoder timestamp handling improvements
AV1 video codec caps handling improvements in aom plugin, isomp4 and matroska muxers/demuxers.
avvidenc: fix bitrate control and timestamps off FFmpeg-based video encoders
h264parse: fix missing timestamps on outputs when splitting a frame
rtspsrc: more workarounds for servers with broken control uri handling
playbin3: fix issue with UDP streams, making sure there's enough buffering
qmlglsrc: Fix deadlock when stopping and some other fixes
qtmux: fix default timescale unit for N/1001 framerates
v4l2h264dec: Fix Raspberry Pi4 will not play video in application
vtdec: Fix non-deterministic frame output after seeks
wasapi2src: Fix loopback capture on Windows 10 Anniversary Update
macOS, iOS: Fix Xcode 14 ABI breakage with older Xcode
cerbero: Fix some regressions for CentOS in the 1.20 branch
cerbero: Fix setuptools site.py breakage in Python 3.11
Fix gst-libav build against FFmpeg from git
gobject-introspection annotation fixes for bindings
Miscellaneous bug fixes, memory leak fixes, and other stability and reliability improvements
Performance improvements

(From OE-Core rev: 102c453668f71dd30c3f0f13502f0993a051d7fe)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Sakib Sajal
8af917d572 go: fix CVE-2023-24540
References:
https://nvd.nist.gov/vuln/detail/CVE-2023-24540

Upstream patch:
ce7bd33345 (go 1.19.9)

(From OE-Core rev: 5defed7d5dc8bc6f68f021d19c4f42832d33472b)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Archana Polampalli
f72863d66e git: ignore CVE-2023-25815
This is specific to Git-for-Windows.

(From OE-Core rev: 472a3e05270deace2862973dee2e65e60f9c0c19)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Steve Sakoman
f53ab3a2ff build-appliance-image: Update to kirkstone head revision
(From OE-Core rev: d2713785f9cd2d58731df877bc8b7bcc71b6c8e6)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:06:52 -10:00
Steve Sakoman
133d542a70 poky.conf: bump version for 4.0.10
(From meta-yocto rev: 4f81a08e7b655968266211cfc943085a69865a90)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:04:52 -10:00
Peter Bergin
53e8446fe7 update-alternatives.bbclass: fix old override syntax
Function 'gen_updatealternativesvardeps' still used old override
syntax when fetching variable flags. Update to use ':' instead to match
recipe meta data. This was found by review and no real issue encountered
but it is a bug that affects variable dependencies and can affect rebuilds
as task hashes might not be accurate.

(From OE-Core rev: d5fd577c066fa2fddbd16c286f2dde2883cc7828)

Signed-off-by: Peter Bergin <peter.bergin@windriver.com>
Signed-off-by: Peter Bergin <peter@berginkonsult.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5691f554b2cd50f256a8cbb1d96781e9eb6b930e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:04:52 -10:00
Bruce Ashfield
115d07b2d4 kernel: improve initramfs bundle processing time
This is a partial fix for bugzilla 15059 [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15059]

It has been noted by several people that when an initramfs is bundled:

  - a lot of the kernel is rebuilt
  - it takes a really long time

When looking at the logs, the second kernel compilation (that performs
the bundle) is not using the parallel make settings, and builds with
-j1.

We are already explicitly passing PARALLEL_MAKE when building kernel
modules, and by extending that explicit use to the main kernel
compilation, we ensure that we always get a parallel build.

Build times chnaged from more than 30 minutes for the bundle, to
3 minutes in local testing.

The question of whether or not too much is rebuilding during the
bundle step is still an open question, but with this tweak, at least
the build time is back in the realm of acceptable.

(From OE-Core rev: a2a889b760785474dbc04e3ec11521f6da90161d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
(cherry picked from commit 88fd394ecf0f2174b792075d409d87046896426b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:04:52 -10:00
Thomas Roos
2aa20e8400 oeqa/utils/metadata.py: Fix running oe-selftest running with no distro set
This will use default values when no distribution is set.

[YOCTO #15086]

(From OE-Core rev: 01eb8d4ad71c587d56608d83ec4187375b2f4c44)

Signed-off-by: Thomas Roos <throos@amazon.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
(cherry picked from commit 888fe63b46efceeff08dbe8c4f66fec33d06cb7a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:04:52 -10:00
Zhixiong Chi
9c9bfe0692 libpam: Fix the xtests/tst-pam_motd[1|3] failures
Reproducer:
1.Enable the ptest of libpam and build the image.
2.Boot the rootfs with nfs, then run the following tests as root:
 cd /usr/share/Linux-PAM/xtests
 /usr/share/Linux-PAM/xtests# ./run-xtests.sh . tst-pam_motd1
 /usr/share/Linux-PAM/xtests# ./run-xtests.sh . tst-pam_motd3

After applying this patch, the ptest doesn't be failed.

(From OE-Core rev: 928b7e880e6a5d1b807cb7f605649233c7195578)

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
(cherry picked from commit 549e54ad6a175359b0a57987ccdab8989df9d3a9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:04:52 -10:00
Martin Jansa
26a7a415eb populate_sdk_ext.bbclass: set METADATA_REVISION with an DISTRO override
* otherwise it ends '<unknown>' inside esdk, because of parsing order:
  # $METADATA_REVISION [3 operations]
  #   set /OE/build/test-D/conf/local.conf:43
  #     "f2da54ef432eac89b0f18eaad68e602b6990b5de"
  #   immediate /OE/build/test-D/layers/poky/meta/classes/metadata_scm.bbclass:9
  #     "${@oe.buildcfg.detect_revision(d)}"
  #   set /OE/build/test-D/layers/poky/meta/classes/metadata_scm.bbclass:10
  #     [vardepvalue] "${METADATA_REVISION}"
  # pre-expansion value:
  #   "<unknown>"
  METADATA_REVISION="<unknown>"

* This causes base-files.do_install and following tasks to have different
  signatures between esdk and the build directory where this esdk was created:

  bitbake-diffsigs {test-D,poky/build-uninative-disabled}/tmp/stamps/qemux86_64-poky-linux/base-files/*do_install*sigdata*
  NOTE: Starting bitbake server...
  basehash changed from 5b6981cf58bfd57d416b0e31611b73a26baae635dd1ac31c08d46f95064c3ffc to dbdce042da4d7813d632b6d1cc87a16f728ad20e55fecbc392830e6acf72babd
  Variable METADATA_REVISION value changed from '<unknown>' to 'f2da54ef432eac89b0f18eaad68e602b6990b5de'

  and an warning from "python3 /OE/build/test-D/ext-sdk-prepare.py" when eSDK is being prepared for use:
  WARNING: The base-files:do_install sig is computed to be 83b9c9a6ef1145baac5a1e0d08814b9156af239c58fc42df95c25a9cd8a7f201,
    but the sig is locked to 3dc22233059075978e5503691e98e79e7cc60db94259dfcd886bca2291c0add7 in SIGGEN_LOCKEDSIGS_t-qemux86-64

[RP: Add commit about why we need the override for future reference]
(From OE-Core rev: da6f6340f97e80cb1b21f6083ef5d0a9a856eef5)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
(cherry picked from commit 675ea7281c17f77bf5dea17cfd4d9da0928382a0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:04:52 -10:00
Piotr Łobacz
77feabea24 libarchive: Enable acls, xattr for native as well as target
Libarchive is being used by OPKG package manager as default
API for extracting tar files. This fix allows us to extract
ipks packages with preserved ACLs and xattrs.

Partially addresses [YOCTO #15091]

[RP: Merge into main PACKAGECONFIG and tweak commit message]
(From OE-Core rev: b1f80f0a2bf30698192c7a214c5802b76464d095)

Signed-off-by: Piotr Łobacz <p.lobacz@welotec.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 913aad1ac013368aef8f6af332588ef24bba46bd)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:04:52 -10:00
bkylerussell@gmail.com
5f19045917 kernel-devsrc: depend on python3-core instead of python3
Avoids pulling in potential GPLv3 packages through python3-misc catch-all.

python3-core is the intended minimal RDEPENDS for packages requiring python3
support.  Other python3 module dependencies should be listed explicitly.

(From OE-Core rev: d4e9a2c0c666244f5a197682dabe018a4a3e06f8)

Signed-off-by: Kyle Russell <bkylerussell@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
(cherry picked from commit 231f93becad619f6afa383f9b1132f1d4b02fa64)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:04:52 -10:00
Dmitry Baryshkov
cb7fea11fc linux-firmware: upgrade 20230210 -> 20230404
The LICENCE.qat_firmware license file was updated to reflect Intel
licensing (it removed a term regarding patent licenses).

License-Update: additional files

(From OE-Core rev: d99e46a7b6574d957b76b14f28ef9d19b31f4890)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
(cherry picked from commit fd43b59ab32e2115fcda7ad63d3a5ccc2683c7d5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:04:52 -10:00
Wang Mingyu
0dcf471954 xserver-xorg: upgrade 21.1.7 -> 21.1.8
This release contains the fix for CVE-2023-1393 in today's security
advisory: https://lists.x.org/archives/xorg-announce/2023-March/003374.html

Benno Schulenberg (1):
       xkbUtils: use existing symbol names instead of deleted deprecated ones

Olivier Fourdan (2):
       composite: Fix use-after-free of the COW
       xserver 21.1.8

git tag: xorg-server-21.1.8

(From OE-Core rev: 732b51f073105d4c6a0e2e06c559bffcac093fbf)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 7b08dff8f46bcaa05f7fbffbe27d524579af4faf)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:04:52 -10:00
Steve Sakoman
2f06076f97 Revert "xserver-xorg: backport fix for CVE-2023-1393"
This reverts commit dc2c777cab0230fc54e078d20d872aaa9287a8b9.

Fixed in subsequent version bump

(From OE-Core rev: 151149b590a9051a6de58115a6796ccf17894498)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:04:52 -10:00
Wang Mingyu
11e2400b24 wpebackend-fdo: upgrade 1.14.0 -> 1.14.2
Changelog:
==========
- Reverted a change introduced in 1.14.1 which introduced crashes both
  with WebKitGTK and WPE running under Wayland in some configurations.
- Fix a crash caused by wrong assertion, which was typically triggered in
  debug builds when using the NVidia drivers.
- Fix WebKit no longer repainting after provisional navigation with
  PSON enabled.
- Fix graphics buffer leaks by always freeing them in buffer destroy
  listener callbacks.

(From OE-Core rev: 7991fb7aa30cf56105ebbe060195f16aa1c9b6da)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit aa37e18a51714af3281b4127dceb40b38aa8ac3c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:04:52 -10:00
Yoann Congal
9b2a6b3f3f linux-yocto: Exclude 121 CVEs already fixed upstream
Exclude CVEs that are fixed in both current linux-yocto version
v5.10.175 and v5.15.108.

To get the commit fixing a CVE, I used the Debian kernel-sec repo [1].

[1]: 86d5040aee

(From OE-Core rev: d1de8d75648282a421022becf61c80c3e6e8b75b)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:04:52 -10:00
Peter Marko
a30cde8c0c libxml2: patch CVE-2023-28484 and CVE-2023-29469
Backports from:
* e4f85f1bd2
* 547edbf1cb

(From OE-Core rev: 7d03d5dbc98aa701869c73c1c55a5868c70c5287)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:04:52 -10:00
Archana Polampalli
6d618c1b8b git: fix CVE-2023-25652
Git is a revision control system. Prior to versions 2.30.9, 2.31.8, 2.32.7,
2.33.8, 2.34.8, 2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3, and 2.40.1, by feeding
specially crafted input to `git apply --reject`, a path outside the working
tree can be overwritten with partially controlled contents (corresponding to
the rejected hunk(s) from the given patch). A fix is available in versions
2.30.9, 2.31.8, 2.32.7, 2.33.8, 2.34.8, 2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3,
and 2.40.1. As a workaround, avoid using `git apply` with `--reject` when applying
patches from an untrusted source. Use `git apply --stat` to inspect a patch before
applying; avoid applying one that create a conflict where a link corresponding to
the `*.rej` file exists.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-25652

Upstream patches:
9db05711c9

(From OE-Core rev: 335ad8a6d795cd94b872370e44a033ce3fbf4890)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:04:52 -10:00
Archana Polampalli
04316b4f47 git: fix CVE-2023-29007
Git is a revision control system. Prior to versions 2.30.9, 2.31.8, 2.32.7, 2.33.8,
2.34.8, 2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3, and 2.40.1, a specially crafted
`.gitmodules` file with submodule URLs that are longer than 1024 characters can used
to exploit a bug in `config.c::git_config_copy_or_rename_section_in_file()`. This bug
can be used to inject arbitrary configuration into a user's `$GIT_DIR/config` when
attempting to remove the configuration section associated with that submodule. When the
attacker injects configuration values which specify executables to run (such as
`core.pager`, `core.editor`, `core.sshCommand`, etc.) this can lead to a remote code
execution. A fix A fix is available in versions 2.30.9, 2.31.8, 2.32.7, 2.33.8, 2.34.8,
2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3, and 2.40.1. As a workaround, avoid running
`git submodule deinit` on untrusted repositories or without prior inspection of any
submodule sections in `$GIT_DIR/config`.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-29007

Upstream patches:
528290f8c6
29198213c9
a5bb10fd5e
e91cfe6085
3bb3d6bac5

(From OE-Core rev: 1b55343b6346437b80b8a8180ae1bc9f480d92ef)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-12 04:04:52 -10:00
Arturo Buzarra
a8216f8f7c run-postinsts: Set dependency for ldconfig to avoid boot issues
If a package with a postsints script requires ldconfig, the package class adds
a ldconfig postinst fragment to initialize it before. Systemd has its own
ldconfig.service to initialize it and sometimes if both services are running
at the same time in the first boot, the first one will work, but the second
one will fail with the following error:

    ldconfig[141]: /sbin/ldconfig: Renaming of /etc/ld.so.cache~ to /etc/ld.so.cache failed: No such file or directory

This commit adds a ordering dependency between them to make sure that only one
service is running at the same time.

(From OE-Core rev: 5fca673d8fe0ee97dc37ed2c9941696842cd667a)

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4e9d812e127dc6743f52f4881e509e8e2e833afe)
Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-10 04:19:57 -10:00
Ranjitsinh Rathod
a0602dc6b5 libbsd: Add correct license for all packages
BSD-4-Clause is only applicable to the {PN}-doc package as when I
check for the source code I find below files which only uses the
license BSD-4-Clause

~/sources/libbsd$ grep -rl "All advertising materials mentioning features or use of this software" *|grep -v \.1|grep -v \.5|grep -v \.8 | sort
COPYING
man/arc4random.3bsd
man/getprogname.3bsd

~/sources/libbsd$ grep -rnB5 "BSD-4"
COPYING-9-Files:
COPYING-10- man/arc4random.3bsd
COPYING-11-Copyright:
COPYING-12- Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de>
COPYING-13- All rights reserved.
COPYING:14:License: BSD-4-clause-Niels-Provos

(From OE-Core rev: aa5bdac99e187801db56ca4bcc4d5f18b2403f40)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-10 04:19:57 -10:00
Randolph Sapp
2337b81140 wic/bootimg-efi: if fixed-size is set then use that for mkdosfs
This is a bit of a compatibility issue more than anything. Some devices
get upset if the FAT file system contains less blocks than the
partition.

The fixed-size argument is currently respected by the partition creation
step but not by the file system creation step. Let's make it so the file
system respects this value as well.

(From OE-Core rev: d16301ccdfb97bf126738262eec594008c282df1)

Signed-off-by: Randolph Sapp <rs@ti.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-10 04:19:57 -10:00
Narpat Mali
1367249c99 python3-cryptography: fix for CVE-2023-23931
cryptography is a package designed to expose cryptographic primitives
and recipes to Python developers. In affected versions `Cipher.update_into`
would accept Python objects which implement the buffer protocol, but
provide only immutable buffers. This would allow immutable objects
(such as `bytes`) to be mutated, thus violating fundamental rules of
Python and resulting in corrupted output. This now correctly raises
an exception. This issue has been present since `update_into` was
originally introduced in cryptography 1.8.

(From OE-Core rev: 368e450c2d800790a05924519f34c579e28e9cbb)

Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-10 04:19:56 -10:00
Kai Kang
5ffa1afb93 webkitgtk: fix CVE-2022-32888 & CVE-2022-32923
Backport patches to fix CVE-2022-32888 and CVE-2022-32923 for webkitgtk
2.36.8. The bugzilla IDs of the CVEs are from https://support.apple.com
which have been listed in patch headers.

(From OE-Core rev: e24e16974e81a0f62dd6f5862a465fc74ad751d3)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-10 04:19:56 -10:00
Deepthi Hemraj
8876f53021 binutils : Fix CVE-2023-25588
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=d12f8998d2d086f0a6606589e5aedb7147e6f2f1]

(From OE-Core rev: fd0d01aca6f2aea51e9704e0ba48dc35dfd87b81)

Signed-off-by: Deepthi Hemraj <deepadeepthi98@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-10 04:19:56 -10:00
Deepthi Hemraj
2396bda079 binutils : Fix CVE-2023-1972
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57]

(From OE-Core rev: d46891efa23932a048f7cc4d82c6387e03262f76)

Signed-off-by: Deepthi Hemraj <deepadeepthi98@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-10 04:19:56 -10:00
Deepthi Hemraj
2d215bee87 binutils : Fix CVE-2023-25585
Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=65cf035b8dc1df5d8020e0b1449514a3c42933e7]

(From OE-Core rev: 033db4876844b17de7673970860eb155d15c56e7)

Signed-off-by: Deepthi Hemraj <deepadeepthi98@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-10 04:19:56 -10:00
Deepthi Hemraj
614a9a6f9f binutils : Fix CVE-2023-25584
Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=77c225bdeb410cf60da804879ad41622f5f1aa44]

(From OE-Core rev: 27278ebd5d102ce5a9d45f94a93932065025657b)

Signed-off-by: Deepthi Hemraj <deepadeepthi98@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-10 04:19:56 -10:00
Shubham Kulkarni
7535036adb go: Security fix for CVE-2023-24538
html/template: disallow actions in JS template literals

Backport from b1e3ecfa06

(From OE-Core rev: 835462d697a5f294900843b8bcd628709c256605)

Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-10 04:19:56 -10:00
Vivek Kumbhar
f6b797d05d go: fix CVE-2023-24534 denial of service from excessive memory allocation
A parsed MIME header is a map[string][]string. In the common case,
a header contains many one-element []string slices. To avoid
allocating a separate slice for each key, ReadMIMEHeader looks
ahead in the input to predict the number of keys that will be
parsed, and allocates a single []string of that length.
The individual slices are then allocated out of the larger one.

The prediction of the number of header keys was done by counting
newlines in the input buffer, which does not take into account
header continuation lines (where a header key/value spans multiple
lines) or the end of the header block and the start of the body.
This could lead to a substantial amount of overallocation, for
example when the body consists of nothing but a large block of
newlines.

Fix header key count prediction to take into account the end of
the headers (indicated by a blank line) and continuation lines
(starting with whitespace).

Thanks to Jakob Ackermann (@das7pad) for reporting this issue.

Fixes CVE-2023-24534
For #58975
Fixes #59267

(From OE-Core rev: 28bfa033ce965d7316a8b4296d10f3ad74d711db)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-10 04:19:56 -10:00
Vivek Kumbhar
f90eb43a15 freetype: fix CVE-2023-2004 integer overflowin in tt_hvadvance_adjust() in src/truetype/ttgxvar.c
Fix An integer overflow vulnerability was discovered in Freetype in tt_hvadvance_adjust() function in src/truetype/ttgxvar.c

(From OE-Core rev: 6a07e1524746bd3cfa5aec090a882f4a7f954dad)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-10 04:19:56 -10:00
Hitendra Prajapati
7aac01a2a7 connman: fix CVE-2023-28488 DoS in client.c
Upstream-Status: Backport from https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=99e2c16ea1cced34a5dc450d76287a1c3e762138

(From OE-Core rev: 7a5d78de47cdd79bcb1b0e62a65e10705d59a7d9)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-10 04:19:56 -10:00
Narpat Mali
813d4715e4 ffmpeg: fix for CVE-2022-48434
libavcodec/pthread_frame.c in FFmpeg before 5.1.2, as used in VLC and
other products, leaves stale hwaccel state in worker threads, which
allows attackers to trigger a use-after-free and execute arbitrary
code in some circumstances (e.g., hardware re-initialization upon a
mid-video SPS change when Direct3D11 is used).

(From OE-Core rev: 392f984ffd95bcd3ce4c364b40425e7808ca7719)

Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-10 04:19:56 -10:00
Deepthi Hemraj
75239ddd8d glibc: stable 2.35 branch updates.
Below commits on glibc-2.35 stable branch are updated.
1c7f51c75a x86_64: Fix asm constraints in feraiseexcept (bug 30305)
8d07e65d15 gshadow: Matching sgetsgent, sgetsgent_r ERANGE handling (bug 30151)
b7cc55a24e x86: Check minimum/maximum of non_temporal_threshold [BZ #29953]
3f63f9dfe1 stdlib: Undo post review change to 16adc58e73f3 [BZ #27749]
757d9a6306 elf: Smoke-test ldconfig -p against system /etc/ld.so.cache
416bd20b3f Use 64-bit time_t interfaces in strftime and strptime (bug 30053)
ae045ed16b cdefs: Limit definition of fortification macros
6bcd5d8e36 x86: Prevent SIGSEGV in memcmp-sse2 when data is concurrently modified [BZ #29863]
82663d3c03 time: Set daylight to 1 for matching DST/offset change (bug 29951)
d9923235f0 elf/tst-tlsopt-powerpc fails when compiled with -mcpu=power10 (BZ# 29776)

(From OE-Core rev: 2d67702bdfc64358d364dd6484ae41842ee7c52f)

Signed-off-by: Deepthi Hemraj <deepadeepthi98@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:17:12 -10:00
Christoph Lauer
e2ab82659d populate_sdk_base: add zip options
Add SDK_ZIP_OPTIONS to remove symbolic link creation in zip archive or add options, e.g. for encryption of the zip archive.

(From OE-Core rev: 04b62f9459b401c276255f166d0738b6f902a576)

(From OE-Core rev: 4f5bf144bfe4f34adfc22d86783d6ce29e9f6e15)

Signed-off-by: Christoph Lauer <christoph.lauer@xtronic.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:17:12 -10:00
Pascal Bach
c98c4d74dc cmake: add CMAKE_SYSROOT to generated toolchain file
This already got fixed in the toolchain file that is used during development
in cb42802f2f

The toolchain file generated by the cmake.bbclass however does not set
CMAKE_SYSROOT. Under certain circumstances this also leads to the error:
`"stdlib.h: No such file or directory #include_next <stdlib.h>"`
during the build of a recipe.

An example where this accured was during the upgrade of the Apache Thrift
recipe in meta-openembedded to 0.11.0. With this change the build works out of
the box.

CMAKE_SYSROOT must only be set when crosscompiling, otherwise it will interfere
with the native compiler headers.

(From OE-Core rev: 1105c67d554bcd155e8247cb16efc8d6a642444f)

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>

(from http://lists.openembedded.org/pipermail/openembedded-core/2018-August/154791.html )

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Poonam Jadhav <poonam.jadhav@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:17:12 -10:00
Yogita Urade
ca44c2d0dc libxpm: upgrade 3.5.13 -> 3.5.15
Upgrade libxpm 3.5.13 to 3.5.15

License-update: additional copyright holders
   f0857c0 man pages: Correct Copyright/License notices
The above commit is introduced while upgrading the libxpm 3.5.15.
which is mentioned in below changelog.
Due to this commit LIC_FILES_CHKSUM is changed.

Disable reading compressed files as that requires compress/uncompress executables.
Following the approach in oe-core/master:
   7de4084634 libxpm: upgrade 3.5.14 -> 3.5.15

Changelog:

-------------
-------------
ddd8339 libXpm 3.5.15
8178eb0 Use gzip -d instead of gunzip
c5ab17b Prevent a double free in the error code path
515294b Fix CVE-2022-4883: compression commands depend on $PATH
f80fa6a Fix CVE-2022-44617: Runaway loop with width of 0 and enormous height
f7fbbb9 test: add test cases for CVE-2022-44617 (zero-width w/enormous height)
a3a7c6d Fix CVE-2022-46285: Infinite loop on unclosed comments
f7a167a test: add test case for CVE-2022-46285 (unclosed comments)
0ff2c6a cxpm: getc/ungetc wrappers should not adjust position when c == EOF
501494c test: Add unit tests using glib framework
4841039 configure: add --disable-open-zfile instead of requiring -DNO_ZPIPE
aef0c8d man pages: Apply standard man page style/formatting
5d55a0b man pages: Replace "See Also" entries with more useful ones
392cb8f man pages: Fix typos and other minor editing
08bc174 libXpm 3.5.14
f0857c0 man pages: Correct Copyright/License notices
deb81a9 man pages: Fix typos
2d5fa4c man pages: Add missing word 'function' where needed
2b7357e man pages: Make function synopses more consistent with other pages
fb8590c man pages: Fix shadow man pages
bfaebfd man pages: Make file names consistent with their displayed names
7a138a5 gitlab CI: add a basic build test
3433f43 man: strip trailing whitespace
9612454 Fix spelling/wording issues
fa16fbd Build xz tarballs instead of bzip2
83e5427 update man pages
e48e649 add man pages based on doc/xpm.PS

(From OE-Core rev: a549319e5fdae685f93122627226f9b102307bc3)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:17:12 -10:00
Yogita Urade
6bfa8de856 xorg-lib-common: Add variable to set tarball type
Upstream has switched some new releases from bz2 to xz compression. Add
an XORG_EXT variable so recipes can set the file name extension needed
for the compression type.

Following the approach in oe-core/master:
  6a8068e036b4b2a40b38896275b936916b4db76e  xorg-lib-common: Add variable to set tarball type
use a variable for the tarball suffix/compression format.

(From OE-Core rev: 56ea2b625f81e397e911b3610130d3e838d10938)

Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:17:12 -10:00
Bruce Ashfield
73a0bba157 linux-yocto/5.15: update to v5.15.108
Updating  to the latest korg -stable release that comprises
the following commits:

    3299fb36854f Linux 5.15.108
    adef0cebea85 nvme-pci: avoid the deepest sleep state on ZHITAI TiPro5000 SSDs
    c6897dfe2bb6 counter: Add the necessary colons and indents to the comments of counter_compi
    fa934784fb65 counter: fix docum. build problems after filename change
    0cf283340023 panic, kexec: make __crash_kexec() NMI safe
    9e1e511119b1 kexec: turn all kexec_mutex acquisitions into trylocks
    6fc7a53fcc4c nvme-pci: add NVME_QUIRK_BOGUS_NID for T-FORCE Z330 SSD
    fa43e0591900 nvme-pci: mark Lexar NM760 as IGNORE_DEV_SUBNQN
    a814fc9e6e59 nvme-pci: add NVME_QUIRK_BOGUS_NID for Lexar NM760
    972e06d09e86 nvme-pci: add NVME_QUIRK_BOGUS_NID for Lexar NM610
    cf773832139b nvme-pci: Crucial P2 has bogus namespace ids
    5a19b9a49aea nvme-pci: avoid the deepest sleep state on ZHITAI TiPro7000 SSDs
    65f5dc5dff29 nvme-pci: add NVME_QUIRK_BOGUS_NID for ADATA XPG GAMMIX S50
    3daaa5f7aae2 i2c: ocores: generate stop condition after timeout in polling mode
    0af686415ca2 x86/rtc: Remove __init for runtime functions
    b11ff3ef4d09 sched/fair: Fix imbalance overflow
    90e3dc510106 sched/fair: Move calculate of avg_load to a better location
    6d1353781bba powerpc/papr_scm: Update the NUMA distance table for the target node
    0b031f5983f8 ubi: Fix deadlock caused by recursively holding work_sem
    85d7a7044b75 ubi: Fix failure attaching when vid_hdr offset equals to (sub)page size
    f0b4a4086cf2 mptcp: stricter state check in mptcp_worker
    925e1a510a2e mptcp: use mptcp_schedule_work instead of open-coding it
    f4f2a1d491e9 cgroup/cpuset: Wake up cpuset_attach_wq tasks in cpuset_cancel_attach()
    19c7f9329bdb x86/PCI: Add quirk for AMD XHCI controller that loses MSI-X state in D3hot
    05143d90ac90 scsi: ses: Handle enclosure with just a primary component gracefully
    aaae6d303150 net: phy: nxp-c45-tja11xx: fix unsigned long multiplication overflow
    b1ca14361d49 net: phy: nxp-c45-tja11xx: add remove callback
    0359e505bcd7 net: sfp: initialize sfp->i2c_block_size at sfp allocation
    a42f565c0e96 riscv: add icache flush for nommu sigreturn trampoline
    6eeb1cba4c9d drm/i915: fix race condition UAF in i915_perf_add_config_ioctl
    9b344cf6aea0 i915/perf: Replace DRM_DEBUG with driver specific drm_dbg call
    6b337a13c144 tracing: Have tracing_snapshot_instance_cond() write errors to the appropriate instance
    1403518ed0d9 tracing: Add trace_array_puts() to write into instance
    670e54151b7a counter: 104-quad-8: Fix Synapse action reported for Index signals
    6e25d374cd95 counter: Internalize sysfs interface code
    c4153e662883 counter: stm32-timer-cnt: Provide defines for slave mode selection
    4c1010848b12 counter: stm32-lptimer-cnt: Provide defines for clock polarities
    189ada57e88c ACPI: resource: Add Medion S17413 to IRQ override quirk
    248a18a895e2 wifi: iwlwifi: mvm: fix mvmtxq->stopped handling
    0efd9ed92926 asymmetric_keys: log on fatal failures in PE/pkcs7
    ae2b44aeade1 verify_pefile: relax wrapper length check
    744f80ae0716 drm: panel-orientation-quirks: Add quirk for Lenovo Yoga Book X90F
    05a24344296e efi: sysfb_efi: Add quirk for Lenovo Yoga Book X91F/L
    0f9d2fc58824 i2c: hisi: Avoid redundant interrupts
    d21a46212009 i2c: imx-lpi2c: clean rx/tx buffers upon new message
    8451da304b4a wifi: mwifiex: mark OF related data as maybe unused
    9aeff275b7f7 power: supply: cros_usbpd: reclassify "default case!" as debug
    788f4a3d3987 ARM: 9290/1: uaccess: Fix KASAN false-positives
    53967ac8080b libbpf: Fix single-line struct definition output in btf_dump
    906a6689bb01 skbuff: Fix a race between coalescing and releasing SKBs
    7ccc58a1a756 net: macb: fix a memory corruption in extended buffer descriptor mode
    ed2ec39e46fe udp6: fix potential access to stale information
    e97ff11b396c RDMA/core: Fix GID entry ref leak when create_ah fails
    6109f5b13ce3 sctp: fix a potential overflow in sctp_ifwdtsn_skip
    c6a796ee5a63 net: qrtr: Fix an uninit variable access bug in qrtr_tx_resume()
    9b1ca43bcf3d qlcnic: check pci_reset_function result
    ffa4f32952e2 drm/armada: Fix a potential double free in an error handling path
    a94f5d35fdbb tcp: restrict net.ipv4.tcp_app_win
    a08ec4ed3b6e niu: Fix missing unwind goto in niu_alloc_channels()
    e35ae49bc198 9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race condition
    b41da67451b0 bpf: tcp: Use sock_gen_put instead of sock_put in bpf_iter_tcp
    48e8e7851dc0 RDMA/cma: Allow UD qp_type to join multicast only
    1569a4cdb973 IB/mlx5: Add support for 400G_8X lane speed
    f6711bc5c016 RDMA/irdma: Add ipv4 check to irdma_find_listener()
    c8c7a7aee861 RDMA/irdma: Increase iWARP CM default rexmit count
    810250c9c661 RDMA/irdma: Fix memory leak of PBLE objects
    aa2607bae45f clk: sprd: set max_register according to mapping range
    0004a50c535f drm/i915/dsi: fix DSS CTL register offsets for TGL+
    1bb4a52c3caa KVM: arm64: PMU: Restore the guest's EL0 event counting after migration
    c7acce3a0eeb mtd: rawnand: stm32_fmc2: use timings.mode instead of checking tRC_min
    7233b5baba10 mtd: rawnand: stm32_fmc2: remove unsupported EDO mode
    5ded9b750f30 mtd: rawnand: meson: fix bitmask for length in command word
    0162836a51bb mtdblock: tolerate corrected bit-flips
    ad574345ce26 fbmem: Reject FB_ACTIVATE_KD_TEXT from userspace
    a55a95365e08 btrfs: fix fast csum implementation detection
    6da03c237d56 btrfs: print checksum type and implementation at mount time
    0efb276d5848 Bluetooth: Fix race condition in hidp_session_thread
    ac6725a634f7 Bluetooth: L2CAP: Fix use-after-free in l2cap_disconnect_{req,rsp}
    d98498ad5695 ALSA: hda/sigmatel: fix S/PDIF out on Intel D*45* motherboards
    c5797c87e74e ALSA: emu10k1: don't create old pass-through playback device on Audigy
    f1ef453157b4 ALSA: firewire-tascam: add missing unwind goto in snd_tscm_stream_start_duplex()
    7901d787e455 ALSA: i2c/cs8427: fix iec958 mixer control deactivation
    d8697aa12ae6 ALSA: hda/sigmatel: add pin overrides for Intel DP45SG motherboard
    34a0ada0a8b2 ALSA: emu10k1: fix capture interrupt handler unlinking
    55e4eef5545d Revert "pinctrl: amd: Disable and mask interrupts on resume"

(From OE-Core rev: f13a78efa325d0debf4910756acfcb63d036967c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5339d44b0b0b23f30cb0f8ab395da62e83733c40)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:17:12 -10:00
Bruce Ashfield
3ea761ed88 linux-yocto/5.15: update to v5.15.107
Updating  to the latest korg -stable release that comprises
the following commits:

    4fdad925aa1a Linux 5.15.107
    c862d7debe55 bpftool: Print newline before '}' for struct with padding only fields
    1585f3fc24b5 ocfs2: fix freeing uninitialized resource on ocfs2_dlm_shutdown
    b97e4100be37 kbuild: fix single directory build
    326b80bd2267 mm: take a page reference when removing device exclusive entries
    1fc9263ad795 drm/bridge: lt9611: Fix PLL being unable to lock
    4bdf1514b426 mm/swap: fix swap_info_struct race between swapoff and get_swap_pages()
    cbe5f7fed7f7 ring-buffer: Fix race while reader and writer are on the same page
    23ed5af5767a drm/nouveau/disp: Support more modes by checking with lower bpc
    6f2180c5273a drm/panfrost: Fix the panfrost_mmu_map_fault_addr() error path
    a184df0de132 mm: vmalloc: avoid warn_alloc noise caused by fatal signal
    d88d7a9fcf20 ASoC: hdac_hdmi: use set_stream() instead of set_tdm_slots()
    33d5d4e67a0e tracing: Free error logs of tracing instances
    c74065da695e can: isotp: isotp_ops: fix poll() to not report false EPOLLOUT events
    4fe1d9b6231a can: j1939: j1939_tp_tx_dat_new(): fix out-of-bounds memory access
    0af8fae81d8b fs: drop peer group ids under namespace lock
    33a503b7c339 ftrace: Fix issue that 'direct->addr' not restored in modify_ftrace_direct()
    20c5e10950e9 ftrace: Mark get_lock_parent_ip() __always_inline
    a007b7dc19de perf/core: Fix the same task check in perf_event_set_output
    8417eb9aaf1e cifs: sanitize paths in cifs_update_super_prepath.
    df23c702d11c smb3: lower default deferred close timeout to address perf regression
    1d9cad9c5873 smb3: allow deferred close timeout to be configurable
    5e5c5f472972 scsi: iscsi_tcp: Check that sock is valid before iscsi_set_param()
    ae73c4dd48f2 scsi: qla2xxx: Fix memory leak in qla2x00_probe_one()
    c8c17991dab0 iio: adc: ad7791: fix IRQ flags
    bc61cce6a658 coresight-etm4: Fix for() loop drvdata->nr_addr_cmp range bug
    97302eb6ca48 coresight: etm4x: Do not access TRCIDR1 for identification
    fd23e9bbfccc ALSA: hda/realtek: Add quirk for Clevo X370SNW
    f204f38212dc ksmbd: do not call kvmalloc() with __GFP_NORETRY | __GFP_NO_WARN
    091b3e31275b dt-bindings: serial: renesas,scif: Fix 4th IRQ for 4-IRQ SCIFs
    d540aea451ab nilfs2: fix sysfs interface lifetime
    92684e02654c nilfs2: fix potential UAF of struct nilfs_sc_info in nilfs_segctor_thread()
    ba3a88b444cd tty: serial: fsl_lpuart: avoid checking for transfer complete when UARTCTRL_SBK is asserted in lpuart32_tx_empty
    ad142624ccc3 tty: serial: sh-sci: Fix Rx on RZ/G2L SCI
    1184bd5c5ee4 tty: serial: sh-sci: Fix transmit end interrupt handler
    1f49173be32d iio: light: cm32181: Unregister second I2C client if present
    77593b4e963c iio: dac: cio-dac: Fix max DAC write value check for 12-bit
    73742a446e08 iio: adc: ti-ads7950: Set `can_sleep` flag for GPIO chip
    7a1e21d26104 iio: adis16480: select CONFIG_CRC32
    4d3841fe16c4 USB: serial: option: add Quectel RM500U-CN modem
    7151d2af0656 USB: serial: option: add Telit FE990 compositions
    e1aa1c1bc51f usb: typec: altmodes/displayport: Fix configure initial pin assignment
    9cd66aa2fa04 USB: serial: cp210x: add Silicon Labs IFS-USB-DATACABLE IDs
    f8d59e2a36ac usb: dwc3: pci: add support for the Intel Meteor Lake-S
    11453332fa40 usb: cdnsp: Fixes error: uninitialized symbol 'len'
    83637720ea20 xhci: also avoid the XHCI_ZERO_64B_REGS quirk with a passthrough iommu
    1122474b757a usb: xhci: tegra: fix sleep in atomic call
    f5c5934580e7 kbuild: refactor single builds of *.ko
    e62d179b9177 gve: Secure enough bytes in the first TX desc for all TCP pkts
    40c6802d7dae ethtool: reset #lanes when lanes is omitted
    4eada1dabdfb ice: Reset FDIR counter in FDIR init stage
    391d28c0e38c ice: fix wrong fallback logic for FDIR
    e215928a510c NFSD: callback request does not use correct credential for AUTH_SYS
    bbca64f2052e sunrpc: only free unix grouplist after RCU settles
    ca7c3b4ae03e net: stmmac: fix up RX flow hash indirection table when setting channels
    3a997c0d2341 net: ethernet: ti: am65-cpsw: Fix mdio cleanup in probe
    0ae8cdf0153c gpio: davinci: Add irq chip flag to skip set wake
    1c19a42b2863 platform/x86: think-lmi: Clean up display of current_value on Thinkstation
    cccdb30935c8 platform/x86: think-lmi: Fix memory leaks when parsing ThinkStation WMI strings
    b9396d991abe platform/x86: think-lmi: Fix memory leak when showing current settings
    d65ff2fe877c ipv6: Fix an uninit variable access bug in __ip6_make_skb()
    926c8299ac3d net: qrtr: Do not do DEL_SERVER broadcast after DEL_CLIENT
    667eb99cf7c1 sctp: check send stream number after wait_for_sndbuf
    9692e16b5991 net: dsa: mv88e6xxx: Reset mv88e6393x force WD event bit
    5d1007e81fb6 net: don't let netpoll invoke NAPI if in xmit context
    e150a5c9f44c icmp: guard against too small mtu
    a64160124d5a NFSD: Avoid calling OPDESC() with ops->opnum == OP_ILLEGAL
    b9ba5906c420 net: qrtr: Fix a refcount bug in qrtr_recvmsg()
    3ef52e4bcfd7 net: qrtr: combine nameservice into main module
    30c5a016a37a wifi: mac80211: fix invalid drv_sta_pre_rcu_remove calls for non-uploaded sta
    32a8dc8d9ebe KVM: s390: pv: fix external interruption loop not always detected
    fcd6c7476e43 pwm: sprd: Explicitly set .polarity in .get_state()
    a8ab13c73259 pwm: cros-ec: Explicitly set .polarity in .get_state()
    c373e49fbb87 Drivers: vmbus: Check for channel allocation before looking up relids
    b50cd6789dbb gpio: GPIO_REGMAP: select REGMAP instead of depending on it
    0a473f834393 bpf: hash map, avoid deadlock with suitable hash mask
    543d66a54dbf serial: exar: Add support for Sealevel 7xxxC serial cards
    7773bb08e8b6 serial: 8250_exar: derive nr_ports from PCI ID for Acces I/O cards
    c73db89da686 iavf/iavf_main: actually log ->src mask when talking about it
    b2d29830db30 iavf: return errno code instead of status code
    cdf3f5ef1893 platform/x86: int3472/discrete: Ensure the clk/power enable pins are in output mode
    7798cd69cfc3 platform/x86: int3472: Split into 2 drivers
    5cc70e78bbcc RDMA/irdma: Do not request 2-level PBLEs for CQ alloc
    c22ac849aabb NFSD: pass range end to vfs_fsync_range() instead of count
    34a14759d90c NFSD: Fix sparse warning
    8059e200259e ocfs2: fix memory leak in ocfs2_mount_volume()
    b613d8dcdff3 ocfs2: rewrite error handling of ocfs2_fill_super
    05abe9c0bf38 ocfs2: ocfs2_mount_volume does cleanup job before return error

(From OE-Core rev: 84efe52ea8b1c28614200683289e589211c35b44)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 214643f386a3e4f226acd25903cde14a2c0a7376)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:17:12 -10:00
Bruce Ashfield
944251c78b linux-yocto/5.15: update to v5.15.106
Updating  to the latest korg -stable release that comprises
the following commits:

    d86dfc4d95cd Linux 5.15.106
    06a948b8347c x86/PVH: avoid 32-bit build warning when obtaining VGA console info
    3abdf6d71fdb hsr: ratelimit only when errors are printed
    fcc09ef87e79 libbpf: Fix btf_dump's packed struct determination
    74059587b25d selftests/bpf: Add few corner cases to test padding handling of btf_dump
    c74ae8678dfa libbpf: Fix BTF-to-C converter's padding logic
    17a61d1e9431 selftests/bpf: Test btf dump for struct with padding only fields
    6777291c7b14 zonefs: Fix error message in zonefs_file_dio_append()
    71ab5c1d506d KVM: x86: Purge "highest ISR" cache when updating APICv state
    61e0863dc8dd KVM: x86: Inject #GP on x2APIC WRMSR that sets reserved bits 63:32
    4483dc41d123 KVM: VMX: Move preemption timer <=> hrtimer dance to common x86
    a58d4e66712b s390/uaccess: add missing earlyclobber annotations to __clear_user()
    1dfccde646aa KVM: arm64: Disable interrupts while walking userspace PTs
    25e74e728168 drm/amd/display: Add DSC Support for Synaptics Cascaded MST Hub
    3bfedfdbf92b drm/etnaviv: fix reference leak when mmaping imported buffer
    fd1f48613e9f rcu: Fix rcu_torture_read ftrace event
    9097ba15ea5c xtensa: fix KASAN report for show_stack
    8861429f883e ALSA: hda/realtek: Add quirk for Lenovo ZhaoYang CF4620Z
    77ab3e5f9873 ALSA: hda/realtek: Add quirks for some Clevo laptops
    f775413ffeff ALSA: usb-audio: Fix regression on detection of Roland VS-100
    b39d42ed67d5 ALSA: hda/conexant: Partial revert of a quirk for Lenovo
    305a171cf617 NFSv4: Fix hangs when recovering open state after a server reboot
    7624973bc15b powerpc: Don't try to copy PPR for task with NULL pt_regs
    3a9510113f5b pinctrl: at91-pio4: fix domain name assignment
    6c1bc7b50e02 pinctrl: amd: Disable and mask interrupts on resume
    45ed4e5149e8 net: phy: dp83869: fix default value for tx-/rx-internal-delay
    0f75ef136169 xen/netback: don't do grant copy across page boundary
    8a581b71cf68 can: j1939: prevent deadlock by moving j1939_sk_errqueue()
    a3373a681d9a zonefs: Always invalidate last cached page on append write
    c1310fc7abe6 btrfs: scan device in non-exclusive mode
    c976f9233ef9 btrfs: fix race between quota disable and quota assign ioctls
    1484852ca152 Input: goodix - add Lenovo Yoga Book X90F to nine_bytes_report DMI table
    b64305185b76 cifs: fix DFS traversal oops without CONFIG_CIFS_DFS_UPCALL
    0a2e0baf3677 cifs: prevent infinite recursion in CIFSGetDFSRefer()
    a5075c097de1 Input: focaltech - use explicitly signed char type
    cf43bc826159 Input: alps - fix compatibility with -funsigned-char
    16c951f3eba4 iommu/vt-d: Allow zero SAGAW if second-stage not supported
    e4fbeaa31362 pinctrl: ocelot: Fix alt mode for ocelot
    76f09582a191 net: ethernet: mtk_eth_soc: fix flow block refcounting logic
    9caf3cbf1224 net: dsa: mv88e6xxx: Enable IGMP snooping on user ports only
    4c6c0e8510a2 bnxt_en: Add missing 200G link speed reporting
    c519174366a3 bnxt_en: Fix typo in PCI id to device description string mapping
    24722a0e0925 bnxt_en: Fix reporting of test result in ethtool selftest
    3e3654bf679f i40e: fix registers dump after run ethtool adapter self test
    8d7b0b22ea22 net: ipa: compute DMA pool size properly
    81d2a7e93c83 ALSA: ymfpci: Fix BUG_ON in probe function
    95642872c466 ALSA: ymfpci: Create card with device-managed snd_devm_card_new()
    9cb4f23e4f7a ice: fix invalid check for empty list in ice_sched_assoc_vsi_to_agg()
    938eba5b434d ice: add profile conflict check for AVF FDIR
    0ea60b230d19 smsc911x: avoid PHY being resumed when interface is not up
    41f77a6d9841 net: mvpp2: parser fix PPPoE
    ec117d22f143 net: mvpp2: parser fix QinQ
    18d6e95fbb08 net: mvpp2: classifier flow fix fragmentation flags
    aa45d3dd74e9 loop: LOOP_CONFIGURE: send uevents for partitions
    83ee49ab185d loop: suppress uevents while reconfiguring the device
    aa2bff25e9bb s390/vfio-ap: fix memory leak in vfio_ap device driver
    bf70e0eab64c can: bcm: bcm_tx_setup(): fix KMSAN uninit-value in vfs_write
    959348f7c300 platform/x86/intel/pmc: Alder Lake PCH slp_s0_residency fix
    c8e7ff3071bf drm/i915/tc: Fix the ICL PHY ownership check in TC-cold state
    61e2e6d444cd net: stmmac: don't reject VLANs when IFF_PROMISC is set
    2d5cebf57296 net/net_failover: fix txq exceeding warning
    829a0d013c00 regulator: Handle deferred clk
    75155f4d8dcd r8169: fix RTL8168H and RTL8107E rx crc error
    4597e104a365 net: dsa: microchip: ksz8863_smi: fix bulk access
    c0de1a26e659 ptp_qoriq: fix memory leak in probe()
    d84796008a89 scsi: mpt3sas: Don't print sense pool info twice
    27b1ae000bf1 scsi: megaraid_sas: Fix crash after a double completion
    d63a83146d25 sfc: ef10: don't overwrite offload features at NIC reset
    7ea88e90dabb SUNRPC: fix shutdown of NFS TCP client socket
    34c554376ec9 mtd: rawnand: meson: invalidate cache on polling ECC bit
    dae47bf0222e platform/x86: think-lmi: Add possible_values for ThinkStation
    e91ffea491af platform/x86: think-lmi: only display possible_values if available
    fbfd5f59fa5c platform/x86: think-lmi: use correct possible_values delimiters
    2c67f08bdc5f platform/x86: think-lmi: add missing type attribute
    cb1baad60e5d ALSA: usb-audio: Fix recursive locking at XRUN during syncing
    65b723644294 mips: bmips: BCM6358: disable RAC flush for TP1
    e38b0ab9dba3 ca8210: Fix unsigned mac_len comparison with zero in ca8210_skb_tx()
    5362344e1c2c tracing: Fix wrong return in kprobe_event_gen_test.c
    19c71156fa92 tools/power turbostat: fix decoding of HWP_STATUS
    f8580c0a3279 tools/power turbostat: Fix /dev/cpu_dma_latency warnings
    6494344d7ef7 fbdev: au1200fb: Fix potential divide by zero
    f9c5deee4b66 fbdev: lxfb: Fix potential divide by zero
    86c8db5d12f4 fbdev: intelfb: Fix potential divide by zero
    c22a8d3ae54a fbdev: nvidia: Fix potential divide by zero
    9de1325bc2cc sched_getaffinity: don't assume 'cpumask_size()' is fully initialized
    f9584dcc5549 fbdev: tgafb: Fix potential divide by zero
    d23f65f08247 ALSA: hda/ca0132: fixup buffer overrun at tuning_ctl_set()
    cb1bc1223906 ALSA: asihpi: check pao in control_message()
    1ec57d1bed38 net: hsr: Don't log netdev_err message on unknown prp dst node
    4e90e52616f6 x86/PVH: obtain VGA console info in Dom0
    5175ed17a5a8 md: avoid signed overflow in slot_store()
    da35a4e6eee5 ASoC: codecs: tx-macro: Fix for KASAN: slab-out-of-bounds
    0725daaa9a87 xfrm: Zero padding when dumping algos and encap
    7258c58f6e25 bus: imx-weim: fix branch condition evaluates to a garbage value
    07987422023e ksmbd: don't terminate inactive sessions after a few seconds
    0c873ab68fcb kcsan: avoid passing -g for test
    b27e663cf1e5 kernel: kcsan: kcsan_test: build without structleak plugin
    1450c82a16bb usb: dwc3: gadget: Add 1ms delay after end transfer command without IOC
    1536e51c30ad usb: dwc3: gadget: move cmd_endtransfer to extra function
    0f7fddb5a9b7 fsverity: don't drop pagecache at end of FS_IOC_ENABLE_VERITY
    c957cbb87315 Linux 5.15.105
    ec5b78143535 NFSD: fix use-after-free in __nfs42_ssc_open()
    a9e53869cb43 ocfs2: fix data corruption after failed write
    5229bb42fba2 mm: kfence: fix using kfence_metadata without initialization in show_object()
    7a74603c248d sched/fair: Sanitize vruntime of entity being migrated
    ab938a0c81eb sched/fair: sanitize vruntime of entity being placed
    1ac20290f6b4 dm crypt: avoid accessing uninitialized tasklet
    eb485b7404a2 dm crypt: add cond_resched() to dmcrypt_write()
    443c9d522397 dm stats: check for and propagate alloc_percpu failure
    272dc775a52f i2c: xgene-slimpro: Fix out-of-bounds bug in xgene_slimpro_i2c_xfer()
    8e69fae32e88 firmware: arm_scmi: Fix device node validation for mailbox transport
    02b296978a21 tee: amdtee: fix race condition in amdtee_open_session
    9c7ee9471550 riscv: Handle zicsr/zifencei issues between clang and binutils
    c10023682096 riscv: mm: Fix incorrect ASID argument when flushing TLB
    555ec88c75ad drm/i915: Preserve crtc_state->inherited during state clearing
    476b3f03dca8 drm/i915/active: Fix missing debug object activation
    ef3c38f33b62 drm/amdgpu/nv: Apply ASPM quirk on Intel ADL + AMD Navi
    fdd5b4e37200 drm/meson: fix missing component unbind on bind errors
    071a69cde196 drm/bridge: lt8912b: return EPROBE_DEFER if bridge is not found
    5bb105cc72be nilfs2: fix kernel-infoleak in nilfs_ioctl_wrap_copy()
    8ec5e996c2f8 wifi: mac80211: fix qos on mesh interfaces
    51a8534c0f35 ksmbd: return unsupported error on smb1 mount
    496e186bc005 ksmbd: return STATUS_NOT_SUPPORTED on unsupported smb2.0 dialect
    604a4a6f8414 ksmbd: set FILE_NAMED_STREAMS attribute in FS_ATTRIBUTE_INFORMATION
    52e7ac849971 KVM: x86: hyper-v: Avoid calling kvm_make_vcpus_request_mask() with vcpu_mask==NULL
    6f682b070f46 kfence: avoid passing -g for test
    7dd27aed9c45 usb: ucsi: Fix NULL pointer deref in ucsi_connector_change()
    27c40c3aa4b0 usb: chipidea: core: fix possible concurrent when switch role
    ef74a7ffe77c usb: chipdea: core: fix return -EINVAL if request role is the same with current role
    76e8bd0f5544 usb: cdnsp: changes PCI Device ID to fix conflict with CNDS3 driver
    e4df290deb33 usb: cdnsp: Fixes issue with redundant Status Stage
    5662d139e6e1 usb: cdns3: Fix issue with using incorrect PCI device function
    bb579b3f75c6 usb: typec: tcpm: fix warning when handle discover_identity message
    0f84b0b71179 dm thin: fix deadlock when swapping to thin device
    66e5577cabc3 igb: revert rtnl_lock() that causes deadlock
    a179d3450c0c arm64: dts: imx8mm-nitrogen-r2: fix WM8960 clock name
    ed1869a25286 lockd: set file_lock start and end when decoding nlm4 testargs
    0bfadbbcd7a5 fsverity: Remove WQ_UNBOUND from fsverity read workqueue
    992a3f3e8a0c fscrypt: destroy keyring after security_sb_delete()
    287bb9a918e2 mm/slab: Fix undefined init_cache_node_node() for NUMA and !SMP
    408dcd7c3883 efi: sysfb_efi: Fix DMI quirks not working for simpledrm
    b131989797f7 usb: gadget: u_audio: don't let userspace block driver unbind
    cba76e1fb896 usb: dwc2: fix a devres leak in hw_enable upon suspend resume
    c83f7ba71d38 scsi: core: Add BLIST_SKIP_VPD_PAGES for SKhynix H28U74301AMR
    df0462e4b361 cifs: print session id while listing open files
    9a45df4ec39b cifs: empty interface list when server doesn't support query interfaces
    169a41073993 act_mirred: use the backlog for nested calls to mirred ingress
    5b347652aebd net/sched: act_mirred: better wording on protection against excessive stack growth
    f6cf5f13fa5b sh: sanitize the flags on sigreturn
    91bcae3df2a4 net: usb: qmi_wwan: add Telit 0x1080 composition
    f631af07cfc9 net: usb: cdc_mbim: avoid altsetting toggling for Telit FE990
    41b67e621b93 scsi: storvsc: Handle BlockSize change in Hyper-V VHD/VHDX file
    60643ef5a139 scsi: lpfc: Avoid usage of list iterator variable after loop
    67b8343998b8 scsi: lpfc: Check kzalloc() in lpfc_sli4_cgn_params_read()
    d758f543cea2 scsi: ufs: core: Add soft dependency on governor_simpleondemand
    0267cd047133 scsi: hisi_sas: Check devm_add_action() return value
    83e7b1db4523 scsi: target: iscsi: Fix an error message in iscsi_check_key()
    40c216efb327 selftests/bpf: check that modifier resolves after pointer
    8bf8d5dade4c m68k: Only force 030 bus error if PC not in exception table
    8c1d378b8c22 HID: intel-ish-hid: ipc: Fix potential use-after-free in work function
    d143e327c972 ca8210: fix mac_len negative array access
    3056af1a2d46 HID: cp2112: Fix driver not registering GPIO IRQ chip as threaded
    3e9aac5e935f drm/cirrus: NULL-check pipe->plane.state->fb in cirrus_pipe_update()
    a4c639012ad0 riscv: Bump COMMAND_LINE_SIZE value to 1024
    c2cf47dc0822 ACPI: x86: utils: Add Cezanne to the list for forcing StorageD3Enable
    8dc1c6efd7d2 thunderbolt: Rename shadowed variables bit to interrupt_bit and auto_clear_bit
    a74a2e124c48 thunderbolt: Use const qualifier for `ring_interrupt_index`
    752007df40ca thunderbolt: Add missing UNSET_INBOUND_SBTX for retimer access
    8f7525a8b98c thunderbolt: Disable interrupt auto clear for rings
    56cba129dd11 thunderbolt: Call tb_check_quirks() after initializing adapters
    d50a527b4815 thunderbolt: Use scale field when allocating USB3 bandwidth
    7ab026561cb0 uas: Add US_FL_NO_REPORT_OPCODES for JMicron JMS583Gen 2
    d6f7377528d2 scsi: qla2xxx: Perform lockless command completion in abort path
    6295b3ec64a3 scsi: qla2xxx: Synchronize the IOCB count to be in order
    f1e2ab24c4ea hwmon (it87): Fix voltage scaling for chips with 10.9mV ADCs
    5662f50cd9e9 hwmon: fix potential sensor registration fail if of_node is missing
    8f6b943f9fc9 entry/rcu: Check TIF_RESCHED _after_ delayed RCU wake-up
    eb57d0dcd5da entry: Snapshot thread flags
    d9c53eb46217 thread_info: Add helpers to snapshot thread flags
    ebea2e16504f platform/chrome: cros_ec_chardev: fix kernel data leak from ioctl
    8efae2112d91 Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work
    c35fd1b9b90a Bluetooth: L2CAP: Fix responding with wrong PDU type
    b203ee4be2f1 Bluetooth: btqcomsmd: Fix command timeout after setting BD address
    771d3c1c949b net: mdio: thunder: Add missing fwnode_handle_put()
    b433fbf17603 net: dsa: mt7530: move setting ssc_delta to PHY_INTERFACE_MODE_TRGMII case
    01c727402ddc net: dsa: mt7530: move lowering TRGMII driving to mt7530_setup()
    5163bb8e4c6b net: dsa: mt7530: move enabling disabling core clock to mt7530_pll_setup()
    a76d35f3448c gve: Cache link_speed value from device
    c33344b79722 ksmbd: fix possible refcount leak in smb2_open()
    96039c44ae47 ksmbd: add low bound validation to FSCTL_QUERY_ALLOCATED_RANGES
    d897216325d7 ksmbd: add low bound validation to FSCTL_SET_ZERO_DATA
    7a83bb6d56a5 hvc/xen: prevent concurrent accesses to the shared ring
    29e80d7964cf nvme-tcp: fix nvme_tcp_term_pdu to match spec
    c7037dea19f0 net/sonic: use dma_mapping_error() for error check
    b41f37dbd9cd erspan: do not use skb_mac_header() in ndo_start_xmit()
    4a8286baf22e atm: idt77252: fix kmemleak when rmmod idt77252
    48f52431af99 net: dsa: tag_brcm: legacy: fix daisy-chained switches
    388188fb58be net/mlx5: E-Switch, Fix an Oops in error handling code
    6068a6db3a96 net/mlx5: Read the TC mapping of all priorities on ETS query
    4df1f2d36bdc net/mlx5: Fix steering rules cleanup
    2b0f1716c107 net/mlx5e: Set uplink rep as NETNS_LOCAL
    54869daa6a43 bpf: Adjust insufficient default bpf_jit_limit
    9b2e9105230f i40e: fix flow director packet filter programming
    7a29799fc141 iavf: fix hang on reboot with ice
    ce19c70f308f keys: Do not cache key in task struct if key is requested from kernel thread
    0cb68c307e72 bootconfig: Fix testcase to increase max node
    90874b76e5f8 octeontx2-vf: Add missing free for alloc_percpu
    77d2f5ff9365 net/ps3_gelic_net: Use dma_mapping_error
    cc8531d0e223 net/ps3_gelic_net: Fix RX sk_buff length
    8c4a180dc123 net: qcom/emac: Fix use after free bug in emac_remove due to race condition
    e686b78a003a drm/i915/gt: perform uc late init after probe error injection
    cbb8bac2388a net: mdio: fix owner field for mdio buses registered using ACPI
    b94af62cdd50 net: mdio: fix owner field for mdio buses registered using device-tree
    0bdf593390e7 net: phy: Ensure state transitions are processed from phy_stop()
    4ab9e85a5ce0 xirc2ps_cs: Fix use after free bug in xirc2ps_detach
    e42d3bde4ec0 qed/qed_sriov: guard against NULL derefs from qed_iov_get_vf_info
    ba6c40227108 net: usb: smsc95xx: Limit packet length to skb->len
    9bbb3d3f218f net: dsa: b53: mmap: fix device tree support
    9311e7a554df scsi: scsi_dh_alua: Fix memleak for 'qdata' in alua_activate()
    257738627a9b i2c: hisi: Only use the completion interrupt to finish the transfer
    c0deddabb278 i2c: imx-lpi2c: check only for enabled interrupt flags
    b82b0a0eea27 igc: fix the validation logic for taprio's gate list
    68ebdcba619a igbvf: Regard vf reset nack as success
    9630432b427f intel/igbvf: free irq on the error path in igbvf_request_msix()
    2afe7aebf642 iavf: fix non-tunneled IPv6 UDP packet type and hashing
    078e049c49a6 iavf: fix inverted Rx hash condition leading to disabled hash
    3cfc3564411a xsk: Add missing overflow check in xdp_umem_reg
    1d59b8fae0c3 arm64: dts: imx8mn: specify #sound-dai-cells for SAI nodes
    98c9bca167e6 ARM: dts: imx6sl: tolino-shine2hd: fix usbotg1 pinctrl
    ed5f3c0b95bd ARM: dts: imx6sll: e60k02: fix usbotg1 pinctrl
    0fdb1cc4fe52 power: supply: da9150: Fix use after free bug in da9150_charger_remove due to race condition
    4ca3fd39c72e power: supply: bq24190: Fix use after free bug in bq24190_remove due to race condition
    10ce6db6253d power: supply: bq24190_charger: using pm_runtime_resume_and_get instead of pm_runtime_get_sync
    0b54d75aa43a net: tls: fix possible race condition between do_tls_getsockopt_conf() and do_tls_setsockopt_conf()
    2ebe231abaf1 trace/hwlat: Do not start per-cpu thread if it is already running
    7743dd873f2a trace/hwlat: make use of the helper function kthread_run_on_cpu()
    909c5eb6ed76 kthread: add the helper function kthread_run_on_cpu()
    09b51f10bc1f serial: 8250: ASPEED_VUART: select REGMAP instead of depending on it
    cfb64de61f07 serial: 8250: SERIAL_8250_ASPEED_VUART should depend on ARCH_ASPEED
    90530e7214c8 tty: serial: fsl_lpuart: fix race on RX DMA shutdown
    b7d0fbe4976d tty: serial: fsl_lpuart: switch to new dmaengine_terminate_* API
    90a77bca4240 serial: fsl_lpuart: Fix comment typo
    bde1ae240751 tracing/hwlat: Replace sched_setaffinity with set_cpus_allowed_ptr
    5255e6d49ff9 perf: fix perf_event_context->time
    ac5f88642cb2 perf/core: Fix perf_output_begin parameter is incorrectly invoked in perf_event_bpf_output
    d2430d45f1a0 interconnect: qcom: osm-l3: fix icc_onecell_data allocation
    115472395b0a Linux 5.15.104
    de3ef7ba684a perf: Fix check before add_event_to_groups() in perf_group_detach()
    02904e8a2f65 HID: uhid: Over-ride the default maximum data buffer value with our own
    3df32812eb4b HID: core: Provide new max_buffer_size attribute to over-ride the default
    ffe2318405e6 PCI/DPC: Await readiness of secondary bus after reset
    09795f82aecc PCI: Unify delay handling for reset and resume
    f4ba55411cc8 io_uring: avoid null-ptr-deref in io_arm_poll_handler
    6ab7d3361755 drm/i915/active: Fix misuse of non-idle barriers as fence trackers
    71dffdd4764c drm/i915: Don't use stolen memory for ring buffers with LLC
    86db319d25db x86/resctrl: Clear staged_config[] before and after it is used
    0186f7656940 x86/mm: Fix use of uninitialized buffer in sme_enable()
    09d3a46c8c02 x86/mce: Make sure logged MCEs are processed after sysfs update
    8575c98224b2 cpuidle: psci: Iterate backwards over list in psci_pd_remove()
    b3d042638049 net: phy: nxp-c45-tja11xx: fix MII_BASIC_CONFIG_REV bit
    f3de49782612 trace/hwlat: Do not wipe the contents of per-cpu thread data
    cb72b4bd81b9 fbdev: stifb: Provide valid pixelclock and add fb_check_var() checks
    e9cdd3f722b6 mmc: sdhci_am654: lower power-on failed message severity
    b02de083c7c7 mm/userfaultfd: propagate uffd-wp bit when PTE-mapping the huge zeropage
    87b9ac7bd301 ice: avoid bonding causing auxiliary plug/unplug under RTNL lock
    520e134431ac nvme-pci: add NVME_QUIRK_BOGUS_NID for Netac NV3000
    2a0d71fabfeb ftrace: Fix invalid address access in lookup_rec() when index is 0
    ad7f9c6982b1 mptcp: fix lockdep false positive in mptcp_pm_nl_create_listen_socket()
    f4afee17de43 mptcp: avoid setting TCP_CLOSE state twice
    64473c18d27a mptcp: add ro_after_init for tcp{,v6}_prot_override
    c1df4bed3d91 mptcp: fix possible deadlock in subflow_error_report
    ccf44ffbbf25 drm/amd/pm: Fix sienna cichlid incorrect OD volage after resume
    64ef8aa3910b drm/sun4i: fix missing component unbind on bind errors
    5cfb617967b0 drm/shmem-helper: Remove another errant put in error path
    d1d826954475 riscv: asid: Fixup stale TLB entry cause application crash
    aeefcfc57978 Revert "riscv: mm: notify remote harts about mmu cache updates"
    882cbe0c5d6a ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book2 Pro
    36d75e1f7357 ALSA: hda: intel-dsp-config: add MTL PCI id
    9c2f09add608 KVM: nVMX: add missing consistency checks for CR0 and CR4
    77fcc52d2919 cifs: Fix smb2_set_path_size()
    9b9a118cc428 tracing: Make tracepoint lockdep check actually test something
    2846bf67cd24 tracing: Check field value in hist_field_name()
    2dd00dbc6a5a tracing: Make splice_read available again
    fd4738ae1a0c interconnect: exynos: fix node leak in probe PM QoS error path
    2e0b13a18272 interconnect: fix mem leak when freeing nodes
    62b74cf8bcee s390/ipl: add missing intersection check to ipl_report handling
    86afb633beaa firmware: xilinx: don't make a sleepable memory allocation from an atomic context
    250a11f9c43b serial: 8250_fsl: fix handle_irq locking
    4c23bf093449 serial: 8250_em: Fix UART port type
    53a5ab3a8991 tty: serial: fsl_lpuart: skip waiting for transmission complete when UARTCTRL_SBK is asserted
    1c93c42c7bb2 ext4: fix possible double unlock when moving a directory
    bec1bea2fa97 drm/amd/display: fix shift-out-of-bounds in CalculateVMAndRowBytes
    f9252605b8f3 sh: intc: Avoid spurious sizeof-pointer-div warning
    0fc608a115ce net/9p: fix bug in client create for .L
    2fece63b55c5 drm/amdkfd: Fix an illegal memory access
    1aec41c98cce ext4: fix task hung in ext4_xattr_delete_inode
    499fef2030fb ext4: update s_journal_inum if it changes after journal replay
    088da6b80539 ext4: fail ext4_iget if special inode unallocated
    eccd017165db jffs2: correct logic when creating a hole in jffs2_write_begin
    4392e87c47e8 mmc: atmel-mci: fix race between stop command and start of next command
    0c511f926b00 media: m5mols: fix off-by-one loop termination error
    233058efee02 hwmon: (ltc2992) Set `can_sleep` flag for GPIO chip
    b576de01da80 hwmon: (adm1266) Set `can_sleep` flag for GPIO chip
    c80b2acdb049 kconfig: Update config changed flag before calling callback
    52f64c5fc0d6 hwmon: tmp512: drop of_match_ptr for ID table
    3f3576e25bfe hwmon: (ucd90320) Add minimum delay between bus accesses
    9cc4aa40b58c hwmon: (ina3221) return prober error code
    7091951c2ca9 hwmon: (xgene) Fix use after free bug in xgene_hwmon_remove due to race condition
    a8e42dbfc493 hwmon: (adt7475) Fix masking of hysteresis registers
    d1f4eda1ae85 hwmon: (adt7475) Display smoothing attributes in correct order
    93c8cbeb1b2b bonding: restore bond's IFF_SLAVE flag if a non-eth dev enslave fails
    d424c7b1c478 bonding: restore IFF_MASTER/SLAVE flags on bond enslave ether type change
    8a1ce024f1f6 ethernet: sun: add check for the mdesc_grab()
    030393041f8c qed/qed_mng_tlv: correctly zero out ->min instead of ->hour
    a7836253349e selftests: net: devlink_port_split.py: skip test if no suitable device available
    3cfdefdaaa4b net/iucv: Fix size of interrupt data
    7bf0eac3fdd2 net: usb: smsc75xx: Move packet length check to prevent kernel panic in skb_pull
    c99779740100 ipv4: Fix incorrect table ID in IOCTL path
    340dd8f1942a sh_eth: avoid PHY being resumed when interface is not up
    d5236286398d ravb: avoid PHY being resumed when interface is not up
    7059be754873 net: dsa: mv88e6xxx: fix max_mtu of 1492 on 6165, 6191, 6220, 6250, 6290
    b89a453c6918 ice: xsk: disable txq irq before flushing hw
    d1bfd4cf6bb8 block: sunvdc: add check for mdesc_grab() returning NULL
    f1d5888a5efe nvmet: avoid potential UAF in nvmet_req_complete()
    07eac3310e00 nvme: fix handling single range discard request
    fff9441da1c3 block: null_blk: Fix handling of fake timeout request
    6d3ff07347d3 drm/bridge: Fix returned array size name for atomic_get_input_bus_fmts kdoc
    105db6574281 net: usb: smsc75xx: Limit packet length to skb->len
    b615238e5bc0 net/smc: fix deadlock triggered by cancel_delayed_work_syn()
    84dd9cc34014 nfc: st-nci: Fix use after free bug in ndlc_remove due to race condition
    edc0a34e277b net: phy: smsc: bail out in lan87xx_read_status if genphy_read_status fails
    e0a557fc1daf net: tunnels: annotate lockless accesses to dev->needed_headroom
    407badf73ec9 loop: Fix use-after-free issues
    a0316de981ce net: dsa: mt7530: set PLL frequency and trgmii only when trgmii is used
    f48468b27c0b net: dsa: mt7530: remove now incorrect comment regarding port 5
    6ffa05700100 qed/qed_dev: guard against a possible division by zero
    b108bd9e6be0 net/smc: fix NULL sndbuf_desc in smc_cdc_tx_handler()
    d59d2561da73 drm/i915/psr: Use calculated io and fast wake lines
    297ae18bd2cd drm/i915/display: clean up comments
    21d679cb983e drm/i915/display/psr: Handle plane and pipe restrictions at every page flip
    8c80b12e697f drm/i915/display/psr: Use drm damage helpers to calculate plane damaged area
    eea001d88ffd drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
    437bb839e36c PCI: s390: Fix use-after-free of PCI resources with per-function hotplug
    ee6ef8137789 vdpa_sim: set last_used_idx as last_avail_idx in vdpasim_queue_ready
    1cdbaf18a5e4 vdpa_sim: not reset state in vdpasim_queue_ready
    4ff826952665 i40e: Fix kernel crash during reboot when adapter is in recovery mode
    ecaa1bf50635 ipvlan: Make skb->skb_iif track skb->dev for l3s mode
    2bee84369b76 nfc: pn533: initialize struct pn533_out_arg properly
    ad07290d63ff tcp: tcp_make_synack() can be called from process context
    2a764d55e938 scsi: core: Fix a procfs host directory removal regression
    a219cabadaee netfilter: nft_redir: correct value of inet type `.maxattrs`
    de03d130176b netfilter: nft_redir: correct length for loading protocol registers
    d2a2ad64b9b6 netfilter: nft_masq: correct length for loading protocol registers
    343fe451e6d3 netfilter: nft_nat: correct length for loading protocol registers
    256bcf626b7c ALSA: hda: Match only Intel devices with CONTROLLER_IN_GPU()
    9937f784a608 scsi: mpt3sas: Fix NULL pointer access in mpt3sas_transport_port_add()
    29cb0f6c1dd8 docs: Correct missing "d_" prefix for dentry_operations member d_weak_revalidate
    a5a1a7112e98 clk: HI655X: select REGMAP instead of depending on it
    0f78e36f652a drm/meson: fix 1px pink line on GXM when scaling video overlay
    630f8a857578 cifs: Move the in_send statistic to __smb_send_rqst()
    418bde7227dd drm/panfrost: Don't sync rpm suspension after mmu flushing
    b9cd2f875525 xfrm: Allow transport-mode states with AF_UNSPEC selector

(From OE-Core rev: 8814af71d54ffaf7507789855b645211f769240d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d04122e76e21654caef2ec42ab5612bc9883d5f7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:17:12 -10:00
Virendra Thakur
f821e134f8 qemu: Whitelist CVE-2023-0664
This CVE is related to Windows.

Link: https://nvd.nist.gov/vuln/detail/CVE-2023-0664

(From OE-Core rev: c812189760292ae39f7c10cfbde8f11130cce085)

Signed-off-by: Virendra Thakur <virendrak@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:17:12 -10:00
Archana Polampalli
bfe251d727 nasm: fix CVE-2022-44370
NASM v2.16 was discovered to contain a heap buffer overflow in the
component quote_for_pmake() asm/nasm.c:856

References:
https://nvd.nist.gov/vuln/detail/CVE-2022-44370

Upstream patches:
2d4e695241

(From OE-Core rev: 1568df72136f46f0767bba56c10c48bf2a1ec259)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:17:12 -10:00
Ross Burton
9971a61f08 xserver-xorg: backport fix for CVE-2023-1393
(From OE-Core rev: dc2c777cab0230fc54e078d20d872aaa9287a8b9)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7828f7026b4cd3ae97ebe5d849c09fabbc17272d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:17:12 -10:00
Joe Slater
20e0e5ebfb ghostscript: fix CVE-2023-29979
Backport from 10.02.0 (unreleased).

(From OE-Core rev: 6d5baff50aa83c663856cccc375c522add97625e)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:17:12 -10:00
Mingli Yu
6cff3875fe ruby: Fix CVE-2023-28755
Backport patch [1] to fix CVE-2023-28755.

[1] 8ce4ab1464

(From OE-Core rev: 605634cf1adef2d9cf6dc6fdf17aa4032385497f)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:17:12 -10:00
Lee Chee Yang
4cc0e9438b migration-guides: add release-notes for 4.0.9
(From yocto-docs rev: 8388be749806bd0bf4fccf1005dae8f643aa4ef4)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:03:21 -10:00
Vivek Kumbhar
c34e0e1e0f go: fix CVE-2023-24537 Infinite loop in parsing
Setting a large line or column number using a //line directive can cause
integer overflow even in small source files.

Limit line and column numbers in //line directives to 2^30-1, which
is small enough to avoid int32 overflow on all reasonbly-sized files.

Fixes CVE-2023-24537
Fixes #59273
For #59180

(From OE-Core rev: 15c07dff384ce4fb0e90f4f32c182a82101a1c82)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:03:21 -10:00
Hitendra Prajapati
d19f7ddf5a screen: CVE-2023-24626 allows sending SIGHUP to arbitrary PIDs
Upstream-Status: Backport from https://git.savannah.gnu.org/cgit/screen.git/commit/?id=e9ad41bfedb4537a6f0de20f00b27c7739f168f7

(From OE-Core rev: cf6348b5778c9409fc330808effc69e9939e6857)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:03:21 -10:00
Peter Marko
7eb99a6fe9 go: ignore CVE-2022-41716
This CVE is specific to Microsoft Windows, ignore it.

Patch fixing it (https://go-review.googlesource.com/c/go/+/446916)
also adds a redundant check to generic os/exec which
could be backported but it should not be necessary as
backport always takes a small risk to break old code.

(From OE-Core rev: ae8167754ff1c02f2d92af03de804754ea77a3e5)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:03:21 -10:00
Xiangyu Chen
e8eab42415 shadow: backport patch to fix CVE-2023-29383
The fix of CVE-2023-29383.patch contains a bug that it rejects all
characters that are not control ones, so backup another patch named
"0001-Overhaul-valid_field.patch" from upstream to fix it.

(From OE-Core rev: ab48ab23de6f6bb1f05689c97724140d4bef8faa)

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:03:21 -10:00
Shubham Kulkarni
82be2c179a go-runtime: Security fix for CVE-2022-41722
path/filepath: do not Clean("a/../c:/b") into c:\b on Windows

Backport from bdf07c2e16

(From OE-Core rev: f60637b3c9045656047d6ffcfaadbef5ad1d3d06)

Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:03:21 -10:00
Sundeep KOKKONDA
d8ff3c3fb3 cargo : non vulnerable cve-2022-46176 added to excluded list
This cve (https://nvd.nist.gov/vuln/detail/CVE-2022-46176) is a security vulnirability when using cargo ssh.
Kirkstone doesn't support rust on-target images and the bitbake using the 'wget' (which uses 'https') for fetching the sources instead of ssh.
So, cargo-native also not vulnerable to this cve and so added to excluded list.

(From OE-Core rev: 7e4037fd0a66a860b4809be72a89e2de97960a17)

Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
Acked-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:03:21 -10:00
Siddharth Doshi
4fa1c52c9e curl: Security fix for CVE-2023-27535, CVE-2023-27536, CVE-2023-27538
Upstream-Status: Backport from [ed5095ed94, 8f4608468b, af369db4d3, af369db4d3]

(From OE-Core rev: 0b35659c895e6ff2690d42f976169e4a65be07e6)

Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:03:21 -10:00
Hitendra Prajapati
be5ebd6b3f ruby: CVE-2023-28756 ReDoS vulnerability in Time
Upstream-Status: Backport from 957bb7cb81

(From OE-Core rev: 0f8eb0505e19ccd27e1b91f27285a9fc87f2aa93)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:03:21 -10:00
Frank de Brabander
ee5ff08d87 bitbake: bin/utils: Ensure locale en_US.UTF-8 is available on the system
Get rid of the duplicate code and add extra check that the
locale en_US.UTF-8 is available on the system. This new helper
method is now located right above the method filter_environment()
which sets LC_ALL environment variable to 'en_US.UTF-8'.

[YOCTO #10165]

(Bitbake rev: 0c6f86b60cfba67c20733516957c0a654eb2b44c)

Signed-off-by: Frank de Brabander <debrabander@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a4ce040a6fd540a1cac52f808f909f9fcf8c961c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:03:21 -10:00
Peter Marko
fa856e0dac package.bbclass: correct check for /build in copydebugsources()
Newly introduced kirkstone-only commit
https://git.openembedded.org/openembedded-core/commit/?h=kirkstone&id=80839835ec9fcb63069289225a3c1af257ffdef7
broke builds with externalsrc in Gitlab-CI.
This is yocto-4.0.9 regression.

It checks if directory starts with "build" instead of
if checking if it equals to "build".
Gitlab-CI uses directory "/builds" which matches the check
but directory /build does not exist, only /builds.
After successful check it tries to move this non-existent
directory which does not exists and thus do_package fails.

(From OE-Core rev: b67e714b367a08fdeeeff68c2d9495ec9bc07304)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-19 04:45:00 -10:00
Mark Hatle
29f64c072c openssl: Move microblaze to linux-latomic config
When building with the previous a number of atomic functions come back as
undefined.  Switching to linux-latomic fixes this.

(From OE-Core rev: 88d5bf78ffb1d120df48139b1ed3c2e3fa8310d0)

(From OE-Core rev: 26b4db753c4f2080a132fb176b514efafa3ff8e3)

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-19 04:45:00 -10:00
Joe Slater
217a47bdb4 go: fix CVE-2022-41724, 41725
Backport from go-1.19.  The godebug package is needed by
the fix to CVE-2022-41725.

Mostly a cherry-pick but exceptions are noted in comments
marked "backport".

(From OE-Core rev: e5cf04f55b4849ae6db1253b39ad8b037cf01af4)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-19 04:45:00 -10:00
Pawan Badganchi
25aa5dfcae tiff: Add fix for CVE-2022-4645
Below patch fixes the CVE-2022-4645 as well.

0001-Revised-handling-of-TIFFTAG_INKNAMES-and-related-TIF.patch

Link: https://nvd.nist.gov/vuln/detail/CVE-2022-4645

(From OE-Core rev: d1aa26fe8170937508a4d2242001892cea84d29a)

Signed-off-by: Pawan Badganchi <Pawan.Badganchi@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-19 04:45:00 -10:00
Hitendra Prajapati
762c35a049 curl: CVE-2023-27534 SFTP path resolving discrepancy
Upstream-Status: Backport from 4e2b52b5f7

(From OE-Core rev: 7919a5a5eaa2689db9f0e8110b923bbfe0a610ab)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-19 04:44:59 -10:00
Hitendra Prajapati
7fdc49e7ae curl: CVE-2023-27533 TELNET option IAC injection
Upstream-Status: Backport from 0c28ba2faa && 538b1e79a6

(From OE-Core rev: ff795872530975a014ae23001a4b014449783a0e)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-19 04:44:59 -10:00
Yash Shinde
dea0c1e1f5 binutils : Fix CVE-2023-1579
Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3e307d538c351aa9327cbad672c884059ecc20dd]

(From OE-Core rev: d478e7ea0bb897e13d86c476966924ef9927f11a)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-19 04:44:59 -10:00
182 changed files with 14994 additions and 903 deletions

View File

@@ -25,8 +25,7 @@ except RuntimeError as exc:
from bb import cookerdata
from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException
if sys.getfilesystemencoding() != "utf-8":
sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
bb.utils.check_system_locale()
__version__ = "2.0.0"

View File

@@ -12,8 +12,9 @@ warnings.simplefilter("default")
import logging
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
if sys.getfilesystemencoding() != "utf-8":
sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
import bb
bb.utils.check_system_locale()
# Users shouldn't be running this code directly
if len(sys.argv) != 10 or not sys.argv[1].startswith("decafbad"):

View File

@@ -24,8 +24,7 @@ import subprocess
from multiprocessing import Lock
from threading import Thread
if sys.getfilesystemencoding() != "utf-8":
sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
bb.utils.check_system_locale()
# Users shouldn't be running this code directly
if len(sys.argv) != 2 or not sys.argv[1].startswith("decafbad"):

View File

@@ -13,6 +13,7 @@ import errno
import logging
import bb
import bb.msg
import locale
import multiprocessing
import fcntl
import importlib
@@ -606,6 +607,21 @@ def preserved_envvars():
]
return v + preserved_envvars_exported()
def check_system_locale():
"""Make sure the required system locale are available and configured"""
default_locale = locale.getlocale(locale.LC_CTYPE)
try:
locale.setlocale(locale.LC_CTYPE, ("en_US", "UTF-8"))
except:
sys.exit("Please make sure locale 'en_US.UTF-8' is available on your system")
else:
locale.setlocale(locale.LC_CTYPE, default_locale)
if sys.getfilesystemencoding() != "utf-8":
sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\n"
"Python can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
def filter_environment(good_vars):
"""
Create a pristine environment for bitbake. This will remove variables that

View File

@@ -90,7 +90,8 @@ rst_prolog = """
# external links and substitutions
extlinks = {
'cve': ('https://nvd.nist.gov/vuln/detail/CVE-%s', 'CVE-'),
'cve': ('https://nvd.nist.gov/vuln/detail/CVE-%s', 'CVE-%s'),
'cve_mitre': ('https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-%s', 'CVE-%s'),
'yocto_home': ('https://www.yoctoproject.org%s', None),
'yocto_wiki': ('https://wiki.yoctoproject.org/wiki%s', None),
'yocto_dl': ('https://downloads.yoctoproject.org%s', None),

View File

@@ -15,3 +15,5 @@ Release 4.0 (kirkstone)
release-notes-4.0.6
release-notes-4.0.7
release-notes-4.0.8
release-notes-4.0.9
release-notes-4.0.10

View File

@@ -0,0 +1,180 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Release notes for Yocto-4.0.10 (Kirkstone)
------------------------------------------
Security Fixes in Yocto-4.0.10
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- binutils: Fix :cve:`2023-1579`, :cve:`2023-1972`, :cve_mitre:`2023-25584`, :cve_mitre:`2023-25585` and :cve_mitre:`2023-25588`
- cargo : Ignore :cve:`2022-46176`
- connman: Fix :cve:`2023-28488`
- curl: Fix :cve:`2023-27533`, :cve:`2023-27534`, :cve:`2023-27535`, :cve:`2023-27536` and :cve:`2023-27538`
- ffmpeg: Fix :cve:`2022-48434`
- freetype: Fix :cve:`2023-2004`
- ghostscript: Fix :cve_mitre:`2023-29979`
- git: Fix :cve:`2023-25652` and :cve:`2023-29007`
- go: Fix :cve:`2022-41722`, :cve:`2022-41724`, :cve:`2022-41725`, :cve:`2023-24534`, :cve:`2023-24537` and :cve:`2023-24538`
- go: Ignore :cve:`2022-41716`
- libxml2: Fix :cve:`2023-28484` and :cve:`2023-29469`
- libxpm: Fix :cve:`2022-44617`, :cve:`2022-46285` and :cve:`2022-4883`
- linux-yocto: Ignore :cve:`2021-3759`, :cve:`2021-4135`, :cve:`2021-4155`, :cve:`2022-0168`, :cve:`2022-0171`, :cve:`2022-1016`, :cve:`2022-1184`, :cve:`2022-1198`, :cve:`2022-1199`, :cve:`2022-1462`, :cve:`2022-1734`, :cve:`2022-1852`, :cve:`2022-1882`, :cve:`2022-1998`, :cve:`2022-2078`, :cve:`2022-2196`, :cve:`2022-2318`, :cve:`2022-2380`, :cve:`2022-2503`, :cve:`2022-26365`, :cve:`2022-2663`, :cve:`2022-2873`, :cve:`2022-2905`, :cve:`2022-2959`, :cve:`2022-3028`, :cve:`2022-3078`, :cve:`2022-3104`, :cve:`2022-3105`, :cve:`2022-3106`, :cve:`2022-3107`, :cve:`2022-3111`, :cve:`2022-3112`, :cve:`2022-3113`, :cve:`2022-3115`, :cve:`2022-3202`, :cve:`2022-32250`, :cve:`2022-32296`, :cve:`2022-32981`, :cve:`2022-3303`, :cve:`2022-33740`, :cve:`2022-33741`, :cve:`2022-33742`, :cve:`2022-33743`, :cve:`2022-33744`, :cve:`2022-33981`, :cve:`2022-3424`, :cve:`2022-3435`, :cve:`2022-34918`, :cve:`2022-3521`, :cve:`2022-3545`, :cve:`2022-3564`, :cve:`2022-3586`, :cve:`2022-3594`, :cve:`2022-36123`, :cve:`2022-3621`, :cve:`2022-3623`, :cve:`2022-3629`, :cve:`2022-3633`, :cve:`2022-3635`, :cve:`2022-3646`, :cve:`2022-3649`, :cve:`2022-36879`, :cve:`2022-36946`, :cve:`2022-3707`, :cve:`2022-39188`, :cve:`2022-39190`, :cve:`2022-39842`, :cve:`2022-40307`, :cve:`2022-40768`, :cve:`2022-4095`, :cve:`2022-41218`, :cve:`2022-4139`, :cve:`2022-41849`, :cve:`2022-41850`, :cve:`2022-41858`, :cve:`2022-42328`, :cve:`2022-42329`, :cve:`2022-42703`, :cve:`2022-42721`, :cve:`2022-42722`, :cve:`2022-42895`, :cve:`2022-4382`, :cve:`2022-4662`, :cve:`2022-47518`, :cve:`2022-47519`, :cve:`2022-47520`, :cve:`2022-47929`, :cve:`2023-0179`, :cve:`2023-0394`, :cve:`2023-0461`, :cve:`2023-0590`, :cve:`2023-1073`, :cve:`2023-1074`, :cve:`2023-1077`, :cve:`2023-1078`, :cve:`2023-1079`, :cve:`2023-1095`, :cve:`2023-1118`, :cve:`2023-1249`, :cve:`2023-1252`, :cve:`2023-1281`, :cve:`2023-1382`, :cve:`2023-1513`, :cve:`2023-1829`, :cve:`2023-1838`, :cve:`2023-1998`, :cve:`2023-2006`, :cve:`2023-2008`, :cve:`2023-2162`, :cve:`2023-2166`, :cve:`2023-2177`, :cve:`2023-22999`, :cve:`2023-23002`, :cve:`2023-23004`, :cve:`2023-23454`, :cve:`2023-23455`, :cve:`2023-23559`, :cve:`2023-25012`, :cve:`2023-26545`, :cve:`2023-28327` and :cve:`2023-28328`
- nasm: Fix :cve:`2022-44370`
- python3-cryptography: Fix :cve:`2023-23931`
- qemu: Ignore :cve:`2023-0664`
- ruby: Fix :cve:`2023-28755` and :cve:`2023-28756`
- screen: Fix :cve:`2023-24626`
- shadow: Fix :cve:`2023-29383`
- tiff: Fix :cve:`2022-4645`
- webkitgtk: Fix :cve:`2022-32888` and :cve:`2022-32923`
- xserver-xorg: Fix :cve:`2023-1393`
Fixes in Yocto-4.0.10
~~~~~~~~~~~~~~~~~~~~~
- bitbake: bin/utils: Ensure locale en_US.UTF-8 is available on the system
- build-appliance-image: Update to kirkstone head revision
- cmake: add CMAKE_SYSROOT to generated toolchain file
- glibc: stable 2.35 branch updates.
- kernel-devsrc: depend on python3-core instead of python3
- kernel: improve initramfs bundle processing time
- libarchive: Enable acls, xattr for native as well as target
- libbsd: Add correct license for all packages
- libpam: Fix the xtests/tst-pam_motd[1|3] failures
- libxpm: upgrade to 3.5.15
- linux-firmware: upgrade to 20230404
- linux-yocto/5.15: upgrade to v5.15.108
- migration-guides: add release-notes for 4.0.9
- oeqa/utils/metadata.py: Fix running oe-selftest running with no distro set
- openssl: Move microblaze to linux-latomic config
- package.bbclass: correct check for /build in copydebugsources()
- poky.conf: bump version for 4.0.10
- populate_sdk_base: add zip options
- populate_sdk_ext.bbclass: set :term:`METADATA_REVISION` with an :term:`DISTRO` override
- run-postinsts: Set dependency for ldconfig to avoid boot issues
- update-alternatives.bbclass: fix old override syntax
- wic/bootimg-efi: if fixed-size is set then use that for mkdosfs
- wpebackend-fdo: upgrade to 1.14.2
- xorg-lib-common: Add variable to set tarball type
- xserver-xorg: upgrade to 21.1.8
Known Issues in Yocto-4.0.10
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- N/A
Contributors to Yocto-4.0.10
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Archana Polampalli
- Arturo Buzarra
- Bruce Ashfield
- Christoph Lauer
- Deepthi Hemraj
- Dmitry Baryshkov
- Frank de Brabander
- Hitendra Prajapati
- Joe Slater
- Kai Kang
- Kyle Russell
- Lee Chee Yang
- Mark Hatle
- Martin Jansa
- Mingli Yu
- Narpat Mali
- Pascal Bach
- Pawan Badganchi
- Peter Bergin
- Peter Marko
- Piotr Łobacz
- Randolph Sapp
- Ranjitsinh Rathod
- Ross Burton
- Shubham Kulkarni
- Siddharth Doshi
- Steve Sakoman
- Sundeep KOKKONDA
- Thomas Roos
- Virendra Thakur
- Vivek Kumbhar
- Wang Mingyu
- Xiangyu Chen
- Yash Shinde
- Yoann Congal
- Yogita Urade
- Zhixiong Chi
Repositories / Downloads for Yocto-4.0.10
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poky
- Repository Location: :yocto_git:`/poky`
- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.10 </poky/log/?h=yocto-4.0.10>`
- Git Revision: :yocto_git:`f53ab3a2ff206a130cdc843839dd0ea5ec4ad02f </poky/commit/?id=f53ab3a2ff206a130cdc843839dd0ea5ec4ad02f>`
- Release Artefact: poky-f53ab3a2ff206a130cdc843839dd0ea5ec4ad02f
- sha: 8820aeac857ce6bbd1c7ef26cadbb86eca02be93deded253b4a5f07ddd69255d
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.10/poky-f53ab3a2ff206a130cdc843839dd0ea5ec4ad02f.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.10/poky-f53ab3a2ff206a130cdc843839dd0ea5ec4ad02f.tar.bz2
openembedded-core
- Repository Location: :oe_git:`/openembedded-core`
- Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
- Tag: :oe_git:`yocto-4.0.10 </openembedded-core/log/?h=yocto-4.0.10>`
- Git Revision: :oe_git:`d2713785f9cd2d58731df877bc8b7bcc71b6c8e6 </openembedded-core/commit/?id=d2713785f9cd2d58731df877bc8b7bcc71b6c8e6>`
- Release Artefact: oecore-d2713785f9cd2d58731df877bc8b7bcc71b6c8e6
- sha: 78e084a1aceaaa6ec022702f29f80eaffade3159e9c42b6b8985c1b7ddd2fbab
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.10/oecore-d2713785f9cd2d58731df877bc8b7bcc71b6c8e6.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.10/oecore-d2713785f9cd2d58731df877bc8b7bcc71b6c8e6.tar.bz2
meta-mingw
- Repository Location: :yocto_git:`/meta-mingw`
- Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.10 </meta-mingw/log/?h=yocto-4.0.10>`
- Git Revision: :yocto_git:`a90614a6498c3345704e9611f2842eb933dc51c1 </meta-mingw/commit/?id=a90614a6498c3345704e9611f2842eb933dc51c1>`
- Release Artefact: meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1
- sha: 49f9900bfbbc1c68136f8115b314e95d0b7f6be75edf36a75d9bcd1cca7c6302
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.10/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.10/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
meta-gplv2
- Repository Location: :yocto_git:`/meta-gplv2`
- Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.10 </meta-gplv2/log/?h=yocto-4.0.10>`
- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.10/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.10/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
bitbake
- Repository Location: :oe_git:`/bitbake`
- Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
- Tag: :oe_git:`yocto-4.0.10 </bitbake/log/?h=yocto-4.0.10>`
- Git Revision: :oe_git:`0c6f86b60cfba67c20733516957c0a654eb2b44c </bitbake/commit/?id=0c6f86b60cfba67c20733516957c0a654eb2b44c>`
- Release Artefact: bitbake-0c6f86b60cfba67c20733516957c0a654eb2b44c
- sha: 4caa94ee4d644017b0cc51b702e330191677f7d179018cbcec8b1793949ebc74
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.10/bitbake-0c6f86b60cfba67c20733516957c0a654eb2b44c.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.10/bitbake-0c6f86b60cfba67c20733516957c0a654eb2b44c.tar.bz2
yocto-docs
- Repository Location: :yocto_git:`/yocto-docs`
- Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.10 </yocto-docs/log/?h=yocto-4.0.10>`
- Git Revision: :yocto_git:`8388be749806bd0bf4fccf1005dae8f643aa4ef4 </yocto-docs/commit/?id=8388be749806bd0bf4fccf1005dae8f643aa4ef4>`

View File

@@ -7,7 +7,7 @@ Security Fixes in Yocto-4.0.7
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- binutils: Fix :cve:`2022-4285`
- curl: Fix :cve:`2022-43551` and `CVE-2022-43552 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-43552>`__
- curl: Fix :cve:`2022-43551` and :cve_mitre:`2022-43552`
- ffmpeg: Fix :cve:`2022-3109` and :cve:`2022-3341`
- go: Fix :cve:`2022-41715` and :cve:`2022-41717`
- libX11: Fix :cve:`2022-3554` and :cve:`2022-3555`
@@ -24,7 +24,7 @@ Security Fixes in Yocto-4.0.7
- sqlite: Fix :cve:`2022-46908`
- systemd: Fix :cve:`2022-45873`
- vim: Fix :cve:`2023-0049`, :cve:`2023-0051`, :cve:`2023-0054` and :cve:`2023-0088`
- webkitgtk: Fix :cve:`2022-32886`, `CVE-2022-32891 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-32891>`__ and :cve:`2022-32912`
- webkitgtk: Fix :cve:`2022-32886`, :cve_mitre:`2022-32891`
Fixes in Yocto-4.0.7

View File

@@ -0,0 +1,247 @@
Release notes for Yocto-4.0.9 (Kirkstone)
-----------------------------------------
Security Fixes in Yocto-4.0.9
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- binutils: Fix :cve:`2023-22608`
- curl: Fix :cve:`2023-23914`, :cve:`2023-23915` and :cve:`2023-23916`
- epiphany: Fix :cve:`2023-26081`
- git: Ignore :cve:`2023-22743`
- glibc: Fix :cve:`2023-0687`
- gnutls: Fix :cve:`2023-0361`
- go: Fix :cve:`2022-2879`, :cve:`2022-41720` and :cve:`2022-41723`
- harfbuzz: Fix :cve:`2023-25193`
- less: Fix :cve:`2022-46663`
- libmicrohttpd: Fix :cve:`2023-27371`
- libsdl2: Fix :cve:`2022-4743`
- openssl: Fix :cve:`2022-3996`, :cve:`2023-0464`, :cve:`2023-0465` and :cve:`2023-0466`
- pkgconf: Fix :cve:`2023-24056`
- python3: Fix :cve:`2023-24329`
- shadow: Ignore :cve:`2016-15024`
- systemd: Fix :cve:`2022-4415`
- tiff: Fix :cve:`2023-0800`, :cve:`2023-0801`, :cve:`2023-0802`, :cve:`2023-0803` and :cve:`2023-0804`
- vim: Fix :cve:`2023-0433`, :cve:`2023-0512`, :cve:`2023-1127`, :cve:`2023-1170`, :cve:`2023-1175`, :cve:`2023-1264` and :cve:`2023-1355`
- xserver-xorg: Fix :cve:`2023-0494`
- xwayland: Fix :cve:`2023-0494`
Fixes in Yocto-4.0.9
~~~~~~~~~~~~~~~~~~~~
- base-files: Drop localhost.localdomain from hosts file
- binutils: Fix nativesdk ld.so search
- bitbake: cookerdata: Drop dubious exception handling code
- bitbake: cookerdata: Improve early exception handling
- bitbake: cookerdata: Remove incorrect SystemExit usage
- bitbake: fetch/git: Fix local clone url to make it work with repo
- bitbake: utils: Allow to_boolean to support int values
- bmap-tools: switch to main branch
- buildtools-tarball: Handle spaces within user $PATH
- busybox: Fix depmod patch
- cracklib: update github branch to 'main'
- cups: add/fix web interface packaging
- cups: check PACKAGECONFIG for pam feature
- cups: use BUILDROOT instead of DESTDIR
- curl: fix dependencies when building with ldap/ldaps
- cve-check: Fix false negative version issue
- dbus: upgrade to 1.14.6
- devtool/upgrade: do not delete the workspace/recipes directory
- dhcpcd: Fix install conflict when enable multilib.
- dhcpcd: fix dhcpcd start failure on qemuppc64
- gcc-shared-source: do not use ${S}/.. in deploy_source_date_epoch
- glibc: Add missing binutils dependency
- image_types: fix multiubi var init
- iso-codes: upgrade to 4.13.0
- json-c: Add ptest for json-c
- kernel-yocto: fix kernel-meta data detection
- lib/buildstats: handle tasks that never finished
- lib/resulttool: fix typo breaking resulttool log --ptest
- libjpeg-turbo: upgrade to 2.1.5.1
- libmicrohttpd: upgrade to 0.9.76
- libseccomp: fix for the ptest result format
- libssh2: Clean up ptest patch/coverage
- linux-firmware: add yamato fw files to qcom-adreno-a2xx package
- linux-firmware: properly set license for all Qualcomm firmware
- linux-firmware: upgrade to 20230210
- linux-yocto-rt/5.15: update to -rt59
- linux-yocto/5.10: upgrade to v5.10.175
- linux-yocto/5.15: upgrade to v5.15.103
- linux: inherit pkgconfig in kernel.bbclass
- lttng-modules: fix for kernel 6.2+
- lttng-modules: upgrade to v2.13.9
- lua: Fix install conflict when enable multilib.
- mdadm: Fix raid0, 06wrmostly and 02lineargrow tests
- meson: Fix wrapper handling of implicit setup command
- migration-guides: add 4.0.8 release notes
- nghttp2: never build python bindings
- oeqa rtc.py: skip if read-only-rootfs
- oeqa ssh.py: fix hangs in run()
- oeqa/sdk: Improve Meson test
- oeqa/selftest/prservice: Improve debug output for failure
- oeqa/selftest/resulttooltests: fix minor typo
- openssl: upgrade to 3.0.8
- package.bbclase: Add check for /build in copydebugsources()
- patchelf: replace a rejected patch with an equivalent uninative.bbclass tweak
- poky.conf: bump version for 4.0.9
- populate_sdk_ext: Handle spaces within user $PATH
- pybootchartui: Fix python syntax issue
- python3-git: fix indent error
- python3-setuptools-rust-native: Add direct dependency of native python3 modules
- qemu: Revert "fix :cve:`2021-3507`" as not applicable for qemu 6.2
- rsync: Add missing prototypes to function declarations
- rsync: Turn on -pedantic-errors at the end of 'configure'
- runqemu: kill qemu if it hangs
- scripts/lib/buildstats: handle top-level build_stats not being complete
- selftest/recipetool: Stop test corrupting tinfoil class
- selftest/runtime_test/virgl: Disable for all Rocky Linux
- selftest: devtool: set BB_HASHSERVE_UPSTREAM when setting SSTATE_MIRROR
- sstatesig: Improve output hash calculation
- staging/multilib: Fix manifest corruption
- staging: Separate out different multiconfig manifests
- sudo: update 1.9.12p2 -> 1.9.13p3
- systemd.bbclass: Add /usr/lib/systemd to searchpaths as well
- systemd: add group sgx to udev package
- systemd: fix wrong nobody-group assignment
- timezone: use 'tz' subdir instead of ${WORKDIR} directly
- toolchain-scripts: Handle spaces within user $PATH
- tzcode-native: fix build with gcc-13 on host
- tzdata: use separate B instead of WORKDIR for zic output
- uninative: upgrade to 3.9 to include libgcc and glibc 2.37
- vala: Fix install conflict when enable multilib.
- vim: add missing pkgconfig inherit
- vim: set modified-by to the recipe MAINTAINER
- vim: upgrade to 9.0.1429
- wic: Fix usage of fstype=none in wic
- wireless-regdb: upgrade to 2023.02.13
- xserver-xorg: upgrade to 21.1.7
- xwayland: upgrade to 22.1.8
Known Issues in Yocto-4.0.9
~~~~~~~~~~~~~~~~~~~~~~~~~~~
- N/A
Contributors to Yocto-4.0.9
~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Alexander Kanavin
- Alexis Lothoré
- Bruce Ashfield
- Changqing Li
- Chee Yang Lee
- Dmitry Baryshkov
- Federico Pellegrin
- Geoffrey GIRY
- Hitendra Prajapati
- Hongxu Jia
- Joe Slater
- Kai Kang
- Kenfe-Mickael Laventure
- Khem Raj
- Martin Jansa
- Mateusz Marciniec
- Michael Halstead
- Michael Opdenacker
- Mikko Rapeli
- Ming Liu
- Mingli Yu
- Narpat Mali
- Pavel Zhukov
- Pawan Badganchi
- Peter Marko
- Piotr Łobacz
- Poonam Jadhav
- Randy MacLeod
- Richard Purdie
- Robert Yang
- Romuald Jeanne
- Ross Burton
- Sakib Sajal
- Saul Wold
- Shubham Kulkarni
- Siddharth Doshi
- Simone Weiss
- Steve Sakoman
- Tim Orling
- Tom Hochstein
- Trevor Woerner
- Ulrich Ölmann
- Vivek Kumbhar
- Wang Mingyu
- Xiangyu Chen
- Yash Shinde
Repositories / Downloads for Yocto-4.0.9
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poky
- Repository Location: :yocto_git:`/poky`
- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.9 </poky/log/?h=yocto-4.0.9>`
- Git Revision: :yocto_git:`09def309f91929f47c6cce386016ccb777bd2cfc </poky/commit/?id=09def309f91929f47c6cce386016ccb777bd2cfc>`
- Release Artefact: poky-09def309f91929f47c6cce386016ccb777bd2cfc
- sha: 5c7ce209c8a6b37ec2898e5ca21858234d91999c11fa862880ba98e8bde62f63
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.9/poky-09def309f91929f47c6cce386016ccb777bd2cfc.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.9/poky-09def309f91929f47c6cce386016ccb777bd2cfc.tar.bz2
openembedded-core
- Repository Location: :oe_git:`/openembedded-core`
- Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
- Tag: :oe_git:`yocto-4.0.9 </openembedded-core/log/?h=yocto-4.0.9>`
- Git Revision: :oe_git:`ff4b57ffff903a93b710284c7c7f916ddd74712f </openembedded-core/commit/?id=ff4b57ffff903a93b710284c7c7f916ddd74712f>`
- Release Artefact: oecore-ff4b57ffff903a93b710284c7c7f916ddd74712f
- sha: 726778ffc291136db1704316b196de979f68df9f96476b785e1791957fbb66b3
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.9/oecore-ff4b57ffff903a93b710284c7c7f916ddd74712f.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.9/oecore-ff4b57ffff903a93b710284c7c7f916ddd74712f.tar.bz2
meta-mingw
- Repository Location: :yocto_git:`/meta-mingw`
- Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.9 </meta-mingw/log/?h=yocto-4.0.9>`
- Git Revision: :yocto_git:`a90614a6498c3345704e9611f2842eb933dc51c1 </meta-mingw/commit/?id=a90614a6498c3345704e9611f2842eb933dc51c1>`
- Release Artefact: meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1
- sha: 49f9900bfbbc1c68136f8115b314e95d0b7f6be75edf36a75d9bcd1cca7c6302
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.9/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.9/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
meta-gplv2
- Repository Location: :yocto_git:`/meta-gplv2`
- Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.9 </meta-gplv2/log/?h=yocto-4.0.9>`
- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.9/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.9/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
bitbake
- Repository Location: :oe_git:`/bitbake`
- Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
- Tag: :oe_git:`yocto-4.0.9 </bitbake/log/?h=yocto-4.0.9>`
- Git Revision: :oe_git:`2802adb572eb73a3eb2725a74a9bbdaafc543fa7 </bitbake/commit/?id=2802adb572eb73a3eb2725a74a9bbdaafc543fa7>`
- Release Artefact: bitbake-2802adb572eb73a3eb2725a74a9bbdaafc543fa7
- sha: 5c6e713b5e26b3835c0773095c7a1bc1f8affa28316b33597220ed86f1f1b643
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.9/bitbake-2802adb572eb73a3eb2725a74a9bbdaafc543fa7.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.9/bitbake-2802adb572eb73a3eb2725a74a9bbdaafc543fa7.tar.bz2
yocto-docs
- Repository Location: :yocto_git:`/yocto-docs`
- Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.9 </yocto-docs/log/?h=yocto-4.0.9>`
- Git Revision: :yocto_git:`86d0b38a97941ad52b1af220c7b801a399d50e93 </yocto-docs/commit/?id=86d0b38a97941ad52b1af220c7b801a399d50e93>`

View File

@@ -1982,7 +1982,7 @@ Thanks to this, the depending tasks will keep a previously recorded
task hash, and BitBake will be able to retrieve their output from
the Shared State cache, instead of re-executing them. Similarly, the
output of further downstream tasks can also be retrieved from Shared
Shate.
State.
If the output hash is unknown, a new entry will be created on the Hash
Equivalence server, matching the task hash to that output.

View File

@@ -2401,20 +2401,21 @@ tracer writes to, blktrace provides a way to trace without perturbing
the traced device at all by providing native support for sending all
trace data over the network.
To have blktrace operate in this mode, start blktrace on the target
system being traced with the -l option, along with the device to trace::
To have blktrace operate in this mode, start blktrace in server mode on the
host system, which is going to store the captured data::
root@crownbay:~# blktrace -l /dev/sdc
$ blktrace -l
server: waiting for connections...
On the host system, use the -h option to connect to the target system,
also passing it the device to trace::
On the target system that is going to be traced, start blktrace in client
mode with the -h option to connect to the host system, also passing it the
device to trace::
$ blktrace -d /dev/sdc -h 192.168.1.43
root@crownbay:~# blktrace -d /dev/sdc -h 192.168.1.43
blktrace: connecting to 192.168.1.43
blktrace: connected!
On the target system, you should see this::
On the host system, you should see this::
server: connection from 192.168.1.43
@@ -2424,7 +2425,7 @@ In another shell, execute a workload you want to trace. ::
Connecting to downloads.yoctoproject.org (140.211.169.59:80)
linux-2.6.19.2.tar.b 100% \|*******************************\| 41727k 0:00:00 ETA
When it's done, do a Ctrl-C on the host system to stop the
When it's done, do a Ctrl-C on the target system to stop the
trace::
^C=== sdc ===
@@ -2432,7 +2433,7 @@ trace::
CPU 1: 4109 events, 193 KiB data
Total: 11800 events (dropped 0), 554 KiB data
On the target system, you should also see a trace summary for the trace
On the host system, you should also see a trace summary for the trace
just ended::
server: end of run for 192.168.1.43:sdc

View File

@@ -7298,7 +7298,7 @@ system and gives an overview of their function and contents.
that if you want to build a fixed revision and you want to avoid
performing a query on the remote repository every time BitBake parses
your recipe, you should specify a :term:`SRCREV` that is a full revision
identifier and not just a tag.
identifier (e.g. the full SHA hash in git) and not just a tag.
.. note::

View File

@@ -1,7 +1,7 @@
DISTRO = "poky"
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
#DISTRO_VERSION = "3.4+snapshot-${METADATA_REVISION}"
DISTRO_VERSION = "4.0.9"
DISTRO_VERSION = "4.0.11"
DISTRO_CODENAME = "kirkstone"
SDK_VENDOR = "-pokysdk"
SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}"

View File

@@ -85,9 +85,12 @@ def map_host_arch_to_uname_arch(host_arch):
return "ppc64"
return host_arch
cmake_do_generate_toolchain_file() {
if [ "${BUILD_SYS}" = "${HOST_SYS}" ]; then
cmake_crosscompiling="set( CMAKE_CROSSCOMPILING FALSE )"
else
cmake_sysroot="set( CMAKE_SYSROOT \"${RECIPE_SYSROOT}\" )"
fi
cat > ${WORKDIR}/toolchain.cmake <<EOF
# CMake system name must be something like "Linux".
@@ -120,6 +123,8 @@ set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
set( CMAKE_PROGRAM_PATH "/" )
$cmake_sysroot
# Use qt.conf settings
set( ENV{QT_CONF_PATH} ${WORKDIR}/qt.conf )

View File

@@ -26,7 +26,7 @@ CVE_PRODUCT ??= "${BPN}"
CVE_VERSION ??= "${PV}"
CVE_CHECK_DB_DIR ?= "${DL_DIR}/CVE_CHECK"
CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/nvdcve_1.1.db"
CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/nvdcve_2.db"
CVE_CHECK_DB_FILE_LOCK ?= "${CVE_CHECK_DB_FILE}.lock"
CVE_CHECK_LOG ?= "${T}/cve.log"
@@ -155,7 +155,7 @@ python do_cve_check () {
}
addtask cve_check before do_build
do_cve_check[depends] = "cve-update-db-native:do_fetch"
do_cve_check[depends] = "cve-update-nvd2-native:do_fetch"
do_cve_check[nostamp] = "1"
python cve_check_cleanup () {

View File

@@ -122,7 +122,7 @@ go_do_install() {
tar -C ${B} -cf - --exclude-vcs --exclude '*.test' --exclude 'testdata' pkg | \
tar -C ${D}${libdir}/go --no-same-owner -xf -
if [ -n "`ls ${B}/${GO_BUILD_BINDIR}/`" ]; then
if ls ${B}/${GO_BUILD_BINDIR}/* >/dev/null 2>/dev/null ; then
install -d ${D}${bindir}
install -m 0755 ${B}/${GO_BUILD_BINDIR}/* ${D}${bindir}/
fi

View File

@@ -6,7 +6,12 @@ python () {
d.appendVar("PACKAGES", " ${KERNEL_PACKAGE_NAME}-image-zimage-bundle")
}
FILES:${KERNEL_PACKAGE_NAME}-devicetree = "/${KERNEL_IMAGEDEST}/*.dtb /${KERNEL_IMAGEDEST}/*.dtbo"
# recursivly search for devicetree files
FILES:${KERNEL_PACKAGE_NAME}-devicetree = " \
/${KERNEL_DTBDEST}/**/*.dtb \
/${KERNEL_DTBDEST}/**/*.dtbo \
"
FILES:${KERNEL_PACKAGE_NAME}-image-zimage-bundle = "/${KERNEL_IMAGEDEST}/zImage-*.dtb.bin"
# Generate kernel+devicetree bundle
@@ -67,12 +72,16 @@ do_compile:append() {
}
do_install:append() {
install -d ${D}/${KERNEL_DTBDEST}
for dtbf in ${KERNEL_DEVICETREE}; do
dtb=`normalize_dtb "$dtbf"`
dtb_ext=${dtb##*.}
dtb_base_name=`basename $dtb .$dtb_ext`
dtb_path=`get_real_dtb_path_in_kernel "$dtb"`
install -m 0644 $dtb_path ${D}/${KERNEL_IMAGEDEST}/$dtb_base_name.$dtb_ext
if "${@'false' if oe.types.boolean(d.getVar('KERNEL_DTBVENDORED')) else 'true'}"; then
dtb_ext=${dtb##*.}
dtb_base_name=`basename $dtb .$dtb_ext`
dtb=$dtb_base_name.$dtb_ext
fi
install -Dm 0644 $dtb_path ${D}/${KERNEL_DTBDEST}/$dtb
done
}
@@ -82,7 +91,10 @@ do_deploy:append() {
dtb_ext=${dtb##*.}
dtb_base_name=`basename $dtb .$dtb_ext`
install -d $deployDir
install -m 0644 ${D}/${KERNEL_IMAGEDEST}/$dtb_base_name.$dtb_ext $deployDir/$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext
if "${@'false' if oe.types.boolean(d.getVar('KERNEL_DTBVENDORED')) else 'true'}"; then
dtb=$dtb_base_name.$dtb_ext
fi
install -m 0644 ${D}/${KERNEL_DTBDEST}/$dtb $deployDir/$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext
if [ "${KERNEL_IMAGETYPE_SYMLINK}" = "1" ] ; then
ln -sf $dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext $deployDir/$dtb_base_name.$dtb_ext
fi

View File

@@ -210,6 +210,8 @@ KERNEL_RELEASE ?= "${KERNEL_VERSION}"
# The directory where built kernel lies in the kernel tree
KERNEL_OUTPUT_DIR ?= "arch/${ARCH}/boot"
KERNEL_IMAGEDEST ?= "boot"
KERNEL_DTBDEST ?= "${KERNEL_IMAGEDEST}"
KERNEL_DTBVENDORED ?= "0"
#
# configuration
@@ -230,7 +232,7 @@ KERNEL_EXTRA_ARGS ?= ""
EXTRA_OEMAKE += ' CC="${KERNEL_CC}" LD="${KERNEL_LD}"'
EXTRA_OEMAKE += ' HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}"'
EXTRA_OEMAKE += ' HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}" PAHOLE=false'
EXTRA_OEMAKE += ' HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}"'
KERNEL_ALT_IMAGETYPE ??= ""
@@ -377,7 +379,7 @@ kernel_do_compile() {
use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio
fi
for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do
oe_runmake ${typeformake} ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
oe_runmake ${PARALLEL_MAKE} ${typeformake} ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
done
}

View File

@@ -223,7 +223,7 @@ def find_license_files(d):
bb.fatal('%s: %s' % (d.getVar('PF'), exc))
except SyntaxError:
oe.qa.handle_error("license-syntax",
"%s: Failed to parse it's LICENSE field." % (d.getVar('PF')), d)
"%s: Failed to parse LICENSE: %s" % (d.getVar('PF'), d.getVar('LICENSE')), d)
# Add files from LIC_FILES_CHKSUM to list of license files
lic_chksum_paths = defaultdict(OrderedDict)
for path, data in sorted(lic_chksums.items()):

View File

@@ -262,7 +262,7 @@ def files_from_filevars(filevars):
f = '.' + f
if not f.startswith("./"):
f = './' + f
globbed = glob.glob(f)
globbed = glob.glob(f, recursive=True)
if globbed:
if [ f ] != globbed:
files += globbed
@@ -638,7 +638,7 @@ def copydebugsources(debugsrcdir, sources, d):
if os.path.exists(dvar + debugsrcdir + sdir):
# Special case for /build since we need to move into
# /usr/src/debug/build so rename sdir to build.build
if sdir.find("/build") == 0:
if sdir == "/build" or sdir.find("/build/") == 0:
cmd = "mv %s%s%s %s%s%s" % (dvar, debugsrcdir, "/build", dvar, debugsrcdir, "/build.build")
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
sdir = sdir.replace("/build", "/build.build", 1)

View File

@@ -53,6 +53,8 @@ TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}"
SDK_ARCHIVE_TYPE ?= "tar.xz"
SDK_XZ_COMPRESSION_LEVEL ?= "-9"
SDK_XZ_OPTIONS ?= "${XZ_DEFAULTS} ${SDK_XZ_COMPRESSION_LEVEL}"
SDK_ZIP_OPTIONS ?= "-y"
# To support different sdk type according to SDK_ARCHIVE_TYPE, now support zip and tar.xz
python () {
@@ -60,7 +62,7 @@ python () {
d.setVar('SDK_ARCHIVE_DEPENDS', 'zip-native')
# SDK_ARCHIVE_CMD used to generate archived sdk ${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} from input dir ${SDK_OUTPUT}/${SDKPATH} to output dir ${SDKDEPLOYDIR}
# recommand to cd into input dir first to avoid archive with buildpath
d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; zip -r -y ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} .')
d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; zip -r ${SDK_ZIP_OPTIONS} ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} .')
else:
d.setVar('SDK_ARCHIVE_DEPENDS', 'xz-native')
d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz ${SDK_XZ_OPTIONS} > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}')

View File

@@ -363,7 +363,8 @@ python copy_buildsystem () {
f.write('BUILDCFG_HEADER = ""\n\n')
# Write METADATA_REVISION
f.write('METADATA_REVISION = "%s"\n\n' % d.getVar('METADATA_REVISION'))
# Needs distro override so it can override the value set in the bbclass code (later than local.conf)
f.write('METADATA_REVISION:%s = "%s"\n\n' % (d.getVar('DISTRO'), d.getVar('METADATA_REVISION')))
f.write('# Provide a flag to indicate we are in the EXT_SDK Context\n')
f.write('WITHIN_EXT_SDK = "1"\n\n')

View File

@@ -648,7 +648,7 @@ python staging_taskhandler() {
bbtasks = e.tasklist
for task in bbtasks:
deps = d.getVarFlag(task, "depends")
if task == "do_configure" or (deps and "populate_sysroot" in deps):
if task != 'do_prepare_recipe_sysroot' and (task == "do_configure" or (deps and "populate_sysroot" in deps)):
d.prependVarFlag(task, "prefuncs", "extend_recipe_sysroot ")
}
staging_taskhandler[eventmask] = "bb.event.RecipeTaskPreProcess"

View File

@@ -80,10 +80,10 @@ def gen_updatealternativesvardeps(d):
for p in pkgs:
for v in vars:
for flag in sorted((d.getVarFlags("%s_%s" % (v,p)) or {}).keys()):
for flag in sorted((d.getVarFlags("%s:%s" % (v,p)) or {}).keys()):
if flag == "doc" or flag == "vardeps" or flag == "vardepsexp":
continue
d.appendVar('%s_VARDEPS_%s' % (v,p), ' %s:%s' % (flag, d.getVarFlag('%s_%s' % (v,p), flag, False)))
d.appendVar('%s_VARDEPS_%s' % (v,p), ' %s:%s' % (flag, d.getVarFlag('%s:%s' % (v,p), flag, False)))
def ua_extend_depends(d):
if not 'virtual/update-alternatives' in d.getVar('PROVIDES'):

View File

@@ -948,7 +948,7 @@ BB_HASHCONFIG_IGNORE_VARS ?= "${BB_HASHEXCLUDE_COMMON} DATE TIME SSH_AGENT_PID \
PARALLEL_MAKE BB_NUMBER_THREADS BB_ORIGENV BB_INVALIDCONF BBINCLUDED \
GIT_PROXY_COMMAND ALL_PROXY all_proxy NO_PROXY no_proxy FTP_PROXY ftp_proxy \
HTTP_PROXY http_proxy HTTPS_PROXY https_proxy SOCKS5_USER SOCKS5_PASSWD \
BB_SETSCENE_ENFORCE BB_CMDLINE BB_SERVER_TIMEOUT"
BB_SETSCENE_ENFORCE BB_CMDLINE BB_SERVER_TIMEOUT BB_NICE_LEVEL"
BB_SIGNATURE_EXCLUDE_FLAGS ?= "doc deps depends \
lockfiles vardepsexclude vardeps vardepvalue vardepvalueexclude \
file-checksums python task nostamp \

View File

@@ -15,6 +15,11 @@
# the aim of sharing that work and ensuring we don't duplicate it.
#
#cargo https://nvd.nist.gov/vuln/detail/CVE-2022-46176
#cargo security advisor https://blog.rust-lang.org/2023/01/10/cve-2022-46176.html
#This CVE is a security issue when using cargo ssh. In kirkstone, rust 1.59.0 is used and the rust on-target is not supported, so the target images are not vulnerable to the cve.
#The bitbake using the 'wget' (which uses 'https') for fetching the sources instead of ssh. So, the cargo-native are also not vulnerable to this cve and so added to excluded list.
CVE_CHECK_IGNORE += "CVE-2022-46176"
# strace https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2000-0006
# CVE is more than 20 years old with no resolution evident

View File

@@ -280,7 +280,7 @@ RECIPE_MAINTAINER:pn-intltool = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-iproute2 = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER:pn-iptables = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER:pn-iputils = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER:pn-iso-codes = "Wang Mingyu <wangmy@cn.ujitsu.com>"
RECIPE_MAINTAINER:pn-iso-codes = "Wang Mingyu <wangmy@cn.fujitsu.com>"
RECIPE_MAINTAINER:pn-itstool = "Andreas Müller <schnitzeltony@gmail.com>"
RECIPE_MAINTAINER:pn-iw = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER:pn-libjpeg-turbo = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -700,7 +700,7 @@ RECIPE_MAINTAINER:pn-quilt-native = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER:pn-quota = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-re2c = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-readline = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER:pn-repo = "Jasper Orschulko <Jasper.Orschulko@iris-sensing.com>"
RECIPE_MAINTAINER:pn-repo = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-resolvconf = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER:pn-rgb = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-rpcbind = "Hongxu Jia <hongxu.jia@windriver.com>"

View File

@@ -7,9 +7,9 @@
#
UNINATIVE_MAXGLIBCVERSION = "2.37"
UNINATIVE_VERSION = "3.9"
UNINATIVE_VERSION = "4.0"
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/"
UNINATIVE_CHECKSUM[aarch64] ?= "de35708c95c34573af140da910132c3291ba4fd26ebf7b74b755ada432cdf07b"
UNINATIVE_CHECKSUM[i686] ?= "adac07b08adb88eb26fc7fd87fee0cec9d5be167bf7c5ffd3a549a2a6699c29c"
UNINATIVE_CHECKSUM[x86_64] ?= "3dd82c3fbdb59e87bf091c3eef555a05fae528eeda3083828f76cd4deaceca8b"
UNINATIVE_CHECKSUM[aarch64] ?= "7baa8418a302df52e00916193b0a04f318356d9d2670c9a2bce3e966efefd738"
UNINATIVE_CHECKSUM[i686] ?= "83114d36883d43a521e280742b9849bf85d039b2f83d8e21d480659babe75ee8"
UNINATIVE_CHECKSUM[x86_64] ?= "fd75b2a1a67a10f6b7d65afb7d0f3e71a63b0038e428f34dfe420bb37716558a"

View File

@@ -245,7 +245,7 @@ class OpkgPM(OpkgDpkgPM):
"""
if (self.d.getVar('FEED_DEPLOYDIR_BASE_URI') or "") != "":
for arch in self.pkg_archs.split():
cfg_file_name = os.path.join(self.target_rootfs,
cfg_file_name = oe.path.join(self.target_rootfs,
self.d.getVar("sysconfdir"),
"opkg",
"local-%s-feed.conf" % arch)

View File

@@ -62,7 +62,7 @@ class PkgManifest(Manifest):
if len(pkgs_to_install) == 0:
return
output = pm.dummy_install(pkgs_to_install).decode('utf-8')
output = pm.dummy_install(pkgs_to_install)
with open(self.full_manifest, 'w+') as manifest:
pkg_re = re.compile('^Installing ([^ ]+) [^ ].*')

View File

@@ -102,6 +102,10 @@ class Rxvt(XTerminal):
command = 'rxvt -T "{title}" -e {command}'
priority = 1
class URxvt(XTerminal):
command = 'urxvt -T "{title}" -e {command}'
priority = 1
class Screen(Terminal):
command = 'screen -D -m -t "{title}" -S devshell {command}'

View File

@@ -8,6 +8,7 @@ import shutil
import tempfile
import glob
import fnmatch
import unittest
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, create_temp_layer
@@ -38,6 +39,13 @@ def setUpModule():
canonical_layerpath = os.path.realpath(canonical_layerpath) + '/'
edited_layers.append(layerpath)
oldmetapath = os.path.realpath(layerpath)
# when downloading poky from tar.gz some tests will be skipped (BUG 12389)
try:
runCmd('git rev-parse --is-inside-work-tree', cwd=canonical_layerpath)
except:
raise unittest.SkipTest("devtool tests require folder to be a git repo")
result = runCmd('git rev-parse --show-toplevel', cwd=canonical_layerpath)
oldreporoot = result.output.rstrip()
newmetapath = os.path.join(corecopydir, os.path.relpath(oldmetapath, oldreporoot))

View File

@@ -149,7 +149,7 @@ class ReproducibleTests(OESelftestTestCase):
def setUpLocal(self):
super().setUpLocal()
needed_vars = ['TOPDIR', 'TARGET_PREFIX', 'BB_NUMBER_THREADS']
needed_vars = ['TOPDIR', 'TARGET_PREFIX', 'BB_NUMBER_THREADS', 'BB_HASHSERVE']
bb_vars = get_bb_vars(needed_vars)
for v in needed_vars:
setattr(self, v.lower(), bb_vars[v])
@@ -223,7 +223,7 @@ class ReproducibleTests(OESelftestTestCase):
# mirror, forcing a complete build from scratch
config += textwrap.dedent('''\
SSTATE_DIR = "${TMPDIR}/sstate"
SSTATE_MIRRORS = ""
SSTATE_MIRRORS = "file://.*/.*-native.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH file://.*/.*-cross.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"
''')
self.logger.info("Building %s (sstate%s allowed)..." % (name, '' if use_sstate else ' NOT'))

View File

@@ -27,9 +27,9 @@ def metadata_from_bb():
data_dict = get_bb_vars()
# Distro information
info_dict['distro'] = {'id': data_dict['DISTRO'],
'version_id': data_dict['DISTRO_VERSION'],
'pretty_name': '%s %s' % (data_dict['DISTRO'], data_dict['DISTRO_VERSION'])}
info_dict['distro'] = {'id': data_dict.get('DISTRO', 'NODISTRO'),
'version_id': data_dict.get('DISTRO_VERSION', 'NO_DISTRO_VERSION'),
'pretty_name': '%s %s' % (data_dict.get('DISTRO', 'NODISTRO'), data_dict.get('DISTRO_VERSION', 'NO_DISTRO_VERSION'))}
# Host distro information
os_release = get_os_release()

View File

@@ -83,7 +83,6 @@ RRECOMMENDS:${PN}:append:libc-glibc = " libnss-mdns"
do_install() {
autotools_do_install
rm -rf ${D}/run
rm -rf ${D}${datadir}/dbus-1/interfaces
test -d ${D}${datadir}/dbus-1 && rmdir --ignore-fail-on-non-empty ${D}${datadir}/dbus-1
rm -rf ${D}${libdir}/avahi
@@ -135,7 +134,7 @@ FILES:avahi-daemon = "${sbindir}/avahi-daemon \
${sysconfdir}/avahi/services \
${sysconfdir}/dbus-1 \
${sysconfdir}/init.d/avahi-daemon \
${datadir}/avahi/introspection/*.introspect \
${datadir}/dbus-1/interfaces \
${datadir}/avahi/avahi-service.dtd \
${datadir}/avahi/service-types \
${datadir}/dbus-1/system-services"

View File

@@ -0,0 +1,60 @@
From 99e2c16ea1cced34a5dc450d76287a1c3e762138 Mon Sep 17 00:00:00 2001
From: Daniel Wagner <wagi@monom.org>
Date: Tue, 11 Apr 2023 08:12:56 +0200
Subject: gdhcp: Verify and sanitize packet length first
Avoid overwriting the read packet length after the initial test. Thus
move all the length checks which depends on the total length first
and do not use the total lenght from the IP packet afterwards.
Reported by Polina Smirnova <moe.hwr@gmail.com>
CVE: CVE-2023-28488
Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=99e2c16ea1cced34a5dc450d76287a1c3e762138]
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
gdhcp/client.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/gdhcp/client.c b/gdhcp/client.c
index 3016dfc..28fa606 100644
--- a/gdhcp/client.c
+++ b/gdhcp/client.c
@@ -1319,9 +1319,9 @@ static bool sanity_check(struct ip_udp_dhcp_packet *packet, int bytes)
static int dhcp_recv_l2_packet(struct dhcp_packet *dhcp_pkt, int fd,
struct sockaddr_in *dst_addr)
{
- int bytes;
struct ip_udp_dhcp_packet packet;
uint16_t check;
+ int bytes, tot_len;
memset(&packet, 0, sizeof(packet));
@@ -1329,15 +1329,17 @@ static int dhcp_recv_l2_packet(struct dhcp_packet *dhcp_pkt, int fd,
if (bytes < 0)
return -1;
- if (bytes < (int) (sizeof(packet.ip) + sizeof(packet.udp)))
- return -1;
-
- if (bytes < ntohs(packet.ip.tot_len))
+ tot_len = ntohs(packet.ip.tot_len);
+ if (bytes > tot_len) {
+ /* ignore any extra garbage bytes */
+ bytes = tot_len;
+ } else if (bytes < tot_len) {
/* packet is bigger than sizeof(packet), we did partial read */
return -1;
+ }
- /* ignore any extra garbage bytes */
- bytes = ntohs(packet.ip.tot_len);
+ if (bytes < (int) (sizeof(packet.ip) + sizeof(packet.udp)))
+ return -1;
if (!sanity_check(&packet, bytes))
return -1;
--
2.25.1

View File

@@ -8,6 +8,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
file://CVE-2022-32293_p1.patch \
file://CVE-2022-32293_p2.patch \
file://CVE-2022-32292.patch \
file://CVE-2023-28488.patch \
"
SRC_URI:append:libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch"

View File

@@ -9,9 +9,7 @@ HOMEPAGE = "http://roy.marples.name/projects/dhcpcd/"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d148485768fe85b9f1072b186a7e9b4d"
UPSTREAM_CHECK_URI = "https://roy.marples.name/downloads/dhcpcd/"
SRC_URI = "https://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz \
SRC_URI = "git://github.com/NetworkConfiguration/dhcpcd;protocol=https;branch=dhcpcd-9 \
file://0001-remove-INCLUDEDIR-to-prevent-build-issues.patch \
file://0001-20-resolv.conf-improve-the-sitation-of-working-with-.patch \
file://0001-privsep-Allow-getrandom-sysctl-for-newer-glibc.patch \
@@ -22,7 +20,8 @@ SRC_URI = "https://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz \
file://0001-dhcpcd.8-Fix-conflict-error-when-enable-multilib.patch \
"
SRC_URI[sha256sum] = "819357634efed1ea5cf44ec01b24d3d3f8852fec8b4249925dcc5667c54e376c"
SRCREV = "3c458fc7fa4146029a1e4f9e98cd7e7adf03081a"
S = "${WORKDIR}/git"
inherit pkgconfig autotools-brokensep systemd useradd

View File

@@ -0,0 +1,35 @@
From 91889b5a3e7554af474a21ce8e1ffd3eb1542f06 Mon Sep 17 00:00:00 2001
From: "djm@openbsd.org" <djm@openbsd.org>
Date: Thu, 9 Mar 2023 06:58:26 +0000
Subject: [PATCH] upstream: include destination constraints for smartcard keys
too.
Spotted by Luci Stanescu; ok deraadt@ markus@
OpenBSD-Commit-ID: add879fac6903a1cb1d1e42c4309e5359c3d870f
CVE: CVE-2023-28531
Upstream-Status: Backport [54ac4ab2b53ce9fcb66b8250dee91c070e4167ed]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
authfd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/authfd.c b/authfd.c
index 76e48aab..dca8e55b 100644
--- a/authfd.c
+++ b/authfd.c
@@ -665,7 +665,7 @@ ssh_update_card(int sock, int add, const char *reader_id, const char *pin,
struct dest_constraint **dest_constraints, size_t ndest_constraints)
{
struct sshbuf *msg;
- int r, constrained = (life || confirm);
+ int r, constrained = (life || confirm || dest_constraints);
u_char type;
if (add) {
--
2.37.1

View File

@@ -0,0 +1,984 @@
From 7280401bdd77ca54be6867a154cc01e0d72612e0 Mon Sep 17 00:00:00 2001
From: Damien Miller <djm@mindrot.org>
Date: Fri, 24 Mar 2023 13:56:25 +1100
Subject: [PATCH] remove support for old libcrypto
OpenSSH now requires LibreSSL 3.1.0 or greater or
OpenSSL 1.1.1 or greater
with/ok dtucker@
Upstream-Status: Backport [https://github.com/openssh/openssh-portable/commit/7280401bdd77ca54be6867a154cc01e0d72612e0]
Comment: Hunk are refreshed, removed couple of hunks from configure.ac as hunk code is not prasent
and backported to the existing code.
Signed-off-by: Riyaz Khan <Riyaz.Khan@kpit.com>
---
.github/workflows/c-cpp.yml | 7 -
INSTALL | 8 +-
cipher-aes.c | 2 +-
configure.ac | 96 ++---
openbsd-compat/libressl-api-compat.c | 556 +--------------------------
openbsd-compat/openssl-compat.h | 151 +-------
6 files changed, 40 insertions(+), 780 deletions(-)
diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml
index 3d9aa22dba5..d299a32468d 100644
--- a/.github/workflows/c-cpp.yml
+++ b/.github/workflows/c-cpp.yml
@@ -40,18 +40,11 @@
- { os: ubuntu-20.04, configs: tcmalloc }
- { os: ubuntu-20.04, configs: musl }
- { os: ubuntu-latest, configs: libressl-master }
- - { os: ubuntu-latest, configs: libressl-2.2.9 }
- - { os: ubuntu-latest, configs: libressl-2.8.3 }
- - { os: ubuntu-latest, configs: libressl-3.0.2 }
- { os: ubuntu-latest, configs: libressl-3.2.6 }
- { os: ubuntu-latest, configs: libressl-3.3.4 }
- { os: ubuntu-latest, configs: libressl-3.4.1 }
- { os: ubuntu-latest, configs: openssl-master }
- { os: ubuntu-latest, configs: openssl-noec }
- - { os: ubuntu-latest, configs: openssl-1.0.1 }
- - { os: ubuntu-latest, configs: openssl-1.0.1u }
- - { os: ubuntu-latest, configs: openssl-1.0.2u }
- - { os: ubuntu-latest, configs: openssl-1.1.0h }
- { os: ubuntu-latest, configs: openssl-1.1.1 }
- { os: ubuntu-latest, configs: openssl-1.1.1k }
- { os: ubuntu-latest, configs: openssl-3.0.0 }
diff --git a/INSTALL b/INSTALL
index 68b15e13190..f99d1e2a809 100644
--- a/INSTALL
+++ b/INSTALL
@@ -21,12 +21,8 @@ https://zlib.net/
libcrypto from either of LibreSSL or OpenSSL. Building without libcrypto
is supported but severely restricts the available ciphers and algorithms.
- - LibreSSL (https://www.libressl.org/)
- - OpenSSL (https://www.openssl.org) with any of the following versions:
- - 1.0.x >= 1.0.1 or 1.1.0 >= 1.1.0g or any 1.1.1
-
-Note that due to a bug in EVP_CipherInit OpenSSL 1.1 versions prior to
-1.1.0g can't be used.
+ - LibreSSL (https://www.libressl.org/) 3.1.0 or greater
+ - OpenSSL (https://www.openssl.org) 1.1.1 or greater
LibreSSL/OpenSSL should be compiled as a position-independent library
(i.e. -fPIC, eg by configuring OpenSSL as "./config [options] -fPIC"
diff --git a/cipher-aes.c b/cipher-aes.c
index 8b101727284..87c763353d8 100644
--- a/cipher-aes.c
+++ b/cipher-aes.c
@@ -69,7 +69,7 @@ ssh_rijndael_init(EVP_CIPHER_CTX *ctx, const u_char *key, const u_char *iv,
static int
ssh_rijndael_cbc(EVP_CIPHER_CTX *ctx, u_char *dest, const u_char *src,
- LIBCRYPTO_EVP_INL_TYPE len)
+ size_t len)
{
struct ssh_rijndael_ctx *c;
u_char buf[RIJNDAEL_BLOCKSIZE];
diff --git a/configure.ac b/configure.ac
index 22fee70f604..1c0ccdf19c5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2744,42 +2744,40 @@
#include <openssl/crypto.h>
#define DATA "conftest.ssllibver"
]], [[
- FILE *fd;
- int rc;
+ FILE *f;
- fd = fopen(DATA,"w");
- if(fd == NULL)
+ if ((f = fopen(DATA, "w")) == NULL)
exit(1);
-#ifndef OPENSSL_VERSION
-# define OPENSSL_VERSION SSLEAY_VERSION
-#endif
-#ifndef HAVE_OPENSSL_VERSION
-# define OpenSSL_version SSLeay_version
-#endif
-#ifndef HAVE_OPENSSL_VERSION_NUM
-# define OpenSSL_version_num SSLeay
-#endif
- if ((rc = fprintf(fd, "%08lx (%s)\n",
+ if (fprintf(f, "%08lx (%s)",
(unsigned long)OpenSSL_version_num(),
- OpenSSL_version(OPENSSL_VERSION))) < 0)
+ OpenSSL_version(OPENSSL_VERSION)) < 0)
+ exit(1);
+#ifdef LIBRESSL_VERSION_NUMBER
+ if (fprintf(f, " libressl-%08lx", LIBRESSL_VERSION_NUMBER) < 0)
+ exit(1);
+#endif
+ if (fputc('\n', f) == EOF || fclose(f) == EOF)
exit(1);
-
exit(0);
]])],
[
- ssl_library_ver=`cat conftest.ssllibver`
+ sslver=`cat conftest.ssllibver`
+ ssl_showver=`echo "$sslver" | sed 's/ libressl-.*//'`
# Check version is supported.
- case "$ssl_library_ver" in
- 10000*|0*)
- AC_MSG_ERROR([OpenSSL >= 1.0.1 required (have "$ssl_library_ver")])
- ;;
- 100*) ;; # 1.0.x
- 101000[[0123456]]*)
- # https://github.com/openssl/openssl/pull/4613
- AC_MSG_ERROR([OpenSSL 1.1.x versions prior to 1.1.0g have a bug that breaks their use with OpenSSH (have "$ssl_library_ver")])
+ case "$sslver" in
+ 100*|10100*) # 1.0.x, 1.1.0x
+ AC_MSG_ERROR([OpenSSL >= 1.1.1 required (have "$ssl_showver")])
;;
101*) ;; # 1.1.x
- 200*) ;; # LibreSSL
+ 200*) # LibreSSL
+ lver=`echo "$sslver" | sed 's/.*libressl-//'`
+ case "$lver" in
+ 2*|300*) # 2.x, 3.0.0
+ AC_MSG_ERROR([LibreSSL >= 3.1.0 required (have "$ssl_showver")])
+ ;;
+ *) ;; # Assume all other versions are good.
+ esac
+ ;;
300*) ;; # OpenSSL 3
301*) ;; # OpenSSL development branch.
*)
@@ -2781,10 +2781,10 @@
300*) ;; # OpenSSL 3
301*) ;; # OpenSSL development branch.
*)
- AC_MSG_ERROR([Unknown/unsupported OpenSSL version ("$ssl_library_ver")])
+ AC_MSG_ERROR([Unknown/unsupported OpenSSL version ("$ssl_showver")])
;;
esac
- AC_MSG_RESULT([$ssl_library_ver])
+ AC_MSG_RESULT([$ssl_showver])
],
[
AC_MSG_RESULT([not found])
@@ -2804,9 +2804,6 @@
#include <openssl/opensslv.h>
#include <openssl/crypto.h>
]], [[
-#ifndef HAVE_OPENSSL_VERSION_NUM
-# define OpenSSL_version_num SSLeay
-#endif
exit(OpenSSL_version_num() == OPENSSL_VERSION_NUMBER ? 0 : 1);
]])],
[
@@ -2881,44 +2878,13 @@
)
)
- # LibreSSL/OpenSSL 1.1x API
+ # LibreSSL/OpenSSL API differences
AC_CHECK_FUNCS([ \
- OPENSSL_init_crypto \
- DH_get0_key \
- DH_get0_pqg \
- DH_set0_key \
- DH_set_length \
- DH_set0_pqg \
- DSA_get0_key \
- DSA_get0_pqg \
- DSA_set0_key \
- DSA_set0_pqg \
- DSA_SIG_get0 \
- DSA_SIG_set0 \
- ECDSA_SIG_get0 \
- ECDSA_SIG_set0 \
EVP_CIPHER_CTX_iv \
EVP_CIPHER_CTX_iv_noconst \
EVP_CIPHER_CTX_get_iv \
EVP_CIPHER_CTX_get_updated_iv \
EVP_CIPHER_CTX_set_iv \
- RSA_get0_crt_params \
- RSA_get0_factors \
- RSA_get0_key \
- RSA_set0_crt_params \
- RSA_set0_factors \
- RSA_set0_key \
- RSA_meth_free \
- RSA_meth_dup \
- RSA_meth_set1_name \
- RSA_meth_get_finish \
- RSA_meth_set_priv_enc \
- RSA_meth_set_priv_dec \
- RSA_meth_set_finish \
- EVP_PKEY_get0_RSA \
- EVP_MD_CTX_new \
- EVP_MD_CTX_free \
- EVP_chacha20 \
])
if test "x$openssl_engine" = "xyes" ; then
@@ -3040,8 +3006,8 @@
fi
AC_CHECK_FUNCS([crypt DES_crypt])
- # Check for SHA256, SHA384 and SHA512 support in OpenSSL
- AC_CHECK_FUNCS([EVP_sha256 EVP_sha384 EVP_sha512])
+ # Check for various EVP support in OpenSSL
+ AC_CHECK_FUNCS([EVP_sha256 EVP_sha384 EVP_sha512 EVP_chacha20])
# Check complete ECC support in OpenSSL
AC_MSG_CHECKING([whether OpenSSL has NID_X9_62_prime256v1])
diff --git a/openbsd-compat/libressl-api-compat.c b/openbsd-compat/libressl-api-compat.c
index 498180dc894..59be17397c5 100644
--- a/openbsd-compat/libressl-api-compat.c
+++ b/openbsd-compat/libressl-api-compat.c
@@ -1,129 +1,5 @@
-/* $OpenBSD: dsa_lib.c,v 1.29 2018/04/14 07:09:21 tb Exp $ */
-/* $OpenBSD: rsa_lib.c,v 1.37 2018/04/14 07:09:21 tb Exp $ */
-/* $OpenBSD: evp_lib.c,v 1.17 2018/09/12 06:35:38 djm Exp $ */
-/* $OpenBSD: dh_lib.c,v 1.32 2018/05/02 15:48:38 tb Exp $ */
-/* $OpenBSD: p_lib.c,v 1.24 2018/05/30 15:40:50 tb Exp $ */
-/* $OpenBSD: digest.c,v 1.30 2018/04/14 07:09:21 tb Exp $ */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- *
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to. The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code. The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * "This product includes cryptographic software written by
- * Eric Young (eay@cryptsoft.com)"
- * The word 'cryptographic' can be left out if the rouines from the library
- * being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
- * the apps directory (application code) you must include an acknowledgement:
- * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed. i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-/* $OpenBSD: dsa_asn1.c,v 1.22 2018/06/14 17:03:19 jsing Exp $ */
-/* $OpenBSD: ecs_asn1.c,v 1.9 2018/03/17 15:24:44 tb Exp $ */
-/* $OpenBSD: digest.c,v 1.30 2018/04/14 07:09:21 tb Exp $ */
-/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
- * project 2000.
- */
-/* ====================================================================
- * Copyright (c) 2000-2005 The OpenSSL Project. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. All advertising materials mentioning features or use of this
- * software must display the following acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
- *
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
- * endorse or promote products derived from this software without
- * prior written permission. For written permission, please contact
- * licensing@OpenSSL.org.
- *
- * 5. Products derived from this software may not be called "OpenSSL"
- * nor may "OpenSSL" appear in their names without prior written
- * permission of the OpenSSL Project.
- *
- * 6. Redistributions of any form whatsoever must retain the following
- * acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
- *
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- * ====================================================================
- *
- * This product includes cryptographic software written by Eric Young
- * (eay@cryptsoft.com). This product includes software written by Tim
- * Hudson (tjh@cryptsoft.com).
- *
- */
-
-/* $OpenBSD: rsa_meth.c,v 1.2 2018/09/12 06:35:38 djm Exp $ */
/*
- * Copyright (c) 2018 Theo Buehler <tb@openbsd.org>
+ * Copyright (c) 2018 Damien Miller <djm@mindrot.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -147,192 +23,7 @@
#include <stdlib.h>
#include <string.h>
-#include <openssl/err.h>
-#include <openssl/bn.h>
-#include <openssl/dsa.h>
-#include <openssl/rsa.h>
#include <openssl/evp.h>
-#ifdef OPENSSL_HAS_ECC
-#include <openssl/ecdsa.h>
-#endif
-#include <openssl/dh.h>
-
-#ifndef HAVE_DSA_GET0_PQG
-void
-DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
-{
- if (p != NULL)
- *p = d->p;
- if (q != NULL)
- *q = d->q;
- if (g != NULL)
- *g = d->g;
-}
-#endif /* HAVE_DSA_GET0_PQG */
-
-#ifndef HAVE_DSA_SET0_PQG
-int
-DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-{
- if ((d->p == NULL && p == NULL) || (d->q == NULL && q == NULL) ||
- (d->g == NULL && g == NULL))
- return 0;
-
- if (p != NULL) {
- BN_free(d->p);
- d->p = p;
- }
- if (q != NULL) {
- BN_free(d->q);
- d->q = q;
- }
- if (g != NULL) {
- BN_free(d->g);
- d->g = g;
- }
-
- return 1;
-}
-#endif /* HAVE_DSA_SET0_PQG */
-
-#ifndef HAVE_DSA_GET0_KEY
-void
-DSA_get0_key(const DSA *d, const BIGNUM **pub_key, const BIGNUM **priv_key)
-{
- if (pub_key != NULL)
- *pub_key = d->pub_key;
- if (priv_key != NULL)
- *priv_key = d->priv_key;
-}
-#endif /* HAVE_DSA_GET0_KEY */
-
-#ifndef HAVE_DSA_SET0_KEY
-int
-DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key)
-{
- if (d->pub_key == NULL && pub_key == NULL)
- return 0;
-
- if (pub_key != NULL) {
- BN_free(d->pub_key);
- d->pub_key = pub_key;
- }
- if (priv_key != NULL) {
- BN_free(d->priv_key);
- d->priv_key = priv_key;
- }
-
- return 1;
-}
-#endif /* HAVE_DSA_SET0_KEY */
-
-#ifndef HAVE_RSA_GET0_KEY
-void
-RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)
-{
- if (n != NULL)
- *n = r->n;
- if (e != NULL)
- *e = r->e;
- if (d != NULL)
- *d = r->d;
-}
-#endif /* HAVE_RSA_GET0_KEY */
-
-#ifndef HAVE_RSA_SET0_KEY
-int
-RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d)
-{
- if ((r->n == NULL && n == NULL) || (r->e == NULL && e == NULL))
- return 0;
-
- if (n != NULL) {
- BN_free(r->n);
- r->n = n;
- }
- if (e != NULL) {
- BN_free(r->e);
- r->e = e;
- }
- if (d != NULL) {
- BN_free(r->d);
- r->d = d;
- }
-
- return 1;
-}
-#endif /* HAVE_RSA_SET0_KEY */
-
-#ifndef HAVE_RSA_GET0_CRT_PARAMS
-void
-RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1,
- const BIGNUM **iqmp)
-{
- if (dmp1 != NULL)
- *dmp1 = r->dmp1;
- if (dmq1 != NULL)
- *dmq1 = r->dmq1;
- if (iqmp != NULL)
- *iqmp = r->iqmp;
-}
-#endif /* HAVE_RSA_GET0_CRT_PARAMS */
-
-#ifndef HAVE_RSA_SET0_CRT_PARAMS
-int
-RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp)
-{
- if ((r->dmp1 == NULL && dmp1 == NULL) ||
- (r->dmq1 == NULL && dmq1 == NULL) ||
- (r->iqmp == NULL && iqmp == NULL))
- return 0;
-
- if (dmp1 != NULL) {
- BN_free(r->dmp1);
- r->dmp1 = dmp1;
- }
- if (dmq1 != NULL) {
- BN_free(r->dmq1);
- r->dmq1 = dmq1;
- }
- if (iqmp != NULL) {
- BN_free(r->iqmp);
- r->iqmp = iqmp;
- }
-
- return 1;
-}
-#endif /* HAVE_RSA_SET0_CRT_PARAMS */
-
-#ifndef HAVE_RSA_GET0_FACTORS
-void
-RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q)
-{
- if (p != NULL)
- *p = r->p;
- if (q != NULL)
- *q = r->q;
-}
-#endif /* HAVE_RSA_GET0_FACTORS */
-
-#ifndef HAVE_RSA_SET0_FACTORS
-int
-RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q)
-{
- if ((r->p == NULL && p == NULL) || (r->q == NULL && q == NULL))
- return 0;
-
- if (p != NULL) {
- BN_free(r->p);
- r->p = p;
- }
- if (q != NULL) {
- BN_free(r->q);
- r->q = q;
- }
-
- return 1;
-}
-#endif /* HAVE_RSA_SET0_FACTORS */
#ifndef HAVE_EVP_CIPHER_CTX_GET_IV
int
@@ -392,249 +83,4 @@ EVP_CIPHER_CTX_set_iv(EVP_CIPHER_CTX *ctx, const unsigned char *iv, size_t len)
}
#endif /* HAVE_EVP_CIPHER_CTX_SET_IV */
-#ifndef HAVE_DSA_SIG_GET0
-void
-DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps)
-{
- if (pr != NULL)
- *pr = sig->r;
- if (ps != NULL)
- *ps = sig->s;
-}
-#endif /* HAVE_DSA_SIG_GET0 */
-
-#ifndef HAVE_DSA_SIG_SET0
-int
-DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s)
-{
- if (r == NULL || s == NULL)
- return 0;
-
- BN_clear_free(sig->r);
- sig->r = r;
- BN_clear_free(sig->s);
- sig->s = s;
-
- return 1;
-}
-#endif /* HAVE_DSA_SIG_SET0 */
-
-#ifdef OPENSSL_HAS_ECC
-#ifndef HAVE_ECDSA_SIG_GET0
-void
-ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps)
-{
- if (pr != NULL)
- *pr = sig->r;
- if (ps != NULL)
- *ps = sig->s;
-}
-#endif /* HAVE_ECDSA_SIG_GET0 */
-
-#ifndef HAVE_ECDSA_SIG_SET0
-int
-ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
-{
- if (r == NULL || s == NULL)
- return 0;
-
- BN_clear_free(sig->r);
- BN_clear_free(sig->s);
- sig->r = r;
- sig->s = s;
- return 1;
-}
-#endif /* HAVE_ECDSA_SIG_SET0 */
-#endif /* OPENSSL_HAS_ECC */
-
-#ifndef HAVE_DH_GET0_PQG
-void
-DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
-{
- if (p != NULL)
- *p = dh->p;
- if (q != NULL)
- *q = dh->q;
- if (g != NULL)
- *g = dh->g;
-}
-#endif /* HAVE_DH_GET0_PQG */
-
-#ifndef HAVE_DH_SET0_PQG
-int
-DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-{
- if ((dh->p == NULL && p == NULL) || (dh->g == NULL && g == NULL))
- return 0;
-
- if (p != NULL) {
- BN_free(dh->p);
- dh->p = p;
- }
- if (q != NULL) {
- BN_free(dh->q);
- dh->q = q;
- }
- if (g != NULL) {
- BN_free(dh->g);
- dh->g = g;
- }
-
- return 1;
-}
-#endif /* HAVE_DH_SET0_PQG */
-
-#ifndef HAVE_DH_GET0_KEY
-void
-DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key)
-{
- if (pub_key != NULL)
- *pub_key = dh->pub_key;
- if (priv_key != NULL)
- *priv_key = dh->priv_key;
-}
-#endif /* HAVE_DH_GET0_KEY */
-
-#ifndef HAVE_DH_SET0_KEY
-int
-DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key)
-{
- if (pub_key != NULL) {
- BN_free(dh->pub_key);
- dh->pub_key = pub_key;
- }
- if (priv_key != NULL) {
- BN_free(dh->priv_key);
- dh->priv_key = priv_key;
- }
-
- return 1;
-}
-#endif /* HAVE_DH_SET0_KEY */
-
-#ifndef HAVE_DH_SET_LENGTH
-int
-DH_set_length(DH *dh, long length)
-{
- if (length < 0 || length > INT_MAX)
- return 0;
-
- dh->length = length;
- return 1;
-}
-#endif /* HAVE_DH_SET_LENGTH */
-
-#ifndef HAVE_RSA_METH_FREE
-void
-RSA_meth_free(RSA_METHOD *meth)
-{
- if (meth != NULL) {
- free((char *)meth->name);
- free(meth);
- }
-}
-#endif /* HAVE_RSA_METH_FREE */
-
-#ifndef HAVE_RSA_METH_DUP
-RSA_METHOD *
-RSA_meth_dup(const RSA_METHOD *meth)
-{
- RSA_METHOD *copy;
-
- if ((copy = calloc(1, sizeof(*copy))) == NULL)
- return NULL;
- memcpy(copy, meth, sizeof(*copy));
- if ((copy->name = strdup(meth->name)) == NULL) {
- free(copy);
- return NULL;
- }
-
- return copy;
-}
-#endif /* HAVE_RSA_METH_DUP */
-
-#ifndef HAVE_RSA_METH_SET1_NAME
-int
-RSA_meth_set1_name(RSA_METHOD *meth, const char *name)
-{
- char *copy;
-
- if ((copy = strdup(name)) == NULL)
- return 0;
- free((char *)meth->name);
- meth->name = copy;
- return 1;
-}
-#endif /* HAVE_RSA_METH_SET1_NAME */
-
-#ifndef HAVE_RSA_METH_GET_FINISH
-int
-(*RSA_meth_get_finish(const RSA_METHOD *meth))(RSA *rsa)
-{
- return meth->finish;
-}
-#endif /* HAVE_RSA_METH_GET_FINISH */
-
-#ifndef HAVE_RSA_METH_SET_PRIV_ENC
-int
-RSA_meth_set_priv_enc(RSA_METHOD *meth, int (*priv_enc)(int flen,
- const unsigned char *from, unsigned char *to, RSA *rsa, int padding))
-{
- meth->rsa_priv_enc = priv_enc;
- return 1;
-}
-#endif /* HAVE_RSA_METH_SET_PRIV_ENC */
-
-#ifndef HAVE_RSA_METH_SET_PRIV_DEC
-int
-RSA_meth_set_priv_dec(RSA_METHOD *meth, int (*priv_dec)(int flen,
- const unsigned char *from, unsigned char *to, RSA *rsa, int padding))
-{
- meth->rsa_priv_dec = priv_dec;
- return 1;
-}
-#endif /* HAVE_RSA_METH_SET_PRIV_DEC */
-
-#ifndef HAVE_RSA_METH_SET_FINISH
-int
-RSA_meth_set_finish(RSA_METHOD *meth, int (*finish)(RSA *rsa))
-{
- meth->finish = finish;
- return 1;
-}
-#endif /* HAVE_RSA_METH_SET_FINISH */
-
-#ifndef HAVE_EVP_PKEY_GET0_RSA
-RSA *
-EVP_PKEY_get0_RSA(EVP_PKEY *pkey)
-{
- if (pkey->type != EVP_PKEY_RSA) {
- /* EVPerror(EVP_R_EXPECTING_AN_RSA_KEY); */
- return NULL;
- }
- return pkey->pkey.rsa;
-}
-#endif /* HAVE_EVP_PKEY_GET0_RSA */
-
-#ifndef HAVE_EVP_MD_CTX_NEW
-EVP_MD_CTX *
-EVP_MD_CTX_new(void)
-{
- return calloc(1, sizeof(EVP_MD_CTX));
-}
-#endif /* HAVE_EVP_MD_CTX_NEW */
-
-#ifndef HAVE_EVP_MD_CTX_FREE
-void
-EVP_MD_CTX_free(EVP_MD_CTX *ctx)
-{
- if (ctx == NULL)
- return;
-
- EVP_MD_CTX_cleanup(ctx);
-
- free(ctx);
-}
-#endif /* HAVE_EVP_MD_CTX_FREE */
-
#endif /* WITH_OPENSSL */
diff --git a/openbsd-compat/openssl-compat.h b/openbsd-compat/openssl-compat.h
index 61a69dd56eb..d0dd2c3450d 100644
--- a/openbsd-compat/openssl-compat.h
+++ b/openbsd-compat/openssl-compat.h
@@ -33,26 +33,13 @@
int ssh_compatible_openssl(long, long);
void ssh_libcrypto_init(void);
-#if (OPENSSL_VERSION_NUMBER < 0x1000100fL)
-# error OpenSSL 1.0.1 or greater is required
+#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
+# error OpenSSL 1.1.0 or greater is required
#endif
-
-#ifndef OPENSSL_VERSION
-# define OPENSSL_VERSION SSLEAY_VERSION
-#endif
-
-#ifndef HAVE_OPENSSL_VERSION
-# define OpenSSL_version(x) SSLeay_version(x)
-#endif
-
-#ifndef HAVE_OPENSSL_VERSION_NUM
-# define OpenSSL_version_num SSLeay
-#endif
-
-#if OPENSSL_VERSION_NUMBER < 0x10000001L
-# define LIBCRYPTO_EVP_INL_TYPE unsigned int
-#else
-# define LIBCRYPTO_EVP_INL_TYPE size_t
+#ifdef LIBRESSL_VERSION_NUMBER
+# if LIBRESSL_VERSION_NUMBER < 0x3010000fL
+# error LibreSSL 3.1.0 or greater is required
+# endif
#endif
#ifndef OPENSSL_RSA_MAX_MODULUS_BITS
@@ -68,25 +55,6 @@ void ssh_libcrypto_init(void);
# endif
#endif
-/* LibreSSL/OpenSSL 1.1x API compat */
-#ifndef HAVE_DSA_GET0_PQG
-void DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q,
- const BIGNUM **g);
-#endif /* HAVE_DSA_GET0_PQG */
-
-#ifndef HAVE_DSA_SET0_PQG
-int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g);
-#endif /* HAVE_DSA_SET0_PQG */
-
-#ifndef HAVE_DSA_GET0_KEY
-void DSA_get0_key(const DSA *d, const BIGNUM **pub_key,
- const BIGNUM **priv_key);
-#endif /* HAVE_DSA_GET0_KEY */
-
-#ifndef HAVE_DSA_SET0_KEY
-int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key);
-#endif /* HAVE_DSA_SET0_KEY */
-
#ifndef HAVE_EVP_CIPHER_CTX_GET_IV
# ifdef HAVE_EVP_CIPHER_CTX_GET_UPDATED_IV
# define EVP_CIPHER_CTX_get_iv EVP_CIPHER_CTX_get_updated_iv
@@ -101,112 +69,5 @@ int EVP_CIPHER_CTX_set_iv(EVP_CIPHER_CTX *ctx,
const unsigned char *iv, size_t len);
#endif /* HAVE_EVP_CIPHER_CTX_SET_IV */
-#ifndef HAVE_RSA_GET0_KEY
-void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e,
- const BIGNUM **d);
-#endif /* HAVE_RSA_GET0_KEY */
-
-#ifndef HAVE_RSA_SET0_KEY
-int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
-#endif /* HAVE_RSA_SET0_KEY */
-
-#ifndef HAVE_RSA_GET0_CRT_PARAMS
-void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1,
- const BIGNUM **iqmp);
-#endif /* HAVE_RSA_GET0_CRT_PARAMS */
-
-#ifndef HAVE_RSA_SET0_CRT_PARAMS
-int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp);
-#endif /* HAVE_RSA_SET0_CRT_PARAMS */
-
-#ifndef HAVE_RSA_GET0_FACTORS
-void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q);
-#endif /* HAVE_RSA_GET0_FACTORS */
-
-#ifndef HAVE_RSA_SET0_FACTORS
-int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q);
-#endif /* HAVE_RSA_SET0_FACTORS */
-
-#ifndef DSA_SIG_GET0
-void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps);
-#endif /* DSA_SIG_GET0 */
-
-#ifndef DSA_SIG_SET0
-int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s);
-#endif /* DSA_SIG_SET0 */
-
-#ifdef OPENSSL_HAS_ECC
-#ifndef HAVE_ECDSA_SIG_GET0
-void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps);
-#endif /* HAVE_ECDSA_SIG_GET0 */
-
-#ifndef HAVE_ECDSA_SIG_SET0
-int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s);
-#endif /* HAVE_ECDSA_SIG_SET0 */
-#endif /* OPENSSL_HAS_ECC */
-
-#ifndef HAVE_DH_GET0_PQG
-void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q,
- const BIGNUM **g);
-#endif /* HAVE_DH_GET0_PQG */
-
-#ifndef HAVE_DH_SET0_PQG
-int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g);
-#endif /* HAVE_DH_SET0_PQG */
-
-#ifndef HAVE_DH_GET0_KEY
-void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key);
-#endif /* HAVE_DH_GET0_KEY */
-
-#ifndef HAVE_DH_SET0_KEY
-int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key);
-#endif /* HAVE_DH_SET0_KEY */
-
-#ifndef HAVE_DH_SET_LENGTH
-int DH_set_length(DH *dh, long length);
-#endif /* HAVE_DH_SET_LENGTH */
-
-#ifndef HAVE_RSA_METH_FREE
-void RSA_meth_free(RSA_METHOD *meth);
-#endif /* HAVE_RSA_METH_FREE */
-
-#ifndef HAVE_RSA_METH_DUP
-RSA_METHOD *RSA_meth_dup(const RSA_METHOD *meth);
-#endif /* HAVE_RSA_METH_DUP */
-
-#ifndef HAVE_RSA_METH_SET1_NAME
-int RSA_meth_set1_name(RSA_METHOD *meth, const char *name);
-#endif /* HAVE_RSA_METH_SET1_NAME */
-
-#ifndef HAVE_RSA_METH_GET_FINISH
-int (*RSA_meth_get_finish(const RSA_METHOD *meth))(RSA *rsa);
-#endif /* HAVE_RSA_METH_GET_FINISH */
-
-#ifndef HAVE_RSA_METH_SET_PRIV_ENC
-int RSA_meth_set_priv_enc(RSA_METHOD *meth, int (*priv_enc)(int flen,
- const unsigned char *from, unsigned char *to, RSA *rsa, int padding));
-#endif /* HAVE_RSA_METH_SET_PRIV_ENC */
-
-#ifndef HAVE_RSA_METH_SET_PRIV_DEC
-int RSA_meth_set_priv_dec(RSA_METHOD *meth, int (*priv_dec)(int flen,
- const unsigned char *from, unsigned char *to, RSA *rsa, int padding));
-#endif /* HAVE_RSA_METH_SET_PRIV_DEC */
-
-#ifndef HAVE_RSA_METH_SET_FINISH
-int RSA_meth_set_finish(RSA_METHOD *meth, int (*finish)(RSA *rsa));
-#endif /* HAVE_RSA_METH_SET_FINISH */
-
-#ifndef HAVE_EVP_PKEY_GET0_RSA
-RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey);
-#endif /* HAVE_EVP_PKEY_GET0_RSA */
-
-#ifndef HAVE_EVP_MD_CTX_new
-EVP_MD_CTX *EVP_MD_CTX_new(void);
-#endif /* HAVE_EVP_MD_CTX_new */
-
-#ifndef HAVE_EVP_MD_CTX_free
-void EVP_MD_CTX_free(EVP_MD_CTX *ctx);
-#endif /* HAVE_EVP_MD_CTX_free */
-
#endif /* WITH_OPENSSL */
#endif /* _OPENSSL_COMPAT_H */

View File

@@ -26,6 +26,8 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar
file://add-test-support-for-busybox.patch \
file://f107467179428a0e3ea9e4aa9738ac12ff02822d.patch \
file://0001-Default-to-not-using-sandbox-when-cross-compiling.patch \
file://7280401bdd77ca54be6867a154cc01e0d72612e0.patch \
file://0001-upstream-include-destination-constraints-for-smartca.patch \
"
SRC_URI[sha256sum] = "fd497654b7ab1686dac672fb83dfb4ba4096e8b5ffcdaccd262380ae58bec5e7"

View File

@@ -22,7 +22,7 @@ Index: openssl-3.0.4/Configure
}
-if ($target =~ /linux.*-mips/ && !$disabled{asm}
- && !grep { $_ !~ /-m(ips|arch=)/ } (@{$config{CFLAGS}})) {
- && !grep { $_ =~ /-m(ips|arch=)/ } (@{$config{CFLAGS}})) {
- # minimally required architecture flags for assembly modules
- my $value;
- $value = '-mips2' if ($target =~ /mips32/);

View File

@@ -1,225 +0,0 @@
From 959c59c7a0164117e7f8366466a32bb1f8d77ff1 Mon Sep 17 00:00:00 2001
From: Pauli <pauli@openssl.org>
Date: Wed, 8 Mar 2023 15:28:20 +1100
Subject: [PATCH] x509: excessive resource use verifying policy constraints
A security vulnerability has been identified in all supported versions
of OpenSSL related to the verification of X.509 certificate chains
that include policy constraints. Attackers may be able to exploit this
vulnerability by creating a malicious certificate chain that triggers
exponential use of computational resources, leading to a denial-of-service
(DoS) attack on affected systems.
Fixes CVE-2023-0464
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/20568)
Upstream-Status: Backport from [https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=959c59c7a0164117e7f8366466a32bb1f8d77ff1]
CVE: CVE-2023-0464
Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
---
crypto/x509/pcy_local.h | 8 +++++++-
crypto/x509/pcy_node.c | 12 +++++++++---
crypto/x509/pcy_tree.c | 36 ++++++++++++++++++++++++++----------
3 files changed, 42 insertions(+), 14 deletions(-)
diff --git a/crypto/x509/pcy_local.h b/crypto/x509/pcy_local.h
index 18b53cc..cba107c 100644
--- a/crypto/x509/pcy_local.h
+++ b/crypto/x509/pcy_local.h
@@ -111,6 +111,11 @@ struct X509_POLICY_LEVEL_st {
};
struct X509_POLICY_TREE_st {
+ /* The number of nodes in the tree */
+ size_t node_count;
+ /* The maximum number of nodes in the tree */
+ size_t node_maximum;
+
/* This is the tree 'level' data */
X509_POLICY_LEVEL *levels;
int nlevel;
@@ -157,7 +162,8 @@ X509_POLICY_NODE *ossl_policy_tree_find_sk(STACK_OF(X509_POLICY_NODE) *sk,
X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level,
X509_POLICY_DATA *data,
X509_POLICY_NODE *parent,
- X509_POLICY_TREE *tree);
+ X509_POLICY_TREE *tree,
+ int extra_data);
void ossl_policy_node_free(X509_POLICY_NODE *node);
int ossl_policy_node_match(const X509_POLICY_LEVEL *lvl,
const X509_POLICY_NODE *node, const ASN1_OBJECT *oid);
diff --git a/crypto/x509/pcy_node.c b/crypto/x509/pcy_node.c
index 9d9a7ea..450f95a 100644
--- a/crypto/x509/pcy_node.c
+++ b/crypto/x509/pcy_node.c
@@ -59,10 +59,15 @@ X509_POLICY_NODE *ossl_policy_level_find_node(const X509_POLICY_LEVEL *level,
X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level,
X509_POLICY_DATA *data,
X509_POLICY_NODE *parent,
- X509_POLICY_TREE *tree)
+ X509_POLICY_TREE *tree,
+ int extra_data)
{
X509_POLICY_NODE *node;
+ /* Verify that the tree isn't too large. This mitigates CVE-2023-0464 */
+ if (tree->node_maximum > 0 && tree->node_count >= tree->node_maximum)
+ return NULL;
+
node = OPENSSL_zalloc(sizeof(*node));
if (node == NULL) {
ERR_raise(ERR_LIB_X509V3, ERR_R_MALLOC_FAILURE);
@@ -70,7 +75,7 @@ X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level,
}
node->data = data;
node->parent = parent;
- if (level) {
+ if (level != NULL) {
if (OBJ_obj2nid(data->valid_policy) == NID_any_policy) {
if (level->anyPolicy)
goto node_error;
@@ -90,7 +95,7 @@ X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level,
}
}
- if (tree) {
+ if (extra_data) {
if (tree->extra_data == NULL)
tree->extra_data = sk_X509_POLICY_DATA_new_null();
if (tree->extra_data == NULL){
@@ -103,6 +108,7 @@ X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level,
}
}
+ tree->node_count++;
if (parent)
parent->nchild++;
diff --git a/crypto/x509/pcy_tree.c b/crypto/x509/pcy_tree.c
index fa45da5..f953a05 100644
--- a/crypto/x509/pcy_tree.c
+++ b/crypto/x509/pcy_tree.c
@@ -14,6 +14,17 @@
#include "pcy_local.h"
+/*
+ * If the maximum number of nodes in the policy tree isn't defined, set it to
+ * a generous default of 1000 nodes.
+ *
+ * Defining this to be zero means unlimited policy tree growth which opens the
+ * door on CVE-2023-0464.
+ */
+#ifndef OPENSSL_POLICY_TREE_NODES_MAX
+# define OPENSSL_POLICY_TREE_NODES_MAX 1000
+#endif
+
static void expected_print(BIO *channel,
X509_POLICY_LEVEL *lev, X509_POLICY_NODE *node,
int indent)
@@ -163,6 +174,9 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs,
return X509_PCY_TREE_INTERNAL;
}
+ /* Limit the growth of the tree to mitigate CVE-2023-0464 */
+ tree->node_maximum = OPENSSL_POLICY_TREE_NODES_MAX;
+
/*
* http://tools.ietf.org/html/rfc5280#section-6.1.2, figure 3.
*
@@ -180,7 +194,7 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs,
if ((data = ossl_policy_data_new(NULL,
OBJ_nid2obj(NID_any_policy), 0)) == NULL)
goto bad_tree;
- if (ossl_policy_level_add_node(level, data, NULL, tree) == NULL) {
+ if (ossl_policy_level_add_node(level, data, NULL, tree, 1) == NULL) {
ossl_policy_data_free(data);
goto bad_tree;
}
@@ -239,7 +253,8 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs,
* Return value: 1 on success, 0 otherwise
*/
static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr,
- X509_POLICY_DATA *data)
+ X509_POLICY_DATA *data,
+ X509_POLICY_TREE *tree)
{
X509_POLICY_LEVEL *last = curr - 1;
int i, matched = 0;
@@ -249,13 +264,13 @@ static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr,
X509_POLICY_NODE *node = sk_X509_POLICY_NODE_value(last->nodes, i);
if (ossl_policy_node_match(last, node, data->valid_policy)) {
- if (ossl_policy_level_add_node(curr, data, node, NULL) == NULL)
+ if (ossl_policy_level_add_node(curr, data, node, tree, 0) == NULL)
return 0;
matched = 1;
}
}
if (!matched && last->anyPolicy) {
- if (ossl_policy_level_add_node(curr, data, last->anyPolicy, NULL) == NULL)
+ if (ossl_policy_level_add_node(curr, data, last->anyPolicy, tree, 0) == NULL)
return 0;
}
return 1;
@@ -268,7 +283,8 @@ static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr,
* Return value: 1 on success, 0 otherwise.
*/
static int tree_link_nodes(X509_POLICY_LEVEL *curr,
- const X509_POLICY_CACHE *cache)
+ const X509_POLICY_CACHE *cache,
+ X509_POLICY_TREE *tree)
{
int i;
@@ -276,7 +292,7 @@ static int tree_link_nodes(X509_POLICY_LEVEL *curr,
X509_POLICY_DATA *data = sk_X509_POLICY_DATA_value(cache->data, i);
/* Look for matching nodes in previous level */
- if (!tree_link_matching_nodes(curr, data))
+ if (!tree_link_matching_nodes(curr, data, tree))
return 0;
}
return 1;
@@ -307,7 +323,7 @@ static int tree_add_unmatched(X509_POLICY_LEVEL *curr,
/* Curr may not have anyPolicy */
data->qualifier_set = cache->anyPolicy->qualifier_set;
data->flags |= POLICY_DATA_FLAG_SHARED_QUALIFIERS;
- if (ossl_policy_level_add_node(curr, data, node, tree) == NULL) {
+ if (ossl_policy_level_add_node(curr, data, node, tree, 1) == NULL) {
ossl_policy_data_free(data);
return 0;
}
@@ -370,7 +386,7 @@ static int tree_link_any(X509_POLICY_LEVEL *curr,
/* Finally add link to anyPolicy */
if (last->anyPolicy &&
ossl_policy_level_add_node(curr, cache->anyPolicy,
- last->anyPolicy, NULL) == NULL)
+ last->anyPolicy, tree, 0) == NULL)
return 0;
return 1;
}
@@ -553,7 +569,7 @@ static int tree_calculate_user_set(X509_POLICY_TREE *tree,
extra->flags = POLICY_DATA_FLAG_SHARED_QUALIFIERS
| POLICY_DATA_FLAG_EXTRA_NODE;
node = ossl_policy_level_add_node(NULL, extra, anyPolicy->parent,
- tree);
+ tree, 1);
}
if (!tree->user_policies) {
tree->user_policies = sk_X509_POLICY_NODE_new_null();
@@ -580,7 +596,7 @@ static int tree_evaluate(X509_POLICY_TREE *tree)
for (i = 1; i < tree->nlevel; i++, curr++) {
cache = ossl_policy_cache_set(curr->cert);
- if (!tree_link_nodes(curr, cache))
+ if (!tree_link_nodes(curr, cache, tree))
return X509_PCY_TREE_INTERNAL;
if (!(curr->flags & X509_V_FLAG_INHIBIT_ANY)
--
2.35.7

View File

@@ -1,56 +0,0 @@
From 1dd43e0709fece299b15208f36cc7c76209ba0bb Mon Sep 17 00:00:00 2001
From: Matt Caswell <matt@openssl.org>
Date: Tue, 7 Mar 2023 16:52:55 +0000
Subject: [PATCH] Ensure that EXFLAG_INVALID_POLICY is checked even in leaf
certs
Even though we check the leaf cert to confirm it is valid, we
later ignored the invalid flag and did not notice that the leaf
cert was bad.
Fixes: CVE-2023-0465
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20587)
Upstream-Status: Backport from [https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=1dd43e0709fece299b15208f36cc7c76209ba0bb]
CVE: CVE-2023-0465
Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
---
crypto/x509/x509_vfy.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/crypto/x509/x509_vfy.c b/crypto/x509/x509_vfy.c
index 9384f1d..a0282c3 100644
--- a/crypto/x509/x509_vfy.c
+++ b/crypto/x509/x509_vfy.c
@@ -1654,15 +1654,23 @@ static int check_policy(X509_STORE_CTX *ctx)
goto memerr;
/* Invalid or inconsistent extensions */
if (ret == X509_PCY_TREE_INVALID) {
- int i;
+ int i, cbcalled = 0;
/* Locate certificates with bad extensions and notify callback. */
- for (i = 1; i < sk_X509_num(ctx->chain); i++) {
+ for (i = 0; i < sk_X509_num(ctx->chain); i++) {
X509 *x = sk_X509_value(ctx->chain, i);
+ if ((x->ex_flags & EXFLAG_INVALID_POLICY) != 0)
+ cbcalled = 1;
CB_FAIL_IF((x->ex_flags & EXFLAG_INVALID_POLICY) != 0,
ctx, x, i, X509_V_ERR_INVALID_POLICY_EXTENSION);
}
+ if (!cbcalled) {
+ /* Should not be able to get here */
+ ERR_raise(ERR_LIB_X509, ERR_R_INTERNAL_ERROR);
+ return 0;
+ }
+ /* The callback ignored the error so we return success */
return 1;
}
if (ret == X509_PCY_TREE_FAILURE) {
--
2.35.7

View File

@@ -1,50 +0,0 @@
From 51e8a84ce742db0f6c70510d0159dad8f7825908 Mon Sep 17 00:00:00 2001
From: Tomas Mraz <tomas@openssl.org>
Date: Tue, 21 Mar 2023 16:15:47 +0100
Subject: [PATCH] Fix documentation of X509_VERIFY_PARAM_add0_policy()
The function was incorrectly documented as enabling policy checking.
Fixes: CVE-2023-0466
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20563)
Upstream-Status: Backport from [https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=51e8a84ce742db0f6c70510d0159dad8f7825908]
CVE: CVE-2023-0466
Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
---
doc/man3/X509_VERIFY_PARAM_set_flags.pod | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/doc/man3/X509_VERIFY_PARAM_set_flags.pod b/doc/man3/X509_VERIFY_PARAM_set_flags.pod
index 75a1677..43c1900 100644
--- a/doc/man3/X509_VERIFY_PARAM_set_flags.pod
+++ b/doc/man3/X509_VERIFY_PARAM_set_flags.pod
@@ -98,8 +98,9 @@ B<trust>.
X509_VERIFY_PARAM_set_time() sets the verification time in B<param> to
B<t>. Normally the current time is used.
-X509_VERIFY_PARAM_add0_policy() enables policy checking (it is disabled
-by default) and adds B<policy> to the acceptable policy set.
+X509_VERIFY_PARAM_add0_policy() adds B<policy> to the acceptable policy set.
+Contrary to preexisting documentation of this function it does not enable
+policy checking.
X509_VERIFY_PARAM_set1_policies() enables policy checking (it is disabled
by default) and sets the acceptable policy set to B<policies>. Any existing
@@ -400,6 +401,10 @@ The X509_VERIFY_PARAM_get_hostflags() function was added in OpenSSL 1.1.0i.
The X509_VERIFY_PARAM_get0_host(), X509_VERIFY_PARAM_get0_email(),
and X509_VERIFY_PARAM_get1_ip_asc() functions were added in OpenSSL 3.0.
+The function X509_VERIFY_PARAM_add0_policy() was historically documented as
+enabling policy checking however the implementation has never done this.
+The documentation was changed to align with the implementation.
+
=head1 COPYRIGHT
Copyright 2009-2023 The OpenSSL Project Authors. All Rights Reserved.
--
2.35.7

View File

@@ -12,16 +12,13 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
file://afalg.patch \
file://0001-Configure-do-not-tweak-mips-cflags.patch \
file://CVE-2023-0464.patch \
file://CVE-2023-0465.patch \
file://CVE-2023-0466.patch \
"
SRC_URI:append:class-nativesdk = " \
file://environment.d-openssl.sh \
"
SRC_URI[sha256sum] = "6c13d2bf38fdf31eac3ce2a347073673f5d63263398f1f69d0df4a41253e4b3e"
SRC_URI[sha256sum] = "eb1ab04781474360f77c318ab89d8c5a03abc38e63d65a603cabbf1b00a1dc90"
inherit lib_package multilib_header multilib_script ptest perlnative
MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"
@@ -80,7 +77,7 @@ do_configure () {
esac
target="$os-${HOST_ARCH}"
case $target in
linux-arc)
linux-arc | linux-microblaze*)
target=linux-latomic
;;
linux-arm*)
@@ -108,7 +105,7 @@ do_configure () {
linux-*-mips64 | linux-mips64 | linux-*-mips64el | linux-mips64el)
target=linux64-mips64
;;
linux-microblaze* | linux-nios2* | linux-sh3 | linux-sh4 | linux-arc*)
linux-nios2* | linux-sh3 | linux-sh4 | linux-arc*)
target=linux-generic32
;;
linux-powerpc)

View File

@@ -1,6 +1,6 @@
SRCBRANCH ?= "release/2.35/master"
PV = "2.35"
SRCREV_glibc ?= "293211b6fddf60fc407d21fcba0326dd2148f76b"
SRCREV_glibc ?= "cbceb903c4d770acc7e4ba5641036516830ed69b"
SRCREV_localedef ?= "794da69788cbf9bf57b59a852f9f11307663fa87"
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"

View File

@@ -1,82 +0,0 @@
From 952aff5c00ad7c6b83c3f310f2643939538827f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=9B=D0=B5=D0=BE=D0=BD=D0=B8=D0=B4=20=D0=AE=D1=80=D1=8C?=
=?UTF-8?q?=D0=B5=D0=B2=20=28Leonid=20Yuriev=29?= <leo@yuriev.ru>
Date: Sat, 4 Feb 2023 14:41:38 +0300
Subject: [PATCH] gmon: Fix allocated buffer overflow (bug 29444)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The `__monstartup()` allocates a buffer used to store all the data
accumulated by the monitor.
The size of this buffer depends on the size of the internal structures
used and the address range for which the monitor is activated, as well
as on the maximum density of call instructions and/or callable functions
that could be potentially on a segment of executable code.
In particular a hash table of arcs is placed at the end of this buffer.
The size of this hash table is calculated in bytes as
p->fromssize = p->textsize / HASHFRACTION;
but actually should be
p->fromssize = ROUNDUP(p->textsize / HASHFRACTION, sizeof(*p->froms));
This results in writing beyond the end of the allocated buffer when an
added arc corresponds to a call near from the end of the monitored
address range, since `_mcount()` check the incoming caller address for
monitored range but not the intermediate result hash-like index that
uses to write into the table.
It should be noted that when the results are output to `gmon.out`, the
table is read to the last element calculated from the allocated size in
bytes, so the arcs stored outside the buffer boundary did not fall into
`gprof` for analysis. Thus this "feature" help me to found this bug
during working with https://sourceware.org/bugzilla/show_bug.cgi?id=29438
Just in case, I will explicitly note that the problem breaks the
`make test t=gmon/tst-gmon-dso` added for Bug 29438.
There, the arc of the `f3()` call disappears from the output, since in
the DSO case, the call to `f3` is located close to the end of the
monitored range.
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
Another minor error seems a related typo in the calculation of
`kcountsize`, but since kcounts are smaller than froms, this is
actually to align the p->froms data.
Co-authored-by: DJ Delorie <dj@redhat.com>
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=801af9fafd4689337ebf27260aa115335a0cb2bc]
CVE: CVE-2023-0687
Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
---
gmon/gmon.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/gmon/gmon.c b/gmon/gmon.c
index dee6480..bf76358 100644
--- a/gmon/gmon.c
+++ b/gmon/gmon.c
@@ -132,6 +132,8 @@ __monstartup (u_long lowpc, u_long highpc)
p->lowpc = ROUNDDOWN(lowpc, HISTFRACTION * sizeof(HISTCOUNTER));
p->highpc = ROUNDUP(highpc, HISTFRACTION * sizeof(HISTCOUNTER));
p->textsize = p->highpc - p->lowpc;
+ /* This looks like a typo, but it's here to align the p->froms
+ section. */
p->kcountsize = ROUNDUP(p->textsize / HISTFRACTION, sizeof(*p->froms));
p->hashfraction = HASHFRACTION;
p->log_hashfraction = -1;
@@ -142,7 +144,7 @@ __monstartup (u_long lowpc, u_long highpc)
instead of integer division. Precompute shift amount. */
p->log_hashfraction = ffs(p->hashfraction * sizeof(*p->froms)) - 1;
}
- p->fromssize = p->textsize / HASHFRACTION;
+ p->fromssize = ROUNDUP(p->textsize / HASHFRACTION, sizeof(*p->froms));
p->tolimit = p->textsize * ARCDENSITY / 100;
if (p->tolimit < MINARCS)
p->tolimit = MINARCS;
--
2.7.4

View File

@@ -50,7 +50,6 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
file://0024-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \
\
file://0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch \
file://CVE-2023-0687.patch \
"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build-${TARGET_SYS}"

View File

@@ -24,7 +24,7 @@ IMAGE_FSTYPES = "wic.vmdk wic.vhd wic.vhdx"
inherit core-image setuptools3
SRCREV ?= "c3038cddbce42b7e4268c1f0b45e9fba85caa231"
SRCREV ?= "5ded548a1e70d000f6c91f18082bbe996189db57"
SRC_URI = "git://git.yoctoproject.org/poky;branch=kirkstone \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \

View File

@@ -0,0 +1,79 @@
From e4f85f1bd2eb34d9b49da9154a4cc3a1bc284f68 Mon Sep 17 00:00:00 2001
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Fri, 7 Apr 2023 11:46:35 +0200
Subject: [PATCH] [CVE-2023-28484] Fix null deref in xmlSchemaFixupComplexType
Fix a null pointer dereference when parsing (invalid) XML schemas.
Thanks to Robby Simpson for the report!
Fixes #491.
CVE: CVE-2023-28484
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/-/commit/e4f85f1bd2eb34d9b49da9154a4cc3a1bc284f68]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
result/schemas/issue491_0_0.err | 1 +
test/schemas/issue491_0.xml | 1 +
test/schemas/issue491_0.xsd | 18 ++++++++++++++++++
xmlschemas.c | 2 +-
4 files changed, 21 insertions(+), 1 deletion(-)
create mode 100644 result/schemas/issue491_0_0.err
create mode 100644 test/schemas/issue491_0.xml
create mode 100644 test/schemas/issue491_0.xsd
diff --git a/result/schemas/issue491_0_0.err b/result/schemas/issue491_0_0.err
new file mode 100644
index 00000000..9b2bb969
--- /dev/null
+++ b/result/schemas/issue491_0_0.err
@@ -0,0 +1 @@
+./test/schemas/issue491_0.xsd:8: element complexType: Schemas parser error : complex type 'ChildType': The content type of both, the type and its base type, must either 'mixed' or 'element-only'.
diff --git a/test/schemas/issue491_0.xml b/test/schemas/issue491_0.xml
new file mode 100644
index 00000000..e2b2fc2e
--- /dev/null
+++ b/test/schemas/issue491_0.xml
@@ -0,0 +1 @@
+<Child xmlns="http://www.test.com">5</Child>
diff --git a/test/schemas/issue491_0.xsd b/test/schemas/issue491_0.xsd
new file mode 100644
index 00000000..81702649
--- /dev/null
+++ b/test/schemas/issue491_0.xsd
@@ -0,0 +1,18 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.test.com" targetNamespace="http://www.test.com" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:complexType name="BaseType">
+ <xs:simpleContent>
+ <xs:extension base="xs:int" />
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="ChildType">
+ <xs:complexContent>
+ <xs:extension base="BaseType">
+ <xs:sequence>
+ <xs:element name="bad" type="xs:int" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="Child" type="ChildType" />
+</xs:schema>
diff --git a/xmlschemas.c b/xmlschemas.c
index 6a353858..a4eaf591 100644
--- a/xmlschemas.c
+++ b/xmlschemas.c
@@ -18632,7 +18632,7 @@ xmlSchemaFixupComplexType(xmlSchemaParserCtxtPtr pctxt,
"allowed to appear inside other model groups",
NULL, NULL);
- } else if (! dummySequence) {
+ } else if ((!dummySequence) && (baseType->subtypes != NULL)) {
xmlSchemaTreeItemPtr effectiveContent =
(xmlSchemaTreeItemPtr) type->subtypes;
/*
--
GitLab

View File

@@ -0,0 +1,42 @@
From 547edbf1cbdccd46b2e8ff322a456eaa5931c5df Mon Sep 17 00:00:00 2001
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Fri, 7 Apr 2023 11:49:27 +0200
Subject: [PATCH] [CVE-2023-29469] Hashing of empty dict strings isn't
deterministic
When hashing empty strings which aren't null-terminated,
xmlDictComputeFastKey could produce inconsistent results. This could
lead to various logic or memory errors, including double frees.
For consistency the seed is also taken into account, but this shouldn't
have an impact on security.
Found by OSS-Fuzz.
Fixes #510.
CVE: CVE-2023-29469
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/-/commit/547edbf1cbdccd46b2e8ff322a456eaa5931c5df]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
dict.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dict.c b/dict.c
index 86c3f6d7..d7fd1a06 100644
--- a/dict.c
+++ b/dict.c
@@ -433,7 +433,8 @@ static unsigned long
xmlDictComputeFastKey(const xmlChar *name, int namelen, int seed) {
unsigned long value = seed;
- if (name == NULL) return(0);
+ if ((name == NULL) || (namelen <= 0))
+ return(value);
value += *name;
value <<= 5;
if (namelen > 10) {
--
GitLab

View File

@@ -25,6 +25,8 @@ SRC_URI += "http://www.w3.org/XML/Test/xmlts20080827.tar;subdir=${BP};name=testt
file://0001-Port-gentest.py-to-Python-3.patch \
file://CVE-2022-40303.patch \
file://CVE-2022-40304.patch \
file://CVE-2023-28484.patch \
file://CVE-2023-29469.patch \
"
SRC_URI[archive.sha256sum] = "60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee"

View File

@@ -0,0 +1,334 @@
SUMMARY = "Updates the NVD CVE database"
LICENSE = "MIT"
# Important note:
# This product uses the NVD API but is not endorsed or certified by the NVD.
INHIBIT_DEFAULT_DEPS = "1"
inherit native
deltask do_unpack
deltask do_patch
deltask do_configure
deltask do_compile
deltask do_install
deltask do_populate_sysroot
NVDCVE_URL ?= "https://services.nvd.nist.gov/rest/json/cves/2.0"
# CVE database update interval, in seconds. By default: once a day (24*60*60).
# Use 0 to force the update
# Use a negative value to skip the update
CVE_DB_UPDATE_INTERVAL ?= "86400"
# Timeout for blocking socket operations, such as the connection attempt.
CVE_SOCKET_TIMEOUT ?= "60"
CVE_DB_TEMP_FILE ?= "${CVE_CHECK_DB_DIR}/temp_nvdcve_2.db"
CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/nvdcve_2.db"
python () {
if not bb.data.inherits_class("cve-check", d):
raise bb.parse.SkipRecipe("Skip recipe when cve-check class is not loaded.")
}
python do_fetch() {
"""
Update NVD database with API 2.0
"""
import bb.utils
import bb.progress
import shutil
bb.utils.export_proxies(d)
db_file = d.getVar("CVE_CHECK_DB_FILE")
db_dir = os.path.dirname(db_file)
db_tmp_file = d.getVar("CVE_DB_TEMP_FILE")
cleanup_db_download(db_file, db_tmp_file)
# By default let's update the whole database (since time 0)
database_time = 0
# The NVD database changes once a day, so no need to update more frequently
# Allow the user to force-update
try:
import time
update_interval = int(d.getVar("CVE_DB_UPDATE_INTERVAL"))
if update_interval < 0:
bb.note("CVE database update skipped")
return
if time.time() - os.path.getmtime(db_file) < update_interval:
bb.note("CVE database recently updated, skipping")
return
database_time = os.path.getmtime(db_file)
except OSError:
pass
bb.utils.mkdirhier(db_dir)
if os.path.exists(db_file):
shutil.copy2(db_file, db_tmp_file)
if update_db_file(db_tmp_file, d, database_time) == True:
# Update downloaded correctly, can swap files
shutil.move(db_tmp_file, db_file)
else:
# Update failed, do not modify the database
bb.warn("CVE database update failed")
os.remove(db_tmp_file)
}
do_fetch[lockfiles] += "${CVE_CHECK_DB_FILE_LOCK}"
do_fetch[file-checksums] = ""
do_fetch[vardeps] = ""
def cleanup_db_download(db_file, db_tmp_file):
"""
Cleanup the download space from possible failed downloads
"""
# Clean up the updates done on the main file
# Remove it only if a journal file exists - it means a complete re-download
if os.path.exists("{0}-journal".format(db_file)):
# If a journal is present the last update might have been interrupted. In that case,
# just wipe any leftovers and force the DB to be recreated.
os.remove("{0}-journal".format(db_file))
if os.path.exists(db_file):
os.remove(db_file)
# Clean-up the temporary file downloads, we can remove both journal
# and the temporary database
if os.path.exists("{0}-journal".format(db_tmp_file)):
# If a journal is present the last update might have been interrupted. In that case,
# just wipe any leftovers and force the DB to be recreated.
os.remove("{0}-journal".format(db_tmp_file))
if os.path.exists(db_tmp_file):
os.remove(db_tmp_file)
def nvd_request_next(url, api_key, args):
"""
Request next part of the NVD dabase
"""
import urllib.request
import urllib.parse
import gzip
import http
headers = {}
if api_key:
headers['apiKey'] = api_key
data = urllib.parse.urlencode(args)
full_request = url + '?' + data
for attempt in range(3):
try:
r = urllib.request.urlopen(full_request)
if (r.headers['content-encoding'] == 'gzip'):
buf = r.read()
raw_data = gzip.decompress(buf)
else:
raw_data = r.read().decode("utf-8")
r.close()
except UnicodeDecodeError:
# Received garbage, retry
bb.debug(2, "CVE database: received malformed data, retrying (request: %s)" %(full_request))
pass
except http.client.IncompleteRead:
# Read incomplete, let's try again
bb.debug(2, "CVE database: received incomplete data, retrying (request: %s)" %(full_request))
pass
else:
return raw_data
else:
# We failed at all attempts
return None
def update_db_file(db_tmp_file, d, database_time):
"""
Update the given database file
"""
import bb.utils, bb.progress
import datetime
import sqlite3
import json
# Connect to database
conn = sqlite3.connect(db_tmp_file)
initialize_db(conn)
req_args = {'startIndex' : 0}
# The maximum range for time is 120 days
# Force a complete update if our range is longer
if (database_time != 0):
database_date = datetime.datetime.combine(datetime.date.fromtimestamp(database_time), datetime.time())
today_date = datetime.datetime.combine(datetime.date.today(), datetime.time())
delta = today_date - database_date
if delta.days < 120:
bb.debug(2, "CVE database: performing partial update")
req_args['lastModStartDate'] = database_date.isoformat()
req_args['lastModEndDate'] = today_date.isoformat()
else:
bb.note("CVE database: file too old, forcing a full update")
with bb.progress.ProgressHandler(d) as ph, open(os.path.join(d.getVar("TMPDIR"), 'cve_check'), 'a') as cve_f:
bb.debug(2, "Updating entries")
index = 0
url = d.getVar("NVDCVE_URL")
while True:
req_args['startIndex'] = index
raw_data = nvd_request_next(url, None, req_args)
if raw_data is None:
# We haven't managed to download data
return False
data = json.loads(raw_data)
index = data["startIndex"]
total = data["totalResults"]
per_page = data["resultsPerPage"]
for cve in data["vulnerabilities"]:
update_db(conn, cve)
index += per_page
ph.update((float(index) / (total+1)) * 100)
if index >= total:
break
# Recommended by NVD
time.sleep(6)
# Update success, set the date to cve_check file.
cve_f.write('CVE database update : %s\n\n' % datetime.date.today())
conn.commit()
conn.close()
return True
def initialize_db(conn):
with conn:
c = conn.cursor()
c.execute("CREATE TABLE IF NOT EXISTS META (YEAR INTEGER UNIQUE, DATE TEXT)")
c.execute("CREATE TABLE IF NOT EXISTS NVD (ID TEXT UNIQUE, SUMMARY TEXT, \
SCOREV2 TEXT, SCOREV3 TEXT, MODIFIED INTEGER, VECTOR TEXT)")
c.execute("CREATE TABLE IF NOT EXISTS PRODUCTS (ID TEXT, \
VENDOR TEXT, PRODUCT TEXT, VERSION_START TEXT, OPERATOR_START TEXT, \
VERSION_END TEXT, OPERATOR_END TEXT)")
c.execute("CREATE INDEX IF NOT EXISTS PRODUCT_ID_IDX on PRODUCTS(ID);")
c.close()
def parse_node_and_insert(conn, node, cveId):
def cpe_generator():
for cpe in node.get('cpeMatch', ()):
if not cpe['vulnerable']:
return
cpe23 = cpe.get('criteria')
if not cpe23:
return
cpe23 = cpe23.split(':')
if len(cpe23) < 6:
return
vendor = cpe23[3]
product = cpe23[4]
version = cpe23[5]
if cpe23[6] == '*' or cpe23[6] == '-':
version_suffix = ""
else:
version_suffix = "_" + cpe23[6]
if version != '*' and version != '-':
# Version is defined, this is a '=' match
yield [cveId, vendor, product, version + version_suffix, '=', '', '']
elif version == '-':
# no version information is available
yield [cveId, vendor, product, version, '', '', '']
else:
# Parse start version, end version and operators
op_start = ''
op_end = ''
v_start = ''
v_end = ''
if 'versionStartIncluding' in cpe:
op_start = '>='
v_start = cpe['versionStartIncluding']
if 'versionStartExcluding' in cpe:
op_start = '>'
v_start = cpe['versionStartExcluding']
if 'versionEndIncluding' in cpe:
op_end = '<='
v_end = cpe['versionEndIncluding']
if 'versionEndExcluding' in cpe:
op_end = '<'
v_end = cpe['versionEndExcluding']
if op_start or op_end or v_start or v_end:
yield [cveId, vendor, product, v_start, op_start, v_end, op_end]
else:
# This is no version information, expressed differently.
# Save processing by representing as -.
yield [cveId, vendor, product, '-', '', '', '']
conn.executemany("insert into PRODUCTS values (?, ?, ?, ?, ?, ?, ?)", cpe_generator()).close()
def update_db(conn, elt):
"""
Update a single entry in the on-disk database
"""
accessVector = None
cveId = elt['cve']['id']
if elt['cve']['vulnStatus'] == "Rejected":
return
cveDesc = ""
for desc in elt['cve']['descriptions']:
if desc['lang'] == 'en':
cveDesc = desc['value']
date = elt['cve']['lastModified']
try:
accessVector = elt['cve']['metrics']['cvssMetricV2'][0]['cvssData']['accessVector']
cvssv2 = elt['cve']['metrics']['cvssMetricV2'][0]['cvssData']['baseScore']
except KeyError:
cvssv2 = 0.0
try:
accessVector = accessVector or elt['impact']['baseMetricV3']['cvssV3']['attackVector']
cvssv3 = elt['impact']['baseMetricV3']['cvssV3']['baseScore']
except KeyError:
accessVector = accessVector or "UNKNOWN"
cvssv3 = 0.0
conn.execute("insert or replace into NVD values (?, ?, ?, ?, ?, ?)",
[cveId, cveDesc, cvssv2, cvssv3, date, accessVector]).close()
try:
configurations = elt['cve']['configurations'][0]['nodes']
for config in configurations:
parse_node_and_insert(conn, config, cveId)
except KeyError:
bb.debug(2, "Entry without a configuration")
do_fetch[nostamp] = "1"
EXCLUDE_FROM_WORLD = "1"

View File

@@ -184,12 +184,14 @@ class SystemdUnit():
raise SystemdUnitNotFoundError(self.root, unit)
def _process_deps(self, config, service, location, prop, dirstem):
def _process_deps(self, config, service, location, prop, dirstem, instance):
systemdir = self.root / SYSCONFDIR / "systemd" / "system"
target = ROOT / location.relative_to(self.root)
try:
for dependent in config.get('Install', prop):
# expand any %i to instance (ignoring escape sequence %%)
dependent = re.sub("([^%](%%)*)%i", "\\1{}".format(instance), dependent)
wants = systemdir / "{}.{}".format(dependent, dirstem) / service
add_link(wants, target)
@@ -229,8 +231,8 @@ class SystemdUnit():
else:
service = self.unit
self._process_deps(config, service, path, 'WantedBy', 'wants')
self._process_deps(config, service, path, 'RequiredBy', 'requires')
self._process_deps(config, service, path, 'WantedBy', 'wants', instance)
self._process_deps(config, service, path, 'RequiredBy', 'requires', instance)
try:
for also in config.get('Install', 'Also'):

View File

@@ -0,0 +1,358 @@
From 31b25c7d360a2ef2da1717aa39f190de5222d11a Mon Sep 17 00:00:00 2001
From: Yu Watanabe <watanabe.yu+github@gmail.com>
Date: Mon, 31 Jan 2022 19:08:27 +0900
Subject: [PATCH] network: remove only managed configs on reconfigure or
carrier lost
Otherwise, if the carrir of the non-managed interface is lost, the
configs such as addresses or routes on the interface will be removed by
networkd.
Upstream-Status: Backport [systemd v251 a0e99a377a2f22c0ba460d3e7228214008714c14]
Signed-off-by: C. Andy Martin <cam@myfastmail.com>
---
src/network/networkd-address.c | 13 +++++--------
src/network/networkd-address.h | 2 +-
src/network/networkd-link.c | 18 ++++++++++--------
src/network/networkd-neighbor.c | 6 +++++-
src/network/networkd-neighbor.h | 2 +-
src/network/networkd-nexthop.c | 16 ++++++++++------
src/network/networkd-nexthop.h | 2 +-
src/network/networkd-route.c | 16 ++++++++++------
src/network/networkd-route.h | 2 +-
src/network/networkd-routing-policy-rule.c | 4 ++--
src/network/networkd-routing-policy-rule.h | 2 +-
test/test-network/systemd-networkd-tests.py | 2 +-
12 files changed, 48 insertions(+), 37 deletions(-)
diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c
index 7df743efb5..01c1d88dec 100644
--- a/src/network/networkd-address.c
+++ b/src/network/networkd-address.c
@@ -891,22 +891,19 @@ int link_drop_foreign_addresses(Link *link) {
return r;
}
-int link_drop_addresses(Link *link) {
+int link_drop_managed_addresses(Link *link) {
Address *address;
int k, r = 0;
assert(link);
SET_FOREACH(address, link->addresses) {
- /* Ignore addresses not assigned yet or already removing. */
- if (!address_exists(address))
+ /* Do not touch addresses managed by kernel or other tools. */
+ if (address->source == NETWORK_CONFIG_SOURCE_FOREIGN)
continue;
- /* Do not drop IPv6LL addresses assigned by the kernel here. They will be dropped in
- * link_drop_ipv6ll_addresses() if IPv6LL addressing is disabled. */
- if (address->source == NETWORK_CONFIG_SOURCE_FOREIGN &&
- address->family == AF_INET6 &&
- in6_addr_is_link_local(&address->in_addr.in6))
+ /* Ignore addresses not assigned yet or already removing. */
+ if (!address_exists(address))
continue;
k = address_remove(address);
diff --git a/src/network/networkd-address.h b/src/network/networkd-address.h
index 41c4ce6fa4..b2110d8d21 100644
--- a/src/network/networkd-address.h
+++ b/src/network/networkd-address.h
@@ -74,7 +74,7 @@ void address_set_broadcast(Address *a);
DEFINE_NETWORK_SECTION_FUNCTIONS(Address, address_free);
-int link_drop_addresses(Link *link);
+int link_drop_managed_addresses(Link *link);
int link_drop_foreign_addresses(Link *link);
int link_drop_ipv6ll_addresses(Link *link);
void link_foreignize_addresses(Link *link);
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index b62a154828..12c592b257 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -1070,27 +1070,27 @@ static int link_drop_foreign_config(Link *link) {
return r;
}
-static int link_drop_config(Link *link) {
+static int link_drop_managed_config(Link *link) {
int k, r;
assert(link);
assert(link->manager);
- r = link_drop_routes(link);
+ r = link_drop_managed_routes(link);
- k = link_drop_nexthops(link);
+ k = link_drop_managed_nexthops(link);
if (k < 0 && r >= 0)
r = k;
- k = link_drop_addresses(link);
+ k = link_drop_managed_addresses(link);
if (k < 0 && r >= 0)
r = k;
- k = link_drop_neighbors(link);
+ k = link_drop_managed_neighbors(link);
if (k < 0 && r >= 0)
r = k;
- k = link_drop_routing_policy_rules(link);
+ k = link_drop_managed_routing_policy_rules(link);
if (k < 0 && r >= 0)
r = k;
@@ -1318,7 +1318,9 @@ static int link_reconfigure_impl(Link *link, bool force) {
* link_drop_foreign_config() in link_configure(). */
link_foreignize_config(link);
else {
- r = link_drop_config(link);
+ /* Remove all managed configs. Note, foreign configs are removed in later by
+ * link_configure() -> link_drop_foreign_config() if the link is managed by us. */
+ r = link_drop_managed_config(link);
if (r < 0)
return r;
}
@@ -1705,7 +1707,7 @@ static int link_carrier_lost_impl(Link *link) {
if (r < 0)
ret = r;
- r = link_drop_config(link);
+ r = link_drop_managed_config(link);
if (r < 0 && ret >= 0)
ret = r;
diff --git a/src/network/networkd-neighbor.c b/src/network/networkd-neighbor.c
index 1766095e53..b58898a6dc 100644
--- a/src/network/networkd-neighbor.c
+++ b/src/network/networkd-neighbor.c
@@ -406,13 +406,17 @@ int link_drop_foreign_neighbors(Link *link) {
return r;
}
-int link_drop_neighbors(Link *link) {
+int link_drop_managed_neighbors(Link *link) {
Neighbor *neighbor;
int k, r = 0;
assert(link);
SET_FOREACH(neighbor, link->neighbors) {
+ /* Do not touch nexthops managed by kernel or other tools. */
+ if (neighbor->source == NETWORK_CONFIG_SOURCE_FOREIGN)
+ continue;
+
/* Ignore neighbors not assigned yet or already removing. */
if (!neighbor_exists(neighbor))
continue;
diff --git a/src/network/networkd-neighbor.h b/src/network/networkd-neighbor.h
index e9e1854110..8e3c510cd5 100644
--- a/src/network/networkd-neighbor.h
+++ b/src/network/networkd-neighbor.h
@@ -34,7 +34,7 @@ int neighbor_compare_func(const Neighbor *a, const Neighbor *b);
void network_drop_invalid_neighbors(Network *network);
-int link_drop_neighbors(Link *link);
+int link_drop_managed_neighbors(Link *link);
int link_drop_foreign_neighbors(Link *link);
void link_foreignize_neighbors(Link *link);
diff --git a/src/network/networkd-nexthop.c b/src/network/networkd-nexthop.c
index b829aaab90..42aa8c4c59 100644
--- a/src/network/networkd-nexthop.c
+++ b/src/network/networkd-nexthop.c
@@ -613,8 +613,8 @@ static void manager_mark_nexthops(Manager *manager, bool foreign, const Link *ex
if (nexthop->protocol == RTPROT_KERNEL)
continue;
- /* When 'foreign' is true, do not remove nexthops we configured. */
- if (foreign && nexthop->source != NETWORK_CONFIG_SOURCE_FOREIGN)
+ /* When 'foreign' is true, mark only foreign nexthops, and vice versa. */
+ if (foreign != (nexthop->source == NETWORK_CONFIG_SOURCE_FOREIGN))
continue;
/* Ignore nexthops not assigned yet or already removed. */
@@ -641,7 +641,7 @@ static void manager_mark_nexthops(Manager *manager, bool foreign, const Link *ex
}
}
-static int manager_drop_nexthops(Manager *manager) {
+static int manager_drop_marked_nexthops(Manager *manager) {
NextHop *nexthop;
int k, r = 0;
@@ -704,14 +704,14 @@ int link_drop_foreign_nexthops(Link *link) {
manager_mark_nexthops(link->manager, /* foreign = */ true, NULL);
- k = manager_drop_nexthops(link->manager);
+ k = manager_drop_marked_nexthops(link->manager);
if (k < 0 && r >= 0)
r = k;
return r;
}
-int link_drop_nexthops(Link *link) {
+int link_drop_managed_nexthops(Link *link) {
NextHop *nexthop;
int k, r = 0;
@@ -723,6 +723,10 @@ int link_drop_nexthops(Link *link) {
if (nexthop->protocol == RTPROT_KERNEL)
continue;
+ /* Do not touch addresses managed by kernel or other tools. */
+ if (nexthop->source == NETWORK_CONFIG_SOURCE_FOREIGN)
+ continue;
+
/* Ignore nexthops not assigned yet or already removing. */
if (!nexthop_exists(nexthop))
continue;
@@ -734,7 +738,7 @@ int link_drop_nexthops(Link *link) {
manager_mark_nexthops(link->manager, /* foreign = */ false, link);
- k = manager_drop_nexthops(link->manager);
+ k = manager_drop_marked_nexthops(link->manager);
if (k < 0 && r >= 0)
r = k;
diff --git a/src/network/networkd-nexthop.h b/src/network/networkd-nexthop.h
index 7a8920238c..1e54e9f211 100644
--- a/src/network/networkd-nexthop.h
+++ b/src/network/networkd-nexthop.h
@@ -44,7 +44,7 @@ int nexthop_compare_func(const NextHop *a, const NextHop *b);
void network_drop_invalid_nexthops(Network *network);
-int link_drop_nexthops(Link *link);
+int link_drop_managed_nexthops(Link *link);
int link_drop_foreign_nexthops(Link *link);
void link_foreignize_nexthops(Link *link);
diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
index ee7a535075..7e6fe8bc11 100644
--- a/src/network/networkd-route.c
+++ b/src/network/networkd-route.c
@@ -788,8 +788,8 @@ static void manager_mark_routes(Manager *manager, bool foreign, const Link *exce
if (route->protocol == RTPROT_KERNEL)
continue;
- /* When 'foreign' is true, do not remove routes we configured. */
- if (foreign && route->source != NETWORK_CONFIG_SOURCE_FOREIGN)
+ /* When 'foreign' is true, mark only foreign routes, and vice versa. */
+ if (foreign != (route->source == NETWORK_CONFIG_SOURCE_FOREIGN))
continue;
/* Do not touch dynamic routes. They will removed by dhcp_pd_prefix_lost() */
@@ -834,7 +834,7 @@ static void manager_mark_routes(Manager *manager, bool foreign, const Link *exce
}
}
-static int manager_drop_routes(Manager *manager) {
+static int manager_drop_marked_routes(Manager *manager) {
Route *route;
int k, r = 0;
@@ -955,14 +955,14 @@ int link_drop_foreign_routes(Link *link) {
manager_mark_routes(link->manager, /* foreign = */ true, NULL);
- k = manager_drop_routes(link->manager);
+ k = manager_drop_marked_routes(link->manager);
if (k < 0 && r >= 0)
r = k;
return r;
}
-int link_drop_routes(Link *link) {
+int link_drop_managed_routes(Link *link) {
Route *route;
int k, r = 0;
@@ -973,6 +973,10 @@ int link_drop_routes(Link *link) {
if (route_by_kernel(route))
continue;
+ /* Do not touch routes managed by kernel or other tools. */
+ if (route->source == NETWORK_CONFIG_SOURCE_FOREIGN)
+ continue;
+
if (!route_exists(route))
continue;
@@ -983,7 +987,7 @@ int link_drop_routes(Link *link) {
manager_mark_routes(link->manager, /* foreign = */ false, link);
- k = manager_drop_routes(link->manager);
+ k = manager_drop_marked_routes(link->manager);
if (k < 0 && r >= 0)
r = k;
diff --git a/src/network/networkd-route.h b/src/network/networkd-route.h
index e3e22a5985..2180a196fc 100644
--- a/src/network/networkd-route.h
+++ b/src/network/networkd-route.h
@@ -82,7 +82,7 @@ int route_remove(Route *route);
int route_get(Manager *manager, Link *link, const Route *in, Route **ret);
-int link_drop_routes(Link *link);
+int link_drop_managed_routes(Link *link);
int link_drop_foreign_routes(Link *link);
void link_foreignize_routes(Link *link);
diff --git a/src/network/networkd-routing-policy-rule.c b/src/network/networkd-routing-policy-rule.c
index 90086f35a7..d4363060d8 100644
--- a/src/network/networkd-routing-policy-rule.c
+++ b/src/network/networkd-routing-policy-rule.c
@@ -653,8 +653,8 @@ static void manager_mark_routing_policy_rules(Manager *m, bool foreign, const Li
if (rule->protocol == RTPROT_KERNEL)
continue;
- /* When 'foreign' is true, do not remove rules we configured. */
- if (foreign && rule->source != NETWORK_CONFIG_SOURCE_FOREIGN)
+ /* When 'foreign' is true, mark only foreign rules, and vice versa. */
+ if (foreign != (rule->source == NETWORK_CONFIG_SOURCE_FOREIGN))
continue;
/* Ignore rules not assigned yet or already removing. */
diff --git a/src/network/networkd-routing-policy-rule.h b/src/network/networkd-routing-policy-rule.h
index f52943bd2e..7cc6f55c8d 100644
--- a/src/network/networkd-routing-policy-rule.h
+++ b/src/network/networkd-routing-policy-rule.h
@@ -71,7 +71,7 @@ int manager_drop_routing_policy_rules_internal(Manager *m, bool foreign, const L
static inline int manager_drop_foreign_routing_policy_rules(Manager *m) {
return manager_drop_routing_policy_rules_internal(m, true, NULL);
}
-static inline int link_drop_routing_policy_rules(Link *link) {
+static inline int link_drop_managed_routing_policy_rules(Link *link) {
assert(link);
return manager_drop_routing_policy_rules_internal(link->manager, false, link);
}
diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py
index ac2c1ba034..ed4d4992b1 100755
--- a/test/test-network/systemd-networkd-tests.py
+++ b/test/test-network/systemd-networkd-tests.py
@@ -3876,7 +3876,7 @@ class NetworkdBridgeTests(unittest.TestCase, Utilities):
print(output)
self.assertRegex(output, 'NO-CARRIER')
self.assertNotRegex(output, '192.168.0.15/24')
- self.assertNotRegex(output, '192.168.0.16/24')
+ self.assertRegex(output, '192.168.0.16/24') # foreign address is kept
print('### ip -6 route list table all dev bridge99')
output = check_output('ip -6 route list table all dev bridge99')
--
2.34.1

View File

@@ -30,6 +30,7 @@ SRC_URI += "file://touchscreen.rules \
file://0001-shared-json-allow-json_variant_dump-to-return-an-err.patch \
file://CVE-2022-4415-1.patch \
file://CVE-2022-4415-2.patch \
file://0001-network-remove-only-managed-configs-on-reconfigure-o.patch \
"
# patches needed by musl

View File

@@ -46,5 +46,15 @@ SRC_URI = "\
file://0020-CVE-2023-22608-1.patch \
file://0020-CVE-2023-22608-2.patch \
file://0020-CVE-2023-22608-3.patch \
file://0021-CVE-2023-1579-1.patch \
file://0021-CVE-2023-1579-2.patch \
file://0021-CVE-2023-1579-3.patch \
file://0021-CVE-2023-1579-4.patch \
file://0022-CVE-2023-25584-1.patch \
file://0022-CVE-2023-25584-2.patch \
file://0022-CVE-2023-25584-3.patch \
file://0023-CVE-2023-25585.patch \
file://0026-CVE-2023-1972.patch \
file://0025-CVE-2023-25588.patch \
"
S = "${WORKDIR}/git"

View File

@@ -0,0 +1,459 @@
From f67741e172bf342291fe3abd2b395899ce6433a0 Mon Sep 17 00:00:00 2001
From: "Potharla, Rupesh" <Rupesh.Potharla@amd.com>
Date: Tue, 24 May 2022 00:01:49 +0000
Subject: [PATCH] bfd: Add Support for DW_FORM_strx* and DW_FORM_addrx*
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=f67741e172bf342291fe3abd2b395899ce6433a0]
CVE: CVE-2023-1579
Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
---
bfd/dwarf2.c | 282 ++++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 268 insertions(+), 14 deletions(-)
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index f6b0183720b..45e286754e4 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -189,6 +189,18 @@ struct dwarf2_debug_file
/* Length of the loaded .debug_str section. */
bfd_size_type dwarf_str_size;
+ /* Pointer to the .debug_str_offsets section loaded into memory. */
+ bfd_byte *dwarf_str_offsets_buffer;
+
+ /* Length of the loaded .debug_str_offsets section. */
+ bfd_size_type dwarf_str_offsets_size;
+
+ /* Pointer to the .debug_addr section loaded into memory. */
+ bfd_byte *dwarf_addr_buffer;
+
+ /* Length of the loaded .debug_addr section. */
+ bfd_size_type dwarf_addr_size;
+
/* Pointer to the .debug_line_str section loaded into memory. */
bfd_byte *dwarf_line_str_buffer;
@@ -382,6 +394,12 @@ struct comp_unit
/* Used when iterating over trie leaves to know which units we have
already seen in this iteration. */
bool mark;
+
+ /* Base address of debug_addr section. */
+ size_t dwarf_addr_offset;
+
+ /* Base address of string offset table. */
+ size_t dwarf_str_offset;
};
/* This data structure holds the information of an abbrev. */
@@ -424,6 +442,8 @@ const struct dwarf_debug_section dwarf_debug_sections[] =
{ ".debug_static_vars", ".zdebug_static_vars" },
{ ".debug_str", ".zdebug_str", },
{ ".debug_str", ".zdebug_str", },
+ { ".debug_str_offsets", ".zdebug_str_offsets", },
+ { ".debug_addr", ".zdebug_addr", },
{ ".debug_line_str", ".zdebug_line_str", },
{ ".debug_types", ".zdebug_types" },
/* GNU DWARF 1 extensions */
@@ -458,6 +478,8 @@ enum dwarf_debug_section_enum
debug_static_vars,
debug_str,
debug_str_alt,
+ debug_str_offsets,
+ debug_addr,
debug_line_str,
debug_types,
debug_sfnames,
@@ -1307,12 +1329,92 @@ is_int_form (const struct attribute *attr)
}
}
+/* Returns true if the form is strx[1-4]. */
+
+static inline bool
+is_strx_form (enum dwarf_form form)
+{
+ return (form == DW_FORM_strx
+ || form == DW_FORM_strx1
+ || form == DW_FORM_strx2
+ || form == DW_FORM_strx3
+ || form == DW_FORM_strx4);
+}
+
+/* Return true if the form is addrx[1-4]. */
+
+static inline bool
+is_addrx_form (enum dwarf_form form)
+{
+ return (form == DW_FORM_addrx
+ || form == DW_FORM_addrx1
+ || form == DW_FORM_addrx2
+ || form == DW_FORM_addrx3
+ || form == DW_FORM_addrx4);
+}
+
+/* Returns the address in .debug_addr section using DW_AT_addr_base.
+ Used to implement DW_FORM_addrx*. */
+static bfd_vma
+read_indexed_address (bfd_uint64_t idx,
+ struct comp_unit *unit)
+{
+ struct dwarf2_debug *stash = unit->stash;
+ struct dwarf2_debug_file *file = unit->file;
+ size_t addr_base = unit->dwarf_addr_offset;
+ bfd_byte *info_ptr;
+
+ if (stash == NULL)
+ return 0;
+
+ if (!read_section (unit->abfd, &stash->debug_sections[debug_addr],
+ file->syms, 0,
+ &file->dwarf_addr_buffer, &file->dwarf_addr_size))
+ return 0;
+
+ info_ptr = file->dwarf_addr_buffer + addr_base + idx * unit->offset_size;
+
+ if (unit->offset_size == 4)
+ return bfd_get_32 (unit->abfd, info_ptr);
+ else
+ return bfd_get_64 (unit->abfd, info_ptr);
+}
+
+/* Returns the string using DW_AT_str_offsets_base.
+ Used to implement DW_FORM_strx*. */
static const char *
-read_indexed_string (bfd_uint64_t idx ATTRIBUTE_UNUSED,
- struct comp_unit * unit ATTRIBUTE_UNUSED)
+read_indexed_string (bfd_uint64_t idx,
+ struct comp_unit *unit)
{
- /* FIXME: Add support for indexed strings. */
- return "<indexed strings not yet supported>";
+ struct dwarf2_debug *stash = unit->stash;
+ struct dwarf2_debug_file *file = unit->file;
+ bfd_byte *info_ptr;
+ unsigned long str_offset;
+
+ if (stash == NULL)
+ return NULL;
+
+ if (!read_section (unit->abfd, &stash->debug_sections[debug_str],
+ file->syms, 0,
+ &file->dwarf_str_buffer, &file->dwarf_str_size))
+ return NULL;
+
+ if (!read_section (unit->abfd, &stash->debug_sections[debug_str_offsets],
+ file->syms, 0,
+ &file->dwarf_str_offsets_buffer,
+ &file->dwarf_str_offsets_size))
+ return NULL;
+
+ info_ptr = (file->dwarf_str_offsets_buffer
+ + unit->dwarf_str_offset
+ + idx * unit->offset_size);
+
+ if (unit->offset_size == 4)
+ str_offset = bfd_get_32 (unit->abfd, info_ptr);
+ else
+ str_offset = bfd_get_64 (unit->abfd, info_ptr);
+
+ return (const char *) file->dwarf_str_buffer + str_offset;
}
/* Read and fill in the value of attribute ATTR as described by FORM.
@@ -1381,21 +1483,37 @@ read_attribute_value (struct attribute * attr,
case DW_FORM_ref1:
case DW_FORM_flag:
case DW_FORM_data1:
+ attr->u.val = read_1_byte (abfd, &info_ptr, info_ptr_end);
+ break;
case DW_FORM_addrx1:
attr->u.val = read_1_byte (abfd, &info_ptr, info_ptr_end);
+ /* dwarf_addr_offset value 0 indicates the attribute DW_AT_addr_base
+ is not yet read. */
+ if (unit->dwarf_addr_offset != 0)
+ attr->u.val = read_indexed_address (attr->u.val, unit);
break;
case DW_FORM_data2:
- case DW_FORM_addrx2:
case DW_FORM_ref2:
attr->u.val = read_2_bytes (abfd, &info_ptr, info_ptr_end);
break;
+ case DW_FORM_addrx2:
+ attr->u.val = read_2_bytes (abfd, &info_ptr, info_ptr_end);
+ if (unit->dwarf_addr_offset != 0)
+ attr->u.val = read_indexed_address (attr->u.val, unit);
+ break;
case DW_FORM_addrx3:
attr->u.val = read_3_bytes (abfd, &info_ptr, info_ptr_end);
+ if (unit->dwarf_addr_offset != 0)
+ attr->u.val = read_indexed_address(attr->u.val, unit);
break;
case DW_FORM_ref4:
case DW_FORM_data4:
+ attr->u.val = read_4_bytes (abfd, &info_ptr, info_ptr_end);
+ break;
case DW_FORM_addrx4:
attr->u.val = read_4_bytes (abfd, &info_ptr, info_ptr_end);
+ if (unit->dwarf_addr_offset != 0)
+ attr->u.val = read_indexed_address (attr->u.val, unit);
break;
case DW_FORM_data8:
case DW_FORM_ref8:
@@ -1416,24 +1534,31 @@ read_attribute_value (struct attribute * attr,
break;
case DW_FORM_strx1:
attr->u.val = read_1_byte (abfd, &info_ptr, info_ptr_end);
- attr->u.str = (char *) read_indexed_string (attr->u.val, unit);
+ /* dwarf_str_offset value 0 indicates the attribute DW_AT_str_offsets_base
+ is not yet read. */
+ if (unit->dwarf_str_offset != 0)
+ attr->u.str = (char *) read_indexed_string (attr->u.val, unit);
break;
case DW_FORM_strx2:
attr->u.val = read_2_bytes (abfd, &info_ptr, info_ptr_end);
- attr->u.str = (char *) read_indexed_string (attr->u.val, unit);
+ if (unit->dwarf_str_offset != 0)
+ attr->u.str = (char *) read_indexed_string (attr->u.val, unit);
break;
case DW_FORM_strx3:
attr->u.val = read_3_bytes (abfd, &info_ptr, info_ptr_end);
- attr->u.str = (char *) read_indexed_string (attr->u.val, unit);
+ if (unit->dwarf_str_offset != 0)
+ attr->u.str = (char *) read_indexed_string (attr->u.val, unit);
break;
case DW_FORM_strx4:
attr->u.val = read_4_bytes (abfd, &info_ptr, info_ptr_end);
- attr->u.str = (char *) read_indexed_string (attr->u.val, unit);
+ if (unit->dwarf_str_offset != 0)
+ attr->u.str = (char *) read_indexed_string (attr->u.val, unit);
break;
case DW_FORM_strx:
attr->u.val = _bfd_safe_read_leb128 (abfd, &info_ptr,
false, info_ptr_end);
- attr->u.str = (char *) read_indexed_string (attr->u.val, unit);
+ if (unit->dwarf_str_offset != 0)
+ attr->u.str = (char *) read_indexed_string (attr->u.val, unit);
break;
case DW_FORM_exprloc:
case DW_FORM_block:
@@ -1455,9 +1580,14 @@ read_attribute_value (struct attribute * attr,
break;
case DW_FORM_ref_udata:
case DW_FORM_udata:
+ attr->u.val = _bfd_safe_read_leb128 (abfd, &info_ptr,
+ false, info_ptr_end);
+ break;
case DW_FORM_addrx:
attr->u.val = _bfd_safe_read_leb128 (abfd, &info_ptr,
false, info_ptr_end);
+ if (unit->dwarf_addr_offset != 0)
+ attr->u.val = read_indexed_address (attr->u.val, unit);
break;
case DW_FORM_indirect:
form = _bfd_safe_read_leb128 (abfd, &info_ptr,
@@ -2396,6 +2526,11 @@ read_formatted_entries (struct comp_unit *unit, bfd_byte **bufp,
{
case DW_FORM_string:
case DW_FORM_line_strp:
+ case DW_FORM_strx:
+ case DW_FORM_strx1:
+ case DW_FORM_strx2:
+ case DW_FORM_strx3:
+ case DW_FORM_strx4:
*stringp = attr.u.str;
break;
@@ -4031,6 +4166,80 @@ scan_unit_for_symbols (struct comp_unit *unit)
return false;
}
+/* Read the attributes of the form strx and addrx. */
+
+static void
+reread_attribute (struct comp_unit *unit,
+ struct attribute *attr,
+ bfd_vma *low_pc,
+ bfd_vma *high_pc,
+ bool *high_pc_relative,
+ bool compunit)
+{
+ if (is_strx_form (attr->form))
+ attr->u.str = (char *) read_indexed_string (attr->u.val, unit);
+ if (is_addrx_form (attr->form))
+ attr->u.val = read_indexed_address (attr->u.val, unit);
+
+ switch (attr->name)
+ {
+ case DW_AT_stmt_list:
+ unit->stmtlist = 1;
+ unit->line_offset = attr->u.val;
+ break;
+
+ case DW_AT_name:
+ if (is_str_form (attr))
+ unit->name = attr->u.str;
+ break;
+
+ case DW_AT_low_pc:
+ *low_pc = attr->u.val;
+ if (compunit)
+ unit->base_address = *low_pc;
+ break;
+
+ case DW_AT_high_pc:
+ *high_pc = attr->u.val;
+ *high_pc_relative = attr->form != DW_FORM_addr;
+ break;
+
+ case DW_AT_ranges:
+ if (!read_rangelist (unit, &unit->arange,
+ &unit->file->trie_root, attr->u.val))
+ return;
+ break;
+
+ case DW_AT_comp_dir:
+ {
+ char *comp_dir = attr->u.str;
+
+ if (!is_str_form (attr))
+ {
+ _bfd_error_handler
+ (_("DWARF error: DW_AT_comp_dir attribute encountered "
+ "with a non-string form"));
+ comp_dir = NULL;
+ }
+
+ if (comp_dir)
+ {
+ char *cp = strchr (comp_dir, ':');
+
+ if (cp && cp != comp_dir && cp[-1] == '.' && cp[1] == '/')
+ comp_dir = cp + 1;
+ }
+ unit->comp_dir = comp_dir;
+ break;
+ }
+
+ case DW_AT_language:
+ unit->lang = attr->u.val;
+ default:
+ break;
+ }
+}
+
/* Parse a DWARF2 compilation unit starting at INFO_PTR. UNIT_LENGTH
includes the compilation unit header that proceeds the DIE's, but
does not include the length field that precedes each compilation
@@ -4064,6 +4273,10 @@ parse_comp_unit (struct dwarf2_debug *stash,
bfd *abfd = file->bfd_ptr;
bool high_pc_relative = false;
enum dwarf_unit_type unit_type;
+ struct attribute *str_addrp = NULL;
+ size_t str_count = 0;
+ size_t str_alloc = 0;
+ bool compunit_flag = false;
version = read_2_bytes (abfd, &info_ptr, end_ptr);
if (version < 2 || version > 5)
@@ -4168,11 +4381,33 @@ parse_comp_unit (struct dwarf2_debug *stash,
unit->file = file;
unit->info_ptr_unit = info_ptr_unit;
+ if (abbrev->tag == DW_TAG_compile_unit)
+ compunit_flag = true;
+
for (i = 0; i < abbrev->num_attrs; ++i)
{
info_ptr = read_attribute (&attr, &abbrev->attrs[i], unit, info_ptr, end_ptr);
if (info_ptr == NULL)
- return NULL;
+ goto err_exit;
+
+ /* Identify attributes of the form strx* and addrx* which come before
+ DW_AT_str_offsets_base and DW_AT_addr_base respectively in the CU.
+ Store the attributes in an array and process them later. */
+ if ((unit->dwarf_str_offset == 0 && is_strx_form (attr.form))
+ || (unit->dwarf_addr_offset == 0 && is_addrx_form (attr.form)))
+ {
+ if (str_count <= str_alloc)
+ {
+ str_alloc = 2 * str_alloc + 200;
+ str_addrp = bfd_realloc (str_addrp,
+ str_alloc * sizeof (*str_addrp));
+ if (str_addrp == NULL)
+ goto err_exit;
+ }
+ str_addrp[str_count] = attr;
+ str_count++;
+ continue;
+ }
/* Store the data if it is of an attribute we want to keep in a
partial symbol table. */
@@ -4198,7 +4433,7 @@ parse_comp_unit (struct dwarf2_debug *stash,
/* If the compilation unit DIE has a DW_AT_low_pc attribute,
this is the base address to use when reading location
lists or range lists. */
- if (abbrev->tag == DW_TAG_compile_unit)
+ if (compunit_flag)
unit->base_address = low_pc;
}
break;
@@ -4215,7 +4450,7 @@ parse_comp_unit (struct dwarf2_debug *stash,
if (is_int_form (&attr)
&& !read_rangelist (unit, &unit->arange,
&unit->file->trie_root, attr.u.val))
- return NULL;
+ goto err_exit;
break;
case DW_AT_comp_dir:
@@ -4248,21 +4483,40 @@ parse_comp_unit (struct dwarf2_debug *stash,
unit->lang = attr.u.val;
break;
+ case DW_AT_addr_base:
+ unit->dwarf_addr_offset = attr.u.val;
+ break;
+
+ case DW_AT_str_offsets_base:
+ unit->dwarf_str_offset = attr.u.val;
+ break;
+
default:
break;
}
}
+
+ for (i = 0; i < str_count; ++i)
+ reread_attribute (unit, &str_addrp[i], &low_pc, &high_pc,
+ &high_pc_relative, compunit_flag);
+
if (high_pc_relative)
high_pc += low_pc;
if (high_pc != 0)
{
if (!arange_add (unit, &unit->arange, &unit->file->trie_root,
low_pc, high_pc))
- return NULL;
+ goto err_exit;
}
unit->first_child_die_ptr = info_ptr;
+
+ free (str_addrp);
return unit;
+
+ err_exit:
+ free (str_addrp);
+ return NULL;
}
/* Return TRUE if UNIT may contain the address given by ADDR. When
--
2.31.1

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,156 @@
From 31d6c13defeba7716ebc9d5c8f81f2f35fe39980 Mon Sep 17 00:00:00 2001
From: Alan Modra <amodra@gmail.com>
Date: Tue, 14 Jun 2022 12:46:42 +0930
Subject: [PATCH] PR29230, segv in lookup_symbol_in_variable_table
The PR23230 testcase uses indexed strings without specifying
SW_AT_str_offsets_base. In this case we left u.str with garbage (from
u.val) which then led to a segfault when attempting to access the
string. Fix that by clearing u.str. The patch also adds missing
sanity checks in the recently committed read_indexed_address and
read_indexed_string functions.
PR 29230
* dwarf2.c (read_indexed_address): Return uint64_t. Sanity check idx.
(read_indexed_string): Use uint64_t for str_offset. Sanity check idx.
(read_attribute_value): Clear u.str for indexed string forms when
DW_AT_str_offsets_base is not yet read or missing.
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=31d6c13defeba7716ebc9d5c8f81f2f35fe39980]
CVE: CVE-2023-1579
Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
---
bfd/dwarf2.c | 51 ++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 42 insertions(+), 9 deletions(-)
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index 51018e1ab45..aaa2d84887f 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -1353,13 +1353,13 @@ is_addrx_form (enum dwarf_form form)
/* Returns the address in .debug_addr section using DW_AT_addr_base.
Used to implement DW_FORM_addrx*. */
-static bfd_vma
+static uint64_t
read_indexed_address (uint64_t idx, struct comp_unit *unit)
{
struct dwarf2_debug *stash = unit->stash;
struct dwarf2_debug_file *file = unit->file;
- size_t addr_base = unit->dwarf_addr_offset;
bfd_byte *info_ptr;
+ size_t offset;
if (stash == NULL)
return 0;
@@ -1369,12 +1369,23 @@ read_indexed_address (uint64_t idx, struct comp_unit *unit)
&file->dwarf_addr_buffer, &file->dwarf_addr_size))
return 0;
- info_ptr = file->dwarf_addr_buffer + addr_base + idx * unit->offset_size;
+ if (_bfd_mul_overflow (idx, unit->offset_size, &offset))
+ return 0;
+
+ offset += unit->dwarf_addr_offset;
+ if (offset < unit->dwarf_addr_offset
+ || offset > file->dwarf_addr_size
+ || file->dwarf_addr_size - offset < unit->offset_size)
+ return 0;
+
+ info_ptr = file->dwarf_addr_buffer + offset;
if (unit->offset_size == 4)
return bfd_get_32 (unit->abfd, info_ptr);
- else
+ else if (unit->offset_size == 8)
return bfd_get_64 (unit->abfd, info_ptr);
+ else
+ return 0;
}
/* Returns the string using DW_AT_str_offsets_base.
@@ -1385,7 +1396,8 @@ read_indexed_string (uint64_t idx, struct comp_unit *unit)
struct dwarf2_debug *stash = unit->stash;
struct dwarf2_debug_file *file = unit->file;
bfd_byte *info_ptr;
- unsigned long str_offset;
+ uint64_t str_offset;
+ size_t offset;
if (stash == NULL)
return NULL;
@@ -1401,15 +1413,26 @@ read_indexed_string (uint64_t idx, struct comp_unit *unit)
&file->dwarf_str_offsets_size))
return NULL;
- info_ptr = (file->dwarf_str_offsets_buffer
- + unit->dwarf_str_offset
- + idx * unit->offset_size);
+ if (_bfd_mul_overflow (idx, unit->offset_size, &offset))
+ return NULL;
+
+ offset += unit->dwarf_str_offset;
+ if (offset < unit->dwarf_str_offset
+ || offset > file->dwarf_str_offsets_size
+ || file->dwarf_str_offsets_size - offset < unit->offset_size)
+ return NULL;
+
+ info_ptr = file->dwarf_str_offsets_buffer + offset;
if (unit->offset_size == 4)
str_offset = bfd_get_32 (unit->abfd, info_ptr);
- else
+ else if (unit->offset_size == 8)
str_offset = bfd_get_64 (unit->abfd, info_ptr);
+ else
+ return NULL;
+ if (str_offset >= file->dwarf_str_size)
+ return NULL;
return (const char *) file->dwarf_str_buffer + str_offset;
}
@@ -1534,27 +1557,37 @@ read_attribute_value (struct attribute * attr,
is not yet read. */
if (unit->dwarf_str_offset != 0)
attr->u.str = (char *) read_indexed_string (attr->u.val, unit);
+ else
+ attr->u.str = NULL;
break;
case DW_FORM_strx2:
attr->u.val = read_2_bytes (abfd, &info_ptr, info_ptr_end);
if (unit->dwarf_str_offset != 0)
attr->u.str = (char *) read_indexed_string (attr->u.val, unit);
+ else
+ attr->u.str = NULL;
break;
case DW_FORM_strx3:
attr->u.val = read_3_bytes (abfd, &info_ptr, info_ptr_end);
if (unit->dwarf_str_offset != 0)
attr->u.str = (char *) read_indexed_string (attr->u.val, unit);
+ else
+ attr->u.str = NULL;
break;
case DW_FORM_strx4:
attr->u.val = read_4_bytes (abfd, &info_ptr, info_ptr_end);
if (unit->dwarf_str_offset != 0)
attr->u.str = (char *) read_indexed_string (attr->u.val, unit);
+ else
+ attr->u.str = NULL;
break;
case DW_FORM_strx:
attr->u.val = _bfd_safe_read_leb128 (abfd, &info_ptr,
false, info_ptr_end);
if (unit->dwarf_str_offset != 0)
attr->u.str = (char *) read_indexed_string (attr->u.val, unit);
+ else
+ attr->u.str = NULL;
break;
case DW_FORM_exprloc:
case DW_FORM_block:
--
2.31.1

View File

@@ -0,0 +1,37 @@
From 3e307d538c351aa9327cbad672c884059ecc20dd Mon Sep 17 00:00:00 2001
From: Nick Clifton <nickc@redhat.com>
Date: Wed, 11 Jan 2023 12:13:46 +0000
Subject: [PATCH] Fix a potential illegal memory access in the BFD library when
parsing a corrupt DWARF file.
PR 29988
* dwarf2.c (read_indexed_address): Fix check for an out of range
offset.
Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3e307d538c351aa9327cbad672c884059ecc20dd]
CVE: CVE-2023-1579
Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
---
bfd/ChangeLog | 6 ++++++
bfd/dwarf2.c | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index 6eb6e04e6e5..4ec0053a111 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -1412,7 +1412,7 @@ read_indexed_address (uint64_t idx, struct comp_unit *unit)
offset += unit->dwarf_addr_offset;
if (offset < unit->dwarf_addr_offset
|| offset > file->dwarf_addr_size
- || file->dwarf_addr_size - offset < unit->offset_size)
+ || file->dwarf_addr_size - offset < unit->addr_size)
return 0;
info_ptr = file->dwarf_addr_buffer + offset;
--
2.31.1

View File

@@ -0,0 +1,56 @@
From: Alan Modra <amodra@gmail.com>
Date: Thu, 17 Mar 2022 09:35:39 +0000 (+1030)
Subject: ubsan: Null dereference in parse_module
X-Git-Tag: gdb-12.1-release~59
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=c9178f285acf19e066be8367185d52837161b0a2
ubsan: Null dereference in parse_module
* vms-alpha.c (parse_module): Sanity check that DST__K_RTNBEG
has set module->func_table for DST__K_RTNEND. Check return
of bfd_zalloc.
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=c9178f285acf19e066be8367185d52837161b0a2]
CVE: CVE-2023-25584
Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
---
diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c
index 4a92574c850..1129c98f0e2 100644
--- a/bfd/vms-alpha.c
+++ b/bfd/vms-alpha.c
@@ -4352,9 +4352,13 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
/* Initialize tables with zero element. */
curr_srec = (struct srecinfo *) bfd_zalloc (abfd, sizeof (struct srecinfo));
+ if (!curr_srec)
+ return false;
module->srec_table = curr_srec;
curr_line = (struct lineinfo *) bfd_zalloc (abfd, sizeof (struct lineinfo));
+ if (!curr_line)
+ return false;
module->line_table = curr_line;
while (length == -1 || ptr < maxptr)
@@ -4389,6 +4393,8 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
case DST__K_RTNBEG:
funcinfo = (struct funcinfo *)
bfd_zalloc (abfd, sizeof (struct funcinfo));
+ if (!funcinfo)
+ return false;
funcinfo->name
= _bfd_vms_save_counted_string (abfd, ptr + DST_S_B_RTNBEG_NAME,
maxptr - (ptr + DST_S_B_RTNBEG_NAME));
@@ -4401,6 +4407,8 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
break;
case DST__K_RTNEND:
+ if (!module->func_table)
+ return false;
module->func_table->high = module->func_table->low
+ bfd_getl32 (ptr + DST_S_L_RTNEND_SIZE) - 1;

View File

@@ -0,0 +1,38 @@
From da928f639002002dfc649ed9f50492d5d6cb4cee Mon Sep 17 00:00:00 2001
From: Nick Clifton <nickc@redhat.com>
Date: Mon, 5 Dec 2022 11:11:44 +0000
Subject: [PATCH] Fix an illegal memory access when parsing a corrupt VMS Alpha
file.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fix an illegal memory access when parsing a corrupt VMS Alpha file.
PR 29848
* vms-alpha.c (parse_module): Fix potential out of bounds memory
access.
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=942fa4fb32738ecbb447546d54f1e5f0312d2ed4]
CVE: CVE-2023-25584
Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
---
bfd/vms-alpha.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c
index c548722c..53b3f1bf 100644
--- a/bfd/vms-alpha.c
+++ b/bfd/vms-alpha.c
@@ -4361,7 +4361,7 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
return false;
module->line_table = curr_line;
- while (length == -1 || ptr < maxptr)
+ while (length == -1 || (ptr + 3) < maxptr)
{
/* The first byte is not counted in the recorded length. */
int rec_length = bfd_getl16 (ptr) + 1;

View File

@@ -0,0 +1,534 @@
From: Alan Modra <amodra@gmail.com>
Date: Mon, 12 Dec 2022 07:58:49 +0000 (+1030)
Subject: Lack of bounds checking in vms-alpha.c parse_module
X-Git-Tag: gdb-13-branchpoint~87
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=77c225bdeb410cf60da804879ad41622f5f1aa44
Lack of bounds checking in vms-alpha.c parse_module
PR 29873
PR 29874
PR 29875
PR 29876
PR 29877
PR 29878
PR 29879
PR 29880
PR 29881
PR 29882
PR 29883
PR 29884
PR 29885
PR 29886
PR 29887
PR 29888
PR 29889
PR 29890
PR 29891
* vms-alpha.c (parse_module): Make length param bfd_size_type.
Delete length == -1 checks. Sanity check record_length.
Sanity check DST__K_MODBEG, DST__K_RTNBEG, DST__K_RTNEND lengths.
Sanity check DST__K_SOURCE and DST__K_LINE_NUM elements
before accessing.
(build_module_list): Pass dst_section size to parse_module.
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=77c225bdeb410cf60da804879ad41622f5f1aa44]
CVE: CVE-2023-25584
Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
---
diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c
index c0eb5bc5a2a..3b63259cc81 100644
--- a/bfd/vms-alpha.c
+++ b/bfd/vms-alpha.c
@@ -4340,7 +4340,7 @@ new_module (bfd *abfd)
static bool
parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
- int length)
+ bfd_size_type length)
{
unsigned char *maxptr = ptr + length;
unsigned char *src_ptr, *pcl_ptr;
@@ -4361,7 +4361,7 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
return false;
module->line_table = curr_line;
- while (length == -1 || (ptr + 3) < maxptr)
+ while (ptr + 3 < maxptr)
{
/* The first byte is not counted in the recorded length. */
int rec_length = bfd_getl16 (ptr) + 1;
@@ -4369,15 +4369,19 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
vms_debug2 ((2, "DST record: leng %d, type %d\n", rec_length, rec_type));
- if (length == -1 && rec_type == DST__K_MODEND)
+ if (rec_length > maxptr - ptr)
+ break;
+ if (rec_type == DST__K_MODEND)
break;
switch (rec_type)
{
case DST__K_MODBEG:
+ if (rec_length <= DST_S_B_MODBEG_NAME)
+ break;
module->name
= _bfd_vms_save_counted_string (abfd, ptr + DST_S_B_MODBEG_NAME,
- maxptr - (ptr + DST_S_B_MODBEG_NAME));
+ rec_length - DST_S_B_MODBEG_NAME);
curr_pc = 0;
prev_pc = 0;
@@ -4391,13 +4395,15 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
break;
case DST__K_RTNBEG:
+ if (rec_length <= DST_S_B_RTNBEG_NAME)
+ break;
funcinfo = (struct funcinfo *)
bfd_zalloc (abfd, sizeof (struct funcinfo));
if (!funcinfo)
return false;
funcinfo->name
= _bfd_vms_save_counted_string (abfd, ptr + DST_S_B_RTNBEG_NAME,
- maxptr - (ptr + DST_S_B_RTNBEG_NAME));
+ rec_length - DST_S_B_RTNBEG_NAME);
funcinfo->low = bfd_getl32 (ptr + DST_S_L_RTNBEG_ADDRESS);
funcinfo->next = module->func_table;
module->func_table = funcinfo;
@@ -4407,6 +4413,8 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
break;
case DST__K_RTNEND:
+ if (rec_length < DST_S_L_RTNEND_SIZE + 4)
+ break;
if (!module->func_table)
return false;
module->func_table->high = module->func_table->low
@@ -4439,10 +4447,63 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
vms_debug2 ((3, "source info\n"));
- while (src_ptr < ptr + rec_length)
+ while (src_ptr - ptr < rec_length)
{
int cmd = src_ptr[0], cmd_length, data;
+ switch (cmd)
+ {
+ case DST__K_SRC_DECLFILE:
+ if (src_ptr - ptr + DST_S_B_SRC_DF_LENGTH >= rec_length)
+ cmd_length = 0x10000;
+ else
+ cmd_length = src_ptr[DST_S_B_SRC_DF_LENGTH] + 2;
+ break;
+
+ case DST__K_SRC_DEFLINES_B:
+ cmd_length = 2;
+ break;
+
+ case DST__K_SRC_DEFLINES_W:
+ cmd_length = 3;
+ break;
+
+ case DST__K_SRC_INCRLNUM_B:
+ cmd_length = 2;
+ break;
+
+ case DST__K_SRC_SETFILE:
+ cmd_length = 3;
+ break;
+
+ case DST__K_SRC_SETLNUM_L:
+ cmd_length = 5;
+ break;
+
+ case DST__K_SRC_SETLNUM_W:
+ cmd_length = 3;
+ break;
+
+ case DST__K_SRC_SETREC_L:
+ cmd_length = 5;
+ break;
+
+ case DST__K_SRC_SETREC_W:
+ cmd_length = 3;
+ break;
+
+ case DST__K_SRC_FORMFEED:
+ cmd_length = 1;
+ break;
+
+ default:
+ cmd_length = 2;
+ break;
+ }
+
+ if (src_ptr - ptr + cmd_length > rec_length)
+ break;
+
switch (cmd)
{
case DST__K_SRC_DECLFILE:
@@ -4467,7 +4528,6 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
module->file_table [fileid].name = filename;
module->file_table [fileid].srec = 1;
- cmd_length = src_ptr[DST_S_B_SRC_DF_LENGTH] + 2;
vms_debug2 ((4, "DST_S_C_SRC_DECLFILE: %d, %s\n",
fileid, module->file_table [fileid].name));
}
@@ -4484,7 +4544,6 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
srec->sfile = curr_srec->sfile;
curr_srec->next = srec;
curr_srec = srec;
- cmd_length = 2;
vms_debug2 ((4, "DST_S_C_SRC_DEFLINES_B: %d\n", data));
break;
@@ -4499,14 +4558,12 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
srec->sfile = curr_srec->sfile;
curr_srec->next = srec;
curr_srec = srec;
- cmd_length = 3;
vms_debug2 ((4, "DST_S_C_SRC_DEFLINES_W: %d\n", data));
break;
case DST__K_SRC_INCRLNUM_B:
data = src_ptr[DST_S_B_SRC_UNSBYTE];
curr_srec->line += data;
- cmd_length = 2;
vms_debug2 ((4, "DST_S_C_SRC_INCRLNUM_B: %d\n", data));
break;
@@ -4514,21 +4571,18 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
data = bfd_getl16 (src_ptr + DST_S_W_SRC_UNSWORD);
curr_srec->sfile = data;
curr_srec->srec = module->file_table[data].srec;
- cmd_length = 3;
vms_debug2 ((4, "DST_S_C_SRC_SETFILE: %d\n", data));
break;
case DST__K_SRC_SETLNUM_L:
data = bfd_getl32 (src_ptr + DST_S_L_SRC_UNSLONG);
curr_srec->line = data;
- cmd_length = 5;
vms_debug2 ((4, "DST_S_C_SRC_SETLNUM_L: %d\n", data));
break;
case DST__K_SRC_SETLNUM_W:
data = bfd_getl16 (src_ptr + DST_S_W_SRC_UNSWORD);
curr_srec->line = data;
- cmd_length = 3;
vms_debug2 ((4, "DST_S_C_SRC_SETLNUM_W: %d\n", data));
break;
@@ -4536,7 +4590,6 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
data = bfd_getl32 (src_ptr + DST_S_L_SRC_UNSLONG);
curr_srec->srec = data;
module->file_table[curr_srec->sfile].srec = data;
- cmd_length = 5;
vms_debug2 ((4, "DST_S_C_SRC_SETREC_L: %d\n", data));
break;
@@ -4544,19 +4597,16 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
data = bfd_getl16 (src_ptr + DST_S_W_SRC_UNSWORD);
curr_srec->srec = data;
module->file_table[curr_srec->sfile].srec = data;
- cmd_length = 3;
vms_debug2 ((4, "DST_S_C_SRC_SETREC_W: %d\n", data));
break;
case DST__K_SRC_FORMFEED:
- cmd_length = 1;
vms_debug2 ((4, "DST_S_C_SRC_FORMFEED\n"));
break;
default:
_bfd_error_handler (_("unknown source command %d"),
cmd);
- cmd_length = 2;
break;
}
@@ -4569,18 +4619,114 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
vms_debug2 ((3, "line info\n"));
- while (pcl_ptr < ptr + rec_length)
+ while (pcl_ptr - ptr < rec_length)
{
/* The command byte is signed so we must sign-extend it. */
int cmd = ((signed char *)pcl_ptr)[0], cmd_length, data;
+ switch (cmd)
+ {
+ case DST__K_DELTA_PC_W:
+ cmd_length = 3;
+ break;
+
+ case DST__K_DELTA_PC_L:
+ cmd_length = 5;
+ break;
+
+ case DST__K_INCR_LINUM:
+ cmd_length = 2;
+ break;
+
+ case DST__K_INCR_LINUM_W:
+ cmd_length = 3;
+ break;
+
+ case DST__K_INCR_LINUM_L:
+ cmd_length = 5;
+ break;
+
+ case DST__K_SET_LINUM_INCR:
+ cmd_length = 2;
+ break;
+
+ case DST__K_SET_LINUM_INCR_W:
+ cmd_length = 3;
+ break;
+
+ case DST__K_RESET_LINUM_INCR:
+ cmd_length = 1;
+ break;
+
+ case DST__K_BEG_STMT_MODE:
+ cmd_length = 1;
+ break;
+
+ case DST__K_END_STMT_MODE:
+ cmd_length = 1;
+ break;
+
+ case DST__K_SET_LINUM_B:
+ cmd_length = 2;
+ break;
+
+ case DST__K_SET_LINUM:
+ cmd_length = 3;
+ break;
+
+ case DST__K_SET_LINUM_L:
+ cmd_length = 5;
+ break;
+
+ case DST__K_SET_PC:
+ cmd_length = 2;
+ break;
+
+ case DST__K_SET_PC_W:
+ cmd_length = 3;
+ break;
+
+ case DST__K_SET_PC_L:
+ cmd_length = 5;
+ break;
+
+ case DST__K_SET_STMTNUM:
+ cmd_length = 2;
+ break;
+
+ case DST__K_TERM:
+ cmd_length = 2;
+ break;
+
+ case DST__K_TERM_W:
+ cmd_length = 3;
+ break;
+
+ case DST__K_TERM_L:
+ cmd_length = 5;
+ break;
+
+ case DST__K_SET_ABS_PC:
+ cmd_length = 5;
+ break;
+
+ default:
+ if (cmd <= 0)
+ cmd_length = 1;
+ else
+ cmd_length = 2;
+ break;
+ }
+
+ if (pcl_ptr - ptr + cmd_length > rec_length)
+ break;
+
switch (cmd)
{
case DST__K_DELTA_PC_W:
data = bfd_getl16 (pcl_ptr + DST_S_W_PCLINE_UNSWORD);
curr_pc += data;
curr_linenum += 1;
- cmd_length = 3;
vms_debug2 ((4, "DST__K_DELTA_PC_W: %d\n", data));
break;
@@ -4588,131 +4734,111 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
data = bfd_getl32 (pcl_ptr + DST_S_L_PCLINE_UNSLONG);
curr_pc += data;
curr_linenum += 1;
- cmd_length = 5;
vms_debug2 ((4, "DST__K_DELTA_PC_L: %d\n", data));
break;
case DST__K_INCR_LINUM:
data = pcl_ptr[DST_S_B_PCLINE_UNSBYTE];
curr_linenum += data;
- cmd_length = 2;
vms_debug2 ((4, "DST__K_INCR_LINUM: %d\n", data));
break;
case DST__K_INCR_LINUM_W:
data = bfd_getl16 (pcl_ptr + DST_S_W_PCLINE_UNSWORD);
curr_linenum += data;
- cmd_length = 3;
vms_debug2 ((4, "DST__K_INCR_LINUM_W: %d\n", data));
break;
case DST__K_INCR_LINUM_L:
data = bfd_getl32 (pcl_ptr + DST_S_L_PCLINE_UNSLONG);
curr_linenum += data;
- cmd_length = 5;
vms_debug2 ((4, "DST__K_INCR_LINUM_L: %d\n", data));
break;
case DST__K_SET_LINUM_INCR:
_bfd_error_handler
(_("%s not implemented"), "DST__K_SET_LINUM_INCR");
- cmd_length = 2;
break;
case DST__K_SET_LINUM_INCR_W:
_bfd_error_handler
(_("%s not implemented"), "DST__K_SET_LINUM_INCR_W");
- cmd_length = 3;
break;
case DST__K_RESET_LINUM_INCR:
_bfd_error_handler
(_("%s not implemented"), "DST__K_RESET_LINUM_INCR");
- cmd_length = 1;
break;
case DST__K_BEG_STMT_MODE:
_bfd_error_handler
(_("%s not implemented"), "DST__K_BEG_STMT_MODE");
- cmd_length = 1;
break;
case DST__K_END_STMT_MODE:
_bfd_error_handler
(_("%s not implemented"), "DST__K_END_STMT_MODE");
- cmd_length = 1;
break;
case DST__K_SET_LINUM_B:
data = pcl_ptr[DST_S_B_PCLINE_UNSBYTE];
curr_linenum = data;
- cmd_length = 2;
vms_debug2 ((4, "DST__K_SET_LINUM_B: %d\n", data));
break;
case DST__K_SET_LINUM:
data = bfd_getl16 (pcl_ptr + DST_S_W_PCLINE_UNSWORD);
curr_linenum = data;
- cmd_length = 3;
vms_debug2 ((4, "DST__K_SET_LINE_NUM: %d\n", data));
break;
case DST__K_SET_LINUM_L:
data = bfd_getl32 (pcl_ptr + DST_S_L_PCLINE_UNSLONG);
curr_linenum = data;
- cmd_length = 5;
vms_debug2 ((4, "DST__K_SET_LINUM_L: %d\n", data));
break;
case DST__K_SET_PC:
_bfd_error_handler
(_("%s not implemented"), "DST__K_SET_PC");
- cmd_length = 2;
break;
case DST__K_SET_PC_W:
_bfd_error_handler
(_("%s not implemented"), "DST__K_SET_PC_W");
- cmd_length = 3;
break;
case DST__K_SET_PC_L:
_bfd_error_handler
(_("%s not implemented"), "DST__K_SET_PC_L");
- cmd_length = 5;
break;
case DST__K_SET_STMTNUM:
_bfd_error_handler
(_("%s not implemented"), "DST__K_SET_STMTNUM");
- cmd_length = 2;
break;
case DST__K_TERM:
data = pcl_ptr[DST_S_B_PCLINE_UNSBYTE];
curr_pc += data;
- cmd_length = 2;
vms_debug2 ((4, "DST__K_TERM: %d\n", data));
break;
case DST__K_TERM_W:
data = bfd_getl16 (pcl_ptr + DST_S_W_PCLINE_UNSWORD);
curr_pc += data;
- cmd_length = 3;
vms_debug2 ((4, "DST__K_TERM_W: %d\n", data));
break;
case DST__K_TERM_L:
data = bfd_getl32 (pcl_ptr + DST_S_L_PCLINE_UNSLONG);
curr_pc += data;
- cmd_length = 5;
vms_debug2 ((4, "DST__K_TERM_L: %d\n", data));
break;
case DST__K_SET_ABS_PC:
data = bfd_getl32 (pcl_ptr + DST_S_L_PCLINE_UNSLONG);
curr_pc = data;
- cmd_length = 5;
vms_debug2 ((4, "DST__K_SET_ABS_PC: 0x%x\n", data));
break;
@@ -4721,15 +4847,11 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
{
curr_pc -= cmd;
curr_linenum += 1;
- cmd_length = 1;
vms_debug2 ((4, "bump pc to 0x%lx and line to %d\n",
(unsigned long)curr_pc, curr_linenum));
}
else
- {
- _bfd_error_handler (_("unknown line command %d"), cmd);
- cmd_length = 2;
- }
+ _bfd_error_handler (_("unknown line command %d"), cmd);
break;
}
@@ -4859,7 +4981,8 @@ build_module_list (bfd *abfd)
return NULL;
module = new_module (abfd);
- if (!parse_module (abfd, module, PRIV (dst_section)->contents, -1))
+ if (!parse_module (abfd, module, PRIV (dst_section)->contents,
+ PRIV (dst_section)->size))
return NULL;
list = module;
}

View File

@@ -0,0 +1,54 @@
From: Alan Modra <amodra@gmail.com>
Date: Mon, 12 Dec 2022 08:31:08 +0000 (+1030)
Subject: PR29892, Field file_table of struct module is uninitialized
X-Git-Tag: gdb-13-branchpoint~86
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=65cf035b8dc1df5d8020e0b1449514a3c42933e7
PR29892, Field file_table of struct module is uninitialized
PR 29892
* vms-alphs.c (new_module): Use bfd_zmalloc to alloc file_table.
(parse_module): Rewrite file_table reallocation code and clear.
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=65cf035b8dc1df5d8020e0b1449514a3c42933e7]
CVE: CVE-2023-25585
Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
---
diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c
index 3b63259cc81..6ee7060b0b2 100644
--- a/bfd/vms-alpha.c
+++ b/bfd/vms-alpha.c
@@ -4337,7 +4337,7 @@ new_module (bfd *abfd)
= (struct module *) bfd_zalloc (abfd, sizeof (struct module));
module->file_table_count = 16; /* Arbitrary. */
module->file_table
- = bfd_malloc (module->file_table_count * sizeof (struct fileinfo));
+ = bfd_zmalloc (module->file_table_count * sizeof (struct fileinfo));
return module;
}
@@ -4520,15 +4520,18 @@ parse_module (bfd *abfd, struct module *module, unsigned char *ptr,
src_ptr + DST_S_B_SRC_DF_FILENAME,
ptr + rec_length - (src_ptr + DST_S_B_SRC_DF_FILENAME));
- while (fileid >= module->file_table_count)
+ if (fileid >= module->file_table_count)
{
- module->file_table_count *= 2;
+ unsigned int old_count = module->file_table_count;
+ module->file_table_count += fileid;
module->file_table
= bfd_realloc_or_free (module->file_table,
module->file_table_count
* sizeof (struct fileinfo));
if (module->file_table == NULL)
return false;
+ memset (module->file_table + old_count, 0,
+ fileid * sizeof (struct fileinfo));
}
module->file_table [fileid].name = filename;

View File

@@ -0,0 +1,147 @@
From: Alan Modra <amodra@gmail.com>
Date: Fri, 14 Oct 2022 00:00:21 +0000 (+1030)
Subject: PR29677, Field `the_bfd` of `asymbol` is uninitialised
X-Git-Tag: gdb-13-branchpoint~871
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=d12f8998d2d086f0a6606589e5aedb7147e6f2f1
PR29677, Field `the_bfd` of `asymbol` is uninitialised
Besides not initialising the_bfd of synthetic symbols, counting
symbols when sizing didn't match symbols created if there were any
dynsyms named "". We don't want synthetic symbols without names
anyway, so get rid of them. Also, simplify and correct sanity checks.
PR 29677
* mach-o.c (bfd_mach_o_get_synthetic_symtab): Rewrite.
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=d12f8998d2d086f0a6606589e5aedb7147e6f2f1]
CVE: CVE-2023-25588
Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
---
diff --git a/bfd/mach-o.c b/bfd/mach-o.c
index acb35e7f0c6..5279343768c 100644
--- a/bfd/mach-o.c
+++ b/bfd/mach-o.c
@@ -938,11 +938,9 @@ bfd_mach_o_get_synthetic_symtab (bfd *abfd,
bfd_mach_o_symtab_command *symtab = mdata->symtab;
asymbol *s;
char * s_start;
- char * s_end;
unsigned long count, i, j, n;
size_t size;
char *names;
- char *nul_name;
const char stub [] = "$stub";
*ret = NULL;
@@ -955,27 +953,27 @@ bfd_mach_o_get_synthetic_symtab (bfd *abfd,
/* We need to allocate a bfd symbol for every indirect symbol and to
allocate the memory for its name. */
count = dysymtab->nindirectsyms;
- size = count * sizeof (asymbol) + 1;
-
+ size = 0;
for (j = 0; j < count; j++)
{
- const char * strng;
unsigned int isym = dysymtab->indirect_syms[j];
+ const char *str;
/* Some indirect symbols are anonymous. */
- if (isym < symtab->nsyms && (strng = symtab->symbols[isym].symbol.name))
- /* PR 17512: file: f5b8eeba. */
- size += strnlen (strng, symtab->strsize - (strng - symtab->strtab)) + sizeof (stub);
+ if (isym < symtab->nsyms
+ && (str = symtab->symbols[isym].symbol.name) != NULL)
+ {
+ /* PR 17512: file: f5b8eeba. */
+ size += strnlen (str, symtab->strsize - (str - symtab->strtab));
+ size += sizeof (stub);
+ }
}
- s_start = bfd_malloc (size);
+ s_start = bfd_malloc (size + count * sizeof (asymbol));
s = *ret = (asymbol *) s_start;
if (s == NULL)
return -1;
names = (char *) (s + count);
- nul_name = names;
- *names++ = 0;
- s_end = s_start + size;
n = 0;
for (i = 0; i < mdata->nsects; i++)
@@ -997,47 +995,39 @@ bfd_mach_o_get_synthetic_symtab (bfd *abfd,
entry_size = bfd_mach_o_section_get_entry_size (abfd, sec);
/* PR 17512: file: 08e15eec. */
- if (first >= count || last >= count || first > last)
+ if (first >= count || last > count || first > last)
goto fail;
for (j = first; j < last; j++)
{
unsigned int isym = dysymtab->indirect_syms[j];
-
- /* PR 17512: file: 04d64d9b. */
- if (((char *) s) + sizeof (* s) > s_end)
- goto fail;
-
- s->flags = BSF_GLOBAL | BSF_SYNTHETIC;
- s->section = sec->bfdsection;
- s->value = addr - sec->addr;
- s->udata.p = NULL;
+ const char *str;
+ size_t len;
if (isym < symtab->nsyms
- && symtab->symbols[isym].symbol.name)
+ && (str = symtab->symbols[isym].symbol.name) != NULL)
{
- const char *sym = symtab->symbols[isym].symbol.name;
- size_t len;
-
- s->name = names;
- len = strlen (sym);
- /* PR 17512: file: 47dfd4d2. */
- if (names + len >= s_end)
+ /* PR 17512: file: 04d64d9b. */
+ if (n >= count)
goto fail;
- memcpy (names, sym, len);
- names += len;
- /* PR 17512: file: 18f340a4. */
- if (names + sizeof (stub) >= s_end)
+ len = strnlen (str, symtab->strsize - (str - symtab->strtab));
+ /* PR 17512: file: 47dfd4d2, 18f340a4. */
+ if (size < len + sizeof (stub))
goto fail;
- memcpy (names, stub, sizeof (stub));
- names += sizeof (stub);
+ memcpy (names, str, len);
+ memcpy (names + len, stub, sizeof (stub));
+ s->name = names;
+ names += len + sizeof (stub);
+ size -= len + sizeof (stub);
+ s->the_bfd = symtab->symbols[isym].symbol.the_bfd;
+ s->flags = BSF_GLOBAL | BSF_SYNTHETIC;
+ s->section = sec->bfdsection;
+ s->value = addr - sec->addr;
+ s->udata.p = NULL;
+ s++;
+ n++;
}
- else
- s->name = nul_name;
-
addr += entry_size;
- s++;
- n++;
}
break;
default:

View File

@@ -0,0 +1,41 @@
From: Nick Clifton <nickc@redhat.com>
Date: Thu, 30 Mar 2023 09:10:09 +0000 (+0100)
Subject: Fix an illegal memory access when an accessing a zer0-lengthverdef table.
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57
Fix an illegal memory access when an accessing a zer0-lengthverdef table.
PR 30285
* elf.c (_bfd_elf_slurp_version_tables): Fail if no version definitions are allocated.
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57]
CVE: CVE-2023-1972
Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
---
diff --git a/bfd/elf.c b/bfd/elf.c
index 027d0143735..185028cbd97 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -9030,6 +9030,9 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
bfd_set_error (bfd_error_file_too_big);
goto error_return_verdef;
}
+
+ if (amt == 0)
+ goto error_return_verdef;
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
if (elf_tdata (abfd)->verdef == NULL)
goto error_return_verdef;
@@ -9133,6 +9136,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
bfd_set_error (bfd_error_file_too_big);
goto error_return;
}
+ if (amt == 0)
+ goto error_return;
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
if (elf_tdata (abfd)->verdef == NULL)
goto error_return;

View File

@@ -8,3 +8,4 @@ rm -f *.tmp
rm -f *.ok
rm -f *.failed
rm -f *.log
cp ../data/test_data.tmp ./

View File

@@ -141,4 +141,7 @@ do_install_ptest() {
install -d ${D}${PTEST_PATH}/lib
install -m 0644 ${B}/lib/config.h ${D}${PTEST_PATH}/lib/
install -d ${D}${PTEST_PATH}/data
install -m 0644 ${B}/tests/test_data.tmp ${D}${PTEST_PATH}/data/
}

View File

@@ -68,7 +68,8 @@ do_configure () {
# libstdc++ isn't built yet so CXX would error not able to find it which breaks stdc++'s configure
# tests. Create a dummy empty lib for the purposes of configure.
mkdir -p ${WORKDIR}/dummylib
${CC} -x c /dev/null -nostartfiles -shared -o ${WORKDIR}/dummylib/libstdc++.so
${CC} -x c /dev/null -c -o ${WORKDIR}/dummylib/dummylib.o
${AR} rcs ${WORKDIR}/dummylib/libstdc++.a ${WORKDIR}/dummylib/dummylib.o
for d in libgcc ${RUNTIMETARGET}; do
echo "Configuring $d"
rm -rf ${B}/${TARGET_SYS}/$d/

View File

@@ -0,0 +1,94 @@
From 9db05711c98efc14f414d4c87135a34c13586e0b Mon Sep 17 00:00:00 2001
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Date: Thu Mar 9 16:02:54 2023 +0100
Subject: [PATCH] apply --reject: overwrite existing `.rej` symlink if it
exists
The `git apply --reject` is expected to write out `.rej` files in case
one or more hunks fail to apply cleanly. Historically, the command
overwrites any existing `.rej` files. The idea being that
apply/reject/edit cycles are relatively common, and the generated `.rej`
files are not considered precious.
But the command does not overwrite existing `.rej` symbolic links, and
instead follows them. This is unsafe because the same patch could
potentially create such a symbolic link and point at arbitrary paths
outside the current worktree, and `git apply` would write the contents
of the `.rej` file into that location.
Therefore, let's make sure that any existing `.rej` file or symbolic
link is removed before writing it.
Reported-by: RyotaK <ryotak.mail@gmail.com>
Helped-by: Taylor Blau <me@ttaylorr.com>
Helped-by: Junio C Hamano <gitster@pobox.com>
Helped-by: Linus Torvalds <torvalds@linuxfoundation.org>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
CVE: CVE-2023-25652
Upstream-Status: Backport [https://github.com/git/git/commit/9db05711c98efc14f414d4c87135a34c13586e0b]
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
apply.c | 14 ++++++++++++--
t/t4115-apply-symlink.sh | 15 +++++++++++++++
2 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/apply.c b/apply.c
index fc6f484..47f2686 100644
--- a/apply.c
+++ b/apply.c
@@ -4584,7 +4584,7 @@ static int write_out_one_reject(struct apply_state *state, struct patch *patch)
FILE *rej;
char namebuf[PATH_MAX];
struct fragment *frag;
- int cnt = 0;
+ int fd, cnt = 0;
struct strbuf sb = STRBUF_INIT;
for (cnt = 0, frag = patch->fragments; frag; frag = frag->next) {
@@ -4624,7 +4624,17 @@ static int write_out_one_reject(struct apply_state *state, struct patch *patch)
memcpy(namebuf, patch->new_name, cnt);
memcpy(namebuf + cnt, ".rej", 5);
- rej = fopen(namebuf, "w");
+ fd = open(namebuf, O_CREAT | O_EXCL | O_WRONLY, 0666);
+ if (fd < 0) {
+ if (errno != EEXIST)
+ return error_errno(_("cannot open %s"), namebuf);
+ if (unlink(namebuf))
+ return error_errno(_("cannot unlink '%s'"), namebuf);
+ fd = open(namebuf, O_CREAT | O_EXCL | O_WRONLY, 0666);
+ if (fd < 0)
+ return error_errno(_("cannot open %s"), namebuf);
+ }
+ rej = fdopen(fd, "w");
if (!rej)
return error_errno(_("cannot open %s"), namebuf);
diff --git a/t/t4115-apply-symlink.sh b/t/t4115-apply-symlink.sh
index 65ac7df..e95e6d4 100755
--- a/t/t4115-apply-symlink.sh
+++ b/t/t4115-apply-symlink.sh
@@ -126,4 +126,19 @@ test_expect_success SYMLINKS 'symlink escape when deleting file' '
test_path_is_file .git/delete-me
'
+test_expect_success SYMLINKS '--reject removes .rej symlink if it exists' '
+ test_when_finished "git reset --hard && git clean -dfx" &&
+
+ test_commit file &&
+ echo modified >file.t &&
+ git diff -- file.t >patch &&
+ echo modified-again >file.t &&
+
+ ln -s foo file.t.rej &&
+ test_must_fail git apply patch --reject 2>err &&
+ test_i18ngrep "Rejected hunk" err &&
+ test_path_is_missing foo &&
+ test_path_is_file file.t.rej
+'
+
test_done
--
2.40.0

View File

@@ -0,0 +1,162 @@
From 057c07a7b1fae22fdeef26c243f4cfbe3afc90ce Mon Sep 17 00:00:00 2001
From: Taylor Blau <me@ttaylorr.com>
Date: Fri, 14 Apr 2023 11:46:59 -0400
Subject: [PATCH] Merge branch 'tb/config-copy-or-rename-in-file-injection'
Avoids issues with renaming or deleting sections with long lines, where
configuration values may be interpreted as sections, leading to
configuration injection. Addresses CVE-2023-29007.
* tb/config-copy-or-rename-in-file-injection:
config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
config: avoid fixed-sized buffer when renaming/deleting a section
t1300: demonstrate failure when renaming sections with long lines
Signed-off-by: Taylor Blau <me@ttaylorr.com>
Upstream-Status: Backport
CVE: CVE-2023-29007
Reference to upstream patch:
https://github.com/git/git/commit/528290f8c61222433a8cf02fb7cfffa8438432b4
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
config.c | 36 +++++++++++++++++++++++++-----------
t/t1300-config.sh | 30 ++++++++++++++++++++++++++++++
2 files changed, 55 insertions(+), 11 deletions(-)
diff --git a/config.c b/config.c
index 2bffa8d..6a01938 100644
--- a/config.c
+++ b/config.c
@@ -3192,9 +3192,10 @@ void git_config_set_multivar(const char *key, const char *value,
flags);
}
-static int section_name_match (const char *buf, const char *name)
+static size_t section_name_match (const char *buf, const char *name)
{
- int i = 0, j = 0, dot = 0;
+ size_t i = 0, j = 0;
+ int dot = 0;
if (buf[i] != '[')
return 0;
for (i = 1; buf[i] && buf[i] != ']'; i++) {
@@ -3247,6 +3248,8 @@ static int section_name_is_ok(const char *name)
return 1;
}
+#define GIT_CONFIG_MAX_LINE_LEN (512 * 1024)
+
/* if new_name == NULL, the section is removed instead */
static int git_config_copy_or_rename_section_in_file(const char *config_filename,
const char *old_name,
@@ -3256,11 +3259,12 @@ static int git_config_copy_or_rename_section_in_file(const char *config_filename
char *filename_buf = NULL;
struct lock_file lock = LOCK_INIT;
int out_fd;
- char buf[1024];
+ struct strbuf buf = STRBUF_INIT;
FILE *config_file = NULL;
struct stat st;
struct strbuf copystr = STRBUF_INIT;
struct config_store_data store;
+ uint32_t line_nr = 0;
memset(&store, 0, sizeof(store));
@@ -3297,16 +3301,25 @@ static int git_config_copy_or_rename_section_in_file(const char *config_filename
goto out;
}
- while (fgets(buf, sizeof(buf), config_file)) {
- unsigned i;
- int length;
+ while (!strbuf_getwholeline(&buf, config_file, '\n')) {
+ size_t i, length;
int is_section = 0;
- char *output = buf;
- for (i = 0; buf[i] && isspace(buf[i]); i++)
+ char *output = buf.buf;
+
+ line_nr++;
+
+ if (buf.len >= GIT_CONFIG_MAX_LINE_LEN) {
+ ret = error(_("refusing to work with overly long line "
+ "in '%s' on line %"PRIuMAX),
+ config_filename, (uintmax_t)line_nr);
+ goto out;
+ }
+
+ for (i = 0; buf.buf[i] && isspace(buf.buf[i]); i++)
; /* do nothing */
- if (buf[i] == '[') {
+ if (buf.buf[i] == '[') {
/* it's a section */
- int offset;
+ size_t offset;
is_section = 1;
/*
@@ -3323,7 +3336,7 @@ static int git_config_copy_or_rename_section_in_file(const char *config_filename
strbuf_reset(&copystr);
}
- offset = section_name_match(&buf[i], old_name);
+ offset = section_name_match(&buf.buf[i], old_name);
if (offset > 0) {
ret++;
if (new_name == NULL) {
@@ -3398,6 +3411,7 @@ static int git_config_copy_or_rename_section_in_file(const char *config_filename
out_no_rollback:
free(filename_buf);
config_store_data_clear(&store);
+ strbuf_release(&buf);
return ret;
}
diff --git a/t/t1300-config.sh b/t/t1300-config.sh
index 78359f1..b07feb1 100755
--- a/t/t1300-config.sh
+++ b/t/t1300-config.sh
@@ -617,6 +617,36 @@ test_expect_success 'renaming to bogus section is rejected' '
test_must_fail git config --rename-section branch.zwei "bogus name"
'
+test_expect_success 'renaming a section with a long line' '
+ {
+ printf "[b]\\n" &&
+ printf " c = d %1024s [a] e = f\\n" " " &&
+ printf "[a] g = h\\n"
+ } >y &&
+ git config -f y --rename-section a xyz &&
+ test_must_fail git config -f y b.e
+'
+
+test_expect_success 'renaming an embedded section with a long line' '
+ {
+ printf "[b]\\n" &&
+ printf " c = d %1024s [a] [foo] e = f\\n" " " &&
+ printf "[a] g = h\\n"
+ } >y &&
+ git config -f y --rename-section a xyz &&
+ test_must_fail git config -f y foo.e
+'
+
+test_expect_success 'renaming a section with an overly-long line' '
+ {
+ printf "[b]\\n" &&
+ printf " c = d %525000s e" " " &&
+ printf "[a] g = h\\n"
+ } >y &&
+ test_must_fail git config -f y --rename-section a xyz 2>err &&
+ test_i18ngrep "refusing to work with overly long line in .y. on line 2" err
+'
+
cat >> .git/config << EOF
[branch "zwei"] a = 1 [branch "vier"]
EOF
--
2.40.0

View File

@@ -10,6 +10,8 @@ PROVIDES:append:class-native = " git-replacement-native"
SRC_URI = "${KERNELORG_MIRROR}/software/scm/git/git-${PV}.tar.gz;name=tarball \
file://fixsort.patch \
file://0001-config.mak.uname-do-not-force-RHEL-7-specific-build-.patch \
file://CVE-2023-29007.patch \
file://CVE-2023-25652.patch \
"
S = "${WORKDIR}/git-${PV}"
@@ -35,6 +37,8 @@ CVE_CHECK_IGNORE += "CVE-2022-24975"
CVE_CHECK_IGNORE += "CVE-2022-41953"
# specific to Git for Windows
CVE_CHECK_IGNORE += "CVE-2023-22743"
# This is specific to Git-for-Windows
CVE_CHECK_IGNORE += "CVE-2023-25815"
PACKAGECONFIG ??= "expat curl"
PACKAGECONFIG[cvsserver] = ""

View File

@@ -1,6 +1,6 @@
require go-common.inc
FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/go-1.18:"
FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/go-1.19:${FILE_DIRNAME}/go-1.18:"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
@@ -23,6 +23,15 @@ SRC_URI += "\
file://CVE-2022-2879.patch \
file://CVE-2022-41720.patch \
file://CVE-2022-41723.patch \
file://cve-2022-41724.patch \
file://add_godebug.patch \
file://cve-2022-41725.patch \
file://CVE-2022-41722.patch \
file://CVE-2023-24537.patch \
file://CVE-2023-24534.patch \
file://CVE-2023-24538.patch \
file://CVE-2023-24540.patch \
file://CVE-2023-24539.patch \
"
SRC_URI[main.sha256sum] = "a1a48b23afb206f95e7bbaa9b898d965f90826f6f1d1fc0c1d784ada0cd300fd"
@@ -30,3 +39,6 @@ SRC_URI[main.sha256sum] = "a1a48b23afb206f95e7bbaa9b898d965f90826f6f1d1fc0c1d784
# fix in 1.17 onwards where we can drop this.
# https://github.com/golang/go/issues/30999#issuecomment-910470358
CVE_CHECK_IGNORE += "CVE-2021-29923"
# This is specific to Microsoft Windows
CVE_CHECK_IGNORE += "CVE-2022-41716"

View File

@@ -0,0 +1,103 @@
From a826b19625caebed6dd0f3fbd9d0111f6c83737c Mon Sep 17 00:00:00 2001
From: Damien Neil <dneil@google.com>
Date: Mon, 12 Dec 2022 16:43:37 -0800
Subject: [PATCH] path/filepath: do not Clean("a/../c:/b") into c:\b on Windows
Do not permit Clean to convert a relative path into one starting
with a drive reference. This change causes Clean to insert a .
path element at the start of a path when the original path does not
start with a volume name, and the first path element would contain
a colon.
This may introduce a spurious but harmless . path element under
some circumstances. For example, Clean("a/../b:/../c") becomes `.\c`.
This reverts CL 401595, since the change here supersedes the one
in that CL.
Thanks to RyotaK (https://twitter.com/ryotkak) for reporting this issue.
Updates #57274
Fixes #57276
Fixes CVE-2022-41722
Change-Id: I837446285a03aa74c79d7642720e01f354c2ca17
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1675249
Reviewed-by: Roland Shoemaker <bracewell@google.com>
Run-TryBot: Damien Neil <dneil@google.com>
Reviewed-by: Julie Qiu <julieqiu@google.com>
TryBot-Result: Security TryBots <security-trybots@go-security-trybots.iam.gserviceaccount.com>
(cherry picked from commit 8ca37f4813ef2f64600c92b83f17c9f3ca6c03a5)
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1728944
Run-TryBot: Roland Shoemaker <bracewell@google.com>
Reviewed-by: Tatiana Bradley <tatianabradley@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-on: https://go-review.googlesource.com/c/go/+/468119
Reviewed-by: Than McIntosh <thanm@google.com>
Run-TryBot: Michael Pratt <mpratt@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Michael Pratt <mpratt@google.com>
CVE: CVE-2022-41722
Upstream-Status: Backport from https://github.com/golang/go/commit/bdf07c2e168baf736e4c057279ca12a4d674f18
Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
---
src/path/filepath/path.go | 27 ++++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/src/path/filepath/path.go b/src/path/filepath/path.go
index 8300a32..94621a0 100644
--- a/src/path/filepath/path.go
+++ b/src/path/filepath/path.go
@@ -15,6 +15,7 @@ import (
"errors"
"io/fs"
"os"
+ "runtime"
"sort"
"strings"
)
@@ -117,21 +118,9 @@ func Clean(path string) string {
case os.IsPathSeparator(path[r]):
// empty path element
r++
- case path[r] == '.' && r+1 == n:
+ case path[r] == '.' && (r+1 == n || os.IsPathSeparator(path[r+1])):
// . element
r++
- case path[r] == '.' && os.IsPathSeparator(path[r+1]):
- // ./ element
- r++
-
- for r < len(path) && os.IsPathSeparator(path[r]) {
- r++
- }
- if out.w == 0 && volumeNameLen(path[r:]) > 0 {
- // When joining prefix "." and an absolute path on Windows,
- // the prefix should not be removed.
- out.append('.')
- }
case path[r] == '.' && path[r+1] == '.' && (r+2 == n || os.IsPathSeparator(path[r+2])):
// .. element: remove to last separator
r += 2
@@ -157,6 +146,18 @@ func Clean(path string) string {
if rooted && out.w != 1 || !rooted && out.w != 0 {
out.append(Separator)
}
+ // If a ':' appears in the path element at the start of a Windows path,
+ // insert a .\ at the beginning to avoid converting relative paths
+ // like a/../c: into c:.
+ if runtime.GOOS == "windows" && out.w == 0 && out.volLen == 0 && r != 0 {
+ for i := r; i < n && !os.IsPathSeparator(path[i]); i++ {
+ if path[i] == ':' {
+ out.append('.')
+ out.append(Separator)
+ break
+ }
+ }
+ }
// copy element
for ; r < n && !os.IsPathSeparator(path[r]); r++ {
out.append(path[r])
--
2.7.4

View File

@@ -0,0 +1,200 @@
From d6759e7a059f4208f07aa781402841d7ddaaef96 Mon Sep 17 00:00:00 2001
From: Damien Neil <dneil@google.com>
Date: Fri, 10 Mar 2023 14:21:05 -0800
Subject: [PATCH] [release-branch.go1.19] net/textproto: avoid overpredicting
the number of MIME header keys
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1802452
Run-TryBot: Damien Neil <dneil@google.com>
Reviewed-by: Roland Shoemaker <bracewell@google.com>
Reviewed-by: Julie Qiu <julieqiu@google.com>
(cherry picked from commit f739f080a72fd5b06d35c8e244165159645e2ed6)
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1802393
Reviewed-by: Damien Neil <dneil@google.com>
Run-TryBot: Roland Shoemaker <bracewell@google.com>
Change-Id: I675451438d619a9130360c56daf529559004903f
Reviewed-on: https://go-review.googlesource.com/c/go/+/481982
Run-TryBot: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Upstream-Status: Backport [https://github.com/golang/go/commit/d6759e7a059f4208f07aa781402841d7ddaaef96]
CVE: CVE-2023-24534
Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
---
src/bytes/bytes.go | 14 ++++++++
src/net/textproto/reader.go | 30 ++++++++++------
src/net/textproto/reader_test.go | 59 ++++++++++++++++++++++++++++++++
3 files changed, 92 insertions(+), 11 deletions(-)
diff --git a/src/bytes/bytes.go b/src/bytes/bytes.go
index ce52649..95ff31c 100644
--- a/src/bytes/bytes.go
+++ b/src/bytes/bytes.go
@@ -1174,3 +1174,17 @@ func Index(s, sep []byte) int {
}
return -1
}
+
+// Cut slices s around the first instance of sep,
+// returning the text before and after sep.
+// The found result reports whether sep appears in s.
+// If sep does not appear in s, cut returns s, nil, false.
+//
+// Cut returns slices of the original slice s, not copies.
+func Cut(s, sep []byte) (before, after []byte, found bool) {
+ if i := Index(s, sep); i >= 0 {
+ return s[:i], s[i+len(sep):], true
+ }
+ return s, nil, false
+}
+
diff --git a/src/net/textproto/reader.go b/src/net/textproto/reader.go
index 6a680f4..fcbede8 100644
--- a/src/net/textproto/reader.go
+++ b/src/net/textproto/reader.go
@@ -493,8 +493,11 @@ func readMIMEHeader(r *Reader, lim int64) (MIMEHeader, error) {
// large one ahead of time which we'll cut up into smaller
// slices. If this isn't big enough later, we allocate small ones.
var strs []string
- hint := r.upcomingHeaderNewlines()
+ hint := r.upcomingHeaderKeys()
if hint > 0 {
+ if hint > 1000 {
+ hint = 1000 // set a cap to avoid overallocation
+ }
strs = make([]string, hint)
}
@@ -589,9 +592,11 @@ func mustHaveFieldNameColon(line []byte) error {
return nil
}
-// upcomingHeaderNewlines returns an approximation of the number of newlines
+var nl = []byte("\n")
+
+// upcomingHeaderKeys returns an approximation of the number of keys
// that will be in this header. If it gets confused, it returns 0.
-func (r *Reader) upcomingHeaderNewlines() (n int) {
+func (r *Reader) upcomingHeaderKeys() (n int) {
// Try to determine the 'hint' size.
r.R.Peek(1) // force a buffer load if empty
s := r.R.Buffered()
@@ -599,17 +604,20 @@ func (r *Reader) upcomingHeaderNewlines() (n int) {
return
}
peek, _ := r.R.Peek(s)
- for len(peek) > 0 {
- i := bytes.IndexByte(peek, '\n')
- if i < 3 {
- // Not present (-1) or found within the next few bytes,
- // implying we're at the end ("\r\n\r\n" or "\n\n")
- return
+ for len(peek) > 0 && n < 1000 {
+ var line []byte
+ line, peek, _ = bytes.Cut(peek, nl)
+ if len(line) == 0 || (len(line) == 1 && line[0] == '\r') {
+ // Blank line separating headers from the body.
+ break
+ }
+ if line[0] == ' ' || line[0] == '\t' {
+ // Folded continuation of the previous line.
+ continue
}
n++
- peek = peek[i+1:]
}
- return
+ return n
}
// CanonicalMIMEHeaderKey returns the canonical format of the
diff --git a/src/net/textproto/reader_test.go b/src/net/textproto/reader_test.go
index 3124d43..3ae0de1 100644
--- a/src/net/textproto/reader_test.go
+++ b/src/net/textproto/reader_test.go
@@ -9,6 +9,7 @@ import (
"bytes"
"io"
"reflect"
+ "runtime"
"strings"
"testing"
)
@@ -127,6 +128,42 @@ func TestReadMIMEHeaderSingle(t *testing.T) {
}
}
+// TestReaderUpcomingHeaderKeys is testing an internal function, but it's very
+// difficult to test well via the external API.
+func TestReaderUpcomingHeaderKeys(t *testing.T) {
+ for _, test := range []struct {
+ input string
+ want int
+ }{{
+ input: "",
+ want: 0,
+ }, {
+ input: "A: v",
+ want: 1,
+ }, {
+ input: "A: v\r\nB: v\r\n",
+ want: 2,
+ }, {
+ input: "A: v\nB: v\n",
+ want: 2,
+ }, {
+ input: "A: v\r\n continued\r\n still continued\r\nB: v\r\n\r\n",
+ want: 2,
+ }, {
+ input: "A: v\r\n\r\nB: v\r\nC: v\r\n",
+ want: 1,
+ }, {
+ input: "A: v" + strings.Repeat("\n", 1000),
+ want: 1,
+ }} {
+ r := reader(test.input)
+ got := r.upcomingHeaderKeys()
+ if test.want != got {
+ t.Fatalf("upcomingHeaderKeys(%q): %v; want %v", test.input, got, test.want)
+ }
+ }
+}
+
func TestReadMIMEHeaderNoKey(t *testing.T) {
r := reader(": bar\ntest-1: 1\n\n")
m, err := r.ReadMIMEHeader()
@@ -223,6 +260,28 @@ func TestReadMIMEHeaderTrimContinued(t *testing.T) {
}
}
+// Test that reading a header doesn't overallocate. Issue 58975.
+func TestReadMIMEHeaderAllocations(t *testing.T) {
+ var totalAlloc uint64
+ const count = 200
+ for i := 0; i < count; i++ {
+ r := reader("A: b\r\n\r\n" + strings.Repeat("\n", 4096))
+ var m1, m2 runtime.MemStats
+ runtime.ReadMemStats(&m1)
+ _, err := r.ReadMIMEHeader()
+ if err != nil {
+ t.Fatalf("ReadMIMEHeader: %v", err)
+ }
+ runtime.ReadMemStats(&m2)
+ totalAlloc += m2.TotalAlloc - m1.TotalAlloc
+ }
+ // 32k is large and we actually allocate substantially less,
+ // but prior to the fix for #58975 we allocated ~400k in this case.
+ if got, want := totalAlloc/count, uint64(32768); got > want {
+ t.Fatalf("ReadMIMEHeader allocated %v bytes, want < %v", got, want)
+ }
+}
+
type readResponseTest struct {
in string
inCode int
--
2.25.1

View File

@@ -0,0 +1,75 @@
From bf8c7c575c8a552d9d79deb29e80854dc88528d0 Mon Sep 17 00:00:00 2001
From: Damien Neil <dneil@google.com>
Date: Mon, 20 Mar 2023 10:43:19 -0700
Subject: [PATCH] [release-branch.go1.20] mime/multipart: limit parsed mime
message sizes
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1802456
Reviewed-by: Julie Qiu <julieqiu@google.com>
Reviewed-by: Roland Shoemaker <bracewell@google.com>
Run-TryBot: Damien Neil <dneil@google.com>
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1802611
Reviewed-by: Damien Neil <dneil@google.com>
Change-Id: Ifdfa192d54f722d781a4d8c5f35b5fb72d122168
Reviewed-on: https://go-review.googlesource.com/c/go/+/481986
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Upstream-Status: Backport [https://github.com/golang/go/commit/126a1d02da82f93ede7ce0bd8d3c51ef627f2104]
CVE: CVE-2023-24537
Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
---
src/go/parser/parser_test.go | 16 ++++++++++++++++
src/go/scanner/scanner.go | 5 ++++-
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/src/go/parser/parser_test.go b/src/go/parser/parser_test.go
index 1a46c87..993df63 100644
--- a/src/go/parser/parser_test.go
+++ b/src/go/parser/parser_test.go
@@ -746,3 +746,19 @@ func TestScopeDepthLimit(t *testing.T) {
}
}
}
+
+// TestIssue59180 tests that line number overflow doesn't cause an infinite loop.
+func TestIssue59180(t *testing.T) {
+ testcases := []string{
+ "package p\n//line :9223372036854775806\n\n//",
+ "package p\n//line :1:9223372036854775806\n\n//",
+ "package p\n//line file:9223372036854775806\n\n//",
+ }
+
+ for _, src := range testcases {
+ _, err := ParseFile(token.NewFileSet(), "", src, ParseComments)
+ if err == nil {
+ t.Errorf("ParseFile(%s) succeeded unexpectedly", src)
+ }
+ }
+}
diff --git a/src/go/scanner/scanner.go b/src/go/scanner/scanner.go
index f08e28c..ff847b5 100644
--- a/src/go/scanner/scanner.go
+++ b/src/go/scanner/scanner.go
@@ -251,13 +251,16 @@ func (s *Scanner) updateLineInfo(next, offs int, text []byte) {
return
}
+ // Put a cap on the maximum size of line and column numbers.
+ // 30 bits allows for some additional space before wrapping an int32.
+ const maxLineCol = 1<<30 - 1
var line, col int
i2, n2, ok2 := trailingDigits(text[:i-1])
if ok2 {
//line filename:line:col
i, i2 = i2, i
line, col = n2, n
- if col == 0 {
+ if col == 0 || col > maxLineCol {
s.error(offs+i2, "invalid column number: "+string(text[i2:]))
return
}
--
2.25.1

View File

@@ -0,0 +1,208 @@
From 07cc3b8711a8efbb5885f56dd90d854049ad2f7d Mon Sep 17 00:00:00 2001
From: Roland Shoemaker <bracewell@google.com>
Date: Mon, 20 Mar 2023 11:01:13 -0700
Subject: [PATCH] html/template: disallow actions in JS template literals
ECMAScript 6 introduced template literals[0][1] which are delimited with
backticks. These need to be escaped in a similar fashion to the
delimiters for other string literals. Additionally template literals can
contain special syntax for string interpolation.
There is no clear way to allow safe insertion of actions within JS
template literals, as handling (JS) string interpolation inside of these
literals is rather complex. As such we've chosen to simply disallow
template actions within these template literals.
A new error code is added for this parsing failure case, errJsTmplLit,
but it is unexported as it is not backwards compatible with other minor
release versions to introduce an API change in a minor release. We will
export this code in the next major release.
The previous behavior (with the cavet that backticks are now escaped
properly) can be re-enabled with GODEBUG=jstmpllitinterp=1.
This change subsumes CL471455.
Thanks to Sohom Datta, Manipal Institute of Technology, for reporting
this issue.
Fixes CVE-2023-24538
For #59234
Fixes #59271
[0] https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-template-literals
[1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1802457
Reviewed-by: Damien Neil <dneil@google.com>
Run-TryBot: Damien Neil <dneil@google.com>
Reviewed-by: Julie Qiu <julieqiu@google.com>
Reviewed-by: Roland Shoemaker <bracewell@google.com>
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1802612
Run-TryBot: Roland Shoemaker <bracewell@google.com>
Change-Id: Ic7f10595615f2b2740d9c85ad7ef40dc0e78c04c
Reviewed-on: https://go-review.googlesource.com/c/go/+/481987
Auto-Submit: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Upstream-Status: Backport from https://github.com/golang/go/commit/b1e3ecfa06b67014429a197ec5e134ce4303ad9b
CVE: CVE-2023-24538
Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
---
src/html/template/context.go | 2 ++
src/html/template/error.go | 13 +++++++++++++
src/html/template/escape.go | 11 +++++++++++
src/html/template/js.go | 2 ++
src/html/template/jsctx_string.go | 9 +++++++++
src/html/template/transition.go | 7 ++++++-
6 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/src/html/template/context.go b/src/html/template/context.go
index f7d4849..0b65313 100644
--- a/src/html/template/context.go
+++ b/src/html/template/context.go
@@ -116,6 +116,8 @@ const (
stateJSDqStr
// stateJSSqStr occurs inside a JavaScript single quoted string.
stateJSSqStr
+ // stateJSBqStr occurs inside a JavaScript back quoted string.
+ stateJSBqStr
// stateJSRegexp occurs inside a JavaScript regexp literal.
stateJSRegexp
// stateJSBlockCmt occurs inside a JavaScript /* block comment */.
diff --git a/src/html/template/error.go b/src/html/template/error.go
index 0e52706..fd26b64 100644
--- a/src/html/template/error.go
+++ b/src/html/template/error.go
@@ -211,6 +211,19 @@ const (
// pipeline occurs in an unquoted attribute value context, "html" is
// disallowed. Avoid using "html" and "urlquery" entirely in new templates.
ErrPredefinedEscaper
+
+ // errJSTmplLit: "... appears in a JS template literal"
+ // Example:
+ // <script>var tmpl = `{{.Interp}`</script>
+ // Discussion:
+ // Package html/template does not support actions inside of JS template
+ // literals.
+ //
+ // TODO(rolandshoemaker): we cannot add this as an exported error in a minor
+ // release, since it is backwards incompatible with the other minor
+ // releases. As such we need to leave it unexported, and then we'll add it
+ // in the next major release.
+ errJSTmplLit
)
func (e *Error) Error() string {
diff --git a/src/html/template/escape.go b/src/html/template/escape.go
index 8739735..ca078f4 100644
--- a/src/html/template/escape.go
+++ b/src/html/template/escape.go
@@ -8,6 +8,7 @@ import (
"bytes"
"fmt"
"html"
+ "internal/godebug"
"io"
"text/template"
"text/template/parse"
@@ -205,6 +206,16 @@ func (e *escaper) escapeAction(c context, n *parse.ActionNode) context {
c.jsCtx = jsCtxDivOp
case stateJSDqStr, stateJSSqStr:
s = append(s, "_html_template_jsstrescaper")
+ case stateJSBqStr:
+ debugAllowActionJSTmpl := godebug.Get("jstmpllitinterp")
+ if debugAllowActionJSTmpl == "1" {
+ s = append(s, "_html_template_jsstrescaper")
+ } else {
+ return context{
+ state: stateError,
+ err: errorf(errJSTmplLit, n, n.Line, "%s appears in a JS template literal", n),
+ }
+ }
case stateJSRegexp:
s = append(s, "_html_template_jsregexpescaper")
case stateCSS:
diff --git a/src/html/template/js.go b/src/html/template/js.go
index ea9c183..b888eaf 100644
--- a/src/html/template/js.go
+++ b/src/html/template/js.go
@@ -308,6 +308,7 @@ var jsStrReplacementTable = []string{
// Encode HTML specials as hex so the output can be embedded
// in HTML attributes without further encoding.
'"': `\u0022`,
+ '`': `\u0060`,
'&': `\u0026`,
'\'': `\u0027`,
'+': `\u002b`,
@@ -331,6 +332,7 @@ var jsStrNormReplacementTable = []string{
'"': `\u0022`,
'&': `\u0026`,
'\'': `\u0027`,
+ '`': `\u0060`,
'+': `\u002b`,
'/': `\/`,
'<': `\u003c`,
diff --git a/src/html/template/jsctx_string.go b/src/html/template/jsctx_string.go
index dd1d87e..2394893 100644
--- a/src/html/template/jsctx_string.go
+++ b/src/html/template/jsctx_string.go
@@ -4,6 +4,15 @@ package template
import "strconv"
+func _() {
+ // An "invalid array index" compiler error signifies that the constant values have changed.
+ // Re-run the stringer command to generate them again.
+ var x [1]struct{}
+ _ = x[jsCtxRegexp-0]
+ _ = x[jsCtxDivOp-1]
+ _ = x[jsCtxUnknown-2]
+}
+
const _jsCtx_name = "jsCtxRegexpjsCtxDivOpjsCtxUnknown"
var _jsCtx_index = [...]uint8{0, 11, 21, 33}
diff --git a/src/html/template/transition.go b/src/html/template/transition.go
index 06df679..92eb351 100644
--- a/src/html/template/transition.go
+++ b/src/html/template/transition.go
@@ -27,6 +27,7 @@ var transitionFunc = [...]func(context, []byte) (context, int){
stateJS: tJS,
stateJSDqStr: tJSDelimited,
stateJSSqStr: tJSDelimited,
+ stateJSBqStr: tJSDelimited,
stateJSRegexp: tJSDelimited,
stateJSBlockCmt: tBlockCmt,
stateJSLineCmt: tLineCmt,
@@ -262,7 +263,7 @@ func tURL(c context, s []byte) (context, int) {
// tJS is the context transition function for the JS state.
func tJS(c context, s []byte) (context, int) {
- i := bytes.IndexAny(s, `"'/`)
+ i := bytes.IndexAny(s, "\"`'/")
if i == -1 {
// Entire input is non string, comment, regexp tokens.
c.jsCtx = nextJSCtx(s, c.jsCtx)
@@ -274,6 +275,8 @@ func tJS(c context, s []byte) (context, int) {
c.state, c.jsCtx = stateJSDqStr, jsCtxRegexp
case '\'':
c.state, c.jsCtx = stateJSSqStr, jsCtxRegexp
+ case '`':
+ c.state, c.jsCtx = stateJSBqStr, jsCtxRegexp
case '/':
switch {
case i+1 < len(s) && s[i+1] == '/':
@@ -303,6 +306,8 @@ func tJSDelimited(c context, s []byte) (context, int) {
switch c.state {
case stateJSSqStr:
specials = `\'`
+ case stateJSBqStr:
+ specials = "`\\"
case stateJSRegexp:
specials = `\/[]`
}
--
2.7.4

View File

@@ -0,0 +1,53 @@
From e49282327b05192e46086bf25fd3ac691205fe80 Mon Sep 17 00:00:00 2001
From: Roland Shoemaker <bracewell@google.com>
Date: Thu, 13 Apr 2023 15:40:44 -0700
Subject: [PATCH] [release-branch.go1.19] html/template: disallow angle
brackets in CSS values
Change-Id: Iccc659c9a18415992b0c05c178792228e3a7bae4
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1826636
Reviewed-by: Julie Qiu <julieqiu@google.com>
Run-TryBot: Roland Shoemaker <bracewell@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1851496
Run-TryBot: Damien Neil <dneil@google.com>
Reviewed-by: Roland Shoemaker <bracewell@google.com>
Reviewed-on: https://go-review.googlesource.com/c/go/+/491335
Run-TryBot: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Upstream-Status: Backport [https://github.com/golang/go/commit/e49282327b05192e46086bf25fd3ac691205fe80]
CVE: CVE-2023-24539
Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
---
src/html/template/css.go | 2 +-
src/html/template/css_test.go | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/html/template/css.go b/src/html/template/css.go
index 890a0c6b227fe..f650d8b3e843a 100644
--- a/src/html/template/css.go
+++ b/src/html/template/css.go
@@ -238,7 +238,7 @@ func cssValueFilter(args ...any) string {
// inside a string that might embed JavaScript source.
for i, c := range b {
switch c {
- case 0, '"', '\'', '(', ')', '/', ';', '@', '[', '\\', ']', '`', '{', '}':
+ case 0, '"', '\'', '(', ')', '/', ';', '@', '[', '\\', ']', '`', '{', '}', '<', '>':
return filterFailsafe
case '-':
// Disallow <!-- or -->.
diff --git a/src/html/template/css_test.go b/src/html/template/css_test.go
index a735638b0314f..2b76256a766e9 100644
--- a/src/html/template/css_test.go
+++ b/src/html/template/css_test.go
@@ -231,6 +231,8 @@ func TestCSSValueFilter(t *testing.T) {
{`-exp\000052 ession(alert(1337))`, "ZgotmplZ"},
{`-expre\0000073sion`, "-expre\x073sion"},
{`@import url evil.css`, "ZgotmplZ"},
+ {"<", "ZgotmplZ"},
+ {">", "ZgotmplZ"},
}
for _, test := range tests {
got := cssValueFilter(test.css)

View File

@@ -0,0 +1,93 @@
From 2305cdb2aa5ac8e9960bd64e548a119c7dd87530 Mon Sep 17 00:00:00 2001
From: Roland Shoemaker <bracewell@google.com>
Date: Tue, 11 Apr 2023 16:27:43 +0100
Subject: [PATCH] html/template: handle all JS whitespace characters
Rather than just a small set. Character class as defined by \s [0].
Thanks to Juho Nurminen of Mattermost for reporting this.
For #59721
Fixes #59813
Fixes CVE-2023-24540
[0] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Character_Classes
Change-Id: I56d4fa1ef08125b417106ee7dbfb5b0923b901ba
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1821459
Reviewed-by: Julie Qiu <julieqiu@google.com>
Run-TryBot: Roland Shoemaker <bracewell@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1851497
Run-TryBot: Damien Neil <dneil@google.com>
Reviewed-by: Roland Shoemaker <bracewell@google.com>
Reviewed-on: https://go-review.googlesource.com/c/go/+/491355
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
TryBot-Bypass: Carlos Amedee <carlos@golang.org>
Run-TryBot: Carlos Amedee <carlos@golang.org>
CVE: CVE-2023-24540
Upstream-Status: Backport [https://github.com/golang/go/commit/ce7bd33345416e6d8cac901792060591cafc2797]
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
src/html/template/js.go | 8 +++++++-
src/html/template/js_test.go | 11 +++++++----
2 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/src/html/template/js.go b/src/html/template/js.go
index b888eaf..35994f0 100644
--- a/src/html/template/js.go
+++ b/src/html/template/js.go
@@ -13,6 +13,11 @@ import (
"unicode/utf8"
)
+// jsWhitespace contains all of the JS whitespace characters, as defined
+// by the \s character class.
+// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions/Character_classes.
+const jsWhitespace = "\f\n\r\t\v\u0020\u00a0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000\ufeff"
+
// nextJSCtx returns the context that determines whether a slash after the
// given run of tokens starts a regular expression instead of a division
// operator: / or /=.
@@ -26,7 +31,8 @@ import (
// JavaScript 2.0 lexical grammar and requires one token of lookbehind:
// https://www.mozilla.org/js/language/js20-2000-07/rationale/syntax.html
func nextJSCtx(s []byte, preceding jsCtx) jsCtx {
- s = bytes.TrimRight(s, "\t\n\f\r \u2028\u2029")
+ // Trim all JS whitespace characters
+ s = bytes.TrimRight(s, jsWhitespace)
if len(s) == 0 {
return preceding
}
diff --git a/src/html/template/js_test.go b/src/html/template/js_test.go
index d7ee47b..8f5d76d 100644
--- a/src/html/template/js_test.go
+++ b/src/html/template/js_test.go
@@ -81,14 +81,17 @@ func TestNextJsCtx(t *testing.T) {
{jsCtxDivOp, "0"},
// Dots that are part of a number are div preceders.
{jsCtxDivOp, "0."},
+ // Some JS interpreters treat NBSP as a normal space, so
+ // we must too in order to properly escape things.
+ {jsCtxRegexp, "=\u00A0"},
}
for _, test := range tests {
- if nextJSCtx([]byte(test.s), jsCtxRegexp) != test.jsCtx {
- t.Errorf("want %s got %q", test.jsCtx, test.s)
+ if ctx := nextJSCtx([]byte(test.s), jsCtxRegexp); ctx != test.jsCtx {
+ t.Errorf("%q: want %s got %s", test.s, test.jsCtx, ctx)
}
- if nextJSCtx([]byte(test.s), jsCtxDivOp) != test.jsCtx {
- t.Errorf("want %s got %q", test.jsCtx, test.s)
+ if ctx := nextJSCtx([]byte(test.s), jsCtxDivOp); ctx != test.jsCtx {
+ t.Errorf("%q: want %s got %s", test.s, test.jsCtx, ctx)
}
}
--
2.40.0

View File

@@ -0,0 +1,84 @@
Upstream-Status: Backport [see text]
https://github.com/golong/go.git as of commit 22c1d18a27...
Copy src/internal/godebug from go 1.19 since it does not
exist in 1.17.
Signed-off-by: Joe Slater <joe.slater@windriver.com>
---
--- /dev/null
+++ go/src/internal/godebug/godebug.go
@@ -0,0 +1,34 @@
+// Copyright 2021 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package godebug parses the GODEBUG environment variable.
+package godebug
+
+import "os"
+
+// Get returns the value for the provided GODEBUG key.
+func Get(key string) string {
+ return get(os.Getenv("GODEBUG"), key)
+}
+
+// get returns the value part of key=value in s (a GODEBUG value).
+func get(s, key string) string {
+ for i := 0; i < len(s)-len(key)-1; i++ {
+ if i > 0 && s[i-1] != ',' {
+ continue
+ }
+ afterKey := s[i+len(key):]
+ if afterKey[0] != '=' || s[i:i+len(key)] != key {
+ continue
+ }
+ val := afterKey[1:]
+ for i, b := range val {
+ if b == ',' {
+ return val[:i]
+ }
+ }
+ return val
+ }
+ return ""
+}
--- /dev/null
+++ go/src/internal/godebug/godebug_test.go
@@ -0,0 +1,34 @@
+// Copyright 2021 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godebug
+
+import "testing"
+
+func TestGet(t *testing.T) {
+ tests := []struct {
+ godebug string
+ key string
+ want string
+ }{
+ {"", "", ""},
+ {"", "foo", ""},
+ {"foo=bar", "foo", "bar"},
+ {"foo=bar,after=x", "foo", "bar"},
+ {"before=x,foo=bar,after=x", "foo", "bar"},
+ {"before=x,foo=bar", "foo", "bar"},
+ {",,,foo=bar,,,", "foo", "bar"},
+ {"foodecoy=wrong,foo=bar", "foo", "bar"},
+ {"foo=", "foo", ""},
+ {"foo", "foo", ""},
+ {",foo", "foo", ""},
+ {"foo=bar,baz", "loooooooong", ""},
+ }
+ for _, tt := range tests {
+ got := get(tt.godebug, tt.key)
+ if got != tt.want {
+ t.Errorf("get(%q, %q) = %q; want %q", tt.godebug, tt.key, got, tt.want)
+ }
+ }
+}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,652 @@
From 5c55ac9bf1e5f779220294c843526536605f42ab Mon Sep 17 00:00:00 2001
From: Damien Neil <dneil@google.com>
Date: Wed, 25 Jan 2023 09:27:01 -0800
Subject: [PATCH] [release-branch.go1.19] mime/multipart: limit memory/inode
consumption of ReadForm
Reader.ReadForm is documented as storing "up to maxMemory bytes + 10MB"
in memory. Parsed forms can consume substantially more memory than
this limit, since ReadForm does not account for map entry overhead
and MIME headers.
In addition, while the amount of disk memory consumed by ReadForm can
be constrained by limiting the size of the parsed input, ReadForm will
create one temporary file per form part stored on disk, potentially
consuming a large number of inodes.
Update ReadForm's memory accounting to include part names,
MIME headers, and map entry overhead.
Update ReadForm to store all on-disk file parts in a single
temporary file.
Files returned by FileHeader.Open are documented as having a concrete
type of *os.File when a file is stored on disk. The change to use a
single temporary file for all parts means that this is no longer the
case when a form contains more than a single file part stored on disk.
The previous behavior of storing each file part in a separate disk
file may be reenabled with GODEBUG=multipartfiles=distinct.
Update Reader.NextPart and Reader.NextRawPart to set a 10MiB cap
on the size of MIME headers.
Thanks to Jakob Ackermann (@das7pad) for reporting this issue.
Updates #58006
Fixes #58362
Fixes CVE-2022-41725
Change-Id: Ibd780a6c4c83ac8bcfd3cbe344f042e9940f2eab
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1714276
Reviewed-by: Julie Qiu <julieqiu@google.com>
TryBot-Result: Security TryBots <security-trybots@go-security-trybots.iam.gserviceaccount.com>
Reviewed-by: Roland Shoemaker <bracewell@google.com>
Run-TryBot: Damien Neil <dneil@google.com>
(cherry picked from commit ed4664330edcd91b24914c9371c377c132dbce8c)
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1728949
Reviewed-by: Tatiana Bradley <tatianabradley@google.com>
Run-TryBot: Roland Shoemaker <bracewell@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-on: https://go-review.googlesource.com/c/go/+/468116
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
Run-TryBot: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
---
CVE: CVE-2022-41725
Upstream-Status: Backport [see text]
https://github.com/golong/go.git commit 5c55ac9bf1e5...
modified for reader.go
Signed-off-by: Joe Slater <joe.slater@windriver.com>
___
src/mime/multipart/formdata.go | 132 ++++++++++++++++++++-----
src/mime/multipart/formdata_test.go | 140 ++++++++++++++++++++++++++-
src/mime/multipart/multipart.go | 25 +++--
src/mime/multipart/readmimeheader.go | 14 +++
src/net/http/request_test.go | 2 +-
src/net/textproto/reader.go | 20 +++-
6 files changed, 295 insertions(+), 38 deletions(-)
create mode 100644 src/mime/multipart/readmimeheader.go
--- go.orig/src/mime/multipart/formdata.go
+++ go/src/mime/multipart/formdata.go
@@ -7,6 +7,7 @@ package multipart
import (
"bytes"
"errors"
+ "internal/godebug"
"io"
"math"
"net/textproto"
@@ -33,23 +34,58 @@ func (r *Reader) ReadForm(maxMemory int6
func (r *Reader) readForm(maxMemory int64) (_ *Form, err error) {
form := &Form{make(map[string][]string), make(map[string][]*FileHeader)}
+ var (
+ file *os.File
+ fileOff int64
+ )
+ numDiskFiles := 0
+ multipartFiles := godebug.Get("multipartfiles")
+ combineFiles := multipartFiles != "distinct"
defer func() {
+ if file != nil {
+ if cerr := file.Close(); err == nil {
+ err = cerr
+ }
+ }
+ if combineFiles && numDiskFiles > 1 {
+ for _, fhs := range form.File {
+ for _, fh := range fhs {
+ fh.tmpshared = true
+ }
+ }
+ }
if err != nil {
form.RemoveAll()
+ if file != nil {
+ os.Remove(file.Name())
+ }
}
}()
- // Reserve an additional 10 MB for non-file parts.
- maxValueBytes := maxMemory + int64(10<<20)
- if maxValueBytes <= 0 {
+ // maxFileMemoryBytes is the maximum bytes of file data we will store in memory.
+ // Data past this limit is written to disk.
+ // This limit strictly applies to content, not metadata (filenames, MIME headers, etc.),
+ // since metadata is always stored in memory, not disk.
+ //
+ // maxMemoryBytes is the maximum bytes we will store in memory, including file content,
+ // non-file part values, metdata, and map entry overhead.
+ //
+ // We reserve an additional 10 MB in maxMemoryBytes for non-file data.
+ //
+ // The relationship between these parameters, as well as the overly-large and
+ // unconfigurable 10 MB added on to maxMemory, is unfortunate but difficult to change
+ // within the constraints of the API as documented.
+ maxFileMemoryBytes := maxMemory
+ maxMemoryBytes := maxMemory + int64(10<<20)
+ if maxMemoryBytes <= 0 {
if maxMemory < 0 {
- maxValueBytes = 0
+ maxMemoryBytes = 0
} else {
- maxValueBytes = math.MaxInt64
+ maxMemoryBytes = math.MaxInt64
}
}
for {
- p, err := r.NextPart()
+ p, err := r.nextPart(false, maxMemoryBytes)
if err == io.EOF {
break
}
@@ -63,16 +99,27 @@ func (r *Reader) readForm(maxMemory int6
}
filename := p.FileName()
+ // Multiple values for the same key (one map entry, longer slice) are cheaper
+ // than the same number of values for different keys (many map entries), but
+ // using a consistent per-value cost for overhead is simpler.
+ maxMemoryBytes -= int64(len(name))
+ maxMemoryBytes -= 100 // map overhead
+ if maxMemoryBytes < 0 {
+ // We can't actually take this path, since nextPart would already have
+ // rejected the MIME headers for being too large. Check anyway.
+ return nil, ErrMessageTooLarge
+ }
+
var b bytes.Buffer
if filename == "" {
// value, store as string in memory
- n, err := io.CopyN(&b, p, maxValueBytes+1)
+ n, err := io.CopyN(&b, p, maxMemoryBytes+1)
if err != nil && err != io.EOF {
return nil, err
}
- maxValueBytes -= n
- if maxValueBytes < 0 {
+ maxMemoryBytes -= n
+ if maxMemoryBytes < 0 {
return nil, ErrMessageTooLarge
}
form.Value[name] = append(form.Value[name], b.String())
@@ -80,35 +127,45 @@ func (r *Reader) readForm(maxMemory int6
}
// file, store in memory or on disk
+ maxMemoryBytes -= mimeHeaderSize(p.Header)
+ if maxMemoryBytes < 0 {
+ return nil, ErrMessageTooLarge
+ }
fh := &FileHeader{
Filename: filename,
Header: p.Header,
}
- n, err := io.CopyN(&b, p, maxMemory+1)
+ n, err := io.CopyN(&b, p, maxFileMemoryBytes+1)
if err != nil && err != io.EOF {
return nil, err
}
- if n > maxMemory {
- // too big, write to disk and flush buffer
- file, err := os.CreateTemp("", "multipart-")
- if err != nil {
- return nil, err
+ if n > maxFileMemoryBytes {
+ if file == nil {
+ file, err = os.CreateTemp(r.tempDir, "multipart-")
+ if err != nil {
+ return nil, err
+ }
}
+ numDiskFiles++
size, err := io.Copy(file, io.MultiReader(&b, p))
- if cerr := file.Close(); err == nil {
- err = cerr
- }
if err != nil {
- os.Remove(file.Name())
return nil, err
}
fh.tmpfile = file.Name()
fh.Size = size
+ fh.tmpoff = fileOff
+ fileOff += size
+ if !combineFiles {
+ if err := file.Close(); err != nil {
+ return nil, err
+ }
+ file = nil
+ }
} else {
fh.content = b.Bytes()
fh.Size = int64(len(fh.content))
- maxMemory -= n
- maxValueBytes -= n
+ maxFileMemoryBytes -= n
+ maxMemoryBytes -= n
}
form.File[name] = append(form.File[name], fh)
}
@@ -116,6 +173,17 @@ func (r *Reader) readForm(maxMemory int6
return form, nil
}
+func mimeHeaderSize(h textproto.MIMEHeader) (size int64) {
+ for k, vs := range h {
+ size += int64(len(k))
+ size += 100 // map entry overhead
+ for _, v := range vs {
+ size += int64(len(v))
+ }
+ }
+ return size
+}
+
// Form is a parsed multipart form.
// Its File parts are stored either in memory or on disk,
// and are accessible via the *FileHeader's Open method.
@@ -133,7 +201,7 @@ func (f *Form) RemoveAll() error {
for _, fh := range fhs {
if fh.tmpfile != "" {
e := os.Remove(fh.tmpfile)
- if e != nil && err == nil {
+ if e != nil && !errors.Is(e, os.ErrNotExist) && err == nil {
err = e
}
}
@@ -148,15 +216,25 @@ type FileHeader struct {
Header textproto.MIMEHeader
Size int64
- content []byte
- tmpfile string
+ content []byte
+ tmpfile string
+ tmpoff int64
+ tmpshared bool
}
// Open opens and returns the FileHeader's associated File.
func (fh *FileHeader) Open() (File, error) {
if b := fh.content; b != nil {
r := io.NewSectionReader(bytes.NewReader(b), 0, int64(len(b)))
- return sectionReadCloser{r}, nil
+ return sectionReadCloser{r, nil}, nil
+ }
+ if fh.tmpshared {
+ f, err := os.Open(fh.tmpfile)
+ if err != nil {
+ return nil, err
+ }
+ r := io.NewSectionReader(f, fh.tmpoff, fh.Size)
+ return sectionReadCloser{r, f}, nil
}
return os.Open(fh.tmpfile)
}
@@ -175,8 +253,12 @@ type File interface {
type sectionReadCloser struct {
*io.SectionReader
+ io.Closer
}
func (rc sectionReadCloser) Close() error {
+ if rc.Closer != nil {
+ return rc.Closer.Close()
+ }
return nil
}
--- go.orig/src/mime/multipart/formdata_test.go
+++ go/src/mime/multipart/formdata_test.go
@@ -6,8 +6,10 @@ package multipart
import (
"bytes"
+ "fmt"
"io"
"math"
+ "net/textproto"
"os"
"strings"
"testing"
@@ -208,8 +210,8 @@ Content-Disposition: form-data; name="la
maxMemory int64
err error
}{
- {"smaller", 50, nil},
- {"exact-fit", 25, nil},
+ {"smaller", 50 + int64(len("largetext")) + 100, nil},
+ {"exact-fit", 25 + int64(len("largetext")) + 100, nil},
{"too-large", 0, ErrMessageTooLarge},
}
for _, tc := range testCases {
@@ -224,7 +226,7 @@ Content-Disposition: form-data; name="la
defer f.RemoveAll()
}
if tc.err != err {
- t.Fatalf("ReadForm error - got: %v; expected: %v", tc.err, err)
+ t.Fatalf("ReadForm error - got: %v; expected: %v", err, tc.err)
}
if err == nil {
if g := f.Value["largetext"][0]; g != largeTextValue {
@@ -234,3 +236,135 @@ Content-Disposition: form-data; name="la
})
}
}
+
+// TestReadForm_MetadataTooLarge verifies that we account for the size of field names,
+// MIME headers, and map entry overhead while limiting the memory consumption of parsed forms.
+func TestReadForm_MetadataTooLarge(t *testing.T) {
+ for _, test := range []struct {
+ name string
+ f func(*Writer)
+ }{{
+ name: "large name",
+ f: func(fw *Writer) {
+ name := strings.Repeat("a", 10<<20)
+ w, _ := fw.CreateFormField(name)
+ w.Write([]byte("value"))
+ },
+ }, {
+ name: "large MIME header",
+ f: func(fw *Writer) {
+ h := make(textproto.MIMEHeader)
+ h.Set("Content-Disposition", `form-data; name="a"`)
+ h.Set("X-Foo", strings.Repeat("a", 10<<20))
+ w, _ := fw.CreatePart(h)
+ w.Write([]byte("value"))
+ },
+ }, {
+ name: "many parts",
+ f: func(fw *Writer) {
+ for i := 0; i < 110000; i++ {
+ w, _ := fw.CreateFormField("f")
+ w.Write([]byte("v"))
+ }
+ },
+ }} {
+ t.Run(test.name, func(t *testing.T) {
+ var buf bytes.Buffer
+ fw := NewWriter(&buf)
+ test.f(fw)
+ if err := fw.Close(); err != nil {
+ t.Fatal(err)
+ }
+ fr := NewReader(&buf, fw.Boundary())
+ _, err := fr.ReadForm(0)
+ if err != ErrMessageTooLarge {
+ t.Errorf("fr.ReadForm() = %v, want ErrMessageTooLarge", err)
+ }
+ })
+ }
+}
+
+// TestReadForm_ManyFiles_Combined tests that a multipart form containing many files only
+// results in a single on-disk file.
+func TestReadForm_ManyFiles_Combined(t *testing.T) {
+ const distinct = false
+ testReadFormManyFiles(t, distinct)
+}
+
+// TestReadForm_ManyFiles_Distinct tests that setting GODEBUG=multipartfiles=distinct
+// results in every file in a multipart form being placed in a distinct on-disk file.
+func TestReadForm_ManyFiles_Distinct(t *testing.T) {
+ t.Setenv("GODEBUG", "multipartfiles=distinct")
+ const distinct = true
+ testReadFormManyFiles(t, distinct)
+}
+
+func testReadFormManyFiles(t *testing.T, distinct bool) {
+ var buf bytes.Buffer
+ fw := NewWriter(&buf)
+ const numFiles = 10
+ for i := 0; i < numFiles; i++ {
+ name := fmt.Sprint(i)
+ w, err := fw.CreateFormFile(name, name)
+ if err != nil {
+ t.Fatal(err)
+ }
+ w.Write([]byte(name))
+ }
+ if err := fw.Close(); err != nil {
+ t.Fatal(err)
+ }
+ fr := NewReader(&buf, fw.Boundary())
+ fr.tempDir = t.TempDir()
+ form, err := fr.ReadForm(0)
+ if err != nil {
+ t.Fatal(err)
+ }
+ for i := 0; i < numFiles; i++ {
+ name := fmt.Sprint(i)
+ if got := len(form.File[name]); got != 1 {
+ t.Fatalf("form.File[%q] has %v entries, want 1", name, got)
+ }
+ fh := form.File[name][0]
+ file, err := fh.Open()
+ if err != nil {
+ t.Fatalf("form.File[%q].Open() = %v", name, err)
+ }
+ if distinct {
+ if _, ok := file.(*os.File); !ok {
+ t.Fatalf("form.File[%q].Open: %T, want *os.File", name, file)
+ }
+ }
+ got, err := io.ReadAll(file)
+ file.Close()
+ if string(got) != name || err != nil {
+ t.Fatalf("read form.File[%q]: %q, %v; want %q, nil", name, string(got), err, name)
+ }
+ }
+ dir, err := os.Open(fr.tempDir)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer dir.Close()
+ names, err := dir.Readdirnames(0)
+ if err != nil {
+ t.Fatal(err)
+ }
+ wantNames := 1
+ if distinct {
+ wantNames = numFiles
+ }
+ if len(names) != wantNames {
+ t.Fatalf("temp dir contains %v files; want 1", len(names))
+ }
+ if err := form.RemoveAll(); err != nil {
+ t.Fatalf("form.RemoveAll() = %v", err)
+ }
+ names, err = dir.Readdirnames(0)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if len(names) != 0 {
+ t.Fatalf("temp dir contains %v files; want 0", len(names))
+ }
+}
--- go.orig/src/mime/multipart/multipart.go
+++ go/src/mime/multipart/multipart.go
@@ -128,12 +128,12 @@ func (r *stickyErrorReader) Read(p []byt
return n, r.err
}
-func newPart(mr *Reader, rawPart bool) (*Part, error) {
+func newPart(mr *Reader, rawPart bool, maxMIMEHeaderSize int64) (*Part, error) {
bp := &Part{
Header: make(map[string][]string),
mr: mr,
}
- if err := bp.populateHeaders(); err != nil {
+ if err := bp.populateHeaders(maxMIMEHeaderSize); err != nil {
return nil, err
}
bp.r = partReader{bp}
@@ -149,12 +149,16 @@ func newPart(mr *Reader, rawPart bool) (
return bp, nil
}
-func (bp *Part) populateHeaders() error {
+func (bp *Part) populateHeaders(maxMIMEHeaderSize int64) error {
r := textproto.NewReader(bp.mr.bufReader)
- header, err := r.ReadMIMEHeader()
+ header, err := readMIMEHeader(r, maxMIMEHeaderSize)
if err == nil {
bp.Header = header
}
+ // TODO: Add a distinguishable error to net/textproto.
+ if err != nil && err.Error() == "message too large" {
+ err = ErrMessageTooLarge
+ }
return err
}
@@ -294,6 +298,7 @@ func (p *Part) Close() error {
// isn't supported.
type Reader struct {
bufReader *bufio.Reader
+ tempDir string // used in tests
currentPart *Part
partsRead int
@@ -304,6 +309,10 @@ type Reader struct {
dashBoundary []byte // "--boundary"
}
+// maxMIMEHeaderSize is the maximum size of a MIME header we will parse,
+// including header keys, values, and map overhead.
+const maxMIMEHeaderSize = 10 << 20
+
// NextPart returns the next part in the multipart or an error.
// When there are no more parts, the error io.EOF is returned.
//
@@ -311,7 +320,7 @@ type Reader struct {
// has a value of "quoted-printable", that header is instead
// hidden and the body is transparently decoded during Read calls.
func (r *Reader) NextPart() (*Part, error) {
- return r.nextPart(false)
+ return r.nextPart(false, maxMIMEHeaderSize)
}
// NextRawPart returns the next part in the multipart or an error.
@@ -320,10 +329,10 @@ func (r *Reader) NextPart() (*Part, erro
// Unlike NextPart, it does not have special handling for
// "Content-Transfer-Encoding: quoted-printable".
func (r *Reader) NextRawPart() (*Part, error) {
- return r.nextPart(true)
+ return r.nextPart(true, maxMIMEHeaderSize)
}
-func (r *Reader) nextPart(rawPart bool) (*Part, error) {
+func (r *Reader) nextPart(rawPart bool, maxMIMEHeaderSize int64) (*Part, error) {
if r.currentPart != nil {
r.currentPart.Close()
}
@@ -348,7 +357,7 @@ func (r *Reader) nextPart(rawPart bool)
if r.isBoundaryDelimiterLine(line) {
r.partsRead++
- bp, err := newPart(r, rawPart)
+ bp, err := newPart(r, rawPart, maxMIMEHeaderSize)
if err != nil {
return nil, err
}
--- /dev/null
+++ go/src/mime/multipart/readmimeheader.go
@@ -0,0 +1,14 @@
+// Copyright 2023 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+package multipart
+
+import (
+ "net/textproto"
+ _ "unsafe" // for go:linkname
+)
+
+// readMIMEHeader is defined in package net/textproto.
+//
+//go:linkname readMIMEHeader net/textproto.readMIMEHeader
+func readMIMEHeader(r *textproto.Reader, lim int64) (textproto.MIMEHeader, error)
--- go.orig/src/net/http/request_test.go
+++ go/src/net/http/request_test.go
@@ -1110,7 +1110,7 @@ func testMissingFile(t *testing.T, req *
t.Errorf("FormFile file = %v, want nil", f)
}
if fh != nil {
- t.Errorf("FormFile file header = %q, want nil", fh)
+ t.Errorf("FormFile file header = %v, want nil", fh)
}
if err != ErrMissingFile {
t.Errorf("FormFile err = %q, want ErrMissingFile", err)
--- go.orig/src/net/textproto/reader.go
+++ go/src/net/textproto/reader.go
@@ -7,8 +7,10 @@ package textproto
import (
"bufio"
"bytes"
+ "errors"
"fmt"
"io"
+ "math"
"strconv"
"strings"
"sync"
@@ -481,6 +483,12 @@ func (r *Reader) ReadDotLines() ([]strin
// }
//
func (r *Reader) ReadMIMEHeader() (MIMEHeader, error) {
+ return readMIMEHeader(r, math.MaxInt64)
+}
+
+// readMIMEHeader is a version of ReadMIMEHeader which takes a limit on the header size.
+// It is called by the mime/multipart package.
+func readMIMEHeader(r *Reader, lim int64) (MIMEHeader, error) {
// Avoid lots of small slice allocations later by allocating one
// large one ahead of time which we'll cut up into smaller
// slices. If this isn't big enough later, we allocate small ones.
@@ -521,6 +529,16 @@ func (r *Reader) ReadMIMEHeader() (MIMEH
continue
}
+ // backport 5c55ac9bf1e5f779220294c843526536605f42ab
+ //
+ // value is computed as
+ //
+ // value := string(bytes.TrimLeft(v, " \t"))
+ //
+ // in the original patch from 1.19. This relies on
+ // 'v' which does not exist in 1.17. We leave the
+ // 1.17 method unchanged.
+
// Skip initial spaces in value.
i++ // skip colon
for i < len(kv) && (kv[i] == ' ' || kv[i] == '\t') {
@@ -529,6 +547,16 @@ func (r *Reader) ReadMIMEHeader() (MIMEH
value := string(kv[i:])
vv := m[key]
+ if vv == nil {
+ lim -= int64(len(key))
+ lim -= 100 // map entry overhead
+ }
+ lim -= int64(len(value))
+ if lim < 0 {
+ // TODO: This should be a distinguishable error (ErrMessageTooLarge)
+ // to allow mime/multipart to detect it.
+ return m, errors.New("message too large")
+ }
if vv == nil && len(strs) > 0 {
// More than likely this will be a single-element key.
// Most headers aren't multi-valued.

View File

@@ -0,0 +1,31 @@
From a94bf34221fc4519bd8ec72560c2d363ffe2de4c Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyich@gmail.com>
Date: Mon, 23 May 2022 08:03:23 +0100
Subject: [PATCH] [Support] Add missing <cstdint> header to Signals.h
Without the change llvm build fails on this week's gcc-13 snapshot as:
[ 0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o
In file included from llvm/lib/Support/Signals.cpp:14:
llvm/include/llvm/Support/Signals.h:119:8: error: variable or field 'CleanupOnSignal' declared void
119 | void CleanupOnSignal(uintptr_t Context);
| ^~~~~~~~~~~~~~~
Upstream-Status: Backport [llvmorg-15.0.0 ff1681ddb303223973653f7f5f3f3435b48a1983]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
llvm/include/llvm/Support/Signals.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/llvm/include/llvm/Support/Signals.h b/llvm/include/llvm/Support/Signals.h
index 44f5a750ff5c..937e0572d4a7 100644
--- a/llvm/include/llvm/Support/Signals.h
+++ b/llvm/include/llvm/Support/Signals.h
@@ -14,6 +14,7 @@
#ifndef LLVM_SUPPORT_SIGNALS_H
#define LLVM_SUPPORT_SIGNALS_H
+#include <cstdint>
#include <string>
namespace llvm {

View File

@@ -32,6 +32,7 @@ SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH};protocol=http
file://0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch;striplevel=2 \
file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2 \
file://0001-Support-Add-missing-cstdint-header-to-Signals.h.patch;striplevel=2 \
"
UPSTREAM_CHECK_GITTAGREGEX = "llvmorg-(?P<pver>\d+(\.\d+)+)"

View File

@@ -0,0 +1,104 @@
From b37677f7e40276bd8f504584bcba2c092f1146a8 Mon Sep 17 00:00:00 2001
From: "H. Peter Anvin" <hpa@zytor.com>
Date: Mon, 7 Nov 2022 10:26:03 -0800
Subject: [PATCH] quote_for_pmake: fix counter underrun resulting in segfault
while (nbs--) { ... } ends with nbs == -1. Rather than a minimal fix,
introduce mempset() to make these kinds of errors less likely in the
future.
Fixes: https://bugzilla.nasm.us/show_bug.cgi?id=3392815
Reported-by: <13579and24680@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Upstream-Status: Backport
CVE: CVE-2022-4437
Reference to upstream patch:
[https://github.com/netwide-assembler/nasm/commit/2d4e6952417ec6f08b6f135d2b5d0e19b7dae30d]
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
asm/nasm.c | 12 +++++-------
configure.ac | 1 +
include/compiler.h | 7 +++++++
3 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/asm/nasm.c b/asm/nasm.c
index 7a7f8b4..675cff4 100644
--- a/asm/nasm.c
+++ b/asm/nasm.c
@@ -1,6 +1,6 @@
/* ----------------------------------------------------------------------- *
*
- * Copyright 1996-2020 The NASM Authors - All Rights Reserved
+ * Copyright 1996-2022 The NASM Authors - All Rights Reserved
* See the file AUTHORS included with the NASM distribution for
* the specific copyright holders.
*
@@ -814,8 +814,7 @@ static char *quote_for_pmake(const char *str)
}
/* Convert N backslashes at the end of filename to 2N backslashes */
- if (nbs)
- n += nbs;
+ n += nbs;
os = q = nasm_malloc(n);
@@ -824,10 +823,10 @@ static char *quote_for_pmake(const char *str)
switch (*p) {
case ' ':
case '\t':
- while (nbs--)
- *q++ = '\\';
+ q = mempset(q, '\\', nbs);
*q++ = '\\';
*q++ = *p;
+ nbs = 0;
break;
case '$':
*q++ = *p;
@@ -849,9 +848,8 @@ static char *quote_for_pmake(const char *str)
break;
}
}
- while (nbs--)
- *q++ = '\\';
+ q = mempset(q, '\\', nbs);
*q = '\0';
return os;
diff --git a/configure.ac b/configure.ac
index 39680b1..940ebe2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -199,6 +199,7 @@ AC_CHECK_FUNCS(strrchrnul)
AC_CHECK_FUNCS(iscntrl)
AC_CHECK_FUNCS(isascii)
AC_CHECK_FUNCS(mempcpy)
+AC_CHECK_FUNCS(mempset)
AC_CHECK_FUNCS(getuid)
AC_CHECK_FUNCS(getgid)
diff --git a/include/compiler.h b/include/compiler.h
index db3d6d6..b64da6a 100644
--- a/include/compiler.h
+++ b/include/compiler.h
@@ -256,6 +256,13 @@ static inline void *mempcpy(void *dst, const void *src, size_t n)
}
#endif
+#ifndef HAVE_MEMPSET
+static inline void *mempset(void *dst, int c, size_t n)
+{
+ return (char *)memset(dst, c, n) + n;
+}
+#endif
+
/*
* Hack to support external-linkage inline functions
*/
--
2.40.0

View File

@@ -0,0 +1,50 @@
From c8af73112027fad0ecbb277e9cba257678c405af Mon Sep 17 00:00:00 2001
From: "H. Peter Anvin" <hpa@zytor.com>
Date: Wed, 7 Dec 2022 10:23:46 -0800
Subject: [PATCH] outieee: fix segfault on empty input
Fix the IEEE backend crashing if the input file is empty.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Upstream-Status: Backport [https://github.com/netwide-assembler/nasm/commit/c8af73112027fad0ecbb277e9cba257678c405af]
CVE: CVE-2022-46457
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
output/outieee.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/output/outieee.c b/output/outieee.c
index cdb8333..8bc5eaa 100644
--- a/output/outieee.c
+++ b/output/outieee.c
@@ -919,7 +919,7 @@ static void ieee_write_file(void)
* Write the section headers
*/
seg = seghead;
- if (!debuginfo && !strcmp(seg->name, "??LINE"))
+ if (!debuginfo && seg && !strcmp(seg->name, "??LINE"))
seg = seg->next;
while (seg) {
char buf[256];
@@ -954,7 +954,7 @@ static void ieee_write_file(void)
/*
* write the start address if there is one
*/
- if (ieee_entry_seg) {
+ if (ieee_entry_seg && seghead) {
for (seg = seghead; seg; seg = seg->next)
if (seg->index == ieee_entry_seg)
break;
@@ -1067,7 +1067,7 @@ static void ieee_write_file(void)
* put out section data;
*/
seg = seghead;
- if (!debuginfo && !strcmp(seg->name, "??LINE"))
+ if (!debuginfo && seg && !strcmp(seg->name, "??LINE"))
seg = seg->next;
while (seg) {
if (seg->currentpos) {
--
2.40.0

View File

@@ -8,6 +8,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=90904486f8fbf1861cf42752e1a39efe"
SRC_URI = "http://www.nasm.us/pub/nasm/releasebuilds/${PV}/nasm-${PV}.tar.bz2 \
file://0001-stdlib-Add-strlcat.patch \
file://0002-Add-debug-prefix-map-option.patch \
file://CVE-2022-44370.patch \
file://CVE-2022-46457.patch \
"
SRC_URI[sha256sum] = "3c4b8339e5ab54b1bcb2316101f8985a5da50a3f9e504d43fa6f35668bee2fd0"

View File

@@ -0,0 +1,29 @@
From a625ec2cc3a0b6116c1f8b831d3480deb621c245 Mon Sep 17 00:00:00 2001
From: Stig Palmquist <git@stig.io>
Date: Tue, 28 Feb 2023 11:54:06 +0100
Subject: [PATCH] Add verify_SSL=>1 to HTTP::Tiny to verify https server
identity
Upstream-Status: Backport [https://github.com/andk/cpanpm/commit/9c98370287f4e709924aee7c58ef21c85289a7f0]
CVE: CVE-2023-31484
Signed-off-by: Soumya <soumya.sambu@windriver.com>
---
cpan/CPAN/lib/CPAN/HTTP/Client.pm | 1 +
1 file changed, 1 insertion(+)
diff --git a/cpan/CPAN/lib/CPAN/HTTP/Client.pm b/cpan/CPAN/lib/CPAN/HTTP/Client.pm
index 4fc792c..a616fee 100644
--- a/cpan/CPAN/lib/CPAN/HTTP/Client.pm
+++ b/cpan/CPAN/lib/CPAN/HTTP/Client.pm
@@ -32,6 +32,7 @@ sub mirror {
my $want_proxy = $self->_want_proxy($uri);
my $http = HTTP::Tiny->new(
+ verify_SSL => 1,
$want_proxy ? (proxy => $self->{proxy}) : ()
);
--
2.40.0

View File

@@ -18,6 +18,7 @@ SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \
file://determinism.patch \
file://0001-cpan-Sys-Syslog-Makefile.PL-Fix-_PATH_LOG-for-determ.patch \
file://0001-Fix-build-with-gcc-12.patch \
file://CVE-2023-31484.patch \
"
SRC_URI:append:class-native = " \
file://perl-configpm-switch.patch \

View File

@@ -0,0 +1,49 @@
From 9fbf84efc861668755ab645530ec7be9cf3c6696 Mon Sep 17 00:00:00 2001
From: Alex Gaynor <alex.gaynor@gmail.com>
Date: Tue, 7 Feb 2023 11:34:18 -0500
Subject: [PATCH] Don't allow update_into to mutate immutable objects (#8230)
CVE: CVE-2023-23931
Upstream-Status: Backport [https://github.com/pyca/cryptography/commit/9fbf84efc861668755ab645530ec7be9cf3c6696]
Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
---
src/cryptography/hazmat/backends/openssl/ciphers.py | 2 +-
tests/hazmat/primitives/test_ciphers.py | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/cryptography/hazmat/backends/openssl/ciphers.py b/src/cryptography/hazmat/backends/openssl/ciphers.py
index 286583f93..075d68fb9 100644
--- a/src/cryptography/hazmat/backends/openssl/ciphers.py
+++ b/src/cryptography/hazmat/backends/openssl/ciphers.py
@@ -156,7 +156,7 @@ class _CipherContext:
data_processed = 0
total_out = 0
outlen = self._backend._ffi.new("int *")
- baseoutbuf = self._backend._ffi.from_buffer(buf)
+ baseoutbuf = self._backend._ffi.from_buffer(buf, require_writable=True)
baseinbuf = self._backend._ffi.from_buffer(data)
while data_processed != total_data_len:
diff --git a/tests/hazmat/primitives/test_ciphers.py b/tests/hazmat/primitives/test_ciphers.py
index 02127dd9c..bf3b047de 100644
--- a/tests/hazmat/primitives/test_ciphers.py
+++ b/tests/hazmat/primitives/test_ciphers.py
@@ -318,6 +318,14 @@ class TestCipherUpdateInto:
with pytest.raises(ValueError):
encryptor.update_into(b"testing", buf)
+ def test_update_into_immutable(self, backend):
+ key = b"\x00" * 16
+ c = ciphers.Cipher(AES(key), modes.ECB(), backend)
+ encryptor = c.encryptor()
+ buf = b"\x00" * 32
+ with pytest.raises((TypeError, BufferError)):
+ encryptor.update_into(b"testing", buf)
+
@pytest.mark.supported(
only_if=lambda backend: backend.cipher_supported(
AES(b"\x00" * 16), modes.GCM(b"\x00" * 12)
--
2.40.0

View File

@@ -17,6 +17,7 @@ SRC_URI += " \
file://0001-Cargo.toml-specify-pem-version.patch \
file://0002-Cargo.toml-edition-2018-2021.patch \
file://fix-leak-metric.patch \
file://CVE-2023-23931.patch \
"
inherit pypi python_setuptools3_rust

View File

@@ -0,0 +1,63 @@
From cd0128c0becd8729d0f8733bf42fbd333d51f833 Mon Sep 17 00:00:00 2001
From: Nate Prewitt <nate.prewitt@gmail.com>
Date: Mon, 5 Jun 2023 09:31:36 +0000
Subject: [PATCH] Merge pull request from GHSA-j8r2-6x86-q33q
CVE: CVE-2023-32681
Upstream-Status: Backport [https://github.com/psf/requests/commit/74ea7cf7a6a27a4eeb2ae24e162bcc942a6706d5]
Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
---
requests/sessions.py | 4 +++-
tests/test_requests.py | 20 ++++++++++++++++++++
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/requests/sessions.py b/requests/sessions.py
index 3f59cab..648cffa 100644
--- a/requests/sessions.py
+++ b/requests/sessions.py
@@ -293,7 +293,9 @@ class SessionRedirectMixin(object):
except KeyError:
username, password = None, None
- if username and password:
+ # urllib3 handles proxy authorization for us in the standard adapter.
+ # Avoid appending this to TLS tunneled requests where it may be leaked.
+ if not scheme.startswith('https') and username and password:
headers['Proxy-Authorization'] = _basic_auth_str(username, password)
return new_proxies
diff --git a/tests/test_requests.py b/tests/test_requests.py
index 29b3aca..6a37777 100644
--- a/tests/test_requests.py
+++ b/tests/test_requests.py
@@ -601,6 +601,26 @@ class TestRequests:
assert sent_headers.get("Proxy-Authorization") == proxy_auth_value
+
+ @pytest.mark.parametrize(
+ "url,has_proxy_auth",
+ (
+ ('http://example.com', True),
+ ('https://example.com', False),
+ ),
+ )
+ def test_proxy_authorization_not_appended_to_https_request(self, url, has_proxy_auth):
+ session = requests.Session()
+ proxies = {
+ 'http': 'http://test:pass@localhost:8080',
+ 'https': 'http://test:pass@localhost:8090',
+ }
+ req = requests.Request('GET', url)
+ prep = req.prepare()
+ session.rebuild_proxies(prep, proxies)
+
+ assert ('Proxy-Authorization' in prep.headers) is has_proxy_auth
+
def test_basicauth_with_netrc(self, httpbin):
auth = ('user', 'pass')
wrong_auth = ('wronguser', 'wrongpass')
--
2.40.0

View File

@@ -3,6 +3,8 @@ HOMEPAGE = "http://python-requests.org"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
SRC_URI += "file://CVE-2023-32681.patch"
SRC_URI[sha256sum] = "68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61"
inherit pypi setuptools3

View File

@@ -112,6 +112,11 @@ CVE_CHECK_IGNORE += "CVE-2007-0998"
# https://bugzilla.redhat.com/show_bug.cgi?id=1609015#c11
CVE_CHECK_IGNORE += "CVE-2018-18438"
# As per https://nvd.nist.gov/vuln/detail/CVE-2023-0664
# https://bugzilla.redhat.com/show_bug.cgi?id=2167423
# this bug related to windows specific.
CVE_CHECK_IGNORE += "CVE-2023-0664"
COMPATIBLE_HOST:mipsarchn32 = "null"
COMPATIBLE_HOST:mipsarchn64 = "null"
COMPATIBLE_HOST:riscv32 = "null"

View File

@@ -14,6 +14,7 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/quilt/quilt-${PV}.tar.gz \
file://0001-tests-Allow-different-output-from-mv.patch \
file://fix-grep-3.8.patch \
file://faildiff-order.patch \
file://0001-test-Fix-a-race-condition-in-merge.test.patch \
"
SRC_URI:append:class-target = " file://gnu_patch_test_fix_target.patch"

View File

@@ -0,0 +1,48 @@
From c1ce964f3e9312100a60f03c1e1fdd601e1911f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 28 Feb 2023 18:45:15 +0100
Subject: [PATCH] test: Fix a race condition in merge.test
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Just like commit 4dfe7f9, (test: Fix a race condition, 2023-01-20),
this fix a test race when stdout and stderr in any order.
Upstream-Status: Backport [https://git.savannah.nongnu.org/cgit/quilt.git/commit/?id=c1ce964f3e9312100a60f03c1e1fdd601e1911f2]
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
---
test/merge.test | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/test/merge.test b/test/merge.test
index c64b33d..2e67d4f 100644
--- a/test/merge.test
+++ b/test/merge.test
@@ -39,8 +39,9 @@ Test the patch merging functionality of `quilt diff'.
> Applying patch %{P}c.diff
> Now at patch %{P}c.diff
- $ quilt diff -P b.diff | grep -v "^\\(---\\|+++\\)"
+ $ quilt diff -P b.diff >/dev/null
> Warning: more recent patches modify files in patch %{P}b.diff
+ $ quilt diff -P b.diff 2>/dev/null | grep -v "^\\(---\\|+++\\)"
>~ Index: [^/]+/abc\.txt
> ===================================================================
> @@ -1,3 +1,3 @@
@@ -49,8 +50,9 @@ Test the patch merging functionality of `quilt diff'.
> +b+
> c
- $ quilt diff --combine a.diff -P b.diff | grep -v "^\\(---\\|+++\\)"
+ $ quilt diff --combine a.diff -P b.diff >/dev/null
> Warning: more recent patches modify files in patch %{P}b.diff
+ $ quilt diff --combine a.diff -P b.diff 2>/dev/null | grep -v "^\\(---\\|+++\\)"
>~ Index: [^/]+/abc\.txt
> ===================================================================
> @@ -1,3 +1,3 @@
--
2.40.0

View File

@@ -0,0 +1,68 @@
From db4bb57d4af6d097a0c29490536793d95f1d8983 Mon Sep 17 00:00:00 2001
From: Hiroshi SHIBATA <hsbt@ruby-lang.org>
Date: Mon, 24 Apr 2023 08:27:24 +0000
Subject: [PATCH] Merge URI-0.12.1
CVE: CVE-2023-28755
Upstream-Status: Backport [https://github.com/ruby/ruby/commit/8ce4ab146498879b65e22f1be951b25eebb79300]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
lib/uri/rfc3986_parser.rb | 4 ++--
lib/uri/version.rb | 2 +-
test/uri/test_common.rb | 11 +++++++++++
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/lib/uri/rfc3986_parser.rb b/lib/uri/rfc3986_parser.rb
index 3e07de4..3c89311 100644
--- a/lib/uri/rfc3986_parser.rb
+++ b/lib/uri/rfc3986_parser.rb
@@ -3,8 +3,8 @@ module URI
class RFC3986_Parser # :nodoc:
# URI defined in RFC3986
# this regexp is modified not to host is not empty string
- RFC3986_URI = /\A(?<URI>(?<scheme>[A-Za-z][+\-.0-9A-Za-z]*):(?<hier-part>\/\/(?<authority>(?:(?<userinfo>(?:%\h\h|[!$&-.0-;=A-Z_a-z~])*)@)?(?<host>(?<IP-literal>\[(?:(?<IPv6address>(?:\h{1,4}:){6}(?<ls32>\h{1,4}:\h{1,4}|(?<IPv4address>(?<dec-octet>[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]|\d)\.\g<dec-octet>\.\g<dec-octet>\.\g<dec-octet>))|::(?:\h{1,4}:){5}\g<ls32>|\h{1,4}?::(?:\h{1,4}:){4}\g<ls32>|(?:(?:\h{1,4}:)?\h{1,4})?::(?:\h{1,4}:){3}\g<ls32>|(?:(?:\h{1,4}:){,2}\h{1,4})?::(?:\h{1,4}:){2}\g<ls32>|(?:(?:\h{1,4}:){,3}\h{1,4})?::\h{1,4}:\g<ls32>|(?:(?:\h{1,4}:){,4}\h{1,4})?::\g<ls32>|(?:(?:\h{1,4}:){,5}\h{1,4})?::\h{1,4}|(?:(?:\h{1,4}:){,6}\h{1,4})?::)|(?<IPvFuture>v\h+\.[!$&-.0-;=A-Z_a-z~]+))\])|\g<IPv4address>|(?<reg-name>(?:%\h\h|[!$&-.0-9;=A-Z_a-z~])+))?(?::(?<port>\d*))?)(?<path-abempty>(?:\/(?<segment>(?:%\h\h|[!$&-.0-;=@-Z_a-z~])*))*)|(?<path-absolute>\/(?:(?<segment-nz>(?:%\h\h|[!$&-.0-;=@-Z_a-z~])+)(?:\/\g<segment>)*)?)|(?<path-rootless>\g<segment-nz>(?:\/\g<segment>)*)|(?<path-empty>))(?:\?(?<query>[^#]*))?(?:\#(?<fragment>(?:%\h\h|[!$&-.0-;=@-Z_a-z~\/?])*))?)\z/
- RFC3986_relative_ref = /\A(?<relative-ref>(?<relative-part>\/\/(?<authority>(?:(?<userinfo>(?:%\h\h|[!$&-.0-;=A-Z_a-z~])*)@)?(?<host>(?<IP-literal>\[(?<IPv6address>(?:\h{1,4}:){6}(?<ls32>\h{1,4}:\h{1,4}|(?<IPv4address>(?<dec-octet>[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]|\d)\.\g<dec-octet>\.\g<dec-octet>\.\g<dec-octet>))|::(?:\h{1,4}:){5}\g<ls32>|\h{1,4}?::(?:\h{1,4}:){4}\g<ls32>|(?:(?:\h{1,4}:){,1}\h{1,4})?::(?:\h{1,4}:){3}\g<ls32>|(?:(?:\h{1,4}:){,2}\h{1,4})?::(?:\h{1,4}:){2}\g<ls32>|(?:(?:\h{1,4}:){,3}\h{1,4})?::\h{1,4}:\g<ls32>|(?:(?:\h{1,4}:){,4}\h{1,4})?::\g<ls32>|(?:(?:\h{1,4}:){,5}\h{1,4})?::\h{1,4}|(?:(?:\h{1,4}:){,6}\h{1,4})?::)|(?<IPvFuture>v\h+\.[!$&-.0-;=A-Z_a-z~]+)\])|\g<IPv4address>|(?<reg-name>(?:%\h\h|[!$&-.0-9;=A-Z_a-z~])+))?(?::(?<port>\d*))?)(?<path-abempty>(?:\/(?<segment>(?:%\h\h|[!$&-.0-;=@-Z_a-z~])*))*)|(?<path-absolute>\/(?:(?<segment-nz>(?:%\h\h|[!$&-.0-;=@-Z_a-z~])+)(?:\/\g<segment>)*)?)|(?<path-noscheme>(?<segment-nz-nc>(?:%\h\h|[!$&-.0-9;=@-Z_a-z~])+)(?:\/\g<segment>)*)|(?<path-empty>))(?:\?(?<query>[^#]*))?(?:\#(?<fragment>(?:%\h\h|[!$&-.0-;=@-Z_a-z~\/?])*))?)\z/
+ RFC3986_URI = /\A(?<URI>(?<scheme>[A-Za-z][+\-.0-9A-Za-z]*+):(?<hier-part>\/\/(?<authority>(?:(?<userinfo>(?:%\h\h|[!$&-.0-;=A-Z_a-z~])*+)@)?(?<host>(?<IP-literal>\[(?:(?<IPv6address>(?:\h{1,4}:){6}(?<ls32>\h{1,4}:\h{1,4}|(?<IPv4address>(?<dec-octet>[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]|\d)\.\g<dec-octet>\.\g<dec-octet>\.\g<dec-octet>))|::(?:\h{1,4}:){5}\g<ls32>|\h{1,4}?::(?:\h{1,4}:){4}\g<ls32>|(?:(?:\h{1,4}:)?\h{1,4})?::(?:\h{1,4}:){3}\g<ls32>|(?:(?:\h{1,4}:){,2}\h{1,4})?::(?:\h{1,4}:){2}\g<ls32>|(?:(?:\h{1,4}:){,3}\h{1,4})?::\h{1,4}:\g<ls32>|(?:(?:\h{1,4}:){,4}\h{1,4})?::\g<ls32>|(?:(?:\h{1,4}:){,5}\h{1,4})?::\h{1,4}|(?:(?:\h{1,4}:){,6}\h{1,4})?::)|(?<IPvFuture>v\h++\.[!$&-.0-;=A-Z_a-z~]++))\])|\g<IPv4address>|(?<reg-name>(?:%\h\h|[!$&-.0-9;=A-Z_a-z~])*+))(?::(?<port>\d*+))?)(?<path-abempty>(?:\/(?<segment>(?:%\h\h|[!$&-.0-;=@-Z_a-z~])*+))*+)|(?<path-absolute>\/(?:(?<segment-nz>(?:%\h\h|[!$&-.0-;=@-Z_a-z~])++)(?:\/\g<segment>)*+)?)|(?<path-rootless>\g<segment-nz>(?:\/\g<segment>)*+)|(?<path-empty>))(?:\?(?<query>[^#]*+))?(?:\#(?<fragment>(?:%\h\h|[!$&-.0-;=@-Z_a-z~\/?])*+))?)\z/
+ RFC3986_relative_ref = /\A(?<relative-ref>(?<relative-part>\/\/(?<authority>(?:(?<userinfo>(?:%\h\h|[!$&-.0-;=A-Z_a-z~])*+)@)?(?<host>(?<IP-literal>\[(?:(?<IPv6address>(?:\h{1,4}:){6}(?<ls32>\h{1,4}:\h{1,4}|(?<IPv4address>(?<dec-octet>[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]|\d)\.\g<dec-octet>\.\g<dec-octet>\.\g<dec-octet>))|::(?:\h{1,4}:){5}\g<ls32>|\h{1,4}?::(?:\h{1,4}:){4}\g<ls32>|(?:(?:\h{1,4}:){,1}\h{1,4})?::(?:\h{1,4}:){3}\g<ls32>|(?:(?:\h{1,4}:){,2}\h{1,4})?::(?:\h{1,4}:){2}\g<ls32>|(?:(?:\h{1,4}:){,3}\h{1,4})?::\h{1,4}:\g<ls32>|(?:(?:\h{1,4}:){,4}\h{1,4})?::\g<ls32>|(?:(?:\h{1,4}:){,5}\h{1,4})?::\h{1,4}|(?:(?:\h{1,4}:){,6}\h{1,4})?::)|(?<IPvFuture>v\h++\.[!$&-.0-;=A-Z_a-z~]++))\])|\g<IPv4address>|(?<reg-name>(?:%\h\h|[!$&-.0-9;=A-Z_a-z~])++))?(?::(?<port>\d*+))?)(?<path-abempty>(?:\/(?<segment>(?:%\h\h|[!$&-.0-;=@-Z_a-z~])*+))*+)|(?<path-absolute>\/(?:(?<segment-nz>(?:%\h\h|[!$&-.0-;=@-Z_a-z~])++)(?:\/\g<segment>)*+)?)|(?<path-noscheme>(?<segment-nz-nc>(?:%\h\h|[!$&-.0-9;=@-Z_a-z~])++)(?:\/\g<segment>)*+)|(?<path-empty>))(?:\?(?<query>[^#]*+))?(?:\#(?<fragment>(?:%\h\h|[!$&-.0-;=@-Z_a-z~\/?])*+))?)\z/
attr_reader :regexp
def initialize
diff --git a/lib/uri/version.rb b/lib/uri/version.rb
index 82188e2..7497a7d 100644
--- a/lib/uri/version.rb
+++ b/lib/uri/version.rb
@@ -1,6 +1,6 @@
module URI
# :stopdoc:
- VERSION_CODE = '001100'.freeze
+ VERSION_CODE = '001201'.freeze
VERSION = VERSION_CODE.scan(/../).collect{|n| n.to_i}.join('.').freeze
# :startdoc:
end
diff --git a/test/uri/test_common.rb b/test/uri/test_common.rb
index 5e30cda..1d34783 100644
--- a/test/uri/test_common.rb
+++ b/test/uri/test_common.rb
@@ -78,6 +78,17 @@ class TestCommon < Test::Unit::TestCase
assert_raise(NoMethodError) { Object.new.URI("http://www.ruby-lang.org/") }
end
+ def test_parse_timeout
+ pre = ->(n) {
+ 'https://example.com/dir/' + 'a' * (n * 100) + '/##.jpg'
+ }
+ assert_linear_performance((1..10).map {|i| i * 100}, rehearsal: 1000, pre: pre) do |uri|
+ assert_raise(URI::InvalidURIError) do
+ URI.parse(uri)
+ end
+ end
+ end
+
def test_encode_www_form_component
assert_equal("%00+%21%22%23%24%25%26%27%28%29*%2B%2C-.%2F09%3A%3B%3C%3D%3E%3F%40" \
"AZ%5B%5C%5D%5E_%60az%7B%7C%7D%7E",
--
2.35.5

View File

@@ -0,0 +1,73 @@
From 957bb7cb81995f26c671afce0ee50a5c660e540e Mon Sep 17 00:00:00 2001
From: Hiroshi SHIBATA <hsbt@ruby-lang.org>
Date: Wed, 29 Mar 2023 13:28:25 +0900
Subject: [PATCH] CVE-2023-28756
CVE: CVE-2023-28756
Upstream-Status: Backport [https://github.com/ruby/ruby/commit/957bb7cb81995f26c671afce0ee50a5c660e540e]
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
lib/time.gemspec | 2 +-
lib/time.rb | 6 +++---
test/test_time.rb | 9 +++++++++
3 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/lib/time.gemspec b/lib/time.gemspec
index 72fba34..bada91a 100644
--- a/lib/time.gemspec
+++ b/lib/time.gemspec
@@ -1,6 +1,6 @@
Gem::Specification.new do |spec|
spec.name = "time"
- spec.version = "0.2.0"
+ spec.version = "0.2.2"
spec.authors = ["Tanaka Akira"]
spec.email = ["akr@fsij.org"]
diff --git a/lib/time.rb b/lib/time.rb
index bd20a1a..6a13212 100644
--- a/lib/time.rb
+++ b/lib/time.rb
@@ -509,8 +509,8 @@ class Time
(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+
(\d{2,})\s+
(\d{2})\s*
- :\s*(\d{2})\s*
- (?::\s*(\d{2}))?\s+
+ :\s*(\d{2})
+ (?:\s*:\s*(\d\d))?\s+
([+-]\d{4}|
UT|GMT|EST|EDT|CST|CDT|MST|MDT|PST|PDT|[A-IK-Z])/ix =~ date
# Since RFC 2822 permit comments, the regexp has no right anchor.
@@ -701,7 +701,7 @@ class Time
#
# If self is a UTC time, Z is used as TZD. [+-]hh:mm is used otherwise.
#
- # +fractional_digits+ specifies a number of digits to use for fractional
+ # +fraction_digits+ specifies a number of digits to use for fractional
# seconds. Its default value is 0.
#
# require 'time'
diff --git a/test/test_time.rb b/test/test_time.rb
index b50d841..23e8e10 100644
--- a/test/test_time.rb
+++ b/test/test_time.rb
@@ -62,6 +62,15 @@ class TestTimeExtension < Test::Unit::TestCase # :nodoc:
assert_equal(true, t.utc?)
end
+ def test_rfc2822_nonlinear
+ pre = ->(n) {"0 Feb 00 00 :00" + " " * n}
+ assert_linear_performance([100, 500, 5000, 50_000], pre: pre) do |s|
+ assert_raise(ArgumentError) do
+ Time.rfc2822(s)
+ end
+ end
+ end
+
if defined?(Ractor)
def test_rfc2822_ractor
assert_ractor(<<~RUBY, require: 'time')
--
2.25.1

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