Compare commits

...

34 Commits

Author SHA1 Message Date
Richard Purdie
aec83663aa build-appliance-image: Update to dunfell head revision
(From OE-Core rev: daaee6fcb0d201f041678af433d8e1cd6f924d09)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:48:24 +00:00
Steve Sakoman
f5e8301b20 poky.conf: bump version for 3.1.23
(From meta-yocto rev: e422c92724c8456d57c7914dd29615b13861fefd)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:48:16 +00:00
Marek Vasut
d2a464dd59 bitbake: fetch2/git: Clarify the meaning of namespace
Namespace in this context means a branch, a tag, etc., clarify
it in the description. Also, fix a typo "a any", replace with
plain "any".

This patch is based of feedback on new applied patch
d32e5b0e ("fetch2/git: Prevent git fetcher from fetching gitlab repository metadata")

(Bitbake rev: c527976e28165de9606497c48d834872fe68372e)

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b4999425c812b25cb359d5163d11e3c1b030dc28)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:48:16 +00:00
Marek Vasut
6b4ee014f3 bitbake: fetch2/git: Prevent git fetcher from fetching gitlab repository metadata
The bitbake git fetcher currently fetches 'refs/*:refs/*', i.e. every
single object in the remote repository. This works poorly with gitlab
and github, which use the remote git repository to track its metadata
like merge requests, CI pipelines and such.

Specifically, gitlab generates refs/merge-requests/*, refs/pipelines/*
and refs/keep-around/* and they all contain massive amount of data that
are useless for the bitbake build purposes. The amount of useless data
can in fact be so massive (e.g. with FDO mesa.git repository) that some
proxies may outright terminate the 'git fetch' connection, and make it
appear as if bitbake got stuck on 'git fetch' with no output.

To avoid fetching all these useless metadata, tweak the git fetcher such
that it only fetches refs/heads/* and refs/tags/* . Avoid using negative
refspecs as those are only available in new git versions.

Per feedback on the ML, Gerrit may push commits outsides of branches or
tags during CI runs, which currently works with the 'nobranch=1' fetcher
parameter. To retain this functionality, keep fetching everything in case
the 'nobranch=1' is present. This still avoids fetching massive amount of
data in the common case, since 'nobranch=1' is rare. Update 'nobranch'
documentation.

Reviewed-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
(Bitbake rev: efb2903e6c94a5c884485ecb91f1fca7e8ee18f1)

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit d32e5b0ec2ab85ffad7e56ac5b3160860b732556)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:48:16 +00:00
Charlie Davies
a99017d705 bitbake: bitbake: fetch/git: use shlex.quote() to support spaces in SRC_URI url
This commit replaces the instances where escaped double quotes
are used to support SRC_URI url containing spaces with the more
pythonic shlex.quote().

(Bitbake rev: ecc1dac4ad8c8593810c69a25d674b0e0bed6097)

Signed-off-by: Charlie Davies <charles.davies@whitetree.xyz>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4f9ba9c794de55bea0343267467bddea99844374)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:48:16 +00:00
Niko Mauno
88cf58e2f5 Fix missing leading whitespace with ':append'
Mitigate occurences where ':append' operator is used and leading
whitespace character is obviously missing, risking inadvertent
string concatenation.

(From OE-Core rev: fcd340ec53ff8352b8cae0eb351810072b025a08)

(From OE-Core rev: b21e5524e3326c77598d30f6fe9268a5fdac91dd)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.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>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Khem Raj
a4d08aebae libtirpc: Check if file exists before operating on it
In some cases (e.g. mingw) this file may not be installed

(From OE-Core rev: a764e19736f24b8bf67ea87d58dd74652d6d81c9)

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 547f3a13ee9268bbdd439c96108ba1fe9ab78873)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Thomas Roos
81a5f76511 devtool: fix devtool finish when gitmodules file is empty
When a .gitmodules file exists but is empty then devtool finish fails.
Add an additional check for this.

[YOCTO #14999]

(From OE-Core rev: 077edd3992683985f0779afc73d4207a795ced39)

Signed-off-by: Thomas Roos <throos@amazon.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b4f0f7c4934bade9e4d4a1086f9d8b29d8e9ad45)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Xiaobing Luo
25ace79510 devtool: Fix _copy_file() TypeError
when devtool finish, the _copy_file() failed.
--------------------------------------------
TypeError: _copy_file() got an unexpected keyword argument
'base_outdir'
--------------------------------------------

Fixes: 05f2d5d2ce00 ("devtool: finish: add dry-run option")

(From OE-Core rev: a434079b7e8e23e9cf0b45f5fb56e8be7b8d885e)

Signed-off-by: Xiaobing Luo <luoxiaobing0926@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a45d9dc089fb2719ca69b92870917f8c0925f632)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Bruce Ashfield
8369253493 linux-yocto/5.4: update to v5.4.230
Updating  to the latest korg -stable release that comprises
the following commits:

    90245959a5b9 Linux 5.4.230
    29487eed37ae mm/khugepaged: fix collapse_pte_mapped_thp() to allow anon_vma
    7242fc8c2f5e x86/fpu: Use _Alignof to avoid undefined behavior in TYPE_ALIGN
    2b1375fac0de drm/amd/display: Fix COLOR_SPACE_YCBCR2020_TYPE matrix
    763a74e1de74 drm/amd/display: Fix set scaling doesn's work
    39e0844a1e96 drm/i915: re-disable RC6p on Sandy Bridge
    ffef77794fb5 gsmi: fix null-deref in gsmi_get_variable
    b4461af0a5e6 serial: atmel: fix incorrect baudrate setup
    55f9aca283d5 dmaengine: tegra210-adma: fix global intr clear
    5d99369685a6 serial: pch_uart: Pass correct sg to dma_unmap_sg()
    97697a252ba0 dt-bindings: phy: g12a-usb3-pcie-phy: fix compatible string documentation
    aa1b22daa019 usb-storage: apply IGNORE_UAS only for HIKSEMI MD202 on RTL9210
    a21da7f7aae6 usb: gadget: f_ncm: fix potential NULL ptr deref in ncm_bitrate()
    83b0aac55df0 usb: gadget: g_webcam: Send color matching descriptor per frame
    004fbb049b84 usb: typec: altmodes/displayport: Fix pin assignment calculation
    a1478ef59b0e usb: typec: altmodes/displayport: Add pin assignment helper
    040e0d1281c7 usb: host: ehci-fsl: Fix module alias
    8d5740ad8f76 USB: serial: cp210x: add SCALANCE LPE-9000 device id
    9a39f4626b36 USB: gadgetfs: Fix race between mounting and unmounting
    1bc1fdd73f3d cifs: do not include page data when checking signature
    89ac597e3e80 btrfs: fix race between quota rescan and disable leading to NULL pointer deref
    61cad0c61cdb mmc: sunxi-mmc: Fix clock refcount imbalance during unbind
    4f96ae71d336 comedi: adv_pci1760: Fix PWM instruction handling
    f11a68916422 usb: core: hub: disable autosuspend for TI TUSB8041
    556dfdb226ce misc: fastrpc: Fix use-after-free race condition for maps
    4b5c44e924a5 misc: fastrpc: Don't remove map on creater_process and device_release
    04eb41ec9611 USB: misc: iowarrior: fix up header size for USB_DEVICE_ID_CODEMERCS_IOW100
    7ebb3ecab1ff USB: serial: option: add Quectel EM05CN modem
    32165699a08d USB: serial: option: add Quectel EM05CN (SG) modem
    81affe3b469e USB: serial: option: add Quectel EC200U modem
    a7c19d94b899 USB: serial: option: add Quectel EM05-G (RS) modem
    5966eda55028 USB: serial: option: add Quectel EM05-G (CS) modem
    eece7a6c97cf USB: serial: option: add Quectel EM05-G (GR) modem
    96b02125dd68 prlimit: do_prlimit needs to have a speculation check
    afcb4e0ab843 xhci: Detect lpm incapable xHC USB3 roothub ports from ACPI tables
    84e2e57769af usb: acpi: add helper to check port lpm capability using acpi _DSM
    8a6e963bf280 xhci: Add a flag to disable USB3 lpm on a xhci root port level.
    cf6e5d3c2de1 xhci: Add update_hub_device override for PCI xHCI hosts
    133b902378e4 xhci: Fix null pointer dereference when host dies
    9891e5c73cab usb: xhci: Check endpoint is valid before dereferencing it
    643f7da7828d xhci-pci: set the dma max_seg_size
    890792b57990 ALSA: hda/realtek - Turn on power early
    e60730280b57 drm/i915/gt: Reset twice
    2e3e2649ea38 efi: fix userspace infinite retry read efivars after EFI runtime services page fault
    b0ba060d3287 nilfs2: fix general protection fault in nilfs_btree_insert()
    53dd833fd0a2 Add exception protection processing for vd in axi_chan_handle_err function
    33a4d05138df wifi: brcmfmac: fix regression for Broadcom PCIe wifi devices
    557e85ff9afe f2fs: let's avoid panic if extent_tree is not created
    7165dd4c3b07 RDMA/srp: Move large values to a new enum for gcc13
    19304ffb7b38 net/ethtool/ioctl: return -EOPNOTSUPP if we have no phy stats
    4de1a5af1be3 selftests/bpf: check null propagation only neither reg is PTR_TO_BTF_ID
    a869f7b05411 pNFS/filelayout: Fix coalescing test for single DS

(From OE-Core rev: f4b8d8b2240ef1edc42d2ca873195fcb8d25886b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Bruce Ashfield
fe25a5ea27 linux-yocto/5.4: update to v5.4.229
Updating  to the latest korg -stable release that comprises
the following commits:

    1349fe3a332a Linux 5.4.229
    68a37dc77e2f tipc: call tipc_lxc_xmit without holding node_read_lock
    1140c3f7adbc ocfs2: fix freeing uninitialized resource on ocfs2_dlm_shutdown
    2db88851fa4d tipc: Add a missing case of TIPC_DIRECT_MSG type
    38b5d7054d75 tty: serial: tegra: Handle RX transfer in PIO mode if DMA wasn't started
    3188f80b80d6 tipc: fix use-after-free in tipc_disc_rcv()
    3eeb06132d36 Revert "usb: ulpi: defer ulpi_register on ulpi_read_id timeout"
    ecd47ffc99d3 mm: Always release pages to the buddy allocator in memblock_free_late().
    5fcf75a8a4c3 efi: fix NULL-deref in init error path
    b30e5dd0778e arm64: cmpxchg_double*: hazard against entire exchange variable
    ecdd65051b17 arm64: atomics: remove LL/SC trampolines
    f840000928af arm64: atomics: format whitespace consistently
    d01d6d2b06c0 drm/virtio: Fix GEM handle creation UAF
    3030f11f27e7 x86/resctrl: Fix task CLOSID/RMID update race
    22c4eeafc31b x86/resctrl: Use task_curr() instead of task_struct->on_cpu to prevent unnecessary IPI
    b3f924246700 iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe()
    ecfe33e0757d iommu/mediatek-v1: Add error handle for mtk_iommu_probe
    ec049ae2b462 net/mlx5: Fix ptp max frequency adjustment range
    62d707dabb5c net/mlx5: Rename ptp clock info
    2b157c3c5d6b net/sched: act_mpls: Fix warning during failed attribute validation
    9424d2205fe9 nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame()
    576eadef2c8d hvc/xen: lock console list traversal
    7d04fe153dfc tipc: fix unexpected link reset due to discovery messages
    95b2d4889fbd tipc: eliminate checking netns if node established
    d6418829cef1 tipc: improve throughput between nodes in netns
    d443308edbfb regulator: da9211: Use irq handler when ready
    43f48e6c3076 EDAC/device: Fix period calculation in edac_device_reset_delay_period()
    a5b737623eaa x86/boot: Avoid using Intel mnemonics in AT&T syntax asm
    d0c6d2a31026 powerpc/imc-pmu: Fix use of mutex in IRQs disabled section
    feefb33eefa1 netfilter: ipset: Fix overflow before widen in the bitmap_ip_create() function.
    e431b4fb1fb8 ext4: fix uninititialized value in 'ext4_evict_inode'
    026a4490b538 ext4: fix use-after-free in ext4_orphan_cleanup
    fa41a133ea23 ext4: lost matching-pair of trace in ext4_truncate
    1d5524832ff2 ext4: fix bug_on in __es_tree_search caused by bad quota inode
    3da22d06e078 quota: Factor out setup of quota inode
    ecb9d0d2e123 jbd2: use the correct print format
    06bb3f4e3b06 usb: ulpi: defer ulpi_register on ulpi_read_id timeout
    a2689a446427 wifi: wilc1000: sdio: fix module autoloading
    3998dba0f78a ipv6: raw: Deduct extension header length in rawv6_push_pending_frames
    53cefa802f07 ixgbe: fix pci device refcount leak
    e0d6f3b62b29 platform/x86: sony-laptop: Don't turn off 0x153 keyboard backlight during probe
    1ad759df6a6f drm/msm/adreno: Make adreno quirks not overwrite each other
    098416c4e322 cifs: Fix uninitialized memory read for smb311 posix symlink create
    d6546426cdf4 ALSA: hda/hdmi: Add a HP device 0x8715 to force connect list
    eaa5580a74cc ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF
    c6d29a5ffdbc net/ulp: prevent ULP without clone op from entering the LISTEN status
    b318d41f1bd1 s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple()
    f6da927c92ec s390/kexec: fix ipl report address for kdump
    4bf6e11c34c5 perf auxtrace: Fix address filter duplicate symbol selection
    2e4164d3d1e7 docs: Fix the docs build with Sphinx 6.0
    3ed183074c20 efi: tpm: Avoid READ_ONCE() for accessing the event log
    3ad31129ce72 KVM: arm64: Fix S1PTW handling on RO memslots
    9b83ec63d0de net: sched: disallow noqueue for qdisc classes
    aa52acefc629 driver core: Fix bus_type.match() error handling in __driver_attach()
    8d60a90560ef selftests: set the BUILD variable to absolute path
    cad6d2bb4726 selftests: Fix kselftest O=objdir build from cluttering top level objdir
    320dbbd86f81 parisc: Align parisc MADV_XXX constants with all other architectures
    d868597b71c1 mbcache: Avoid nesting of cache->c_list_lock under bit locks
    da23752d9660 hfs/hfsplus: avoid WARN_ON() for sanity check, use proper error handling
    781fa141414e hfs/hfsplus: use WARN_ON for sanity check
    b47c69010943 ext4: don't allow journal inode to have encrypt flag
    1464feb5b6fa riscv: uaccess: fix type of 0 variable on error in get_user()
    da41069c613d nfsd: fix handling of readdir in v4root vs. mount upcall timeout
    8cbd7f264387 x86/bugs: Flush IBP in ib_prctl_set()
    ba780bff9ff9 ASoC: Intel: bytcr_rt5640: Add quirk for the Advantech MICA-071 tablet
    e66ae100e7c7 udf: Fix extension of the last extent in the file
    33df9c5d5e2a caif: fix memory leak in cfctrl_linkup_request()
    3cb1ee82e4ed drm/i915: unpin on error in intel_vgpu_shadow_mm_pin()
    ebe6d2fcf783 usb: rndis_host: Secure rndis_query check against int overflow
    a07b4895b9d1 drivers/net/bonding/bond_3ad: return when there's no aggregator
    2f7a09c1eebc perf tools: Fix resources leak in perf_data__open_dir()
    6b17b84634f9 net: sched: cbq: dont intepret cls results when asked to drop
    63e469cb54a8 net: sched: atm: dont intepret cls results when asked to drop
    d16e5fefd8e4 RDMA/mlx5: Fix validation of max_rd_atomic caps for DC
    564fdc2f8bff RDMA/uverbs: Silence shiftTooManyBitsSigned warning
    00616bd1913a net: phy: xgmiitorgmii: Fix refcount leak in xgmiitorgmii_probe
    904ad95b3985 net: amd-xgbe: add missed tasklet_kill
    a15cbe9b8453 vhost: fix range used in translate_desc()
    d8e410315ad3 nfc: Fix potential resource leaks
    8f97eeb02a55 qlcnic: prevent ->dcb use-after-free on qlcnic_dcb_enable() failure
    55ac68b53f1c net: sched: fix memory leak in tcindex_set_parms
    b6a0623f756b net: hns3: add interrupts re-initialization while doing VF FLR
    f9c551d87426 nfsd: shut down the NFSv4 state objects before the filecache
    7eaaee526809 bpf: pull before calling skb_postpull_rcsum()
    1d449cd2409a SUNRPC: ensure the matching upcall is in-flight upon downcall
    af5306527637 ext4: fix deadlock due to mbcache entry corruption
    711ef736dd99 mbcache: automatically delete entries from cache on freeing
    af8ecc8d20e7 ext4: fix race when reusing xattr blocks
    ea4b9091aae7 ext4: unindent codeblock in ext4_xattr_block_set()
    a5f9bd4beae8 ext4: remove EA inode entry from mbcache on inode eviction
    951ea4d3dfa9 mbcache: add functions to delete entry if unused
    81b0bb1eb2c6 mbcache: don't reclaim used entries
    c2f1e12b659b ext4: use kmemdup() to replace kmalloc + memcpy
    6453836e371f fs: ext4: initialize fsdata in pagecache_write()
    1af609646c60 ext4: use memcpy_to_page() in pagecache_write()
    49dac5e017eb mm/highmem: Lift memcpy_[to|from]_page to core
    f44dcd9dceb8 ext4: correct inconsistent error msg in nojournal mode
    b02aa6a05a5f ext4: goto right label 'failed_mount3a'
    e0fce1d665d8 ravb: Fix "failed to switch device to config mode" message during unbind
    0ebcfdc8c920 KVM: nVMX: Properly expose ENABLE_USR_WAIT_PAUSE control to L1
    e723bafd8f61 KVM: VMX: Fix the spelling of CPU_BASED_USE_TSC_OFFSETTING
    72906690452b KVM: VMX: Rename NMI_PENDING to NMI_WINDOW
    da8ff59210b4 KVM: VMX: Rename INTERRUPT_PENDING to INTERRUPT_WINDOW
    db99c8d6b78b KVM: retpolines: x86: eliminate retpoline from vmx.c exit handlers
    2c82f134b9af KVM: x86: optimize more exit handlers in vmx.c
    6e3f6d95625a perf probe: Fix to get the DW_AT_decl_file and DW_AT_call_file as unsinged data
    fc67c00def19 perf probe: Use dwarf_attr_integrate as generic DWARF attr accessor
    d06a7e2049e3 dm thin: resume even if in FAIL mode
    28cdd90c26f3 media: s5p-mfc: Fix in register read and write for H264
    640075400c7c media: s5p-mfc: Clear workbit to handle error condition
    4a52a1a3eac8 media: s5p-mfc: Fix to handle reference queue during finishing
    b9275d8a927f PM/devfreq: governor: Add a private governor_data for governor
    839f3ca8bc02 btrfs: replace strncpy() with strscpy()
    b5db13545759 ext4: allocate extended attribute value in vmalloc area
    6ef8b0a74350 ext4: avoid unaccounted block allocation when expanding inode
    b14a553b0f87 ext4: initialize quota before expanding inode in setproject ioctl
    9ef603086c5b ext4: fix inode leak in ext4_xattr_inode_create() on an error path
    7138ef745ef4 ext4: avoid BUG_ON when creating xattrs
    4d84ec8e5c3e ext4: fix error code return to user-space in ext4_get_branch()
    a4c3c1d57db3 ext4: fix corruption when online resizing a 1K bigalloc fs
    6f4200ec76a0 ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline
    f263e349bacc ext4: init quota for 'old.inode' in 'ext4_rename'
    78e335fb573e ext4: fix bug_on in __es_tree_search caused by bad boot loader inode
    362ce137d56b ext4: fix reserved cluster accounting in __es_remove_extent()
    e1d946d9c82f ext4: add helper to check quota inums
    2142dfa1de61 ext4: add EXT4_IGET_BAD flag to prevent unexpected bad inode
    4690a4bdcf14 ext4: fix undefined behavior in bit shift for ext4_check_flag_values
    e347c269b5d6 ext4: add inode table check in __ext4_get_inode_loc to aovid possible infinite loop
    94b283341f9f drm/vmwgfx: Validate the box size for the snooped cursor
    eea62f0461a9 drm/connector: send hotplug uevent on connector cleanup
    fbfd6dee521e device_cgroup: Roll back to original exceptions after copy failure
    5e4500454d75 parisc: led: Fix potential null-ptr-deref in start_task()
    662dc7c6be7b iommu/amd: Fix ivrs_acpihid cmdline parsing code
    93e919d9acb2 crypto: n2 - add missing hash statesize
    a5866d531b47 PCI/sysfs: Fix double free in error path
    65bd0962992a PCI: Fix pci_device_is_present() for VFs by checking PF
    d23006f2a56e ipmi: fix use after free in _ipmi_destroy_user()
    cf19abbe4b9a ima: Fix a potential NULL pointer access in ima_restore_measurement_list
    b16336353576 mtd: spi-nor: Check for zero erase size in spi_nor_find_best_erase_type()
    74531c23adc5 ipmi: fix long wait in unload when IPMI disconnect
    d4f48c648a66 efi: Add iMac Pro 2017 to uefi skip cert quirk
    2c4832a0893a md/bitmap: Fix bitmap chunk size overflow issues
    b869cb7a3d52 cifs: fix missing display of three mount options
    149babe5e019 cifs: fix confusing debug message
    a29d62130988 media: dvb-core: Fix UAF due to refcount races at releasing
    b21f62b49ee9 media: dvb-core: Fix double free in dvb_register_device()
    50c2379f8795 ARM: 9256/1: NWFPE: avoid compiler-generated __aeabi_uldivmod
    c42cb66a8915 tracing: Fix infinite loop in tracing_read_pipe on overflowed print_trace_line
    cb03fc217b0d tracing/hist: Fix wrong return value in parse_action_params()
    f5489d5a2420 x86/microcode/intel: Do not retry microcode reloading on the APs
    cf79d5410a56 tracing/hist: Fix out-of-bound write on 'action_data.var_ref_idx'
    1a5165e80a80 dm cache: set needs_check flag after aborting metadata
    2f097dfac757 dm cache: Fix UAF in destroy()
    520b56cfd9fa dm clone: Fix UAF in clone_dtr()
    792e51aac376 dm integrity: Fix UAF in dm_integrity_dtr()
    7ae6aa649394 dm thin: Fix UAF in run_timer_softirq()
    f758987ff0af dm thin: Use last transaction's pmd->root when commit failed
    200aa33b5d78 dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata
    f472bfc95d9c dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort
    52ba5b87a36e binfmt: Fix error return code in load_elf_fdpic_binary()
    33933af45d1d binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf
    3cdd91a91632 cpufreq: Init completion before kobject_init_and_add()
    6ccb116e6b99 selftests: Use optional USERCFLAGS and USERLDFLAGS
    2b8f2e127d7a arm64: dts: qcom: sdm850-lenovo-yoga-c630: correct I2C12 pins drive strength
    b22d683c9014 ARM: ux500: do not directly dereference __iomem
    c59ee1528b34 btrfs: fix resolving backrefs for inline extent followed by prealloc
    e63e1c67932d mmc: sdhci-sprd: Disable CLK_AUTO when the clock is less than 400K
    3de2c3628351 ktest.pl minconfig: Unset configs instead of just removing them
    d10523afa822 kest.pl: Fix grub2 menu handling for rebooting
    d089baa5b68a soc: qcom: Select REMAP_MMIO for LLCC driver
    bcce46e11594 media: stv0288: use explicitly signed char
    de2ea2a0ad51 net/af_packet: make sure to pull mac header
    ad3f90a9c4a2 net/af_packet: add VLAN support for AF_PACKET SOCK_RAW GSO
    aa91afe59740 SUNRPC: Don't leak netobj memory when gss_read_proxy_verf() fails
    e027f3b9fabd tpm: tpm_tis: Add the missed acpi_put_table() to fix memory leak
    927860dfa161 tpm: tpm_crb: Add the missed acpi_put_table() to fix memory leak
    f1c08947ab05 mmc: vub300: fix warning - do not call blocking ops when !TASK_RUNNING
    f4b5a27f56c5 f2fs: should put a page when checking the summary info
    f02d2e2b9b89 mm, compaction: fix fast_isolate_around() to stay within boundaries
    384ef33d37ce md: fix a crash in mempool_free
    2dae4211b579 pnode: terminate at peers of source
    25e8c6ecb468 ALSA: line6: fix stack overflow in line6_midi_transmit
    10a07d81f693 ALSA: line6: correct midi status byte when receiving data from podxt
    0e727c328eeb ovl: Use ovl mounter's fsuid and fsgid in ovl_link()
    cae6dddef222 hfsplus: fix bug causing custom uid and gid being unable to be assigned with mount
    fe83242eab19 HID: plantronics: Additional PIDs for double volume key presses quirk
    b201fe49eeb8 HID: multitouch: fix Asus ExpertBook P2 P2451FA trackpoint
    515959eb49e6 powerpc/rtas: avoid scheduling in rtas_os_term()
    c2fa91abf22a powerpc/rtas: avoid device tree lookups in rtas_os_term()
    418ef921cce2 objtool: Fix SEGFAULT
    28046827c305 nvme: fix the NVME_CMD_EFFECTS_CSE_MASK definition
    24561f5d0990 nvme: resync include/linux/nvme.h with nvmecli
    e69e8d78679d ata: ahci: Fix PCS quirk application for suspend
    e74d9f13a408 nvme-pci: fix doorbell buffer value endianness
    e8e2861cc325 cifs: fix oops during encryption
    3c3baa40dcf8 media: dvbdev: fix refcnt bug
    334a76861b25 media: dvbdev: fix build warning due to comments
    2a0e42877dff gcov: add support for checksum field
    328f3c084fd8 regulator: core: fix deadlock on regulator enable
    fb0407d8cd35 iio: adc128s052: add proper .data members in adc128_of_match table
    bcb052a87d8b iio: adc: ad_sigma_delta: do not use internal iio_dev lock
    ad4eb32cedfa reiserfs: Add missing calls to reiserfs_security_free()
    5a5ef1882fd6 HID: wacom: Ensure bootloader PID is usable in hidraw mode
    9e8f60094e34 usb: dwc3: core: defer probe on ulpi_read_id timeout
    7778fa1ca85f ALSA: hda/hdmi: Add HP Device 0x8711 to force connect list
    12622fa053c1 ALSA: hda/realtek: Add quirk for Lenovo TianYi510Pro-14IOB
    fad324bc0717 pstore: Make sure CONFIG_PSTORE_PMSG selects CONFIG_RT_MUTEXES
    e56423bb8e04 pstore: Switch pmsg_lock to an rt_mutex to avoid priority inversion
    e8a1ccd12017 ASoC: rt5670: Remove unbalanced pm_runtime_put()
    737058bd0bfe ASoC: rockchip: spdif: Add missing clk_disable_unprepare() in rk_spdif_runtime_resume()
    d456c253f3ea ASoC: wm8994: Fix potential deadlock
    2705bb1661c9 ASoC: rockchip: pdm: Add missing clk_disable_unprepare() in rockchip_pdm_runtime_resume()
    ed1376f77140 ASoC: audio-graph-card: fix refcount leak of cpu_ep in __graph_for_each_link()
    df9cd38c3b5e ASoC: mediatek: mt8173-rt5650-rt5514: fix refcount leak in mt8173_rt5650_rt5514_dev_probe()
    56f630a0d5a9 ASoC: Intel: Skylake: Fix driver hang during shutdown
    fd0d3bf37d73 ALSA: hda: add snd_hdac_stop_streams() helper
    d5952155d6d8 ALSA/ASoC: hda: move/rename snd_hdac_ext_stop_streams to hdac_stream.c
    bdc2d33fa232 orangefs: Fix kmemleak in orangefs_{kernel,client}_debug_init()
    2e7c09121064 orangefs: Fix kmemleak in orangefs_prepare_debugfs_help_string()
    511b48ee8e4a drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()
    6c00350c9f1d drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid()
    fa7163987351 hugetlbfs: fix null-ptr-deref in hugetlbfs_parse_param()
    713ad301c2d4 clk: st: Fix memory leak in st_of_quadfs_setup()
    0ca298d54846 media: si470x: Fix use-after-free in si470x_int_in_callback()
    21d26381e1f9 mmc: f-sdh30: Add quirks for broken timeout clock capability
    5bfc53df288e regulator: core: fix use_count leakage when handling boot-on
    87fd18016a47 blk-mq: fix possible memleak when register 'hctx' failed
    17217737c174 media: dvb-usb: fix memory leak in dvb_usb_adapter_init()
    6d18b44bb44e media: dvbdev: adopts refcnt to avoid UAF
    438a4a8dece2 media: dvb-frontends: fix leak of memory fw
    89357aa97b52 bpf: Prevent decl_tag from being referenced in func_proto arg
    7da524781c53 ppp: associate skb with a device at tx
    aadb1507a77b mrp: introduce active flags to prevent UAF when applicant uninit
    4bdcc6a5aa9f net: add atomic_long_t to net_device_stats fields
    19d5a0e17aba md/raid1: stop mdx_raid1 thread when raid1 array run failed
    5d8d046f3dba drivers/md/md-bitmap: check the return value of md_bitmap_get_counter()
    2b1b145ca17b drm/sti: Use drm_mode_copy()
    272d12b5f322 drm/rockchip: Use drm_mode_copy()
    20022d551f20 s390/lcs: Fix return type of lcs_start_xmit()
    4bee3c75d5bf s390/netiucv: Fix return type of netiucv_tx()
    e859e02fbfa7 s390/ctcm: Fix return type of ctc{mp,}m_tx()
    f96bd8adc8ad igb: Do not free q_vector unless new one was allocated
    5b06a8a25eba wifi: brcmfmac: Fix potential shift-out-of-bounds in brcmf_fw_alloc_request()
    e390838eeffb hamradio: baycom_epp: Fix return type of baycom_send_packet()
    dbe1a6b930ae net: ethernet: ti: Fix return type of netcp_ndo_start_xmit()
    772431f30ca0 bpf: make sure skb->len != 0 when redirecting to a tunneling device
    9066300fe8bf ipmi: fix memleak when unload ipmi driver
    8234c522effc ASoC: codecs: rt298: Add quirk for KBL-R RVP platform
    7360b323e034 wifi: ar5523: Fix use-after-free on ar5523_cmd() timed out
    ca57748593dd wifi: ath9k: verify the expected usb_endpoints are present
    3cc9299036bd brcmfmac: return error when getting invalid max_flowrings from dongle
    e44bfef5bffb drm/etnaviv: add missing quirks for GC300
    90103ccb6e60 hfs: fix OOB Read in __hfs_brec_find
    a815a3e01945 acct: fix potential integer overflow in encode_comp_t()
    d706485dffbb nilfs2: fix shift-out-of-bounds/overflow in nilfs_sb2_bad_offset()
    9ef353c92f9d ACPICA: Fix error code path in acpi_ds_call_control_method()
    50163a115831 fs: jfs: fix shift-out-of-bounds in dbDiscardAG
    156d440dea97 udf: Avoid double brelse() in udf_rename()
    359616ce587e fs: jfs: fix shift-out-of-bounds in dbAllocAG
    419b808504c2 binfmt_misc: fix shift-out-of-bounds in check_special_flags
    3d92527a919e rcu: Fix __this_cpu_read() lockdep warning in rcu_force_quiescent_state()
    4f1d37ff4226 net: stream: purge sk_error_queue in sk_stream_kill_queues()
    fbae0dc7e22a myri10ge: Fix an error handling path in myri10ge_probe()
    67af8655c889 rxrpc: Fix missing unlock in rxrpc_do_sendmsg()
    93e794d4fe48 net_sched: reject TCF_EM_SIMPLE case for complex ematch module
    b3a5c76f61e2 mailbox: zynq-ipi: fix error handling while device_register() fails
    668dc454bcbd skbuff: Account for tail adjustment during pull operations
    8b74211bf60b openvswitch: Fix flow lookup to use unmasked key
    0e91836628d6 rtc: mxc_v2: Add missing clk_disable_unprepare()
    b0a61359026b r6040: Fix kmemleak in probe and remove
    8bddef54cbe9 nfc: pn533: Clear nfc_target before being used
    db77d4d005c2 mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
    82ff73638cd6 mISDN: hfcpci: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
    5a35d18e7952 mISDN: hfcsusb: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
    fddac3b4578d nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure
    f06d3feee910 NFSD: Add tracepoints to NFSD's duplicate reply cache
    fe142d5ceeb5 nfsd: Define the file access mode enum for tracing
    aa5fafd4a6b4 rtc: pic32: Move devm_rtc_allocate_device earlier in pic32_rtc_probe()
    686f0793f790 rtc: st-lpc: Add missing clk_disable_unprepare in st_rtc_probe()
    1240ed71a0f6 remoteproc: qcom_q6v5_pas: Fix missing of_node_put() in adsp_alloc_memory_region()
    27441fab2651 remoteproc: sysmon: fix memory leak in qcom_add_sysmon_subdev()
    292c0f3b4ae0 pwm: sifive: Call pwm_sifive_update_clock() while mutex is held
    2b7ad4357438 selftests/powerpc: Fix resource leaks
    39633b4051ee powerpc/hv-gpci: Fix hv_gpci event list
    aed862896d53 powerpc/83xx/mpc832x_rdb: call platform_device_put() in error case in of_fsl_spi_probe()
    d539b77bae1e powerpc/perf: callchain validate kernel stack pointer bounds
    cfb5bbfcb63b powerpc/xive: add missing iounmap() in error path in xive_spapr_populate_irq_data()
    f2d60f6ba173 cxl: Fix refcount leak in cxl_calc_capp_routing
    9bf842ffdd21 powerpc/52xx: Fix a resource leak in an error handling path
    b703da16dc97 macintosh/macio-adb: check the return value of ioremap()
    b29a2f1dd33a macintosh: fix possible memory leak in macio_add_one_device()
    17fd44059496 iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe()
    8581ec1feb89 iommu/amd: Fix pci device refcount leak in ppr_notifier()
    0d96a6f5db64 rtc: pcf85063: Fix reading alarm
    bb1bdc72dd24 rtc: snvs: Allow a time difference on clock register read
    6a54d033372d include/uapi/linux/swab: Fix potentially missing __always_inline
    f170d4bd38dd RDMA/siw: Fix pointer cast warning
    8ea68b4e3fa9 power: supply: fix null pointer dereferencing in power_supply_get_battery_info
    61e80e792918 HSI: omap_ssi_core: Fix error handling in ssi_init()
    7ae85631aead perf symbol: correction while adjusting symbol
    739b4294f86a perf trace: Handle failure when trace point folder is missed
    1b4053ad54b7 perf trace: Use macro RAW_SYSCALL_ARGS_NUM to replace number
    443aaf605f9f perf trace: Add a strtoul() method to 'struct syscall_arg_fmt'
    339e08e1858d perf trace: Allow associating scnprintf routines with well known arg names
    97cc27a28ddc perf trace: Add the syscall_arg_fmt pointer to syscall_arg
    a2fcb44f5e55 perf trace: Factor out the initialization of syscal_arg_fmt->scnprintf
    ba67de37ad20 perf trace: Separate 'struct syscall_fmt' definition from syscall_fmts variable
    6086919d8c2a perf trace: Return error if a system call doesn't exist
    f84fff700dea power: supply: fix residue sysfs file in error handle route of __power_supply_register()
    ef87ed9added HSI: omap_ssi_core: fix possible memory leak in ssi_probe()
    e9a32f7523eb HSI: omap_ssi_core: fix unbalanced pm_runtime_disable()
    0f049375ad49 fbdev: uvesafb: Fixes an error handling path in uvesafb_probe()
    3c9aaa58f71d fbdev: vermilion: decrease reference count in error path
    9413f188efc5 fbdev: via: Fix error in via_core_init()
    65dbd8eefaa8 fbdev: pm2fb: fix missing pci_disable_device()
    77738055e203 fbdev: ssd1307fb: Drop optional dependency
    72c8770e3526 samples: vfio-mdev: Fix missing pci_disable_device() in mdpy_fb_probe()
    19b651db9421 tracing/hist: Fix issue of losting command info in error_log
    fab2536ba13d usb: storage: Add check for kcalloc
    cdcbae2c5003 i2c: ismt: Fix an out-of-bounds bug in ismt_access()
    f3f65c417784 vme: Fix error not catched in fake_init()
    e5c97a433cc3 staging: rtl8192e: Fix potential use-after-free in rtllib_rx_Monitor()
    288ada16a93a staging: rtl8192u: Fix use after free in ieee80211_rx()
    c226717aa864 i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe
    d85b5247a793 chardev: fix error handling in cdev_device_add()
    110dc34c9fa3 mcb: mcb-parse: fix error handing in chameleon_parse_gdd()
    68e54d9ee822 drivers: mcb: fix resource leak in mcb_probe()
    80dc47e751a8 usb: gadget: f_hid: fix refcount leak on error path
    c78c87c4e389 usb: gadget: f_hid: fix f_hidg lifetime vs cdev
    efa2ed93e5b4 usb: gadget: f_hid: optional SETUP/SET_REPORT mode
    5e193764c26e usb: roles: fix of node refcount leak in usb_role_switch_is_parent()
    76740fd8c608 counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update
    361412dae169 cxl: fix possible null-ptr-deref in cxl_pci_init_afu|adapter()
    60b2ed21a65f cxl: fix possible null-ptr-deref in cxl_guest_init_afu|adapter()
    0078dd875856 misc: sgi-gru: fix use-after-free error in gru_set_context_option, gru_fault and gru_handle_user_call_os
    ee2715faf7e7 misc: tifm: fix possible memory leak in tifm_7xx1_switch_media()
    0cd05062371a misc: ocxl: fix possible name leak in ocxl_file_register_afu()
    628de998a3ab test_firmware: fix memory leak in test_firmware_init()
    98c01a728b46 serial: sunsab: Fix error handling in sunsab_init()
    61f4146a7e5f serial: altera_uart: fix locking in polling mode
    ce40c44e62bc tty: serial: altera_uart_{r,t}x_chars() need only uart_port
    071bb9e36327 tty: serial: clean up stop-tx part in altera_uart_tx_chars()
    d165388227aa serial: pch: Fix PCI device refcount leak in pch_request_dma()
    06c886548c03 serial: pl011: Do not clear RX FIFO & RX interrupt in unthrottle.
    965f07ea5fd1 serial: amba-pl011: avoid SBSA UART accessing DMACR register
    4f257e2eba41 usb: typec: tcpci: fix of node refcount leak in tcpci_register_port()
    af4049a2ff7b usb: typec: Check for ops->exit instead of ops->enter in altmode_exit
    a45ba33d398a staging: vme_user: Fix possible UAF in tsi148_dma_list_add
    90e227d8b48b usb: fotg210-udc: Fix ages old endianness issues
    12d20ba3ce2c uio: uio_dmem_genirq: Fix deadlock between irq config and handling
    eca77a25a7cb uio: uio_dmem_genirq: Fix missing unlock in irq configuration
    c2163ecc4873 vfio: platform: Do not pass return buffer to ACPI _RST method
    3e0efc3f3f5e class: fix possible memory leak in __class_register()
    0c44f584e387 serial: tegra: Read DMA status before terminating
    dcb26ea75d40 tty: serial: tegra: Activate RX DMA transfer by request
    da64e01da40c drivers: dio: fix possible memory leak in dio_init()
    d4bf3fcccd18 IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces
    5cc818ad53df hwrng: geode - Fix PCI device refcount leak
    1199f8e02941 hwrng: amd - Fix PCI device refcount leak
    c75ea343e4b9 crypto: img-hash - Fix variable dereferenced before check 'hdev->req'
    76a9a58a7141 orangefs: Fix sysfs not cleanup when dev init failed
    5a2028369de8 RDMA/hfi1: Fix error return code in parse_platform_config()
    7917484c9923 crypto: omap-sham - Use pm_runtime_resume_and_get() in omap_sham_probe()
    c21a09ed1e08 f2fs: avoid victim selection from previous victim section
    91f63dd62272 RDMA/nldev: Add checks for nla_nest_start() in fill_stat_counter_qps()
    6866154c23fb scsi: snic: Fix possible UAF in snic_tgt_create()
    be5f1a82ad60 scsi: fcoe: Fix transport not deattached when fcoe_if_init() fails
    eccbec017c95 scsi: ipr: Fix WARNING in ipr_init()
    c9f83544fbfc scsi: fcoe: Fix possible name leak when device_register() fails
    3c4bb9446d72 scsi: hpsa: Fix possible memory leak in hpsa_add_sas_device()
    6fac40d80691 scsi: hpsa: Fix error handling in hpsa_add_sas_host()
    d60000cb1195 scsi: mpt3sas: Fix possible resource leaks in mpt3sas_transport_port_add()
    89e3f7324a38 crypto: tcrypt - Fix multibuffer skcipher speed test mem leak
    f8fc2f186529 scsi: hpsa: Fix possible memory leak in hpsa_init_one()
    bd7106a6004f RDMA/rxe: Fix NULL-ptr-deref in rxe_qp_do_cleanup() when socket create failed
    a36c929fd78d crypto: ccree - Make cc_debugfs_global_fini() available for module init function
    895bbed5ae53 RDMA/hfi: Decrease PCI device reference count in error path
    7e68c0d09573 PCI: Check for alloc failure in pci_request_irq()
    a234815cee9e crypto: ccree - Remove debugfs when platform_driver_register failed
    ca438aa466b8 crypto: ccree - swap SHA384 and SHA512 larval hashes at build time
    263d21afbac0 scsi: scsi_debug: Fix a warning in resp_write_scat()
    b5848661f123 RDMA/siw: Set defined status for work completion with undefined status
    ad1676587c54 RDMA/nldev: Return "-EAGAIN" if the cm_id isn't from expected port
    6af043089d3f RDMA/siw: Fix immediate work request flush to completion queue
    ef6079d98f49 f2fs: fix normal discard process
    7826e4c85ed8 RDMA/core: Fix order of nldev_exit call
    3339d808b609 apparmor: Use pointer to struct aa_label for lbs_cred
    f7368ac846ae apparmor: Fix abi check to include v8 abi
    e1a68ac0154a apparmor: fix lockdep warning when removing a namespace
    eb0f78e28cbc apparmor: fix a memleak in multi_transaction_new()
    df121012e439 stmmac: fix potential division by 0
    203d604bd521 Bluetooth: RFCOMM: don't call kfree_skb() under spin_lock_irqsave()
    5e832e018288 Bluetooth: hci_core: don't call kfree_skb() under spin_lock_irqsave()
    8ae86c1ec22e Bluetooth: hci_bcsp: don't call kfree_skb() under spin_lock_irqsave()
    f36058569115 Bluetooth: hci_h5: don't call kfree_skb() under spin_lock_irqsave()
    78e76830c73a Bluetooth: hci_ll: don't call kfree_skb() under spin_lock_irqsave()
    b38b064cba7a Bluetooth: hci_qca: don't call kfree_skb() under spin_lock_irqsave()
    f6d822ce4b56 Bluetooth: btusb: don't call kfree_skb() under spin_lock_irqsave()
    a6b9e0940310 ntb_netdev: Use dev_kfree_skb_any() in interrupt context
    3f2946a54b89 net: lan9303: Fix read error execution path
    7d67e8ccfc5f can: tcan4x5x: Remove invalid write in clear_interrupts
    068672e75b08 net: amd-xgbe: Check only the minimum speed for active/passive cables
    291b9669f664 net: amd-xgbe: Fix logic around active and passive cables
    bc06c239d54c net: amd: lance: don't call dev_kfree_skb() under spin_lock_irqsave()
    1e39d57a0ec8 hamradio: don't call dev_kfree_skb() under spin_lock_irqsave()
    20dd87360543 net: ethernet: dnet: don't call dev_kfree_skb() under spin_lock_irqsave()
    3b748ba07bae net: emaclite: don't call dev_kfree_skb() under spin_lock_irqsave()
    4b8256d9bf0a net: apple: bmac: don't call dev_kfree_skb() under spin_lock_irqsave()
    bc51a3cadffc net: apple: mace: don't call dev_kfree_skb() under spin_lock_irqsave()
    303000c793f7 net/tunnel: wait until all sk_user_data reader finish before releasing the sock
    0c5f2c7700cb net: farsync: Fix kmemleak when rmmods farsync
    cf7416aa019b ethernet: s2io: don't call dev_kfree_skb() under spin_lock_irqsave()
    9ec5781879b4 of: overlay: fix null pointer dereferencing in find_dup_cset_node_entry() and find_dup_cset_prop()
    a44490abaf00 drivers: net: qlcnic: Fix potential memory leak in qlcnic_sriov_init()
    429370c40d03 net: stmmac: selftests: fix potential memleak in stmmac_test_arpoffload()
    bba527e4ec0a net: defxx: Fix missing err handling in dfx_init()
    f54731a70c8d net: vmw_vsock: vmci: Check memcpy_from_msg()
    6f2198914fb9 clk: socfpga: Fix memory leak in socfpga_gate_init()
    dbd1a4fdf5ed clk: socfpga: use clk_hw_register for a5/c5
    49513eabda46 clk: socfpga: clk-pll: Remove unused variable 'rc'
    fe783eeac48c blktrace: Fix output non-blktrace event when blk_classic option enabled
    d628d5c5b4f5 wifi: brcmfmac: Fix error return code in brcmf_sdio_download_firmware()
    1a49bba59db0 wifi: rtl8xxxu: Add __packed to struct rtl8723bu_c2h
    9e8440a65711 spi: spi-gpio: Don't set MOSI as an input if not 3WIRE mode
    a00b4e0fa273 clk: samsung: Fix memory leak in _samsung_clk_register_pll()
    7a2c66429b04 media: coda: Add check for kmalloc
    2b436f141024 media: coda: Add check for dcoda_iram_alloc
    6250bc73317a media: c8sectpfe: Add of_node_put() when breaking out of loop
    0fcee27507aa mmc: mmci: fix return value check of mmc_add_host()
    0a41ea4fd449 mmc: wbsd: fix return value check of mmc_add_host()
    f59ef2a47a22 mmc: via-sdmmc: fix return value check of mmc_add_host()
    9e11c6bb745b mmc: meson-gx: fix return value check of mmc_add_host()
    f153c9e15f89 mmc: omap_hsmmc: fix return value check of mmc_add_host()
    6bb26abb92f2 mmc: atmel-mci: fix return value check of mmc_add_host()
    c7a328cea791 mmc: wmt-sdmmc: fix return value check of mmc_add_host()
    3b29f8769d32 mmc: vub300: fix return value check of mmc_add_host()
    3dbb69a0242c mmc: toshsd: fix return value check of mmc_add_host()
    937112e991ed mmc: rtsx_usb_sdmmc: fix return value check of mmc_add_host()
    0b7b63422579 mmc: pxamci: fix return value check of mmc_add_host()
    32eb502c972d mmc: mxcmmc: fix return value check of mmc_add_host()
    b174f2b36c63 mmc: moxart: fix return value check of mmc_add_host()
    289c964fe182 mmc: alcor: fix return value check of mmc_add_host()
    e8f20523cf98 NFSv4.x: Fail client initialisation if state manager thread can't run
    f7a8a1e36ded SUNRPC: Fix missing release socket in rpc_sockname()
    bcebcb11fcbc xprtrdma: Fix regbuf data not freed in rpcrdma_req_create()
    c7e9624d90bf ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt
    6a8c0abcb502 media: saa7164: fix missing pci_disable_device()
    4cabc3af4a6f bpf, sockmap: fix race in sock_map_free()
    35593d60b162 regulator: core: fix resource leak in regulator_register()
    90c38f57a821 configfs: fix possible memory leak in configfs_create_dir()
    6dea95f64069 hsr: Avoid double remove of a node.
    de7dbee4bd4a clk: qcom: clk-krait: fix wrong div2 functions
    339ba693daaf regulator: core: fix module refcount leak in set_supply()
    46dfff91025b wifi: cfg80211: Fix not unregister reg_pdev when load_builtin_regdb_keys() fails
    624a989db916 spi: spidev: mask SPI_CS_HIGH in SPI_IOC_RD_MODE
    52fb0ffee06d bonding: uninitialized variable in bond_miimon_inspect()
    31631c2ab4a9 bpf, sockmap: Fix data loss caused by using apply_bytes on ingress redirect
    7508b9f4daac bpf, sockmap: Fix repeated calls to sock_put() when msg has more_data
    d4145d028a12 netfilter: conntrack: set icmpv6 redirects as RELATED
    27c09443ddcc ASoC: pcm512x: Fix PM disable depth imbalance in pcm512x_probe
    981024abf5fe drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios()
    470a77989037 drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios()
    190685ff4ee0 ASoC: mediatek: mt8173: Enable IRQ when pdata is ready
    0e1e311fd929 wifi: iwlwifi: mvm: fix double free on tx path.
    8b0c003e37d5 ALSA: asihpi: fix missing pci_disable_device()
    5447f1ad0bc1 NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn
    e53a7c28a428 NFSv4.2: Fix initialisation of struct nfs4_label
    b2b472bcda7b NFSv4.2: Fix a memory stomp in decode_attr_security_label
    96f3c70600a5 NFSv4.2: Clear FATTR4_WORD2_SECURITY_LABEL when done decoding
    2672977dc089 ASoC: mediatek: mtk-btcvsd: Add checks for write and read of mtk_btcvsd_snd
    d63e9eca9485 ASoC: dt-bindings: wcd9335: fix reset line polarity in example
    4ea79d074776 drm/tegra: Add missing clk_disable_unprepare() in tegra_dc_probe()
    542a87f1cfc6 media: s5p-mfc: Add variant data for MFC v7 hardware for Exynos 3250 SoC
    8b256d23361c media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer()
    9103bf21874e media: dvb-core: Fix ignored return value in dvb_register_frontend()
    3359f8d5338d pinctrl: pinconf-generic: add missing of_node_put()
    ffd53b7892c8 clk: imx: replace osc_hdmi with dummy
    aa79b53df799 clk: imx8mn: correct the usb1_ctrl parent to be usb_bus
    1d8521e1121a media: imon: fix a race condition in send_packet()
    cf9c4c25caad mtd: maps: pxa2xx-flash: fix memory leak in probe
    a7fc25159d6f bonding: fix link recovery in mode 2 when updelay is nonzero
    0879f594a7c4 bonding: Rename slave_arr to usable_slaves
    9eaeb3e460b9 bonding: Export skip slave logic to function
    26b94635f1c8 clk: rockchip: Fix memory leak in rockchip_clk_register_pll()
    96be283d10ef regulator: core: use kfree_const() to free space conditionally
    d884ed9a2f0e ALSA: seq: fix undefined behavior in bit shift for SNDRV_SEQ_FILTER_USE_EVENT
    497279199d4c ALSA: pcm: fix undefined behavior in bit shift for SNDRV_PCM_RATE_KNOT
    e6364854f5b0 HID: hid-sensor-custom: set fixed size for custom attributes
    75a5bf8eebc8 bpf: Move skb->len == 0 checks into __bpf_redirect
    61688b8819ea media: videobuf-dma-contig: use dma_mmap_coherent
    9ca9d7fd7df4 media: platform: exynos4-is: Fix error handling in fimc_md_init()
    7b02c50d3978 media: solo6x10: fix possible memory leak in solo_sysfs_init()
    f81f63168f08 Input: elants_i2c - properly handle the reset GPIO when power is off
    8eb64dc5a790 mtd: lpddr2_nvm: Fix possible null-ptr-deref
    8e51f5894df2 wifi: ath10k: Fix return value in ath10k_pci_init()
    8176538866cb ima: Fix misuse of dereference of pointer in template_desc_init_fields()
    9b7c44885a07 integrity: Fix memory leakage in keyring allocation error path
    4d3dc0de9c46 amdgpu/pm: prevent array underflow in vega20_odn_edit_dpm_table()
    d39937f8de64 regulator: core: fix unbalanced of node refcount in regulator_dev_lookup()
    a8baccb79de2 ASoC: pxa: fix null-pointer dereference in filter()
    6f13a895cef8 drm/mediatek: Modify dpi power on/off sequence.
    a0f26560be2c drm/radeon: Add the missed acpi_put_table() to fix memory leak
    832d0e19ce12 rxrpc: Fix ack.bufferSize to be 0 when generating an ack
    c9c9350d30e9 net, proc: Provide PROC_FS=n fallback for proc_create_net_single_write()
    fe443b3fe36c media: camss: Clean up received buffers on failed start of streaming
    08114dc18580 wifi: rsi: Fix handling of 802.3 EAPOL frames sent via control port
    fa0d32ab8407 mtd: Fix device name leak when register device failed in add_mtd_device()
    d70fa0a6ce74 bpf: propagate precision in ALU/ALU64 operations
    54f259906039 media: vivid: fix compose size exceed boundary
    38d48fd22403 ima: Handle -ESTALE returned by ima_filter_rule_match()
    ecd0a6f81a1a ima: Fix fall-through warnings for Clang
    55e2430e4325 ima: Rename internal filter rule functions
    0b7c47b7f358 drm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure
    3fcdc1534b4c spi: Update reference to struct spi_controller
    d87dd4528d0e clk: renesas: r9a06g032: Repair grave increment error
    a2046e5a361f can: kvaser_usb: Compare requested bittiming parameters with actual parameters in do_set_{,data}_bittiming
    7482f95315d2 can: kvaser_usb: Add struct kvaser_usb_busparams
    f3d20de76fc9 can: kvaser_usb_leaf: Fix bogus restart events
    ad63992b6488 can: kvaser_usb_leaf: Fix wrong CAN state after stopping
    920879577060 can: kvaser_usb_leaf: Fix improved state not being reported
    60ad08be78fd can: kvaser_usb_leaf: Set Warning state even without bus errors
    12d95e65f709 can: kvaser_usb: kvaser_usb_leaf: Handle CMD_ERROR_EVENT
    5779a9d0e358 can: kvaser_usb: kvaser_usb_leaf: Rename {leaf,usbcan}_cmd_error_event to {leaf,usbcan}_cmd_can_error_event
    0e56748852f1 can: kvaser_usb: kvaser_usb_leaf: Get capabilities from device
    3a9d74f33988 can: kvaser_usb: do not increase tx statistics when sending error message frames
    3f2384f09ba0 media: i2c: ad5820: Fix error path
    e8e2da03c287 pata_ipx4xx_cf: Fix unsigned comparison with less than zero
    5994e7a806a0 wifi: rtl8xxxu: Fix reading the vendor of combo chips
    988bd27de248 wifi: ath9k: hif_usb: Fix use-after-free in ath9k_hif_usb_reg_in_cb()
    9850791d389b wifi: ath9k: hif_usb: fix memory leak of urbs in ath9k_hif_usb_dealloc_tx_urbs()
    bb7397f6312d rapidio: devices: fix missing put_device in mport_cdev_open
    6a95b17e4d4c hfs: Fix OOB Write in hfs_asc2mac
    657fea0a8df0 relay: fix type mismatch when allocating memory in relay_create_buf()
    e275249e5e65 eventfd: change int to __u64 in eventfd_signal() ifndef CONFIG_EVENTFD
    311b488405ac rapidio: fix possible UAF when kfifo_alloc() fails
    7aa5325e1b50 fs: sysv: Fix sysv_nblocks() returns wrong value
    cb5859603cd1 MIPS: OCTEON: warn only once if deprecated link status is being used
    b7ca75207e4a MIPS: BCM63xx: Add check for NULL for clk in clk_enable
    14bb4bde3b7b platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]()
    11ad95912b8b PM: runtime: Do not call __rpm_callback() from rpm_idle()
    c40ee4e04b4c PM: runtime: Improve path in rpm_idle() when no callback
    4f983ee5e5de xen/privcmd: Fix a possible warning in privcmd_ioctl_mmap_resource()
    29198f667f44 x86/xen: Fix memory leak in xen_init_lock_cpu()
    ec88254208dd x86/xen: Fix memory leak in xen_smp_intr_init{_pv}()
    6e98158d97e1 xen/events: only register debug interrupt for 2-level events
    314d51053524 uprobes/x86: Allow to probe a NOP instruction with 0x66 prefix
    dfdde4d5138b ACPICA: Fix use-after-free in acpi_ut_copy_ipackage_to_ipackage()
    805665aa5295 clocksource/drivers/sh_cmt: Make sure channel clock supply is enabled
    1bbad5793f40 rapidio: rio: fix possible name leak in rio_register_mport()
    440afd7fd9b1 rapidio: fix possible name leaks when rio_add_device() fails
    7ef516888c4d ocfs2: fix memory leak in ocfs2_mount_volume()
    a4d3062f0ac7 ocfs2: rewrite error handling of ocfs2_fill_super
    227cc62e0049 ocfs2: ocfs2_mount_volume does cleanup job before return error
    5c27b46c20ec debugfs: fix error when writing negative value to atomic_t debugfs file
    c7bd49275da3 docs: fault-injection: fix non-working usage of negative values
    6865a549f261 lib/notifier-error-inject: fix error when writing -errno to debugfs file
    6fc6461672a4 libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value
    75940697c040 cpufreq: amd_freq_sensitivity: Add missing pci_dev_put()
    d25bf9af860e genirq/irqdesc: Don't try to remove non-existing sysfs files
    b4e28099cd70 nfsd: don't call nfsd_file_put from client states seqfile display
    e6e295a434d1 EDAC/i10nm: fix refcount leak in pci_get_dev_wrapper()
    d5c06dba4612 irqchip: gic-pm: Use pm_runtime_resume_and_get() in gic_probe()
    e293263248f2 perf/x86/intel/uncore: Fix reference count leak in hswep_has_limit_sbox()
    81b024df4755 PNP: fix name memory leak in pnp_alloc_dev()
    821afb8c89c0 selftests/efivarfs: Add checking of the test return value
    c0b8cff0146b MIPS: vpe-cmp: fix possible memory leak while module exiting
    b3325a443525 MIPS: vpe-mt: fix possible memory leak while module exiting
    7c8bf45cea9c ocfs2: fix memory leak in ocfs2_stack_glue_init()
    e039929e3681 lib/fonts: fix undefined behavior in bit shift for get_default_font
    160d6d6f1479 proc: fixup uptime selftest
    d7b9e43a5c57 timerqueue: Use rb_entry_safe() in timerqueue_getnext()
    248fa44cde6d perf: Fix possible memleak in pmu_dev_alloc()
    044ede4c38ee selftests/ftrace: event_triggers: wait longer for test_event_enable
    8511186f10a4 fs: don't audit the capability check in simple_xattr_list()
    c907c55dc7a5 PM: hibernate: Fix mistake in kerneldoc comment
    f0ff6c60bc82 alpha: fix syscall entry in !AUDUT_SYSCALL case
    1399ce344ee8 cpuidle: dt: Return the correct numbers of parsed idle states
    082b55fe9fc6 tpm/tpm_crb: Fix error message in __crb_relinquish_locality()
    4d3126f242a0 pstore: Avoid kcore oops by vmap()ing with VM_IOREMAP
    e2516652da3f ARM: mmp: fix timer_read delay
    2de791ff6f80 pstore/ram: Fix error return code in ramoops_probe()
    ded1b827164f arm64: dts: armada-3720-turris-mox: Add missing interrupt for RTC
    03a666631aa4 ARM: dts: turris-omnia: Add switch port 6 node
    fe1fc4d84d2a ARM: dts: turris-omnia: Add ethernet aliases
    b20454ea05f6 ARM: dts: armada-39x: Fix assigned-addresses for every PCIe Root Port
    1b7017211ecc ARM: dts: armada-38x: Fix assigned-addresses for every PCIe Root Port
    87b951b7c2e5 ARM: dts: armada-375: Fix assigned-addresses for every PCIe Root Port
    e3cf3f7a6d54 ARM: dts: armada-xp: Fix assigned-addresses for every PCIe Root Port
    e302758caf72 ARM: dts: armada-370: Fix assigned-addresses for every PCIe Root Port
    0a8544b7236f ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port
    f707c3fee2e0 arm64: dts: mediatek: mt6797: Fix 26M oscillator unit name
    fdf511fc076d arm64: dts: mt2712-evb: Fix usb vbus regulators unit names
    06fbfc5f4374 arm64: dts: mt2712-evb: Fix vproc fixed regulators unit names
    f0c1f46e4975 arm64: dts: mt2712e: Fix unit address for pinctrl node
    aaabd7e3e4aa arm64: dts: mt2712e: Fix unit_address_vs_reg warning for oscillators
    d69bdb61d577 perf/smmuv3: Fix hotplug callback leak in arm_smmu_pmu_init()
    af2256d7784f perf: arm_dsu: Fix hotplug callback leak in dsu_pmu_init()
    1e9186d628d3 soc: ti: smartreflex: Fix PM disable depth imbalance in omap_sr_probe
    83cfc38091ed soc: ti: knav_qmss_queue: Fix PM disable depth imbalance in knav_queue_probe
    5f07c85ca107 soc: ti: knav_qmss_queue: Use pm_runtime_resume_and_get instead of pm_runtime_get_sync
    f5c521195e49 arm: dts: spear600: Fix clcd interrupt
    3a90edbab8d1 drivers: soc: ti: knav_qmss_queue: Mark knav_acc_firmwares as static
    3459e05ad32b arm64: dts: qcom: sdm845-cheza: fix AP suspend pin bias
    6a24277840dd ARM: dts: qcom: apq8064: fix coresight compatible
    1a19212a711e usb: musb: remove extra check in musb_gadget_vbus_draw
    40075e797577 net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
    9fdc79b57143 Bluetooth: L2CAP: Fix u8 overflow
    77d5e6f260ac HID: uclogic: Add HID_QUIRK_HIDINPUT_FORCE quirk
    c05a7fa01020 HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch V 10
    d535a33e83a0 HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch 10E
    7346b2529fed HID: ite: Add support for Acer S1002 keyboard-dock
    2d91b7a0b0e8 xen-netback: move removal of "hotplug-status" to the right place
    c581439a9775 igb: Initialize mailbox message for VF reset
    50aa193a4bf4 USB: serial: f81534: fix division by zero on line-speed change
    0d6bf63eb3ec USB: serial: f81232: fix division by zero on line-speed change
    fe0f214385d4 USB: serial: cp210x: add Kamstrup RF sniffer PIDs
    d48767065423 USB: serial: option: add Quectel EM05-G modem
    b8fb1cba934e usb: gadget: uvc: Prevent buffer overflow in setup handler
    2610c2e59c66 udf: Fix extending file within last block
    ade1726d8c2c udf: Do not bother looking for prealloc extents if i_lenExtents matches i_size
    4d835efd561d udf: Fix preallocation discarding at indirect extent boundary
    0905c78f623e udf: Discard preallocation before extending file with a hole
    0758b5069294 tracing/ring-buffer: Only do full wait when cpu != RING_BUFFER_ALL_CPUS

(From OE-Core rev: 2861fb021aa16483fd6c5e91017b380dac33d2b3)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Steve Sakoman
8d7596c0eb lttng-modules: fix build with 5.4.229 kernel
Fixes:

In file included from TOPDIR/tmp/work/qemuarm-poky-linux-gnueabi/lttng-modules/2.11.6-r0/lttng-modules-2.11.6/probes/../probes/define_trace.h:87,
                 from TOPDIR/tmp/work/qemuarm-poky-linux-gnueabi/lttng-modules/2.11.6-r0/lttng-modules-2.11.6/probes/../instrumentation/events/lttng-module/jbd2.h:183,
                 from TOPDIR/tmp/work/qemuarm-poky-linux-gnueabi/lttng-modules/2.11.6-r0/lttng-modules-2.11.6/probes/lttng-probe-jbd2.c:29:
TOPDIR/tmp/work/qemuarm-poky-linux-gnueabi/lttng-modules/2.11.6-r0/lttng-modules-2.11.6/probes/../probes/lttng-tracepoint-event-impl.h:130:6: error: conflicting types for 'trace_jbd2_run_stats'
  130 | void trace_##_name(_proto);
      |      ^~~~~~
TOPDIR/tmp/work/qemuarm-poky-linux-gnueabi/lttng-modules/2.11.6-r0/lttng-modules-2.11.6/probes/../probes/lttng-tracepoint-event-impl.h:42:2: note: in expansion of macro 'LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP'
   42 |  LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TOPDIR/tmp/work/qemuarm-poky-linux-gnueabi/lttng-modules/2.11.6-r0/lttng-modules-2.11.6/probes/../probes/lttng-tracepoint-event-impl.h:84:2: note: in expansion of macro 'LTTNG_TRACEPOINT_EVENT_MAP'
   84 |  LTTNG_TRACEPOINT_EVENT_MAP(name, name,    \
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
TOPDIR/tmp/work/qemuarm-poky-linux-gnueabi/lttng-modules/2.11.6-r0/lttng-modules-2.11.6/probes/../instrumentation/events/lttng-module/jbd2.h:107:1: note: in expansion of macro 'LTTNG_TRACEPOINT_EVENT'
  107 | LTTNG_TRACEPOINT_EVENT(jbd2_run_stats,
      | ^~~~~~~~~~~~~~~~~~~~~~
In file included from TOPDIR/tmp/work-shared/qemuarm/kernel-source/include/trace/events/jbd2.h:9,
                 from TOPDIR/tmp/work/qemuarm-poky-linux-gnueabi/lttng-modules/2.11.6-r0/lttng-modules-2.11.6/probes/lttng-probe-jbd2.c:18:
TOPDIR/tmp/work-shared/qemuarm/kernel-source/include/linux/tracepoint.h:243:21: note: previous definition of 'trace_jbd2_run_stats' was here
  243 |  static inline void trace_##name(proto)    \
      |                     ^~~~~~
TOPDIR/tmp/work-shared/qemuarm/kernel-source/include/linux/tracepoint.h:406:2: note: in expansion of macro '__DECLARE_TRACE'
  406 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
TOPDIR/tmp/work-shared/qemuarm/kernel-source/include/linux/tracepoint.h:542:2: note: in expansion of macro 'DECLARE_TRACE'
  542 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
TOPDIR/tmp/work-shared/qemuarm/kernel-source/include/trace/events/jbd2.h:234:1: note: in expansion of macro 'TRACE_EVENT'
  234 | TRACE_EVENT(jbd2_run_stats,
      | ^~~~~~~~~~~
  CC [M]  TOPDIR/tmp/work/qemuarm-poky-linux-gnueabi/lttng-modules/2.11.6-r0/lttng-modules-2.11.6/probes/lttng-probe-ext4.o

Backport from upstream master branch fixes:

b28830a0dc
4fd2615b87
612c99eb24

Note that master branch upstream has restructured the location of header files, so the patches
do not apply cleanly.  This patch combines the changes in the above commits in the old header location.

(From OE-Core rev: 520d957e14be77f73c82a295f685d189381d8f72)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Steve Sakoman
b952c3f07a lttng-modules: update 2.11.8 -> 2.11.9
2021-05-14 (National Dance Like a Chicken Day) LTTng modules 2.11.9
	* fix: adjust ranges for RHEL 8.2 and 8.3
	* Sync `show_inode_state()` macro with upstream stable kernels
	* fix: block: remove disk_part_iter (v5.12)
	* Fix: Backport of "Fix: increment buffer offset when failing to copy from user-space"
	* Fix: increment buffer offset when failing to copy from user-space
	* Sync `show_inode_state()` macro with Ubuntu 4.15 kernel
	* fix: mm, tracing: kfree event name mismatching with provider kmem (v5.12)
	* Set 'stable-2.11' branch in git review config
	* fix backport: block: add a disk_uevent helper (v5.12)
	* fix: Adjust ranges for Ubuntu 5.4.0-67 kernel
	* fix: block: add a disk_uevent helper (v5.12)
	* Fix: properly compare type enumeration
	* compiler warning cleanup: is_signed_type: compare -1 to 1
	* Fix: bytecode linker: validate event and field array/sequence encoding
	* Fix: kretprobe: null ptr deref on session destroy
	* fix: mm, tracing: record slab name for kmem_cache_free() (v5.12)
	* Fix: filter interpreter early-exits on uninitialized value
	* Fix: memory leaks on event destroy

(From OE-Core rev: 146cc298e9dcb9ea7fe54669899accafee123e46)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Steve Sakoman
560a0ba359 lttng-modules: update 2.11.7 -> 2.11.8
2021-02-17 (Random Act of Kindness Day) LTTng modules 2.11.8
	* fix: Adjust ranges for Ubuntu 5.8.0-44 kernel
	* Fix: do not use bdi_unknown_name symbol
	* fix: memcg: fix a crash in wb_workfn when a device disappears (5.6)
	* Fix: writeback: out-of-bound reads
	* fix: Add one digit to RHEL major release version
	* fix: Add one digit to SLES minor release version
	* fix: RT_PATCH_VERSION is close to overflow
	* fix: cast LTTNG_KERNEL_VERSION/LTTNG_LINUX_VERSION_CODE to uint64_t
	* fix: UTS_UBUNTU_RELEASE_ABI is close to overflow
	* fix: sublevel version overflow in LINUX_VERSION_CODE
	* Namespace kernel version macros
	* aarch64: blacklist gcc prior to 5.1
	* fix: missing include for 'task_struct' in fdtable.h
	* fix: genirq: Restrict export of irq_to_desc() (v5.11)
	* fix: block: merge struct block_device and struct hd_struct (v5.11)
	* fix: kprobes: Remove kretprobe hash (v5.11)
	* fix: file: Rename fcheck lookup_fd_rcu (v5.11)
	* fix: block: remove the request_queue argument to the block_bio_remap tracepoint (v5.11)
	* fix: block: remove the request_queue argument to the block_split tracepoint (v5.11)
	* fix: block: simplify and extend the block_bio_merge tracepoint class (v5.11)
	* fix: block: remove the request_queue to argument request based tracepoints (v5.11)

(From OE-Core rev: fa1056f62017ea764b494c41cc7cdaefe0a80fb6)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Steve Sakoman
fb8372aa70 lttng-modules: update 2.11.6 -> 2.11.7
2021-01-11 (National Clean Off Your Desk Day) LTTng modules 2.11.7
	* fix: adjust version range for trace_find_free_extent()
	* fix: backport of fix: tracepoint: Optimize using static_call() (v5.10)
	* Revert "fix: include order for older kernels"
	* fix: backport of fix: ext4: fast commit recovery path (v5.10)
	* Improve the release script
	* Add release maintainer script
	* fix: include order for older kernels
	* fix: tracepoint: Optimize using static_call() (v5.10)
	* fix: KVM: x86/mmu: Return unique RET_PF_* values if the fault was fixed (v5.10)
	* fix: kvm: x86/mmu: Add TDP MMU PF handler (v5.10)
	* fix: KVM: x86: Add intr/vectoring info and error code to kvm_exit tracepoint (v5.10)
	* fix: ext4: fast commit recovery path (v5.10)
	* fix: btrfs: make ordered extent tracepoint take btrfs_inode (v5.10)
	* fix: btrfs: tracepoints: output proper root owner for trace_find_free_extent() (v5.10)
	* fix: objtool: Rename frame.h -> objtool.h (v5.10)
	* fix: strncpy equals destination size warning

Remove patches now included in 2.11.7

(From OE-Core rev: f3c18d4eda42debf40dcd7de02b2f761c476dcca)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Ranjitsinh Rathod
4f6333a564 libsdl2: Add fix for CVE-2022-4743
Add a patch to fix CVE-2022-4743 security issue "A potential memory leak
issue was discovered in SDL2 in GLES_CreateTexture() function in
SDL_render_gles.c. The vulnerability allows an attacker to cause a
denial of service attack. The vulnerability affects SDL2 v2.0.4 and
above. SDL-1.x are not affected." as per NVD

(From OE-Core rev: f40ad856e814366c2d3588001dea1e0df7a3fed6)

Signed-off-by: Ranjitsinh Rathod <ranjitsinh.rathod@kpit.com>
Signed-off-by: Ranjitsinh Rathod <ranjitsinhrathod1991@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Vivek Kumbhar
262f47eff8 go: fix CVE-2022-1962 go/parser stack exhaustion in all Parse* functions
(From OE-Core rev: 3126830360ca431fb5eecf3d1e5fde7e928b1365)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Steve Sakoman
82af51171e python3: fix packaging of Windows distutils installer stubs
The python3 Windows distutils installer stubs were split into a separate package
in poky commit dc1ab6482c. This has regressed
during the upgrade to Python 3.8.2 in yocto-3.1

[YOCTO #13889]

https://bugzilla.yoctoproject.org/show_bug.cgi?id=13889

(From OE-Core rev: 4f069121ddb99bb6e2f186724cd60ca07f74f503)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Alexander Kanavin
2d6b838a3a selftest/virgl: use pkg-config from the host
The check needs to report dri location on the host machine,
so pkg-config binary needs to be capable of finding the needed
dri.pc file on the host, and therefore needs to know where
host .pc files are located.

This may not be the case when using pkg-config from buildtools,
so this forces usage of host pkg-config.

runqemu already does the same PATH tweak, so this simply brings
the two in sync.

(From OE-Core rev: b2e06c9cf88b4d48e36d845a3cfabf4f3668d605)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit f0521f8a3ba7e15482756529ee7b0a95b3d53e7d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Benoît Mauduit
97f9525f2f lib/oe/reproducible: Use git log without gpg signature
Previously, if "showSignature" is present in user gitconfig, parsing
of the timestamp will fail.

Ideally we should replace this command with a git plumbing command.

(From OE-Core rev: e872f6636f4cb51426edc6c985e58d2fb74e0f96)

Signed-off-by: Benoît Mauduit <bmauduit@beneth.fr>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 3bd6f78f79b3d3e87d8db1e11f58d8021f929843)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Jan Kircher
c28f0905a2 toolchain-scripts: compatibility with unbound variable protection
Fixed an error when Bash's unbound variable protection is enabled (set -u) and variable "LD_LIBRARY_PATH" does not exist.

(From OE-Core rev: 2c7309eea616ec88338d508bc9f284e3bd44f5a1)

Signed-off-by: Jan Kircher <openembedded@hetsh.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 85685370b0ad93291cda59fb091a15eeecf5e0d5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Niko Mauno
a8de3a2233 systemd: Consider PACKAGECONFIG in RRECOMMENDS
Since RRECOMMENDS declaration implictly induces building the recipes
that provide the runtime recommended packages, conditionalize adding
such values according to associated PACKAGECONFIG settings in order
to avoid redundant building.

(From OE-Core rev: a1989add927f7805378fe4d5afbde780b747ba77)

(From OE-Core rev: a35444fa035d551b6a4dcb9609ab8de960258618)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.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>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Randy MacLeod
c611f71574 vim: upgrade 9.0.0947 -> 9.0.1211
Includes fixes for:
   https://nvd.nist.gov/vuln/detail/CVE-2023-0049
   https://nvd.nist.gov/vuln/detail/CVE-2023-0051
   https://nvd.nist.gov/vuln/detail/CVE-2023-0054
   https://nvd.nist.gov/vuln/detail/CVE-2023-0288

(From OE-Core rev: ac7c32ee2c3624052c2a22aa66758c4ab4d9f5c5)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1c51068c78d12ee02789a6dbecf5e7e91d141af5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Alexander Kanavin
c8149df17e linux-firmware: upgrade 20221109 -> 20221214
License-Update: additional files

(From OE-Core rev: 5b56a80e29aacf3b5fc8da027a137b9cf1da102b)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 15f3a9f6c4406ddc00f7dc0ca7e1beafe9c71a9f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Hitendra Prajapati
40bfc5ff44 xserver-xorg: Fix Multiple CVEs
CVE-2022-4283: xkb: reset the radio_groups pointer to NULL after freeing it
Upstream-Status: Backport from ccdd431cd8

CVE-2022-46340: Xtest: disallow GenericEvents in XTestSwapFakeInput
Upstream-Status: Backport from b320ca0ffe

CVE-2022-46341: Xi: disallow passive grabs with a detail > 255
Upstream-Status: Backport from 51eb63b0ee

CVE-2022-46342: Xext: free the XvRTVideoNotify when turning off from the same client
Upstream-Status: Backport from b79f32b57c

CVE-2022-46343: Xext: free the screen saver resource when replacing it
Upstream-Status: Backport from 842ca3ccef

CVE-2022-46344: Xi: avoid integer truncation in length check of ProcXIChangeProperty
Upstream-Status: Backport from 8f454b793e

(From OE-Core rev: dcc597d52a579fca44581ebd81b4a15fa56456fe)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Bhabu Bindu
e3af3f6915 ffmpeg: Fix CVE-2022-3109
Add patch to fix CVE-2022-3109

Link: 656cb0450a

(From OE-Core rev: a626228a4be4c52c9d3f43eb1756c1defc22a5e4)

Signed-off-by: Bhabu Bindu <bhabu.bindu@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Quentin Schulz
6c3fc7df68 cairo: fix CVE patches assigned wrong CVE number
CVE-2019-6461 and CVE-2019-6462 are fixed, but the reporting is
incorrect as the patch for CVE-2019-6461 is actually for CVE-2019-6462
and vice-versa.

This swaps both files and edit the CVE field to report the correct
identifier.

Cc: Quentin Schulz <foss+yocto@0leil.net>
(From OE-Core rev: 8b1f40639c16286937f04b9b50cef3d759bf442e)

Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f12c2a5ac94cb29f473f3c7e335463c7fb6d8a6e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Jermain Horsman
113f05b50e cve-check: write the cve manifest to IMGDEPLOYDIR
When building an image cve_check_write_rootfs_manifest() would sometimes fail
with a FileNotFoundError when writing the manifest.cve due to the parent
directory (DEPLOY_DIR_IMAGE) not (yet) existing.

The image task will provide the manifest in the deploy directory afterwards,
so other recipes depending on the manifest being in DEPLOY_DIR_IMAGE should
continue to function properly.

(From OE-Core rev: c25a5c5f6fede29893a2ac1502216e9deccfa6c3)

Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 00fb2aae22ce0d7ff5f3f8766fa770eeb4e73483)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Ross Burton
c7fafc86a1 cve-update-db-native: show IP on failure
We get random SSL failures when fetching the CVE database, and it's
notable that the NVD server is behind a DNS round-robin or geographically
diverse servers.

On a hunch that there is one misconfigured server, dump the IP that we
connected to.

(From OE-Core rev: 48c0e427675f4c99c395cc0a75743ac70eb64802)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 91f46d431dc8f40e8c6475c800bb61cb08b82b0a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Marta Rybczynska
a4eed21341 cve-update-db-native: avoid incomplete updates
The database update has been done on the original file. In case of
network connection issues, temporary outage of the NVD server or
a similar situation, the function could exit with incomplete data
in the database. This patch solves the issue by performing the update
on a copy of the database. It replaces the main one only if the whole
update was successful.

See https://bugzilla.yoctoproject.org/show_bug.cgi?id=14929

Reported-by: Alberto Pianon <alberto@pianon.eu>
(From OE-Core rev: 6a219c50ee12b7fb584e2db3e4dde171903acfb7)

Signed-off-by: Marta Rybczynska <marta.rybczynska@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8efe99214d8b005f0ecac690ce5ba17b31758f92)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Ross Burton
4d69f69082 cve-update-db-native: add more logging when fetching
Add some debug logging when fetching the CVE data.

(From OE-Core rev: 60fa8135437ab1e2bc7cead5f838ac787c8dab26)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9b230584664873af2ab453b8153b1ad276d3b0af)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
jan
accc5ad750 cve-update-db-native: Allow to overrule the URL in a bbappend.
With this small patch, it's possible to overrule the public
URL with a local mirror for those without Internet access.

(From OE-Core rev: 7290b3217c31cec7dd9985cbf5a003a9c368fa54)

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2d903126e8bbece3a5171c3488c3deae1f0aa3ee)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-13 07:44:09 +00:00
Steve Sakoman
b93a3fcbcd documentation: update for 3.1.23
(From yocto-docs rev: 28f22e068aaf9598ac3426b35b6655102852590d)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-08 14:44:33 +00:00
Ross Burton
7d78d5f6e9 bitbake: bb/utils: include SSL certificate paths in export_proxies
bb.utils.export_proxies() is a poor-man's alternative for the
environment setup code in bb/fetch2, but it's used in several places
where recipes want to download manually (such as cve-update-db-native).

Notably, export_proxies() doesn't pass on the SSL certificate paths from
the original environment, so if SSL_CERT_FILE needs to be set (for
example, in a buildtools environment) then proxies work but SSL doesn't.

In an ideal world export_proxies and the same logic in fetch2 would
merge, but until then we can add the SSL_CERT_ variables and duplicate
the basic logic: check the datastore first and then the original
environment for variables.

[ YOCTO #15000 ]

(Bitbake rev: c16d364dbf68d2a500fecaf8d6e6d62b11475d9f)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c19035e8e71c419c5688a86bfc9c946c96f638e8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-06 23:42:55 +00:00
55 changed files with 1167 additions and 1702 deletions

View File

@@ -405,8 +405,8 @@ This fetcher supports the following parameters:
- *"nobranch":* Tells the fetcher to not check the SHA validation for
the branch when set to "1". The default is "0". Set this option for
the recipe that refers to the commit that is valid for a tag instead
of the branch.
the recipe that refers to the commit that is valid for any namespace
(branch, tag, ...) instead of the branch.
- *"bareclone":* Tells the fetcher to clone a bare clone into the
destination directory without checking out a working tree. Only the

View File

@@ -44,7 +44,8 @@ Supported SRC_URI options are:
- nobranch
Don't check the SHA validation for branch. set this option for the recipe
referring to commit which is valid in tag instead of branch.
referring to commit which is valid in any namespace (branch, tag, ...)
instead of branch.
The default is "0", set nobranch=1 if needed.
- usehead
@@ -63,6 +64,7 @@ import errno
import fnmatch
import os
import re
import shlex
import subprocess
import tempfile
import bb
@@ -352,7 +354,7 @@ class Git(FetchMethod):
# We do this since git will use a "-l" option automatically for local urls where possible
if repourl.startswith("file://"):
repourl = repourl[7:]
clone_cmd = "LANG=C %s clone --bare --mirror \"%s\" %s --progress" % (ud.basecmd, repourl, ud.clonedir)
clone_cmd = "LANG=C %s clone --bare --mirror %s %s --progress" % (ud.basecmd, shlex.quote(repourl), ud.clonedir)
if ud.proto.lower() != 'file':
bb.fetch2.check_network_access(d, clone_cmd, ud.url)
progresshandler = GitProgressHandler(d)
@@ -364,8 +366,12 @@ class Git(FetchMethod):
if "origin" in output:
runfetchcmd("%s remote rm origin" % ud.basecmd, d, workdir=ud.clonedir)
runfetchcmd("%s remote add --mirror=fetch origin \"%s\"" % (ud.basecmd, repourl), d, workdir=ud.clonedir)
fetch_cmd = "LANG=C %s fetch -f --progress \"%s\" refs/*:refs/*" % (ud.basecmd, repourl)
runfetchcmd("%s remote add --mirror=fetch origin %s" % (ud.basecmd, shlex.quote(repourl)), d, workdir=ud.clonedir)
if ud.nobranch:
fetch_cmd = "LANG=C %s fetch -f --progress %s refs/*:refs/*" % (ud.basecmd, shlex.quote(repourl))
else:
fetch_cmd = "LANG=C %s fetch -f --progress %s refs/heads/*:refs/heads/* refs/tags/*:refs/tags/*" % (ud.basecmd, shlex.quote(repourl))
if ud.proto.lower() != 'file':
bb.fetch2.check_network_access(d, fetch_cmd, ud.url)
progresshandler = GitProgressHandler(d)
@@ -559,7 +565,7 @@ class Git(FetchMethod):
raise bb.fetch2.UnpackError("No up to date source found: " + "; ".join(source_error), ud.url)
repourl = self._get_repo_url(ud)
runfetchcmd("%s remote set-url origin \"%s\"" % (ud.basecmd, repourl), d, workdir=destdir)
runfetchcmd("%s remote set-url origin %s" % (ud.basecmd, shlex.quote(repourl)), d, workdir=destdir)
if self._contains_lfs(ud, d, destdir):
if need_lfs and not self._find_git_lfs(d):
@@ -687,8 +693,8 @@ class Git(FetchMethod):
d.setVar('_BB_GIT_IN_LSREMOTE', '1')
try:
repourl = self._get_repo_url(ud)
cmd = "%s ls-remote \"%s\" %s" % \
(ud.basecmd, repourl, search)
cmd = "%s ls-remote %s %s" % \
(ud.basecmd, shlex.quote(repourl), search)
if ud.proto.lower() != 'file':
bb.fetch2.check_network_access(d, cmd, repourl)
output = runfetchcmd(cmd, d, True)

View File

@@ -1570,21 +1570,22 @@ def set_process_name(name):
# export common proxies variables from datastore to environment
def export_proxies(d):
import os
""" export common proxies variables from datastore to environment """
variables = ['http_proxy', 'HTTP_PROXY', 'https_proxy', 'HTTPS_PROXY',
'ftp_proxy', 'FTP_PROXY', 'no_proxy', 'NO_PROXY',
'GIT_PROXY_COMMAND']
'GIT_PROXY_COMMAND', 'SSL_CERT_FILE', 'SSL_CERT_DIR']
exported = False
for v in variables:
if v in os.environ.keys():
origenv = d.getVar("BB_ORIGENV")
for name in variables:
value = d.getVar(name)
if not value and origenv:
value = origenv.getVar(name)
if value:
os.environ[name] = value
exported = True
else:
v_proxy = d.getVar(v)
if v_proxy is not None:
os.environ[v] = v_proxy
exported = True
return exported

View File

@@ -1,13 +1,13 @@
DISTRO : "3.1.22"
DISTRO : "3.1.23"
DISTRO_NAME_NO_CAP : "dunfell"
DISTRO_NAME : "Dunfell"
DISTRO_NAME_NO_CAP_MINUS_ONE : "zeus"
YOCTO_DOC_VERSION : "3.1.22"
YOCTO_DOC_VERSION : "3.1.23"
YOCTO_DOC_VERSION_MINUS_ONE : "3.0.4"
DISTRO_REL_TAG : "yocto-3.1.22"
DOCCONF_VERSION : "3.1.22"
DISTRO_REL_TAG : "yocto-3.1.23"
DOCCONF_VERSION : "3.1.23"
BITBAKE_SERIES : "1.46"
POKYVERSION : "23.0.22"
POKYVERSION : "23.0.23"
YOCTO_POKY : "poky-&DISTRO_NAME_NO_CAP;-&POKYVERSION;"
YOCTO_DL_URL : "https://downloads.yoctoproject.org"
YOCTO_AB_URL : "https://autobuilder.yoctoproject.org"

View File

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

View File

@@ -42,8 +42,8 @@ CVE_CHECK_LOG_JSON ?= "${T}/cve.json"
CVE_CHECK_DIR ??= "${DEPLOY_DIR}/cve"
CVE_CHECK_RECIPE_FILE ?= "${CVE_CHECK_DIR}/${PN}"
CVE_CHECK_RECIPE_FILE_JSON ?= "${CVE_CHECK_DIR}/${PN}_cve.json"
CVE_CHECK_MANIFEST ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cve"
CVE_CHECK_MANIFEST_JSON ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.json"
CVE_CHECK_MANIFEST ?= "${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cve"
CVE_CHECK_MANIFEST_JSON ?= "${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.json"
CVE_CHECK_COPY_FILES ??= "1"
CVE_CHECK_CREATE_MANIFEST ??= "1"
@@ -195,7 +195,7 @@ python cve_check_write_rootfs_manifest () {
recipies.add(pkg_data["PN"])
bb.note("Writing rootfs CVE manifest")
deploy_dir = d.getVar("DEPLOY_DIR_IMAGE")
deploy_dir = d.getVar("IMGDEPLOYDIR")
link_name = d.getVar("IMAGE_LINK_NAME")
json_data = {"version":"1", "package": []}

View File

@@ -225,7 +225,7 @@ def srctree_hash_files(d, srcdir=None):
env['GIT_INDEX_FILE'] = tmp_index.name
subprocess.check_output(['git', 'add', '-A', '.'], cwd=s_dir, env=env)
git_sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8")
if os.path.exists(os.path.join(s_dir, ".gitmodules")):
if os.path.exists(os.path.join(s_dir, ".gitmodules")) and os.path.getsize(os.path.join(s_dir, ".gitmodules")) > 0:
submodule_helper = subprocess.check_output(["git", "config", "--file", ".gitmodules", "--get-regexp", "path"], cwd=s_dir, env=env).decode("utf-8")
for line in submodule_helper.splitlines():
module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1])

View File

@@ -117,7 +117,7 @@ python write_host_sdk_ext_manifest () {
f.write("%s %s %s\n" % (info[1], info[2], info[3]))
}
SDK_POSTPROCESS_COMMAND_append_task-populate-sdk-ext = "write_target_sdk_ext_manifest; write_host_sdk_ext_manifest; "
SDK_POSTPROCESS_COMMAND_append_task-populate-sdk-ext = " write_target_sdk_ext_manifest; write_host_sdk_ext_manifest; "
SDK_TITLE_task-populate-sdk-ext = "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} Extensible SDK"

View File

@@ -29,7 +29,7 @@ toolchain_create_sdk_env_script () {
echo '# http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html#AEN80' >> $script
echo '# http://xahlee.info/UnixResource_dir/_/ldpath.html' >> $script
echo '# Only disable this check if you are absolutely know what you are doing!' >> $script
echo 'if [ ! -z "$LD_LIBRARY_PATH" ]; then' >> $script
echo 'if [ ! -z "${LD_LIBRARY_PATH:-}" ]; then' >> $script
echo " echo \"Your environment is misconfigured, you probably need to 'unset LD_LIBRARY_PATH'\"" >> $script
echo " echo \"but please check why this was set in the first place and that it's safe to unset.\"" >> $script
echo ' echo "The SDK will not operate correctly in most cases when LD_LIBRARY_PATH is set."' >> $script

View File

@@ -62,7 +62,8 @@ def get_source_date_epoch_from_git(d, sourcedir):
return None
bb.debug(1, "git repository: %s" % gitpath)
p = subprocess.run(['git', '--git-dir', gitpath, 'log', '-1', '--pretty=%ct'], check=True, stdout=subprocess.PIPE)
p = subprocess.run(['git', '-c', 'log.showSignature=false', '--git-dir', gitpath, 'log', '-1', '--pretty=%ct'],
check=True, stdout=subprocess.PIPE)
return int(p.stdout.decode('utf-8'))
def get_source_date_epoch_from_youngest_file(d, sourcedir):

View File

@@ -236,7 +236,7 @@ class TestImage(OESelftestTestCase):
except FileNotFoundError:
self.skipTest("/dev/dri directory does not exist; no render nodes available on this machine.")
try:
dripath = subprocess.check_output("pkg-config --variable=dridriverdir dri", shell=True)
dripath = subprocess.check_output("PATH=/bin:/usr/bin:$PATH pkg-config --variable=dridriverdir dri", shell=True)
except subprocess.CalledProcessError as e:
self.skipTest("Could not determine the path to dri drivers on the host via pkg-config.\nPlease install Mesa development files (particularly, dri.pc) on the host machine.")
qemu_packageconfig = get_bb_var('PACKAGECONFIG', 'qemu-system-native')

View File

@@ -24,7 +24,7 @@ IMAGE_FSTYPES = "wic.vmdk"
inherit core-image setuptools3
SRCREV ?= "f1292a552f33a329ff27bbdea4c90250908d6301"
SRCREV ?= "f5e8301b203715404d18215d7d914499555b3425"
SRC_URI = "git://git.yoctoproject.org/poky;branch=dunfell \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \

View File

@@ -19,6 +19,9 @@ CVE_DB_UPDATE_INTERVAL ?= "86400"
# Timeout for blocking socket operations, such as the connection attempt.
CVE_SOCKET_TIMEOUT ?= "60"
NVDCVE_URL ?= "https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-"
CVE_DB_TEMP_FILE ?= "${CVE_CHECK_DB_DIR}/temp_nvdcve_1.1.db"
python () {
if not bb.data.inherits_class("cve-check", d):
@@ -31,26 +34,15 @@ python do_fetch() {
"""
import bb.utils
import bb.progress
import sqlite3, urllib, urllib.parse, shutil, gzip
from datetime import date
import shutil
bb.utils.export_proxies(d)
BASE_URL = "https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-"
YEAR_START = 2002
db_file = d.getVar("CVE_CHECK_DB_FILE")
db_dir = os.path.dirname(db_file)
db_tmp_file = d.getVar("CVE_DB_TEMP_FILE")
cve_socket_timeout = int(d.getVar("CVE_SOCKET_TIMEOUT"))
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)
cleanup_db_download(db_file, db_tmp_file)
# The NVD database changes once a day, so no need to update more frequently
# Allow the user to force-update
@@ -67,16 +59,68 @@ python do_fetch() {
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) == True:
# Update downloaded correctly, can swap files
shutil.move(db_tmp_file, db_file)
else:
# Update failed, do not modify the database
bb.note("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 update_db_file(db_tmp_file, d):
"""
Update the given database file
"""
import bb.utils, bb.progress
from datetime import date
import urllib, gzip, sqlite3
YEAR_START = 2002
cve_socket_timeout = int(d.getVar("CVE_SOCKET_TIMEOUT"))
# Connect to database
conn = sqlite3.connect(db_file)
conn = sqlite3.connect(db_tmp_file)
initialize_db(conn)
with bb.progress.ProgressHandler(d) as ph, open(os.path.join(d.getVar("TMPDIR"), 'cve_check'), 'a') as cve_f:
total_years = date.today().year + 1 - YEAR_START
for i, year in enumerate(range(YEAR_START, date.today().year + 1)):
bb.debug(2, "Updating %d" % year)
ph.update((float(i + 1) / total_years) * 100)
year_url = BASE_URL + str(year)
year_url = (d.getVar('NVDCVE_URL')) + str(year)
meta_url = year_url + ".meta"
json_url = year_url + ".json.gz"
@@ -85,8 +129,11 @@ python do_fetch() {
response = urllib.request.urlopen(meta_url, timeout=cve_socket_timeout)
except urllib.error.URLError as e:
cve_f.write('Warning: CVE db update error, Unable to fetch CVE data.\n\n')
bb.warn("Failed to fetch CVE data (%s)" % e.reason)
return
bb.warn("Failed to fetch CVE data (%s)" % e)
import socket
result = socket.getaddrinfo("nvd.nist.gov", 443, proto=socket.IPPROTO_TCP)
bb.warn("Host IPs are %s" % (", ".join(t[4][0] for t in result)))
return False
if response:
for l in response.read().decode("utf-8").splitlines():
@@ -96,7 +143,7 @@ python do_fetch() {
break
else:
bb.warn("Cannot parse CVE metadata, update failed")
return
return False
# Compare with current db last modified date
cursor = conn.execute("select DATE from META where YEAR = ?", (year,))
@@ -104,6 +151,7 @@ python do_fetch() {
cursor.close()
if not meta or meta[0] != last_modified:
bb.debug(2, "Updating entries")
# Clear products table entries corresponding to current year
conn.execute("delete from PRODUCTS where ID like ?", ('CVE-%d%%' % year,)).close()
@@ -116,19 +164,16 @@ python do_fetch() {
except urllib.error.URLError as e:
cve_f.write('Warning: CVE db update error, CVE data is outdated.\n\n')
bb.warn("Cannot parse CVE data (%s), update failed" % e.reason)
return
return False
else:
bb.debug(2, "Already up to date (last modified %s)" % last_modified)
# Update success, set the date to cve_check file.
if year == date.today().year:
cve_f.write('CVE database update : %s\n\n' % date.today())
conn.commit()
conn.close()
}
do_fetch[lockfiles] += "${CVE_CHECK_DB_FILE_LOCK}"
do_fetch[file-checksums] = ""
do_fetch[vardeps] = ""
return True
def initialize_db(conn):
with conn:

View File

@@ -404,9 +404,9 @@ FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \
${rootlibexecdir}/systemd/systemd-binfmt \
${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \
${systemd_unitdir}/system/systemd-binfmt.service"
RRECOMMENDS_${PN}-binfmt = "kernel-module-binfmt-misc"
RRECOMMENDS_${PN}-binfmt = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', 'kernel-module-binfmt-misc', '', d)}"
RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps"
RRECOMMENDS_${PN}-vconsole-setup = "${@bb.utils.contains('PACKAGECONFIG', 'vconsole', 'kbd kbd-consolefonts kbd-keymaps', '', d)}"
FILES_${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \

View File

@@ -51,6 +51,7 @@ SRC_URI += "\
file://CVE-2022-28327.patch \
file://CVE-2022-41715.patch \
file://CVE-2022-41717.patch \
file://CVE-2022-1962.patch \
"
SRC_URI_append_libc-musl = " file://0009-ld-replace-glibc-dynamic-linker-with-musl.patch"

View File

@@ -0,0 +1,357 @@
From ba8788ebcead55e99e631c6a1157ad7b35535d11 Mon Sep 17 00:00:00 2001
From: Roland Shoemaker <bracewell@google.com>
Date: Wed, 15 Jun 2022 10:43:05 -0700
Subject: [PATCH] [release-branch.go1.17] go/parser: limit recursion depth
Limit nested parsing to 100,000, which prevents stack exhaustion when
parsing deeply nested statements, types, and expressions. Also limit
the scope depth to 1,000 during object resolution.
Thanks to Juho Nurminen of Mattermost for reporting this issue.
Fixes #53707
Updates #53616
Fixes CVE-2022-1962
Change-Id: I4d7b86c1d75d0bf3c7af1fdea91582aa74272c64
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1491025
Reviewed-by: Russ Cox <rsc@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
(cherry picked from commit 6a856f08d58e4b6705c0c337d461c540c1235c83)
Reviewed-on: https://go-review.googlesource.com/c/go/+/417070
Reviewed-by: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
Upstream-Status: Backport [https://github.com/golang/go/commit/ba8788ebcead55e99e631c6a1157ad7b35535d11]
CVE: CVE-2022-1962
Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
---
src/go/parser/interface.go | 10 ++-
src/go/parser/parser.go | 48 ++++++++--
src/go/parser/parser_test.go | 169 +++++++++++++++++++++++++++++++++++
3 files changed, 220 insertions(+), 7 deletions(-)
diff --git a/src/go/parser/interface.go b/src/go/parser/interface.go
index 54f9d7b..537b327 100644
--- a/src/go/parser/interface.go
+++ b/src/go/parser/interface.go
@@ -92,8 +92,11 @@ func ParseFile(fset *token.FileSet, filename string, src interface{}, mode Mode)
defer func() {
if e := recover(); e != nil {
// resume same panic if it's not a bailout
- if _, ok := e.(bailout); !ok {
+ bail, ok := e.(bailout)
+ if !ok {
panic(e)
+ } else if bail.msg != "" {
+ p.errors.Add(p.file.Position(bail.pos), bail.msg)
}
}
@@ -188,8 +191,11 @@ func ParseExprFrom(fset *token.FileSet, filename string, src interface{}, mode M
defer func() {
if e := recover(); e != nil {
// resume same panic if it's not a bailout
- if _, ok := e.(bailout); !ok {
+ bail, ok := e.(bailout)
+ if !ok {
panic(e)
+ } else if bail.msg != "" {
+ p.errors.Add(p.file.Position(bail.pos), bail.msg)
}
}
p.errors.Sort()
diff --git a/src/go/parser/parser.go b/src/go/parser/parser.go
index 31a7398..586fe90 100644
--- a/src/go/parser/parser.go
+++ b/src/go/parser/parser.go
@@ -64,6 +64,10 @@ type parser struct {
unresolved []*ast.Ident // unresolved identifiers
imports []*ast.ImportSpec // list of imports
+ // nestLev is used to track and limit the recursion depth
+ // during parsing.
+ nestLev int
+
// Label scopes
// (maintained by open/close LabelScope)
labelScope *ast.Scope // label scope for current function
@@ -236,6 +240,24 @@ func un(p *parser) {
p.printTrace(")")
}
+// maxNestLev is the deepest we're willing to recurse during parsing
+const maxNestLev int = 1e5
+
+func incNestLev(p *parser) *parser {
+ p.nestLev++
+ if p.nestLev > maxNestLev {
+ p.error(p.pos, "exceeded max nesting depth")
+ panic(bailout{})
+ }
+ return p
+}
+
+// decNestLev is used to track nesting depth during parsing to prevent stack exhaustion.
+// It is used along with incNestLev in a similar fashion to how un and trace are used.
+func decNestLev(p *parser) {
+ p.nestLev--
+}
+
// Advance to the next token.
func (p *parser) next0() {
// Because of one-token look-ahead, print the previous token
@@ -348,8 +370,12 @@ func (p *parser) next() {
}
}
-// A bailout panic is raised to indicate early termination.
-type bailout struct{}
+// A bailout panic is raised to indicate early termination. pos and msg are
+// only populated when bailing out of object resolution.
+type bailout struct {
+ pos token.Pos
+ msg string
+}
func (p *parser) error(pos token.Pos, msg string) {
epos := p.file.Position(pos)
@@ -1030,6 +1056,8 @@ func (p *parser) parseChanType() *ast.ChanType {
// If the result is an identifier, it is not resolved.
func (p *parser) tryIdentOrType() ast.Expr {
+ defer decNestLev(incNestLev(p))
+
switch p.tok {
case token.IDENT:
return p.parseTypeName()
@@ -1609,7 +1637,13 @@ func (p *parser) parseBinaryExpr(lhs bool, prec1 int) ast.Expr {
}
x := p.parseUnaryExpr(lhs)
- for {
+ // We track the nesting here rather than at the entry for the function,
+ // since it can iteratively produce a nested output, and we want to
+ // limit how deep a structure we generate.
+ var n int
+ defer func() { p.nestLev -= n }()
+ for n = 1; ; n++ {
+ incNestLev(p)
op, oprec := p.tokPrec()
if oprec < prec1 {
return x
@@ -1628,7 +1662,7 @@ func (p *parser) parseBinaryExpr(lhs bool, prec1 int) ast.Expr {
// The result may be a type or even a raw type ([...]int). Callers must
// check the result (using checkExpr or checkExprOrType), depending on
// context.
-func (p *parser) parseExpr(lhs bool) ast.Expr {
+func (p *parser) parseExpr(lhs bool) ast.Expr {
if p.trace {
defer un(trace(p, "Expression"))
}
@@ -1899,6 +1933,8 @@ func (p *parser) parseIfHeader() (init ast.Stmt, cond ast.Expr) {
}
func (p *parser) parseIfStmt() *ast.IfStmt {
+ defer decNestLev(incNestLev(p))
+
if p.trace {
defer un(trace(p, "IfStmt"))
}
@@ -2214,6 +2250,8 @@ func (p *parser) parseForStmt() ast.Stmt {
}
func (p *parser) parseStmt() (s ast.Stmt) {
+ defer decNestLev(incNestLev(p))
+
if p.trace {
defer un(trace(p, "Statement"))
}
diff --git a/src/go/parser/parser_test.go b/src/go/parser/parser_test.go
index 25a374e..37a6a2b 100644
--- a/src/go/parser/parser_test.go
+++ b/src/go/parser/parser_test.go
@@ -10,6 +10,7 @@ import (
"go/ast"
"go/token"
"os"
+ "runtime"
"strings"
"testing"
)
@@ -569,3 +570,171 @@ type x int // comment
t.Errorf("got %q, want %q", comment, "// comment")
}
}
+
+var parseDepthTests = []struct {
+ name string
+ format string
+ // multipler is used when a single statement may result in more than one
+ // change in the depth level, for instance "1+(..." produces a BinaryExpr
+ // followed by a UnaryExpr, which increments the depth twice. The test
+ // case comment explains which nodes are triggering the multiple depth
+ // changes.
+ parseMultiplier int
+ // scope is true if we should also test the statement for the resolver scope
+ // depth limit.
+ scope bool
+ // scopeMultiplier does the same as parseMultiplier, but for the scope
+ // depths.
+ scopeMultiplier int
+}{
+ // The format expands the part inside « » many times.
+ // A second set of brackets nested inside the first stops the repetition,
+ // so that for example «(«1»)» expands to (((...((((1))))...))).
+ {name: "array", format: "package main; var x «[1]»int"},
+ {name: "slice", format: "package main; var x «[]»int"},
+ {name: "struct", format: "package main; var x «struct { X «int» }»", scope: true},
+ {name: "pointer", format: "package main; var x «*»int"},
+ {name: "func", format: "package main; var x «func()»int", scope: true},
+ {name: "chan", format: "package main; var x «chan »int"},
+ {name: "chan2", format: "package main; var x «<-chan »int"},
+ {name: "interface", format: "package main; var x «interface { M() «int» }»", scope: true, scopeMultiplier: 2}, // Scopes: InterfaceType, FuncType
+ {name: "map", format: "package main; var x «map[int]»int"},
+ {name: "slicelit", format: "package main; var x = «[]any{«»}»", parseMultiplier: 2}, // Parser nodes: UnaryExpr, CompositeLit
+ {name: "arraylit", format: "package main; var x = «[1]any{«nil»}»", parseMultiplier: 2}, // Parser nodes: UnaryExpr, CompositeLit
+ {name: "structlit", format: "package main; var x = «struct{x any}{«nil»}»", parseMultiplier: 2}, // Parser nodes: UnaryExpr, CompositeLit
+ {name: "maplit", format: "package main; var x = «map[int]any{1:«nil»}»", parseMultiplier: 2}, // Parser nodes: CompositeLit, KeyValueExpr
+ {name: "dot", format: "package main; var x = «x.»x"},
+ {name: "index", format: "package main; var x = x«[1]»"},
+ {name: "slice", format: "package main; var x = x«[1:2]»"},
+ {name: "slice3", format: "package main; var x = x«[1:2:3]»"},
+ {name: "dottype", format: "package main; var x = x«.(any)»"},
+ {name: "callseq", format: "package main; var x = x«()»"},
+ {name: "methseq", format: "package main; var x = x«.m()»", parseMultiplier: 2}, // Parser nodes: SelectorExpr, CallExpr
+ {name: "binary", format: "package main; var x = «1+»1"},
+ {name: "binaryparen", format: "package main; var x = «1+(«1»)»", parseMultiplier: 2}, // Parser nodes: BinaryExpr, ParenExpr
+ {name: "unary", format: "package main; var x = «^»1"},
+ {name: "addr", format: "package main; var x = «& »x"},
+ {name: "star", format: "package main; var x = «*»x"},
+ {name: "recv", format: "package main; var x = «<-»x"},
+ {name: "call", format: "package main; var x = «f(«1»)»", parseMultiplier: 2}, // Parser nodes: Ident, CallExpr
+ {name: "conv", format: "package main; var x = «(*T)(«1»)»", parseMultiplier: 2}, // Parser nodes: ParenExpr, CallExpr
+ {name: "label", format: "package main; func main() { «Label:» }"},
+ {name: "if", format: "package main; func main() { «if true { «» }»}", parseMultiplier: 2, scope: true, scopeMultiplier: 2}, // Parser nodes: IfStmt, BlockStmt. Scopes: IfStmt, BlockStmt
+ {name: "ifelse", format: "package main; func main() { «if true {} else » {} }", scope: true},
+ {name: "switch", format: "package main; func main() { «switch { default: «» }»}", scope: true, scopeMultiplier: 2}, // Scopes: TypeSwitchStmt, CaseClause
+ {name: "typeswitch", format: "package main; func main() { «switch x.(type) { default: «» }» }", scope: true, scopeMultiplier: 2}, // Scopes: TypeSwitchStmt, CaseClause
+ {name: "for0", format: "package main; func main() { «for { «» }» }", scope: true, scopeMultiplier: 2}, // Scopes: ForStmt, BlockStmt
+ {name: "for1", format: "package main; func main() { «for x { «» }» }", scope: true, scopeMultiplier: 2}, // Scopes: ForStmt, BlockStmt
+ {name: "for3", format: "package main; func main() { «for f(); g(); h() { «» }» }", scope: true, scopeMultiplier: 2}, // Scopes: ForStmt, BlockStmt
+ {name: "forrange0", format: "package main; func main() { «for range x { «» }» }", scope: true, scopeMultiplier: 2}, // Scopes: RangeStmt, BlockStmt
+ {name: "forrange1", format: "package main; func main() { «for x = range z { «» }» }", scope: true, scopeMultiplier: 2}, // Scopes: RangeStmt, BlockStmt
+ {name: "forrange2", format: "package main; func main() { «for x, y = range z { «» }» }", scope: true, scopeMultiplier: 2}, // Scopes: RangeStmt, BlockStmt
+ {name: "go", format: "package main; func main() { «go func() { «» }()» }", parseMultiplier: 2, scope: true}, // Parser nodes: GoStmt, FuncLit
+ {name: "defer", format: "package main; func main() { «defer func() { «» }()» }", parseMultiplier: 2, scope: true}, // Parser nodes: DeferStmt, FuncLit
+ {name: "select", format: "package main; func main() { «select { default: «» }» }", scope: true},
+}
+
+// split splits pre«mid»post into pre, mid, post.
+// If the string does not have that form, split returns x, "", "".
+func split(x string) (pre, mid, post string) {
+ start, end := strings.Index(x, "«"), strings.LastIndex(x, "»")
+ if start < 0 || end < 0 {
+ return x, "", ""
+ }
+ return x[:start], x[start+len("«") : end], x[end+len("»"):]
+}
+
+func TestParseDepthLimit(t *testing.T) {
+ if runtime.GOARCH == "wasm" {
+ t.Skip("causes call stack exhaustion on js/wasm")
+ }
+ for _, tt := range parseDepthTests {
+ for _, size := range []string{"small", "big"} {
+ t.Run(tt.name+"/"+size, func(t *testing.T) {
+ n := maxNestLev + 1
+ if tt.parseMultiplier > 0 {
+ n /= tt.parseMultiplier
+ }
+ if size == "small" {
+ // Decrease the number of statements by 10, in order to check
+ // that we do not fail when under the limit. 10 is used to
+ // provide some wiggle room for cases where the surrounding
+ // scaffolding syntax adds some noise to the depth that changes
+ // on a per testcase basis.
+ n -= 10
+ }
+
+ pre, mid, post := split(tt.format)
+ if strings.Contains(mid, "«") {
+ left, base, right := split(mid)
+ mid = strings.Repeat(left, n) + base + strings.Repeat(right, n)
+ } else {
+ mid = strings.Repeat(mid, n)
+ }
+ input := pre + mid + post
+
+ fset := token.NewFileSet()
+ _, err := ParseFile(fset, "", input, ParseComments|SkipObjectResolution)
+ if size == "small" {
+ if err != nil {
+ t.Errorf("ParseFile(...): %v (want success)", err)
+ }
+ } else {
+ expected := "exceeded max nesting depth"
+ if err == nil || !strings.HasSuffix(err.Error(), expected) {
+ t.Errorf("ParseFile(...) = _, %v, want %q", err, expected)
+ }
+ }
+ })
+ }
+ }
+}
+
+func TestScopeDepthLimit(t *testing.T) {
+ if runtime.GOARCH == "wasm" {
+ t.Skip("causes call stack exhaustion on js/wasm")
+ }
+ for _, tt := range parseDepthTests {
+ if !tt.scope {
+ continue
+ }
+ for _, size := range []string{"small", "big"} {
+ t.Run(tt.name+"/"+size, func(t *testing.T) {
+ n := maxScopeDepth + 1
+ if tt.scopeMultiplier > 0 {
+ n /= tt.scopeMultiplier
+ }
+ if size == "small" {
+ // Decrease the number of statements by 10, in order to check
+ // that we do not fail when under the limit. 10 is used to
+ // provide some wiggle room for cases where the surrounding
+ // scaffolding syntax adds some noise to the depth that changes
+ // on a per testcase basis.
+ n -= 10
+ }
+
+ pre, mid, post := split(tt.format)
+ if strings.Contains(mid, "«") {
+ left, base, right := split(mid)
+ mid = strings.Repeat(left, n) + base + strings.Repeat(right, n)
+ } else {
+ mid = strings.Repeat(mid, n)
+ }
+ input := pre + mid + post
+
+ fset := token.NewFileSet()
+ _, err := ParseFile(fset, "", input, DeclarationErrors)
+ if size == "small" {
+ if err != nil {
+ t.Errorf("ParseFile(...): %v (want success)", err)
+ }
+ } else {
+ expected := "exceeded max scope depth during object resolution"
+ if err == nil || !strings.HasSuffix(err.Error(), expected) {
+ t.Errorf("ParseFile(...) = _, %v, want %q", err, expected)
+ }
+ }
+ })
+ }
+ }
+}
--
2.30.2

View File

@@ -531,7 +531,9 @@
"rdepends": [
"core"
],
"files": [],
"files": [
"${libdir}/python${PYTHON_MAJMIN}/distutils/command/wininst-*.exe"
],
"cached": []
},
"distutils": {

View File

@@ -22,7 +22,7 @@ inherit autotools pkgconfig
EXTRA_OECONF = "--disable-gssapi"
do_install_append() {
chown root:root ${D}${sysconfdir}/netconfig
test -e ${D}${sysconfdir}/netconfig && chown root:root ${D}${sysconfdir}/netconfig
}
BBCLASSEXTEND = "native nativesdk"

View File

@@ -1,40 +1,20 @@
There is an assertion in function _cairo_arc_in_direction().
CVE: CVE-2019-6461
Upstream-Status: Backport
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
From ab2c5ee21e5f3d3ee4b3f67cfcd5811a4f99c3a0 Mon Sep 17 00:00:00 2001
From: Heiko Lewin <hlewin@gmx.de>
Date: Sun, 1 Aug 2021 11:16:03 +0000
Subject: [PATCH] _arc_max_angle_for_tolerance_normalized: fix infinite loop
---
src/cairo-arc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton@intel.com>
diff --git a/src/cairo-arc.c b/src/cairo-arc.c
index 390397bae..1c891d1a0 100644
index 390397bae..1bde774a4 100644
--- a/src/cairo-arc.c
+++ b/src/cairo-arc.c
@@ -90,16 +90,18 @@ _arc_max_angle_for_tolerance_normalized (double tolerance)
{ M_PI / 11.0, 9.81410988043554039085e-09 },
};
int table_size = ARRAY_LENGTH (table);
+ const int max_segments = 1000; /* this value is chosen arbitrarily. this gives an error of about 1.74909e-20 */
@@ -186,7 +186,8 @@ _cairo_arc_in_direction (cairo_t *cr,
if (cairo_status (cr))
return;
for (i = 0; i < table_size; i++)
if (table[i].error < tolerance)
return table[i].angle;
- assert (angle_max >= angle_min);
+ if (angle_max < angle_min)
+ return;
++i;
+
do {
angle = M_PI / i++;
error = _arc_error_normalized (angle);
- } while (error > tolerance);
+ } while (error > tolerance && i < max_segments);
return angle;
}
--
2.38.1
if (angle_max - angle_min > 2 * M_PI * MAX_FULL_CIRCLES) {
angle_max = fmod (angle_max - angle_min, 2 * M_PI);

View File

@@ -1,20 +1,40 @@
There is an assertion in function _cairo_arc_in_direction().
CVE: CVE-2019-6462
Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton@intel.com>
Upstream-Status: Backport
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
From ab2c5ee21e5f3d3ee4b3f67cfcd5811a4f99c3a0 Mon Sep 17 00:00:00 2001
From: Heiko Lewin <hlewin@gmx.de>
Date: Sun, 1 Aug 2021 11:16:03 +0000
Subject: [PATCH] _arc_max_angle_for_tolerance_normalized: fix infinite loop
---
src/cairo-arc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/cairo-arc.c b/src/cairo-arc.c
index 390397bae..1bde774a4 100644
index 390397bae..1c891d1a0 100644
--- a/src/cairo-arc.c
+++ b/src/cairo-arc.c
@@ -186,7 +186,8 @@ _cairo_arc_in_direction (cairo_t *cr,
if (cairo_status (cr))
return;
@@ -90,16 +90,18 @@ _arc_max_angle_for_tolerance_normalized (double tolerance)
{ M_PI / 11.0, 9.81410988043554039085e-09 },
};
int table_size = ARRAY_LENGTH (table);
+ const int max_segments = 1000; /* this value is chosen arbitrarily. this gives an error of about 1.74909e-20 */
- assert (angle_max >= angle_min);
+ if (angle_max < angle_min)
+ return;
for (i = 0; i < table_size; i++)
if (table[i].error < tolerance)
return table[i].angle;
if (angle_max - angle_min > 2 * M_PI * MAX_FULL_CIRCLES) {
angle_max = fmod (angle_max - angle_min, 2 * M_PI);
++i;
+
do {
angle = M_PI / i++;
error = _arc_error_normalized (angle);
- } while (error > tolerance);
+ } while (error > tolerance && i < max_segments);
return angle;
}
--
2.38.1

View File

@@ -0,0 +1,38 @@
From 00b67f55727bc0944c3266e2b875440da132ce4b Mon Sep 17 00:00:00 2001
From: zhailiangliang <zhailiangliang@loongson.cn>
Date: Wed, 21 Sep 2022 10:30:38 +0800
Subject: [PATCH] Fix potential memory leak in GLES_CreateTexture
CVE: CVE-2022-4743
Upstream-Status: Backport [https://github.com/libsdl-org/SDL/commit/00b67f55727bc0944c3266e2b875440da132ce4b.patch]
Signed-off-by: Ranjitsinh Rathod <ranjitsinh.rathod@kpit.com>
---
src/render/opengles/SDL_render_gles.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/render/opengles/SDL_render_gles.c b/src/render/opengles/SDL_render_gles.c
index a5fbab309eda..ba08a46e2805 100644
--- a/src/render/opengles/SDL_render_gles.c
+++ b/src/render/opengles/SDL_render_gles.c
@@ -359,6 +359,9 @@ GLES_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture)
renderdata->glGenTextures(1, &data->texture);
result = renderdata->glGetError();
if (result != GL_NO_ERROR) {
+ if (texture->access == SDL_TEXTUREACCESS_STREAMING) {
+ SDL_free(data->pixels);
+ }
SDL_free(data);
return GLES_SetError("glGenTextures()", result);
}
@@ -387,6 +390,9 @@ GLES_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture)
result = renderdata->glGetError();
if (result != GL_NO_ERROR) {
+ if (texture->access == SDL_TEXTUREACCESS_STREAMING) {
+ SDL_free(data->pixels);
+ }
SDL_free(data);
return GLES_SetError("glTexImage2D()", result);
}

View File

@@ -22,6 +22,7 @@ SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \
file://directfb-renderfillrect-fix.patch \
file://CVE-2020-14409-14410.patch \
file://CVE-2021-33657.patch \
file://CVE-2022-4743.patch \
"
S = "${WORKDIR}/SDL2-${PV}"

View File

@@ -0,0 +1,39 @@
From ccdd431cd8f1cabae9d744f0514b6533c438908c Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon, 5 Dec 2022 15:55:54 +1000
Subject: [PATCH] xkb: reset the radio_groups pointer to NULL after freeing it
Unlike other elements of the keymap, this pointer was freed but not
reset. On a subsequent XkbGetKbdByName request, the server may access
already freed memory.
CVE-2022-4283, ZDI-CAN-19530
This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Olivier Fourdan <ofourdan@redhat.com>
Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/xserver/-/commit/ccdd431cd8f1cabae9d744f0514b6533c438908c]
CVE: CVE-2022-4283
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
xkb/xkbUtils.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/xkb/xkbUtils.c b/xkb/xkbUtils.c
index 8975ade..9bc51fc 100644
--- a/xkb/xkbUtils.c
+++ b/xkb/xkbUtils.c
@@ -1327,6 +1327,7 @@ _XkbCopyNames(XkbDescPtr src, XkbDescPtr dst)
}
else {
free(dst->names->radio_groups);
+ dst->names->radio_groups = NULL;
}
dst->names->num_rg = src->names->num_rg;
--
2.25.1

View File

@@ -0,0 +1,55 @@
From b320ca0ffe4c0c872eeb3a93d9bde21f765c7c63 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue, 29 Nov 2022 12:55:45 +1000
Subject: [PATCH] Xtest: disallow GenericEvents in XTestSwapFakeInput
XTestSwapFakeInput assumes all events in this request are
sizeof(xEvent) and iterates through these in 32-byte increments.
However, a GenericEvent may be of arbitrary length longer than 32 bytes,
so any GenericEvent in this list would result in subsequent events to be
misparsed.
Additional, the swapped event is written into a stack-allocated struct
xEvent (size 32 bytes). For any GenericEvent longer than 32 bytes,
swapping the event may thus smash the stack like an avocado on toast.
Catch this case early and return BadValue for any GenericEvent.
Which is what would happen in unswapped setups anyway since XTest
doesn't support GenericEvent.
CVE-2022-46340, ZDI-CAN 19265
This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Olivier Fourdan <ofourdan@redhat.com>
Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/xserver/-/commit/b320ca0ffe4c0c872eeb3a93d9bde21f765c7c63]
CVE: CVE-2022-46340
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
Xext/xtest.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/Xext/xtest.c b/Xext/xtest.c
index 38b8012..bf11789 100644
--- a/Xext/xtest.c
+++ b/Xext/xtest.c
@@ -501,10 +501,11 @@ XTestSwapFakeInput(ClientPtr client, xReq * req)
nev = ((req->length << 2) - sizeof(xReq)) / sizeof(xEvent);
for (ev = (xEvent *) &req[1]; --nev >= 0; ev++) {
+ int evtype = ev->u.u.type & 0x177;
/* Swap event */
- proc = EventSwapVector[ev->u.u.type & 0177];
+ proc = EventSwapVector[evtype];
/* no swapping proc; invalid event type? */
- if (!proc || proc == NotImplemented) {
+ if (!proc || proc == NotImplemented || evtype == GenericEvent) {
client->errorValue = ev->u.u.type;
return BadValue;
}
--
2.25.1

View File

@@ -0,0 +1,86 @@
From 51eb63b0ee1509c6c6b8922b0e4aa037faa6f78b Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue, 29 Nov 2022 13:55:32 +1000
Subject: [PATCH] Xi: disallow passive grabs with a detail > 255
The XKB protocol effectively prevents us from ever using keycodes above
255. For buttons it's theoretically possible but realistically too niche
to worry about. For all other passive grabs, the detail must be zero
anyway.
This fixes an OOB write:
ProcXIPassiveUngrabDevice() calls DeletePassiveGrabFromList with a
temporary grab struct which contains tempGrab->detail.exact = stuff->detail.
For matching existing grabs, DeleteDetailFromMask is called with the
stuff->detail value. This function creates a new mask with the one bit
representing stuff->detail cleared.
However, the array size for the new mask is 8 * sizeof(CARD32) bits,
thus any detail above 255 results in an OOB array write.
CVE-2022-46341, ZDI-CAN 19381
This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Olivier Fourdan <ofourdan@redhat.com>
Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/xserver/-/commit/51eb63b0ee1509c6c6b8922b0e4aa037faa6f78b]
CVE: CVE-2022-46341
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
Xi/xipassivegrab.c | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/Xi/xipassivegrab.c b/Xi/xipassivegrab.c
index d30f51f..89a5910 100644
--- a/Xi/xipassivegrab.c
+++ b/Xi/xipassivegrab.c
@@ -133,6 +133,12 @@ ProcXIPassiveGrabDevice(ClientPtr client)
return BadValue;
}
+ /* XI2 allows 32-bit keycodes but thanks to XKB we can never
+ * implement this. Just return an error for all keycodes that
+ * cannot work anyway, same for buttons > 255. */
+ if (stuff->detail > 255)
+ return XIAlreadyGrabbed;
+
if (XICheckInvalidMaskBits(client, (unsigned char *) &stuff[1],
stuff->mask_len * 4) != Success)
return BadValue;
@@ -203,14 +209,8 @@ ProcXIPassiveGrabDevice(ClientPtr client)
&param, XI2, &mask);
break;
case XIGrabtypeKeycode:
- /* XI2 allows 32-bit keycodes but thanks to XKB we can never
- * implement this. Just return an error for all keycodes that
- * cannot work anyway */
- if (stuff->detail > 255)
- status = XIAlreadyGrabbed;
- else
- status = GrabKey(client, dev, mod_dev, stuff->detail,
- &param, XI2, &mask);
+ status = GrabKey(client, dev, mod_dev, stuff->detail,
+ &param, XI2, &mask);
break;
case XIGrabtypeEnter:
case XIGrabtypeFocusIn:
@@ -319,6 +319,12 @@ ProcXIPassiveUngrabDevice(ClientPtr client)
return BadValue;
}
+ /* We don't allow passive grabs for details > 255 anyway */
+ if (stuff->detail > 255) {
+ client->errorValue = stuff->detail;
+ return BadValue;
+ }
+
rc = dixLookupWindow(&win, stuff->grab_window, client, DixSetAttrAccess);
if (rc != Success)
return rc;
--
2.25.1

View File

@@ -0,0 +1,78 @@
From b79f32b57cc0c1186b2899bce7cf89f7b325161b Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed, 30 Nov 2022 11:20:40 +1000
Subject: [PATCH] Xext: free the XvRTVideoNotify when turning off from the same
client
This fixes a use-after-free bug:
When a client first calls XvdiSelectVideoNotify() on a drawable with a
TRUE onoff argument, a struct XvVideoNotifyRec is allocated. This struct
is added twice to the resources:
- as the drawable's XvRTVideoNotifyList. This happens only once per
drawable, subsequent calls append to this list.
- as the client's XvRTVideoNotify. This happens for every client.
The struct keeps the ClientPtr around once it has been added for a
client. The idea, presumably, is that if the client disconnects we can remove
all structs from the drawable's list that match the client (by resetting
the ClientPtr to NULL), but if the drawable is destroyed we can remove
and free the whole list.
However, if the same client then calls XvdiSelectVideoNotify() on the
same drawable with a FALSE onoff argument, only the ClientPtr on the
existing struct was set to NULL. The struct itself remained in the
client's resources.
If the drawable is now destroyed, the resource system invokes
XvdiDestroyVideoNotifyList which frees the whole list for this drawable
- including our struct. This function however does not free the resource
for the client since our ClientPtr is NULL.
Later, when the client is destroyed and the resource system invokes
XvdiDestroyVideoNotify, we unconditionally set the ClientPtr to NULL. On
a struct that has been freed previously. This is generally frowned upon.
Fix this by calling FreeResource() on the second call instead of merely
setting the ClientPtr to NULL. This removes the struct from the client
resources (but not from the list), ensuring that it won't be accessed
again when the client quits.
Note that the assignment tpn->client = NULL; is superfluous since the
XvdiDestroyVideoNotify function will do this anyway. But it's left for
clarity and to match a similar invocation in XvdiSelectPortNotify.
CVE-2022-46342, ZDI-CAN 19400
This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Olivier Fourdan <ofourdan@redhat.com>
Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/xserver/-/commit/b79f32b57cc0c1186b2899bce7cf89f7b325161b]
CVE: CVE-2022-46342
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
Xext/xvmain.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/Xext/xvmain.c b/Xext/xvmain.c
index c520c7d..5f4c174 100644
--- a/Xext/xvmain.c
+++ b/Xext/xvmain.c
@@ -811,8 +811,10 @@ XvdiSelectVideoNotify(ClientPtr client, DrawablePtr pDraw, BOOL onoff)
tpn = pn;
while (tpn) {
if (tpn->client == client) {
- if (!onoff)
+ if (!onoff) {
tpn->client = NULL;
+ FreeResource(tpn->id, XvRTVideoNotify);
+ }
return Success;
}
if (!tpn->client)
--
2.25.1

View File

@@ -0,0 +1,51 @@
From 842ca3ccef100ce010d1d8f5f6d6cc1915055900 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue, 29 Nov 2022 14:53:07 +1000
Subject: [PATCH] Xext: free the screen saver resource when replacing it
This fixes a use-after-free bug:
When a client first calls ScreenSaverSetAttributes(), a struct
ScreenSaverAttrRec is allocated and added to the client's
resources.
When the same client calls ScreenSaverSetAttributes() again, a new
struct ScreenSaverAttrRec is allocated, replacing the old struct. The
old struct was freed but not removed from the clients resources.
Later, when the client is destroyed the resource system invokes
ScreenSaverFreeAttr and attempts to clean up the already freed struct.
Fix this by letting the resource system free the old attrs instead.
CVE-2022-46343, ZDI-CAN 19404
This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Olivier Fourdan <ofourdan@redhat.com>
Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/xserver/-/commit/842ca3ccef100ce010d1d8f5f6d6cc1915055900]
CVE: CVE-2022-46343
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
Xext/saver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Xext/saver.c b/Xext/saver.c
index c23907d..05b9ca3 100644
--- a/Xext/saver.c
+++ b/Xext/saver.c
@@ -1051,7 +1051,7 @@ ScreenSaverSetAttributes(ClientPtr client)
pVlist++;
}
if (pPriv->attr)
- FreeScreenAttr(pPriv->attr);
+ FreeResource(pPriv->attr->resource, AttrType);
pPriv->attr = pAttr;
pAttr->resource = FakeClientID(client->index);
if (!AddResource(pAttr->resource, AttrType, (void *) pAttr))
--
2.25.1

View File

@@ -0,0 +1,75 @@
From 8f454b793e1f13c99872c15f0eed1d7f3b823fe8 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue, 29 Nov 2022 13:26:57 +1000
Subject: [PATCH] Xi: avoid integer truncation in length check of
ProcXIChangeProperty
This fixes an OOB read and the resulting information disclosure.
Length calculation for the request was clipped to a 32-bit integer. With
the correct stuff->num_items value the expected request size was
truncated, passing the REQUEST_FIXED_SIZE check.
The server then proceeded with reading at least stuff->num_items bytes
(depending on stuff->format) from the request and stuffing whatever it
finds into the property. In the process it would also allocate at least
stuff->num_items bytes, i.e. 4GB.
The same bug exists in ProcChangeProperty and ProcXChangeDeviceProperty,
so let's fix that too.
CVE-2022-46344, ZDI-CAN 19405
This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Olivier Fourdan <ofourdan@redhat.com>
Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/xserver/-/commit/8f454b793e1f13c99872c15f0eed1d7f3b823fe8]
CVE: CVE-2022-46344
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
Xi/xiproperty.c | 4 ++--
dix/property.c | 3 ++-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c
index 6ec419e..0cfa6e3 100644
--- a/Xi/xiproperty.c
+++ b/Xi/xiproperty.c
@@ -890,7 +890,7 @@ ProcXChangeDeviceProperty(ClientPtr client)
REQUEST(xChangeDevicePropertyReq);
DeviceIntPtr dev;
unsigned long len;
- int totalSize;
+ uint64_t totalSize;
int rc;
REQUEST_AT_LEAST_SIZE(xChangeDevicePropertyReq);
@@ -1128,7 +1128,7 @@ ProcXIChangeProperty(ClientPtr client)
{
int rc;
DeviceIntPtr dev;
- int totalSize;
+ uint64_t totalSize;
unsigned long len;
REQUEST(xXIChangePropertyReq);
diff --git a/dix/property.c b/dix/property.c
index ff1d669..6fdb74a 100644
--- a/dix/property.c
+++ b/dix/property.c
@@ -205,7 +205,8 @@ ProcChangeProperty(ClientPtr client)
WindowPtr pWin;
char format, mode;
unsigned long len;
- int sizeInBytes, totalSize, err;
+ int sizeInBytes, err;
+ uint64_t totalSize;
REQUEST(xChangePropertyReq);
--
2.25.1

View File

@@ -8,7 +8,13 @@ SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.pat
file://CVE-2022-3550.patch \
file://CVE-2022-3551.patch \
file://CVE-2022-3553.patch \
"
file://CVE-2022-4283.patch \
file://CVE-2022-46340.patch \
file://CVE-2022-46341.patch \
file://CVE-2022-46342.patch \
file://CVE-2022-46343.patch \
file://CVE-2022-46344.patch \
"
SRC_URI[md5sum] = "453fc86aac8c629b3a5b77e8dcca30bf"
SRC_URI[sha256sum] = "54b199c9280ff8bf0f73a54a759645bd0eeeda7255d1c99310d5b7595f3ac066"

View File

@@ -132,7 +132,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
"
# WHENCE checksum is defined separately to ease overriding it if
# class-devupstream is selected.
WHENCE_CHKSUM = "ab4ba608dc4b757716871f9be033f0f1"
WHENCE_CHKSUM = "bf7c716d16e48fe118c6209f99b13253"
# These are not common licenses, set NO_GENERIC_LICENSE for them
# so that the license files will be copied from fetched source
@@ -209,7 +209,7 @@ SRC_URI:class-devupstream = "git://git.kernel.org/pub/scm/linux/kernel/git/firmw
# Pin this to the 20220509 release, override this in local.conf
SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae"
SRC_URI[sha256sum] = "c0ddffbbcf30f2e015bddd5c6d3ce1f13976b906aceabda4a57e3c41a3190701"
SRC_URI[sha256sum] = "e793783e92acbde549965521462d1d1327827360664cf242dbda08f075654331"
inherit allarch

View File

@@ -11,13 +11,13 @@ python () {
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
SRCREV_machine ?= "acaf6e01f6ecd6d80ac02f552344c6c0de1c7fe1"
SRCREV_meta ?= "b00c12ce7affe7e5da43fa4285998866a51e6e79"
SRCREV_machine ?= "053238af99b52ce5ffb19755cdfeb10f206463da"
SRCREV_meta ?= "9c5bb858a6f5a9b1cc2e585e74e8517387863fd7"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
LINUX_VERSION ?= "5.4.228"
LINUX_VERSION ?= "5.4.230"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"

View File

@@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig"
require recipes-kernel/linux/linux-yocto.inc
LINUX_VERSION ?= "5.4.228"
LINUX_VERSION ?= "5.4.230"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
SRCREV_machine_qemuarm ?= "575c3de9d720c998b5b4ab0253893a4132b4423f"
SRCREV_machine ?= "b72387f2b7f2babf1b0ca6e4ced3b22538162474"
SRCREV_meta ?= "b00c12ce7affe7e5da43fa4285998866a51e6e79"
SRCREV_machine_qemuarm ?= "8517d03dcde5d19a2fd9493433275b3790450ae5"
SRCREV_machine ?= "d05044bfcb54db9a3dfb9cccd3a39c2c07d844b1"
SRCREV_meta ?= "9c5bb858a6f5a9b1cc2e585e74e8517387863fd7"
PV = "${LINUX_VERSION}+git${SRCPV}"

View File

@@ -12,16 +12,16 @@ KBRANCH_qemux86 ?= "v5.4/standard/base"
KBRANCH_qemux86-64 ?= "v5.4/standard/base"
KBRANCH_qemumips64 ?= "v5.4/standard/mti-malta64"
SRCREV_machine_qemuarm ?= "32654a547b05ba63c604503fc865d7052ae96992"
SRCREV_machine_qemuarm64 ?= "2bd8ca7c0973870753b103107513689a598383d7"
SRCREV_machine_qemumips ?= "84a8ba0ada556ba3307c33e2b5a0ca8f9e3df1dd"
SRCREV_machine_qemuppc ?= "20db90d7935c8760bfc68c0de4f7d7085cba7c14"
SRCREV_machine_qemuriscv64 ?= "921d9e22542506ba26c2e5e2f25ec00ff9bffa63"
SRCREV_machine_qemux86 ?= "921d9e22542506ba26c2e5e2f25ec00ff9bffa63"
SRCREV_machine_qemux86-64 ?= "921d9e22542506ba26c2e5e2f25ec00ff9bffa63"
SRCREV_machine_qemumips64 ?= "929fde255b362923e9bba63250005b09c3a50f45"
SRCREV_machine ?= "921d9e22542506ba26c2e5e2f25ec00ff9bffa63"
SRCREV_meta ?= "b00c12ce7affe7e5da43fa4285998866a51e6e79"
SRCREV_machine_qemuarm ?= "c3e35e461a4f880bfe3d007c763fe4ff1670621f"
SRCREV_machine_qemuarm64 ?= "5604d6b87d39cd4eb427762610f505d5659ce73f"
SRCREV_machine_qemumips ?= "d0ef5b5eea98083cbb30d42bb191b280d2637a02"
SRCREV_machine_qemuppc ?= "79202d38795f70dd5c7601cbc8d1c54ecb831ad9"
SRCREV_machine_qemuriscv64 ?= "c32d5a645da049cf72f9e6b819c32609c7effcec"
SRCREV_machine_qemux86 ?= "c32d5a645da049cf72f9e6b819c32609c7effcec"
SRCREV_machine_qemux86-64 ?= "c32d5a645da049cf72f9e6b819c32609c7effcec"
SRCREV_machine_qemumips64 ?= "eafe1aabab778a089d20f0c686902a7a7215b57e"
SRCREV_machine ?= "c32d5a645da049cf72f9e6b819c32609c7effcec"
SRCREV_meta ?= "9c5bb858a6f5a9b1cc2e585e74e8517387863fd7"
# remap qemuarm to qemuarma15 for the 5.4 kernel
# KMACHINE_qemuarm ?= "qemuarma15"
@@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
LINUX_VERSION ?= "5.4.228"
LINUX_VERSION ?= "5.4.230"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
DEPENDS += "openssl-native util-linux-native"

View File

@@ -1,42 +0,0 @@
From cb78974394a9af865e1d2d606e838dbec0de80e8 Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Mon, 5 Oct 2020 15:31:42 -0400
Subject: [PATCH 01/16] fix: strncpy equals destination size warning
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Some versions of GCC when called with -Wstringop-truncation will warn
when doing a copy of the same size as the destination buffer with
strncpy :
strncpy specified bound 256 equals destination size [-Werror=stringop-truncation]
Since we unconditionally write '\0' in the last byte, reduce the copy
size by one.
Upstream-Status: Backport
Change-Id: Idb907c9550817a06fc0dffc489740f63d440e7d4
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
---
lttng-syscalls.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lttng-syscalls.c b/lttng-syscalls.c
index 49c0d81b..b43dd570 100644
--- a/lttng-syscalls.c
+++ b/lttng-syscalls.c
@@ -719,7 +719,7 @@ int fill_table(const struct trace_syscall_entry *table, size_t table_len,
ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_COMPAT;
break;
}
- strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN);
+ strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN - 1);
ev.name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0';
ev.instrumentation = LTTNG_KERNEL_SYSCALL;
chan_table[i] = _lttng_event_create(chan, &ev, filter,
--
2.25.1

View File

@@ -1,88 +0,0 @@
From 8e4e8641961df32bfe519fd18d899250951acd1a Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Mon, 26 Oct 2020 13:41:02 -0400
Subject: [PATCH 02/16] fix: objtool: Rename frame.h -> objtool.h (v5.10)
See upstream commit :
commit 00089c048eb4a8250325efb32a2724fd0da68cce
Author: Julien Thierry <jthierry@redhat.com>
Date: Fri Sep 4 16:30:25 2020 +0100
objtool: Rename frame.h -> objtool.h
Header frame.h is getting more code annotations to help objtool analyze
object files.
Rename the file to objtool.h.
Upstream-Status: Backport
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Ic2283161bebcbf1e33b72805eb4d2628f4ae3e89
---
lttng-filter-interpreter.c | 2 +-
wrapper/{frame.h => objtool.h} | 19 ++++++++++++-------
2 files changed, 13 insertions(+), 8 deletions(-)
rename wrapper/{frame.h => objtool.h} (50%)
diff --git a/lttng-filter-interpreter.c b/lttng-filter-interpreter.c
index 21169f01..5d572437 100644
--- a/lttng-filter-interpreter.c
+++ b/lttng-filter-interpreter.c
@@ -8,7 +8,7 @@
*/
#include <wrapper/uaccess.h>
-#include <wrapper/frame.h>
+#include <wrapper/objtool.h>
#include <wrapper/types.h>
#include <linux/swab.h>
diff --git a/wrapper/frame.h b/wrapper/objtool.h
similarity index 50%
rename from wrapper/frame.h
rename to wrapper/objtool.h
index 6e6dc811..3b997cae 100644
--- a/wrapper/frame.h
+++ b/wrapper/objtool.h
@@ -1,18 +1,23 @@
-/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1)
+/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
*
- * wrapper/frame.h
+ * wrapper/objtool.h
*
* Copyright (C) 2016 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
-#ifndef _LTTNG_WRAPPER_FRAME_H
-#define _LTTNG_WRAPPER_FRAME_H
+#ifndef _LTTNG_WRAPPER_OBJTOOL_H
+#define _LTTNG_WRAPPER_OBJTOOL_H
#include <linux/version.h>
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0))
-
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
+#include <linux/objtool.h>
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0))
#include <linux/frame.h>
+#endif
+
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0))
#define LTTNG_STACK_FRAME_NON_STANDARD(func) \
STACK_FRAME_NON_STANDARD(func)
@@ -23,4 +28,4 @@
#endif
-#endif /* _LTTNG_WRAPPER_FRAME_H */
+#endif /* _LTTNG_WRAPPER_OBJTOOL_H */
--
2.25.1

View File

@@ -1,316 +0,0 @@
From 5a3b76a81fd3df52405700d369223d64c7a04dc8 Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Tue, 27 Oct 2020 11:42:23 -0400
Subject: [PATCH 03/16] fix: btrfs: tracepoints: output proper root owner for
trace_find_free_extent() (v5.10)
See upstream commit :
commit 437490fed3b0c9ae21af8f70e0f338d34560842b
Author: Qu Wenruo <wqu@suse.com>
Date: Tue Jul 28 09:42:49 2020 +0800
btrfs: tracepoints: output proper root owner for trace_find_free_extent()
The current trace event always output result like this:
find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=4(METADATA)
find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=4(METADATA)
find_free_extent: root=2(EXTENT_TREE) len=8192 empty_size=0 flags=1(DATA)
find_free_extent: root=2(EXTENT_TREE) len=8192 empty_size=0 flags=1(DATA)
find_free_extent: root=2(EXTENT_TREE) len=4096 empty_size=0 flags=1(DATA)
find_free_extent: root=2(EXTENT_TREE) len=4096 empty_size=0 flags=1(DATA)
T's saying we're allocating data extent for EXTENT tree, which is not
even possible.
It's because we always use EXTENT tree as the owner for
trace_find_free_extent() without using the @root from
btrfs_reserve_extent().
This patch will change the parameter to use proper @root for
trace_find_free_extent():
Now it looks much better:
find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
find_free_extent: root=5(FS_TREE) len=8192 empty_size=0 flags=1(DATA)
find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=1(DATA)
find_free_extent: root=5(FS_TREE) len=4096 empty_size=0 flags=1(DATA)
find_free_extent: root=5(FS_TREE) len=8192 empty_size=0 flags=1(DATA)
find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
find_free_extent: root=7(CSUM_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
find_free_extent: root=1(ROOT_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
Upstream-Status: Backport
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I1d674064d29b31417e2acffdeb735f5052a87032
---
instrumentation/events/lttng-module/btrfs.h | 206 ++++++++++++--------
1 file changed, 122 insertions(+), 84 deletions(-)
diff --git a/instrumentation/events/lttng-module/btrfs.h b/instrumentation/events/lttng-module/btrfs.h
index 7b290085..52fcfd0d 100644
--- a/instrumentation/events/lttng-module/btrfs.h
+++ b/instrumentation/events/lttng-module/btrfs.h
@@ -1856,7 +1856,29 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_f
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0) || \
+ LTTNG_KERNEL_RANGE(5,9,6, 5,10,0) || \
+ LTTNG_KERNEL_RANGE(5,4,78, 5,5,0))
+LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+
+ btrfs_find_free_extent,
+
+ TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size,
+ u64 data),
+
+ TP_ARGS(root, num_bytes, empty_size, data),
+
+ TP_FIELDS(
+ ctf_array(u8, fsid, root->lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+ ctf_integer(u64, root_objectid, root->root_key.objectid)
+ ctf_integer(u64, num_bytes, num_bytes)
+ ctf_integer(u64, empty_size, empty_size)
+ ctf_integer(u64, data, data)
+ )
+)
+
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
+
LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
btrfs_find_free_extent,
@@ -1874,6 +1896,105 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
)
)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0))
+
+LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+
+ btrfs_find_free_extent,
+
+ TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
+ u64 data),
+
+ TP_ARGS(fs_info, num_bytes, empty_size, data),
+
+ TP_FIELDS(
+ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+ ctf_integer(u64, num_bytes, num_bytes)
+ ctf_integer(u64, empty_size, empty_size)
+ ctf_integer(u64, data, data)
+ )
+)
+
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
+
+LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+
+ btrfs_find_free_extent,
+
+ TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
+ u64 data),
+
+ TP_ARGS(fs_info, num_bytes, empty_size, data),
+
+ TP_FIELDS(
+ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+ ctf_integer(u64, num_bytes, num_bytes)
+ ctf_integer(u64, empty_size, empty_size)
+ ctf_integer(u64, data, data)
+ )
+)
+
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
+
+LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+
+ btrfs_find_free_extent,
+
+ TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
+ u64 data),
+
+ TP_ARGS(fs_info, num_bytes, empty_size, data),
+
+ TP_FIELDS(
+ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+ ctf_integer(u64, num_bytes, num_bytes)
+ ctf_integer(u64, empty_size, empty_size)
+ ctf_integer(u64, data, data)
+ )
+)
+
+#elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+ LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+ LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
+ LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
+
+LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+
+ btrfs_find_free_extent,
+
+ TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size,
+ u64 data),
+
+ TP_ARGS(root, num_bytes, empty_size, data),
+
+ TP_FIELDS(
+ ctf_integer(u64, root_objectid, root->root_key.objectid)
+ ctf_integer(u64, num_bytes, num_bytes)
+ ctf_integer(u64, empty_size, empty_size)
+ ctf_integer(u64, data, data)
+ )
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
+
+LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+
+ btrfs_find_free_extent,
+
+ TP_PROTO(struct btrfs_root *root, u64 num_bytes, u64 empty_size,
+ u64 data),
+
+ TP_ARGS(root, num_bytes, empty_size, data),
+
+ TP_FIELDS(
+ ctf_integer(u64, root_objectid, root->root_key.objectid)
+ ctf_integer(u64, num_bytes, num_bytes)
+ ctf_integer(u64, empty_size, empty_size)
+ ctf_integer(u64, data, data)
+ )
+)
+#endif
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
TP_PROTO(const struct btrfs_block_group *block_group, u64 start,
@@ -1907,22 +2028,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0))
-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
-
- btrfs_find_free_extent,
-
- TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
- u64 data),
-
- TP_ARGS(fs_info, num_bytes, empty_size, data),
-
- TP_FIELDS(
- ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- ctf_integer(u64, num_bytes, num_bytes)
- ctf_integer(u64, empty_size, empty_size)
- ctf_integer(u64, data, data)
- )
-)
LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
@@ -1957,22 +2062,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
-
- btrfs_find_free_extent,
-
- TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
- u64 data),
-
- TP_ARGS(fs_info, num_bytes, empty_size, data),
-
- TP_FIELDS(
- ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- ctf_integer(u64, num_bytes, num_bytes)
- ctf_integer(u64, empty_size, empty_size)
- ctf_integer(u64, data, data)
- )
-)
LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
@@ -2011,23 +2100,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
-
- btrfs_find_free_extent,
-
- TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
- u64 data),
-
- TP_ARGS(fs_info, num_bytes, empty_size, data),
-
- TP_FIELDS(
- ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- ctf_integer(u64, num_bytes, num_bytes)
- ctf_integer(u64, empty_size, empty_size)
- ctf_integer(u64, data, data)
- )
-)
-
LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
TP_PROTO(struct btrfs_fs_info *fs_info,
@@ -2066,23 +2138,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus
LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
-
- btrfs_find_free_extent,
-
- TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size,
- u64 data),
-
- TP_ARGS(root, num_bytes, empty_size, data),
-
- TP_FIELDS(
- ctf_integer(u64, root_objectid, root->root_key.objectid)
- ctf_integer(u64, num_bytes, num_bytes)
- ctf_integer(u64, empty_size, empty_size)
- ctf_integer(u64, data, data)
- )
-)
-
LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
TP_PROTO(const struct btrfs_root *root,
@@ -2120,23 +2175,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
-
- btrfs_find_free_extent,
-
- TP_PROTO(struct btrfs_root *root, u64 num_bytes, u64 empty_size,
- u64 data),
-
- TP_ARGS(root, num_bytes, empty_size, data),
-
- TP_FIELDS(
- ctf_integer(u64, root_objectid, root->root_key.objectid)
- ctf_integer(u64, num_bytes, num_bytes)
- ctf_integer(u64, empty_size, empty_size)
- ctf_integer(u64, data, data)
- )
-)
-
LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
TP_PROTO(struct btrfs_root *root,
--
2.25.1

View File

@@ -1,179 +0,0 @@
From d51a3332909ff034c8ec16ead0090bd6a4e2bc38 Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Tue, 27 Oct 2020 12:10:05 -0400
Subject: [PATCH 04/16] fix: btrfs: make ordered extent tracepoint take
btrfs_inode (v5.10)
See upstream commit :
commit acbf1dd0fcbd10c67826a19958f55a053b32f532
Author: Nikolay Borisov <nborisov@suse.com>
Date: Mon Aug 31 14:42:40 2020 +0300
btrfs: make ordered extent tracepoint take btrfs_inode
Upstream-Status: Backport
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I096d0801ffe0ad826cfe414cdd1c0857cbd2b624
---
instrumentation/events/lttng-module/btrfs.h | 120 +++++++++++++++-----
1 file changed, 90 insertions(+), 30 deletions(-)
diff --git a/instrumentation/events/lttng-module/btrfs.h b/instrumentation/events/lttng-module/btrfs.h
index 52fcfd0d..d47f3280 100644
--- a/instrumentation/events/lttng-module/btrfs.h
+++ b/instrumentation/events/lttng-module/btrfs.h
@@ -346,7 +346,29 @@ LTTNG_TRACEPOINT_EVENT(btrfs_handle_em_exist,
)
#endif
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
+
+ TP_PROTO(const struct btrfs_inode *inode,
+ const struct btrfs_ordered_extent *ordered),
+
+ TP_ARGS(inode, ordered),
+
+ TP_FIELDS(
+ ctf_array(u8, fsid, inode->root->lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+ ctf_integer(ino_t, ino, btrfs_ino(inode))
+ ctf_integer(u64, file_offset, ordered->file_offset)
+ ctf_integer(u64, start, ordered->disk_bytenr)
+ ctf_integer(u64, len, ordered->num_bytes)
+ ctf_integer(u64, disk_len, ordered->disk_num_bytes)
+ ctf_integer(u64, bytes_left, ordered->bytes_left)
+ ctf_integer(unsigned long, flags, ordered->flags)
+ ctf_integer(int, compress_type, ordered->compress_type)
+ ctf_integer(int, refs, refcount_read(&ordered->refs))
+ ctf_integer(u64, root_objectid, inode->root->root_key.objectid)
+ )
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0))
LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
TP_PROTO(const struct inode *inode,
@@ -458,7 +480,39 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
)
#endif
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_add,
+
+ TP_PROTO(const struct btrfs_inode *inode,
+ const struct btrfs_ordered_extent *ordered),
+
+ TP_ARGS(inode, ordered)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_remove,
+
+ TP_PROTO(const struct btrfs_inode *inode,
+ const struct btrfs_ordered_extent *ordered),
+
+ TP_ARGS(inode, ordered)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_start,
+
+ TP_PROTO(const struct btrfs_inode *inode,
+ const struct btrfs_ordered_extent *ordered),
+
+ TP_ARGS(inode, ordered)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put,
+
+ TP_PROTO(const struct btrfs_inode *inode,
+ const struct btrfs_ordered_extent *ordered),
+
+ TP_ARGS(inode, ordered)
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
@@ -494,7 +548,41 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put,
TP_ARGS(inode, ordered)
)
+#else
+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_add,
+
+ TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
+
+ TP_ARGS(inode, ordered)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_remove,
+
+ TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
+
+ TP_ARGS(inode, ordered)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_start,
+
+ TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
+
+ TP_ARGS(inode, ordered)
+)
+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put,
+
+ TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
+
+ TP_ARGS(inode, ordered)
+)
+#endif
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
+ LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+ LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+ LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
+ LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__writepage,
TP_PROTO(const struct page *page, const struct inode *inode,
@@ -563,34 +651,6 @@ LTTNG_TRACEPOINT_EVENT(btrfs_sync_file,
)
)
#else
-LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_add,
-
- TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
-
- TP_ARGS(inode, ordered)
-)
-
-LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_remove,
-
- TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
-
- TP_ARGS(inode, ordered)
-)
-
-LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_start,
-
- TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
-
- TP_ARGS(inode, ordered)
-)
-
-LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put,
-
- TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
-
- TP_ARGS(inode, ordered)
-)
-
LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__writepage,
TP_PROTO(struct page *page, struct inode *inode,
--
2.25.1

View File

@@ -1,91 +0,0 @@
From b96f5364ba4d5a8b9e8159fe0b9e20d598a1c0f5 Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Mon, 26 Oct 2020 17:03:23 -0400
Subject: [PATCH 05/16] fix: ext4: fast commit recovery path (v5.10)
See upstream commit :
commit 8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2
Author: Harshad Shirwadkar <harshadshirwadkar@gmail.com>
Date: Thu Oct 15 13:37:59 2020 -0700
ext4: fast commit recovery path
This patch adds fast commit recovery path support for Ext4 file
system. We add several helper functions that are similar in spirit to
e2fsprogs journal recovery path handlers. Example of such functions
include - a simple block allocator, idempotent block bitmap update
function etc. Using these routines and the fast commit log in the fast
commit area, the recovery path (ext4_fc_replay()) performs fast commit
log recovery.
Upstream-Status: Backport
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Ia65cf44e108f2df0b458f0d335f33a8f18f50baa
---
instrumentation/events/lttng-module/ext4.h | 40 ++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h
index f9a55e29..5fddccad 100644
--- a/instrumentation/events/lttng-module/ext4.h
+++ b/instrumentation/events/lttng-module/ext4.h
@@ -1423,6 +1423,18 @@ LTTNG_TRACEPOINT_EVENT(ext4_ext_load_extent,
)
)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
+LTTNG_TRACEPOINT_EVENT(ext4_load_inode,
+ TP_PROTO(struct super_block *sb, unsigned long ino),
+
+ TP_ARGS(sb, ino),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, sb->s_dev)
+ ctf_integer(ino_t, ino, ino)
+ )
+)
+#else
LTTNG_TRACEPOINT_EVENT(ext4_load_inode,
TP_PROTO(struct inode *inode),
@@ -2045,6 +2057,34 @@ LTTNG_TRACEPOINT_EVENT(ext4_es_shrink_exit,
#endif
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
+LTTNG_TRACEPOINT_EVENT(ext4_fc_replay_scan,
+ TP_PROTO(struct super_block *sb, int error, int off),
+
+ TP_ARGS(sb, error, off),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, sb->s_dev)
+ ctf_integer(int, error, error)
+ ctf_integer(int, off, off)
+ )
+)
+
+LTTNG_TRACEPOINT_EVENT(ext4_fc_replay,
+ TP_PROTO(struct super_block *sb, int tag, int ino, int priv1, int priv2),
+
+ TP_ARGS(sb, tag, ino, priv1, priv2),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, sb->s_dev)
+ ctf_integer(int, tag, tag)
+ ctf_integer(int, ino, ino)
+ ctf_integer(int, priv1, priv1)
+ ctf_integer(int, priv2, priv2)
+ )
+)
+#endif
+
#endif /* LTTNG_TRACE_EXT4_H */
/* This part must be outside protection */
--
2.25.1

View File

@@ -1,124 +0,0 @@
From a6334775b763c187d84914e89a0b835a793ae0fd Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Mon, 26 Oct 2020 14:11:17 -0400
Subject: [PATCH 06/16] fix: KVM: x86: Add intr/vectoring info and error code
to kvm_exit tracepoint (v5.10)
See upstream commit :
commit 235ba74f008d2e0936b29f77f68d4e2f73ffd24a
Author: Sean Christopherson <sean.j.christopherson@intel.com>
Date: Wed Sep 23 13:13:46 2020 -0700
KVM: x86: Add intr/vectoring info and error code to kvm_exit tracepoint
Extend the kvm_exit tracepoint to align it with kvm_nested_vmexit in
terms of what information is captured. On SVM, add interrupt info and
error code, while on VMX it add IDT vectoring and error code. This
sets the stage for macrofying the kvm_exit tracepoint definition so that
it can be reused for kvm_nested_vmexit without loss of information.
Opportunistically stuff a zero for VM_EXIT_INTR_INFO if the VM-Enter
failed, as the field is guaranteed to be invalid. Note, it'd be
possible to further filter the interrupt/exception fields based on the
VM-Exit reason, but the helper is intended only for tracepoints, i.e.
an extra VMREAD or two is a non-issue, the failed VM-Enter case is just
low hanging fruit.
Upstream-Status: Backport
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I638fa29ef7d8bb432de42a33f9ae4db43259b915
---
.../events/lttng-module/arch/x86/kvm/trace.h | 55 ++++++++++++++++++-
1 file changed, 53 insertions(+), 2 deletions(-)
diff --git a/instrumentation/events/lttng-module/arch/x86/kvm/trace.h b/instrumentation/events/lttng-module/arch/x86/kvm/trace.h
index 4416ae02..0917b51f 100644
--- a/instrumentation/events/lttng-module/arch/x86/kvm/trace.h
+++ b/instrumentation/events/lttng-module/arch/x86/kvm/trace.h
@@ -115,6 +115,37 @@ LTTNG_TRACEPOINT_EVENT_MAP(kvm_apic, kvm_x86_apic,
/*
* Tracepoint for kvm guest exit:
*/
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
+LTTNG_TRACEPOINT_EVENT_CODE_MAP(kvm_exit, kvm_x86_exit,
+ TP_PROTO(unsigned int exit_reason, struct kvm_vcpu *vcpu, u32 isa),
+ TP_ARGS(exit_reason, vcpu, isa),
+
+ TP_locvar(
+ u64 info1, info2;
+ u32 intr_info, error_code;
+ ),
+
+ TP_code_pre(
+ kvm_x86_ops.get_exit_info(vcpu, &tp_locvar->info1,
+ &tp_locvar->info2,
+ &tp_locvar->intr_info,
+ &tp_locvar->error_code);
+ ),
+
+ TP_FIELDS(
+ ctf_integer(unsigned int, exit_reason, exit_reason)
+ ctf_integer(unsigned long, guest_rip, kvm_rip_read(vcpu))
+ ctf_integer(u32, isa, isa)
+ ctf_integer(u64, info1, tp_locvar->info1)
+ ctf_integer(u64, info2, tp_locvar->info2)
+ ctf_integer(u32, intr_info, tp_locvar->intr_info)
+ ctf_integer(u32, error_code, tp_locvar->error_code)
+ ctf_integer(unsigned int, vcpu_id, vcpu->vcpu_id)
+ ),
+
+ TP_code_post()
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0))
LTTNG_TRACEPOINT_EVENT_CODE_MAP(kvm_exit, kvm_x86_exit,
TP_PROTO(unsigned int exit_reason, struct kvm_vcpu *vcpu, u32 isa),
TP_ARGS(exit_reason, vcpu, isa),
@@ -124,13 +155,32 @@ LTTNG_TRACEPOINT_EVENT_CODE_MAP(kvm_exit, kvm_x86_exit,
),
TP_code_pre(
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0))
kvm_x86_ops.get_exit_info(vcpu, &tp_locvar->info1,
&tp_locvar->info2);
+ ),
+
+ TP_FIELDS(
+ ctf_integer(unsigned int, exit_reason, exit_reason)
+ ctf_integer(unsigned long, guest_rip, kvm_rip_read(vcpu))
+ ctf_integer(u32, isa, isa)
+ ctf_integer(u64, info1, tp_locvar->info1)
+ ctf_integer(u64, info2, tp_locvar->info2)
+ ),
+
+ TP_code_post()
+)
#else
+LTTNG_TRACEPOINT_EVENT_CODE_MAP(kvm_exit, kvm_x86_exit,
+ TP_PROTO(unsigned int exit_reason, struct kvm_vcpu *vcpu, u32 isa),
+ TP_ARGS(exit_reason, vcpu, isa),
+
+ TP_locvar(
+ u64 info1, info2;
+ ),
+
+ TP_code_pre(
kvm_x86_ops->get_exit_info(vcpu, &tp_locvar->info1,
&tp_locvar->info2);
-#endif
),
TP_FIELDS(
@@ -143,6 +193,7 @@ LTTNG_TRACEPOINT_EVENT_CODE_MAP(kvm_exit, kvm_x86_exit,
TP_code_post()
)
+#endif
/*
* Tracepoint for kvm interrupt injection:
--
2.25.1

View File

@@ -1,82 +0,0 @@
From 2f421c43c60b2c9d3ed63c1a363320e98a536a35 Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Mon, 26 Oct 2020 14:28:35 -0400
Subject: [PATCH 07/16] fix: kvm: x86/mmu: Add TDP MMU PF handler (v5.10)
See upstream commit :
commit bb18842e21111a979e2e0e1c5d85c09646f18d51
Author: Ben Gardon <bgardon@google.com>
Date: Wed Oct 14 11:26:50 2020 -0700
kvm: x86/mmu: Add TDP MMU PF handler
Add functions to handle page faults in the TDP MMU. These page faults
are currently handled in much the same way as the x86 shadow paging
based MMU, however the ordering of some operations is slightly
different. Future patches will add eager NX splitting, a fast page fault
handler, and parallel page faults.
Tested by running kvm-unit-tests and KVM selftests on an Intel Haswell
machine. This series introduced no new failures.
Upstream-Status: Backport
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Ie56959cb6c77913d2f1188b0ca15da9114623a4e
---
.../lttng-module/arch/x86/kvm/mmutrace.h | 20 ++++++++++++++++++-
probes/lttng-probe-kvm-x86-mmu.c | 5 +++++
2 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h b/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h
index e5470400..86717835 100644
--- a/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h
+++ b/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h
@@ -163,7 +163,25 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(kvm_mmu_page_class, kvm_mmu_prepare_zap_page,
TP_ARGS(sp)
)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
+
+LTTNG_TRACEPOINT_EVENT_MAP(
+ mark_mmio_spte,
+
+ kvm_mmu_mark_mmio_spte,
+
+ TP_PROTO(u64 *sptep, gfn_t gfn, u64 spte),
+ TP_ARGS(sptep, gfn, spte),
+
+ TP_FIELDS(
+ ctf_integer_hex(void *, sptep, sptep)
+ ctf_integer(gfn_t, gfn, gfn)
+ ctf_integer(unsigned, access, spte & ACC_ALL)
+ ctf_integer(unsigned int, gen, get_mmio_spte_generation(spte))
+ )
+)
+
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
LTTNG_TRACEPOINT_EVENT_MAP(
mark_mmio_spte,
diff --git a/probes/lttng-probe-kvm-x86-mmu.c b/probes/lttng-probe-kvm-x86-mmu.c
index 8f981865..5043c776 100644
--- a/probes/lttng-probe-kvm-x86-mmu.c
+++ b/probes/lttng-probe-kvm-x86-mmu.c
@@ -31,6 +31,11 @@
#include <../../arch/x86/kvm/mmutrace.h>
#endif
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
+#include <../arch/x86/kvm/mmu.h>
+#include <../arch/x86/kvm/mmu/spte.h>
+#endif
+
#undef TRACE_INCLUDE_PATH
#undef TRACE_INCLUDE_FILE
--
2.25.1

View File

@@ -1,71 +0,0 @@
From 14bbccffa579f4d66e2900843d6afae1294ce7c8 Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Mon, 26 Oct 2020 17:07:13 -0400
Subject: [PATCH 08/16] fix: KVM: x86/mmu: Return unique RET_PF_* values if the
fault was fixed (v5.10)
See upstream commit :
commit c4371c2a682e0da1ed2cd7e3c5496f055d873554
Author: Sean Christopherson <sean.j.christopherson@intel.com>
Date: Wed Sep 23 15:04:24 2020 -0700
KVM: x86/mmu: Return unique RET_PF_* values if the fault was fixed
Introduce RET_PF_FIXED and RET_PF_SPURIOUS to provide unique return
values instead of overloading RET_PF_RETRY. In the short term, the
unique values add clarity to the code and RET_PF_SPURIOUS will be used
by set_spte() to avoid unnecessary work for spurious faults.
In the long term, TDX will use RET_PF_FIXED to deterministically map
memory during pre-boot. The page fault flow may bail early for benign
reasons, e.g. if the mmu_notifier fires for an unrelated address. With
only RET_PF_RETRY, it's impossible for the caller to distinguish between
"cool, page is mapped" and "darn, need to try again", and thus cannot
handle benign cases like the mmu_notifier retry.
Upstream-Status: Backport
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Ie0855c78852b45f588e131fe2463e15aae1bc023
---
.../lttng-module/arch/x86/kvm/mmutrace.h | 22 ++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h b/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h
index 86717835..cdf0609f 100644
--- a/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h
+++ b/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h
@@ -233,7 +233,27 @@ LTTNG_TRACEPOINT_EVENT_MAP(
)
)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) || \
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
+LTTNG_TRACEPOINT_EVENT_MAP(
+ fast_page_fault,
+
+ kvm_mmu_fast_page_fault,
+
+ TP_PROTO(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, u32 error_code,
+ u64 *sptep, u64 old_spte, int ret),
+ TP_ARGS(vcpu, cr2_or_gpa, error_code, sptep, old_spte, ret),
+
+ TP_FIELDS(
+ ctf_integer(int, vcpu_id, vcpu->vcpu_id)
+ ctf_integer(gpa_t, cr2_or_gpa, cr2_or_gpa)
+ ctf_integer(u32, error_code, error_code)
+ ctf_integer_hex(u64 *, sptep, sptep)
+ ctf_integer(u64, old_spte, old_spte)
+ ctf_integer(u64, new_spte, *sptep)
+ ctf_integer(int, ret, ret)
+ )
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) || \
LTTNG_KERNEL_RANGE(4,19,103, 4,20,0) || \
LTTNG_KERNEL_RANGE(5,4,19, 5,5,0) || \
LTTNG_KERNEL_RANGE(5,5,3, 5,6,0) || \
--
2.25.1

View File

@@ -1,155 +0,0 @@
From c6b31b349fe901a8f586a66064f9e9b15449ac1c Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Mon, 26 Oct 2020 17:09:05 -0400
Subject: [PATCH 09/16] fix: tracepoint: Optimize using static_call() (v5.10)
See upstream commit :
commit d25e37d89dd2f41d7acae0429039d2f0ae8b4a07
Author: Steven Rostedt (VMware) <rostedt@goodmis.org>
Date: Tue Aug 18 15:57:52 2020 +0200
tracepoint: Optimize using static_call()
Currently the tracepoint site will iterate a vector and issue indirect
calls to however many handlers are registered (ie. the vector is
long).
Using static_call() it is possible to optimize this for the common
case of only having a single handler registered. In this case the
static_call() can directly call this handler. Otherwise, if the vector
is longer than 1, call a function that iterates the whole vector like
the current code.
Upstream-Status: Backport
Change-Id: I739dd84d62cc1a821b8bd8acff74fa29aa25d22f
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
---
lttng-statedump-impl.c | 44 ++++++++++++++++++++++++++++++++-------
probes/lttng.c | 7 +++++--
tests/probes/lttng-test.c | 7 ++++++-
wrapper/tracepoint.h | 8 +++++++
4 files changed, 56 insertions(+), 10 deletions(-)
diff --git a/lttng-statedump-impl.c b/lttng-statedump-impl.c
index 54a309d1..e0b19b42 100644
--- a/lttng-statedump-impl.c
+++ b/lttng-statedump-impl.c
@@ -55,13 +55,43 @@
#define LTTNG_INSTRUMENTATION
#include <instrumentation/events/lttng-module/lttng-statedump.h>
-DEFINE_TRACE(lttng_statedump_block_device);
-DEFINE_TRACE(lttng_statedump_end);
-DEFINE_TRACE(lttng_statedump_interrupt);
-DEFINE_TRACE(lttng_statedump_file_descriptor);
-DEFINE_TRACE(lttng_statedump_start);
-DEFINE_TRACE(lttng_statedump_process_state);
-DEFINE_TRACE(lttng_statedump_network_interface);
+LTTNG_DEFINE_TRACE(lttng_statedump_block_device,
+ TP_PROTO(struct lttng_session *session,
+ dev_t dev, const char *diskname),
+ TP_ARGS(session, dev, diskname));
+
+LTTNG_DEFINE_TRACE(lttng_statedump_end,
+ TP_PROTO(struct lttng_session *session),
+ TP_ARGS(session));
+
+LTTNG_DEFINE_TRACE(lttng_statedump_interrupt,
+ TP_PROTO(struct lttng_session *session,
+ unsigned int irq, const char *chip_name,
+ struct irqaction *action),
+ TP_ARGS(session, irq, chip_name, action));
+
+LTTNG_DEFINE_TRACE(lttng_statedump_file_descriptor,
+ TP_PROTO(struct lttng_session *session,
+ struct files_struct *files,
+ int fd, const char *filename,
+ unsigned int flags, fmode_t fmode),
+ TP_ARGS(session, files, fd, filename, flags, fmode));
+
+LTTNG_DEFINE_TRACE(lttng_statedump_start,
+ TP_PROTO(struct lttng_session *session),
+ TP_ARGS(session));
+
+LTTNG_DEFINE_TRACE(lttng_statedump_process_state,
+ TP_PROTO(struct lttng_session *session,
+ struct task_struct *p,
+ int type, int mode, int submode, int status,
+ struct files_struct *files),
+ TP_ARGS(session, p, type, mode, submode, status, files));
+
+LTTNG_DEFINE_TRACE(lttng_statedump_network_interface,
+ TP_PROTO(struct lttng_session *session,
+ struct net_device *dev, struct in_ifaddr *ifa),
+ TP_ARGS(session, dev, ifa));
struct lttng_fd_ctx {
char *page;
diff --git a/probes/lttng.c b/probes/lttng.c
index 05bc1388..7ddaa69f 100644
--- a/probes/lttng.c
+++ b/probes/lttng.c
@@ -8,7 +8,7 @@
*/
#include <linux/module.h>
-#include <linux/tracepoint.h>
+#include <wrapper/tracepoint.h>
#include <linux/uaccess.h>
#include <linux/gfp.h>
#include <linux/fs.h>
@@ -32,7 +32,10 @@
#define LTTNG_LOGGER_COUNT_MAX 1024
#define LTTNG_LOGGER_FILE "lttng-logger"
-DEFINE_TRACE(lttng_logger);
+LTTNG_DEFINE_TRACE(lttng_logger,
+ PARAMS(const char __user *text, size_t len),
+ PARAMS(text, len)
+);
static struct proc_dir_entry *lttng_logger_dentry;
diff --git a/tests/probes/lttng-test.c b/tests/probes/lttng-test.c
index c728bed5..8f2d3feb 100644
--- a/tests/probes/lttng-test.c
+++ b/tests/probes/lttng-test.c
@@ -26,7 +26,12 @@
#define LTTNG_INSTRUMENTATION
#include <instrumentation/events/lttng-module/lttng-test.h>
-DEFINE_TRACE(lttng_test_filter_event);
+LTTNG_DEFINE_TRACE(lttng_test_filter_event,
+ PARAMS(int anint, int netint, long *values,
+ char *text, size_t textlen,
+ char *etext, uint32_t * net_values),
+ PARAMS(anint, netint, values, text, textlen, etext, net_values)
+);
#define LTTNG_TEST_FILTER_EVENT_FILE "lttng-test-filter-event"
diff --git a/wrapper/tracepoint.h b/wrapper/tracepoint.h
index 3883e11a..758038b6 100644
--- a/wrapper/tracepoint.h
+++ b/wrapper/tracepoint.h
@@ -20,6 +20,14 @@
#endif
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
+#define LTTNG_DEFINE_TRACE(name, proto, args) \
+ DEFINE_TRACE(name, PARAMS(proto), PARAMS(args))
+#else
+#define LTTNG_DEFINE_TRACE(name, proto, args) \
+ DEFINE_TRACE(name)
+#endif
+
#ifndef HAVE_KABI_2635_TRACEPOINT
#define kabi_2635_tracepoint_probe_register tracepoint_probe_register
--
2.25.1

View File

@@ -1,31 +0,0 @@
From 2ce89d35c9477d8c17c00489c72e1548e16af9b9 Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Fri, 20 Nov 2020 11:42:30 -0500
Subject: [PATCH 10/16] fix: include order for older kernels
Fixes a build failure on v3.0 and v3.1.
Upstream-Status: Backport
Change-Id: Ic48512d2aa5ee46678e67d147b92dba6d0959615
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
---
lttng-events.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/lttng-events.h b/lttng-events.h
index 099fd78b..f5cc57c6 100644
--- a/lttng-events.h
+++ b/lttng-events.h
@@ -16,6 +16,7 @@
#include <linux/kref.h>
#include <lttng-cpuhotplug.h>
#include <linux/uuid.h>
+#include <linux/irq_work.h>
#include <wrapper/uprobes.h>
#include <lttng-tracer.h>
#include <lttng-abi.h>
--
2.25.1

View File

@@ -1,59 +0,0 @@
From 22ffa48439e617a32556365e00827fba062c5688 Mon Sep 17 00:00:00 2001
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Date: Mon, 23 Nov 2020 10:49:57 -0500
Subject: [PATCH 11/16] Add release maintainer script
Upstream-Status: Backport
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
---
scripts/maintainer/do-release.sh | 37 ++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
create mode 100755 scripts/maintainer/do-release.sh
diff --git a/scripts/maintainer/do-release.sh b/scripts/maintainer/do-release.sh
new file mode 100755
index 00000000..e0cec167
--- /dev/null
+++ b/scripts/maintainer/do-release.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+# invoke with do-release 2.N.M, or 2.N.M-rcXX
+
+REL=$1
+SRCDIR=~/git/lttng-modules
+# The output files are created in ${HOME}/stable/
+OUTPUTDIR=${HOME}/stable
+
+if [ x"$1" = x"" ]; then
+ echo "1 arg : VERSION";
+ exit 1;
+fi
+
+cd ${OUTPUTDIR}
+
+echo Doing LTTng modules release ${REL}
+
+mkdir lttng-modules-${REL}
+cd lttng-modules-${REL}
+cp -ax ${SRCDIR}/. .
+
+#cleanup
+make clean
+git clean -xdf
+
+for a in \*.orig \*.rej Module.markers Module.symvers; do
+ find . -name "${a}" -exec rm '{}' \;;
+done
+for a in outgoing .tmp_versions .git .pc; do
+ find . -name "${a}" -exec rm -rf '{}' \;;
+done
+
+cd ..
+tar cvfj lttng-modules-${REL}.tar.bz2 lttng-modules-${REL}
+mksums lttng-modules-${REL}.tar.bz2
+signpkg lttng-modules-${REL}.tar.bz2
--
2.25.1

View File

@@ -1,173 +0,0 @@
From a241d30fa82ed0be1026f14e36e8bd2b0e65740d Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Mon, 23 Nov 2020 12:15:43 -0500
Subject: [PATCH 12/16] Improve the release script
* Use git-archive, this removes all custom code to cleanup the repo, it
can now be used in an unclean repo as the code will be exported from
a specific tag.
* Add parameters, this will allow using the script on any machine
while keeping the default behavior for the maintainer.
Upstream-Status: Backport
Change-Id: I9f29d0e1afdbf475d0bbaeb9946ca3216f725e86
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
---
.gitattributes | 3 +
scripts/maintainer/do-release.sh | 121 +++++++++++++++++++++++++------
2 files changed, 100 insertions(+), 24 deletions(-)
create mode 100644 .gitattributes
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 00000000..7839355a
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,3 @@
+.gitattributes export-ignore
+.gitignore export-ignore
+.gitreview export-ignore
diff --git a/scripts/maintainer/do-release.sh b/scripts/maintainer/do-release.sh
index e0cec167..5e94e136 100755
--- a/scripts/maintainer/do-release.sh
+++ b/scripts/maintainer/do-release.sh
@@ -1,37 +1,110 @@
-#!/bin/sh
+#!/bin/bash
+
+set -eu
+set -o pipefail
# invoke with do-release 2.N.M, or 2.N.M-rcXX
-REL=$1
-SRCDIR=~/git/lttng-modules
+# Default maintainer values
+SRCDIR="${HOME}/git/lttng-modules"
# The output files are created in ${HOME}/stable/
-OUTPUTDIR=${HOME}/stable
+OUTPUTDIR="${HOME}/stable"
+SIGN="yes"
+VERBOSE=""
+
+usage() {
+ echo "Usage: do-release.sh [OPTION]... RELEASE"
+ echo
+ echo "Mandatory arguments to long options are mandatory for short options too."
+ echo " -s, --srcdir DIR source directory"
+ echo " -o, --outputdir DIR output directory, must exist"
+ echo " -n, --no-sign don't GPG sign the output archive"
+ echo " -v, --verbose verbose command output"
+}
+
+POS_ARGS=()
+while [[ $# -gt 0 ]]
+do
+ arg="$1"
+
+ case $arg in
+ -n|--no-sign)
+ SIGN="no"
+ shift 1
+ ;;
+
+ -s|--srcdir)
+ SRCDIR="$2"
+ shift 2
+ ;;
+
+ -o|--outputdir)
+ OUTPUTDIR="$2"
+ shift 2
+ ;;
+
+ -v|--verbose)
+ VERBOSE="-v"
+ shift 1
+ ;;
+
+ # Catch unknown arguments
+ -*)
+ usage
+ exit 1
+ ;;
+
+ *)
+ POS_ARGS+=("$1")
+ shift
+ ;;
+ esac
+done
+set -- "${POS_ARGS[@]}"
-if [ x"$1" = x"" ]; then
- echo "1 arg : VERSION";
+REL=${1:-}
+
+if [ x"${REL}" = x"" ]; then
+ usage
exit 1;
fi
-cd ${OUTPUTDIR}
+echo "Doing LTTng modules release ${REL}"
+echo " Source dir: ${SRCDIR}"
+echo " Output dir: ${OUTPUTDIR}"
+echo " GPG sign: ${SIGN}"
-echo Doing LTTng modules release ${REL}
+# Make sure the output directory exists
+if [ ! -d "${OUTPUTDIR}" ]; then
+ echo "Output directory '${OUTPUTDIR}' doesn't exist."
+ exit 1
+fi
-mkdir lttng-modules-${REL}
-cd lttng-modules-${REL}
-cp -ax ${SRCDIR}/. .
+# Make sure the source directory is a git repository
+if [ ! -r "${SRCDIR}/.git/config" ]; then
+ echo "Source directory '${SRCDIR}' isn't a git repository."
+ exit 1
+fi
-#cleanup
-make clean
-git clean -xdf
+# Set the git repo directory for all further git commands
+export GIT_DIR="${SRCDIR}/.git/"
-for a in \*.orig \*.rej Module.markers Module.symvers; do
- find . -name "${a}" -exec rm '{}' \;;
-done
-for a in outgoing .tmp_versions .git .pc; do
- find . -name "${a}" -exec rm -rf '{}' \;;
-done
+# Check if the release tag exists
+if ! git rev-parse "refs/tags/v${REL}" >/dev/null 2>&1; then
+ echo "Release tag 'v${REL}' doesn't exist."
+ exit 1
+fi
+
+# Generate the compressed tar archive, the git attributes from the tag will be used.
+git archive $VERBOSE --format=tar --prefix="lttng-modules-${REL}/" "v${REL}" | bzip2 > "${OUTPUTDIR}/lttng-modules-${REL}.tar.bz2"
-cd ..
-tar cvfj lttng-modules-${REL}.tar.bz2 lttng-modules-${REL}
-mksums lttng-modules-${REL}.tar.bz2
-signpkg lttng-modules-${REL}.tar.bz2
+pushd "${OUTPUTDIR}" >/dev/null
+# Generate the hashes
+md5sum "lttng-modules-${REL}.tar.bz2" > "lttng-modules-${REL}.tar.bz2.md5"
+sha256sum "lttng-modules-${REL}.tar.bz2" > "lttng-modules-${REL}.tar.bz2.sha256"
+
+if [ "x${SIGN}" = "xyes" ]; then
+ # Sign with the default key
+ gpg --armor -b "lttng-modules-${REL}.tar.bz2"
+fi
+popd >/dev/null
--
2.25.1

View File

@@ -1,32 +0,0 @@
From 59fcc704bea8ecf4bd401e744df41e3331359524 Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Mon, 23 Nov 2020 10:19:52 -0500
Subject: [PATCH 13/16] fix: backport of fix: ext4: fast commit recovery path
(v5.10)
Add missing '#endif'.
Upstream-Status: Backport
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I43349d685d7ed740b32ce992be0c2e7e6f12c799
---
instrumentation/events/lttng-module/ext4.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h
index 5fddccad..d454fa6e 100644
--- a/instrumentation/events/lttng-module/ext4.h
+++ b/instrumentation/events/lttng-module/ext4.h
@@ -1446,6 +1446,7 @@ LTTNG_TRACEPOINT_EVENT(ext4_load_inode,
)
)
#endif
+#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
--
2.25.1

View File

@@ -1,32 +0,0 @@
From b2df75dd378ce5260bb51872e43ac1d76fbf4588 Mon Sep 17 00:00:00 2001
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Date: Mon, 23 Nov 2020 14:21:51 -0500
Subject: [PATCH 14/16] Revert "fix: include order for older kernels"
This reverts commit 2ce89d35c9477d8c17c00489c72e1548e16af9b9.
This commit is only needed for master and stable-2.12, because
stable-2.11 does not include irq_work.h.
Upstream-Status: Backport
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
---
lttng-events.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/lttng-events.h b/lttng-events.h
index f5cc57c6..099fd78b 100644
--- a/lttng-events.h
+++ b/lttng-events.h
@@ -16,7 +16,6 @@
#include <linux/kref.h>
#include <lttng-cpuhotplug.h>
#include <linux/uuid.h>
-#include <linux/irq_work.h>
#include <wrapper/uprobes.h>
#include <lttng-tracer.h>
#include <lttng-abi.h>
--
2.25.1

View File

@@ -1,46 +0,0 @@
From f8922333020aaa267e17fb23180b56c4c16ebe9e Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Tue, 24 Nov 2020 11:11:42 -0500
Subject: [PATCH 15/16] fix: backport of fix: tracepoint: Optimize using
static_call() (v5.10)
Upstream-Status: Backport
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I94f2b845f11654e639f03254185980de527a4ca8
---
lttng-statedump-impl.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/lttng-statedump-impl.c b/lttng-statedump-impl.c
index e0b19b42..a8c32db5 100644
--- a/lttng-statedump-impl.c
+++ b/lttng-statedump-impl.c
@@ -72,10 +72,9 @@ LTTNG_DEFINE_TRACE(lttng_statedump_interrupt,
LTTNG_DEFINE_TRACE(lttng_statedump_file_descriptor,
TP_PROTO(struct lttng_session *session,
- struct files_struct *files,
- int fd, const char *filename,
+ struct task_struct *p, int fd, const char *filename,
unsigned int flags, fmode_t fmode),
- TP_ARGS(session, files, fd, filename, flags, fmode));
+ TP_ARGS(session, p, fd, filename, flags, fmode));
LTTNG_DEFINE_TRACE(lttng_statedump_start,
TP_PROTO(struct lttng_session *session),
@@ -85,8 +84,8 @@ LTTNG_DEFINE_TRACE(lttng_statedump_process_state,
TP_PROTO(struct lttng_session *session,
struct task_struct *p,
int type, int mode, int submode, int status,
- struct files_struct *files),
- TP_ARGS(session, p, type, mode, submode, status, files));
+ struct pid_namespace *pid_ns),
+ TP_ARGS(session, p, type, mode, submode, status, pid_ns));
LTTNG_DEFINE_TRACE(lttng_statedump_network_interface,
TP_PROTO(struct lttng_session *session,
--
2.25.1

View File

@@ -1,30 +0,0 @@
From 5c3e67d7994097cc75f45258b7518aacb55dde1b Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Tue, 24 Nov 2020 11:27:18 -0500
Subject: [PATCH 16/16] fix: adjust version range for trace_find_free_extent()
Upstream-Status: Backport
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Iaa6088092cf58b4d29d55f3ff9586c57ae272302
---
instrumentation/events/lttng-module/btrfs.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/instrumentation/events/lttng-module/btrfs.h b/instrumentation/events/lttng-module/btrfs.h
index d47f3280..efe7af96 100644
--- a/instrumentation/events/lttng-module/btrfs.h
+++ b/instrumentation/events/lttng-module/btrfs.h
@@ -1917,7 +1917,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_f
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0) || \
- LTTNG_KERNEL_RANGE(5,9,6, 5,10,0) || \
+ LTTNG_KERNEL_RANGE(5,9,5, 5,10,0) || \
LTTNG_KERNEL_RANGE(5,4,78, 5,5,0))
LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
--
2.25.1

View File

@@ -0,0 +1,147 @@
fix: jbd2: use the correct print format
See upstream commit :
commit d87a7b4c77a997d5388566dd511ca8e6b8e8a0a8
Author: Bixuan Cui <cuibixuan@linux.alibaba.com>
Date: Tue Oct 11 19:33:44 2022 +0800
jbd2: use the correct print format
The print format error was found when using ftrace event:
<...>-1406 [000] .... 23599442.895823: jbd2_end_commit: dev 252,8 transaction -1866216965 sync 0 head -1866217368
<...>-1406 [000] .... 23599442.896299: jbd2_start_commit: dev 252,8 transaction -1866216964 sync 0
Use the correct print format for transaction, head and tid.
Change-Id: Ic053f0e0c1e24ebc75bae51d07696aaa5e1c0094
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Upstream-status: Backport
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Note: combines three upstream commits:
https://github.com/lttng/lttng-modules/commit/b28830a0dcdf95ec3e6b390b4d032667deaad0c0
https://github.com/lttng/lttng-modules/commit/4fd2615b87b3cac0fd5bdc5fc82db05f6fcfdecf
https://github.com/lttng/lttng-modules/commit/612c99eb24bf72f4d47d02025e92de8c35ece14e
diff --git a/instrumentation/events/lttng-module/jbd2.h b/instrumentation/events/lttng-module/jbd2.h
--- a/instrumentation/events/lttng-module/jbd2.h
+++ b/instrumentation/events/lttng-module/jbd2.h
@@ -29,6 +29,25 @@ LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint,
)
)
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \
+ || LTTNG_KERNEL_RANGE(5,4,229, 5,5,0) \
+ || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \
+ || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \
+ || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \
+ || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0))
+LTTNG_TRACEPOINT_EVENT_CLASS(jbd2_commit,
+
+ TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
+
+ TP_ARGS(journal, commit_transaction),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
+ ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
+ ctf_integer(tid_t, transaction, commit_transaction->t_tid)
+ )
+)
+#else
LTTNG_TRACEPOINT_EVENT_CLASS(jbd2_commit,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
@@ -41,6 +60,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(jbd2_commit
ctf_integer(int, transaction, commit_transaction->t_tid)
)
)
+#endif
LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_start_commit,
@@ -79,6 +99,25 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_com
)
#endif
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \
+ || LTTNG_KERNEL_RANGE(5,4,229, 5,5,0) \
+ || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \
+ || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \
+ || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \
+ || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0))
+LTTNG_TRACEPOINT_EVENT(jbd2_end_commit,
+ TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
+
+ TP_ARGS(journal, commit_transaction),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
+ ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
+ ctf_integer(tid_t, transaction, commit_transaction->t_tid)
+ ctf_integer(tid_t, head, journal->j_tail_sequence)
+ )
+)
+#else
LTTNG_TRACEPOINT_EVENT(jbd2_end_commit,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
@@ -91,6 +130,7 @@ LTTNG_TRACEPOINT_EVENT(jbd2_end_commit,
ctf_integer(int, head, journal->j_tail_sequence)
)
)
+#endif
LTTNG_TRACEPOINT_EVENT(jbd2_submit_inode_data,
TP_PROTO(struct inode *inode),
@@ -103,7 +143,48 @@ LTTNG_TRACEPOINT_EVENT(jbd2_submit_inode
)
)
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(2,6,32))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \
+ || LTTNG_KERNEL_RANGE(5,4,229, 5,5,0) \
+ || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \
+ || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \
+ || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \
+ || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0))
+LTTNG_TRACEPOINT_EVENT(jbd2_run_stats,
+ TP_PROTO(dev_t dev, tid_t tid,
+ struct transaction_run_stats_s *stats),
+
+ TP_ARGS(dev, tid, stats),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, dev)
+ ctf_integer(tid_t, tid, tid)
+ ctf_integer(unsigned long, wait, stats->rs_wait)
+ ctf_integer(unsigned long, running, stats->rs_running)
+ ctf_integer(unsigned long, locked, stats->rs_locked)
+ ctf_integer(unsigned long, flushing, stats->rs_flushing)
+ ctf_integer(unsigned long, logging, stats->rs_logging)
+ ctf_integer(__u32, handle_count, stats->rs_handle_count)
+ ctf_integer(__u32, blocks, stats->rs_blocks)
+ ctf_integer(__u32, blocks_logged, stats->rs_blocks_logged)
+ )
+)
+
+LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats,
+ TP_PROTO(dev_t dev, tid_t tid,
+ struct transaction_chp_stats_s *stats),
+
+ TP_ARGS(dev, tid, stats),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, dev)
+ ctf_integer(tid_t, tid, tid)
+ ctf_integer(unsigned long, chp_time, stats->cs_chp_time)
+ ctf_integer(__u32, forced_to_close, stats->cs_forced_to_close)
+ ctf_integer(__u32, written, stats->cs_written)
+ ctf_integer(__u32, dropped, stats->cs_dropped)
+ )
+)
+#else
LTTNG_TRACEPOINT_EVENT(jbd2_run_stats,
TP_PROTO(dev_t dev, unsigned long tid,
struct transaction_run_stats_s *stats),

View File

@@ -12,29 +12,14 @@ COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips|nios2|arm|riscv).*-linux'
SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \
file://0001-fix-strncpy-equals-destination-size-warning.patch \
file://0002-fix-objtool-Rename-frame.h-objtool.h-v5.10.patch \
file://0003-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch \
file://0004-fix-btrfs-make-ordered-extent-tracepoint-take-btrfs_.patch \
file://0005-fix-ext4-fast-commit-recovery-path-v5.10.patch \
file://0006-fix-KVM-x86-Add-intr-vectoring-info-and-error-code-t.patch \
file://0007-fix-kvm-x86-mmu-Add-TDP-MMU-PF-handler-v5.10.patch \
file://0008-fix-KVM-x86-mmu-Return-unique-RET_PF_-values-if-the-.patch \
file://0009-fix-tracepoint-Optimize-using-static_call-v5.10.patch \
file://0010-fix-include-order-for-older-kernels.patch \
file://0011-Add-release-maintainer-script.patch \
file://0012-Improve-the-release-script.patch \
file://0013-fix-backport-of-fix-ext4-fast-commit-recovery-path-v.patch \
file://0014-Revert-fix-include-order-for-older-kernels.patch \
file://0015-fix-backport-of-fix-tracepoint-Optimize-using-static.patch \
file://0016-fix-adjust-version-range-for-trace_find_free_extent.patch \
file://0017-fix-random-remove-unused-tracepoints-v5.18.patch \
file://0018-fix-random-remove-unused-tracepoints-v5.10-v5.15.patch \
file://0019-fix-random-tracepoints-removed-in-stable-kernels.patch \
file://fix-jbd2-use-the-correct-print-format.patch \
"
SRC_URI[md5sum] = "8ef09fdfcdec669d33f7fc1c1c80f2c4"
SRC_URI[sha256sum] = "23372811cdcd2ac28ba8c9d09484ed5f9238cfbd0043f8c663ff3875ba9c8566"
SRC_URI[md5sum] = "cfb23ea6bdaf1ad40c7f9ac098b4016d"
SRC_URI[sha256sum] = "0c5fe9f8d8dbd1411a3c1c643dcbd0a55577bd15845758b73948e00bc7c387a6"
export INSTALL_MOD_DIR="kernel/lttng-modules"

View File

@@ -0,0 +1,41 @@
From 656cb0450aeb73b25d7d26980af342b37ac4c568 Mon Sep 17 00:00:00 2001
From: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Date: Tue, 15 Feb 2022 17:58:08 +0800
Subject: [PATCH] avcodec/vp3: Add missing check for av_malloc
Since the av_malloc() may fail and return NULL pointer,
it is needed that the 's->edge_emu_buffer' should be checked
whether the new allocation is success.
Fixes: d14723861b ("VP3: fix decoding of videos with stride > 2048")
CVE: CVE-2022-3109
Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/656cb0450aeb73b25d7d26980af342b37ac4c568]
Comments: Refreshed hunk
Reviewed-by: Peter Ross <pross@xvid.org>
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Signed-off-by: Bhabu Bindu <bhabu.bindu@kpit.com>
---
libavcodec/vp3.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
index e9ab54d73677..e2418eb6fa04 100644
--- a/libavcodec/vp3.c
+++ b/libavcodec/vp3.c
@@ -2740,8 +2740,13 @@
if (ff_thread_get_buffer(avctx, &s->current_frame, AV_GET_BUFFER_FLAG_REF) < 0)
goto error;
- if (!s->edge_emu_buffer)
+ if (!s->edge_emu_buffer) {
s->edge_emu_buffer = av_malloc(9 * FFABS(s->current_frame.f->linesize[0]));
+ if (!s->edge_emu_buffer) {
+ ret = AVERROR(ENOMEM);
+ goto error;
+ }
+ }
if (s->keyframe) {
if (!s->theora) {

View File

@@ -30,6 +30,7 @@ SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
file://CVE-2021-3566.patch \
file://CVE-2021-38291.patch \
file://CVE-2022-1475.patch \
file://CVE-2022-3109.patch \
"
SRC_URI[md5sum] = "348956fc2faa57a2f79bbb84ded9fbc3"
SRC_URI[sha256sum] = "cb754255ab0ee2ea5f66f8850e1bd6ad5cac1cd855d0a2f4990fb8c668b0d29c"

View File

@@ -20,8 +20,8 @@ SRC_URI = "git://github.com/vim/vim.git;branch=master;protocol=https \
file://no-path-adjust.patch \
"
PV .= ".0947"
SRCREV = "cc762a48d42b579fb7bdec2c614636b830342dd5"
PV .= ".1211"
SRCREV = "f7d1c6e1884c76680980571f1cf15e0928d247b5"
# Remove when 8.3 is out
UPSTREAM_VERSION_UNKNOWN = "1"

View File

@@ -357,7 +357,7 @@ def _move_file(src, dst, dry_run_outdir=None, base_outdir=None):
bb.utils.mkdirhier(dst_d)
shutil.move(src, dst)
def _copy_file(src, dst, dry_run_outdir=None):
def _copy_file(src, dst, dry_run_outdir=None, base_outdir=None):
"""Copy a file. Creates all the directory components of destination path."""
dry_run_suffix = ' (dry-run)' if dry_run_outdir else ''
logger.debug('Copying %s to %s%s' % (src, dst, dry_run_suffix))