Compare commits

..

452 Commits

Author SHA1 Message Date
Steve Sakoman
755632c2fc build-appliance-image: Update to kirkstone head revision
(From OE-Core rev: eea685e1caafd8e8121006d3f8b5d0b8a4f2a933)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-15 04:03:05 -10:00
Steve Sakoman
387d01b0a4 poky.conf: bump version for 4.0.15
(From meta-yocto rev: 77c2830ae0c3e7370f7c816796981932ba0ec99a)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-15 04:00:33 -10:00
Mikko Rapeli
4761cbe1ee openssh: drop sudo from ptest dependencies
The tests don't actually need sudo on core-image-ptest-openssh.
Based on logs seen in
https://bugzilla.yoctoproject.org/show_bug.cgi?id=15178 it seems
that socket errors from sudo are creeping into stderr which are failing
the banner ptest from openssh. Removing sudo should help removing
the stderr messages and possibly cure the banner test failures.

(From OE-Core rev: 47e754f483b674b207bfddcc8d4c5d9a3008e102)

(From OE-Core rev: bce20153973ceff3ac9fc98b30e726aa6698d8ee)

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-15 04:00:33 -10:00
Alexander Kanavin
8a09f8472f gstreamer1.0-plugins-base: enable glx/opengl support
This is required by latest webkit when built with x11 support.

(From OE-Core rev: 024edebf6f722ae4d05411be348730d9eeb3bd7c)

(From OE-Core rev: 9fc0f0a15388af175bd53de5190801750064e60c)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Claus Stovgaard <claus.stovgaard@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-15 04:00:33 -10:00
Vijay Anusuri
82802901c6 gnutls: Backport fix for CVE-2023-5981
Upstream-Status: Backport [import from debian https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/gnutls28/3.7.3-4ubuntu1.3/gnutls28_3.7.3-4ubuntu1.3.debian.tar.xz
Upstream-Commit: 29d6298d0b]

References:
https://ubuntu.com/security/CVE-2023-5981

(From OE-Core rev: 421b468cf48f0d2c493356f482d92e61e39d7e0e)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-15 04:00:33 -10:00
Archana Polampalli
f22a96e5cc bluez5: fix CVE-2023-45866
Bluetooth HID Hosts in BlueZ may permit an unauthenticated Peripheral role
HID Device to initiate and establish an encrypted connection, and accept HID
keyboard reports,potentially permitting injection of HID messages when no user
interaction has occurred in the Central role to authorize such access. An example
affected package is bluez 5.64-0ubuntu1 in Ubuntu 22.04LTS. NOTE: in some cases,
a CVE-2020-0556 mitigation would have already addressed this Bluetooth HID Hosts issue.

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

Upstream patches:
https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/profiles/input?id=25a471a83e02e1effb15d5a488b3f0085eaeb675

(From OE-Core rev: f03cb448574a730d85ed6d80bb58561674005ede)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-15 04:00:33 -10:00
Vijay Anusuri
3562768af7 avahi: backport CVE-2023-1981 & CVE's follow-up patches
import patches from ubuntu to fix
 CVE-2023-1981
 CVE-2023-38469-2
 CVE-2023-38470-2
 CVE-2023-38471-2

Upstream-Status: Backport [import from ubuntu https://git.launchpad.net/ubuntu/+source/avahi/tree/debian/patches?h=ubuntu/jammy-security
Upstream commit
a2696da2f2
&
c6cab87df2
&
94cb648911
&
b675f70739]

Ref: https://git.openembedded.org/openembedded-core-contrib/commit/?h=stable/nanbield-nut&id=a9203c46cd64c3ec5e5b00e381bbac85733f85df

(From OE-Core rev: 32c0a3dc4d65065639260e77783dc427d4b1cfe3)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-15 04:00:33 -10:00
Steve Sakoman
6f84c60edf Revert "kernel-fitImage: Strip path component from dtb"
This change breaks arm64 (and likely mips & riscv)

This reverts commit 9a42349a176ca4d7a1bfab3425a0821dbcbd9368.

(From OE-Core rev: b77cd331199fa62e3b162f37efca3b927c68d8e5)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-14 04:08:22 -10:00
Richard Purdie
eadd5efcb3 native: Clear TUNE_FEATURES/ABIEXTENSION
Some recipes reference these. Rather than continually trying to chase down the references
and taskhash issues, clear the variables for an easier life and simpler code. These
wouldn't convey anything useful in a native build.

(From OE-Core rev: 09ecafaf0e128c4dea062d359de37cbef461aed2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f8edeead263708889d31a7ff578ef8274cb678b4)
Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-12 04:20:35 -10:00
Richard Purdie
e01044d629 rust-cross: Simplfy the rust_gen_target calls
Match the code in rust-cross-canadian so that further simplifications
can be considered in future.

(From OE-Core rev: 9fb5f81f58306b2d355049698b6a17d045bd5e1e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5cb62d0a33777cb9afb1eea5f736a2580ce50dc7)
Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-12 04:20:35 -10:00
Richard Purdie
079e50aba0 rust-cross/rust-common: Merge arm target handling code to fix cross-canadian
rust-cross had special handling for armv7 targets but we also need this
for cross-canadian. Merge the code into the main function so everything is
consistent.

Also then fix the arm definition to be arm-eabi since ABI is correctly
being looked up.

(From OE-Core rev: 0adada8111c17e8e5a7c32cef86bdb8e7dfd79d3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ff3c3dbbd2bf1bb7bb70b55cca203e9eedcf14a8)
Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-12 04:20:35 -10:00
Richard Purdie
26ffdb7a30 rust-cross-canadian: Fix ordering of target json config generation
Based upon a patch from Otavio Salvador <otavio@ossystems.com.br>,
ensure the target json files are written in the correct order with
the most specific last incase it overwrites earlier files if the prefixes
match.

(From OE-Core rev: d8c030ef90272e42a1697f5195f887d09878aa01)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1912c4e9e0ecf9655f3b3a41588b54d7956f5899)
Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-12 04:20:35 -10:00
Richard Purdie
1110f16718 rust-common: Set llvm-target correctly for cross SDK targets
When a 'BUILD' target is requested we shouldn't be looking at TARGET_SYS but
at BUILD_SYS. Due to the way rust mangles triplets, we need the HOST_SYS triplet
to work with existing code - fixing that issue is a separate patch.

Also drop the arch_abi argument, it doens't make any sense to a getVar() call
and was a copy and paste error.

Based on a patch from Otavio Salvador <otavio@ossystems.com.br> but separated out
and tweaked.

Fixes: bd36593ba3 ("rust-common: Drop LLVM_TARGET and simplify")

(From OE-Core rev: cccbb8358be830b83a43fe1ff8a88932dee1c228)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d554161a045d12411f288394e253c54aa4c1257c)
Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-12 04:20:35 -10:00
Niko Mauno
8b75148d87 rust-llvm: Allow overriding LLVM target archs
Move the default value into a variable which can be overridden to
match more accurately the use case specific scenario.

(From OE-Core rev: 645370e85d8742d0614cd52ca7507b5df2d38ad8)

(From OE-Core rev: 93458c302938bf704e8e9f14dfdfee57454adf7a)

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>
2023-12-12 04:20:35 -10:00
Wenlin Kang
75b08b43a4 bash: changes to SIGINT handler while waiting for a child
It rarely observes the problem while running shell script aborting
test repeatedly, at the problem, the test shell script never returns
to shell

Steps to reproduce:
1. Run test script and ctrl-c repeatedly
2. Observe whether returns to shell after ctrl-c

Fixed issue:
https://lists.gnu.org/archive/html/bug-bash/2023-10/msg00131.html

(From OE-Core rev: a351d62ca7deff548542c849a6fa696280b5533a)

Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-12 04:20:34 -10:00
Steve Sakoman
c4f28d9643 cve-exclusion_5.10.inc: update for 5.10.202
(From OE-Core rev: d910f67c61c79379614837b29be787ceb4181391)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-12 04:20:34 -10:00
Bruce Ashfield
30be4f67cc linux-yocto/5.10: update to v5.10.202
Updating  to the latest korg -stable release that comprises
the following commits:

    479e8b892541 Linux 5.10.202
    610057f4f6e0 interconnect: qcom: Add support for mask-based BCMs
    7ce66afcaaf6 netfilter: nf_tables: disable toggling dormant table state more than once
    d9c4da8cb74e netfilter: nf_tables: fix table flag updates
    7d1d3f113425 netfilter: nftables: update table flags from the commit phase
    a98172e36e5f tracing: Have trace_event_file have ref counters
    c6e8af2a8a63 io_uring/fdinfo: lock SQ thread while retrieving thread cpu/pid
    aeeb1ad2dd4e drm/amd/display: Change the DMCUB mailbox memory location from FB to inbox
    e2bdd437886c drm/amdgpu: fix error handling in amdgpu_bo_list_get()
    dfa8e63ca527 drm/amd/pm: Handle non-terminated overdrive commands.
    7dc933b4b498 ext4: remove gdb backup copy for meta bg in setup_new_flex_group_blocks
    0932764fb54a ext4: correct the start block of counting reserved clusters
    3c1ad03a5ff2 ext4: correct return value of ext4_convert_meta_bg
    d739a7e38944 ext4: correct offset of gdb backup in non meta_bg group to update_backups
    c878db71edc0 ext4: apply umask if ACL support is disabled
    3a51aee542b0 Revert "net: r8169: Disable multicast filter for RTL8168H and RTL8107E"
    f6e014b5eb1d media: qcom: camss: Fix vfe_get() error jump
    e2d2e266089d mm: kmem: drop __GFP_NOFAIL when allocating objcg vectors
    6875820f36bf nfsd: fix file memleak on client_opens_release
    b51b20c018c6 media: venus: hfi: add checks to handle capabilities from firmware
    bcee276a1e02 media: venus: hfi: fix the check to handle session buffer requirement
    da240b7bada2 media: venus: hfi_parser: Add check to keep the number of codecs within range
    0f887306bd8b media: sharp: fix sharp encoding
    dfa9f4ea6502 media: lirc: drop trailing space from scancode transmit
    c041f5ddef00 f2fs: avoid format-overflow warning
    829f0d5231b7 i2c: i801: fix potential race in i801_block_transaction_byte_by_byte
    430603f6de33 net: phylink: initialize carrier state at creation
    4dc0484e90a3 net: dsa: lan9303: consequently nested-lock physical MDIO
    cb1006640cb3 i2c: designware: Disable TX_EMPTY irq while waiting for block length byte
    8e29eebe4c39 lsm: fix default return value for inode_getsecctx
    8327f50442d2 lsm: fix default return value for vm_enough_memory
    a011391f019c Revert ncsi: Propagate carrier gain/loss events to the NCSI controller
    969d994612ff arm64: dts: qcom: ipq6018: Fix tcsr_mutex register size
    2b3931eb8e9c arm64: dts: qcom: ipq6018: switch TCSR mutex to MMIO
    bdda1c356d58 PCI: exynos: Don't discard .remove() callback
    62d15b6a6ec9 Bluetooth: btusb: Add 0bda:b85b for Fn-Link RTL8852BE
    dbbf3c456002 Bluetooth: btusb: Add RTW8852BE device 13d3:3570 to device tables
    990d4c76d254 bluetooth: Add device 13d3:3571 to device tables
    3aba34baa4fb bluetooth: Add device 0bda:887b to device tables
    0952747362c1 Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x0cb8:0xc559
    8617305611c1 cpufreq: stats: Fix buffer overflow detection in trans_stats()
    2ed25af15b32 tty: serial: meson: fix hard LOCKUP on crtscts mode
    07c61839582d serial: meson: Use platform_get_irq() to get the interrupt
    980c3135f1ae tty: serial: meson: retrieve port FIFO size from DT
    1e66cd408353 serial: meson: remove redundant initialization of variable id
    ba30578def84 ALSA: hda/realtek - Enable internal speaker of ASUS K6500ZC
    ddd47d8d1ba6 ALSA: hda/realtek - Add Dell ALC295 to pin fall back table
    a681d28b973f ALSA: info: Fix potential deadlock at disconnection
    f04fa1e1997f xhci: Enable RPM on controllers that support low-power states
    5e34fe50a976 parisc/pgtable: Do not drop upper 5 address bits of physical address
    064c697cac4b parisc: Prevent booting 64-bit kernels on PA1.x machines
    c6effcdd7dd0 i3c: master: cdns: Fix reading status register
    76320f05b99d mtd: cfi_cmdset_0001: Byte swap OTP info
    dce3e7c40055 mm/memory_hotplug: use pfn math in place of direct struct page manipulation
    63d2023fbbe1 mm/cma: use nth_page() in place of direct struct page manipulation
    d24340f08104 dmaengine: stm32-mdma: correct desc prep when channel running
    788322e1ede6 mcb: fix error handling for different scenarios when parsing
    25284c46b657 i2c: core: Run atomic i2c xfer when !preemptible
    8f8fc95b3a7f kernel/reboot: emergency_restart: Set correct system_state
    9386f59759b4 quota: explicitly forbid quota files from being encrypted
    f729cf6f3217 jbd2: fix potential data lost in recovering journal raced with synchronizing fs bdev
    db5ebaeb8fda PCI: keystone: Don't discard .probe() callback
    2bcdc1b6b61e PCI: keystone: Don't discard .remove() callback
    943347e53a75 genirq/generic_chip: Make irq_remove_generic_chip() irqdomain aware
    b2c194fe8f31 mmc: meson-gx: Remove setting of CMD_CFG_ERROR
    03ed26935beb wifi: ath11k: fix htt pktlog locking
    f882f5190551 wifi: ath11k: fix dfs radar event locking
    c3f61ca48612 wifi: ath11k: fix temperature event locking
    cd5a262a07a5 ima: detect changes to the backing overlay file
    df4133ebc86a firmware: qcom_scm: use 64-bit calling convention only when client is 64-bit
    76211f1dd91d btrfs: don't arbitrarily slow down delalloc if we're committing
    175f4b062f69 rcu: kmemleak: Ignore kmemleak false positives when RCU-freeing objects
    3c1c1af25d45 PM: hibernate: Clean up sync_read handling in snapshot_write_next()
    df8363e468f2 PM: hibernate: Use __get_safe_page() rather than touching the list
    21bc829337ca arm64: dts: qcom: ipq6018: Fix hwlock index for SMEM
    1fd46d32772d PCI/ASPM: Fix L1 substate handling in aspm_attr_store_common()
    e3ed58ee4e4a mmc: sdhci_am654: fix start loop index for TAP value parsing
    198366a5ffe6 mmc: vub300: fix an error code
    3a4431014cfb clk: qcom: ipq6018: drop the CLK_SET_RATE_PARENT flag from PLL clocks
    30af31fc002e clk: qcom: ipq8074: drop the CLK_SET_RATE_PARENT flag from PLL clocks
    8dc83cf76290 parisc/pdc: Add width field to struct pdc_model
    d08a1e75253b arm64: Restrict CPU_BIG_ENDIAN to GNU as or LLVM IAS 15.x or newer
    61695b9aecfe ACPI: resource: Do IRQ override on TongFang GMxXGxx
    6edbd6b4811f watchdog: move softlockup_panic back to early_param
    85fe64c8dcce PCI/sysfs: Protect driver's D3cold preference from user space
    1b0836242900 hvc/xen: fix error path in xen_hvc_init() to always register frontend driver
    d5455c421fad hvc/xen: fix console unplug
    a158a74e701b tty/sysrq: replace smp_processor_id() with get_cpu()
    fc557bcfd7ff audit: don't WARN_ON_ONCE(!current->mm) in audit_exe_compare()
    121973ef1ad7 audit: don't take task_lock() in audit_exe_compare() code path
    910caee34640 KVM: x86: Ignore MSR_AMD64_TW_CFG access
    66406d49ac14 KVM: x86: hyper-v: Don't auto-enable stimer on write from user-space
    8cf6b6658541 x86/cpu/hygon: Fix the CPU topology evaluation for real
    243c4833f345 scsi: megaraid_sas: Increase register read retry rount from 3 to 30 for selected registers
    697bc325b977 scsi: mpt3sas: Fix loop logic
    5fb8ec5943b1 bpf: Fix precision tracking for BPF_ALU | BPF_TO_BE | BPF_END
    9617a9fe4f41 bpf: Fix check_stack_write_fixed_off() to correctly spill imm
    7975f7b2a6fc randstruct: Fix gcc-plugin performance mode to stay in group
    d83f4bc0a4db powerpc/perf: Fix disabling BHRB and instruction sampling
    e7de8ffbbbc7 media: venus: hfi: add checks to perform sanity on queue pointers
    99dbc39c22ce cifs: fix check of rc in function generate_smb3signingkey
    e5a0ef02829d cifs: spnego: add ';' in HOST_KEY_LEN
    6d388b641c8f tools/power/turbostat: Fix a knl bug
    f56e228d67fc macvlan: Don't propagate promisc change to lower dev in passthru
    ac4979dbd9b6 net/mlx5e: Check return value of snprintf writing to fw_version buffer for representors
    a3ce491b1738 net/mlx5_core: Clean driver version and name
    0eaec8126b46 net/mlx5e: fix double free of encap_header
    541fece7caa4 net: stmmac: fix rx budget limit check
    66dbaa2eecf1 netfilter: nf_conntrack_bridge: initialize err to 0
    3f643150563c net: ethernet: cortina: Fix MTU max setting
    eac9ef50d6f3 net: ethernet: cortina: Handle large frames
    f0d9b80f7624 net: ethernet: cortina: Fix max RX frame define
    396baca6683f bonding: stop the device in bond_setup_by_slave()
    1f368fd61223 ptp: annotate data-race around q->head and q->tail
    ecc74e7acb6d xen/events: fix delayed eoi list handling
    144a80ef40a6 ppp: limit MRU to 64K
    3ee249a3b993 tipc: Fix kernel-infoleak due to uninitialized TLV value
    072f0eb962c9 net: hns3: fix VF reset fail issue
    b0eac93bae42 net: hns3: fix variable may not initialized problem in hns3_init_mac_addr()
    48fa8a85f8f5 tty: Fix uninit-value access in ppp_sync_receive()
    43b781e7cb5c ipvlan: add ipvlan_route_v6_outbound() helper
    59fadfa99bcb gfs2: Silence "suspicious RCU usage in gfs2_permission" warning
    dedf2a0eb944 SUNRPC: Fix RPC client cleaned up the freed pipefs dentries
    39b2bf040510 NFSv4.1: fix SP4_MACH_CRED protection for pnfs IO
    37f3aaf7945e SUNRPC: Add an IS_ERR() check back to where it was
    c7eacf01ddb1 SUNRPC: ECONNRESET might require a rebind
    4ea3b98fa6a1 xhci: turn cancelled td cleanup to its own function
    6ebd42a7b713 wifi: iwlwifi: Use FW rate for non-data frames
    e52518b9cb9f pwm: Fix double shift bug
    53b2393eeba7 drm/amdgpu: fix software pci_unplug on some chips
    f1ea84696ea5 ASoC: ti: omap-mcbsp: Fix runtime PM underflow warnings
    3cfacacb9caa kgdb: Flush console before entering kgdb on panic
    79b6a90f4f24 drm/amd/display: Avoid NULL dereference of timing generator
    0f5068519f89 media: imon: fix access to invalid resource for the second interface
    cf8519f40ce3 media: cobalt: Use FIELD_GET() to extract Link Width
    5f8d51a04baf gfs2: fix an oops in gfs2_permission
    2a054b87a1b7 gfs2: ignore negated quota changes
    0ac2652b9674 media: vivid: avoid integer overflow
    c6b6b8692218 media: gspca: cpia1: shift-out-of-bounds in set_flicker
    90e3c3dd9306 i2c: sun6i-p2wi: Prevent potential division by zero
    18fa7a30cd0c 9p/trans_fd: Annotate data-racy writes to file::f_flags
    76716a7604b2 usb: gadget: f_ncm: Always set current gadget in ncm_bind()
    4ef41a7f33ff tty: vcc: Add check for kstrdup() in vcc_probe()
    484cc536a3a2 exfat: support handle zero-size directory
    491529d383b7 HID: Add quirk for Dell Pro Wireless Keyboard and Mouse KM5221W
    65d78d54e4e5 misc: pci_endpoint_test: Add Device ID for R-Car S4-8 PCIe controller
    bb83f79f90e9 scsi: libfc: Fix potential NULL pointer dereference in fc_lport_ptp_setup()
    5cebe796eaaa atm: iphase: Do PCI error checks on own line
    65491968365c PCI: tegra194: Use FIELD_GET()/FIELD_PREP() with Link Width fields
    25354bae4fc3 ALSA: hda: Fix possible null-ptr-deref when assigning a stream
    e0d739e66bc1 ARM: 9320/1: fix stack depot IRQ stack filter
    62d21f9df46d HID: lenovo: Detect quirk-free fw on cptkbd and stop applying workaround
    1ba7df5457dc jfs: fix array-index-out-of-bounds in diAlloc
    81aa58cd8495 jfs: fix array-index-out-of-bounds in dbFindLeaf
    c6c8863fb3f5 fs/jfs: Add validity check for db_maxag and db_agpref
    524b4f203afc fs/jfs: Add check for negative db_l2nbperpage
    885824a44d35 RDMA/hfi1: Use FIELD_GET() to extract Link Width
    e97bf4ada7dd crypto: pcrypt - Fix hungtask for PADATA_RESET
    98fa52d89a4f ASoC: soc-card: Add storage for PCI SSID
    f161a6b11ae7 selftests/efivarfs: create-read: fix a resource leak
    f475d5502f33 drm/amdgpu: Fix a null pointer access when the smc_rreg pointer is NULL
    da1409ea0845 drm/panel: st7703: Pick different reset sequence
    9acc2bc00135 drm/panel/panel-tpo-tpg110: fix a possible null pointer dereference
    c7dc0aca5962 drm/panel: fix a possible null pointer dereference
    b93a25de28af drm/amdgpu: Fix potential null pointer derefernce
    8c1dbddbfcb0 drm/amd: Fix UBSAN array-index-out-of-bounds for Polaris and Tonga
    8af28ae3acb7 drm/amd: Fix UBSAN array-index-out-of-bounds for SMU7
    4ffb2b0e48c0 drm/msm/dp: skip validity check for DP CTS EDID checksum
    2810a9c40b6f drm/komeda: drop all currently held locks if deadlock happens
    a70457f181d6 platform/x86: thinkpad_acpi: Add battery quirk for Thinkpad X120e
    53d61daf35b1 Bluetooth: Fix double free in hci_conn_cleanup
    9f8e4d1a4ca1 Bluetooth: btusb: Add date->evt_skb is NULL check
    bba97f5e8ff3 wifi: ath10k: Don't touch the CE interrupt registers after power up
    22fa35ded3ec net: annotate data-races around sk->sk_dst_pending_confirm
    67b7de95d1e3 net: annotate data-races around sk->sk_tx_queue_mapping
    beb75dccba9d wifi: ath10k: fix clang-specific fortify warning
    2d6303cafb7c wifi: ath9k: fix clang-specific fortify warnings
    6058e4829696 bpf: Detect IP == ksym.end as part of BPF program
    717de20abdcd wifi: mac80211: don't return unset power in ieee80211_get_tx_power()
    cdfc689e10e6 wifi: mac80211_hwsim: fix clang-specific fortify warning
    a7aa2f1ca855 x86/mm: Drop the 4 MB restriction on minimal NUMA node memory size
    89356bee8eda clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware
    1b8687ed3cf3 clocksource/drivers/timer-imx-gpt: Fix potential memory leak
    1a2a4202c60f perf/core: Bail out early if the request AUX area is out of bound
    9ed2d68b3925 locking/ww_mutex/test: Fix potential workqueue corruption
    6db6caba87ef Linux 5.10.201
    4be0407ffcf6 btrfs: use u64 for buffer sizes in the tree search ioctls
    2bbbb976faa1 Revert "mmc: core: Capture correct oemid-bits for eMMC cards"
    3b092dfdabf2 tracing/kprobes: Fix the order of argument descriptions
    3697fda1c671 fbdev: fsl-diu-fb: mark wr_reg_wa() static
    a4dfebec32ec fbdev: imsttfb: fix a resource leak in probe
    9e8e731571e6 fbdev: imsttfb: Fix error path of imsttfb_probe()
    de721d7ef7ac spi: spi-zynq-qspi: add spi-mem to driver kconfig dependencies
    876a119790e5 drm/syncobj: fix DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE
    b9bc1806b907 x86/sev-es: Allow copy_from_kernel_nofault() in earlier boot
    14042d6d80db x86: Share definition of __is_canonical_address()
    bc794a667b1e netfilter: nat: fix ipv6 nat redirect with mapped and scoped addresses
    b65d851b2eb0 netfilter: nft_redir: use `struct nf_nat_range2` throughout and deduplicate eval call-backs
    7764290452d1 netfilter: xt_recent: fix (increase) ipv6 literal buffer length
    00b188209196 r8169: respect userspace disabling IFF_MULTICAST
    e02824db7c43 tg3: power down device only on SYSTEM_POWER_OFF
    34c5a24633bc net/smc: put sk reference if close work was canceled
    f652ab15af0a net/smc: allow cdc msg send rather than drop it with NULL sndbuf_desc
    4e7bad730160 net/smc: fix dangling sock under state SMC_APPFINCLOSEWAIT
    13d6bc35deb1 net: stmmac: xgmac: Enable support for multiple Flexible PPS outputs
    eafacef7eeef Fix termination state for idr_for_each_entry_ul()
    0a84ffc72f1e net: r8169: Disable multicast filter for RTL8168H and RTL8107E
    4969fcebe76d dccp/tcp: Call security_inet_conn_request() after setting IPv6 addresses.
    7827667989e1 dccp: Call security_inet_conn_request() after setting IPv4 addresses.
    f830d4f69835 inet: shrink struct flowi_common
    b33d130f07f1 tipc: Change nla_policy for bearer-related names to NLA_NUL_STRING
    ddf4e04e946a hsr: Prevent use after free in prp_create_tagged_frame()
    3a2653828ffc llc: verify mac len before reading mac header
    6c71e065befb Input: synaptics-rmi4 - fix use after free in rmi_unregister_function()
    e5d481d9b6cf pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume
    005965cab108 pwm: sti: Reduce number of allocations and drop usage of chip_data
    ce5e0a3c9d39 pwm: sti: Avoid conditional gotos
    0bc796e66b5d regmap: prevent noinc writes from clobbering cache
    1b86938925bd media: dvb-usb-v2: af9035: fix missing unlock
    2e2efaed79c0 media: cedrus: Fix clock/reset sequence
    64863ba8e6b7 media: vidtv: mux: Add check and kfree for kstrdup
    3387490c89b1 media: vidtv: psi: Add check for kstrdup
    62557ab73d3a media: s3c-camif: Avoid inappropriate kfree()
    2f3d9198cdae media: bttv: fix use after free error due to btv->timeout timer
    0627e8623eb5 media: i2c: max9286: Fix some redundant of_node_put() calls
    c3e148aba95a pcmcia: ds: fix possible name leak in error path in pcmcia_device_add()
    84540ef92434 pcmcia: ds: fix refcount leak in pcmcia_device_add()
    cd154225d419 pcmcia: cs: fix possible hung task and memory leak pccardd()
    5e3c75158642 rtc: pcf85363: fix wrong mask/val parameters in regmap_update_bits call
    1832ed55df45 i3c: Fix potential refcount leak in i3c_master_register_new_i3c_devs
    a83fc293acd5 perf hist: Add missing puts to hist__account_cycles
    4e66bde5c7d1 perf machine: Avoid out of bounds LBR memory read
    188425eb2da2 usb: host: xhci-plat: fix possible kernel oops while resuming
    ba894bd2737c xhci: Loosen RPM as default policy to cover for AMD xHC 1.1
    ad0370c41a19 powerpc/pseries: fix potential memory leak in init_cpu_associativity()
    d12372af8955 powerpc/imc-pmu: Use the correct spinlock initializer.
    c75707293dcf powerpc/xive: Fix endian conversion size
    f95f5512fdcb powerpc/40x: Remove stale PTE_ATOMIC_UPDATES macro
    b54a4c8ca1c8 modpost: fix tee MODULE_DEVICE_TABLE built on big-endian host
    362f0241dbe9 interconnect: qcom: sc7180: Set ACV enable_mask
    08588fac00b1 interconnect: qcom: sc7180: Retire DEFINE_QBCM
    ebaf7a73f634 f2fs: fix to initialize map.m_pblk in f2fs_precache_extents()
    758f735604f8 dmaengine: pxa_dma: Remove an erroneous BUG_ON() in pxad_free_desc()
    5fe228041c51 USB: usbip: fix stub_dev hub disconnect
    798692e48c0a tools: iio: iio_generic_buffer ensure alignment
    3eadba058276 tools: iio: iio_generic_buffer: Fix some integer type and calculation
    a0a41991ddf2 tools: iio: privatize globals and functions in iio_generic_buffer.c file
    d046e3f8de1d misc: st_core: Do not call kfree_skb() under spin_lock_irqsave()
    c53cfe99c2aa dmaengine: ti: edma: handle irq_of_parse_and_map() errors
    bdb3dd409630 usb: dwc2: fix possible NULL pointer dereference caused by driver concurrency
    05de1536d052 livepatch: Fix missing newline character in klp_resolve_symbols()
    3ebf42fe8cc7 tty: tty_jobctrl: fix pid memleak in disassociate_ctty()
    380837052669 leds: trigger: ledtrig-cpu:: Fix 'output may be truncated' issue for 'cpu'
    23eb8629c22f leds: pwm: Don't disable the PWM when the LED should be off
    c2766ed2b7af mfd: dln2: Fix double put in dln2_probe
    b708eb26b560 mfd: core: Ensure disabled devices are skipped without aborting
    9f831533d2d0 mfd: core: Un-constify mfd_cell.of_reg
    b7b4851e630d ASoC: ams-delta.c: use component after check
    41aad9d69539 padata: Fix refcnt handling in padata_free_shell()
    7606807bd6d0 padata: Convert from atomic_t to refcount_t on parallel_data->refcnt
    2de16f6169a2 ASoC: Intel: Skylake: Fix mem leak when parsing UUIDs fails
    6fd432f392a7 HID: logitech-hidpp: Move get_wireless_feature_index() check to hidpp_connect_event()
    7581eef4aef2 HID: logitech-hidpp: Revert "Don't restart communication if not necessary"
    c82e376bc24e HID: logitech-hidpp: Don't restart IO, instead defer hid_connect() only
    0fe443314cf6 HID: logitech-hidpp: Remove HIDPP_QUIRK_NO_HIDINPUT quirk
    8337286600cd Revert "HID: logitech-hidpp: add a module parameter to keep firmware gestures"
    6d2de161cdc6 sh: bios: Revive earlyprintk support
    2ca51477c6da hid: cp2112: Fix IRQ shutdown stopping polling for all IRQs on chip
    9c895d20f8ee RDMA/hfi1: Workaround truncation compilation error
    cd268264f594 scsi: ufs: core: Leave space for '\0' in utf8 desc string
    cded69a7f8b3 ASoC: fsl: Fix PM disable depth imbalance in fsl_easrc_probe
    159639486834 RDMA/hns: Fix signed-unsigned mixed comparisons
    8018a3444e39 RDMA/hns: Fix uninitialized ucmd in hns_roce_create_qp_common()
    08a246064def IB/mlx5: Fix rdma counter binding for RAW QP
    53067926cd83 ASoC: fsl: mpc5200_dma.c: Fix warning of Function parameter or member not described
    83eee515e415 ext4: move 'ix' sanity check to corrent position
    67959b362687 ARM: 9321/1: memset: cast the constant byte to unsigned char
    3d959406c8ff hid: cp2112: Fix duplicate workqueue initialization
    63e8e2ee5815 crypto: qat - increase size of buffers
    a921d6b795a0 crypto: qat - mask device capabilities with soft straps
    16f2033de013 crypto: caam/jr - fix Chacha20 + Poly1305 self test failure
    727ba935d906 crypto: caam/qi2 - fix Chacha20 + Poly1305 self test failure
    b0e7a935739f nd_btt: Make BTT lanes preemptible
    efeaa2396e3b libnvdimm/of_pmem: Use devm_kstrdup instead of kstrdup and check its return value
    ffb3483c4b0b hwrng: geode - fix accessing registers
    02db438311f8 crypto: hisilicon/hpre - Fix a erroneous check after snprintf()
    5176ebe6aa2b selftests/resctrl: Ensure the benchmark commands fits to its array
    b3768f089210 selftests/pidfd: Fix ksft print formats
    a0846b4c8e74 clk: scmi: Free scmi_clk allocated when the clocks with invalid info are skipped
    bcc7d46fa4dd firmware: ti_sci: Mark driver as non removable
    5e5b85ea0f4b soc: qcom: llcc: Handle a second device without data corruption
    a44aa8d8a532 ARM: dts: qcom: mdm9615: populate vsdcc fixed regulator
    8bd7c8a9b838 arm64: dts: qcom: sdm845-mtp: fix WiFi configuration
    4df18b233ef2 arm64: dts: qcom: msm8916: Fix iommu local address range
    1e17eab1a49a xen-pciback: Consider INTx disabled when MSI/MSI-X is enabled
    bc714abe7dc0 drm/rockchip: Fix type promotion bug in rockchip_gem_iommu_map()
    666a4120dcf6 arm64/arm: xen: enlighten: Fix KPTI checks
    0dd40dca1ebb drm/rockchip: cdn-dp: Fix some error handling paths in cdn_dp_probe()
    6f710918df7d drm/mediatek: Fix iommu fault during crtc enabling
    c12f2eaeb38b drm/bridge: tc358768: Fix bit updates
    1133e72cd82b drm/bridge: tc358768: Disable non-continuous clock mode
    c0d25ef81a11 drm/bridge: tc358768: Fix use of uninitialized variable
    7b063c93bece drm/radeon: possible buffer overflow
    a6d6769e2db6 drm/rockchip: vop: Fix call to crtc reset helper
    bb8143016130 drm/rockchip: vop: Fix reset of state in duplicate state crtc funcs
    9899097b1fcf hwmon: (coretemp) Fix potentially truncated sysfs attribute name
    7d870088db48 hwmon: (axi-fan-control) Fix possible NULL pointer dereference
    060d54f09004 hwmon: (axi-fan-control) Support temperature vs pwm points
    d426a2955e45 platform/x86: wmi: Fix opening of char device
    d2220737330b platform/x86: wmi: remove unnecessary initializations
    3433a69c00ee platform/x86: wmi: Fix probe failure when failing to register WMI devices
    b16622d304e7 clk: qcom: config IPQ_APSS_6018 should depend on QCOM_SMEM
    001e5def774f clk: mediatek: clk-mt2701: Add check for mtk_alloc_clk_data
    4f861b63945e clk: mediatek: clk-mt7629: Add check for mtk_alloc_clk_data
    96e9544a0c4f clk: mediatek: clk-mt7629-eth: Add check for mtk_alloc_clk_data
    81b162861107 clk: mediatek: clk-mt6797: Add check for mtk_alloc_clk_data
    3994387ba356 clk: mediatek: clk-mt6779: Add check for mtk_alloc_clk_data
    2617aa8ceaf3 clk: mediatek: clk-mt6765: Add check for mtk_alloc_clk_data
    55e5fd11a21d clk: npcm7xx: Fix incorrect kfree
    0beaefa9885f clk: ti: fix double free in of_ti_divider_clk_setup()
    acb535d75077 clk: ti: change ti_clk_register[_omap_hw]() API
    98c5012c11a1 clk: ti: Update component clocks to use ti_dt_clk_name()
    1c4253252c7f clk: ti: Update pll and clockdomain clocks to use ti_dt_clk_name()
    00c67e0aa7e4 clk: ti: Add ti_dt_clk_name() helper to use clock-output-names
    de33b367f80d clk: keystone: pll: fix a couple NULL vs IS_ERR() checks
    c07a0e2e93b6 spi: nxp-fspi: use the correct ioremap function
    d459cb424483 clk: linux/clk-provider.h: fix kernel-doc warnings and typos
    f28709097db4 clk: asm9260: use parent index to link the reference clock
    8d03f7c5800d clk: imx: imx8mq: correct error handling path
    c1bacea8a64b clk: imx: Select MXC_CLK for CLK_IMX8QXP
    a52c963d8d7b clk: qcom: gcc-sm8150: Fix gcc_sdcc2_apps_clk_src
    c6919a1576bc clk: qcom: gcc-sm8150: use ARRAY_SIZE instead of specifying num_parents
    355a12fa1c50 clk: qcom: mmcc-msm8998: Fix the SMMU GDSC
    ba7f9695d545 clk: qcom: mmcc-msm8998: Set bimc_smmu_gdsc always on
    97a671174433 clk: qcom: mmcc-msm8998: Don't check halt bit on some branch clks
    05eebcd4bc5b clk: qcom: mmcc-msm8998: Add hardware clockgating registers to some clks
    3181168e61f4 clk: qcom: clk-rcg2: Fix clock rate overflow for high parent frequencies
    80836b5859b7 regmap: debugfs: Fix a erroneous check after snprintf()
    9954a7f3808b ipvlan: properly track tx_errors
    e897dcbd5fbc net: add DEV_STATS_READ() helper
    98e8a5a370da ipv6: avoid atomic fragment on GSO packets
    dea8d9e571ee ACPI: sysfs: Fix create_pnp_modalias() and create_of_modalias()
    88be6453d7c9 tcp: fix cookie_init_timestamp() overflows
    76894f305c96 chtls: fix tp->rcv_tstamp initialization
    d104f6cb41e8 r8169: fix rare issue with broken rx after link-down on RTL8125
    fdd4a3c20ad5 r8169: use tp_to_dev instead of open code
    3f795fb35c2d thermal: core: prevent potential string overflow
    ae681e5eff0c PM / devfreq: rockchip-dfi: Make pmu regmap mandatory
    d7a220bf6bd6 can: dev: can_restart(): fix race condition between controller restart and netif_carrier_on()
    040f65c2821f can: dev: can_restart(): don't crash kernel if carrier is OK
    03d138b6b243 wifi: rtlwifi: fix EDCA limit set by BT coexistence
    d8f2e18d1dcf tcp_metrics: do not create an entry from tcp_init_metrics()
    73999f29ab19 tcp_metrics: properly set tp->snd_ssthresh in tcp_init_metrics()
    37308a39262b tcp_metrics: add missing barriers on delete
    d203f9921ac0 wifi: mt76: mt7603: rework/fix rx pse hang check
    3068527d17e8 wifi: rtw88: debug: Fix the NULL vs IS_ERR() bug for debugfs_create_file()
    d44f88b20d44 net: spider_net: Use size_add() in call to struct_size()
    9b8486fdad65 tipc: Use size_add() in calls to struct_size()
    5f5aabbdc27f mlxsw: Use size_mul() in call to struct_size()
    f927d4469632 gve: Use size_add() in call to struct_size()
    2b46db3bb73d overflow: Implement size_t saturating arithmetic helpers
    2f4b4eb58fc0 tcp: call tcp_try_undo_recovery when an RTOd TFO SYNACK is ACKed
    0ca9fc8200d4 udp: add missing WRITE_ONCE() around up->encap_rcv
    61e7961ff33d i40e: fix potential memory leaks in i40e_remove()
    47479ed7fcf7 genirq/matrix: Exclude managed interrupts in irq_matrix_allocated()
    bb166bdae1a7 pstore/platform: Add check for kstrdup
    66f9969141c0 x86/boot: Fix incorrect startup_gdt_descr.size
    ffa4cc86e959 futex: Don't include process MM in futex key on no-MMU
    f52587051637 x86/srso: Fix SBPB enablement for (possible) future fixed HW
    f49926b8d2a5 vfs: fix readahead(2) on block devices
    9fe0f6b5720e sched/uclamp: Ignore (util == 0) optimization in feec() when p_util_max = 0
    bdb7de7ed5ba iov_iter, x86: Be consistent about the __user tag on copy_mc_to_user()

(From OE-Core rev: 8f2c31ddd3b93f3f3e4eee5f3e97c84167f54dc4)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-12 04:20:34 -10:00
Bruce Ashfield
75cd31f6d3 linux-yocto/5.10: update to v5.10.200
Updating  to the latest korg -stable release that comprises
the following commits:

    3e55583405ac Linux 5.10.200
    a5feaf765935 ALSA: hda: intel-dsp-config: Fix JSL Chromebook quirk detection
    9109649559f9 tty: 8250: Add support for Intashield IS-100
    73bcb4d44988 tty: 8250: Add support for Brainboxes UP cards
    119f38e8ca16 tty: 8250: Add support for additional Brainboxes UC cards
    a8bf6f62187f tty: 8250: Remove UC-257 and UC-431
    e705aee2a657 usb: raw-gadget: properly handle interrupted requests
    8e0324f2cbb7 usb: storage: set 1.50 as the lower bcdDevice for older "Super Top" compatibility
    747b8f877998 PCI: Prevent xHCI driver from claiming AMD VanGogh USB3 DRD device
    deddf60c271f can: isotp: isotp_sendmsg(): fix TX state detection and wait behavior
    8716c28f695c can: isotp: isotp_bind(): do not validate unused address information
    e4c4e0e1b29c can: isotp: add local echo tx processing and tx without FC
    569c95b7ece0 can: isotp: handle wait_event_interruptible() return values
    de3c02383aa6 can: isotp: check CAN address family in isotp_bind()
    0386f3704789 can: isotp: isotp_bind(): return -EINVAL on incorrect CAN ID formatting
    93b1e3f3a263 can: isotp: set max PDU size to 64 kByte
    7adbc048d84b can: isotp: Add error message if txqueuelen is too small
    57798a2cfe15 can: isotp: add symbolic error message to isotp_module_init()
    186ab5645199 can: isotp: change error format from decimal to symbolic error names
    b881ce6c7d10 powerpc/mm: Fix boot crash with FLATMEM
    1b285a1bfb0d net: chelsio: cxgb4: add an error code check in t4_load_phy_fw
    955a1105eec2 platform/mellanox: mlxbf-tmfifo: Fix a warning message
    268ec38b797b scsi: mpt3sas: Fix in error path
    abf9c7811836 fbdev: uvesafb: Call cn_del_callback() at the end of uvesafb_exit()
    ec45886637ee ASoC: rt5650: fix the wrong result of key button
    c683d8b6417c netfilter: nfnetlink_log: silence bogus compiler warning
    66cc633fc6e1 spi: npcm-fiu: Fix UMA reads when dummy.nbytes == 0
    6f9093b6f8f7 fbdev: atyfb: only use ioremap_uc() on i386 and ia64
    ead3c123a753 Input: synaptics-rmi4 - handle reset delay when using SMBus trsnsport
    fb8f253b9532 dmaengine: ste_dma40: Fix PM disable depth imbalance in d40_probe
    e619b38a873f irqchip/stm32-exti: add missing DT IRQ flag translation
    d151fb801957 net: sched: cls_u32: Fix allocation size in u32_init()
    9ade01b2949b x86: Fix .brk attribute in linker script
    3fdd5b2bb09f rpmsg: Fix possible refcount leak in rpmsg_register_device_override()
    41c13a571de4 rpmsg: glink: Release driver_override
    5f1bb9f4d4b5 rpmsg: Fix calling device_lock() on non-initialized device
    5bbd3469a4b6 rpmsg: Fix kfree() of static memory on setting driver_override
    d0208fb38f43 rpmsg: Constify local variable in field store macro
    da369d3996cc driver: platform: Add helper for safer setting of driver_override
    4a20f5ea62db objtool/x86: add missing embedded_insn check
    6b977a7323f7 ext4: avoid overlapping preallocations due to overflow
    58fe961c606c ext4: fix BUG in ext4_mb_new_inode_pa() due to overflow
    c0db17e55ff6 ext4: add two helper functions extent_logical_end() and pa_logical_end()
    c761d34a7ec0 x86/mm: Fix RESERVE_BRK() for older binutils
    01a5e17e3ef3 x86/mm: Simplify RESERVE_BRK()
    571ce7d944cd f2fs: fix to do sanity check on inode type during garbage collection
    d1c37e849f37 smbdirect: missing rc checks while waiting for rdma events
    b2e62728b106 kobject: Fix slab-out-of-bounds in fill_kobj_path()
    b9b197f65904 x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility
    62184eb77821 iio: adc: xilinx-xadc: Don't clobber preset voltage/temperature thresholds
    e96eb8853f33 iio: adc: xilinx: use more devres helpers and remove remove()
    0eb1198fe4d6 iio: adc: xilinx: use devm_krealloc() instead of kfree() + kcalloc()
    c4b496c9f772 iio: adc: xilinx: use helper variable for &pdev->dev
    d8928befffe5 clk: Sanitize possible_parent_show to Handle Return Value of of_clk_get_parent_name
    09ce0d85cc00 sparc32: fix a braino in fault handling in csum_and_copy_..._user()
    0258ca32b0ea perf/core: Fix potential NULL deref
    4e3c606afa25 nvmem: imx: correct nregs for i.MX6UL
    37ccf15ebeec nvmem: imx: correct nregs for i.MX6SLL
    7a1c29e93c25 nvmem: imx: correct nregs for i.MX6ULL
    d44166341f4b misc: fastrpc: Clean buffers on remote invocation failures
    866838eb8ee9 tracing/kprobes: Fix the description of variable length arguments
    ca764116b5c1 i2c: aspeed: Fix i2c bus hang in slave read
    18c5167d0460 i2c: stm32f7: Fix PEC handling in case of SMBUS transfers
    80416f6ba002 i2c: muxes: i2c-demux-pinctrl: Use of_get_i2c_adapter_by_node()
    9a9ead53e72f i2c: muxes: i2c-mux-gpmux: Use of_get_i2c_adapter_by_node()
    3cb69f1dbc86 i2c: muxes: i2c-mux-pinctrl: Use of_get_i2c_adapter_by_node()
    0c8587fec9d5 iio: exynos-adc: request second interupt only when touchscreen mode is used
    632c2199e52d kasan: print the original fault addr when access invalid shadow
    be9e6f51ba7b i40e: Fix wrong check for I40E_TXR_FLAGS_WB_ON_ITR
    fe65fc90e9f2 gtp: fix fragmentation needed check with gso
    3ae8b75fce05 gtp: uapi: fix GTPA_MAX
    4d0d5e54b590 tcp: fix wrong RTO timeout when received SACK reneging
    e0308c793943 r8152: Release firmware if we have an error in probe
    17b455747bc6 r8152: Cancel hw_phy_work if we have an error in probe
    7dc907d855df r8152: Run the unload routine if we have errors during probe
    704c25fc6abd r8152: Increase USB control msg timeout to 5000ms as per spec
    79e2610efc94 net: usb: smsc95xx: Fix uninit-value access in smsc95xx_read_reg
    d9864e589f0e net: ieee802154: adf7242: Fix some potential buffer overflow in adf7242_stats_show()
    634c72adc864 igc: Fix ambiguity in the ethtool advertising
    1e628189a21b neighbour: fix various data-races
    77c4f14f952e igb: Fix potential memory leak in igb_add_ethtool_nfc_entry
    1ac4f8e5553c treewide: Spelling fix in comment
    5eab293b1cbf r8169: fix the KCSAN reported data race in rtl_rx while reading desc->opts1
    13d357d9f226 r8169: fix the KCSAN reported data-race in rtl_tx while reading TxDescArray[entry].opts1
    31c31a78dccf drm/dp_mst: Fix NULL deref in get_mst_branch_device_by_guid_helper()
    957ec0823a5a mmc: renesas_sdhi: use custom mask for TMIO_MASK_ALL
    3ab81820bf92 mm/page_alloc: correct start page when guard page debug is enabled
    f2c0b571a5fc virtio-mmio: fix memory leak of vm_dev
    8b857a93d6be virtio_balloon: Fix endless deflation and inflation on arm64
    c88dd2aebf0c mcb-lpc: Reallocate memory region to avoid memory overlapping
    6976459c6439 mcb: Return actual parsed size when reading chameleon table
    09bcf9254838 selftests/ftrace: Add new test case which checks non unique symbol
    cb49f0e441ce Linux 5.10.199
    657a3ca8236c xfrm6: fix inet6_dev refcount underflow problem
    5d5680755bce Bluetooth: hci_sock: Correctly bounds check and pad HCI_MON_NEW_INDEX name
    b423509bc99c Bluetooth: hci_sock: fix slab oob read in create_monitor_event
    653c808023cd phy: mapphone-mdm6600: Fix pinctrl_pm handling for sleep pins
    e9c20d3078cc phy: mapphone-mdm6600: Fix runtime PM for remove
    f42634685ee5 phy: mapphone-mdm6600: Fix runtime disable on probe
    05e06fb6a642 ASoC: pxa: fix a memory leak in probe()
    7e29dadf265d gpio: vf610: set value before the direction to avoid a glitch
    6c3a72d4ae24 platform/x86: asus-wmi: Map 0x2a code, Ignore 0x2b and 0x2c events
    8fece0081b64 platform/x86: asus-wmi: Change ASUS_WMI_BRN_DOWN code from 0x20 to 0x2e
    3be044840e8e s390/pci: fix iommu bitmap allocation
    487a8e24643a perf: Disallow mis-matched inherited group reads
    550c70f72a1b USB: serial: option: add Fibocom to DELL custom modem FM101R-GL
    a39ea926ff6d USB: serial: option: add entry for Sierra EM9191 with new firmware
    3fb223086de9 USB: serial: option: add Telit LE910C4-WWX 0x1035 composition
    d78d3e0d8462 nvme-rdma: do not try to stop unallocated queues
    6238faecf88a nvme-pci: add BOGUS_NID for Intel 0a54 device
    9efa38fdca2c ACPI: irq: Fix incorrect return value in acpi_register_gsi()
    9df654268aec pNFS: Fix a hang in nfs4_evict_inode()
    c44e09a89ad2 Revert "pinctrl: avoid unsafe code pattern in find_pinctrl()"
    b26b0b8757c6 mmc: core: Capture correct oemid-bits for eMMC cards
    f4771efb0683 mmc: core: sdio: hold retuning if sdio in 1-bit mode
    2312fb7f3b20 mtd: physmap-core: Restore map_rom fallback
    3a141424f8fe mtd: spinand: micron: correct bitmask for ecc status
    7682dae0a607 mtd: rawnand: arasan: Ensure program page operations are successful
    875d17e4524b mtd: rawnand: marvell: Ensure program page operations are successful
    6224890ad0b4 mtd: rawnand: qcom: Unmap the right resource upon probe failure
    f707bc0a55b7 Bluetooth: hci_event: Fix using memcmp when comparing keys
    3b6aa631df0c net/mlx5: Handle fw tracer change ownership event based on MTRC
    ead8131372af platform/x86: touchscreen_dmi: Add info for the Positivo C4128B
    fd1271632769 HID: multitouch: Add required quirk for Synaptics 0xcd7e device
    4e71ae53f121 btrfs: fix some -Wmaybe-uninitialized warnings in ioctl.c
    661b4ce3b54a drm: panel-orientation-quirks: Add quirk for One Mix 2S
    5b7cae7c35dd ipv4/fib: send notify when delete source address routes
    21f85b026dfe sky2: Make sure there is at least one frag_addr available
    f06c3a50ef2b regulator/core: Revert "fix kobject release warning and memory leak in regulator_register()"
    461341412960 wifi: cfg80211: avoid leaking stack data into trace
    fde6d84daa0f wifi: mac80211: allow transmitting EAPOL frames with tainted key
    8de7f7058314 wifi: cfg80211: Fix 6GHz scan configuration
    ffb060b136dd Bluetooth: hci_core: Fix build warnings
    65f5da6df897 Bluetooth: Avoid redundant authentication
    115f2c88fde3 HID: holtek: fix slab-out-of-bounds Write in holtek_kbd_input_event
    a59636cdd84a tracing: relax trace_event_eval_update() execution with cond_resched()
    fb60e9c00042 ata: libata-eh: Fix compilation warning in ata_eh_link_report()
    22c3641bef9c gpio: timberdale: Fix potential deadlock on &tgpio->lock
    b4fcf1a0bbd0 overlayfs: set ctime when setting mtime and atime
    4b472c25a597 i2c: mux: Avoid potential false error message in i2c_mux_add_adapter
    840b912df518 btrfs: initialize start_slot in btrfs_log_prealloc_extents
    9801e2798b63 btrfs: return -EUCLEAN for delayed tree ref with a ref count not equals to 1
    d69131b48fea ARM: dts: ti: omap: Fix noisy serial with overrun-throttle-ms for mapphone
    9ed14f807f4f usb: typec: altmodes/displayport: Signal hpd low when exiting mode
    f25a13d318b8 usb: typec: altmodes/displayport: Notify drm subsys of hotplug events
    2ea6a14e8a55 drm/connector: Add support for out-of-band hotplug notification (v3)
    6e55f6a8a498 drm/connector: Add drm_connector_find_by_fwnode() function (v3)
    89b1868bab48 drm/connector: Add a fwnode pointer to drm_connector and register with ACPI (v2)
    86502f1b63aa drm/connector: Give connector sysfs devices there own device_type
    cedcbf61dfce drm/amd/display: Don't set dpms_off for seamless boot
    ebba01fcd562 drm/amd/display: only check available pipe to disable vbios mode.
    1ac717000403 serial: 8250_omap: Fix errors with no_console_suspend
    be300358b55d serial: 8250: omap: Fix imprecise external abort for omap_8250_pm()
    fc778e9d7995 xhci: track port suspend state correctly in unsuccessful resume cases
    1c034c6e224d xhci: decouple usb2 port resume and get_port_status request handling
    92088dd88627 xhci: clear usb2 resume related variables in one place.
    e7abc4b18d1a xhci: rename resume_done to resume_timestamp
    d44c9285ce35 xhci: move port specific items such as state completions to port structure
    e2b4de13e5f9 xhci: cleanup xhci_hub_control port references
    95b9f1e3927b usb: core: Track SuperSpeed Plus GenXxY
    d6316f592988 selftests/mm: fix awk usage in charge_reserved_hugetlb.sh and hugetlb_reparenting_test.sh that may cause error
    69f40ce372b9 selftests/vm: make charge_reserved_hugetlb.sh work with existing cgroup setting
    cb868d8857ae ACPI: resource: Skip IRQ override on ASUS ExpertBook B1402CBA
    7d0728e7ac04 ACPI: resource: Skip IRQ override on ASUS ExpertBook B1502CBA
    3a58c28bff79 ACPI: resource: Skip IRQ override on Asus Expertbook B2402CBA
    1b4659e283bc ACPI: resource: Add Asus ExpertBook B2502 to Asus quirks
    980dd4dfb9e8 ACPI: resource: Skip IRQ override on Asus Vivobook S5602ZA
    e0014184cd11 ACPI: resource: Add ASUS model S5402ZA to quirks
    7f26f0ac3854 ACPI: resource: Skip IRQ override on Asus Vivobook K3402ZA/K3502ZA
    ffcb69e923aa ACPI: resources: Add DMI-based legacy IRQ override quirk
    8a8918b51080 ACPI: Drop acpi_dev_irqresource_disabled()
    196896455bd1 resource: Add irqresource_disabled()
    faa9a9d07c06 thunderbolt: Workaround an IOMMU fault on certain systems with Intel Maple Ridge
    482fa2345f03 net: pktgen: Fix interface flags printing
    068e4ecea226 netfilter: nft_set_rbtree: .deactivate fails if element has expired
    9cef803e9ed0 neighbor: tracing: Move pin6 inside CONFIG_IPV6=y section
    36848adbdeba net/sched: sch_hfsc: upgrade 'rt' to 'sc' when it becomes a inner curve
    923e47c0b40a net: dsa: bcm_sf2: Fix possible memory leak in bcm_sf2_mdio_register()
    a53fc0641683 i40e: prevent crash on probe if hw registers have invalid values
    9b5661bda392 net: usb: smsc95xx: Fix an error code in smsc95xx_reset()
    250cd610f8c4 ipv4: fib: annotate races around nh->nh_saddr_genid and nh->nh_saddr
    1cef1a2d5c22 tun: prevent negative ifindex
    f828e15db3c7 tcp: tsq: relax tcp_small_queue_check() when rtx queue contains a single skb
    c39c31c5265b tcp: fix excessive TLP and RACK timeouts from HZ rounding
    805b38062e28 net: rfkill: gpio: prevent value glitch during probe
    8023c7e90007 net: ipv6: fix return value check in esp_remove_trailer
    2ca00d93f2b1 net: ipv4: fix return value check in esp_remove_trailer
    4ba4eec4f40d xfrm: interface: use DEV_STATS_INC()
    4d78b9dc79d5 xfrm: fix a data-race in xfrm_gen_index()
    8c6c3d0b9f2e qed: fix LL2 RX buffer allocation
    88c493297e40 drm/i915: Retry gtt fault when out of fence registers
    e985d78bdcf3 nvmet-tcp: Fix a possible UAF in queue intialization setup
    287401f92c57 netfilter: nft_payload: fix wrong mac header matching
    fe37e56ed47d tcp: check mptcp-level constraints for backlog coalescing
    6550cbe25de1 x86/sev: Check for user-space IOIO pointing to kernel space
    5bb9ba7dafbe x86/sev: Check IOBM for IOIO exceptions from user-space
    d78c5d8c23c3 x86/sev: Disable MMIO emulation from user mode
    459af3fb81e6 KVM: x86: Mask LVTPC when handling a PMI
    4cbac83549dd regmap: fix NULL deref on lookup
    c95fa5b20fe0 nfc: nci: fix possible NULL pointer dereference in send_acknowledge()
    2e64f4c732cb ice: reset first in crash dump kernels
    95d68fdc71ba ice: fix over-shifted variable
    a56c436b4335 Bluetooth: avoid memcmp() out of bounds warning
    7e83d15e0ca2 Bluetooth: hci_event: Fix coding style
    c6878fa1730b Bluetooth: vhci: Fix race when opening vhci device
    40a33a129d99 Bluetooth: Fix a refcnt underflow problem for hci_conn
    ab950561bca4 Bluetooth: Reject connection with the device which has same BD_ADDR
    0e025a4528f4 Bluetooth: hci_event: Ignore NULL link key
    241f23032433 usb: hub: Guard against accesses to uninitialized BOS descriptors
    aec24b096300 Documentation: sysctl: align cells in second content column
    f10690787d2c mm/memory_hotplug: rate limit page migration warnings
    bf97ea76eac5 lib/Kconfig.debug: do not enable DEBUG_PREEMPT by default
    c44b14469af0 dev_forward_skb: do not scrub skb mark within the same name space
    db9aafa19547 ravb: Fix use-after-free issue in ravb_tx_timeout_work()
    db375fa550c0 RDMA/srp: Fix srp_abort()
    f022576aa03c RDMA/srp: Set scmnd->result only when scmnd is not NULL
    489818719a88 arm64: armv8_deprecated: fix unused-function error
    da7603cedb7d arm64: armv8_deprecated: rework deprected instruction handling
    45a26d2a5394 arm64: armv8_deprecated: move aarch32 helper earlier
    0b6a7a9f6d94 arm64: armv8_deprecated move emulation functions
    2202536144bc arm64: armv8_deprecated: fold ops into insn_emulation
    5aa232345e4d arm64: rework EL0 MRS emulation
    15e964971ff7 arm64: factor insn read out of call_undef_hook()
    0edde7fd1c3b arm64: factor out EL1 SSBS emulation hook
    7a76df1ae1b3 arm64: split EL0/EL1 UNDEF handlers
    8a8d4cc303ef arm64: allow kprobes on EL0 handlers
    793ed958b62a arm64: rework BTI exception handling
    9113333d7c7c arm64: rework FPAC exception handling
    a8d7c8484ff7 arm64: consistently pass ESR_ELx to die()
    004bdab6edc7 arm64: die(): pass 'err' as long
    835cb1f78d74 arm64: report EL1 UNDEFs better
    6788b10620ca x86/alternatives: Disable KASAN in apply_alternatives()
    ba4b37721096 powerpc/64e: Fix wrong test in __ptep_test_and_clear_young()
    dadb86fba67f powerpc/8xx: Fix pte_access_permitted() for PAGE_NONE
    288a0593c798 dmaengine: mediatek: Fix deadlock caused by synchronize_irq()
    17c653d4913b usb: gadget: ncm: Handle decoding of multiple NTB's in unwrap call
    a906f2eb675c usb: gadget: udc-xilinx: replace memcpy with memcpy_toio
    7decb6515138 counter: microchip-tcb-capture: Fix the use of internal GCLK logic
    a177771bff63 pinctrl: avoid unsafe code pattern in find_pinctrl()
    2a4a82804024 cgroup: Remove duplicates in cgroup v1 tasks file
    da7ce52a2f6c tee: amdtee: fix use-after-free vulnerability in amdtee_close_session
    0ea0231dd1b2 Input: goodix - ensure int GPIO is in input for gpio_count == 1 && gpio_int_idx == 0 case
    39fb79407e59 Input: i8042 - add Fujitsu Lifebook E5411 to i8042 quirk table
    8d862a3dff7e Input: xpad - add PXN V900 support
    e8ea649fc35f Input: psmouse - fix fast_reconnect function for PS/2 mode
    cd2fbfd8b922 Input: powermate - fix use-after-free in powermate_config_complete
    27b6c809d393 ceph: fix type promotion bug on 32bit systems
    2b2bf63671cc ceph: fix incorrect revoked caps assert in ceph_fill_file_size()
    62f6d24f2e7d libceph: use kernel_connect()
    5850eb4df422 thunderbolt: Check that lane 1 is in CL0 before enabling lane bonding
    008ba1a5ada5 mcb: remove is_added flag from mcb_device struct
    ec93456c0289 x86/cpu: Fix AMD erratum #1485 on Zen4-based CPUs
    b608f4aedc0e iio: pressure: ms5611: ms5611_prom_is_valid false negative bug
    02388eaf3a15 iio: pressure: dps310: Adjust Timeout Settings
    2abd2cffa1b8 iio: pressure: bmp280: Fix NULL pointer exception
    aadbf612f8b1 usb: musb: Modify the "HWVers" register address
    bc929a0052c4 usb: musb: Get the musb_qh poniter after musb_giveback
    459eb7c6885f usb: dwc3: Soft reset phy on probe for host
    d71d0009f9e7 net: usb: dm9601: fix uninitialized variable use in dm9601_mdio_read
    4bf69ee6bb41 usb: xhci: xhci-ring: Use sysdev for mapping bounce buffer
    2d30692c6c94 dmaengine: stm32-mdma: abort resume if no ongoing transfer
    d346a2ef6b1e media: mtk-jpeg: Fix use after free bug due to uncanceled work
    014cab5329d1 net: release reference to inet6_dev pointer
    d491ac7aa12a net: change accept_ra_min_rtr_lft to affect all RA lifetimes
    354a96770d94 net: add sysctl accept_ra_min_rtr_lft
    1ceaf0d3a883 Revert "spi: spi-zynqmp-gqspi: Fix runtime PM imbalance in zynqmp_qspi_probe"
    649237ccf440 Revert "spi: zynqmp-gqspi: fix clock imbalance on probe failure"
    ce03f0234f9d workqueue: Override implicit ordered attribute in workqueue_apply_unbound_cpumask()
    a424807d860b nfc: nci: assert requested protocol is valid
    b5b03da30bd5 pinctrl: renesas: rzn1: Enable missing PINMUX
    6ac22ecdaad2 net: nfc: fix races in nfc_llcp_sock_get() and nfc_llcp_sock_get_sn()
    31ea13e3ff52 ixgbe: fix crash with empty VF macvlan list
    b24bd1277501 net: phy: mscc: macsec: reject PN update requests
    a848ae8b5ad7 net: macsec: indicate next pn update when offloading
    a629f0575c9c drm/vmwgfx: fix typo of sizeof argument
    d4ba78e5522e riscv, bpf: Sign-extend return values
    2a8ef2234b3a riscv, bpf: Factor out emit_call for kernel and bpf context
    1bf4da1818c2 xen-netback: use default TX queue size for vifs
    33548a6b3c7c mlxsw: fix mlxsw_sp2_nve_vxlan_learning_set() return type
    55e06850c789 ieee802154: ca8210: Fix a potential UAF in ca8210_probe
    ef7a0d51bfdb ravb: Fix up dma_free_coherent() call in ravb_remove()
    1673841da013 drm/msm/dpu: change _dpu_plane_calc_bw() to use u64 to avoid overflow
    6004ca7ad2d0 drm/msm/dsi: skip the wait for video mode done if not applicable
    dbbbeaef7786 drm/msm/dp: do not reinitialize phy unless retry during link training
    31e7e77b24f1 net: prevent address rewrite in kernel_bind()
    22c06bf1f99e quota: Fix slow quotaoff
    093af62c0235 HID: logitech-hidpp: Fix kernel crash on receiver USB disconnect
    cb4a8146e3a9 lib/test_meminit: fix off-by-one error in test_pages()
    06068e7f3ff8 perf/arm-cmn: Fix the unhandled overflow status of counter 4 to 7
    0ed2ad00f333 RDMA/cxgb4: Check skb value for failure to allocate
    26788a5b48d9 RDMA/srp: Do not call scsi_done() from srp_abort()
    81982125c352 RDMA/srp: Make struct scsi_cmnd and struct srp_request adjacent

(From OE-Core rev: 630963a1396afa8c1550ec971d50e444f5ccbcfd)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-12 04:20:34 -10:00
Bruce Ashfield
f5c3c374e8 linux-yocto/5.10: update to v5.10.198
Updating  to the latest korg -stable release that comprises
the following commits:

    a8d812240fdd Linux 5.10.198
    660627c71bc1 xen/events: replace evtchn_rwlock with RCU
    1e3d016a9506 mmc: renesas_sdhi: only reset SCC when its pointer is populated
    a7d86a77c33b netfilter: nftables: exthdr: fix 4-byte stack OOB write
    84f6b686df2d netfilter: nf_tables: fix kdoc warnings after gc rework
    c17446c00805 parisc: Restore __ldcw_align for PA-RISC 2.0 processors
    cfc333393ae6 RDMA/mlx5: Fix NULL string error
    0d520cdb0cd0 RDMA/siw: Fix connection failure handling
    5a4a6a47e074 RDMA/uverbs: Fix typo of sizeof argument
    626868282c36 RDMA/cma: Fix truncation compilation warning in make_cma_ports
    7de0e42444e9 RDMA/cma: Initialize ib_sa_multicast structure to 0 when join
    36953b4da78b gpio: pxa: disable pinctrl calls for MMP_GPIO
    6ad972e66870 gpio: aspeed: fix the GPIO number passed to pinctrl_gpio_set_config()
    d7d8f1a679ec IB/mlx4: Fix the size of a buffer in add_port_entries()
    204c2d485f86 of: dynamic: Fix potential memory leak in of_changeset_action()
    b74f12f98b7f RDMA/core: Require admin capabilities to set system parameters
    ccd87fe7a0f6 dm zoned: free dmz->ddev array in dmz_put_zoned_devices
    82d87c944ea8 cpupower: add Makefile dependencies for install targets
    492241613cf4 sctp: update hb timer immediately after users change hb_interval
    f87658493898 sctp: update transport state when processing a dupcook packet
    ff346b01eba5 tcp: fix delayed ACKs for MSS boundary condition
    677aaa261e7a tcp: fix quick-ack counting to count actual ACKs of new data
    6a24d0661fa3 tipc: fix a potential deadlock on &tx->lock
    b9f1568ba37f net: stmmac: dwmac-stm32: fix resume on STM32 MCU
    3a5142f01758 netfilter: nf_tables: nft_set_rbtree: fix spurious insertion failure
    0ba9348532bd netfilter: handle the connecting collision properly in nf_conntrack_proto_sctp
    b212f361a5d1 net: ethernet: ti: am65-cpsw: Fix error code in am65_cpsw_nuss_init_tx_chns()
    dba849cc9811 net: nfc: llcp: Add lock when modifying device list
    30bc4d7aebe3 net: usb: smsc75xx: Fix uninit-value access in __smsc75xx_read_reg
    d44346dda7d4 net: dsa: mv88e6xxx: Avoid EEPROM timeout when EEPROM is absent
    96b2e1090397 ipv4, ipv6: Fix handling of transhdrlen in __ip{,6}_append_data()
    2ea52a2fb8e8 net: fix possible store tearing in neigh_periodic_work()
    6e3d9e5caba8 modpost: add missing else to the "of" check
    225cd4f67bd4 NFSv4: Fix a nfs4_state_manager() race
    d8f2ba9ec358 ima: rework CONFIG_IMA dependency block
    77f82df960cb scsi: target: core: Fix deadlock due to recursive locking
    a9430129d8db ima: Finish deprecation of IMA_TRUSTED_KEYRING Kconfig
    725fd2080559 regmap: rbtree: Fix wrong register marked as in-cache when creating new node
    666cdc43df24 wifi: mt76: mt76x02: fix MT76x0 external LNA gain handling
    54a4faab2baa drivers/net: process the result of hdlc_open() and add call of hdlc_close() in uhdlc_close()
    93dd471d3a2f bpf: Fix tr dereferencing
    10a18c8bac7f wifi: mwifiex: Fix oob check condition in mwifiex_process_rx_packet
    8c15c1bcc5b5 wifi: iwlwifi: dbg_ini: fix structure packing
    a5f643ab1163 ubi: Refuse attaching if mtd's erasesize is 0
    33420a82067b arm64: Add Cortex-A520 CPU part definition
    81d03e251894 net: prevent rewrite of msg_name in sock_sendmsg()
    72fc02ebfc93 net: replace calls to sock->ops->connect() with kernel_connect()
    1aeff207e295 wifi: mwifiex: Fix tlv_buf_left calculation
    f6f25930fa34 qed/red_ll2: Fix undefined behavior bug in struct qed_ll2_info
    b9c4b3ca9016 scsi: zfcp: Fix a double put in zfcp_port_enqueue()
    04b6b67a3e77 Revert "PCI: qcom: Disable write access to read only registers for IP v2.3.3"
    c2cf152e8bb8 Revert "clk: imx: pll14xx: dynamically configure PLL for 393216000/361267200Hz"
    f94471c0cc31 block: fix use-after-free of q->q_usage_counter
    0d6987d4a34c rbd: take header_rwsem in rbd_dev_refresh() only when updating
    d3d170c5fc06 rbd: decouple parent info read-in from updating rbd_dev
    3ceb306f9b2d rbd: decouple header read-in from updating rbd_dev->header
    7c4f11d73b24 rbd: move rbd_dev_refresh() definition
    d0952ce316d1 drm/mediatek: Fix backport issue in mtk_drm_gem_prime_vmap()
    c33d75a57a81 ring-buffer: Fix bytes info in per_cpu buffer stats
    0ecde7dd766f ring-buffer: remove obsolete comment for free_buffer_page()
    2ad1a1d3d616 NFSv4: Fix a state manager thread deadlock regression
    ec4325e80633 NFS: rename nfs_client_kset to nfs_kset
    598539f38c72 NFS: Cleanup unused rpc_clnt variable
    19f3d5d13b75 spi: zynqmp-gqspi: fix clock imbalance on probe failure
    2cdec9c13f81 spi: spi-zynqmp-gqspi: Fix runtime PM imbalance in zynqmp_qspi_probe
    ae03dafc3761 fs: binfmt_elf_efpic: fix personality for ELF-FDPIC
    8ec1abb59a98 ata: libata-sata: increase PMP SRST timeout to 10s
    dc0bd0f2da5c ata: libata-core: Do not register PM operations for SAS ports
    531d9f6dbfd5 ata: libata-core: Fix port and device removal
    99d308c31923 ata: libata-core: Fix ata_port_request_pm() locking
    eaf449666221 net: thunderbolt: Fix TCPv6 GSO checksum calculation
    72595dbfcae3 bpf: Fix BTF_ID symbol generation collision in tools/
    6a80578bd441 bpf: Fix BTF_ID symbol generation collision
    cbbfdb4bab70 btrfs: properly report 0 avail for very full file systems
    ef47f25e98de ring-buffer: Update "shortest_full" in polling
    b7a0df4c0877 proc: nommu: /proc/<pid>/maps: release mmap read lock
    acc7fc82d0ad Revert "SUNRPC dont update timeout value on connection reset"
    e3b8c9e0fc3c i2c: i801: unregister tco_pdev in i801_probe() error path
    b664e9db8d2c ata: libata-scsi: ignore reserved bits for REPORT SUPPORTED OPERATION CODES
    25872c67de20 ALSA: hda: Disable power save for solving pop issue on Lenovo ThinkCentre M70q
    5a03b42ae1ed netfilter: nf_tables: disallow rule removal from chain binding
    7130a87ca323 nilfs2: fix potential use after free in nilfs_gccache_submit_read_data()
    e14afa4450cb serial: 8250_port: Check IRQ data before use
    6d5c8862932d Revert "tty: n_gsm: fix UAF in gsm_cleanup_mux"
    14443223e08c Smack:- Use overlay inode label in smack_inode_copy_up()
    297c51c63fe1 smack: Retrieve transmuting information in smack_inode_getsecurity()
    41de7a6b95df smack: Record transmuting in smk_transmuted
    831f18c735e2 nvme-pci: always return an ERR_PTR from nvme_pci_alloc_dev
    fb28f89d50c0 netfilter: nft_exthdr: Fix for unsafe packet data read
    e18216cd0ec7 netfilter: nft_exthdr: Search chunks in SCTP packets only
    152b8ac839c9 watchdog: iTCO_wdt: Set NO_REBOOT if the watchdog is not already running
    13b7d49f339a watchdog: iTCO_wdt: No need to stop the timer in probe
    0d599a3f57a5 nvme-pci: do not set the NUMA node of device if it has none
    97e148dcb97d nvme-pci: factor out a nvme_pci_alloc_dev helper
    71357c751fb2 nvme-pci: factor the iod mempool creation into a helper
    38f82cf86096 ACPI: Check StorageD3Enable _DSD property in ACPI code
    67025d565450 cgroup: Fix suspicious rcu_dereference_check() usage warning
    b2788f6d4924 sched/cpuacct: Optimize away RCU read lock
    82756d8a2394 sched/cpuacct: Fix charge percpu cpuusage
    f8e8e72c58c7 sched/cpuacct: Fix user/system in shown cpuacct.usage*
    ef3c728ca0d4 perf build: Define YYNOMEM as YYNOABORT for bison < 3.81
    da91481c5d2b fbdev/sh7760fb: Depend on FB=y
    ffc459a93065 ncsi: Propagate carrier gain/loss events to the NCSI controller
    8c2500228b8f powerpc/watchpoints: Disable preemption in thread_change_pc()
    f5bdbed0361c media: vb2: frame_vector.c: replace WARN_ONCE with a comment
    ebc91848062e bpf: Clarify error expectations from bpf_clone_redirect
    0118244848a5 spi: nxp-fspi: reset the FLSHxCR1 registers
    f6cf19c1b313 ata: libata-eh: do not clear ATA_PFLAG_EH_PENDING in ata_eh_reset()
    2afd8fcee0c4 scsi: pm80xx: Avoid leaking tags when processing OPC_INB_SET_CONTROLLER_CONFIG command
    0decc581e1dc scsi: pm80xx: Use phy-specific SAS address when sending PHY_START command
    f44e66447c4f platform/mellanox: mlxbf-bootctl: add NET dependency into Kconfig
    cee5151c5410 ring-buffer: Do not attempt to read past "commit"
    2956e33fb4f8 selftests: fix dependency checker script
    9ccce21bd77b ring-buffer: Avoid softlockup in ring_buffer_resize()
    5dfcb92905b3 selftests/ftrace: Correctly enable event in instance-event.tc
    38ef4b2e4dca scsi: qedf: Add synchronization between I/O completions and abort
    2081b2a15b08 parisc: irq: Make irq_stack_union static to avoid sparse warning
    f47efdffdc13 parisc: drivers: Fix sparse warning
    d967a9472bf9 parisc: iosapic.c: Fix sparse warnings
    7b2440c2d64f parisc: sba: Fix compile warning wrt list of SBA devices
    c79300599923 dma-debug: don't call __dma_entry_alloc_check_leak() under free_entries_lock
    061f40275338 i2c: npcm7xx: Fix callback completion ordering
    dd81e91b2efc gpio: pmic-eic-sprd: Add can_sleep flag for PMIC EIC chip
    b317f69871ef xtensa: boot/lib: fix function prototypes
    be17dfdcc87a xtensa: boot: don't add include-dirs
    a10bfbe599b7 xtensa: iss/network: make functions static
    608af5511a8f xtensa: add default definition for XCHAL_HAVE_DIV32
    3696261859c5 power: supply: ucs1002: fix error code in ucs1002_get_property()
    eff55feb8b87 bus: ti-sysc: Fix SYSC_QUIRK_SWSUP_SIDLE_ACT handling for uart wake-up
    1bc88671960f ARM: dts: ti: omap: motorola-mapphone: Fix abe_clkctrl warning on boot
    a2a592adad7c ARM: dts: Unify pwm-omap-dmtimer node names
    2d9c9589da6a ARM: dts: am335x: Guardian: Update beeper label
    ef83f35ced40 ARM: dts: motorola-mapphone: Drop second ti,wlcore compatible value
    12a28c379ef8 ARM: dts: motorola-mapphone: Add 1.2GHz OPP
    afdc40a74ae3 ARM: dts: motorola-mapphone: Configure lower temperature passive cooling
    093a9a02d4d5 ARM: dts: ti: omap: Fix bandgap thermal cells addressing for omap3/4
    28e5423ad8fb ARM: dts: omap: correct indentation
    50789f37239c clk: tegra: fix error return case for recalc_rate
    0fd5839e2504 bus: ti-sysc: Fix missing AM35xx SoC matching
    1d4d846e2a49 bus: ti-sysc: Use fsleep() instead of usleep_range() in sysc_reset()
    a8ee76d72737 MIPS: Alchemy: only build mmc support helpers if au1xmmc is enabled
    d678c078f302 btrfs: reset destination buffer when read_extent_buffer() gets invalid range
    a1f85bc9bc69 ata: ahci: Add Elkhart Lake AHCI controller
    51d190cc98de ata: ahci: Rename board_ahci_mobile
    8061c399c83b ata: ahci: Add support for AMD A85 FCH (Hudson D4)
    0156cce71f8e ata: libata: Rename link flag ATA_LFLAG_NO_DB_DELAY
    9f0d34663025 netfilter: nft_exthdr: Fix non-linear header modification
    ed60b8014c9a netfilter: exthdr: add support for tcp option removal
    10670abe1115 netfilter: nft_exthdr: break evaluation if setting TCP option fails
    45b3eb6afcff netfilter: nf_tables: add and use nft_thoff helper
    39546418b84d netfilter: nf_tables: add and use nft_sk helper
    af844ba799b5 netfilter: nft_exthdr: Support SCTP chunks
    858ca1921639 netfilter: use actual socket sk for REJECT action
    2d9ea86f3c4a media: venus: hfi_venus: Write to VIDC_CTRL_INIT after unmasking interrupts
    c4cc1f690f19 media: venus: hfi: Add a 6xx boot logic
    4596fece3c24 media: venus: core: Add differentiator IS_V6(core)
    3ed9d3dc244b media: venus: hfi: Define additional 6xx registers
    ebccb53232cc media: venus: hfi,pm,firmware: Convert to block relative addressing
    4ccdeb68da0c media: venus: core: Add io base variables for each block
    6d3745bbc334 mmc: renesas_sdhi: register irqs before registering controller
    995ef65e4b5c mmc: tmio: support custom irq masks
    97eb045386de mmc: renesas_sdhi: populate SCC pointer at the proper place
    7217ceb61a47 mmc: renesas_sdhi: probe into TMIO after SCC parameters have been setup
    e492f8125133 Input: i8042 - add quirk for TUXEDO Gemini 17 Gen1/Clevo PD70PN
    677bff659fd3 Input: i8042 - rename i8042-x86ia64io.h to i8042-acpipnpio.h
    3fac8ce48fa9 netfilter: nf_tables: double hook unregistration in netns path
    e51f30826bc5 netfilter: nf_tables: unregister flowtable hooks on netns exit
    5e95c88e9061 i2c: mux: demux-pinctrl: check the return value of devm_kstrdup()
    0a78bcc2d526 gpio: tb10x: Fix an error handling path in tb10x_gpio_probe()
    f515112e8337 net: rds: Fix possible NULL-pointer dereference
    466e88548e19 bnxt_en: Flush XDP for bnxt_poll_nitroa0()'s NAPI
    78106529b390 locking/seqlock: Do the lockdep annotation before locking in do_write_seqcount_begin_nested()
    a8dd21118b0f seqlock: Prefix internal seqcount_t-only macros with a "do_"
    ac01a0dd7905 seqlock: Rename __seqprop() users
    a8460ee6c80b seqlock: avoid -Wshadow warnings
    f1893feb20ea netfilter: ipset: Fix race between IPSET_CMD_CREATE and IPSET_CMD_SWAP
    b44dd92e2afd team: fix null-ptr-deref when team device type is changed
    04cc361f029c net: bridge: use DEV_STATS_INC()
    1671dc1b25e5 net: hns3: add 5ms delay before clear firmware reset irq source
    309af4a39b8e net: hns3: only enable unicast promisc when mac table full
    ae806c74c063 x86/srso: Fix SBPB enablement for spec_rstack_overflow=off
    423ba1b3a5a7 x86/srso: Fix srso_show_state() side effect
    1ec40ef6f765 platform/x86: intel_scu_ipc: Fail IPC send if still busy
    4c5eaf6d8bb4 platform/x86: intel_scu_ipc: Don't override scu in intel_scu_ipc_dev_simple_command()
    441b61d742ef platform/x86: intel_scu_ipc: Check status upon timeout in ipc_wait_for_interrupt()
    c463898b6e72 platform/x86: intel_scu_ipc: Check status after timeout in busy_loop()
    60d73c62e3e4 dccp: fix dccp_v4_err()/dccp_v6_err() again
    09a1c790e1b9 powerpc/perf/hv-24x7: Update domain value check
    8689c9ace976 ipv4: fix null-deref in ipv4_link_failure
    47907ebeb77a i40e: Fix VF VLAN offloading when port VLAN is configured
    a91861446f1c ASoC: imx-audmix: Fix return error with devm_clk_get()
    c4ecedf980b0 selftests: tls: swap the TX and RX sockets in some tests
    78ef69b6e770 selftests/tls: Add {} to avoid static checker warning
    388c9d3eefae bpf: Avoid deadlock when using queue and stack maps from NMI
    6dc85d848c26 netfilter: nf_tables: disallow element removal on anonymous sets
    a45632f99713 ASoC: meson: spdifin: start hw on dai probe
    09c85f2d21ab netfilter: nf_tables: fix memleak when more than 255 elements expired
    4deaf1316b42 netfilter: nft_set_hash: try later when GC hits EAGAIN on iteration
    26d0e4d632f8 netfilter: nft_set_pipapo: stop GC iteration if GC transaction allocation fails
    b796c4e4bf29 netfilter: nft_set_rbtree: use read spinlock to avoid datapath contention
    c323ed65f66e netfilter: nft_set_rbtree: skip sync GC for new elements in this transaction
    09f2dda1e576 netfilter: nf_tables: defer gc run if previous batch is still pending
    b71dcee2fc9c netfilter: nf_tables: use correct lock to protect gc_list
    23292bdfda5f netfilter: nf_tables: GC transaction race with abort path
    dc0b1f019554 netfilter: nf_tables: GC transaction race with netns dismantle
    4046f2b56e5a netfilter: nf_tables: fix GC transaction races with netns and netlink event exit path
    891ca5dfe3b7 netfilter: nf_tables: don't fail inserts if duplicate has expired
    911dd3cdf108 netfilter: nf_tables: remove busy mark and gc batch API
    77046cb00850 netfilter: nft_set_hash: mark set element as dead when deleting from packet path
    146c76866795 netfilter: nf_tables: adapt set backend to use GC transaction API
    448be0774882 netfilter: nf_tables: GC transaction API to avoid race with control plane
    b15ea4017af8 netfilter: nf_tables: don't skip expired elements during walk
    f8bf7706151a netfilter: nf_tables: integrate pipapo into commit protocol
    9b65bff30a61 tracing: Have event inject files inc the trace array ref count
    f8a86ab3c4a4 ext4: do not let fstrim block system suspend
    c502b09d9bef ext4: move setting of trimmed bit into ext4_try_to_trim_range()
    e78e9f08a24e ext4: replace the traditional ternary conditional operator with with max()/min()
    cbf6a0f65404 ext4: mark group as trimmed only if it was fully scanned
    5eaf4a1e06cf ext4: change s_last_trim_minblks type to unsigned long
    24a86315a353 ext4: scope ret locally in ext4_try_to_trim_range()
    da1895f731f3 ext4: add new helper interface ext4_try_to_trim_range()
    6f5fc957dfb7 ext4: remove the 'group' parameter of ext4_trim_extent
    69c966583022 ata: libahci: clear pending interrupt status
    11d15a115c90 ata: ahci: Drop pointless VPRINTK() calls and convert the remaining ones
    407bf1c140f0 tracing: Increase trace array ref count on enable and filter files
    3f7df02fa0d4 SUNRPC: Mark the cred for revalidation if the server rejects it
    25ae2b2fdb12 NFS/pNFS: Report EINVAL errors from connect() to the server
    26db22a6397b NFS: Use the correct commit info in nfs_join_page_group()

(From OE-Core rev: 2c379dc34820b80f3f4132437737f0e4d601e36a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-12 04:20:34 -10:00
Tim Orling
93d2e547d1 vim: upgrade 9.0.2068 -> 9.0.2130
https://github.com/vim/vim/compare/v9.0.2068...v9.0.2130

CVE: CVE-2023-48231
CVE: CVE-2023-48232
CVE: CVE-2023-48233
CVE: CVE-2023-48234
CVE: CVE-2023-48235
CVE: CVE-2023-48236
CVE: CVE-2023-48237

(From OE-Core rev: 7a6aab8b28b57bbaa4d4cf436a8cae18f1a43eba)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 5978d565a9e700485fc563dfe2e3c0045dd74b59)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-12 04:20:34 -10:00
Narpat Mali
31507dd07a python3-cryptography: fix CVE-2023-49083
cryptography is a package designed to expose cryptographic primitives
and recipes to Python developers. Calling `load_pem_pkcs7_certificates`
or `load_der_pkcs7_certificates` could lead to a NULL-pointer dereference
and segfault. Exploitation of this vulnerability poses a serious risk of
Denial of Service (DoS) for any application attempting to deserialize a
PKCS7 blob/certificate. The consequences extend to potential disruptions
in system availability and stability. This vulnerability has been patched
in version 41.0.6.

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

(From OE-Core rev: 2d104f78cd13a10640bc284c7fc8358bf305279c)

Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-12 04:20:34 -10:00
Lee Chee Yang
82e76d21dc xwayland: fix CVE-2023-5367
(From OE-Core rev: 9c21b08c18414bb61abebcbbb8704946ea288a7b)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-12 04:20:34 -10:00
Vivek Kumbhar
006b4b976c libsndfile: fix CVE-2022-33065 Signed integer overflow in src/mat4.c
(From OE-Core rev: 0dc086b37b1c333adf99c01ce4ecb717df48d6f9)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-12 04:20:34 -10:00
Martin Jansa
d6385a54cb bitbake: runqueue: show number of currently running bitbake threads when pressure changes
* it might be a bit confusing as it shows number of threads before making
  the decision to start more tasks and also it can show only a few tasks
  running, but not because of pressure when there just aren't many tasks
  left or wait for their dependencies to be finished first

* example output:
  NOTE: Pressure status changed to CPU: True, IO: None, Mem: None (CPU: 297589.5/200000.0, IO: 5522.2/None, Mem: 779.2/None) - using 7/8 bitbake threads
  NOTE: Pressure status changed to CPU: False, IO: None, Mem: None (CPU: 196381.2/200000.0, IO: 2667.9/None, Mem: 556.2/None) - using 2/8 bitbake threads

(Bitbake rev: 42a1c9fe698a03feb34c5bba223c6e6e0350925b)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-11 06:13:49 -10:00
Martin Jansa
acd993f24c bitbake: runqueue: show more pressure data
* with latest bitbake I'm seeing very low number of bitbake tasks
  executed in parallel, probably due to pressure regulation
  show the values this is based on in the note

* also simplify a bit by counting the pressure and exceeds signs
  only once

(Bitbake rev: 1050145c3004861ebede4777fd4fbd89d0470716)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-11 06:13:49 -10:00
Chen Qi
98223b776a bitbake: runqueue.py: fix PSI check logic
The current calculation is not correct because if tdiff is less than
1.0, it's not taken into consideration when calculating the current
pressure.

Also, make it clear that the 1.0s is the psi accumulation cycle,
which might be changed in the future. We have this cycle because it
could largely avoid the 0 result issue, that is, if the interval
between checks are too small, the result might be 0. With this
accumulation logic, which has been there but let's make it clear,
this 0 result problem could be mitigated.

(Bitbake rev: 76889ff0a8938a3d77603d2af176aa9e264df839)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-11 06:13:49 -10:00
Richard Purdie
7057b7bb2b bitbake: runqueue: Add pressure change logging
It is currently hard to tell when bitbake is throttling task execution
due to system pressure changes. Add notes to the console output to make
this clearer, only generating output when the values change.

(Bitbake rev: b5f77e8159ad321f31999af8304f082a2c56b537)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-11 06:13:49 -10:00
Chen Qi
a76bc698c4 bitbake: runqueue: fix PSI check calculation
The current PSI check calculation does not take into consideration
the possibility of the time interval between last check and current
check being much larger than 1s. In fact, the current behavior does
not match what the manual says about BB_PRESSURE_MAX_XXX, even if
the value is set to upper limit, 1000000, we still get many blocks
on new task launch. The difference between 'total' should be divided
by the time interval if it's larger than 1s.

(Bitbake rev: 2b2997ab6bdda730e4b638f416311a73e0c42156)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-11 06:13:49 -10:00
Li Wang
3e73216a32 systemtap_git: fix used uninitialized error
bpf-translate.cxx: error: 'this_column_size' may be used uninitialized in this function [-Werror=maybe-uninitialized]
bpf-translate.cxx: error: 'num' may be used uninitialized in this function [-Werror=maybe-uninitialized]

(From OE-Core rev: 11da43b58e19583a9bc16044309610cfb2e86469)

Signed-off-by: Li Wang <li.wang@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-02 16:36:57 -10:00
Ninad Palsule
239bf770b6 kernel-fitImage: Strip path component from dtb
Machines that have added subdirectires to the KERNEL_DEVICETREE
recently, such as arm32 boards that were moved under subdirectories in
Linux 6.5, will have that subdirectory in the node name of the FIT. This
breaks existing systems that select a configuration in u-boot by it's
name.

Strip off the directory component from the device tree to preserve
compatibility.

(From OE-Core rev: 941ba1a132bafa9c9be855fb91fec96d8b06299f)

(From OE-Core rev: 9a42349a176ca4d7a1bfab3425a0821dbcbd9368)

Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Ninad Palsule <ninad@linux.ibm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> # backport to kirkstone
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-02 16:36:57 -10:00
Archana Polampalli
d1b9e2acaa vim: Upgrade 9.0.2048 -> 9.0.2068
This includes CVE fix for CVE-2023-46246.
9198c1f2b (tag: v9.0.2068) patch 9.0.2068: [security] overflow in :history

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

(From OE-Core rev: 8c83a25494f99ebe63f59a267001e4a19d0a6b14)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 63bc72ccb63d2f8eb591d7cc481657a538f0fd42)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-02 16:36:56 -10:00
Steve Sakoman
51a2c26e29 vim: use upstream generated .po files
A previous commit attempted to fix reproducibility errors by forcing
regeneration of .po files. Unfortunately this triggered a different
type of reproducibility issue.

Work around this by adjusting the timestamps of the troublesome .po
files so they are not regenerated and we use the shipped upstream
versions of the files.

The shipped version of ru.cp1251.po doesn't seem to have been created
with the vim tooling and specifies CP1251 instead of cp1251, fix that.

(From OE-Core rev: 3c1e35562c31b8fa94ea10d18ddfdb4267566bf3)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 13d9551ba626f001c71bf908df16caf1d739cf13)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-02 16:36:56 -10:00
Richard Purdie
f46bb8ad10 vim: Improve locale handling
When making checkouts from git, the timestamps can vary and occasionally two files
can end up with the same stamp. This triggers make to regenerate ru.cp1251.po from
ru.po for example. If it isn't regenerated, the output isn't quite the same leading
to reproducibility issues (CP1251 vs cp1251).

Since we added all locales to buildtools tarball now, we can drop the locale
restrictions too. We need to generate a native binary for the sjis conversion
tool so also tweak that.

(From OE-Core rev: b2e62fb4d52b019728a4920553fa24f4626b881a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 042c1a501b1dae5ddb31307b461be02c3591c589)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-02 16:36:56 -10:00
Hitendra Prajapati
f007ad78dd grub: fix CVE-2023-4693
Upstream-Status: Backport from https://git.savannah.gnu.org/gitweb/?p=grub.git;a=commit;h=0ed2458cc4eff6d9a9199527e2a0b6d445802f94

(From OE-Core rev: 1bbbba098dba85ec1b875512d75f7eca9026e781)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-02 16:36:56 -10:00
Vivek Kumbhar
24121f9699 openssl: fix CVE-2023-5678 Generating excessively long X9.42 DH keys or checking excessively long X9.42 DH keys or parameters may be very slow
(From OE-Core rev: 6cd4c30a2811420159d72c2f0a9430f1f0294686)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-02 16:36:56 -10:00
Archana Polampalli
f8a7dbd8fb gstreamer1.0-plugins-bad: fix CVE-2023-44429
AV1 codec parser buffer overflow

(From OE-Core rev: 76b97dc17349419059de739b2342853219c2e4ec)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-02 16:36:56 -10:00
Alexander Kanavin
8dc22248a8 sdk-manual: extensible.rst: remove instructions for using SDK functionality directly in a yocto build
This was not actually backported to kirkstone (and isn't going to be)
but the documentation for the feature erroneously did make its way
from master into kirkstone.

(From yocto-docs rev: 08fda7a5601393617b1ecfe89229459e14a90b1d)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Lee Chee Yang
b159ad2464 migration-guide: add release notes for 4.0.14
(From yocto-docs rev: c3b7de1ffdaf5abd3383af1159132457c4ca19a3)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Michael Opdenacker
a2d67684cc manuals: update class references
Synchronizing with master whenever possible,
to make the branch easier to maintain.

(From yocto-docs rev: 825b1292ab08770b2d8cfdc1e11358a2790c1a1b)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Michael Opdenacker
fdd88b549f ref-manual: classes: explain cml1 class name
(From yocto-docs rev: aa2f61675e79e04207e91ab845892d581069fb74)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
CC: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Paul Eggleton
95795dff9b ref-manual: update SDK_NAME variable documentation
Update for changes in nanbield. Note that I am documenting what is set
by poky.conf here (since this is Yocto Project documentation), which is
slightly different from what is done in meta/conf/bitbake.conf.

(From yocto-docs rev: 4273dc298aba67fe07f19b52e5f8fa1d183d054c)

Signed-off-by: Paul Eggleton <bluelightning@bluelightning.org>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
BELHADJ SALEM Talel
6c9f29507f overview-manual: concepts: Add Bitbake Tasks Map
Create a Map to detail how BitBake handles a recipe's tasks
and its compile/runtime dependencies along with detailed comments.

(From yocto-docs rev: 529c7bf6c434166f4d372166868d46f275eb5bea)

Signed-off-by: Talel BELHAJSALEM <bhstalel@gmail.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Michael Opdenacker
942c66a9fb ref-manual: variables: add RECIPE_MAINTAINER
(From yocto-docs rev: 97661c8583e3be2ee992d2c0a158554086f6d038)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Michael Opdenacker
12643571ec ref-manual: variables: mention new CDN for SSTATE_MIRRORS
(From yocto-docs rev: 57cf137a45070d45d4ae2518d6c45e226166bbee)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Michael Opdenacker
9536f32528 ref-manual: variables: document OEQA_REPRODUCIBLE_* variables
(From yocto-docs rev: 40285a94db71dabfbddc324ee71b46984dbdb6fd)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Peter Marko
e826f80436 goarch: Move Go architecture mapping to a library
Other spaces uses the Go architecture definitions as their own (for
example, container arches are defined to be Go arches). To make it
easier for other places to use this mapping, move the code that does the
translation of OpenEmbedded arches to Go arches to a library.

(From oe-core rev: 3e86f72fc2e1cc2e5ea4b4499722d736941167ce)

This commit together with meta-virtualization commit
115f6367f37095415f289fb6981cda9608ac72ff
broke meta-virtualization master used with
meta-lts-mixins kirkstone/go which is our primary
usecase for having kirkstone/go mixin layer

Manually crafted since cherry-pick had too many conflicts:
* different path to classes
* additional architecture loongarch64
* different way how to import library

(From OE-Core rev: 8726ae02d760270f9e7fe7ef5715d8f7553371ce)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Cc: Joshua Watt <JPEWhacker@gmail.com>
Cc: Bruce Ashfield <bruce.ashfield@gmail.com>
Cc: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Chaitanya Vadrevu
f19d7f427e go: Fix issue in DNS resolver
This change adds a patch that is a partial backport of an upstream
commit[1].

It fixes a bug in go's DNS resolver that was causing a docker issue
where the first "docker pull" always fails after system boot if docker
daemon is started before networking is completely up.

[1] d52883f443

(From OE-Core rev: 8c8b01e84844a7e721c668d5ffbc7161e67f0862)

Signed-off-by: Chaitanya Vadrevu <chaitanya.vadrevu@ni.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Soumya Sambu
c8fa08b01c sudo: upgrade 1.9.13p3 -> 1.9.15p2
License-update: file removed upstream

Drop patch as issue fixed upstream.

Changelog:
===========
1.9.15p2
 * Fixed a bug on BSD systems where sudo would not restore the
   terminal settings on exit if the terminal had parity enabled.
   GitHub issue #326.

1.9.15p1
 * Fixed a bug introduced in sudo 1.9.15 that prevented LDAP-based
   sudoers from being able to read the ldap.conf file.
   GitHub issue #325.

1.9.15
 * Fixed an undefined symbol problem on older versions of macOS
   when "intercept" or "log_subcmds" are enabled in sudoers.
   GitHub issue #276.
 * Fixed "make check" failure related to getpwent(3) wrapping
   on NetBSD.
 * Fixed the warning message for "sudo -l command" when the command
   is not permitted.  There was a missing space between "list" and
   the actual command due to changes in sudo 1.9.14.
 * Fixed a bug where output could go to the wrong terminal if
   "use_pty" is enabled (the default) and the standard input, output
   or error is redirected to a different terminal.  Bug #1056.
 * The visudo utility will no longer create an empty file when the
   specified sudoers file does not exist and the user exits the
   editor without making any changes.  GitHub issue #294.
 * The AIX and Solaris sudo packages on www.sudo.ws now support
   "log_subcmds" and "intercept" with both 32-bit and 64-bit
   binaries.  Previously, they only worked when running binaries
   with the same word size as the sudo binary.  GitHub issue #289.
 * The sudoers source is now logged in the JSON event log.  This
   makes it possible to tell which rule resulted in a match.
 * Running "sudo -ll command" now produces verbose output that
   includes matching rule as well as the path to the sudoers file
   the matching rule came from.  For LDAP sudoers, the name of the
   matching sudoRole is printed instead.
 * The embedded copy of zlib has been updated to version 1.3.
 * The sudoers plugin has been modified to make it more resilient
   to ROWHAMMER attacks on authentication and policy matching.
   This addresses CVE-2023-42465.
 * The sudoers plugin now constructs the user time stamp file path
   name using the user-ID instead of the user name.  This avoids a
   potential problem with user names that contain a path separator
   ('/') being interpreted as part of the path name.  A similar
   issue in sudo-rs has been assigned CVE-2023-42456.
 * A path separator ('/') in a user, group or host name is now
   replaced with an underbar character ('_') when expanding escapes
   in @include and @includedir directives as well as the "iolog_file"
   and "iolog_dir" sudoers Default settings.
 * The "intercept_verify" sudoers option is now only applied when
   the "intercept" option is set in sudoers.  Previously, it was
   also applied when "log_subcmds" was enabled.  Sudo 1.9.14
   contained an incorrect fix for this.  Bug #1058.
 * Changes to terminal settings are now performed atomically, where
   possible.  If the command is being run in a pseudo-terminal and
   the user's terminal is already in raw mode, sudo will not change
   the user's terminal settings.  This prevents concurrent sudo
   processes from restoring the terminal settings to the wrong values.
   GitHub issue #312.
 * Reverted a change from sudo 1.9.4 that resulted in PAM session
   modules being called with the environment of the command to be
   run instead of the environment of the invoking user.
   GitHub issue #318.
 * New Indonesian translation from translationproject.org.
 * The sudo_logsrvd server will now raise its open file descriptor
   limit to the maximum allowed value when it starts up.  Each
   connection can require up to nine open file descriptors so the
   default soft limit may be too low.
 * Better log message when rejecting a command if the "intercept"
   option is enabled and the "intercept_allow_setid" option is
   disabled.  Previously, "command not allowed" would be logged and
   the user had no way of knowing what the actual problem was.
 * Sudo will now log the invoking user's environment as "submitenv"
   in the JSON logs.  The command's environment ("runenv") is no
   longer logged for commands rejected by the sudoers file or an
   approval plugin.

1.9.14p3
 * Fixed a crash with Python 3.12 when the sudo Python plugin is
   unloaded.  This only affects "make check" for the Python plugin.
 * Adapted the sudo Python plugin test output to match Python 3.12.

1.9.14p2
 * Fixed a crash on Linux systems introduced in version 1.9.14 when
   running a command with a NULL argv[0] if "log_subcmds" or
   "intercept" is enabled in sudoers.
 * Fixed a problem with "stair-stepped" output when piping or
   redirecting the output of a sudo command that takes user input.
 * Fixed a bug introduced in sudo 1.9.14 that affects matching
   sudoers rules containing a Runas_Spec with an empty Runas user.
   These rules should only match when sudo's -g option is used but
   were matching even without the -g option.  GitHub issue #290.

1.9.14p1
 * Fixed an invalid free bug in sudo_logsrvd that was introduced
   in version 1.9.14 which could cause sudo_logsrvd to crash.
 * The sudoers plugin no longer tries to send the terminal name
   to the log server when no terminal is present.  This bug was
   introduced in version 1.9.14.

1.9.14
 * Fixed a bug where if the "intercept" or "log_subcmds" sudoers
   option was enabled and a sub-command was run where the first
   entry of the argument vector didn't match the command being run.
   This resulted in commands like "sudo su -" being killed due to
   the mismatch.  Bug #1050.
 * The sudoers plugin now canonicalizes command path names before
   matching (where possible).  This fixes a bug where sudo could
   execute the wrong path if there are multiple symbolic links with
   the same target and the same base name in sudoers that a user is
   allowed to run.  GitHub issue #228.
 * Improved command matching when a chroot is specified in sudoers.
   The sudoers plugin will now change the root directory id needed
   before performing command matching.  Previously, the root directory
   was simply prepended to the path that was being processed.
 * When NETGROUP_BASE is set in the ldap.conf file, sudo will now
   perform its own netgroup lookups of the host name instead of
   using the system innetgr(3) function.  This guarantees that user
   and host netgroup lookups are performed using  the same LDAP
   server (or servers).
 * Fixed a bug introduced in sudo 1.9.13 that resulted in a missing
   " ; " separator between environment variables and the command
   in log entries.
 * The visudo utility now displays a warning when it ignores a file
   in an include dir such as /etc/sudoers.d.
 * When running a command in a pseudo-terminal, sudo will initialize
   the terminal settings even if it is the background process.
   Previously, sudo only initialized the pseudo-terminal when running
   in the foreground.  This fixes an issue where a program that
   checks the window size would read the wrong value when sudo was
   running in the background.
 * Fixed a bug where only the first two digits of the TSID field
   being was logged.  Bug #1046.
 * The "use_pty" sudoers option is now enabled by default.  To
   restore the historic behavior where a command is run in the
   user's terminal, add "Defaults !use_pty" to the sudoers file.
   GitHub issue #258.
 * Sudo's "-b" option now works when the command is run in a
   pseudo-terminal.
 * When disabling core dumps, sudo now only modifies the soft limit
   and leaves the hard limit as-is.  This avoids problems on Linux
   when sudo does not have CAP_SYS_RESOURCE, which may be the case
   when run inside a container.  GitHub issue #42.
 * Sudo configuration file paths have been converted to colon-separated
   lists of paths.  This makes it possible to have configuration
   files on a read-only file system while still allowing for local
   modifications in a different (writable) directory.  The new
   --enable-adminconf configure option can be used to specify a
   directory that is searched for configuration files in preference
   to the sysconfdir (which is usually /etc).
 * The NETGROUP_QUERY ldap.conf parameter can now be disabled for
   LDAP servers that do not support querying the nisNetgroup object
   by its nisNetgroupTriple attribute, while still allowing sudo to
   query the LDAP server directly to determine netgroup membership.
 * Fixed a long-standing bug where a sudoers rule without an explicit
   runas list allowed the user to run a command as root and any
   group instead of just one of the groups that root is a member
   of.  For example, a rule such as "myuser ALL = ALL" would permit
   "sudo -u root -g othergroup" even if root did not belong to
   "othergroup".
 * Fixed a bug where a sudoers rule with an explicit runas list
   allowed a user to run sudo commands as themselves.  For example,
   a rule such as "myuser ALL = (root) ALL", "myuser" should only
   allow commands to be run as root (optionally using one of root's
   groups).  However, the rule also allowed the user to run
   "sudo -u myuser -g myuser command".
 * Fixed a bug that prevented the user from specifying a group on
   the command line via "sudo -g" if the rule's Runas_Spec contained
   a Runas_Alias.
 * Sudo now requires a C compiler that conforms to ISO C99 or higher
   to build.

(From OE-Core rev: 55f1437e2e7f11724ace489677ae214611244faf)

Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Peter Marko
ecba5ff495 go: ignore CVE-2023-45283 and CVE-2023-45284
These CVEs affect path handling on Windows.

(From OE-Core rev: 60f75fd6a671fcbfeefb634fe88f6faa17b446b7)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Lee Chee Yang
a7657ca5ff ghostscript: ignore GhostPCL CVE-2023-38560
issue in GhostPCL.
GhostPCL not part of this GhostScript recipe.

(From OE-Core rev: 7c4b4daeeca8fab257475eacb83c58b7e5dfee24)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Deepthi Hemraj
c771630e99 binutils: Fix CVE-2022-48064
(From OE-Core rev: 88cbf5eb4a075e677b1f9e6444ec6378a5949978)

Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Deepthi Hemraj
39aa7af59b binutils: Fix CVE-2022-47007
(From OE-Core rev: 03e6ea59d82e613ba3b5d388fa87317cef982f2b)

Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Meenali Gupta
2629c5fe89 avahi: fix CVE-2023-38473
A vulnerability was found in Avahi. A reachable assertion
exists in the avahi_alternative_host_name() function.

(From OE-Core rev: 3a9b67f222d6e004a8b56eedca6ff869e9aba710)

Signed-off-by: Meenali Gupta <meenali.gupta@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Meenali Gupta
517e513209 avahi: fix CVE-2023-38472
A vulnerability was found in Avahi. A reachable assertion
exists in the avahi_rdata_parse() function.

(From OE-Core rev: 1b699ac1e8519cd488ee033919b9205283b7b465)

Signed-off-by: Meenali Gupta <meenali.gupta@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Meenali Gupta
973020ce12 avahi: fix CVE-2023-38469
A vulnerability was found in Avahi, where a reachable assertion
exists in avahi_dns_packet_append_record.

(From OE-Core rev: 8bd1980fd4175be3dd68987f8c5653409b76f544)

Signed-off-by: Meenali Gupta <meenali.gupta@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Meenali Gupta
f2c0b5cef2 avahi: fix CVE-2023-38470
A vulnerability was found in Avahi. A reachable assertion exists
in the avahi_escape_label() function.

(From OE-Core rev: bc211ae0e597d40f938f9a25bfc0fcbb228d90b6)

Signed-off-by: Meenali Gupta <meenali.gupta@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Meenali Gupta
1867c0de35 avahi: fix CVE-2023-38471
A vulnerability was found in Avahi. A reachable assertion exists
in the dbus_set_host_name function.

(From OE-Core rev: f4286c3a3070fd50e334a48f1b7c068d34747115)

Signed-off-by: Meenali Gupta <meenali.gupta@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Niranjan Pradhan
24646e55b2 qemu 6.2.0: Fix CVE-2023-1544
Upstream Repository: https://gitlab.com/qemu-project/qemu.git

Bug Details: https://nvd.nist.gov/vuln/detail/CVE-2023-1544
Type: Security Fix
CVE: CVE-2023-1544
Score: 6.3
Patch: https://gitlab.com/qemu-project/qemu/-/commit/85fc35afa93c

(From OE-Core rev: d019fcc99c542d49be6e1615a5c75f88f8ff5a52)

Signed-off-by: Niranjan Pradhan <nirpradh@cisco.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Yogita Urade
f9527fb2ac grub: fix CVE-2023-4692
An out-of-bounds write flaw was found in grub2's NTFS filesystem driver.
This issue may allow an attacker to present a specially crafted NTFS
filesystem image, leading to grub's heap metadata corruption. In some
circumstances, the attack may also corrupt the UEFI firmware heap metadata.
As a result, arbitrary code execution and secure boot protection bypass
may be achieved.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-4692
https://bugzilla.redhat.com/show_bug.cgi?id=2236613

(From OE-Core rev: c89835b37366dde6c74f8221fd5a295ecabf8225)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Vijay Anusuri
e447b4139f tiff: Backport fix for CVE-2023-41175
Upstream-Status: Backport [6e2dac5f90]

Reference: https://security-tracker.debian.org/tracker/CVE-2023-41175

(From OE-Core rev: dcdcd9dcab750927701deb78b798c8fedeec67e0)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-28 05:00:32 -10:00
Narpat Mali
f60fb52055 python3-jinja2: Fixed ptest result output as per the standard
There was an extra space between the result and ':'.
After removing extra space, the ptest result will be:
result : testname -> result: testname

(From OE-Core rev: 4bb6373e5f4a1330a063d1afe855d6c24d5461e7)

Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-14 06:49:11 -10:00
Ross Burton
2e3c89e255 cve-check: don't warn if a patch is remote
We don't make do_cve_check depend on do_unpack because that would be a
waste of time 99% of the time.  The compromise here is that we can't
scan remote patches for issues, but this isn't a problem so downgrade
the warning to a note.

Also move the check for CVEs in the filename before the local file check
so that even with remote patches, we still check for CVE references in
the name.

(From OE-Core rev: b4e5e02ab5dcc6b32810aa88c371799777dd8821)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0251cad677579f5b4dcc25fa2f8552c6040ac2cf)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-14 06:49:11 -10:00
Ross Burton
9200c6b310 cve-check: slightly more verbose warning when adding the same package twice
Occasionally the cve-check tool will warn that it is adding the same
package twice.  Knowing what this package is might be the first step
towards understanding where this message comes from.

(From OE-Core rev: 4b449d5dcbaebb0690a55cf45e3a735c2d8df101)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c1179faec8583a8b7df192cf1cbf221f0e3001fc)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-14 06:49:11 -10:00
Ross Burton
ae28221a40 cve-check: sort the package list in the JSON report
The JSON report generated by the cve-check class is basically a huge
list of packages.  This list of packages is, however, unsorted.

To make things easier for people comparing the JSON, or more
specifically for git when archiving the JSON over time in a git
repository, we can sort the list by package name.

(From OE-Core rev: 1245649fd2725915154648a98584c908da07af18)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e9861be0e5020830c2ecc24fd091f4f5b05da036)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-14 06:49:11 -10:00
Vijay Anusuri
4e227eaf1c xserver-xorg: Fix for CVE-2023-5367 and CVE-2023-5380
Upstream-Status: Backport
[541ab2ecd4
&
564ccf2ce9]

(From OE-Core rev: afc30fc07d806c3f0d2192454344995f19e68575)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-14 06:49:11 -10:00
Soumya Sambu
9f0a8901d1 libwebp: Fix CVE-2023-4863
Heap buffer overflow in WebP in Google Chrome prior to 116.0.5845.187
allowed a remote attacker to perform an out of bounds memory write via
a crafted HTML page.

Removed CVE-2023-5129.patch as CVE-2023-5129 is duplicate of CVE-2023-4863.

CVE: CVE-2023-4863

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-4863
https://security-tracker.debian.org/tracker/CVE-2023-4863
https://bugzilla.redhat.com/show_bug.cgi?id=2238431#c12

(From OE-Core rev: dbef9bf56fec551b6d1428fcefdadb500172940a)

Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-14 06:49:11 -10:00
Sanjana
f9a95adda5 binutils: Fix CVE-2022-47010
(From OE-Core rev: 3fd5701a861aa263ad1d912bfd44d4d5826d11a1)

Signed-off-by: Sanjana <Sanjana.Venkatesh@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-14 06:49:11 -10:00
Samantha Jalabert
a171408008 bitbake: Fix disk space monitoring on cephfs
Error occured while running bitbake on cephfs:

WARNING: The free inode of path is running low (-0.001K left)
ERROR: Immediately halt since the disk space monitor action is "HALT"!

(Bitbake rev: a7f6c3e67bd9170e93b2b94676e84018faf0df91)

Signed-off-by: Samantha Jalabert <samantha.jalabert@syslinbit.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-09 04:41:17 -10:00
Denys Dmytriyenko
8d57eddc82 bitbake: runqueue: convert deferral messages from bb.note to bb.debug
Using multiconfig to target baremetal pieces of the system and building
corresponding toolchains for them results in hundreds and hundreds of
"Deferring %s after %s" and "Deferred task %s now buildable".

To clean up the output and to reduce risk of missing important warnings,
convert these notice messages to debug messages.

(Bitbake rev: 3505d8d8c02b041946670ab6bc5751e54fe292ff)

Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 64bc00a46d1aacc23fe7e8d9a46a126f3a4bc318)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-09 04:41:17 -10:00
Peter Kjellerstedt
2fc0a78176 bitbake: tinfoil: Do not fail when logging is disabled and full config is used
If Tinfoil is initialized with setup_logging = False and
Tinfoil.prepare() is called with config_only = False, then it fails
because self.localhandlers is only initialized when
setup_logging = True.

This is seen with, e.g., `bitbake-getvar -q -r busybox MACHINE`:

  Traceback (most recent call last):
    File ".../bitbake/bin/bitbake-getvar", line 41, in <module>
      tinfoil.prepare(quiet=2)
    File ".../bitbake/lib/bb/tinfoil.py", line 390, in prepare
      for handler in self.localhandlers:
  AttributeError: 'Tinfoil' object has no attribute 'localhandlers'.
  Did you mean: 'oldhandlers'?

(Bitbake rev: e452c6d7ba5bb4f78a1d2bfb742794efdf171dbc)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 616101ddb630e2c9975022068b52a87c4cf647f6)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-09 04:41:17 -10:00
Peter Kjellerstedt
0207478c7b bitbake: bitbake-getvar: Make --quiet work with --recipe
Initializing Tinfoil with setup_logging = False only has an effect when
recipe parsing is not needed. To make it work regardless of if --recipe
is used, manipulate the quiet parameter to Tinfoil.prepare() instead.

(Bitbake rev: 161ab0d5bab74732e12d490cee50e14295be0a9f)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 71ee69a20f21f3d37f4f060a7d8e87d9f1dc6aa1)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-09 04:41:17 -10:00
Steve Sakoman
d8d6d921fa build-appliance-image: Update to kirkstone head revision
(From OE-Core rev: 0eb8e67aa6833df0cde29833568a70e65c21d7e5)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-03 04:34:41 -10:00
Steve Sakoman
73e3b5481b poky.conf: bump version for 4.0.14
(From meta-yocto rev: 10e9c5a4c80fe4ee717b9ff63a08c58a9ac094e2)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-03 04:26:14 -10:00
Michael Opdenacker
df56d7c525 test-manual: reproducible-builds: stop mentioning LTO bug
Now that https://bugzilla.yoctoproject.org/show_bug.cgi?id=14481
is closed.

(From yocto-docs rev: 260b446a1a75d99399a3421cd8d6ba276f508f37)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-03 04:26:13 -10:00
Marta Rybczynska
5f21fa7de9 dev-manual: add security team processes
Add the initial version of the section on vulnerability reports,
operations of the Security Team with a
transcription of https://wiki.yoctoproject.org/wiki/Security_private_reporting

(From yocto-docs rev: 13927bd3e2f89f301331583b2c5752b963822976)

Signed-off-by: Marta Rybczynska <marta.rybczynska@syslinbit.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-03 04:26:13 -10:00
Michael Opdenacker
b971ffa75e manuals: correct "yocto-linux" by "linux-yocto"
(From yocto-docs rev: 689f682c175e19664c090852d5c649280ce23fa0)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-03 04:26:13 -10:00
Peter Marko
f966e16c3b glibc: ignore CVE-2023-4527
This vulnerability was introduced in 2.36, so 2.35 is not vulnerable.

(From OE-Core rev: bf60773c882483f4bfe49e89be8e2f85f78b212b)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-03 04:26:13 -10:00
Vijay Anusuri
83d53dc031 tiff: CVE patch correction for CVE-2023-3576
- The commit [881a070194]
fixes CVE-2023-3576
- Hence, renamed the CVE-2023-3618-1.patch to CVE-2023-3576.patch
- Reference: https://security-tracker.debian.org/tracker/CVE-2023-3576
             https://security-tracker.debian.org/tracker/CVE-2023-3618

(From OE-Core rev: 63daa00279c0c3a8650d6e08a68cc32a2b98d843)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-03 04:26:13 -10:00
Peter Marko
f948c66f75 libxml2: Patch CVE-2023-45322
Backport patch for gitlab issue mentioned in NVD CVE report.
* https://gitlab.gnome.org/GNOME/libxml2/-/issues/583
Backport also one of 14 patches for older issue with similar errors
to have clean cherry-pick without patch fuzz.
* https://gitlab.gnome.org/GNOME/libxml2/-/issues/344

The CVE is disputed because the maintainer does not think that
errors after memory allocation failures are not critical enough
to warrant a CVE ID.
This patch will formally fix reported error case, trying to backport
another 13 patches and resolve conflicts would be probably overkill
due to disputed state.
This CVE was ignored on master branch (as diputed).

(From OE-Core rev: d29a89412b37995857269d617e16ada116f14270)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-03 04:26:13 -10:00
Fahad Arslan
b1ddd4178d linux-firmware: create separate packages
This is backport of commit dfb7d2c426 from poky master.

This is in continuation of earlier commit:
3ddddfc14f
linux-firmware: create separate package for cirrus and cnm firmwares

And creates separate sub packages for firmwares corresponding to following list of
licenses:
LICENSE.amphion_vpu
LICENCE.cw1200
LICENSE.ice_enhanced
LICENCE.mediatek
LICENCE.microchip
LICENCE.moxa
LICENSE.nxp_mc_firmware
LICENCE.OLPC
LICENCE.phanfw
LICENCE.qla2xxx
LICENCE.ti-keystone
LICENCE.wl1251
LICENCE.xc4000
LICENCE.xc5000
LICENCE.xc5000c

(From OE-Core rev: c110e5708465a6becc611acf97f166302a17ebdf)

(From OE-Core rev: 56503e3e80603de3b69acef2f6d32836bc9e5e5d)

Signed-off-by: Fahad Arslan <fahad.arslan@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-01 05:01:26 -10:00
Fahad Arslan
95b430be16 linux-firmware: create separate package for cirrus and cnm firmwares
This is cherry-pick of commit 3ddddfc14f from
poky master.

Some licenses only allow usage of corresponding firmwares when a specific
hardware is present. This requires split of such firmwares from linux-firmware
package to firmware specific sub package. As this split is based off of
licensing, it makes sense to group firmware blobs having the same license in the
same package. This commit is a first step in this direction, and creates
separate packages for cirrus and cnm firmware.

(From OE-Core rev: 53d9d8789efc701609a5a1e985287344c2209d62)

(From OE-Core rev: 9b556e63ba3e89e83ba6e2647656a1fa6def87a4)

Signed-off-by: Fahad Arslan <fahad.arslan@siemens.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-01 05:01:26 -10:00
Niko Mauno
e46e74cd90 package_rpm: Allow compression mode override
Commit 4a4d5f78a6 ("package_rpm: use zstd
instead of xz") changed the rpm package compressor from 'xz' to 'zstd'
which results in decompression failure with BusyBox-provided 'rpm2cpio'
applet and 'rpm' applet when given the '-i' (Install package) option:

  rpm2cpio: no gzip/bzip2/xz magic

Introduce a variable which makes it possible to use a different
compression mode, making it possible to override the default value for
example like

  RPMBUILD_COMPMODE = "${@'w6T%d.xzdio' % int(d.getVar('XZ_THREADS'))}"

to enable rpm decompression without including the full rpm package in
the resulting root filesystem.

(From OE-Core rev: a40d9258148e28cbee2168c93179cd4c1232fb62)

(From OE-Core rev: ad4ea9f225b0dd6396088cc70b34f886c5fa62b4)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-01 05:01:26 -10:00
Peter Marko
f35f1aaf22 openssl: Upgrade 3.0.11 -> 3.0.12
https://github.com/openssl/openssl/blob/openssl-3.0/NEWS.md#major-changes-between-openssl-3011-and-openssl-3012-24-oct-2023

Major changes between OpenSSL 3.0.11 and OpenSSL 3.0.12 [24 Oct 2023]
* Mitigate incorrect resize handling for symmetric cipher keys and IVs. (CVE-2023-5363)

(From OE-Core rev: 5cf9f9426de71a35b06c7b4b9b092f22243676fb)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-01 05:01:25 -10:00
Archana Polampalli
715fc203c2 curl: fix CVE-2023-38546
A flaw was found in the Curl package. This flaw allows an attacker to insert
cookies into a running program using libcurl if the specific series of conditions are met.

(From OE-Core rev: 9c0c09b81594979aafd74511366316419d23046e)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-01 05:01:25 -10:00
Archana Polampalli
e9a7427077 curl: fix CVE-2023-38545
This flaw makes curl overflow a heap based buffer in the SOCKS5 proxy handshake.

(From OE-Core rev: 44971c945a615d07c91100f514377f7247796334)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-01 05:01:25 -10:00
Steve Sakoman
6f022adb5c cve-exclusion_5.10.inc: update for 5.10.197
(From OE-Core rev: effa2f7a7424e0f25eaf3680326164e859378332)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-11-01 05:01:25 -10:00
BELHADJ SALEM Talel
59077aa77b ref-manual: variables: add example for SYSROOT_DIRS variable
(From yocto-docs rev: 63fcc08bbb053262c3292c884ac91f389f1d9d97)

Signed-off-by: Talel BELHAJSALEM <bhstalel@gmail.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:51 -10:00
BELHADJ SALEM Talel
bdea205855 ref-manual: variables: add TOOLCHAIN_OPTIONS variable
(From yocto-docs rev: d7397a985fa085b4ca97aaebedfec5fcaf4e82de)

Signed-off-by: Talel BELHAJSALEM <bhstalel@gmail.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:51 -10:00
BELHADJ SALEM Talel
bf5e50a353 ref-manual: variables: add RECIPE_SYSROOT and RECIPE_SYSROOT_NATIVE
(From yocto-docs rev: e4c3fd543cb1b98255dcd3b40819ebcc7ef3a52a)

Signed-off-by: Talel BELHAJSALEM <bhstalel@gmail.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:51 -10:00
Michael Opdenacker
3fd3ed3b11 dev-manual: start.rst: remove obsolete reference
Remove a reference to a web resource which is clearly marked as obsolete.
Replace the unnecessarily verbose note by just links to the mentioned tools.

[YOCTO #15233]

(From yocto-docs rev: b2db385b859faa775f7c92072ba9bbeebb90e713)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:51 -10:00
Michael Opdenacker
b5b18d155e brief-yoctoprojectqs: use new CDN mirror for sstate
Recommended instead of the Yocto Project mirror, because expected
to be faster. Make sure you only set one such mirror.

(From yocto-docs rev: 2c2dae48619f3e2a600fcdba7cd0dcb0bd313b75)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
CC: richard.purdie@linuxfoundation.org
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:51 -10:00
BELHADJ SALEM Talel
c3032cebe7 dev-manual: layers: Add notes about layer.conf
As discussed before with Richard Purdie, the code supports this but the documentation does not.
Developers in general will not notice this or focus on it because they do not mess with the
layer.conf template file, but in my opinion I think more details can help.

(From yocto-docs rev: c4b94c24ff7e1b1609f9c7f0aebd24fd04d00ae9)

Signed-off-by: Talel BELHAJSALEM <bhstalel@gmail.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:51 -10:00
Quentin Schulz
955796ad7e ref-manual: variables: provide no-match example for COMPATIBLE_MACHINE
COMPATIBLE_MACHINE is used to forbid the use of a recipe or its packages
for a specific set of machines.

In some cases, it may make more sense to have the logic inverted and
have the recipe always forbidden except for hand-picked machines. Such
could be the case for pieces of software that only support some
architectures. In that scenario, it is sometimes a bit easier on the eye
and for maintenance to use the OVERRIDES mechanism but for that, a
default should be set.

COMPATIBLE_MACHINE:aarch64 = "^(aarch64)$"
COMPATIBLE_MACHINE:mips64 = "^(mips64)$"

wouldn't do much because if COMPATIBLE_MACHINE isn't set, the recipe is
assumed compatible and therefore, if no default is provided we enter
that case.

Hence, we need to add

COMPATIBLE_MACHINE = "^$"

as default so that it only matches the empty string, which isn't
possible for MACHINEOVERRIDES.

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

Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:51 -10:00
Robert P. J. Day
650980791e profile-manual: aesthetic cleanups
Various aesthetic cleanups of section 1 of that manual, including:

  * replace 'HOWTO' with manual
  * add more examples of sdk-related images
  * font fixes

(From yocto-docs rev: 3f271b53f2103c3a7eb76ab17f0c945512493471)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:51 -10:00
BELHADJ SALEM Talel
0f23056836 ref-manual: Fix PACKAGECONFIG term and add an example
PACKAGECONFIG's first and second flag value will be added to PACKAGECONFIG_CONFARGS
and then it will be added to the appropriate variable (EXTRA_OECMAKE, or ...)
So we need to only mention PACKAGECONFIG_CONFARGS and it will lead to other variables.

I added a custom example that can help understanding very well PACKAGECONFIG.

(From yocto-docs rev: 94eb37ef56cbb19b5b6e28bef522a7288a1a61f9)

Signed-off-by: Talel BELHAJSALEM <bhstalel@gmail.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:51 -10:00
Paul Eggleton
6fd2902f05 dev/ref-manual: Document INIT_MANAGER
The INIT_MANAGER variable was added in 3.0 but it seems we didn't get
around to documenting it yet. I have added a variable glossary entry and
made the basic adjustment of the "Using systemd Exclusively" section in
the dev manual, however I think the latter section still needs work.

(From yocto-docs rev: a84adfaeda5a790275d020fc77d721e8560a5728)

Signed-off-by: Paul Eggleton <bluelightning@bluelightning.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:51 -10:00
Robert P. J. Day
720324bd18 dev-manual: new-recipe.rst: add missing parenthesis to "Patching Code" section
Add missing parenthesis, and another example of a compressed patch filename.

(From yocto-docs rev: febc0c6b7b5843c70ed01f9b2bda71c02091eae6)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:51 -10:00
Michael Opdenacker
6a3b428c7c bsp-guide: bsp: skip Intel machines no longer supported in Poky
(From yocto-docs rev: ab6a260de80e8a73079e1ac5430a3688be025d5d)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:51 -10:00
Michael Opdenacker
c969a2456c sdk-manual: appendix-obtain: improve and update descriptions
- Improve text formatting
- Stop mentioning all possible values
- Update examples
- Correct descriptions

(From yocto-docs rev: d44cd995e4abc1bed57a7edbe27fdfd642768d4f)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:51 -10:00
Michael Opdenacker
734069e81b dev-manual: wic: update "wic list images" output
(From yocto-docs rev: 46fdf58f4a26de2989261eb451380905ae0f1a41)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:51 -10:00
Michael Opdenacker
aaf748b95f manuals: update linux-yocto append examples
(From yocto-docs rev: b5d385f20d22566e12a7938a9894b86429f1dcfb)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:51 -10:00
Arne Schwerdt
811cf0320c ref-manual: Warn about COMPATIBLE_MACHINE skipping native recipes
(From yocto-docs rev: 48e5fb383570dc6a067b14cc621e4cb347db900c)

Signed-off-by: Arne Schwerdt <arne.schwerdt@elbbits.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:51 -10:00
Siddharth Doshi
a6f551f516 vim: Upgrade 9.0.2009 -> 9.0.2048
This includes CVE fix for CVE-2023-5535.

(From OE-Core rev: 7681436190354b5c5b6c3a82b3094badd81113de)

Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:50 -10:00
Siddharth Doshi
fb38c59633 libx11: Security Fix for CVE-2023-43785, CVE-2023-43786 and CVE-2023-43787
CVE's Fixed:
CVE-2023-43785: libX11: out-of-bounds memory access in _XkbReadKeySyms()
CVE-2023-43786: libX11: stack exhaustion from infinite recursion in PutSubImage()
CVE-2023-43787: libX11: integer overflow in XCreateImage() leading to a heap overflow

(From OE-Core rev: 8175d023c203d524d011d8947f90fbd02786c6db)

Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:50 -10:00
Meenali Gupta
386672ff8c linux-firmware: upgrade 20230625 -> 20230804
License-Update: additional firmwares

upgrade include fix for CVE-2023-20569 CVE-2022-40982 CVE-2023-20593

Changelog:
      https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/

References:
      https://nvd.nist.gov/vuln/detail/CVE-2023-20569
      https://nvd.nist.gov/vuln/detail/CVE-2022-40982
      https://nvd.nist.gov/vuln/detail/CVE-2023-20593

(From OE-Core rev: d3f1448246c9711f4f23f2e12c664e0ba3ae3f02)

Signed-off-by: Meenali Gupta <meenali.gupta@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:50 -10:00
Peter Marko
e06868eff3 zlib: patch CVE-2023-45853
Backport commit merged to develop branch from PR linked in NVD report:
* https://nvd.nist.gov/vuln/detail/CVE-2023-45853
* https://github.com/madler/zlib/pull/843

(From OE-Core rev: 6e265e44febbb6fdf85c7926b9a64b731c98d814)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:50 -10:00
Vijay Anusuri
024fa046fc gawk: backport Debian patch to fix CVE-2023-4156
Upstream-Status: Backport
[https://git.launchpad.net/ubuntu/+source/gawk/tree/debian/patches?h=ubuntu/jammy-security
&
https://git.savannah.gnu.org/gitweb/?p=gawk.git;a=commitdiff;h=e709eb829448ce040087a3fc5481db6bfcaae212]

(From OE-Core rev: 0547b60d3485c2e3853e5a9e0a3e051882b283f3)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:50 -10:00
Lee Chee Yang
7725c28871 qemu: ignore RHEL specific CVE-2023-2680
(From OE-Core rev: a1256b8fa415002eee78427cc292b866570ee267)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-25 04:45:50 -10:00
Richard Purdie
b1c1d6d048 SECURITY.md: Add file
Add a SECURITY.md file with hints for security researchers and other
parties who might report potential security vulnerabilities.

(From meta-yocto rev: e3c11a51dc814fdd400998f50b17e572d453e1d2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-24 05:28:15 -10:00
Marta Rybczynska
70f4bd1b3c bitbake: SECURITY.md: add file
Add a SECURITY.md file with hints for security researchers and other
parties who might report potential security vulnerabilities.

(Bitbake rev: 6c1ffa9091d0c53a100e8c8c15122d28642034bd)

Signed-off-by: Marta Rybczynska <marta.rybczynska@syslinbit.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-24 05:28:15 -10:00
Quentin Schulz
72ddfbc89a uboot-extlinux-config.bbclass: fix missed override syntax migration
uboot-extlinux-config allows to specify multiple "labels" (entries in a
menu, à-la grub) and each of them have their own values for some fields.
Each "base" variable, e.g. UBOOT_EXTLINUX_FDT can be overridden for each
label. This is done via the OVERRIDES mechanism based on the label name,
e.g. UBOOT_EXTLINUX_FDT:linux if linux is a label.

However, OVERRIDES doesn't contain the label globally because it's only
necessary in one task. Therefore, the OVERRIDES itself is modified
within the task. This means that the sigdata will not be told the
dependency on UBOOT_EXTLINUX_FDT:linux, because it cannot know about it.

For this reason, we need to explicitly specify which variables this task
depends on via vardeps varflag for the task.

This was done in the past, but we missed updating it during the override
syntax migration so the cache wouldn't get invalidated if someone
modifies UBOOT_EXTLINUX_FDT:linux from a configuration file or a
bbappend for example.

Let's fix this by migrating it to the new syntax.

(From OE-Core rev: 5570e49791b770271f176a4deeb5f6f1a028cb4a)

Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b4dd9d873508128adbbf5ff6cf0a3df3d2ffbcf6)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-21 05:21:36 -10:00
Siddharth Doshi
36a2a0129a libxpm: upgrade to 3.5.17
This release fixes the following CVEs:

- CVE-2023-43788
- CVE-2023-43789

(From OE-Core rev: 1475a47239d77a368bcec69f12e5a63f8bebe14f)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-21 05:21:36 -10:00
Siddharth Doshi
6da1e21e9a tiff: Security fix for CVE-2023-40745
Upstream-Status: Backport from [4fc16f649f]
CVE: CVE-2023-40745
(From OE-Core rev: f1aa2dd493c01e18ee0f534ff00523a1274f9066)

Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-21 05:21:36 -10:00
Hitendra Prajapati
24e9fed15a libtiff: Add fix for tiffcrop CVE-2023-1916
Add fix for tiffcrop tool CVE-2023-1916 [1].

A flaw was found in tiffcrop, a program distributed by the libtiff
package. A specially crafted tiff file can lead to an out-of-bounds
read in the extractImageSection function in tools/tiffcrop.c, resulting
in a denial of service and limited information disclosure. This issue
affects libtiff versions 4.x.

The tool is no longer part of newer libtiff distributions, hence the
fix is rejected by upstream in [2]. The backport is still applicable
to older versions of libtiff, pick the CVE fix from ubuntu 20.04 [3].

[1] https://nvd.nist.gov/vuln/detail/CVE-2023-1916
[2] https://gitlab.com/libtiff/libtiff/-/merge_requests/535
[3] https://packages.ubuntu.com/source/focal-updates/tiff

(From OE-Core rev: 4d3e7f9a157e56a4a8ffb4d16fd6401a22851307)

Signed-off-by: Marek Vasut <marex@denx.de>

Upstream-Status: Backport from 848434a81c && https://gitlab.com/libtiff/libtiff/-/merge_requests/535
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-21 05:21:36 -10:00
Armin Kuster
f550a63161 binutils: CVE-2022-48063
Source: Binutils
MR: 128800
Type: Security Fix
Disposition: Backport from https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=75393a2d54bcc40053e5262a3de9d70c5ebfbbfd
ChangeID: ab04e4ec62d054c90d94f82230adb2342ce1ee1b
Description:

Affects binutils < 2.40

(From OE-Core rev: 80a8d16a4038868469b4583404b6f73e12bae0f1)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-21 05:21:36 -10:00
Deepthi Hemraj
8391218990 binutils: Fix CVE-2022-47011
(From OE-Core rev: 5ff2e3c880705c2e920a4a61a5165810fadd7b84)

Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-21 05:21:35 -10:00
Deepthi Hemraj
bdcc4c9909 binutils: Fix CVE-2022-47008
(From OE-Core rev: 3a299d1610bf085790017569de090b0a41cf809b)

Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-21 05:21:35 -10:00
Chaitanya Vadrevu
4b721dc5c8 binutils: Mark CVE-2022-47696 as patched
(From OE-Core rev: bc480221d8091be460a1b8c4d023b9841e1df3c2)

Signed-off-by: Chaitanya Vadrevu <chaitanya.vadrevu@ni.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-21 05:21:35 -10:00
Chaitanya Vadrevu
455b08d0a9 binutils: Mark CVE-2022-47673 as patched
(From OE-Core rev: 96fe4b522a35f75a7d2b597d7e650dfc7ae82e27)

Signed-off-by: Chaitanya Vadrevu <chaitanya.vadrevu@ni.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-21 05:21:35 -10:00
Chaitanya Vadrevu
4537f28311 binutils: Fix CVE-2022-47695
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=3d3af4ba39e892b1c544d667ca241846bc3df386]

(From OE-Core rev: 4d4732c2e295fea610d266fa12bae3cc01f93dfa)

Signed-off-by: Chaitanya Vadrevu <chaitanya.vadrevu@ni.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-21 05:21:35 -10:00
Lee Chee Yang
47d212a57f migration-guides: add release notes for 4.0.13
(From yocto-docs rev: 9a03e60370bb4f10fa340c1e29cd743e5703653b)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Joshua Watt
a721e0f85b overview: Add note about non-reproducibility side effects
Adds an additional note about some of the side effects that can occur if
recipes are not reproducible and hash equivalence is enabled.

(From yocto-docs rev: aaf3e97c78e235bf3042c79ecdcf0b7c1a68ca8f)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Trevor Gamblin
fbf88236e3 dev-manual: fix testimage usage instructions
The proper way to inherit the testimage class is now

IMAGE_CLASSES += "testimage"

so change lines with 'INHERIT += "testimage"' to match. This makes the
dev-manual consistent with the migration guide, which already specifies
that the old way causes an error.

(From yocto-docs rev: 40d82ec5f55c2353ef6f052e8460a6003fd903f4)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Michael Opdenacker
7b43af7ad4 ref-manual: releases.svg: Scarthgap is now version 5.0
According to https://wiki.yoctoproject.org/wiki/Releases

(From yocto-docs rev: 1ce820adce0d9ca4eb6457dc089d55a0cec8c266)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Khem Raj
f989613808 apt: add missing <cstdint> for uint16_t
(From OE-Core rev: 2572b32e729831762790ebfbf930a1140657faea)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8c46ded67df2d830c8bbf5f7b82d75db81d797e2)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Lee Chee Yang
3f174130d3 python3-urllib3: 1.26.15 -> 1.26.17
1.26.17 (2023-10-02)
Added the Cookie header to the list of headers to strip from requests
when redirecting to a different host. As before, different headers can
be set via Retry.remove_headers_on_redirect. (CVE-2023-43804)

1.26.16 (2023-05-23)
Fixed thread-safety issue where accessing a PoolManager with many
distinct origins would cause connection pools to be closed while
requests are in progress (#2954)

(From OE-Core rev: 27a1de55a46b7b313eb2a6370e9d779a7cd49154)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Wang Mingyu
43e36aec34 python3-urllib3: upgrade 1.26.14 -> 1.26.15
Changelog:
==========
* Fix socket timeout value when "HTTPConnection" is reused ('#2645 <https://github.com/urllib3/urllib3/issues/2645>'__)
* Remove "!" character from the unreserved characters in IPv6 Zone ID parsing
  ('#2899 <https://github.com/urllib3/urllib3/issues/2899>'__)
* Fix IDNA handling of '\x80' byte ('#2901 <https://github.com/urllib3/urllib3/issues/2901>'__)

(From OE-Core rev: a335ccbcc9913e79bfe958c41690b7efa189ae93)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8e062efbac29a81831c3060bcae601dc533d65dd)
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Tim Orling
c0b54da555 python3-urllib3: upgrade 1.26.13 -> 1.26.14
https://github.com/urllib3/urllib3/blob/1.26.14/CHANGES.rst#12614-2023-01-11

1.26.14 (2023-01-11)
    Fixed parsing of port 0 (zero) returning None, instead of 0. (#2850)
    Removed deprecated getheaders() calls in contrib module.

(From OE-Core rev: aefb7af6b56269d45170beb99e6c878bf2448b78)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 55ab1bf20e6893088acb6460e9004dac8e205559)
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Alexander Kanavin
cc936073a4 python3-urllib3: upgrade 1.26.12 -> 1.26.13
(From OE-Core rev: e8ae3247795d9333f6252bbec85a8e09c0c9cb48)

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 b18552f69a2eb8900981a10ba386dc4f862b29c3)
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
wangmy
36e8271ca0 python3-urllib3: upgrade 1.26.11 -> 1.26.12
(From OE-Core rev: 69a610b440b5e9e92931e43bd1c75230bb99f03e)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit cb05578af3ace6e3983f93e16d9ad1ac2a65fbe2)
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Alexander Kanavin
49ebeb4b0d python3-urllib3: upgrade 1.26.10 -> 1.26.11
(From OE-Core rev: d83b4afc17839b6c11b540aabf056647ddacb587)

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 dbe07ff87e2cb1a8276e69a43c7cdbb9ae6e5493)
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
wangmy
73d81d2908 python3-urllib3: upgrade 1.26.9 -> 1.26.10
Add dependence python3-logging.

Changelog:
=========
* Removed support for Python 3.5
* Fixed an issue where a "ProxyError" recommending configuring the proxy as HTTP
  instead of HTTPS could appear even when an HTTPS proxy wasn't configured.

(From OE-Core rev: d9f200b931e48d957b721005f0140ef3fff55af3)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a8a26a92dfe367472daf086a33a1b30ff6d17540)
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Siddharth Doshi
9d5d4218ec vim: Upgrade 9.0.1894 -> 9.0.2009
This includes CVE fix for CVE-2023-5441.

(From OE-Core rev: 6c88137d4ab36054ac97cff0457d78ef503f383e)

Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Yash Shinde
e77b551dbf binutils: Fix CVE-2022-45703
(From OE-Core rev: b2fa5b29462a16b238f8a6a40886b45aa483e963)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Yash Shinde
600b508c37 binutils: Fix CVE-2022-44840
(From OE-Core rev: 7a42ae332ebde565cc7c6fca568563f076bd26ba)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Hitendra Prajapati
2a2ea5ac75 xdg-utils: Fix CVE-2022-4055
Upstream-Status: Backport from f67c4d1f8b

(From OE-Core rev: fc4eecb6143b2b32a374388248b41c1d95b33968)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Hitendra Prajapati
de59761cbb libtiff: fix CVE-2022-40090 improved IFD-Loop handling
Upstream-Status: Backport from c7caec9a4d

(From OE-Core rev: 1effa609b5b527eb9afa5a2c529bdc0b317e4be0)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Etienne Cordonnier
3a3afebf41 bitbake: bitbake-worker/runqueue: Avoid unnecessary bytes object copies
declaring queue=b"" creates an object of types bytes().
bytes() is an immutable object, and therefore doing "self.queue = self.queue + r"
creates a new object containing "self.queue" concatenated with "r".

On my test setup, we are passing 180MB of data of "workerdata" to the bitbake-worker,
so those copies significantly slow down the initialization of the bitbake-worker.

Rather use bytearray() which a mutable type, and use extend() to avoid copies.
In my test setup, byterray.extend() is 10.000 times faster than copying the queue,
for a queue size of 180MB.

(Bitbake rev: 9993a89e5b97dda5f3657e5a7cc3a4fa94ff7111)

Signed-off-by: Etienne Cordonnier <ecordonnier@snap.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>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Paulo Neves
222be3e3b9 bitbake: bitbake-getvar: Add a quiet command line argument
bitbake-getvar does not have a way to silence bitbake
server's logger and that makes the tool hard to use for
text processing. This is especially true when one wants to
get a bitbake value to be piped to some other utility and
instead we get uncontrolled logging messages or warnings
together with bitbake's variable value.

Example without quiet:
bitbake-getvar --value MACHINE
NOTE: Starting bitbake server...
qemux86-64

With quiet:
bitbake-getvar --value MACHINE --quiet
qemux86-64

(Bitbake rev: d677daa0770c66010fc4ed0af5bbbb94752ba590)

Signed-off-by: Paulo Neves <ptsneves@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit af354e975d0b4c26d0e91e3c82946b093bc11b45)
Signed-off-by: Markus Niebel <Markus.Niebel@ew.tq-group.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-18 05:13:24 -10:00
Roland Hieber
ef5214f584 contributor-guide: style-guide: discourage using Pending patch status
Suggested-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Suggested-by: Alexander Kanavin <alex.kanavin@gmail.com>
(From yocto-docs rev: 49d9c8da92cdec6fe4cdc3a4432794b9d286a24f)

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-07 05:39:59 -10:00
Roland Hieber
bf72cdd748 contributor-guide: deprecate "Accepted" patch status
This is in accordance with the gatesgarth Release Notes:

  > In the ``Upstream-Status`` header convention for patches,
  > ``Accepted`` has | been replaced with ``Backport`` as these almost
  > always mean the same thing i.e. the patch is already upstream and
  > may need to be removed in a future recipe upgrade. If you are adding
  > these headers to your own patches then use Backport to indicate that
  > the patch has been sent upstream.

  <https://docs.yoctoproject.org/migration-guides/migration-3.2.html#miscellaneous-changes>

Suggested-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
(From yocto-docs rev: 9abc0d3100a07d93249f2fb376c42aab1bd9eb3a)

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-07 05:39:59 -10:00
Roland Hieber
fbbe0f86ba contributor-guide: discourage marking patches as Inappropriate
It was never really clear what all those reasons really meant, and every
patch submitted upstream liftens the maintenance on the Yocto side.
So remove the current list, and replace it with two reasons in which an
upstream submission likely won't benefit the upstream project.

Suggested-by: Alexander Kanavin <alex.kanavin@gmail.com>
(From yocto-docs rev: e0aabb7f3e7cd28a22224740eeb794a86ab34886)

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-07 05:39:59 -10:00
Roland Hieber
f06b171bee contributor-guide: recipe-style-guide: add section about CVE patches
This was previously included in the OpenEmbedded wiki page [1], but was
not ported along with the rest in commit 95c9a1e1e78bbfb82ade
(2023-09-12, Michael Opdenacker: "contributor-guide: recipe-style-guide:
add Upstream-Status").

  [1]: https://www.openembedded.org/index.php?title=Commit_Patch_Message_Guidelines&oldid=10935

Group the examples in their own sections (but name it differently from
any other section in this document so that sphinx doesn't generate a
warning about duplicate labels).

(From yocto-docs rev: 090049e08d7b6fc497a9ac5bc9fabbfa35327414)

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-07 05:39:59 -10:00
Roland Hieber
96d8a62454 contributor-guide: recipe-style-guide: add more patch tagging examples
(From yocto-docs rev: 038697bb1f7eae4214eeecd01f665da083df43fe)

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-07 05:39:59 -10:00
Michael Opdenacker
6b0501fef3 dev-manual: new-recipe.rst: replace reference to wiki
(From yocto-docs rev: c68a5b5c8f92dbde0adaa91c90e08714fa4ac2a8)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-07 05:39:59 -10:00
Michael Opdenacker
6191449343 bsp-guide: bsp.rst: replace reference to wiki
(From yocto-docs rev: b7d59090425b1fbabf8801a2359fd704bb51947a)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-07 05:39:59 -10:00
Richard Purdie
7ffedb40a1 contributor-guide/style-guide: Add a note about task idempotence
(From yocto-docs rev: 681e6a0a4305057f7b96f5bef804391d8aff812b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
CC: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-07 05:39:59 -10:00
Richard Purdie
1c8f2d8cad contributor-guide/style-guide: Refer to recipes, not packages
Whilst often referred to as packages by people we should use the more
accurate term in documentation, 'recipe' instead of 'packages'.

(From yocto-docs rev: d97795e5cfc41b57bffd1255bceaaea8494fd181)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-07 05:39:59 -10:00
Peter Marko
fcb2375417 glibc: Update to latest on stable 2.35 branch
Adresses CVE-2023-4911.

Single commit bump:
* c84018a05ae tunables: Terminate if end of input is reached (CVE-2023-4911)

(From OE-Core rev: bca43f95850d395f9dc56644fa1d12910cabb0c5)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-07 05:39:59 -10:00
Soumya Sambu
91c3fc996e glibc: Update to latest on stable 2.35 branch
Adresses CVE-2023-4813, CVE-2023-4806, CVE-2023-5156. Added these to CVE_CHECK_IGNORE
to avoid in cve-check reports since the recipe version did not change.

These are the complete list of changes this brings

* 73d4ce728a Document CVE-2023-4806 and CVE-2023-5156 in NEWS
* 17092c0311 Fix leak in getaddrinfo introduced by the fix for CVE-2023-4806 [BZ #30843]*
* 762a747fae io: Fix record locking contants for powerpc64 with __USE_FILE_OFFSET64
* e3ccb230a9 getaddrinfo: Fix use after free in getcanonname (CVE-2023-4806)
* 1b9087dcec gethosts: Return EAI_MEMORY on allocation failure
* f5f88f142a gaih_inet: Split result generation into its own function
* a6da106892 gaih_inet: split loopback lookup into its own function
* 8b70d97b08 gaih_inet: make gethosts into a function
* 9098deb96a gaih_inet: separate nss lookup loop into its own function
* ce64e72b7d gaih_inet: Split nscd lookup code into its own function.
* 4897bf7968 gaih_inet: Split simple gethostbyname into its own function
* 571c531b3b gaih_inet: make numeric lookup a separate routine
* 9aad91abe6 gaih_inet: Simplify service resolution
* d02808dee9 getaddrinfo: Fix leak with AI_ALL [BZ #28852]
* f366eaa608 gaih_inet: Simplify canon name resolution
* b126325fc7 nss: Sort tests and tests-container and put one test per line
* 6e867146ee Simplify allocations and fix merge and continue actions [BZ #28931]
* 59ee83b0c2 elf: Move l_init_called_next to old place of l_text_end in link map
* 34b07bdbdd elf: Remove unused l_text_end field from struct link_map
* 02a67e102f elf: Always call destructors in reverse constructor order (bug 30785)
* aeea91fd15 elf: Do not run constructors for proxy objects
* 1d828d5855 elf: Introduce to _dl_call_fini

(From OE-Core rev: be0bca7eaa08948b6c4eabe63e68a6e14d8dad3b)

Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-05 15:48:49 -10:00
Martin Jansa
c58c63d48f fontcache.bbclass: avoid native recipes depending on target fontconfig
* this caused liberation-font-native to depend on TUNE_PKGARCH target fontconfig
  because ${MLPREFIX}fontconfig-utils is added to RDEPENDS in anonymous python

* the dependency tree for liberation-font-native got much shorter
  (just quilt-native and liberation-font-native itself):
   2 after/pn-buildlist
  78 before/pn-buildlist

* fixes graphviz-native signature issue as well as detected with sstate-diff-machines.sh

  $ bitbake-diffsigs \
    sstate-after/mako/x86_64-linux/graphviz-native/8.1.0.do_populate_sysroot.sigdata.184d4fd355f1e7a2d7d929ef4b5f62b94e2071df9dd674b2067ec21bfc7bcc1b \
    sstate-after/qemux86-64/x86_64-linux/graphviz-native/8.1.0.do_populate_sysroot.sigdata.35da674d2dbc275bac02869dfce4165466315023910bdef65a6026e2cb942a46
  Hash for task dependency liberation-fonts-native:do_populate_sysroot changed from 310d3da04ad9abf8ee99997e53d1ffa71c2b7d9d60fb0e8de85171a9ab6a77d3 to 048420ad1410c2b8d95498fc3c11681207335a2c722836f1f3e683cc449814da

(From OE-Core rev: 098d4ca85c2bc77949843f117c6e336d5b77271d)

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-05 15:48:49 -10:00
Narpat Mali
3ba8fdef70 python3-jinja2: fix for the ptest result format
The output of python3-jinja2 ptest should follow a unified format as below
result: testname

Reference:
https://wiki.yoctoproject.org/wiki/Ptest

(From OE-Core rev: edfed23716e6240a65f53630bbaf8b7319f0d1ce)

Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-05 15:48:49 -10:00
Martin Jansa
ee2bf45810 ccache: fix build with gcc-13
* needed on hosts with gcc-13 for ccache-native

(From OE-Core rev: 6618e5bf994f49ed93bebc4280980e297be6af98)

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-05 15:48:49 -10:00
Bruce Ashfield
c156968a90 linux-yocto/5.10: update to v5.10.197
Updating  to the latest korg -stable release that comprises
the following commits:

    393e225fe8ff Linux 5.10.197
    242c5740dd17 ext4: fix rec_len verify error
    8768583b2509 scsi: pm8001: Setup IRQs on resume
    f4fffa1abb7f scsi: megaraid_sas: Fix deadlock on firmware crashdump
    3753e568d67f ata: libata: disallow dev-initiated LPM transitions to unsupported states
    993bb01d228b i2c: aspeed: Reset the i2c controller when timeout occurs
    f5e303fce3be tracefs: Add missing lockdown check to tracefs_create_dir()
    96afb318ae5d nfsd: fix change_info in NFSv4 RENAME replies
    b3183f5f05cd tracing: Have option files inc the trace array ref count
    ec7eb8b06481 tracing: Have current_trace inc the trace array ref count
    bb3e295a388c drm/amd/display: enable cursor degamma for DCN3+ DRM legacy gamma
    2cdcf6481cb3 mm/filemap: fix infinite loop in generic_file_buffered_read()
    0c5d5f8e0d2b proc: fix a dentry lock race between release_task and lookup
    8db844077ec9 net/sched: Retire rsvp classifier
    7a8f285cb58e drm/amdgpu: fix amdgpu_cs_p1_user_fence
    7390bb377b5f btrfs: release path before inode lookup during the ino lookup ioctl
    3d379dd109f8 btrfs: fix lockdep splat and potential deadlock after failure running delayed items
    c6422e6f173d ovl: fix incorrect fdput() on aio completion
    68308b0a33ed attr: block mode changes of symlinks
    634444dea898 md/raid1: fix error: ISO C90 forbids mixed declarations
    7be3a38f0e37 samples/hw_breakpoint: fix building without module unloading
    d20beafaa69b x86/boot/compressed: Reserve more memory for page tables
    7635020b9bd4 scsi: lpfc: Fix the NULL vs IS_ERR() bug for debugfs_create_file()
    f99005237684 selftests: tracing: Fix to unmount tracefs for recovering environment
    ae889fffae52 scsi: qla2xxx: Fix NULL vs IS_ERR() bug for debugfs_create_dir()
    82910aa5501d drm: gm12u320: Fix the timeout usage for usb_bulk_msg()
    df380d6f5c06 btrfs: compare the correct fsid/metadata_uuid in btrfs_validate_super
    ab90a3930d39 btrfs: add a helper to read the superblock metadata_uuid
    cc87d2bb391c btrfs: move btrfs_pinned_by_swapfile prototype into volumes.h
    e16f5f8cab65 perf tools: Add an option to build without libbfd
    c56095812721 perf jevents: Make build dependency on test JSONs
    4954c5a05494 mtd: rawnand: brcmnand: Fix ECC level field setting for v7.2 controller
    b87d03ed6ab7 mtd: rawnand: brcmnand: Allow SoC to provide I/O operations
    5df582915851 kobject: Add sanity check for kset->kobj.ktype in kset_register()
    a3efb2b57e9d media: pci: ipu3-cio2: Initialise timing struct to avoid a compiler warning
    f354456f8df1 serial: cpm_uart: Avoid suspicious locking
    bbe3ff47bf09 scsi: target: iscsi: Fix buffer overflow in lio_target_nacl_info_show()
    6d3a1dd10537 usb: gadget: fsl_qe_udc: validate endpoint index for ch9 udc
    890d10e6b72f media: pci: cx23885: replace BUG with error return
    2ae53dd15eef media: tuners: qt1010: replace BUG_ON with a regular error
    578b67614ae0 media: dvb-usb-v2: gl861: Fix null-ptr-deref in gl861_i2c_master_xfer
    a9def3e9718a media: az6007: Fix null-ptr-deref in az6007_i2c_xfer()
    4a9763d2bc4a media: anysee: fix null-ptr-deref in anysee_master_xfer
    c7e5ac737db2 media: af9005: Fix null-ptr-deref in af9005_i2c_xfer
    97fdbdb75034 media: dw2102: Fix null-ptr-deref in dw2102_i2c_transfer()
    6c01ef65de0b media: dvb-usb-v2: af9035: Fix null-ptr-deref in af9035_i2c_master_xfer
    9f3b2b666833 powerpc/pseries: fix possible memory leak in ibmebus_bus_init()
    756747d4b439 jfs: fix invalid free of JFS_IP(ipimap)->i_imap in diUnmount
    6f8b34458948 fs/jfs: prevent double-free in dbUnmount() after failed jfs_remount()
    4bff1d95ba62 ext2: fix datatype of block number in ext2_xattr_set2()
    7993cfc04148 md: raid1: fix potential OOB in raid1_remove_disk()
    5933cd61399c bus: ti-sysc: Configure uart quirks for k3 SoC
    5475b8bea148 drm/exynos: fix a possible null-pointer dereference due to data race in exynos_drm_crtc_atomic_disable()
    d51d6c42d1e5 ALSA: hda: intel-dsp-cfg: add LunarLake support
    fcfb71848e9e samples/hw_breakpoint: Fix kernel BUG 'invalid opcode: 0000'
    9726e8dcabae drm/bridge: tc358762: Instruct DSI host to generate HSE packets
    672205c6f2d1 wifi: mac80211_hwsim: drop short frames
    5bf52e431c83 netfilter: ebtables: fix fortify warnings in size_entry_mwt()
    f6f0a687546e alx: fix OOB-read compiler warning
    acf0019b93a6 mmc: sdhci-esdhc-imx: improve ESDHC_FLAG_ERR010450
    c7a8813d91f9 tpm_tis: Resend command to recover from data transfer errors
    0fc7147c6943 crypto: lib/mpi - avoid null pointer deref in mpi_cmp_ui()
    03385b243bad wifi: wil6210: fix fortify warnings
    269eb4e1d5ea wifi: mwifiex: fix fortify warning
    08fdbe379022 wifi: ath9k: fix printk specifier
    268a10c9eb0f wifi: ath9k: fix fortify warnings
    8c19ddc21566 crypto: lrw,xts - Replace strlcpy with strscpy
    cfca20009bff devlink: remove reload failed checks in params get/set callbacks
    020ecfa7b676 hw_breakpoint: fix single-stepping when using bpf_overflow_handler
    bfc747fe0725 ACPI: video: Add backlight=native DMI quirk for Apple iMac12,1 and iMac12,2
    dc01bfdc3d91 perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09
    560014aefb70 ACPI: video: Add backlight=native DMI quirk for Lenovo Ideapad Z470
    3f72fdb20f6d scftorture: Forgive memory-allocation failure if KASAN
    55887adc76e1 rcuscale: Move rcu_scale_writer() schedule_timeout_uninterruptible() to _idle()
    f8bab887a4ae kernel/fork: beware of __put_task_struct() calling context
    625c12dc04a6 ACPICA: Add AML_NO_OPERAND_RESOLVE flag to Timer
    a6f4129378ca locks: fix KASAN: use-after-free in trace_event_raw_event_filelock_lock
    b7c3cf2f6c42 btrfs: output extra debug info if we failed to find an inline backref
    69ddafc7a7af autofs: fix memory leak of waitqueues in autofs_catatonic_mode
    ff0bfa8f23eb Linux 5.10.196
    2cc1f4986233 Revert "configfs: fix a race in configfs_lookup()"
    5452d1be676c Linux 5.10.195
    d653c35de087 parisc: Drop loops_per_jiffy from per_cpu struct
    1d02ef8c8a1f drm/amd/display: Fix a bug when searching for insert_above_mpcc
    2e18493c4214 kcm: Fix error handling for SOCK_DGRAM in kcm_sendmsg().
    606a0d8ff674 ixgbe: fix timestamp configuration code
    6edf82223fab ipv6: fix ip6_sock_set_addr_preferences() typo
    a5096cc6e783 net/tls: do not free tls_rec on async operation in bpf_exec_tx_verdict()
    03be4412d31e platform/mellanox: mlxbf-tmfifo: Drop jumbo frames
    687031788fb1 platform/mellanox: mlxbf-tmfifo: Drop the Rx packet if no more descriptors
    33db24ad811b kcm: Fix memory leak in error path of kcm_sendmsg()
    ed584f1e72d7 r8152: check budget for r8152_poll()
    1e90a93ac484 hsr: Fix uninit-value access in fill_frame_info()
    75f2de75c118 net: ethernet: mtk_eth_soc: fix possible NULL pointer dereference in mtk_hwlro_get_fdir_all()
    61054a8ddb17 net: ethernet: mvpp2_main: fix possible OOB write in mvpp2_ethtool_get_rxnfc()
    d1c6c93c27a4 net/smc: use smc_lgr_list.lock to protect smc_lgr_list.list iterate in smcr_port_add
    fcb9e879a53e kselftest/runner.sh: Propagate SIGTERM to runner child
    d94aac13a102 selftests/kselftest/runner/run_one(): allow running non-executable files
    7c8ddcdab1b9 net: ipv4: fix one memleak in __inet_del_ifa()
    15dabd02a975 bus: mhi: host: Skip MHI reset if device is in RDDM
    de20747ee610 ARM: dts: BCM5301X: Extend RAM to full 256MB for Linksys EA6500 V2
    81d06d1919c9 ARM: dts: samsung: exynos4210-i9100: Fix LCD screen's physical size
    61fa6a16bb94 scsi: qla2xxx: Flush mailbox commands on chip reset
    b5775b8530b9 scsi: qla2xxx: Fix crash in PCIe error handling
    41a660c204ea scsi: qla2xxx: Consolidate zio threshold setting for both FCP & NVMe
    5c069bce2d67 scsi: qla2xxx: If fcport is undergoing deletion complete I/O with retry
    e7ed3585d092 arm64: sdei: abort running SDEI handlers during crash
    0b55460c312e ACPI: APEI: explicit init of HEST and GHES in apci_init()
    c6dc2a2e11c2 perf hists browser: Fix the number of entries for 'e' key
    c07e4a4ef36a perf tools: Handle old data in PERF_RECORD_ATTR
    b52a33a9079c perf hists browser: Fix hierarchy mode header
    d72b01d9f96f drm/amd/display: prevent potential division by zero errors
    d68f639ddec4 mtd: rawnand: brcmnand: Fix potential false time out warning
    d00b03126651 mtd: rawnand: brcmnand: Fix potential out-of-bounds access in oob write
    c839a24d6ef7 mtd: rawnand: brcmnand: Fix crash during the panic_write
    e76cef3dcdb8 btrfs: use the correct superblock to compare fsid in btrfs_validate_super
    f2873a18c235 btrfs: don't start transaction when joining with TRANS_JOIN_NOSTART
    3856e7b11810 fuse: nlookup missing decrement in fuse_direntplus_link
    1d21b03f7738 ata: pata_ftide010: Add missing MODULE_DESCRIPTION
    35a3dec703bb ata: sata_gemini: Add missing MODULE_DESCRIPTION
    b1d63e2bbd5b ext4: add correct group descriptors and reserved GDT blocks to system zone
    6612d5b5350d sh: boards: Fix CEU buffer size passed to dma_declare_coherent_memory()
    97ef9ba7df1c net: hns3: fix the port information display when sfp is absent
    780f60dde296 netfilter: nfnetlink_osf: avoid OOB read
    e89a361d99f6 net: dsa: sja1105: fix -ENOSPC when replacing the same tc-cbs too many times
    94a3117efff8 net: dsa: sja1105: fix bandwidth discrepancy between tc-cbs software and offload
    e90e70343b24 ip_tunnels: use DEV_STATS_INC()
    2539b28a2b1f idr: fix param name in idr_alloc_cyclic() doc
    0878052579cb s390/zcrypt: don't leak memory if dev_set_name() fails
    d878011b5d93 igb: Change IGB_MIN to allow set rx/tx value between 64 and 80
    417b11433eb1 igbvf: Change IGBVF_MIN to allow set rx/tx value between 64 and 80
    9444881a375d igc: Change IGC_MIN to allow set rx/tx value between 64 and 80
    46f02fc7f6fb kcm: Destroy mutex in kcm_exit_net()
    746a8df5e4d2 net: sched: sch_qfq: Fix UAF in qfq_dequeue()
    31e08e7fa6a3 af_unix: Fix data race around sk->sk_err.
    90e32f81f9cc af_unix: Fix data-races around sk->sk_shutdown.
    cf29b42766ad af_unix: Fix data-race around unix_tot_inflight.
    b401d7e485b0 af_unix: Fix data-races around user->unix_inflight.
    98e12d075c7f net: ipv6/addrconf: avoid integer underflow in ipv6_create_tempaddr
    d47bc5023e54 veth: Fixing transmit return status for dropped packets
    ab9796f43cfc igb: disable virtualization features on 82580
    160fdb4116e7 ipv4: ignore dst hint for multipath routes
    29039819c662 drm/i915/gvt: Drop unused helper intel_vgpu_reset_gtt()
    23d2651372bd drm/i915/gvt: Save/restore HW status to support GVT suspend/resume
    895dc4c47171 net: read sk->sk_family once in sk_mc_loop()
    8edced38dbe5 ipv4: annotate data-races around fi->fib_dead
    ab5c26dc5392 sctp: annotate data-races around sk->sk_wmem_queued
    94d527c3759d net/sched: fq_pie: avoid stalls in fq_pie_timer()
    a2d9d884e84b pwm: lpc32xx: Remove handling of PWM channels
    6909e28cf387 watchdog: intel-mid_wdt: add MODULE_ALIAS() to allow auto-load
    aec02fba99f8 perf top: Don't pass an ERR_PTR() directly to perf_session__delete()
    28df38af326d x86/virt: Drop unnecessary check on extended CPUID level in cpu_has_svm()
    23ec6fc52c14 perf annotate bpf: Don't enclose non-debug code with an assert()
    934d29b9fa91 backlight: gpio_backlight: Drop output GPIO direction check for initial power state
    84f99532152b kconfig: fix possible buffer overflow
    6cc6f79b931f NFSv4/pnfs: minor fix for cleanup path in nfs4_get_device_info
    4185605cd0f7 NFS: Fix a potential data corruption
    2ccab9f82772 soc: qcom: qmi_encdec: Restrict string length in decode
    bf27518fb93f clk: qcom: gcc-mdm9615: use proper parent for pll0_vote clock
    972acd701b19 clk: imx: pll14xx: dynamically configure PLL for 393216000/361267200Hz
    921453672846 dt-bindings: clock: xlnx,versal-clk: drop select:false
    690a22d6c581 pinctrl: cherryview: fix address_space_handler() argument
    b02d1fb74e8b parisc: led: Reduce CPU overhead for disk & lan LED computation
    3add85c962ab parisc: led: Fix LAN receive and transmit LEDs
    2a1cf9fe09d9 lib/test_meminit: allocate pages up to order MAX_ORDER
    6bfa28f441da drm/ast: Fix DRAM init on AST2200
    4aade6c9100a fbdev/ep93xx-fb: Do not assign to struct fb_info.dev
    db8b5a2254c3 scsi: qla2xxx: Remove unsupported ql2xenabledif option
    fd48544f3e03 scsi: qla2xxx: Turn off noisy message log
    931fadf9728d scsi: qla2xxx: Fix erroneous link up failure
    3694f18beaa1 scsi: qla2xxx: fix inconsistent TMF timeout
    4d7da12483e9 scsi: qla2xxx: Fix deletion race condition
    f271e3d64b8b io_uring: break iopolling on signal
    9faa6d0677ec io_uring: break out of iowq iopoll on teardown
    208858d4b08a io_uring: always lock in io_apoll_task_func
    6ffab754d220 net/ipv6: SKB symmetric hash should incorporate transport ports
    26f9ccb7a043 udf: initialize newblock to 0
    06494cd473e0 md/md-bitmap: remove unnecessary local variable in backlog_store()
    5103216b863f tracing: Zero the pipe cpumask on alloc to avoid spurious -EBUSY
    1c4c9191b3f8 usb: typec: tcpci: clear the fault status bit
    beba5051dd34 USB: core: Fix oversight in SuperSpeed initialization
    9d241c5d9a9b USB: core: Fix race by not overwriting udev->descriptor in hub_port_init()
    6ceffc2ecf3d USB: core: Change usb_get_device_descriptor() API
    3cef18d13f37 USB: core: Unite old scheme and new scheme descriptor reads
    38e1f2ee82ba usb: typec: bus: verify partner exists in typec_altmode_attention
    b97e3c5e9768 cpufreq: brcmstb-avs-cpufreq: Fix -Warray-bounds bug
    a1d2e2c670a3 crypto: stm32 - fix loop iterating through scatterlist for DMA
    54d03dc5d1c3 s390/ipl: add missing secure/has_secure file to ipl type 'unknown'
    dc2f60de9a7d pstore/ram: Check start of empty przs during init
    5b1f71c0b95a fsverity: skip PKCS#7 parser when keyring is empty
    a9864e126b73 net: handle ARPHRD_PPP in dev_is_mac_header_xmit()
    c681d477c03d X.509: if signature is unsupported skip validation
    4b8a938e329a dccp: Fix out of bounds access in DCCP error handler
    a4f4a5b41a13 dlm: fix plock lookup when using multiple lockspaces
    9f73fd6972bc parisc: Fix /proc/cpuinfo output for lscpu
    1f03e6dd194e procfs: block chmod on /proc/thread-self/comm
    9a0b35dc3aa0 Revert "PCI: Mark NVIDIA T4 GPUs to avoid bus reset"
    3d8d13a174ef ntb: Fix calculation ntb_transport_tx_free_entry()
    c028e90e0de1 ntb: Clean up tx tail index on link down
    3cfdc448e8bf ntb: Drop packets when qp link is down
    ffed0c8fcf04 scsi: mpt3sas: Perform additional retries if doorbell read returns 0
    bf67d43f07b5 Revert "scsi: qla2xxx: Fix buffer overrun"
    27dfaf2ee05e media: dvb: symbol fixup for dvb_attach()
    5a85727239a2 arm64: csum: Fix OoB access in IP checksum code for negative lengths
    b24bebcea556 xtensa: PMU: fix base address for the newer hardware
    8594605a0446 backlight/lv5207lp: Compare against struct fb_info.device
    e2c77841cd8d backlight/bd6107: Compare against struct fb_info.device
    35c56c48737f backlight/gpio_backlight: Compare against struct fb_info.device
    13264260eb66 ARM: OMAP2+: Fix -Warray-bounds warning in _pwrdm_state_switch()
    5c5f02e16b91 ipmi_si: fix a memleak in try_smi_init()
    5d27baee6cd9 scsi: core: Fix the scsi_set_resid() documentation
    8c90c4e61929 printk: ringbuffer: Fix truncating buffer size min_t cast
    61b918dfb675 ALSA: pcm: Fix missing fixup call in compat hw_refine ioctl
    ab192e5e5d3b PM / devfreq: Fix leak in devfreq_dev_release()
    3e39008e9e30 igb: set max size RX buffer when store bad packet is enabled
    8836c266201c skbuff: skb_segment, Call zero copy functions before using skbuff frags
    5541827d13cf netfilter: xt_sctp: validate the flag_info count
    a1b711c370f5 netfilter: xt_u32: validate user space input
    83091f8ac03f netfilter: ipset: add the missing IP_SET_HASH_WITH_NET0 macro for ip_set_hash_netportnet.c
    1186eaffd87e igmp: limit igmpv3_newpack() packet size to IP_MAX_MTU
    504bb3fc66aa virtio_ring: fix avail_wrap_counter in virtqueue_add_packed
    ea374bdf2374 cpufreq: Fix the race condition while updating the transition_task of policy
    27b75c7203fc dmaengine: ste_dma40: Add missing IRQ check in d40_probe
    cfe215a04a21 um: Fix hostaudio build errors
    eb33921806fc mtd: rawnand: fsmc: handle clk prepare error in fsmc_nand_resume()
    40d8f9bffed0 mtd: spi-nor: Check bus width while setting QE bit
    71ac2ffd7f80 rpmsg: glink: Add check for kstrdup
    268fce6ec2e0 phy/rockchip: inno-hdmi: do not power on rk3328 post pll on reg write
    6739746f4b81 phy/rockchip: inno-hdmi: round fractal pixclock in rk3328 recalc_rate
    88813bd9bbb7 phy/rockchip: inno-hdmi: use correct vco_div_5 macro on rk3328
    3a890f993b6c mtd: rawnand: brcmnand: Fix mtd oobsize
    c5d30d6aa83d tracing: Fix race issue between cpu buffer write and swap
    ee519526d58c x86/speculation: Mark all Skylake CPUs as vulnerable to GDS
    15ec7cb55e7d HID: multitouch: Correct devm device reference for hidinput input_dev name
    e38a6f12685d HID: logitech-dj: Fix error handling in logi_dj_recv_switch_to_dj_mode()
    bdb3cd9dffdf RDMA/siw: Correct wrong debug message
    d006f2cb3c68 RDMA/siw: Balance the reference of cep->kref in the error path
    aa950b9835f2 Revert "IB/isert: Fix incorrect release of isert connection"
    9baf2278b3ee amba: bus: fix refcount leak
    0c6c0280f740 serial: tegra: handle clk prepare error in tegra_uart_hw_init()
    9cce8ef7a6fa scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock
    356da2d5c084 scsi: core: Use 32-bit hostnum in scsi_host_lookup()
    629079f502fb cgroup:namespace: Remove unused cgroup_namespaces_init()
    3534ae5f171b media: ov2680: Fix regulators being left enabled on ov2680_power_on() errors
    a427ce197e75 media: ov2680: Fix vflip / hflip set functions
    cd7a0e391eb5 media: ov2680: Fix ov2680_bayer_order()
    faf1408a68c8 media: ov2680: Remove auto-gain and auto-exposure controls
    e1552a0b990b media: i2c: ov2680: Set V4L2_CTRL_FLAG_MODIFY_LAYOUT on flips
    2d29ce41de4d media: ov5640: Enable MIPI interface in ov5640_set_power_mipi()
    44c71cbe7c5a USB: gadget: f_mass_storage: Fix unused variable warning
    8f7de8215804 media: go7007: Remove redundant if statement
    3183b0cab7b5 iommu/vt-d: Fix to flush cache of PASID directory table
    4136094df53f iommu/qcom: Disable and reset context bank before programming
    b374b039e066 fsi: aspeed: Reset master errors after CFAM reset
    f8949c06c735 IB/uverbs: Fix an potential error pointer dereference
    10bd5f8ceb3e driver core: test_async: fix an error code
    19138f8cc651 dma-buf/sync_file: Fix docs syntax
    e621dbeb9f91 coresight: tmc: Explicit type conversions to prevent integer overflow
    d7f21ef741a5 scsi: qedf: Do not touch __user pointer in qedf_dbg_fp_int_cmd_read() directly
    1198a0e93587 scsi: qedf: Do not touch __user pointer in qedf_dbg_debug_cmd_read() directly
    d86d85e23e8a scsi: qedf: Do not touch __user pointer in qedf_dbg_stop_io_on_error_cmd_read() directly
    4ede2ee95b41 x86/APM: drop the duplicate APM_MINOR_DEV macro
    9a26aaea6c21 serial: sprd: Fix DMA buffer leak issue
    6232bd4dca91 serial: sprd: Assign sprd_port after initialized to avoid wrong access
    6d65079c69dc scsi: qla4xxx: Add length check when parsing nlattrs
    b65b13d01b28 scsi: be2iscsi: Add length check when parsing nlattrs
    4df82c6d6e7d scsi: iscsi: Add strlen() check in iscsi_if_set{_host}_param()
    18d49266dd6e scsi: iscsi: Add length check for nlattr payload
    3ef17ca47690 scsi: iscsi: Rename iscsi_set_param() to iscsi_if_set_param()
    8356a3ba1083 scsi: RDMA/srp: Fix residual handling
    cc2d5cdb19e3 usb: phy: mxs: fix getting wrong state with mxs_phy_is_otg_host()
    5a6f480b2ecc media: mediatek: vcodec: Return NULL if no vdec_fb is found
    43c69dc9a327 media: rkvdec: increase max supported height for H.264
    1e5eac0022f4 scsi: hisi_sas: Fix normally completed I/O analysed as failed
    b6aca9f5ab29 scsi: hisi_sas: Fix warnings detected by sparse
    0d383e555fa6 scsi: hisi_sas: Modify v3 HW SATA completion error processing
    634220605198 scsi: hisi_sas: Modify v3 HW SSP underflow error processing
    d84e5d445af1 scsi: libsas: Introduce more SAM status code aliases in enum exec_status
    519b9e3e5ce7 scsi: hisi_sas: Print SAS address for v3 hw erroneous completion print
    5e5a528c29f0 media: cx24120: Add retval check for cx24120_message_send()
    d13a84874a2e media: dvb-usb: m920x: Fix a potential memory leak in m920x_i2c_xfer()
    656423cc56bd media: dib7000p: Fix potential division by zero
    61bc9293da19 drivers: usb: smsusb: fix error handling code in smsusb_init_device
    d8a8f75fce04 media: v4l2-core: Fix a potential resource leak in v4l2_fwnode_parse_link()
    5865926da24e media: i2c: tvp5150: check return value of devm_kasprintf()
    6dff92b3fe2f media: ad5820: Drop unsupported ad5823 from i2c_ and of_device_id tables
    9d82a58d2af5 NFSv4.2: fix handling of COPY ERR_OFFLOAD_NO_REQ
    7bc36ac6713e NFS: Guard against READDIR loop when entry names exceed MAXNAMELEN
    3f1a2b0b2d57 NFSD: da_addr_body field missing in some GETDEVICEINFO replies
    aaeac3a6b119 fs: lockd: avoid possible wrong NULL parameter
    6d5361618988 jfs: validate max amount of blocks before allocation.
    f08944e3c696 powerpc/iommu: Fix notifiers being shared by PCI and VIO buses
    46ff3bd14b6d nfs/blocklayout: Use the passed in gfp flags
    953c54dfdc5d powerpc/pseries: Rework lppaca_shared_proc() to avoid DEBUG_PREEMPT
    e46cc0e42f3f powerpc: Don't include lppaca.h in paca.h
    9837d6a483cf wifi: ath10k: Use RMW accessors for changing LNKCTL
    924d1ab98706 net/mlx5: Use RMW accessors for changing LNKCTL
    37eecd50856a drm/radeon: Use RMW accessors for changing LNKCTL
    ead3dbc92bd4 drm/amdgpu: Use RMW accessors for changing LNKCTL
    2f8269ca8062 powerpc/perf: Convert fsl_emb notifier to state machine callbacks
    d45bf1528b7c powerpc/fadump: reset dump area size if fadump memory reserve fails
    ad83d83dd891 vfio/type1: fix cap_migration information leak
    d8f5613c5c6c clk: imx: composite-8m: fix clock pauses when set_rate would be a no-op
    0d81a0546b19 clk: imx8mp: fix sai4 clock
    69795c689e7b PCI/ASPM: Use RMW accessors for changing LNKCTL
    f647b8fe55b1 PCI: pciehp: Use RMW accessors for changing LNKCTL
    ae52f8ba4596 pinctrl: mcp23s08: check return value of devm_kasprintf()
    ef8e561ddb33 PCI: Mark NVIDIA T4 GPUs to avoid bus reset
    344c16a8441e clk: qcom: reset: Use the correct type of sleep/delay based on length
    289f5a88f14a clk: qcom: gcc-sm8250: Fix gcc_sdcc2_apps_clk_src
    b3a80429b1cf clk: qcom: gcc-sm8250: use ARRAY_SIZE instead of specifying num_parents
    245759d987b6 ext4: correct grp validation in ext4_mb_good_group
    2aefe3ae098d clk: qcom: gcc-sc7180: Fix up gcc_sdcc2_apps_clk_src
    74a5f9755aa8 clk: qcom: gcc-sc7180: use ARRAY_SIZE instead of specifying num_parents
    2640d3be822c clk: sunxi-ng: Modify mismatched function name
    c1ff788f731d drivers: clk: keystone: Fix parameter judgment in _of_pll_clk_init()
    13623b966bb6 ipmi:ssif: Fix a memory leak when scanning for an adapter
    6128288d8f55 ipmi:ssif: Add check for kstrdup
    8917591d7247 ALSA: ac97: Fix possible error value of *rac97
    cd062ebe0cb3 of: unittest: Fix overlay type in apply/revert check
    ca7634e5491b bus: ti-sysc: Fix cast to enum warning
    43f561e809aa drm/mediatek: Fix potential memory leak if vmap() fail
    265515548610 bus: ti-sysc: Fix build warning for 64-bit build
    98ef243d5900 audit: fix possible soft lockup in __audit_inode_child()
    69800bc5d7fd drm/msm/a2xx: Call adreno_gpu_init() earlier
    7fcbaf4bdb75 drm/amd/pm: fix variable dereferenced issue in amdgpu_device_attr_create()
    9b89db24c6b2 smackfs: Prevent underflow in smk_set_cipso()
    9f4017cac70c firmware: meson_sm: fix to avoid potential NULL pointer dereference
    815e42029f6e drm/msm/mdp5: Don't leak some plane state
    a21e73a6d8e0 drm: xlnx: zynqmp_dpsub: Add missing check for dma_set_mask
    524f23b08290 ima: Remove deprecated IMA_TRUSTED_KEYRING Kconfig
    e2d1c9b39721 drm/panel: simple: Add missing connector type and pixel format for AUO T215HVN01
    c02917e70a05 drm/armada: Fix off-by-one error in armada_overlay_get_property()
    f41c65f8d05b of: unittest: fix null pointer dereferencing in of_unittest_find_node_by_name()
    883fdbbdbe93 drm/tegra: dpaux: Fix incorrect return value of platform_get_irq
    5f0994e3f271 drm/tegra: Remove superfluous error messages around platform_get_irq()
    4a61d72585af md/md-bitmap: hold 'reconfig_mutex' in backlog_store()
    8563d52a4f61 md/bitmap: don't set max_write_behind if there is no write mostly device
    a15f309eb99c drm/amdgpu: Update min() to min_t() in 'amdgpu_info_ioctl'
    8e766a94ec2d arm64: dts: qcom: sdm845: Fix the min frequency of "ice_core_clk"
    36d3e4dedb86 arm64: dts: qcom: sdm845: Add missing RPMh power domain to GCC
    0eea279e01fe ARM: dts: BCM53573: Fix Ethernet info for Luxul devices
    ed4e48de8962 drm: adv7511: Fix low refresh rate register for ADV7533/5
    61ccdd21679e ARM: dts: samsung: s5pv210-smdkv210: correct ethernet reg addresses (split)
    e9875d2f2507 ARM: dts: s5pv210: add dummy 5V regulator for backlight on SMDKv210
    c4c72bf42f48 ARM: dts: s5pv210: adjust node names to DT spec
    bbcea0924b83 ARM: dts: samsung: s3c6410-mini6410: correct ethernet reg addresses (split)
    a2d6c5e8e703 ARM: dts: s3c64xx: align pinctrl with dtschema
    3f0d83994e98 x86/mm: Fix PAT bit missing from page protection modify mask
    b56309c77d76 drm/etnaviv: fix dumping of active MMU context
    8303282409b3 ARM: dts: BCM53573: Use updated "spi-gpio" binding properties
    031ab0f10e3b ARM: dts: BCM53573: Add cells sizes to PCIe node
    8415d803d840 ARM: dts: BCM53573: Drop nonexistent #usb-cells
    cfc4a78e7054 ARM: dts: BCM53573: Describe on-SoC BCM53125 rev 4 switch
    36d958ad4088 ARM: dts: BCM5301X: Harmonize EHCI/OHCI DT nodes name
    826ef1576996 drm/amdgpu: avoid integer overflow warning in amdgpu_device_resize_fb_bar()
    967cbc8a23e5 arm64: dts: qcom: msm8996: Add missing interrupt to the USB2 controller
    71d2d9aa2bd8 soc: qcom: ocmem: Fix NUM_PORTS & NUM_MACROS macros
    1356531e9249 soc: qcom: ocmem: Add OCMEM hardware version print
    4bf179f53694 ASoC: stac9766: fix build errors with REGMAP_AC97
    86d89987f099 quota: fix dqput() to follow the guarantees dquot_srcu should provide
    af4ff4748985 quota: add new helper dquot_active()
    905e316e5e99 quota: rename dquot_active() to inode_quota_active()
    a5da2849db58 quota: factor out dquot_write_dquot()
    53805176ec6a drm/bridge: tc358764: Fix debug print parameter order
    abd1c17ef4fb netrom: Deny concurrent connect().
    b08cc6c0396f net/sched: sch_hfsc: Ensure inner classes have fsc curve
    ab04c731a198 hwmon: (tmp513) Fix the channel number in tmp51x_is_visible()
    db7a3531662c mlxsw: i2c: Limit single transaction buffer size
    3d36ba3f7e77 mlxsw: i2c: Fix chunk size setting in output mailbox buffer
    7cc9e1dcc1af net: arcnet: Do not call kfree_skb() under local_irq_disable()
    d4f79aa9ee34 wifi: ath9k: use IS_ERR() with debugfs_create_dir()
    50f89daf9e62 Bluetooth: btusb: Do not call kfree_skb() under spin_lock_irqsave()
    bef85d58f770 wifi: mwifiex: avoid possible NULL skb pointer dereference
    cfce1973ffe0 wifi: ath9k: protect WMI command response buffer replacement with a lock
    ee72b2b1f57e wifi: ath9k: fix races between ath9k_wmi_cmd and ath9k_wmi_ctrl_rx
    91d92d897560 samples/bpf: fix broken map lookup probe
    08a6e99a334d wifi: mwifiex: Fix missed return in oob checks failed path
    0c4240d23db5 wifi: mwifiex: fix memory leak in mwifiex_histogram_read()
    0fe11dd3fe05 fs: ocfs2: namei: check return value of ocfs2_add_entry()
    d8f5415d4d49 lwt: Check LWTUNNEL_XMIT_CONTINUE strictly
    a97f221651fc lwt: Fix return values of BPF xmit ops
    97ccf9f19580 hwrng: iproc-rng200 - Implement suspend and resume calls
    49729fc47289 crypto: caam - fix unchecked return value error
    7a97044477c9 ice: ice_aq_check_events: fix off-by-one check when filling buffer
    9b812dcf2b1e selftests/bpf: Clean up fmod_ret in bench_rename test script
    88bc7122dba2 net: tcp: fix unexcepted socket die when snd_wnd is 0
    e87da6a0ac6e Bluetooth: Fix potential use-after-free when clear keys
    6668886ebecc Bluetooth: nokia: fix value check in nokia_bluetooth_serdev_probe()
    625bf86bf53e crypto: api - Use work queue in crypto_destroy_instance
    7545292d87db crypto: stm32 - Properly handle pm_runtime_get failing
    323084d77d1f selftests/bpf: fix static assert compilation issue for test_cls_*.c
    a8d69658437c wifi: mwifiex: fix error recovery in PCIE buffer descriptor management
    3fe3923d092e wifi: mwifiex: Fix OOB and integer underflow when rx packets
    5120d93c24bb can: gs_usb: gs_usb_receive_bulk_callback(): count RX overflow errors also in case of OOM
    1d6c3017cea5 spi: tegra20-sflash: fix to check return value of platform_get_irq() in tegra_sflash_probe()
    ca7ee1b75c36 wifi: mt76: testmode: add nla_policy for MT76_TM_ATTR_TX_LENGTH
    791a12102e51 bpf: reject unhashed sockets in bpf_sk_assign
    4d271804f536 udp: re-score reuseport groups when connected sockets are present
    e6e11cbaa1f1 regmap: rbtree: Use alloc_flags for memory allocations
    1d210321de6d hwrng: nomadik - keep clock enabled while hwrng is registered
    f24152c20972 tcp: tcp_enter_quickack_mode() should be static
    b275f0ae3598 bpf: Clear the probe_addr for uprobe
    514116de91c4 bpftool: Use a local bpf_perf_event_value to fix accessing its fields
    920b2f99bcbd cpufreq: powernow-k8: Use related_cpus instead of cpus in driver.exit()
    133a1f45b9a6 x86/efistub: Fix PCI ROM preservation in mixed mode
    3de36b8b9bc5 s390/paes: fix PKEY_TYPE_EP11_AES handling for secure keyblobs
    e06326ff3aae s390/pkey: fix/harmonize internal keyblob headers
    08b1803bfc73 perf/imx_ddr: don't enable counter0 if none of 4 counters are used
    c0e1f9bddcea x86/decompressor: Don't rely on upper 32 bits of GPRs being preserved
    0682fc175c82 selftests/resctrl: Close perf value read fd on errors
    f399938a917d selftests/resctrl: Unmount resctrl FS if child fails to run benchmark
    bf1f7aeb5780 selftests/resctrl: Don't leak buffer in fill_cache()
    3ee719b3a026 OPP: Fix passing 0 to PTR_ERR in _opp_attach_genpd()
    066fbd8bc981 refscale: Fix uninitalized use of wait_queue_head_t
    ac96370db7e1 selftests/harness: Actually report SKIP for signal tests
    ac5a73b5d933 tmpfs: verify {g,u}id mount options correctly
    644e93a79056 fs: Fix error checking for d_hash_and_lookup()
    731f39e4a12b eventfd: prevent underflow for eventfd semaphores
    755e86f28ab9 eventfd: Export eventfd_ctx_do_read()
    6b5d585e2302 reiserfs: Check the return value from __getblk()
    5101e2c8a567 Revert "net: macsec: preserve ingress frame ordering"
    ca8f04553ecb udf: Handle error when adding extent to a file
    4ac54312f623 udf: Check consistency of Space Bitmap Descriptor
    42714d3d7097 net: Avoid address overwrite in kernel_connect
    4ded72985bb0 platform/mellanox: Fix mlxbf-tmfifo not handling all virtio CONSOLE notifications
    0c0547d2a60a tracing: Introduce pipe_cpumask to avoid race on trace_pipes
    99d8d419dd29 ALSA: seq: oss: Fix racy open/close of MIDI devices
    21f47cc15ae1 scsi: storvsc: Always set no_report_opcodes
    5cbc749d11f7 sctp: handle invalid error codes without calling BUG()
    2bdd081a7d7c bnx2x: fix page fault following EEH recovery
    d11a4542889d netlabel: fix shift wrapping bug in netlbl_catmap_setlong()
    7dd6ef1cedca scsi: qedi: Fix potential deadlock on &qedi_percpu->p_work_lock
    7a1a7f40adf2 idmaengine: make FSL_EDMA and INTEL_IDMA64 depends on HAS_IOMEM
    d399b6ce1ae6 net: usb: qmi_wwan: add Quectel EM05GV2
    bb8a4a36321d vmbus_testing: fix wrong python syntax for integer value comparison
    0ff30413a738 clk: fixed-mmio: make COMMON_CLK_FIXED_MMIO depend on HAS_IOMEM
    0111b7bb5143 kprobes: Prohibit probing on CFI preamble symbol
    654e3d27791c security: keys: perform capable check only on privileged operations
    b23cbd3c2518 ata: pata_arasan_cf: Use dev_err_probe() instead dev_err() in data_xfer()
    331d85f0bc6e ovl: Always reevaluate the file signature for IMA
    357badc01add drm/amd/display: Exit idle optimizations before attempt to access PHY
    de0cdcceaab3 platform/x86: huawei-wmi: Silence ambient light sensor
    8964b32a67e5 platform/x86: intel: hid: Always call BTNL ACPI method
    6b953ee81a45 ASoC: atmel: Fix the 8K sample parameter in I2SC master
    37121461dd47 ASoc: codecs: ES8316: Fix DMIC config
    bc2b0d4d37f1 fs/nls: make load_nls() take a const parameter
    0a584c077967 s390/dasd: fix hanging device after request requeue
    0c96df6913d4 s390/dasd: use correct number of retries for ERP requests
    a5fd143673f3 m68k: Fix invalid .section syntax
    f7700e987f6a vxlan: generalize vxlan_parse_gpe_hdr and remove unused args
    b7cd83cfff56 ethernet: atheros: fix return value check in atl1c_tso_csum()
    16c113426755 ASoC: da7219: Check for failure reading AAD IRQ events
    afa2dbd7d13b ASoC: da7219: Flush pending AAD IRQ when suspending
    efa372af6bfe 9p: virtio: make sure 'offs' is initialized in zc_request
    2f13007fbe66 media: pci: cx23885: fix error handling for cx23885 ATSC boards
    92704dd05521 media: pulse8-cec: handle possible ping error
    9d9cdc32bfce phy: qcom-snps-femto-v2: use qcom_snps_hsphy_suspend/resume error code
    a8ba2b695955 ARM: dts: imx: Set default tuning step for imx7d usdhc
    678a88ac02e5 ARM: dts: imx: Adjust dma-apbh node name
    6895499b2239 ARM: dts: imx7s: Drop dma-apb interrupt-names
    614c27dfdee0 ARM: dts: imx: update sdma node name format
    d45e2a3d2e4f ASoC: rt5682: Fix a problem with error handling in the io init function of the soundwire
    977baccbbd4e pinctrl: amd: Don't show `Invalid config param` errors
    f1d637b63d8a nilfs2: fix WARNING in mark_buffer_dirty due to discarded buffer reuse
    0e11bb5ad33d nilfs2: fix general protection fault in nilfs_lookup_dirty_data_buffers()
    734c6d3dc7b0 fsi: master-ast-cf: Add MODULE_FIRMWARE macro
    da5dc81ed2b5 firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe
    9fda2319018c serial: sc16is7xx: fix bug when first setting GPIO direction
    2f982ce208fe serial: sc16is7xx: fix broken port 0 uart init
    bd0ed45dd661 serial: qcom-geni: fix opp vote on shutdown
    c709c7ca020a configfs: fix a race in configfs_lookup()
    746b363bef41 Bluetooth: btsdio: fix use after free bug in btsdio_remove due to race condition
    b074fb0fa02e staging: rtl8712: fix race condition
    65bfaf5f9dea HID: wacom: remove the battery when the EKR is off
    542c61470732 usb: chipidea: imx: improve logic if samsung,picophy-* parameter is 0
    5c4996c22970 usb: dwc3: meson-g12a: do post init to fix broken usb after resumption
    d44fa38193c2 USB: serial: option: add FOXCONN T99W368/T99W373 product
    df6696e42e68 USB: serial: option: add Quectel EM05G variant (0x030e)
    f71b0b4a497e modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules
    92de8497c342 rtc: ds1685: use EXPORT_SYMBOL_GPL for ds1685_rtc_poweroff
    1aeb76ffdfc0 net: enetc: use EXPORT_SYMBOL_GPL for enetc_phc_index
    d90e5956c0cc mmc: au1xmmc: force non-modular build and remove symbol_get usage
    c1112a2b54ce ARM: pxa: remove use of symbol_get()
    8c599aa78ce5 erofs: ensure that the post-EOF tails are all zeroed

(From OE-Core rev: e5690db43930efb6166fe398776eac044ce56048)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-05 15:48:49 -10:00
Bruce Ashfield
ad12417f38 linux-yocto/5.10: update to v5.10.194
Updating  to the latest korg -stable release that comprises
the following commits:

    006d5847646b Linux 5.10.194
    d93ba6e46e5f rcu-tasks: Add trc_inspect_reader() checks for exiting critical section
    3e22624f8fd3 rcu-tasks: Wait for trc_read_check_handler() IPIs
    9190c1f0aed1 rcu-tasks: Fix IPI failure handling in trc_wait_for_one_reader
    ad4f8c117b8b rcu: Prevent expedited GP from enabling tick on offline CPU
    268e92252277 Revert "MIPS: Alchemy: fix dbdma2"
    79ea9eb723b7 Revert "drm/amdgpu: install stub fence into potential unused fence pointers"
    be4ccafc077f mhi: pci_generic: Fix implicit conversion warning
    df3427204f1d ARM: module: Use module_init_layout_section() to spot init sections
    b59cfee8d8a2 arm64: module: Use module_init_layout_section() to spot init sections
    943ed7dc5ee4 arm64: module-plts: inline linux/moduleloader.h
    ecd62c85120d module: Expose module_init_layout_section()
    4566606fe3a4 Linux 5.10.193
    b3ac2c1d725b mm,hwpoison: fix printing of page flags
    7f92be110c0f ASoC: Intel: sof_sdw: include rt711.h for RT711 JD mode
    32f71ef62737 mm: memory-failure: fix unexpected return value in soft_offline_page()
    20c2db79f157 mm: memory-failure: kill soft_offline_free_page()
    406166a3acd7 mm: fix page reference leak in soft_offline_page()
    749630ce9147 mm,hwpoison: refactor get_any_page
    0df5eaab03ed dma-buf/sw_sync: Avoid recursive lock during fence signal
    7592a392b3e1 pinctrl: renesas: rza2: Add lock around pinctrl_generic{{add,remove}_group,{add,remove}_function}
    91cbf41a9d8b clk: Fix undefined reference to `clk_rate_exclusive_{get,put}'
    148a86651caf scsi: core: raid_class: Remove raid_component_add()
    5d02f4320a95 scsi: snic: Fix double free in snic_tgt_create()
    d643d3f322e8 ASoC: rt711: add two jack detection modes
    c7b26063fcae drm/i915: Fix premature release of request's reusable memory
    2d69f68ad409 cgroup/cpuset: Free DL BW in case can_attach() fails
    4603c2a104bc sched/deadline: Create DL BW alloc, free & check overflow interface
    c9546921a4b9 cgroup/cpuset: Iterate only if DEADLINE tasks are present
    5ac05ce56843 sched/cpuset: Keep track of SCHED_DEADLINE task in cpusets
    b950133d9a73 sched/cpuset: Bring back cpuset_mutex
    312713e3eae3 cgroup/cpuset: Rename functions dealing with DEADLINE accounting
    b2125926ba66 timers/nohz: Switch to ONESHOT_STOPPED in the low-res handler when the tick is stopped
    ae4f109b954d tick: Detect and fix jiffies update stall
    c7e91047d345 torture: Fix hang during kthread shutdown phase
    4bc6a4fca1f0 x86/fpu: Set X86_FEATURE_OSXSAVE feature after enabling OSXSAVE in CR4
    9e0c0b4ce541 drm/display/dp: Fix the DP DSC Receiver cap size
    8735d1c66c7c drm/vmwgfx: Fix shader stage validation
    ff0639b222e7 PCI: acpiphp: Use pci_assign_unassigned_bridge_resources() only for non-root bus
    da4e9eff0f1e media: vcodec: Fix potential array out-of-bounds in encoder queue_setup
    d2540b5f5aa1 of: dynamic: Refactor action prints to not use "%pOF" inside devtree_lock
    851f686ed0f5 radix tree: remove unused variable
    3b9a61570bc1 lib/clz_ctz.c: Fix __clzdi2() and __ctzdi2() for 32-bit kernels
    72e4a5a28ebf batman-adv: Hold rtnl lock during MTU update via netlink
    ee1d443eefb2 batman-adv: Fix batadv_v_ogm_aggr_send memory leak
    0c6da1d84921 batman-adv: Fix TT global entry leak when client roamed back
    6f5d10c0ac60 batman-adv: Do not get eth header before batadv_check_management_packet
    7c0959088366 batman-adv: Don't increase MTU when set by user
    480f2a129d8d batman-adv: Trigger events for auto adjusted MTU
    0dbedf9afee3 selinux: set next pointer before attaching to list
    a54c2048cd75 nfsd: Fix race to FREE_STATEID and cl_revoked
    7c262127d264 NFS: Fix a use after free in nfs_direct_join_group()
    f3c5697aae62 mm: add a call to flush_cache_vmap() in vmap_pfn()
    c9a0e31d9239 clk: Fix slab-out-of-bounds error in devm_clk_release()
    f979b92db1f5 NFSv4: Fix dropped lock for racing OPEN and delegation return
    0a809e01578b ibmveth: Use dcbf rather than dcbfl
    ffde5f9e8876 bonding: fix macvlan over alb bond support
    615ea2603dc8 net: remove bond_slave_has_mac_rcu()
    c8e1e17dee53 rtnetlink: Reject negative ifindexes in RTM_NEWLINK
    7b79dabd639c rtnetlink: return ENODEV when ifname does not exist and group is given
    d64cdb9cb629 netfilter: nf_tables: fix out of memory error handling
    5db1249c70b1 net/sched: fix a qdisc modification with ambiguous command request
    3847137cd167 igb: Avoid starting unnecessary workqueues
    fa7d7a7f007b ice: fix receive buffer size miscalculation
    70dfdbba3070 net: validate veth and vxcan peer ifindexes
    67c8d7ef54df net: bcmgenet: Fix return value check for fixed_phy_register()
    92b20b1569eb net: bgmac: Fix return value check for fixed_phy_register()
    0b39e3070a00 ipvlan: Fix a reference count leak warning in ipvlan_ns_exit()
    8162b73eef40 dccp: annotate data-races in dccp_poll()
    403cc3e6253d sock: annotate data-races around prot->memory_pressure
    005b6572d039 octeontx2-af: SDP: fix receive link config
    b8205dfed681 tracing: Fix memleak due to race between current_tracer and trace
    9c2ceffd4e36 tracing: Fix cpu buffers unavailable due to 'record_disabled' missed
    0498107394d4 rbd: prevent busy loop when requesting exclusive lock
    5f1697523367 rbd: retrieve and check lock owner twice before blocklisting
    2547026bb8c4 rbd: make get_lock_owner_info() return a single locker or NULL
    145248ebe0b2 libceph, rbd: ignore addr->type while comparing in some cases
    61c303cfb135 drm/amd/display: check TG is non-null before checking if enabled
    b964eb37c020 drm/amd/display: do not wait for mpc idle if tg is disabled
    7e11c58b2620 ALSA: pcm: Fix potential data race at PCM memory allocation helpers
    8c3a4c3b6485 dm integrity: reduce vmalloc space footprint on 32-bit architectures
    4fdfd3d2f09a dm integrity: increase RECALC_SECTORS to improve recalculate speed
    570f52137e9a fbdev: fix potential OOB read in fast_imageblit()
    31131cce2455 fbdev: Fix sys_imageblit() for arbitrary image widths
    209a84a14c0c fbdev: Improve performance of sys_imageblit()
    188edaaaad21 MIPS: cpu-features: Use boot_cpu_type for CPU type based features
    61913b303b31 MIPS: cpu-features: Enable octeon_cache by cpu_type
    bda55fb5ca61 fs: dlm: fix mismatch of plock results from userspace
    c3a1c4d996bf fs: dlm: use dlm_plock_info for do_unlock_close
    d503919895d8 fs: dlm: change plock interrupted message to debug again
    1652bcbf9e71 fs: dlm: add pid to debug log
    e850cd32df9f dlm: replace usage of found with dedicated list iterator variable
    7b44c1f383a1 dlm: improve plock logging if interrupted
    cd689b59129f PCI: acpiphp: Reassign resources on bridge if necessary
    e82757215295 xprtrdma: Remap Receive buffers after a reconnect
    8a64aadc29ba NFSv4: fix out path in __nfs4_get_acl_uncached
    c6aecc29d29e objtool/x86: Fix SRSO mess

(From OE-Core rev: 5bdf0da0372084ca312428f4e2585833fc732e9b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-05 15:48:49 -10:00
Bruce Ashfield
7eefa6dfb6 linux-yocto/5.10: update to v5.10.192
Updating  to the latest korg -stable release that comprises
the following commits:

    1599cb60bace Linux 5.10.192
    0e8139f92304 x86/srso: Correct the mitigation status when SMT is disabled
    23e59874657c objtool/x86: Fixup frame-pointer vs rethunk
    26e3f7690cda x86/retpoline,kprobes: Fix position of thunk sections with CONFIG_LTO_CLANG
    88e16ce7f8a6 x86/srso: Disable the mitigation on unaffected configurations
    69712baf2495 x86/CPU/AMD: Fix the DIV(0) initial fix attempt
    62ebfeb0dcf7 x86/retpoline: Don't clobber RFLAGS during srso_safe_ret()
    91b349289ef1 x86/static_call: Fix __static_call_fixup()
    d2be58f9215a x86/srso: Explain the untraining sequences a bit more
    06597b650beb x86/cpu: Cleanup the untrain mess
    e0f50b0e4186 x86/cpu: Rename srso_(.*)_alias to srso_alias_\1
    0676a392539b x86/cpu: Rename original retbleed methods
    8b0ff83e8ad3 x86/cpu: Clean up SRSO return thunk mess
    20e24c8b4c2a x86/ibt: Add ANNOTATE_NOENDBR
    bbbe1b23c7e6 objtool: Add frame-pointer-specific function ignore
    bd3d12e6fda0 x86/alternative: Make custom return thunk unconditional
    043d3bfe0a72 x86/cpu: Fix up srso_safe_ret() and __x86_return_thunk()
    d5b3c88d153c x86/cpu: Fix __x86_return_thunk symbol type
    5962f64ed2b6 mmc: f-sdh30: fix order of function calls in sdhci_f_sdh30_remove
    98c7fe38c41e net: fix the RTO timer retransmitting skb every 1ms if linear option is enabled
    9aead733f5e0 virtio-net: set queues after driver_ok
    c080cee93030 af_unix: Fix null-ptr-deref in unix_stream_sendpage().
    7aa165d761e7 netfilter: set default timeout to 3 secs for sctp shutdown send and recv state
    e62de63c63f3 mmc: block: Fix in_flight[issue_type] value error
    9022e9e62db9 mmc: wbsd: fix double mmc_free_host() in wbsd_init()
    6e74926ede96 cifs: Release folio lock on fscache read hit.
    a04ac0c31881 ALSA: usb-audio: Add support for Mythware XA001AU capture and playback interfaces.
    bd70d0b28010 serial: 8250: Fix oops for port->pm on uart_change_pm()
    03a7f213af46 ALSA: hda/realtek - Remodified 3k pull low procedure
    b7d1c719842d ASoC: meson: axg-tdm-formatter: fix channel slot allocation
    e761b7e90ac9 ASoC: rt5665: add missed regulator_bulk_disable
    d23dd85903c9 arm64: dts: rockchip: Disable HS400 for eMMC on ROCK Pi 4
    70626b93d6eb arm64: dts: rockchip: sort nodes/properties on rk3399-rock-4
    7ba9ac0b5a90 arm64: dts: rockchip: fix regulator name on rk3399-rock-4
    fba59a4b55ae arm64: dts: rockchip: add SPDIF node for ROCK Pi 4
    77806f63c317 arm64: dts: rockchip: add ES8316 codec for ROCK Pi 4
    1411c3e86e66 arm64: dts: rockchip: use USB host by default on rk3399-rock-pi-4
    eb5b1e932c18 arm64: dts: rockchip: fix supplies on rk3399-rock-pi-4
    73990370d63d bus: ti-sysc: Flush posted write on enable before reset
    0a593e8a9d24 net: do not allow gso_size to be set to GSO_BY_FRAGS
    51bc052db86d sock: Fix misuse of sk_under_memory_pressure()
    773075d38a2f net: dsa: mv88e6xxx: Wait for EEPROM done before HW reset
    0a9040dedec2 i40e: fix misleading debug logs
    abe68922d774 team: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves
    526d42c558f5 net: phy: broadcom: stub c45 read/write for 54810
    a7653eaea0a5 netfilter: nft_dynset: disallow object maps
    49f57a9087d1 ipvs: fix racy memcpy in proc_do_sync_threshold
    c8d0d3811e20 drm/panel: simple: Fix AUO G121EAN01 panel timings according to the docs
    86517421f470 selftests: mirror_gre_changes: Tighten up the TTL test match
    614811692e21 xfrm: add forgotten nla_policy for XFRMA_MTIMER_THRESH
    bd30aa9c7feb xfrm: add NULL check in xfrm_update_ae_params
    0b4d69539fde ip_vti: fix potential slab-use-after-free in decode_session6
    ec23b25e5687 ip6_vti: fix slab-use-after-free in decode_session6
    bafa23638081 xfrm: fix slab-use-after-free in decode_session6
    0f89909c80a9 net: xfrm: Amend XFRMA_SEC_CTX nla_policy structure
    8b92d03cfcec net: af_key: fix sadb_x_filter validation
    7e50815d2903 net: xfrm: Fix xfrm_address_filter OOB read
    549e4e167a4d i2c: designware: Handle invalid SMBus block data response length value
    bd7bef82ce0e btrfs: fix BUG_ON condition in btrfs_cancel_balance
    483d713ba2f6 tty: serial: fsl_lpuart: Clear the error flags by writing 1 for lpuart32 platforms
    869ce5e59845 tty: n_gsm: fix the UAF caused by race condition in gsm_cleanup_mux
    0ba7f969be59 powerpc/rtas_flash: allow user copy to flash block cache objects
    c5f59de36202 fbdev: mmp: fix value check in mmphw_probe()
    268cc9bc54bd i2c: bcm-iproc: Fix bcm_iproc_i2c_isr deadlock issue
    3ff54d904faf virtio-mmio: don't break lifecycle of vm_dev
    b1fe05cc5126 virtio-mmio: Use to_virtio_mmio_device() to simply code
    3b76d9263679 tracing/probes: Fix to update dynamic data counter if fetcharg uses it
    265a979dedb1 tracing/probes: Have process_fetch_insn() take a void * instead of pt_regs
    a89054535368 mmc: meson-gx: fix deferred probing
    e8a41b4a5008 mmc: meson-gx: use devm_mmc_alloc_host
    50ed76c9e09b mmc: core: add devm_mmc_alloc_host
    d523ce6f51f1 mmc: sunxi: fix deferred probing
    939a12f29a4b mmc: bcm2835: fix deferred probing
    01dfc61f72a8 USB: dwc3: qcom: fix NULL-deref on suspend
    3e2b5d66e926 usb: cdns3: fix NCM gadget RX speed 20x slow than expection at iMX8QM
    f5c11b45f3f9 usb: cdns3: allocate TX FIFO size according to composite EP number
    a461bcfb36d6 usb: gadget: udc: core: Introduce check_config to verify USB configuration
    a64f5fe493b5 irqchip/mips-gic: Use raw spinlock for gic_lock
    0704666c570d irqchip/mips-gic: Get rid of the reliance on irq_cpu_online()
    372f1752b745 bus: mhi: host: Range check CHDBOFF and ERDBOFF
    77944a6f3cf8 bus: mhi: Move host MHI code to "host" directory
    f73891261566 bus: mhi: Add MMIO region length to controller structure
    1cacbb711e32 bus: mhi: Add MHI PCI support for WWAN modems
    436b4232533a iio: addac: stx104: Fix race condition when converting analog-to-digital
    aeecd8d97da7 iio: addac: stx104: Fix race condition for stx104_write_raw()
    f6576d4851fa iio: adc: stx104: Implement and utilize register structures
    9d1609824554 iio: adc: stx104: Utilize iomap interface
    d2ba1f40fc09 dt-bindings: iio: add AD74413R
    c5e580831b2d iio: add addac subdirectory
    bb70fdbfa272 IMA: allow/fix UML builds
    66a3b2a12138 ring-buffer: Do not swap cpu_buffer during resize process
    dd5a12cdf20c powerpc/kasan: Disable KCOV in KASAN code
    9f9eed451176 ALSA: hda: fix a possible null-pointer dereference due to data race in snd_hdac_regmap_sync()
    7a21c2e474ae ALSA: hda/realtek: Add quirks for Unis H3C Desktop B760 & Q760
    b870b9a47fdb drm/amdgpu: Fix potential fence use-after-free v2
    f19add5c7760 Bluetooth: btusb: Add MT7922 bluetooth ID for the Asus Ally
    2958cf9f805b Bluetooth: L2CAP: Fix use-after-free
    04bb8af40a77 pcmcia: rsrc_nonstatic: Fix memory leak in nonstatic_release_resource_db()
    7c5b2649f6a3 gfs2: Fix possible data races in gfs2_show_options()
    e8f3d96051c1 usb: chipidea: imx: add missing USB PHY DPDM wakeup setting
    7a3a7c6fa0dc usb: chipidea: imx: don't request QoS for imx8ulp
    2caeb722f0ea media: platform: mediatek: vpu: fix NULL ptr dereference
    99d6afa19d6d usb: gadget: u_serial: Avoid spinlock recursion in __gs_console_push
    e52de26cb374 media: v4l2-mem2mem: add lock to protect parameter num_rdy
    5c094ca99482 FS: JFS: Check for read-only mounted filesystem in txBegin
    2a3f20efe6c9 FS: JFS: Fix null-ptr-deref Read in txBegin
    e778c8b0a9b6 MIPS: dec: prom: Address -Warray-bounds warning
    911b48eec451 fs: jfs: Fix UBSAN: array-index-out-of-bounds in dbAllocDmapLev
    4503f6fc95d6 udf: Fix uninitialized array access for some pathnames
    a2966e0436dd ovl: check type and offset of struct vfsmount in ovl_entry
    73311dd83185 RDMA/mlx5: Return the firmware result upon destroying QP/RQ
    19312bc3ff67 HID: add quirk for 03f0:464a HP Elite Presenter Mouse
    04bd3a362d2f drm/amdgpu: install stub fence into potential unused fence pointers
    04e774fb6789 dma-remap: use kvmalloc_array/kvfree for larger dma memory remap
    cbaebbba722c quota: fix warning in dqgrab()
    8a4f4d47b82f quota: Properly disable quotas when add_dquot_ref() fails
    df907501ba54 iopoll: Call cpu_relax() in busy loops
    940ccc291cca ASoC: Intel: sof_sdw: Add support for Rex soundwire
    b2882c51e6d0 ARM: dts: imx6dl: prtrvt, prtvt7, prti6q, prtwd2: fix USB related warnings
    dbe0f607f84c PCI: tegra194: Fix possible array out of bounds access
    10459ffd56ad ASoC: Intel: sof_sdw: add quirk for LNL RVP
    9f4dd39696c8 ASoC: Intel: sof_sdw: add quirk for MTL RVP
    751c5b6a2315 ALSA: emu10k1: roll up loops in DSP setup code for Audigy
    e6825b30d37f drm/radeon: Fix integer overflow in radeon_cs_parser_init
    e6c0a9728e3a net/mlx5: Skip clock update work when device is in error state
    81cc91bba42b net/mlx5: Move all internal timer metadata into a dedicated struct
    ba2e27e5100d net/mlx5: Refactor init clock function
    e77ef787415b macsec: use DEV_STATS_INC()
    ecf0e627fbbb macsec: Fix traffic counters/statistics
    b630367a608d mmc: sdhci-f-sdh30: Replace with sdhci_pltfm

(From OE-Core rev: 8851b954ba00761fc6dd31561643fecf6749b838)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-05 15:48:49 -10:00
Bruce Ashfield
0b624c308c linux-yocto/5.10: update to v5.10.191
Updating  to the latest korg -stable release that comprises
the following commits:

    da742ebfa00c Linux 5.10.191
    3b55ce96efc5 sch_netem: fix issues in netem_change() vs get_dist_table()
    db9d161a0407 alpha: remove __init annotation from exported page_is_ram()
    4af122b5d7b8 scsi: qedf: Fix firmware halt over suspend and resume
    3bb05745cacc scsi: qedi: Fix firmware halt over suspend and resume
    aa9a76d5ffde scsi: core: Fix possible memory leak if device_add() fails
    58889d5ad74c scsi: snic: Fix possible memory leak if device_add() fails
    a370e2d653e5 scsi: 53c700: Check that command slot is not NULL
    1678408d08f3 scsi: storvsc: Fix handling of virtual Fibre Channel timeouts
    267ad381c2fc scsi: core: Fix legacy /proc parsing buffer overflow
    039ce5eb6ba2 netfilter: nf_tables: report use refcount overflow
    93b3195d370a nvme-rdma: fix potential unbalanced freeze & unfreeze
    9ad83e3e6121 nvme-tcp: fix potential unbalanced freeze & unfreeze
    200ae5fa0b7e btrfs: set cache_block_group_error if we find an error
    bd3175f9d597 btrfs: don't stop integrity writeback too early
    c91d822127d3 ibmvnic: Handle DMA unmapping of login buffs in release functions
    9024873b943d ibmvnic: Unmap DMA login rsp buffer on send login fail
    d4750cea76f7 ibmvnic: Enforce stronger sanity checks on login response
    879750c6a7e1 net/mlx5: Allow 0 for total host VFs
    f8510dfa958b dmaengine: mcf-edma: Fix a potential un-allocated memory access
    e8d349408a49 net: hns3: add wait until mac link down
    70660e6faac5 net: hns3: refactor hclge_mac_link_status_wait for interface reuse
    b564f32fb369 net: phy: at803x: remove set/get wol callbacks for AR8032
    0d3573811894 wifi: cfg80211: fix sband iftype data lookup for AP_VLAN
    33c677d1e087 IB/hfi1: Fix possible panic during hotplug remove
    13f7752f4adb drivers: net: prevent tun_build_skb() to exceed the packet size limit
    6d701c95ee64 dccp: fix data-race around dp->dccps_mss_cache
    6d0bd7b7b3a7 bonding: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves
    5850c391fd7e tunnels: fix kasan splat when generating ipv4 pmtu error
    b3b6b9331abc net/packet: annotate data-races around tp->status
    cafe399d4d50 mISDN: Update parameter type of dsp_cmx_send()
    4f1d1cc16ad3 selftests: forwarding: tc_flower: Relax success criterion
    501e3de09a53 selftests: forwarding: Switch off timeout
    fe8fac37aa73 selftests: forwarding: Skip test when no interfaces are specified
    44a47be97cf2 selftests: forwarding: ethtool_extended_state: Skip when using veth pairs
    0a93fa240d7c selftests: forwarding: ethtool: Skip when using veth pairs
    7e6af9c133c0 selftests: forwarding: Add a helper to skip test when using veth pairs
    e731ad522159 selftests/rseq: Fix build with undefined __weak
    cba47d0c95fb drm/nouveau/disp: Revert a NULL check inside nouveau_connector_get_modes
    98eaa12c967b x86: Move gds_ucode_mitigated() declaration to header
    09f78fc442fa x86/speculation: Add cpu_show_gds() prototype
    5258281a930c x86/mm: Fix VDSO and VVAR placement on 5-level paging machines
    eda9f8ffca46 x86/cpu/amd: Enable Zenbleed fix for AMD Custom APU 0405
    cb1eefc04634 x86/srso: Fix build breakage with the LLVM linker
    df8d390a210f usb: common: usb-conn-gpio: Prevent bailing out if initial role is none
    598ccdb92dec usb: dwc3: Properly handle processing of pending events
    fe7c3a445d22 usb-storage: alauda: Fix uninit-value in alauda_check_media()
    d7e5e2b87f5d binder: fix memory leak in binder_init()
    0439ce5aefcd iio: cros_ec: Fix the allocation size for cros_ec_command
    aa425ee2278d io_uring: correct check for O_TMPFILE
    372072408724 nilfs2: fix use-after-free of nilfs_root in dirtying inodes via iput
    a16c66baa4de x86/pkeys: Revert a5eff7259790 ("x86/pkeys: Add PKRU value to init_fpstate")
    04499d2c973a radix tree test suite: fix incorrect allocation size for pthreads
    db0e1e2abddb hwmon: (pmbus/bel-pfe) Enable PMBUS_SKIP_STATUS_CHECK for pfe1100
    a73d999fdfd9 drm/amd/display: check attr flag before set cursor degamma on DCN3+
    188e8e25ae24 drm/shmem-helper: Reset vma->vm_ops before calling dma_buf_mmap()
    6b6839e440d7 drm/nouveau/gr: enable memory loads on helper invocation on all channels
    002cde0b78d3 riscv,mmio: Fix readX()-to-delay() ordering
    8362ad5367dc dmaengine: pl330: Return DMA_PAUSED when transaction is paused
    7328c5319e08 selftests/bpf: Fix sk_assign on s390x
    b1a3e27d6bfc selftests/bpf: Workaround verification failure for fexit_bpf2bpf/func_replace_return_code
    4af2d9ddb7e7 selftests/bpf: make test_align selftest more robust
    1952a4d5e4cf bpf: aggressively forget precise markings during state checkpointing
    7ca3e7459f4a bpf: stop setting precise in current state
    2474ec58b96d bpf: allow precision tracking for programs with subprogs
    6796c2a0c5fc ipv6: adjust ndisc_is_useropt() to also return true for PIO
    f327f463c7ac mmc: moxart: read scr register without changing byte order
    890ac460b0e8 wireguard: allowedips: expand maximum node depth
    ec585727b63d Linux 5.10.190
    b6fc2fbf8908 x86/CPU/AMD: Do not leak quotient data after a division by 0
    98b7ab5e8d88 ARM: dts: nxp/imx6sll: fix wrong property name in usbphy node
    14f2e2ac731b ARM: dts: imx6sll: fixup of operating points
    f1c928496d2a ARM: dts: imx: add usb alias
    c0e7123e896a wifi: mt76: mt7615: do not advertise 5 GHz on first phy of MT7615D (DBDC)
    37fad83ae527 mt76: mt7615: Fix fall-through warnings for Clang
    b85c7882fd3c mt76: move band capabilities in mt76_phy
    381f7df0f3c3 exfat: check if filename entries exceeds max filename length
    bd3bdb9e0d65 exfat: support dynamic allocate bh for exfat_entry_set_cache
    e0d192a4023e exfat: speed up iterate/lookup by fixing start point of traversing cluster chain
    86e4e949ea81 PM: sleep: wakeirq: fix wake irq arming
    9a320469add4 PM / wakeirq: support enabling wake-up irq after runtime_suspend called
    48d1d0ce0782 soundwire: fix enumeration completion
    7d949774e7c1 soundwire: bus: pm_runtime_request_resume on peripheral attachment
    662735bc1127 soundwire: bus: add better dev_dbg to track complete() calls
    173d9c7090db selftests/rseq: Play nice with binaries statically linked against glibc 2.35+
    c08de20e7041 selftests/rseq: check if libc rseq support is registered
    fbb6657037d4 powerpc/mm/altmap: Fix altmap boundary check
    1f09d67d3906 mtd: rawnand: fsl_upm: Fix an off-by one test in fun_exec_op()
    027710952b53 mtd: rawnand: omap_elm: Fix incorrect type in assignment
    d328849fb63b ext2: Drop fragment support
    7e4e87ec56aa fs: Protect reconfiguration of sb read-write from racing writes
    ec0d0be41721 net: usbnet: Fix WARNING in usbnet_start_xmit/usb_submit_urb
    06f87c96216b Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb
    7f740bc696d4 fs/sysv: Null check to prevent null-ptr-deref bug
    426656e8dd03 tracing: Fix sleeping while atomic in kdb ftdump
    4f86da9abe31 file: reinstate f_pos locking optimization for regular files
    d39971d902d0 drm/ttm: check null pointer before accessing when swapping
    c9c78b91c783 open: make RESOLVE_CACHED correctly test for O_TMPFILE
    3048cb0dc0cc bpf: Disable preemption in bpf_event_output
    33a339e717be net: tap_open(): set sk_uid from current_fsuid()
    5ea23f1cb67e net: tun_chr_open(): set sk_uid from current_fsuid()
    8d104bfd41a9 arm64: dts: stratix10: fix incorrect I2C property for SCL signal
    8625802a1ba8 mtd: rawnand: meson: fix OOB available bytes for ECC
    82dc2bffeabc mtd: spinand: toshiba: Fix ecc_get_status
    ddf7cc702973 exfat: release s_lock before calling dir_emit()
    79d16a84ea41 exfat: use kvmalloc_array/kvfree instead of kmalloc_array/kfree
    a4b2673e3c04 ceph: defer stopping mdsc delayed_work
    b5b39ff6917f USB: zaurus: Add ID for A-300/B-500/C-700
    513bfdde8a3b libceph: fix potential hang in ceph_osdc_notify()
    181274d2f3de scsi: zfcp: Defer fc_rport blocking until after ADISC response
    6d9f5f3d8920 tcp_metrics: fix data-race in tcpm_suck_dst() vs fastopen
    05d1dc88c40f tcp_metrics: annotate data-races around tm->tcpm_net
    079afb181504 tcp_metrics: annotate data-races around tm->tcpm_vals[]
    57bcbbb208a0 tcp_metrics: annotate data-races around tm->tcpm_lock
    289091eef30f tcp_metrics: annotate data-races around tm->tcpm_stamp
    420aad608f72 tcp_metrics: fix addr_same() helper
    80e9488ece3d net/mlx5: fs_core: Skip the FTs in the same FS_TYPE_PRIO_CHAINS fs_prio
    7a634336a03b net/mlx5: fs_core: Make find_closest_ft more generic
    c650597647ec vxlan: Fix nexthop hash size
    1683124129a4 ip6mr: Fix skb_under_panic in ip6mr_cache_report()
    c33d5a5c5b2c s390/qeth: Don't call dev_close/dev_open (DOWN/UP)
    8e309f43d0ca net: dcb: choose correct policy to parse DCB_ATTR_BCN
    6d4f24736df9 net: netsec: Ignore 'phy-mode' on SynQuacer in DT mode
    216092963ce5 net: ll_temac: fix error checking of irq_of_parse_and_map()
    20fe059c1d47 net: ll_temac: Switch to use dev_err_probe() helper
    a0e42f4bd496 bpf: sockmap: Remove preempt_disable in sock_map_sk_acquire
    aaa71c4e8ad9 net/sched: cls_route: No longer copy tcf_result on update to avoid use-after-free
    a8d478200b10 net/sched: cls_fw: No longer copy tcf_result on update to avoid use-after-free
    b4256c99a711 net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after-free
    268b29ef1947 net: add missing data-race annotation for sk_ll_usec
    ad417bab9d5b net: add missing data-race annotations around sk->sk_peek_off
    11e0590af333 net: add missing READ_ONCE(sk->sk_rcvbuf) annotation
    dc20f7bada00 net: add missing READ_ONCE(sk->sk_sndbuf) annotation
    427c611d846d net: add missing READ_ONCE(sk->sk_rcvlowat) annotation
    c7ebe08f4081 net: annotate data-races around sk->sk_max_pacing_rate
    14db69381dd8 mISDN: hfcpci: Fix potential deadlock on &hc->lock
    d163337bef20 net: sched: cls_u32: Fix match key mis-addressing
    e68929f11b19 perf test uprobe_from_different_cu: Skip if there is no gcc
    eb8031b7ce0c net: dsa: fix value check in bcm_sf2_sw_probe()
    abb0172fa8dc rtnetlink: let rtnl_bridge_setlink checks IFLA_BRIDGE_MODE length
    6b93c510684a bpf: Add length check for SK_DIAG_BPF_STORAGE_REQ_MAP_FD parsing
    2cf67912078f net/mlx5e: fix return value check in mlx5e_ipsec_remove_trailer()
    165159854757 net/mlx5: DR, fix memory leak in mlx5dr_cmd_create_reformat_ctx
    ef3d0a732d69 wifi: cfg80211: Fix return value in scan logic
    b4bdcbc0e391 KVM: s390: fix sthyi error handling
    4241cfc973ad word-at-a-time: use the same return type for has_zero regardless of endianness
    94f8447ab802 arm64: dts: imx8mn-var-som: add missing pull-up for onboard PHY reset pinmux
    832a4d4cdb3f loop: Select I/O scheduler 'none' from inside add_disk()
    3f7395c38204 perf: Fix function pointer case
    a883b98dc737 io_uring: gate iowait schedule on having pending requests
    058c0cbd251a x86/kprobes: Fix JNG/JNLE emulation
    edc2ac7c7265 x86/kprobes: Update kcb status flag after singlestepping
    f07f3938c813 x86/kprobes: Move 'inline' to the beginning of the kprobe_is_ss() declaration
    2b5afe25f5b6 x86/kprobes: Fix to identify indirect jmp and others using range case
    ba7d1dae9fe8 x86/kprobes: Use int3 instead of debug trap for single-step
    2c57553a77e1 x86/kprobes: Identify far indirect JMP correctly
    41db23bad952 x86/kprobes: Retrieve correct opcode for group instruction
    ff97a14c8a86 x86/kprobes: Do not decode opcode in resume_execution()
    5601d812c8d8 kprobes/x86: Fix fall-through warnings for Clang
    7a413fa04726 ASoC: cs42l51: fix driver to properly autoload with automatic module loading
    4d360a819453 io_uring: treat -EAGAIN for REQ_F_NOWAIT as final for io-wq
    9164e27c5a8e selftests: mptcp: depend on SYN_COOKIES
    f0acd6c3a2cd cpufreq: intel_pstate: Drop ACPI _PSS states table patching
    a241fc02f1ce ACPI: processor: perflib: Avoid updating frequency QoS unnecessarily
    ad938dd2af28 ACPI: processor: perflib: Use the "no limit" frequency QoS
    4148f28f9824 drm/ttm: make ttm_bo_unpin more defensive
    c0f2b2b02096 dm cache policy smq: ensure IO doesn't prevent cleaner policy progress
    aae65b1793bb ceph: never send metrics if disable_send_metrics is set
    4f669618c99f ASoC: wm8904: Fill the cache for WM8904_ADC_TEST_0 register
    c837f121bc98 s390/dasd: fix hanging device after quiesce/resume
    276738b382cf virtio-net: fix race between set queues and probe
    3d10481a90c3 btrfs: check if the transaction was aborted at btrfs_wait_for_commit()
    fc511ae405f7 staging: r8712: Fix memory leak in _r8712_init_xmit_priv()
    223ecf871b42 staging: rtl8712: Use constants from <linux/ieee80211.h>
    836b13168336 KVM: VMX: Don't fudge CR0 and CR4 for restricted L2 guest
    c710ff061237 KVM: nVMX: Do not clear CR3 load/store exiting bits if L1 wants 'em
    7fc51da40b9d KVM: VMX: Fold ept_update_paging_mode_cr0() back into vmx_set_cr0()
    96c73bc9efef KVM: VMX: Invert handling of CR0.WP for EPT without unrestricted guest
    90cd5ab951ea irqchip/gic-v4.1: Properly lock VPEs when doing a directLPI invalidation
    57b8db5800a5 irq-bcm6345-l1: Do not assume a fixed block to cpu mapping
    b1867cddd780 tpm_tis: Explicitly check for error code
    5be81139d2ff nfsd: Remove incorrect check in nfsd4_validate_stateid
    4a871fcebc02 file: always lock position for FMODE_ATOMIC_POS
    c5c797ccc3b5 btrfs: check for commit error at btrfs_attach_transaction_barrier()
    5e0e4e72ca21 hwmon: (nct7802) Fix for temp6 (PECI1) processed even if PECI1 disabled
    7c6df7f0fc3d ALSA: hda/relatek: Enable Mute LED on HP 250 G8
    8fc0eabaa73b tty: n_gsm: fix UAF in gsm_cleanup_mux
    caac4b6c15b6 staging: ks7010: potential buffer overflow in ks_wlan_set_encode_ext()
    baef414b1ca0 Documentation: security-bugs.rst: clarify CVE handling
    0d5b23743bed Documentation: security-bugs.rst: update preferences when dealing with the linux-distros group
    65cd02e3c37e Revert "usb: xhci: tegra: Fix error check"
    b0fd110578e7 usb: xhci-mtk: set the dma max_seg_size
    d0b588bbe4d9 USB: quirks: add quirk for Focusrite Scarlett
    66a622275a11 usb: ohci-at91: Fix the unhandle interrupt when resume
    96c433aff5fd usb: dwc3: don't reset device side if dwc3 was configured as host-only
    05b201de4418 usb: dwc3: pci: skip BYT GPIO lookup table for hardwired phy
    75ad45cef699 Revert "usb: dwc3: core: Enable AutoRetry feature in the controller"
    bf468806b63f can: gs_usb: gs_can_close(): add missing set of CAN state to CAN_STATE_STOPPED
    d5db33a667f5 USB: serial: simple: sort driver entries
    81c54eef1dd7 USB: serial: simple: add Kaufmann RKS+CAN VCP
    fca2a74eee5a USB: serial: option: add Quectel EC200A module support
    c704cb21138b USB: serial: option: support Quectel EM060K_128
    1037ee1dbf73 serial: sifive: Fix sifive_serial_console_setup() section
    6209a7383d3a serial: 8250_dw: Preserve original value of DLF register
    9e671a6116f4 serial: qcom-geni: drop bogus runtime pm state update
    68e6287ac61d USB: gadget: Fix the memory leak in raw_gadget driver
    da1b105dc66d Revert "usb: gadget: tegra-xudc: Fix error check in tegra_xudc_powerdomain_init()"
    a6d2fd1703cd tracing: Fix warning in trace_buffered_event_disable()
    0efbdbc4530c ring-buffer: Fix wrong stat of cpu_buffer->read
    e410839c0cd8 ata: pata_ns87415: mark ns87560_tf_read static
    82ce0ae87a96 dm raid: protect md_stop() with 'reconfig_mutex'
    d6a1cf4ee5eb dm raid: clean up four equivalent goto tags in raid_ctr()
    a43c761a7e1c dm raid: fix missing reconfig_mutex unlock in raid_ctr() error paths
    d82bfe9686f3 block: Fix a source code comment in include/uapi/linux/blkzoned.h
    ab6d14bc4041 ASoC: fsl_spdif: Silence output on stop
    94bac776cd27 drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in a5xx_submit_in_rb()
    b0100bdb9dcd RDMA/mthca: Fix crash when polling CQ for shared QPs
    62a8a4cafa96 drm/msm/adreno: Fix snapshot BINDLESS_DATA size
    5c9e03b86756 drm/msm/dpu: drop enum dpu_core_perf_data_bus_id
    08aa5a5297e6 RDMA/mlx4: Make check for invalid flags stricter
    9d1fd118bcb4 tipc: stop tipc crypto on failure in tipc_node_create
    d03de937765f tipc: check return value of pskb_trim()
    3661bab5afcb benet: fix return value check in be_lancer_xmit_workarounds()
    f40f7a858b3b net/sched: mqprio: Add length check for TCA_MQPRIO_{MAX/MIN}_RATE64
    3ed3729a6a8e net/sched: mqprio: add extack to mqprio_parse_nlattr()
    6227b461542f net/sched: mqprio: refactor nlattr parsing to a separate function
    308a43f1521d netfilter: nf_tables: disallow rule addition to bound chain via NFTA_RULE_CHAIN_ID
    ab5a97a94b57 netfilter: nf_tables: skip immediate deactivate in _PREPARE_ERROR
    7782ce022fea netfilter: nftables: add helper function to validate set element data
    893cb3c3513c netfilter: nft_set_rbtree: fix overlap expiration walk
    89060b831c41 platform/x86: msi-laptop: Fix rfkill out-of-sync on MSI Wind U100
    75f57acda32f team: reset team's flags when down link is P2P device
    de982f46be83 bonding: reset bond's flags when down link is P2P device
    b2712c4bfc3b ice: Fix memory management in ice_ethtool_fdir.c
    0cd74fbd3b83 tcp: Reduce chance of collisions in inet6_hashfn().
    b55a2b34b1b6 ipv6 addrconf: fix bug where deleting a mngtmpaddr can create a new temporary address
    5a3c92968223 ethernet: atheros: fix return value check in atl1e_tso_csum()
    ad249aa3c38f phy: hisilicon: Fix an out of bounds check in hisi_inno_phy_probe()
    6f26f1457377 vxlan: calculate correct header length for GPE
    d2741769d512 vxlan: move to its own directory
    076f786f0414 net: hns3: fix wrong bw weight of disabled tc issue
    344b7c000398 net: hns3: reconstruct function hclge_ets_validate()
    111b699300a7 net: phy: marvell10g: fix 88x3310 power up
    8a6cc852f658 i40e: Fix an NULL vs IS_ERR() bug for debugfs_create_dir()
    39c789c9570d media: staging: atomisp: select V4L2_FWNODE
    fb1db979043a phy: qcom-snps-femto-v2: properly enable ref clock
    ffebc22bdd08 phy: qcom-snps-femto-v2: keep cfg_ahb_clk enabled during runtime suspend
    f34090579a8b phy: qcom-snps: correct struct qcom_snps_hsphy kerneldoc
    ceba255a791b phy: qcom-snps: Use dev_err_probe() to simplify code
    ed3d841f2fc2 ext4: fix to check return value of freeze_bdev() in ext4_shutdown()
    e3454b438c67 pwm: meson: fix handling of period/duty if greater than UINT_MAX
    b306d09967ca pwm: meson: Simplify duplicated per-channel tracking
    840ce9cfc86f tracing: Show real address for trace event arguments
    8996b13051f0 drm/ttm: never consider pinned BOs for eviction&swap
    5f6d5b58c59e drm/ttm: add ttm_bo_pin()/ttm_bo_unpin() v2
    1815d9bf02b7 fs: dlm: interrupt posix locks only when process is killed
    0f6741acfd5b dlm: rearrange async condition return
    793123331007 dlm: cleanup plock_op vs plock_xop
    838d6e86ec74 PCI/ASPM: Avoid link retraining race
    9f283ca643dd PCI/ASPM: Factor out pcie_wait_for_retrain()
    ffc0ee491f04 PCI/ASPM: Return 0 or -ETIMEDOUT from pcie_retrain_link()
    9fd349c8858e i2c: nomadik: Remove a useless call in the remove function
    a7ab5d7943b5 i2c: nomadik: Use devm_clk_get_enabled()
    ec954a4ab0c8 i2c: nomadik: Remove unnecessary goto label
    04b114067849 i2c: Improve size determinations
    41e90f0e50f5 i2c: Delete error messages for failed memory allocations
    52df40a5c71e btrfs: fix extent buffer leak after tree mod log failure at split_node()
    52403c3dad20 btrfs: fix race between quota disable and relocation
    3069fc0326b8 gpio: tps68470: Make tps68470_gpio_output() always set the initial value
    22786d53817d io_uring: don't audit the capability check in io_uring_create()
    8e635da0e0d3 KVM: s390: pv: fix index value of replaced ASCE

(From OE-Core rev: f3db78f6fdc439ba0d3450837d8b3e9052b7d8ca)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-05 15:48:49 -10:00
Bruce Ashfield
22caf0ce33 linux-yocto/5.10: update to v5.10.189
Updating  to the latest korg -stable release that comprises
the following commits:

    de5f63612d16 Linux 5.10.189
    2ae9a73819a7 x86: fix backwards merge of GDS/SRSO bit
    f9167a2d6b94 xen/netback: Fix buffer overrun triggered by unusual packet
    8457fb5740b1 x86/srso: Tie SBPB bit setting to microcode patch detection
    4873939c0e1c x86/srso: Fix return thunks in generated code
    384d41bea948 x86/srso: Add IBPB on VMEXIT
    4acaea47e3bc x86/srso: Add IBPB
    e47af0c255ae x86/srso: Add SRSO_NO support
    df76a59feba5 x86/srso: Add IBPB_BRTYPE support
    3f9b7101bea1 x86/srso: Add a Speculative RAS Overflow mitigation
    34f23ba8a399 x86/cpu, kvm: Add support for CPUID_80000021_EAX
    073a28a9b506 x86/bugs: Increase the x86 bugs vector size to two u32s
    9b7fe7c6fbc0 tools headers cpufeatures: Sync with the kernel sources
    437fa179f213 x86/cpufeatures: Assign dedicated feature word for CPUID_0x8000001F[EAX]
    baf6d6c39e23 x86/cpu: Add VM page flush MSR availablility as a CPUID feature
    675046878431 Documentation/x86: Fix backwards on/off logic about YMM support
    79972c2b95ec x86/mm: Initialize text poking earlier
    1ff14defdfc9 mm: Move mm_cachep initialization to mm_init()
    6ee042fd240f x86/mm: Use mm_alloc() in poking_init()
    f076d0817878 x86/mm: fix poking_init() for Xen PV guests
    583016037a09 x86/xen: Fix secondary processors' FPU initialization
    eb13cce48874 KVM: Add GDS_NO support to KVM
    7db4ddcb8d8e x86/speculation: Add Kconfig option for GDS
    363c98f9cfa8 x86/speculation: Add force option to GDS mitigation
    288a2f6bc1ce x86/speculation: Add Gather Data Sampling mitigation
    4ae1cbb730bd x86/fpu: Move FPU initialization into arch_cpu_finalize_init()
    2462bc3ef061 x86/fpu: Mark init functions __init
    7a2f42bce9ab x86/fpu: Remove cpuinfo argument from init functions
    18fcd72da1ed init, x86: Move mem_encrypt_init() into arch_cpu_finalize_init()
    09658b81d158 init: Invoke arch_cpu_finalize_init() earlier
    bf2fa3a9d0e6 init: Remove check_bugs() leftovers
    b05031c2bca7 um/cpu: Switch to arch_cpu_finalize_init()
    2edb3b39ca79 sparc/cpu: Switch to arch_cpu_finalize_init()
    3c45134b38b4 sh/cpu: Switch to arch_cpu_finalize_init()
    75bb54c951e9 mips/cpu: Switch to arch_cpu_finalize_init()
    1cd3fc18eb16 m68k/cpu: Switch to arch_cpu_finalize_init()
    12d93c6c98d5 ia64/cpu: Switch to arch_cpu_finalize_init()
    c0fff20d4efa ARM: cpu: Switch to arch_cpu_finalize_init()
    e5eb18e164d0 x86/cpu: Switch to arch_cpu_finalize_init()
    6e606e681873 init: Provide arch_cpu_finalize_init()

(From OE-Core rev: f674e44ff69a1e51c4b6929d195ce0a110577c12)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-05 15:48:49 -10:00
Shubham Kulkarni
74b22a5e91 go: Update fix for CVE-2023-24538 & CVE-2023-39318
Add missing files in fix for CVE-2023-24538 & CVE-2023-39318

Upstream Link -
CVE-2023-24538: b1e3ecfa06
CVE-2023-39318: 023b542edf

(From OE-Core rev: 0d8f7062d4fb5525f34427b1a7304f165bee0cfc)

Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-05 15:48:49 -10:00
Peter Marko
25073f9c0e json-c: define CVE_VERSION
Recently NVD updated all CVEs for json-c and old fixed
CVE-2020-12762 is reported by cve_check now.
NVD match clause now includes full tag name including
date which is "greater" than tag without additional numbers.

Fix it by defining CVE_VERSION identical to full tag.
Put it close to hash so recipe update patch includes this line.

(From OE-Core rev: 55e9ff0fe1de70f226557529f73c28f34f6956ed)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-05 15:48:49 -10:00
Ryan Eatmon
0e4966eb77 kernel.bbclass: Add force flag to rm calls
The latest 6.5 kernels do not appear to create the source file in
${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/source so the
recipe errors out when trying to remove it.  Simple fix is to add the
-f (force) flag to the call.

(From OE-Core rev: 2e669bf797b15d803e7d6a700e449bdc467a4bcc)

(From OE-Core rev: 7e177848f97eb9958619c28b5e5dadee12f67507)

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Jaeyoon Jung
6b6a161273 cml1: Fix KCONFIG_CONFIG_COMMAND not conveyed fully in do_menuconfig
Variable overrides in KCONFIG_CONFIG_COMMAND do not work as expected due
to double quote mismatches. The issue is reproducible in an environment
where gold is the default linker. Below is an example snippet of
run.do_terminal generated by do_menuconfig.

do_terminal() {
exec sh -c "make menuconfig   CC="aarch64-webos-linux-gcc ..."
LD="aarch64-webos-linux-ld.bfd ..."
...
}

Although LD override is set to bfd correctly, it is not passed to make
and make menuconfig ends up with messages like:
| gold linker is not supported as it is not capable of linking the kernel proper.
| scripts/Kconfig.include:56: Sorry, this linker is not supported.

(From OE-Core rev: 9c483765db762dbe8020423c8778518612b7e5f7)

(From OE-Core rev: 536c477838fb1a318c5b283475de7f0eac99c872)

Signed-off-by: Jaeyoon Jung <jaeyoon.jung@lge.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d4664d2b79)
Backported: File was renamed between kirkstone and master.
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Lee Chee Yang
eea8e56bed bind: update to 9.18.19
Notes for BIND 9.18.19
Security Fixes
Previously, sending a specially crafted message over the control channel
could cause the packet-parsing code to run out of available stack
memory, causing named to terminate unexpectedly. This has been fixed.
(CVE-2023-3341)

ISC would like to thank Eric Sesterhenn from X41 D-Sec GmbH for bringing
this vulnerability to our attention. [GL #4152]

A flaw in the networking code handling DNS-over-TLS queries could cause
named to terminate unexpectedly due to an assertion failure under
significant DNS-over-TLS query load. This has been fixed.
(CVE-2023-4236)

ISC would like to thank Robert Story from USC/ISI Root Server Operations
for bringing this vulnerability to our attention. [GL #4242]

Removed Features
The dnssec-must-be-secure option has been deprecated and will be removed
in a future release. [GL #4263]

Feature Changes
If the server command is specified, nsupdate now honors the nsupdate -v
option for SOA queries by sending both the UPDATE request and the
initial query over TCP. [GL #1181]

Bug Fixes
The value of the If-Modified-Since header in the statistics channel was
not being correctly validated for its length, potentially allowing an
authorized user to trigger a buffer overflow. Ensuring the statistics
channel is configured correctly to grant access exclusively to
authorized users is essential (see the statistics-channels block
definition and usage section). [GL #4124]

This issue was reported independently by Eric Sesterhenn of X41 D-Sec
GmbH and Cameron Whitehead.

The Content-Length header in the statistics channel was lacking proper
bounds checking. A negative or excessively large value could potentially
trigger an integer overflow and result in an assertion failure. [GL

This issue was reported by Eric Sesterhenn of X41 D-Sec GmbH.

Several memory leaks caused by not clearing the OpenSSL error stack were
fixed. [GL #4159]

This issue was reported by Eric Sesterhenn of X41 D-Sec GmbH.

The introduction of krb5-subdomain-self-rhs and ms-subdomain-self-rhs
UPDATE policies accidentally caused named to return SERVFAIL responses
to deletion requests for non-existent PTR and SRV records. This has been
fixed. [GL #4280]

The stale-refresh-time feature was mistakenly disabled when the server
cache was flushed by rndc flush. This has been fixed. [GL #4278]

BIND’s memory consumption has been improved by implementing dedicated
jemalloc memory arenas for sending buffers. This optimization ensures
that memory usage is more efficient and better manages the return of
memory pages to the operating system. [GL #4038]

Previously, partial writes in the TLS DNS code were not accounted for
correctly, which could have led to DNS message corruption. This has been
fixed. [GL #4255]

Known Issues
There are no new known issues with this release. See above for a list of
all known issues affecting this BIND 9 branch.

Notes for BIND 9.18.18
Feature Changes
When a primary server for a zone responds to an SOA query, but the
subsequent TCP connection required to transfer the zone is refused, that
server is marked as temporarily unreachable. This now also happens if
the TCP connection attempt times out, preventing too many zones from
queuing up on an unreachable server and allowing the refresh process to
move on to the next configured primary more quickly. [GL #4215]

The dialup and heartbeat-interval options have been deprecated and will
be removed in a future BIND 9 release. [GL #3700]

Bug Fixes
Processing already-queued queries received over TCP could cause an
assertion failure, when the server was reconfigured at the same time or
the cache was being flushed. This has been fixed. [GL #4200]

Setting dnssec-policy to insecure prevented zones containing resource
records with a TTL value larger than 86400 seconds (1 day) from being
loaded. This has been fixed by ignoring the TTL values in the zone and
using a value of 604800 seconds (1 week) as the maximum zone TTL in key
rollover timing calculations. [GL #4032]

Known Issues
There are no new known issues with this release. See above for a list of
all known issues affecting this BIND 9 branch.

Link to release notes:
https://bind9.readthedocs.io/en/v9.18.19/notes.html#notes-for-bind-9-18-19

(From OE-Core rev: b88fe4581a48c1639764266380921d452a9b6132)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Narpat Mali
eae16020a2 python3-git: upgrade 3.1.32 -> 3.1.37
The delta between 3.1.32 & 3.1.37 contains the CVE-2023-40590 and
CVE-2023-41040 fixes and other bugfixes.

Changelog:
==========
- WIP Quick doc by @LeoDaCoda in #1608
- Partial clean up wrt mypy and black by @bodograumann in #1617
- Disable merge_includes in config writers by @bodograumann in #1618
- feat: full typing for "progress" parameter in Repo class by @madebylydia in #1634
- Fix CVE-2023-40590 by @EliahKagan in #1636
- #1566 Creating a lock now uses python built-in "open()" method to work arou… by @HageMaster3108 in #1619
- util: close lockfile after opening successfully by @skshetry in #1639
- Bump actions/checkout from 3 to 4 by @dependabot in #1643
- Fix 'Tree' object has no attribute '_name' when submodule path is normal path by @CosmosAtlas in #1645
- Fix CVE-2023-41040 by @facutuesca in #1644
- Only make config more permissive in tests that need it by @EliahKagan in #1648
- Added test for PR #1645 submodule path by @CosmosAtlas in #1647
- Fix Windows environment variable upcasing bug by @EliahKagan in #1650
- Improve Python version and OS compatibility, fixing deprecations by @EliahKagan in #1654
- Better document env_case test/fixture and cwd by @EliahKagan in #1657
- Remove spurious executable permissions by @EliahKagan in #1658
- Fix up checks in Makefile and make them portable by @EliahKagan in #1661
- Fix URLs that were redirecting to another license by @EliahKagan in #1662
- Assorted small fixes/improvements to root dir docs by @EliahKagan in #1663
- Use venv instead of virtualenv in test_installation by @EliahKagan in #1664
- Omit py_modules in setup by @EliahKagan in #1665
- Don't track code coverage temporary files by @EliahKagan in #1666
- Configure tox by @EliahKagan in #1667
- Format tests with black and auto-exclude untracked paths by @EliahKagan in #1668
- Upgrade and broaden flake8, fixing style problems and bugs by @EliahKagan in #1673
- Fix rollback bug in SymbolicReference.set_reference by @EliahKagan in #1675
- Remove @NoEffect annotations by @EliahKagan in #1677
- Add more checks for the validity of refnames by @facutuesca in #1672

Note that the changes to the license file are just removal of excess whitespace
(the extra blank line at the end, and spaces appearing at the end of lines).

References:
https://github.com/gitpython-developers/GitPython/releases
https://github.com/gitpython-developers/GitPython/blob/main/doc/source/changes.rst
e1af18377f

(From OE-Core rev: 35cb21d6c8076428c0c60f03bb1b8f6945e2a07c)

Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Peter Marko
81cad46d69 openssl: Upgrade 3.0.10 -> 3.0.11
https://github.com/openssl/openssl/blob/openssl-3.0/NEWS.md#major-changes-between-openssl-3010-and-openssl-3011-19-sep-2023
Major changes between OpenSSL 3.0.10 and OpenSSL 3.0.11 [19 Sep 2023]
* Fix POLY1305 MAC implementation corrupting XMM registers on Windows (CVE-2023-4807)

(From OE-Core rev: 1263bb1784e8e052d903408faffcf39431fd9a10)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Colin McAllister
8b4655300d libwebp: Fix CVE-2023-5129
Add patch from libwebp 1.2.4 to fix CVE-2023-5129

(From OE-Core rev: 544301c63801cf0c0cfcc0c8d71bdd8e2de82805)

Signed-off-by: Colin McAllister <colinmca242@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Lee Chee Yang
425ed15bde cups: Fix CVE-2023-4504
(From OE-Core rev: dc5c06da7a793e85276ce8ce9de1c06decb6e133)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Ross Burton
6cbbd132d3 xserver-xorg: ignore CVE-2022-3553 as it is XQuartz-specific
(cherry-pick from commit 769576f36aac9652525beec5c7e8a4d26632b844 )

(From OE-Core rev: 96d36b97d9c6d1f5e79b1bea79f182561423fecb)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Yogita Urade
e67e90c557 webkitgtk: fix CVE-2023-32439
A type confusion issue was addressed with improved checks.
This issue is fixed in iOS 16.5.1 and iPadOS 16.5.1, Safari
16.5.1, macOS Ventura 13.4.1, iOS 15.7.7 and iPadOS 15.7.7.
Processing maliciously crafted web content may lead to
arbitrary code execution. Apple is aware of a report that
this issue may have been actively exploited.

(From OE-Core rev: cdbc3c1548299eb78aeebb94909224eca8410158)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Meenali Gupta
a54b91946c ruby: fix CVE-2023-36617
Backport two patches [1] [2] to fix CVE-2023-36617

(From OE-Core rev: 7a40082e4e080eaf5f88bd24f7169b7731028529)

Signed-off-by: Meenali Gupta <meenali.gupta@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Ross Burton
a1b812eefa linux-yocto: update CVE exclusions
Update the CVE exclusions to match the kernel version, and add an
exclusion file for 5.10.

(From OE-Core rev: 33ae699eaa91900ae64e6ab46f6c2bca75eb3184)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Siddharth Doshi
7435f15930 go: Fix CVE-2023-39318
Upstream-Status: Backport from [023b542edf]
CVE: CVE-2023-39318
(From OE-Core rev: 35fa5c12f86bda2c8542bdb57074f55808697a42)

Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Archana Polampalli
fe7e47368e gstreamer1.0-plugins-bad: fix CVE-2023-40476
gst-plugins-bad: h265parser: Fix possible overflow using max_sub_layers_minus1

(From OE-Core rev: 2abcf03fbe343596de38113c655028c157763245)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Archana Polampalli
200596b5ad gstreamer1.0-plugins-bad: fix CVE-2023-40475
gst-plugins-bad: Integer overflow leading to heap overwrite in MXF file handling with AES3 audio

(From OE-Core rev: e5b5f7118320eecd77a6501a90d9cc73c578babc)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Archana Polampalli
226bc34085 gstreamer1.0-plugins-bad: fix CVE-2023-40474
gst-plugins-bad: Heap-based buffer overflow in the MXF file demuxer when handling
malformed files with uncompressed video in GStreamer versions before 1.22.6

(From OE-Core rev: d0c8e2f78c8003ad383cc63cff32147156412650)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Archana Polampalli
df7a37d54f ghostscript: fix CVE-2023-43115
In Artifex Ghostscript through 10.01.2, gdevijs.c in GhostPDL can lead to remote
code execution via crafted PostScript documents because they can switch to the
IJS device, or change the IjsServer parameter, after SAFER has been activated.
NOTE: it is a documented risk that the IJS server can be specified on a gs
command line (the IJS device inherently must execute a command to start the IJS server).

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

Upstream patches:
https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=8b0f20002536867bd73ff4552408a72597190cbe

(From OE-Core rev: 1d169e50f28c93434461aa3ecbc47c21509143e9)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Soumya Sambu
dc1a3be255 shadow: Fix CVE-2023-4641
shadow-utils: possible password leak during passwd(1) change

(From OE-Core rev: 734a3e1fb5ee8ded3097a94c7ee8696518346166)

Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Steve Sakoman
e51bf557f5 build-appliance-image: Update to kirkstone head revision
(From OE-Core rev: d90e4d5e3cca9cffe8f60841afc63667a9ac39fa)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-24 10:54:48 -10:00
Steve Sakoman
989cd671cb Revert "oeqa/utils/gitarchive: fix tag computation when creating archive"
This reverts commit d0f8d5915a9ad3340a553b4a22f91074d7e679c9.

This is causing errors with buildperf on the autobuilder.

(From OE-Core rev: 87eee047cf77bc3fc2c7d6b2a4f35d2642919111)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-24 10:53:11 -10:00
Steve Sakoman
64242e2844 build-appliance-image: Update to kirkstone head revision
(From OE-Core rev: 6c7fef37d4286f6bfc7b1dcb2d1e543a110a7f6f)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:32:58 -10:00
Steve Sakoman
e6076b6269 poky.conf: bump version for 4.0.13
(From meta-yocto rev: 8b50fe692a24a80b5c3cd1f816bcdd3e0b00418a)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Michael Opdenacker
dfa76689b8 dev-manual: licenses: update license manifest location
- Fix broken markup (wasn't displaying properly)
- Update the path to the directory containing license information
  (this change applies to the kirkstone branch)
- Fix typo later in the document

(From yocto-docs rev: 8f02741de867125f11a37822b2d206be180d4ee3)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Michael Opdenacker
3fde5d606b manuals: document "mime-xdg" class and MIME_XDG_PACKAGES
(From yocto-docs rev: 4415d95358497b23f0a7b10f9ee31203ccc01eff)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Michael Opdenacker
870c6a73a7 ref-manual: qa-checks: align with master
(From yocto-docs rev: 56bbfab163a6b42aaa32d9350f30b2414a60fc75)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Roland Hieber
131beeedb6 template: fix typo in section header
(From yocto-docs rev: 325c1cbdf157ae9e4f7fecc330e60056ff056d91)

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Michael Opdenacker
fde8ab5b90 dev-manual: licenses: mention SPDX for license compliance
(From yocto-docs rev: cdd98a93f36694404393279d29743d97edd9be22)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
CC: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Michael Opdenacker
593618f139 contributor-guide: recipe-style-guide: add Upstream-Status
(From yocto-docs rev: 0618611fa049db2b9717cbe609c583a5bb16954e)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Michael Opdenacker
b17bb4e9c0 dev-manual: new-recipe.rst fix inconsistency with contributor guide
This document was suggesting a way to version pre-releases
which doesn't match the latest recommendations from the
contributor guide.

(From yocto-docs rev: f37c9e7d44a2f7aefc3b505ae4461e6f1a8b0bb2)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Michael Opdenacker
31af34e1af documentation/README: align with master
(From yocto-docs rev: 8638eadda09e932534eb6bb345b4d0299974b219)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Michael Opdenacker
a2de040a44 dev-manual: disk-space: improve wording for obsolete sstate cache files
Replace "duplicate" by "obsolete", more appropriate.
"duplicate" probably comes from the "--remove-duplicated"
option of the sstate-cache-management.sh script.

Improve other sentences too.

(From yocto-docs rev: 20206debecac0848dc18765846b990ac994209ec)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reported-by: Richard Purdie <richard.purdie@linuxfoundation.org>
CC: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Michael Opdenacker
bdf0b48912 sdk-manual: extensible.rst: align with master branch
In particular, this addresses multiple formatting issues.
Aligning with the master branch as all updates apply to
kirkstone too.

(From yocto-docs rev: 5e2ec35e3d63f9c73726122fe2b3dd6d6f85a77e)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Michael Opdenacker
b099a1c252 manuals: update former references to dev-manual/common-tasks
(From yocto-docs rev: f8bb4c392912f15bb78f6f25910f85897abb4e3d)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Michael Opdenacker
337a21080b dev-manual: split common-tasks.rst
Reusing content from the master branch which underwent
this change earlier.

This change makes it much easier to backport manual
updates to the kirkstone LTS branch.

To make the change and future updates simpler, reused file contents
from master, only excluding changes which don't apply to kirkstone.

(From yocto-docs rev: 95171233f0e96c00d55ed40cf713c62e6df57b8d)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Michael Opdenacker
90e943b8d1 ref-manual: add new variables
Backported from "master" and used in dev-manual
documents to be synchronized with master.

(From yocto-docs rev: 1938d6017a1c9acc2c5f57c4cc6a87b918609381)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Michael Opdenacker
2be874d5b4 ref-manual: add Initramfs term
Backported from the master branch

(From yocto-docs rev: f5ecf1f407585617d258b6afc706d43fdbb33547)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Michael Opdenacker
5ea10fc05b ref-manual: add meson class and variables
Backported from the master branch

(From yocto-docs rev: 266540ffdf84df14ebde374927e6e8ddd8ee688e)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Alexander Kanavin
598c3d25c6 cargo.bbclass: set up cargo environment in common do_compile
cargo_do_compile runs only if the recipe is built using cargo
as the top level tool. Some recipes hide usage of cargo inside setuptools
(or autoconf) and use do_compile definitions specific to those,
and so the environment isn't properly set up.

This was exposed by latest versions of python3-cryptography.

(From OE-Core rev: a3f566fcbfc02e0a3b3f6a676d6dde88a5b50506)

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 9f4ff643a028d7f5670d80861f2ce19ca2d90faa)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Pavel Zhukov
1cdf86a68f dbus: Specify runstatedir configure option
Without specifing runstatedir tmpfiles.d is configured to use /var/run
for dbus and this causes deprecation warnings in system logs.

(From OE-Core rev: 55529a5cb481b64ab4390728e01650bc585be602)

Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4df1a16e5c38d0fb724f63d37cc032aa37fa122f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Martin Jansa
989673a26f tcl: prevent installing another copy of tzdata
It checks build host filesystem and if it doesn't find UTC or GMT
files it installs another copy of tzdata files in:
/usr/lib/tcl8.6/tzdata

Buildhistory shows the difference:
-PKGSIZE = 2227075
+PKGSIZE = 3433088

See the autodetection in configure.in:
  #------------------------------------------------------------------------
  #       Check whether the timezone data is supplied by the OS or has
  #       to be installed by Tcl. The default is autodetection, but can
  #       be overridden on the configure command line either way.
  #------------------------------------------------------------------------

  AC_MSG_CHECKING([for timezone data])
  AC_ARG_WITH(tzdata,
      AC_HELP_STRING([--with-tzdata],
          [install timezone data (default: autodetect)]),
      [tcl_ok=$withval], [tcl_ok=auto])

  #
  # Any directories that get added here must also be added to the
  # search path in ::tcl::clock::Initialize (library/clock.tcl).
  #
  case $tcl_ok in
      no)
          AC_MSG_RESULT([supplied by OS vendor])
      ;;
      yes)
          # nothing to do here
      ;;
      auto*)
          AC_CACHE_VAL([tcl_cv_dir_zoneinfo], [
          for dir in /usr/share/zoneinfo \
                  /usr/share/lib/zoneinfo \
                  /usr/lib/zoneinfo
          do
                  if test -f $dir/UTC -o -f $dir/GMT
                  then
                          tcl_cv_dir_zoneinfo="$dir"
                          break
                  fi
          done])
          if test -n "$tcl_cv_dir_zoneinfo"; then
              tcl_ok=no
              AC_MSG_RESULT([$dir])
          else
              tcl_ok=yes
          fi
      ;;
      *)
          AC_MSG_ERROR([invalid argument: $tcl_ok])
      ;;
  esac
  if test $tcl_ok = yes
  then
      AC_MSG_RESULT([supplied by Tcl])
      INSTALL_TZDATA=install-tzdata
  fi

(From OE-Core rev: 79498ea0e9eb88ad0175f7376c57efb46217a4a4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3ace9fbfeb42ebf920812e3dd6d665b8b20a1ca0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Markus Niebel
d95804e584 wic: fix wrong attempt to create file system in upartitioned regions
The kickstart parser defaults fstype to "vfat". This leads to an attempt
to create an empty file system even for regions configured with "--no-table"
if used without fstype when no --sourceparams given.

The fix tests for fstype "none" or no_table in Partition prepare method.
This will omit the file system creation an the potential error for small
region with --no-table option.

(From OE-Core rev: af9f392a5e259b681077f25fa263965714a73a05)

Signed-off-by: Markus Niebel <Markus.Niebel@ew.tq-group.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit db771a4cd36bf291a8b68edfd905e03243f2c8b3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Khem Raj
d749d2f33e build-sysroots: Add SUMMARY field
Fixes build QA warning about [missing-metadata]

(From OE-Core rev: 29fe45fe8857f72705183a87b4e85a3723900a78)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4f4c7130f11c069ab18c374dcbfb1276ef37be60)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Richard Purdie
8df5830dda resulttool/report: Avoid divide by zero
Avoid a divide by zero traceback if unfortunate test counts are encountered.

(From OE-Core rev: b95c6a5278d44fddfbaea45cc78324f1e099187c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c5aeea53dfacb53dedb8445cb3523dc3a8cb6dca)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Alexis Lothoré
f449d0a84c oeqa/utils/gitarchive: fix tag computation when creating archive
Sporadic errors have been observed in autobuilder when trying to store new
tests results:

error: failed to push some refs to 'push.yoctoproject.org:yocto-testresults'
hint: Updates were rejected because the tag already exists in the remote.

The new tag name is generated by gitarchive based on known tags from the
repository (learnt with git tag). In autobuilder case, this repository is a
shallow clone, so git tag only returns most recent tags, which mean we
could miss some older tags which exist in remote but not locally. In this
case, gitarchive will likely create a tag which already exists in remote,
and so will fail to push

Fix this tag duplication by using git ls-remote to learn about existing
tags instead of git tag. Two places which wrongly read only local tags has
been identified in gitarchive:  expand_tag_strings and get_test_runs

Fixes [YOCTO #15140]

(From OE-Core rev: d0f8d5915a9ad3340a553b4a22f91074d7e679c9)

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5a0a7da85a3acfd4a20a07478eabefdab60f313a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:16 -10:00
Michael Opdenacker
61960b99d2 scripts/create-pull-request: update URLs to git repositories
Also remove the git.pokylinux.org URL, no longer used.

(From OE-Core rev: c88343380bd6a66f6e18637170c53b003594af7a)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 47b88d143c2fc61ce0e03b7eb3a9dbcffadbf5b1)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:15 -10:00
Peter Suti
2b7735291d externalsrc: fix dependency chain issues
Instead of deleting setscene tasks, now SSTATE_SKIP_CREATION is set instead.

This seems to fix the compile issues where the populate_sysroot task was
not run when an externalsrc recipe was built as a dependency.

[YOCTO #15164]

[RP addition: The deltask was added by me in 2012 when the class was created.
The trouble is bitbake assumes 'sstate' tasks have a setscene task and by deleting
the setscene task, bitbake stops thinking the task can be accelerated. There is other
code in the sysroot code which assumes some tasks are always sstate tasks.

We cannot delete the task without changes to the way bitbake learns about 'setscene'
tasks so the patch is correct, avoiding creating files is the better approach given
the way the world works now.

There would be concerns about exisitng sstate reuse however this shouldn't occur
since SRC_URI changes and that will change the underlying hashes. Hash equivalency
could potentially cause issues by joining hashes together again however if the output
matches, that shouldn't in theory cause any issue.]

(From OE-Core rev: f6bb8438a18dfa2a520ad6fa65662d908f4ef0ed)

Signed-off-by: Peter Suti <peter.suti@streamunlimited.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ee4667a24ccdd8c9d547e73aecf661e6a1283890)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:15 -10:00
Richard Purdie
4682ae38f2 pseudo: Fix to work with glibc 2.38
This adds a horrible hack to get pseudo working with glibc 2.38. We can't
drop _GNU_SOURCE to something like _DEFAULT_SOURCE since we need the defines
the gnu options bring in. That leaves using internal glibc defines to disable
the c23 versions of strtol/fscanf and friends. Which would break pseudo
build with 2.38 from running on hosts with older glibc.

We'll probably need to come up with something better but this gets glibc 2.38
and working and avoids autobuilder failures.

(From OE-Core rev: 909fd25c2ebd25f5d3bc560e26f9df6862e033d0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 596fb699d470d7779bfa694e04908929ffeabcf7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:15 -10:00
Richard Purdie
cb2e2c6d2a vim: Upgrade 9.0.1664 -> 9.0.1894
This includes multiple CVE fixes.

The license change is due to changes in maintainership, the license
itself is unchanged.

(From OE-Core rev: 5f78a010a4ff53f4a216ec2ebe9b7a44c5c88790)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 91e66b93a0c0928f0c2cfe78e22898a6c9800f34)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:15 -10:00
Archana Polampalli
98393b32a9 vim: upgrade 9.0.1592 -> 9.0.1664
Fixes:
https://nvd.nist.gov/vuln/detail/CVE-2023-3896
8154e642a (tag: v9.0.1664) patch 9.0.1664: divide by zero when scrolling with 'smoothscroll' set

(From OE-Core rev: d5ba3546053cff49ee1ea66a97fe4b4a0aa76308)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4a1ab744142c9229f03a359b45e5e89a1fbae0d3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:15 -10:00
Etienne Cordonnier
aaa6a4947d vim: update obsolete comment
vim 8.3 has been out for a long time, so this comment is obsolete.
However we still need UPSTREAM_VERSION_UNKNOWN, since we ignore
the last digit of the upstream version number.

Test result:
$ devtool check-upgrade-status vim
  ...
  INFO: vim                       9.0.1592        UNKNOWN         Tom Rini <trini@konsulko.com> c0370529c027abc5b1698d53fcfb8c02a0c515da

(From OE-Core rev: 65f5de85c3f488136d1ec2b1f7fe8d8426d6c5b3)

(From OE-Core rev: 72af322b6b8afd64a59b30a4f0fc3f8c6dfaa06a)

Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 868a19357841470eb55fb7f1c4ab1af09dea99ed)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:15 -10:00
Wang Mingyu
c84d629b17 tar: upgrade 1.34 -> 1.35
CVE-2022-48303.patch
removed since it's included in 1.35

License-Update: http changed to https

Changelog:
===========
* Fail when building GNU tar, if the platform supports 64-bit time_t
  but the build uses only 32-bit time_t.
* Leave the devmajor and devminor fields empty (rather than zero) for
  non-special files, as this is more compatible with traditional tar.
* Bug fixes
** Fix interaction of --update with --wildcards.
** When extracting archives into an empty directory, do not create
   hard links to files outside that directory.
** Handle partial reads from regular files.
** Warn "file changed as we read it" less often.
** Fix --ignore-failed-read to ignore file-changed read errors
** Fix --remove-files to not remove a file that changed while we read it.
** Fix --atime-preserve=replace to not fail if there was no need to replace,
   either because we did not read the file, or the atime did not change.
** Fix race when creating a parent directory while another process is
   also doing so.
** Fix handling of prefix keywords not followed by "." in pax headers.
** Fix handling of out-of-range sparse entries in pax headers.
** Fix handling of --transform='s/s/@/2'.
** Fix treatment of options ending in / in files-from list.
** Fix crash on 'tar --checkpoint-action exec=\"'.
** Fix low-memory crash when reading incremental dumps.
** Fix --exclude-vcs-ignores memory allocation misuse.

(From OE-Core rev: 4910b1e46a67dcdc3f7ebbab648a2b365c1910da)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c63769de05ce08c0627d302d14316ced31816b4d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:15 -10:00
Sanjana
07593122c9 binutils: stable 2.38 branch updates
Below commits on binutils-2.38 stable branch are updated.

ea5fe5d01e5 PR30697, ppc32 mix of local-dynamic and global-dynamic TLS

(From OE-Core rev: e8becc003d6926cc347ec42c0f13dcd5d9042b4d)

Signed-off-by: Sanjana <sanjanasanju1608@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:15 -10:00
Sanjana
ce24d58dda glibc: stable 2.35 branch updates
Below commits on glibc-2.35 stable branch are updated.

561e9dadc0 x86: Fix incorrect scope of setting `shared_per_thread`
1c3ecf5858 x86: Use `3/4*sizeof(per-thread-L3)` as low bound for NT threshold.
47c7d2eb03 x86: Fix slight bug in `shared_per_thread` cache size calculation.
d1b1da26ea x86: Increase `non_temporal_threshold` to roughly `sizeof_L3 / 4`
e19af583b4 elf: _dl_find_object may return 1 during early startup.

(From OE-Core rev: b834674ada7329ab60130ebe7350dff592060ecf)

Signed-off-by: Sanjana <sanjanasanju1608@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:15 -10:00
Ross Burton
f15ebb2af3 gcc: Fix -fstack-protector issue on aarch64
This series of patches fixes deficiencies in GCC's -fstack-protector
implementation for AArch64 when using dynamically allocated stack space.
This is CVE-2023-4039.  See:

https://developer.arm.com/Arm%20Security%20Center/GCC%20Stack%20Protector%20Vulnerability%20AArch64
https://github.com/metaredteam/external-disclosures/security/advisories/GHSA-x7ch-h5rf-w2mf

for more details.

(From OE-Core rev: e6592fc8308240872300a6295162e14d54c5a905)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:15 -10:00
Sanjana
2a7595f1c1 binutils: Fix CVE-2022-48065
(From OE-Core rev: 860ecdbbf5cfd8737c914522af16dbc8bee0f72f)

Signed-off-by: Sanjana <sanjanasanju1608@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:15 -10:00
Yogita Urade
cfc7247089 cups: fix CVE-2023-32360
An authentication issue was addressed with improved state management.
This issue is fixed in macOS Big Sur 11.7.7, macOS Monterey 12.6.6,
macOS Ventura 13.4. An unauthenticated user may be able to access
recently printed documents.

References:
https://ubuntu.com/security/CVE-2023-32360
https://security-tracker.debian.org/tracker/CVE-2023-32360

(From OE-Core rev: b04f40d7afba07ff602bffffc9a517ccfdd44850)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:15 -10:00
Soumya Sambu
de7443a25d go: Fix CVE-2023-39319
The html/template package does not apply the proper rules for handling
occurrences of "<script", "<!--", and "</script" within JS literals in
<script> contexts. This may cause the template parser to improperly
consider script contexts to be terminated early, causing actions to be
improperly escaped. This could be leveraged to perform an XSS attack.

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

(From OE-Core rev: afdc322ecff4cfd8478c89a03f7fce748a132b48)

Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:15 -10:00
Michael Opdenacker
5c556073ac dev-manual: common-tasks: mention faster "find" command to trim sstate cache
[YOCTO #15182]

(From yocto-docs rev: dd778676c946faa8702e8fcc9126ad9537e7a21e)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reported-by: Yoann CONGAL <yoann.congal@smile.fr>
Reported-by: Randy MacLeod <randy.macleod@windriver.com>
Reported-by: Josef Holzmayr <jester@theyoctojester.info>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-18 04:28:04 -10:00
Michael Halstead
ad9420b072 yocto-uninative: Update to 4.3
Add in stable updates to glibc 2.38 to fix malloc bugs

(From OE-Core rev: 26309ba6ef5b776d6bc45b984261b91e6c8c5a94)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 39f987fcb20ad7c0e45425b9f508d463c50ce0c1)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-18 04:28:04 -10:00
Siddharth Doshi
a77949631a gdb: Fix CVE-2023-39128
Note: The Fix needs to be pushed in gdb rather than bintuils-gdb as we are
disabling gdb in binutils configure.

Upstream-Status: Backport from [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=033bc52bb6190393c8eed80925fa78cc35b40c6d]
CVE: CVE-2023-39128
(From OE-Core rev: 1a19a101cecc578aac84e365a361b76f129fe655)

Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-18 04:28:04 -10:00
Yogita Urade
e60ba6d4fe webkitgtk: fix CVE-2022-48503
The issue was addressed with improved bounds checks. This issue
is fixed in tvOS 15.6, watchOS 8.7, iOS 15.6 and iPadOS 15.6,
macOS Monterey 12.5, Safari 15.6. Processing web content may
lead to arbitrary code execution.

References:
https://nvd.nist.gov/vuln/detail/CVE-2022-48503
https://support.apple.com/en-us/HT213340
https://bugs.webkit.org/show_bug.cgi?id=241931

(From OE-Core rev: 8f956bc19963a02ee7b908bb49301a2ea5052066)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-18 04:28:04 -10:00
Meenali Gupta
084b7e5f9c flac: fix CVE-2020-22219
Buffer Overflow vulnerability in function bitwriter_grow_ in flac before
1.4.0 allows remote attackers to run arbitrary code via crafted input to
the encoder.

(From OE-Core rev: 29c6287287c9f26c1d6f9fddf8d2852409bbbbec)

Signed-off-by: Meenali Gupta <meenali.gupta@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-18 04:28:03 -10:00
Soumya Sambu
670a3345f5 libxml2: Fix CVE-2023-39615
Xmlsoft Libxml2 v2.11.0 was discovered to contain a global buffer overflow via
the xmlSAX2StartElement() function at /libxml2/SAX2.c. This vulnerability
allows attackers to cause a Denial of Service (DoS) via supplying a crafted XML
file.

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

(From OE-Core rev: 9a2ad95caffae37014fa27d9b20d45f9779d0fbf)

Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-18 04:28:03 -10:00
Yogita Urade
062cbf2be7 qemu: fix CVE-2021-3638
QEMU: ati-vga: inconsistent check in ati_2d_blt() may lead to
out-of-bounds write.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2021-3638
https://lists.nongnu.org/archive/html/qemu-devel/2021-09/msg01682.html

(From OE-Core rev: ebbdbb68a7804accd5430dd05f7899599ddbacd8)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-18 04:28:03 -10:00
Yogita Urade
fb8ca2cbec dropbear: fix CVE-2023-36328
Integer Overflow vulnerability in mp_grow in libtom libtommath before
commit beba892bc0d4e4ded4d667ab1d2a94f4d75109a9, allows attackers to
execute arbitrary code and cause a denial of service (DoS).

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-36328
https://github.com/libtom/libtommath/pull/546

(From OE-Core rev: 38709b0d35e7bd6760285bfa926dc85985c5cdcd)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-18 04:28:03 -10:00
Narpat Mali
b402c3ac78 python3-pygments: Fix CVE-2022-40896
CVE-2022-40896:
A ReDoS issue was discovered in pygments/lexers/smithy.py in pygments
through 2.15.0 via SmithyLexer.

The CVE issue is fixed by 3 different commits between the releases 2.14.0
(for Smithy lexer), 2.15.0 (for SQL+Jinja lexers) and 2.15.1 (for Java
properties) as per: https://pyup.io/posts/pyup-discovers-redos-vulnerabilities-in-top-python-packages-part-2/

1. Smithy lexer commit from 2.14.0 release applies successfully on 2.11.2 version.
Commit: dd52102c38
Hence, backported the patch as CVE-2022-40896.patch.

2. SQL+Jinja lexers commit from 2.15.0 release doesn't apply on 2.11.2 version.
Commit: 97eb3d5ec7
Actually, this code doesn't exist in 2.11.2 version and it has been introduce by
python3-pygments 2.13.0 version. Hence, this is not vulnerable for 2.11.2 version.
SQL+Jinja lexers is introduced by: 0bdbd5992b

3. Java properties commit from 2.15.1 release also doesn't apply on 2.11.2 version.
Commit: fdf182a7af
Actually, this code also doesn't exist in 2.11.2 version as the code has been modified
in python3-pygments 2.14.0 by: a38cb38e93
Hence, this is also not vulnerable for 2.11.2 version.

(From OE-Core rev: ebb224e65a7e1402ccf0d9517bd72748c18e012e)

Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-18 04:28:03 -10:00
Michael Opdenacker
5d822b3131 manuals: add new contributor guide
(From yocto-docs rev: 028a1b89fbb6ee7f02a7ca8cd481931e096d764b)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:42 -10:00
Michael Opdenacker
be72b71280 ref-manual: system-requirements: update supported distros
- Update according to changes in SANITY_TESTED_DISTROS
  (meta-poky/conf/distro/poky.conf)

- No longer declare as "Supported" the distributions versions
  which are End of Life for their vendors, as some of them
  (Ubuntu for example) ship updates to subscribers only,
  which the Yocto Project has no access to.

- List distribution versions which were previously tested
  for the branch of the Yocto Project being considered.

(From yocto-docs rev: 84d7f2e2a218502b4af4fc2e7de1761e489f86f4)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:42 -10:00
Lee Chee Yang
cd8e085ad3 migration-guides: add release notes for 4.0.12
(From yocto-docs rev: d43d4314df65b7e7c6d6b79c777d11c5a7135c43)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:42 -10:00
Changqing Li
963908553b sysklogd: fix integration with systemd-journald
Fix an issue with early log messages being lost when running in systemd.

(From OE-Core rev: 47a1dd7f389e3cf4ac2dc5fc21dccc870aafab4a)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:42 -10:00
Abe Kohandel
4bf9d11c4b libdnf: resolve cstdint inclusion for newer gcc versions
Depending on the host gcc version, libdnf fails to compile due to
missing cstdint inclusions. These issue have already been addressed
upstream, add the patches to resolve this for older versions of the
library.

These commits are taken directly from the libdnf project at
https://github.com/rpm-software-management/libdnf

(From OE-Core rev: e1d9bc1f88bd989bafc20063938d7a70e1da104f)

Signed-off-by: Abe Kohandel <abe.kohandel@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:42 -10:00
Martin Jansa
b714a94ea7 efivar: backport 5 patches to fix build with gold
* LDFLAGS += "-fuse-ld=bfd" in the recipe doesn't work and
  it still fails to build with ld-is-gold in DISTRO_FEATURES

  removal of this line sent to master in:
  https://lists.openembedded.org/g/openembedded-core/message/185167

* the most important ones are the 1st which removes --add-needed
  and the last which removes src/include/workarounds.mk completely
  while 2-4 patches just update src/include/workarounds.mk for the
  last one to apply cleanly

* alternatively we can bump SRCREV to latest 38 as master did in:
  https://git.openembedded.org/openembedded-core/commit/?id=4df808c616f847d90203582fd950a49bb8360dd0
  which brings 23 commits, but instead of adding 5 more patches
  allows to remove 5

(From OE-Core rev: d5c7ec0be32aa75fa7973840adf5251d22018766)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:41 -10:00
Chee Yang Lee
0fb3fd0a0d python3: upgrade to 3.10.13
Release date: 2023-08-24

Security
gh-108310: Fixed an issue where instances of ssl.SSLSocket were
vulnerable to a bypass of the TLS handshake and included protections
(like certificate verification) and treating sent unencrypted data as if
it were post-handshake TLS encrypted data. Security issue reported as
CVE-2023-40217 by Aapo Oksman. Patch by Gregory P. Smith.

Library
gh-107845: tarfile.data_filter() now takes the location of symlinks into
account when determining their target, so it will no longer reject some
valid tarballs with LinkOutsideDestinationError.

Tools/Demos
gh-107565: Update multissltests and GitHub CI workflows to use OpenSSL
1.1.1v, 3.0.10, and 3.1.2.

C API
gh-99612: Fix PyUnicode_DecodeUTF8Stateful() for ASCII-only data:
*consumed was not set.

(From OE-Core rev: a30e51b8d13912f0d68bfffcd2d8ae6431d2b863)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:41 -10:00
Archana Polampalli
f1de33df8b nasm: fix CVE-2020-21528
A Segmentation Fault issue discovered in in ieee_segment function in outieee.c
in nasm 2.14.03 and 2.15 allows remote attackers to cause a denial of service
via crafted assembly file.

References:
https://nvd.nist.gov/vuln/detail/CVE-2020-21528

Upstream patches:
93c774d482

(From OE-Core rev: 87c4ec2d73ac2e52005e16e38a9a12affb8d51bd)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:41 -10:00
Chee Yang Lee
4eb5af2d8a file: fix CVE-2022-48554
ignore changes to FILE_RCSID part.

(From OE-Core rev: 20b5ead99d4904e70ea22f573bfefec8c6e862a2)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:41 -10:00
Chee Yang Lee
91ea1ab7c6 libssh2: fix CVE-2020-22218
(From OE-Core rev: a0b41511766130883e93b5b8a07801a836beeb67)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:41 -10:00
Kai Kang
4c27009f16 webkitgtk: fix CVE-2023-23529
Backport and rebase patch to fix CVE-2023-23529.

CVE: CVE-2023-23529

(From OE-Core rev: f8bce477ad88da70c3a4196912ba72049b2aa765)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:41 -10:00
Meenali Gupta
908738d644 busybox: fix CVE-2022-48174
There is a stack overflow vulnerability in ash.c:6030 in busybox
vbefore 1.35. In the environment of Internet of Vehicles, this
vulnerability can be executed from command to arbitrary code execution.

(From OE-Core rev: 56b90b5f2da661bfac3f2d751fc09e918429ec87)

Signed-off-by: Meenali Gupta <meenali.gupta@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:41 -10:00
Soumya Sambu
5bdd860ee5 ncurses: fix CVE-2023-29491
Backport patch to fix CVE-2023-29491.

(From OE-Core rev: 4d79b1cc4178ba88830bab59a45163bbddf586ce)

Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:41 -10:00
Adrian Freihofer
d01be5cf84 json-c: fix CVE-2021-32292
This is a read past end of buffer issue in the json_parse test app,
which can happened with malformed json data. It's not an issue with the
library itself. For what ever reason this CVE has a base score of 9.8.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2021-32292

Upstream issue:
https://github.com/json-c/json-c/issues/654

The CVE is fixed with version 0.16 (which is already in all active
branches of poky).

(From OE-Core rev: a7b93651028b55d71b8db53ea831eee7fd539f33)

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:41 -10:00
Hitendra Prajapati
be24e22651 libtiff: fix CVE-2023-26966 Buffer Overflow
Upstream-Status: Backport from b0e1c25dd1

(From OE-Core rev: 0619953c9d87ec2dd670dc50f15170e5c42f95c7)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:41 -10:00
Vijay Anusuri
a56109b944 inetutils: Backport fix for CVE-2023-40303
Upstream-commit: https://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=e4e65c03f4c11292a3e40ef72ca3f194c8bffdd6
& https://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=9122999252c7e21eb7774de11d539748e7bdf46d

(From OE-Core rev: 2d2fc8e2b0eaa20f6bf8cfc0d1acd908f3dac2ec)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:41 -10:00
Hitendra Prajapati
b19575391d tiff: fix CVE-2023-2908,CVE-2023-3316,CVE-2023-3618
Backport fixes for:
* CVE-2023-2908 - Upstream-Status: Backport from 9bd48f0dbd
* CVE-2023-3316 - Upstream-Status: Backport from d63de61b1e
* CVE-2023-3618 - Upstream-Status: Backport from 881a070194 && b5c7d4c4e0

(From OE-Core rev: d37cf315135c6778774a1bee458e61480f808aa5)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-08 16:09:41 -10:00
Narpat Mali
e42cc7d900 python3-git: upgrade 3.1.27 -> 3.1.32
The delta between 3.1.27 & 3.1.32 contains the CVE-2022-24439 &
CVE-2023-40267 fixes and other bugfixes.

Changelog:
https://github.com/gitpython-developers/GitPython/releases/tag/3.1.32
https://gitpython.readthedocs.io/en/stable/changes.html#id5

- Bump cygwin/cygwin-install-action from 3 to 4 by @dependabot in #1572
- Fix up the commit trailers functionality by @itsluketwist in #1576
- Name top-level exceptions as private variables by @Hawk777 in #1590
- fix pypi long description by @eUgEntOptIc44 in #1603
- Don't rely on del by @r-darwish in #1606
- Block insecure non-multi options in clone/clone_from by @Beuc in #1609
- Fix Sphinx rendering errors by @stephan-cr in #1524
- tests: Use command -v instead of third-party which program by @mgorny in #1525
- fix/add allow_unsafe_* params in docstrings + fix typo by @obfusk in #1530
- use tempfile.TemporaryDirectory & fix clone_from_unsafe_protocol tests by @obfusk in #1531
- Fix some resource leaks by open file handles by @marlamb in #1532
- fix files list on file rename by @teknoraver in #1537
- Declare support for Python 3.11 by @hugovk in #1541
- Fix ignored by @Lightborne in #1545
- Fix timezone parsing functions for non-hour timezones by @jcowgill in #1547
- Enable user to override default diff -M arg by @mellowed100 in #1551
- Remove optional from two member variables by @Sineaggi in #1550
- Fix RecursionError when iterating streams by @eric-wieser in #1554
- Fix get_values() so it correctly loads section names by @Codym48 in #1555
- Add datetime.datetime type to commit_date and author_date by @SergeantMenacingGarlic in #1501
- Bump cygwin/cygwin-install-action from 2 to 3 by @dependabot in #1514
- Fix command injection by @stsewd in #1518
- Document PushInfoList by @skinitimski in #1522
- Fix type hint on create_tag by @drewcassidy in #1523
- Block insecure options and protocols by default by @stsewd in #1521
- Make the git.__version__ re-appear.

(From OE-Core rev: 8ceaeff90023e51c7e874464f026b30d24035bda)

Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-30 04:46:36 -10:00
Ross Burton
1ba2a99f23 linux/cve-exclusion: remove obsolete manual entries
The generated file covers all but one of these CVEs (which will be fixed
when [1] is resolved) so remove the redundant entries.

[1] https://github.com/nluedtke/linux_kernel_cves/issues/344

(From OE-Core rev: ca17167612c73104eb4c9a5297f53643b71ef861)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-30 04:46:36 -10:00
Ross Burton
7db9fd091c linux/cve-exclusion: add generated CVE_CHECK_IGNORES.
Run generate-cve-exclusions.py to generate the ignore lists.  This file
is maintained separately from the existing manual ignore entries.

(From OE-Core rev: fc506efa5c84b45b063678098131031f52bb3c16)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-30 04:46:36 -10:00
Ross Burton
f17c07ff4b linux-yocto: add script to generate kernel CVE_CHECK_IGNORE entries
Instead of manually looking up new CVEs and determining what point
releases the fixes are incorporated into, add a script to generate the
CVE_CHECK_IGNORE data automatically.

First, note that this is very much an interim solution until the
cve-check class fetches data from www.linuxkernelcves.com directly.

The script should be passed the path to a local clone of the
linuxkernelcves repository[1] and the kernel version number. It will
then write to standard output the CVE_STATUS entries for every known
kernel CVE.

The script should be periodically reran as CVEs are backported and
kernels upgraded frequently.

[1] https://github.com/nluedtke/linux_kernel_cves

Note: for the backport this is not a cherry-pick of the commit in master
as the variable names are different. This incorporates the following
commits:

linux/generate-cve-exclusions: add version check warning
linux/generate-cve-exclusions.py: fix comparison
linux-yocto: add script to generate kernel CVE_STATUS entries

(From OE-Core rev: c7a71692b7ed4cc2187f4c82bf11e32e0ce32cb6)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-30 04:46:36 -10:00
Yogita Urade
1cae56f216 nghttp2: fix CVE-2023-35945
Envoy is a cloud-native high-performance edge/middle/service
proxy. Envoy’s HTTP/2 codec may leak a header map and
bookkeeping structures upon receiving `RST_STREAM` immediately
followed by the `GOAWAY` frames from an upstream server. In
nghttp2, cleanup of pending requests due to receipt of the
`GOAWAY` frame skips de-allocation of the bookkeeping structure
and pending compressed header. The error return [code path] is
taken if connection is already marked for not sending more
requests due to `GOAWAY` frame. The clean-up code is right after
the return statement, causing memory leak. Denial of service
through memory exhaustion. This vulnerability was patched in
versions(s) 1.26.3, 1.25.8, 1.24.9, 1.23.11.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-35945
https://github.com/envoyproxy/envoy/security/advisories/GHSA-jfxv-29pc-x22r

(From OE-Core rev: 0e6eb0f417079eaf76b003973c9d93338e6363b5)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-30 04:46:36 -10:00
Siddharth
074ad15e1e Qemu: Resolve undefined reference issue in CVE-2023-2861
The commit [9bd4ddeb4b] backports fix for CVE-2023-2861 for version 6.2.0.
The 'qemu_fstat' in `do_create_others' is not defined which leads to the undefined symbol error on certain architectures.

Also, the commit message says "(Mjt: drop adding qemu_fstat wrapper for 7.2 where wrappers aren't used)". So either the wrapper has to be dropped or it has to be defined.

Hence, backported the main patch rather than the cherry picked one.

(From OE-Core rev: 983d19dfdad361f8b3275b404f1ac0b9befc9f6c)

Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-30 04:46:35 -10:00
Soumya Sambu
f81d353d5b go: Fix CVE-2023-29409
Extremely large RSA keys in certificate chains can cause a
client/server to expend significant CPU time verifying
signatures. With fix, the size of RSA keys transmitted
during handshakes is restricted to <= 8192 bits. Based on
a survey of publicly trusted RSA keys, there are currently
only three certificates in circulation with keys larger than
this, and all three appear to be test certificates that are
not actively deployed. It is possible there are larger keys
in use in private PKIs, but we target the web PKI, so causing
breakage here in the interests of increasing the default
safety of users of crypto/tls seems reasonable.

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

(From OE-Core rev: 51c2fee0e4bb4b3131c61d91510394cd4b4f9eb9)

Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-30 04:46:35 -10:00
Narpat Mali
e5f546b58b ffmpeg: add CVE_CHECK_IGNORE for CVE-2023-39018
CVE-2023-39018 belongs to ffmpeg-cli-wrapper (Java wrapper around the FFmpeg CLI)
and not ffmpeg itself. As per CVE description, it is mentioned as FFmpeg 0.7.0 which
is the version for ffmpeg-cli-wrapper and ffmpeg don't have 0.7.0 version at all.

Debian & Bugzilla trackers have already marked as NOT-FOR-US/RESOLVED-INVALID.
As it won't be affecting the ffmpeg package so, we can ignore the CVE-2023-39018
in ffmpeg recipe.

References:
https://github.com/bramp/ffmpeg-cli-wrapper
https://github.com/FFmpeg/FFmpeg
https://security-tracker.debian.org/tracker/CVE-2023-39018
https://bugzilla.suse.com/show_bug.cgi?id=CVE-2023-39018

Upstream master patch:
https://git.openembedded.org/openembedded-core/commit/?id=c21ed498b423c13463a4ae0bb475883cc7901847

(From OE-Core rev: e787e364efbba372675081aadd802b43274097f0)

Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-30 04:46:35 -10:00
Alexander Kanavin
e19a76951b glibc-locale: use stricter matching for metapackages' runtime dependencies
This resolves two issues:

1. metapackages were depending on themselves (except -binaries which wouldn't match against 'glibc-binary').

2. for the nativesdk variant, due to a non-empty dependency list at parsing time caused by
issue 1, map_depends_variable() from meta/lib/oe/classextend.py was forcibly setting PACKAGES
to the initial parse-time value (e.g. missing the dynamically created packages). This meant that
three out of four nativesdk- metapackages were entireyly missing the dependencies on the
respective dynamic package sets.

(From OE-Core rev: ea920e3c8075f3a1b79039341f8c889f6197a07f)

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 a90fd3afe9184aa1870b34a826e3ba0563477d4b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Richard Purdie
464b034745 oeqa/ssh: Further improve process exit handling
It looks like there were further cases where orphaned processes may be left
behind since the .kill() calls may be unsuccessful if the process terminated
due to the terminate or through normal exit. In that situation .wait()
wouldn't have been called.

Further tweak the exit code paths to ensure .wait() is called to update the
returncode value before returning in all cases.

(From OE-Core rev: e1e038ab01a599fcdd4aa6211b6d15cd01a5e2e3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0a0a1731e38edfa72a141e8fd8f2de52be562e94)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Richard Purdie
1efc676afc target/ssh: Ensure exit code set for commands
As spotted by Joshua Watt, the returncode isn't set until .poll() or .wait()
is called so we need to call this after the .kill() call.

This fixes return code reporting so that timeouts for example now return an
exit code when they didn't before.

(From OE-Core rev: c70b05ea667e7bd280470b0b6ca10efb0f648e0f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3924e94214b5135369be2551d54fb92097d35e95)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Richard Purdie
442b9fd244 oeqa/runtime/ltp: Increase ltp test output timeout
On our slower arm server, the tests currently timeout leading to inconsistent test
results. Increase the timeout to avoid this and aim to make the test results
consistent.

(From OE-Core rev: b161af52b9454e07435dc9737b0a2522295f3e4d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9a8b49208f3c99e184eab426360b137bc773aa31)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Richard Purdie
0418f9112c oeqa/target/ssh: Ensure EAGAIN doesn't truncate output
We have a suspicion that the read() call may return EAGAIN on the non-blocking
fd and this may truncate test output leading to some of our intermittent failures.
Tweak the code to avoid this potential issue.

(From OE-Core rev: 4c02f7407d7afaefe1bc72aea25087b3f2271ac2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a8920c105725431e989cceb616bd04eaa52127ec)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Anuj Mittal
70b3a20817 selftest/cases/glibc.py: switch to using NFS over TCP
This provides a more reliable test execution when running tests that
write a large buffer/file and significantly reduces the localedata test
failures.

(From OE-Core rev: 8d0c669d3d04cf5bc645978afb22ba6c3f3d53e6)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 97a7612e3959bc9c75116a4e696f47cc31aea75d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Anuj Mittal
438d728f3b oeqa/utils/nfs: allow requesting non-udp ports
Allows setting up NFS over TCP as well.

(From OE-Core rev: 2727a0cb8d026e0c47aedd91f7c02e24b056f37b)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e1ff9b9a3b7f7924aea67d2024581bea2e916036)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Anuj Mittal
ca0b276bfc selftest/cases/glibc.py: increase the memory for testing
Some of the tests trigger OOM and fail. Increase the amount of memory
available so we dont run into these issues.

(From OE-Core rev: 060030ac9d00bf22ae3a2695d7ea060f0f69dfa8)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4d22dba482cb19ffcff5abee73f24526ea9d1c2a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Anuj Mittal
f88bc5a1e8 glibc/check-test-wrapper: don't emit warnings from ssh
Dont fill up the test log with ssh warning about having added the host
to list of known hosts.

Also helps fix a test case failure where stderr log was being compared
to a known value.

(From OE-Core rev: 265ba5138bb5859b9f5915f99a818a45df88a279)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 63b31ff7e54a171c4c02fca2e6b07aec64a410af)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Ovidiu Panait
eeca0078af mdadm: add util-linux-blockdev ptest dependency
07revert-inplace test logs contain the following:
func.sh: line 335: /sbin/blockdev: No such file or directory

Add the missing util-linux-blockdev dependency.

(From OE-Core rev: 7190ea3b70a9b36ecf48f948e792ac2ce6eca1e3)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit a15cd04f528d137d428a572f15d1ec5ebbbd81f0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Staffan Rydén
3b8d0acca3 kernel: Fix path comparison in kernel staging dir symlinking
Due to an oversight in the do_symlink_kernsrc function, the path
comparison between "S" and "STAGING_KERNEL_DIR" is broken. The code
obtains both variables, but modifies the local copy of "S" before
comparing them, causing the comparison to always return false.

This can cause the build to fail when the EXTERNALSRC flag is enabled,
since the code will try to create a symlink even if one already exists.

This patch resolves the issue by comparing the variables before they are
modified.

(From OE-Core rev: cf2267f80ec44b24c627347df7efbd492a07dcfa)

Signed-off-by: Staffan Rydén <staffan.ryden@axis.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit afd2038ef8a66a5e6433be31a14e1eb0d9f9a1d3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Alex Kiernan
1955a65b98 rpm: Pick debugfs package db files/dirs explicitly
Rather than copying the entire /etc hierarchy, specify the pieces we
actually need.

(From OE-Core rev: 007a57ce36a06f9a78675563020f24e1afa3caa1)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit f0fea55ab02b013484282177a636795a254e7986)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Alex Kiernan
6f3c2ff35a rootfs: Add debugfs package db file copy and cleanup
When copying the package database files for the debugfs, add individual
file copy as well as tree copying. After the debug rootfs has been
created, cleanup the package files.

This then allows us to avoid a problem where (for rpm at least)
extraneous files in the debug rootfs would cause failures during
oe-selftest because some files existed in both regular and debugfs
images.

(From OE-Core rev: 96c79c54f282497eb1521b1d5da648ae83fcfe8b)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit ce49ea435ce55eb5b6da442c12e03a806534c38d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Anuj Mittal
777a9ac262 selftest/cases/glibc.py: fix the override syntax
Fix the override so we actually pass the correct value to glibc.

(From OE-Core rev: 60ca407ce3113d8b507aaa0876b28902aab7ed5b)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 38fd2120f0f48512091ddad6205ce19839eaf589)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Julien Stephan
a543532a76 automake: fix buildtest patch
Add check_PROGRAMS as a dependency of buildtest-TESTS target.
This is required because according to the official automake
documentation [1]:
* TESTS: contains all the tests files
* check_PROGRAMS: contains the programs used by the tests
* check_PROGRAMS is not automatically added to TESTS

So, by using only TESTS as a dependency for buildtest-TESTS we may end
up having runtime errors because of missing program required by the
tests.

[1]: https://www.gnu.org/software/automake/manual/html_node/Scripts_002dbased-Testsuites.html

(From OE-Core rev: 5859a4143a1495198af323cedf06248c9b363060)

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ee3e2af4f8ed95b4fd0f7cec52ae4e169401b719)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Michael Halstead
37ab9a97fc resulttool/resultutils: allow index generation despite corrupt json
non-release indexes will continue to generate when test output is
corrupted.

(From OE-Core rev: 9467528e89d44a016a4c1e509a3a7da56ea20f74)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1a9157684a6bff8406c9bb470cb2e16ee006bbe9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Enrico Scholz
de828a1d9d shadow-sysroot: add license information
Recipe references 'login.defs' in LIC_FILES_CHKSUM.  This causes some
problems:

- file does not contain a single word which is related with its license

- changing this file (here: increasing SYS_UID_MIN) invalidates
  LIC_FILES_CHKSUM

Add 'SPDX-License-Identifier' to the file and limit the checksum to
this part.

(From OE-Core rev: c9ab17b51834bff96657712a6741eb3e3647b063)

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8c6f2e3feeb26abefb4136c56db6f3c0349acefb)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Richard Purdie
8f53c7b151 acl/attr: ptest fixes and improvements
Add a missing perl module dependency for the ptest packages and also
improve the run-ptest script so that the error log is saved allowing
easier debugging if this fails in future.

(From OE-Core rev: fbb9c596b8e6a8a1260dd7aefddf138d20bf64df)

(From OE-Core rev: 5908ccf65b5ca4a0473a57774f06515d6bc9f56c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2c948fa025)
Signed-off-by: Bhabu Bindu <bhabu.bindu@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Richard Purdie
5c42f2433c lib/package_manager: Improve repo artefact filtering
If you run an arm build followed by an x86 one and then ask for a
full repo to be created, it will include all of the arm and x86 packages.
testexport will then find the arm socat package rather than the x86 one
and try and run arm binaries within an x86 qemu image with no success.

The reproducer for this was:

oe-selftest -r fitimage.FitImageTests.test_initramfs_bundle runtime_test.TestImage.test_testimage_install

This patch only symlinks in the compatible package archictures rather
than all of them which fixes the failure and the resulting autobuilder
intermittent failure too.

[YOCTO #15190]

(From OE-Core rev: b811ce9e1c94532d49db54d4c3458cd804d96adb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 30b45bcf49bf8207fd96bb45a55d7708661f3359)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Poonam Jadhav
6826d0ba08 pixman: Remove duplication of license MIT
Remove duplication of license MIT from pixman bbfile.

(From OE-Core rev: 76f928359f76d449de0d884c591a5d9fdba9d19c)

Signed-off-by: Poonam Jadhav <poonam.jadhav@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Michael Halstead
b4b545cd9d yocto-uninative: Update to 4.2 for glibc 2.38
Uninative 4.2 adds glibc 2.38.

(From OE-Core rev: 135624fd57c3c9ba3786c5c10cd1f6c37ce82dad)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c6654fab00a1b4e4bb05eec8b77c8c60e1f8a709)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Michael Halstead
b8fded3df3 yocto-uninative: Update hashes for uninative 4.1
This version includes fixes to patchelf.

(From OE-Core rev: 410c2be543d031dc54a37439c8069807c395fc36)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1c5c8ff97ba0a7f9adc592d702b865b3d166a24b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Bruce Ashfield
6fbc34db05 linux-yocto/5.15: update to v5.15.124
Updating  to the latest korg -stable release that comprises
the following commits:

    38d4ca22a528 Linux 5.15.124
    78001ffa9bc4 selftests: mptcp: join: only check for ip6tables if needed
    66cf5f394abe ASoC: cs42l51: fix driver to properly autoload with automatic module loading
    3359fdf49de4 io_uring: treat -EAGAIN for REQ_F_NOWAIT as final for io-wq
    374edda0db70 selftests: mptcp: sockopt: use 'iptables-legacy' if available
    43bbe1a091e0 cpufreq: intel_pstate: Drop ACPI _PSS states table patching
    73b4cbed9176 ACPI: processor: perflib: Avoid updating frequency QoS unnecessarily
    cd031669682e ACPI: processor: perflib: Use the "no limit" frequency QoS
    e8e93e2f017e tracing: Fix trace_event_raw_event_synth() if else statement
    f3b6e63004f6 rbd: retrieve and check lock owner twice before blocklisting
    bb25c5c0e4ae rbd: harden get_lock_owner_info() a bit
    b223e9ffb64d rbd: make get_lock_owner_info() return a single locker or NULL
    098d0b9ba03c dm cache policy smq: ensure IO doesn't prevent cleaner policy progress
    7c9b8cca4917 ceph: never send metrics if disable_send_metrics is set
    e443b3a508b0 ASoC: wm8904: Fill the cache for WM8904_ADC_TEST_0 register
    585355a76e05 s390/dasd: fix hanging device after quiesce/resume
    0061453d6ea1 virtio-net: fix race between set queues and probe
    427d42838c16 KVM: x86: Disallow KVM_SET_SREGS{2} if incoming CR0 is invalid
    4ed1549129f9 locking/rtmutex: Fix task->pi_waiters integrity
    c579caef7c46 irqchip/gic-v4.1: Properly lock VPEs when doing a directLPI invalidation
    6cb3c511afcb irq-bcm6345-l1: Do not assume a fixed block to cpu mapping
    354e8bd5f532 tpm_tis: Explicitly check for error code
    8130c32b4ac1 nfsd: Remove incorrect check in nfsd4_validate_stateid
    9b8a31a23152 file: always lock position for FMODE_ATOMIC_POS
    1f5ea62a0f42 btrfs: check for commit error at btrfs_attach_transaction_barrier()
    883c3ed9a16a btrfs: check if the transaction was aborted at btrfs_wait_for_commit()
    a7abb1690fe1 hwmon: (nct7802) Fix for temp6 (PECI1) processed even if PECI1 disabled
    3f3cdca84432 hwmon: (k10temp) Enable AMD3255 Proc to show negative temperature
    a676ddc4ca96 ALSA: hda/relatek: Enable Mute LED on HP 250 G8
    dd125fcd580a Revert "xhci: add quirk for host controllers that don't update endpoint DCS"
    5138c228311a tty: n_gsm: fix UAF in gsm_cleanup_mux
    baf420e30364 staging: ks7010: potential buffer overflow in ks_wlan_set_encode_ext()
    acacdbe0f740 staging: r8712: Fix memory leak in _r8712_init_xmit_priv()
    ba2975efe979 Documentation: security-bugs.rst: clarify CVE handling
    28ae486f8e36 Documentation: security-bugs.rst: update preferences when dealing with the linux-distros group
    98a118840b71 Revert "usb: xhci: tegra: Fix error check"
    2eaa43508a0e usb: xhci-mtk: set the dma max_seg_size
    cd2d96c4bc6f usb: cdns3: fix incorrect calculation of ep_buf_size when more than one config
    3af06a8502ee USB: quirks: add quirk for Focusrite Scarlett
    8fb5a01196df usb: ohci-at91: Fix the unhandle interrupt when resume
    6366b1178545 usb: dwc3: don't reset device side if dwc3 was configured as host-only
    6f126e026307 usb: dwc3: pci: skip BYT GPIO lookup table for hardwired phy
    a2d2fa661293 Revert "usb: dwc3: core: Enable AutoRetry feature in the controller"
    97620ed1bcab can: gs_usb: gs_can_close(): add missing set of CAN state to CAN_STATE_STOPPED
    0ac13ef00209 USB: serial: simple: sort driver entries
    378e03623741 USB: serial: simple: add Kaufmann RKS+CAN VCP
    5b9a5cf1bf4a USB: serial: option: add Quectel EC200A module support
    399091399777 USB: serial: option: support Quectel EM060K_128
    b800c0d5576e serial: sifive: Fix sifive_serial_console_setup() section
    8fa462ad0f9b serial: 8250_dw: Preserve original value of DLF register
    dc4f6c537f37 serial: qcom-geni: drop bogus runtime pm state update
    41c487de4cf5 KVM: VMX: Don't fudge CR0 and CR4 for restricted L2 guest
    5883a4e8478d KVM: Grab a reference to KVM for VM and vCPU stats file descriptors
    0f7a2b567197 USB: gadget: Fix the memory leak in raw_gadget driver
    2f9bfccced04 usb: gadget: call usb_gadget_check_config() to verify UDC capability
    a49884561a8c Revert "usb: gadget: tegra-xudc: Fix error check in tegra_xudc_powerdomain_init()"
    813cede7b2f5 tracing: Fix warning in trace_buffered_event_disable()
    23e8a65f9a93 ring-buffer: Fix wrong stat of cpu_buffer->read
    ae5b8b1c2eac ata: pata_ns87415: mark ns87560_tf_read static
    6bbbe1b2161e RDMA/irdma: Report correct WC error
    bd79de8bd371 drm/amd: Fix an error handling mistake in psp_sw_init()
    4e1c1d742970 dm raid: protect md_stop() with 'reconfig_mutex'
    0c4db5a04d4f dm raid: clean up four equivalent goto tags in raid_ctr()
    2e321ee96f88 dm raid: fix missing reconfig_mutex unlock in raid_ctr() error paths
    4b9f3ef1f3eb block: Fix a source code comment in include/uapi/linux/blkzoned.h
    2861b33820f9 ASoC: fsl_spdif: Silence output on stop
    5ec0e4deee5b drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in a5xx_submit_in_rb()
    b79a0e71d6e8 RDMA/bnxt_re: Prevent handling any completions after qp destroy
    3ad5f655eb8a RDMA/mthca: Fix crash when polling CQ for shared QPs
    c5b5dbcbf91f RDMA/irdma: Fix data race on CQP request done
    bf0f9f65b7fe RDMA/irdma: Fix data race on CQP completion stats
    fd6e50ec2c38 RDMA/irdma: Add missing read barriers
    5fbb5068d2bd drm/msm/adreno: Fix snapshot BINDLESS_DATA size
    4e9d4a21616b drm/msm/dpu: drop enum dpu_core_perf_data_bus_id
    6ab756a55e46 RDMA/mlx4: Make check for invalid flags stricter
    9dde876a4dc8 tipc: stop tipc crypto on failure in tipc_node_create
    df019bc1241e tipc: check return value of pskb_trim()
    42afa7ef6629 benet: fix return value check in be_lancer_xmit_workarounds()
    95cf4fa31b0c net/sched: mqprio: Add length check for TCA_MQPRIO_{MAX/MIN}_RATE64
    98f6bbdfc0ce net/sched: mqprio: add extack to mqprio_parse_nlattr()
    b1e85c9d28dd net/sched: mqprio: refactor nlattr parsing to a separate function
    5bee91121cce netfilter: nf_tables: disallow rule addition to bound chain via NFTA_RULE_CHAIN_ID
    98bcfcaecc76 netfilter: nf_tables: skip immediate deactivate in _PREPARE_ERROR
    50cbb9d195c1 netfilter: nft_set_rbtree: fix overlap expiration walk
    feba294c454a igc: Fix Kernel Panic during ndo_tx_timeout callback
    8412fe36863b platform/x86: msi-laptop: Fix rfkill out-of-sync on MSI Wind U100
    238420a24d6b net: stmmac: Apply redundant write work around on 4.xx too
    9be8ec5a0cfe team: reset team's flags when down link is P2P device
    bf2d7b63e2b5 bonding: reset bond's flags when down link is P2P device
    c28b39387634 ice: Fix memory management in ice_ethtool_fdir.c
    ecb741a17cb2 tcp: Reduce chance of collisions in inet6_hashfn().
    dd48780a7bbb ipv6 addrconf: fix bug where deleting a mngtmpaddr can create a new temporary address
    46e40297355e ethernet: atheros: fix return value check in atl1e_tso_csum()
    6d8a71e4c3a2 phy: hisilicon: Fix an out of bounds check in hisi_inno_phy_probe()
    49f5b3c9499b vxlan: calculate correct header length for GPE
    77396fa9096a vxlan: move to its own directory
    96dbc68b7f86 net: hns3: fix wrong bw weight of disabled tc issue
    9755714d238c net: hns3: fix wrong tc bandwidth weight data issue
    01460ac6ff95 net: phy: marvell10g: fix 88x3310 power up
    57743a86cce1 iavf: check for removal state before IAVF_FLAG_PF_COMMS_FAILED
    1542e399a12a iavf: fix potential deadlock on allocation failure
    5a4048355725 i40e: Fix an NULL vs IS_ERR() bug for debugfs_create_dir()
    c9b936984d89 media: staging: atomisp: select V4L2_FWNODE
    6aa7cb3bb5c9 soundwire: qcom: update status correctly with mask
    3f28ec4a4002 phy: qcom-snps-femto-v2: properly enable ref clock
    ac3fe4c2a708 phy: qcom-snps-femto-v2: keep cfg_ahb_clk enabled during runtime suspend
    e7c0c5af517f phy: qcom-snps: correct struct qcom_snps_hsphy kerneldoc
    450ef59bef9a phy: qcom-snps: Use dev_err_probe() to simplify code
    d6f92582816c drm/amdgpu/vkms: relax timer deactivation by hrtimer_try_to_cancel
    fc399b0fdf2d drm/amdgpu: fix vkms crtc settings
    aa56bcff46a1 scsi: qla2xxx: Fix hang in task management
    58daf4e8709d scsi: qla2xxx: Add debug prints in the device remove path
    f90d44e5bbbe scsi: qla2xxx: Fix task management cmd fail due to unavailable resource
    01366f0b656a scsi: qla2xxx: Fix task management cmd failure
    25cea82ea25d scsi: qla2xxx: Multi-que support for TMF
    2e18fd3f61be scsi: qla2xxx: Remove unused declarations for qla2xxx
    ace6bed42464 tracing/probes: Fix to record 0-length data_loc in fetch_store_string*() if fails
    30c8ba1da373 Revert "tracing: Add "(fault)" name injection to kernel probes"
    5f52389bdd9e tracing: Allow synthetic events to pass around stacktraces
    e7b4d24fa090 tracing/probes: Fix to avoid double count of the string length on the array
    3a1a229712ef tracing/probes: Add symstr type for dynamic events
    7ac170d93bec pwm: meson: fix handling of period/duty if greater than UINT_MAX
    bae3c43a9d25 pwm: meson: Simplify duplicated per-channel tracking
    5cb0349cfcde cifs: if deferred close is disabled then close files immediately
    c600e23fbc40 ksmbd: remove internal.h include
    c8117ac42303 cifs: use fs_context for automounts
    5076cc8bc162 cifs: missing directory in MAINTAINERS file
    da60170558b9 drm/ttm: never consider pinned BOs for eviction&swap
    c556573e4bb1 tty: fix hang on tty device with no_room set
    d262770b95c7 n_tty: Rename tail to old_tail in n_tty_read()
    7738335d73d0 drm/ttm: Don't leak a resource on eviction error
    4400b96587fd drm/ttm: Don't print error message if eviction was interrupted
    354cdda79a77 fs: dlm: interrupt posix locks only when process is killed
    97e7a0f8dea2 dlm: rearrange async condition return
    75ce95abc65b dlm: cleanup plock_op vs plock_xop
    b409d8df9bea PCI: rockchip: Don't advertise MSI-X in PCIe capabilities
    cbd1494e51fd PCI: rockchip: Fix window mapping and address translation for endpoint
    eb39c4c051dc PCI: rockchip: Remove writes to unused registers
    05f13e85fbdd PCI/ASPM: Avoid link retraining race
    52d274956a8f PCI/ASPM: Factor out pcie_wait_for_retrain()
    cf8c18150030 PCI/ASPM: Return 0 or -ETIMEDOUT from pcie_retrain_link()
    8b9249d74ca5 i2c: nomadik: Remove a useless call in the remove function
    f07d8d345bd2 i2c: nomadik: Use devm_clk_get_enabled()
    4954c8705339 i2c: nomadik: Remove unnecessary goto label
    24562f0a46ad i2c: Improve size determinations
    9845744e57fe i2c: Delete error messages for failed memory allocations
    89eae1f0aaeb btrfs: fix race between quota disable and relocation
    b19e90521286 gpio: mvebu: fix irq domain leak
    a999660042af gpio: mvebu: Make use of devm_pwmchip_add
    34fe5fbc208f pwm: Add a stub for devm_pwmchip_add()
    f3d2344811fd gpio: tps68470: Make tps68470_gpio_output() always set the initial value
    21d063d27bf3 io_uring: don't audit the capability check in io_uring_create()
    49a2686addde KVM: s390: pv: fix index value of replaced ASCE
    fee1e6a73557 jbd2: Fix wrongly judgement for buffer head removing while doing checkpoint

(From OE-Core rev: 94bad591285091c3f348410df7bf58366c267775)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit f7ffd2eba4d5c731b7841690e24ca4c5752dfce8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Bruce Ashfield
c9dd718d39 linux-yocto/5.15: update to v5.15.123
Updating  to the latest korg -stable release that comprises
the following commits:

    09996673e313 Linux 5.15.123
    e6c2f1ce413c Revert "drm/amd/display: edp do not add non-edid timings"
    68eafe294786 nixge: fix mac address error handling again
    22f4093a4213 tracing/histograms: Return an error if we fail to add histogram to hist_vars list
    78471c3ad36f jbd2: recheck chechpointing non-dirty buffer
    0ae6b6d21701 net: phy: prevent stale pointer dereference in phy_init()
    b7168d2906fd tcp: annotate data-races around fastopenq.max_qlen
    accb138c10ff tcp: annotate data-races around icsk->icsk_user_timeout
    6b88371f000f tcp: annotate data-races around tp->notsent_lowat
    4f0a31f73258 tcp: annotate data-races around rskq_defer_accept
    ff0fedfc7540 tcp: annotate data-races around tp->linger2
    e187d88f3ba3 tcp: annotate data-races around icsk->icsk_syn_retries
    d5617eeb546e tcp: annotate data-races around tp->keepalive_probes
    9b2296a2ad23 tcp: annotate data-races around tp->keepalive_intvl
    f70ebecdf3c2 tcp: annotate data-races around tp->keepalive_time
    0bcee9325268 tcp: annotate data-races around tp->tcp_tx_delay
    10013f764ad2 netfilter: nf_tables: skip bound chain on rule flush
    dbe1a82d46ed netfilter: nf_tables: skip bound chain in netns release path
    706ce3c81b5c netfilter: nft_set_pipapo: fix improper element removal
    62615b895ab4 netfilter: nf_tables: fix spurious set element insertion failure
    c17b4ec9cc38 llc: Don't drop packet from non-root netns.
    2400ae8fd86d fbdev: au1200fb: Fix missing IRQ check in au1200fb_drv_probe
    40276640bed8 Revert "tcp: avoid the lookup process failing to get sk in ehash table"
    b04ab5243e84 net:ipv6: check return value of pskb_trim()
    b87a7e3a330c net: ipv4: Use kfree_sensitive instead of kfree
    5dd4d1ff8ba1 tcp: annotate data-races around tcp_rsk(req)->ts_recent
    fa941f53a2c2 igc: Prevent garbled TX queue with XDP ZEROCOPY
    e35dc107a172 bpf: Fix subprog idx logic in check_max_stack_depth
    4e87eb224896 octeontx2-pf: Dont allocate BPIDs for LBK interfaces
    87fc9616d606 security: keys: Modify mismatched function name
    0fb37ce6c01e iavf: Fix out-of-bounds when setting channels on remove
    345c44e18cc1 iavf: Fix use-after-free in free_netdev
    52ed16146349 net: sched: cls_bpf: Undo tcf_bind_filter in case of an error
    5ed16ecae5bf net: ethernet: mtk_eth_soc: handle probe deferral
    39479093a472 ethernet: use of_get_ethdev_address()
    cb1e666ec077 of: net: add a helper for loading netdev->dev_addr
    43da399e509e ethernet: use eth_hw_addr_set() instead of ether_addr_copy()
    3fb402bd20e2 bridge: Add extack warning when enabling STP in netns.
    ec4ac15eced0 net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field()/cpsw_ale_set_field()
    6a5d6096ae5c pinctrl: amd: Use amd_pinconf_set() for all config options
    4727cece2994 perf build: Fix library not found error when using CSLIBS
    29fb046ec031 fbdev: imxfb: warn about invalid left/right margin
    5d191467534b spi: bcm63xx: fix max prepend length
    2febd5f81e4b FS: JFS: Check for read-only mounted filesystem in txBegin
    3e94d0d378d2 FS: JFS: Fix null-ptr-deref Read in txBegin
    13ae3f2fd2be MIPS: dec: prom: Address -Warray-bounds warning
    39f6292d7595 fs: jfs: Fix UBSAN: array-index-out-of-bounds in dbAllocDmapLev
    985f96666989 udf: Fix uninitialized array access for some pathnames
    579d814de87c quota: fix warning in dqgrab()
    32c2f51fffec quota: Properly disable quotas when add_dquot_ref() fails
    d363075066cc ALSA: emu10k1: roll up loops in DSP setup code for Audigy
    c0d7dbc6b7a6 drm/radeon: Fix integer overflow in radeon_cs_parser_init
    bca9fb7a5a86 ext4: correct inline offset when handling xattrs in inode body
    87336783d054 ASoC: codecs: wcd938x: fix soundwire initialisation race
    a14527c394d0 ASoC: codecs: wcd938x: fix codec initialisation race
    4ca000456ea6 ASoC: codecs: wcd934x: fix resource leaks on component remove
    5a34d252052b ASoC: codecs: wcd938x: fix missing mbhc init error handling
    aa44782a0293 ASoC: codecs: wcd938x: fix resource leaks on component remove
    90ab6446eb52 ASoC: codecs: wcd-mbhc-v2: fix resource leaks on component remove
    a05a277a8d23 ASoC: codecs: wcd938x: fix missing clsh ctrl error handling
    574ffa6fdf30 ASoC: fsl_sai: Disable bit clock with transmitter
    925bbcdbc4d0 drm/amd/display: Keep PHY active for DP displays on DCN31
    742340371b01 drm/amd/display: Disable MPC split by default on special asic
    1369d0c586ad drm/client: Fix memory leak in drm_client_modeset_probe
    a85e23a1ef63 drm/client: Fix memory leak in drm_client_target_cloned
    82690148ff19 selftests: tc: add ConnTrack procfs kconfig
    3c3941bb1eb5 can: bcm: Fix UAF in bcm_proc_show()
    148453787636 regmap: Account for register length in SMBus I/O limits
    6ce258d0c622 regmap: Drop initial version of maximum transfer length fixes
    d3ee089a16a3 selftests: tc: add 'ct' action kconfig dep
    4a888b22cc07 selftests: tc: set timeout to 15 minutes
    62ee5840326b fuse: ioctl: translate ENOSYS in outarg
    ab80a901f8da btrfs: zoned: fix memory leak after finding block group with super blocks
    6ba7ac692a25 fuse: revalidate: don't invalidate if interrupted
    c9060caab413 btrfs: fix warning when putting transaction with qgroups enabled after abort
    232a104e38fe perf probe: Add test for regression introduced by switch to die_get_decl_file()
    9aecfebea24f keys: Fix linking a duplicate key to a keyring's assoc_array
    0b24b5e187bd ALSA: hda/realtek: Enable Mute LED on HP Laptop 15s-eq2xxx
    2d04042a9fce ALSA: hda/realtek: Add quirk for Clevo NS70AU
    a5de09b7f9fe ALSA: hda/realtek - remove 3k pull low procedure

(From OE-Core rev: 873c6253c029ceb303a849ced14bf5125856b368)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit df81fdbc619c5a3a76ad3bdea2bf7d761e612656)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Bruce Ashfield
d518066318 linux-yocto/5.15: update to v5.15.122
Updating  to the latest korg -stable release that comprises
the following commits:

    5c6a716301d9 Linux 5.15.122
    be824fdb827d x86/cpu/amd: Add a Zenbleed fix
    5398be2c48aa x86/cpu/amd: Move the errata checking functionality up
    cdd3cdb682f4 Linux 5.15.121
    30580f3a3301 drm/atomic: Fix potential use-after-free in nonblocking commits
    ab2fa2fafb21 net/sched: sch_qfq: reintroduce lmax bound check for MTU
    204d7c36e8e7 MIPS: kvm: Fix build error with KVM_MIPS_DEBUG_COP0_COUNTERS enabled
    522ee1b3030f scsi: qla2xxx: Remove unused nvme_ls_waitq wait queue
    0715da51391d scsi: qla2xxx: Pointer may be dereferenced
    541af83572c9 scsi: qla2xxx: Correct the index of array
    1ccd52b790a6 scsi: qla2xxx: Check valid rport returned by fc_bsg_to_rport()
    5a52a2e14fe8 scsi: qla2xxx: Fix potential NULL pointer dereference
    89250e775dcc scsi: qla2xxx: Fix buffer overrun
    4406fe8a96a9 scsi: qla2xxx: Avoid fcport pointer dereference
    748d8f8698a2 scsi: qla2xxx: Array index may go out of bound
    079c8264ed9f scsi: qla2xxx: Wait for io return on terminate rport
    25d63eb730b8 tracing/probes: Fix to update dynamic data counter if fetcharg uses it
    8277bcacf165 tracing/probes: Fix not to count error code to total length
    610193a23fd5 selftests: mptcp: depend on SYN_COOKIES
    c8b375871eb8 selftests: mptcp: sockopt: return error if wrong mark
    3b5d9b7b8759 tracing: Fix null pointer dereference in tracing_err_log_open()
    391da52c8777 xtensa: ISS: fix call to split_if_spec
    179feeeef62f ftrace: Fix possible warning on checking all pages used in ftrace_process_locs()
    bb14a93bccc9 ring-buffer: Fix deadloop issue on reading trace_pipe
    3e36cc94d6e6 net: ena: fix shift-out-of-bounds in exponential backoff
    b763e6342429 samples: ftrace: Save required argument registers in sample trampolines
    954792db9f61 tracing: Fix memory leak of iter->temp when reading trace_pipe
    97f54b330c79 tracing/histograms: Add histograms to hist_vars if they have referenced variables
    b45a33897f54 s390/decompressor: fix misaligned symbol build error
    1856cf9132f6 bus: ixp4xx: fix IXP4XX_EXP_T1_MASK
    7269c250dd9d Revert "8250: add support for ASIX devices with a FIFO bug"
    20f7c4d51c94 soundwire: qcom: fix storing port config out-of-bounds
    39a0e723d350 opp: Fix use-after-free in lazy_opp_tables after probe deferral
    0ff4a97ac20f meson saradc: fix clock divider mask length
    e5fdd73c883b xhci: Show ZHAOXIN xHCI root hub speed correctly
    6eaedbffec55 xhci: Fix TRB prefetch issue of ZHAOXIN hosts
    328b18a42a57 xhci: Fix resume issue of some ZHAOXIN hosts
    d9c91ef5d8da ceph: don't let check_caps skip sending responses for revoke msgs
    db8ca8d9b4df libceph: harden msgr2.1 frame segment length checks
    974ac045a05a firmware: stratix10-svc: Fix a potential resource leak in svc_create_memory_pool()
    becf8c69b7e7 tty: serial: imx: fix rs485 rx after tx
    9dd8091959bc tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() when iterating clk
    073dbbe57437 tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() in case of error
    21e2fe510aee serial: atmel: don't enable IRQs prematurely
    af4e0ce2af8a drm/ttm: Don't leak a resource on swapout move error
    22c16c896cbf drm/amdgpu: avoid restore process run into dead loop.
    85b9335d8e0b drm/amd/display: Correct `DMUB_FW_VERSION` macro
    9ced7e65c3c4 drm/amdgpu: fix clearing mappings for BOs that are always valid in VM
    0121d83ddfc8 drm/rockchip: vop: Leave vblank enabled in self-refresh
    941a395e969b drm/atomic: Allow vblank-enabled + self-refresh "disable"
    54163ad21e17 fs: dlm: return positive pid value for F_GETLK
    866bf37b7c10 dm init: add dm-mod.waitfor to wait for asynchronously probed block devices
    4f61488541bb md/raid0: add discard support for the 'original' layout
    3435c5674e67 mfd: pm8008: Fix module autoloading
    560c458340a9 misc: pci_endpoint_test: Re-init completion for every test
    14bdee38e96c misc: pci_endpoint_test: Free IRQs before removing the device
    eec34da87bc6 PCI: rockchip: Set address alignment for endpoint mode
    750fd00a0a37 PCI: rockchip: Use u32 variable to access 32-bit registers
    875d7a7f851a PCI: rockchip: Fix legacy IRQ generation for RK3399 PCIe endpoint core
    7b0026977a51 PCI: rockchip: Add poll and timeout to wait for PHY PLLs to be locked
    049d774b8b9b PCI: rockchip: Write PCI Device ID to correct register
    20c62b3c1e4d PCI: rockchip: Assert PCI Configuration Enable bit after probe
    e8cc74b6b446 PCI: qcom: Disable write access to read only registers for IP v2.3.3
    7b2f1ddc943a PCI: Add function 1 DMA alias quirk for Marvell 88SE9235
    1d24c5b10dbb PCI/PM: Avoid putting EloPOS E2/S2/H2 PCIe Ports in D3cold
    f930cf3f21fd dm integrity: reduce vmalloc space footprint on 32-bit architectures
    70564215ad92 hwrng: imx-rngc - fix the timeout for init and self check
    de984faecddb jfs: jfs_dmap: Validate db_l2nbperpage while mounting
    d04a3ff04c93 ext4: only update i_reserved_data_blocks on successful block allocation
    c327b83c59ee ext4: turn quotas off if mount failed after enabling quotas
    8830523440a6 ext4: fix to check return value of freeze_bdev() in ext4_shutdown()
    c7514dceb7b9 ext4: fix wrong unit use in ext4_mb_new_blocks
    5523851fad60 ext4: get block from bh in ext4_free_blocks for fast commit replay
    ba92af119b31 ext4: fix wrong unit use in ext4_mb_clear_bb
    951ee9c9bb05 ext4: Fix reusing stale buffer heads from last failed mounting
    cd517f9a9d07 MIPS: KVM: Fix NULL pointer dereference
    fd89522a6198 MIPS: Loongson: Fix cpu_probe_loongson() again
    0e1854f87be8 erofs: fix compact 4B support for 16k block size
    e4e7f67cc14e arm64: errata: Add detection for TRBE overwrite in FILL mode
    affdbc8fbc7a powerpc/security: Fix Speculation_Store_Bypass reporting on Power10
    9f1627d8b0a4 misc: fastrpc: Create fastrpc scalar with correct buffer count
    faea67e6a508 powerpc: Fail build if using recordmcount with binutils v2.37
    7eeed3ed1a6c mm/damon/ops-common: atomically test and clear young on ptes and pmds
    7efc5bee2473 net: bcmgenet: Ensure MDIO unregistration has clocks enabled
    626c1c291302 mtd: rawnand: meson: fix unaligned DMA buffers handling
    e08295290c53 tpm: tpm_vtpm_proxy: fix a race condition in /dev/vtpmx creation
    936adde9c338 pinctrl: amd: Only use special debounce behavior for GPIO 0
    0bcf6b12e699 pinctrl: amd: Detect and mask spurious interrupts
    dff67c64f67b pinctrl: amd: Detect internal GPIO0 debounce handling
    cc5050add034 pinctrl: amd: Fix mistake in handling clearing pins at startup
    982c29e0d27a f2fs: fix to avoid NULL pointer dereference f2fs_write_end_io()
    333feb7ba84f fs/ntfs3: Check fields while reading
    04d2c9a6cb5c nvme-pci: fix DMA direction of unmapping integrity data
    c58e45fbeaa8 nvme-pci: remove nvme_queue from nvme_iod
    91d3554ab1fc net/sched: sch_qfq: account for stab overhead in qfq_enqueue
    8e0326cbc4d5 net/sched: sch_qfq: refactor parsing of netlink parameters
    78a0900e8dbc net/sched: make psched_mtu() RTNL-less safe
    31976c68be26 netdevsim: fix uninitialized data in nsim_dev_trap_fa_cookie_write()
    8a128e601f36 riscv: mm: fix truncation warning on RV32
    3bd945532d0d net/sched: flower: Ensure both minimum and maximum ports are specified
    d26299f50f5e bpf: cpumap: Fix memory leak in cpu_map_update_elem
    099abb1cd229 wifi: airo: avoid uninitialized warning in airo_get_rate()
    0e9ebc17457a erofs: fix fsdax unavailability for chunk-based regular files
    41ccbc2ecb63 erofs: decouple basic mount options from fs_context
    ed84618f8da2 erofs: avoid infinite loop in z_erofs_do_read_page() when reading beyond EOF
    e649333bcfe1 octeontx2-pf: Add additional check for MCAM rules
    c62da24de388 drm/i915: Fix one wrong caching mode enum usage
    567397dd8e7b riscv, bpf: Fix inconsistent JIT image generation
    4e4e1f99bb47 bpf, riscv: Support riscv jit to provide bpf_line_info
    420d30d36725 igc: Fix inserting of empty frame for launchtime
    efc7f2593724 igc: Fix launchtime before start of cycle
    d29387922b85 kernel/trace: Fix cleanup logic of enable_trace_eprobe
    7aefc43277e5 platform/x86: wmi: Break possible infinite loop when parsing GUID
    02081e57188b platform/x86: wmi: move variables
    f3583db8980a platform/x86: wmi: use guid_t and guid_equal()
    3b6fef411030 platform/x86: wmi: remove unnecessary argument
    82abd1c37d3b ipv6/addrconf: fix a potential refcount underflow for idev
    1d63fdf6d3ed NTB: ntb_tool: Add check for devm_kcalloc
    0aa187a99935 NTB: ntb_transport: fix possible memory leak while device_register() fails
    7e475cf97c47 ntb: intel: Fix error handling in intel_ntb_pci_driver_init()
    3326ecef63ca NTB: amd: Fix error handling in amd_ntb_pci_driver_init()
    fe1a2ed41162 ntb: idt: Fix error handling in idt_pci_driver_init()
    7f2153c1ae89 udp6: fix udp6_ehashfn() typo
    3fabca5d9cae icmp6: Fix null-ptr-deref of ip6_null_entry->rt6i_idev in icmp6_dev().
    ea438eed94ac net: prevent skb corruption on frag list segmentation
    02474292a442 net: bgmac: postpone turning IRQs off to avoid SoC hangs
    1417dd787a5e ionic: remove WARN_ON to prevent panic_on_warn
    aa915d12c1cc gve: Set default duplex configuration to full
    5b55f2d6ef40 net/sched: cls_fw: Fix improper refcount update leads to use-after-free
    1d263bbdc5c6 net: mvneta: fix txq_map in case of txq_number==1
    4a4804e6ae84 bpf: Fix max stack depth check for async callbacks
    1b555dff835c scsi: qla2xxx: Fix error code in qla2x00_start_sp()
    6e8af127ddbd igc: Handle PPS start time programming for past time values
    809ea3a3eb3e igc: set TP bit in 'supported' and 'advertising' fields of ethtool_link_ksettings
    82ac62d76a00 net/mlx5e: Check for NOT_READY flag state after locking
    4892e1e548b5 net/mlx5e: fix memory leak in mlx5e_ptp_open
    c61303ae2ce0 net/mlx5e: fix double free in mlx5e_destroy_flow_table
    f4b1f2625186 igc: Remove delay during TX ring configuration
    b3540c0de848 drm/panel: simple: Add Powertip PH800480T013 drm_display_mode flags
    9dbc0fa2e85a drm/bridge: ti-sn65dsi86: Fix auxiliary bus lifetime
    486b2551b068 drm/panel: simple: Add connector_type for innolux_at043tn24
    eb947403518e ksmbd: validate session id and tree id in the compound request
    3813eee5154d ksmbd: fix out-of-bound read in smb2_write
    35f450f54dca ksmbd: validate command payload size
    08871ede8318 ksmbd: use ksmbd_req_buf_next() in ksmbd_smb2_check_message()
    d528faa9e828 workqueue: clean up WORK_* constant types, clarify masking
    aed37b12a253 net: lan743x: Don't sleep in atomic context
    d9e1cfae8d8e io_uring: add reschedule point to handle_tw_list()
    f8307d862ca4 io_uring: Use io_schedule* in cqring wait
    ecb9443b203f block/partition: fix signedness issue for Amiga partitions
    478a7a30c33c tty: serial: fsl_lpuart: add earlycon for imx8ulp platform
    75308d64c050 wireguard: netlink: send staged packets when setting initial private key
    8c660cfd7230 wireguard: queueing: use saner cpu selection wrapping
    870dcc31c0cf netfilter: nf_tables: prevent OOB access in nft_byteorder_eval
    041e2ac88cae netfilter: nf_tables: do not ignore genmask when looking up chain by id
    6f03ce2f1abc netfilter: conntrack: Avoid nf_ct_helper_hash uses after free
    2bd6f13734ce netfilter: nf_tables: unbind non-anonymous set if rule construction fails
    30235c245700 fanotify: disallow mount/sb marks on kernel internal pseudo fs
    d97481c7b273 ovl: fix null pointer dereference in ovl_get_acl_rcu()
    db42d2bf4f21 fs: no need to check source
    86b93cbfe104 leds: trigger: netdev: Recheck NETDEV_LED_MODE_LINKUP on dev rename
    ecc8d95067e4 ARM: orion5x: fix d2net gpio initialization
    1c401bb99394 ARM: dts: qcom: ipq4019: fix broken NAND controller properties override
    02b5d96f7dd0 ASoC: mediatek: mt8173: Fix snd_soc_component_initialize error path
    5f35f98e5609 ASoC: mediatek: mt8173: Fix irq error path
    6e7f6b4b5ca0 btrfs: do not BUG_ON() on tree mod log failure at __btrfs_cow_block()
    bdc8a582e1a4 btrfs: fix extent buffer leak after tree mod log failure at split_node()
    7ba0da31dd4a btrfs: fix race when deleting quota root from the dirty cow roots list
    bacd1c80e3b6 btrfs: reinsert BGs failed to reclaim
    d1ca553f9431 btrfs: bail out reclaim process if filesystem is read-only
    d8e172616fb7 btrfs: delete unused BGs while reclaiming BGs
    12b6d6849898 btrfs: add handling for RAID1C23/DUP to btrfs_reduce_alloc_profile
    dd15d1c5c22d fs: avoid empty option when generating legacy mount string
    79b9ab357b6f jffs2: reduce stack usage in jffs2_build_xattr_subsystem()
    5ca021be5211 ipvs: increase ip_vs_conn_tab_bits range for 64BIT
    6db001a7ed75 fs: Lock moved directories
    40f99ad8e2c2 fs: Establish locking order for unrelated directories
    8fdae421c26f Revert "f2fs: fix potential corruption when moving a directory"
    eca9c3d86dd0 ext4: Remove ext4 locking of moved directory
    487f229efea8 shmem: use ramfs_kill_sb() for kill_sb method of ramfs-based tmpfs
    17bdba70a802 autofs: use flexible array in ioctl structure
    e7acd18e5ec3 integrity: Fix possible multiple allocation in integrity_inode_get()
    f4e0809d3adc um: Use HOST_DIR for mrproper
    f67b0e3081f2 bcache: Fix __bch_btree_node_alloc to make the failure behavior consistent
    991e9c186a8a bcache: Remove unnecessary NULL point check in node allocations
    cbdd5b3322f7 bcache: fixup btree_cache_wait list damage
    99d0599742be mmc: sdhci: fix DMA configure compatibility issue when 64bit DMA mode is used.
    c893918bf4d8 mmc: mmci: Set PROBE_PREFER_ASYNCHRONOUS
    4a489c8e9cc8 mmc: core: disable TRIM on Micron MTFC4GACAJCN-1M
    5b555f250069 mmc: core: disable TRIM on Kingston EMMC04G-M627
    8e2983536613 io_uring: wait interruptibly for request completions on exit
    e5da56c682f1 NFSD: add encoding of op_recall flag for write delegation
    8a77b1d4663f i2c: qup: Add missing unwind goto in qup_i2c_probe()
    5bf90e5e793a btrfs: do not BUG_ON() on tree mod log failure at balance_level()
    e15eb4ec862c extcon: usbc-tusb320: Convert to i2c's .probe_new()
    112c15d0974f i2c: xiic: Don't try to handle more interrupt events after error
    9eaef43fef90 i2c: xiic: Defer xiic_wakeup() and __xiic_start_xfer() in xiic_process()
    0fa0cd1f98c1 apparmor: fix missing error check for rhashtable_insert_fast
    196f6c71905a sh: dma: Fix DMA channel offset calculation
    6342e46566f6 s390/qeth: Fix vipa deletion
    307623bae629 octeontx-af: fix hardware timestamp configuration
    deee40944a75 net: dsa: tag_sja1105: fix MAC DA patching from meta frames
    e4db7f4369eb pptp: Fix fib lookup calls.
    a4284246fca2 riscv: move memblock_allow_resize() after linear mapping is ready
    ae682149bc00 net/sched: act_pedit: Add size check for TCA_PEDIT_PARMS_EX
    edd944b70ad2 xsk: Honor SO_BINDTODEVICE on bind
    428ccde9242a tcp: annotate data races in __tcp_oow_rate_limited()
    0dad52a840d6 net: bridge: keep ports without IFF_UNICAST_FLT in BR_PROMISC mode
    ada440952d5e powerpc: allow PPC_EARLY_DEBUG_CPM only when SERIAL_CPM=y
    f3380d895e28 ntfs: Fix panic about slab-out-of-bounds caused by ntfs_listxattr()
    e425e2ba9336 octeontx2-af: Add validation before accessing cgx and lmac
    eeaf264cd43f octeontx2-af: Fix mapping for NIX block from CGX connection
    d58d718136f8 f2fs: fix error path handling in truncate_dnode()
    c0dd447558c6 mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0
    217b6ea8cf7b spi: bcm-qspi: return error if neither hif_mspi nor mspi is available
    2e2e5f9300a1 net: dsa: vsc73xx: fix MTU configuration
    b8aedf29db12 ibmvnic: Do not reset dql stats on NON_FATAL err
    6a5a705fa8ad Add MODULE_FIRMWARE() for FIRMWARE_TG357766.
    a6527128feeb net/sched: act_ipt: add sanity checks on table name and hook locations
    1fba2510b52f sctp: fix potential deadlock on &net->sctp.addr_wq_lock
    baa76d9b6163 media: cec: i2c: ch7322: also select REGMAP
    677c5707ec38 drm/i915/psr: Use hw.adjusted mode when calculating io/fast wake times
    2a0acbc6b7cd rtc: st-lpc: Release some resources in st_rtc_probe() in case of error
    7834580ca104 md/raid10: fix the condition to call bio_end_io_acct()
    d623fd42a019 pwm: mtk_disp: Fix the disable flow of disp_pwm
    db3c7f3eb85f pwm: ab8500: Fix error code in probe()
    05b35ea06d26 pwm: sysfs: Do not apply state to already disabled PWMs
    aa12faec2314 pwm: imx-tpm: force 'real_period' to be zero in suspend
    07e229f06eba phy: tegra: xusb: check return value of devm_kzalloc()
    f7454b8fd21f mfd: stmpe: Only disable the regulators if they are enabled
    a9ccf140a2a0 KVM: s390/diag: fix racy access of physical cpu number in diag 9c handler
    2070f3e0bc76 KVM: s390: vsie: fix the length of APCB bitmap
    52f371952a71 mfd: stmfx: Nullify stmfx->vdd in case of error
    b1dbc919c166 mfd: stmfx: Fix error path in stmfx_chip_init
    9783c2ec8d04 nvmem: rmem: Use NVMEM_DEVID_AUTO
    e6bd54f4977b test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation
    22c7e378b06b serial: 8250_omap: Use force_suspend and resume for system suspend
    10f6656c9575 Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial detection"
    76ac2acb7554 mfd: intel-lpss: Add missing check for platform_get_resource
    0e8b1a28351b usb: dwc3-meson-g12a: Fix an error handling path in dwc3_meson_g12a_probe()
    f232c1caac3c usb: common: usb-conn-gpio: Set last role to unknown before initial detection
    dfda400a4d04 usb: dwc3: qcom: Fix an error handling path in dwc3_qcom_probe()
    81ecef54d8c6 usb: dwc3: qcom: Release the correct resources in dwc3_qcom_remove()
    f219ea71ee0f KVM: s390: fix KVM_S390_GET_CMMA_BITS for GFNs in memslot holes
    de846dec7aee media: atomisp: gmin_platform: fix out_len in gmin_get_config_dsm_var()
    7ad558baf6d0 media: venus: helpers: Fix ALIGN() of non power of two
    3bedb7a27353 mfd: rt5033: Drop rt5033-battery sub-device
    a77616f5a3c3 coresight: Fix loss of connection info when a module is unloaded
    ca9e766c8a49 kernfs: fix missing kernfs_idr_lock to remove an ID from the IDR
    e7ecade51b48 serial: 8250: lock port for UART_IER access in omap8250_irq()
    c1a4ad35c566 serial: 8250: lock port for stop_rx() in omap8250_irq()
    c2194a361087 usb: hide unused usbfs_notify_suspend/resume functions
    ecf26d6e1b54 usb: phy: phy-tahvo: fix memory leak in tahvo_usb_probe()
    b10200650e1e extcon: Fix kernel doc of property capability fields to avoid warnings
    44e383e22af0 extcon: Fix kernel doc of property fields to avoid warnings
    a8ea7ed644cb usb: gadget: u_serial: Add null pointer check in gserial_suspend
    b626cd5e4a87 usb: dwc3: qcom: Fix potential memory leak
    1cee6f04105f clk: qcom: ipq6018: fix networking resets
    6ad5ded420f5 clk: qcom: reset: support resetting multiple bits
    40844343a885 clk: qcom: reset: Allow specifying custom reset delay
    cab904bf50c4 media: i2c: Correct format propagation for st-mipid02
    784a8027b8ac media: usb: siano: Fix warning due to null work_func_t function pointer
    1e1af31c4c5d media: videodev2.h: Fix struct v4l2_input tuner index comment
    a3727915b350 media: usb: Check az6007_read() return value
    2a50c146cb3b clk: qcom: gcc-ipq6018: Use floor ops for sdcc clocks
    8d762ad8006e clk: qcom: camcc-sc7180: Add parent dependency to all camera GDSCs
    10e2b1c5d819 serial: 8250: omap: Fix freeing of resources on failed register
    a1a5c5606048 usb: dwc2: Fix some error handling paths
    fa1547b47195 usb: dwc2: platform: Improve error reporting for problems during .remove()
    0a9c0fa3e91a sh: j2: Use ioremap() to translate device tree address into kernel memory
    629e97f0c862 w1: fix loop in w1_fini()
    cb263e9b6d76 w1: w1_therm: fix locking behavior in convert_t
    fbf4ace39b2e SUNRPC: Fix UAF in svc_tcp_listen_data_ready()
    92905470a125 block: increment diskseq on all media change events
    8744a9eda7c1 block: change all __u32 annotations to __be32 in affs_hardblocks.h
    de4d538380f6 block: add overflow checks for Amiga partition support
    bc0129a644f0 block: fix signed int overflow in Amiga partition support
    92a37fc52272 ALSA: jack: Fix mutex call in snd_jack_report()
    2f533bcb0717 ALSA: hda/realtek: Add quirk for Clevo NPx0SNx
    5bcdfe1544f2 iio: accel: fxls8962af: fixup buffer scan element type
    8cc75ce657a4 iio: accel: fxls8962af: errata bug only applicable for FXLS8962AF
    92cee2da5b45 iio: adc: ad7192: Fix internal/external clock selection
    f88a05ef447f iio: adc: ad7192: Fix null ad7192_state pointer access
    b84998a407a8 phy: tegra: xusb: Clear the driver reference in usb-phy dev
    8585c6cb0381 usb: dwc3: gadget: Propagate core init errors to UDC during pullup
    9cd1627ff0f1 USB: serial: option: add LARA-R6 01B PIDs
    fb348857e7b6 io_uring: ensure IOPOLL locks around deferred work
    4909d0ad1728 bootmem: remove the vmemmap pages from kmemleak in free_bootmem_page
    902256de2b95 ACPI: utils: Fix acpi_evaluate_dsm_typed() redefinition error
    b3889a5990b5 ksmbd: avoid field overflow warning
    ef26b05023e7 efi/libstub: Disable PCI DMA before grabbing the EFI memory map
    5c883c42bd78 kbuild: Disable GCOV for *.mod.o
    3d9f6fc71de5 hwrng: st - keep clock enabled while hwrng is registered
    cd5bd4b7130c dax/kmem: Pass valid argument to memory_group_register_static
    2a327c8c315a dax: Introduce alloc_dev_dax_id()
    9c2f993b6ca9 dax: Fix dax_mapping_release() use after free
    63fb45ddc491 SMB3: Do not send lease break acknowledgment if all file handles have been closed
    7f6023610b4e NFSv4.1: freeze the session table upon receiving NFS4ERR_BADSESSION
    6d9f814b265c crypto: qat - unmap buffers before free for RSA
    718f30e30b3e crypto: qat - unmap buffer before free for DH
    3894f5880f96 crypto: qat - Use helper to set reqsize
    30682e121475 crypto: kpp - Add helper to set reqsize
    41bd35a16196 crypto: qat - use reference to structure in dma_map_single()
    a3fcd2d23df9 crypto: qat - replace get_current_node() with numa_node_id()
    9560559cba40 crypto: qat - honor CRYPTO_TFM_REQ_MAY_SLEEP flag
    f6ee18555b40 ARC: define ASM_NL and __ALIGN(_STR) outside #ifdef __ASSEMBLY__ guard
    5e0424cd8a44 modpost: fix off by one in is_executable_section()
    7c0c62e5574f crypto: marvell/cesa - Fix type mismatch warning
    6bfdced5b6be modpost: fix section mismatch message for R_ARM_{PC24,CALL,JUMP24}
    cd7806eec34f modpost: fix section mismatch message for R_ARM_ABS32
    7543ffe03af6 crypto: nx - fix build warnings when DEBUG_FS is not enabled
    b030d239256c modpost: remove broken calculation of exception_table_entry size
    c76d991b6f01 hwrng: virtio - Fix race on data_avail and actual data
    64410e7b0306 hwrng: virtio - always add a pending request
    9a9ef9652941 hwrng: virtio - don't waste entropy
    f5634d21541e hwrng: virtio - don't wait on cleanup
    91806246e4e9 hwrng: virtio - add an internal buffer
    36874844f7b5 powerpc/mm/dax: Fix the condition when checking if altmap vmemap can cross-boundary
    271c25008a08 powerpc/book3s64/mm: Fix DirectMap stats in /proc/meminfo
    fafeeb398df1 riscv: uprobes: Restore thread.bad_cause
    3786416e1fa2 powerpc: update ppc_save_regs to save current r1 in pt_regs
    b08d9a11df37 powerpc: simplify ppc_save_regs
    d3a0d96c16e5 powerpc/powernv/sriov: perform null check on iov before dereferencing iov
    0a95dd17a73b pinctrl: at91-pio4: check return value of devm_kasprintf()
    50aa3e6abbb2 pinctrl: microchip-sgpio: check return value of devm_kasprintf()
    f7d92313002b powerpc/64s: Fix VAS mm use after free
    5e79521da11f perf dwarf-aux: Fix off-by-one in die_get_varname()
    ac6c849428fb perf script: Fix allocation of evsel->priv related to per-event dump files
    939bf462a125 powerpc/signal32: Force inlining of __unsafe_save_user_regs() and save_tm_user_regs_unsafe()
    7d25fc45c42c powerpc/interrupt: Don't read MSR from interrupt_exit_kernel_prepare()
    d4f3531cd2c3 kcsan: Don't expect 64 bits atomic builtins from 32 bits architectures
    196f18dd7f0e pinctrl: cherryview: Return correct value if pin in push-pull mode
    c92365c3f390 perf bench: Add missing setlocale() call to allow usage of %'d style formatting
    e456d9b2dd23 perf bench: Use unbuffered output when pipe/tee'ing to a file
    c02b496d9294 PCI: Add pci_clear_master() stub for non-CONFIG_PCI
    d1bfe6ca7328 PCI: ftpci100: Release the clock resources
    7fe2876aac63 PCI: pciehp: Cancel bringup sequence if card is not present
    dfbf41e4fc16 scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe()
    9856c0de4905 PCI/ASPM: Disable ASPM on MFD function removal to avoid use-after-free
    6053df4da4fc pinctrl: bcm2835: Handle gpiochip_add_pin_range() errors
    b1de5105d29b scsi: qedf: Fix NULL dereference in error handling
    48e6b7602e9b PCI: vmd: Reset VMD config register between soft reboots
    34c701b52d04 PCI: cadence: Fix Gen2 Link Retraining process
    a326cf0107b1 clk: Fix memory leak in devm_clk_notifier_register()
    a0e7e33b8c2d ASoC: imx-audmix: check return value of devm_kasprintf()
    62f29ca45f83 ovl: update of dentry revalidate flags after copy up
    a089ec635ae9 drivers: meson: secure-pwrc: always enable DMA domain
    8ca6b2add2c0 clk: ti: clkctrl: check return value of kasprintf()
    b700e5d4feb0 clk: keystone: sci-clk: check return value of kasprintf()
    06759faca0ef clk: si5341: free unused memory on probe failure
    34b11a9a7d39 clk: si5341: check return value of {devm_}kasprintf()
    4ade98acef5a clk: si5341: return error if one synth clock registration fails
    9875046f147a clk: cdce925: check return value of kasprintf()
    d8832e85a1ae clk: vc5: check memory returned by kasprintf()
    f180408f164c drm/msm/dpu: correct MERGE_3D length
    e45377cfe1db arm64: dts: mediatek: mt8192: Fix CPUs capacity-dmips-mhz
    30111c478b97 arm64: dts: mediatek: Add cpufreq nodes for MT8192
    3c3f3d35f5e0 drm/msm/dp: Free resources after unregistering them
    ec3b55b2c91d drm/msm/dpu: do not enable color-management if DSPPs are not available
    300e26e3e648 ALSA: ac97: Fix possible NULL dereference in snd_ac97_mixer
    fd1c117bb5d7 clk: tegra: tegra124-emc: Fix potential memory leak
    2f276dd9c0f8 clk: clocking-wizard: Fix Oops in clk_wzrd_register_divider()
    141d87977b81 arm64: dts: qcom: sm8250-edo: Panel framebuffer is 2.5k instead of 4k
    bcea444ab4c0 clk: imx: clk-imx8mp: improve error handling in imx8mp_clocks_probe()
    50b5ddde8fad clk: imx: clk-imx8mn: fix memory leak in imx8mn_clocks_probe
    1fb12e7716e7 RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context
    79226176cdd1 RDMA/bnxt_re: wraparound mbox producer index
    bf35c202a3f0 drm/msm/a5xx: really check for A510 in a5xx_gpu_init
    4300a47e4017 amdgpu: validate offset_in_bo of drm_amdgpu_gem_va
    9b8087950b4c drm/radeon: fix possible division-by-zero errors
    b979dc54b6c7 drm/amd/display: Fix artifacting on eDP panels when engaging freesync video mode
    52c2b295e377 drm/amdkfd: Fix potential deallocation of previously deallocated memory.
    95afd2c7c7d2 ARM: dts: BCM5301X: fix duplex-full => full-duplex
    838534e86cbc hwmon: (pmbus/adm1275) Fix problems with temperature monitoring on ADM1272
    31c90fa8416f hwmon: (adm1275) Allow setting sample averaging
    3ff1062bd09b hwmon: (gsc-hwmon) fix fan pwm temperature scaling
    535eafe7158b ARM: dts: stm32: fix i2s endpoint format property for stm32mp15xx-dkx
    8909898d0b6c ARM: dts: stm32: Fix audio routing on STM32MP15xx DHCOM PDK2
    555ddd671cf3 arm64: dts: ti: k3-j7200: Fix physical address of pin
    716efd08985e fbdev: omapfb: lcd_mipid: Fix an error handling path in mipid_spi_probe()
    95cb88a85361 arm64: dts: renesas: ulcb-kf: Remove flow control for SCIF1
    06c6fdaa111a ARM: dts: iwg20d-q7-common: Fix backlight pwm specifier
    8ac3083a26d3 RDMA/hns: Fix hns_roce_table_get return value
    8d158b32cba6 IB/hfi1: Fix wrong mmu_node used for user SDMA packet after invalidate
    b2ffd8212ef4 IB/hfi1: Use bitmap_zalloc() when applicable
    192ab380657e RDMA/irdma: avoid fortify-string warning in irdma_clr_wqes
    f5ca4d358b9a soc/fsl/qe: fix usb.c build errors
    9dcc95e3fc51 ARM: dts: meson8: correct uart_B and uart_C clock references
    1b4d08bdc055 ASoC: es8316: Do not set rate constraints for unsupported MCLKs
    b324de100d3c ASoC: es8316: Increment max value for ALC Capture Target Volume control
    38d04765ad93 memory: brcmstb_dpfe: fix testing array offset after use
    17b723acee4e ARM: dts: stm32: Shorten the AV96 HDMI sound card name
    9c14802f14db arm64: dts: mediatek: mt8183: Add mediatek,broken-save-restore-fw to kukui
    8f08ff836c28 arm64: dts: qcom: apq8096: fix fixed regulator name property
    2e8c8fd792a0 ARM: omap2: fix missing tick_broadcast() prototype
    016aeb9a7604 ARM: ep93xx: fix missing-prototype warnings
    314850a4d0c6 drm/panel: simple: fix active size for Ampire AM-480272H3TMQW-T01H
    04f16697d351 arm64: dts: qcom: apq8016-sbc: Fix 1.8V power rail on LS expansion
    7ce11e909828 arm64: dts: qcom: apq8016-sbc: Fix regulator constraints
    8d139a395dbe arm64: dts: qcom: Drop unneeded extra device-specific includes
    078578f608ba arm64: dts: qcom: apq8016-sbc: fix mpps state names
    25d624af5a86 arm64: dts: qcom: apq8016-sbc: Clarify firmware-names
    d7d784424aa0 arm64: dts: qcom: apq8016-sbc: Update modem and WiFi firmware path
    6a843066e0ec arm64: dts: qcom: db820c: Move blsp1_uart2 pin states to msm8996.dtsi
    23f7e4bf8905 arm64: dts: qcom: sdm845: correct camss unit address
    dea5289b05f2 arm64: dts: qcom: sdm630: correct camss unit address
    b12e9fb2819a arm64: dts: qcom: msm8996: correct camss unit address
    5a8bbab2b14b arm64: dts: qcom: msm8994: correct SPMI unit address
    46474b10dcd7 arm64: dts: qcom: msm8916: correct camss unit address
    b4ed5be2ea31 ARM: dts: gta04: Move model property out of pinctrl node
    70b8eeb7c67e drm/msm/dpu: Set DPU_DATA_HCTL_EN for in INTF_SC7180_MASK
    2422edc2256c drm/msm/disp/dpu: get timing engine status from intf status register
    adac5cf6092e drm/msm/dsi: don't allow enabling 14nm VCO with unprogrammed rate
    6882389691e1 RDMA/bnxt_re: Fix to remove an unnecessary log
    b41dd1d896d1 RDMA/bnxt_re: Remove a redundant check inside bnxt_re_update_gid
    9ccca79eb353 RDMA/bnxt_re: Use unique names while registering interrupts
    ced019c1f9ea RDMA/bnxt_re: Fix to remove unnecessary return labels
    adc129e89497 RDMA/bnxt_re: Disable/kill tasklet only if it is enabled
    f95ff838ac39 clk: imx: scu: use _safe list iterator to avoid a use after free
    f564dd710971 arm64: dts: microchip: sparx5: do not use PSCI on reference boards
    3752e6a98e10 bus: ti-sysc: Fix dispc quirk masking bool variables
    6d07673027f4 ARM: dts: stm32: Move ethernet MAC EEPROM from SoM to carrier boards
    a14e6f9392dc drm/panel: sharp-ls043t1le01: adjust mode settings
    6b5a02a57265 drm: sun4i_tcon: use devm_clk_get_enabled in `sun4i_tcon_init_clocks`
    ec43cfdcbd36 Input: adxl34x - do not hardcode interrupt trigger type
    fd6cdc56ee28 ARM: dts: meson8b: correct uart_B and uart_C clock references
    5899bc4058e8 ARM: dts: BCM5301X: Drop "clock-names" from the SPI node
    ba51c4072f9a drm/vram-helper: fix function names in vram helper doc
    019f013e8b92 drm/bridge: tc358768: fix THS_TRAILCNT computation
    ed8bfa046153 drm/bridge: tc358768: fix TXTAGOCNT computation
    cec2271095d2 drm/bridge: tc358768: fix THS_ZEROCNT computation
    47b8546301a9 drm/bridge: tc358768: fix TCLK_TRAILCNT computation
    a07e6484f915 drm/bridge: tc358768: Add atomic_get_input_bus_fmts() implementation
    34b805ab386c drm/bridge: tc358768: fix TCLK_ZEROCNT computation
    9e0668ecef6e drm/bridge: tc358768: fix PLL target frequency
    81bb5e859f2e drm/bridge: tc358768: fix PLL parameters computation
    6451b3274fb3 drm/bridge: tc358768: always enable HS video mode
    26a0ba5d1654 Input: drv260x - sleep between polling GO bit
    efb61a718540 drm/amd/display: Explicitly specify update type per plane info change
    53e0a5ba9deb radeon: avoid double free in ci_dpm_init()
    6173df9026d0 drm/amd/display: Add logging for display MALL refresh setting
    a4b0164fc18b netlink: Add __sock_i_ino() for __netlink_diag_dump().
    04daf3f67497 ipvlan: Fix return value of ipvlan_queue_xmit()
    eb720f669b6d netfilter: nf_conntrack_sip: fix the ct_sip_parse_numerical_param() return value.
    c052797ac368 netfilter: conntrack: dccp: copy entire header to stack buffer, not just basic one
    5848ad42507d lib/ts_bm: reset initial match offset for every block of text
    fc8429f8d868 net: nfc: Fix use-after-free caused by nfc_llcp_find_local
    60ec0058c72f nfc: llcp: simplify llcp_sock_connect() error paths
    91f4ef204e73 sfc: fix crash when reading stats while NIC is resetting
    9ced40bf849e net: axienet: Move reset before 64-bit DMA detection
    ebd6d2077a08 gtp: Fix use-after-free in __gtp_encap_destroy().
    4f22f55dc80d selftests: rtnetlink: remove netdevsim device after ipsec offload test
    029d892b05fc bonding: do not assume skb mac_header is set
    619384319b13 netlink: do not hard code device address lenth in fdb dumps
    a641240b7e07 netlink: fix potential deadlock in netlink_set_err()
    d4aee9512ae0 net: stmmac: fix double serdes powerdown
    cfe147bdd094 igc: Fix race condition in PTP tx code
    c729f590fe41 can: length: fix bitstuffing count
    4bc47970179a bpf: Fix bpf socket lookup from tc/xdp to respect socket VRF bindings
    a254e029b742 bpf: Call __bpf_sk_lookup()/__bpf_skc_lookup() directly via TC hookpoint
    9eb2651c67b5 bpf: Factor out socket lookup functions for the TC hookpoint.
    a66cce0339a6 bpf: Omit superfluous address family check in __bpf_skc_lookup
    7e3d771f85c3 wifi: ath9k: convert msecs to jiffies where needed
    248fc11128f9 wifi: iwlwifi: mvm: indicate HW decrypt for beacon protection
    365cd15e8fcb wifi: cfg80211: rewrite merging of inherited elements
    3b9de981fe7f wifi: iwlwifi: pcie: fix NULL pointer dereference in iwl_pcie_irq_rx_msix_handler()
    d0f665eee9c3 iwlwifi: don't dump_stack() when we get an unexpected interrupt
    a6db476ff38c wifi: iwlwifi: pull from TXQs with softirqs disabled
    a572c6852b51 rtnetlink: extend RTEXT_FILTER_SKIP_STATS to IFLA_VF_INFO
    48c2d1455a6a wifi: ath9k: Fix possible stall on ath9k_txq_list_has_key()
    8c561a59c6cd memstick r592: make memstick_debug_get_tpc_name() static
    79c0fbf8f359 kexec: fix a memory leak in crash_shrink_memory()
    ed8d827f4313 watchdog/perf: more properly prevent false positives with turbo modes
    c29d8d1f56c3 watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct config
    15b37d2b4a02 wifi: rsi: Do not set MMC_PM_KEEP_POWER in shutdown
    4391fa180856 wifi: rsi: Do not configure WoWlan in shutdown hook if not enabled
    ac4bf9426af9 selftests/bpf: Fix check_mtu using wrong variable type
    95b4b940f0fb wifi: ath9k: don't allow to overwrite ENDPOINT0 attributes
    ef24fe436bab wifi: ray_cs: Fix an error handling path in ray_probe()
    0700d878b0d2 wifi: ray_cs: Drop useless status variable in parse_addr()
    d696cbbe43db wifi: ray_cs: Utilize strnlen() in parse_addr()
    93890d057317 wifi: wl3501_cs: Fix an error handling path in wl3501_probe()
    eaffd568a248 wl3501_cs: use eth_hw_addr_set()
    c6143548e634 wifi: atmel: Fix an error handling path in atmel_probe()
    5a0a312d3490 wifi: orinoco: Fix an error handling path in orinoco_cs_probe()
    f5bb5474f40d wifi: orinoco: Fix an error handling path in spectrum_cs_probe()
    ec856ca3b0ac regulator: core: Streamline debugfs operations
    fc2f8b9054eb regulator: core: Fix more error checking for debugfs_create_dir()
    534508689e89 bpftool: JIT limited misreported as negative value on aarch64
    e7e0b6e066f0 nfc: llcp: fix possible use of uninitialized variable in nfc_llcp_send_connect()
    edeb029dd9ad spi: dw: Round of n_bytes to power of 2
    ac6158b5c4db bpf: Don't EFAULT for {g,s}setsockopt with wrong optlen
    71754ee427d7 libbpf: fix offsetof() and container_of() to work with CO-RE
    3e7ee33b95e0 sctp: add bpf_bypass_getsockopt proto callback
    a32a89bb0459 wifi: mwifiex: Fix the size of a memory allocation in mwifiex_ret_802_11_scan()
    a55f88dd156f wifi: wilc1000: fix for absent RSN capabilities WFA testcase
    e215a8a4283a spi: spi-geni-qcom: Correct CS_TOGGLE bit in SPI_TRANS_CFG
    e92f61e0701e samples/bpf: Fix buffer overflow in tcp_basertt
    c77eb01a6e41 libbpf: btf_dump_type_data_check_overflow needs to consider BTF_MEMBER_BITFIELD_SIZE
    ad5425e70789 wifi: ath9k: avoid referencing uninit memory in ath9k_wmi_ctrl_rx
    06da826e3b7d wifi: ath9k: fix AR9003 mac hardware hang check register offset calculation
    79305655961d igc: Enable and fix RX hash usage by netstack
    38a9d7dac3ad pstore/ram: Add check for kstrdup
    745cec2bd3b3 ima: Fix build warnings
    41da2c318cf1 evm: Fix build warnings
    757b06fb026c evm: Complete description of evm_inode_setattr()
    85872ffac4d8 locking/atomic: arm: fix sync ops
    cf78062aa988 x86/mm: Fix __swp_entry_to_pte() for Xen PV guests
    bd4c759d31ca perf/ibs: Fix interface via core pmu events
    87666a7d3e40 kselftest: vDSO: Fix accumulation of uninitialized ret when CLOCK_REALTIME is undefined
    f766d45ab294 rcu/rcuscale: Stop kfree_scale_thread thread(s) after unloading rcuscale
    bfe210f62518 rcu/rcuscale: Move rcu_scale_*() after kfree_scale_cleanup()
    751cb9511764 rcuscale: Move shutdown from wait_event() to wait_event_idle()
    a6d33ea30575 rcuscale: Always log error message
    e610497ba1ce rcutorture: Correct name of use_softirq module parameter
    c756e8a227c4 thermal/drivers/sun8i: Fix some error handling paths in sun8i_ths_probe()
    e2b32b0c5f0a cpufreq: intel_pstate: Fix energy_performance_preference for passive
    b51194170f9a ARM: 9303/1: kprobes: avoid missing-declaration warnings
    4864c82cb8b5 powercap: RAPL: Fix CONFIG_IOSF_MBI dependency
    2c06e0e0102f perf/arm-cmn: Fix DTC reset
    3c4f5aee3795 PM: domains: fix integer overflow issues in genpd_parse_state()
    289e2054eeb6 clocksource/drivers/cadence-ttc: Fix memory leak in ttc_timer_probe
    5017132f2f92 tracing/timer: Add missing hrtimer modes to decode_hrtimer_mode().
    0670c4c567b2 posix-timers: Prevent RT livelock in itimer_delete()
    f222873711a5 svcrdma: Prevent page release when nothing was received
    6689782746a3 irqchip/jcore-aic: Fix missing allocation of IRQ descriptors
    e6b7362290ba md/raid10: fix io loss while replacement replace rdev
    f4368a462b1f md/raid10: fix null-ptr-deref of mreplace in raid10_sync_request
    3c76920e547d md/raid10: fix wrong setting of max_corr_read_errors
    d3bf54a69bce md/raid10: fix overflow of md/safe_mode_delay
    a134dd582c0d md/raid10: check slab-out-of-bounds in md_bitmap_get_counter
    eb120c0aff5c blk-iocost: use spin_lock_irqsave in adjust_inuse_and_calc_cost
    1bc29ba9598c x86/resctrl: Only show tasks' pid in current pid namespace
    d9c194281bc8 fs: pipe: reveal missing function protoypes
    25aa2ad37c21 netfilter: nf_tables: drop map element references from preparation phase

(From OE-Core rev: b135d73eccf54fc6afa07c2d8f4ba25c234469e2)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 25bd49d03af0e20808c26744e35fe7f416981017)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Dmitry Baryshkov
b13372cec5 linux-firmware: split platform-specific Adreno shaders to separate packages
For newest Qualcomm platforms the firmware for the Adreno GPU consists
of two parts: platform-independent SQE/GMU/GPMU/PFP/PM4 and
platform-specific ZAP shader, which is used during the boot process. As
the platform-independent parts can be shared between different
platforms, split the platform-specific part to the separate package.

(From OE-Core rev: e21f3d57736993c5c4bda67428afca7503a3dece)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bf00a042d2fa2eb4b20d8c5982926758821bf990)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
BELOUARGA Mohamed
918b403c9d linux-firmware : Add firmware of RTL8822 serie
RTL8822 is a serie of wireless modules that need firmwares to function correctly.
The linux firmware recipe does not have a package of these firmwares, and this commit add them.

(From OE-Core rev: 38b468be11bfb15cca68694ed35dc9b2874da11f)

Signed-off-by: BELOUARGA Mohamed <m.belouarga@technologyandstrategy.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6459959beeb91c0b694f5f17b6587a12c6dcb087)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Dmitry Baryshkov
a7be22db10 linux-firmware: package firmare for Dragonboard 410c
Latest linux-firmware archive inclues firmware for the Dragonboard 410c
device (Qualcomm apq8016 SBC). Follow the rest of linux-firmware-qcom-*
packages as a template and create packages for the new firmware files.

(From OE-Core rev: fb66b90c7ea5f315b75624d95d4d5a01ffe09a30)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 380216e8d3b63d563ebfb10445fc6eb5e77eb9f2)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit ffd5eeb866254a958846c7099d1d46e553beed56)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Trevor Gamblin
3113128bb5 linux-firmware: upgrade 20230515 -> 20230625
WHENCE checksum changed because of updated version lists and removal of
information for the RTL8188EU driver.

(From OE-Core rev: dee368268941015384f206656e180de4791a4f10)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 986f8ca9d4c2c22d368f69e65b2ab76d661edca0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Wang Mingyu
2cdcb92701 libnss-nis: upgrade 3.1 -> 3.2
Changelog:
* Do not call malloc_usable_size

(From OE-Core rev: 641cef34fa4f626b6250f5495392c68a29b46dc9)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5cd967503c0574f45b814572da9503182556b431)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Chee Yang Lee
a26e9c042a bind: 9.18.11 -> 9.18.17
upgrade also include fix for CVE-2023-2829.

License-Update: removed trailing whitespace from COPYRIGHT

also remove obsolete configuration option epoll and devpoll:
6b6076c882

(From OE-Core rev: f240a373266bd778f380a0611ccf0183d24f76b6)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Archana Polampalli
d61ed22d6f gstreamer1.0: upgrade 1.20.6 -> 1.20.7
This release only contains bugfixes.

Highlighted bugfixes in 1.20.7:

Security fixes for flacparse, dvdspu, and subparse, and the RealMedia demuxer
h265parse: Fix framerate handling
filesink: Fix buffered mode writing of buffer lists and buffers with multiple memories
asfmux, rtpbin_buffer_list test: fix possible unaligned write/read on 32-bit ARM
ptp clock: Work around bug in ptpd in default configuration
qtdemux: fix reverse playback regression with edit lists
rtspsrc: various control path handling server compatibility improvements
avviddec: fix potential deadlock on seeking with FFmpeg 6.x
cerbero: Fix pango crash on 32bit Windows; move libass into non-GPL codecs
Miscellaneous bug fixes, memory leak fixes, and other stability and reliability improvements

https://nvd.nist.gov/vuln/detail/CVE-2023-37327
https://nvd.nist.gov/vuln/detail/CVE-2023-37328
https://nvd.nist.gov/vuln/detail/CVE-2023-37329

https://gstreamer.freedesktop.org/releases/1.20/#1.20.7

(From OE-Core rev: c6b7492406540aca60dfd8c9913c7ac14fcc750f)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Chee Yang Lee
9a4f730528 librsvg: 2.52.7 -> 2.52.10
upgrade include fix for CVE-2023-38633

(From OE-Core rev: 2ac80e25d85a4dba62813e28525a00f13922fd4b)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Soumya Sambu
a45c130dee glib-2.0: Fix CVE-2023-32643 and CVE-2023-32636
fuzz_variant_binary_byteswap: Heap-buffer-overflow in g_variant_serialised_get_child

fuzz_variant_text: Timeout in fuzz_variant_text

(From OE-Core rev: f6b85f043f826862c6221bd0875b04aef7ab35ba)

Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Soumya Sambu
aae7997aea glib-2.0: Fix CVE-2023-29499 and CVE-2023-32611
GVariant offset table entry size is not checked in is_normal()

g_variant_byteswap() can take a long time with some non-normal inputs

(From OE-Core rev: 5ed552ce97e22b449c1036f6c58944ab26db2f0d)

Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Soumya Sambu
f51146f6ee glib-2.0: Fix CVE-2023-32665
GVariant deserialisation does not match spec for non-normal data

(From OE-Core rev: 2c1476bed55dc16a84b0fe163a4abb13e3ac5734)

Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Michael Opdenacker
3272e64a73 poky.conf: update SANITY_TESTED_DISTROS to match autobuilder
From the intersection of the list of allowed workers
on https://git.yoctoproject.org/yocto-autobuilder2/tree/config.py
and the active workers on
https://autobuilder.yoctoproject.org/typhoon/#/workers

(From meta-yocto rev: d45be9886a9680b88ecf2f1b9717492a0df9158e)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-21 09:45:15 -10:00
Michael Opdenacker
de29a6932e dev-manual: wic.rst: Update native tools build command
Requirements list seems to be outdated. It is not possible to follow
instructions for Raw Mode as not all of the native tools are available.
All wic dependencies are gathered under wic-tools package. Some commands
in the instruction already use wic-tools native sysroot, but this
dependency is not specified in the requirements.
Update the command for building native tools to use wic-tools instead
of the seperate packages.

(From yocto-docs rev: 7c03bcb3031c89b5183e5b4f3f0703bc91a014e2)

Signed-off-by: Daniel Semkowicz <dse@thaumatec.com>
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:59 -10:00
Alexander Kanavin
54e3374480 libxcrypt: update PV to match SRCREV
When SRCREV was updated, only libxcrypt-compat was renamed to match,
but not libxcrypt proper.

(From OE-Core rev: f20a06149cb61264662d1eaf6ea02aefabc0a18b)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 98c89359532778a894f50ddea1cc6ab922d6e562)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:59 -10:00
Alberto Planas
bbd85cd9f4 rpm2cpio.sh: update to the last 4.x version
openSUSE RPMs are compressing the RPM payload using zstd, that
correspond to the magic ID 0x28, 0xb5, 0x2f.

This patch update the script to the last version from the rpm project,
and add support to this compression format, and extract the cpio payload
using the "unzstd" binary.

(From OE-Core rev: 9c0d66e693aa7ab8b3f2a3c68764e4ab6159c085)

Signed-off-by: Alberto Planas <aplanas@suse.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3aba44a75dd565b192f7328f2a0150a313de3cc1)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:59 -10:00
Pavel Zhukov
28fa51bcf0 scripts/rpm2cpio.sh: Use bzip2 instead of bunzip2
bzip2 is in HOSTTOOLS already and used in few other places already.
This fixes bin_package class for RPM packages without adding bunzip2 to
HOSTTOOLS.

(From OE-Core rev: ed4e4290a73b3fa0df9530a511f992e236e8ae9f)

Signed-off-by: Pavel Zhukov <pavel@zhukoff.net>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
(cherry picked from commit eb3ec7469fff857c819332371ad1d586f43c79c3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:59 -10:00
Martin Jansa
d21b4675d6 npm.bbclass: avoid DeprecationWarning with new python
meta/classes-recipe/npm.bbclass:85: DeprecationWarning: invalid escape sequence '\.'
  '--transform', 's,^\./,package/,',

(From OE-Core rev: a7078ff976ba720f25e94ddeddd3f82900b483be)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:59 -10:00
Marek Vasut
4dbd4e990e linux-firmware: Fix mediatek mt7601u firmware path
The following linux-firmware commit moved the mt7601u firmware blob
into a mediatek/ subdirectory, update the path accordingly.
8451c2b1 ("mt76xx: Move the old Mediatek WiFi firmware to mediatek")

(From OE-Core rev: 6fa5c4967a7e70192e9233c92534f27ec3e394c8)

Fixes: 64603f602d ("linux-firmware: upgrade 20230404 -> 20230515")
(From OE-Core rev: 8f041ef841e03996768fb7e0a96a4a4d066eb796)

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:59 -10:00
Bruce Ashfield
76ad0319b0 linux-yocto/5.10: update to v5.10.188
Updating  to the latest korg -stable release that comprises
the following commits:

    3602dbc57b55 Linux 5.10.188
    edce5fba78cc ftrace: Fix possible warning on checking all pages used in ftrace_process_locs()
    115b19f89353 ftrace: Store the order of pages allocated in ftrace_page
    1a1e793e021d tracing: Fix memory leak of iter->temp when reading trace_pipe
    43e786aa51b8 tracing/histograms: Return an error if we fail to add histogram to hist_vars list
    e3da59f42820 net: phy: prevent stale pointer dereference in phy_init()
    e0ac63e194f4 tcp: annotate data-races around fastopenq.max_qlen
    d01afbfc2f7d tcp: annotate data-races around icsk->icsk_user_timeout
    3cf0a0f11d39 tcp: annotate data-races around tp->notsent_lowat
    9c786d5faf3a tcp: annotate data-races around rskq_defer_accept
    f891375eba6e tcp: annotate data-races around tp->linger2
    9168bd8f54c5 tcp: annotate data-races around icsk->icsk_syn_retries
    7b0084918c5f tcp: Fix data-races around sysctl_tcp_syn(ack)?_retries.
    cf6c06ac7487 net: Introduce net.ipv4.tcp_migrate_req.
    a5c30a518764 tcp: annotate data-races around tp->keepalive_probes
    93715448f116 tcp: annotate data-races around tp->keepalive_intvl
    7b52a78a91fd tcp: annotate data-races around tp->keepalive_time
    1d4f2c4be136 tcp: annotate data-races around tp->tcp_tx_delay
    30e5460d69e6 netfilter: nf_tables: skip bound chain on rule flush
    94c10c0fa51b netfilter: nf_tables: skip bound chain in netns release path
    3a91099ecd59 netfilter: nft_set_pipapo: fix improper element removal
    9c2df17e3cfc netfilter: nf_tables: can't schedule in nft_chain_validate
    533193a23914 netfilter: nf_tables: fix spurious set element insertion failure
    a6f1988780a7 llc: Don't drop packet from non-root netns.
    49e435ca02c7 fbdev: au1200fb: Fix missing IRQ check in au1200fb_drv_probe
    bc9d4d432f78 Revert "tcp: avoid the lookup process failing to get sk in ehash table"
    d06fc7b39199 net:ipv6: check return value of pskb_trim()
    1a478ad1297a net: ipv4: Use kfree_sensitive instead of kfree
    937105d2b0bf tcp: annotate data-races around tcp_rsk(req)->ts_recent
    41b00238699a octeontx2-pf: Dont allocate BPIDs for LBK interfaces
    5bc78ba88905 security: keys: Modify mismatched function name
    b92defe4e8ee iavf: Fix out-of-bounds when setting channels on remove
    a4635f190f33 iavf: Fix use-after-free in free_netdev
    b37bc3b07eab bridge: Add extack warning when enabling STP in netns.
    f6d311b95394 net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field()/cpsw_ale_set_field()
    54aa4c03861e pinctrl: amd: Use amd_pinconf_set() for all config options
    7041605e8594 fbdev: imxfb: warn about invalid left/right margin
    6e88cc510f27 spi: bcm63xx: fix max prepend length
    994c2ceb70ea igb: Fix igb_down hung on surprise removal
    a956c3af70fa wifi: iwlwifi: mvm: avoid baid size integer overflow
    85cf0d5f45cb wifi: wext-core: Fix -Wstringop-overflow warning in ioctl_standard_iw_point()
    2864cc9a1fd1 devlink: report devlink_port_type_warn source device
    b6d9a4062c94 bpf: Address KCSAN report on bpf_lru_list
    532f8bac6041 wifi: ath11k: fix registration of 6Ghz-only phy without the full channel range
    6b0c79aa3307 sched/fair: Don't balance task to its current running CPU
    32020fc2a837 arm64: mm: fix VA-range sanity check
    c71d6934c6ac arm64: set __exception_irq_entry with __irq_entry as a default
    71e3f2354072 ACPI: video: Add backlight=native DMI quirk for Lenovo ThinkPad X131e (3371 AMD version)
    776a72f612a8 ACPI: video: Add backlight=native DMI quirk for Apple iMac11,3
    e090f70ae4cc ACPI: button: Add lid disable DMI quirk for Nextbook Ares 8A
    ae51eb90bcca btrfs: add xxhash to fast checksum implementations
    322377cc909d posix-timers: Ensure timer ID search-loop limit is valid
    634daf6b2c81 md/raid10: prevent soft lockup while flush writes
    b02939413e5c md: fix data corruption for raid456 when reshape restart while grow up
    4a2c62c8d67c nbd: Add the maximum limit of allocated index in nbd_dev_add
    5f84a34b646f debugobjects: Recheck debug_objects_enabled before reporting
    5d5aa5b64887 ext4: correct inline offset when handling xattrs in inode body
    48aa53937584 ASoC: fsl_sai: Disable bit clock with transmitter
    5f2a12f64347 drm/client: Fix memory leak in drm_client_modeset_probe
    105275879a80 drm/client: Fix memory leak in drm_client_target_cloned
    cf254b4f68e4 can: bcm: Fix UAF in bcm_proc_show()
    3e412b6e2b57 regmap: Account for register length in SMBus I/O limits
    8b3dd8d23fa0 regmap: Drop initial version of maximum transfer length fixes
    4935761daa33 selftests: tc: add 'ct' action kconfig dep
    1ab5aa1846a5 selftests: tc: set timeout to 15 minutes
    dad97c205af2 fuse: revalidate: don't invalidate if interrupted
    d2c667cc1831 btrfs: fix warning when putting transaction with qgroups enabled after abort
    4410f4a938ae perf probe: Add test for regression introduced by switch to die_get_decl_file()
    0a6b0ca58685 keys: Fix linking a duplicate key to a keyring's assoc_array
    a26208e184ae ALSA: hda/realtek: Enable Mute LED on HP Laptop 15s-eq2xxx
    ce2a7e7b504c ALSA: hda/realtek - remove 3k pull low procedure
    f09c0ac142c5 drm/atomic: Fix potential use-after-free in nonblocking commits
    9a085fa9b7d6 RDMA/cma: Ensure rdma_addr_cancel() happens before issuing more requests
    73e72a5380a2 net/sched: sch_qfq: reintroduce lmax bound check for MTU
    0b1ce92fabdb scsi: qla2xxx: Remove unused nvme_ls_waitq wait queue
    5addd62586a9 scsi: qla2xxx: Pointer may be dereferenced
    e8de73238d5d scsi: qla2xxx: Correct the index of array
    921d68446255 scsi: qla2xxx: Check valid rport returned by fc_bsg_to_rport()
    2bea9c1c9831 scsi: qla2xxx: Fix potential NULL pointer dereference
    eecb8a491c82 scsi: qla2xxx: Fix buffer overrun
    bcd773969a87 scsi: qla2xxx: Array index may go out of bound
    a9fe97fb7b4e scsi: qla2xxx: Wait for io return on terminate rport
    6ea2a408d3e3 tracing/probes: Fix not to count error code to total length
    7060e5aac6dc tracing: Fix null pointer dereference in tracing_err_log_open()
    81fb8a58d4ec xtensa: ISS: fix call to split_if_spec
    5e68f1f3a20f ring-buffer: Fix deadloop issue on reading trace_pipe
    1e760b2d18bf net: ena: fix shift-out-of-bounds in exponential backoff
    1f2a8f083575 samples: ftrace: Save required argument registers in sample trampolines
    1576f0df7b4d tracing/histograms: Add histograms to hist_vars if they have referenced variables
    07edd294b16a s390/decompressor: fix misaligned symbol build error
    5f4a1111ad04 Revert "8250: add support for ASIX devices with a FIFO bug"
    7f2f0e6ec561 meson saradc: fix clock divider mask length
    790e4e82c57d xhci: Show ZHAOXIN xHCI root hub speed correctly
    c52e04c58ded xhci: Fix TRB prefetch issue of ZHAOXIN hosts
    b56a07c2a550 xhci: Fix resume issue of some ZHAOXIN hosts
    8e807eadf0b9 ceph: don't let check_caps skip sending responses for revoke msgs
    c04ed61ebf01 firmware: stratix10-svc: Fix a potential resource leak in svc_create_memory_pool()
    1962717c4649 tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() when iterating clk
    a49e5a05121c tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() in case of error
    08673739ed85 serial: atmel: don't enable IRQs prematurely
    4016d36fec63 drm/amd/display: Correct `DMUB_FW_VERSION` macro
    d89bd2ecd39b drm/rockchip: vop: Leave vblank enabled in self-refresh
    b9ec9372a47a drm/atomic: Allow vblank-enabled + self-refresh "disable"
    23d5004ee7aa fs: dlm: return positive pid value for F_GETLK
    5e9aff5b10c2 md/raid0: add discard support for the 'original' layout
    8e3c7776405a misc: pci_endpoint_test: Re-init completion for every test
    cdf9a7e2cdc7 misc: pci_endpoint_test: Free IRQs before removing the device
    8c90c466e38e PCI: rockchip: Set address alignment for endpoint mode
    f1986416cfb4 PCI: rockchip: Use u32 variable to access 32-bit registers
    36eb13031227 PCI: rockchip: Fix legacy IRQ generation for RK3399 PCIe endpoint core
    c417a4c7de1d PCI: rockchip: Add poll and timeout to wait for PHY PLLs to be locked
    ddda61419af3 PCI: rockchip: Write PCI Device ID to correct register
    bec3e0f7f272 PCI: rockchip: Assert PCI Configuration Enable bit after probe
    48e11e7c81b9 PCI: qcom: Disable write access to read only registers for IP v2.3.3
    aca71b004a66 PCI: Add function 1 DMA alias quirk for Marvell 88SE9235
    d3bab5de91c6 PCI/PM: Avoid putting EloPOS E2/S2/H2 PCIe Ports in D3cold
    5a89a5cc817e hwrng: imx-rngc - fix the timeout for init and self check
    47b7eaae08e8 jfs: jfs_dmap: Validate db_l2nbperpage while mounting
    84293af5455b ext4: only update i_reserved_data_blocks on successful block allocation
    0a5d12e7107e ext4: fix wrong unit use in ext4_mb_new_blocks
    514220246aa8 ext4: get block from bh in ext4_free_blocks for fast commit replay
    d054422eb609 ext4: fix wrong unit use in ext4_mb_clear_bb
    be99faf0c4db ext4: Fix reusing stale buffer heads from last failed mounting
    8fbe951d6546 MIPS: Loongson: Fix cpu_probe_loongson() again
    8c723eef989b erofs: fix compact 4B support for 16k block size
    3bd4d316b1a8 misc: fastrpc: Create fastrpc scalar with correct buffer count
    3d1d037f2749 powerpc: Fail build if using recordmcount with binutils v2.37
    fe1ae1fb507a net: bcmgenet: Ensure MDIO unregistration has clocks enabled
    21d5d3eb36bf mtd: rawnand: meson: fix unaligned DMA buffers handling
    9ff7fcb3a2ed tpm: tpm_vtpm_proxy: fix a race condition in /dev/vtpmx creation
    59490249c2c0 pinctrl: amd: Only use special debounce behavior for GPIO 0
    4f77a87ce919 pinctrl: amd: Detect internal GPIO0 debounce handling
    3674b9c056ad pinctrl: amd: Fix mistake in handling clearing pins at startup
    b39ef5b52f10 f2fs: fix to avoid NULL pointer dereference f2fs_write_end_io()
    f4ff37981235 nvme-pci: fix DMA direction of unmapping integrity data
    8359ee85fd6d net/sched: sch_qfq: account for stab overhead in qfq_enqueue
    5bef780e06d2 net/sched: sch_qfq: refactor parsing of netlink parameters
    1d7ae38daac7 net/sched: make psched_mtu() RTNL-less safe
    d5ca61b7642b netdevsim: fix uninitialized data in nsim_dev_trap_fa_cookie_write()
    9b69cdb6e534 net/sched: flower: Ensure both minimum and maximum ports are specified
    934c85b8ecd1 wifi: airo: avoid uninitialized warning in airo_get_rate()
    4511499138ae erofs: avoid infinite loop in z_erofs_do_read_page() when reading beyond EOF
    bbc500ff3f2c riscv, bpf: Fix inconsistent JIT image generation
    a976adc3bca4 bpf, riscv: Support riscv jit to provide bpf_line_info
    eb3d1d84f3d6 riscv: bpf: Avoid breaking W^X
    7c616437981f riscv: bpf: Move bpf_jit_alloc_exec() and bpf_jit_free_exec() to core
    83579a626169 igc: Fix inserting of empty frame for launchtime
    c48e8ee81ad3 igc: Fix launchtime before start of cycle
    cdf5b9af92da platform/x86: wmi: Break possible infinite loop when parsing GUID
    7157ee0de522 platform/x86: wmi: move variables
    4bb2bb69bd9a platform/x86: wmi: use guid_t and guid_equal()
    88dfb592d2c1 platform/x86: wmi: remove unnecessary argument
    2ad31ce40e81 ipv6/addrconf: fix a potential refcount underflow for idev
    8271145523a5 NTB: ntb_tool: Add check for devm_kcalloc
    41c6d8ff71cd NTB: ntb_transport: fix possible memory leak while device_register() fails
    03cfa0653406 ntb: intel: Fix error handling in intel_ntb_pci_driver_init()
    23e09f0a868f NTB: amd: Fix error handling in amd_ntb_pci_driver_init()
    0bb2683b0cde ntb: idt: Fix error handling in idt_pci_driver_init()
    3e8fed805cf3 udp6: fix udp6_ehashfn() typo
    d30ddd7ff15d icmp6: Fix null-ptr-deref of ip6_null_entry->rt6i_idev in icmp6_dev().
    bc3ab5d2ab69 net: prevent skb corruption on frag list segmentation
    cddd04f34124 net: bgmac: postpone turning IRQs off to avoid SoC hangs
    f8cc4fd99a32 ionic: remove WARN_ON to prevent panic_on_warn
    9085429821b4 gve: Set default duplex configuration to full
    80e0e8d5f543 net/sched: cls_fw: Fix improper refcount update leads to use-after-free
    d341f246123e net: mvneta: fix txq_map in case of txq_number==1
    c175603d84d3 scsi: qla2xxx: Fix error code in qla2x00_start_sp()
    b687b7836157 igc: set TP bit in 'supported' and 'advertising' fields of ethtool_link_ksettings
    30c281a77fb1 net/mlx5e: Check for NOT_READY flag state after locking
    de6e6b07974c net/mlx5e: fix double free in mlx5e_destroy_flow_table
    3d4bba694aed igc: Remove delay during TX ring configuration
    2a587b71c532 drm/panel: simple: Add Powertip PH800480T013 drm_display_mode flags
    547ab8ea86c1 drm/panel: simple: Add connector_type for innolux_at043tn24
    13c353dc5c2e workqueue: clean up WORK_* constant types, clarify masking
    fc359e5b45da net: lan743x: Don't sleep in atomic context
    dc4a25fa7565 io_uring: add reschedule point to handle_tw_list()
    297883bbcab1 io_uring: Use io_schedule* in cqring wait
    bb2f7e4bfe81 block/partition: fix signedness issue for Amiga partitions
    4f91de9a81bd rcu-tasks: Simplify trc_read_check_handler() atomic operations
    3a64cd01cdd6 rcu-tasks: Mark ->trc_reader_special.b.need_qs data races
    058f077d09ba rcu-tasks: Mark ->trc_reader_nesting data races
    83be9fd7843c tty: serial: fsl_lpuart: add earlycon for imx8ulp platform
    999f3b6104ed wireguard: netlink: send staged packets when setting initial private key
    1b7107040596 wireguard: queueing: use saner cpu selection wrapping
    ea213922249c netfilter: nf_tables: prevent OOB access in nft_byteorder_eval
    4ae2e501331a netfilter: nf_tables: do not ignore genmask when looking up chain by id
    8289d422f5e4 netfilter: conntrack: Avoid nf_ct_helper_hash uses after free
    be6478f5cce6 netfilter: nf_tables: fix scheduling-while-atomic splat
    a07e415be383 netfilter: nf_tables: unbind non-anonymous set if rule construction fails
    a136b7942ad2 netfilter: nf_tables: drop map element references from preparation phase
    21cf0d66ef88 netfilter: nftables: rename set element data activation/deactivation functions
    237f37f7b9f0 netfilter: nf_tables: reject unbound chain set before commit phase
    0205dd16edeb netfilter: nf_tables: reject unbound anonymous set before commit phase
    34d09fe49f59 netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with bound set/chain
    d53c295c1f43 netfilter: nf_tables: fix chain binding transaction logic
    8180fc2fadd4 netfilter: nf_tables: incorrect error path handling with NFT_MSG_NEWRULE
    e546e6ebb19d netfilter: nf_tables: add rescheduling points during loop detection walks
    3f51f1157f67 netfilter: nf_tables: use net_generic infra for transaction data
    01248dd65155 sh: pgtable-3level: Fix cast to pointer from integer of different size
    87410743b548 block: add overflow checks for Amiga partition support
    f0aec6c403a0 selftests/bpf: Add verifier test for PTR_TO_MEM spill
    88bffb61bc03 tpm, tpm_tis: Claim locality in interrupt handler
    5bf73af8b382 fanotify: disallow mount/sb marks on kernel internal pseudo fs
    5cb46b80ecda fs: no need to check source
    66a0647cdc56 leds: trigger: netdev: Recheck NETDEV_LED_MODE_LINKUP on dev rename
    5d6fbb624576 ARM: orion5x: fix d2net gpio initialization
    9b0f7940e212 ASoC: mediatek: mt8173: Fix snd_soc_component_initialize error path
    1dac8584be0c ASoC: mediatek: mt8173: Fix irq error path
    6819bb0b8552 btrfs: fix race when deleting quota root from the dirty cow roots list
    a3fbd156bd2c btrfs: add handling for RAID1C23/DUP to btrfs_reduce_alloc_profile
    59efb8671105 fs: Lock moved directories
    c5b5e72df13d fs: Establish locking order for unrelated directories
    4b03f503b730 Revert "f2fs: fix potential corruption when moving a directory"
    2b563acd2dfa ext4: Remove ext4 locking of moved directory
    5e7d18a52c88 fs: avoid empty option when generating legacy mount string
    988a5d791156 jffs2: reduce stack usage in jffs2_build_xattr_subsystem()
    5fada3751137 shmem: use ramfs_kill_sb() for kill_sb method of ramfs-based tmpfs
    79bef379d55a autofs: use flexible array in ioctl structure
    8bf91a8d4871 integrity: Fix possible multiple allocation in integrity_inode_get()
    9658a03f80b2 um: Use HOST_DIR for mrproper
    a4405f6ee033 bcache: Fix __bch_btree_node_alloc to make the failure behavior consistent
    db9439cef0b5 bcache: Remove unnecessary NULL point check in node allocations
    bcb295778afd bcache: fixup btree_cache_wait list damage
    dc3287206a32 mmc: sdhci: fix DMA configure compatibility issue when 64bit DMA mode is used.
    191628e2d96a mmc: mmci: Set PROBE_PREFER_ASYNCHRONOUS
    02c8c2b5f680 mmc: core: disable TRIM on Micron MTFC4GACAJCN-1M
    6f9708e5c110 mmc: core: disable TRIM on Kingston EMMC04G-M627
    28e649dc9947 io_uring: wait interruptibly for request completions on exit
    8482ac2e5a26 NFSD: add encoding of op_recall flag for write delegation
    8d36cb6d1aed i2c: qup: Add missing unwind goto in qup_i2c_probe()
    e41a8e461561 ALSA: jack: Fix mutex call in snd_jack_report()
    e71714ad24d8 i2c: xiic: Don't try to handle more interrupt events after error
    b6eefa7a27a6 i2c: xiic: Defer xiic_wakeup() and __xiic_start_xfer() in xiic_process()
    023bd9dc410c apparmor: fix missing error check for rhashtable_insert_fast
    d1c946552af2 sh: dma: Fix DMA channel offset calculation
    37750131d2a5 s390/qeth: Fix vipa deletion
    9f5548e4214d net: dsa: tag_sja1105: fix MAC DA patching from meta frames
    2758fb81bbc9 pptp: Fix fib lookup calls.
    0b08ff091f31 net/sched: act_pedit: Add size check for TCA_PEDIT_PARMS_EX
    2434a6715f59 xsk: Honor SO_BINDTODEVICE on bind
    b785ba0acc82 tcp: annotate data races in __tcp_oow_rate_limited()
    73f512bedfd4 net: bridge: keep ports without IFF_UNICAST_FLT in BR_PROMISC mode
    9a9d468fdcca powerpc: allow PPC_EARLY_DEBUG_CPM only when SERIAL_CPM=y
    f970b05c9b76 octeontx2-af: Fix mapping for NIX block from CGX connection
    5ded9e8aa53e f2fs: fix error path handling in truncate_dnode()
    358145cc3797 mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0
    32b9c8f7892c spi: bcm-qspi: return error if neither hif_mspi nor mspi is available
    1f3643f9cfca net: dsa: vsc73xx: fix MTU configuration
    c377451012ce Add MODULE_FIRMWARE() for FIRMWARE_TG357766.
    6d2243ab783b sctp: fix potential deadlock on &net->sctp.addr_wq_lock
    620993d5ee5b media: cec: i2c: ch7322: also select REGMAP
    f733a7bfe8f8 rtc: st-lpc: Release some resources in st_rtc_probe() in case of error
    aa70e5dd7268 pwm: sysfs: Do not apply state to already disabled PWMs
    8a0413be8a1e pwm: imx-tpm: force 'real_period' to be zero in suspend
    e4845cdea71e phy: tegra: xusb: check return value of devm_kzalloc()
    442e1a98bd02 mfd: stmpe: Only disable the regulators if they are enabled
    724448d6021d KVM: s390: vsie: fix the length of APCB bitmap
    c5e2f6f2bb66 mfd: stmfx: Nullify stmfx->vdd in case of error
    30ead8b9bf0d mfd: stmfx: Fix error path in stmfx_chip_init
    4d2405147385 test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation
    5b31ac1d6d88 serial: 8250_omap: Use force_suspend and resume for system suspend
    8e00ae25a371 Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial detection"
    a81e1f22e17f mfd: intel-lpss: Add missing check for platform_get_resource
    1dc07edc01d2 usb: dwc3-meson-g12a: Fix an error handling path in dwc3_meson_g12a_probe()
    7ade555ac58d usb: common: usb-conn-gpio: Set last role to unknown before initial detection
    0e9e127835c8 usb: dwc3: qcom: Fix an error handling path in dwc3_qcom_probe()
    a6171452085b usb: dwc3: qcom: Release the correct resources in dwc3_qcom_remove()
    96898fb476d1 KVM: s390: fix KVM_S390_GET_CMMA_BITS for GFNs in memslot holes
    4e8e838fce5e media: atomisp: gmin_platform: fix out_len in gmin_get_config_dsm_var()
    b754ea60e690 media: venus: helpers: Fix ALIGN() of non power of two
    02b22660231d mfd: rt5033: Drop rt5033-battery sub-device
    e52019c09535 coresight: Fix loss of connection info when a module is unloaded
    018eddcb6bef kernfs: fix missing kernfs_idr_lock to remove an ID from the IDR
    a59f64a83516 serial: 8250: lock port for UART_IER access in omap8250_irq()
    8d65d0a2bfd5 serial: 8250: lock port for stop_rx() in omap8250_irq()
    d66ddb61fa23 usb: hide unused usbfs_notify_suspend/resume functions
    56901de56335 usb: phy: phy-tahvo: fix memory leak in tahvo_usb_probe()
    6538e5d9f7eb extcon: Fix kernel doc of property capability fields to avoid warnings
    dac7d7efcb54 extcon: Fix kernel doc of property fields to avoid warnings
    2788a3553f74 usb: gadget: u_serial: Add null pointer check in gserial_suspend
    74f8606ddfa4 usb: dwc3: qcom: Fix potential memory leak
    bdce16c1e650 clk: qcom: ipq6018: fix networking resets
    ee3f494cfc3e clk: qcom: reset: support resetting multiple bits
    35fd1a213fa4 clk: qcom: reset: Allow specifying custom reset delay
    d87ef4e857b7 media: usb: siano: Fix warning due to null work_func_t function pointer
    300388887cbb media: videodev2.h: Fix struct v4l2_input tuner index comment
    5f3f4aa673a0 media: usb: Check az6007_read() return value
    32809afb6063 clk: qcom: gcc-ipq6018: Use floor ops for sdcc clocks
    bb81ca33ace3 serial: 8250: omap: Fix freeing of resources on failed register
    ed68e8e22ee1 sh: j2: Use ioremap() to translate device tree address into kernel memory
    a7890637b3b9 w1: fix loop in w1_fini()
    a27aeae714cd w1: w1_therm: fix locking behavior in convert_t
    cd5ec3ee52ce SUNRPC: Fix UAF in svc_tcp_listen_data_ready()
    e4a9b3333e67 block: change all __u32 annotations to __be32 in affs_hardblocks.h
    54da6c4c143f block: fix signed int overflow in Amiga partition support
    b6a107c52073 phy: tegra: xusb: Clear the driver reference in usb-phy dev
    fac7be49f1e6 usb: dwc3: gadget: Propagate core init errors to UDC during pullup
    8b0a55b59244 USB: serial: option: add LARA-R6 01B PIDs
    810e401b34c4 io_uring: ensure IOPOLL locks around deferred work
    cd5837564ff5 hwrng: st - keep clock enabled while hwrng is registered
    557e528255d5 dax: Introduce alloc_dev_dax_id()
    94a85474f5e3 dax: Fix dax_mapping_release() use after free
    7c9f5a14d93b NFSv4.1: freeze the session table upon receiving NFS4ERR_BADSESSION
    bab0bf567797 ARC: define ASM_NL and __ALIGN(_STR) outside #ifdef __ASSEMBLY__ guard
    cb0cdca5c979 modpost: fix off by one in is_executable_section()
    f0350516b9d2 crypto: marvell/cesa - Fix type mismatch warning
    b54069445591 modpost: fix section mismatch message for R_ARM_{PC24,CALL,JUMP24}
    88978ef7fdef modpost: fix section mismatch message for R_ARM_ABS32
    31195ee328e9 crypto: nx - fix build warnings when DEBUG_FS is not enabled
    77471e4912d3 hwrng: virtio - Fix race on data_avail and actual data
    e8f51401d642 hwrng: virtio - always add a pending request
    ffc5ce9c272f hwrng: virtio - don't waste entropy
    d13ea82bfe15 hwrng: virtio - don't wait on cleanup
    5f23dae018c6 hwrng: virtio - add an internal buffer
    aba192bb31df powerpc/mm/dax: Fix the condition when checking if altmap vmemap can cross-boundary
    7afd0de0cc14 powerpc/book3s64/mm: Fix DirectMap stats in /proc/meminfo
    7289ca7a5170 mm: rename p4d_page_vaddr to p4d_pgtable and make it return pud_t *
    bfad11018806 mm: rename pud_page_vaddr to pud_pgtable and make it return pmd_t *
    07c19c0ad4b0 powerpc/powernv/sriov: perform null check on iov before dereferencing iov
    f3c7b95c9991 pinctrl: at91-pio4: check return value of devm_kasprintf()
    b7a38fc3f384 perf dwarf-aux: Fix off-by-one in die_get_varname()
    75a3cb1e2317 perf script: Fix allocation of evsel->priv related to per-event dump files
    647c6d35ccfe perf script: Fixup 'struct evsel_script' method prefix
    958acb479ef2 kcsan: Don't expect 64 bits atomic builtins from 32 bits architectures
    5533f0eb0a29 pinctrl: cherryview: Return correct value if pin in push-pull mode
    4b63caf86eda perf bench: Add missing setlocale() call to allow usage of %'d style formatting
    345ee8521655 perf bench: Use unbuffered output when pipe/tee'ing to a file
    f0d2310f6b46 PCI: Add pci_clear_master() stub for non-CONFIG_PCI
    b65fe59b2d62 PCI: ftpci100: Release the clock resources
    cb389e8edf64 PCI: pciehp: Cancel bringup sequence if card is not present
    b9895a4c95f3 scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe()
    7badf4d6f49a PCI/ASPM: Disable ASPM on MFD function removal to avoid use-after-free
    d27238fc83b9 pinctrl: bcm2835: Handle gpiochip_add_pin_range() errors
    ac64019e4d4b scsi: qedf: Fix NULL dereference in error handling
    8e9907e9219f PCI: cadence: Fix Gen2 Link Retraining process
    07be8e60f27f ASoC: imx-audmix: check return value of devm_kasprintf()
    714ba10a6dd1 ovl: update of dentry revalidate flags after copy up
    47f4d875aa54 drivers: meson: secure-pwrc: always enable DMA domain
    5f149d053898 clk: ti: clkctrl: check return value of kasprintf()
    fd9324fa4d81 clk: keystone: sci-clk: check return value of kasprintf()
    0b754f9cfd66 clk: si5341: free unused memory on probe failure
    dc8d0178d506 clk: si5341: check return value of {devm_}kasprintf()
    dc3eef648055 clk: si5341: return error if one synth clock registration fails
    040113980081 clk: si5341: Add sysfs properties to allow checking/resetting device faults
    fc813d05739e clk: si5341: Allow different output VDD_SEL values
    f64fcd3acf1f clk: cdce925: check return value of kasprintf()
    866d4340c6c9 clk: vc5: check memory returned by kasprintf()
    c67a55f7cc8d drm/msm/dp: Free resources after unregistering them
    c3b63584d8c2 drm/msm/dpu: do not enable color-management if DSPPs are not available
    f923a582217b ALSA: ac97: Fix possible NULL dereference in snd_ac97_mixer
    404e9f741acf clk: tegra: tegra124-emc: Fix potential memory leak
    cb047c13bbf9 clk: imx: clk-imx8mp: improve error handling in imx8mp_clocks_probe()
    294321349bd3 clk: imx: clk-imx8mn: fix memory leak in imx8mn_clocks_probe
    e749bc5a9054 RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context
    9341501e2f7a RDMA/bnxt_re: wraparound mbox producer index
    968e27fd037e amdgpu: validate offset_in_bo of drm_amdgpu_gem_va
    e070120e6d68 drm/radeon: fix possible division-by-zero errors
    a77b80825bf1 drm/amdkfd: Fix potential deallocation of previously deallocated memory.
    245aa7c0233e ARM: dts: BCM5301X: fix duplex-full => full-duplex
    7e2edb84fe7c hwmon: (pmbus/adm1275) Fix problems with temperature monitoring on ADM1272
    580e9b987b89 hwmon: (adm1275) Allow setting sample averaging
    a3c5d148b78b hwmon: (adm1275) enable adm1272 temperature reporting
    4610efa404be hwmon: (gsc-hwmon) fix fan pwm temperature scaling
    6e12311dcedd ARM: dts: stm32: fix i2s endpoint format property for stm32mp15xx-dkx
    badeb7fe2450 ARM: dts: stm32: Fix audio routing on STM32MP15xx DHCOM PDK2
    17cd31487dc3 arm64: dts: ti: k3-j7200: Fix physical address of pin
    ce6e0434e502 fbdev: omapfb: lcd_mipid: Fix an error handling path in mipid_spi_probe()
    34e1e2f3cf5a arm64: dts: renesas: ulcb-kf: Remove flow control for SCIF1
    6817914c67b7 ARM: dts: iwg20d-q7-common: Fix backlight pwm specifier
    220f86cc19dc RDMA/hns: Fix hns_roce_table_get return value
    9196f44239cf RDMA/hns: Clean the hardware related code for HEM
    aa495b927f9c RDMA/hns: Use refcount_t APIs for HEM
    de1049dd18bd RDMA/hns: Fix coding style issues
    cc1b04b699e6 RDMA: Remove uverbs_ex_cmd_mask values that are linked to functions
    7dcb9ea3ee4b IB/hfi1: Fix wrong mmu_node used for user SDMA packet after invalidate
    6cf8f3d690bb IB/hfi1: Fix sdma.h tx->num_descs off-by-one errors
    2d38866a99ba IB/hfi1: Use bitmap_zalloc() when applicable
    42b6865bf58c soc/fsl/qe: fix usb.c build errors
    9c14d1406662 ARM: dts: meson8: correct uart_B and uart_C clock references
    684a2f180e46 ASoC: es8316: Do not set rate constraints for unsupported MCLKs
    d883e16c7f35 ASoC: es8316: Increment max value for ALC Capture Target Volume control
    105af71974ea memory: brcmstb_dpfe: fix testing array offset after use
    ddc74d6ea3dc ARM: dts: stm32: Shorten the AV96 HDMI sound card name
    392ee3cc995d arm64: dts: qcom: apq8096: fix fixed regulator name property
    c85a076215a9 ARM: omap2: fix missing tick_broadcast() prototype
    aec18da74194 ARM: ep93xx: fix missing-prototype warnings
    b574cd7e4dfc drm/panel: simple: fix active size for Ampire AM-480272H3TMQW-T01H
    02d8b008ffee arm64: dts: qcom: msm8996: correct camss unit address
    6d103b1cc133 arm64: dts: qcom: msm8994: correct SPMI unit address
    160ac75a5a82 arm64: dts: qcom: msm8916: correct camss unit address
    e8b131d21638 ARM: dts: gta04: Move model property out of pinctrl node
    b0b180a712ee RDMA/bnxt_re: Fix to remove an unnecessary log
    446092f136d3 RDMA/bnxt_re: Remove a redundant check inside bnxt_re_update_gid
    b54b26ac50a2 RDMA/bnxt_re: Use unique names while registering interrupts
    11bd3882c3a6 RDMA/bnxt_re: Fix to remove unnecessary return labels
    7080ef46ad3d RDMA/bnxt_re: Disable/kill tasklet only if it is enabled
    2a9895df8088 arm64: dts: microchip: sparx5: do not use PSCI on reference boards
    726fdf47c148 bus: ti-sysc: Fix dispc quirk masking bool variables
    8ee24ddf45f0 ARM: dts: stm32: Move ethernet MAC EEPROM from SoM to carrier boards
    617a4da09d77 drm/panel: sharp-ls043t1le01: adjust mode settings
    3c87c98225be drm: sun4i_tcon: use devm_clk_get_enabled in `sun4i_tcon_init_clocks`
    39305592dc97 Input: adxl34x - do not hardcode interrupt trigger type
    e629efc6d602 ARM: dts: meson8b: correct uart_B and uart_C clock references
    bd46ade71497 ARM: dts: BCM5301X: Drop "clock-names" from the SPI node
    20ecae1af578 drm/vram-helper: fix function names in vram helper doc
    46a34e145955 drm/bridge: tc358768: fix THS_TRAILCNT computation
    f2f7d0a4a22a drm/bridge: tc358768: fix TXTAGOCNT computation
    8e47328fe089 drm/bridge: tc358768: fix THS_ZEROCNT computation
    6b9450723bab drm/bridge: tc358768: fix TCLK_TRAILCNT computation
    33abcfbb17b0 drm/bridge: tc358768: Add atomic_get_input_bus_fmts() implementation
    43b2d11ccffb drm/bridge: tc358768: fix TCLK_ZEROCNT computation
    46b741718989 drm/bridge: tc358768: fix PLL target frequency
    825b00c68589 drm/bridge: tc358768: fix PLL parameters computation
    1b4f23fdf27f drm/bridge: tc358768: always enable HS video mode
    4e0fd4f54bea Input: drv260x - sleep between polling GO bit
    2780d5844855 drm/amd/display: Explicitly specify update type per plane info change
    b2213fc60b83 radeon: avoid double free in ci_dpm_init()
    472a615e66b9 netlink: Add __sock_i_ino() for __netlink_diag_dump().
    d10b38036977 ipvlan: Fix return value of ipvlan_queue_xmit()
    5215c0096839 netfilter: nf_conntrack_sip: fix the ct_sip_parse_numerical_param() return value.
    9bdcda7abaf2 netfilter: conntrack: dccp: copy entire header to stack buffer, not just basic one
    36e07e8acfb9 lib/ts_bm: reset initial match offset for every block of text
    96f2c6f272ec net: nfc: Fix use-after-free caused by nfc_llcp_find_local
    a3a1550c4d2e nfc: llcp: simplify llcp_sock_connect() error paths
    cb1aa7cc562c sfc: fix crash when reading stats while NIC is resetting
    6ccfec84f025 net: axienet: Move reset before 64-bit DMA detection
    bccc7ace12e6 gtp: Fix use-after-free in __gtp_encap_destroy().
    4d9cd4b330d8 selftests: rtnetlink: remove netdevsim device after ipsec offload test
    44db85c6e1a1 netlink: do not hard code device address lenth in fdb dumps
    cde7b90e0539 netlink: fix potential deadlock in netlink_set_err()
    0c9e48428f6b net: stmmac: fix double serdes powerdown
    1ba91ffa1a0e igc: Fix race condition in PTP tx code
    660d4e73efb0 wifi: ath9k: convert msecs to jiffies where needed
    150ca0768b50 wifi: cfg80211: rewrite merging of inherited elements
    4e321c18ef92 wifi: iwlwifi: pull from TXQs with softirqs disabled
    2715617c2aad rtnetlink: extend RTEXT_FILTER_SKIP_STATS to IFLA_VF_INFO
    581401cd3cf9 wifi: ath9k: Fix possible stall on ath9k_txq_list_has_key()
    6b22c2c649a1 memstick r592: make memstick_debug_get_tpc_name() static
    6cb477e7226b kexec: fix a memory leak in crash_shrink_memory()
    fdb07728d8ff watchdog/perf: more properly prevent false positives with turbo modes
    ac23d7f41426 watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct config
    22da8363e35f wifi: rsi: Do not set MMC_PM_KEEP_POWER in shutdown
    b2aeb97fd470 wifi: rsi: Do not configure WoWlan in shutdown hook if not enabled
    1044187e7249 wifi: ath9k: don't allow to overwrite ENDPOINT0 attributes
    c10c6ea9b3a2 wifi: ray_cs: Fix an error handling path in ray_probe()
    8825991838fc wifi: ray_cs: Drop useless status variable in parse_addr()
    a66e3fd3801a wifi: ray_cs: Utilize strnlen() in parse_addr()
    18d71562f70d wifi: wl3501_cs: Fix an error handling path in wl3501_probe()
    b6f793de619b wl3501_cs: use eth_hw_addr_set()
    cbd44a9e1cf1 net: create netdev->dev_addr assignment helpers
    13cf0e3894d1 wl3501_cs: Fix misspelling and provide missing documentation
    5512db9bd404 wifi: atmel: Fix an error handling path in atmel_probe()
    86ebbcbdc7b1 wifi: orinoco: Fix an error handling path in orinoco_cs_probe()
    fb7d78feb55a wifi: orinoco: Fix an error handling path in spectrum_cs_probe()
    8782dc2504da regulator: core: Streamline debugfs operations
    92bcd8494126 regulator: core: Fix more error checking for debugfs_create_dir()
    78f390aa0eb5 bpftool: JIT limited misreported as negative value on aarch64
    107e849f3c6a nfc: llcp: fix possible use of uninitialized variable in nfc_llcp_send_connect()
    0be9de2ea01e nfc: constify several pointers to u8, char and sk_buff
    ef7fe1b5c4fb libbpf: fix offsetof() and container_of() to work with CO-RE
    b190ced50a5e sctp: add bpf_bypass_getsockopt proto callback
    08f61a349135 bpf: Remove extra lock_sock for TCP_ZEROCOPY_RECEIVE
    c62e2ac02e28 wifi: mwifiex: Fix the size of a memory allocation in mwifiex_ret_802_11_scan()
    3ae910a375b6 wifi: wilc1000: fix for absent RSN capabilities WFA testcase
    795ef550307c spi: spi-geni-qcom: Correct CS_TOGGLE bit in SPI_TRANS_CFG
    bd3e880dce27 samples/bpf: Fix buffer overflow in tcp_basertt
    250efb4d3f5b wifi: ath9k: avoid referencing uninit memory in ath9k_wmi_ctrl_rx
    0f3f41b47533 wifi: ath9k: fix AR9003 mac hardware hang check register offset calculation
    cbd0f41a5362 igc: Enable and fix RX hash usage by netstack
    a14cb307267b pstore/ram: Add check for kstrdup
    628709a05708 ima: Fix build warnings
    16ec59c03ad2 evm: Complete description of evm_inode_setattr()
    cba85e1cb79f x86/mm: Fix __swp_entry_to_pte() for Xen PV guests
    365f546de584 perf/ibs: Fix interface via core pmu events
    604d6a5ff718 rcu/rcuscale: Stop kfree_scale_thread thread(s) after unloading rcuscale
    d414e24d1509 rcu/rcuscale: Move rcu_scale_*() after kfree_scale_cleanup()
    ecc5e6dbc269 rcuscale: Move shutdown from wait_event() to wait_event_idle()
    b62c816bdb5e rcuscale: Always log error message
    8cd9917c13a7 rcuscale: Console output claims too few grace periods
    456f783b83f8 thermal/drivers/sun8i: Fix some error handling paths in sun8i_ths_probe()
    bacc49b2d561 cpufreq: intel_pstate: Fix energy_performance_preference for passive
    a8bfe527556b ARM: 9303/1: kprobes: avoid missing-declaration warnings
    a50b75c13d37 powercap: RAPL: Fix CONFIG_IOSF_MBI dependency
    23f6efd22644 perf/arm-cmn: Fix DTC reset
    b69868d50df4 PM: domains: fix integer overflow issues in genpd_parse_state()
    ebdff0986513 clocksource/drivers/cadence-ttc: Fix memory leak in ttc_timer_probe
    a2f83a4c7cb5 tracing/timer: Add missing hrtimer modes to decode_hrtimer_mode().
    f1be1ed32daa posix-timers: Prevent RT livelock in itimer_delete()
    b315d57da456 irqchip/jcore-aic: Fix missing allocation of IRQ descriptors
    495cee0e1417 irqchip/jcore-aic: Kill use of irq_create_strict_mappings()
    9d1cccdad080 md/raid10: fix io loss while replacement replace rdev
    2990e2ece18d md/raid10: fix null-ptr-deref of mreplace in raid10_sync_request
    b1d8f38310bc md/raid10: fix wrong setting of max_corr_read_errors
    b3a0bc4a01fa md/raid10: fix overflow of md/safe_mode_delay
    39fa14e824ac md/raid10: check slab-out-of-bounds in md_bitmap_get_counter
    8563b58a4360 blk-iocost: use spin_lock_irqsave in adjust_inuse_and_calc_cost
    3db97cc79b82 x86/resctrl: Only show tasks' pid in current pid namespace
    1a82005f3f63 fs: pipe: reveal missing function protoypes
    f70407e8e027 nubus: Partially revert proc_create_single_data() conversion
    0336c8f07223 drm/amdgpu: Validate VM ioctl flags.
    c484b65f93e0 scripts/tags.sh: Resolve gtags empty index generation
    649104c834ba Revert "thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe"
    02a4c4e225f4 HID: logitech-hidpp: add HIDPP_QUIRK_DELAYED_INIT for the T651.
    9598a647ecc8 HID: wacom: Use ktime_t rather than int when dealing with timestamps
    2bf70b88cc35 fbdev: imsttfb: Fix use after free bug in imsttfb_probe
    5b813734a0d2 video: imsttfb: check for ioremap() failures
    02fbf62df99f can: isotp: isotp_sendmsg(): fix return error fix on TX path
    8667f7113107 x86/smp: Use dedicated cache-line for mwait_play_dead()
    1d0fe3fb5d4b media: atomisp: fix "variable dereferenced before check 'asd'"

(From OE-Core rev: a0694f3cb9dffff43c00929b4acef877797573ff)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:58 -10:00
Bruce Ashfield
05f211d9e5 linux-yocto/5.10: update to v5.10.187
Updating  to the latest korg -stable release that comprises
the following commits:

    140d69b4e41d Linux 5.10.187
    93df00f9d48d x86/cpu/amd: Add a Zenbleed fix
    191b8f9b0e37 x86/cpu/amd: Move the errata checking functionality up
    113ce5ed59fc x86/microcode/AMD: Load late on both threads too

(From OE-Core rev: 50f8192a95315db169beb38d36d5d0a974f3ac4d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:58 -10:00
Bruce Ashfield
e0d3928962 linux-yocto/5.10: update to v5.10.186
Updating  to the latest korg -stable release that comprises
the following commits:

    381518b4a916 Linux 5.10.186
    29917a20be43 bpf/btf: Accept function names that contain dots
    8b7454dd984a netfilter: nf_tables: hold mutex on netns pre_exit path
    9e8d927cfa56 netfilter: nf_tables: validate registers coming from userspace.
    f19a4818a92a netfilter: nftables: statify nft_parse_register()
    42997367cb67 i2c: imx-lpi2c: fix type char overflow issue when calculating the clock cycle
    5a257f355366 x86/apic: Fix kernel panic when booting with intremap=off and x2apic_phys
    d8efc77f23c8 drm/radeon: fix race condition UAF in radeon_gem_set_domain_ioctl
    485fe165084b drm/exynos: fix race condition UAF in exynos_g2d_exec_ioctl
    0b0fdc43b2ab drm/exynos: vidi: fix a wrong error return
    32134e7a0f21 ARM: dts: Fix erroneous ADS touchscreen polarities
    79cf5657be38 s390/purgatory: disable branch profiling
    a819de62ec2b ASoC: nau8824: Add quirk to active-high jack-detect
    fa08753c2d04 ASoC: simple-card: Add missing of_node_put() in case of error
    9138ed7e2b43 spi: lpspi: disable lpspi module irq in DMA mode
    97b6c4c1d1a8 s390/cio: unregister device when the only path is gone
    fe949c1662c9 Input: soc_button_array - add invalid acpi_index DMI quirk handling
    eaf1fa945206 usb: gadget: udc: fix NULL dereference in remove()
    7d1a0733a55e nfcsim.c: Fix error checking for debugfs_create_dir
    dc357c0787e8 media: cec: core: don't set last_initiator if tx in progress
    c13573032b7b arm64: Add missing Set/Way CMO encodings
    49a2b18f4972 HID: wacom: Add error check to wacom_parse_and_register()
    2b43198de03f scsi: target: iscsi: Prevent login threads from racing between each other
    75aa3f255c88 gpiolib: Fix GPIO chip IRQ initialization restriction
    304802e5b038 gpio: Allow per-parent interrupt data
    bc75968b494a sch_netem: acquire qdisc lock in netem_change()
    caddeadd0d03 Revert "net: phy: dp83867: perform soft reset and retain established link"
    5702afa2c331 netfilter: nfnetlink_osf: fix module autoload
    3d5c09c782a3 netfilter: nf_tables: disallow element updates of bound anonymous sets
    2a90da8e0dd5 netfilter: nft_set_pipapo: .walk does not deal with generations
    792bfe26a655 be2net: Extend xmit workaround to BE3 chip
    cebb5cee0984 net: dsa: mt7530: fix trapping frames on non-MT7621 SoC MT7530 switch
    7a1ae0000509 ipvs: align inner_mac_header for encapsulation
    f2547bc71663 mmc: usdhi60rol0: fix deferred probing
    4a99e35c5a62 mmc: sh_mmcif: fix deferred probing
    c2278de1382b mmc: sdhci-acpi: fix deferred probing
    f6e176ef894a mmc: owl: fix deferred probing
    f29d0ab0e6bd mmc: omap_hsmmc: fix deferred probing
    65d9318e3d56 mmc: omap: fix deferred probing
    9ad3c21fb66d mmc: mvsdio: fix deferred probing
    9b0417fd402f mmc: mtk-sd: fix deferred probing
    ced13bc50ef0 net: qca_spi: Avoid high load if QCA7000 is not available
    b1b9c81e29d2 xfrm: Linearize the skb after offloading if needed.
    31cd0d4a4470 selftests: net: fcnal-test: check if FIPS mode is enabled
    2af75a36af8d selftests: net: vrf-xfrm-tests: change authentication and encryption algos
    07fbbddae5af xfrm: fix inbound ipv4/udp/esp packets to UDPv6 dualstack sockets
    562800447f8b bpf: Fix verifier id tracking of scalars on spill
    3b0a96db670b bpf: track immediate values written to stack by BPF_ST instruction
    bff7824db681 xfrm: Ensure policies always checked on XFRM-I input path
    01af67ed83d0 xfrm: interface: rename xfrm_interface.c to xfrm_interface_core.c
    cdaa6e1105c0 xfrm: Treat already-verified secpath entries as optional
    47be2931c4e5 ieee802154: hwsim: Fix possible memory leaks
    051d6421337b memfd: check for non-NULL file_seals in memfd_create() syscall
    1ac6e9ee8428 sysctl: move some boundary constants from sysctl.c to sysctl_vals
    e1aa3fe3e282 mm/pagealloc: sysctl: change watermark_scale_factor max limit to 30%
    ad10dd211370 x86/mm: Avoid using set_pgd() outside of real PGD pages
    4de2093674f2 nilfs2: prevent general protection fault in nilfs_clear_dirty_page()
    3845c38417bd io_uring/net: disable partial retries for recvmsg with cmsg
    826ee9fa3647 io_uring/net: clear msg_controllen on partial sendmsg retry
    5fdea4468f57 io_uring/net: save msghdr->msg_control for retries
    5a7101d8faab writeback: fix dereferencing NULL mapping->host on writeback_page_template
    f00cd687c2cd regmap: spi-avmm: Fix regmap_bus max_raw_write
    bc35f93e4bd7 regulator: pca9450: Fix LDO3OUT and LDO4OUT MASK
    5938470f9c80 ip_tunnels: allow VXLAN/GENEVE to inherit TOS/TTL from VLAN
    2e454015ca27 mmc: mmci: stm32: fix max busy timeout calculation
    1be288fd3b0d mmc: meson-gx: remove redundant mmc_request_done() call from irq context
    1b97630cd9a9 mmc: sdhci-msm: Disable broken 64-bit DMA on MSM8916
    63608437a83d cgroup: Do not corrupt task iteration when rebinding subsystem
    988d06f5eb32 PCI: hv: Fix a race condition in hv_irq_unmask() that can cause panic
    8f2d5ebdfef7 PCI: hv: Remove the useless hv_pcichild_state from struct hv_pci_dev
    8b7484676994 Revert "PCI: hv: Fix a timing issue which causes kdump to fail occasionally"
    79ceb758e3db PCI: hv: Fix a race condition bug in hv_pci_query_relations()
    8b8c9812c048 Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs
    b435298349ab nilfs2: fix buffer corruption due to concurrent device reads
    524a2c0bcf99 selftests: mptcp: join: skip check if MIB counter not supported
    e508d9cef887 selftests: mptcp: pm nl: remove hardcoded default limits
    4c4ca42418a5 selftests: mptcp: lib: skip if not below kernel version
    6d20cfbc578d selftests: mptcp: lib: skip if missing symbol
    3cc7935d3221 tick/common: Align tick period during sched_timer setup
    db4ab0c97a4d tracing: Add tracing_reset_all_online_cpus_unlocked() function
    9ced73049016 net/sched: Refactor qdisc_graft() for ingress and clsact Qdiscs
    b1b42fff8ae1 drm/amd/display: fix the system hang while disable PSR

(From OE-Core rev: 591afa6b33a409df5fcd92d66069f39495bc526f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:58 -10:00
Adrian Freihofer
3d4850b3ea dmidecode: fixup for CVE-2023-30630
The previous CVE-2023-30630_1.patch picked only the patch
"dmidecode: Write the whole dump file at once" d8cfbc808f.
But there was a refactoring which does not allow to cherry-pick it fast
forward. Resolving this conflict was not correctly done. The patch was:

+    u32 len;
+    u8 *table;
...
-    if (!(opt.flags & FLAG_QUIET))
-        pr_comment("Writing %d bytes to %s.", crafted[0x05],
-                   opt.dumpfile);
-    write_dump(0, crafted[0x05], crafted, opt.dumpfile, 1);
+    dmi_table_dump(crafted, crafted[0x05], table, len);

It looks like the variables len and table have been added without
initialization.
Now this problem is solved by applying the previous refactoring as
well. Patch 1 gets replaced by Patch 1a and Patch 1b. Patch 2..4 are
rebased without changes.

(From OE-Core rev: ea069a94a213cc153528aebfc387f30215566cc7)

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:58 -10:00
Ashish Sharma
5eab65275d curl: Backport fix CVE-2023-32001
(From OE-Core rev: 10df7553d1107438408f680ac28a2daf87d4163e)

Signed-off-by: Ashish Sharma <asharma@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:58 -10:00
Archana Polampalli
0ffefc4b62 qemu: fix CVE-2023-3180
A flaw was found in the QEMU virtual crypto device while handling data
encryption/decryption requests in virtio_crypto_handle_sym_req.
There is no check for the value of `src_len` and `dst_len` in
virtio_crypto_sym_op_helper, potentially leading to a heap buffer
overflow when the two values differ.

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

Upstream patches:
49f1e02bac

(From OE-Core rev: de421cab92c49ba0f068eae9d6b458a0368fcd03)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:58 -10:00
Peter Marko
ef8a18fd3b procps: patch CVE-2023-4016
Backport patch from upstream master.

There were three changes needed to apply the patch:
* move NEWS change to start of the file
* change file location from src/ps/ to ps/
* change xmalloc/xcmalloc to malloc/cmalloc

The x*malloc functions were introduced in commit in future version.
584028dbe5
They call the original function plus additionally throw error when out of memory.
https://gitlab.com/procps-ng/procps/-/blob/v4.0.3/local/xalloc.h?ref_type=tags
So this replacement is correct in context of our version.

(From OE-Core rev: 71d0683d625c09d4db5e0473a0b15a266aa787f4)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:58 -10:00
Archana Polampalli
8e90df16f5 ghostscript: fix CVE-2023-38559
A buffer overflow flaw was found in base/gdevdevn.c:1973 in devn_pcx_write_rle()
in ghostscript. This issue may allow a local attacker to cause a denial of service
via outputting a crafted PDF file for a DEVN device with gs.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2023-38559

Upstream patch:
https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d81b82c70bc1fb9991bb95f1201abb5dea55f57f

(From OE-Core rev: e77c0b35969ae690b390ffae682fd6552ff8aff8)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:58 -10:00
Vivek Kumbhar
ab548842ef qemu: fix CVE-2023-3354 VNC: improper I/O watch removal in TLS handshake can lead to remote unauthenticated denial of service
(From OE-Core rev: 42859fe600e5dddba3c51fa8d1e680721b73e5dc)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:58 -10:00
Yogita Urade
4869a1f60e qemu: fix CVE-2020-14394
QEMU: infinite loop in xhci_ring_chain_length() in hw/usb/hcd-xhci.c

Reference:
https://gitlab.com/qemu-project/qemu/-/issues/646

(From OE-Core rev: 057f4f77ac2e83f99c916dceb4cbbcc8de448ad4)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:58 -10:00
Narpat Mali
fbe56e677b python3-certifi: fix CVE-2023-37920
Certifi is a curated collection of Root Certificates for validating
the trustworthiness of SSL certificates while verifying the identity
of TLS hosts. Certifi prior to version 2023.07.22 recognizes "e-Tugra"
root certificates. e-Tugra's root certificates were subject to an
investigation prompted by reporting of security issues in their systems.
Certifi 2023.07.22 removes root certificates from "e-Tugra" from the
root store.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-37920
https://github.com/certifi/python-certifi/security/advisories/GHSA-xqr8-7jwr-rhp7

(From OE-Core rev: 98abbe3394638c6ce795b34247a9e49120e4ffba)

Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-19 05:56:58 -10:00
Steve Sakoman
d6b8790370 build-appliance-image: Update to kirkstone head revision
(From OE-Core rev: e1a604db8d2cf8782038b4016cc2e2052467333b)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:44:16 -10:00
Steve Sakoman
326921a89e poky.conf: bump version for 4.0.12
(From meta-yocto rev: 464204a5e52a3f3ae5d7ec9e36c143ca06fed3eb)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:44 -10:00
Steve Sakoman
ab9b43f60b gcc: fix runpath errors in cc1 binary
The runpath in the cc1 binary is:

Library runpath: [$ORIGIN/../../../recipe-sysroot-native/usr/lib:$ORIGIN/../../../recipe-sysroot-native/lib]

This does not match the actual location of the libraries, which would require:

Library runpath: [$ORIGIN/../../recipe-sysroot-native/usr/lib:$ORIGIN/../../recipe-sysroot-native/lib]

Prior to gcc 9.1 the recipe set B explicity with:

B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"

and this build directory structure matches the runpath in cc1, so there is no issue.

This line was commented out in versions 9.1 through 11.3.  The upgrade to 12.1 once
again uncommented this line.

As a result the runpath is incorrect in version 9.1 through 11.3 and cc1 defaults
to using host libraries.

This patch restores setting B as done in master and versions prior to 9.1

(From OE-Core rev: b6f4b3d43a399c2b446754de56ebea35657e13de)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:44 -10:00
Peter Marko
7e2d3b8346 openssl: Upgrade 3.0.9 -> 3.0.10
https://github.com/openssl/openssl/blob/openssl-3.0/NEWS.md#major-changes-between-openssl-309-and-openssl-3010-1-aug-2023
Major changes between OpenSSL 3.0.9 and OpenSSL 3.0.10 [1 Aug 2023]
* Fix excessive time spent checking DH q parameter value (CVE-2023-3817)
* Fix DH_check() excessive time with over sized modulus (CVE-2023-3446)
* Do not ignore empty associated data entries with AES-SIV (CVE-2023-2975)

(From OE-Core rev: 94ce10791ce10aa30d3a3bdef53f9b2f3c1b331a)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:44 -10:00
Sundeep KOKKONDA
e8c1d3e07e gcc : upgrade to v11.4
gcc stable version upgraded from v11.3 to v11.4

For changes in v11.4 see - https://gcc.gnu.org/gcc-11/changes.html

Below is the bug fix list for v11.4
https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&order=short_desc%2Cbug_status%2Cpriority%2Cassigned_to%2Cbug_id&query_format=advanced&resolution=FIXED&target_milestone=11.4

There are a total 115 bugs are fixed in this release, below is the list of bugs fixed excluding the regression fixes.

ID	Product	Comp	    Resolution	Summary▲
108199	gcc	tree-opt	FIXE	Bitfields, unions and SRA and storage_order_attribute
107801	gcc	libstdc+	FIXE	Building cross compiler for H8 family fails in libstdc++ (c++17/memory_resource.cc)
108265	gcc	libstdc+	FIXE	chrono::hh_mm_ss can't be constructed from unsigned durations
104443	gcc	libstdc+	FIXE	common_iterator<I, S>::operator-> is not correctly implemented
98056	gcc	c++		FIXE	coroutines: ICE tree check: expected record_type or union_type or qual_union_type, have array_type since r11-2183-g0f66b8486cea8668
107061	gcc	target		FIXE	ENCODEKEY128 clobbers xmm4-xmm6
105433	gcc	testsuit	FIXE	FAIL: gcc.target/i386/iamcu/test_3_element_struct_and_unions.c
105095	gcc	testsuit	FIXE	gcc.dg/vect/complex/fast-math-complex-* tests are not executed
100474	gcc	c++		FIXE	ICE: in diagnose_trait_expr, at cp/constraint.cc:3706
105854	gcc	target		FIXE	ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints: sse2_lshrv1ti3)
104462	gcc	target		FIXE	ICE: in extract_constrain_insn_cached, at recog.cc:2682 with -mavx512fp16 -mno-xsave
106045	gcc	libgomp		FIXE	Incorrect testcase in libgomp.c/target-31.c at -O0
56189	gcc	c++		FIXE	Infinite recursion with noexcept when instantiating function template
100295	gcc	c++		FIXE	Internal compiler error from generic lambda capturing parameter pack and expanding it in if constexpr
100613	gcc	jit		FIXE	libgccjit should produce dylib on macOS
104875	gcc	libstdc+	FIXE	libstdc++-v3/src/c++11/codecvt.cc:312:24: warning: left shift count >= width of type
107471	gcc	libstdc+	FIXE	mismatching constraints in common_iterator
105284	gcc	libstdc+	FIXE	missing syncstream and spanstream forward decl. in <iosfwd>
98821	gcc	c++		FIXE	modules : c++tools configures with CC but code fragments assume CXX.
109846	gcc	fortran		FIXE	Pointer-valued function reference rejected as actual argument
101324	gcc	target		FIXE	powerpc64le: hashst appears before mflr at -O1 or higher
102479	gcc	c++		FIXE	segfault when deducing class template arguments for tuple with libc++-14
105128	gcc	libstdc+	FIXE	source_location compile error for latest clang 15
106183	gcc	libstdc+	FIXE	std::atomic::wait might fail to be unblocked by notify_one/all on platforms without platform_wait()
102994	gcc	libstdc+	FIXE	std::atomic<ptr>::wait is not marked const
105324	gcc	libstdc+	FIXE	std::from_chars() assertion at floating_from_chars.cc:78 when parsing 1.11111111....
105375	gcc	libstdc+	FIXE	std::packaged_task has no deduction guide.
104602	gcc	libstdc+	FIXE	std::source_location::current uses cast from void*
106808	gcc	libstdc+	FIXE	std::string_view range concept requirement causes compile error with Boost.Filesystem
105725	gcc	c++		FIXE	[ICE] segfault with `-Wmismatched-tags`
105920	gcc	target		FIXE	__builtin_cpu_supports ("f16c") should check AVX

(From OE-Core rev: 4fd7e5951c42336729f12cde71450ec298f2078b)

Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:44 -10:00
Yuta Hayama
cd1d34d510 cve-update-nvd2-native: always pass str for json.loads()
Currently json.loads() accepts one of the types str, bytes, or bytearray
as an argument, but bytes and bytearrays have only been allowed since
python 3.6. The version of Python3 provided by default on Ubuntu 16.04
and Debian 9.x is 3.5, so make raw_data type str to work correctly on
these build hosts.

(From OE-Core rev: e67d659847afe648de1b1eca2d19c4f6375dd12c)

Signed-off-by: Yuta Hayama <hayama@lineo.co.jp>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:44 -10:00
Sakib Sajal
1aae734721 go: fix CVE-2023-24531
Backport required patches from go1.21 to fix CVE-2023-24531.

(From OE-Core rev: 6d892c52bd5806507a05e8b6f749c54bbd9e9da6)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:44 -10:00
Sakib Sajal
1ba43f2c88 go: fix CVE-2023-24536
Backport required patches to fix CVE-2023-24536.

(From OE-Core rev: a774c895f4a425979cef8e05e8dd17c2dcb67654)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:44 -10:00
Archana Polampalli
ae7992e3b7 qemu: fix CVE-2023-2861
9pfs: prevent opening special files

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

Upstream patches:
10fad73a2b

(From OE-Core rev: 9bd4ddeb4b5efc65b0514d50d6991211271924c1)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:43 -10:00
Archana Polampalli
76f6267368 qemu: fix CVE-2023-3255
VNC: infinite loop in inflate_buffer() leads to denial of service

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

Upstream patches:
d921fea338

(From OE-Core rev: 52711b1392ed0c5cbe4ddf70a94b21be2f4e6e58)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:43 -10:00
Archana Polampalli
2587c36e87 qemu: fix CVE-2023-3301
qemu: hotplug/hotunplug mlx vdpa device to the occupied addr port,
then qemu core dump occurs after shutdown guest

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

Upstream patches:
a0d7215e33

(From OE-Core rev: f549ff6db018f66a80fc65987675e8bb6afcd002)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:43 -10:00
Peter Marko
cd329fc984 libarchive: ignore CVE-2023-30571
This issue was reported and discusses under [1] which is linked in NVD CVE report.
It was already documented that some parts or libarchive are thread safe and some not.
[2] was now merged to document that also reported function is not thread safe.
So this CVE *now* reports thread race condition for non-thread-safe function.
And as such the CVE report is now invalid.

The issue is still not closed for 2 reasons:
* better document what is and what is not thread safe
* request to public if someone could make these functions thread safe
This should however not invalidate above statment about ignoring this CVE.

[1] https://github.com/libarchive/libarchive/issues/1876
[2] https://github.com/libarchive/libarchive/pull/1875

(From OE-Core rev: d5e7971e12cdc8748be91b4e6408b42fa86b2f15)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:43 -10:00
Peter Marko
9ceede321a libpcre2: patch CVE-2022-41409
Backport commit mentioned in NVD DB links.
94e1c00176

(From OE-Core rev: 410cdbc70cfba709ec5bef508e772f52514ba28a)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:43 -10:00
Alexander Kanavin
7fdfb828fd bitbake: bitbake-layers: initialize tinfoil before registering command line arguments
Plugins may want to use it (e.g. the layers-setup plugin that would
want to discover writer sub-plugins with it), and so it makes sense
to make tinfoil available a bit eariler.

(Bitbake rev: 41b6684489d0261753344956042be2cc4adb0159)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2f6c7523a622f59ddf84a1a196927492bc5fa7a2)
Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-04 04:43:41 -10:00
Michael Opdenacker
fa7dd8ac75 ref-manual: document image-specific variant of INCOMPATIBLE_LICENSE
This has been around without being properly documented since 2019 (!!!),
and is nowadays the preferred method for enforcing license restrictions,
especially since meta-gplv2 is officially obsolete.

(From yocto-docs rev: 4dfef81ac6164764c6541e39a9fef81d49227096)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Benjamin Bouvier
96404a7c4c util-linux: add alternative links for ipcs,ipcrm
When enabling ipcs and ipcrm configuration into busybox, both tools are
built and then deployed during do_rootfs. These operation lead to below
issue (similar behavior happens for ipcs):

do_rootfs: Postinstall scriptlets of ['busybox'] have failed. If the intention is to defer them to first boot,
then please place them into pkg_postinst_ontarget:${PN} ().

update-alternatives: Error: not linking .../build/tmp/work/board-poky-linux/board-image/1.0-r0/rootfs/usr/bin/ipcrm
to /bin/busybox since .../build/tmp/work/board-poky-linux/board-image/1.0-r0/rootfs/usr/bin/ipcrm exists and is not a link

Binaries enter in conflict with same named util-linux utilities during
do_rootfs step.
Adding ALTERNATIVE_LINK_NAME for both tools fix the issue.

(From OE-Core rev: dc2e760591c5ed3c999222f235484829426c71a7)

Signed-off-by: Benjamin Bouvier <benjamin.bouvier@ekinops.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e4d60408b869c9cc2ccff794d4e271d993ec8a97)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Jose Quaresma
f285505e20 openssl: use a glob on the PERLEXTERNAL to track updates on the path
The Text-Template was updated from 1.46 to 1.56

| ERROR: openssl-native-3.1.1-r0 do_configure: PERLEXTERNAL '/build/tmp/work/x86_64-linux/openssl-native/3.1.1-r0/openssl-3.1.1/external/perl/Text-Template-1.46/lib' not found!

(From OE-Core rev: b39e394771e4fa4c9250e11fafe5ef2157089422)

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b9a7739b01e31d0cc8358d99255e3e1b02a0a1a8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Jose Quaresma
03ae07181a openssl: add PERLEXTERNAL path to test its existence
When upstream change is better to fail or removing the PERL5LIB
if they are not need anymore.

(From OE-Core rev: 14905c6bfdaba3e2e31eaee6c02e20bf7b6669a7)

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 337ac1159644678508990927923ef8af30f34cd7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Yoann Congal
d97c5782be oeqa/selftest/devtool: add unit test for "devtool add -b"
Fix [Yocto #15085]

Co-authored-by: Fawzi KHABER <fawzi.khaber@smile.fr>
(From OE-Core rev: ea1592b49c6b45495fe9243339fc4dc9cea9ef12)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d5eedf8ca689ccb433c2f5d0b324378f966dd627)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Ross Burton
a22efd0373 oeqa/runtime/cases/rpm: fix wait_for_no_process_for_user failure case
str.format() doesn't use % notation, update the formatting to work.

assertTrue() is a member of self not a global, and assertTrue(True) will
always pass. Change this to just self.fail() as this is the failure case.

(From OE-Core rev: 05c8af81438d43fd83495cb165c75f43778fea41)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 017f3a0b1265c1a3b69c20bdb56bbf446111977e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Khem Raj
56f316630a meson.bbclass: Point to llvm-config from native sysroot
Default search in meson would grok /usr/bin for llvm-config and if found
will use it, which might add wrong paths into cflags/ldflags, since we
depend on llvm-native when building gallium support ( thats when
llvm-config is effective), its better to point llvm-config into native
sysroot so it can add correct paths into compiler/linker cmdline

(From OE-Core rev: 8e6b616066ba0f7f452f929dc7c412e620da9101)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cc73360b9728812ed6123e30559b77d8e89cc21c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Ross Burton
4b5f2ecf67 python3: fix missing comma in get_module_deps3.py
Wes Tarro <wes.tarro@azuresummit.com> noticed a missing comma in a
preplace() call, add it.

That said, calling replace() with one argument results in a TypeError,
so this is obviously dead code.

(From OE-Core rev: 3a79a210665efae1af6d68e9e923a739c82d800e)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9b2e2c8d809e7ca34451ec9702b029a00dfb410b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Ovidiu Panait
c094bb4a46 mdadm: skip running known broken ptests
Upstream marked some testcases as "KNOWN BROKEN" and introduced the
"--skip-broken" flag to ignore them when running the testsuite (commits [1]
and [2]). Backport these two commits to get rid of the last remaining ptest
failures.

Also, add the "--skip-broken" option to the run-ptest script.

[1] https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=28520bf114b3
[2] https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=daa86d663476

(From OE-Core rev: 62daa4ca064da1c014b9c21798bc55ff3e7656e6)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 62148b978b26b5fcd1a2fa3a0ff82ef814f4e7ec)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Ovidiu Panait
e715193ee6 mdadm: fix segfaults when running ptests
Currently, some segfaults are reported when running ptest:
mdadm[12333]: segfault at 0 ip 00007fe855924060 sp 00007ffc4d6caf88 error 4 in libc.so.6[7f)
Code: d2 0f 84 b7 0f 00 00 48 83 fa 01 0f 84 b9 0f 00 00 49 89 d3 89 f1 89 f8 48 83 e1 3f 4f

Backport the following upstream commits to fix them:
679bd9508a30 ("DDF: Cleanup validate_geometry_ddf_container()")
2b93288a5650 ("DDF: Fix NULL pointer dereference in validate_geometry_ddf()")
548e9b916f86 ("mdadm/Grow: Fix use after close bug by closing after fork")
9ae62977b51d ("monitor: Avoid segfault when calling NULL get_bad_blocks")

The fixes are part of the "Bug fixes and testing improvments" patchset [1].

[1] https://www.spinics.net/lists/raid/msg70621.html

(From OE-Core rev: 4ea6acbf25ad1b3e910f01d136b53c6353daf0c5)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9585009e3e505b361cd32b14e0e85e77e7822878)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Ovidiu Panait
1d0454b413 mdadm: fix 07revert-inplace ptest
Testcase 07revert-inplace fails if strace is not installed:
...
strace -o /tmp/str ./mdadm -A /dev/md0 --update=revert-reshape /dev/<...>
tests/07revert-inplace: line 40: strace: command not found

Add strace to mdadm-ptest RDEPENDS to make sure the testcase passes even with
a core-image-minimal build.

(From OE-Core rev: 1df8d9d45bb4ff01e30d9ec9ffd0fb822d5f91e9)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7d9386663ac52ab69812867a0823c6055aedbc18)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Ovidiu Panait
06416b34a0 mdadm: fix util-linux ptest dependency
Trying to run mdadm-ptest in a core-image-minimal build will result in:
root@qemux86-64:~# ptest-runner mdadm
START: ptest-runner
BEGIN: /usr/lib/mdadm/ptest
which: no lsblk in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin)
lsblk command not found!
DURATION: 0
END: /usr/lib/mdadm/ptest
2023-06-28T10:14
STOP: ptest-runner
TOTAL: 1 FAIL: 0

Remove util-linux from RRECOMMENDS and only add util-linux-lsblk and
util-linux-losetup to RDEPENDS.

(From OE-Core rev: 898b9add68d9c30c7c90285e659b128289313668)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3004f7589974c135cc82630d980ea281b97ecd83)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Quentin Schulz
b1e2d14d88 uboot-extlinux-config.bbclass: fix old override syntax in comment
The comment specifies how to use the variables but uses the older and
now unsupported override syntax. Let's update to match the newer syntax.

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

(From OE-Core rev: 0e9a70ee3c8f78db746d3cb627c6b212e1b4e4e4)

Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bb64f3fed29b9532e6ddc9a2ba0283d373622d87)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Yuta Hayama
162ca7a55c systemd-systemctl: fix errors in instance name expansion
If the instance name indicated by %i begins with a number, the meaning of the
replacement string "\\1{}".format(instance) is ambiguous.

To indicate group number 1 regardless of the instance name, use "\g<1>".

(From OE-Core rev: 392f60b0aa775ce95c3494ae87551e7954c9925b)

Signed-off-by: Yuta Hayama <hayama@lineo.co.jp>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d18b939fb08b37380ce95934da38e6522392621c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Yoann Congal
23af44f254 recipetool: Fix inherit in created -native* recipes
native and nativesdk classes are special and must be inherited last :
put them at the end of the gathered classes to inherit.

(From OE-Core rev: 2c92780236b25205af0dcf75de2d2ede14132152)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a6614fd800cbe791264aeb102d379ba79bd145c2)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Andrej Valek
0391bb6f9e kernel: add missing path to search for debug files
Since explicit debug package creation via ${KERNEL_PACKAGE_NAME}-dbg has
been added to kernel, it has to cover all PACKAGE_DEBUG_SPLIT_STYLE
options. For ex. when the variable "debug-file-directory" package search
path has to be set explicitly, otherwise it will not find any files.

(From OE-Core rev: 9adbda8450c57f49edf85e3b3433304e8ac8267e)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9c39da147683dcaaa244b3ddc4531c4408ad5c9e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Martin Jansa
2e4bdbc5c4 libxcrypt: fix build with perl-5.38 and use master branch
* fixes do_configure failure:
  checking whether all ucontext.h functions are available... yes
  when is deprecated at libxcrypt/4.4.30-r0/git/build-aux/scripts/BuildCommon.pm line 522.
  Compilation failed in require at ../git/build-aux/scripts/expand-selected-hashes line 28.
  BEGIN failed--compilation aborted at ../git/build-aux/scripts/expand-selected-hashes line 28.
  configure: error: bad value 'all' for --enable-hashes
  NOTE: The following config.log files may provide further information.

* with this patch backported it works OK:
  libxcrypt/4.4.30-r0/git $ perl build-aux/scripts/expand-selected-hashes
  usage: expand-selected-hashes hashes.conf names,of,selected,hashes

* similarly do_compile failure:
  ../git/build-aux/scripts/move-if-change crypt-hashes.h.T crypt-hashes.h
  ../git/build-aux/scripts/move-if-change crypt-symbol-vers.h.T crypt-symbol-vers.h
  given is deprecated at ../git/build-aux/scripts/gen-crypt-h line 41.
  Makefile:3818: Makefile.deps: No such file or directory
  make: *** [Makefile:3715: crypt.h.stamp] Error 255

* also use master branch instead of develop, the SRCREV exists in both
  but stable metadata branches should track stable component branches

  libxcrypt/4.4.30-r0/git $ git branch -a --contains d7fe1ac04c326dba7e0440868889d1dccb41a175 | tee
  * develop
    remotes/origin/HEAD -> origin/develop
    remotes/origin/develop
    remotes/origin/master

  and oe-core master also uses master SRCBRANCH since:
  https://git.openembedded.org/openembedded-core/commit/?id=d18e89bd2b46c6e266cc39dbe9fdb6c032f5f1fe

(From OE-Core rev: 54996f24243a10252d3aa70effc9c13db1d507f8)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Wang Mingyu
f2394b13c1 lttng-ust: upgrade 2.13.5 -> 2.13.6
Changelog:
===========
* Fix: segmentation fault on filter interpretation in "switch" mode
* Fix: `ip` context is expressed as a base-10 field
* Fix: c99: use __asm__ __volatile__
* Fix: c99: static assert: clang build fails due to multiple typedef
* Fix: Reevaluate LTTNG_UST_TRACEPOINT_DEFINE each time tracepoint.h is included
* Fix: trace events in C++ constructors/destructors
* Fix: trace events in C constructors/destructors
* Fix: use unaligned pointer accesses for lttng_inline_memcpy

(From OE-Core rev: 1361c8f4be21e41db74623dcacc92d8f02e6a2ee)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 656470b4b0db579308d218d1ece77bdacd168d14)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Wang Mingyu
f51ce76cd8 libksba: upgrade 1.6.3 -> 1.6.4
Changelog:
Correctly detect CMS write errors.

(From OE-Core rev: 4bc2f5c3a46b76d152fda326f7c8227fe938b97e)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0296cf63007542c1cb209a4288be1c82aa2ba843)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Wang Mingyu
f01294ea24 libassuan: upgrade 2.5.5 -> 2.5.6
Changelog:
===========
 * Fix logging of confidential data.  [rA0fc31770fa]
 * Fix memory wiping.  [T5977]
 * Fix macOS build problem.  [T5440,T5610]
 * Upgrade autoconf stuff.

(From OE-Core rev: a905094c4e7ff3475de657adcf7a0afcc132191a)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 90126be6dc32170c08eb90223b6a6cc06c2133ce)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Alexander Kanavin
9cc2735749 diffutils: update 3.9 -> 3.10
* Noteworthy changes in release 3.10 (2023-05-21) [stable]

** Bug fixes

  cmp/diff can again work with file dates past Y2K38
  [bug introduced in 3.9]

  diff -D no longer fails to output #ifndef lines.
  [bug#61193 introduced in 3.9]

Remove the comment addition from the patch body, as it
increases likelyhood of rebase conflicts, and repeats what
the commit says.

(From OE-Core rev: ab9ae300ce3895cdf64d207b5dc281b65c984211)

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 925155acc6922f7e9df2afa45e79ad1b2c57ba24)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 21e40166870fadee986fb36be80019d3bcdb69e5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Tim Orling
7658d8f2c9 python3: upgrade 3.10.9 -> 3.10.12
Security and bugfix updates.

* Drop cve-2023-24329.patch as it is merged in 3.10.12

CVE: CVE-2023-24329

Includes openssl 1.1.1u which addresses:
CVE: CVE-2023-0286
CVE: CVE-2022-4304
CVE: CVE-2022-4203

https://docs.python.org/release/3.10.12/whatsnew/changelog.html#python-3-10-12-final
https://docs.python.org/release/3.10.12/whatsnew/changelog.html#python-3-10-11-final
https://docs.python.org/release/3.10.12/whatsnew/changelog.html#python-3-10-10-final

License-Update: Update Copyright years to include 2023

(From OE-Core rev: 4df594dbc1b391afbe703f663fb2d5c9e9d35078)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Yogita Urade
f4c5d9a3a6 dmidecode: fix CVE-2023-30630
Dmidecode before 3.5 allows -dump-bin to overwrite a local file.
This has security relevance because, for example, execution of
Dmidecode via Sudo is plausible.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-30630
https://lists.nongnu.org/archive/html/dmidecode-devel/2023-04/msg00016.html
https://lists.nongnu.org/archive/html/dmidecode-devel/2023-04/msg00017.html

Backport: fixes fuzz in the CVE-2023-30630_2.patch in kirkstone

(From OE-Core rev: 4f83427a0a01e8285c9eb42d2a635d1ff7b23779)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit f92e59a0894145a828dc9ac74bf8c7a9355e0587)
Signed-off-by: Dhairya Nagodra <dnagodra@cisco.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Archana Polampalli
e01d123ba1 openssh: fix CVE-2023-38408
The PKCS#11 feature in ssh-agent in OpenSSH before 9.3p2 has an
insufficiently trustworthy search path, leading to remote code
execution if an agent is forwarded to an attacker-controlled system.
(Code in /usr/lib is not necessarily safe for loading into ssh-agent.)
NOTE: this issue exists because of an incomplete fix for CVE-2016-10009.

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

Upstream patches:
892506b136
1f2731f5d7
29ef8a0486
099cdf59ce

(From OE-Core rev: 3c01159ab6a843fc922cf779b022c965d4ecd453)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Hitendra Prajapati
d198c0d738 libtiff: fix CVE-2023-26965 heap-based use after free
Upstream-Status: Backport from ec8ef90c1f

(From OE-Core rev: 9b9f88d8828ee822635ed645cc192829fecec39e)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Hitendra Prajapati
3c2e546a1a tiff: fix multiple CVEs
Backport fixes for:
* CVE-2023-25433 - Upstream-Status: Backport from 9c22495e5e && 688012dca2
* CVE-2023-25434 & CVE-2023-25435 - Upstream-Status: Backport from 69818e2f2d

(From OE-Core rev: 01b9f7f7bb3eaecd6aa757fa090fcc4424788ce1)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Vivek Kumbhar
4596433a54 go: fix CVE-2023-29406 net/http insufficient sanitization of Host header
(From OE-Core rev: 5dc74138649ab7a2c0158a43225dc7a8fd732355)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:12 -10:00
Hitendra Prajapati
51f8011956 tiff: fix multiple CVEs
Bug-Debian: https://bugs.debian.org/1031632
Origin: afaabc3e50

import from debian http://security.debian.org/debian-security/pool/updates/main/t/tiff/tiff_4.1.0+git191117-2~deb10u7.debian.tar.xz

fix multiple CVEs:

CVE-2023-0795
CVE-2023-0796
CVE-2023-0797
CVE-2023-0798
CVE-2023-0799

(From OE-Core rev: 1a4e54d5b7b4d26b9fcdc2be1b115600ca71c9ea)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:12 -10:00
Peter Marko
ffce38bad0 python3: ignore CVE-2023-36632
This CVE shouldn't have been filed as the "exploit" is described in the
documentation as how the library behaves.

(From OE-Core rev: 9665121fd9daf1174ec4045071b900de9195b11e)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c652f094d86c4efb7ff99accba63b8169493ab18)
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:12 -10:00
Peter Marko
f24230b04b libjpeg-turbo: patch CVE-2023-2804
Relevant links:
* linked fronm NVD:
  * https://github.com/libjpeg-turbo/libjpeg-turbo/issues/668#issuecomment-1492586118
* follow-up analysis:
  * https://github.com/libjpeg-turbo/libjpeg-turbo/issues/668#issuecomment-1496473989
  * picked commits fix all issues mentioned in this analysis

(From OE-Core rev: ca8ede6d29c04159e85c2bdd2b635c58ec6a1484)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:12 -10:00
Xiangyu Chen
6539812e23 package.bbclass: moving field data process before variable process in process_pkgconfig
Currently, the latest version abseil-cpp contains a new library named "absl_log_internal_format", it's
basic package config(.pc file) as below:

prefix=/usr
exec_prefix=${prefix}

......

Requires: absl_config = 20230125, absl_core_headers = 20230125, absl_log_internal_append_truncated = 20230125,
absl_log_internal_config = 20230125, absl_log_internal_globals = 20230125, absl_log_severity = 20230125,
absl_strings = 20230125, absl_str_format = 20230125, absl_time = 20230125, absl_span = 20230125
......

Normally, the process_pkgconfig() would process variable data before field data in a .pc file, but in the
absl_log_internal_format, the field data in "Requires" section contains "xxxx = xxxx" format, the
process_pkgconfig() treats them as normal variable and using the setVar() in bitbake's data_smart.py
try to process. The absl_log_internal_format field data contains "_append_", this hit the setVar() checking
and finally bitbake stop building and reporting an error as below:

"Variable xxx contains an operation using the old override syntax. Please convert this layer/metadata before attempting to use with a newer bitbake."

This patch move the field data process before variable process to avoid the process_pkgconfig() treat the field
data as variable.

(From OE-Core rev: e7d3e02a624f7ce23d012bb11ad1df2049066b37)

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
(cherry picked from commit a73e269d3e591a10bb397b94b82e3fb960112d33)
Signed-off-by: Clément Péron <peron.clem@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-26 05:20:36 -10:00
Richard Purdie
55e4c90abf gcc-testsuite: Fix ppc cpu specification
After this change in qemu:

c7e89de132

there is no 'max' cpu model on ppc. Drop it to clean up ppc gcc testsuite failures.

In order for this to work we do need to pull in the alternative cpu option from
QEMU_EXTRAOPTIONS on powerpc.

(From OE-Core rev: 3a1b9f300a796e1216d0094043dba7b0f39ec869)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c447f2b21b20fb2b1829d540af2cc0bf8242700c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-26 05:20:36 -10:00
Ross Burton
a2bf83842a machine/arch-arm64: add -mbranch-protection=standard
Enable branch protection (PAC/BTI) for all aarch64 builds.  This was
previously enabled at a global level in the GCC build, but that breaks
the gcc test suite.

(From OE-Core rev: a1119750e9b3b9fae4fa9698d2ea3710a5a73768)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8905639d1cdc5ce809cc5ecd9672f5e86bf8a579)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-26 05:20:36 -10:00
Ross Burton
8585e78965 gcc: don't pass --enable-standard-branch-protection
By changing the default code generation of GCC we're inadvertently
breaking the GCC test suite, which has ~120K+ more failures when run for
aarch64 compared to x86-64.

This was because the generated code fragments included the BTI
instructions, which the test case wasn't expecting.  We can't tell the
tests globally to run without branch protection, as that will break the
tests which also turn it on.

Remove the enabling of branch protection by standard in GCC, we'll
enable it in the tune files instead.

(From OE-Core rev: 759327cf6bd79118bae0c68e63742ae4721471d8)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bb4b9017db6a893ed054a2d2ad4cc671dec09c42)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-26 05:20:36 -10:00
Bruce Ashfield
b2e3fcb94d linux-yocto/5.15: update to v5.15.120
Updating  to the latest korg -stable release that comprises
the following commits:

    d54cfc420586 Linux 5.15.120
    c06edf13f4cf nubus: Partially revert proc_create_single_data() conversion
    6e65fa33edf5 parisc: Delete redundant register definitions in <asm/assembly.h>
    b4d8f8900021 drm/amdgpu: Validate VM ioctl flags.
    26eb191bf5a0 scripts/tags.sh: Resolve gtags empty index generation
    989b4a753c7e perf symbols: Symbol lookup with kcore can fail if multiple segments match stext
    87f51cf60e3e Revert "thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe"
    6a28f3490d3d HID: logitech-hidpp: add HIDPP_QUIRK_DELAYED_INIT for the T651.
    67ce7724637c HID: wacom: Use ktime_t rather than int when dealing with timestamps
    347732317749 bpf: ensure main program has an extable
    d874cf9799a9 can: isotp: isotp_sendmsg(): fix return error fix on TX path
    27d03d15bb8b x86/smp: Use dedicated cache-line for mwait_play_dead()
    d6c745ca4fc5 x86/microcode/AMD: Load late on both threads too
    9052349685e9 drm/amdgpu: Set vmbo destroy after pt bo is created
    796481bedc3e mm, hwpoison: when copy-on-write hits poison, take page offline
    6713b8f11aa0 mm, hwpoison: try to recover from copy-on write faults
    b46021ab8304 mptcp: consolidate fallback and non fallback state machine
    42ff95b4bd11 mptcp: fix possible divide by zero in recvmsg()

(From OE-Core rev: ab60a67c3effda6364fadcf78edf7792c75bff19)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 51c474534c27ac0739a6373595a49ebbc52c3715)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-26 05:20:36 -10:00
Bruce Ashfield
13149ac30f linux-yocto/5.15: update to v5.15.119
Updating  to the latest korg -stable release that comprises
the following commits:

    4af60700a60c Linux 5.15.119
    10fbd2e04e40 act_mirred: remove unneded merge conflict markers
    2230b3f874d9 i2c: imx-lpi2c: fix type char overflow issue when calculating the clock cycle
    907a069ec38f x86/apic: Fix kernel panic when booting with intremap=off and x2apic_phys
    7949f83f7ecc vhost_net: revert upend_idx only on retriable error
    fdac0aa4a175 drm/radeon: fix race condition UAF in radeon_gem_set_domain_ioctl
    f012d3037c15 drm/exynos: fix race condition UAF in exynos_g2d_exec_ioctl
    a44b4230d2ba drm/exynos: vidi: fix a wrong error return
    79b4125bce96 ARM: dts: Fix erroneous ADS touchscreen polarities
    9684c4fdeeca s390/purgatory: disable branch profiling
    3c4d87e9fa8a ASoC: nau8824: Add quirk to active-high jack-detect
    d77eac1b14e0 soundwire: dmi-quirks: add new mapping for HP Spectre x360
    53ad4af4ec90 ASoC: simple-card: Add missing of_node_put() in case of error
    bb45dc7b67c5 spi: lpspi: disable lpspi module irq in DMA mode
    f8d9d8f1727d s390/cio: unregister device when the only path is gone
    e10d15fdfced Input: soc_button_array - add invalid acpi_index DMI quirk handling
    26bde09a1512 nvme: double KA polling frequency to avoid KATO with TBKAS on
    e3bbc148377d usb: gadget: udc: fix NULL dereference in remove()
    cce681383d34 nfcsim.c: Fix error checking for debugfs_create_dir
    8a5ddd1430d4 media: cec: core: don't set last_initiator if tx in progress
    01cf989090da arm64: Add missing Set/Way CMO encodings
    f97b16c0a538 HID: wacom: Add error check to wacom_parse_and_register()
    e8bdb1f88699 scsi: target: iscsi: Prevent login threads from racing between each other
    1cc379d53b66 gpio: sifive: add missing check for platform_get_irq
    497d40140865 gpiolib: Fix GPIO chip IRQ initialization restriction
    7973c4b3b97d gpio: Allow per-parent interrupt data
    c1a2b52d999e sch_netem: acquire qdisc lock in netem_change()
    3138c85031e8 selftests: forwarding: Fix race condition in mirror installation
    b7db41a86541 bpf/btf: Accept function names that contain dots
    0f8d81254fd6 Revert "net: phy: dp83867: perform soft reset and retain established link"
    57130334da4e netfilter: nfnetlink_osf: fix module autoload
    53defc6ecff4 netfilter: nf_tables: disallow updates of anonymous sets
    2f2f9eaa6da1 netfilter: nf_tables: reject unbound chain set before commit phase
    2938e7d582d7 netfilter: nf_tables: reject unbound anonymous set before commit phase
    baa3ec1b31f5 netfilter: nf_tables: disallow element updates of bound anonymous sets
    45eb6944d0f5 netfilter: nft_set_pipapo: .walk does not deal with generations
    4004f12aaca8 netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with bound set/chain
    314a8697d080 netfilter: nf_tables: fix chain binding transaction logic
    1328e8d4c3ee be2net: Extend xmit workaround to BE3 chip
    768f94c5f639 net: dsa: mt7530: fix handling of BPDUs on MT7530 switch
    aa528e7d379f net: dsa: mt7530: fix trapping frames on non-MT7621 SoC MT7530 switch
    efea112a87b6 ipvs: align inner_mac_header for encapsulation
    24d7d9aee03d mmc: usdhi60rol0: fix deferred probing
    d1e08bed0307 mmc: sh_mmcif: fix deferred probing
    34c4906b9a06 mmc: sdhci-acpi: fix deferred probing
    41f1e8dab08d mmc: owl: fix deferred probing
    b86ca9e08ca9 mmc: omap_hsmmc: fix deferred probing
    445a9568dec1 mmc: omap: fix deferred probing
    840deb8d1418 mmc: mvsdio: fix deferred probing
    92f73c4f927c mmc: mtk-sd: fix deferred probing
    aedecd013d2c net: qca_spi: Avoid high load if QCA7000 is not available
    156dd06fb337 xfrm: Linearize the skb after offloading if needed.
    d967bd7ea6cc selftests: net: fcnal-test: check if FIPS mode is enabled
    964cfdfd4b4f xfrm: fix inbound ipv4/udp/esp packets to UDPv6 dualstack sockets
    25e89fa7b5a8 bpf: Fix verifier id tracking of scalars on spill
    0b180495f6b0 bpf: track immediate values written to stack by BPF_ST instruction
    3229a29e95f5 xfrm: Ensure policies always checked on XFRM-I input path
    d055ee18cab8 xfrm: interface: rename xfrm_interface.c to xfrm_interface_core.c
    491ce3c1d98a xfrm: Treat already-verified secpath entries as optional
    0ce3d0c068d9 ieee802154: hwsim: Fix possible memory leaks
    29672dc47d99 mmc: meson-gx: fix deferred probing
    9bac4a2b7326 memfd: check for non-NULL file_seals in memfd_create() syscall
    103734b429b9 x86/mm: Avoid using set_pgd() outside of real PGD pages
    793d0224bb60 nilfs2: prevent general protection fault in nilfs_clear_dirty_page()
    96987c383c2b io_uring/net: disable partial retries for recvmsg with cmsg
    25a543ca3005 io_uring/net: clear msg_controllen on partial sendmsg retry
    34a7e5021a43 io_uring/net: save msghdr->msg_control for retries
    b07bb2914ada writeback: fix dereferencing NULL mapping->host on writeback_page_template
    3c46a240ddba regmap: spi-avmm: Fix regmap_bus max_raw_write
    4796d9b06917 regulator: pca9450: Fix LDO3OUT and LDO4OUT MASK
    ba9952e2f50b ip_tunnels: allow VXLAN/GENEVE to inherit TOS/TTL from VLAN
    acee272283f4 mmc: mmci: stm32: fix max busy timeout calculation
    999173f295cc mmc: meson-gx: remove redundant mmc_request_done() call from irq context
    00010b52c705 mmc: sdhci-msm: Disable broken 64-bit DMA on MSM8916
    4a557910bbed cgroup: Do not corrupt task iteration when rebinding subsystem
    815b24401165 PCI: hv: Add a per-bus mutex state_lock
    34e21b8ff3e6 PCI: hv: Fix a race condition in hv_irq_unmask() that can cause panic
    7d852ca7af37 PCI: hv: Remove the useless hv_pcichild_state from struct hv_pci_dev
    5e0d33cc7813 Revert "PCI: hv: Fix a timing issue which causes kdump to fail occasionally"
    ac0df91c7d98 PCI: hv: Fix a race condition bug in hv_pci_query_relations()
    80c5d97b4aa1 Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs
    4d31eb2e266c Drivers: hv: vmbus: Call hv_synic_free() if hv_synic_alloc() fails
    953dd7e2df81 KVM: Avoid illegal stage2 mapping on invalid memory slot
    1d6c93206839 ACPI: sleep: Avoid breaking S3 wakeup due to might_sleep()
    b12011cea56b nilfs2: fix buffer corruption due to concurrent device reads
    485f6be2549c selftests: mptcp: join: skip check if MIB counter not supported
    64cb73ea77ab selftests: mptcp: join: use 'iptables-legacy' if available
    979a941d7ed3 selftests: mptcp: pm nl: remove hardcoded default limits
    ac65930751c4 selftests/mount_setattr: fix redefine struct mount_attr build error
    726d033133e7 selftests: mptcp: lib: skip if not below kernel version
    b28fc26683b4 selftests: mptcp: lib: skip if missing symbol
    024a24e5d4dd tick/common: Align tick period during sched_timer setup
    3c1aa91b37f9 drm/amd/display: Add wrapper to call planes and stream update
    eea850c025b5 drm/amd/display: Use dc_update_planes_and_stream
    fb7c68bbccad drm/amd/display: Add minimal pipe split transition state
    b5f0e898f674 tpm, tpm_tis: Claim locality in interrupt handler
    39e787253720 tracing: Add tracing_reset_all_online_cpus_unlocked() function
    5a24be76af79 drm/amd/display: fix the system hang while disable PSR

(From OE-Core rev: c76f1027756cc83d81b43522a1601b5fda972f86)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 8ecf81b1960ab1001efe41cb3d132accf985e3dc)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-26 05:20:36 -10:00
Archana Polampalli
ba1a77347c ghostscript: fix CVE-2023-36664
Artifex Ghostscript through 10.01.2 mishandles permission validation for
pipe devices (with the %pipe% prefix or the | pipe character prefix).

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2023-36664

Upstream patches:
https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5e65eeae225c7d02d447de5abaf4a8e6d234fcea
https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fb342fdb60391073a69147cb71af1ac416a81099

(From OE-Core rev: cd3921215cb782ecc9aeda5bb3b76863911bcb61)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-26 05:20:36 -10:00
Vijay Anusuri
81874924a7 qemu: backport Debian patch to fix CVE-2023-0330
import patch from ubuntu to fix
 CVE-2023-0330

Upstream-Status: Backport [import from ubuntu https://git.launchpad.net/ubuntu/+source/qemu/tree/debian/patches?h=ubuntu/jammy-security
Upstream commit b987718bbb]

(From OE-Core rev: aae5bf06ad3c67386544f9da55aa21fbf32c3418)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-26 05:20:36 -10:00
Michael Opdenacker
cc3287637c ref-manual: release-process: update for LTS releases
(From yocto-docs rev: 145488ac9ee4ad5efb0966f07ff5e7ff804f6562)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Michael Opdenacker
23ca3ba890 ref-manual: add LTS and Mixin terms
(From yocto-docs rev: f9ce60e2a035f3921901d2c6633df6e302cad1c7)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Lee Chee Yang
b54543f7e8 migration-guides: add release notes for 4.0.11
(From yocto-docs rev: 96575a0c06d206400a5efde2ec2ddcda54a43105)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Quentin Schulz
6c185e7ae0 docs: ref-manual: terms: fix typos in SPDX term
Fixes: 2c53ac40e99a ("ref-manual: terms.rst: add SBOM and SPDX terms")
Cc: Quentin Schulz <foss+yocto@0leil.net>
(From yocto-docs rev: aaa554381a46c66d7708967c65893992760aa5fe)

Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Tom Hochstein
10f1543541 cmake: Fix CMAKE_SYSTEM_PROCESSOR setting for SDK
When building using an SDK, cmake complains that the target
architecture 'cortexa53-crypto' is unknown. The same build in bitbake
uses the target architecture 'aarch64'.

Set CMAKE_SYSTEM_PROCESSOR the same as for bitbake.

(From OE-Core rev: d877d5f07772ec4a05332068ddc03cf387313036)

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d32a6225eefce2073a1cd401034b5b4c68351bfe)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Heiko Thole
0d0acb2e4c wic: Add dependencies for erofs-utils
In order to build erofs filesystems, wic must have the erofs-utils package installed into its sysroot.

(From OE-Core rev: c349c7fcb299b123824da9a13ee58222a6cbf9ec)

Signed-off-by: Heiko Thole <heiko.thole@entwicklung.eq-3.de>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Alexander Kanavin
7fa5220b3b sysfsutils: fetch a supported fork from github
Debian does the same:
https://packages.debian.org/source/sid/sysfsutils

(From OE-Core rev: 9f35ca9d9ed4be4d27318230f4ae42c4885d1f0c)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 504b2f590cb94b217c5f48090cfb71a749bd5ac8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Chen Qi
18b69cb60d unzip: fix configure check for cross compilation
The original configure runs a generated binary to determine
features. This is not correct for cross compilation. So change
the runtime tests into compile-time tests to fix the issue.

(From OE-Core rev: 7d99f3a9a2a74fe2e8753b00553f07f305d14c87)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b9aca339b59238988c48b90ea5019bfc939ba4b3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Chen Qi
4b4b09c2be zip: fix configure check by using _Static_assert
It's incorrect to run a cross-compiled program on build machine
to check if some feature is available or not. As these two checks
in zip are basically just checking the size, we can use _Static_assert
and sizeof to do such check at compile time.

(From OE-Core rev: 6f5986fb520ab89b0950d3e0fa8492de4de7798f)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit dda778d855b1838ae3004a9af310724b913490b4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Chen Qi
43ce6be661 sdk.py: fix moving dnf contents
The dnf contents should be moved to <host_sysroot>/etc/dnf/xxx
instead of just <host_sysroot>/etc.

(From OE-Core rev: 006ff31ddad4c53c63adf1dacecbf2783404a546)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 74b78d160a985e98f869c777847ab798e419dd2d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Chen Qi
2902244070 sdk.py: error out when moving file fails
Instead of printing an error message and continuing, we should just
error out when moving file fails.

(From OE-Core rev: 4ed94fef70df05c874cf0c68dcc95c5636687825)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 12aecd9da94b5f27041982c661e8bab316d365d4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Alberto Planas
be36dfcfc6 bitbake.conf: add unzstd in HOSTTOOLS
rpm2cpio.sh can make calls to unzstd to uncompress the RPM payload that
conform the cpio file.

zstd is already part of HOSTTOOLS, as a link to the system installed
zstd.

This patch add unzstd in HOSTOOLS list as a non-optional binary, so is
available to rpm2cpio.sh when it is required.

(From OE-Core rev: 5cee002e34d16e9d82045d3e8e3931ba046403d2)

Signed-off-by: Alberto Planas <aplanas@suse.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bff58d337890e804d33d7decbaa46065a4d3bba4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Alexander Sverdlin
335eb3a93e rust-llvm: backport a fix for build with gcc-13
* needed for rust-llvm-native on hosts with gcc-13

Based on commit 3382759cb6c5 ("llvm: backport a fix for build with gcc-13")

(From OE-Core rev: d6684a9c9f713ad30442a2a036ff86b534585400)

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Marek Vasut
683b79aa58 systemd: Backport nspawn: make sure host root can write to the uidmapped mounts we prepare for the container payload
Backport fix for systemd nspawn uidmap handling from systemd v253 .
Without this, attempt to start mkosi generated debian stable 12
container would ultimately fail (per "$ strace -ff") with:
"
symlinkat("usr/lib/aarch64-linux-gnu", 8, "lib64") = -1 EOVERFLOW (Value too large for defined data type)
"

Command to generate test container:
"
mkosi --distribution debian --release stable --architecture arm64 \
      --cache-dir /home/oe/cache/ --format tar --compress-output xz \
      --output-dir /home/oe/output/ --checksum 1 --root-password root \
      --package systemd --package udev --package dbus
"

Command to import test container and start it, which triggers the failure:
"
$ machinectl pull-tar http://192.168.1.300/image.tar.xz default
$ machinectl read-only default false
$ rm -f /var/lib/machines/default/etc/machine-id
$ dbus-uuidgen --ensure=/var/lib/machines/default/etc/machine-id
$ machinectl start default
"

Minimal command to trigger the failure once container is imported:
"
$ strace -ff systemd-nspawn --keep-unit --boot --link-journal=try-guest --network-veth -U --settings=override --machine=default
"

Extracted from systemd MR:
https://github.com/systemd/systemd/pull/22774

Further explanation by Christian Brauner at second half of:
https://github.com/systemd/systemd/issues/20989

(From OE-Core rev: 6d190eb0caadcb95c5325ede32164a645abb61f3)

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Mauro Queiros
71cb6bd31c pybootchartgui: show elapsed time for each task
Currently, finding the elapsed time of each task in buildtimes.svg
is a manual effort of checking the top axis and finding and subtracting
the end and start time of the task.

This change adds the elapsed time for each task, so that
manual effort of comparing start/end time is avoided.

(From OE-Core rev: b2678422b411ccbd19a7b198c872b92077567391)

Signed-off-by: Mauro Queiros <Mauro.Queiros@criticaltechworks.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3efebd3404de548f0757863da237f2d18ce60013)
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Jermain Horsman
3bf387217f logrotate: Do not create logrotate.status file
The first time logrotate runs it reports an error:

  error: state file /var/lib/logrotate.status is
  world-readable and thus can be locked from other
  unprivileged users. Skipping lock acquisition...

This check was added with
1f76a381e2

This error is only reported once as logrotate removes
the world-readable permissions if this happens.
Since logrotate creates this file if it does not exist,
there should be no need to install it in the first place.

(From OE-Core rev: fbfd62ac655cf00b8f7c8fc832ce7434ad4966a3)

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 8169cd2d18f1569e4357f082adbef492710e8c36)
Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Nikhil R
67c4196ac1 libpng: Add ptest for libpng
libpng is a platform-independent library which
supports all PNG features.
This ptest executes the below binaries, parses
the png image and prints the image features.

1. pngfix - provides information about PNG image
copyrights details.

2. pngtest - tests, optimizes and optionally fixes
the zlib header in PNG files.

3. pngstest - verifies the integrity of PNG image by
dumping chunk level information.

4. timepng - provides details about PNG image chunks.

(From OE-Core rev: 2d58b38185ca7eed5d885b8d00ca549b57138554)

Signed-off-by: Nikhil R <nikhil.r@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Jose Quaresma
934cbbc48e selftest/reproducible: Allow chose the package manager
This is a follow-up of 76e5fcb2 that also allow users to chose
the package manager using OEQA_REPRODUCIBLE_TEST_PACKAGE

(From OE-Core rev: 4402b746f49611abe71719dd1d174de79bb030bb)

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3d414d85b44077bac57aba36707b0fc699a73e97)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Mikko Rapeli
17110ad8f5 selftest reproducible.py: support different build targets
Allow users to set different build reproducibility targets than
the defaults using OEQA_REPRODUCIBLE_TEST_TARGET and
OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS variables in local.conf.

Fixing all issues from "world" builds is not possible in some
complex build environments with lots of layers. Limiting the focus to
a smaller subset allows using this test to detect and fix build
reproduction issues incrementally.

(From OE-Core rev: 3b82a7d74995c0670a6914c58b3d7c42327b8ee9)

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit c66bebbce5995e386a1a4d055a914a39b6ee518d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Trevor Gamblin
4a93bab7a4 vim: upgrade 9.0.1527 -> 9.0.1592
Fixes:

https://nvd.nist.gov/vuln/detail/CVE-2023-2609
d1ae836 patch 9.0.1531: crash when register contents ends up being invalid
https://nvd.nist.gov/vuln/detail/CVE-2023-2610
ab9a2d8 patch 9.0.1532: crash when expanding "~" in substitute causes very long text

(From OE-Core rev: a71153cb0a509456dd36466ac15a603f953eb6b8)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1e4b4dfb4145bc00eb6937b5f54a41170e9a5b4c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Alexander Kanavin
f111db3f71 wireless-regdb: upgrade 2023.02.13 -> 2023.05.03
(From OE-Core rev: 1eebdfba70ceaa8d73ab46c3131d022e53245eaa)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 47438402fa430499864a4b1f1a13eaac66aa21c0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Alexander Kanavin
1752b29e7c linux-firmware: upgrade 20230404 -> 20230515
License-Update: additional firmwares

(From OE-Core rev: 8ac5ebfa83c3e1f5effca5154b771b2f2bed607d)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 64603f602d00999220fe5bafeed996ddcb56d36b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Alexander Kanavin
a6a43a90fa wget: upgrade 1.21.3 -> 1.21.4
Stable version release

Noteworthy changes in release 1.21.4 (2023-05-11)

** Document --retry-on-host-error in help text

** Increase read buffer size to 64k. This should speed up downloads on gigabit
and faster connections

** Update deprecated option '--html-extension' to '--adjust-extension' in
documentation

** Update gnulib compatibility layer.
   Fixes HSTS test failures on i686. (Thanks to Andreas Enge for ponting it out)

License-Update: copyright years

(From OE-Core rev: 024feac4827dc847ba83a64de82cef524156a9ea)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 67ec2d5bab891cb92af9ca32304a4927daf51ed0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 4e7ec4bef86c79b4221a800ace700c58ce033de1)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Alexander Kanavin
c20aabad9c serf: upgrade 1.3.9 -> 1.3.10
Apache Serf 1.3.10 [2023-05-31, from tags/1.3.10, r1910048]
  Support for OpenSSL 3 (r1901937, ...)
  Fix issue #171: Win32: Running tests fails with "no OPENSSL_Applink" error
  Fix issue #194: Win32: Linking error when building against OpenSSL 1.1+
  Fix issue #198: OpenSSL BIO control method incorrectly handles unknown requests
  Fix issue #202: SSL tests are not passing with OpenSSL 3
  Fix error handling when reading the outgoing request body (r1804534, ...)
  Fix handling of invalid chunk lengths in the dechunk bucket (r1804005, ...)
  Fix an endless loop in the deflate bucket with truncated input (r1805301)
  Fix BIO control handlers to support BIO_CTRL_EOF (r1902208)
  Fix a CRT mismatch issue caused by using certain OpenSSL functions (r1909252)
  Build changes to support VS2017, VS2019 and VS2022 (r1712131, ...)
  Build changes to support Python 3 (r1875933)

As serf is undead, we need to reassess all the remaining patches.

(From OE-Core rev: 275c6b7ac72330e14ba55907e8494314b63a9adf)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 775cbcc876edcb6c339f342a3253f5afcf6ef163)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 17a46eee905f0ecfdbebb014533848dc7e906ec7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Ross Burton
9113d5b4d7 tzdata: upgrade to 2023c
Drop a backport patch as it is now integrated.

(From OE-Core rev: 134bac52904722cd63fde07f5784c0cca3fbcb05)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 80d26d1da47dcd9213a7083d9493a7bce0897a57)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Soumya
df5e8bcceb libwebp: Fix CVE-2023-1999
There exists a use after free/double free in libwebp. An attacker can
use the ApplyFiltersAndEncode() function and loop through to free
best.bw and assign best = trial pointer. The second loop will then
return 0 because of an Out of memory error in VP8 encoder, the pointer
is still assigned to trial and the AddressSanitizer will attempt a double free.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2023-1999

Upstream patch:
a486d800b6

(From OE-Core rev: a5d0f8734ca643c25f0952387b38edf8ffd70525)

Signed-off-by: Soumya <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Vivek Kumbhar
aeb3b3fa07 curl: Added CVE-2023-28320 Follow-up patch
Introduced by: 3c49b405de (curl-7_9_8)
Fixed by: 13718030ad (curl-8_1_0)
Follow-up: f446258f02 (curl-8_1_0)

(From OE-Core rev: f19c20c429395c1b4c62a6e0388ef51b830871c5)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Poonam Jadhav
881247de60 libx11: Fix CVE-2023-3138 for kirkstone branch
Add patch to fix CVE-2023-3138 for kirkstone branch

Link: 304a654a0d.patch

(From OE-Core rev: 5491531d4681d3df5a34ebc180e29a8bf4e09e67)

Signed-off-by: Poonam Jadhav <poonam.jadhav@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Hitendra Prajapati
56c1ffb1d3 bind : fix CVE-2023-2828 & CVE-2023-2911
Backport fixes for:
* CVE-2023-2828 - Upstream-Status: Backport from e9d5219fca
* CVE-2023-2911 - Upstream-Status: Backport from 240caa32b9 && ff5bacf17c

(From OE-Core rev: 08810d3fe6988ea821805eca16105b4632335654)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Vijay Anusuri
4f488ca49e sqlite3: CVE-2023-36191 CLI fault on missing -nonce
Upstream-Status: Backport [https://sqlite.org/src/info/cd24178bbaad4a1d]

(From OE-Core rev: 663713b2f95dee1e70f8921ece23b21d84d93805)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Soumya
80ecd63cc8 perl: Fix CVE-2023-31486
HTTP::Tiny before 0.083, a Perl core module since 5.13.9 and available
standalone on CPAN, has an insecure default TLS configuration where
users must opt in to verify certificates.

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

Upstream patches:
77f557ef84
a22785783b

(From OE-Core rev: 5819c839e1de92ab7669a0d4997886d0306c4cc1)

Signed-off-by: Soumya <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Ross Burton
471318ae2f cve-update-nvd2-native: actually use API keys
There were vestigal remains of API key support which could be removed,
but as using an API key - in theory - gives the user larger rate limits
it's probably wise to expose it.

If the user has an API key, then set NVDCVE_API_KEY.

(From OE-Core rev: 200c2783b3f8546f561382fff6bd5268680d403a)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a542de684282bfec79f24ae2f1a2027ffde319d8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-13 06:42:46 -10:00
Ross Burton
8a14072295 cve-update-nvd2-native: log a little more
Add a note of what range we're fetching, and use bb.note() instead of
debug() as messages about retrying shouldn't really be considered debug
logging.

(From OE-Core rev: be409f17e64dac2c6fa2cafba73c2084c68c59bf)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b64a869b9c5e1d504f1011da16b5c5ff721afbf0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-13 06:42:46 -10:00
Peter Marko
c5558d6e86 cve-update-nvd2-native: increase retry count
Current 503 errors seem to last several seconds.
In most cases there are two errors and third request succeeds.
However sometimes the outage takes more than time needed
for two retries and third one also fails.

Extend retry count from 3 to 5 to improve the probablity
that the fetcher succeeds.

(From OE-Core rev: eceeba61b5da6d81f0677365f956464f1e5f1d84)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f4d118af2360cff7f234102fd5e4b65a6f4146a6)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-13 06:42:46 -10:00
Peter Marko
d6bf614ab4 cve-update-nvd2-native: retry all errors and sleep between retries
Last couple days it is not possible to update NVD DB as servers
are returning lot of errors.
Mostly "HTTP Error 503: Service Unavailable" is observed but
sporadially also some others.

Retrying helps in most cases, so extend retries to all errors.

Additionally add sleep which is recommended by NVD between requests.
These retries are already implemented between successful requests,
but giving servers time between failed ones is important, too.

(From OE-Core rev: c061bcd54fc8b62ea9a005f422a17ca46eac68c2)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 88dad8f198baa80af5ab576498f4df6ed639d551)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-13 06:42:46 -10:00
Peter Marko
bd4b28bb37 cve-update-nvd2-native: fix cvssV3 metrics
After upgrade to soon-to-be-released kirkstone 4.0.11 CVE annotations got broken.
Anything which has only cvssV3 does not resolve properly.
Fix the API fields used to extract it.

i0.0 score is now at level of NVD DB 1.1.
All CVEs with UNKNOWN vector are not present in NVD DB 1.1.

NVD API 1.1:
sqlite> select vector, count(vector) from nvd group by vector;
ADJACENT_NETWORK|4776
LOCAL|32146
NETWORK|167746
PHYSICAL|185
sqlite> select scorev3, count(scorev3) from nvd group by scorev3;
0.0|73331
1.8|7
1.9|3
...

NVD API 2.0 (broken):
sqlite> select vector, count(vector) from nvd group by vector;
ADJACENT_NETWORK|4587
LOCAL|26273
NETWORK|150421
UNKNOWN|24644
sqlite> select scorev3, count(scorev3) from nvd group by scorev3;
0.0|205925

NVD API 2.0 (fixed):
sqlite> select vector, count(vector) from nvd group by vector;
ADJACENT_NETWORK|5090
LOCAL|32322
NETWORK|168004
PHYSICAL|213
UNKNOWN|511
sqlite> select scorev3, count(scorev3) from nvd group by scorev3;
0.0|73841
1.8|7
1.9|3
...

(From OE-Core rev: c00b89c2a5de8ce59b759ed8bf482942458421ff)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 61a5857efdcc0f49c69c0deb24fce99007aeef19)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-13 06:42:46 -10:00
Ross Burton
00e0d5e515 cve-update-nvd2-native: use exact times, don't truncate
When requesting updates in a specific range, use the actual current time
and database mtime instead of truncating to midnight, and explicitly set
the timezone to UTC so that NIST don't treat the timestamps as _their_ local
time when they're _our_ local time.

(From OE-Core rev: 91243ad474be00e55aa99355edef44f2fe2311f1)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9aa0ec37f5f74252588d2494a71c71a7d8e68df9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-13 06:42:46 -10:00
Ross Burton
62727653aa cve-update-nvd2-native: handle all configuration nodes, not just first
Some CVEs, such as CVE-2013-6629, list multiple configurations which are
vulnerable. The current JSON parser only considers the first
configuration.

Instead, consider every configuration. We don't yet handle the AND/OR
logical operators, but this is a step in the right direction.

(From OE-Core rev: 7614e00b9491e5d4d6df5492f72613a56ab390d7)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e1bf4f6dd686055fe9a8bdcc3f739eac2807bae0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-13 06:42:46 -10:00
Richard Purdie
fdd6898464 strace: Update patches/tests with upstream fixes
Replace the sockopt disable patch with a fix from upstream

(From OE-Core rev: cef730284b8616ba07c1b062c992c36af730580e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ac921989991c319ecad01bec37c4ccaa15a7b58f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit c1beb73526e3ade75bd6dae5f9310107c50f1226)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Richard Purdie
97654445c6 strace: Merge two similar patches
Both patches change the same paths to gawk, merge them together
as we only need one patch for this.

(From OE-Core rev: 81af8c6fdc6f0b6617b7258c9b3e2e26a76db5c8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 79c0b18e29cad337640860f57683f0a170f6daab)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 6080138fd0c27db7029b5a76e69b8dc241ad8dc3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Richard Purdie
48373d750c strace: Disable failing test
This test is failing for uncertain reasons. We have reported upstream, disable
it until we can work out why this happened. The point it started failing is
unclear due to other test framework issues.

(From OE-Core rev: fc32e725a0c73772a2ad4e31e1aa1d61f72f9da1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2e9165a854c7b83f163479e9dbd3cb183a9d71f5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Alexander Kanavin
484171e42c grub: submit determinism.patch upstream
(From OE-Core rev: 846d8097fed9498fab7120ed61a962ff2c15746a)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 61947762e410c685f667e0af6440fb8a33cd6777)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Charlie Wu
defeae880f devtool: Fix the wrong variable in srcuri_entry
devtool crashes when running "update-recipe" and append changes on the recipe.
"$ devtool update-recipe -a <layer> <recipe>"
Traceback (most recent call last):
...
File "/ovss/ovss_quanta/poky/scripts/lib/devtool/standard.py", line 1636, in srcuri_entry
    return 'file://%s%s' % (basepath, paramstr)
                            ^^^^^^^^
NameError: cannot access free variable 'basepath' where it is not associated with a value in enclosing scope

The input variable 'fname' should have the same meaning as the variable 'basepath'.
Modify the 'fname' to 'basepath' and solve the issue.

(From OE-Core rev: 1487bdda6b443480e9ce45d8b8527ad61c2a50a4)

Signed-off-by: Charlie Wu <chiachiwu@google.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit c3231756bbc2cb5641204414ad3670d7f8607ed3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Mikko Rapeli
c7bc5446a6 useradd-staticids.bbclass: improve error message
Current error message is difficult to read:

ERROR: Nothing PROVIDES 'image'
trs-image was skipped: image - image: normal username test does not have a static ID defined. Add test to one of these files

It's not clear that first "image" is recipe name, second "image" is
binary package name and that "test" is the user account which does not
have a static ID defined. Improve the error message so that these are
more explicit. Now the error message looks like:

image was skipped: Recipe image, package image: normal username "test" does not have a static ID defined.

(From OE-Core rev: 572c507736b2fcc31f7f13cb3da0d5be361838f5)

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 07898218f3908a83e07178b6530dfa48d55d4ec2)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Khem Raj
d2a1c3e5d7 babeltrace2: Always use BFD linker when building tests with ld-is-lld distro feature
lld results in textrels in some .so used in tests, fixes

babeltrace2-ptest: ELF binary /usr/lib/babeltrace2/ptest/tests/lib/test-plugin-plugins/plugin-minimal.so has relocations in .text
babeltrace2-ptest: ELF binary /usr/lib/babeltrace2/ptest/tests/lib/test-plugin-plugins/plugin-sfs.so has relocations in .text [textrel]
ERROR: babeltrace2-2.0.5-r0 do_package_qa: QA Issue: babeltrace2: ELF binary /usr/lib/babeltrace2/plugins/babeltrace-plugin-ctf.so has relocations in .text
babeltrace2: ELF binary /usr/lib/babeltrace2/plugins/babeltrace-plugin-utils.so has relocations in .text
babeltrace2: ELF binary /usr/lib/babeltrace2/plugins/babeltrace-plugin-text.so has relocations in .text [textrel]

(From OE-Core rev: 1c02416041498c649c517a9933ab736fca2ceae8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 18d443b53a0d76102fbbc1088fbcb3f8087a2b1b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Alexander Kanavin
3986d5c2e1 maintainers.inc: unassign Ricardo Neri from ovmf
We were not able to get a response about availability over email, and so the recipe
has to be unassigned.

(From OE-Core rev: 8d2e96c3a611aba63aa9a51f6b350ea8c9654e06)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 56f1af6d5b3019dccbc27bb0a9692a5f1a32f87b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Alexander Kanavin
c64dc188e8 maintainers.inc: unassign Alistair Francis from opensbi
We were not able to get a response about availability over email, and so the recipe
has to be unassigned.

(From OE-Core rev: 61e64e7af709dd03dd4018c69a752f2eadc5372e)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 60eda3dcbf96b5982a0e282fd0c3c13b0b4d7787)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Alexander Kanavin
0dce15ad65 maintainers.inc: unassign Adrian Bunk from wireless-regdb
We were not able to get a response about availability over email, and so the recipe
has to be unassigned.

(From OE-Core rev: 191ab08c035f1811af932775a767b5e83a95e35b)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3beb88060be9484cfe75dfa60f041b0b32214978)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Fabien Mahot
00fabc3939 oeqa/selftest/bbtests: add non-existent prefile/postfile tests
Fixes [YOCTO #10725]

(From OE-Core rev: ef732d6dd735ad06c229eb4e2a4aca295490ec53)

Signed-off-by: Fabien Mahot <fabien.mahot@smile.fr>
Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b0c33655fad5b2e7d96a45b6210527dfb766797b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Alexander Kanavin
bb2ce4dcf6 scripts/runqemu: allocate unfsd ports in a way that doesn't race or clash with unrelated processes
There is already a neat check_free_port() function for finding an available port
atomically, so use that and make two additional tweaks:

- no need to allocate two separate ports; per unfsd documentation they can be the same

- move lockfile release until after unfsd has been shut down and the port(s) used has been freed

[YOCTO #15077]

(From OE-Core rev: 343510b33650c88367f95e8d8322fae92ae901ca)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit dee96e82fb04ea99ecd6c25513c7bd368df3bd37)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Alexander Kanavin
e69c311ed6 scripts/runqemu: split lock dir creation into a reusable function
(From OE-Core rev: 2ada5f426e71e3873ba8c47dd925d8cfc103524b)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 004d6bcb067ecf1d796801fa43a98820c4efd3c7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
BELOUARGA Mohamed
983548705a meta: lib: oe: npm_registry: Add more safe caracters
NPM registry cache should support caracaters like '(' and ')'
Explanation: NPM packages can contains these caracters like : @(._.)/execute

(From OE-Core rev: d3c1638077d4acbd61e7770c8e1d299ea33df638)

Signed-off-by: BELOUARGA Mohamed <m.belouarga@technologyandstrategy.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 6110d9e24e43e286781afd1b3634a4ad1a2050d0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Frieder Paape
b954f15d66 image_types: Fix reproducible builds for initramfs and UKI img
I've encountered issues reproducing initramfs and UKI image builds,
which will be fixed with this patch.

1. initramfs
There's a symbolic link to /sbin/init, which is appended to the cpio archive after creation.
The links timestamp needs to be static and the cpio append command needs the '--reproducible' flag to produce deterministic outcomes.

2. Unified Kernel Image
'--preserve-dates' is required for a static 'Time/Date' entry.
I've added '--enable-deterministic-archives' although in my case this
didn't change anything.

(From OE-Core rev: 0d8890f7c1fbea5036acefa3031dcd442b316725)

Signed-off-by: Frieder Paape <frieder@konvera.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit fd027729bafb4e085ba0949e38e724f3a8cad102)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Richard Purdie
6646aadd71 v86d: Improve kernel dependency
Working with enabling SPDX, an issue was observerd where v86d wasn't rebuilding
when the kernel was changed from linux-yocto to linux-yocto-rt.

This is due to the code in sstatesig.py which was seeing the RRECOMMENDS on a
kernel module and ignoring the DEPENDS. The v86d is technically a kernel module
since it uses kernel header files.

There are two ways to address this, we could inherit the module-base class and
the dependency code does the correct thing. It appears the code doesn't look into
STAGING_KERNEL_DIR though and doesn't use the kernel sources. We can therefore drop
the DEPENDS and the code will the do the correct thing.

(From OE-Core rev: b842b8b51e0819eebf1fb3a2359b8c06863e553a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 37ccd11cb0b89416b8e23160445186269b6c0c8a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Bruce Ashfield
6f363c80ae linux-yocto/5.15: cfg: fix DECNET configuration warning
-stable merged the DECNET removal to 5.15, so we integrate
the following kernel-cache commit to fix the kernel configuration
audit warning:

    b647d9611cb base: drop CONFIG_DECNET

(From OE-Core rev: 4c063286ab115abf3d15e4713ea9bcd4f5fb1ab2)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 06ef70ac1fa8201c5b46050e098ebea3b1423f9f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Bruce Ashfield
d95abdb246 linux-yocto/5.15: update to v5.15.118
Updating  to the latest korg -stable release that comprises
the following commits:

    f67653019430 Linux 5.15.118
    e5bf1f7d1fc8 nilfs2: reject devices with insufficient block count
    2bc9231afc64 mmc: block: ensure error propagation for non-blk
    4b7b50d4eb1a of: overlay: add entry to of_overlay_action_name[]
    84770cc54eff neighbour: delete neigh_lookup_nodev as not used
    41806518254c net: Remove DECnet leftovers from flow.h.
    4c39a2414a23 net: Remove unused inline function dst_hold_and_use()
    bb76281b6e61 neighbour: Remove unused inline function neigh_key_eq16()
    67866cad7624 rcu/kvfree: Avoid freeing new kfree_rcu() memory after old grace period
    c91ed3a5c2ab cgroup: always put cset in cgroup_css_set_put_fork
    33b801be2de1 afs: Fix vlserver probe RTT handling
    f824bcc3e14b selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET
    2077c7dbfe29 net: tipc: resize nlattr array to correct size
    f734e16ee17f dm: don't lock fs when the map is NULL during suspend or resume
    8a8179f6a345 net: lapbether: only support ethernet devices
    052417e8b3ac net/sched: cls_api: Fix lockup on flushing explicitly created chain
    c0cb9d453fd1 ext4: drop the call to ext4_error() from ext4_get_group_info()
    eb4ccc102d5f cifs: fix lease break oops in xfstest generic/098
    1cb181271eab drm/nouveau: add nv_encoder pointer check for NULL
    c79dccc263db drm/nouveau/dp: check for NULL nv_connector->native_mode
    909b7f7497cc drm/nouveau: don't detect DSM for non-NVIDIA device
    10e1e07bdea4 igb: fix nvm.ops.read() error handling
    fe03fd373ca6 igc: Clean the TX buffer and TX descriptor ring
    032b8cbeb19c sctp: fix an error code in sctp_sf_eat_auth()
    981e78781a96 ipvlan: fix bound dev checking for IPv6 l3s mode
    3e76522d1a6d net: ethtool: correct MAX attribute value for stats
    18512de74454 IB/isert: Fix incorrect release of isert connection
    63e9e7198374 IB/isert: Fix possible list corruption in CMA handler
    29ff057c0a50 IB/isert: Fix dead lock in ib_isert
    fced7aaaa38f IB/uverbs: Fix to consider event queue closing also upon non-blocking mode
    cd44977ecc94 RDMA/cma: Always set static rate to 0 for RoCE
    5a9dee176b4b RDMA/mlx5: Initiate dropless RQ for RAW Ethernet functions
    35828874aa9f octeontx2-af: fix lbk link credits on cn10k
    7506e77357da octeontx2-af: fixed resource availability check
    4dd914b9e2f9 iavf: remove mask from iavf_irq_enable_queues()
    e6342cd13d39 RDMA/rxe: Fix the use-before-initialization error of resp_pkts
    466f25fd2d9b RDMA/rxe: Removed unused name from rxe_task struct
    13d087b3587b RDMA/rxe: Remove the unused variable obj
    0e1098d72fa4 net/sched: cls_u32: Fix reference counter leak leading to overflow
    d56661cd8d55 net/sched: act_pedit: Parse L3 Header for L4 offset
    17b330b78244 net/sched: act_pedit: remove extra check for key type
    219b8e98387f net/sched: simplify tcf_pedit_act
    688e6db59661 ping6: Fix send to link-local addresses with VRF.
    471a4c08e30e net: enetc: correct the indexes of highest and 2nd highest TCs
    44ebe988cb38 netfilter: nf_tables: incorrect error path handling with NFT_MSG_NEWRULE
    133b73d85343 netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM
    e4188f8b8134 netfilter: nf_tables: integrate pipapo into commit protocol
    4da9d4e74033 spi: fsl-dspi: avoid SCK glitches with continuous transfers
    08acd41bb15a RDMA/rxe: Fix packet length checks
    01f6f867adc7 RDMA/rtrs: Fix rxe_dealloc_pd warning
    01bbead3098b RDMA/rtrs: Fix the last iu->buf leak in err path
    1938f080a183 usb: dwc3: gadget: Reset num TRBs before giving back the request
    ed0295504905 serial: lantiq: add missing interrupt ack
    235845b576c5 USB: serial: option: add Quectel EM061KGL series
    e05e9cca7797 thunderbolt: Mask ring interrupt on Intel hardware as well
    0bd227610c83 thunderbolt: dma_test: Use correct value for absent rings when creating paths
    2a974abc0976 Remove DECnet support from kernel
    28010d3a9a22 ALSA: hda/realtek: Add a quirk for Compaq N14JP6
    203a01ae5732 drm/amdgpu: add missing radeon secondary PCI ID
    b1b64a76b775 drm/amd/display: edp do not add non-edid timings
    98c8c0f2b3a5 net: usb: qmi_wwan: add support for Compal RXM-G1
    fd81222d1a69 RDMA/uverbs: Restrict usage of privileged QKEYs
    14c30c2439dc nouveau: fix client work fence deletion race
    f4c5eebb37a2 dm thin metadata: check fail_io before using data_sm
    ee09c0b1b0f4 ALSA: usb-audio: Add quirk flag for HEM devices to enable native DSD playback
    953cc0bf2d5b powerpc/purgatory: remove PGO flags
    faf45f2c5e62 x86/purgatory: remove PGO flags
    d38e051ec6fd kexec: support purgatories with .text.hot sections
    4357336192ed nilfs2: fix possible out-of-bounds segment allocation in resize ioctl
    74ea184af91a nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key()
    941e7452dfc8 nios2: dts: Fix tse_mac "max-frame-size" property
    8a8efde4a735 ocfs2: check new file size on fallocate call
    559b7a0d9f0d ocfs2: fix use-after-free when unmounting read-only filesystem
    8262a9f3b801 epoll: ep_autoremove_wake_function should use list_del_init_careful
    c0a242295569 wifi: cfg80211: fix double lock bug in reg_wdev_chan_valid()
    1a65bac4edf9 wifi: cfg80211: fix locking in regulatory disconnect
    0e388fce7aec io_uring: hold uring mutex around poll removal
    27825a6da78b irqchip/gic: Correctly validate OF quirk descriptors
    f50018e2dd87 NVMe: Add MAXIO 1602 to bogus nid list.
    4204b539ca73 drm:amd:amdgpu: Fix missing buffer object unlock in failure path
    7cb02d5dc2e2 xen/blkfront: Only check REQ_FUA for writes
    a75928bb929a ASoC: dwc: move DMA init to snd_soc_dai_driver probe()
    37f7864c1791 mips: Move initrd_start check after initrd address sanitisation.
    0d6e6542946d MIPS: Alchemy: fix dbdma2
    1907b6148f86 MIPS: unhide PATA_PLATFORM
    8f50d247b5dc parisc: Flush gatt writes and adjust gatt mask in parisc_agp_mask_memory()
    717368977b8e parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu()
    7e85809d2782 ASoC: soc-pcm: test if a BE can be prepared
    68086376a1d2 btrfs: handle memory allocation failure in btrfs_csum_one_bio
    39ea94952625 btrfs: scrub: try harder to mark RAID56 block groups read-only
    9df872ec4a22 power: supply: Fix logic checking if system is running from battery
    42e6a4a1e085 irqchip/gic-v3: Disable pseudo NMIs on Mediatek devices w/ firmware issues
    2105f2fa5791 regulator: Fix error checking for debugfs_create_dir
    91b3d6aa0722 platform/x86: asus-wmi: Ignore WMI events with codes 0x7B, 0xC0
    c845ec79c3cf power: supply: Ratelimit no data debug output
    19d09d31dae5 tools: gpio: fix debounce_period_us output of lsgpio
    c11bb961ca4d ARM: dts: vexpress: add missing cache properties
    36fdd1d5b40e power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + schedule()
    3b86c54e6ebe power: supply: sc27xx: Fix external_power_changed race
    200d8ad44e04 power: supply: ab8500: Fix external_power_changed race
    48992b928785 of: overlay: Fix missing of_node_put() in error case of init_overlay_changeset()
    282f0c63cf53 of: overlay: rework overlay apply and remove kfree()s
    5f306cbfa52b of: overlay: rename variables to be consistent
    1cc40dccad76 drm/amdgpu: fix Null pointer dereference error in amdgpu_device_recover_vram
    7cf3bf3cc033 ksmbd: fix slab-out-of-bounds read in smb2_handle_negotiate
    de091a6e1ff0 test_firmware: fix a memory leak with reqs buffer
    bfb0b366e8ec test_firmware: prevent race conditions by a correct implementation of locking
    4b5511aa0a5e test_firmware: Use kstrtobool() instead of strtobool()

(From OE-Core rev: e58bcc7938c16317d6d3754874c76f29c4f90515)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit ec3fd718ecc881ee3410a0b6434922993368ee6d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Bruce Ashfield
b747eff6a6 linux-yocto/5.15: update to v5.15.117
Updating  to the latest korg -stable release that comprises
the following commits:

    471e639e59d1 Linux 5.15.117
    ef876dd25830 Revert "staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE"
    6cfe9ddb6aa6 xfs: verify buffer contents when we skip log replay
    b5a52009d90e Revert "debugobject: Ensure pool refill (again)"
    3cc6805547d5 ext4: only check dquot_initialize_needed() when debugging
    86ebb5b5344d Revert "ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled"
    9945284195a9 vhost_vdpa: support PACKED when setting-getting vring_base
    17882a3556ce vhost: support PACKED when setting-getting vring_base
    d18688ff423a vduse: avoid empty string for dev name
    952d1e4cbc26 riscv: fix kprobe __user string arg print fault issue
    62958e78b757 eeprom: at24: also select REGMAP
    66b99b3bd7b1 i2c: sprd: Delete i2c adapter in .remove's error path
    58648a533a89 firmware: arm_ffa: Set handle field to zero in memory descriptor
    e1ab7ed7925d i2c: mv64xxx: Fix reading invalid status value in atomic mode
    003421fc430c arm64: dts: imx8mn-beacon: Fix SPI CS pinmux
    2a4f0ad59d3d ASoC: mediatek: mt8195: fix use-after-free in driver remove path
    cc4a2c0b1efa ASoC: mediatek: mt8195-afe-pcm: Convert to platform remove callback returning void
    036bba96bf5e arm64: dts: imx8-ss-dma: assign default clock rate for lpuarts
    d97c8306a9af arm64: dts: imx8qm-mek: correct GPIOs for USDHC2 CD and WP signals
    2212344664fb arm64: dts: qcom: sc7180-lite: Fix SDRAM freq for misidentified sc7180-lite boards
    c589ba11da5a ASoC: codecs: wsa881x: do not set can_multi_write flag
    980011869a2a ARM: dts: at91: sama7g5ek: fix debounce delay property for shdwc
    ac817e26f9df usb: usbfs: Use consistent mmap functions
    35d9f521bcc8 usb: usbfs: Enforce page requirements for mmap
    64e4a3b25338 pinctrl: meson-axg: add missing GPIOA_18 gpio group
    4124536ad924 rbd: get snapshot context after exclusive lock is ensured to be held
    1af3b16b6240 rbd: move RBD_OBJ_FLAG_COPYUP_ENABLED flag setting
    2326488a9648 tee: amdtee: Add return_origin to 'struct tee_cmd_load_ta'
    0a8e5a6166dc Bluetooth: hci_qca: fix debugfs registration
    2a7e918e2280 Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk
    36482bf16fde s390/dasd: Use correct lock while counting channel queue length
    fd03b5575c8a ceph: fix use-after-free bug for inodes when flushing capsnaps
    e022640b1fee can: j1939: avoid possible use-after-free when j1939_can_rx_register fails
    67eb5a5153ab can: j1939: change j1939_netdev_lock type to mutex
    e2a6db7cab74 can: j1939: j1939_sk_send_loop_abort(): improved error queue handling in J1939 Socket
    4ce28f3ab368 drm/amd/pm: Fix power context allocation in SMU13
    2984dbacf68e drm/amdgpu: fix xclk freq on CHIP_STONEY
    77558dd16502 drm/amd/pm: conditionally disable pcie lane switching for some sienna_cichlid SKUs
    4b1bf594604c drm/i915/gt: Use the correct error value when kernel_context() fails
    17c01feed6ba ALSA: hda/realtek: Add Lenovo P3 Tower platform
    800e4c5b36bb ALSA: hda/realtek: Add a quirk for HP Slim Desktop S01
    9dab648ccd01 ALSA: hda/realtek: Add quirk for Clevo NS50AU
    cd67fdd3cc1b Input: fix open count when closing inhibited device
    2545d1b4d14f Input: psmouse - fix OOB access in Elantech protocol
    ed263c550fbd Input: xpad - delete a Razer DeathAdder mouse VID/PID entry
    5db4229b1427 batman-adv: Broken sync while rescheduling delayed work
    aedad6c7fbaf bnxt_en: Implement .set_port / .unset_port UDP tunnel callbacks
    a94401de2bc2 bnxt_en: Query default VLAN before VNIC setup on a VF
    cf0a3e94674d bnxt_en: Don't issue AP reset during ethtool's reset operation
    40d074f7e490 lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release()
    b6b1799c37c3 bpf: Add extra path pointer check to d_path helper
    a242c6a92ce6 net: sched: fix possible refcount leak in tc_chain_tmplt_add()
    d7c69f7b8383 net: sched: act_police: fix sparse errors in tcf_police_dump()
    e7e0f9497421 net: sched: move rtm_tca_policy declaration to include file
    c5e0a2f49c5a drm/i915/selftests: Add some missing error propagation
    234f0337b439 drm/i915/selftests: Stop using kthread_stop()
    1f942073e164 drm/i915/selftests: Increase timeout for live_parallel_switch
    3604ab1519ef rfs: annotate lockless accesses to RFS sock flow table
    2501f5a95511 rfs: annotate lockless accesses to sk->sk_rxhash
    dd5296e3b21b ipv6: rpl: Fix Route of Death.
    eab6cda0bfd7 netfilter: ipset: Add schedule point in call_ad().
    7b053b2e8c96 netfilter: conntrack: fix NULL pointer dereference in nf_confirm_cthelper
    34d67ecf3dcc selftests/bpf: Fix sockopt_sk selftest
    01363bf8efe5 selftests/bpf: Verify optval=NULL case
    7e74801e1bfb wifi: cfg80211: fix locking in sched scan stop work
    6c25c96a4634 qed/qede: Fix scheduling while atomic
    668c3f9514f0 Bluetooth: L2CAP: Add missing checks for invalid DCID
    53c056ccda02 Bluetooth: Fix l2cap_disconnect_req deadlock
    c16e79e27e90 drm/i915: Use 18 fast wake AUX sync len
    567873901a92 drm/i915: Explain the magic numbers for AUX SYNC/precharge length
    dd40bcc357fe net/sched: fq_pie: ensure reasonable TCA_FQ_PIE_QUANTUM values
    9d66ffd8ac9e net: enetc: correct the statistics of rx bytes
    8db1acf2b131 net/smc: Avoid to access invalid RMBs' MRs in SMCRv1 ADD LINK CONT
    9b001a7d1e1a net/ipv6: fix bool/int mismatch for skip_notify_on_dev_down
    c85bee3a4ae1 bpf: Fix UAF in task local storage
    54c8aea7e888 net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods
    ab0eca3f5455 neighbour: fix unaligned access to pneigh_entry
    bdcc42186dd9 wifi: mt76: mt7615: fix possible race in mt7615_mac_sta_poll
    7b0c76354a6a afs: Fix setting of mtime when creating a file/dir/symlink
    8ef72e783065 spi: qup: Request DMA before enabling clocks
    f0e84db82ed3 platform/surface: aggregator: Allow completion work-items to be executed in parallel
    547da248321a blk-iocost: avoid 64-bit division in ioc_timer_fn
    3b07425c3dea f2fs: fix iostat lock protection
    b85fb01a761a bonding (gcc13): synchronize bond_{a,t}lb_xmit() types
    0dfc81a283d4 i40e: fix build warning in ice_fltr_add_mac_to_list()
    2e12542c19c2 i40e: use int for i40e_status
    81f552df075f i40e: Remove string printing for i40e_status
    d13f56d4b265 sfc (gcc13): synchronize ef100_enqueue_skb()'s return type
    a9ad05e35412 remove the sx8 block driver
    c7cf7760b9b5 gcc-plugins: Reorganize gimple includes for GCC 13
    8d00b4e329b7 ata: ahci: fix enum constants for gcc-13

(From OE-Core rev: 79a6eb479bee6caabf22e3ed9e8b2793bdde836c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit e2c1d5814c659ffea6d1c1c658890a7a6fdb779a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Bruce Ashfield
ff42eb0012 linux-yocto/5.15: update to v5.15.116
Updating  to the latest korg -stable release that comprises
the following commits:

    7349e40704a0 Linux 5.15.116
    62886f17d3e6 RDMA/irdma: Do not generate SW completions for NOPs
    14d148401c52 RDMA/irdma: Fix drain SQ hang with no completion
    e88b19b252db ARM: defconfig: drop CONFIG_DRM_RCAR_LVDS
    a1c76e2907c1 ext4: enable the lazy init thread when remounting read/write
    76a7dfc9cc02 selftests: mptcp: join: skip if MPTCP is not supported
    807114223d3e selftests: mptcp: simult flows: skip if MPTCP is not supported
    9319c8b75ee6 selftests: mptcp: diag: skip if MPTCP is not supported
    c971ca2b9d8d drm/amdgpu/gfx10: Disable gfxoff before disabling powergating.
    7a20262fa9ee scsi: dpt_i2o: Do not process completions with invalid addresses
    daeab37ddb6f scsi: dpt_i2o: Remove broken pass-through ioctl (I2OUSERCMD)
    78a79c625265 drm/rcar: stop using 'imply' for dependencies
    4c3dda6b7cfd tpm, tpm_tis: Request threaded interrupt handler
    19750d7b575a regmap: Account for register length when chunking
    6cb7e7579a3d KEYS: asymmetric: Copy sig and digest in public_key_verify_signature()
    d56c2ab32594 ksmbd: fix incorrect AllocationSize set in smb2_get_info
    380b47932e76 ksmbd: fix credit count leakage
    8a870c07a1df KVM: x86: Account fastpath-only VM-Exits in vCPU stats
    808ed7d86ed9 test_firmware: fix the memory leak of the allocated firmware buffer
    4b7a35eb8a18 serial: 8250_tegra: Fix an error handling path in tegra_uart_probe()
    fc8ef0714161 fbcon: Fix null-ptr-deref in soft_cursor
    a0790a7739a2 ext4: add lockdep annotations for i_data_sem for ea_inode's
    a8c3024c3e46 ext4: disallow ea_inodes with extended attributes
    39a66e7a2987 ext4: set lockdep subclass for the ea_inode in ext4_xattr_inode_cache_find()
    bdbfbb7d5057 ext4: add EA_INODE checking to ext4_iget()
    efa3fe247d6b selftests: mptcp: sockopt: skip if MPTCP is not supported
    95ad73b62765 selftests: mptcp: pm nl: skip if MPTCP is not supported
    30bacfd8caf6 selftests: mptcp: connect: skip if MPTCP is not supported
    2712a1ba0597 tracing/probe: trace_probe_primary_from_call(): checked list_first_entry
    8a716b28b933 selinux: don't use make's grouped targets feature yet
    11a8e7fd7231 block: fix revalidate performance regression
    538d8504859f usb: cdns3: fix NCM gadget RX speed 20x slow than expection at iMX8QM
    57a2fd7b2c75 usb: cdns3: allocate TX FIFO size according to composite EP number
    d42d869b2cf4 iommu/amd: Fix domain flush size when syncing iotlb
    cb21384372d1 powerpc/iommu: Limit number of TCEs to 512 for H_STUFF_TCE hcall
    f257c1a6cc86 btrfs: fix csum_tree_block page iteration to avoid tripping on -Werror=array-bounds
    292806cfe43d tty: serial: fsl_lpuart: use UARTCTRL_TXINV to send break instead of UARTCTRL_SBK
    3fda903511f3 mmc: pwrseq: sd8787: Fix WILC CHIP_EN and RESETN toggling order
    dade1f4a379d mmc: vub300: fix invalid response handling
    3eb4590bc37c block/blk-iocost (gcc13): keep large values in a new enum
    43124187fe3a ath6kl: Use struct_group() to avoid size-mismatched casting
    43f4aca98bf2 x86/boot: Wrap literal addresses in absolute_pointer()
    3cfd7f042e67 drm/amd/pm: reverse mclk and fclk clocks levels for renoir
    7e0c25b39065 drm/amd/pm: reverse mclk and fclk clocks levels for yellow carp
    fce05ec3deb5 drm/amd/pm: reverse mclk and fclk clocks levels for vangogh
    b0dda610b42c ata: libata-scsi: Use correct device no in ata_find_dev()
    57f4555bdfa5 scsi: stex: Fix gcc 13 warnings
    6f675380db4f misc: fastrpc: reject new invocations during device removal
    cebe84b9c02e misc: fastrpc: return -EPIPE to invocations on device removal
    d3103fc0d191 md/raid5: fix miscalculation of 'end_sector' in raid5_read_one_chunk()
    599e19202be2 usb: gadget: f_fs: Add unbind event before functionfs_unbind
    c762eafe7949 dt-bindings: usb: snps,dwc3: Fix "snps,hsphy_interface" type
    7099a87cf5ee net: usb: qmi_wwan: Set DTR quirk for BroadMobi BM818
    16bd13e701c0 iio: dac: build ad5758 driver when AD5758 is selected
    b6622c1fd233 iio: adc: ad7192: Change "shorted" channels to differential
    aeec28d83865 iio: dac: mcp4725: Fix i2c_master_send() return value handling
    23c6a184c2b8 iio: adc: ad_sigma_delta: Fix IRQ issue by setting IRQ_DISABLE_UNLAZY flag
    4349ee3deef9 iio: light: vcnl4035: fixed chip ID check
    db633585e93b dt-bindings: iio: adc: renesas,rcar-gyroadc: Fix adi,ad7476 compatible value
    6bd3d6305b6a iio: imu: inv_icm42600: fix timestamp reset
    536b4ffa93fa HID: wacom: avoid integer overflow in wacom_intuos_inout()
    cfa747cc65ca HID: google: add jewel USB id
    11bc983e4393 iio: adc: mxs-lradc: fix the order of two cleanup operations
    a5461c3134ce iio: accel: st_accel: Fix invalid mount_matrix on devices without ACPI _ONT method
    6a7d946733ea media: uvcvideo: Don't expose unsupported formats to userspace
    6dd02a7bff9d mailbox: mailbox-test: fix a locking issue in mbox_test_message_write()
    0f3c55c7d62c nvme-pci: Add quirk for Teamgroup MP33 SSD
    c9079eb6f1cf drm/amdgpu: skip disabling fence driver src_irqs when device is unplugged
    4238ea044eb2 atm: hide unused procfs functions
    5d4c31d93973 drm/msm: Be more shouty if per-process pgtables aren't working
    825cc70fbf2f ALSA: oss: avoid missing-prototype warnings
    a79da1659cdc nvme-multipath: don't call blk_mark_disk_dead in nvme_mpath_remove_disk
    9a195b991709 netfilter: conntrack: define variables exp_nat_nla_policy and any_addr with CONFIG_NF_NAT
    82f505878f0a wifi: b43: fix incorrect __packed annotation
    ab62fc176eac scsi: core: Decrease scsi_device's iorequest_cnt if dispatch failed
    e04de12881ca wifi: mac80211: simplify chanctx allocation
    24dc97e135e8 arm64: vdso: Pass (void *) to virt_to_page()
    2944b9f0fdcf arm64/mm: mark private VM_FAULT_X defines as vm_fault_t
    39d84ddd9ebc ARM: dts: stm32: add pin map for CAN controller on stm32f7
    b2f00acd5369 wifi: rtl8xxxu: fix authentication timeout due to incorrect RCR value
    ce135055be33 ACPI: resource: Add IRQ override quirk for LG UltraPC 17U70P
    66f05cf2b2fd s390/topology: honour nr_cpu_ids when adding CPUs
    79803685425c s390/pkey: zeroize key blobs
    42624bc8c30c media: dvb-core: Fix use-after-free due to race condition at dvb_ca_en50221
    22fc36d59eab media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*()
    a47a3f7a9bf6 media: dvb-core: Fix use-after-free due to race at dvb_register_device()
    50831747cb3a media: dvb-core: Fix use-after-free due on race condition at dvb_net
    9f74fec18f4c media: mn88443x: fix !CONFIG_OF error by drop of_match_ptr from ID table
    d6c47b235992 media: ttusb-dec: fix memory leak in ttusb_dec_exit_dvb()
    747a121914e3 media: dvb_ca_en50221: fix a size write bug
    34562df4082b media: netup_unidvb: fix irq init by register it at the end of probe
    5e56e3d5ebeb media: dvb-usb: dw2102: fix uninit-value in su3000_read_mac_address
    5240bc8c0c9a media: dvb-usb: digitv: fix null-ptr-deref in digitv_i2c_xfer()
    cd6764cf45ab media: dvb-usb-v2: rtl28xxu: fix null-ptr-deref in rtl28xxu_i2c_xfer
    ef0d867e295d media: dvb-usb-v2: ce6230: fix null-ptr-deref in ce6230_i2c_master_xfer()
    abaf49c5a95d media: dvb-usb-v2: ec168: fix null-ptr-deref in ec168_i2c_xfer()
    4b61ee116a3c media: dvb-usb: az6027: fix three null-ptr-deref in az6027_i2c_xfer()
    5e9ad9962f2a media: dvb_demux: fix a bug for the continuity counter
    ae3e3ac8b294 ASoC: ssm2602: Add workaround for playback distortions
    6cf7f03d2d34 ASoC: dt-bindings: Adjust #sound-dai-cells on TI's single-DAI codecs
    133c78bc6769 xfrm: Check if_id in inbound policy/secpath match
    f1a6d366cdb1 um: harddog: fix modular build
    e9d167ca4810 ASoC: dwc: limit the number of overrun messages
    84dfd8bee506 nvme-pci: add quirk for missing secondary temperature thresholds
    b32eeafd4eb9 nvme-pci: add NVME_QUIRK_BOGUS_NID for HS-SSD-FUTURE 2048G
    f7af470fad9c block/rnbd: replace REQ_OP_FLUSH with REQ_OP_WRITE
    8ba70707c3fe nbd: Fix debugfs_create_dir error checking
    156f5237e9c3 fbdev: stifb: Fix info entry in sti_struct on error path
    b3c785428797 fbdev: modedb: Add 1920x1080 at 60 Hz video mode
    ad3de274e065 fbdev: imsttfb: Fix use after free bug in imsttfb_probe
    fd8b4e28f400 gfs2: Don't deref jdesc in evict
    a00cc8562835 platform/x86: intel_scu_pcidrv: Add back PCI ID for Medfield
    736626df53e9 media: rcar-vin: Select correct interrupt mode for V4L2_FIELD_ALTERNATE
    1eae6e919639 ARM: 9295/1: unwind:fix unwind abort for uleb128 case
    af739a701517 btrfs: abort transaction when sibling keys check fails for leaves
    872a038dd4c9 drm/ast: Fix ARM compatibility
    3291f4a1073a mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()
    fe6f6f470612 drm/amdgpu: Use the default reset when loading or reloading the driver
    2226d9ef63d5 ALSA: hda: Glenfly: add HD Audio PCI IDs and HDMI Codec Vendor IDs.
    65221bdde702 watchdog: menz069_wdt: fix watchdog initialisation
    6a7bf0038973 drm/amdgpu: release gpu full access after "amdgpu_device_ip_late_init"
    8ac106aade8f rtnetlink: call validate_linkmsg in rtnl_create_link
    beeffe764e07 mtd: rawnand: marvell: don't set the NAND frequency select
    6494318f11f3 mtd: rawnand: marvell: ensure timing values are written
    0fad29dabce1 net: dsa: mv88e6xxx: Increase wait after reset deactivation
    45f47d2cf114 net/sched: flower: fix possible OOB write in fl_set_geneve_opt()
    b15adce7d326 net/mlx5: Read embedded cpu after init bit cleared
    c3caee8fe178 net/mlx5e: Fix error handling in mlx5e_refresh_tirs
    1abb7b04ec37 udp6: Fix race condition in udp6_sendmsg & connect
    7dc379f8856b net/netlink: fix NETLINK_LIST_MEMBERSHIPS length report
    91b07931c14d net: sched: fix NULL pointer dereference in mq_attach
    b1cb1ba1fbfa net/sched: Prohibit regrafting ingress or clsact Qdiscs
    cde00dcdf0ce net/sched: Reserve TC_H_INGRESS (TC_H_CLSACT) for ingress (clsact) Qdiscs
    2e859de5aeb0 net/sched: sch_clsact: Only create under TC_H_CLSACT
    cff0af3d1364 net/sched: sch_ingress: Only create under TC_H_INGRESS
    a907a389c71c tcp: Return user_mss for TCP_MAXSEG in CLOSE/LISTEN state if user_mss set
    fade445f3921 tcp: deny tcp_disconnect() when threads are waiting
    5434c8128777 af_packet: do not use READ_ONCE() in packet_bind()
    60bd1403bab7 RDMA/irdma: Fix Local Invalidate fencing
    0b3c392b82cd RDMA/irdma: Prevent QP use after free
    bd2af69575f5 RDMA/irdma: Add SW mechanism to generate completions on error
    2d04dde4ded7 mtd: rawnand: ingenic: fix empty stub helper definitions
    8f61d394b0c2 amd-xgbe: fix the false linkup in xgbe_phy_status
    aefcb6ea1d44 af_packet: Fix data-races of pkt_sk(sk)->num.
    c8775b97bf96 netrom: fix info-leak in nr_write_internal()
    8045788adda6 net: mellanox: mlxbf_gige: Fix skb_panic splat under memory pressure
    8d9d0bfd4c22 net/mlx5e: Don't attach netdev profile while handling internal error
    d002e0287d78 net/mlx5: fw_tracer, Fix event handling
    3a7793ae6911 riscv: Fix unused variable warning when BUILTIN_DTB is set
    3f1191bc5b6a dmaengine: pl330: rename _start to prevent build error
    c4be5d71d7a4 iommu/amd: Don't block updates to GATag if guest mode is on
    b4fd38c0c7b8 iommu/rockchip: Fix unwind goto issue
    190ea1c39104 RDMA/bnxt_re: Fix return value of bnxt_re_process_raw_qp_pkt_rx
    2fa9ee0fd65d RDMA/bnxt_re: Fix a possible memory leak
    fdc977f2e785 dmaengine: at_xdmac: fix potential Oops in at_xdmac_prep_interleaved()
    f68eff0faf67 dmaengine: at_xdmac: Move the free desc to the tail of the desc list
    ba0e7ca84a93 RDMA/hns: Modify the value of long message loopback slice
    15aeb44199e6 RDMA/hns: Fix base address table allocation
    b0f40ecc46d9 RDMA/efa: Fix unsupported page sizes in device
    f370588ec389 RDMA/bnxt_re: Fix the page_size used during the MR creation

(From OE-Core rev: 5bcbae7273fcb619be39d388a7b593799b46dab5)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 20388189ab6d03ae3c6e4fdd0135af4f88e15198)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Bruce Ashfield
c7c869a242 linux-yocto/5.15: update to v5.15.115
Updating  to the latest korg -stable release that comprises
the following commits:

    d7af3e5ba454 Linux 5.15.115
    e226893c935f netfilter: ctnetlink: Support offloaded conntrack entry deletion
    395d846c61c5 ipv{4,6}/raw: fix output xfrm lookup wrt protocol
    1bb8a65190d4 binder: fix UAF of alloc->vma in race with munmap()
    1cae0d51368e binder: add lockless binder_alloc_(set|get)_vma()
    dd7aff43d005 Revert "android: binder: stop saving a pointer to the VMA"
    6802c700902c Revert "binder_alloc: add missing mmap_lock calls when using the VMA"
    09411f1b8672 bluetooth: Add cmd validity checks at the start of hci_sock_ioctl()
    0f21b8621756 xdp: xdp_mem_allocator can be NULL in trace_mem_connect().
    b6c4afcbd625 irqchip/mips-gic: Don't touch vl_map if a local interrupt is not routable
    13b290f02094 page_pool: fix inconsistency for page_pool_ring_[un]lock()
    3af319d51474 net: page_pool: use in_softirq() instead
    1c097b9db173 xdp: Allow registering memory model without rxq reference
    623d965c2dee net/mlx5e: Fix SQ wake logic in ptp napi_poll context
    9085886c04d9 irqchip/mips-gic: Use raw spinlock for gic_lock
    4517730b4c1e irqchip/mips-gic: Get rid of the reliance on irq_cpu_online()
    5fd7c1e36b0a binder: fix UAF caused by faulty buffer cleanup
    c88d21c0ae32 bonding: fix send_peer_notif overflow
    7ee611fc85ad Bonding: add arp_missed_max option
    5b925b48bebc net: dsa: mt7530: fix network connectivity with multiple CPU ports
    5a7266feaa6d net: dsa: mt7530: split-off common parts from mt7531_setup
    0753c1ef2419 net: dsa: mt7530: rework mt753[01]_setup
    9902f91cf666 net: dsa: introduce helpers for iterating through ports using dp
    d84b42b72526 net: phy: mscc: enable VSC8501/2 RGMII RX clock
    3dce2f3d8359 platform/x86: ISST: Remove 8 socket limit
    017a634f9f38 platform/x86: ISST: PUNIT device mapping with Sub-NUMA clustering
    ff455f7fbce7 net/mlx5: Devcom, serialize devcom registration
    69966bce28da net/mlx5e: Fix deadlock in tc route query code
    1c4e3cf8944f net/mlx5: devcom only supports 2 ports
    79ea1a12fb9a bpf: fix a memory leak in the LRU and LRU_PERCPU hash maps
    1f06b2a60445 power: supply: bq24190: Call power_supply_changed() after updating input current
    8c6f881dc13b power: supply: core: Refactor power_supply_set_input_current_limit_from_supplier()
    1f9367a890ac power: supply: bq27xxx: After charger plug in/out wait 0.5s for things to stabilize
    75a7e9de60a2 power: supply: bq27xxx: Ensure power_supply_changed() is called on current sign changes
    e4c708a9bbde power: supply: bq27xxx: Move bq27xxx_battery_update() down
    2288fa1ae9b1 power: supply: bq27xxx: expose battery data when CI=1

(From OE-Core rev: 44262f31928a20a25b4c4a54c3b76a788cc20216)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit acb7f13dd673b15706f56a6b12ab4637a54e89f8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Bruce Ashfield
ae71d122b9 linux-yocto/5.15: update to v5.15.114
Updating  to the latest korg -stable release that comprises
the following commits:

    0ab06468cbd1 Linux 5.15.114
    193c59ba7299 net: phy: mscc: add VSC8502 to MODULE_DEVICE_TABLE
    350b95e86ca9 3c589_cs: Fix an error handling path in tc589_probe()
    7c2fa3e56d95 regulator: mt6359: add read check for PMIC MT6359
    28ebfb74fbf5 firmware: arm_ffa: Set reserved/MBZ fields to zero in the memory descriptors
    34b0985ebdfc arm64: dts: imx8mn-var-som: fix PHY detection bug by adding deassert delay
    1e7550653680 net/mlx5: Devcom, fix error flow in mlx5_devcom_register_device
    a89a69cea44c net/mlx5: Fix error message when failing to allocate device memory
    e8a974bbf4a5 net/mlx5: DR, Check force-loopback RC QP capability independently from RoCE
    5e0cc0d502d4 net/mlx5: DR, Fix crc32 calculation to work on big-endian (BE) CPUs
    792a8233fc01 net/mlx5e: do as little as possible in napi poll when budget is 0
    fdf8f33e7d03 platform/mellanox: mlxbf-pmc: fix sscanf() error checking
    d5ab5447d910 forcedeth: Fix an error handling path in nv_probe()
    ae7c4ec42655 sctp: fix an issue that plpmtu can never go to complete state
    ee553694be42 ASoC: Intel: Skylake: Fix declaration of enum skl_ch_cfg
    aafa5019e2a3 x86/show_trace_log_lvl: Ensure stack pointer is aligned, again
    90314394a16d xen/pvcalls-back: fix double frees with pvcalls_new_active_socket()
    ff151810fb95 coresight: Fix signedness bug in tmc_etr_buf_insert_barrier_packet()
    24cf11474376 regulator: pca9450: Fix BUCK2 enable_mask
    cd41ec23503f fs: fix undefined behavior in bit shift for SB_NOUSER
    c2f65991097a firmware: arm_ffa: Fix FFA device names for logical partitions
    6a26c62625c5 firmware: arm_ffa: Check if ffa_driver remove is present before executing
    f64567bd9566 power: supply: sbs-charger: Fix INHIBITED bit for Status reg
    71a9f146b3dc power: supply: bq27xxx: Add cache parameter to bq27xxx_battery_current_and_status()
    e98e5bebfcaf power: supply: bq27xxx: Fix poll_interval handling and races on remove
    e01820a94aea power: supply: bq27xxx: Fix I2C IRQ race on remove
    d21b3448577f power: supply: bq27xxx: Fix bq27xxx_battery_update() race condition
    c530f60e5a2e power: supply: mt6360: add a check of devm_work_autocancel in mt6360_charger_probe
    0dd4881238bc power: supply: leds: Fix blink to LED on transition
    5e4bb063dcaf cifs: mapchars mount option ignored
    9b92e2d0eb69 ipv6: Fix out-of-bounds access in ipv6_find_tlv()
    bf478c2643ba bpf: Fix mask generation for 32-bit narrow loads of 64-bit fields
    79081b3f489a octeontx2-pf: Fix TSOv6 offload
    114657365c88 selftests: fib_tests: mute cleanup error message
    e06841a2abf9 net: fix skb leak in __skb_tstamp_tx()
    8f1512d78b5d ASoC: lpass: Fix for KASAN use_after_free out of bounds
    b1bde4b4360c media: radio-shark: Add endpoint checks
    43f569fd0699 USB: sisusbvga: Add endpoint checks
    da0f4b557682 USB: core: Add routines for endpoint checks in old drivers
    387bd0a3af3b udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated().
    cf3b5cd7127c net: fix stack overflow when LRO is disabled for virtual interfaces
    9e12c58a5ece fbdev: udlfb: Fix endpoint check
    aee97eec7702 debugobjects: Don't wake up kswapd from fill_pool()
    c09a7b6190f5 x86/topology: Fix erroneous smp_num_siblings on Intel Hybrid platforms
    a9ffd42eb9ab perf/x86/uncore: Correct the number of CHAs on SPR
    277f206bb874 parisc: Fix flush_dcache_page() for usage from irq context
    eff115ca949a selftests/memfd: Fix unknown type name build failure
    1a98b6e028ee x86/mm: Avoid incomplete Global INVLPG flushes
    683bb30c6947 dt-binding: cdns,usb3: Fix cdns,on-chip-buff-size type
    647af8a998c2 btrfs: use nofs when cleaning up aborted transactions
    7e93fe1d1733 gpio: mockup: Fix mode of debugfs files
    3a2d238c5a3a parisc: Allow to reboot machine after system halt
    96f8dd0483c8 parisc: Handle kgdb breakpoints only in kernel context
    16deb7413ace m68k: Move signal frame following exception on 68020/030
    9be921854e98 net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize
    1f6ae24e3d5a ASoC: rt5682: Disable jack detection interrupt during suspend
    693acaa739dc mmc: sdhci-esdhc-imx: make "no-mmc-hs400" works
    7177586e06ff ALSA: hda/realtek: Enable headset onLenovo M70/M90
    e6a624451afb ALSA: hda: Fix unhandled register update during auto-suspend period
    7716da3fa10b ALSA: hda/ca0132: add quirk for EVGA X299 DARK
    c37eb46c613a arm64: Also reset KASAN tag if page is not PG_mte_tagged
    291fe3d6f5db ocfs2: Switch to security_inode_init_security()
    4badd33929c0 spi: fsl-cpm: Use 16 bit mode for large transfers with even size
    28ffe8c84603 spi: fsl-spi: Re-organise transfer bits_per_word adaptation
    381e55bffe15 ARM: dts: stm32: fix AV96 board SAI2 pin muxing on stm32mp15
    ca338fa8032a watchdog: sp5100_tco: Immediately trigger upon starting.
    6312c7cc07f3 dt-bindings: ata: ahci-ceva: Cover all 4 iommus entries
    7ef9045fe758 dt-bindings: ata: ahci-ceva: convert to yaml
    f19171155305 usb: dwc3: fix gadget mode suspend interrupt handler issue
    7919af1dcb8e usb: gadget: Properly configure the device for remote wakeup

(From OE-Core rev: 1c8415175dc89a58e8af604163904cbfbe787edc)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit b83b248e5042dd1e9fdbc4c48be1af188fece1df)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Vivek Kumbhar
acca9233b2 cups: fix CVE-2023-34241 use-after-free in cupsdAcceptClient() in scheduler/client.c
(From OE-Core rev: 9a6c7442ac2fc2ce668d0c931696d39288ee3d4a)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Rusty Howell
c4d91873af oe-depends-dot: Handle new format for task-depends.dot
The .dot file created by `bitbake -g` changed formats a while ago, which
broke oe-depends-dot.

Also add some useful examples to the --help output.

(From OE-Core rev: e53842ea6c14ed8e97252626e3ae0d3cf4580fbc)

Signed-off-by: Rusty Howell <rustyhowell@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:37 -10:00
Etienne Cordonnier
a834d9001b libxcrypt: fix hard-coded ".so" extension
2 issues:
- the .so extension is hard-coded, and therefore the libxcryt package compiled with
  meta-darwin is empty, because the dylib files are not contained in FILES_${PN}
- nothing actually produces a file libcrypt-*.so (the symlink file is libcrypt.so, without dash), thus
  defining FILES:${PN} manually to contain libcrypt-*.so has no effect.

(From OE-Core rev: 87d3ad23643abff47ac35ca14f8b4b4bb9ee80da)

Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7ed6bfa2428b4f1ba7f09d6e9e67c462ff355153)
Signed-off-by: Sanjay Chitroda <schitrod@cisco.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:37 -10:00
Marek Vasut
2a8a7c9e0d cpio: Replace fix wrong CRC with ASCII CRC for large files with upstream backport
Replace the original "Wrong CRC with ASCII CRC for large files"
patch with upstream backport, and add additional fix on top of
the same problem which upstream detected and fixed.

(From OE-Core rev: 727f301e4888c8f59cfc2d8768d02bb52ce23784)

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:37 -10:00
Vivek Kumbhar
257c1fdc11 libcap: fix CVE-2023-2603 Integer Overflow in _libcap_strdup()
(From OE-Core rev: 92340bc3161259c962b5ed5f9d9055f5bd36a3ce)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:37 -10:00
Vivek Kumbhar
efa581c3ab go: fix CVE-2023-29400 html/template improper handling of empty HTML attributes
(From OE-Core rev: 3224084a1ca301ff4fb4735ccc80d24aaec13257)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:37 -10:00
Richard Purdie
201362ccb6 bitbake: runqueue: Fix deferred task/multiconfig race issue
If there are several multiconfigs in play for example a non-multiconfig with
a task with one hash and then three multiconfigs for the same task, different
architectures but the same hash (different to the non-mc), the three mcs
will be deferred until after the non-mc task but then will all run together
and race against each other.

Change the code to re-enable deferred tasks one at a time. This way, if they do
race, they won't run in parallel against each other.

(Bitbake rev: 907416ee1062f87f5844ab0638b54616abfc1a22)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9523e28658ad7fb446645b590608dfac2812afd3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:37 -10:00
Sakib Sajal
84dd3d0e6c blktrace: ask for python3 specifically
python2 has been deprecated, use python3 instead

(From OE-Core rev: f20a12ead2d5890e88e7f4ce149a777de47edc48)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:25 -10:00
Richard Purdie
b8580d79d1 layer.conf: Add missing dependency exclusion
Add a dependency which should have been in this list but wasn't, found
when debugging create-spdx hash issues.

(From OE-Core rev: 97c84ca1e138fe95ebd67f1fe42be19ab2aeca89)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1075b9fc5d562dada45b3187cb737511ff8c7376)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:25 -10:00
Alexander Kanavin
dbd90d690e maintainers.inc: correct Carlos Rafael Giani's email address
As confirmed via private email.

(From OE-Core rev: 1f664daa33b5fae83990b9b5d5490a896a307b68)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit c7f934368d3fb3e9cf268f8237eae80b1c1665a5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:25 -10:00
Richard Purdie
73c8c22708 selftest/license: Exclude from world
These test recipes shouldn't be built as part of world builds. Some recent
changes are exposing issues from this so exclude them.

(From OE-Core rev: 82ac6a3f22c3aec03d3ba162c67754bbf28fd0ba)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 80d3f5586cd060ae69fbc6dec2e8978d87da10ba)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:25 -10:00
Marc Ferland
6b072b62e9 connman: fix warning by specifying runstatedir at configure time
Without this patch, systemd complains on startup with messages similar
to:

systemd-tmpfiles[128]: /etc/tmpfiles.d/connman_resolvconf.conf:1: Line references path below legacy directory /var/run/, updating /var/run/connman → /run/connman; please update the tmpfiles.d/ drop-in file accordingly.
systemd-tmpfiles[172]: /etc/tmpfiles.d/connman_resolvconf.conf:1: Line references path below legacy directory /var/run/, updating /var/run/connman → /run/connman; please update the tmpfiles.d/ drop-in file accordingly.

By default, connman will use "/var/run/connman" for runstatedir
instead of the now recommended "/run/connman".

(From OE-Core rev: 52268f077af4fd21ac93623017160cb474bbef00)

Signed-off-by: Marc Ferland <ferlandm@amotus.ca>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8d17776765a99a4ae327797206ef2a8a735ce87b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:25 -10:00
Alexander Kanavin
29e3110204 maintainers.inc: correct unassigned entries
Modify packages to unassigned where appropriate

(From OE-Core rev: 36b862f23afe3ed81006c203e875f900249fd040)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ab37ddf53607111bf5c49c4f2388224999c4a5a9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 27f15bc3166fda5acd07e9e1c34842a641d24e37)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:25 -10:00
Alexander Kanavin
dc61844c11 maintainers.inc: unassign Pascal Bach from cmake entry
This was confirmed via private email.

(From OE-Core rev: 826fb858ebf1f8e9e2741b9046fd5c04638ff056)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c30e9f1972a3e1d4099f39fd6d0dfb37acb73ce1)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:25 -10:00
Alexander Kanavin
e1908ce910 maintainers.inc: unassign Andreas Müller from itstool entry
This was confirmed via private email.

(From OE-Core rev: 0823449cb03876ad88643df6c41c9450625d435d)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cc8bb0da24419424989548ced27b2e76030340d9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Alexander Kanavin
c1134732ad maintaines.inc: unassign Richard Weinberger from erofs-utils entry
This was confirmed via private email.

(From OE-Core rev: d66095fa0c2ddf11a790d4d2f94ce6c2b80c0143)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 834519933fcd6e4ff54f24d0cf671ea9ce24398a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Kai Kang
cb8879e666 pm-utils: fix multilib conflictions
It fails to instal pm-utils and lib32-pm-utils at same time:

Error: Transaction test error:
  file /usr/bin/pm-is-supported conflicts between attempted installs of lib32-pm-utils-1.4.1-r1.corei7_32 and pm-utils-1.4.1-r1.corei7_64
  file /usr/sbin/pm-hibernate conflicts between attempted installs of lib32-pm-utils-1.4.1-r1.corei7_32 and pm-utils-1.4.1-r1.corei7_64
  file /usr/sbin/pm-powersave conflicts between attempted installs of lib32-pm-utils-1.4.1-r1.corei7_32 and pm-utils-1.4.1-r1.corei7_64
  file /usr/sbin/pm-suspend conflicts between attempted installs of lib32-pm-utils-1.4.1-r1.corei7_32 and pm-utils-1.4.1-r1.corei7_64
  file /usr/sbin/pm-suspend-hybrid conflicts between attempted installs of lib32-pm-utils-1.4.1-r1.corei7_32 and pm-utils-1.4.1-r1.corei7_64

All of the conflicted files either is script which source a file in
${libdir}, or a link file to some file in ${libdir}. Compare the content
of installed files in ${libdir} exclude binaries, only the paths of
${libdir} diff. So re-define libdir with ${nonarch_libdir} to fix the
conflicts.

(From OE-Core rev: 7d99987f76c58ec1f9ee5efffee0705b2c542ad7)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f836541bcfdbf033a37537530b4e3b87b0a7f003)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Martin Jansa
ae2c9cbce3 kmod: remove unused ptest.patch
* it was removed from SRC_URI in 2015:
  https://git.openembedded.org/openembedded-core/commit/?id=f80d136bdd578468035a88125fa1b84973fd912b

(From OE-Core rev: 960b61a53b6a670b4b3a23faff85850a3485f00e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cfc4586b4bf080a3a4aa419dffc76c5da2a95b74)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Martin Jansa
fb2151dbb7 minicom: remove unused patch files
* they were removed from SRC_URI in:
  https://git.openembedded.org/openembedded-core/commit/?id=41f8760dd8a8ac388389bc17dbc5e0ae0f64bf57

(From OE-Core rev: 094d2341240fc09a91fea7bea1b3c51a08ad9817)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a0f28cd8d01f4faeedc1089e5d1e2dacc5b046f9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 4395c783e544de30f650459677055737148ea261)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Frieder Schrempf
3aaf57f1ce psmisc: Set ALTERNATIVE for pstree to resolve conflict with busybox
If pstree in busybox is enabled there is a conflict with pstree from
psmisc resulting in:

  do_rootfs: Postinstall scriptlets of ['busybox'] have failed. If
  the intention is to defer them to first boot, then please place
  them into pkg_postinst_ontarget:${PN} ().
  Deferring to first boot via 'exit 1' is no longer supported.

And more detailed in do_rootfs.log:

  update-alternatives: Error: not linking [...]/rootfs/usr/bin/pstree to /bin/busybox.nosuid since [...]/rootfs/usr/bin/pstree exists and is not a link

On order to fix this set ALTERNATIVE:pstree accordingly.

(From OE-Core rev: b40a33f0665c7086e806da4f670a3eb25351216c)

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit deb2176df76dcb16c0d90072ad63d308a0ab1158)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Bruce Ashfield
e35effd45f linux-yocto/5.10: cfg: fix DECNET configuration warning
Dropping CONFIG_DECNET as it has been removed from -stable
and we now get a configuration warning.

(From OE-Core rev: 60eb677142dfd0264a99f626b5b9ede1a6d706e1)

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

    ef0d5feb32ab Linux 5.10.185
    ed2bf5cee6c6 um: Fix build w/o CONFIG_PM_SLEEP
    f73ec12dc718 drm/i915/gen11+: Only load DRAM information from pcode
    27458487c8f4 drm/i915/dg1: Wait for pcode/uncore handshake at startup
    2d1c19597d1e media: dvb-core: Fix use-after-free due to race at dvb_register_device()
    5c61c3945adf media: dvbdev: fix error logic at dvb_register_device()
    a1b26dac8bc6 media: dvbdev: Fix memleak in dvb_register_device
    a13dee47fa2a nilfs2: reject devices with insufficient block count
    c374552b54d6 mm/memory_hotplug: extend offline_and_remove_memory() to handle more than one memory block
    e6dc6a9d0a76 mmc: block: ensure error propagation for non-blk
    7ce0e8b28720 batman-adv: Switch to kstrtox.h for kstrtou64
    e6104284c42f neighbour: delete neigh_lookup_nodev as not used
    bf82668eb950 net: Remove DECnet leftovers from flow.h.
    7d07fd03f50c net: Remove unused inline function dst_hold_and_use()
    53076071fb92 neighbour: Remove unused inline function neigh_key_eq16()
    7230a9e599d3 rcu/kvfree: Avoid freeing new kfree_rcu() memory after old grace period
    a26158962176 cgroup: always put cset in cgroup_css_set_put_fork
    4c1084386332 afs: Fix vlserver probe RTT handling
    49b6607dedc2 selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET
    08899e8d5a99 net: tipc: resize nlattr array to correct size
    5fd696b404fb net: lapbether: only support ethernet devices
    6ee3728ae87e net/sched: cls_api: Fix lockup on flushing explicitly created chain
    efed5b50f3b8 ext4: drop the call to ext4_error() from ext4_get_group_info()
    6ab91d1adb5a drm/nouveau: add nv_encoder pointer check for NULL
    5d43bb9b3e0c drm/nouveau/dp: check for NULL nv_connector->native_mode
    edb970e03d65 drm/nouveau: don't detect DSM for non-NVIDIA device
    8c3446ab5902 igb: fix nvm.ops.read() error handling
    221281d60c46 sctp: fix an error code in sctp_sf_eat_auth()
    5c47ed7f25d6 ipvlan: fix bound dev checking for IPv6 l3s mode
    3c97f2c9ec29 IB/isert: Fix incorrect release of isert connection
    da6ae4aab5a6 IB/isert: Fix possible list corruption in CMA handler
    2b6f8817ca66 IB/isert: Fix dead lock in ib_isert
    2f9d26345c6e IB/uverbs: Fix to consider event queue closing also upon non-blocking mode
    6cccdbc9f09c RDMA/cma: Always set static rate to 0 for RoCE
    f49abbb27416 RDMA/mlx5: Initiate dropless RQ for RAW Ethernet functions
    aa277d5cd4b2 octeontx2-af: fixed resource availability check
    0fb48a2a6ad4 iavf: remove mask from iavf_irq_enable_queues()
    079a9591ee18 RDMA/rxe: Fix the use-before-initialization error of resp_pkts
    089a0e831f68 RDMA/rxe: Removed unused name from rxe_task struct
    6205c0d9ff8b RDMA/rxe: Remove the unused variable obj
    af6eaa57986e net/sched: cls_u32: Fix reference counter leak leading to overflow
    5852d17aaa8b ping6: Fix send to link-local addresses with VRF.
    9e666a77f008 net: enetc: correct the indexes of highest and 2nd highest TCs
    1200af82cf0b netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM
    af42c4fd827c spi: fsl-dspi: avoid SCK glitches with continuous transfers
    cb6ec51ddd00 RDMA/rtrs: Fix the last iu->buf leak in err path
    26293251ab64 usb: dwc3: gadget: Reset num TRBs before giving back the request
    f4bc41694289 serial: lantiq: add missing interrupt ack
    0b6e65016c3c USB: serial: option: add Quectel EM061KGL series
    1c004b379b03 Remove DECnet support from kernel
    e9d384983fa9 ALSA: hda/realtek: Add a quirk for Compaq N14JP6
    1148d4ca3029 net: usb: qmi_wwan: add support for Compal RXM-G1
    d7acfd522560 RDMA/uverbs: Restrict usage of privileged QKEYs
    96e14c91c530 nouveau: fix client work fence deletion race
    f1f7117b2236 powerpc/purgatory: remove PGO flags
    26c80741ceb6 x86/purgatory: remove PGO flags
    f368aed4827b kexec: support purgatories with .text.hot sections
    7e78b9142fdf nilfs2: fix possible out-of-bounds segment allocation in resize ioctl
    902fcec05295 nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key()
    d59293f082dc nios2: dts: Fix tse_mac "max-frame-size" property
    2847d9eed48b ocfs2: check new file size on fallocate call
    e73b135f540c ocfs2: fix use-after-free when unmounting read-only filesystem
    370f5d98ffe5 epoll: ep_autoremove_wake_function should use list_del_init_careful
    4716c73b1885 io_uring: hold uring mutex around poll removal
    93a68acc497b irqchip/gic: Correctly validate OF quirk descriptors
    2a2641a842ea drm:amd:amdgpu: Fix missing buffer object unlock in failure path
    7c0b17679b43 xen/blkfront: Only check REQ_FUA for writes
    8e45fb70f4b5 ASoC: dwc: move DMA init to snd_soc_dai_driver probe()
    d47b5a6d2331 mips: Move initrd_start check after initrd address sanitisation.
    619672bf2d04 MIPS: Alchemy: fix dbdma2
    0ca73b45b767 parisc: Flush gatt writes and adjust gatt mask in parisc_agp_mask_memory()
    3f7625e08620 parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu()
    73102fdb5bf3 ASoC: soc-pcm: test if a BE can be prepared
    3bc883132d03 btrfs: handle memory allocation failure in btrfs_csum_one_bio
    142fbad31405 btrfs: scrub: try harder to mark RAID56 block groups read-only
    35d32d841592 power: supply: Fix logic checking if system is running from battery
    8b7a2207ee40 irqchip/gic-v3: Disable pseudo NMIs on Mediatek devices w/ firmware issues
    dbf610997242 regulator: Fix error checking for debugfs_create_dir
    37bcc48e7dd1 platform/x86: asus-wmi: Ignore WMI events with codes 0x7B, 0xC0
    88d1c1365ff6 power: supply: Ratelimit no data debug output
    6be7a4bef9dc tools: gpio: fix debounce_period_us output of lsgpio
    39eb9eb9ea43 ARM: dts: vexpress: add missing cache properties
    b2856c3cd3b2 power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + schedule()
    ce2b5f24caad power: supply: sc27xx: Fix external_power_changed race
    9e9e150fa8a6 power: supply: ab8500: Fix external_power_changed race
    539c387f0bb9 test_firmware: fix a memory leak with reqs buffer
    af36f35074b1 test_firmware: prevent race conditions by a correct implementation of locking
    682ca602515d test_firmware: Use kstrtobool() instead of strtobool()
    6e2e551e39fd kernel.h: split out kstrtox() and simple_strtox() to a separate header
    c2def5578b44 lib: cleanup kstrto*() usage

(From OE-Core rev: 0cacc63b11f85a37e3a91b1097ca516647facb8f)

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

    a1f0beb13d9b Linux 5.10.184
    7f896130eff7 Revert "staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE"
    b60e862e133f btrfs: unset reloc control if transaction commit fails in prepare_to_relocate()
    6f371623f315 btrfs: check return value of btrfs_commit_transaction in relocation
    ea0d413094e0 drm/atomic: Don't pollute crtc_state->mode_blob with error pointers
    1659268d1ab4 MIPS: locking/atomic: Fix atomic{_64,}_sub_if_positive
    0e98a97f772f xfs: verify buffer contents when we skip log replay
    58e8cf94de12 tcp: fix tcp_min_tso_segs sysctl
    1b4b3350969e ext4: only check dquot_initialize_needed() when debugging
    fd6cb5171903 Revert "ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled"
    cfa91c0573a5 vhost: support PACKED when setting-getting vring_base
    461c88caa889 riscv: fix kprobe __user string arg print fault issue
    c6b905087428 eeprom: at24: also select REGMAP
    10e376a7c387 i2c: sprd: Delete i2c adapter in .remove's error path
    c4aeef56022e ASoC: codecs: wsa881x: do not set can_multi_write flag
    b6f309e9d24e staging: vc04_services: fix gcc-13 build warning
    0d3c75a69344 usb: usbfs: Use consistent mmap functions
    143f40572174 usb: usbfs: Enforce page requirements for mmap
    bcd474d1838e pinctrl: meson-axg: add missing GPIOA_18 gpio group
    1981d37b1d76 rbd: get snapshot context after exclusive lock is ensured to be held
    76ae4a7bc999 rbd: move RBD_OBJ_FLAG_COPYUP_ENABLED flag setting
    841d3b5a8446 tee: amdtee: Add return_origin to 'struct tee_cmd_load_ta'
    a94024991d82 Bluetooth: hci_qca: fix debugfs registration
    2270e32bd199 Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk
    76b40319a1ea s390/dasd: Use correct lock while counting channel queue length
    e715c86e92fd ceph: fix use-after-free bug for inodes when flushing capsnaps
    67148731582d can: j1939: avoid possible use-after-free when j1939_can_rx_register fails
    cc834f4d9762 can: j1939: change j1939_netdev_lock type to mutex
    026800507640 can: j1939: j1939_sk_send_loop_abort(): improved error queue handling in J1939 Socket
    00380551353b drm/amdgpu: fix xclk freq on CHIP_STONEY
    ef95f987bea8 ALSA: hda/realtek: Add Lenovo P3 Tower platform
    95520b3fba92 ALSA: hda/realtek: Add a quirk for HP Slim Desktop S01
    ca26d00828d3 Input: psmouse - fix OOB access in Elantech protocol
    86efc409f29d Input: xpad - delete a Razer DeathAdder mouse VID/PID entry
    9ece26ff0815 batman-adv: Broken sync while rescheduling delayed work
    3f6dfff5fe41 bnxt_en: Implement .set_port / .unset_port UDP tunnel callbacks
    deead0d8729f bnxt_en: Query default VLAN before VNIC setup on a VF
    84dbd27ad5da bnxt_en: Don't issue AP reset during ethtool's reset operation
    dedd47977ae5 lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release()
    27b8d6931f3f bpf: Add extra path pointer check to d_path helper
    36d07046c2d9 net: sched: fix possible refcount leak in tc_chain_tmplt_add()
    54acac57fe39 net: sched: move rtm_tca_policy declaration to include file
    dad7417db765 rfs: annotate lockless accesses to RFS sock flow table
    c62ca9d03777 rfs: annotate lockless accesses to sk->sk_rxhash
    86e3981ff1bc ipv6: rpl: Fix Route of Death.
    b4be099c5fb5 netfilter: ipset: Add schedule point in call_ad().
    35c89cfcac05 netfilter: conntrack: fix NULL pointer dereference in nf_confirm_cthelper
    c4ba90ae3578 qed/qede: Fix scheduling while atomic
    0fee54fa330b Bluetooth: L2CAP: Add missing checks for invalid DCID
    00665980128c Bluetooth: Fix l2cap_disconnect_req deadlock
    83cfac5851c2 net/sched: fq_pie: ensure reasonable TCA_FQ_PIE_QUANTUM values
    8ab2bec9e165 net/smc: Avoid to access invalid RMBs' MRs in SMCRv1 ADD LINK CONT
    47ef881f1cbe net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods
    9fcc3c3d26a0 neighbour: fix unaligned access to pneigh_entry
    99883d4a0be2 wifi: mt76: mt7615: fix possible race in mt7615_mac_sta_poll
    2d3e4c5b3e05 afs: Fix setting of mtime when creating a file/dir/symlink
    1ed651e234fd spi: qup: Request DMA before enabling clocks
    e7c61c39d6d1 staging: vchiq_core: drop vchiq_status from vchiq_initialise
    fa303270602d i40e: fix build warning in ice_fltr_add_mac_to_list()
    15ca8d584c1a i40e: fix build warnings in i40e_alloc.h
    f7e208d1c549 i40iw: fix build warning in i40iw_manage_apbvt()
    318e2c18da7c block/blk-iocost (gcc13): keep large values in a new enum
    b6d652f7fbdc blk-iocost: avoid 64-bit division in ioc_timer_fn
    9214a5484e33 f2fs: fix iostat lock protection
    d3b74c288d84 bonding (gcc13): synchronize bond_{a,t}lb_xmit() types
    f122e5517401 remove the sx8 block driver
    9236470a1dd4 sfc (gcc13): synchronize ef100_enqueue_skb()'s return type
    02ce3cf22291 gcc-plugins: Reorganize gimple includes for GCC 13
    4c3ddc06cedb ata: ahci: fix enum constants for gcc-13

(From OE-Core rev: 1588c4ebc21543a6a0a0d254339505f2c4ceb8c1)

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

    7356714b95aa Linux 5.10.183
    842156dc0aad ARM: defconfig: drop CONFIG_DRM_RCAR_LVDS
    2c0ea7a06db5 ext4: enable the lazy init thread when remounting read/write
    92450a1eaa9e selftests: mptcp: join: skip if MPTCP is not supported
    1a6db1f92724 selftests: mptcp: simult flows: skip if MPTCP is not supported
    4f8356ab74dd selftests: mptcp: diag: skip if MPTCP is not supported
    81df7153f011 crypto: ccp: Play nice with vmalloc'd memory for SEV command structs
    1f988ce6e44f crypto: ccp: Reject SEV commands with mismatching command buffer
    d21a20f4421d scsi: dpt_i2o: Do not process completions with invalid addresses
    a2cd7599b558 scsi: dpt_i2o: Remove broken pass-through ioctl (I2OUSERCMD)
    6d6612f7f976 drm/rcar: stop using 'imply' for dependencies
    c759c9e4bf38 media: ti-vpe: cal: avoid FIELD_GET assertion
    d21e955de918 tpm, tpm_tis: Request threaded interrupt handler
    608c1f20830c regmap: Account for register length when chunking
    cb1cbe430e67 KEYS: asymmetric: Copy sig and digest in public_key_verify_signature()
    3295dc04af33 KVM: x86: Account fastpath-only VM-Exits in vCPU stats
    21bb3cd2e1bc test_firmware: fix the memory leak of the allocated firmware buffer
    510e015b9058 serial: 8250_tegra: Fix an error handling path in tegra_uart_probe()
    b02ae50c7fd8 fbcon: Fix null-ptr-deref in soft_cursor
    c94228a5aea4 ext4: add lockdep annotations for i_data_sem for ea_inode's
    ef70012ab51c ext4: disallow ea_inodes with extended attributes
    6f4fa43757bb ext4: set lockdep subclass for the ea_inode in ext4_xattr_inode_cache_find()
    6d67d4966c1e ext4: add EA_INODE checking to ext4_iget()
    6d0adaa90dbe selftests: mptcp: pm nl: skip if MPTCP is not supported
    54dea0aa6bef selftests: mptcp: connect: skip if MPTCP is not supported
    57eb824b8cbb tracing/probe: trace_probe_primary_from_call(): checked list_first_entry
    122ba1d40bea selinux: don't use make's grouped targets feature yet
    e0b8664c2fec btrfs: fix csum_tree_block page iteration to avoid tripping on -Werror=array-bounds
    6c859764f44d tty: serial: fsl_lpuart: use UARTCTRL_TXINV to send break instead of UARTCTRL_SBK
    6127e956c3a7 mmc: vub300: fix invalid response handling
    99cb5ed15d3e eth: sun: cassini: remove dead code
    1d8693376aaa gcc-12: disable '-Wdangling-pointer' warning for now
    7c602f540bfd ath6kl: Use struct_group() to avoid size-mismatched casting
    c92ea38a779f ACPI: thermal: drop an always true check
    93e28b66c104 x86/boot: Wrap literal addresses in absolute_pointer()
    3442be8f3095 ata: libata-scsi: Use correct device no in ata_find_dev()
    ae0d7613e0e3 scsi: stex: Fix gcc 13 warnings
    86b2d292c260 misc: fastrpc: reject new invocations during device removal
    dacb7c103c2f misc: fastrpc: return -EPIPE to invocations on device removal
    a4f88cb043c5 usb: gadget: f_fs: Add unbind event before functionfs_unbind
    90f581eb745c net: usb: qmi_wwan: Set DTR quirk for BroadMobi BM818
    e18b0009ddfb iio: dac: build ad5758 driver when AD5758 is selected
    a869ab6987f4 iio: adc: ad7192: Change "shorted" channels to differential
    143dbb313aea iio: dac: mcp4725: Fix i2c_master_send() return value handling
    81c70f4beaad iio: light: vcnl4035: fixed chip ID check
    ff864a92d903 iio: imu: inv_icm42600: fix timestamp reset
    954bd5a44b09 HID: wacom: avoid integer overflow in wacom_intuos_inout()
    adac1c22f54b HID: google: add jewel USB id
    55c507a34e7e iio: adc: mxs-lradc: fix the order of two cleanup operations
    5a445c2bf651 mailbox: mailbox-test: fix a locking issue in mbox_test_message_write()
    c05ac53bb0df atm: hide unused procfs functions
    ab332304583d drm/msm: Be more shouty if per-process pgtables aren't working
    93a61212db4b ALSA: oss: avoid missing-prototype warnings
    4987bf04465e netfilter: conntrack: define variables exp_nat_nla_policy and any_addr with CONFIG_NF_NAT
    1c2537291e9c wifi: b43: fix incorrect __packed annotation
    ea478186ea29 scsi: core: Decrease scsi_device's iorequest_cnt if dispatch failed
    05226a8f2288 arm64/mm: mark private VM_FAULT_X defines as vm_fault_t
    32f86763c2a2 ARM: dts: stm32: add pin map for CAN controller on stm32f7
    01c76cb5e512 wifi: rtl8xxxu: fix authentication timeout due to incorrect RCR value
    046721280664 s390/pkey: zeroize key blobs
    76169f749089 media: dvb-core: Fix use-after-free due to race condition at dvb_ca_en50221
    ca2d171fd1f3 media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*()
    2ea7d26ed851 media: dvb-core: Fix use-after-free due on race condition at dvb_net
    415651c8f468 media: mn88443x: fix !CONFIG_OF error by drop of_match_ptr from ID table
    eb37fef417a2 media: ttusb-dec: fix memory leak in ttusb_dec_exit_dvb()
    1995e714725f media: dvb_ca_en50221: fix a size write bug
    b85233ab5335 media: netup_unidvb: fix irq init by register it at the end of probe
    74c80d2024d9 media: dvb-usb: dw2102: fix uninit-value in su3000_read_mac_address
    fcbb72b041d9 media: dvb-usb: digitv: fix null-ptr-deref in digitv_i2c_xfer()
    7945c13c9b7f media: dvb-usb-v2: rtl28xxu: fix null-ptr-deref in rtl28xxu_i2c_xfer
    2d47867a6b3c media: dvb-usb-v2: ce6230: fix null-ptr-deref in ce6230_i2c_master_xfer()
    647da51e4da7 media: dvb-usb-v2: ec168: fix null-ptr-deref in ec168_i2c_xfer()
    084e43d9a4c1 media: dvb-usb: az6027: fix three null-ptr-deref in az6027_i2c_xfer()
    a81280cf3343 media: dvb_demux: fix a bug for the continuity counter
    204e9082f6af ASoC: ssm2602: Add workaround for playback distortions
    beee708ccccc ASoC: dt-bindings: Adjust #sound-dai-cells on TI's single-DAI codecs
    bd99da647262 xfrm: Check if_id in inbound policy/secpath match
    5ee83fef0c24 ASoC: dwc: limit the number of overrun messages
    32f6f1bf1bef block/rnbd: replace REQ_OP_FLUSH with REQ_OP_WRITE
    01c3d3064975 nbd: Fix debugfs_create_dir error checking
    29f6b42a73b3 fbdev: stifb: Fix info entry in sti_struct on error path
    742dab42d70e fbdev: modedb: Add 1920x1080 at 60 Hz video mode
    d03d31d3a206 gfs2: Don't deref jdesc in evict
    fe4f6e159b9a media: rcar-vin: Select correct interrupt mode for V4L2_FIELD_ALTERNATE
    16ee4562c7bb ARM: 9295/1: unwind:fix unwind abort for uleb128 case
    a3393eb6fb41 btrfs: abort transaction when sibling keys check fails for leaves
    c12c288f1e67 mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()
    0dcf021af4cb ALSA: hda: Glenfly: add HD Audio PCI IDs and HDMI Codec Vendor IDs.
    d5fcccfc5010 watchdog: menz069_wdt: fix watchdog initialisation
    9823ac6e7ae1 mtd: rawnand: marvell: don't set the NAND frequency select
    e4666d793a22 mtd: rawnand: marvell: ensure timing values are written
    a437d3d25a27 net: dsa: mv88e6xxx: Increase wait after reset deactivation
    7c5c67aa2944 net/sched: flower: fix possible OOB write in fl_set_geneve_opt()
    f5c29a9e9146 net/mlx5: Read embedded cpu after init bit cleared
    f03bc013604c udp6: Fix race condition in udp6_sendmsg & connect
    57e6c5403427 net/netlink: fix NETLINK_LIST_MEMBERSHIPS length report
    ae7e941f4dc3 net: sched: fix NULL pointer dereference in mq_attach
    a8ad1303b9de net/sched: Prohibit regrafting ingress or clsact Qdiscs
    676f203803f9 net/sched: Reserve TC_H_INGRESS (TC_H_CLSACT) for ingress (clsact) Qdiscs
    18c76349afda net/sched: sch_clsact: Only create under TC_H_CLSACT
    1b0163b2dc3b net/sched: sch_ingress: Only create under TC_H_INGRESS
    dfb80ebc3bb4 tcp: Return user_mss for TCP_MAXSEG in CLOSE/LISTEN state if user_mss set
    cccc6209708f tcp: deny tcp_disconnect() when threads are waiting
    8f0365a3e286 af_packet: do not use READ_ONCE() in packet_bind()
    4de3c2c43c6f mtd: rawnand: ingenic: fix empty stub helper definitions
    11a1f2561b53 amd-xgbe: fix the false linkup in xgbe_phy_status
    fa909b138480 af_packet: Fix data-races of pkt_sk(sk)->num.
    616da05ff8a9 netrom: fix info-leak in nr_write_internal()
    d1b224cb7856 net/mlx5: fw_tracer, Fix event handling
    a864a8543cd5 dmaengine: pl330: rename _start to prevent build error
    33d7035dc224 iommu/amd: Don't block updates to GATag if guest mode is on
    bd9e61ee3e9d iommu/rockchip: Fix unwind goto issue
    75c60dacf0b4 RDMA/bnxt_re: Fix return value of bnxt_re_process_raw_qp_pkt_rx
    861868b06304 RDMA/bnxt_re: Fix a possible memory leak
    ff296fccebcb dmaengine: at_xdmac: fix potential Oops in at_xdmac_prep_interleaved()
    6b32ed353f44 dmaengine: at_xdmac: Move the free desc to the tail of the desc list
    3041b768cc0f dmaengine: at_xdmac: Fix race for the tx desc callback
    127afc87bb02 dmaengine: at_xdmac: Fix concurrency over chan's completed_cookie
    958226b3a663 RDMA/efa: Fix unsupported page sizes in device
    7d6662e4a4b6 RDMA/bnxt_re: Fix the page_size used during the MR creation
    b51c8962853e RDMA/bnxt_re: Code refactor while populating user MRs

(From OE-Core rev: 3a6f5720936c106e35be41b4b3e14e818baec739)

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

    c7992b6c7f0e Linux 5.10.182
    468bebc426ba netfilter: ctnetlink: Support offloaded conntrack entry deletion
    18c14d3028c0 ipv{4,6}/raw: fix output xfrm lookup wrt protocol
    2218752325a9 binder: fix UAF caused by faulty buffer cleanup
    e4d2e6c3054b bluetooth: Add cmd validity checks at the start of hci_sock_ioctl()
    6a0712d9fe46 net: phy: mscc: enable VSC8501/2 RGMII RX clock
    b556990235c3 net/mlx5: Devcom, serialize devcom registration
    57dc3c124e7b net/mlx5: devcom only supports 2 ports
    860ad704e450 regulator: pca9450: Fix BUCK2 enable_mask
    b3a9c4081db9 regulator: pca9450: Convert to use regulator_set_ramp_delay_regmap
    12cb97ed85fb regulator: Add regmap helper for ramp-delay setting
    b557220d3140 power: supply: bq24190: Call power_supply_changed() after updating input current
    224f7bbf577b power: supply: core: Refactor power_supply_set_input_current_limit_from_supplier()
    277b489ad0b7 power: supply: bq27xxx: After charger plug in/out wait 0.5s for things to stabilize
    0949c572d42d power: supply: bq27xxx: Ensure power_supply_changed() is called on current sign changes
    6ed541254f4b power: supply: bq27xxx: Move bq27xxx_battery_update() down
    ed78797a264c power: supply: bq27xxx: expose battery data when CI=1
    7ff807d68b5d power: supply: bq27xxx: Add cache parameter to bq27xxx_battery_current_and_status()
    432f98c559f2 power: supply: bq27xxx: make status more robust
    659094e4057a power: supply: bq27xxx: fix sign of current_now for newer ICs
    14e1a958d988 power: supply: bq27xxx: fix polarity of current_now
    18c9cf463337 x86/cpu: Drop spurious underscore from RAPTOR_LAKE #define
    4a8980cb2a7c x86/cpu: Add Raptor Lake to Intel family
    272d4b8a5b96 Linux 5.10.181
    cf7ee4b15838 net: phy: mscc: add VSC8502 to MODULE_DEVICE_TABLE
    98cedb991094 3c589_cs: Fix an error handling path in tc589_probe()
    6f449e409b75 arm64: dts: imx8mn-var-som: fix PHY detection bug by adding deassert delay
    d4d10a6df152 net/mlx5: Devcom, fix error flow in mlx5_devcom_register_device
    8b9c561b9fc1 net/mlx5: Fix error message when failing to allocate device memory
    c21862232f6c net/mlx5: DR, Fix crc32 calculation to work on big-endian (BE) CPUs
    058fd18e7477 net/mlx5e: do as little as possible in napi poll when budget is 0
    5afd5fb8a9a7 forcedeth: Fix an error handling path in nv_probe()
    80a4b9ad4288 ASoC: Intel: Skylake: Fix declaration of enum skl_ch_cfg
    c966b58c8515 x86/show_trace_log_lvl: Ensure stack pointer is aligned, again
    0de80163dea6 xen/pvcalls-back: fix double frees with pvcalls_new_active_socket()
    b663696c0652 coresight: Fix signedness bug in tmc_etr_buf_insert_barrier_packet()
    a52d2019ec7c fs: fix undefined behavior in bit shift for SB_NOUSER
    52967bbb93eb power: supply: sbs-charger: Fix INHIBITED bit for Status reg
    e85757da9091 power: supply: bq27xxx: Fix poll_interval handling and races on remove
    1da9a4b55a66 power: supply: bq27xxx: Fix I2C IRQ race on remove
    ac1ab213946d power: supply: bq27xxx: Fix bq27xxx_battery_update() race condition
    2de6eb7c40f9 power: supply: leds: Fix blink to LED on transition
    e5f82688ae10 ipv6: Fix out-of-bounds access in ipv6_find_tlv()
    a61d5c13c7d1 bpf: Fix mask generation for 32-bit narrow loads of 64-bit fields
    72971f4071b4 octeontx2-pf: Fix TSOv6 offload
    1c8a016822bb selftests: fib_tests: mute cleanup error message
    a594382ec6d0 net: fix skb leak in __skb_tstamp_tx()
    8a30dce9d7f7 media: radio-shark: Add endpoint checks
    ccef03c51135 USB: sisusbvga: Add endpoint checks
    4c260bbf356a USB: core: Add routines for endpoint checks in old drivers
    5014b64e369b udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated().
    4bb955c4d283 net: fix stack overflow when LRO is disabled for virtual interfaces
    58ecc165abda fbdev: udlfb: Fix endpoint check
    fd673079749b debugobjects: Don't wake up kswapd from fill_pool()
    a12ce786bef6 x86/topology: Fix erroneous smp_num_siblings on Intel Hybrid platforms
    518c39fc1ed6 parisc: Fix flush_dcache_page() for usage from irq context
    2d78438c3183 selftests/memfd: Fix unknown type name build failure
    d4a5e6ae9967 x86/mm: Avoid incomplete Global INVLPG flushes
    628d7e494134 dt-binding: cdns,usb3: Fix cdns,on-chip-buff-size type
    139f84c80d9f btrfs: use nofs when cleaning up aborted transactions
    ea50ee0ef904 gpio: mockup: Fix mode of debugfs files
    c570dbf279a8 parisc: Allow to reboot machine after system halt
    de0d7dd5efd4 parisc: Handle kgdb breakpoints only in kernel context
    89eba5586aa4 m68k: Move signal frame following exception on 68020/030
    42b78c8cc774 net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize
    798c1c62cfa5 ALSA: hda/realtek: Enable headset onLenovo M70/M90
    1f57a1b97949 ALSA: hda: Fix unhandled register update during auto-suspend period
    b0d7e62fd15e ALSA: hda/ca0132: add quirk for EVGA X299 DARK
    c41324385aa7 ocfs2: Switch to security_inode_init_security()
    60afe299bb54 spi: fsl-cpm: Use 16 bit mode for large transfers with even size
    e3674788a865 spi: fsl-spi: Re-organise transfer bits_per_word adaptation
    532451037863 act_mirred: use the backlog for nested calls to mirred ingress
    f5bf8e3ca13e net/sched: act_mirred: better wording on protection against excessive stack growth
    bba7ebe10baf net/sched: act_mirred: refactor the handle of xmit
    047f618d198e writeback, cgroup: remove extra percpu_ref_exit()
    84fbe6ad0fa3 ARM: dts: stm32: fix AV96 board SAI2 pin muxing on stm32mp15
    dbcc95bb510e watchdog: sp5100_tco: Immediately trigger upon starting.
    75258f083868 s390/qdio: fix do_sqbs() inline assembly constraint
    3681a0287a73 s390/qdio: get rid of register asm
    9c9f253fc60b serial: 8250_exar: Add support for USR298x PCI Modems
    1ffa0b8ba928 serial: exar: Add support for Sealevel 7xxxC serial cards
    fb3c5714f5ce serial: 8250_exar: derive nr_ports from PCI ID for Acces I/O cards
    18fbf8cfbb9d KVM: arm64: Link position-independent string routines into .hyp.text
    e266da1656d6 HID: wacom: add three styli to wacom_intuos_get_tool_type
    dfd419db0391 HID: wacom: Add new Intuos Pro Small (PTH-460) device IDs
    05b170379744 HID: wacom: Force pen out of prox if no events have been received in a while
    6b4205ea9790 nilfs2: fix use-after-free bug of nilfs_root in nilfs_evict_inode()
    710dee57012e powerpc/64s/radix: Fix soft dirty tracking
    ae149cdaef4e tpm/tpm_tis: Disable interrupts for more Lenovo devices
    8c0109d76235 ceph: force updating the msg pointer in non-split case
    11dddfbb7a4e vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF
    ea3d5de90bc0 serial: Add support for Advantech PCI-1611U card
    ba061afa060e statfs: enforce statfs[64] structure initialization
    845f98af6ae8 can: kvaser_pciefd: Disable interrupts in probe error path
    7a7ec807fe54 can: kvaser_pciefd: Do not send EFLUSH command on TFD interrupt
    65e85232ffa6 can: kvaser_pciefd: Clear listen-only bit if not explicitly requested
    0babb3fabf55 can: kvaser_pciefd: Empty SRB buffer in probe
    03714e9c04ec can: kvaser_pciefd: Call request_irq() before enabling interrupts
    3bbeba3ce14d can: kvaser_pciefd: Set CAN_STATE_STOPPED in kvaser_pciefd_stop()
    073a4d750cec can: isotp: recvmsg(): allow MSG_CMSG_COMPAT flag
    b4b8294a41ca can: j1939: recvmsg(): allow MSG_CMSG_COMPAT flag
    f7f799a6fe38 ALSA: hda/realtek: Add quirk for 2nd ASUS GU603
    b4f770e61230 ALSA: hda/realtek: Add a quirk for HP EliteDesk 805
    6cebdffba628 ALSA: hda/realtek: Add quirk for Clevo L140AU
    3add6b2a4a69 ALSA: hda: Add NVIDIA codec IDs a3 through a7 to patch table
    546b1f5f45a3 ALSA: hda: Fix Oops by 9.1 surround channel names
    ff466f77d0a5 usb: typec: altmodes/displayport: fix pin_assignment_show
    35e31e1e921c usb: gadget: u_ether: Fix host MAC address case
    e35adb75fda5 usb: dwc3: debugfs: Resume dwc3 before accessing registers
    66070f5b9995 USB: UHCI: adjust zhaoxin UHCI controllers OverCurrent bit value
    0caed1faf5f6 usb-storage: fix deadlock when a scsi command timeouts more than once
    6340e432cf70 USB: usbtmc: Fix direction for 0-length ioctl control messages
    3b3c6f2d2f1f ALSA: usb-audio: Add a sample rate workaround for Line6 Pod Go
    3bd6d11e7e63 bridge: always declare tunnel functions
    3fa13203b6d9 netfilter: nft_set_rbtree: fix null deref on element insertion
    6cfe6f51856b vlan: fix a potential uninit-value in vlan_dev_hard_start_xmit()
    562ec162b04a igb: fix bit_shift to be in [1..8] range
    dc61f7582cc9 cassini: Fix a memory leak in the error handling path of cas_init_one()
    81139679f4d2 scsi: storvsc: Don't pass unused PFNs to Hyper-V host
    d0d39bed9e95 wifi: iwlwifi: mvm: don't trust firmware n_channels
    f9337a41772d wifi: mac80211: fix min center freq offset tracing
    43f6575004e0 net: bcmgenet: Restore phy_stop() depending upon suspend/close
    e92727ed9e8b net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop()
    2937127d24cc tipc: check the bearer min mtu properly when setting it by netlink
    2bd4ff4ffb92 tipc: do not update mtu if msg_max is too small in mtu negotiation
    097ea78d8cca tipc: add tipc_bearer_min_mtu to calculate min mtu
    76ea144a35ba net/tipc: fix tipc header files for kernel-doc
    02b20e0bc0c2 net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment()
    01cdda0d27d7 drm/exynos: fix g2d_open/close helper function definitions
    ce97bb60a6e4 SUNRPC: Fix trace_svc_register() call site
    f9982db735a8 media: netup_unidvb: fix use-after-free at del_timer()
    0cefa4215243 net: hns3: fix reset delay time to avoid configuration timeout
    aba74ad99870 net: hns3: fix sending pfc frames after reset issue
    e1f800be74c1 erspan: get the proto with the md version for collect_md
    153017561d28 serial: arc_uart: fix of_iomap leak in `arc_serial_probe`
    e7fd68abbba3 tcp: fix possible sk_priority leak in tcp_v4_send_reset()
    788791990d74 net: Find dst with sk's xfrm policy not ctl_sk
    a9ef8b258988 ipv4/tcp: do not use per netns ctl sockets
    171669917762 vsock: avoid to close connected socket after the timeout
    b1cf6bd8833b ALSA: hda/realtek: Apply HP B&O top speaker profile to Pavilion 15
    13c5fa1248bf ALSA: firewire-digi00x: prevent potential use after free
    6fb537895d29 net: phy: dp83867: add w/a for packet errors seen with short cables
    83996d317b1d net: fec: Better handle pm_runtime_get() failing in .remove()
    8f57715f8ef6 af_key: Reject optional tunnel/BEET mode templates in outbound policies
    f5cb28a90c8c cpupower: Make TSC read per CPU for Mperf monitor
    dc30fed07ddf drm/msm/dpu: Remove duplicate register defines from INTF
    eaf9394ed79c drm/msm/dp: unregister audio driver during unbind
    c5449195f86e Revert "Fix XFRM-I support for nested ESP tunnels"
    295e07a76bf3 xfrm: don't check the default policy if the policy allows the packet
    84fdaaf0d76e btrfs: fix space cache inconsistency after error loading it from disk
    a842fb6038e5 btrfs: replace calls to btrfs_find_free_ino with btrfs_find_free_objectid
    9c69a9d05824 btrfs: move btrfs_find_highest_objectid/btrfs_find_free_objectid to disk-io.c
    6a1a72a8cfda mfd: dln2: Fix memory leak in dln2_probe()
    7d939e367b64 phy: st: miphy28lp: use _poll_timeout functions for waits
    3b37bb0d9290 Input: xpad - add constants for GIP interface numbers
    94ec1a44e843 iommu/arm-smmu-v3: Acknowledge pri/event queue overflow if any
    cae5f8f4f7a8 clk: tegra20: fix gcc-7 constant overflow warning
    8c472e68bea0 iommu/arm-smmu-qcom: Limit the SMR groups to 128
    214ae2c1a9ce RDMA/core: Fix multiple -Warray-bounds warnings
    2d9ca5f62f2b recordmcount: Fix memory leaks in the uwrite function
    cf3e2916017d sched: Fix KCSAN noinstr violation
    158502f79076 mcb-pci: Reallocate memory region to avoid memory overlapping
    2c86a1305c14 serial: 8250: Reinit port->pm on port specific driver unbind
    7ed30db87994 usb: typec: tcpm: fix multiple times discover svids error
    60fabcba7543 HID: wacom: generic: Set battery quirk only when we see battery data
    d234de1a924e spi: spi-imx: fix MX51_ECSPI_* macros when cs > 3
    0898a1df72ac HID: logitech-hidpp: Reconcile USB and Unifying serials
    958534d4368b HID: logitech-hidpp: Don't use the USB serial for USB devices
    bb1313f37e7b staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE
    55410a9144c7 Bluetooth: L2CAP: fix "bad unlock balance" in l2cap_disconnect_rsp
    a2d816f55da1 Bluetooth: hci_bcm: Fall back to getting bdaddr from EFI if not set
    ba66851aba80 ipvs: Update width of source for ip_vs_sync_conn_options
    866921dc06b9 wifi: ath11k: Fix SKB corruption in REO destination ring
    91ad1ab3cc7e wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace
    e732a266b973 null_blk: Always check queue mode setting from configfs
    059e426d666a wifi: iwlwifi: pcie: Fix integer overflow in iwl_write_to_user_buf
    0fc0d287c1e7 wifi: iwlwifi: pcie: fix possible NULL pointer dereference
    7560ed6592ff samples/bpf: Fix fout leak in hbm's run_bpf_prog
    ad87bd313f70 f2fs: fix to drop all dirty pages during umount() if cp_error is set
    fc7237e191b9 ext4: Fix best extent lstart adjustment logic in ext4_mb_new_inode_pa()
    3ca3005b502c ext4: set goal start correctly in ext4_mb_normalize_request
    4c2c8f959984 gfs2: Fix inode height consistency check
    697f92f8317e scsi: message: mptlan: Fix use after free bug in mptlan_remove() due to race condition
    f748e1525383 lib: cpu_rmap: Avoid use after free on rmap->obj array entries
    4621e24c9257 scsi: target: iscsit: Free cmds before session free
    2ea171230a39 net: Catch invalid index in XPS mapping
    8b61e7ad13f2 net: pasemi: Fix return type of pasemi_mac_start_tx()
    e0e7faee3a7d scsi: lpfc: Prevent lpfc_debugfs_lockstat_write() buffer overflow
    22ab5fed07ad ext2: Check block size validity during mount
    4e8dc0e5c763 wifi: brcmfmac: cfg80211: Pass the PMK in binary instead of hex
    e8d49d1c5968 bpf: Annotate data races in bpf_local_storage
    30d041c18dfb wifi: ath: Silence memcpy run-time false positive warning
    b8e7589f50b7 drm/amd: Fix an out of bounds error in BIOS parser
    978e0d05547a ACPICA: ACPICA: check null return of ACPI_ALLOCATE_ZEROED in acpi_db_display_objects
    16359bc02c09 ACPICA: Avoid undefined behavior: applying zero offset to null pointer
    3f64a0e66469 drm/tegra: Avoid potential 32-bit integer overflow
    f718f1fd3e4c remoteproc: stm32_rproc: Add mutex protection for workqueue
    066b90bca755 ACPI: EC: Fix oops when removing custom query handlers
    7d8f5ccc826b firmware: arm_sdei: Fix sleep from invalid context BUG
    5c23f6da62f7 memstick: r592: Fix UAF bug in r592_remove due to race condition
    ae6769fb939c arm64: dts: qcom: msm8996: Add missing DWC3 quirks
    bb1616e1057d regmap: cache: Return error in cache sync operations for REGCACHE_NONE
    d5138ad7ca1d drm/amd/display: Use DC_LOG_DC in the trasform pixel function
    c8daee665858 fs: hfsplus: remove WARN_ON() from hfsplus_cat_{read,write}_inode()
    a7d21b858589 rcu: Protect rcu_print_task_exp_stall() ->exp_tasks access
    e4842de4ec13 refscale: Move shutdown from wait_event() to wait_event_idle()
    100c0ad6c045 ext4: allow ext4_get_group_info() to fail
    371d8b8ea0cb ext4: allow to find by goal if EXT4_MB_HINT_GOAL_ONLY is set
    8669fff0d0cd ext4: add mballoc stats proc file
    9b6a0c140e27 ext4: drop s_mb_bal_lock and convert protected fields to atomic
    0983142c5f17 ext4: remove redundant mb_regenerate_buddy()
    d48b7eea9469 ext4: fix lockdep warning when enabling MMP
    5c87115520d2 ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled
    8284c7592d90 ext4: reflect error codes from ext4_multi_mount_protect() to its callers
    efd18a91c9c2 ext4: remove an unused variable warning with CONFIG_QUOTA=n
    df1be652a45f fbdev: arcfb: Fix error handling in arcfb_probe()
    bd6b353671fc drm/i915/dp: prevent potential div-by-zero
    8307e372e744 af_unix: Fix data races around sk->sk_shutdown.
    9b977b0cbb6d af_unix: Fix a data race of sk->sk_receive_queue->qlen.
    fb6ac4b5bdfe net: datagram: fix data-races in datagram_poll()
    f4a371d3f5a7 ipvlan:Fix out-of-bounds caused by unclear skb->cb
    963fe9ed8626 tcp: add annotations around sk->sk_shutdown accesses
    f86568eca4c9 tcp: factor out __tcp_close() helper
    34a5ee69ec62 net: add vlan_get_protocol_and_depth() helper
    9ccf3edbafba net: tap: check vlan with eth_type_vlan() method
    449391400960 net: deal with most data-races in sk_wait_event()
    1b33bdd76635 net: annotate sk->sk_err write from do_recvmmsg()
    f92557f79a60 netlink: annotate accesses to nlk->cb_running
    26001e75dc5c netfilter: conntrack: fix possible bug_on with enable_hooks=1
    d06f67b2b8dc net: Fix load-tearing on sk->sk_stamp in sock_recv_cmsgs().
    8eb35b1aca84 linux/dim: Do nothing if no time delta between samples
    4d3ae448e850 net: mdio: mvusb: Fix an error handling path in mvusb_mdio_probe()
    b882224d7367 ARM: 9296/1: HP Jornada 7XX: fix kernel-doc warnings
    139c27648f8d drm/mipi-dsi: Set the fwnode for mipi_dsi_device
    423908e89d7d driver core: add a helper to setup both the of_node and fwnode of a device

(From OE-Core rev: 2829482f2924082ad01f356ea281ed308e35d44f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Xiangyu Chen
ed9558afb4 dbus: upgrade 1.14.6 -> 1.14.8
Update dbus to 1.14.8 to fix CVE-2023-34969 and serveral bugs

changes:
f90d4f1693/NEWS

commits:
55d11f57 doc/dbus-api-design: fix wrong closing tag
a96f417f CI: Run a detached pipeline for merge requests
9e0477fc CI: Only run for pushes to dbus
077f7e43 CI: Remove an obsolete workaround
07fe44f4 CI: Update Windows runners
ec708d55 CI: Avoid using a no-op download location that gives a 403 error
45e6e93e dbus_message_iter_get_signature: Fix two memory leaks on OOM
0bb1942e dbus-internals: use `_DBUS_FUNCTION_NAME` in `_dbus_verbose()`
8df1b8be dbus-sysdeps-win: do not log function name twice
5c3a4e81 dbus-spawn-win: use `_DBUS_FUNCTION_NAME` instead of `__FUNCTION__`
8e457296 Update NEWS
e1ffce17 Revert "CI: Remove an obsolete workaround"
40c0802f monitor test: Log the messages that we monitored
a70c8f2f bus: Assign a serial number for messages from the driver
39b5c617 monitor test: Reproduce #457
f99e5de1 Update NEWS
21414587 AUTHORS: Update
f90d4f16 Release v1.14.8

(From OE-Core rev: fc3067f163c21434d3f79d03b26b21165be6927a)

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Wang Mingyu
5da269ca4a mobile-broadband-provider-info: upgrade 20221107 -> 20230416
(From OE-Core rev: 82cffbc90caeff76a8ebb7ff1527b69e21b8a967)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 125f72393c9b6fea02757cdc3a22696945e0f490)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Wang Mingyu
0ca44d55ad xdpyinfo: upgrade 1.3.3 -> 1.3.4
Changelog:
=========
configure: Make xf86misc support disabled by default
Variable scope reduction
Remove unnecessary downcast of double to float
Call memset() instead of hand-coding our own equivalent

(From OE-Core rev: 74fef3bca108017f8a1ce0e451b4b2172ae28fcf)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit d87785189336a69ae998f75394ceaebf63decb16)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Wang Mingyu
4d9ea41502 libxpm: upgrade 3.5.15 -> 3.5.16
Changelog:
===========
test: skip compressed file tests when --disable-open-zfile is used
itlab CI: build with each of --enable-open-zfile & --disable-open-zfile
configure: correct error message to suggest --disable-open-zfile
Fix a memleak in ParsePixels error code path
Fix CVE-2022-44617: Runaway loop with width of 0 and enormous height
open-zfile: Make compress & uncompress commands optional
Require LT_INIT from libtool 2 instead of deprecated AC_PROG_LIBTOOL
test: Use PACKAGE_BUGREPORT instead of hard-coded URL's
test: Add simple test cases for functions in src/rgb.c
xpmReadRgbNames: constify filename argument
XpmCreateDataFromXpmImage: Fix misleading indentation
parse.c: Wrap FREE_CIDX definition in do { ... } while(0)
parse.c: remove unused function xstrlcpy()

(From OE-Core rev: 22d9e097538f84a12dd262c1ae936fb8107c2768)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 4d9f0958eecdf683434d77a4f65611803cffd247)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Wang Mingyu
77847ecd60 fribidi: upgrade 1.0.12 -> 1.0.13
Changelog:
* Adding missing man pages to the tar release file.

(From OE-Core rev: 7e4915c4be7dca35a63a912a55bcfa525a532e22)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 0f6da8601fd4d992550e8afe7b09ba7c491250fd)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Wang Mingyu
ea017688a9 babeltrace2: upgrade 2.0.4 -> 2.0.5
Changelog:
==========
 * bt2: honor build system compiler/linker preferences
 * Fix: clear_string_field(): set first character to 0
 * Fix: src.ctf.fs: Not resolving event common ctx
 * debug-info: fix -Wenum-int-mismatch problem in copy_field_class_content_internal
 * fix: pass exec-prefix to python bindings install
 * fix: document proper Bison version requirement
 * cli: use return value of g_string_free
 * babeltrace2-query(1): erroneous parameter used in example
 * Fix: tests: print real values in a fixed format
 * Fix: bt2: autodisc: remove thread error while inserting status in map
 * tests: src.ctf.fs: add test for metadata with invalid syntax
 * tests: shorten names of session-rotation trace
 * bt2: ignore -Wredundant-decls warning
 * ctf: fix -Wformat-overflow error in ctf-meta-resolve.cpp
 * ctf-writer: fix -Wformat-overflow errors in resolve.c
 * Fix: src.text.details: use write_uint_prop_value to handle unsigned values in write_int_range
 * Add `dev-requirements.txt` for pip
 * Fix: src.ctf.lttng-live: consider empty metadata packet as retry
 * Fix: ctf: wrongfully requiring CTF metadata signature for every section
 * Fix: src.ctf.lttng-live: session closed before any metadata is received
 * fix: obsolete warnings with autoconf >= 2.71
 * fix: explicitly disable '-Wsuggest-attribute=format'
 * fix: set stable branch in gitreview config
 * Fix: ctf-writer: list of reserved keywords
 * compiler warning cleanup: is_signed_type: compare -1 to 1
 * Update working version to Babeltrace 2.0.5

(From OE-Core rev: 56121b2378899b928bec3a4eb8abe487789aff17)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit ae47b6c2a4bdee031d42687582049c15614faa6d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Archana Polampalli
8b56df5241 go: fix CVE-2023-29402
The go command may generate unexpected code at build time when using cgo.
This may result in unexpected behavior when running a go program which uses cgo.
This may occur when running an untrusted module which contains directories
with newline characters in their names. Modules which are retrieved using the go
command, i.e. via "go get", are not affected (modules retrieved using GOPATH-mode,
i.e. GO111MODULE=off, may be affected).

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

Upstream patches:
4dae3bbe0e

(From OE-Core rev: aeb0829e52c60a77a2135af8332435b6e2db5b3d)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Ross Burton
e1f4f895ce ninja: ignore CVE-2021-4336, wrong ninja
(From OE-Core rev: c2dd2c13ff26c3f046e35a2f6b8afeb099ef422a)

(From OE-Core rev: 804067b760591d33cd49f8c31fa68a92fcbf5445)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9a106486ad)
Signed-off-by: virendra thakur <virendrak@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Hitendra Prajapati
214b973fbd libcap: CVE-2023-2602 Memory Leak on pthread_create() Error
Upstream-Status: Backport from https://git.kernel.org/pub/scm/libs/libcap/libcap.git/patch/?id=bc6b36682f188020ee4770fae1d41bde5b2c97bb

(From OE-Core rev: 7e4f3c51c0bac772bf56f69a3c065b2b2d095335)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Archana Polampalli
92a46e5fff go: fix CVE-2023-29405
The go command may execute arbitrary code at build time when using cgo.
This may occur when running "go get" on a malicious module, or when running
any other command which builds untrusted code. This is can by triggered by
linker flags, specified via a "#cgo LDFLAGS" directive. Flags containing
embedded spaces are mishandled, allowing disallowed flags to be smuggled
through the LDFLAGS sanitization by including them in the argument of
another flag. This only affects usage of the gccgo compiler.

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

Upstream patches:
6d8af00a63

(From OE-Core rev: 7ce6d0029effc06cff500271a124150f1a7db7b3)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Archana Polampalli
19cce6f246 go: fix CVE-2023-29404
The go command may execute arbitrary code at build time when using cgo.
This may occur when running "go get" on a malicious module, or when running
any other command which builds untrusted code. This is can by triggered by
linker flags, specified via a "#cgo LDFLAGS" directive. The arguments for a
number of flags which are non-optional are incorrectly considered optional,
allowing disallowed flags to be smuggled through the LDFLAGS sanitization.
This affects usage of both the gc and gccgo compilers.

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

Upstream patches:
bbeb55f5fa

(From OE-Core rev: 3e51122f8e2b4a7cd2a1c711175e6daf59b8368b)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
547 changed files with 58647 additions and 16043 deletions

24
SECURITY.md Normal file
View File

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

24
bitbake/SECURITY.md Normal file
View File

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

View File

@@ -25,6 +25,7 @@ if __name__ == "__main__":
parser.add_argument('-u', '--unexpand', help='Do not expand the value (with --value)', action="store_true")
parser.add_argument('-f', '--flag', help='Specify a variable flag to query (with --value)', default=None)
parser.add_argument('--value', help='Only report the value, no history and no variable name', action="store_true")
parser.add_argument('-q', '--quiet', help='Silence bitbake server logging', action="store_true")
args = parser.parse_args()
if args.unexpand and not args.value:
@@ -35,9 +36,10 @@ if __name__ == "__main__":
print("--flag only makes sense with --value")
sys.exit(1)
with bb.tinfoil.Tinfoil(tracking=True) as tinfoil:
quiet = args.quiet
with bb.tinfoil.Tinfoil(tracking=True, setup_logging=not quiet) as tinfoil:
if args.recipe:
tinfoil.prepare(quiet=2)
tinfoil.prepare(quiet=3 if quiet else 2)
d = tinfoil.parse_recipe(args.recipe)
else:
tinfoil.prepare(quiet=2, config_only=True)

View File

@@ -68,11 +68,11 @@ def main():
registered = False
for plugin in plugins:
if hasattr(plugin, 'tinfoil_init'):
plugin.tinfoil_init(tinfoil)
if hasattr(plugin, 'register_commands'):
registered = True
plugin.register_commands(subparsers)
if hasattr(plugin, 'tinfoil_init'):
plugin.tinfoil_init(tinfoil)
if not registered:
logger.error("No commands registered - missing plugins?")

View File

@@ -91,19 +91,19 @@ def worker_fire_prepickled(event):
worker_thread_exit = False
def worker_flush(worker_queue):
worker_queue_int = b""
worker_queue_int = bytearray()
global worker_pipe, worker_thread_exit
while True:
try:
worker_queue_int = worker_queue_int + worker_queue.get(True, 1)
worker_queue_int.extend(worker_queue.get(True, 1))
except queue.Empty:
pass
while (worker_queue_int or not worker_queue.empty()):
try:
(_, ready, _) = select.select([], [worker_pipe], [], 1)
if not worker_queue.empty():
worker_queue_int = worker_queue_int + worker_queue.get()
worker_queue_int.extend(worker_queue.get())
written = os.write(worker_pipe, worker_queue_int)
worker_queue_int = worker_queue_int[written:]
except (IOError, OSError) as e:
@@ -338,12 +338,12 @@ class runQueueWorkerPipe():
if pipeout:
pipeout.close()
bb.utils.nonblockingfd(self.input)
self.queue = b""
self.queue = bytearray()
def read(self):
start = len(self.queue)
try:
self.queue = self.queue + (self.input.read(102400) or b"")
self.queue.extend(self.input.read(102400) or b"")
except (OSError, IOError) as e:
if e.errno != errno.EAGAIN:
raise
@@ -371,7 +371,7 @@ class BitbakeWorker(object):
def __init__(self, din):
self.input = din
bb.utils.nonblockingfd(self.input)
self.queue = b""
self.queue = bytearray()
self.cookercfg = None
self.databuilder = None
self.data = None
@@ -405,7 +405,7 @@ class BitbakeWorker(object):
if len(r) == 0:
# EOF on pipe, server must have terminated
self.sigterm_exception(signal.SIGTERM, None)
self.queue = self.queue + r
self.queue.extend(r)
except (OSError, IOError):
pass
if len(self.queue):

View File

@@ -234,9 +234,10 @@ class diskMonitor:
freeInode = st.f_favail
if minInode and freeInode < minInode:
# Some filesystems use dynamic inodes so can't run out
# (e.g. btrfs). This is reported by the inode count being 0.
if st.f_files == 0:
# Some filesystems use dynamic inodes so can't run out.
# This is reported by the inode count being 0 (btrfs) or the free
# inode count being -1 (cephfs).
if st.f_files == 0 or st.f_favail == -1:
self.devDict[k][2] = None
continue
# Always show warning, the self.checked would always be False if the action is WARN

View File

@@ -198,15 +198,27 @@ class RunQueueScheduler(object):
curr_cpu_pressure = cpu_pressure_fds.readline().split()[4].split("=")[1]
curr_io_pressure = io_pressure_fds.readline().split()[4].split("=")[1]
curr_memory_pressure = memory_pressure_fds.readline().split()[4].split("=")[1]
exceeds_cpu_pressure = self.rq.max_cpu_pressure and (float(curr_cpu_pressure) - float(self.prev_cpu_pressure)) > self.rq.max_cpu_pressure
exceeds_io_pressure = self.rq.max_io_pressure and (float(curr_io_pressure) - float(self.prev_io_pressure)) > self.rq.max_io_pressure
exceeds_memory_pressure = self.rq.max_memory_pressure and (float(curr_memory_pressure) - float(self.prev_memory_pressure)) > self.rq.max_memory_pressure
now = time.time()
if now - self.prev_pressure_time > 1.0:
tdiff = now - self.prev_pressure_time
psi_accumulation_interval = 1.0
cpu_pressure = (float(curr_cpu_pressure) - float(self.prev_cpu_pressure)) / tdiff
io_pressure = (float(curr_io_pressure) - float(self.prev_io_pressure)) / tdiff
memory_pressure = (float(curr_memory_pressure) - float(self.prev_memory_pressure)) / tdiff
exceeds_cpu_pressure = self.rq.max_cpu_pressure and cpu_pressure > self.rq.max_cpu_pressure
exceeds_io_pressure = self.rq.max_io_pressure and io_pressure > self.rq.max_io_pressure
exceeds_memory_pressure = self.rq.max_memory_pressure and memory_pressure > self.rq.max_memory_pressure
if tdiff > psi_accumulation_interval:
self.prev_cpu_pressure = curr_cpu_pressure
self.prev_io_pressure = curr_io_pressure
self.prev_memory_pressure = curr_memory_pressure
self.prev_pressure_time = now
pressure_state = (exceeds_cpu_pressure, exceeds_io_pressure, exceeds_memory_pressure)
pressure_values = (round(cpu_pressure,1), self.rq.max_cpu_pressure, round(io_pressure,1), self.rq.max_io_pressure, round(memory_pressure,1), self.rq.max_memory_pressure)
if hasattr(self, "pressure_state") and pressure_state != self.pressure_state:
bb.note("Pressure status changed to CPU: %s, IO: %s, Mem: %s (CPU: %s/%s, IO: %s/%s, Mem: %s/%s) - using %s/%s bitbake threads" % (pressure_state + pressure_values + (len(self.rq.runq_running.difference(self.rq.runq_complete)), self.rq.number_tasks)))
self.pressure_state = pressure_state
return (exceeds_cpu_pressure or exceeds_io_pressure or exceeds_memory_pressure)
return False
@@ -1974,11 +1986,19 @@ class RunQueueExecute:
self.setbuildable(revdep)
logger.debug("Marking task %s as buildable", revdep)
for t in self.sq_deferred.copy():
found = None
for t in sorted(self.sq_deferred.copy()):
if self.sq_deferred[t] == task:
logger.debug2("Deferred task %s now buildable" % t)
del self.sq_deferred[t]
update_scenequeue_data([t], self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self, summary=False)
# Allow the next deferred task to run. Any other deferred tasks should be deferred after that task.
# We shouldn't allow all to run at once as it is prone to races.
if not found:
bb.debug(1, "Deferred task %s now buildable" % t)
del self.sq_deferred[t]
update_scenequeue_data([t], self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self, summary=False)
found = t
else:
bb.debug(1, "Deferring %s after %s" % (t, found))
self.sq_deferred[t] = found
def task_complete(self, task):
self.stats.taskCompleted()
@@ -2884,7 +2904,7 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq):
sqdata.hashes[h] = tid
else:
sqrq.sq_deferred[tid] = sqdata.hashes[h]
bb.note("Deferring %s after %s" % (tid, sqdata.hashes[h]))
bb.debug(1, "Deferring %s after %s" % (tid, sqdata.hashes[h]))
update_scenequeue_data(sqdata.sq_revdeps, sqdata, rqdata, rq, cooker, stampcache, sqrq, summary=True)
@@ -3093,7 +3113,7 @@ class runQueuePipe():
if pipeout:
pipeout.close()
bb.utils.nonblockingfd(self.input)
self.queue = b""
self.queue = bytearray()
self.d = d
self.rq = rq
self.rqexec = rqexec
@@ -3112,7 +3132,7 @@ class runQueuePipe():
start = len(self.queue)
try:
self.queue = self.queue + (self.input.read(102400) or b"")
self.queue.extend(self.input.read(102400) or b"")
except (OSError, IOError) as e:
if e.errno != errno.EAGAIN:
raise

View File

@@ -324,11 +324,11 @@ class Tinfoil:
self.recipes_parsed = False
self.quiet = 0
self.oldhandlers = self.logger.handlers[:]
self.localhandlers = []
if setup_logging:
# This is the *client-side* logger, nothing to do with
# logging messages from the server
bb.msg.logger_create('BitBake', output)
self.localhandlers = []
for handler in self.logger.handlers:
if handler not in self.oldhandlers:
self.localhandlers.append(handler)

View File

@@ -34,16 +34,18 @@ Manual Organization
Here the folders corresponding to individual manuals:
* brief-yoctoprojectqs - Yocto Project Quick Start
* overview-manual - Yocto Project Overview and Concepts Manual
* sdk-manual - Yocto Project Software Development Kit (SDK) Developer's Guide.
* contributor-guide - Yocto Project and OpenEmbedded Contributor Guide
* ref-manual - Yocto Project Reference Manual
* bsp-guide - Yocto Project Board Support Package (BSP) Developer's Guide
* dev-manual - Yocto Project Development Tasks Manual
* kernel-dev - Yocto Project Linux Kernel Development Manual
* ref-manual - Yocto Project Reference Manual
* brief-yoctoprojectqs - Yocto Project Quick Start
* profile-manual - Yocto Project Profiling and Tracing Manual
* sdk-manual - Yocto Project Software Development Kit (SDK) Developer's Guide.
* toaster-manual - Toaster User Manual
* test-manual - Yocto Project Test Environment Manual
* migration-guides - Yocto Project Release and Migration Notes
Each folder is self-contained regarding content and figures.
@@ -129,6 +131,10 @@ Also install the "inkscape" package from your distribution.
Inkscape is need to convert SVG graphics to PNG (for EPUB
export) and to PDF (for PDF export).
Additionally install "fncychap.sty" TeX font if you want to build PDFs. Debian
and Ubuntu have it in "texlive-latex-extra" package while RedHat distributions
and OpenSUSE have it in "texlive-fncychap" package for example.
To build the documentation locally, run:
$ cd documentation
@@ -271,6 +277,19 @@ websites.
More information can be found here:
https://sublime-and-sphinx-guide.readthedocs.io/en/latest/references.html.
For external links, we use this syntax:
`link text <link URL>`__
instead of:
`link text <link URL>`_
Both syntaxes work, but the latter also creates a "link text" reference
target which could conflict with other references with the same name.
So, only use this variant when you wish to make multiple references
to this link, reusing only the target name.
See https://stackoverflow.com/questions/27420317/restructured-text-rst-http-links-underscore-vs-use
Anchor (<#link>) links are forbidden as they are not checked by Sphinx during
the build and may be broken without knowing about it.
@@ -340,13 +359,16 @@ The sphinx.ext.intersphinx extension is enabled by default
so that we can cross reference content from other Sphinx based
documentation projects, such as the BitBake manual.
References to the BitBake manual can be done:
References to the BitBake manual can directly be done:
- With a specific description instead of the section name:
:ref:`Azure Storage fetcher (az://) <bitbake:bitbake-user-manual/bitbake-user-manual-fetching:fetchers>`
:ref:`Azure Storage fetcher (az://) <bitbake-user-manual/bitbake-user-manual-fetching:fetchers>`
- With the section name:
:ref:`bitbake:bitbake-user-manual/bitbake-user-manual-intro:usage and syntax` option
- Linking to the entire BitBake manual:
:doc:`BitBake User Manual <bitbake:index>`
:ref:`bitbake-user-manual/bitbake-user-manual-intro:usage and syntax` option
If you want to refer to an entire document (or chapter) in the BitBake manual,
you have to use the ":doc:" macro with the "bitbake:" prefix:
- :doc:`BitBake User Manual <bitbake:index>`
- :doc:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata`" chapter
Note that a reference to a variable (:term:`VARIABLE`) automatically points to
the BitBake manual if the variable is not described in the Reference Manual's Variable Glossary.
@@ -355,6 +377,11 @@ BitBake manual as follows:
:term:`bitbake:BB_NUMBER_PARSE_THREADS`
This would be the same if we had identical document filenames in
both the Yocto Project and BitBake manuals:
:ref:`bitbake:directory/file:section title`
Submitting documentation changes
================================

View File

@@ -257,7 +257,7 @@ an entire Linux distribution, including the toolchain, from source.
BB_SIGNATURE_HANDLER = "OEEquivHash"
BB_HASHSERVE = "auto"
BB_HASHSERVE_UPSTREAM = "hashserv.yocto.io:8687"
SSTATE_MIRRORS ?= "file://.* https://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"
SSTATE_MIRRORS ?= "file://.* http://cdn.jsdelivr.net/yocto/sstate/all/PATH;downloadfilename=PATH"
#. **Start the Build:** Continue with the following command to build an OS
image for the target, which is ``core-image-sato`` in this example:
@@ -370,7 +370,7 @@ Follow these steps to add a hardware layer:
You can find
more information on adding layers in the
:ref:`dev-manual/common-tasks:adding a layer using the \`\`bitbake-layers\`\` script`
:ref:`dev-manual/layers:adding a layer using the \`\`bitbake-layers\`\` script`
section.
Completing these steps has added the ``meta-altera`` layer to your Yocto
@@ -405,7 +405,7 @@ The following commands run the tool to create a layer named
For more information
on layers and how to create them, see the
:ref:`dev-manual/common-tasks:creating a general layer using the \`\`bitbake-layers\`\` script`
:ref:`dev-manual/layers:creating a general layer using the \`\`bitbake-layers\`\` script`
section in the Yocto Project Development Tasks Manual.
Where To Go Next

View File

@@ -128,7 +128,7 @@ you want to work with, such as::
and so on.
For more information on layers, see the
":ref:`dev-manual/common-tasks:understanding and creating layers`"
":ref:`dev-manual/layers:understanding and creating layers`"
section of the Yocto Project Development Tasks Manual.
Preparing Your Build Host to Work With BSP Layers
@@ -464,7 +464,7 @@ requirements are handled with the ``COPYING.MIT`` file.
Licensing files can be MIT, BSD, GPLv*, and so forth. These files are
recommended for the BSP but are optional and totally up to the BSP
developer. For information on how to maintain license compliance, see
the ":ref:`dev-manual/common-tasks:maintaining open source license compliance during your product's lifecycle`"
the ":ref:`dev-manual/licenses:maintaining open source license compliance during your product's lifecycle`"
section in the Yocto Project Development Tasks Manual.
README File
@@ -590,7 +590,7 @@ filenames correspond to the values to which users have set the
These files define things such as the kernel package to use
(:term:`PREFERRED_PROVIDER` of
:ref:`virtual/kernel <dev-manual/common-tasks:using virtual providers>`),
:ref:`virtual/kernel <dev-manual/new-recipe:using virtual providers>`),
the hardware drivers to include in different types of images, any
special software components that are needed, any bootloader information,
and also any special image format requirements.
@@ -757,7 +757,7 @@ workflow.
OpenEmbedded build system knows about. For more information on
layers, see the ":ref:`overview-manual/yp-intro:the yocto project layer model`"
section in the Yocto Project Overview and Concepts Manual. You can also
reference the ":ref:`dev-manual/common-tasks:understanding and creating layers`"
reference the ":ref:`dev-manual/layers:understanding and creating layers`"
section in the Yocto Project Development Tasks Manual. For more
information on BSP layers, see the ":ref:`bsp-guide/bsp:bsp layers`"
section.
@@ -774,20 +774,6 @@ workflow.
- Two general IA platforms (``genericx86`` and ``genericx86-64``)
- There are three core Intel BSPs in the Yocto Project
release, in the ``meta-intel`` layer:
- ``intel-core2-32``, which is a BSP optimized for the Core2
family of CPUs as well as all CPUs prior to the Silvermont
core.
- ``intel-corei7-64``, which is a BSP optimized for Nehalem
and later Core and Xeon CPUs as well as Silvermont and later
Atom CPUs, such as the Baytrail SoCs.
- ``intel-quark``, which is a BSP optimized for the Intel
Galileo gen1 & gen2 development boards.
When you set up a layer for a new BSP, you should follow a standard
layout. This layout is described in the ":ref:`bsp-guide/bsp:example filesystem layout`"
section. In the standard layout, notice
@@ -816,7 +802,7 @@ workflow.
key configuration files are configured appropriately: the
``conf/local.conf`` and the ``conf/bblayers.conf`` file. You must
make the OpenEmbedded build system aware of your new layer. See the
":ref:`dev-manual/common-tasks:enabling your layer`"
":ref:`dev-manual/layers:enabling your layer`"
section in the Yocto Project Development Tasks Manual for information
on how to let the build system know about your new layer.
@@ -845,7 +831,7 @@ Before looking at BSP requirements, you should consider the following:
layer that can be added to the Yocto Project. For guidelines on
creating a layer that meets these base requirements, see the
":ref:`bsp-guide/bsp:bsp layers`" section in this manual and the
":ref:`dev-manual/common-tasks:understanding and creating layers`"
":ref:`dev-manual/layers:understanding and creating layers`"
section in the Yocto Project Development Tasks Manual.
- The requirements in this section apply regardless of how you package
@@ -893,8 +879,8 @@ Yocto Project:
``recipes-*`` subdirectories specific to the recipe's function, or
within a subdirectory containing a set of closely-related recipes.
The recipes themselves should follow the general guidelines for
recipes used in the Yocto Project found in the ":oe_wiki:`OpenEmbedded
Style Guide </Styleguide>`".
recipes found in the ":doc:`../contributor-guide/recipe-style-guide`"
in the Yocto Project and OpenEmbedded Contributor Guide.
- *License File:* You must include a license file in the
``meta-bsp_root_name`` directory. This license covers the BSP
@@ -927,8 +913,8 @@ Yocto Project:
- The name and contact information for the BSP layer maintainer.
This is the person to whom patches and questions should be sent.
For information on how to find the right person, see the
":ref:`dev-manual/common-tasks:submitting a change to the yocto project`"
section in the Yocto Project Development Tasks Manual.
:doc:`../contributor-guide/submit-changes` section in the Yocto Project and
OpenEmbedded Contributor Guide.
- Instructions on how to build the BSP using the BSP layer.
@@ -1013,7 +999,7 @@ the following:
- Create a ``*.bbappend`` file for the modified recipe. For information on using
append files, see the
":ref:`dev-manual/common-tasks:appending other layers metadata with your layer`"
":ref:`dev-manual/layers:appending other layers metadata with your layer`"
section in the Yocto Project Development Tasks Manual.
- Ensure your directory structure in the BSP layer that supports your
@@ -1117,7 +1103,7 @@ list describes them in order of preference:
Specifying the matching license string signifies that you agree to
the license. Thus, the build system can build the corresponding
recipe and include the component in the image. See the
":ref:`dev-manual/common-tasks:enabling commercially licensed recipes`"
":ref:`dev-manual/licenses:enabling commercially licensed recipes`"
section in the Yocto Project Development Tasks Manual for details on
how to use these variables.
@@ -1169,7 +1155,7 @@ Use these steps to create a BSP layer:
``create-layer`` subcommand to create a new general layer. For
instructions on how to create a general layer using the
``bitbake-layers`` script, see the
":ref:`dev-manual/common-tasks:creating a general layer using the \`\`bitbake-layers\`\` script`"
":ref:`dev-manual/layers:creating a general layer using the \`\`bitbake-layers\`\` script`"
section in the Yocto Project Development Tasks Manual.
- *Create a Layer Configuration File:* Every layer needs a layer
@@ -1194,7 +1180,7 @@ Use these steps to create a BSP layer:
- *Create a Kernel Recipe:* Create a kernel recipe in
``recipes-kernel/linux`` by either using a kernel append file or a
new custom kernel recipe file (e.g. ``yocto-linux_4.12.bb``). The BSP
new custom kernel recipe file (e.g. ``linux-yocto_4.12.bb``). The BSP
layers mentioned in the previous step also contain different kernel
examples. See the ":ref:`kernel-dev/common:modifying an existing recipe`"
section in the Yocto Project Linux Kernel Development Manual for
@@ -1229,7 +1215,7 @@ configuration files is to examine various files for BSP from the
:yocto_git:`Source Repositories <>`.
For a detailed description of this particular layer configuration file,
see ":ref:`step 3 <dev-manual/common-tasks:creating your own layer>`"
see ":ref:`step 3 <dev-manual/layers:creating your own layer>`"
in the discussion that describes how to create layers in the Yocto
Project Development Tasks Manual.
@@ -1449,39 +1435,39 @@ The kernel recipe used to build the kernel image for the BeagleBone
device was established in the machine configuration::
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "5.0%"
PREFERRED_VERSION_linux-yocto ?= "5.15%"
The ``meta-yocto-bsp/recipes-kernel/linux`` directory in the layer contains
metadata used to build the kernel. In this case, a kernel append file
(i.e. ``linux-yocto_5.0.bbappend``) is used to override an established
kernel recipe (i.e. ``linux-yocto_5.0.bb``), which is located in
:yocto_git:`/poky/tree/meta/recipes-kernel/linux`.
(i.e. ``linux-yocto_5.15.bbappend``) is used to override an established
kernel recipe (i.e. ``linux-yocto_5.15.bb``), which is located in
:yocto_git:`/poky/tree/meta-yocto-bsp/recipes-kernel/linux`.
Following is the contents of the append file::
KBRANCH:genericx86 = "v5.0/standard/base"
KBRANCH:genericx86-64 = "v5.0/standard/base"
KBRANCH:edgerouter = "v5.0/standard/edgerouter"
KBRANCH:beaglebone-yocto = "v5.0/standard/beaglebone"
KBRANCH:genericx86 = "v5.15/standard/base"
KBRANCH:genericx86-64 = "v5.15/standard/base"
KBRANCH:edgerouter = "v5.15/standard/edgerouter"
KBRANCH:beaglebone-yocto = "v5.15/standard/beaglebone"
KMACHINE:genericx86 ?= "common-pc"
KMACHINE:genericx86-64 ?= "common-pc-64"
KMACHINE:beaglebone-yocto ?= "beaglebone"
SRCREV_machine:genericx86 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
SRCREV_machine:genericx86-64 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
SRCREV_machine:edgerouter ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
SRCREV_machine:beaglebone-yocto ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
SRCREV_machine:genericx86 ?= "0b628306d1f9ea28c0e86369ce9bb87a47893c9c"
SRCREV_machine:genericx86-64 ?= "0b628306d1f9ea28c0e86369ce9bb87a47893c9c"
SRCREV_machine:edgerouter ?= "90f1ee6589264545f548d731c2480b08a007230f"
SRCREV_machine:beaglebone-yocto ?= "9aabbaa89fcb21af7028e814c1f5b61171314d5a"
COMPATIBLE_MACHINE:genericx86 = "genericx86"
COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
COMPATIBLE_MACHINE:edgerouter = "edgerouter"
COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
LINUX_VERSION:genericx86 = "5.0.3"
LINUX_VERSION:genericx86-64 = "5.0.3"
LINUX_VERSION:edgerouter = "5.0.3"
LINUX_VERSION:beaglebone-yocto = "5.0.3"
LINUX_VERSION:genericx86 = "5.15.72"
LINUX_VERSION:genericx86-64 = "5.15.72"
LINUX_VERSION:edgerouter = "5.15.54"
LINUX_VERSION:beaglebone-yocto = "5.15.54"
This particular append file works for all the machines that are
part of the ``meta-yocto-bsp`` layer. The relevant statements are

View File

@@ -0,0 +1,31 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Identify the component
**********************
The Yocto Project and OpenEmbedded ecosystem is built of :term:`layers <Layer>`
so the first step is to identify the component where the issue likely lies.
For example, if you have a hardware issue, it is likely related to the BSP
you are using and the best place to seek advice would be from the BSP provider
or :term:`layer`. If the issue is a build/configuration one and a distro is in
use, they would likely be the first place to ask questions. If the issue is a
generic one and/or in the core classes or metadata, the core layer or BitBake
might be the appropriate component.
Each metadata layer being used should contain a ``README`` file and that should
explain where to report issues, where to send changes and how to contact the
maintainers.
If the issue is in the core metadata layer (OpenEmbedded-Core) or in BitBake,
issues can be reported in the :yocto_bugs:`Yocto Project Bugzilla <>`. The
:yocto_lists:`yocto </g/yocto>` mailing list is a general “catch-all” location
where questions can be sent if you cant work out where something should go.
:term:`Poky` is a commonly used “combination” repository where multiple
components have been combined (:oe_git:`bitbake </bitbake>`,
:oe_git:`openembedded-core </openembedded-core>`,
:yocto_git:`meta-yocto </meta-yocto>` and
:yocto_git:`yocto-docs </yocto-docs>`). Patches should be submitted against the
appropriate individual component rather than :term:`Poky` itself as detailed in
the appropriate ``README`` file.

View File

@@ -0,0 +1,26 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
================================================
Yocto Project and OpenEmbedded Contributor Guide
================================================
The Yocto Project and OpenEmbedded are open-source, community-based projects so
contributions are very welcome, it is how the code evolves and everyone can
effect change. Contributions take different forms, if you have a fix for an
issue youve run into, a patch is the most appropriate way to contribute it.
If you run into an issue but dont have a solution, opening a defect in
:yocto_bugs:`Bugzilla <>` or asking questions on the mailing lists might be
more appropriate. This guide intends to point you in the right direction to
this.
.. toctree::
:caption: Table of Contents
:numbered:
identify-component
report-defect
recipe-style-guide
submit-changes
.. include:: /boilerplate.rst

View File

@@ -0,0 +1,399 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Recipe Style Guide
******************
Recipe Naming Conventions
=========================
In general, most recipes should follow the naming convention
``recipes-category/recipename/recipename_version.bb``. Recipes for related
projects may share the same recipe directory. ``recipename`` and ``category``
may contain hyphens, but hyphens are not allowed in ``version``.
If the recipe is tracking a Git revision that does not correspond to a released
version of the software, ``version`` may be ``git`` (e.g. ``recipename_git.bb``)
and the recipe would set :term:`PV`.
Version Policy
==============
Our versions follow the form ``<epoch>:<version>-<revision>``
or in BitBake variable terms ${:term:`PE`}:${:term:`PV`}-${:term:`PR`}. We
generally follow the `Debian <https://www.debian.org/doc/debian-policy/ch-controlfields.html#version>`__
version policy which defines these terms.
In most cases the version :term:`PV` will be set automatically from the recipe
file name. It is recommended to use released versions of software as these are
revisions that upstream are expecting people to use.
Recipe versions should always compare and sort correctly so that upgrades work
as expected. With conventional versions such as ``1.4`` upgrading ``to 1.5``
this happens naturally, but some versions don't sort. For example,
``1.5 Release Candidate 2`` could be written as ``1.5rc2`` but this sorts after
``1.5``, so upgrades from feeds won't happen correctly.
Instead the tilde (``~``) operator can be used, which sorts before the empty
string so ``1.5~rc2`` comes before ``1.5``. There is a historical syntax which
may be found where :term:`PV` is set as a combination of the prior version
``+`` the pre-release version, for example ``PV=1.4+1.5rc2``. This is a valid
syntax but the tilde form is preferred.
For version comparisons, the ``opkg-compare-versions`` program from
``opkg-utils`` can be useful when attempting to determine how two version
numbers compare to each other. Our definitive version comparison algorithm is
the one within bitbake which aims to match those of the package managers and
Debian policy closely.
When a recipe references a git revision that does not correspond to a released
version of software (e.g. is not a tagged version), the :term:`PV` variable
should include the Git revision using the following to make the
version clear::
PV = "<version>+git${SRCPV}"
In this case, ``<version>`` should be the most recently released version of the
software from the current source revision (``git describe`` can be useful for
determining this). Whilst not recommended for published layers, this format is
also useful when using :term:`AUTOREV` to set the recipe to increment source
control revisions automatically, which can be useful during local development.
Version Number Changes
======================
The :term:`PR` variable is used to indicate different revisions of a recipe
that reference the same upstream source version. It can be used to force a
new version of a recipe to be installed onto a device from a package feed.
These once had to be set manually but in most cases these can now be set and
incremented automatically by a PR Server connected with a package feed.
When :term:`PV` increases, any existing :term:`PR` value can and should be
removed.
If :term:`PV` changes in such a way that it does not increase with respect to
the previous value, you need to increase :term:`PE` to ensure package managers
will upgrade it correctly. If unset you should set :term:`PE` to "1" since
the default of empty is easily confused with "0" depending on the package
manager. :term:`PE` can only have an integer value.
Recipe formatting
=================
Variable Formatting
-------------------
- Variable assignment should a space around each side of the operator, e.g.
``FOO = "bar"``, not ``FOO="bar"``.
- Double quotes should be used on the right-hand side of the assignment,
e.g. ``FOO = "bar"`` not ``FOO = 'bar'``
- Spaces should be used for indenting variables, with 4 spaces per tab
- Long variables should be split over multiple lines when possible by using
the continuation character (``\``)
- When splitting a long variable over multiple lines, all continuation lines
should be indented (with spaces) to align with the start of the quote on the
first line::
FOO = "this line is \
long \
"
Instead of::
FOO = "this line is \
long \
"
Python Function formatting
--------------------------
- Spaces must be used for indenting Python code, with 4 spaces per tab
Shell Function formatting
-------------------------
- The formatting of shell functions should be consistent within layers.
Some use tabs, some use spaces.
Recipe metadata
===============
Required Variables
------------------
The following variables should be included in all recipes:
- :term:`SUMMARY`: a one line description of the upstream project
- :term:`DESCRIPTION`: an extended description of the upstream project,
possibly with multiple lines. If no reasonable description can be written,
this may be omitted as it defaults to :term:`SUMMARY`.
- :term:`HOMEPAGE`: the URL to the upstream projects homepage.
- :term:`BUGTRACKER`: the URL upstream projects bug tracking website,
if applicable.
Recipe Ordering
---------------
When a variable is defined in recipes and classes, variables should follow the
general order when possible:
- :term:`SUMMARY`
- :term:`DESCRIPTION`
- :term:`HOMEPAGE`
- :term:`BUGTRACKER`
- :term:`SECTION`
- :term:`LICENSE`
- :term:`LIC_FILES_CHKSUM`
- :term:`DEPENDS`
- :term:`PROVIDES`
- :term:`PV`
- :term:`SRC_URI`
- :term:`SRCREV`
- :term:`S`
- ``inherit ...``
- :term:`PACKAGECONFIG`
- Build class specific variables such as ``EXTRA_QMAKEVARS_POST`` and :term:`EXTRA_OECONF`
- Tasks such as :ref:`ref-tasks-configure`
- :term:`PACKAGE_ARCH`
- :term:`PACKAGES`
- :term:`FILES`
- :term:`RDEPENDS`
- :term:`RRECOMMENDS`
- :term:`RSUGGESTS`
- :term:`RPROVIDES`
- :term:`RCONFLICTS`
- :term:`BBCLASSEXTEND`
There are some cases where ordering is important and these cases would override
this default order. Examples include:
- :term:`PACKAGE_ARCH` needing to be set before ``inherit packagegroup``
Tasks should be ordered based on the order they generally execute. For commonly
used tasks this would be:
- :ref:`ref-tasks-fetch`
- :ref:`ref-tasks-unpack`
- :ref:`ref-tasks-patch`
- :ref:`ref-tasks-prepare_recipe_sysroot`
- :ref:`ref-tasks-configure`
- :ref:`ref-tasks-compile`
- :ref:`ref-tasks-install`
- :ref:`ref-tasks-populate_sysroot`
- :ref:`ref-tasks-package`
Custom tasks should be sorted similarly.
Package specific variables are typically grouped together, e.g.::
RDEPENDS:${PN} = “foo”
RDEPENDS:${PN}-libs = “bar”
RRECOMMENDS:${PN} = “one”
RRECOMMENDS:${PN}-libs = “two”
Recipe License Fields
---------------------
Recipes need to define both the :term:`LICENSE` and
:term:`LIC_FILES_CHKSUM` variables:
- :term:`LICENSE`: This variable specifies the license for the software.
If you do not know the license under which the software you are
building is distributed, you should go to the source code and look
for that information. Typical files containing this information
include ``COPYING``, :term:`LICENSE`, and ``README`` files. You could
also find the information near the top of a source file. For example,
given a piece of software licensed under the GNU General Public
License version 2, you would set :term:`LICENSE` as follows::
LICENSE = "GPL-2.0-only"
The licenses you specify within :term:`LICENSE` can have any name as long
as you do not use spaces, since spaces are used as separators between
license names. For standard licenses, use the names of the files in
``meta/files/common-licenses/`` or the :term:`SPDXLICENSEMAP` flag names
defined in ``meta/conf/licenses.conf``.
- :term:`LIC_FILES_CHKSUM`: The OpenEmbedded build system uses this
variable to make sure the license text has not changed. If it has,
the build produces an error and it affords you the chance to figure
it out and correct the problem.
You need to specify all applicable licensing files for the software.
At the end of the configuration step, the build process will compare
the checksums of the files to be sure the text has not changed. Any
differences result in an error with the message containing the
current checksum. For more explanation and examples of how to set the
:term:`LIC_FILES_CHKSUM` variable, see the
":ref:`dev-manual/licenses:tracking license changes`" section.
To determine the correct checksum string, you can list the
appropriate files in the :term:`LIC_FILES_CHKSUM` variable with incorrect
md5 strings, attempt to build the software, and then note the
resulting error messages that will report the correct md5 strings.
See the ":ref:`dev-manual/new-recipe:fetching code`" section for
additional information.
Here is an example that assumes the software has a ``COPYING`` file::
LIC_FILES_CHKSUM = "file://COPYING;md5=xxx"
When you try to build the
software, the build system will produce an error and give you the
correct string that you can substitute into the recipe file for a
subsequent build.
Tips and Guidelines for Writing Recipes
---------------------------------------
- Use :term:`BBCLASSEXTEND` instead of creating separate recipes such as ``-native``
and ``-nativesdk`` ones, whenever possible. This avoids having to maintain multiple
recipe files at the same time.
- Recipes should have tasks which are idempotent, i.e. that executing a given task
multiple times shouldn't change the end result. The build environment is built upon
this assumption and breaking it can cause obscure build failures.
- For idempotence when modifying files in tasks, it is usually best to:
- copy a file ``X`` to ``X.orig`` (only if it doesn't exist already)
- then, copy ``X.orig`` back to ``X``,
- and, finally, modify ``X``.
This ensures if rerun the task always has the same end result and the
original file can be preserved to reuse. It also guards against an
interrupted build corrupting the file.
Patch Upstream Status
=====================
In order to keep track of patches applied by recipes and ultimately reduce the
number of patches that need maintaining, the OpenEmbedded build system
requires information about the upstream status of each patch.
In its description, each patch should provide detailed information about the
bug that it addresses, such as the URL in a bug tracking system and links
to relevant mailing list archives.
Then, you should also add an ``Upstream-Status:`` tag containing one of the
following status strings:
``Pending``
No determination has been made yet, or patch has not yet been submitted to
upstream.
Keep in mind that every patch submitted upstream reduces the maintainance
burden in OpenEmbedded and Yocto Project in the long run, so this patch
status should only be used in exceptional cases if there are genuine
obstacles to submitting a patch upstream; the reason for that should be
included in the patch.
``Submitted [where]``
Submitted to upstream, waiting for approval. Optionally include where
it was submitted, such as the author, mailing list, etc.
``Backport [version]``
Accepted upstream and included in the next release, or backported from newer
upstream version, because we are at a fixed version.
Include upstream version info (e.g. commit ID or next expected version).
``Denied``
Not accepted by upstream, include reason in patch.
``Inactive-Upstream [lastcommit: when (and/or) lastrelease: when]``
The upstream is no longer available. This typically means a defunct project
where no activity has happened for a long time --- measured in years. To make
that judgement, it is recommended to look at not only when the last release
happened, but also when the last commit happened, and whether newly made bug
reports and merge requests since that time receive no reaction. It is also
recommended to add to the patch description any relevant links where the
inactivity can be clearly seen.
``Inappropriate [reason]``
The patch is not appropriate for upstream, include a brief reason on the
same line enclosed with ``[]``. In the past, there were several different
reasons not to submit patches upstream, but we have to consider that every
non-upstreamed patch means a maintainance burden for recipe maintainers.
Currently, the only reasons to mark patches as inappropriate for upstream
submission are:
- ``oe specific``: the issue is specific to how OpenEmbedded performs builds
or sets things up at runtime, and can be resolved only with a patch that
is not however relevant or appropriate for general upstream submission.
- ``upstream ticket <link>``: the issue is not specific to Open-Embedded
and should be fixed upstream, but the patch in its current form is not
suitable for merging upstream, and the author lacks sufficient expertise
to develop a proper patch. Instead the issue is handled via a bug report
(include link).
Of course, if another person later takes care of submitting this patch upstream,
the status should be changed to ``Submitted [where]``, and an additional
``Signed-off-by:`` line should be added to the patch by the person claiming
responsibility for upstreaming.
Examples
--------
Here's an example of a patch that has been submitted upstream::
rpm: Adjusted the foo setting in bar
[RPM Ticket #65] -- http://rpm5.org/cvs/tktview?tn=65,5
The foo setting in bar was decreased from X to X-50% in order to
ensure we don't exhaust all system memory with foobar threads.
Upstream-Status: Submitted [rpm5-devel@rpm5.org]
Signed-off-by: Joe Developer <joe.developer@example.com>
A future update can change the value to ``Backport`` or ``Denied`` as
appropriate.
Another example of a patch that is specific to OpenEmbedded::
Do not treat warnings as errors
There are additional warnings found with musl which are
treated as errors and fails the build, we have more combinations
than upstream supports to handle.
Upstream-Status: Inappropriate [oe specific]
Here's a patch that has been backported from an upstream commit::
include missing sys/file.h for LOCK_EX
Upstream-Status: Backport [https://github.com/systemd/systemd/commit/ac8db36cbc26694ee94beecc8dca208ec4b5fd45]
CVE patches
===========
In order to have a better control of vulnerabilities, patches that fix CVEs must
contain a ``CVE:`` tag. This tag list all CVEs fixed by the patch. If more than
one CVE is fixed, separate them using spaces.
CVE Examples
------------
This should be the header of patch that fixes :cve:`2015-8370` in GRUB2::
grub2: Fix CVE-2015-8370
[No upstream tracking] -- https://bugzilla.redhat.com/show_bug.cgi?id=1286966
Back to 28; Grub2 Authentication
Two functions suffer from integer underflow fault; the grub_username_get() and grub_password_get()located in
grub-core/normal/auth.c and lib/crypto.c respectively. This can be exploited to obtain a Grub rescue shell.
Upstream-Status: Backport [http://git.savannah.gnu.org/cgit/grub.git/commit/?id=451d80e52d851432e109771bb8febafca7a5f1f2]
CVE: CVE-2015-8370
Signed-off-by: Joe Developer <joe.developer@example.com>

View File

@@ -0,0 +1,67 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Reporting a Defect Against the Yocto Project and OpenEmbedded
**************************************************************
You can use the Yocto Project instance of
`Bugzilla <https://www.bugzilla.org/about/>`__ to submit a defect (bug)
against BitBake, OpenEmbedded-Core, against any other Yocto Project component
or for tool issues. For additional information on this implementation of
Bugzilla see the ":ref:`Yocto Project Bugzilla <resources-bugtracker>`" section
in the Yocto Project Reference Manual. For more detail on any of the following
steps, see the Yocto Project
:yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>`.
Use the following general steps to submit a bug:
#. Open the Yocto Project implementation of :yocto_bugs:`Bugzilla <>`.
#. Click "File a Bug" to enter a new bug.
#. Choose the appropriate "Classification", "Product", and "Component"
for which the bug was found. Bugs for the Yocto Project fall into
one of several classifications, which in turn break down into
several products and components. For example, for a bug against the
``meta-intel`` layer, you would choose "Build System, Metadata &
Runtime", "BSPs", and "bsps-meta-intel", respectively.
#. Choose the "Version" of the Yocto Project for which you found the
bug (e.g. &DISTRO;).
#. Determine and select the "Severity" of the bug. The severity
indicates how the bug impacted your work.
#. Choose the "Hardware" that the bug impacts.
#. Choose the "Architecture" that the bug impacts.
#. Choose a "Documentation change" item for the bug. Fixing a bug might
or might not affect the Yocto Project documentation. If you are
unsure of the impact to the documentation, select "Don't Know".
#. Provide a brief "Summary" of the bug. Try to limit your summary to
just a line or two and be sure to capture the essence of the bug.
#. Provide a detailed "Description" of the bug. You should provide as
much detail as you can about the context, behavior, output, and so
forth that surrounds the bug. You can even attach supporting files
for output from logs by using the "Add an attachment" button.
#. Click the "Submit Bug" button submit the bug. A new Bugzilla number
is assigned to the bug and the defect is logged in the bug tracking
system.
Once you file a bug, the bug is processed by the Yocto Project Bug
Triage Team and further details concerning the bug are assigned (e.g.
priority and owner). You are the "Submitter" of the bug and any further
categorization, progress, or comments on the bug result in Bugzilla
sending you an automated email concerning the particular change or
progress to the bug.
There are no guarantees about if or when a bug might be worked on since an
open-source project has no dedicated engineering resources. However, the
project does have a good track record of resolving common issues over the
medium and long term. We do encourage people to file bugs so issues are
at least known about. It helps other users when they find somebody having
the same issue as they do, and an issue that is unknown is much less likely
to ever be fixed!

View File

@@ -0,0 +1,754 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Contributing Changes to a Component
************************************
Contributions to the Yocto Project and OpenEmbedded are very welcome.
Because the system is extremely configurable and flexible, we recognize
that developers will want to extend, configure or optimize it for their
specific uses.
.. _ref-why-mailing-lists:
Contributing through mailing lists --- Why not using web-based workflows?
=========================================================================
Both Yocto Project and OpenEmbedded have many key components that are
maintained by patches being submitted on mailing lists. We appreciate this
approach does look a little old fashioned when other workflows are available
through web technology such as GitHub, GitLab and others. Since we are often
asked this question, weve decided to document the reasons for using mailing
lists.
One significant factor is that we value peer review. When a change is proposed
to many of the core pieces of the project, it helps to have many eyes of review
go over them. Whilst there is ultimately one maintainer who needs to make the
final call on accepting or rejecting a patch, the review is made by many eyes
and the exact people reviewing it are likely unknown to the maintainer. It is
often the surprise reviewer that catches the most interesting issues!
This is in contrast to the "GitHub" style workflow where either just a
maintainer makes that review, or review is specifically requested from
nominated people. We believe there is significant value added to the codebase
by this peer review and that moving away from mailing lists would be to the
detriment of our code.
We also need to acknowledge that many of our developers are used to this
mailing list workflow and have worked with it for years, with tools and
processes built around it. Changing away from this would result in a loss
of key people from the project, which would again be to its detriment.
The projects are acutely aware that potential new contributors find the
mailing list approach off-putting and would prefer a web-based GUI.
Since we dont believe that can work for us, the project is aiming to ensure
`patchwork <https://patchwork.yoctoproject.org/>`__ is available to help track
patch status and also looking at how tooling can provide more feedback to users
about patch status. We are looking at improving tools such as ``patchtest`` to
test user contributions before they hit the mailing lists and also at better
documenting how to use such workflows since we recognise that whilst this was
common knowledge a decade ago, it might not be as familiar now.
Preparing Changes for Submission
================================
Set up Git
----------
The first thing to do is to install Git packages. Here is an example
on Debian and Ubuntu::
sudo aptitude install git-core git-email
Then, you need to set a name and e-mail address that Git will
use to identify your commits::
git config --global user.name "Ada Lovelace"
git config --global user.email "ada.lovelace@gmail.com"
Clone the Git repository for the component to modify
----------------------------------------------------
After identifying the component to modify as described in the
":doc:`../contributor-guide/identify-component`" section, clone the
corresponding Git repository. Here is an example for OpenEmbedded-Core::
git clone https://git.openembedded.org/openembedded-core
cd openembedded-core
Create a new branch
-------------------
Then, create a new branch in your local Git repository
for your changes, starting from the reference branch in the upstream
repository (often called ``master``)::
$ git checkout <ref-branch>
$ git checkout -b my-changes
If you have completely unrelated sets of changes to submit, you should even
create one branch for each set.
Implement and commit changes
----------------------------
In each branch, you should group your changes into small, controlled and
isolated ones. Keeping changes small and isolated aids review, makes
merging/rebasing easier and keeps the change history clean should anyone need
to refer to it in future.
To this purpose, you should create *one Git commit per change*,
corresponding to each of the patches you will eventually submit.
See `further guidance <https://www.kernel.org/doc/html/latest/process/submitting-patches.html#separate-your-changes>`__
in the Linux kernel documentation if needed.
For example, when you intend to add multiple new recipes, each recipe
should be added in a separate commit. For upgrades to existing recipes,
the previous version should usually be deleted as part of the same commit
to add the upgraded version.
#. *Stage Your Changes:* Stage your changes by using the ``git add``
command on each file you modified. If you want to stage all the
files you modified, you can even use the ``git add -A`` command.
#. *Commit Your Changes:* This is when you can create separate commits. For
each commit to create, use the ``git commit -s`` command with the files
or directories you want to include in the commit::
$ git commit -s file1 file2 dir1 dir2 ...
To include **a**\ ll staged files::
$ git commit -sa
- The ``-s`` option of ``git commit`` adds a "Signed-off-by:" line
to your commit message. There is the same requirement for contributing
to the Linux kernel. Adding such a line signifies that you, the
submitter, have agreed to the `Developer's Certificate of Origin 1.1
<https://www.kernel.org/doc/html/latest/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin>`__
as follows:
.. code-block:: none
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
- Provide a single-line summary of the change and, if more
explanation is needed, provide more detail in the body of the
commit. This summary is typically viewable in the "shortlist" of
changes. Thus, providing something short and descriptive that
gives the reader a summary of the change is useful when viewing a
list of many commits. You should prefix this short description
with the recipe name (if changing a recipe), or else with the
short form path to the file being changed.
.. note::
To find a suitable prefix for the commit summary, a good idea
is to look for prefixes used in previous commits touching the
same files or directories::
git log --oneline <paths>
- For the body of the commit message, provide detailed information
that describes what you changed, why you made the change, and the
approach you used. It might also be helpful if you mention how you
tested the change. Provide as much detail as you can in the body
of the commit message.
.. note::
If the single line summary is enough to describe a simple
change, the body of the commit message can be left empty.
- If the change addresses a specific bug or issue that is associated
with a bug-tracking ID, include a reference to that ID in your
detailed description. For example, the Yocto Project uses a
specific convention for bug references --- any commit that addresses
a specific bug should use the following form for the detailed
description. Be sure to use the actual bug-tracking ID from
Bugzilla for bug-id::
Fixes [YOCTO #bug-id]
detailed description of change
#. *Crediting contributors:* By using the ``git commit --amend`` command,
you can add some tags to the commit description to credit other contributors
to the change:
- ``Reported-by``: name and email of a person reporting a bug
that your commit is trying to fix. This is a good practice
to encourage people to go on reporting bugs and let them
know that their reports are taken into account.
- ``Suggested-by``: name and email of a person to credit for the
idea of making the change.
- ``Tested-by``, ``Reviewed-by``: name and email for people having
tested your changes or reviewed their code. These fields are
usually added by the maintainer accepting a patch, or by
yourself if you submitted your patches to early reviewers,
or are submitting an unmodified patch again as part of a
new iteration of your patch series.
- ``CC:`` Name and email of people you want to send a copy
of your changes to. This field will be used by ``git send-email``.
See `more guidance about using such tags
<https://www.kernel.org/doc/html/latest/process/submitting-patches.html#using-reported-by-tested-by-reviewed-by-suggested-by-and-fixes>`__
in the Linux kernel documentation.
Creating Patches
================
Here is the general procedure on how to create patches to be sent through email:
#. *Describe the Changes in your Branch:* If you have more than one commit
in your branch, it's recommended to provide a cover letter describing
the series of patches you are about to send.
For this purpose, a good solution is to store the cover letter contents
in the branch itself::
git branch --edit-description
This will open a text editor to fill in the description for your
changes. This description can be updated when necessary and will
be used by Git to create the cover letter together with the patches.
It is recommended to start this description with a title line which
will serve a the subject line for the cover letter.
#. *Generate Patches for your Branch:* The ``git format-patch`` command will
generate patch files for each of the commits in your branch. You need
to pass the reference branch your branch starts from.
If you branch didn't need a description in the previous step::
$ git format-patch <ref-branch>
If you filled a description for your branch, you will want to generate
a cover letter too::
$ git format-patch --cover-letter --cover-from-description=auto <ref-branch>
After the command is run, the current directory contains numbered
``.patch`` files for the commits in your branch. If you have a cover
letter, it will be in the ``0000-cover-letter.patch``.
.. note::
The ``--cover-from-description=auto`` option makes ``git format-patch``
use the first paragraph of the branch description as the cover
letter title. Another possibility, which is easier to remember, is to pass
only the ``--cover-letter`` option, but you will have to edit the
subject line manually every time you generate the patches.
See the `git format-patch manual page <https://git-scm.com/docs/git-format-patch>`__
for details.
#. *Review each of the Patch Files:* This final review of the patches
before sending them often allows to view your changes from a different
perspective and discover defects such as typos, spacing issues or lines
or even files that you didn't intend to modify. This review should
include the cover letter patch too.
If necessary, rework your commits as described in
":ref:`contributor-guide/submit-changes:taking patch review into account`".
Sending the Patches via Email
=============================
Using Git to Send Patches
-------------------------
To submit patches through email, it is very important that you send them
without any whitespace or HTML formatting that either you or your mailer
introduces. The maintainer that receives your patches needs to be able
to save and apply them directly from your emails, using the ``git am``
command.
Using the ``git send-email`` command is the only error-proof way of sending
your patches using email since there is no risk of compromising whitespace
in the body of the message, which can occur when you use your own mail
client. It will also properly include your patches as *inline attachments*,
which is not easy to do with standard e-mail clients without breaking lines.
If you used your regular e-mail client and shared your patches as regular
attachments, reviewers wouldn't be able to quote specific sections of your
changes and make comments about them.
Setting up Git to Send Email
----------------------------
The ``git send-email`` command can send email by using a local or remote
Mail Transport Agent (MTA) such as ``msmtp``, ``sendmail``, or
through a direct SMTP configuration in your Git ``~/.gitconfig`` file.
Here are the settings for letting ``git send-email`` send e-mail through your
regular STMP server, using a Google Mail account as an example::
git config --global sendemail.smtpserver smtp.gmail.com
git config --global sendemail.smtpserverport 587
git config --global sendemail.smtpencryption tls
git config --global sendemail.smtpuser ada.lovelace@gmail.com
git config --global sendemail.smtppass = XXXXXXXX
These settings will appear in the ``.gitconfig`` file in your home directory.
If you neither can use a local MTA nor SMTP, make sure you use an email client
that does not touch the message (turning spaces in tabs, wrapping lines, etc.).
A good mail client to do so is Pine (or Alpine) or Mutt. For more
information about suitable clients, see `Email clients info for Linux
<https://www.kernel.org/doc/html/latest/process/email-clients.html>`__
in the Linux kernel sources.
If you use such clients, just include the patch in the body of your email.
Finding a Suitable Mailing List
-------------------------------
You should send patches to the appropriate mailing list so that they can be
reviewed by the right contributors and merged by the appropriate maintainer.
The specific mailing list you need to use depends on the location of the code
you are changing.
If people have concerns with any of the patches, they will usually voice
their concern over the mailing list. If patches do not receive any negative
reviews, the maintainer of the affected layer typically takes them, tests them,
and then based on successful testing, merges them.
In general, each component (e.g. layer) should have a ``README`` file
that indicates where to send the changes and which process to follow.
The "poky" repository, which is the Yocto Project's reference build
environment, is a hybrid repository that contains several individual
pieces (e.g. BitBake, Metadata, documentation, and so forth) built using
the combo-layer tool. The upstream location used for submitting changes
varies by component:
- *Core Metadata:* Send your patches to the
:oe_lists:`openembedded-core </g/openembedded-core>`
mailing list. For example, a change to anything under the ``meta`` or
``scripts`` directories should be sent to this mailing list.
- *BitBake:* For changes to BitBake (i.e. anything under the
``bitbake`` directory), send your patches to the
:oe_lists:`bitbake-devel </g/bitbake-devel>`
mailing list.
- *"meta-\*" trees:* These trees contain Metadata. Use the
:yocto_lists:`poky </g/poky>` mailing list.
- *Documentation*: For changes to the Yocto Project documentation, use the
:yocto_lists:`docs </g/docs>` mailing list.
For changes to other layers and tools hosted in the Yocto Project source
repositories (i.e. :yocto_git:`git.yoctoproject.org <>`), use the
:yocto_lists:`yocto </g/yocto/>` general mailing list.
For changes to other layers hosted in the OpenEmbedded source
repositories (i.e. :oe_git:`git.openembedded.org <>`), use
the :oe_lists:`openembedded-devel </g/openembedded-devel>`
mailing list, unless specified otherwise in the layer's ``README`` file.
If you intend to submit a new recipe that neither fits into the core Metadata,
nor into :oe_git:`meta-openembedded </meta-openembedded/>`, you should
look for a suitable layer in https://layers.openembedded.org. If similar
recipes can be expected, you may consider :ref:`dev-manual/layers:creating your own layer`.
If in doubt, please ask on the :yocto_lists:`yocto </g/yocto/>` general mailing list
or on the :oe_lists:`openembedded-devel </g/openembedded-devel>` mailing list.
Subscribing to the Mailing List
-------------------------------
After identifying the right mailing list to use, you will have to subscribe to
it if you haven't done it yet.
If you attempt to send patches to a list you haven't subscribed to, your email
will be returned as undelivered.
However, if you don't want to be receive all the messages sent to a mailing list,
you can set your subscription to "no email". You will still be a subscriber able
to send messages, but you won't receive any e-mail. If people reply to your message,
their e-mail clients will default to including your email address in the
conversation anyway.
Anyway, you'll also be able to access the new messages on mailing list archives,
either through a web browser, or for the lists archived on https://lore.kernelorg,
through an individual newsgroup feed or a git repository.
Sending Patches via Email
-------------------------
At this stage, you are ready to send your patches via email. Here's the
typical usage of ``git send-email``::
git send-email --to <mailing-list-address> *.patch
Then, review each subject line and list of recipients carefully, and then
and then allow the command to send each message.
You will see that ``git send-email`` will automatically copy the people listed
in any commit tags such as ``Signed-off-by`` or ``Reported-by``.
In case you are sending patches for :oe_git:`meta-openembedded </meta-openembedded/>`
or any layer other than :oe_git:`openembedded-core </openembedded-core/>`,
please add the appropriate prefix so that it is clear which layer the patch is intended
to be applied to::
git send-email --subject-prefix="meta-oe][PATCH" ...
.. note::
It is actually possible to send patches without generating them
first. However, make sure you have reviewed your changes carefully
because ``git send-email`` will just show you the title lines of
each patch.
Here's a command you can use if you just have one patch in your
branch::
git send-email --to <mailing-list-address> -1
If you have multiple patches and a cover letter, you can send
patches for all the commits between the reference branch
and the tip of your branch::
git send-email --cover-letter --cover-from-description=auto --to <mailing-list-address> -M <ref-branch>
See the `git send-email manual page <https://git-scm.com/docs/git-send-email>`__
for details.
Troubleshooting Email Issues
----------------------------
Fixing your From identity
~~~~~~~~~~~~~~~~~~~~~~~~~
We have a frequent issue with contributors whose patches are received through
a ``From`` field which doesn't match the ``Signed-off-by`` information. Here is
a typical example for people sending from a domain name with :wikipedia:`DMARC`::
From: "Linus Torvalds via lists.openembedded.org <linus.torvalds=kernel.org@lists.openembedded.org>"
This ``From`` field is used by ``git am`` to recreate commits with the right
author name. The following will ensure that your e-mails have an additional
``From`` field at the beginning of the Email body, and therefore that
maintainers accepting your patches don't have to fix commit author information
manually::
git config --global sendemail.from "linus.torvalds@kernel.org"
The ``sendemail.from`` should match your ``user.email`` setting,
which appears in the ``Signed-off-by`` line of your commits.
Streamlining git send-email usage
---------------------------------
If you want to save time and not be forced to remember the right options to use
with ``git send-email``, you can use Git configuration settings.
- To set the right mailing list address for a given repository::
git config --local sendemail.to openembedded-devel@lists.openembedded.org
- If the mailing list requires a subject prefix for the layer
(this only works when the repository only contains one layer)::
git config --local format.subjectprefix "meta-something][PATCH"
Using Scripts to Push a Change Upstream and Request a Pull
==========================================================
For larger patch series it is preferable to send a pull request which not
only includes the patch but also a pointer to a branch that can be pulled
from. This involves making a local branch for your changes, pushing this
branch to an accessible repository and then using the ``create-pull-request``
and ``send-pull-request`` scripts from openembedded-core to create and send a
patch series with a link to the branch for review.
Follow this procedure to push a change to an upstream "contrib" Git
repository once the steps in
":ref:`contributor-guide/submit-changes:preparing changes for submission`"
have been followed:
.. note::
You can find general Git information on how to push a change upstream
in the
`Git Community Book <https://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows>`__.
#. *Request Push Access to an "Upstream" Contrib Repository:* Send an email to
``helpdesk@yoctoproject.org``:
- Attach your SSH public key which usually named ``id_rsa.pub.``.
If you don't have one generate it by running ``ssh-keygen -t rsa -b 4096 -C "your_email@example.com"``.
- List the repositories you're planning to contribute to.
- Include your preferred branch prefix for ``-contrib`` repositories.
#. *Push Your Commits to the "Contrib" Upstream:* Push your
changes to that repository::
$ git push upstream_remote_repo local_branch_name
For example, suppose you have permissions to push
into the upstream ``meta-intel-contrib`` repository and you are
working in a local branch named `your_name`\ ``/README``. The following
command pushes your local commits to the ``meta-intel-contrib``
upstream repository and puts the commit in a branch named
`your_name`\ ``/README``::
$ git push meta-intel-contrib your_name/README
#. *Determine Who to Notify:* Determine the maintainer or the mailing
list that you need to notify for the change.
Before submitting any change, you need to be sure who the maintainer
is or what mailing list that you need to notify. Use either these
methods to find out:
- *Maintenance File:* Examine the ``maintainers.inc`` file, which is
located in the :term:`Source Directory` at
``meta/conf/distro/include``, to see who is responsible for code.
- *Search by File:* Using :ref:`overview-manual/development-environment:git`, you can
enter the following command to bring up a short list of all
commits against a specific file::
git shortlog -- filename
Just provide the name of the file for which you are interested. The
information returned is not ordered by history but does include a
list of everyone who has committed grouped by name. From the list,
you can see who is responsible for the bulk of the changes against
the file.
- *Find the Mailing List to Use:* See the
":ref:`contributor-guide/submit-changes:finding a suitable mailing list`"
section above.
#. *Make a Pull Request:* Notify the maintainer or the mailing list that
you have pushed a change by making a pull request.
The Yocto Project provides two scripts that conveniently let you
generate and send pull requests to the Yocto Project. These scripts
are ``create-pull-request`` and ``send-pull-request``. You can find
these scripts in the ``scripts`` directory within the
:term:`Source Directory` (e.g.
``poky/scripts``).
Using these scripts correctly formats the requests without
introducing any whitespace or HTML formatting. The maintainer that
receives your patches either directly or through the mailing list
needs to be able to save and apply them directly from your emails.
Using these scripts is the preferred method for sending patches.
First, create the pull request. For example, the following command
runs the script, specifies the upstream repository in the contrib
directory into which you pushed the change, and provides a subject
line in the created patch files::
$ poky/scripts/create-pull-request -u meta-intel-contrib -s "Updated Manual Section Reference in README"
Running this script forms ``*.patch`` files in a folder named
``pull-``\ `PID` in the current directory. One of the patch files is a
cover letter.
Before running the ``send-pull-request`` script, you must edit the
cover letter patch to insert information about your change. After
editing the cover letter, send the pull request. For example, the
following command runs the script and specifies the patch directory
and email address. In this example, the email address is a mailing
list::
$ poky/scripts/send-pull-request -p ~/meta-intel/pull-10565 -t meta-intel@lists.yoctoproject.org
You need to follow the prompts as the script is interactive.
.. note::
For help on using these scripts, simply provide the ``-h``
argument as follows::
$ poky/scripts/create-pull-request -h
$ poky/scripts/send-pull-request -h
Submitting Changes to Stable Release Branches
=============================================
The process for proposing changes to a Yocto Project stable branch differs
from the steps described above. Changes to a stable branch must address
identified bugs or CVEs and should be made carefully in order to avoid the
risk of introducing new bugs or breaking backwards compatibility. Typically
bug fixes must already be accepted into the master branch before they can be
backported to a stable branch unless the bug in question does not affect the
master branch or the fix on the master branch is unsuitable for backporting.
The list of stable branches along with the status and maintainer for each
branch can be obtained from the
:yocto_wiki:`Releases wiki page </Releases>`.
.. note::
Changes will not typically be accepted for branches which are marked as
End-Of-Life (EOL).
With this in mind, the steps to submit a change for a stable branch are as
follows:
#. *Identify the bug or CVE to be fixed:* This information should be
collected so that it can be included in your submission.
See :ref:`dev-manual/vulnerabilities:checking for vulnerabilities`
for details about CVE tracking.
#. *Check if the fix is already present in the master branch:* This will
result in the most straightforward path into the stable branch for the
fix.
#. *If the fix is present in the master branch --- submit a backport request
by email:* You should send an email to the relevant stable branch
maintainer and the mailing list with details of the bug or CVE to be
fixed, the commit hash on the master branch that fixes the issue and
the stable branches which you would like this fix to be backported to.
#. *If the fix is not present in the master branch --- submit the fix to the
master branch first:* This will ensure that the fix passes through the
project's usual patch review and test processes before being accepted.
It will also ensure that bugs are not left unresolved in the master
branch itself. Once the fix is accepted in the master branch a backport
request can be submitted as above.
#. *If the fix is unsuitable for the master branch --- submit a patch
directly for the stable branch:* This method should be considered as a
last resort. It is typically necessary when the master branch is using
a newer version of the software which includes an upstream fix for the
issue or when the issue has been fixed on the master branch in a way
that introduces backwards incompatible changes. In this case follow the
steps in ":ref:`contributor-guide/submit-changes:preparing changes for submission`"
and in the following sections but modify the subject header of your patch
email to include the name of the stable branch which you are
targetting. This can be done using the ``--subject-prefix`` argument to
``git format-patch``, for example to submit a patch to the
"&DISTRO_NAME_NO_CAP_MINUS_ONE;" branch use::
git format-patch --subject-prefix='&DISTRO_NAME_NO_CAP_MINUS_ONE;][PATCH' ...
Taking Patch Review into Account
================================
You may get feedback on your submitted patches from other community members
or from the automated patchtest service. If issues are identified in your
patches then it is usually necessary to address these before the patches are
accepted into the project. In this case you should your commits according
to the feedback and submit an updated version to the relevant mailing list.
In any case, never fix reported issues by fixing them in new commits
on the tip of your branch. Always come up with a new series of commits
without the reported issues.
.. note::
It is a good idea to send a copy to the reviewers who provided feedback
to the previous version of the patch. You can make sure this happens
by adding a ``CC`` tag to the commit description::
CC: William Shakespeare <bill@yoctoproject.org>
A single patch can be amended using ``git commit --amend``, and multiple
patches can be easily reworked and reordered through an interactive Git rebase::
git rebase -i <ref-branch>
See `this tutorial <https://hackernoon.com/beginners-guide-to-interactive-rebasing-346a3f9c3a6d>`__
for practical guidance about using Git interactive rebasing.
You should also modify the ``[PATCH]`` tag in the email subject line when
sending the revised patch to mark the new iteration as ``[PATCH v2]``,
``[PATCH v3]``, etc as appropriate. This can be done by passing the ``-v``
argument to ``git format-patch`` with a version number::
git format-patch -v2 <ref-branch>
Lastly please ensure that you also test your revised changes. In particular
please don't just edit the patch file written out by ``git format-patch`` and
resend it.
Tracking the Status of Patches
==============================
The Yocto Project uses a `Patchwork instance <https://patchwork.yoctoproject.org/>`__
to track the status of patches submitted to the various mailing lists and to
support automated patch testing. Each submitted patch is checked for common
mistakes and deviations from the expected patch format and submitters are
notified by ``patchtest`` if such mistakes are found. This process helps to
reduce the burden of patch review on maintainers.
.. note::
This system is imperfect and changes can sometimes get lost in the flow.
Asking about the status of a patch or change is reasonable if the change
has been idle for a while with no feedback.
If your patches have not had any feedback in a few days, they may have already
been merged. You can run ``git pull`` branch to check this. Note that many if
not most layer maintainers do not send out acknowledgement emails when they
accept patches. Alternatively, if there is no response or merge after a few days
the patch may have been missed or the appropriate reviewers may not currently be
around. It is then perfectly fine to reply to it yourself with a reminder asking
for feedback.
.. note::
Patch reviews for feature and recipe upgrade patches are likely be delayed
during a feature freeze because these types of patches aren't merged during
at that time --- you may have to wait until after the freeze is lifted.
Maintainers also commonly use ``-next`` branches to test submissions prior to
merging patches. Thus, you can get an idea of the status of a patch based on
whether the patch has been merged into one of these branches. The commonly
used testing branches for OpenEmbedded-Core are as follows:
- *openembedded-core "master-next" branch:* This branch is part of the
:oe_git:`openembedded-core </openembedded-core/>` repository and contains
proposed changes to the core metadata.
- *poky "master-next" branch:* This branch is part of the
:yocto_git:`poky </poky/>` repository and combines proposed
changes to BitBake, the core metadata and the poky distro.
Similarly, stable branches maintained by the project may have corresponding
``-next`` branches which collect proposed changes. For example,
``&DISTRO_NAME_NO_CAP;-next`` and ``&DISTRO_NAME_NO_CAP_MINUS_ONE;-next``
branches in both the "openembdedded-core" and "poky" repositories.
Other layers may have similar testing branches but there is no formal
requirement or standard for these so please check the documentation for the
layers you are contributing to.

View File

@@ -0,0 +1,59 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Flashing Images Using ``bmaptool``
**********************************
A fast and easy way to flash an image to a bootable device is to use
Bmaptool, which is integrated into the OpenEmbedded build system.
Bmaptool is a generic tool that creates a file's block map (bmap) and
then uses that map to copy the file. As compared to traditional tools
such as dd or cp, Bmaptool can copy (or flash) large files like raw
system image files much faster.
.. note::
- If you are using Ubuntu or Debian distributions, you can install
the ``bmap-tools`` package using the following command and then
use the tool without specifying ``PATH`` even from the root
account::
$ sudo apt install bmap-tools
- If you are unable to install the ``bmap-tools`` package, you will
need to build Bmaptool before using it. Use the following command::
$ bitbake bmap-tools-native
Following, is an example that shows how to flash a Wic image. Realize
that while this example uses a Wic image, you can use Bmaptool to flash
any type of image. Use these steps to flash an image using Bmaptool:
#. *Update your local.conf File:* You need to have the following set
in your ``local.conf`` file before building your image::
IMAGE_FSTYPES += "wic wic.bmap"
#. *Get Your Image:* Either have your image ready (pre-built with the
:term:`IMAGE_FSTYPES`
setting previously mentioned) or take the step to build the image::
$ bitbake image
#. *Flash the Device:* Flash the device with the image by using Bmaptool
depending on your particular setup. The following commands assume the
image resides in the :term:`Build Directory`'s ``deploy/images/`` area:
- If you have write access to the media, use this command form::
$ oe-run-native bmap-tools-native bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX
- If you do not have write access to the media, set your permissions
first and then use the same command form::
$ sudo chmod 666 /dev/sdX
$ oe-run-native bmap-tools-native bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX
For help on the ``bmaptool`` command, use the following command::
$ bmaptool --help

View File

@@ -0,0 +1,409 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Maintaining Build Output Quality
********************************
Many factors can influence the quality of a build. For example, if you
upgrade a recipe to use a new version of an upstream software package or
you experiment with some new configuration options, subtle changes can
occur that you might not detect until later. Consider the case where
your recipe is using a newer version of an upstream package. In this
case, a new version of a piece of software might introduce an optional
dependency on another library, which is auto-detected. If that library
has already been built when the software is building, the software will
link to the built library and that library will be pulled into your
image along with the new software even if you did not want the library.
The :ref:`ref-classes-buildhistory` class helps you maintain the quality of
your build output. You can use the class to highlight unexpected and possibly
unwanted changes in the build output. When you enable build history, it records
information about the contents of each package and image and then commits that
information to a local Git repository where you can examine the information.
The remainder of this section describes the following:
- :ref:`How you can enable and disable build history <dev-manual/build-quality:enabling and disabling build history>`
- :ref:`How to understand what the build history contains <dev-manual/build-quality:understanding what the build history contains>`
- :ref:`How to limit the information used for build history <dev-manual/build-quality:using build history to gather image information only>`
- :ref:`How to examine the build history from both a command-line and web interface <dev-manual/build-quality:examining build history information>`
Enabling and Disabling Build History
====================================
Build history is disabled by default. To enable it, add the following
:term:`INHERIT` statement and set the :term:`BUILDHISTORY_COMMIT` variable to
"1" at the end of your ``conf/local.conf`` file found in the
:term:`Build Directory`::
INHERIT += "buildhistory"
BUILDHISTORY_COMMIT = "1"
Enabling build history as
previously described causes the OpenEmbedded build system to collect
build output information and commit it as a single commit to a local
:ref:`overview-manual/development-environment:git` repository.
.. note::
Enabling build history increases your build times slightly,
particularly for images, and increases the amount of disk space used
during the build.
You can disable build history by removing the previous statements from
your ``conf/local.conf`` file.
Understanding What the Build History Contains
=============================================
Build history information is kept in ``${``\ :term:`TOPDIR`\ ``}/buildhistory``
in the :term:`Build Directory` as defined by the :term:`BUILDHISTORY_DIR`
variable. Here is an example abbreviated listing:
.. image:: figures/buildhistory.png
:align: center
:width: 50%
At the top level, there is a ``metadata-revs`` file that lists the
revisions of the repositories for the enabled layers when the build was
produced. The rest of the data splits into separate ``packages``,
``images`` and ``sdk`` directories, the contents of which are described
as follows.
Build History Package Information
---------------------------------
The history for each package contains a text file that has name-value
pairs with information about the package. For example,
``buildhistory/packages/i586-poky-linux/busybox/busybox/latest``
contains the following:
.. code-block:: none
PV = 1.22.1
PR = r32
RPROVIDES =
RDEPENDS = glibc (>= 2.20) update-alternatives-opkg
RRECOMMENDS = busybox-syslog busybox-udhcpc update-rc.d
PKGSIZE = 540168
FILES = /usr/bin/* /usr/sbin/* /usr/lib/busybox/* /usr/lib/lib*.so.* \
/etc /com /var /bin/* /sbin/* /lib/*.so.* /lib/udev/rules.d \
/usr/lib/udev/rules.d /usr/share/busybox /usr/lib/busybox/* \
/usr/share/pixmaps /usr/share/applications /usr/share/idl \
/usr/share/omf /usr/share/sounds /usr/lib/bonobo/servers
FILELIST = /bin/busybox /bin/busybox.nosuid /bin/busybox.suid /bin/sh \
/etc/busybox.links.nosuid /etc/busybox.links.suid
Most of these
name-value pairs correspond to variables used to produce the package.
The exceptions are ``FILELIST``, which is the actual list of files in
the package, and ``PKGSIZE``, which is the total size of files in the
package in bytes.
There is also a file that corresponds to the recipe from which the package
came (e.g. ``buildhistory/packages/i586-poky-linux/busybox/latest``):
.. code-block:: none
PV = 1.22.1
PR = r32
DEPENDS = initscripts kern-tools-native update-rc.d-native \
virtual/i586-poky-linux-compilerlibs virtual/i586-poky-linux-gcc \
virtual/libc virtual/update-alternatives
PACKAGES = busybox-ptest busybox-httpd busybox-udhcpd busybox-udhcpc \
busybox-syslog busybox-mdev busybox-hwclock busybox-dbg \
busybox-staticdev busybox-dev busybox-doc busybox-locale busybox
Finally, for those recipes fetched from a version control system (e.g.,
Git), there is a file that lists source revisions that are specified in
the recipe and the actual revisions used during the build. Listed
and actual revisions might differ when
:term:`SRCREV` is set to
${:term:`AUTOREV`}. Here is an
example assuming
``buildhistory/packages/qemux86-poky-linux/linux-yocto/latest_srcrev``)::
# SRCREV_machine = "38cd560d5022ed2dbd1ab0dca9642e47c98a0aa1"
SRCREV_machine = "38cd560d5022ed2dbd1ab0dca9642e47c98a0aa1"
# SRCREV_meta = "a227f20eff056e511d504b2e490f3774ab260d6f"
SRCREV_meta ="a227f20eff056e511d504b2e490f3774ab260d6f"
You can use the
``buildhistory-collect-srcrevs`` command with the ``-a`` option to
collect the stored :term:`SRCREV` values from build history and report them
in a format suitable for use in global configuration (e.g.,
``local.conf`` or a distro include file) to override floating
:term:`AUTOREV` values to a fixed set of revisions. Here is some example
output from this command::
$ buildhistory-collect-srcrevs -a
# all-poky-linux
SRCREV:pn-ca-certificates = "07de54fdcc5806bde549e1edf60738c6bccf50e8"
SRCREV:pn-update-rc.d = "8636cf478d426b568c1be11dbd9346f67e03adac"
# core2-64-poky-linux
SRCREV:pn-binutils = "87d4632d36323091e731eb07b8aa65f90293da66"
SRCREV:pn-btrfs-tools = "8ad326b2f28c044cb6ed9016d7c3285e23b673c8"
SRCREV_bzip2-tests:pn-bzip2 = "f9061c030a25de5b6829e1abf373057309c734c0"
SRCREV:pn-e2fsprogs = "02540dedd3ddc52c6ae8aaa8a95ce75c3f8be1c0"
SRCREV:pn-file = "504206e53a89fd6eed71aeaf878aa3512418eab1"
SRCREV_glibc:pn-glibc = "24962427071fa532c3c48c918e9d64d719cc8a6c"
SRCREV:pn-gnome-desktop-testing = "e346cd4ed2e2102c9b195b614f3c642d23f5f6e7"
SRCREV:pn-init-system-helpers = "dbd9197569c0935029acd5c9b02b84c68fd937ee"
SRCREV:pn-kmod = "b6ecfc916a17eab8f93be5b09f4e4f845aabd3d1"
SRCREV:pn-libnsl2 = "82245c0c58add79a8e34ab0917358217a70e5100"
SRCREV:pn-libseccomp = "57357d2741a3b3d3e8425889a6b79a130e0fa2f3"
SRCREV:pn-libxcrypt = "50cf2b6dd4fdf04309445f2eec8de7051d953abf"
SRCREV:pn-ncurses = "51d0fd9cc3edb975f04224f29f777f8f448e8ced"
SRCREV:pn-procps = "19a508ea121c0c4ac6d0224575a036de745eaaf8"
SRCREV:pn-psmisc = "5fab6b7ab385080f1db725d6803136ec1841a15f"
SRCREV:pn-ptest-runner = "bcb82804daa8f725b6add259dcef2067e61a75aa"
SRCREV:pn-shared-mime-info = "18e558fa1c8b90b86757ade09a4ba4d6a6cf8f70"
SRCREV:pn-zstd = "e47e674cd09583ff0503f0f6defd6d23d8b718d3"
# qemux86_64-poky-linux
SRCREV_machine:pn-linux-yocto = "20301aeb1a64164b72bc72af58802b315e025c9c"
SRCREV_meta:pn-linux-yocto = "2d38a472b21ae343707c8bd64ac68a9eaca066a0"
# x86_64-linux
SRCREV:pn-binutils-cross-x86_64 = "87d4632d36323091e731eb07b8aa65f90293da66"
SRCREV_glibc:pn-cross-localedef-native = "24962427071fa532c3c48c918e9d64d719cc8a6c"
SRCREV_localedef:pn-cross-localedef-native = "794da69788cbf9bf57b59a852f9f11307663fa87"
SRCREV:pn-debianutils-native = "de14223e5bffe15e374a441302c528ffc1cbed57"
SRCREV:pn-libmodulemd-native = "ee80309bc766d781a144e6879419b29f444d94eb"
SRCREV:pn-virglrenderer-native = "363915595e05fb252e70d6514be2f0c0b5ca312b"
SRCREV:pn-zstd-native = "e47e674cd09583ff0503f0f6defd6d23d8b718d3"
.. note::
Here are some notes on using the ``buildhistory-collect-srcrevs`` command:
- By default, only values where the :term:`SRCREV` was not hardcoded
(usually when :term:`AUTOREV` is used) are reported. Use the ``-a``
option to see all :term:`SRCREV` values.
- The output statements might not have any effect if overrides are
applied elsewhere in the build system configuration. Use the
``-f`` option to add the ``forcevariable`` override to each output
line if you need to work around this restriction.
- The script does apply special handling when building for multiple
machines. However, the script does place a comment before each set
of values that specifies which triplet to which they belong as
previously shown (e.g., ``i586-poky-linux``).
Build History Image Information
-------------------------------
The files produced for each image are as follows:
- ``image-files:`` A directory containing selected files from the root
filesystem. The files are defined by
:term:`BUILDHISTORY_IMAGE_FILES`.
- ``build-id.txt:`` Human-readable information about the build
configuration and metadata source revisions. This file contains the
full build header as printed by BitBake.
- ``*.dot:`` Dependency graphs for the image that are compatible with
``graphviz``.
- ``files-in-image.txt:`` A list of files in the image with
permissions, owner, group, size, and symlink information.
- ``image-info.txt:`` A text file containing name-value pairs with
information about the image. See the following listing example for
more information.
- ``installed-package-names.txt:`` A list of installed packages by name
only.
- ``installed-package-sizes.txt:`` A list of installed packages ordered
by size.
- ``installed-packages.txt:`` A list of installed packages with full
package filenames.
.. note::
Installed package information is able to be gathered and produced
even if package management is disabled for the final image.
Here is an example of ``image-info.txt``:
.. code-block:: none
DISTRO = poky
DISTRO_VERSION = 3.4+snapshot-a0245d7be08f3d24ea1875e9f8872aa6bbff93be
USER_CLASSES = buildstats
IMAGE_CLASSES = qemuboot qemuboot license_image
IMAGE_FEATURES = debug-tweaks
IMAGE_LINGUAS =
IMAGE_INSTALL = packagegroup-core-boot speex speexdsp
BAD_RECOMMENDATIONS =
NO_RECOMMENDATIONS =
PACKAGE_EXCLUDE =
ROOTFS_POSTPROCESS_COMMAND = write_package_manifest; license_create_manifest; cve_check_write_rootfs_manifest; ssh_allow_empty_password; ssh_allow_root_login; postinst_enable_logging; rootfs_update_timestamp; write_image_test_data; empty_var_volatile; sort_passwd; rootfs_reproducible;
IMAGE_POSTPROCESS_COMMAND = buildhistory_get_imageinfo ;
IMAGESIZE = 9265
Other than ``IMAGESIZE``,
which is the total size of the files in the image in Kbytes, the
name-value pairs are variables that may have influenced the content of
the image. This information is often useful when you are trying to
determine why a change in the package or file listings has occurred.
Using Build History to Gather Image Information Only
----------------------------------------------------
As you can see, build history produces image information, including
dependency graphs, so you can see why something was pulled into the
image. If you are just interested in this information and not interested
in collecting specific package or SDK information, you can enable
writing only image information without any history by adding the
following to your ``conf/local.conf`` file found in the
:term:`Build Directory`::
INHERIT += "buildhistory"
BUILDHISTORY_COMMIT = "0"
BUILDHISTORY_FEATURES = "image"
Here, you set the
:term:`BUILDHISTORY_FEATURES`
variable to use the image feature only.
Build History SDK Information
-----------------------------
Build history collects similar information on the contents of SDKs (e.g.
``bitbake -c populate_sdk imagename``) as compared to information it
collects for images. Furthermore, this information differs depending on
whether an extensible or standard SDK is being produced.
The following list shows the files produced for SDKs:
- ``files-in-sdk.txt:`` A list of files in the SDK with permissions,
owner, group, size, and symlink information. This list includes both
the host and target parts of the SDK.
- ``sdk-info.txt:`` A text file containing name-value pairs with
information about the SDK. See the following listing example for more
information.
- ``sstate-task-sizes.txt:`` A text file containing name-value pairs
with information about task group sizes (e.g. :ref:`ref-tasks-populate_sysroot`
tasks have a total size). The ``sstate-task-sizes.txt`` file exists
only when an extensible SDK is created.
- ``sstate-package-sizes.txt:`` A text file containing name-value pairs
with information for the shared-state packages and sizes in the SDK.
The ``sstate-package-sizes.txt`` file exists only when an extensible
SDK is created.
- ``sdk-files:`` A folder that contains copies of the files mentioned
in ``BUILDHISTORY_SDK_FILES`` if the files are present in the output.
Additionally, the default value of ``BUILDHISTORY_SDK_FILES`` is
specific to the extensible SDK although you can set it differently if
you would like to pull in specific files from the standard SDK.
The default files are ``conf/local.conf``, ``conf/bblayers.conf``,
``conf/auto.conf``, ``conf/locked-sigs.inc``, and
``conf/devtool.conf``. Thus, for an extensible SDK, these files get
copied into the ``sdk-files`` directory.
- The following information appears under each of the ``host`` and
``target`` directories for the portions of the SDK that run on the
host and on the target, respectively:
.. note::
The following files for the most part are empty when producing an
extensible SDK because this type of SDK is not constructed from
packages as is the standard SDK.
- ``depends.dot:`` Dependency graph for the SDK that is compatible
with ``graphviz``.
- ``installed-package-names.txt:`` A list of installed packages by
name only.
- ``installed-package-sizes.txt:`` A list of installed packages
ordered by size.
- ``installed-packages.txt:`` A list of installed packages with full
package filenames.
Here is an example of ``sdk-info.txt``:
.. code-block:: none
DISTRO = poky
DISTRO_VERSION = 1.3+snapshot-20130327
SDK_NAME = poky-glibc-i686-arm
SDK_VERSION = 1.3+snapshot
SDKMACHINE =
SDKIMAGE_FEATURES = dev-pkgs dbg-pkgs
BAD_RECOMMENDATIONS =
SDKSIZE = 352712
Other than ``SDKSIZE``, which is
the total size of the files in the SDK in Kbytes, the name-value pairs
are variables that might have influenced the content of the SDK. This
information is often useful when you are trying to determine why a
change in the package or file listings has occurred.
Examining Build History Information
-----------------------------------
You can examine build history output from the command line or from a web
interface.
To see any changes that have occurred (assuming you have
:term:`BUILDHISTORY_COMMIT` = "1"),
you can simply use any Git command that allows you to view the history
of a repository. Here is one method::
$ git log -p
You need to realize,
however, that this method does show changes that are not significant
(e.g. a package's size changing by a few bytes).
There is a command-line tool called ``buildhistory-diff``, though,
that queries the Git repository and prints just the differences that
might be significant in human-readable form. Here is an example::
$ poky/poky/scripts/buildhistory-diff . HEAD^
Changes to images/qemux86_64/glibc/core-image-minimal (files-in-image.txt):
/etc/anotherpkg.conf was added
/sbin/anotherpkg was added
* (installed-package-names.txt):
* anotherpkg was added
Changes to images/qemux86_64/glibc/core-image-minimal (installed-package-names.txt):
anotherpkg was added
packages/qemux86_64-poky-linux/v86d: PACKAGES: added "v86d-extras"
* PR changed from "r0" to "r1"
* PV changed from "0.1.10" to "0.1.12"
packages/qemux86_64-poky-linux/v86d/v86d: PKGSIZE changed from 110579 to 144381 (+30%)
* PR changed from "r0" to "r1"
* PV changed from "0.1.10" to "0.1.12"
.. note::
The ``buildhistory-diff`` tool requires the ``GitPython``
package. Be sure to install it using Pip3 as follows::
$ pip3 install GitPython --user
Alternatively, you can install ``python3-git`` using the appropriate
distribution package manager (e.g. ``apt``, ``dnf``, or ``zipper``).
To see changes to the build history using a web interface, follow the
instruction in the ``README`` file
:yocto_git:`here </buildhistory-web/>`.
Here is a sample screenshot of the interface:
.. image:: figures/buildhistory-web.png
:width: 100%

View File

@@ -0,0 +1,939 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Building
********
This section describes various build procedures, such as the steps
needed for a simple build, building a target for multiple configurations,
generating an image for more than one machine, and so forth.
Building a Simple Image
=======================
In the development environment, you need to build an image whenever you
change hardware support, add or change system libraries, or add or
change services that have dependencies. There are several methods that allow
you to build an image within the Yocto Project. This section presents
the basic steps you need to build a simple image using BitBake from a
build host running Linux.
.. note::
- For information on how to build an image using
:term:`Toaster`, see the
:doc:`/toaster-manual/index`.
- For information on how to use ``devtool`` to build images, see the
":ref:`sdk-manual/extensible:using \`\`devtool\`\` in your sdk workflow`"
section in the Yocto Project Application Development and the
Extensible Software Development Kit (eSDK) manual.
- For a quick example on how to build an image using the
OpenEmbedded build system, see the
:doc:`/brief-yoctoprojectqs/index` document.
The build process creates an entire Linux distribution from source and
places it in your :term:`Build Directory` under ``tmp/deploy/images``. For
detailed information on the build process using BitBake, see the
":ref:`overview-manual/concepts:images`" section in the Yocto Project Overview
and Concepts Manual.
The following figure and list overviews the build process:
.. image:: figures/bitbake-build-flow.png
:width: 100%
#. *Set up Your Host Development System to Support Development Using the
Yocto Project*: See the ":doc:`start`" section for options on how to get a
build host ready to use the Yocto Project.
#. *Initialize the Build Environment:* Initialize the build environment
by sourcing the build environment script (i.e.
:ref:`structure-core-script`)::
$ source oe-init-build-env [build_dir]
When you use the initialization script, the OpenEmbedded build system
uses ``build`` as the default :term:`Build Directory` in your current work
directory. You can use a `build_dir` argument with the script to
specify a different :term:`Build Directory`.
.. note::
A common practice is to use a different :term:`Build Directory` for
different targets; for example, ``~/build/x86`` for a ``qemux86``
target, and ``~/build/arm`` for a ``qemuarm`` target. In any
event, it's typically cleaner to locate the :term:`Build Directory`
somewhere outside of your source directory.
#. *Make Sure Your* ``local.conf`` *File is Correct*: Ensure the
``conf/local.conf`` configuration file, which is found in the
:term:`Build Directory`, is set up how you want it. This file defines many
aspects of the build environment including the target machine architecture
through the :term:`MACHINE` variable, the packaging format used during
the build (:term:`PACKAGE_CLASSES`), and a centralized tarball download
directory through the :term:`DL_DIR` variable.
#. *Build the Image:* Build the image using the ``bitbake`` command::
$ bitbake target
.. note::
For information on BitBake, see the :doc:`bitbake:index`.
The target is the name of the recipe you want to build. Common
targets are the images in ``meta/recipes-core/images``,
``meta/recipes-sato/images``, and so forth all found in the
:term:`Source Directory`. Alternatively, the target
can be the name of a recipe for a specific piece of software such as
BusyBox. For more details about the images the OpenEmbedded build
system supports, see the
":ref:`ref-manual/images:Images`" chapter in the Yocto
Project Reference Manual.
As an example, the following command builds the
``core-image-minimal`` image::
$ bitbake core-image-minimal
Once an
image has been built, it often needs to be installed. The images and
kernels built by the OpenEmbedded build system are placed in the
:term:`Build Directory` in ``tmp/deploy/images``. For information on how to
run pre-built images such as ``qemux86`` and ``qemuarm``, see the
:doc:`/sdk-manual/index` manual. For
information about how to install these images, see the documentation
for your particular board or machine.
Building Images for Multiple Targets Using Multiple Configurations
==================================================================
You can use a single ``bitbake`` command to build multiple images or
packages for different targets where each image or package requires a
different configuration (multiple configuration builds). The builds, in
this scenario, are sometimes referred to as "multiconfigs", and this
section uses that term throughout.
This section describes how to set up for multiple configuration builds
and how to account for cross-build dependencies between the
multiconfigs.
Setting Up and Running a Multiple Configuration Build
-----------------------------------------------------
To accomplish a multiple configuration build, you must define each
target's configuration separately using a parallel configuration file in
the :term:`Build Directory` or configuration directory within a layer, and you
must follow a required file hierarchy. Additionally, you must enable the
multiple configuration builds in your ``local.conf`` file.
Follow these steps to set up and execute multiple configuration builds:
- *Create Separate Configuration Files*: You need to create a single
configuration file for each build target (each multiconfig).
The configuration definitions are implementation dependent but often
each configuration file will define the machine and the
temporary directory BitBake uses for the build. Whether the same
temporary directory (:term:`TMPDIR`) can be shared will depend on what is
similar and what is different between the configurations. Multiple MACHINE
targets can share the same (:term:`TMPDIR`) as long as the rest of the
configuration is the same, multiple :term:`DISTRO` settings would need separate
(:term:`TMPDIR`) directories.
For example, consider a scenario with two different multiconfigs for the same
:term:`MACHINE`: "qemux86" built
for two distributions such as "poky" and "poky-lsb". In this case,
you would need to use the different :term:`TMPDIR`.
Here is an example showing the minimal statements needed in a
configuration file for a "qemux86" target whose temporary build
directory is ``tmpmultix86``::
MACHINE = "qemux86"
TMPDIR = "${TOPDIR}/tmpmultix86"
The location for these multiconfig configuration files is specific.
They must reside in the current :term:`Build Directory` in a sub-directory of
``conf`` named ``multiconfig`` or within a layer's ``conf`` directory
under a directory named ``multiconfig``. Following is an example that defines
two configuration files for the "x86" and "arm" multiconfigs:
.. image:: figures/multiconfig_files.png
:align: center
:width: 50%
The usual :term:`BBPATH` search path is used to locate multiconfig files in
a similar way to other conf files.
- *Add the BitBake Multi-configuration Variable to the Local
Configuration File*: Use the
:term:`BBMULTICONFIG`
variable in your ``conf/local.conf`` configuration file to specify
each multiconfig. Continuing with the example from the previous
figure, the :term:`BBMULTICONFIG` variable needs to enable two
multiconfigs: "x86" and "arm" by specifying each configuration file::
BBMULTICONFIG = "x86 arm"
.. note::
A "default" configuration already exists by definition. This
configuration is named: "" (i.e. empty string) and is defined by
the variables coming from your ``local.conf``
file. Consequently, the previous example actually adds two
additional configurations to your build: "arm" and "x86" along
with "".
- *Launch BitBake*: Use the following BitBake command form to launch
the multiple configuration build::
$ bitbake [mc:multiconfigname:]target [[[mc:multiconfigname:]target] ... ]
For the example in this section, the following command applies::
$ bitbake mc:x86:core-image-minimal mc:arm:core-image-sato mc::core-image-base
The previous BitBake command builds a ``core-image-minimal`` image
that is configured through the ``x86.conf`` configuration file, a
``core-image-sato`` image that is configured through the ``arm.conf``
configuration file and a ``core-image-base`` that is configured
through your ``local.conf`` configuration file.
.. note::
Support for multiple configuration builds in the Yocto Project &DISTRO;
(&DISTRO_NAME;) Release does not include Shared State (sstate)
optimizations. Consequently, if a build uses the same object twice
in, for example, two different :term:`TMPDIR`
directories, the build either loads from an existing sstate cache for
that build at the start or builds the object fresh.
Enabling Multiple Configuration Build Dependencies
--------------------------------------------------
Sometimes dependencies can exist between targets (multiconfigs) in a
multiple configuration build. For example, suppose that in order to
build a ``core-image-sato`` image for an "x86" multiconfig, the root
filesystem of an "arm" multiconfig must exist. This dependency is
essentially that the
:ref:`ref-tasks-image` task in the
``core-image-sato`` recipe depends on the completion of the
:ref:`ref-tasks-rootfs` task of the
``core-image-minimal`` recipe.
To enable dependencies in a multiple configuration build, you must
declare the dependencies in the recipe using the following statement
form::
task_or_package[mcdepends] = "mc:from_multiconfig:to_multiconfig:recipe_name:task_on_which_to_depend"
To better show how to use this statement, consider the example scenario
from the first paragraph of this section. The following statement needs
to be added to the recipe that builds the ``core-image-sato`` image::
do_image[mcdepends] = "mc:x86:arm:core-image-minimal:do_rootfs"
In this example, the `from_multiconfig` is "x86". The `to_multiconfig` is "arm". The
task on which the :ref:`ref-tasks-image` task in the recipe depends is the
:ref:`ref-tasks-rootfs` task from the ``core-image-minimal`` recipe associated
with the "arm" multiconfig.
Once you set up this dependency, you can build the "x86" multiconfig
using a BitBake command as follows::
$ bitbake mc:x86:core-image-sato
This command executes all the tasks needed to create the
``core-image-sato`` image for the "x86" multiconfig. Because of the
dependency, BitBake also executes through the :ref:`ref-tasks-rootfs` task for the
"arm" multiconfig build.
Having a recipe depend on the root filesystem of another build might not
seem that useful. Consider this change to the statement in the
``core-image-sato`` recipe::
do_image[mcdepends] = "mc:x86:arm:core-image-minimal:do_image"
In this case, BitBake must
create the ``core-image-minimal`` image for the "arm" build since the
"x86" build depends on it.
Because "x86" and "arm" are enabled for multiple configuration builds
and have separate configuration files, BitBake places the artifacts for
each build in the respective temporary build directories (i.e.
:term:`TMPDIR`).
Building an Initial RAM Filesystem (Initramfs) Image
====================================================
An initial RAM filesystem (:term:`Initramfs`) image provides a temporary root
filesystem used for early system initialization, typically providing tools and
loading modules needed to locate and mount the final root filesystem.
Follow these steps to create an :term:`Initramfs` image:
#. *Create the Initramfs Image Recipe:* You can reference the
``core-image-minimal-initramfs.bb`` recipe found in the
``meta/recipes-core`` directory of the :term:`Source Directory`
as an example from which to work.
#. *Decide if You Need to Bundle the Initramfs Image Into the Kernel
Image:* If you want the :term:`Initramfs` image that is built to be bundled
in with the kernel image, set the :term:`INITRAMFS_IMAGE_BUNDLE`
variable to ``"1"`` in your ``local.conf`` configuration file and set the
:term:`INITRAMFS_IMAGE` variable in the recipe that builds the kernel image.
Setting the :term:`INITRAMFS_IMAGE_BUNDLE` flag causes the :term:`Initramfs`
image to be unpacked into the ``${B}/usr/`` directory. The unpacked
:term:`Initramfs` image is then passed to the kernel's ``Makefile`` using the
:term:`CONFIG_INITRAMFS_SOURCE` variable, allowing the :term:`Initramfs`
image to be built into the kernel normally.
#. *Optionally Add Items to the Initramfs Image Through the Initramfs
Image Recipe:* If you add items to the :term:`Initramfs` image by way of its
recipe, you should use :term:`PACKAGE_INSTALL` rather than
:term:`IMAGE_INSTALL`. :term:`PACKAGE_INSTALL` gives more direct control of
what is added to the image as compared to the defaults you might not
necessarily want that are set by the :ref:`ref-classes-image`
or :ref:`ref-classes-core-image` classes.
#. *Build the Kernel Image and the Initramfs Image:* Build your kernel
image using BitBake. Because the :term:`Initramfs` image recipe is a
dependency of the kernel image, the :term:`Initramfs` image is built as well
and bundled with the kernel image if you used the
:term:`INITRAMFS_IMAGE_BUNDLE` variable described earlier.
Bundling an Initramfs Image From a Separate Multiconfig
-------------------------------------------------------
There may be a case where we want to build an :term:`Initramfs` image which does not
inherit the same distro policy as our main image, for example, we may want
our main image to use ``TCLIBC="glibc"``, but to use ``TCLIBC="musl"`` in our :term:`Initramfs`
image to keep a smaller footprint. However, by performing the steps mentioned
above the :term:`Initramfs` image will inherit ``TCLIBC="glibc"`` without allowing us
to override it.
To achieve this, you need to perform some additional steps:
#. *Create a multiconfig for your Initramfs image:* You can perform the steps
on ":ref:`dev-manual/building:building images for multiple targets using multiple configurations`" to create a separate multiconfig.
For the sake of simplicity let's assume such multiconfig is called: ``initramfscfg.conf`` and
contains the variables::
TMPDIR="${TOPDIR}/tmp-initramfscfg"
TCLIBC="musl"
#. *Set additional Initramfs variables on your main configuration:*
Additionally, on your main configuration (``local.conf``) you need to set the
variables::
INITRAMFS_MULTICONFIG = "initramfscfg"
INITRAMFS_DEPLOY_DIR_IMAGE = "${TOPDIR}/tmp-initramfscfg/deploy/images/${MACHINE}"
The variables :term:`INITRAMFS_MULTICONFIG` and :term:`INITRAMFS_DEPLOY_DIR_IMAGE`
are used to create a multiconfig dependency from the kernel to the :term:`INITRAMFS_IMAGE`
to be built coming from the ``initramfscfg`` multiconfig, and to let the
buildsystem know where the :term:`INITRAMFS_IMAGE` will be located.
Building a system with such configuration will build the kernel using the
main configuration but the :ref:`ref-tasks-bundle_initramfs` task will grab the
selected :term:`INITRAMFS_IMAGE` from :term:`INITRAMFS_DEPLOY_DIR_IMAGE`
instead, resulting in a musl based :term:`Initramfs` image bundled in the kernel
but a glibc based main image.
The same is applicable to avoid inheriting :term:`DISTRO_FEATURES` on :term:`INITRAMFS_IMAGE`
or to build a different :term:`DISTRO` for it such as ``poky-tiny``.
Building a Tiny System
======================
Very small distributions have some significant advantages such as
requiring less on-die or in-package memory (cheaper), better performance
through efficient cache usage, lower power requirements due to less
memory, faster boot times, and reduced development overhead. Some
real-world examples where a very small distribution gives you distinct
advantages are digital cameras, medical devices, and small headless
systems.
This section presents information that shows you how you can trim your
distribution to even smaller sizes than the ``poky-tiny`` distribution,
which is around 5 Mbytes, that can be built out-of-the-box using the
Yocto Project.
Tiny System Overview
--------------------
The following list presents the overall steps you need to consider and
perform to create distributions with smaller root filesystems, achieve
faster boot times, maintain your critical functionality, and avoid
initial RAM disks:
- :ref:`Determine your goals and guiding principles
<dev-manual/building:goals and guiding principles>`
- :ref:`dev-manual/building:understand what contributes to your image size`
- :ref:`Reduce the size of the root filesystem
<dev-manual/building:trim the root filesystem>`
- :ref:`Reduce the size of the kernel <dev-manual/building:trim the kernel>`
- :ref:`dev-manual/building:remove package management requirements`
- :ref:`dev-manual/building:look for other ways to minimize size`
- :ref:`dev-manual/building:iterate on the process`
Goals and Guiding Principles
----------------------------
Before you can reach your destination, you need to know where you are
going. Here is an example list that you can use as a guide when creating
very small distributions:
- Determine how much space you need (e.g. a kernel that is 1 Mbyte or
less and a root filesystem that is 3 Mbytes or less).
- Find the areas that are currently taking 90% of the space and
concentrate on reducing those areas.
- Do not create any difficult "hacks" to achieve your goals.
- Leverage the device-specific options.
- Work in a separate layer so that you keep changes isolated. For
information on how to create layers, see the
":ref:`dev-manual/layers:understanding and creating layers`" section.
Understand What Contributes to Your Image Size
----------------------------------------------
It is easiest to have something to start with when creating your own
distribution. You can use the Yocto Project out-of-the-box to create the
``poky-tiny`` distribution. Ultimately, you will want to make changes in
your own distribution that are likely modeled after ``poky-tiny``.
.. note::
To use ``poky-tiny`` in your build, set the :term:`DISTRO` variable in your
``local.conf`` file to "poky-tiny" as described in the
":ref:`dev-manual/custom-distribution:creating your own distribution`"
section.
Understanding some memory concepts will help you reduce the system size.
Memory consists of static, dynamic, and temporary memory. Static memory
is the TEXT (code), DATA (initialized data in the code), and BSS
(uninitialized data) sections. Dynamic memory represents memory that is
allocated at runtime: stacks, hash tables, and so forth. Temporary
memory is recovered after the boot process. This memory consists of
memory used for decompressing the kernel and for the ``__init__``
functions.
To help you see where you currently are with kernel and root filesystem
sizes, you can use two tools found in the :term:`Source Directory`
in the
``scripts/tiny/`` directory:
- ``ksize.py``: Reports component sizes for the kernel build objects.
- ``dirsize.py``: Reports component sizes for the root filesystem.
This next tool and command help you organize configuration fragments and
view file dependencies in a human-readable form:
- ``merge_config.sh``: Helps you manage configuration files and
fragments within the kernel. With this tool, you can merge individual
configuration fragments together. The tool allows you to make
overrides and warns you of any missing configuration options. The
tool is ideal for allowing you to iterate on configurations, create
minimal configurations, and create configuration files for different
machines without having to duplicate your process.
The ``merge_config.sh`` script is part of the Linux Yocto kernel Git
repositories (i.e. ``linux-yocto-3.14``, ``linux-yocto-3.10``,
``linux-yocto-3.8``, and so forth) in the ``scripts/kconfig``
directory.
For more information on configuration fragments, see the
":ref:`kernel-dev/common:creating configuration fragments`"
section in the Yocto Project Linux Kernel Development Manual.
- ``bitbake -u taskexp -g bitbake_target``: Using the BitBake command
with these options brings up a Dependency Explorer from which you can
view file dependencies. Understanding these dependencies allows you
to make informed decisions when cutting out various pieces of the
kernel and root filesystem.
Trim the Root Filesystem
------------------------
The root filesystem is made up of packages for booting, libraries, and
applications. To change things, you can configure how the packaging
happens, which changes the way you build them. You can also modify the
filesystem itself or select a different filesystem.
First, find out what is hogging your root filesystem by running the
``dirsize.py`` script from your root directory::
$ cd root-directory-of-image
$ dirsize.py 100000 > dirsize-100k.log
$ cat dirsize-100k.log
You can apply a filter to the script to ignore files
under a certain size. The previous example filters out any files below
100 Kbytes. The sizes reported by the tool are uncompressed, and thus
will be smaller by a relatively constant factor in a compressed root
filesystem. When you examine your log file, you can focus on areas of
the root filesystem that take up large amounts of memory.
You need to be sure that what you eliminate does not cripple the
functionality you need. One way to see how packages relate to each other
is by using the Dependency Explorer UI with the BitBake command::
$ cd image-directory
$ bitbake -u taskexp -g image
Use the interface to
select potential packages you wish to eliminate and see their dependency
relationships.
When deciding how to reduce the size, get rid of packages that result in
minimal impact on the feature set. For example, you might not need a VGA
display. Or, you might be able to get by with ``devtmpfs`` and ``mdev``
instead of ``udev``.
Use your ``local.conf`` file to make changes. For example, to eliminate
``udev`` and ``glib``, set the following in the local configuration
file::
VIRTUAL-RUNTIME_dev_manager = ""
Finally, you should consider exactly the type of root filesystem you
need to meet your needs while also reducing its size. For example,
consider ``cramfs``, ``squashfs``, ``ubifs``, ``ext2``, or an
:term:`Initramfs` using ``initramfs``. Be aware that ``ext3`` requires a 1
Mbyte journal. If you are okay with running read-only, you do not need
this journal.
.. note::
After each round of elimination, you need to rebuild your system and
then use the tools to see the effects of your reductions.
Trim the Kernel
---------------
The kernel is built by including policies for hardware-independent
aspects. What subsystems do you enable? For what architecture are you
building? Which drivers do you build by default?
.. note::
You can modify the kernel source if you want to help with boot time.
Run the ``ksize.py`` script from the top-level Linux build directory to
get an idea of what is making up the kernel::
$ cd top-level-linux-build-directory
$ ksize.py > ksize.log
$ cat ksize.log
When you examine the log, you will see how much space is taken up with
the built-in ``.o`` files for drivers, networking, core kernel files,
filesystem, sound, and so forth. The sizes reported by the tool are
uncompressed, and thus will be smaller by a relatively constant factor
in a compressed kernel image. Look to reduce the areas that are large
and taking up around the "90% rule."
To examine, or drill down, into any particular area, use the ``-d``
option with the script::
$ ksize.py -d > ksize.log
Using this option
breaks out the individual file information for each area of the kernel
(e.g. drivers, networking, and so forth).
Use your log file to see what you can eliminate from the kernel based on
features you can let go. For example, if you are not going to need
sound, you do not need any drivers that support sound.
After figuring out what to eliminate, you need to reconfigure the kernel
to reflect those changes during the next build. You could run
``menuconfig`` and make all your changes at once. However, that makes it
difficult to see the effects of your individual eliminations and also
makes it difficult to replicate the changes for perhaps another target
device. A better method is to start with no configurations using
``allnoconfig``, create configuration fragments for individual changes,
and then manage the fragments into a single configuration file using
``merge_config.sh``. The tool makes it easy for you to iterate using the
configuration change and build cycle.
Each time you make configuration changes, you need to rebuild the kernel
and check to see what impact your changes had on the overall size.
Remove Package Management Requirements
--------------------------------------
Packaging requirements add size to the image. One way to reduce the size
of the image is to remove all the packaging requirements from the image.
This reduction includes both removing the package manager and its unique
dependencies as well as removing the package management data itself.
To eliminate all the packaging requirements for an image, be sure that
"package-management" is not part of your
:term:`IMAGE_FEATURES`
statement for the image. When you remove this feature, you are removing
the package manager as well as its dependencies from the root
filesystem.
Look for Other Ways to Minimize Size
------------------------------------
Depending on your particular circumstances, other areas that you can
trim likely exist. The key to finding these areas is through tools and
methods described here combined with experimentation and iteration. Here
are a couple of areas to experiment with:
- ``glibc``: In general, follow this process:
#. Remove ``glibc`` features from
:term:`DISTRO_FEATURES`
that you think you do not need.
#. Build your distribution.
#. If the build fails due to missing symbols in a package, determine
if you can reconfigure the package to not need those features. For
example, change the configuration to not support wide character
support as is done for ``ncurses``. Or, if support for those
characters is needed, determine what ``glibc`` features provide
the support and restore the configuration.
4. Rebuild and repeat the process.
- ``busybox``: For BusyBox, use a process similar as described for
``glibc``. A difference is you will need to boot the resulting system
to see if you are able to do everything you expect from the running
system. You need to be sure to integrate configuration fragments into
Busybox because BusyBox handles its own core features and then allows
you to add configuration fragments on top.
Iterate on the Process
----------------------
If you have not reached your goals on system size, you need to iterate
on the process. The process is the same. Use the tools and see just what
is taking up 90% of the root filesystem and the kernel. Decide what you
can eliminate without limiting your device beyond what you need.
Depending on your system, a good place to look might be Busybox, which
provides a stripped down version of Unix tools in a single, executable
file. You might be able to drop virtual terminal services or perhaps
ipv6.
Building Images for More than One Machine
=========================================
A common scenario developers face is creating images for several
different machines that use the same software environment. In this
situation, it is tempting to set the tunings and optimization flags for
each build specifically for the targeted hardware (i.e. "maxing out" the
tunings). Doing so can considerably add to build times and package feed
maintenance collectively for the machines. For example, selecting tunes
that are extremely specific to a CPU core used in a system might enable
some micro optimizations in GCC for that particular system but would
otherwise not gain you much of a performance difference across the other
systems as compared to using a more general tuning across all the builds
(e.g. setting :term:`DEFAULTTUNE`
specifically for each machine's build). Rather than "max out" each
build's tunings, you can take steps that cause the OpenEmbedded build
system to reuse software across the various machines where it makes
sense.
If build speed and package feed maintenance are considerations, you
should consider the points in this section that can help you optimize
your tunings to best consider build times and package feed maintenance.
- *Share the :term:`Build Directory`:* If at all possible, share the
:term:`TMPDIR` across builds. The Yocto Project supports switching between
different :term:`MACHINE` values in the same :term:`TMPDIR`. This practice
is well supported and regularly used by developers when building for
multiple machines. When you use the same :term:`TMPDIR` for multiple
machine builds, the OpenEmbedded build system can reuse the existing native
and often cross-recipes for multiple machines. Thus, build time decreases.
.. note::
If :term:`DISTRO` settings change or fundamental configuration settings
such as the filesystem layout, you need to work with a clean :term:`TMPDIR`.
Sharing :term:`TMPDIR` under these circumstances might work but since it is
not guaranteed, you should use a clean :term:`TMPDIR`.
- *Enable the Appropriate Package Architecture:* By default, the
OpenEmbedded build system enables three levels of package
architectures: "all", "tune" or "package", and "machine". Any given
recipe usually selects one of these package architectures (types) for
its output. Depending for what a given recipe creates packages,
making sure you enable the appropriate package architecture can
directly impact the build time.
A recipe that just generates scripts can enable "all" architecture
because there are no binaries to build. To specifically enable "all"
architecture, be sure your recipe inherits the
:ref:`ref-classes-allarch` class.
This class is useful for "all" architectures because it configures
many variables so packages can be used across multiple architectures.
If your recipe needs to generate packages that are machine-specific
or when one of the build or runtime dependencies is already
machine-architecture dependent, which makes your recipe also
machine-architecture dependent, make sure your recipe enables the
"machine" package architecture through the
:term:`MACHINE_ARCH`
variable::
PACKAGE_ARCH = "${MACHINE_ARCH}"
When you do not
specifically enable a package architecture through the
:term:`PACKAGE_ARCH`, The
OpenEmbedded build system defaults to the
:term:`TUNE_PKGARCH` setting::
PACKAGE_ARCH = "${TUNE_PKGARCH}"
- *Choose a Generic Tuning File if Possible:* Some tunes are more
generic and can run on multiple targets (e.g. an ``armv5`` set of
packages could run on ``armv6`` and ``armv7`` processors in most
cases). Similarly, ``i486`` binaries could work on ``i586`` and
higher processors. You should realize, however, that advances on
newer processor versions would not be used.
If you select the same tune for several different machines, the
OpenEmbedded build system reuses software previously built, thus
speeding up the overall build time. Realize that even though a new
sysroot for each machine is generated, the software is not recompiled
and only one package feed exists.
- *Manage Granular Level Packaging:* Sometimes there are cases where
injecting another level of package architecture beyond the three
higher levels noted earlier can be useful. For example, consider how
NXP (formerly Freescale) allows for the easy reuse of binary packages
in their layer
:yocto_git:`meta-freescale </meta-freescale/>`.
In this example, the
:yocto_git:`fsl-dynamic-packagearch </meta-freescale/tree/classes/fsl-dynamic-packagearch.bbclass>`
class shares GPU packages for i.MX53 boards because all boards share
the AMD GPU. The i.MX6-based boards can do the same because all
boards share the Vivante GPU. This class inspects the BitBake
datastore to identify if the package provides or depends on one of
the sub-architecture values. If so, the class sets the
:term:`PACKAGE_ARCH` value
based on the ``MACHINE_SUBARCH`` value. If the package does not
provide or depend on one of the sub-architecture values but it
matches a value in the machine-specific filter, it sets
:term:`MACHINE_ARCH`. This
behavior reduces the number of packages built and saves build time by
reusing binaries.
- *Use Tools to Debug Issues:* Sometimes you can run into situations
where software is being rebuilt when you think it should not be. For
example, the OpenEmbedded build system might not be using shared
state between machines when you think it should be. These types of
situations are usually due to references to machine-specific
variables such as :term:`MACHINE`,
:term:`SERIAL_CONSOLES`,
:term:`XSERVER`,
:term:`MACHINE_FEATURES`,
and so forth in code that is supposed to only be tune-specific or
when the recipe depends
(:term:`DEPENDS`,
:term:`RDEPENDS`,
:term:`RRECOMMENDS`,
:term:`RSUGGESTS`, and so forth)
on some other recipe that already has
:term:`PACKAGE_ARCH` defined
as "${MACHINE_ARCH}".
.. note::
Patches to fix any issues identified are most welcome as these
issues occasionally do occur.
For such cases, you can use some tools to help you sort out the
situation:
- ``state-diff-machines.sh``*:* You can find this tool in the
``scripts`` directory of the Source Repositories. See the comments
in the script for information on how to use the tool.
- *BitBake's "-S printdiff" Option:* Using this option causes
BitBake to try to establish the closest signature match it can
(e.g. in the shared state cache) and then run ``bitbake-diffsigs``
over the matches to determine the stamps and delta where these two
stamp trees diverge.
Building Software from an External Source
=========================================
By default, the OpenEmbedded build system uses the :term:`Build Directory`
when building source code. The build process involves fetching the source
files, unpacking them, and then patching them if necessary before the build
takes place.
There are situations where you might want to build software from source
files that are external to and thus outside of the OpenEmbedded build
system. For example, suppose you have a project that includes a new BSP
with a heavily customized kernel. And, you want to minimize exposing the
build system to the development team so that they can focus on their
project and maintain everyone's workflow as much as possible. In this
case, you want a kernel source directory on the development machine
where the development occurs. You want the recipe's
:term:`SRC_URI` variable to point to
the external directory and use it as is, not copy it.
To build from software that comes from an external source, all you need to do
is inherit the :ref:`ref-classes-externalsrc` class and then set
the :term:`EXTERNALSRC` variable to point to your external source code. Here
are the statements to put in your ``local.conf`` file::
INHERIT += "externalsrc"
EXTERNALSRC:pn-myrecipe = "path-to-your-source-tree"
This next example shows how to accomplish the same thing by setting
:term:`EXTERNALSRC` in the recipe itself or in the recipe's append file::
EXTERNALSRC = "path"
EXTERNALSRC_BUILD = "path"
.. note::
In order for these settings to take effect, you must globally or
locally inherit the :ref:`ref-classes-externalsrc` class.
By default, :ref:`ref-classes-externalsrc` builds the source code in a
directory separate from the external source directory as specified by
:term:`EXTERNALSRC`. If you need
to have the source built in the same directory in which it resides, or
some other nominated directory, you can set
:term:`EXTERNALSRC_BUILD`
to point to that directory::
EXTERNALSRC_BUILD:pn-myrecipe = "path-to-your-source-tree"
Replicating a Build Offline
===========================
It can be useful to take a "snapshot" of upstream sources used in a
build and then use that "snapshot" later to replicate the build offline.
To do so, you need to first prepare and populate your downloads
directory your "snapshot" of files. Once your downloads directory is
ready, you can use it at any time and from any machine to replicate your
build.
Follow these steps to populate your Downloads directory:
#. *Create a Clean Downloads Directory:* Start with an empty downloads
directory (:term:`DL_DIR`). You
start with an empty downloads directory by either removing the files
in the existing directory or by setting :term:`DL_DIR` to point to either
an empty location or one that does not yet exist.
#. *Generate Tarballs of the Source Git Repositories:* Edit your
``local.conf`` configuration file as follows::
DL_DIR = "/home/your-download-dir/"
BB_GENERATE_MIRROR_TARBALLS = "1"
During
the fetch process in the next step, BitBake gathers the source files
and creates tarballs in the directory pointed to by :term:`DL_DIR`. See
the
:term:`BB_GENERATE_MIRROR_TARBALLS`
variable for more information.
#. *Populate Your Downloads Directory Without Building:* Use BitBake to
fetch your sources but inhibit the build::
$ bitbake target --runonly=fetch
The downloads directory (i.e. ``${DL_DIR}``) now has
a "snapshot" of the source files in the form of tarballs, which can
be used for the build.
#. *Optionally Remove Any Git or other SCM Subdirectories From the
Downloads Directory:* If you want, you can clean up your downloads
directory by removing any Git or other Source Control Management
(SCM) subdirectories such as ``${DL_DIR}/git2/*``. The tarballs
already contain these subdirectories.
Once your downloads directory has everything it needs regarding source
files, you can create your "own-mirror" and build your target.
Understand that you can use the files to build the target offline from
any machine and at any time.
Follow these steps to build your target using the files in the downloads
directory:
#. *Using Local Files Only:* Inside your ``local.conf`` file, add the
:term:`SOURCE_MIRROR_URL` variable, inherit the
:ref:`ref-classes-own-mirrors` class, and use the
:term:`BB_NO_NETWORK` variable to your ``local.conf``::
SOURCE_MIRROR_URL ?= "file:///home/your-download-dir/"
INHERIT += "own-mirrors"
BB_NO_NETWORK = "1"
The :term:`SOURCE_MIRROR_URL` and :ref:`ref-classes-own-mirrors`
class set up the system to use the downloads directory as your "own
mirror". Using the :term:`BB_NO_NETWORK` variable makes sure that
BitBake's fetching process in step 3 stays local, which means files
from your "own-mirror" are used.
#. *Start With a Clean Build:* You can start with a clean build by
removing the ``${``\ :term:`TMPDIR`\ ``}`` directory or using a new
:term:`Build Directory`.
#. *Build Your Target:* Use BitBake to build your target::
$ bitbake target
The build completes using the known local "snapshot" of source
files from your mirror. The resulting tarballs for your "snapshot" of
source files are in the downloads directory.
.. note::
The offline build does not work if recipes attempt to find the
latest version of software by setting
:term:`SRCREV` to
``${``\ :term:`AUTOREV`\ ``}``::
SRCREV = "${AUTOREV}"
When a recipe sets :term:`SRCREV` to
``${``\ :term:`AUTOREV`\ ``}``, the build system accesses the network in an
attempt to determine the latest version of software from the SCM.
Typically, recipes that use :term:`AUTOREV` are custom or modified
recipes. Recipes that reside in public repositories usually do not
use :term:`AUTOREV`.
If you do have recipes that use :term:`AUTOREV`, you can take steps to
still use the recipes in an offline build. Do the following:
#. Use a configuration generated by enabling :ref:`build
history <dev-manual/build-quality:maintaining build output quality>`.
#. Use the ``buildhistory-collect-srcrevs`` command to collect the
stored :term:`SRCREV` values from the build's history. For more
information on collecting these values, see the
":ref:`dev-manual/build-quality:build history package information`"
section.
#. Once you have the correct source revisions, you can modify
those recipes to set :term:`SRCREV` to specific versions of the
software.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,109 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Creating Your Own Distribution
******************************
When you build an image using the Yocto Project and do not alter any
distribution :term:`Metadata`, you are
creating a Poky distribution. If you wish to gain more control over
package alternative selections, compile-time options, and other
low-level configurations, you can create your own distribution.
To create your own distribution, the basic steps consist of creating
your own distribution layer, creating your own distribution
configuration file, and then adding any needed code and Metadata to the
layer. The following steps provide some more detail:
- *Create a layer for your new distro:* Create your distribution layer
so that you can keep your Metadata and code for the distribution
separate. It is strongly recommended that you create and use your own
layer for configuration and code. Using your own layer as compared to
just placing configurations in a ``local.conf`` configuration file
makes it easier to reproduce the same build configuration when using
multiple build machines. See the
":ref:`dev-manual/layers:creating a general layer using the \`\`bitbake-layers\`\` script`"
section for information on how to quickly set up a layer.
- *Create the distribution configuration file:* The distribution
configuration file needs to be created in the ``conf/distro``
directory of your layer. You need to name it using your distribution
name (e.g. ``mydistro.conf``).
.. note::
The :term:`DISTRO` variable in your ``local.conf`` file determines the
name of your distribution.
You can split out parts of your configuration file into include files
and then "require" them from within your distribution configuration
file. Be sure to place the include files in the
``conf/distro/include`` directory of your layer. A common example
usage of include files would be to separate out the selection of
desired version and revisions for individual recipes.
Your configuration file needs to set the following required
variables:
- :term:`DISTRO_NAME`
- :term:`DISTRO_VERSION`
These following variables are optional and you typically set them
from the distribution configuration file:
- :term:`DISTRO_FEATURES`
- :term:`DISTRO_EXTRA_RDEPENDS`
- :term:`DISTRO_EXTRA_RRECOMMENDS`
- :term:`TCLIBC`
.. tip::
If you want to base your distribution configuration file on the
very basic configuration from OE-Core, you can use
``conf/distro/defaultsetup.conf`` as a reference and just include
variables that differ as compared to ``defaultsetup.conf``.
Alternatively, you can create a distribution configuration file
from scratch using the ``defaultsetup.conf`` file or configuration files
from another distribution such as Poky as a reference.
- *Provide miscellaneous variables:* Be sure to define any other
variables for which you want to create a default or enforce as part
of the distribution configuration. You can include nearly any
variable from the ``local.conf`` file. The variables you use are not
limited to the list in the previous bulleted item.
- *Point to Your distribution configuration file:* In your ``local.conf``
file in the :term:`Build Directory`, set your :term:`DISTRO` variable to
point to your distribution's configuration file. For example, if your
distribution's configuration file is named ``mydistro.conf``, then
you point to it as follows::
DISTRO = "mydistro"
- *Add more to the layer if necessary:* Use your layer to hold other
information needed for the distribution:
- Add recipes for installing distro-specific configuration files
that are not already installed by another recipe. If you have
distro-specific configuration files that are included by an
existing recipe, you should add an append file (``.bbappend``) for
those. For general information and recommendations on how to add
recipes to your layer, see the
":ref:`dev-manual/layers:creating your own layer`" and
":ref:`dev-manual/layers:following best practices when creating layers`"
sections.
- Add any image recipes that are specific to your distribution.
- Add a ``psplash`` append file for a branded splash screen, using
the :term:`SPLASH_IMAGES` variable.
- Add any other append files to make custom changes that are
specific to individual recipes.
For information on append files, see the
":ref:`dev-manual/layers:appending other layers metadata with your layer`"
section.

View File

@@ -0,0 +1,72 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Creating a Custom Template Configuration Directory
**************************************************
If you are producing your own customized version of the build system for
use by other users, you might want to customize the message shown by the
setup script or you might want to change the template configuration
files (i.e. ``local.conf`` and ``bblayers.conf``) that are created in a
new build directory.
The OpenEmbedded build system uses the environment variable
``TEMPLATECONF`` to locate the directory from which it gathers
configuration information that ultimately ends up in the
:term:`Build Directory` ``conf`` directory.
By default, ``TEMPLATECONF`` is set as follows in the ``poky``
repository::
TEMPLATECONF=${TEMPLATECONF:-meta-poky/conf}
This is the
directory used by the build system to find templates from which to build
some key configuration files. If you look at this directory, you will
see the ``bblayers.conf.sample``, ``local.conf.sample``, and
``conf-notes.txt`` files. The build system uses these files to form the
respective ``bblayers.conf`` file, ``local.conf`` file, and display the
list of BitBake targets when running the setup script.
To override these default configuration files with configurations you
want used within every new Build Directory, simply set the
``TEMPLATECONF`` variable to your directory. The ``TEMPLATECONF``
variable is set in the ``.templateconf`` file, which is in the top-level
:term:`Source Directory` folder
(e.g. ``poky``). Edit the ``.templateconf`` so that it can locate your
directory.
Best practices dictate that you should keep your template configuration
directory in your custom distribution layer. For example, suppose you
have a layer named ``meta-mylayer`` located in your home directory and
you want your template configuration directory named ``myconf``.
Changing the ``.templateconf`` as follows causes the OpenEmbedded build
system to look in your directory and base its configuration files on the
``*.sample`` configuration files it finds. The final configuration files
(i.e. ``local.conf`` and ``bblayers.conf`` ultimately still end up in
your Build Directory, but they are based on your ``*.sample`` files.
::
TEMPLATECONF=${TEMPLATECONF:-meta-mylayer/myconf}
Aside from the ``*.sample`` configuration files, the ``conf-notes.txt``
also resides in the default ``meta-poky/conf`` directory. The script
that sets up the build environment (i.e.
:ref:`structure-core-script`) uses this file to
display BitBake targets as part of the script output. Customizing this
``conf-notes.txt`` file is a good way to make sure your list of custom
targets appears as part of the script's output.
Here is the default list of targets displayed as a result of running
either of the setup scripts::
You can now run 'bitbake <target>'
Common targets are:
core-image-minimal
core-image-sato
meta-toolchain
meta-ide-support
Changing the listed common targets is as easy as editing your version of
``conf-notes.txt`` in your custom template configuration directory and
making sure you have ``TEMPLATECONF`` set to your directory.

View File

@@ -0,0 +1,223 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Customizing Images
******************
You can customize images to satisfy particular requirements. This
section describes several methods and provides guidelines for each.
Customizing Images Using ``local.conf``
=======================================
Probably the easiest way to customize an image is to add a package by
way of the ``local.conf`` configuration file. Because it is limited to
local use, this method generally only allows you to add packages and is
not as flexible as creating your own customized image. When you add
packages using local variables this way, you need to realize that these
variable changes are in effect for every build and consequently affect
all images, which might not be what you require.
To add a package to your image using the local configuration file, use
the :term:`IMAGE_INSTALL` variable with the ``:append`` operator::
IMAGE_INSTALL:append = " strace"
Use of the syntax is important; specifically, the leading space
after the opening quote and before the package name, which is
``strace`` in this example. This space is required since the ``:append``
operator does not add the space.
Furthermore, you must use ``:append`` instead of the ``+=`` operator if
you want to avoid ordering issues. The reason for this is because doing
so unconditionally appends to the variable and avoids ordering problems
due to the variable being set in image recipes and ``.bbclass`` files
with operators like ``?=``. Using ``:append`` ensures the operation
takes effect.
As shown in its simplest use, ``IMAGE_INSTALL:append`` affects all
images. It is possible to extend the syntax so that the variable applies
to a specific image only. Here is an example::
IMAGE_INSTALL:append:pn-core-image-minimal = " strace"
This example adds ``strace`` to the ``core-image-minimal`` image only.
You can add packages using a similar approach through the
:term:`CORE_IMAGE_EXTRA_INSTALL` variable. If you use this variable, only
``core-image-*`` images are affected.
Customizing Images Using Custom ``IMAGE_FEATURES`` and ``EXTRA_IMAGE_FEATURES``
===============================================================================
Another method for customizing your image is to enable or disable
high-level image features by using the
:term:`IMAGE_FEATURES` and
:term:`EXTRA_IMAGE_FEATURES`
variables. Although the functions for both variables are nearly
equivalent, best practices dictate using :term:`IMAGE_FEATURES` from within
a recipe and using :term:`EXTRA_IMAGE_FEATURES` from within your
``local.conf`` file, which is found in the :term:`Build Directory`.
To understand how these features work, the best reference is
:ref:`meta/classes/image.bbclass <ref-classes-image>`.
This class lists out the available
:term:`IMAGE_FEATURES` of which most map to package groups while some, such
as ``debug-tweaks`` and ``read-only-rootfs``, resolve as general
configuration settings.
In summary, the file looks at the contents of the :term:`IMAGE_FEATURES`
variable and then maps or configures the feature accordingly. Based on
this information, the build system automatically adds the appropriate
packages or configurations to the
:term:`IMAGE_INSTALL` variable.
Effectively, you are enabling extra features by extending the class or
creating a custom class for use with specialized image ``.bb`` files.
Use the :term:`EXTRA_IMAGE_FEATURES` variable from within your local
configuration file. Using a separate area from which to enable features
with this variable helps you avoid overwriting the features in the image
recipe that are enabled with :term:`IMAGE_FEATURES`. The value of
:term:`EXTRA_IMAGE_FEATURES` is added to :term:`IMAGE_FEATURES` within
``meta/conf/bitbake.conf``.
To illustrate how you can use these variables to modify your image,
consider an example that selects the SSH server. The Yocto Project ships
with two SSH servers you can use with your images: Dropbear and OpenSSH.
Dropbear is a minimal SSH server appropriate for resource-constrained
environments, while OpenSSH is a well-known standard SSH server
implementation. By default, the ``core-image-sato`` image is configured
to use Dropbear. The ``core-image-full-cmdline`` and ``core-image-lsb``
images both include OpenSSH. The ``core-image-minimal`` image does not
contain an SSH server.
You can customize your image and change these defaults. Edit the
:term:`IMAGE_FEATURES` variable in your recipe or use the
:term:`EXTRA_IMAGE_FEATURES` in your ``local.conf`` file so that it
configures the image you are working with to include
``ssh-server-dropbear`` or ``ssh-server-openssh``.
.. note::
See the ":ref:`ref-manual/features:image features`" section in the Yocto
Project Reference Manual for a complete list of image features that ship
with the Yocto Project.
Customizing Images Using Custom .bb Files
=========================================
You can also customize an image by creating a custom recipe that defines
additional software as part of the image. The following example shows
the form for the two lines you need::
IMAGE_INSTALL = "packagegroup-core-x11-base package1 package2"
inherit core-image
Defining the software using a custom recipe gives you total control over
the contents of the image. It is important to use the correct names of
packages in the :term:`IMAGE_INSTALL` variable. You must use the
OpenEmbedded notation and not the Debian notation for the names (e.g.
``glibc-dev`` instead of ``libc6-dev``).
The other method for creating a custom image is to base it on an
existing image. For example, if you want to create an image based on
``core-image-sato`` but add the additional package ``strace`` to the
image, copy the ``meta/recipes-sato/images/core-image-sato.bb`` to a new
``.bb`` and add the following line to the end of the copy::
IMAGE_INSTALL += "strace"
Customizing Images Using Custom Package Groups
==============================================
For complex custom images, the best approach for customizing an image is
to create a custom package group recipe that is used to build the image
or images. A good example of a package group recipe is
``meta/recipes-core/packagegroups/packagegroup-base.bb``.
If you examine that recipe, you see that the :term:`PACKAGES` variable lists
the package group packages to produce. The ``inherit packagegroup``
statement sets appropriate default values and automatically adds
``-dev``, ``-dbg``, and ``-ptest`` complementary packages for each
package specified in the :term:`PACKAGES` statement.
.. note::
The ``inherit packagegroup`` line should be located near the top of the
recipe, certainly before the :term:`PACKAGES` statement.
For each package you specify in :term:`PACKAGES`, you can use :term:`RDEPENDS`
and :term:`RRECOMMENDS` entries to provide a list of packages the parent
task package should contain. You can see examples of these further down
in the ``packagegroup-base.bb`` recipe.
Here is a short, fabricated example showing the same basic pieces for a
hypothetical packagegroup defined in ``packagegroup-custom.bb``, where
the variable :term:`PN` is the standard way to abbreviate the reference to
the full packagegroup name ``packagegroup-custom``::
DESCRIPTION = "My Custom Package Groups"
inherit packagegroup
PACKAGES = "\
${PN}-apps \
${PN}-tools \
"
RDEPENDS:${PN}-apps = "\
dropbear \
portmap \
psplash"
RDEPENDS:${PN}-tools = "\
oprofile \
oprofileui-server \
lttng-tools"
RRECOMMENDS:${PN}-tools = "\
kernel-module-oprofile"
In the previous example, two package group packages are created with
their dependencies and their recommended package dependencies listed:
``packagegroup-custom-apps``, and ``packagegroup-custom-tools``. To
build an image using these package group packages, you need to add
``packagegroup-custom-apps`` and/or ``packagegroup-custom-tools`` to
:term:`IMAGE_INSTALL`. For other forms of image dependencies see the other
areas of this section.
Customizing an Image Hostname
=============================
By default, the configured hostname (i.e. ``/etc/hostname``) in an image
is the same as the machine name. For example, if
:term:`MACHINE` equals "qemux86", the
configured hostname written to ``/etc/hostname`` is "qemux86".
You can customize this name by altering the value of the "hostname"
variable in the ``base-files`` recipe using either an append file or a
configuration file. Use the following in an append file::
hostname = "myhostname"
Use the following in a configuration file::
hostname:pn-base-files = "myhostname"
Changing the default value of the variable "hostname" can be useful in
certain situations. For example, suppose you need to do extensive
testing on an image and you would like to easily identify the image
under test from existing images with typical default hostnames. In this
situation, you could change the default hostname to "testme", which
results in all the images using the name "testme". Once testing is
complete and you do not need to rebuild the image for test any longer,
you can easily reset the default hostname.
Another point of interest is that if you unset the variable, the image
will have no default hostname in the filesystem. Here is an example that
unsets the variable in a configuration file::
hostname:pn-base-files = ""
Having no default hostname in the filesystem is suitable for
environments that use dynamic hostnames such as virtual machines.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,82 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Using a Development Shell
*************************
When debugging certain commands or even when just editing packages,
``devshell`` can be a useful tool. When you invoke ``devshell``, all
tasks up to and including
:ref:`ref-tasks-patch` are run for the
specified target. Then, a new terminal is opened and you are placed in
``${``\ :term:`S`\ ``}``, the source
directory. In the new terminal, all the OpenEmbedded build-related
environment variables are still defined so you can use commands such as
``configure`` and ``make``. The commands execute just as if the
OpenEmbedded build system were executing them. Consequently, working
this way can be helpful when debugging a build or preparing software to
be used with the OpenEmbedded build system.
Following is an example that uses ``devshell`` on a target named
``matchbox-desktop``::
$ bitbake matchbox-desktop -c devshell
This command spawns a terminal with a shell prompt within the
OpenEmbedded build environment. The
:term:`OE_TERMINAL` variable
controls what type of shell is opened.
For spawned terminals, the following occurs:
- The ``PATH`` variable includes the cross-toolchain.
- The ``pkgconfig`` variables find the correct ``.pc`` files.
- The ``configure`` command finds the Yocto Project site files as well
as any other necessary files.
Within this environment, you can run configure or compile commands as if
they were being run by the OpenEmbedded build system itself. As noted
earlier, the working directory also automatically changes to the Source
Directory (:term:`S`).
To manually run a specific task using ``devshell``, run the
corresponding ``run.*`` script in the
``${``\ :term:`WORKDIR`\ ``}/temp``
directory (e.g., ``run.do_configure.``\ `pid`). If a task's script does
not exist, which would be the case if the task was skipped by way of the
sstate cache, you can create the task by first running it outside of the
``devshell``::
$ bitbake -c task
.. note::
- Execution of a task's ``run.*`` script and BitBake's execution of
a task are identical. In other words, running the script re-runs
the task just as it would be run using the ``bitbake -c`` command.
- Any ``run.*`` file that does not have a ``.pid`` extension is a
symbolic link (symlink) to the most recent version of that file.
Remember, that the ``devshell`` is a mechanism that allows you to get
into the BitBake task execution environment. And as such, all commands
must be called just as BitBake would call them. That means you need to
provide the appropriate options for cross-compilation and so forth as
applicable.
When you are finished using ``devshell``, exit the shell or close the
terminal window.
.. note::
- It is worth remembering that when using ``devshell`` you need to
use the full compiler name such as ``arm-poky-linux-gnueabi-gcc``
instead of just using ``gcc``. The same applies to other
applications such as ``binutils``, ``libtool`` and so forth.
BitBake sets up environment variables such as :term:`CC` to assist
applications, such as ``make`` to find the correct tools.
- It is also worth noting that ``devshell`` still works over X11
forwarding and similar situations.

View File

@@ -0,0 +1,74 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
.. _device-manager:
Selecting a Device Manager
**************************
The Yocto Project provides multiple ways to manage the device manager
(``/dev``):
- Persistent and Pre-Populated ``/dev``: For this case, the ``/dev``
directory is persistent and the required device nodes are created
during the build.
- Use ``devtmpfs`` with a Device Manager: For this case, the ``/dev``
directory is provided by the kernel as an in-memory file system and
is automatically populated by the kernel at runtime. Additional
configuration of device nodes is done in user space by a device
manager like ``udev`` or ``busybox-mdev``.
Using Persistent and Pre-Populated ``/dev``
===========================================
To use the static method for device population, you need to set the
:term:`USE_DEVFS` variable to "0"
as follows::
USE_DEVFS = "0"
The content of the resulting ``/dev`` directory is defined in a Device
Table file. The
:term:`IMAGE_DEVICE_TABLES`
variable defines the Device Table to use and should be set in the
machine or distro configuration file. Alternatively, you can set this
variable in your ``local.conf`` configuration file.
If you do not define the :term:`IMAGE_DEVICE_TABLES` variable, the default
``device_table-minimal.txt`` is used::
IMAGE_DEVICE_TABLES = "device_table-mymachine.txt"
The population is handled by the ``makedevs`` utility during image
creation:
Using ``devtmpfs`` and a Device Manager
=======================================
To use the dynamic method for device population, you need to use (or be
sure to set) the :term:`USE_DEVFS`
variable to "1", which is the default::
USE_DEVFS = "1"
With this
setting, the resulting ``/dev`` directory is populated by the kernel
using ``devtmpfs``. Make sure the corresponding kernel configuration
variable ``CONFIG_DEVTMPFS`` is set when building you build a Linux
kernel.
All devices created by ``devtmpfs`` will be owned by ``root`` and have
permissions ``0600``.
To have more control over the device nodes, you can use a device manager
like ``udev`` or ``busybox-mdev``. You choose the device manager by
defining the ``VIRTUAL-RUNTIME_dev_manager`` variable in your machine or
distro configuration file. Alternatively, you can set this variable in
your ``local.conf`` configuration file::
VIRTUAL-RUNTIME_dev_manager = "udev"
# Some alternative values
# VIRTUAL-RUNTIME_dev_manager = "busybox-mdev"
# VIRTUAL-RUNTIME_dev_manager = "systemd"

View File

@@ -0,0 +1,61 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Conserving Disk Space
*********************
Conserving Disk Space During Builds
===================================
To help conserve disk space during builds, you can add the following
statement to your project's ``local.conf`` configuration file found in
the :term:`Build Directory`::
INHERIT += "rm_work"
Adding this statement deletes the work directory used for
building a recipe once the recipe is built. For more information on
"rm_work", see the :ref:`ref-classes-rm-work` class in the
Yocto Project Reference Manual.
When you inherit this class and build a ``core-image-sato`` image for a
``qemux86-64`` machine from an Ubuntu 22.04 x86-64 system, you end up with a
final disk usage of 22 Gbytes instead of &MIN_DISK_SPACE; Gbytes. However,
&MIN_DISK_SPACE_RM_WORK; Gbytes of initial free disk space are still needed to
create temporary files before they can be deleted.
Purging Obsolete Shared State Cache Files
=========================================
After multiple build iterations, the Shared State (sstate) cache can contain
multiple cache files for a given package, consuming a substantial amount of
disk space. However, only the most recent ones are likely to be reused.
The following command is a quick way to purge all the cache files which
haven't been used for a least a specified number of days::
find build/sstate-cache -type f -mtime +$DAYS -delete
The above command relies on the fact that BitBake touches the sstate cache
files as it accesses them, when it has write access to the cache.
You could use ``-atime`` instead of ``-mtime`` if the partition isn't mounted
with the ``noatime`` option for a read only cache.
For more advanced needs, OpenEmbedded-Core also offers a more elaborate
command. It has the ability to purge all but the newest cache files on each
architecture, and also to remove files that it considers unreachable by
exploring a set of build configurations. However, this command
requires a full build environment to be available and doesn't work well
covering multiple releases. It won't work either on limited environments
such as BSD based NAS::
sstate-cache-management.sh --remove-duplicated --cache-dir=build/sstate-cache
This command will ask you to confirm the deletions it identifies.
Run ``sstate-cache-management.sh`` for more details about this script.
.. note::
As this command is much more cautious and selective, removing only cache files,
it will execute much slower than the simple ``find`` command described above.
Therefore, it may not be your best option to trim huge cache directories.

View File

@@ -0,0 +1,68 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Efficiently Fetching Source Files During a Build
================================================
The OpenEmbedded build system works with source files located through
the :term:`SRC_URI` variable. When
you build something using BitBake, a big part of the operation is
locating and downloading all the source tarballs. For images,
downloading all the source for various packages can take a significant
amount of time.
This section shows you how you can use mirrors to speed up fetching
source files and how you can pre-fetch files all of which leads to more
efficient use of resources and time.
Setting up Effective Mirrors
----------------------------
A good deal that goes into a Yocto Project build is simply downloading
all of the source tarballs. Maybe you have been working with another
build system for which you have built up a
sizable directory of source tarballs. Or, perhaps someone else has such
a directory for which you have read access. If so, you can save time by
adding statements to your configuration file so that the build process
checks local directories first for existing tarballs before checking the
Internet.
Here is an efficient way to set it up in your ``local.conf`` file::
SOURCE_MIRROR_URL ?= "file:///home/you/your-download-dir/"
INHERIT += "own-mirrors"
BB_GENERATE_MIRROR_TARBALLS = "1"
# BB_NO_NETWORK = "1"
In the previous example, the
:term:`BB_GENERATE_MIRROR_TARBALLS`
variable causes the OpenEmbedded build system to generate tarballs of
the Git repositories and store them in the
:term:`DL_DIR` directory. Due to
performance reasons, generating and storing these tarballs is not the
build system's default behavior.
You can also use the
:term:`PREMIRRORS` variable. For
an example, see the variable's glossary entry in the Yocto Project
Reference Manual.
Getting Source Files and Suppressing the Build
----------------------------------------------
Another technique you can use to ready yourself for a successive string
of build operations, is to pre-fetch all the source files without
actually starting a build. This technique lets you work through any
download issues and ultimately gathers all the source files into your
download directory :ref:`structure-build-downloads`,
which is located with :term:`DL_DIR`.
Use the following BitBake command form to fetch all the necessary
sources without starting the build::
$ bitbake target --runall=fetch
This
variation of the BitBake command guarantees that you have all the
sources for that BitBake target should you disconnect from the Internet
and want to do the build later offline.

View File

@@ -0,0 +1,84 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Using the Error Reporting Tool
******************************
The error reporting tool allows you to submit errors encountered during
builds to a central database. Outside of the build environment, you can
use a web interface to browse errors, view statistics, and query for
errors. The tool works using a client-server system where the client
portion is integrated with the installed Yocto Project
:term:`Source Directory` (e.g. ``poky``).
The server receives the information collected and saves it in a
database.
There is a live instance of the error reporting server at
https://errors.yoctoproject.org.
When you want to get help with build failures, you can submit all of the
information on the failure easily and then point to the URL in your bug
report or send an email to the mailing list.
.. note::
If you send error reports to this server, the reports become publicly
visible.
Enabling and Using the Tool
===========================
By default, the error reporting tool is disabled. You can enable it by
inheriting the :ref:`ref-classes-report-error` class by adding the
following statement to the end of your ``local.conf`` file in your
:term:`Build Directory`::
INHERIT += "report-error"
By default, the error reporting feature stores information in
``${``\ :term:`LOG_DIR`\ ``}/error-report``.
However, you can specify a directory to use by adding the following to
your ``local.conf`` file::
ERR_REPORT_DIR = "path"
Enabling error
reporting causes the build process to collect the errors and store them
in a file as previously described. When the build system encounters an
error, it includes a command as part of the console output. You can run
the command to send the error file to the server. For example, the
following command sends the errors to an upstream server::
$ send-error-report /home/brandusa/project/poky/build/tmp/log/error-report/error_report_201403141617.txt
In the previous example, the errors are sent to a public database
available at https://errors.yoctoproject.org, which is used by the
entire community. If you specify a particular server, you can send the
errors to a different database. Use the following command for more
information on available options::
$ send-error-report --help
When sending the error file, you are prompted to review the data being
sent as well as to provide a name and optional email address. Once you
satisfy these prompts, the command returns a link from the server that
corresponds to your entry in the database. For example, here is a
typical link: https://errors.yoctoproject.org/Errors/Details/9522/
Following the link takes you to a web interface where you can browse,
query the errors, and view statistics.
Disabling the Tool
==================
To disable the error reporting feature, simply remove or comment out the
following statement from the end of your ``local.conf`` file in your
:term:`Build Directory`::
INHERIT += "report-error"
Setting Up Your Own Error Reporting Server
==========================================
If you want to set up your own error reporting server, you can obtain
the code from the Git repository at :yocto_git:`/error-report-web/`.
Instructions on how to set it up are in the README document.

View File

@@ -0,0 +1,67 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Using an External SCM
*********************
If you're working on a recipe that pulls from an external Source Code
Manager (SCM), it is possible to have the OpenEmbedded build system
notice new recipe changes added to the SCM and then build the resulting
packages that depend on the new recipes by using the latest versions.
This only works for SCMs from which it is possible to get a sensible
revision number for changes. Currently, you can do this with Apache
Subversion (SVN), Git, and Bazaar (BZR) repositories.
To enable this behavior, the :term:`PV` of
the recipe needs to reference
:term:`SRCPV`. Here is an example::
PV = "1.2.3+git${SRCPV}"
Then, you can add the following to your
``local.conf``::
SRCREV:pn-PN = "${AUTOREV}"
:term:`PN` is the name of the recipe for
which you want to enable automatic source revision updating.
If you do not want to update your local configuration file, you can add
the following directly to the recipe to finish enabling the feature::
SRCREV = "${AUTOREV}"
The Yocto Project provides a distribution named ``poky-bleeding``, whose
configuration file contains the line::
require conf/distro/include/poky-floating-revisions.inc
This line pulls in the
listed include file that contains numerous lines of exactly that form::
#SRCREV:pn-opkg-native ?= "${AUTOREV}"
#SRCREV:pn-opkg-sdk ?= "${AUTOREV}"
#SRCREV:pn-opkg ?= "${AUTOREV}"
#SRCREV:pn-opkg-utils-native ?= "${AUTOREV}"
#SRCREV:pn-opkg-utils ?= "${AUTOREV}"
SRCREV:pn-gconf-dbus ?= "${AUTOREV}"
SRCREV:pn-matchbox-common ?= "${AUTOREV}"
SRCREV:pn-matchbox-config-gtk ?= "${AUTOREV}"
SRCREV:pn-matchbox-desktop ?= "${AUTOREV}"
SRCREV:pn-matchbox-keyboard ?= "${AUTOREV}"
SRCREV:pn-matchbox-panel-2 ?= "${AUTOREV}"
SRCREV:pn-matchbox-themes-extra ?= "${AUTOREV}"
SRCREV:pn-matchbox-terminal ?= "${AUTOREV}"
SRCREV:pn-matchbox-wm ?= "${AUTOREV}"
SRCREV:pn-settings-daemon ?= "${AUTOREV}"
SRCREV:pn-screenshot ?= "${AUTOREV}"
. . .
These lines allow you to
experiment with building a distribution that tracks the latest
development source for numerous packages.
.. note::
The ``poky-bleeding`` distribution is not tested on a regular basis. Keep
this in mind if you use it.

View File

@@ -0,0 +1,40 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Optionally Using an External Toolchain
**************************************
You might want to use an external toolchain as part of your development.
If this is the case, the fundamental steps you need to accomplish are as
follows:
- Understand where the installed toolchain resides. For cases where you
need to build the external toolchain, you would need to take separate
steps to build and install the toolchain.
- Make sure you add the layer that contains the toolchain to your
``bblayers.conf`` file through the
:term:`BBLAYERS` variable.
- Set the :term:`EXTERNAL_TOOLCHAIN` variable in your ``local.conf`` file
to the location in which you installed the toolchain.
The toolchain configuration is very flexible and customizable. It
is primarily controlled with the :term:`TCMODE` variable. This variable
controls which ``tcmode-*.inc`` file to include from the
``meta/conf/distro/include`` directory within the :term:`Source Directory`.
The default value of :term:`TCMODE` is "default", which tells the
OpenEmbedded build system to use its internally built toolchain (i.e.
``tcmode-default.inc``). However, other patterns are accepted. In
particular, "external-\*" refers to external toolchains. One example is
the Mentor Graphics Sourcery G++ Toolchain. Support for this toolchain resides
in the separate ``meta-sourcery`` layer at
https://github.com/MentorEmbedded/meta-sourcery/.
See its ``README`` file for details about how to use this layer.
Another example of external toolchain layer is
:yocto_git:`meta-arm-toolchain </meta-arm/tree/meta-arm-toolchain/>`
supporting GNU toolchains released by ARM.
You can find further information by reading about the :term:`TCMODE` variable
in the Yocto Project Reference Manual's variable glossary.

View File

@@ -0,0 +1,155 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Enabling GObject Introspection Support
**************************************
`GObject introspection <https://gi.readthedocs.io/en/latest/>`__
is the standard mechanism for accessing GObject-based software from
runtime environments. GObject is a feature of the GLib library that
provides an object framework for the GNOME desktop and related software.
GObject Introspection adds information to GObject that allows objects
created within it to be represented across different programming
languages. If you want to construct GStreamer pipelines using Python, or
control UPnP infrastructure using Javascript and GUPnP, GObject
introspection is the only way to do it.
This section describes the Yocto Project support for generating and
packaging GObject introspection data. GObject introspection data is a
description of the API provided by libraries built on top of the GLib
framework, and, in particular, that framework's GObject mechanism.
GObject Introspection Repository (GIR) files go to ``-dev`` packages,
``typelib`` files go to main packages as they are packaged together with
libraries that are introspected.
The data is generated when building such a library, by linking the
library with a small executable binary that asks the library to describe
itself, and then executing the binary and processing its output.
Generating this data in a cross-compilation environment is difficult
because the library is produced for the target architecture, but its
code needs to be executed on the build host. This problem is solved with
the OpenEmbedded build system by running the code through QEMU, which
allows precisely that. Unfortunately, QEMU does not always work
perfectly as mentioned in the ":ref:`dev-manual/gobject-introspection:known issues`"
section.
Enabling the Generation of Introspection Data
=============================================
Enabling the generation of introspection data (GIR files) in your
library package involves the following:
#. Inherit the :ref:`ref-classes-gobject-introspection` class.
#. Make sure introspection is not disabled anywhere in the recipe or
from anything the recipe includes. Also, make sure that
"gobject-introspection-data" is not in
:term:`DISTRO_FEATURES_BACKFILL_CONSIDERED`
and that "qemu-usermode" is not in
:term:`MACHINE_FEATURES_BACKFILL_CONSIDERED`.
In either of these conditions, nothing will happen.
#. Try to build the recipe. If you encounter build errors that look like
something is unable to find ``.so`` libraries, check where these
libraries are located in the source tree and add the following to the
recipe::
GIR_EXTRA_LIBS_PATH = "${B}/something/.libs"
.. note::
See recipes in the ``oe-core`` repository that use that
:term:`GIR_EXTRA_LIBS_PATH` variable as an example.
#. Look for any other errors, which probably mean that introspection
support in a package is not entirely standard, and thus breaks down
in a cross-compilation environment. For such cases, custom-made fixes
are needed. A good place to ask and receive help in these cases is
the :ref:`Yocto Project mailing
lists <resources-mailinglist>`.
.. note::
Using a library that no longer builds against the latest Yocto
Project release and prints introspection related errors is a good
candidate for the previous procedure.
Disabling the Generation of Introspection Data
==============================================
You might find that you do not want to generate introspection data. Or,
perhaps QEMU does not work on your build host and target architecture
combination. If so, you can use either of the following methods to
disable GIR file generations:
- Add the following to your distro configuration::
DISTRO_FEATURES_BACKFILL_CONSIDERED = "gobject-introspection-data"
Adding this statement disables generating introspection data using
QEMU but will still enable building introspection tools and libraries
(i.e. building them does not require the use of QEMU).
- Add the following to your machine configuration::
MACHINE_FEATURES_BACKFILL_CONSIDERED = "qemu-usermode"
Adding this statement disables the use of QEMU when building packages for your
machine. Currently, this feature is used only by introspection
recipes and has the same effect as the previously described option.
.. note::
Future releases of the Yocto Project might have other features
affected by this option.
If you disable introspection data, you can still obtain it through other
means such as copying the data from a suitable sysroot, or by generating
it on the target hardware. The OpenEmbedded build system does not
currently provide specific support for these techniques.
Testing that Introspection Works in an Image
============================================
Use the following procedure to test if generating introspection data is
working in an image:
#. Make sure that "gobject-introspection-data" is not in
:term:`DISTRO_FEATURES_BACKFILL_CONSIDERED`
and that "qemu-usermode" is not in
:term:`MACHINE_FEATURES_BACKFILL_CONSIDERED`.
#. Build ``core-image-sato``.
#. Launch a Terminal and then start Python in the terminal.
#. Enter the following in the terminal::
>>> from gi.repository import GLib
>>> GLib.get_host_name()
#. For something a little more advanced, enter the following see:
https://python-gtk-3-tutorial.readthedocs.io/en/latest/introduction.html
Known Issues
============
Here are know issues in GObject Introspection Support:
- ``qemu-ppc64`` immediately crashes. Consequently, you cannot build
introspection data on that architecture.
- x32 is not supported by QEMU. Consequently, introspection data is
disabled.
- musl causes transient GLib binaries to crash on assertion failures.
Consequently, generating introspection data is disabled.
- Because QEMU is not able to run the binaries correctly, introspection
is disabled for some specific packages under specific architectures
(e.g. ``gcr``, ``libsecret``, and ``webkit``).
- QEMU usermode might not work properly when running 64-bit binaries
under 32-bit host machines. In particular, "qemumips64" is known to
not work under i686.

View File

@@ -4,15 +4,49 @@
Yocto Project Development Tasks Manual
======================================
|
.. toctree::
:caption: Table of Contents
:numbered:
intro
start
common-tasks
layers
customizing-images
new-recipe
new-machine
upgrading-recipes
temporary-source-code
quilt.rst
development-shell
python-development-shell
building
speeding-up-build
libraries
prebuilt-libraries
x32-psabi
gobject-introspection
external-toolchain
wic
bmaptool
securing-images
custom-distribution
custom-template-configuration-directory
disk-space
packages
efficiently-fetching-sources
init-manager
device-manager
external-scm
read-only-rootfs
build-quality
runtime-testing
debugging
licenses
security-subjects
vulnerabilities
sbom
error-reporting-tool
wayland
qemu
.. include:: /boilerplate.rst

View File

@@ -0,0 +1,162 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
.. _init-manager:
Selecting an Initialization Manager
***********************************
By default, the Yocto Project uses :wikipedia:`SysVinit <Init#SysV-style>` as
the initialization manager. There is also support for BusyBox init, a simpler
implementation, as well as support for :wikipedia:`systemd <Systemd>`, which
is a full replacement for init with parallel starting of services, reduced
shell overhead, increased security and resource limits for services, and other
features that are used by many distributions.
Within the system, SysVinit and BusyBox init treat system components as
services. These services are maintained as shell scripts stored in the
``/etc/init.d/`` directory.
SysVinit is more elaborate than BusyBox init and organizes services in
different run levels. This organization is maintained by putting links
to the services in the ``/etc/rcN.d/`` directories, where `N/` is one
of the following options: "S", "0", "1", "2", "3", "4", "5", or "6".
.. note::
Each runlevel has a dependency on the previous runlevel. This
dependency allows the services to work properly.
Both SysVinit and BusyBox init are configured through the ``/etc/inittab``
file, with a very similar syntax, though of course BusyBox init features
are more limited.
In comparison, systemd treats components as units. Using units is a
broader concept as compared to using a service. A unit includes several
different types of entities. ``Service`` is one of the types of entities.
The runlevel concept in SysVinit corresponds to the concept of a target
in systemd, where target is also a type of supported unit.
In systems with SysVinit or BusyBox init, services load sequentially (i.e. one
by one) during init and parallelization is not supported. With systemd, services
start in parallel. This method can have an impact on the startup performance
of a given service, though systemd will also provide more services by default,
therefore increasing the total system boot time. systemd also substantially
increases system size because of its multiple components and the extra
dependencies it pulls.
On the contrary, BusyBox init is the simplest and the lightest solution and
also comes with BusyBox mdev as device manager, a lighter replacement to
:wikipedia:`udev <Udev>`, which SysVinit and systemd both use.
The ":ref:`device-manager`" chapter has more details about device managers.
Using SysVinit with udev
=========================
SysVinit with the udev device manager corresponds to the
default setting in Poky. This corresponds to setting::
INIT_MANAGER = "sysvinit"
Using BusyBox init with BusyBox mdev
====================================
BusyBox init with BusyBox mdev is the simplest and lightest solution
for small root filesystems. All you need is BusyBox, which most systems
have anyway::
INIT_MANAGER = "mdev-busybox"
Using systemd
=============
The last option is to use systemd together with the udev device
manager. This is the most powerful and versatile solution, especially
for more complex systems::
INIT_MANAGER = "systemd"
This will enable systemd and remove sysvinit components from the image.
See :yocto_git:`meta/conf/distro/include/init-manager-systemd.inc
</poky/tree/meta/conf/distro/include/init-manager-systemd.inc>` for exact
details on what this does.
Controling systemd from the target command line
-----------------------------------------------
Here is a quick reference for controling systemd from the command line on the
target. Instead of opening and sometimes modifying files, most interaction
happens through the ``systemctl`` and ``journalctl`` commands:
- ``systemctl status``: show the status of all services
- ``systemctl status <service>``: show the status of one service
- ``systemctl [start|stop] <service>``: start or stop a service
- ``systemctl [enable|disable] <service>``: enable or disable a service at boot time
- ``systemctl list-units``: list all available units
- ``journalctl -a``: show all logs for all services
- ``journalctl -f``: show only the last log entries, and keep printing updates as they arrive
- ``journalctl -u``: show only logs from a particular service
Using systemd-journald without a traditional syslog daemon
----------------------------------------------------------
Counter-intuitively, ``systemd-journald`` is not a syslog runtime or provider,
and the proper way to use ``systemd-journald`` as your sole logging mechanism is to
effectively disable syslog entirely by setting these variables in your distribution
configuration file::
VIRTUAL-RUNTIME_syslog = ""
VIRTUAL-RUNTIME_base-utils-syslog = ""
Doing so will prevent ``rsyslog`` / ``busybox-syslog`` from being pulled in by
default, leaving only ``systemd-journald``.
Summary
-------
The Yocto Project supports three different initialization managers, offering
increasing levels of complexity and functionality:
.. list-table::
:widths: 40 20 20 20
:header-rows: 1
* -
- BusyBox init
- SysVinit
- systemd
* - Size
- Small
- Small
- Big [#footnote-systemd-size]_
* - Complexity
- Small
- Medium
- High
* - Support for boot profiles
- No
- Yes ("runlevels")
- Yes ("targets")
* - Services defined as
- Shell scripts
- Shell scripts
- Description files
* - Starting services in parallel
- No
- No
- Yes
* - Setting service resource limits
- No
- No
- Yes
* - Support service isolation
- No
- No
- Yes
* - Integrated logging
- No
- No
- Yes
.. [#footnote-systemd-size] Using systemd increases the ``core-image-minimal``
image size by 160\% for ``qemux86-64`` on Mickledore (4.2), compared to SysVinit.

View File

@@ -0,0 +1,853 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Understanding and Creating Layers
*********************************
The OpenEmbedded build system supports organizing
:term:`Metadata` into multiple layers.
Layers allow you to isolate different types of customizations from each
other. For introductory information on the Yocto Project Layer Model,
see the
":ref:`overview-manual/yp-intro:the yocto project layer model`"
section in the Yocto Project Overview and Concepts Manual.
Creating Your Own Layer
=======================
.. note::
It is very easy to create your own layers to use with the OpenEmbedded
build system, as the Yocto Project ships with tools that speed up creating
layers. This section describes the steps you perform by hand to create
layers so that you can better understand them. For information about the
layer-creation tools, see the
":ref:`bsp-guide/bsp:creating a new bsp layer using the \`\`bitbake-layers\`\` script`"
section in the Yocto Project Board Support Package (BSP) Developer's
Guide and the ":ref:`dev-manual/layers:creating a general layer using the \`\`bitbake-layers\`\` script`"
section further down in this manual.
Follow these general steps to create your layer without using tools:
#. *Check Existing Layers:* Before creating a new layer, you should be
sure someone has not already created a layer containing the Metadata
you need. You can see the :oe_layerindex:`OpenEmbedded Metadata Index <>`
for a list of layers from the OpenEmbedded community that can be used in
the Yocto Project. You could find a layer that is identical or close
to what you need.
#. *Create a Directory:* Create the directory for your layer. When you
create the layer, be sure to create the directory in an area not
associated with the Yocto Project :term:`Source Directory`
(e.g. the cloned ``poky`` repository).
While not strictly required, prepend the name of the directory with
the string "meta-". For example::
meta-mylayer
meta-GUI_xyz
meta-mymachine
With rare exceptions, a layer's name follows this form::
meta-root_name
Following this layer naming convention can save
you trouble later when tools, components, or variables "assume" your
layer name begins with "meta-". A notable example is in configuration
files as shown in the following step where layer names without the
"meta-" string are appended to several variables used in the
configuration.
#. *Create a Layer Configuration File:* Inside your new layer folder,
you need to create a ``conf/layer.conf`` file. It is easiest to take
an existing layer configuration file and copy that to your layer's
``conf`` directory and then modify the file as needed.
The ``meta-yocto-bsp/conf/layer.conf`` file in the Yocto Project
:yocto_git:`Source Repositories </poky/tree/meta-yocto-bsp/conf>`
demonstrates the required syntax. For your layer, you need to replace
"yoctobsp" with a unique identifier for your layer (e.g. "machinexyz"
for a layer named "meta-machinexyz")::
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "yoctobsp"
BBFILE_PATTERN_yoctobsp = "^${LAYERDIR}/"
BBFILE_PRIORITY_yoctobsp = "5"
LAYERVERSION_yoctobsp = "4"
LAYERSERIES_COMPAT_yoctobsp = "dunfell"
Following is an explanation of the layer configuration file:
- :term:`BBPATH`: Adds the layer's
root directory to BitBake's search path. Through the use of the
:term:`BBPATH` variable, BitBake locates class files (``.bbclass``),
configuration files, and files that are included with ``include``
and ``require`` statements. For these cases, BitBake uses the
first file that matches the name found in :term:`BBPATH`. This is
similar to the way the ``PATH`` variable is used for binaries. It
is recommended, therefore, that you use unique class and
configuration filenames in your custom layer.
- :term:`BBFILES`: Defines the
location for all recipes in the layer.
- :term:`BBFILE_COLLECTIONS`:
Establishes the current layer through a unique identifier that is
used throughout the OpenEmbedded build system to refer to the
layer. In this example, the identifier "yoctobsp" is the
representation for the container layer named "meta-yocto-bsp".
- :term:`BBFILE_PATTERN`:
Expands immediately during parsing to provide the directory of the
layer.
- :term:`BBFILE_PRIORITY`:
Establishes a priority to use for recipes in the layer when the
OpenEmbedded build finds recipes of the same name in different
layers.
- :term:`LAYERVERSION`:
Establishes a version number for the layer. You can use this
version number to specify this exact version of the layer as a
dependency when using the
:term:`LAYERDEPENDS`
variable.
- :term:`LAYERDEPENDS`:
Lists all layers on which this layer depends (if any).
- :term:`LAYERSERIES_COMPAT`:
Lists the :yocto_wiki:`Yocto Project </Releases>`
releases for which the current version is compatible. This
variable is a good way to indicate if your particular layer is
current.
.. note::
A layer does not have to contain only recipes ``.bb`` or append files
``.bbappend``. Generally, developers create layers using
``bitbake-layers create-layer``.
See ":ref:`dev-manual/layers:creating a general layer using the \`\`bitbake-layers\`\` script`",
explaining how the ``layer.conf`` file is created from a template located in
``meta/lib/bblayers/templates/layer.conf``.
In fact, none of the variables set in ``layer.conf`` are mandatory,
except when :term:`BBFILE_COLLECTIONS` is present. In this case
:term:`LAYERSERIES_COMPAT` and :term:`BBFILE_PATTERN` have to be
defined too.
#. *Add Content:* Depending on the type of layer, add the content. If
the layer adds support for a machine, add the machine configuration
in a ``conf/machine/`` file within the layer. If the layer adds
distro policy, add the distro configuration in a ``conf/distro/``
file within the layer. If the layer introduces new recipes, put the
recipes you need in ``recipes-*`` subdirectories within the layer.
.. note::
For an explanation of layer hierarchy that is compliant with the
Yocto Project, see the ":ref:`bsp-guide/bsp:example filesystem layout`"
section in the Yocto Project Board Support Package (BSP) Developer's Guide.
#. *Optionally Test for Compatibility:* If you want permission to use
the Yocto Project Compatibility logo with your layer or application
that uses your layer, perform the steps to apply for compatibility.
See the
":ref:`dev-manual/layers:making sure your layer is compatible with yocto project`"
section for more information.
Following Best Practices When Creating Layers
=============================================
To create layers that are easier to maintain and that will not impact
builds for other machines, you should consider the information in the
following list:
- *Avoid "Overlaying" Entire Recipes from Other Layers in Your
Configuration:* In other words, do not copy an entire recipe into
your layer and then modify it. Rather, use an append file
(``.bbappend``) to override only those parts of the original recipe
you need to modify.
- *Avoid Duplicating Include Files:* Use append files (``.bbappend``)
for each recipe that uses an include file. Or, if you are introducing
a new recipe that requires the included file, use the path relative
to the original layer directory to refer to the file. For example,
use ``require recipes-core/``\ `package`\ ``/``\ `file`\ ``.inc`` instead
of ``require`` `file`\ ``.inc``. If you're finding you have to overlay
the include file, it could indicate a deficiency in the include file
in the layer to which it originally belongs. If this is the case, you
should try to address that deficiency instead of overlaying the
include file. For example, you could address this by getting the
maintainer of the include file to add a variable or variables to make
it easy to override the parts needing to be overridden.
- *Structure Your Layers:* Proper use of overrides within append files
and placement of machine-specific files within your layer can ensure
that a build is not using the wrong Metadata and negatively impacting
a build for a different machine. Following are some examples:
- *Modify Variables to Support a Different Machine:* Suppose you
have a layer named ``meta-one`` that adds support for building
machine "one". To do so, you use an append file named
``base-files.bbappend`` and create a dependency on "foo" by
altering the :term:`DEPENDS`
variable::
DEPENDS = "foo"
The dependency is created during any
build that includes the layer ``meta-one``. However, you might not
want this dependency for all machines. For example, suppose you
are building for machine "two" but your ``bblayers.conf`` file has
the ``meta-one`` layer included. During the build, the
``base-files`` for machine "two" will also have the dependency on
``foo``.
To make sure your changes apply only when building machine "one",
use a machine override with the :term:`DEPENDS` statement::
DEPENDS:one = "foo"
You should follow the same strategy when using ``:append``
and ``:prepend`` operations::
DEPENDS:append:one = " foo"
DEPENDS:prepend:one = "foo "
As an actual example, here's a
snippet from the generic kernel include file ``linux-yocto.inc``,
wherein the kernel compile and link options are adjusted in the
case of a subset of the supported architectures::
DEPENDS:append:aarch64 = " libgcc"
KERNEL_CC:append:aarch64 = " ${TOOLCHAIN_OPTIONS}"
KERNEL_LD:append:aarch64 = " ${TOOLCHAIN_OPTIONS}"
DEPENDS:append:nios2 = " libgcc"
KERNEL_CC:append:nios2 = " ${TOOLCHAIN_OPTIONS}"
KERNEL_LD:append:nios2 = " ${TOOLCHAIN_OPTIONS}"
DEPENDS:append:arc = " libgcc"
KERNEL_CC:append:arc = " ${TOOLCHAIN_OPTIONS}"
KERNEL_LD:append:arc = " ${TOOLCHAIN_OPTIONS}"
KERNEL_FEATURES:append:qemuall=" features/debug/printk.scc"
- *Place Machine-Specific Files in Machine-Specific Locations:* When
you have a base recipe, such as ``base-files.bb``, that contains a
:term:`SRC_URI` statement to a
file, you can use an append file to cause the build to use your
own version of the file. For example, an append file in your layer
at ``meta-one/recipes-core/base-files/base-files.bbappend`` could
extend :term:`FILESPATH` using :term:`FILESEXTRAPATHS` as follows::
FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
The build for machine "one" will pick up your machine-specific file as
long as you have the file in
``meta-one/recipes-core/base-files/base-files/``. However, if you
are building for a different machine and the ``bblayers.conf``
file includes the ``meta-one`` layer and the location of your
machine-specific file is the first location where that file is
found according to :term:`FILESPATH`, builds for all machines will
also use that machine-specific file.
You can make sure that a machine-specific file is used for a
particular machine by putting the file in a subdirectory specific
to the machine. For example, rather than placing the file in
``meta-one/recipes-core/base-files/base-files/`` as shown above,
put it in ``meta-one/recipes-core/base-files/base-files/one/``.
Not only does this make sure the file is used only when building
for machine "one", but the build process locates the file more
quickly.
In summary, you need to place all files referenced from
:term:`SRC_URI` in a machine-specific subdirectory within the layer in
order to restrict those files to machine-specific builds.
- *Perform Steps to Apply for Yocto Project Compatibility:* If you want
permission to use the Yocto Project Compatibility logo with your
layer or application that uses your layer, perform the steps to apply
for compatibility. See the
":ref:`dev-manual/layers:making sure your layer is compatible with yocto project`"
section for more information.
- *Follow the Layer Naming Convention:* Store custom layers in a Git
repository that use the ``meta-layer_name`` format.
- *Group Your Layers Locally:* Clone your repository alongside other
cloned ``meta`` directories from the :term:`Source Directory`.
Making Sure Your Layer is Compatible With Yocto Project
=======================================================
When you create a layer used with the Yocto Project, it is advantageous
to make sure that the layer interacts well with existing Yocto Project
layers (i.e. the layer is compatible with the Yocto Project). Ensuring
compatibility makes the layer easy to be consumed by others in the Yocto
Project community and could allow you permission to use the Yocto
Project Compatible Logo.
.. note::
Only Yocto Project member organizations are permitted to use the
Yocto Project Compatible Logo. The logo is not available for general
use. For information on how to become a Yocto Project member
organization, see the :yocto_home:`Yocto Project Website <>`.
The Yocto Project Compatibility Program consists of a layer application
process that requests permission to use the Yocto Project Compatibility
Logo for your layer and application. The process consists of two parts:
#. Successfully passing a script (``yocto-check-layer``) that when run
against your layer, tests it against constraints based on experiences
of how layers have worked in the real world and where pitfalls have
been found. Getting a "PASS" result from the script is required for
successful compatibility registration.
#. Completion of an application acceptance form, which you can find at
:yocto_home:`/webform/yocto-project-compatible-registration`.
To be granted permission to use the logo, you need to satisfy the
following:
- Be able to check the box indicating that you got a "PASS" when
running the script against your layer.
- Answer "Yes" to the questions on the form or have an acceptable
explanation for any questions answered "No".
- Be a Yocto Project Member Organization.
The remainder of this section presents information on the registration
form and on the ``yocto-check-layer`` script.
Yocto Project Compatible Program Application
--------------------------------------------
Use the form to apply for your layer's approval. Upon successful
application, you can use the Yocto Project Compatibility Logo with your
layer and the application that uses your layer.
To access the form, use this link:
:yocto_home:`/webform/yocto-project-compatible-registration`.
Follow the instructions on the form to complete your application.
The application consists of the following sections:
- *Contact Information:* Provide your contact information as the fields
require. Along with your information, provide the released versions
of the Yocto Project for which your layer is compatible.
- *Acceptance Criteria:* Provide "Yes" or "No" answers for each of the
items in the checklist. There is space at the bottom of the form for
any explanations for items for which you answered "No".
- *Recommendations:* Provide answers for the questions regarding Linux
kernel use and build success.
``yocto-check-layer`` Script
----------------------------
The ``yocto-check-layer`` script provides you a way to assess how
compatible your layer is with the Yocto Project. You should run this
script prior to using the form to apply for compatibility as described
in the previous section. You need to achieve a "PASS" result in order to
have your application form successfully processed.
The script divides tests into three areas: COMMON, BSP, and DISTRO. For
example, given a distribution layer (DISTRO), the layer must pass both
the COMMON and DISTRO related tests. Furthermore, if your layer is a BSP
layer, the layer must pass the COMMON and BSP set of tests.
To execute the script, enter the following commands from your build
directory::
$ source oe-init-build-env
$ yocto-check-layer your_layer_directory
Be sure to provide the actual directory for your
layer as part of the command.
Entering the command causes the script to determine the type of layer
and then to execute a set of specific tests against the layer. The
following list overviews the test:
- ``common.test_readme``: Tests if a ``README`` file exists in the
layer and the file is not empty.
- ``common.test_parse``: Tests to make sure that BitBake can parse the
files without error (i.e. ``bitbake -p``).
- ``common.test_show_environment``: Tests that the global or per-recipe
environment is in order without errors (i.e. ``bitbake -e``).
- ``common.test_world``: Verifies that ``bitbake world`` works.
- ``common.test_signatures``: Tests to be sure that BSP and DISTRO
layers do not come with recipes that change signatures.
- ``common.test_layerseries_compat``: Verifies layer compatibility is
set properly.
- ``bsp.test_bsp_defines_machines``: Tests if a BSP layer has machine
configurations.
- ``bsp.test_bsp_no_set_machine``: Tests to ensure a BSP layer does not
set the machine when the layer is added.
- ``bsp.test_machine_world``: Verifies that ``bitbake world`` works
regardless of which machine is selected.
- ``bsp.test_machine_signatures``: Verifies that building for a
particular machine affects only the signature of tasks specific to
that machine.
- ``distro.test_distro_defines_distros``: Tests if a DISTRO layer has
distro configurations.
- ``distro.test_distro_no_set_distros``: Tests to ensure a DISTRO layer
does not set the distribution when the layer is added.
Enabling Your Layer
===================
Before the OpenEmbedded build system can use your new layer, you need to
enable it. To enable your layer, simply add your layer's path to the
:term:`BBLAYERS` variable in your ``conf/bblayers.conf`` file, which is
found in the :term:`Build Directory`. The following example shows how to
enable your new ``meta-mylayer`` layer (note how your new layer exists
outside of the official ``poky`` repository which you would have checked
out earlier)::
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
/home/user/poky/meta \
/home/user/poky/meta-poky \
/home/user/poky/meta-yocto-bsp \
/home/user/mystuff/meta-mylayer \
"
BitBake parses each ``conf/layer.conf`` file from the top down as
specified in the :term:`BBLAYERS` variable within the ``conf/bblayers.conf``
file. During the processing of each ``conf/layer.conf`` file, BitBake
adds the recipes, classes and configurations contained within the
particular layer to the source directory.
Appending Other Layers Metadata With Your Layer
===============================================
A recipe that appends Metadata to another recipe is called a BitBake
append file. A BitBake append file uses the ``.bbappend`` file type
suffix, while the corresponding recipe to which Metadata is being
appended uses the ``.bb`` file type suffix.
You can use a ``.bbappend`` file in your layer to make additions or
changes to the content of another layer's recipe without having to copy
the other layer's recipe into your layer. Your ``.bbappend`` file
resides in your layer, while the main ``.bb`` recipe file to which you
are appending Metadata resides in a different layer.
Being able to append information to an existing recipe not only avoids
duplication, but also automatically applies recipe changes from a
different layer into your layer. If you were copying recipes, you would
have to manually merge changes as they occur.
When you create an append file, you must use the same root name as the
corresponding recipe file. For example, the append file
``someapp_3.1.bbappend`` must apply to ``someapp_3.1.bb``. This
means the original recipe and append filenames are version
number-specific. If the corresponding recipe is renamed to update to a
newer version, you must also rename and possibly update the
corresponding ``.bbappend`` as well. During the build process, BitBake
displays an error on starting if it detects a ``.bbappend`` file that
does not have a corresponding recipe with a matching name. See the
:term:`BB_DANGLINGAPPENDS_WARNONLY`
variable for information on how to handle this error.
Overlaying a File Using Your Layer
----------------------------------
As an example, consider the main formfactor recipe and a corresponding
formfactor append file both from the :term:`Source Directory`.
Here is the main
formfactor recipe, which is named ``formfactor_0.0.bb`` and located in
the "meta" layer at ``meta/recipes-bsp/formfactor``::
SUMMARY = "Device formfactor information"
DESCRIPTION = "A formfactor configuration file provides information about the \
target hardware for which the image is being built and information that the \
build system cannot obtain from other sources such as the kernel."
SECTION = "base"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PR = "r45"
SRC_URI = "file://config file://machconfig"
S = "${WORKDIR}"
PACKAGE_ARCH = "${MACHINE_ARCH}"
INHIBIT_DEFAULT_DEPS = "1"
do_install() {
# Install file only if it has contents
install -d ${D}${sysconfdir}/formfactor/
install -m 0644 ${S}/config ${D}${sysconfdir}/formfactor/
if [ -s "${S}/machconfig" ]; then
install -m 0644 ${S}/machconfig ${D}${sysconfdir}/formfactor/
fi
}
In the main recipe, note the :term:`SRC_URI`
variable, which tells the OpenEmbedded build system where to find files
during the build.
Following is the append file, which is named ``formfactor_0.0.bbappend``
and is from the Raspberry Pi BSP Layer named ``meta-raspberrypi``. The
file is in the layer at ``recipes-bsp/formfactor``::
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
By default, the build system uses the
:term:`FILESPATH` variable to
locate files. This append file extends the locations by setting the
:term:`FILESEXTRAPATHS`
variable. Setting this variable in the ``.bbappend`` file is the most
reliable and recommended method for adding directories to the search
path used by the build system to find files.
The statement in this example extends the directories to include
``${``\ :term:`THISDIR`\ ``}/${``\ :term:`PN`\ ``}``,
which resolves to a directory named ``formfactor`` in the same directory
in which the append file resides (i.e.
``meta-raspberrypi/recipes-bsp/formfactor``. This implies that you must
have the supporting directory structure set up that will contain any
files or patches you will be including from the layer.
Using the immediate expansion assignment operator ``:=`` is important
because of the reference to :term:`THISDIR`. The trailing colon character is
important as it ensures that items in the list remain colon-separated.
.. note::
BitBake automatically defines the :term:`THISDIR` variable. You should
never set this variable yourself. Using ":prepend" as part of the
:term:`FILESEXTRAPATHS` ensures your path will be searched prior to other
paths in the final list.
Also, not all append files add extra files. Many append files simply
allow to add build options (e.g. ``systemd``). For these cases, your
append file would not even use the :term:`FILESEXTRAPATHS` statement.
The end result of this ``.bbappend`` file is that on a Raspberry Pi, where
``rpi`` will exist in the list of :term:`OVERRIDES`, the file
``meta-raspberrypi/recipes-bsp/formfactor/formfactor/rpi/machconfig`` will be
used during :ref:`ref-tasks-fetch` and the test for a non-zero file size in
:ref:`ref-tasks-install` will return true, and the file will be installed.
Installing Additional Files Using Your Layer
--------------------------------------------
As another example, consider the main ``xserver-xf86-config`` recipe and a
corresponding ``xserver-xf86-config`` append file both from the :term:`Source
Directory`. Here is the main ``xserver-xf86-config`` recipe, which is named
``xserver-xf86-config_0.1.bb`` and located in the "meta" layer at
``meta/recipes-graphics/xorg-xserver``::
SUMMARY = "X.Org X server configuration file"
HOMEPAGE = "http://www.x.org"
SECTION = "x11/base"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PR = "r33"
SRC_URI = "file://xorg.conf"
S = "${WORKDIR}"
CONFFILES:${PN} = "${sysconfdir}/X11/xorg.conf"
PACKAGE_ARCH = "${MACHINE_ARCH}"
ALLOW_EMPTY:${PN} = "1"
do_install () {
if test -s ${WORKDIR}/xorg.conf; then
install -d ${D}/${sysconfdir}/X11
install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/
fi
}
Following is the append file, which is named ``xserver-xf86-config_%.bbappend``
and is from the Raspberry Pi BSP Layer named ``meta-raspberrypi``. The
file is in the layer at ``recipes-graphics/xorg-xserver``::
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI:append:rpi = " \
file://xorg.conf.d/98-pitft.conf \
file://xorg.conf.d/99-calibration.conf \
"
do_install:append:rpi () {
PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"
if [ "${PITFT}" = "1" ]; then
install -d ${D}/${sysconfdir}/X11/xorg.conf.d/
install -m 0644 ${WORKDIR}/xorg.conf.d/98-pitft.conf ${D}/${sysconfdir}/X11/xorg.conf.d/
install -m 0644 ${WORKDIR}/xorg.conf.d/99-calibration.conf ${D}/${sysconfdir}/X11/xorg.conf.d/
fi
}
FILES:${PN}:append:rpi = " ${sysconfdir}/X11/xorg.conf.d/*"
Building off of the previous example, we once again are setting the
:term:`FILESEXTRAPATHS` variable. In this case we are also using
:term:`SRC_URI` to list additional source files to use when ``rpi`` is found in
the list of :term:`OVERRIDES`. The :ref:`ref-tasks-install` task will then perform a
check for an additional :term:`MACHINE_FEATURES` that if set will cause these
additional files to be installed. These additional files are listed in
:term:`FILES` so that they will be packaged.
Prioritizing Your Layer
=======================
Each layer is assigned a priority value. Priority values control which
layer takes precedence if there are recipe files with the same name in
multiple layers. For these cases, the recipe file from the layer with a
higher priority number takes precedence. Priority values also affect the
order in which multiple ``.bbappend`` files for the same recipe are
applied. You can either specify the priority manually, or allow the
build system to calculate it based on the layer's dependencies.
To specify the layer's priority manually, use the
:term:`BBFILE_PRIORITY`
variable and append the layer's root name::
BBFILE_PRIORITY_mylayer = "1"
.. note::
It is possible for a recipe with a lower version number
:term:`PV` in a layer that has a higher
priority to take precedence.
Also, the layer priority does not currently affect the precedence
order of ``.conf`` or ``.bbclass`` files. Future versions of BitBake
might address this.
Managing Layers
===============
You can use the BitBake layer management tool ``bitbake-layers`` to
provide a view into the structure of recipes across a multi-layer
project. Being able to generate output that reports on configured layers
with their paths and priorities and on ``.bbappend`` files and their
applicable recipes can help to reveal potential problems.
For help on the BitBake layer management tool, use the following
command::
$ bitbake-layers --help
The following list describes the available commands:
- ``help:`` Displays general help or help on a specified command.
- ``show-layers:`` Shows the current configured layers.
- ``show-overlayed:`` Lists overlayed recipes. A recipe is overlayed
when a recipe with the same name exists in another layer that has a
higher layer priority.
- ``show-recipes:`` Lists available recipes and the layers that
provide them.
- ``show-appends:`` Lists ``.bbappend`` files and the recipe files to
which they apply.
- ``show-cross-depends:`` Lists dependency relationships between
recipes that cross layer boundaries.
- ``add-layer:`` Adds a layer to ``bblayers.conf``.
- ``remove-layer:`` Removes a layer from ``bblayers.conf``
- ``flatten:`` Flattens the layer configuration into a separate
output directory. Flattening your layer configuration builds a
"flattened" directory that contains the contents of all layers, with
any overlayed recipes removed and any ``.bbappend`` files appended to
the corresponding recipes. You might have to perform some manual
cleanup of the flattened layer as follows:
- Non-recipe files (such as patches) are overwritten. The flatten
command shows a warning for these files.
- Anything beyond the normal layer setup has been added to the
``layer.conf`` file. Only the lowest priority layer's
``layer.conf`` is used.
- Overridden and appended items from ``.bbappend`` files need to be
cleaned up. The contents of each ``.bbappend`` end up in the
flattened recipe. However, if there are appended or changed
variable values, you need to tidy these up yourself. Consider the
following example. Here, the ``bitbake-layers`` command adds the
line ``#### bbappended ...`` so that you know where the following
lines originate::
...
DESCRIPTION = "A useful utility"
...
EXTRA_OECONF = "--enable-something"
...
#### bbappended from meta-anotherlayer ####
DESCRIPTION = "Customized utility"
EXTRA_OECONF += "--enable-somethingelse"
Ideally, you would tidy up these utilities as follows::
...
DESCRIPTION = "Customized utility"
...
EXTRA_OECONF = "--enable-something --enable-somethingelse"
...
- ``layerindex-fetch``: Fetches a layer from a layer index, along
with its dependent layers, and adds the layers to the
``conf/bblayers.conf`` file.
- ``layerindex-show-depends``: Finds layer dependencies from the
layer index.
- ``create-layer``: Creates a basic layer.
Creating a General Layer Using the ``bitbake-layers`` Script
============================================================
The ``bitbake-layers`` script with the ``create-layer`` subcommand
simplifies creating a new general layer.
.. note::
- For information on BSP layers, see the ":ref:`bsp-guide/bsp:bsp layers`"
section in the Yocto
Project Board Specific (BSP) Developer's Guide.
- In order to use a layer with the OpenEmbedded build system, you
need to add the layer to your ``bblayers.conf`` configuration
file. See the ":ref:`dev-manual/layers:adding a layer using the \`\`bitbake-layers\`\` script`"
section for more information.
The default mode of the script's operation with this subcommand is to
create a layer with the following:
- A layer priority of 6.
- A ``conf`` subdirectory that contains a ``layer.conf`` file.
- A ``recipes-example`` subdirectory that contains a further
subdirectory named ``example``, which contains an ``example.bb``
recipe file.
- A ``COPYING.MIT``, which is the license statement for the layer. The
script assumes you want to use the MIT license, which is typical for
most layers, for the contents of the layer itself.
- A ``README`` file, which is a file describing the contents of your
new layer.
In its simplest form, you can use the following command form to create a
layer. The command creates a layer whose name corresponds to
"your_layer_name" in the current directory::
$ bitbake-layers create-layer your_layer_name
As an example, the following command creates a layer named ``meta-scottrif``
in your home directory::
$ cd /usr/home
$ bitbake-layers create-layer meta-scottrif
NOTE: Starting bitbake server...
Add your new layer with 'bitbake-layers add-layer meta-scottrif'
If you want to set the priority of the layer to other than the default
value of "6", you can either use the ``--priority`` option or you
can edit the
:term:`BBFILE_PRIORITY` value
in the ``conf/layer.conf`` after the script creates it. Furthermore, if
you want to give the example recipe file some name other than the
default, you can use the ``--example-recipe-name`` option.
The easiest way to see how the ``bitbake-layers create-layer`` command
works is to experiment with the script. You can also read the usage
information by entering the following::
$ bitbake-layers create-layer --help
NOTE: Starting bitbake server...
usage: bitbake-layers create-layer [-h] [--priority PRIORITY]
[--example-recipe-name EXAMPLERECIPE]
layerdir
Create a basic layer
positional arguments:
layerdir Layer directory to create
optional arguments:
-h, --help show this help message and exit
--priority PRIORITY, -p PRIORITY
Layer directory to create
--example-recipe-name EXAMPLERECIPE, -e EXAMPLERECIPE
Filename of the example recipe
Adding a Layer Using the ``bitbake-layers`` Script
==================================================
Once you create your general layer, you must add it to your
``bblayers.conf`` file. Adding the layer to this configuration file
makes the OpenEmbedded build system aware of your layer so that it can
search it for metadata.
Add your layer by using the ``bitbake-layers add-layer`` command::
$ bitbake-layers add-layer your_layer_name
Here is an example that adds a
layer named ``meta-scottrif`` to the configuration file. Following the
command that adds the layer is another ``bitbake-layers`` command that
shows the layers that are in your ``bblayers.conf`` file::
$ bitbake-layers add-layer meta-scottrif
NOTE: Starting bitbake server...
Parsing recipes: 100% |##########################################################| Time: 0:00:49
Parsing of 1441 .bb files complete (0 cached, 1441 parsed). 2055 targets, 56 skipped, 0 masked, 0 errors.
$ bitbake-layers show-layers
NOTE: Starting bitbake server...
layer path priority
==========================================================================
meta /home/scottrif/poky/meta 5
meta-poky /home/scottrif/poky/meta-poky 5
meta-yocto-bsp /home/scottrif/poky/meta-yocto-bsp 5
workspace /home/scottrif/poky/build/workspace 99
meta-scottrif /home/scottrif/poky/build/meta-scottrif 6
Adding the layer to this file
enables the build system to locate the layer during the build.
.. note::
During a build, the OpenEmbedded build system looks in the layers
from the top of the list down to the bottom in that order.

View File

@@ -0,0 +1,267 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Working With Libraries
**********************
Libraries are an integral part of your system. This section describes
some common practices you might find helpful when working with libraries
to build your system:
- :ref:`How to include static library files
<dev-manual/libraries:including static library files>`
- :ref:`How to use the Multilib feature to combine multiple versions of
library files into a single image
<dev-manual/libraries:combining multiple versions of library files into one image>`
- :ref:`How to install multiple versions of the same library in parallel on
the same system
<dev-manual/libraries:installing multiple versions of the same library>`
Including Static Library Files
==============================
If you are building a library and the library offers static linking, you
can control which static library files (``*.a`` files) get included in
the built library.
The :term:`PACKAGES` and
:term:`FILES:* <FILES>` variables in the
``meta/conf/bitbake.conf`` configuration file define how files installed
by the :ref:`ref-tasks-install` task are packaged. By default, the :term:`PACKAGES`
variable includes ``${PN}-staticdev``, which represents all static
library files.
.. note::
Some previously released versions of the Yocto Project defined the
static library files through ``${PN}-dev``.
Following is part of the BitBake configuration file, where you can see
how the static library files are defined::
PACKAGE_BEFORE_PN ?= ""
PACKAGES = "${PN}-src ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"
PACKAGES_DYNAMIC = "^${PN}-locale-.*"
FILES = ""
FILES:${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \
${sysconfdir} ${sharedstatedir} ${localstatedir} \
${base_bindir}/* ${base_sbindir}/* \
${base_libdir}/*${SOLIBS} \
${base_prefix}/lib/udev ${prefix}/lib/udev \
${base_libdir}/udev ${libdir}/udev \
${datadir}/${BPN} ${libdir}/${BPN}/* \
${datadir}/pixmaps ${datadir}/applications \
${datadir}/idl ${datadir}/omf ${datadir}/sounds \
${libdir}/bonobo/servers"
FILES:${PN}-bin = "${bindir}/* ${sbindir}/*"
FILES:${PN}-doc = "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc \
${datadir}/gnome/help"
SECTION:${PN}-doc = "doc"
FILES_SOLIBSDEV ?= "${base_libdir}/lib*${SOLIBSDEV} ${libdir}/lib*${SOLIBSDEV}"
FILES:${PN}-dev = "${includedir} ${FILES_SOLIBSDEV} ${libdir}/*.la \
${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig \
${datadir}/aclocal ${base_libdir}/*.o \
${libdir}/${BPN}/*.la ${base_libdir}/*.la \
${libdir}/cmake ${datadir}/cmake"
SECTION:${PN}-dev = "devel"
ALLOW_EMPTY:${PN}-dev = "1"
RDEPENDS:${PN}-dev = "${PN} (= ${EXTENDPKGV})"
FILES:${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a ${libdir}/${BPN}/*.a"
SECTION:${PN}-staticdev = "devel"
RDEPENDS:${PN}-staticdev = "${PN}-dev (= ${EXTENDPKGV})"
Combining Multiple Versions of Library Files into One Image
===========================================================
The build system offers the ability to build libraries with different
target optimizations or architecture formats and combine these together
into one system image. You can link different binaries in the image
against the different libraries as needed for specific use cases. This
feature is called "Multilib".
An example would be where you have most of a system compiled in 32-bit
mode using 32-bit libraries, but you have something large, like a
database engine, that needs to be a 64-bit application and uses 64-bit
libraries. Multilib allows you to get the best of both 32-bit and 64-bit
libraries.
While the Multilib feature is most commonly used for 32 and 64-bit
differences, the approach the build system uses facilitates different
target optimizations. You could compile some binaries to use one set of
libraries and other binaries to use a different set of libraries. The
libraries could differ in architecture, compiler options, or other
optimizations.
There are several examples in the ``meta-skeleton`` layer found in the
:term:`Source Directory`:
- :oe_git:`conf/multilib-example.conf </openembedded-core/tree/meta-skeleton/conf/multilib-example.conf>`
configuration file.
- :oe_git:`conf/multilib-example2.conf </openembedded-core/tree/meta-skeleton/conf/multilib-example2.conf>`
configuration file.
- :oe_git:`recipes-multilib/images/core-image-multilib-example.bb </openembedded-core/tree/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb>`
recipe
Preparing to Use Multilib
-------------------------
User-specific requirements drive the Multilib feature. Consequently,
there is no one "out-of-the-box" configuration that would
meet your needs.
In order to enable Multilib, you first need to ensure your recipe is
extended to support multiple libraries. Many standard recipes are
already extended and support multiple libraries. You can check in the
``meta/conf/multilib.conf`` configuration file in the
:term:`Source Directory` to see how this is
done using the
:term:`BBCLASSEXTEND` variable.
Eventually, all recipes will be covered and this list will not be
needed.
For the most part, the :ref:`Multilib <ref-classes-multilib*>`
class extension works automatically to
extend the package name from ``${PN}`` to ``${MLPREFIX}${PN}``, where
:term:`MLPREFIX` is the particular multilib (e.g. "lib32-" or "lib64-").
Standard variables such as
:term:`DEPENDS`,
:term:`RDEPENDS`,
:term:`RPROVIDES`,
:term:`RRECOMMENDS`,
:term:`PACKAGES`, and
:term:`PACKAGES_DYNAMIC` are
automatically extended by the system. If you are extending any manual
code in the recipe, you can use the ``${MLPREFIX}`` variable to ensure
those names are extended correctly.
Using Multilib
--------------
After you have set up the recipes, you need to define the actual
combination of multiple libraries you want to build. You accomplish this
through your ``local.conf`` configuration file in the
:term:`Build Directory`. An example configuration would be as follows::
MACHINE = "qemux86-64"
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE:virtclass-multilib-lib32 = "x86"
IMAGE_INSTALL:append = " lib32-glib-2.0"
This example enables an additional library named
``lib32`` alongside the normal target packages. When combining these
"lib32" alternatives, the example uses "x86" for tuning. For information
on this particular tuning, see
``meta/conf/machine/include/ia32/arch-ia32.inc``.
The example then includes ``lib32-glib-2.0`` in all the images, which
illustrates one method of including a multiple library dependency. You
can use a normal image build to include this dependency, for example::
$ bitbake core-image-sato
You can also build Multilib packages
specifically with a command like this::
$ bitbake lib32-glib-2.0
Additional Implementation Details
---------------------------------
There are generic implementation details as well as details that are specific to
package management systems. Following are implementation details
that exist regardless of the package management system:
- The typical convention used for the class extension code as used by
Multilib assumes that all package names specified in
:term:`PACKAGES` that contain
``${PN}`` have ``${PN}`` at the start of the name. When that
convention is not followed and ``${PN}`` appears at the middle or the
end of a name, problems occur.
- The :term:`TARGET_VENDOR`
value under Multilib will be extended to "-vendormlmultilib" (e.g.
"-pokymllib32" for a "lib32" Multilib with Poky). The reason for this
slightly unwieldy contraction is that any "-" characters in the
vendor string presently break Autoconf's ``config.sub``, and other
separators are problematic for different reasons.
Here are the implementation details for the RPM Package Management System:
- A unique architecture is defined for the Multilib packages, along
with creating a unique deploy folder under ``tmp/deploy/rpm`` in the
:term:`Build Directory`. For example, consider ``lib32`` in a
``qemux86-64`` image. The possible architectures in the system are "all",
"qemux86_64", "lib32:qemux86_64", and "lib32:x86".
- The ``${MLPREFIX}`` variable is stripped from ``${PN}`` during RPM
packaging. The naming for a normal RPM package and a Multilib RPM
package in a ``qemux86-64`` system resolves to something similar to
``bash-4.1-r2.x86_64.rpm`` and ``bash-4.1.r2.lib32_x86.rpm``,
respectively.
- When installing a Multilib image, the RPM backend first installs the
base image and then installs the Multilib libraries.
- The build system relies on RPM to resolve the identical files in the
two (or more) Multilib packages.
Here are the implementation details for the IPK Package Management System:
- The ``${MLPREFIX}`` is not stripped from ``${PN}`` during IPK
packaging. The naming for a normal RPM package and a Multilib IPK
package in a ``qemux86-64`` system resolves to something like
``bash_4.1-r2.x86_64.ipk`` and ``lib32-bash_4.1-rw:x86.ipk``,
respectively.
- The IPK deploy folder is not modified with ``${MLPREFIX}`` because
packages with and without the Multilib feature can exist in the same
folder due to the ``${PN}`` differences.
- IPK defines a sanity check for Multilib installation using certain
rules for file comparison, overridden, etc.
Installing Multiple Versions of the Same Library
================================================
There are be situations where you need to install and use multiple versions
of the same library on the same system at the same time. This
almost always happens when a library API changes and you have
multiple pieces of software that depend on the separate versions of the
library. To accommodate these situations, you can install multiple
versions of the same library in parallel on the same system.
The process is straightforward as long as the libraries use proper
versioning. With properly versioned libraries, all you need to do to
individually specify the libraries is create separate, appropriately
named recipes where the :term:`PN` part of
the name includes a portion that differentiates each library version
(e.g. the major part of the version number). Thus, instead of having a
single recipe that loads one version of a library (e.g. ``clutter``),
you provide multiple recipes that result in different versions of the
libraries you want. As an example, the following two recipes would allow
the two separate versions of the ``clutter`` library to co-exist on the
same system:
.. code-block:: none
clutter-1.6_1.6.20.bb
clutter-1.8_1.8.4.bb
Additionally, if
you have other recipes that depend on a given library, you need to use
the :term:`DEPENDS` variable to
create the dependency. Continuing with the same example, if you want to
have a recipe depend on the 1.8 version of the ``clutter`` library, use
the following in your recipe::
DEPENDS = "clutter-1.8"

View File

@@ -0,0 +1,539 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Working With Licenses
*********************
As mentioned in the ":ref:`overview-manual/development-environment:licensing`"
section in the Yocto Project Overview and Concepts Manual, open source
projects are open to the public and they consequently have different
licensing structures in place. This section describes the mechanism by
which the :term:`OpenEmbedded Build System`
tracks changes to
licensing text and covers how to maintain open source license compliance
during your project's lifecycle. The section also describes how to
enable commercially licensed recipes, which by default are disabled.
Tracking License Changes
========================
The license of an upstream project might change in the future. In order
to prevent these changes going unnoticed, the
:term:`LIC_FILES_CHKSUM`
variable tracks changes to the license text. The checksums are validated
at the end of the configure step, and if the checksums do not match, the
build will fail.
Specifying the ``LIC_FILES_CHKSUM`` Variable
--------------------------------------------
The :term:`LIC_FILES_CHKSUM` variable contains checksums of the license text
in the source code for the recipe. Following is an example of how to
specify :term:`LIC_FILES_CHKSUM`::
LIC_FILES_CHKSUM = "file://COPYING;md5=xxxx \
file://licfile1.txt;beginline=5;endline=29;md5=yyyy \
file://licfile2.txt;endline=50;md5=zzzz \
..."
.. note::
- When using "beginline" and "endline", realize that line numbering
begins with one and not zero. Also, the included lines are
inclusive (i.e. lines five through and including 29 in the
previous example for ``licfile1.txt``).
- When a license check fails, the selected license text is included
as part of the QA message. Using this output, you can determine
the exact start and finish for the needed license text.
The build system uses the :term:`S`
variable as the default directory when searching files listed in
:term:`LIC_FILES_CHKSUM`. The previous example employs the default
directory.
Consider this next example::
LIC_FILES_CHKSUM = "file://src/ls.c;beginline=5;endline=16;\
md5=bb14ed3c4cda583abc85401304b5cd4e"
LIC_FILES_CHKSUM = "file://${WORKDIR}/license.html;md5=5c94767cedb5d6987c902ac850ded2c6"
The first line locates a file in ``${S}/src/ls.c`` and isolates lines
five through 16 as license text. The second line refers to a file in
:term:`WORKDIR`.
Note that :term:`LIC_FILES_CHKSUM` variable is mandatory for all recipes,
unless the :term:`LICENSE` variable is set to "CLOSED".
Explanation of Syntax
---------------------
As mentioned in the previous section, the :term:`LIC_FILES_CHKSUM` variable
lists all the important files that contain the license text for the
source code. It is possible to specify a checksum for an entire file, or
a specific section of a file (specified by beginning and ending line
numbers with the "beginline" and "endline" parameters, respectively).
The latter is useful for source files with a license notice header,
README documents, and so forth. If you do not use the "beginline"
parameter, then it is assumed that the text begins on the first line of
the file. Similarly, if you do not use the "endline" parameter, it is
assumed that the license text ends with the last line of the file.
The "md5" parameter stores the md5 checksum of the license text. If the
license text changes in any way as compared to this parameter then a
mismatch occurs. This mismatch triggers a build failure and notifies the
developer. Notification allows the developer to review and address the
license text changes. Also note that if a mismatch occurs during the
build, the correct md5 checksum is placed in the build log and can be
easily copied to the recipe.
There is no limit to how many files you can specify using the
:term:`LIC_FILES_CHKSUM` variable. Generally, however, every project
requires a few specifications for license tracking. Many projects have a
"COPYING" file that stores the license information for all the source
code files. This practice allows you to just track the "COPYING" file as
long as it is kept up to date.
.. note::
- If you specify an empty or invalid "md5" parameter,
:term:`BitBake` returns an md5
mis-match error and displays the correct "md5" parameter value
during the build. The correct parameter is also captured in the
build log.
- If the whole file contains only license text, you do not need to
use the "beginline" and "endline" parameters.
Enabling Commercially Licensed Recipes
======================================
By default, the OpenEmbedded build system disables components that have
commercial or other special licensing requirements. Such requirements
are defined on a recipe-by-recipe basis through the
:term:`LICENSE_FLAGS` variable
definition in the affected recipe. For instance, the
``poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly`` recipe
contains the following statement::
LICENSE_FLAGS = "commercial"
Here is a
slightly more complicated example that contains both an explicit recipe
name and version (after variable expansion)::
LICENSE_FLAGS = "license_${PN}_${PV}"
In order for a component restricted by a
:term:`LICENSE_FLAGS` definition to be enabled and included in an image, it
needs to have a matching entry in the global
:term:`LICENSE_FLAGS_ACCEPTED`
variable, which is a variable typically defined in your ``local.conf``
file. For example, to enable the
``poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly`` package, you
could add either the string "commercial_gst-plugins-ugly" or the more
general string "commercial" to :term:`LICENSE_FLAGS_ACCEPTED`. See the
":ref:`dev-manual/licenses:license flag matching`" section for a full
explanation of how :term:`LICENSE_FLAGS` matching works. Here is the
example::
LICENSE_FLAGS_ACCEPTED = "commercial_gst-plugins-ugly"
Likewise, to additionally enable the package built from the recipe
containing ``LICENSE_FLAGS = "license_${PN}_${PV}"``, and assuming that
the actual recipe name was ``emgd_1.10.bb``, the following string would
enable that package as well as the original ``gst-plugins-ugly``
package::
LICENSE_FLAGS_ACCEPTED = "commercial_gst-plugins-ugly license_emgd_1.10"
As a convenience, you do not need to specify the
complete license string for every package. You can use
an abbreviated form, which consists of just the first portion or
portions of the license string before the initial underscore character
or characters. A partial string will match any license that contains the
given string as the first portion of its license. For example, the
following value will also match both of the packages
previously mentioned as well as any other packages that have licenses
starting with "commercial" or "license"::
LICENSE_FLAGS_ACCEPTED = "commercial license"
License Flag Matching
---------------------
License flag matching allows you to control what recipes the
OpenEmbedded build system includes in the build. Fundamentally, the
build system attempts to match :term:`LICENSE_FLAGS` strings found in
recipes against strings found in :term:`LICENSE_FLAGS_ACCEPTED`.
A match causes the build system to include a recipe in the
build, while failure to find a match causes the build system to exclude
a recipe.
In general, license flag matching is simple. However, understanding some
concepts will help you correctly and effectively use matching.
Before a flag defined by a particular recipe is tested against the
entries of :term:`LICENSE_FLAGS_ACCEPTED`, the expanded
string ``_${PN}`` is appended to the flag. This expansion makes each
:term:`LICENSE_FLAGS` value recipe-specific. After expansion, the
string is then matched against the entries. Thus, specifying
``LICENSE_FLAGS = "commercial"`` in recipe "foo", for example, results
in the string ``"commercial_foo"``. And, to create a match, that string
must appear among the entries of :term:`LICENSE_FLAGS_ACCEPTED`.
Judicious use of the :term:`LICENSE_FLAGS` strings and the contents of the
:term:`LICENSE_FLAGS_ACCEPTED` variable allows you a lot of flexibility for
including or excluding recipes based on licensing. For example, you can
broaden the matching capabilities by using license flags string subsets
in :term:`LICENSE_FLAGS_ACCEPTED`.
.. note::
When using a string subset, be sure to use the part of the expanded
string that precedes the appended underscore character (e.g.
``usethispart_1.3``, ``usethispart_1.4``, and so forth).
For example, simply specifying the string "commercial" in the
:term:`LICENSE_FLAGS_ACCEPTED` variable matches any expanded
:term:`LICENSE_FLAGS` definition that starts with the string
"commercial" such as "commercial_foo" and "commercial_bar", which
are the strings the build system automatically generates for
hypothetical recipes named "foo" and "bar" assuming those recipes simply
specify the following::
LICENSE_FLAGS = "commercial"
Thus, you can choose to exhaustively enumerate each license flag in the
list and allow only specific recipes into the image, or you can use a
string subset that causes a broader range of matches to allow a range of
recipes into the image.
This scheme works even if the :term:`LICENSE_FLAGS` string already has
``_${PN}`` appended. For example, the build system turns the license
flag "commercial_1.2_foo" into "commercial_1.2_foo_foo" and would match
both the general "commercial" and the specific "commercial_1.2_foo"
strings found in the :term:`LICENSE_FLAGS_ACCEPTED` variable, as expected.
Here are some other scenarios:
- You can specify a versioned string in the recipe such as
"commercial_foo_1.2" in a "foo" recipe. The build system expands this
string to "commercial_foo_1.2_foo". Combine this license flag with a
:term:`LICENSE_FLAGS_ACCEPTED` variable that has the string
"commercial" and you match the flag along with any other flag that
starts with the string "commercial".
- Under the same circumstances, you can add "commercial_foo" in the
:term:`LICENSE_FLAGS_ACCEPTED` variable and the build system not only
matches "commercial_foo_1.2" but also matches any license flag with
the string "commercial_foo", regardless of the version.
- You can be very specific and use both the package and version parts
in the :term:`LICENSE_FLAGS_ACCEPTED` list (e.g.
"commercial_foo_1.2") to specifically match a versioned recipe.
Other Variables Related to Commercial Licenses
----------------------------------------------
There are other helpful variables related to commercial license handling,
defined in the
``poky/meta/conf/distro/include/default-distrovars.inc`` file::
COMMERCIAL_AUDIO_PLUGINS ?= ""
COMMERCIAL_VIDEO_PLUGINS ?= ""
If you want to enable these components, you can do so by making sure you have
statements similar to the following in your ``local.conf`` configuration file::
COMMERCIAL_AUDIO_PLUGINS = "gst-plugins-ugly-mad \
gst-plugins-ugly-mpegaudioparse"
COMMERCIAL_VIDEO_PLUGINS = "gst-plugins-ugly-mpeg2dec \
gst-plugins-ugly-mpegstream gst-plugins-bad-mpegvideoparse"
LICENSE_FLAGS_ACCEPTED = "commercial_gst-plugins-ugly commercial_gst-plugins-bad commercial_qmmp"
Of course, you could also create a matching list for those components using the
more general "commercial" string in the :term:`LICENSE_FLAGS_ACCEPTED` variable,
but that would also enable all the other packages with :term:`LICENSE_FLAGS`
containing "commercial", which you may or may not want::
LICENSE_FLAGS_ACCEPTED = "commercial"
Specifying audio and video plugins as part of the
:term:`COMMERCIAL_AUDIO_PLUGINS` and :term:`COMMERCIAL_VIDEO_PLUGINS` statements
(along with :term:`LICENSE_FLAGS_ACCEPTED`) includes the plugins or
components into built images, thus adding support for media formats or
components.
.. note::
GStreamer "ugly" and "bad" plugins are actually available through
open source licenses. However, the "ugly" ones can be subject to software
patents in some countries, making it necessary to pay licensing fees
to distribute them. The "bad" ones are just deemed unreliable by the
GStreamer community and should therefore be used with care.
Maintaining Open Source License Compliance During Your Product's Lifecycle
==========================================================================
One of the concerns for a development organization using open source
software is how to maintain compliance with various open source
licensing during the lifecycle of the product. While this section does
not provide legal advice or comprehensively cover all scenarios, it does
present methods that you can use to assist you in meeting the compliance
requirements during a software release.
With hundreds of different open source licenses that the Yocto Project
tracks, it is difficult to know the requirements of each and every
license. However, the requirements of the major FLOSS licenses can begin
to be covered by assuming that there are three main areas of concern:
- Source code must be provided.
- License text for the software must be provided.
- Compilation scripts and modifications to the source code must be
provided.
- spdx files can be provided.
There are other requirements beyond the scope of these three and the
methods described in this section (e.g. the mechanism through which
source code is distributed).
As different organizations have different ways of releasing software,
there can be multiple ways of meeting license obligations. At
least, we describe here two methods for achieving compliance:
- The first method is to use OpenEmbedded's ability to provide
the source code, provide a list of licenses, as well as
compilation scripts and source code modifications.
The remainder of this section describes supported methods to meet
the previously mentioned three requirements.
- The second method is to generate a *Software Bill of Materials*
(:term:`SBoM`), as described in the ":doc:`/dev-manual/sbom`" section.
Not only do you generate :term:`SPDX` output which can be used meet
license compliance requirements (except for sharing the build system
and layers sources for the time being), but this output also includes
component version and patch information which can be used
for vulnerability assessment.
Whatever method you choose, prior to releasing images, sources,
and the build system, you should audit all artifacts to ensure
completeness.
.. note::
The Yocto Project generates a license manifest during image creation
that is located in
``${DEPLOY_DIR}/licenses/<image-name>-<machine>.rootfs-<datestamp>/``
to assist with any audits.
Providing the Source Code
-------------------------
Compliance activities should begin before you generate the final image.
The first thing you should look at is the requirement that tops the list
for most compliance groups --- providing the source. The Yocto Project has
a few ways of meeting this requirement.
One of the easiest ways to meet this requirement is to provide the
entire :term:`DL_DIR` used by the
build. This method, however, has a few issues. The most obvious is the
size of the directory since it includes all sources used in the build
and not just the source used in the released image. It will include
toolchain source, and other artifacts, which you would not generally
release. However, the more serious issue for most companies is
accidental release of proprietary software. The Yocto Project provides
an :ref:`ref-classes-archiver` class to help avoid some of these concerns.
Before you employ :term:`DL_DIR` or the :ref:`ref-classes-archiver` class, you
need to decide how you choose to provide source. The source
:ref:`ref-classes-archiver` class can generate tarballs and SRPMs and can
create them with various levels of compliance in mind.
One way of doing this (but certainly not the only way) is to release
just the source as a tarball. You can do this by adding the following to
the ``local.conf`` file found in the :term:`Build Directory`::
INHERIT += "archiver"
ARCHIVER_MODE[src] = "original"
During the creation of your
image, the source from all recipes that deploy packages to the image is
placed within subdirectories of ``DEPLOY_DIR/sources`` based on the
:term:`LICENSE` for each recipe.
Releasing the entire directory enables you to comply with requirements
concerning providing the unmodified source. It is important to note that
the size of the directory can get large.
A way to help mitigate the size issue is to only release tarballs for
licenses that require the release of source. Let us assume you are only
concerned with GPL code as identified by running the following script:
.. code-block:: shell
# Script to archive a subset of packages matching specific license(s)
# Source and license files are copied into sub folders of package folder
# Must be run from build folder
#!/bin/bash
src_release_dir="source-release"
mkdir -p $src_release_dir
for a in tmp/deploy/sources/*; do
for d in $a/*; do
# Get package name from path
p=`basename $d`
p=${p%-*}
p=${p%-*}
# Only archive GPL packages (update *GPL* regex for your license check)
numfiles=`ls tmp/deploy/licenses/$p/*GPL* 2> /dev/null | wc -l`
if [ $numfiles -ge 1 ]; then
echo Archiving $p
mkdir -p $src_release_dir/$p/source
cp $d/* $src_release_dir/$p/source 2> /dev/null
mkdir -p $src_release_dir/$p/license
cp tmp/deploy/licenses/$p/* $src_release_dir/$p/license 2> /dev/null
fi
done
done
At this point, you
could create a tarball from the ``gpl_source_release`` directory and
provide that to the end user. This method would be a step toward
achieving compliance with section 3a of GPLv2 and with section 6 of
GPLv3.
Providing License Text
~~~~~~~~~~~~~~~~~~~~~~
One requirement that is often overlooked is inclusion of license text.
This requirement also needs to be dealt with prior to generating the
final image. Some licenses require the license text to accompany the
binary. You can achieve this by adding the following to your
``local.conf`` file::
COPY_LIC_MANIFEST = "1"
COPY_LIC_DIRS = "1"
LICENSE_CREATE_PACKAGE = "1"
Adding these statements to the
configuration file ensures that the licenses collected during package
generation are included on your image.
.. note::
Setting all three variables to "1" results in the image having two
copies of the same license file. One copy resides in
``/usr/share/common-licenses`` and the other resides in
``/usr/share/license``.
The reason for this behavior is because
:term:`COPY_LIC_DIRS` and
:term:`COPY_LIC_MANIFEST`
add a copy of the license when the image is built but do not offer a
path for adding licenses for newly installed packages to an image.
:term:`LICENSE_CREATE_PACKAGE`
adds a separate package and an upgrade path for adding licenses to an
image.
As the source :ref:`ref-classes-archiver` class has already archived the
original unmodified source that contains the license files, you would have
already met the requirements for inclusion of the license information
with source as defined by the GPL and other open source licenses.
Providing Compilation Scripts and Source Code Modifications
-----------------------------------------------------------
At this point, we have addressed all we need prior to generating the
image. The next two requirements are addressed during the final
packaging of the release.
By releasing the version of the OpenEmbedded build system and the layers
used during the build, you will be providing both compilation scripts
and the source code modifications in one step.
If the deployment team has a :ref:`overview-manual/concepts:bsp layer`
and a distro layer, and those
those layers are used to patch, compile, package, or modify (in any way)
any open source software included in your released images, you might be
required to release those layers under section 3 of GPLv2 or section 1
of GPLv3. One way of doing that is with a clean checkout of the version
of the Yocto Project and layers used during your build. Here is an
example:
.. code-block:: shell
# We built using the dunfell branch of the poky repo
$ git clone -b dunfell git://git.yoctoproject.org/poky
$ cd poky
# We built using the release_branch for our layers
$ git clone -b release_branch git://git.mycompany.com/meta-my-bsp-layer
$ git clone -b release_branch git://git.mycompany.com/meta-my-software-layer
# clean up the .git repos
$ find . -name ".git" -type d -exec rm -rf {} \;
One
thing a development organization might want to consider for end-user
convenience is to modify ``meta-poky/conf/bblayers.conf.sample`` to
ensure that when the end user utilizes the released build system to
build an image, the development organization's layers are included in
the ``bblayers.conf`` file automatically::
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
##OEROOT##/meta \
##OEROOT##/meta-poky \
##OEROOT##/meta-yocto-bsp \
##OEROOT##/meta-mylayer \
"
Creating and
providing an archive of the :term:`Metadata`
layers (recipes, configuration files, and so forth) enables you to meet
your requirements to include the scripts to control compilation as well
as any modifications to the original source.
Compliance Limitations with Executables Built from Static Libraries
-------------------------------------------------------------------
When package A is added to an image via the :term:`RDEPENDS` or :term:`RRECOMMENDS`
mechanisms as well as explicitly included in the image recipe with
:term:`IMAGE_INSTALL`, and depends on a static linked library recipe B
(``DEPENDS += "B"``), package B will neither appear in the generated license
manifest nor in the generated source tarballs. This occurs as the
:ref:`ref-classes-license` and :ref:`ref-classes-archiver` classes assume that
only packages included via :term:`RDEPENDS` or :term:`RRECOMMENDS`
end up in the image.
As a result, potential obligations regarding license compliance for package B
may not be met.
The Yocto Project doesn't enable static libraries by default, in part because
of this issue. Before a solution to this limitation is found, you need to
keep in mind that if your root filesystem is built from static libraries,
you will need to manually ensure that your deliveries are compliant
with the licenses of these libraries.
Copying Non Standard Licenses
=============================
Some packages, such as the linux-firmware package, have many licenses
that are not in any way common. You can avoid adding a lot of these
types of common license files, which are only applicable to a specific
package, by using the
:term:`NO_GENERIC_LICENSE`
variable. Using this variable also avoids QA errors when you use a
non-common, non-CLOSED license in a recipe.
Here is an example that uses the ``LICENSE.Abilis.txt`` file as
the license from the fetched source::
NO_GENERIC_LICENSE[Firmware-Abilis] = "LICENSE.Abilis.txt"

View File

@@ -0,0 +1,118 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Adding a New Machine
====================
Adding a new machine to the Yocto Project is a straightforward process.
This section describes how to add machines that are similar to those
that the Yocto Project already supports.
.. note::
Although well within the capabilities of the Yocto Project, adding a
totally new architecture might require changes to ``gcc``/``glibc``
and to the site information, which is beyond the scope of this
manual.
For a complete example that shows how to add a new machine, see the
":ref:`bsp-guide/bsp:creating a new bsp layer using the \`\`bitbake-layers\`\` script`"
section in the Yocto Project Board Support Package (BSP) Developer's
Guide.
Adding the Machine Configuration File
=====================================
To add a new machine, you need to add a new machine configuration file
to the layer's ``conf/machine`` directory. This configuration file
provides details about the device you are adding.
The OpenEmbedded build system uses the root name of the machine
configuration file to reference the new machine. For example, given a
machine configuration file named ``crownbay.conf``, the build system
recognizes the machine as "crownbay".
The most important variables you must set in your machine configuration
file or include from a lower-level configuration file are as follows:
- :term:`TARGET_ARCH` (e.g. "arm")
- ``PREFERRED_PROVIDER_virtual/kernel``
- :term:`MACHINE_FEATURES` (e.g. "apm screen wifi")
You might also need these variables:
- :term:`SERIAL_CONSOLES` (e.g. "115200;ttyS0 115200;ttyS1")
- :term:`KERNEL_IMAGETYPE` (e.g. "zImage")
- :term:`IMAGE_FSTYPES` (e.g. "tar.gz jffs2")
You can find full details on these variables in the reference section.
You can leverage existing machine ``.conf`` files from
``meta-yocto-bsp/conf/machine/``.
Adding a Kernel for the Machine
===============================
The OpenEmbedded build system needs to be able to build a kernel for the
machine. You need to either create a new kernel recipe for this machine,
or extend an existing kernel recipe. You can find several kernel recipe
examples in the Source Directory at ``meta/recipes-kernel/linux`` that
you can use as references.
If you are creating a new kernel recipe, normal recipe-writing rules
apply for setting up a :term:`SRC_URI`. Thus, you need to specify any
necessary patches and set :term:`S` to point at the source code. You need to
create a :ref:`ref-tasks-configure` task that configures the unpacked kernel with
a ``defconfig`` file. You can do this by using a ``make defconfig``
command or, more commonly, by copying in a suitable ``defconfig`` file
and then running ``make oldconfig``. By making use of ``inherit kernel``
and potentially some of the ``linux-*.inc`` files, most other
functionality is centralized and the defaults of the class normally work
well.
If you are extending an existing kernel recipe, it is usually a matter
of adding a suitable ``defconfig`` file. The file needs to be added into
a location similar to ``defconfig`` files used for other machines in a
given kernel recipe. A possible way to do this is by listing the file in
the :term:`SRC_URI` and adding the machine to the expression in
:term:`COMPATIBLE_MACHINE`::
COMPATIBLE_MACHINE = '(qemux86|qemumips)'
For more information on ``defconfig`` files, see the
":ref:`kernel-dev/common:changing the configuration`"
section in the Yocto Project Linux Kernel Development Manual.
Adding a Formfactor Configuration File
======================================
A formfactor configuration file provides information about the target
hardware for which the image is being built and information that the
build system cannot obtain from other sources such as the kernel. Some
examples of information contained in a formfactor configuration file
include framebuffer orientation, whether or not the system has a
keyboard, the positioning of the keyboard in relation to the screen, and
the screen resolution.
The build system uses reasonable defaults in most cases. However, if
customization is necessary, you need to create a ``machconfig`` file in
the ``meta/recipes-bsp/formfactor/files`` directory. This directory
contains directories for specific machines such as ``qemuarm`` and
``qemux86``. For information about the settings available and the
defaults, see the ``meta/recipes-bsp/formfactor/files/config`` file
found in the same area.
Following is an example for "qemuarm" machine::
HAVE_TOUCHSCREEN=1
HAVE_KEYBOARD=1
DISPLAY_CAN_ROTATE=0
DISPLAY_ORIENTATION=0
#DISPLAY_WIDTH_PIXELS=640
#DISPLAY_HEIGHT_PIXELS=480
#DISPLAY_BPP=16
DISPLAY_DPI=150
DISPLAY_SUBPIXEL_ORDER=vrgb

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,209 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Working with Pre-Built Libraries
********************************
Introduction
============
Some library vendors do not release source code for their software but do
release pre-built binaries. When shared libraries are built, they should
be versioned (see `this article
<https://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html>`__
for some background), but sometimes this is not done.
To summarize, a versioned library must meet two conditions:
#. The filename must have the version appended, for example: ``libfoo.so.1.2.3``.
#. The library must have the ELF tag ``SONAME`` set to the major version
of the library, for example: ``libfoo.so.1``. You can check this by
running ``readelf -d filename | grep SONAME``.
This section shows how to deal with both versioned and unversioned
pre-built libraries.
Versioned Libraries
===================
In this example we work with pre-built libraries for the FT4222H USB I/O chip.
Libraries are built for several target architecture variants and packaged in
an archive as follows::
├── build-arm-hisiv300
│   └── libft4222.so.1.4.4.44
├── build-arm-v5-sf
│   └── libft4222.so.1.4.4.44
├── build-arm-v6-hf
│   └── libft4222.so.1.4.4.44
├── build-arm-v7-hf
│   └── libft4222.so.1.4.4.44
├── build-arm-v8
│   └── libft4222.so.1.4.4.44
├── build-i386
│   └── libft4222.so.1.4.4.44
├── build-i486
│   └── libft4222.so.1.4.4.44
├── build-mips-eglibc-hf
│   └── libft4222.so.1.4.4.44
├── build-pentium
│   └── libft4222.so.1.4.4.44
├── build-x86_64
│   └── libft4222.so.1.4.4.44
├── examples
│   ├── get-version.c
│   ├── i2cm.c
│   ├── spim.c
│   └── spis.c
├── ftd2xx.h
├── install4222.sh
├── libft4222.h
├── ReadMe.txt
└── WinTypes.h
To write a recipe to use such a library in your system:
- The vendor will probably have a proprietary licence, so set
:term:`LICENSE_FLAGS` in your recipe.
- The vendor provides a tarball containing libraries so set :term:`SRC_URI`
appropriately.
- Set :term:`COMPATIBLE_HOST` so that the recipe cannot be used with an
unsupported architecture. In the following example, we only support the 32
and 64 bit variants of the ``x86`` architecture.
- As the vendor provides versioned libraries, we can use ``oe_soinstall``
from :ref:`ref-classes-utils` to install the shared library and create
symbolic links. If the vendor does not do this, we need to follow the
non-versioned library guidelines in the next section.
- As the vendor likely used :term:`LDFLAGS` different from those in your Yocto
Project build, disable the corresponding checks by adding ``ldflags``
to :term:`INSANE_SKIP`.
- The vendor will typically ship release builds without debugging symbols.
Avoid errors by preventing the packaging task from stripping out the symbols
and adding them to a separate debug package. This is done by setting the
``INHIBIT_`` flags shown below.
The complete recipe would look like this::
SUMMARY = "FTDI FT4222H Library"
SECTION = "libs"
LICENSE_FLAGS = "ftdi"
LICENSE = "CLOSED"
COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
# Sources available in a .tgz file in .zip archive
# at https://ftdichip.com/wp-content/uploads/2021/01/libft4222-linux-1.4.4.44.zip
# Found on https://ftdichip.com/software-examples/ft4222h-software-examples/
# Since dealing with this particular type of archive is out of topic here,
# we use a local link.
SRC_URI = "file://libft4222-linux-${PV}.tgz"
S = "${WORKDIR}"
ARCH_DIR:x86-64 = "build-x86_64"
ARCH_DIR:i586 = "build-i386"
ARCH_DIR:i686 = "build-i386"
INSANE_SKIP:${PN} = "ldflags"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_SYSROOT_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
do_install () {
install -m 0755 -d ${D}${libdir}
oe_soinstall ${S}/${ARCH_DIR}/libft4222.so.${PV} ${D}${libdir}
install -d ${D}${includedir}
install -m 0755 ${S}/*.h ${D}${includedir}
}
If the precompiled binaries are not statically linked and have dependencies on
other libraries, then by adding those libraries to :term:`DEPENDS`, the linking
can be examined and the appropriate :term:`RDEPENDS` automatically added.
Non-Versioned Libraries
=======================
Some Background
---------------
Libraries in Linux systems are generally versioned so that it is possible
to have multiple versions of the same library installed, which eases upgrades
and support for older software. For example, suppose that in a versioned
library, an actual library is called ``libfoo.so.1.2``, a symbolic link named
``libfoo.so.1`` points to ``libfoo.so.1.2``, and a symbolic link named
``libfoo.so`` points to ``libfoo.so.1.2``. Given these conditions, when you
link a binary against a library, you typically provide the unversioned file
name (i.e. ``-lfoo`` to the linker). However, the linker follows the symbolic
link and actually links against the versioned filename. The unversioned symbolic
link is only used at development time. Consequently, the library is packaged
along with the headers in the development package ``${PN}-dev`` along with the
actual library and versioned symbolic links in ``${PN}``. Because versioned
libraries are far more common than unversioned libraries, the default packaging
rules assume versioned libraries.
Yocto Library Packaging Overview
--------------------------------
It follows that packaging an unversioned library requires a bit of work in the
recipe. By default, ``libfoo.so`` gets packaged into ``${PN}-dev``, which
triggers a QA warning that a non-symlink library is in a ``-dev`` package,
and binaries in the same recipe link to the library in ``${PN}-dev``,
which triggers more QA warnings. To solve this problem, you need to package the
unversioned library into ``${PN}`` where it belongs. The following are the abridged
default :term:`FILES` variables in ``bitbake.conf``::
SOLIBS = ".so.*"
SOLIBSDEV = ".so"
FILES:${PN} = "... ${libdir}/lib*${SOLIBS} ..."
FILES_SOLIBSDEV ?= "... ${libdir}/lib*${SOLIBSDEV} ..."
FILES:${PN}-dev = "... ${FILES_SOLIBSDEV} ..."
:term:`SOLIBS` defines a pattern that matches real shared object libraries.
:term:`SOLIBSDEV` matches the development form (unversioned symlink). These two
variables are then used in ``FILES:${PN}`` and ``FILES:${PN}-dev``, which puts
the real libraries into ``${PN}`` and the unversioned symbolic link into ``${PN}-dev``.
To package unversioned libraries, you need to modify the variables in the recipe
as follows::
SOLIBS = ".so"
FILES_SOLIBSDEV = ""
The modifications cause the ``.so`` file to be the real library
and unset :term:`FILES_SOLIBSDEV` so that no libraries get packaged into
``${PN}-dev``. The changes are required because unless :term:`PACKAGES` is changed,
``${PN}-dev`` collects files before `${PN}`. ``${PN}-dev`` must not collect any of
the files you want in ``${PN}``.
Finally, loadable modules, essentially unversioned libraries that are linked
at runtime using ``dlopen()`` instead of at build time, should generally be
installed in a private directory. However, if they are installed in ``${libdir}``,
then the modules can be treated as unversioned libraries.
Example
-------
The example below installs an unversioned x86-64 pre-built library named
``libfoo.so``. The :term:`COMPATIBLE_HOST` variable limits recipes to the
x86-64 architecture while the :term:`INSANE_SKIP`, :term:`INHIBIT_PACKAGE_STRIP`
and :term:`INHIBIT_SYSROOT_STRIP` variables are all set as in the above
versioned library example. The "magic" is setting the :term:`SOLIBS` and
:term:`FILES_SOLIBSDEV` variables as explained above::
SUMMARY = "libfoo sample recipe"
SECTION = "libs"
LICENSE = "CLOSED"
SRC_URI = "file://libfoo.so"
COMPATIBLE_HOST = "x86_64.*-linux"
INSANE_SKIP:${PN} = "ldflags"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_SYSROOT_STRIP = "1"
SOLIBS = ".so"
FILES_SOLIBSDEV = ""
do_install () {
install -d ${D}${libdir}
install -m 0755 ${WORKDIR}/libfoo.so ${D}${libdir}
}

View File

@@ -0,0 +1,50 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Using a Python Development Shell
********************************
Similar to working within a development shell as described in the
previous section, you can also spawn and work within an interactive
Python development shell. When debugging certain commands or even when
just editing packages, ``pydevshell`` can be a useful tool. When you
invoke the ``pydevshell`` task, all tasks up to and including
:ref:`ref-tasks-patch` are run for the
specified target. Then a new terminal is opened. Additionally, key
Python objects and code are available in the same way they are to
BitBake tasks, in particular, the data store 'd'. So, commands such as
the following are useful when exploring the data store and running
functions::
pydevshell> d.getVar("STAGING_DIR")
'/media/build1/poky/build/tmp/sysroots'
pydevshell> d.getVar("STAGING_DIR", False)
'${TMPDIR}/sysroots'
pydevshell> d.setVar("FOO", "bar")
pydevshell> d.getVar("FOO")
'bar'
pydevshell> d.delVar("FOO")
pydevshell> d.getVar("FOO")
pydevshell> bb.build.exec_func("do_unpack", d)
pydevshell>
See the ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:functions you can call from within python`"
section in the BitBake User Manual for details about available functions.
The commands execute just as if the OpenEmbedded build
system were executing them. Consequently, working this way can be
helpful when debugging a build or preparing software to be used with the
OpenEmbedded build system.
Following is an example that uses ``pydevshell`` on a target named
``matchbox-desktop``::
$ bitbake matchbox-desktop -c pydevshell
This command spawns a terminal and places you in an interactive Python
interpreter within the OpenEmbedded build environment. The
:term:`OE_TERMINAL` variable
controls what type of shell is opened.
When you are finished using ``pydevshell``, you can exit the shell
either by using Ctrl+d or closing the terminal window.

View File

@@ -0,0 +1,89 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Using Quilt in Your Workflow
****************************
`Quilt <https://savannah.nongnu.org/projects/quilt>`__ is a powerful tool
that allows you to capture source code changes without having a clean
source tree. This section outlines the typical workflow you can use to
modify source code, test changes, and then preserve the changes in the
form of a patch all using Quilt.
.. note::
With regard to preserving changes to source files, if you clean a
recipe or have :ref:`ref-classes-rm-work` enabled, the
:ref:`devtool workflow <sdk-manual/extensible:using \`\`devtool\`\` in your sdk workflow>`
as described in the Yocto Project Application Development and the
Extensible Software Development Kit (eSDK) manual is a safer
development flow than the flow that uses Quilt.
Follow these general steps:
#. *Find the Source Code:* Temporary source code used by the
OpenEmbedded build system is kept in the :term:`Build Directory`. See the
":ref:`dev-manual/temporary-source-code:finding temporary source code`" section to
learn how to locate the directory that has the temporary source code for a
particular package.
#. *Change Your Working Directory:* You need to be in the directory that
has the temporary source code. That directory is defined by the
:term:`S` variable.
#. *Create a New Patch:* Before modifying source code, you need to
create a new patch. To create a new patch file, use ``quilt new`` as
below::
$ quilt new my_changes.patch
#. *Notify Quilt and Add Files:* After creating the patch, you need to
notify Quilt about the files you plan to edit. You notify Quilt by
adding the files to the patch you just created::
$ quilt add file1.c file2.c file3.c
#. *Edit the Files:* Make your changes in the source code to the files
you added to the patch.
#. *Test Your Changes:* Once you have modified the source code, the
easiest way to test your changes is by calling the :ref:`ref-tasks-compile`
task as shown in the following example::
$ bitbake -c compile -f package
The ``-f`` or ``--force`` option forces the specified task to
execute. If you find problems with your code, you can just keep
editing and re-testing iteratively until things work as expected.
.. note::
All the modifications you make to the temporary source code disappear
once you run the :ref:`ref-tasks-clean` or :ref:`ref-tasks-cleanall`
tasks using BitBake (i.e. ``bitbake -c clean package`` and
``bitbake -c cleanall package``). Modifications will also disappear if
you use the :ref:`ref-classes-rm-work` feature as described in
the ":ref:`dev-manual/disk-space:conserving disk space during builds`"
section.
#. *Generate the Patch:* Once your changes work as expected, you need to
use Quilt to generate the final patch that contains all your
modifications::
$ quilt refresh
At this point, the
``my_changes.patch`` file has all your edits made to the ``file1.c``,
``file2.c``, and ``file3.c`` files.
You can find the resulting patch file in the ``patches/``
subdirectory of the source (:term:`S`) directory.
#. *Copy the Patch File:* For simplicity, copy the patch file into a
directory named ``files``, which you can create in the same directory
that holds the recipe (``.bb``) file or the append (``.bbappend``)
file. Placing the patch here guarantees that the OpenEmbedded build
system will find the patch. Next, add the patch into the :term:`SRC_URI`
of the recipe. Here is an example::
SRC_URI += "file://my_changes.patch"

View File

@@ -0,0 +1,89 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Creating a Read-Only Root Filesystem
************************************
Suppose, for security reasons, you need to disable your target device's
root filesystem's write permissions (i.e. you need a read-only root
filesystem). Or, perhaps you are running the device's operating system
from a read-only storage device. For either case, you can customize your
image for that behavior.
.. note::
Supporting a read-only root filesystem requires that the system and
applications do not try to write to the root filesystem. You must
configure all parts of the target system to write elsewhere, or to
gracefully fail in the event of attempting to write to the root
filesystem.
Creating the Root Filesystem
============================
To create the read-only root filesystem, simply add the
"read-only-rootfs" feature to your image, normally in one of two ways.
The first way is to add the "read-only-rootfs" image feature in the
image's recipe file via the :term:`IMAGE_FEATURES` variable::
IMAGE_FEATURES += "read-only-rootfs"
As an alternative, you can add the same feature
from within your :term:`Build Directory`'s ``local.conf`` file with the
associated :term:`EXTRA_IMAGE_FEATURES` variable, as in::
EXTRA_IMAGE_FEATURES = "read-only-rootfs"
For more information on how to use these variables, see the
":ref:`dev-manual/customizing-images:Customizing Images Using Custom \`\`IMAGE_FEATURES\`\` and \`\`EXTRA_IMAGE_FEATURES\`\``"
section. For information on the variables, see
:term:`IMAGE_FEATURES` and
:term:`EXTRA_IMAGE_FEATURES`.
Post-Installation Scripts and Read-Only Root Filesystem
=======================================================
It is very important that you make sure all post-Installation
(``pkg_postinst``) scripts for packages that are installed into the
image can be run at the time when the root filesystem is created during
the build on the host system. These scripts cannot attempt to run during
the first boot on the target device. With the "read-only-rootfs" feature
enabled, the build system makes sure that all post-installation scripts
succeed at file system creation time. If any of these scripts
still need to be run after the root filesystem is created, the build
immediately fails. These build-time checks ensure that the build fails
rather than the target device fails later during its initial boot
operation.
Most of the common post-installation scripts generated by the build
system for the out-of-the-box Yocto Project are engineered so that they
can run during root filesystem creation (e.g. post-installation scripts
for caching fonts). However, if you create and add custom scripts, you
need to be sure they can be run during this file system creation.
Here are some common problems that prevent post-installation scripts
from running during root filesystem creation:
- *Not using $D in front of absolute paths:* The build system defines
``$``\ :term:`D` when the root
filesystem is created. Furthermore, ``$D`` is blank when the script
is run on the target device. This implies two purposes for ``$D``:
ensuring paths are valid in both the host and target environments,
and checking to determine which environment is being used as a method
for taking appropriate actions.
- *Attempting to run processes that are specific to or dependent on the
target architecture:* You can work around these attempts by using
native tools, which run on the host system, to accomplish the same
tasks, or by alternatively running the processes under QEMU, which
has the ``qemu_run_binary`` function. For more information, see the
:ref:`ref-classes-qemu` class.
Areas With Write Access
=======================
With the "read-only-rootfs" feature enabled, any attempt by the target
to write to the root filesystem at runtime fails. Consequently, you must
make sure that you configure processes and applications that attempt
these types of writes do so to directories with write access (e.g.
``/tmp`` or ``/var/run``).

View File

@@ -0,0 +1,598 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Performing Automated Runtime Testing
************************************
The OpenEmbedded build system makes available a series of automated
tests for images to verify runtime functionality. You can run these
tests on either QEMU or actual target hardware. Tests are written in
Python making use of the ``unittest`` module, and the majority of them
run commands on the target system over SSH. This section describes how
you set up the environment to use these tests, run available tests, and
write and add your own tests.
For information on the test and QA infrastructure available within the
Yocto Project, see the ":ref:`ref-manual/release-process:testing and quality assurance`"
section in the Yocto Project Reference Manual.
Enabling Tests
==============
Depending on whether you are planning to run tests using QEMU or on the
hardware, you have to take different steps to enable the tests. See the
following subsections for information on how to enable both types of
tests.
Enabling Runtime Tests on QEMU
------------------------------
In order to run tests, you need to do the following:
- *Set up to avoid interaction with sudo for networking:* To
accomplish this, you must do one of the following:
- Add ``NOPASSWD`` for your user in ``/etc/sudoers`` either for all
commands or just for ``runqemu-ifup``. You must provide the full
path as that can change if you are using multiple clones of the
source repository.
.. note::
On some distributions, you also need to comment out "Defaults
requiretty" in ``/etc/sudoers``.
- Manually configure a tap interface for your system.
- Run as root the script in ``scripts/runqemu-gen-tapdevs``, which
should generate a list of tap devices. This is the option
typically chosen for Autobuilder-type environments.
.. note::
- Be sure to use an absolute path when calling this script
with sudo.
- The package recipe ``qemu-helper-native`` is required to run
this script. Build the package using the following command::
$ bitbake qemu-helper-native
- *Set the DISPLAY variable:* You need to set this variable so that
you have an X server available (e.g. start ``vncserver`` for a
headless machine).
- *Be sure your host's firewall accepts incoming connections from
192.168.7.0/24:* Some of the tests (in particular DNF tests) start an
HTTP server on a random high number port, which is used to serve
files to the target. The DNF module serves
``${WORKDIR}/oe-rootfs-repo`` so it can run DNF channel commands.
That means your host's firewall must accept incoming connections from
192.168.7.0/24, which is the default IP range used for tap devices by
``runqemu``.
- *Be sure your host has the correct packages installed:* Depending
your host's distribution, you need to have the following packages
installed:
- Ubuntu and Debian: ``sysstat`` and ``iproute2``
- openSUSE: ``sysstat`` and ``iproute2``
- Fedora: ``sysstat`` and ``iproute``
- CentOS: ``sysstat`` and ``iproute``
Once you start running the tests, the following happens:
#. A copy of the root filesystem is written to ``${WORKDIR}/testimage``.
#. The image is booted under QEMU using the standard ``runqemu`` script.
#. A default timeout of 500 seconds occurs to allow for the boot process
to reach the login prompt. You can change the timeout period by
setting
:term:`TEST_QEMUBOOT_TIMEOUT`
in the ``local.conf`` file.
#. Once the boot process is reached and the login prompt appears, the
tests run. The full boot log is written to
``${WORKDIR}/testimage/qemu_boot_log``.
#. Each test module loads in the order found in :term:`TEST_SUITES`. You can
find the full output of the commands run over SSH in
``${WORKDIR}/testimgage/ssh_target_log``.
#. If no failures occur, the task running the tests ends successfully.
You can find the output from the ``unittest`` in the task log at
``${WORKDIR}/temp/log.do_testimage``.
Enabling Runtime Tests on Hardware
----------------------------------
The OpenEmbedded build system can run tests on real hardware, and for
certain devices it can also deploy the image to be tested onto the
device beforehand.
For automated deployment, a "controller image" is installed onto the
hardware once as part of setup. Then, each time tests are to be run, the
following occurs:
#. The controller image is booted into and used to write the image to be
tested to a second partition.
#. The device is then rebooted using an external script that you need to
provide.
#. The device boots into the image to be tested.
When running tests (independent of whether the image has been deployed
automatically or not), the device is expected to be connected to a
network on a pre-determined IP address. You can either use static IP
addresses written into the image, or set the image to use DHCP and have
your DHCP server on the test network assign a known IP address based on
the MAC address of the device.
In order to run tests on hardware, you need to set :term:`TEST_TARGET` to an
appropriate value. For QEMU, you do not have to change anything, the
default value is "qemu". For running tests on hardware, the following
options are available:
- *"simpleremote":* Choose "simpleremote" if you are going to run tests
on a target system that is already running the image to be tested and
is available on the network. You can use "simpleremote" in
conjunction with either real hardware or an image running within a
separately started QEMU or any other virtual machine manager.
- *"SystemdbootTarget":* Choose "SystemdbootTarget" if your hardware is
an EFI-based machine with ``systemd-boot`` as bootloader and
``core-image-testmaster`` (or something similar) is installed. Also,
your hardware under test must be in a DHCP-enabled network that gives
it the same IP address for each reboot.
If you choose "SystemdbootTarget", there are additional requirements
and considerations. See the
":ref:`dev-manual/runtime-testing:selecting systemdboottarget`" section, which
follows, for more information.
- *"BeagleBoneTarget":* Choose "BeagleBoneTarget" if you are deploying
images and running tests on the BeagleBone "Black" or original
"White" hardware. For information on how to use these tests, see the
comments at the top of the BeagleBoneTarget
``meta-yocto-bsp/lib/oeqa/controllers/beaglebonetarget.py`` file.
- *"EdgeRouterTarget":* Choose "EdgeRouterTarget" if you are deploying
images and running tests on the Ubiquiti Networks EdgeRouter Lite.
For information on how to use these tests, see the comments at the
top of the EdgeRouterTarget
``meta-yocto-bsp/lib/oeqa/controllers/edgeroutertarget.py`` file.
- *"GrubTarget":* Choose "GrubTarget" if you are deploying images and running
tests on any generic PC that boots using GRUB. For information on how
to use these tests, see the comments at the top of the GrubTarget
``meta-yocto-bsp/lib/oeqa/controllers/grubtarget.py`` file.
- *"your-target":* Create your own custom target if you want to run
tests when you are deploying images and running tests on a custom
machine within your BSP layer. To do this, you need to add a Python
unit that defines the target class under ``lib/oeqa/controllers/``
within your layer. You must also provide an empty ``__init__.py``.
For examples, see files in ``meta-yocto-bsp/lib/oeqa/controllers/``.
Selecting SystemdbootTarget
---------------------------
If you did not set :term:`TEST_TARGET` to "SystemdbootTarget", then you do
not need any information in this section. You can skip down to the
":ref:`dev-manual/runtime-testing:running tests`" section.
If you did set :term:`TEST_TARGET` to "SystemdbootTarget", you also need to
perform a one-time setup of your controller image by doing the following:
#. *Set EFI_PROVIDER:* Be sure that :term:`EFI_PROVIDER` is as follows::
EFI_PROVIDER = "systemd-boot"
#. *Build the controller image:* Build the ``core-image-testmaster`` image.
The ``core-image-testmaster`` recipe is provided as an example for a
"controller" image and you can customize the image recipe as you would
any other recipe.
Here are the image recipe requirements:
- Inherits ``core-image`` so that kernel modules are installed.
- Installs normal linux utilities not BusyBox ones (e.g. ``bash``,
``coreutils``, ``tar``, ``gzip``, and ``kmod``).
- Uses a custom :term:`Initramfs` image with a custom
installer. A normal image that you can install usually creates a
single root filesystem partition. This image uses another installer that
creates a specific partition layout. Not all Board Support
Packages (BSPs) can use an installer. For such cases, you need to
manually create the following partition layout on the target:
- First partition mounted under ``/boot``, labeled "boot".
- The main root filesystem partition where this image gets installed,
which is mounted under ``/``.
- Another partition labeled "testrootfs" where test images get
deployed.
#. *Install image:* Install the image that you just built on the target
system.
The final thing you need to do when setting :term:`TEST_TARGET` to
"SystemdbootTarget" is to set up the test image:
#. *Set up your local.conf file:* Make sure you have the following
statements in your ``local.conf`` file::
IMAGE_FSTYPES += "tar.gz"
IMAGE_CLASSES += "testimage"
TEST_TARGET = "SystemdbootTarget"
TEST_TARGET_IP = "192.168.2.3"
#. *Build your test image:* Use BitBake to build the image::
$ bitbake core-image-sato
Power Control
-------------
For most hardware targets other than "simpleremote", you can control
power:
- You can use :term:`TEST_POWERCONTROL_CMD` together with
:term:`TEST_POWERCONTROL_EXTRA_ARGS` as a command that runs on the host
and does power cycling. The test code passes one argument to that
command: off, on or cycle (off then on). Here is an example that
could appear in your ``local.conf`` file::
TEST_POWERCONTROL_CMD = "powercontrol.exp test 10.11.12.1 nuc1"
In this example, the expect
script does the following:
.. code-block:: shell
ssh test@10.11.12.1 "pyctl nuc1 arg"
It then runs a Python script that controls power for a label called
``nuc1``.
.. note::
You need to customize :term:`TEST_POWERCONTROL_CMD` and
:term:`TEST_POWERCONTROL_EXTRA_ARGS` for your own setup. The one requirement
is that it accepts "on", "off", and "cycle" as the last argument.
- When no command is defined, it connects to the device over SSH and
uses the classic reboot command to reboot the device. Classic reboot
is fine as long as the machine actually reboots (i.e. the SSH test
has not failed). It is useful for scenarios where you have a simple
setup, typically with a single board, and where some manual
interaction is okay from time to time.
If you have no hardware to automatically perform power control but still
wish to experiment with automated hardware testing, you can use the
``dialog-power-control`` script that shows a dialog prompting you to perform
the required power action. This script requires either KDialog or Zenity
to be installed. To use this script, set the
:term:`TEST_POWERCONTROL_CMD`
variable as follows::
TEST_POWERCONTROL_CMD = "${COREBASE}/scripts/contrib/dialog-power-control"
Serial Console Connection
-------------------------
For test target classes requiring a serial console to interact with the
bootloader (e.g. BeagleBoneTarget, EdgeRouterTarget, and GrubTarget),
you need to specify a command to use to connect to the serial console of
the target machine by using the
:term:`TEST_SERIALCONTROL_CMD`
variable and optionally the
:term:`TEST_SERIALCONTROL_EXTRA_ARGS`
variable.
These cases could be a serial terminal program if the machine is
connected to a local serial port, or a ``telnet`` or ``ssh`` command
connecting to a remote console server. Regardless of the case, the
command simply needs to connect to the serial console and forward that
connection to standard input and output as any normal terminal program
does. For example, to use the picocom terminal program on serial device
``/dev/ttyUSB0`` at 115200bps, you would set the variable as follows::
TEST_SERIALCONTROL_CMD = "picocom /dev/ttyUSB0 -b 115200"
For local
devices where the serial port device disappears when the device reboots,
an additional "serdevtry" wrapper script is provided. To use this
wrapper, simply prefix the terminal command with
``${COREBASE}/scripts/contrib/serdevtry``::
TEST_SERIALCONTROL_CMD = "${COREBASE}/scripts/contrib/serdevtry picocom -b 115200 /dev/ttyUSB0"
Running Tests
=============
You can start the tests automatically or manually:
- *Automatically running tests:* To run the tests automatically after the
OpenEmbedded build system successfully creates an image, first set the
:term:`TESTIMAGE_AUTO` variable to "1" in your ``local.conf`` file in the
:term:`Build Directory`::
TESTIMAGE_AUTO = "1"
Next, build your image. If the image successfully builds, the
tests run::
bitbake core-image-sato
- *Manually running tests:* To manually run the tests, first globally
inherit the :ref:`ref-classes-testimage` class by editing your
``local.conf`` file::
IMAGE_CLASSES += "testimage"
Next, use BitBake to run the tests::
bitbake -c testimage image
All test files reside in ``meta/lib/oeqa/runtime/cases`` in the
:term:`Source Directory`. A test name maps
directly to a Python module. Each test module may contain a number of
individual tests. Tests are usually grouped together by the area tested
(e.g tests for systemd reside in ``meta/lib/oeqa/runtime/cases/systemd.py``).
You can add tests to any layer provided you place them in the proper
area and you extend :term:`BBPATH` in
the ``local.conf`` file as normal. Be sure that tests reside in
``layer/lib/oeqa/runtime/cases``.
.. note::
Be sure that module names do not collide with module names used in
the default set of test modules in ``meta/lib/oeqa/runtime/cases``.
You can change the set of tests run by appending or overriding
:term:`TEST_SUITES` variable in
``local.conf``. Each name in :term:`TEST_SUITES` represents a required test
for the image. Test modules named within :term:`TEST_SUITES` cannot be
skipped even if a test is not suitable for an image (e.g. running the
RPM tests on an image without ``rpm``). Appending "auto" to
:term:`TEST_SUITES` causes the build system to try to run all tests that are
suitable for the image (i.e. each test module may elect to skip itself).
The order you list tests in :term:`TEST_SUITES` is important and influences
test dependencies. Consequently, tests that depend on other tests should
be added after the test on which they depend. For example, since the
``ssh`` test depends on the ``ping`` test, "ssh" needs to come after
"ping" in the list. The test class provides no re-ordering or dependency
handling.
.. note::
Each module can have multiple classes with multiple test methods.
And, Python ``unittest`` rules apply.
Here are some things to keep in mind when running tests:
- The default tests for the image are defined as::
DEFAULT_TEST_SUITES:pn-image = "ping ssh df connman syslog xorg scp vnc date rpm dnf dmesg"
- Add your own test to the list of the by using the following::
TEST_SUITES:append = " mytest"
- Run a specific list of tests as follows::
TEST_SUITES = "test1 test2 test3"
Remember, order is important. Be sure to place a test that is
dependent on another test later in the order.
Exporting Tests
===============
You can export tests so that they can run independently of the build
system. Exporting tests is required if you want to be able to hand the
test execution off to a scheduler. You can only export tests that are
defined in :term:`TEST_SUITES`.
If your image is already built, make sure the following are set in your
``local.conf`` file::
INHERIT += "testexport"
TEST_TARGET_IP = "IP-address-for-the-test-target"
TEST_SERVER_IP = "IP-address-for-the-test-server"
You can then export the tests with the
following BitBake command form::
$ bitbake image -c testexport
Exporting the tests places them in the :term:`Build Directory` in
``tmp/testexport/``\ image, which is controlled by the :term:`TEST_EXPORT_DIR`
variable.
You can now run the tests outside of the build environment::
$ cd tmp/testexport/image
$ ./runexported.py testdata.json
Here is a complete example that shows IP addresses and uses the
``core-image-sato`` image::
INHERIT += "testexport"
TEST_TARGET_IP = "192.168.7.2"
TEST_SERVER_IP = "192.168.7.1"
Use BitBake to export the tests::
$ bitbake core-image-sato -c testexport
Run the tests outside of
the build environment using the following::
$ cd tmp/testexport/core-image-sato
$ ./runexported.py testdata.json
Writing New Tests
=================
As mentioned previously, all new test files need to be in the proper
place for the build system to find them. New tests for additional
functionality outside of the core should be added to the layer that adds
the functionality, in ``layer/lib/oeqa/runtime/cases`` (as long as
:term:`BBPATH` is extended in the
layer's ``layer.conf`` file as normal). Just remember the following:
- Filenames need to map directly to test (module) names.
- Do not use module names that collide with existing core tests.
- Minimally, an empty ``__init__.py`` file must be present in the runtime
directory.
To create a new test, start by copying an existing module (e.g.
``syslog.py`` or ``gcc.py`` are good ones to use). Test modules can use
code from ``meta/lib/oeqa/utils``, which are helper classes.
.. note::
Structure shell commands such that you rely on them and they return a
single code for success. Be aware that sometimes you will need to
parse the output. See the ``df.py`` and ``date.py`` modules for examples.
You will notice that all test classes inherit ``oeRuntimeTest``, which
is found in ``meta/lib/oetest.py``. This base class offers some helper
attributes, which are described in the following sections:
Class Methods
-------------
Class methods are as follows:
- *hasPackage(pkg):* Returns "True" if ``pkg`` is in the installed
package list of the image, which is based on the manifest file that
is generated during the :ref:`ref-tasks-rootfs` task.
- *hasFeature(feature):* Returns "True" if the feature is in
:term:`IMAGE_FEATURES` or
:term:`DISTRO_FEATURES`.
Class Attributes
----------------
Class attributes are as follows:
- *pscmd:* Equals "ps -ef" if ``procps`` is installed in the image.
Otherwise, ``pscmd`` equals "ps" (busybox).
- *tc:* The called test context, which gives access to the
following attributes:
- *d:* The BitBake datastore, which allows you to use stuff such
as ``oeRuntimeTest.tc.d.getVar("VIRTUAL-RUNTIME_init_manager")``.
- *testslist and testsrequired:* Used internally. The tests
do not need these.
- *filesdir:* The absolute path to
``meta/lib/oeqa/runtime/files``, which contains helper files for
tests meant for copying on the target such as small files written
in C for compilation.
- *target:* The target controller object used to deploy and
start an image on a particular target (e.g. Qemu, SimpleRemote,
and SystemdbootTarget). Tests usually use the following:
- *ip:* The target's IP address.
- *server_ip:* The host's IP address, which is usually used
by the DNF test suite.
- *run(cmd, timeout=None):* The single, most used method.
This command is a wrapper for: ``ssh root@host "cmd"``. The
command returns a tuple: (status, output), which are what their
names imply - the return code of "cmd" and whatever output it
produces. The optional timeout argument represents the number
of seconds the test should wait for "cmd" to return. If the
argument is "None", the test uses the default instance's
timeout period, which is 300 seconds. If the argument is "0",
the test runs until the command returns.
- *copy_to(localpath, remotepath):*
``scp localpath root@ip:remotepath``.
- *copy_from(remotepath, localpath):*
``scp root@host:remotepath localpath``.
Instance Attributes
-------------------
There is a single instance attribute, which is ``target``. The ``target``
instance attribute is identical to the class attribute of the same name,
which is described in the previous section. This attribute exists as
both an instance and class attribute so tests can use
``self.target.run(cmd)`` in instance methods instead of
``oeRuntimeTest.tc.target.run(cmd)``.
Installing Packages in the DUT Without the Package Manager
==========================================================
When a test requires a package built by BitBake, it is possible to
install that package. Installing the package does not require a package
manager be installed in the device under test (DUT). It does, however,
require an SSH connection and the target must be using the
``sshcontrol`` class.
.. note::
This method uses ``scp`` to copy files from the host to the target, which
causes permissions and special attributes to be lost.
A JSON file is used to define the packages needed by a test. This file
must be in the same path as the file used to define the tests.
Furthermore, the filename must map directly to the test module name with
a ``.json`` extension.
The JSON file must include an object with the test name as keys of an
object or an array. This object (or array of objects) uses the following
data:
- "pkg" --- a mandatory string that is the name of the package to be
installed.
- "rm" --- an optional boolean, which defaults to "false", that specifies
to remove the package after the test.
- "extract" --- an optional boolean, which defaults to "false", that
specifies if the package must be extracted from the package format.
When set to "true", the package is not automatically installed into
the DUT.
Following is an example JSON file that handles test "foo" installing
package "bar" and test "foobar" installing packages "foo" and "bar".
Once the test is complete, the packages are removed from the DUT::
{
"foo": {
"pkg": "bar"
},
"foobar": [
{
"pkg": "foo",
"rm": true
},
{
"pkg": "bar",
"rm": true
}
]
}

View File

@@ -0,0 +1,72 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Creating a Software Bill of Materials
*************************************
Once you are able to build an image for your project, once the licenses for
each software component are all identified (see
":ref:`dev-manual/licenses:working with licenses`") and once vulnerability
fixes are applied (see ":ref:`dev-manual/vulnerabilities:checking
for vulnerabilities`"), the OpenEmbedded build system can generate
a description of all the components you used, their licenses, their dependencies,
their sources, the changes that were applied to them and the known
vulnerabilities that were fixed.
This description is generated in the form of a *Software Bill of Materials*
(:term:`SBOM`), using the :term:`SPDX` standard.
When you release software, this is the most standard way to provide information
about the Software Supply Chain of your software image and SDK. The
:term:`SBOM` tooling is often used to ensure open source license compliance by
providing the license texts used in the product which legal departments and end
users can read in standardized format.
:term:`SBOM` information is also critical to performing vulnerability exposure
assessments, as all the components used in the Software Supply Chain are listed.
The OpenEmbedded build system doesn't generate such information by default.
To make this happen, you must inherit the
:ref:`ref-classes-create-spdx` class from a configuration file::
INHERIT += "create-spdx"
You then get :term:`SPDX` output in JSON format as an
``IMAGE-MACHINE.spdx.json`` file in ``tmp/deploy/images/MACHINE/`` inside the
:term:`Build Directory`.
This is a toplevel file accompanied by an ``IMAGE-MACHINE.spdx.index.json``
containing an index of JSON :term:`SPDX` files for individual recipes, together
with an ``IMAGE-MACHINE.spdx.tar.zst`` compressed archive containing all such
files.
The :ref:`ref-classes-create-spdx` class offers options to include
more information in the output :term:`SPDX` data, such as making the generated
files more human readable (:term:`SPDX_PRETTY`), adding compressed archives of
the files in the generated target packages (:term:`SPDX_ARCHIVE_PACKAGED`),
adding a description of the source files used to generate host tools and target
packages (:term:`SPDX_INCLUDE_SOURCES`) and adding archives of these source
files themselves (:term:`SPDX_ARCHIVE_SOURCES`).
Though the toplevel :term:`SPDX` output is available in
``tmp/deploy/images/MACHINE/`` inside the :term:`Build Directory`, ancillary
generated files are available in ``tmp/deploy/spdx/MACHINE`` too, such as:
- The individual :term:`SPDX` JSON files in the ``IMAGE-MACHINE.spdx.tar.zst``
archive.
- Compressed archives of the files in the generated target packages,
in ``packages/packagename.tar.zst`` (when :term:`SPDX_ARCHIVE_PACKAGED`
is set).
- Compressed archives of the source files used to build the host tools
and the target packages in ``recipes/recipe-packagename.tar.zst``
(when :term:`SPDX_ARCHIVE_SOURCES` is set). Those are needed to fulfill
"source code access" license requirements.
See the `tools page <https://spdx.dev/resources/tools/>`__ on the :term:`SPDX`
project website for a list of tools to consume and transform the :term:`SPDX`
data generated by the OpenEmbedded build system.
See also Joshua Watt's
`Automated SBoM generation with OpenEmbedded and the Yocto Project <https://youtu.be/Q5UQUM6zxVU>`__
presentation at FOSDEM 2023.

View File

@@ -0,0 +1,156 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Making Images More Secure
*************************
Security is of increasing concern for embedded devices. Consider the
issues and problems discussed in just this sampling of work found across
the Internet:
- *"*\ `Security Risks of Embedded
Systems <https://www.schneier.com/blog/archives/2014/01/security_risks_9.html>`__\ *"*
by Bruce Schneier
- *"*\ `Internet Census
2012 <http://census2012.sourceforge.net/paper.html>`__\ *"* by Carna
Botnet
- *"*\ `Security Issues for Embedded
Devices <https://elinux.org/images/6/6f/Security-issues.pdf>`__\ *"*
by Jake Edge
When securing your image is of concern, there are steps, tools, and
variables that you can consider to help you reach the security goals you
need for your particular device. Not all situations are identical when
it comes to making an image secure. Consequently, this section provides
some guidance and suggestions for consideration when you want to make
your image more secure.
.. note::
Because the security requirements and risks are different for every
type of device, this section cannot provide a complete reference on
securing your custom OS. It is strongly recommended that you also
consult other sources of information on embedded Linux system
hardening and on security.
General Considerations
======================
There are general considerations that help you create more secure images.
You should consider the following suggestions to make your device
more secure:
- Scan additional code you are adding to the system (e.g. application
code) by using static analysis tools. Look for buffer overflows and
other potential security problems.
- Pay particular attention to the security for any web-based
administration interface.
Web interfaces typically need to perform administrative functions and
tend to need to run with elevated privileges. Thus, the consequences
resulting from the interface's security becoming compromised can be
serious. Look for common web vulnerabilities such as
cross-site-scripting (XSS), unvalidated inputs, and so forth.
As with system passwords, the default credentials for accessing a
web-based interface should not be the same across all devices. This
is particularly true if the interface is enabled by default as it can
be assumed that many end-users will not change the credentials.
- Ensure you can update the software on the device to mitigate
vulnerabilities discovered in the future. This consideration
especially applies when your device is network-enabled.
- Regularly scan and apply fixes for CVE security issues affecting
all software components in the product, see ":ref:`dev-manual/vulnerabilities:checking for vulnerabilities`".
- Regularly update your version of Poky and OE-Core from their upstream
developers, e.g. to apply updates and security fixes from stable
and :term:`LTS` branches.
- Ensure you remove or disable debugging functionality before producing
the final image. For information on how to do this, see the
":ref:`dev-manual/securing-images:considerations specific to the openembedded build system`"
section.
- Ensure you have no network services listening that are not needed.
- Remove any software from the image that is not needed.
- Enable hardware support for secure boot functionality when your
device supports this functionality.
Security Flags
==============
The Yocto Project has security flags that you can enable that help make
your build output more secure. The security flags are in the
``meta/conf/distro/include/security_flags.inc`` file in your
:term:`Source Directory` (e.g. ``poky``).
.. note::
Depending on the recipe, certain security flags are enabled and
disabled by default.
Use the following line in your ``local.conf`` file or in your custom
distribution configuration file to enable the security compiler and
linker flags for your build::
require conf/distro/include/security_flags.inc
Considerations Specific to the OpenEmbedded Build System
========================================================
You can take some steps that are specific to the OpenEmbedded build
system to make your images more secure:
- Ensure "debug-tweaks" is not one of your selected
:term:`IMAGE_FEATURES`.
When creating a new project, the default is to provide you with an
initial ``local.conf`` file that enables this feature using the
:term:`EXTRA_IMAGE_FEATURES`
variable with the line::
EXTRA_IMAGE_FEATURES = "debug-tweaks"
To disable that feature, simply comment out that line in your
``local.conf`` file, or make sure :term:`IMAGE_FEATURES` does not contain
"debug-tweaks" before producing your final image. Among other things,
leaving this in place sets the root password as blank, which makes
logging in for debugging or inspection easy during development but
also means anyone can easily log in during production.
- It is possible to set a root password for the image and also to set
passwords for any extra users you might add (e.g. administrative or
service type users). When you set up passwords for multiple images or
users, you should not duplicate passwords.
To set up passwords, use the :ref:`ref-classes-extrausers` class, which
is the preferred method. For an example on how to set up both root and
user passwords, see the ":ref:`ref-classes-extrausers`" section.
.. note::
When adding extra user accounts or setting a root password, be
cautious about setting the same password on every device. If you
do this, and the password you have set is exposed, then every
device is now potentially compromised. If you need this access but
want to ensure security, consider setting a different, random
password for each device. Typically, you do this as a separate
step after you deploy the image onto the device.
- Consider enabling a Mandatory Access Control (MAC) framework such as
SMACK or SELinux and tuning it appropriately for your device's usage.
You can find more information in the
:yocto_git:`meta-selinux </meta-selinux/>` layer.
Tools for Hardening Your Image
==============================
The Yocto Project provides tools for making your image more secure. You
can find these tools in the ``meta-security`` layer of the
:yocto_git:`Yocto Project Source Repositories <>`.

View File

@@ -0,0 +1,189 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Dealing with Vulnerability Reports
**********************************
The Yocto Project and OpenEmbedded are open-source, community-based projects
used in numerous products. They assemble multiple other open-source projects,
and need to handle security issues and practices both internal (in the code
maintained by both projects), and external (maintained by other projects and
organizations).
This manual assembles security-related information concerning the whole
ecosystem. It includes information on reporting a potential security issue,
the operation of the YP Security team and how to contribute in the
related code. It is written to be useful for both security researchers and
YP developers.
How to report a potential security vulnerability?
=================================================
If you would like to report a public issue (for example, one with a released
CVE number), please report it using the
:yocto_bugs:`Security Bugzilla </enter_bug.cgi?product=Security>`.
If you are dealing with a not-yet-released issue, or an urgent one, please send
a message to security AT yoctoproject DOT org, including as many details as
possible: the layer or software module affected, the recipe and its version,
and any example code, if available. This mailing list is monitored by the
Yocto Project Security team.
For each layer, you might also look for specific instructions (if any) for
reporting potential security issues in the specific ``SECURITY.md`` file at the
root of the repository. Instructions on how and where submit a patch are
usually available in ``README.md``. If this is your first patch to the
Yocto Project/OpenEmbedded, you might want to have a look into the
Contributor's Manual section
":ref:`contributor-guide/submit-changes:preparing changes for submission`".
Branches maintained with security fixes
---------------------------------------
See the
:ref:`Release process <ref-manual/release-process:Stable Release Process>`
documentation for details regarding the policies and maintenance of stable
branches.
The :yocto_wiki:`Releases page </Releases>` contains a list
of all releases of the Yocto Project. Versions in gray are no longer actively
maintained with security patches, but well-tested patches may still be accepted
for them for significant issues.
Security-related discussions at the Yocto Project
-------------------------------------------------
We have set up two security-related mailing lists:
- Public List: yocto [dash] security [at] yoctoproject[dot] org
This is a public mailing list for anyone to subscribe to. This list is an
open list to discuss public security issues/patches and security-related
initiatives. For more information, including subscription information,
please see the :yocto_lists:`yocto-security mailing list info page </g/yocto-security>`.
- Private List: security [at] yoctoproject [dot] org
This is a private mailing list for reporting non-published potential
vulnerabilities. The list is monitored by the Yocto Project Security team.
What you should do if you find a security vulnerability
-------------------------------------------------------
If you find a security flaw: a crash, an information leakage, or anything that
can have a security impact if exploited in any Open Source software built or
used by the Yocto Project, please report this to the Yocto Project Security
Team. If you prefer to contact the upstream project directly, please send a
copy to the security team at the Yocto Project as well. If you believe this is
highly sensitive information, please report the vulnerability in a secure way,
i.e. encrypt the email and send it to the private list. This ensures that
the exploit is not leaked and exploited before a response/fix has been generated.
Security team
=============
The Yocto Project/OpenEmbedded security team coordinates the work on security
subjects in the project. All general discussion takes place publicly. The
Security Team only uses confidential communication tools to deal with private
vulnerability reports before they are released.
Security team appointment
-------------------------
The Yocto Project Security Team consists of at least three members. When new
members are needed, the Yocto Project Technical Steering Committee (YP TSC)
asks for nominations by public channels including a nomination deadline.
Self-nominations are possible. When the limit time is
reached, the YP TSC posts the list of candidates for the comments of project
participants and developers. Comments may be sent publicly or privately to the
YP and OE TSCs. The candidates are approved by both YP TSC and OpenEmbedded
Technical Steering Committee (OE TSC) and the final list of the team members
is announced publicly. The aim is to have people representing technical
leadership, security knowledge and infrastructure present with enough people
to provide backup/coverage but keep the notification list small enough to
minimize information risk and maintain trust.
YP Security Team members may resign at any time.
Security Team Operations
------------------------
The work of the Security Team might require high confidentiality. Team members
are individuals selected by merit and do not represent the companies they work
for. They do not share information about confidential issues outside of the team
and do not hint about ongoing embargoes.
Team members can bring in domain experts as needed. Those people should be
added to individual issues only and adhere to the same standards as the YP
Security Team.
The YP security team organizes its meetings and communication as needed.
When the YP Security team receives a report about a potential security
vulnerability, they quickly analyze and notify the reporter of the result.
They might also request more information.
If the issue is confirmed and affects the code maintained by the YP, they
confidentially notify maintainers of that code and work with them to prepare
a fix.
If the issue is confirmed and affects an upstream project, the YP security team
notifies the project. Usually, the upstream project analyzes the problem again.
If they deem it a real security problem in their software, they develop and
release a fix following their security policy. They may want to include the
original reporter in the loop. There is also sometimes some coordination for
handling patches, backporting patches etc, or just understanding the problem
or what caused it.
When the fix is publicly available, the YP security team member or the
package maintainer sends patches against the YP code base, following usual
procedures, including public code review.
What Yocto Security Team does when it receives a security vulnerability
-----------------------------------------------------------------------
The YP Security Team team performs a quick analysis and would usually report
the flaw to the upstream project. Normally the upstream project analyzes the
problem. If they deem it a real security problem in their software, they
develop and release a fix following their own security policy. They may want
to include the original reporter in the loop. There is also sometimes some
coordination for handling patches, backporting patches etc, or just
understanding the problem or what caused it.
The security policy of the upstream project might include a notification to
Linux distributions or other important downstream projects in advance to
discuss coordinated disclosure. These mailing lists are normally non-public.
When the upstream project releases a version with the fix, they are responsible
for contacting `Mitre <https://www.cve.org/>`__ to get a CVE number assigned and
the CVE record published.
If an upstream project does not respond quickly
-----------------------------------------------
If an upstream project does not fix the problem in a reasonable time,
the Yocto's Security Team will contact other interested parties (usually
other distributions) in the community and together try to solve the
vulnerability as quickly as possible.
The Yocto Project Security team adheres to the 90 days disclosure policy
by default. An increase of the embargo time is possible when necessary.
Current Security Team members
-----------------------------
For secure communications, please send your messages encrypted using the GPG
keys. Remember, message headers are not encrypted so do not include sensitive
information in the subject line.
- Ross Burton: <ross@burtonini.com> `Public key <https://keys.openpgp.org/search?q=ross%40burtonini.com>`__
- Michael Halstead: <mhalstead [at] linuxfoundation [dot] org>
`Public key <https://pgp.mit.edu/pks/lookup?op=vindex&search=0x3373170601861969>`__
or `Public key <https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xd1f2407285e571ed12a407a73373170601861969>`__
- Richard Purdie: <richard.purdie@linuxfoundation.org> `Public key <https://keys.openpgp.org/search?q=richard.purdie%40linuxfoundation.org>`__
- Marta Rybczynska: <marta DOT rybczynska [at] syslinbit [dot] com> `Public key <https://keys.openpgp.org/search?q=marta.rybczynska@syslinbit.com>`__
- Steve Sakoman: <steve [at] sakoman [dot] com> `Public key <https://keys.openpgp.org/search?q=steve%40sakoman.com>`__

View File

@@ -0,0 +1,109 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Speeding Up a Build
*******************
Build time can be an issue. By default, the build system uses simple
controls to try and maximize build efficiency. In general, the default
settings for all the following variables result in the most efficient
build times when dealing with single socket systems (i.e. a single CPU).
If you have multiple CPUs, you might try increasing the default values
to gain more speed. See the descriptions in the glossary for each
variable for more information:
- :term:`BB_NUMBER_THREADS`:
The maximum number of threads BitBake simultaneously executes.
- :term:`BB_NUMBER_PARSE_THREADS`:
The number of threads BitBake uses during parsing.
- :term:`PARALLEL_MAKE`: Extra
options passed to the ``make`` command during the
:ref:`ref-tasks-compile` task in
order to specify parallel compilation on the local build host.
- :term:`PARALLEL_MAKEINST`:
Extra options passed to the ``make`` command during the
:ref:`ref-tasks-install` task in
order to specify parallel installation on the local build host.
As mentioned, these variables all scale to the number of processor cores
available on the build system. For single socket systems, this
auto-scaling ensures that the build system fundamentally takes advantage
of potential parallel operations during the build based on the build
machine's capabilities.
Following are additional factors that can affect build speed:
- File system type: The file system type that the build is being
performed on can also influence performance. Using ``ext4`` is
recommended as compared to ``ext2`` and ``ext3`` due to ``ext4``
improved features such as extents.
- Disabling the updating of access time using ``noatime``: The
``noatime`` mount option prevents the build system from updating file
and directory access times.
- Setting a longer commit: Using the "commit=" mount option increases
the interval in seconds between disk cache writes. Changing this
interval from the five second default to something longer increases
the risk of data loss but decreases the need to write to the disk,
thus increasing the build performance.
- Choosing the packaging backend: Of the available packaging backends,
IPK is the fastest. Additionally, selecting a singular packaging
backend also helps.
- Using ``tmpfs`` for :term:`TMPDIR`
as a temporary file system: While this can help speed up the build,
the benefits are limited due to the compiler using ``-pipe``. The
build system goes to some lengths to avoid ``sync()`` calls into the
file system on the principle that if there was a significant failure,
the :term:`Build Directory` contents could easily be rebuilt.
- Inheriting the :ref:`ref-classes-rm-work` class:
Inheriting this class has shown to speed up builds due to
significantly lower amounts of data stored in the data cache as well
as on disk. Inheriting this class also makes cleanup of
:term:`TMPDIR` faster, at the
expense of being easily able to dive into the source code. File
system maintainers have recommended that the fastest way to clean up
large numbers of files is to reformat partitions rather than delete
files due to the linear nature of partitions. This, of course,
assumes you structure the disk partitions and file systems in a way
that this is practical.
Aside from the previous list, you should keep some trade offs in mind
that can help you speed up the build:
- Remove items from
:term:`DISTRO_FEATURES`
that you might not need.
- Exclude debug symbols and other debug information: If you do not need
these symbols and other debug information, disabling the ``*-dbg``
package generation can speed up the build. You can disable this
generation by setting the
:term:`INHIBIT_PACKAGE_DEBUG_SPLIT`
variable to "1".
- Disable static library generation for recipes derived from
``autoconf`` or ``libtool``: Following is an example showing how to
disable static libraries and still provide an override to handle
exceptions::
STATICLIBCONF = "--disable-static"
STATICLIBCONF:sqlite3-native = ""
EXTRA_OECONF += "${STATICLIBCONF}"
.. note::
- Some recipes need static libraries in order to work correctly
(e.g. ``pseudo-native`` needs ``sqlite3-native``). Overrides,
as in the previous example, account for these kinds of
exceptions.
- Some packages have packaging code that assumes the presence of
the static libraries. If so, you might need to exclude them as
well.

View File

@@ -88,27 +88,15 @@ particular working environment and set of practices.
For information about BitBake, see the
:doc:`bitbake:index`.
It is relatively easy to set up Git services and create
infrastructure like :yocto_git:`/`, which is based on
server software called ``gitolite`` with ``cgit`` being used to
generate the web interface that lets you view the repositories. The
``gitolite`` software identifies users using SSH keys and allows
It is relatively easy to set up Git services and create infrastructure like
:yocto_git:`/`, which is based on server software called
`Gitolite <https://gitolite.com>`__
with `cgit <https://git.zx2c4.com/cgit/about/>`__ being used to
generate the web interface that lets you view the repositories.
``gitolite`` identifies users using SSH keys and allows
branch-based access controls to repositories that you can control as
little or as much as necessary.
.. note::
The setup of these services is beyond the scope of this manual.
However, here are sites describing how to perform setup:
- `Gitolite <https://gitolite.com>`__: Information for
``gitolite``.
- `Interfaces, frontends, and
tools <https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools>`__:
Documentation on how to create interfaces and frontends for
Git.
5. *Set up the Application Development Machines:* As mentioned earlier,
application developers are creating applications on top of existing
software stacks. Following are some best practices for setting up
@@ -223,7 +211,7 @@ particular working environment and set of practices.
- Maintain your Metadata in layers that make sense for your
situation. See the ":ref:`overview-manual/yp-intro:the yocto project layer model`"
section in the Yocto Project Overview and Concepts Manual and the
":ref:`dev-manual/common-tasks:understanding and creating layers`"
":ref:`dev-manual/layers:understanding and creating layers`"
section for more information on layers.
- Separate the project's Metadata and code by using separate Git
@@ -246,14 +234,13 @@ particular working environment and set of practices.
- The Yocto Project community encourages you to send patches to the
project to fix bugs or add features. If you do submit patches,
follow the project commit guidelines for writing good commit
messages. See the
":ref:`dev-manual/common-tasks:submitting a change to the yocto project`"
section.
messages. See the ":doc:`../contributor-guide/submit-changes`"
section in the Yocto Project and OpenEmbedded Contributor Guide.
- Send changes to the core sooner than later as others are likely
to run into the same issues. For some guidance on mailing lists
to use, see the list in the
":ref:`dev-manual/common-tasks:submitting a change to the yocto project`"
to use, see the lists in the
":ref:`contributor-guide/submit-changes:finding a suitable mailing list`"
section. For a description
of the available mailing lists, see the ":ref:`resources-mailinglist`" section in
the Yocto Project Reference Manual.

View File

@@ -0,0 +1,66 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Finding Temporary Source Code
*****************************
You might find it helpful during development to modify the temporary
source code used by recipes to build packages. For example, suppose you
are developing a patch and you need to experiment a bit to figure out
your solution. After you have initially built the package, you can
iteratively tweak the source code, which is located in the
:term:`Build Directory`, and then you can force a re-compile and quickly
test your altered code. Once you settle on a solution, you can then preserve
your changes in the form of patches.
During a build, the unpacked temporary source code used by recipes to
build packages is available in the :term:`Build Directory` as defined by the
:term:`S` variable. Below is the default value for the :term:`S` variable as
defined in the ``meta/conf/bitbake.conf`` configuration file in the
:term:`Source Directory`::
S = "${WORKDIR}/${BP}"
You should be aware that many recipes override the
:term:`S` variable. For example, recipes that fetch their source from Git
usually set :term:`S` to ``${WORKDIR}/git``.
.. note::
The :term:`BP` represents the base recipe name, which consists of the name
and version::
BP = "${BPN}-${PV}"
The path to the work directory for the recipe
(:term:`WORKDIR`) is defined as
follows::
${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}
The actual directory depends on several things:
- :term:`TMPDIR`: The top-level build
output directory.
- :term:`MULTIMACH_TARGET_SYS`:
The target system identifier.
- :term:`PN`: The recipe name.
- :term:`EXTENDPE`: The epoch --- if
:term:`PE` is not specified, which is
usually the case for most recipes, then :term:`EXTENDPE` is blank.
- :term:`PV`: The recipe version.
- :term:`PR`: The recipe revision.
As an example, assume a Source Directory top-level folder named
``poky``, a default :term:`Build Directory` at ``poky/build``, and a
``qemux86-poky-linux`` machine target system. Furthermore, suppose your
recipe is named ``foo_1.3.0.bb``. In this case, the work directory the
build system uses to build the package would be as follows::
poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0

View File

@@ -0,0 +1,397 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Upgrading Recipes
*****************
Over time, upstream developers publish new versions for software built
by layer recipes. It is recommended to keep recipes up-to-date with
upstream version releases.
While there are several methods to upgrade a recipe, you might
consider checking on the upgrade status of a recipe first. You can do so
using the ``devtool check-upgrade-status`` command. See the
":ref:`devtool-checking-on-the-upgrade-status-of-a-recipe`"
section in the Yocto Project Reference Manual for more information.
The remainder of this section describes three ways you can upgrade a
recipe. You can use the Automated Upgrade Helper (AUH) to set up
automatic version upgrades. Alternatively, you can use
``devtool upgrade`` to set up semi-automatic version upgrades. Finally,
you can manually upgrade a recipe by editing the recipe itself.
Using the Auto Upgrade Helper (AUH)
===================================
The AUH utility works in conjunction with the OpenEmbedded build system
in order to automatically generate upgrades for recipes based on new
versions being published upstream. Use AUH when you want to create a
service that performs the upgrades automatically and optionally sends
you an email with the results.
AUH allows you to update several recipes with a single use. You can also
optionally perform build and integration tests using images with the
results saved to your hard drive and emails of results optionally sent
to recipe maintainers. Finally, AUH creates Git commits with appropriate
commit messages in the layer's tree for the changes made to recipes.
.. note::
In some conditions, you should not use AUH to upgrade recipes
and should instead use either ``devtool upgrade`` or upgrade your
recipes manually:
- When AUH cannot complete the upgrade sequence. This situation
usually results because custom patches carried by the recipe
cannot be automatically rebased to the new version. In this case,
``devtool upgrade`` allows you to manually resolve conflicts.
- When for any reason you want fuller control over the upgrade
process. For example, when you want special arrangements for
testing.
The following steps describe how to set up the AUH utility:
#. *Be Sure the Development Host is Set Up:* You need to be sure that
your development host is set up to use the Yocto Project. For
information on how to set up your host, see the
":ref:`dev-manual/start:Preparing the Build Host`" section.
#. *Make Sure Git is Configured:* The AUH utility requires Git to be
configured because AUH uses Git to save upgrades. Thus, you must have
Git user and email configured. The following command shows your
configurations::
$ git config --list
If you do not have the user and
email configured, you can use the following commands to do so::
$ git config --global user.name some_name
$ git config --global user.email username@domain.com
#. *Clone the AUH Repository:* To use AUH, you must clone the repository
onto your development host. The following command uses Git to create
a local copy of the repository on your system::
$ git clone git://git.yoctoproject.org/auto-upgrade-helper
Cloning into 'auto-upgrade-helper'... remote: Counting objects: 768, done.
remote: Compressing objects: 100% (300/300), done.
remote: Total 768 (delta 499), reused 703 (delta 434)
Receiving objects: 100% (768/768), 191.47 KiB | 98.00 KiB/s, done.
Resolving deltas: 100% (499/499), done.
Checking connectivity... done.
AUH is not part of the :term:`OpenEmbedded-Core (OE-Core)` or
:term:`Poky` repositories.
#. *Create a Dedicated Build Directory:* Run the :ref:`structure-core-script`
script to create a fresh :term:`Build Directory` that you use exclusively
for running the AUH utility::
$ cd poky
$ source oe-init-build-env your_AUH_build_directory
Re-using an existing :term:`Build Directory` and its configurations is not
recommended as existing settings could cause AUH to fail or behave
undesirably.
#. *Make Configurations in Your Local Configuration File:* Several
settings are needed in the ``local.conf`` file in the build
directory you just created for AUH. Make these following
configurations:
- If you want to enable :ref:`Build
History <dev-manual/build-quality:maintaining build output quality>`,
which is optional, you need the following lines in the
``conf/local.conf`` file::
INHERIT =+ "buildhistory"
BUILDHISTORY_COMMIT = "1"
With this configuration and a successful
upgrade, a build history "diff" file appears in the
``upgrade-helper/work/recipe/buildhistory-diff.txt`` file found in
your :term:`Build Directory`.
- If you want to enable testing through the :ref:`ref-classes-testimage`
class, which is optional, you need to have the following set in
your ``conf/local.conf`` file::
IMAGE_CLASSES += "testimage"
.. note::
If your distro does not enable by default ptest, which Poky
does, you need the following in your ``local.conf`` file::
DISTRO_FEATURES:append = " ptest"
#. *Optionally Start a vncserver:* If you are running in a server
without an X11 session, you need to start a vncserver::
$ vncserver :1
$ export DISPLAY=:1
#. *Create and Edit an AUH Configuration File:* You need to have the
``upgrade-helper/upgrade-helper.conf`` configuration file in your
:term:`Build Directory`. You can find a sample configuration file in the
:yocto_git:`AUH source repository </auto-upgrade-helper/tree/>`.
Read through the sample file and make configurations as needed. For
example, if you enabled build history in your ``local.conf`` as
described earlier, you must enable it in ``upgrade-helper.conf``.
Also, if you are using the default ``maintainers.inc`` file supplied
with Poky and located in ``meta-yocto`` and you do not set a
"maintainers_whitelist" or "global_maintainer_override" in the
``upgrade-helper.conf`` configuration, and you specify "-e all" on
the AUH command-line, the utility automatically sends out emails to
all the default maintainers. Please avoid this.
This next set of examples describes how to use the AUH:
- *Upgrading a Specific Recipe:* To upgrade a specific recipe, use the
following form::
$ upgrade-helper.py recipe_name
For example, this command upgrades the ``xmodmap`` recipe::
$ upgrade-helper.py xmodmap
- *Upgrading a Specific Recipe to a Particular Version:* To upgrade a
specific recipe to a particular version, use the following form::
$ upgrade-helper.py recipe_name -t version
For example, this command upgrades the ``xmodmap`` recipe to version 1.2.3::
$ upgrade-helper.py xmodmap -t 1.2.3
- *Upgrading all Recipes to the Latest Versions and Suppressing Email
Notifications:* To upgrade all recipes to their most recent versions
and suppress the email notifications, use the following command::
$ upgrade-helper.py all
- *Upgrading all Recipes to the Latest Versions and Send Email
Notifications:* To upgrade all recipes to their most recent versions
and send email messages to maintainers for each attempted recipe as
well as a status email, use the following command::
$ upgrade-helper.py -e all
Once you have run the AUH utility, you can find the results in the AUH
:term:`Build Directory`::
${BUILDDIR}/upgrade-helper/timestamp
The AUH utility
also creates recipe update commits from successful upgrade attempts in
the layer tree.
You can easily set up to run the AUH utility on a regular basis by using
a cron job. See the
:yocto_git:`weeklyjob.sh </auto-upgrade-helper/tree/weeklyjob.sh>`
file distributed with the utility for an example.
Using ``devtool upgrade``
=========================
As mentioned earlier, an alternative method for upgrading recipes to
newer versions is to use
:doc:`devtool upgrade </ref-manual/devtool-reference>`.
You can read about ``devtool upgrade`` in general in the
":ref:`sdk-manual/extensible:use \`\`devtool upgrade\`\` to create a version of the recipe that supports a newer version of the software`"
section in the Yocto Project Application Development and the Extensible
Software Development Kit (eSDK) Manual.
To see all the command-line options available with ``devtool upgrade``,
use the following help command::
$ devtool upgrade -h
If you want to find out what version a recipe is currently at upstream
without any attempt to upgrade your local version of the recipe, you can
use the following command::
$ devtool latest-version recipe_name
As mentioned in the previous section describing AUH, ``devtool upgrade``
works in a less-automated manner than AUH. Specifically,
``devtool upgrade`` only works on a single recipe that you name on the
command line, cannot perform build and integration testing using images,
and does not automatically generate commits for changes in the source
tree. Despite all these "limitations", ``devtool upgrade`` updates the
recipe file to the new upstream version and attempts to rebase custom
patches contained by the recipe as needed.
.. note::
AUH uses much of ``devtool upgrade`` behind the scenes making AUH somewhat
of a "wrapper" application for ``devtool upgrade``.
A typical scenario involves having used Git to clone an upstream
repository that you use during build operations. Because you have built the
recipe in the past, the layer is likely added to your
configuration already. If for some reason, the layer is not added, you
could add it easily using the
":ref:`bitbake-layers <bsp-guide/bsp:creating a new bsp layer using the \`\`bitbake-layers\`\` script>`"
script. For example, suppose you use the ``nano.bb`` recipe from the
``meta-oe`` layer in the ``meta-openembedded`` repository. For this
example, assume that the layer has been cloned into following area::
/home/scottrif/meta-openembedded
The following command from your :term:`Build Directory` adds the layer to
your build configuration (i.e. ``${BUILDDIR}/conf/bblayers.conf``)::
$ bitbake-layers add-layer /home/scottrif/meta-openembedded/meta-oe
NOTE: Starting bitbake server...
Parsing recipes: 100% |##########################################| Time: 0:00:55
Parsing of 1431 .bb files complete (0 cached, 1431 parsed). 2040 targets, 56 skipped, 0 masked, 0 errors.
Removing 12 recipes from the x86_64 sysroot: 100% |##############| Time: 0:00:00
Removing 1 recipes from the x86_64_i586 sysroot: 100% |##########| Time: 0:00:00
Removing 5 recipes from the i586 sysroot: 100% |#################| Time: 0:00:00
Removing 5 recipes from the qemux86 sysroot: 100% |##############| Time: 0:00:00
For this example, assume that the ``nano.bb`` recipe that
is upstream has a 2.9.3 version number. However, the version in the
local repository is 2.7.4. The following command from your build
directory automatically upgrades the recipe for you::
$ devtool upgrade nano -V 2.9.3
NOTE: Starting bitbake server...
NOTE: Creating workspace layer in /home/scottrif/poky/build/workspace
Parsing recipes: 100% |##########################################| Time: 0:00:46
Parsing of 1431 .bb files complete (0 cached, 1431 parsed). 2040 targets, 56 skipped, 0 masked, 0 errors.
NOTE: Extracting current version source...
NOTE: Resolving any missing task queue dependencies
.
.
.
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 74 tasks of which 72 didn't need to be rerun and all succeeded.
Adding changed files: 100% |#####################################| Time: 0:00:00
NOTE: Upgraded source extracted to /home/scottrif/poky/build/workspace/sources/nano
NOTE: New recipe is /home/scottrif/poky/build/workspace/recipes/nano/nano_2.9.3.bb
.. note::
Using the ``-V`` option is not necessary. Omitting the version number causes
``devtool upgrade`` to upgrade the recipe to the most recent version.
Continuing with this example, you can use ``devtool build`` to build the
newly upgraded recipe::
$ devtool build nano
NOTE: Starting bitbake server...
Loading cache: 100% |################################################################################################| Time: 0:00:01
Loaded 2040 entries from dependency cache.
Parsing recipes: 100% |##############################################################################################| Time: 0:00:00
Parsing of 1432 .bb files complete (1431 cached, 1 parsed). 2041 targets, 56 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
.
.
.
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: nano: compiling from external source tree /home/scottrif/poky/build/workspace/sources/nano
NOTE: Tasks Summary: Attempted 520 tasks of which 304 didn't need to be rerun and all succeeded.
Within the ``devtool upgrade`` workflow, you can
deploy and test your rebuilt software. For this example,
however, running ``devtool finish`` cleans up the workspace once the
source in your workspace is clean. This usually means using Git to stage
and submit commits for the changes generated by the upgrade process.
Once the tree is clean, you can clean things up in this example with the
following command from the ``${BUILDDIR}/workspace/sources/nano``
directory::
$ devtool finish nano meta-oe
NOTE: Starting bitbake server...
Loading cache: 100% |################################################################################################| Time: 0:00:00
Loaded 2040 entries from dependency cache.
Parsing recipes: 100% |##############################################################################################| Time: 0:00:01
Parsing of 1432 .bb files complete (1431 cached, 1 parsed). 2041 targets, 56 skipped, 0 masked, 0 errors.
NOTE: Adding new patch 0001-nano.bb-Stuff-I-changed-when-upgrading-nano.bb.patch
NOTE: Updating recipe nano_2.9.3.bb
NOTE: Removing file /home/scottrif/meta-openembedded/meta-oe/recipes-support/nano/nano_2.7.4.bb
NOTE: Moving recipe file to /home/scottrif/meta-openembedded/meta-oe/recipes-support/nano
NOTE: Leaving source tree /home/scottrif/poky/build/workspace/sources/nano as-is; if you no longer need it then please delete it manually
Using the ``devtool finish`` command cleans up the workspace and creates a patch
file based on your commits. The tool puts all patch files back into the
source directory in a sub-directory named ``nano`` in this case.
Manually Upgrading a Recipe
===========================
If for some reason you choose not to upgrade recipes using
:ref:`dev-manual/upgrading-recipes:Using the Auto Upgrade Helper (AUH)` or
by :ref:`dev-manual/upgrading-recipes:Using \`\`devtool upgrade\`\``,
you can manually edit the recipe files to upgrade the versions.
.. note::
Manually updating multiple recipes scales poorly and involves many
steps. The recommendation to upgrade recipe versions is through AUH
or ``devtool upgrade``, both of which automate some steps and provide
guidance for others needed for the manual process.
To manually upgrade recipe versions, follow these general steps:
#. *Change the Version:* Rename the recipe such that the version (i.e.
the :term:`PV` part of the recipe name)
changes appropriately. If the version is not part of the recipe name,
change the value as it is set for :term:`PV` within the recipe itself.
#. *Update* :term:`SRCREV` *if Needed*: If the source code your recipe builds
is fetched from Git or some other version control system, update
:term:`SRCREV` to point to the
commit hash that matches the new version.
#. *Build the Software:* Try to build the recipe using BitBake. Typical
build failures include the following:
- License statements were updated for the new version. For this
case, you need to review any changes to the license and update the
values of :term:`LICENSE` and
:term:`LIC_FILES_CHKSUM`
as needed.
.. note::
License changes are often inconsequential. For example, the
license text's copyright year might have changed.
- Custom patches carried by the older version of the recipe might
fail to apply to the new version. For these cases, you need to
review the failures. Patches might not be necessary for the new
version of the software if the upgraded version has fixed those
issues. If a patch is necessary and failing, you need to rebase it
into the new version.
#. *Optionally Attempt to Build for Several Architectures:* Once you
successfully build the new software for a given architecture, you
could test the build for other architectures by changing the
:term:`MACHINE` variable and
rebuilding the software. This optional step is especially important
if the recipe is to be released publicly.
#. *Check the Upstream Change Log or Release Notes:* Checking both these
reveals if there are new features that could break
backwards-compatibility. If so, you need to take steps to mitigate or
eliminate that situation.
#. *Optionally Create a Bootable Image and Test:* If you want, you can
test the new software by booting it onto actual hardware.
#. *Create a Commit with the Change in the Layer Repository:* After all
builds work and any testing is successful, you can create commits for
any changes in the layer holding your upgraded recipe.

View File

@@ -0,0 +1,214 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Checking for Vulnerabilities
****************************
Vulnerabilities in Poky and OE-Core
===================================
The Yocto Project has an infrastructure to track and address unfixed
known security vulnerabilities, as tracked by the public
:wikipedia:`Common Vulnerabilities and Exposures (CVE) <Common_Vulnerabilities_and_Exposures>`
database.
The Yocto Project maintains a `list of known vulnerabilities
<https://autobuilder.yocto.io/pub/non-release/patchmetrics/>`__
for packages in Poky and OE-Core, tracking the evolution of the number of
unpatched CVEs and the status of patches. Such information is available for
the current development version and for each supported release.
Security is a process, not a product, and thus at any time, a number of security
issues may be impacting Poky and OE-Core. It is up to the maintainers, users,
contributors and anyone interested in the issues to investigate and possibly fix them by
updating software components to newer versions or by applying patches to address them.
It is recommended to work with Poky and OE-Core upstream maintainers and submit
patches to fix them, see ":doc:`../contributor-guide/submit-changes`" for details.
Vulnerability check at build time
=================================
To enable a check for CVE security vulnerabilities using
:ref:`ref-classes-cve-check` in the specific image or target you are building,
add the following setting to your configuration::
INHERIT += "cve-check"
The CVE database contains some old incomplete entries which have been
deemed not to impact Poky or OE-Core. These CVE entries can be excluded from the
check using build configuration::
include conf/distro/include/cve-extra-exclusions.inc
With this CVE check enabled, BitBake build will try to map each compiled software component
recipe name and version information to the CVE database and generate recipe and
image specific reports. These reports will contain:
- metadata about the software component like names and versions
- metadata about the CVE issue such as description and NVD link
- for each software component, a list of CVEs which are possibly impacting this version
- status of each CVE: ``Patched``, ``Unpatched`` or ``Ignored``
The status ``Patched`` means that a patch file to address the security issue has been
applied. ``Unpatched`` status means that no patches to address the issue have been
applied and that the issue needs to be investigated. ``Ignored`` means that after
analysis, it has been deemed to ignore the issue as it for example affects
the software component on a different operating system platform.
After a build with CVE check enabled, reports for each compiled source recipe will be
found in ``build/tmp/deploy/cve``.
For example the CVE check report for the ``flex-native`` recipe looks like::
$ cat poky/build/tmp/deploy/cve/flex-native
LAYER: meta
PACKAGE NAME: flex-native
PACKAGE VERSION: 2.6.4
CVE: CVE-2016-6354
CVE STATUS: Patched
CVE SUMMARY: Heap-based buffer overflow in the yy_get_next_buffer function in Flex before 2.6.1 might allow context-dependent attackers to cause a denial of service or possibly execute arbitrary code via vectors involving num_to_read.
CVSS v2 BASE SCORE: 7.5
CVSS v3 BASE SCORE: 9.8
VECTOR: NETWORK
MORE INFORMATION: https://nvd.nist.gov/vuln/detail/CVE-2016-6354
LAYER: meta
PACKAGE NAME: flex-native
PACKAGE VERSION: 2.6.4
CVE: CVE-2019-6293
CVE STATUS: Ignored
CVE SUMMARY: An issue was discovered in the function mark_beginning_as_normal in nfa.c in flex 2.6.4. There is a stack exhaustion problem caused by the mark_beginning_as_normal function making recursive calls to itself in certain scenarios involving lots of '*' characters. Remote attackers could leverage this vulnerability to cause a denial-of-service.
CVSS v2 BASE SCORE: 4.3
CVSS v3 BASE SCORE: 5.5
VECTOR: NETWORK
MORE INFORMATION: https://nvd.nist.gov/vuln/detail/CVE-2019-6293
For images, a summary of all recipes included in the image and their CVEs is also
generated in textual and JSON formats. These ``.cve`` and ``.json`` reports can be found
in the ``tmp/deploy/images`` directory for each compiled image.
At build time CVE check will also throw warnings about ``Unpatched`` CVEs::
WARNING: flex-2.6.4-r0 do_cve_check: Found unpatched CVE (CVE-2019-6293), for more information check /poky/build/tmp/work/core2-64-poky-linux/flex/2.6.4-r0/temp/cve.log
WARNING: libarchive-3.5.1-r0 do_cve_check: Found unpatched CVE (CVE-2021-36976), for more information check /poky/build/tmp/work/core2-64-poky-linux/libarchive/3.5.1-r0/temp/cve.log
It is also possible to check the CVE status of individual packages as follows::
bitbake -c cve_check flex libarchive
Fixing CVE product name and version mappings
============================================
By default, :ref:`ref-classes-cve-check` uses the recipe name :term:`BPN` as CVE
product name when querying the CVE database. If this mapping contains false positives, e.g.
some reported CVEs are not for the software component in question, or false negatives like
some CVEs are not found to impact the recipe when they should, then the problems can be
in the recipe name to CVE product mapping. These mapping issues can be fixed by setting
the :term:`CVE_PRODUCT` variable inside the recipe. This defines the name of the software component in the
upstream `NIST CVE database <https://nvd.nist.gov/>`__.
The variable supports using vendor and product names like this::
CVE_PRODUCT = "flex_project:flex"
In this example the vendor name used in the CVE database is ``flex_project`` and the
product is ``flex``. With this setting the ``flex`` recipe only maps to this specific
product and not products from other vendors with same name ``flex``.
Similarly, when the recipe version :term:`PV` is not compatible with software versions used by
the upstream software component releases and the CVE database, these can be fixed using
the :term:`CVE_VERSION` variable.
Note that if the CVE entries in the NVD database contain bugs or have missing or incomplete
information, it is recommended to fix the information there directly instead of working
around the issues possibly for a long time in Poky and OE-Core side recipes. Feedback to
NVD about CVE entries can be provided through the `NVD contact form <https://nvd.nist.gov/info/contact-form>`__.
Fixing vulnerabilities in recipes
=================================
If a CVE security issue impacts a software component, it can be fixed by updating to a newer
version of the software component or by applying a patch. For Poky and OE-Core master branches, updating
to a newer software component release with fixes is the best option, but patches can be applied
if releases are not yet available.
For stable branches, it is preferred to apply patches for the issues. For some software
components minor version updates can also be applied if they are backwards compatible.
Here is an example of fixing CVE security issues with patch files,
an example from the :oe_layerindex:`ffmpeg recipe</layerindex/recipe/47350>`::
SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
file://0001-libavutil-include-assembly-with-full-path-from-sourc.patch \
file://fix-CVE-2020-20446.patch \
file://fix-CVE-2020-20453.patch \
file://fix-CVE-2020-22015.patch \
file://fix-CVE-2020-22021.patch \
file://fix-CVE-2020-22033-CVE-2020-22019.patch \
file://fix-CVE-2021-33815.patch \
A good practice is to include the CVE identifier in both the patch file name
and inside the patch file commit message using the format::
CVE: CVE-2020-22033
CVE checker will then capture this information and change the CVE status to ``Patched``
in the generated reports.
If analysis shows that the CVE issue does not impact the recipe due to configuration, platform,
version or other reasons, the CVE can be marked as ``Ignored`` using the :term:`CVE_CHECK_IGNORE` variable.
As mentioned previously, if data in the CVE database is wrong, it is recommend to fix those
issues in the CVE database directly.
Recipes can be completely skipped by CVE check by including the recipe name in
the :term:`CVE_CHECK_SKIP_RECIPE` variable.
Implementation details
======================
Here's what the :ref:`ref-classes-cve-check` class does to find unpatched CVE IDs.
First the code goes through each patch file provided by a recipe. If a valid CVE ID
is found in the name of the file, the corresponding CVE is considered as patched.
Don't forget that if multiple CVE IDs are found in the filename, only the last
one is considered. Then, the code looks for ``CVE: CVE-ID`` lines in the patch
file. The found CVE IDs are also considered as patched.
Then, the code looks up all the CVE IDs in the NIST database for all the
products defined in :term:`CVE_PRODUCT`. Then, for each found CVE:
- If the package name (:term:`PN`) is part of
:term:`CVE_CHECK_SKIP_RECIPE`, it is considered as ``Patched``.
- If the CVE ID is part of :term:`CVE_CHECK_IGNORE`, it is
set as ``Ignored``.
- If the CVE ID is part of the patched CVE for the recipe, it is
already considered as ``Patched``.
- Otherwise, the code checks whether the recipe version (:term:`PV`)
is within the range of versions impacted by the CVE. If so, the CVE
is considered as ``Unpatched``.
The CVE database is stored in :term:`DL_DIR` and can be inspected using
``sqlite3`` command as follows::
sqlite3 downloads/CVE_CHECK/nvdcve_1.1.db .dump | grep CVE-2021-37462
When analyzing CVEs, it is recommended to:
- study the latest information in `CVE database <https://nvd.nist.gov/vuln/search>`__.
- check how upstream developers of the software component addressed the issue, e.g.
what patch was applied, which upstream release contains the fix.
- check what other Linux distributions like `Debian <https://security-tracker.debian.org/tracker/>`__
did to analyze and address the issue.
- follow security notices from other Linux distributions.
- follow public `open source security mailing lists <https://oss-security.openwall.org/wiki/mailing-lists>`__ for
discussions and advance notifications of CVE bugs and software releases with fixes.

View File

@@ -0,0 +1,90 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Using Wayland and Weston
************************
:wikipedia:`Wayland <Wayland_(display_server_protocol)>`
is a computer display server protocol that provides a method for
compositing window managers to communicate directly with applications
and video hardware and expects them to communicate with input hardware
using other libraries. Using Wayland with supporting targets can result
in better control over graphics frame rendering than an application
might otherwise achieve.
The Yocto Project provides the Wayland protocol libraries and the
reference :wikipedia:`Weston <Wayland_(display_server_protocol)#Weston>`
compositor as part of its release. You can find the integrated packages
in the ``meta`` layer of the :term:`Source Directory`.
Specifically, you
can find the recipes that build both Wayland and Weston at
``meta/recipes-graphics/wayland``.
You can build both the Wayland and Weston packages for use only with targets
that accept the :wikipedia:`Mesa 3D and Direct Rendering Infrastructure
<Mesa_(computer_graphics)>`, which is also known as Mesa DRI. This implies that
you cannot build and use the packages if your target uses, for example, the
Intel Embedded Media and Graphics Driver (Intel EMGD) that overrides Mesa DRI.
.. note::
Due to lack of EGL support, Weston 1.0.3 will not run directly on the
emulated QEMU hardware. However, this version of Weston will run
under X emulation without issues.
This section describes what you need to do to implement Wayland and use
the Weston compositor when building an image for a supporting target.
Enabling Wayland in an Image
============================
To enable Wayland, you need to enable it to be built and enable it to be
included (installed) in the image.
Building Wayland
----------------
To cause Mesa to build the ``wayland-egl`` platform and Weston to build
Wayland with Kernel Mode Setting
(`KMS <https://wiki.archlinux.org/index.php/Kernel_Mode_Setting>`__)
support, include the "wayland" flag in the
:term:`DISTRO_FEATURES`
statement in your ``local.conf`` file::
DISTRO_FEATURES:append = " wayland"
.. note::
If X11 has been enabled elsewhere, Weston will build Wayland with X11
support
Installing Wayland and Weston
-----------------------------
To install the Wayland feature into an image, you must include the
following
:term:`CORE_IMAGE_EXTRA_INSTALL`
statement in your ``local.conf`` file::
CORE_IMAGE_EXTRA_INSTALL += "wayland weston"
Running Weston
==============
To run Weston inside X11, enabling it as described earlier and building
a Sato image is sufficient. If you are running your image under Sato, a
Weston Launcher appears in the "Utility" category.
Alternatively, you can run Weston through the command-line interpretor
(CLI), which is better suited for development work. To run Weston under
the CLI, you need to do the following after your image is built:
#. Run these commands to export ``XDG_RUNTIME_DIR``::
mkdir -p /tmp/$USER-weston
chmod 0700 /tmp/$USER-weston
export XDG_RUNTIME_DIR=/tmp/$USER-weston
#. Launch Weston in the shell::
weston

View File

@@ -0,0 +1,732 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Creating Partitioned Images Using Wic
*************************************
Creating an image for a particular hardware target using the
OpenEmbedded build system does not necessarily mean you can boot that
image as is on your device. Physical devices accept and boot images in
various ways depending on the specifics of the device. Usually,
information about the hardware can tell you what image format the device
requires. Should your device require multiple partitions on an SD card,
flash, or an HDD, you can use the OpenEmbedded Image Creator, Wic, to
create the properly partitioned image.
The ``wic`` command generates partitioned images from existing
OpenEmbedded build artifacts. Image generation is driven by partitioning
commands contained in an OpenEmbedded kickstart file (``.wks``)
specified either directly on the command line or as one of a selection
of canned kickstart files as shown with the ``wic list images`` command
in the
":ref:`dev-manual/wic:generate an image using an existing kickstart file`"
section. When you apply the command to a given set of build artifacts, the
result is an image or set of images that can be directly written onto media and
used on a particular system.
.. note::
For a kickstart file reference, see the
":ref:`ref-manual/kickstart:openembedded kickstart (\`\`.wks\`\`) reference`"
Chapter in the Yocto Project Reference Manual.
The ``wic`` command and the infrastructure it is based on is by
definition incomplete. The purpose of the command is to allow the
generation of customized images, and as such, was designed to be
completely extensible through a plugin interface. See the
":ref:`dev-manual/wic:using the wic plugin interface`" section
for information on these plugins.
This section provides some background information on Wic, describes what
you need to have in place to run the tool, provides instruction on how
to use the Wic utility, provides information on using the Wic plugins
interface, and provides several examples that show how to use Wic.
Background
==========
This section provides some background on the Wic utility. While none of
this information is required to use Wic, you might find it interesting.
- The name "Wic" is derived from OpenEmbedded Image Creator (oeic). The
"oe" diphthong in "oeic" was promoted to the letter "w", because
"oeic" is both difficult to remember and to pronounce.
- Wic is loosely based on the Meego Image Creator (``mic``) framework.
The Wic implementation has been heavily modified to make direct use
of OpenEmbedded build artifacts instead of package installation and
configuration, which are already incorporated within the OpenEmbedded
artifacts.
- Wic is a completely independent standalone utility that initially
provides easier-to-use and more flexible replacements for an existing
functionality in OE-Core's :ref:`ref-classes-image-live`
class. The difference between Wic and those examples is that with Wic
the functionality of those scripts is implemented by a
general-purpose partitioning language, which is based on Redhat
kickstart syntax.
Requirements
============
In order to use the Wic utility with the OpenEmbedded Build system, your
system needs to meet the following requirements:
- The Linux distribution on your development host must support the
Yocto Project. See the ":ref:`detailed-supported-distros`"
section in the Yocto Project Reference Manual for the list of
distributions that support the Yocto Project.
- The standard system utilities, such as ``cp``, must be installed on
your development host system.
- You must have sourced the build environment setup script (i.e.
:ref:`structure-core-script`) found in the :term:`Build Directory`.
- You need to have the build artifacts already available, which
typically means that you must have already created an image using the
OpenEmbedded build system (e.g. ``core-image-minimal``). While it
might seem redundant to generate an image in order to create an image
using Wic, the current version of Wic requires the artifacts in the
form generated by the OpenEmbedded build system.
- You must build several native tools, which are built to run on the
build system::
$ bitbake wic-tools
- Include "wic" as part of the
:term:`IMAGE_FSTYPES`
variable.
- Include the name of the :ref:`wic kickstart file <openembedded-kickstart-wks-reference>`
as part of the :term:`WKS_FILE` variable. If multiple candidate files can
be provided by different layers, specify all the possible names through the
:term:`WKS_FILES` variable instead.
Getting Help
============
You can get general help for the ``wic`` command by entering the ``wic``
command by itself or by entering the command with a help argument as
follows::
$ wic -h
$ wic --help
$ wic help
Currently, Wic supports seven commands: ``cp``, ``create``, ``help``,
``list``, ``ls``, ``rm``, and ``write``. You can get help for all these
commands except "help" by using the following form::
$ wic help command
For example, the following command returns help for the ``write``
command::
$ wic help write
Wic supports help for three topics: ``overview``, ``plugins``, and
``kickstart``. You can get help for any topic using the following form::
$ wic help topic
For example, the following returns overview help for Wic::
$ wic help overview
There is one additional level of help for Wic. You can get help on
individual images through the ``list`` command. You can use the ``list``
command to return the available Wic images as follows::
$ wic list images
genericx86 Create an EFI disk image for genericx86*
edgerouter Create SD card image for Edgerouter
beaglebone-yocto Create SD card image for Beaglebone
qemuriscv Create qcow2 image for RISC-V QEMU machines
mkefidisk Create an EFI disk image
directdisk-multi-rootfs Create multi rootfs image using rootfs plugin
directdisk Create a 'pcbios' direct disk image
efi-bootdisk
mkhybridiso Create a hybrid ISO image
directdisk-gpt Create a 'pcbios' direct disk image
systemd-bootdisk Create an EFI disk image with systemd-boot
sdimage-bootpart Create SD card image with a boot partition
qemux86-directdisk Create a qemu machine 'pcbios' direct disk image
directdisk-bootloader-config Create a 'pcbios' direct disk image with custom bootloader config
Once you know the list of available
Wic images, you can use ``help`` with the command to get help on a
particular image. For example, the following command returns help on the
"beaglebone-yocto" image::
$ wic list beaglebone-yocto help
Creates a partitioned SD card image for Beaglebone.
Boot files are located in the first vfat partition.
Operational Modes
=================
You can use Wic in two different modes, depending on how much control
you need for specifying the OpenEmbedded build artifacts that are used
for creating the image: Raw and Cooked:
- *Raw Mode:* You explicitly specify build artifacts through Wic
command-line arguments.
- *Cooked Mode:* The current
:term:`MACHINE` setting and image
name are used to automatically locate and provide the build
artifacts. You just supply a kickstart file and the name of the image
from which to use artifacts.
Regardless of the mode you use, you need to have the build artifacts
ready and available.
Raw Mode
--------
Running Wic in raw mode allows you to specify all the partitions through
the ``wic`` command line. The primary use for raw mode is if you have
built your kernel outside of the Yocto Project :term:`Build Directory`.
In other words, you can point to arbitrary kernel, root filesystem locations,
and so forth. Contrast this behavior with cooked mode where Wic looks in the
:term:`Build Directory` (e.g. ``tmp/deploy/images/``\ machine).
The general form of the ``wic`` command in raw mode is::
$ wic create wks_file options ...
Where:
wks_file:
An OpenEmbedded kickstart file. You can provide
your own custom file or use a file from a set of
existing files as described by further options.
optional arguments:
-h, --help show this help message and exit
-o OUTDIR, --outdir OUTDIR
name of directory to create image in
-e IMAGE_NAME, --image-name IMAGE_NAME
name of the image to use the artifacts from e.g. core-
image-sato
-r ROOTFS_DIR, --rootfs-dir ROOTFS_DIR
path to the /rootfs dir to use as the .wks rootfs
source
-b BOOTIMG_DIR, --bootimg-dir BOOTIMG_DIR
path to the dir containing the boot artifacts (e.g.
/EFI or /syslinux dirs) to use as the .wks bootimg
source
-k KERNEL_DIR, --kernel-dir KERNEL_DIR
path to the dir containing the kernel to use in the
.wks bootimg
-n NATIVE_SYSROOT, --native-sysroot NATIVE_SYSROOT
path to the native sysroot containing the tools to use
to build the image
-s, --skip-build-check
skip the build check
-f, --build-rootfs build rootfs
-c {gzip,bzip2,xz}, --compress-with {gzip,bzip2,xz}
compress image with specified compressor
-m, --bmap generate .bmap
--no-fstab-update Do not change fstab file.
-v VARS_DIR, --vars VARS_DIR
directory with <image>.env files that store bitbake
variables
-D, --debug output debug information
.. note::
You do not need root privileges to run Wic. In fact, you should not
run as root when using the utility.
Cooked Mode
-----------
Running Wic in cooked mode leverages off artifacts in the
:term:`Build Directory`. In other words, you do not have to specify kernel or
root filesystem locations as part of the command. All you need to provide is
a kickstart file and the name of the image from which to use artifacts
by using the "-e" option. Wic looks in the :term:`Build Directory` (e.g.
``tmp/deploy/images/``\ machine) for artifacts.
The general form of the ``wic`` command using Cooked Mode is as follows::
$ wic create wks_file -e IMAGE_NAME
Where:
wks_file:
An OpenEmbedded kickstart file. You can provide
your own custom file or use a file from a set of
existing files provided with the Yocto Project
release.
required argument:
-e IMAGE_NAME, --image-name IMAGE_NAME
name of the image to use the artifacts from e.g. core-
image-sato
Using an Existing Kickstart File
================================
If you do not want to create your own kickstart file, you can use an
existing file provided by the Wic installation. As shipped, kickstart
files can be found in the :ref:`overview-manual/development-environment:yocto project source repositories` in the
following two locations::
poky/meta-yocto-bsp/wic
poky/scripts/lib/wic/canned-wks
Use the following command to list the available kickstart files::
$ wic list images
genericx86 Create an EFI disk image for genericx86*
edgerouter Create SD card image for Edgerouter
beaglebone-yocto Create SD card image for Beaglebone
qemuriscv Create qcow2 image for RISC-V QEMU machines
mkefidisk Create an EFI disk image
directdisk-multi-rootfs Create multi rootfs image using rootfs plugin
directdisk Create a 'pcbios' direct disk image
efi-bootdisk
mkhybridiso Create a hybrid ISO image
directdisk-gpt Create a 'pcbios' direct disk image
systemd-bootdisk Create an EFI disk image with systemd-boot
sdimage-bootpart Create SD card image with a boot partition
qemux86-directdisk Create a qemu machine 'pcbios' direct disk image
directdisk-bootloader-config Create a 'pcbios' direct disk image with custom bootloader config
When you use an existing file, you
do not have to use the ``.wks`` extension. Here is an example in Raw
Mode that uses the ``directdisk`` file::
$ wic create directdisk -r rootfs_dir -b bootimg_dir \
-k kernel_dir -n native_sysroot
Here are the actual partition language commands used in the
``genericx86.wks`` file to generate an image::
# short-description: Create an EFI disk image for genericx86*
# long-description: Creates a partitioned EFI disk image for genericx86* machines
part /boot --source bootimg-efi --sourceparams="loader=grub-efi" --ondisk sda --label msdos --active --align 1024
part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 --use-uuid
part swap --ondisk sda --size 44 --label swap1 --fstype=swap
bootloader --ptable gpt --timeout=5 --append="rootfstype=ext4 console=ttyS0,115200 console=tty0"
Using the Wic Plugin Interface
==============================
You can extend and specialize Wic functionality by using Wic plugins.
This section explains the Wic plugin interface.
.. note::
Wic plugins consist of "source" and "imager" plugins. Imager plugins
are beyond the scope of this section.
Source plugins provide a mechanism to customize partition content during
the Wic image generation process. You can use source plugins to map
values that you specify using ``--source`` commands in kickstart files
(i.e. ``*.wks``) to a plugin implementation used to populate a given
partition.
.. note::
If you use plugins that have build-time dependencies (e.g. native
tools, bootloaders, and so forth) when building a Wic image, you need
to specify those dependencies using the :term:`WKS_FILE_DEPENDS`
variable.
Source plugins are subclasses defined in plugin files. As shipped, the
Yocto Project provides several plugin files. You can see the source
plugin files that ship with the Yocto Project
:yocto_git:`here </poky/tree/scripts/lib/wic/plugins/source>`.
Each of these plugin files contains source plugins that are designed to
populate a specific Wic image partition.
Source plugins are subclasses of the ``SourcePlugin`` class, which is
defined in the ``poky/scripts/lib/wic/pluginbase.py`` file. For example,
the ``BootimgEFIPlugin`` source plugin found in the ``bootimg-efi.py``
file is a subclass of the ``SourcePlugin`` class, which is found in the
``pluginbase.py`` file.
You can also implement source plugins in a layer outside of the Source
Repositories (external layer). To do so, be sure that your plugin files
are located in a directory whose path is
``scripts/lib/wic/plugins/source/`` within your external layer. When the
plugin files are located there, the source plugins they contain are made
available to Wic.
When the Wic implementation needs to invoke a partition-specific
implementation, it looks for the plugin with the same name as the
``--source`` parameter used in the kickstart file given to that
partition. For example, if the partition is set up using the following
command in a kickstart file::
part /boot --source bootimg-pcbios --ondisk sda --label boot --active --align 1024
The methods defined as class
members of the matching source plugin (i.e. ``bootimg-pcbios``) in the
``bootimg-pcbios.py`` plugin file are used.
To be more concrete, here is the corresponding plugin definition from
the ``bootimg-pcbios.py`` file for the previous command along with an
example method called by the Wic implementation when it needs to prepare
a partition using an implementation-specific function::
.
.
.
class BootimgPcbiosPlugin(SourcePlugin):
"""
Create MBR boot partition and install syslinux on it.
"""
name = 'bootimg-pcbios'
.
.
.
@classmethod
def do_prepare_partition(cls, part, source_params, creator, cr_workdir,
oe_builddir, bootimg_dir, kernel_dir,
rootfs_dir, native_sysroot):
"""
Called to do the actual content population for a partition i.e. it
'prepares' the partition to be incorporated into the image.
In this case, prepare content for legacy bios boot partition.
"""
.
.
.
If a
subclass (plugin) itself does not implement a particular function, Wic
locates and uses the default version in the superclass. It is for this
reason that all source plugins are derived from the ``SourcePlugin``
class.
The ``SourcePlugin`` class defined in the ``pluginbase.py`` file defines
a set of methods that source plugins can implement or override. Any
plugins (subclass of ``SourcePlugin``) that do not implement a
particular method inherit the implementation of the method from the
``SourcePlugin`` class. For more information, see the ``SourcePlugin``
class in the ``pluginbase.py`` file for details:
The following list describes the methods implemented in the
``SourcePlugin`` class:
- ``do_prepare_partition()``: Called to populate a partition with
actual content. In other words, the method prepares the final
partition image that is incorporated into the disk image.
- ``do_configure_partition()``: Called before
``do_prepare_partition()`` to create custom configuration files for a
partition (e.g. syslinux or grub configuration files).
- ``do_install_disk()``: Called after all partitions have been
prepared and assembled into a disk image. This method provides a hook
to allow finalization of a disk image (e.g. writing an MBR).
- ``do_stage_partition()``: Special content-staging hook called
before ``do_prepare_partition()``. This method is normally empty.
Typically, a partition just uses the passed-in parameters (e.g. the
unmodified value of ``bootimg_dir``). However, in some cases, things
might need to be more tailored. As an example, certain files might
additionally need to be taken from ``bootimg_dir + /boot``. This hook
allows those files to be staged in a customized fashion.
.. note::
``get_bitbake_var()`` allows you to access non-standard variables that
you might want to use for this behavior.
You can extend the source plugin mechanism. To add more hooks, create
more source plugin methods within ``SourcePlugin`` and the corresponding
derived subclasses. The code that calls the plugin methods uses the
``plugin.get_source_plugin_methods()`` function to find the method or
methods needed by the call. Retrieval of those methods is accomplished
by filling up a dict with keys that contain the method names of
interest. On success, these will be filled in with the actual methods.
See the Wic implementation for examples and details.
Wic Examples
============
This section provides several examples that show how to use the Wic
utility. All the examples assume the list of requirements in the
":ref:`dev-manual/wic:requirements`" section have been met. The
examples assume the previously generated image is
``core-image-minimal``.
Generate an Image using an Existing Kickstart File
--------------------------------------------------
This example runs in Cooked Mode and uses the ``mkefidisk`` kickstart
file::
$ wic create mkefidisk -e core-image-minimal
INFO: Building wic-tools...
.
.
.
INFO: The new image(s) can be found here:
./mkefidisk-201804191017-sda.direct
The following build artifacts were used to create the image(s):
ROOTFS_DIR: /home/stephano/yocto/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/rootfs
BOOTIMG_DIR: /home/stephano/yocto/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/share
KERNEL_DIR: /home/stephano/yocto/build/tmp-glibc/deploy/images/qemux86
NATIVE_SYSROOT: /home/stephano/yocto/build/tmp-glibc/work/i586-oe-linux/wic-tools/1.0-r0/recipe-sysroot-native
INFO: The image(s) were created using OE kickstart file:
/home/stephano/yocto/openembedded-core/scripts/lib/wic/canned-wks/mkefidisk.wks
The previous example shows the easiest way to create an image by running
in cooked mode and supplying a kickstart file and the "-e" option to
point to the existing build artifacts. Your ``local.conf`` file needs to
have the :term:`MACHINE` variable set
to the machine you are using, which is "qemux86" in this example.
Once the image builds, the output provides image location, artifact use,
and kickstart file information.
.. note::
You should always verify the details provided in the output to make
sure that the image was indeed created exactly as expected.
Continuing with the example, you can now write the image from the
:term:`Build Directory` onto a USB stick, or whatever media for which you
built your image, and boot from the media. You can write the image by using
``bmaptool`` or ``dd``::
$ oe-run-native bmap-tools-native bmaptool copy mkefidisk-201804191017-sda.direct /dev/sdX
or ::
$ sudo dd if=mkefidisk-201804191017-sda.direct of=/dev/sdX
.. note::
For more information on how to use the ``bmaptool``
to flash a device with an image, see the
":ref:`dev-manual/bmaptool:flashing images using \`\`bmaptool\`\``"
section.
Using a Modified Kickstart File
-------------------------------
Because partitioned image creation is driven by the kickstart file, it
is easy to affect image creation by changing the parameters in the file.
This next example demonstrates that through modification of the
``directdisk-gpt`` kickstart file.
As mentioned earlier, you can use the command ``wic list images`` to
show the list of existing kickstart files. The directory in which the
``directdisk-gpt.wks`` file resides is
``scripts/lib/image/canned-wks/``, which is located in the
:term:`Source Directory` (e.g. ``poky``).
Because available files reside in this directory, you can create and add
your own custom files to the directory. Subsequent use of the
``wic list images`` command would then include your kickstart files.
In this example, the existing ``directdisk-gpt`` file already does most
of what is needed. However, for the hardware in this example, the image
will need to boot from ``sdb`` instead of ``sda``, which is what the
``directdisk-gpt`` kickstart file uses.
The example begins by making a copy of the ``directdisk-gpt.wks`` file
in the ``scripts/lib/image/canned-wks`` directory and then by changing
the lines that specify the target disk from which to boot::
$ cp /home/stephano/yocto/poky/scripts/lib/wic/canned-wks/directdisk-gpt.wks \
/home/stephano/yocto/poky/scripts/lib/wic/canned-wks/directdisksdb-gpt.wks
Next, the example modifies the ``directdisksdb-gpt.wks`` file and
changes all instances of "``--ondisk sda``" to "``--ondisk sdb``". The
example changes the following two lines and leaves the remaining lines
untouched::
part /boot --source bootimg-pcbios --ondisk sdb --label boot --active --align 1024
part / --source rootfs --ondisk sdb --fstype=ext4 --label platform --align 1024 --use-uuid
Once the lines are changed, the
example generates the ``directdisksdb-gpt`` image. The command points
the process at the ``core-image-minimal`` artifacts for the Next Unit of
Computing (nuc) :term:`MACHINE` the
``local.conf``::
$ wic create directdisksdb-gpt -e core-image-minimal
INFO: Building wic-tools...
.
.
.
Initialising tasks: 100% |#######################################| Time: 0:00:01
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 1161 tasks of which 1157 didn't need to be rerun and all succeeded.
INFO: Creating image(s)...
INFO: The new image(s) can be found here:
./directdisksdb-gpt-201710090938-sdb.direct
The following build artifacts were used to create the image(s):
ROOTFS_DIR: /home/stephano/yocto/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/rootfs
BOOTIMG_DIR: /home/stephano/yocto/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/share
KERNEL_DIR: /home/stephano/yocto/build/tmp-glibc/deploy/images/qemux86
NATIVE_SYSROOT: /home/stephano/yocto/build/tmp-glibc/work/i586-oe-linux/wic-tools/1.0-r0/recipe-sysroot-native
INFO: The image(s) were created using OE kickstart file:
/home/stephano/yocto/poky/scripts/lib/wic/canned-wks/directdisksdb-gpt.wks
Continuing with the example, you can now directly ``dd`` the image to a
USB stick, or whatever media for which you built your image, and boot
the resulting media::
$ sudo dd if=directdisksdb-gpt-201710090938-sdb.direct of=/dev/sdb
140966+0 records in
140966+0 records out
72174592 bytes (72 MB, 69 MiB) copied, 78.0282 s, 925 kB/s
$ sudo eject /dev/sdb
Using a Modified Kickstart File and Running in Raw Mode
-------------------------------------------------------
This next example manually specifies each build artifact (runs in Raw
Mode) and uses a modified kickstart file. The example also uses the
``-o`` option to cause Wic to create the output somewhere other than the
default output directory, which is the current directory::
$ wic create test.wks -o /home/stephano/testwic \
--rootfs-dir /home/stephano/yocto/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs \
--bootimg-dir /home/stephano/yocto/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/share \
--kernel-dir /home/stephano/yocto/build/tmp/deploy/images/qemux86 \
--native-sysroot /home/stephano/yocto/build/tmp/work/i586-poky-linux/wic-tools/1.0-r0/recipe-sysroot-native
INFO: Creating image(s)...
INFO: The new image(s) can be found here:
/home/stephano/testwic/test-201710091445-sdb.direct
The following build artifacts were used to create the image(s):
ROOTFS_DIR: /home/stephano/yocto/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/rootfs
BOOTIMG_DIR: /home/stephano/yocto/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/share
KERNEL_DIR: /home/stephano/yocto/build/tmp-glibc/deploy/images/qemux86
NATIVE_SYSROOT: /home/stephano/yocto/build/tmp-glibc/work/i586-oe-linux/wic-tools/1.0-r0/recipe-sysroot-native
INFO: The image(s) were created using OE kickstart file:
test.wks
For this example,
:term:`MACHINE` did not have to be
specified in the ``local.conf`` file since the artifact is manually
specified.
Using Wic to Manipulate an Image
--------------------------------
Wic image manipulation allows you to shorten turnaround time during
image development. For example, you can use Wic to delete the kernel
partition of a Wic image and then insert a newly built kernel. This
saves you time from having to rebuild the entire image each time you
modify the kernel.
.. note::
In order to use Wic to manipulate a Wic image as in this example,
your development machine must have the ``mtools`` package installed.
The following example examines the contents of the Wic image, deletes
the existing kernel, and then inserts a new kernel:
#. *List the Partitions:* Use the ``wic ls`` command to list all the
partitions in the Wic image::
$ wic ls tmp/deploy/images/qemux86/core-image-minimal-qemux86.wic
Num Start End Size Fstype
1 1048576 25041919 23993344 fat16
2 25165824 72157183 46991360 ext4
The previous output shows two partitions in the
``core-image-minimal-qemux86.wic`` image.
#. *Examine a Particular Partition:* Use the ``wic ls`` command again
but in a different form to examine a particular partition.
.. note::
You can get command usage on any Wic command using the following
form::
$ wic help command
For example, the following command shows you the various ways to
use the
wic ls
command::
$ wic help ls
The following command shows what is in partition one::
$ wic ls tmp/deploy/images/qemux86/core-image-minimal-qemux86.wic:1
Volume in drive : is boot
Volume Serial Number is E894-1809
Directory for ::/
libcom32 c32 186500 2017-10-09 16:06
libutil c32 24148 2017-10-09 16:06
syslinux cfg 220 2017-10-09 16:06
vesamenu c32 27104 2017-10-09 16:06
vmlinuz 6904608 2017-10-09 16:06
5 files 7 142 580 bytes
16 582 656 bytes free
The previous output shows five files, with the
``vmlinuz`` being the kernel.
.. note::
If you see the following error, you need to update or create a
``~/.mtoolsrc`` file and be sure to have the line "mtools_skip_check=1"
in the file. Then, run the Wic command again::
ERROR: _exec_cmd: /usr/bin/mdir -i /tmp/wic-parttfokuwra ::/ returned '1' instead of 0
output: Total number of sectors (47824) not a multiple of sectors per track (32)!
Add mtools_skip_check=1 to your .mtoolsrc file to skip this test
#. *Remove the Old Kernel:* Use the ``wic rm`` command to remove the
``vmlinuz`` file (kernel)::
$ wic rm tmp/deploy/images/qemux86/core-image-minimal-qemux86.wic:1/vmlinuz
#. *Add In the New Kernel:* Use the ``wic cp`` command to add the
updated kernel to the Wic image. Depending on how you built your
kernel, it could be in different places. If you used ``devtool`` and
an SDK to build your kernel, it resides in the ``tmp/work`` directory
of the extensible SDK. If you used ``make`` to build the kernel, the
kernel will be in the ``workspace/sources`` area.
The following example assumes ``devtool`` was used to build the
kernel::
$ wic cp poky_sdk/tmp/work/qemux86-poky-linux/linux-yocto/4.12.12+git999-r0/linux-yocto-4.12.12+git999/arch/x86/boot/bzImage \
poky/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.wic:1/vmlinuz
Once the new kernel is added back into the image, you can use the
``dd`` command or :ref:`bmaptool
<dev-manual/bmaptool:flashing images using \`\`bmaptool\`\`>`
to flash your wic image onto an SD card or USB stick and test your
target.
.. note::
Using ``bmaptool`` is generally 10 to 20 times faster than using ``dd``.

View File

@@ -0,0 +1,54 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Using x32 psABI
***************
x32 processor-specific Application Binary Interface (`x32
psABI <https://software.intel.com/en-us/node/628948>`__) is a native
32-bit processor-specific ABI for Intel 64 (x86-64) architectures. An
ABI defines the calling conventions between functions in a processing
environment. The interface determines what registers are used and what
the sizes are for various C data types.
Some processing environments prefer using 32-bit applications even when
running on Intel 64-bit platforms. Consider the i386 psABI, which is a
very old 32-bit ABI for Intel 64-bit platforms. The i386 psABI does not
provide efficient use and access of the Intel 64-bit processor
resources, leaving the system underutilized. Now consider the x86_64
psABI. This ABI is newer and uses 64-bits for data sizes and program
pointers. The extra bits increase the footprint size of the programs,
libraries, and also increases the memory and file system size
requirements. Executing under the x32 psABI enables user programs to
utilize CPU and system resources more efficiently while keeping the
memory footprint of the applications low. Extra bits are used for
registers but not for addressing mechanisms.
The Yocto Project supports the final specifications of x32 psABI as
follows:
- You can create packages and images in x32 psABI format on x86_64
architecture targets.
- You can successfully build recipes with the x32 toolchain.
- You can create and boot ``core-image-minimal`` and
``core-image-sato`` images.
- There is RPM Package Manager (RPM) support for x32 binaries.
- There is support for large images.
To use the x32 psABI, you need to edit your ``conf/local.conf``
configuration file as follows::
MACHINE = "qemux86-64"
DEFAULTTUNE = "x86-64-x32"
baselib = "${@d.getVar('BASE_LIB:tune-' + (d.getVar('DEFAULTTUNE') \
or 'INVALID')) or 'lib'}"
Once you have set
up your configuration file, use BitBake to build an image that supports
the x32 psABI. Here is an example::
$ bitbake core-image-sato

View File

@@ -26,6 +26,7 @@ Welcome to the Yocto Project Documentation
:caption: Manuals
Overview and Concepts Manual <overview-manual/index>
Contributor Guide <contributor-guide/index>
Reference Manual <ref-manual/index>
Board Support Package (BSP) Developer's guide <bsp-guide/index>
Development Tasks Manual <dev-manual/index>

View File

@@ -69,8 +69,7 @@ to indicate the branch.
You can use the :term:`KBRANCH` value to define an alternate branch typically
with a machine override as shown here from the ``meta-yocto-bsp`` layer::
KBRANCH:edgerouter = "standard/edgerouter"
KBRANCH:beaglebone-yocto = "standard/beaglebone"
The linux-yocto style recipes can optionally define the following
variables:

View File

@@ -101,13 +101,13 @@ section:
For background information on working with common and BSP layers,
see the
":ref:`dev-manual/common-tasks:understanding and creating layers`"
":ref:`dev-manual/layers:understanding and creating layers`"
section in the Yocto Project Development Tasks Manual and the
":ref:`bsp-guide/bsp:bsp layers`" section in the Yocto Project Board
Support (BSP) Developer's Guide, respectively. For information on how to
use the ``bitbake-layers create-layer`` command to quickly set up a layer,
see the
":ref:`dev-manual/common-tasks:creating a general layer using the \`\`bitbake-layers\`\` script`"
":ref:`dev-manual/layers:creating a general layer using the \`\`bitbake-layers\`\` script`"
section in the Yocto Project Development Tasks Manual.
4. *Inform the BitBake Build Environment About Your Layer:* As directed
@@ -278,13 +278,13 @@ section:
For background information on working with common and BSP layers,
see the
":ref:`dev-manual/common-tasks:understanding and creating layers`"
":ref:`dev-manual/layers:understanding and creating layers`"
section in the Yocto Project Development Tasks Manual and the
":ref:`bsp-guide/bsp:bsp layers`" section in the Yocto Project Board
Support (BSP) Developer's Guide, respectively. For information on how to
use the ``bitbake-layers create-layer`` command to quickly set up a layer,
see the
":ref:`dev-manual/common-tasks:creating a general layer using the \`\`bitbake-layers\`\` script`"
":ref:`dev-manual/layers:creating a general layer using the \`\`bitbake-layers\`\` script`"
section in the Yocto Project Development Tasks Manual.
4. *Inform the BitBake Build Environment About Your Layer:* As directed
@@ -364,7 +364,7 @@ layer contains its own :term:`BitBake`
append files (``.bbappend``) and provides a convenient mechanism to
create your own recipe files (``.bb``) as well as store and use kernel
patch files. For background information on working with layers, see the
":ref:`dev-manual/common-tasks:understanding and creating layers`"
":ref:`dev-manual/layers:understanding and creating layers`"
section in the Yocto Project Development Tasks Manual.
.. note::
@@ -372,7 +372,7 @@ section in the Yocto Project Development Tasks Manual.
The Yocto Project comes with many tools that simplify tasks you need
to perform. One such tool is the ``bitbake-layers create-layer``
command, which simplifies creating a new layer. See the
":ref:`dev-manual/common-tasks:creating a general layer using the \`\`bitbake-layers\`\` script`"
":ref:`dev-manual/layers:creating a general layer using the \`\`bitbake-layers\`\` script`"
section in the Yocto Project Development Tasks Manual for
information on how to use this script to quick set up a new layer.
@@ -425,7 +425,7 @@ home directory:
The :term:`FILESEXTRAPATHS` and :term:`SRC_URI` statements
enable the OpenEmbedded build system to find patch files. For more
information on using append files, see the
":ref:`dev-manual/common-tasks:appending other layers metadata with your layer`"
":ref:`dev-manual/layers:appending other layers metadata with your layer`"
section in the Yocto Project Development Tasks Manual.
Modifying an Existing Recipe
@@ -455,13 +455,13 @@ Creating the Append File
You create this file in your custom layer. You also name it accordingly
based on the linux-yocto recipe you are using. For example, if you are
modifying the ``meta/recipes-kernel/linux/linux-yocto_4.12.bb`` recipe,
modifying the ``meta/recipes-kernel/linux/linux-yocto_5.15.bb`` recipe,
the append file will typically be located as follows within your custom
layer:
.. code-block:: none
your-layer/recipes-kernel/linux/linux-yocto_4.12.bbappend
your-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend
The append file should initially extend the
:term:`FILESPATH` search path by
@@ -489,36 +489,36 @@ As an example, consider the following append file used by the BSPs in
.. code-block:: none
meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.12.bbappend
meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend
Here are the contents of this file. Be aware that the actual commit ID
strings in this example listing might be different than the actual
strings in the file from the ``meta-yocto-bsp`` layer upstream.
::
KBRANCH:genericx86 = "standard/base"
KBRANCH:genericx86-64 = "standard/base"
KBRANCH:genericx86 = "v5.15/standard/base"
KBRANCH:genericx86-64 = "v5.15/standard/base"
KBRANCH:edgerouter = "v5.15/standard/edgerouter"
KBRANCH:beaglebone-yocto = "v5.15/standard/beaglebone"
KMACHINE:genericx86 ?= "common-pc"
KMACHINE:genericx86-64 ?= "common-pc-64"
KBRANCH:edgerouter = "standard/edgerouter"
KBRANCH:beaglebone = "standard/beaglebone"
SRCREV_machine:genericx86 ?= "d09f2ce584d60ecb7890550c22a80c48b83c2e19"
SRCREV_machine:genericx86-64 ?= "d09f2ce584d60ecb7890550c22a80c48b83c2e19"
SRCREV_machine:edgerouter ?= "b5c8cfda2dfe296410d51e131289fb09c69e1e7d"
SRCREV_machine:beaglebone ?= "b5c8cfda2dfe296410d51e131289fb09c69e1e7d"
KMACHINE:beaglebone-yocto ?= "beaglebone"
SRCREV_machine:genericx86 ?= "0b628306d1f9ea28c0e86369ce9bb87a47893c9c"
SRCREV_machine:genericx86-64 ?= "0b628306d1f9ea28c0e86369ce9bb87a47893c9c"
SRCREV_machine:edgerouter ?= "90f1ee6589264545f548d731c2480b08a007230f"
SRCREV_machine:beaglebone-yocto ?= "9aabbaa89fcb21af7028e814c1f5b61171314d5a"
COMPATIBLE_MACHINE:genericx86 = "genericx86"
COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
COMPATIBLE_MACHINE:edgerouter = "edgerouter"
COMPATIBLE_MACHINE:beaglebone = "beaglebone"
COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
LINUX_VERSION:genericx86 = "4.12.7"
LINUX_VERSION:genericx86-64 = "4.12.7"
LINUX_VERSION:edgerouter = "4.12.10"
LINUX_VERSION:beaglebone = "4.12.10"
LINUX_VERSION:genericx86 = "5.15.72"
LINUX_VERSION:genericx86-64 = "5.15.72"
LINUX_VERSION:edgerouter = "5.15.54"
LINUX_VERSION:beaglebone-yocto = "5.15.54"
This append file
contains statements used to support several BSPs that ship with the
@@ -1070,7 +1070,7 @@ Section.
For more information on append files and patches, see the
":ref:`kernel-dev/common:creating the append file`" and
":ref:`kernel-dev/common:applying patches`" sections. You can also see the
":ref:`dev-manual/common-tasks:appending other layers metadata with your layer`"
":ref:`dev-manual/layers:appending other layers metadata with your layer`"
section in the Yocto Project Development Tasks Manual.
.. note::
@@ -1081,7 +1081,7 @@ Section.
the following sequence of commands::
$ cd poky/build
$ bitbake -c cleanall yocto-linux
$ bitbake -c cleanall linux-yocto
$ bitbake core-image-minimal -c cleanall
$ bitbake core-image-minimal
$ runqemu qemux86

View File

@@ -38,7 +38,7 @@ The kernel image (e.g. ``vmlinuz``) is provided by the
specify whether or not the kernel image is installed in the generated
root filesystem, override ``RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base`` to include or not
include "kernel-image". See the
":ref:`dev-manual/common-tasks:appending other layers metadata with your layer`"
":ref:`dev-manual/layers:appending other layers metadata with your layer`"
section in the
Yocto Project Development Tasks Manual for information on how to use an
append file to override metadata.

View File

@@ -87,7 +87,7 @@ understand the following documentation:
as described in the Yocto Project Application Development and the
Extensible Software Development Kit (eSDK) manual.
- The ":ref:`dev-manual/common-tasks:understanding and creating layers`"
- The ":ref:`dev-manual/layers:understanding and creating layers`"
section in the Yocto Project Development Tasks Manual.
- The ":ref:`kernel-dev/intro:kernel modification workflow`" section.

View File

@@ -83,7 +83,7 @@ create an append file for the ``init-ifupdown`` recipe instead, which
you can find in the :term:`Source Directory` at
``meta/recipes-core/init-ifupdown``. For information on how to use
append files, see the
":ref:`dev-manual/common-tasks:appending other layers metadata with your layer`"
":ref:`dev-manual/layers:appending other layers metadata with your layer`"
section in the Yocto Project Development Tasks Manual.
.. _migration-1.4-remote-debugging:

View File

@@ -240,11 +240,11 @@ Automated Image Testing
-----------------------
A new automated image testing framework has been added through the
:ref:`ref-classes-testimage*` classes. This
:ref:`ref-classes-testimage` classes. This
framework replaces the older ``imagetest-qemu`` framework.
You can learn more about performing automated image tests in the
":ref:`dev-manual/common-tasks:performing automated runtime testing`"
":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
section in the Yocto Project Development Tasks Manual.
.. _migration-1.5-build-history:
@@ -267,7 +267,7 @@ Following are changes to Build History:
option for each utility for more information on the new syntax.
For more information on Build History, see the
":ref:`dev-manual/common-tasks:maintaining build output quality`"
":ref:`dev-manual/build-quality:maintaining build output quality`"
section in the Yocto Project Development Tasks Manual.
.. _migration-1.5-udev:

View File

@@ -12,7 +12,7 @@ Project 1.6 Release (codename "daisy") from the prior release.
The :ref:`archiver <ref-classes-archiver>` class has been rewritten
and its configuration has been simplified. For more details on the
source archiver, see the
":ref:`dev-manual/common-tasks:maintaining open source license compliance during your product's lifecycle`"
":ref:`dev-manual/licenses:maintaining open source license compliance during your product's lifecycle`"
section in the Yocto Project Development Tasks Manual.
.. _migration-1.6-packaging-changes:
@@ -147,7 +147,7 @@ NFS mount, an error occurs.
The ``PRINC`` variable has been deprecated and triggers a warning if
detected during a build. For :term:`PR` increments on changes,
use the PR service instead. You can find out more about this service in
the ":ref:`dev-manual/common-tasks:working with a pr service`"
the ":ref:`dev-manual/packages:working with a pr service`"
section in the Yocto Project Development Tasks Manual.
.. _migration-1.6-variable-changes-IMAGE_TYPES:
@@ -220,7 +220,7 @@ Package Test (ptest)
Package Tests (ptest) are built but not installed by default. For
information on using Package Tests, see the
":ref:`dev-manual/common-tasks:testing packages with ptest`"
":ref:`dev-manual/packages:testing packages with ptest`"
section in the Yocto Project Development Tasks Manual. For information on the
``ptest`` class, see the ":ref:`ref-classes-ptest`" section.

View File

@@ -217,7 +217,7 @@ The following miscellaneous change occurred:
should manually remove old "build-id" files from your existing build
history repositories to avoid confusion. For information on the build
history feature, see the
":ref:`dev-manual/common-tasks:maintaining build output quality`"
":ref:`dev-manual/build-quality:maintaining build output quality`"
section in the Yocto Project Development Tasks Manual.

View File

@@ -343,7 +343,7 @@ This release supports generation of GLib Introspective Repository (GIR)
files through GObject introspection, which is the standard mechanism for
accessing GObject-based software from runtime environments. You can
enable, disable, and test the generation of this data. See the
":ref:`dev-manual/common-tasks:enabling gobject introspection support`"
":ref:`dev-manual/gobject-introspection:enabling gobject introspection support`"
section in the Yocto Project Development Tasks Manual for more
information.

View File

@@ -363,7 +363,7 @@ The following changes have been made to Wic:
.. note::
For more information on Wic, see the
":ref:`dev-manual/common-tasks:creating partitioned images using wic`"
":ref:`dev-manual/wic:creating partitioned images using wic`"
section in the Yocto Project Development Tasks Manual.
- *Default Output Directory Changed:* Wic's default output directory is

View File

@@ -264,7 +264,7 @@ The following are additional changes:
will trigger a warning during ``do_rootfs``.
For more information, see the
":ref:`dev-manual/common-tasks:post-installation scripts`"
":ref:`dev-manual/new-recipe:post-installation scripts`"
section in the Yocto Project Development Tasks Manual.
- The ``elf`` image type has been removed. This image type was removed

View File

@@ -319,7 +319,7 @@ This section provides information about automatic testing changes:
practices now dictate that you use the
:term:`IMAGE_CLASSES` variable rather than the
:term:`INHERIT` variable when you inherit the
:ref:`testimage <ref-classes-testimage*>` and
:ref:`testimage <ref-classes-testimage>` and
:ref:`testsdk <ref-classes-testsdk>` classes used for automatic
testing.
@@ -368,7 +368,7 @@ Any failure of a ``pkg_postinst()`` script (including exit 1) triggers
an error during the :ref:`ref-tasks-rootfs` task.
For more information on post-installation behavior, see the
":ref:`dev-manual/common-tasks:post-installation scripts`"
":ref:`dev-manual/new-recipe:post-installation scripts`"
section in the Yocto Project Development Tasks Manual.
.. _migration-2.6-python-3-profile-guided-optimizations:

View File

@@ -238,7 +238,7 @@ Warnings will now be shown at ``do_package_qa`` time in the following
circumstances:
- A recipe installs ``.desktop`` files containing ``MimeType`` keys but
does not inherit the new ``mime-xdg`` class
does not inherit the new :ref:`mime-xdg <ref-classes-mime-xdg>` class
- A recipe installs ``.xml`` files into ``${datadir}/mime/packages``
but does not inherit the :ref:`mime <ref-classes-mime>` class

View File

@@ -17,3 +17,7 @@ Release 4.0 (kirkstone)
release-notes-4.0.8
release-notes-4.0.9
release-notes-4.0.10
release-notes-4.0.11
release-notes-4.0.12
release-notes-4.0.13
release-notes-4.0.14

View File

@@ -0,0 +1,214 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Release notes for Yocto-4.0.11 (Kirkstone)
------------------------------------------
Security Fixes in Yocto-4.0.11
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- cups: Fix :cve:`2023-32324`
- curl: Fix :cve:`2023-28319`, :cve:`2023-28320`, :cve:`2023-28321` and :cve:`2023-28322`
- git: Ignore :cve:`2023-25815`
- go: Fix :cve:`2023-24539` and :cve:`2023-24540`
- nasm: Fix :cve:`2022-46457`
- openssh: Fix :cve:`2023-28531`
- openssl: Fix :cve:`2023-1255` and :cve:`2023-2650`
- perl: Fix :cve:`2023-31484`
- python3-requests: Fix for :cve:`2023-32681`
- sysstat: Fix :cve:`2023-33204`
- vim: Fix :cve:`2023-2426`
- webkitgtk: fix :cve:`2022-42867`, :cve:`2022-46691`, :cve:`2022-46699` and :cve:`2022-46700`
Fixes in Yocto-4.0.11
~~~~~~~~~~~~~~~~~~~~~
- Revert "docs: conf.py: fix cve extlinks caption for sphinx <4.0"
- Revert "ipk: Decode byte data to string in manifest handling"
- avahi: fix D-Bus introspection
- build-appliance-image: Update to kirkstone head revision
- conf.py: add macro for Mitre CVE links
- conf: add nice level to the hash config ignred variables
- cpio: Fix wrong CRC with ASCII CRC for large files
- cve-update-nvd2-native: added the missing http import
- cve-update-nvd2-native: new CVE database fetcher
- dhcpcd: use git instead of tarballs
- e2fsprogs: fix ptest bug for second running
- gcc-runtime: Use static dummy libstdc++
- glibc: stable 2.35 branch updates (cbceb903c4d7)
- go.bbclass: don't use test to check output from ls
- gstreamer1.0: Upgrade to 1.20.6
- iso-codes: Upgrade to 4.15.0
- kernel-devicetree: allow specification of dtb directory
- kernel-devicetree: make shell scripts posix compliant
- kernel-devicetree: recursively search for dtbs
- kernel: don't force PAHOLE=false
- kmscube: Correct :term:`DEPENDS` to avoid overwrite
- lib/terminal.py: Add urxvt terminal
- license.bbclass: Include :term:`LICENSE` in the output when it fails to parse
- linux-yocto/5.10: Upgrade to v5.10.180
- linux-yocto/5.15: Upgrade to v5.15.113
- llvm: backport a fix for build with gcc-13
- maintainers.inc: Fix email address typo
- maintainers.inc: Move repo to unassigned
- migration-guides: add release notes for 4.0.10
- migration-guides: use new cve_mitre macro
- nghttp2: Deleted the entries for -client and -server, and removed a dependency on them from the main package.
- oeqa/selftest/cases/devtool.py: skip all tests require folder a git repo
- openssh: Remove BSD-4-clause contents completely from codebase
- openssl: Upgrade to 3.0.9
- overview-manual: concepts.rst: Fix a typo
- p11-kit: add native to :term:`BBCLASSEXTEND`
- package: enable recursion on file globs
- package_manager/ipk: fix config path generation in _create_custom_config()
- piglit: Add :term:`PACKAGECONFIG` for glx and opencl
- piglit: Add missing glslang dependencies
- piglit: Fix build time dependency
- poky.conf: bump version for 4.0.11
- profile-manual: fix blktrace remote usage instructions
- quilt: Fix merge.test race condition
- ref-manual: add clarification for :term:`SRCREV`
- selftest/reproducible: Allow native/cross reuse in test
- staging.bbclass: do not add extend_recipe_sysroot to prefuncs of prepare_recipe_sysroot
- systemd-networkd: backport fix for rm unmanaged wifi
- systemd-systemctl: fix instance template WantedBy symlink construction
- systemd-systemctl: support instance expansion in WantedBy
- uninative: Upgrade to 3.10 to support gcc 13
- uninative: Upgrade to 4.0 to include latest gcc 13.1.1
- vim: Upgrade to 9.0.1527
- waffle: Upgrade to 1.7.2
- weston: add xwayland to :term:`DEPENDS` for :term:`PACKAGECONFIG` xwayland
Known Issues in Yocto-4.0.11
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- N/A
Contributors to Yocto-4.0.11
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Alexander Kanavin
- Andrew Jeffery
- Archana Polampalli
- Bhabu Bindu
- Bruce Ashfield
- C. Andy Martin
- Chen Qi
- Daniel Ammann
- Deepthi Hemraj
- Ed Beroset
- Eero Aaltonen
- Enrico Jörns
- Hannu Lounento
- Hitendra Prajapati
- Ian Ray
- Jan Luebbe
- Jan Vermaete
- Khem Raj
- Lee Chee Yang
- Lei Maohui
- Lorenzo Arena
- Marek Vasut
- Marta Rybczynska
- Martin Jansa
- Martin Siegumfeldt
- Michael Halstead
- Michael Opdenacker
- Ming Liu
- Narpat Mali
- Omkar Patil
- Pablo Saavedra
- Pavel Zhukov
- Peter Kjellerstedt
- Peter Marko
- Qiu Tingting
- Quentin Schulz
- Randolph Sapp
- Randy MacLeod
- Ranjitsinh Rathod
- Richard Purdie
- Riyaz Khan
- Sakib Sajal
- Sanjay Chitroda
- Soumya Sambu
- Steve Sakoman
- Thomas Roos
- Tom Hochstein
- Vivek Kumbhar
- Wang Mingyu
- Yogita Urade
- Zoltan Boszormenyi
Repositories / Downloads for Yocto-4.0.11
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poky
- Repository Location: :yocto_git:`/poky`
- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.11 </poky/log/?h=yocto-4.0.11>`
- Git Revision: :yocto_git:`fc697fe87412b9b179ae3a68d266ace85bb1fcc6 </poky/commit/?id=fc697fe87412b9b179ae3a68d266ace85bb1fcc6>`
- Release Artefact: poky-fc697fe87412b9b179ae3a68d266ace85bb1fcc6
- sha: d42ab1b76b9d8ab164d86dc0882c908658f6b5be0742b13a71531068f6a5ee98
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.11/poky-fc697fe87412b9b179ae3a68d266ace85bb1fcc6.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.11/poky-fc697fe87412b9b179ae3a68d266ace85bb1fcc6.tar.bz2
openembedded-core
- Repository Location: :oe_git:`/openembedded-core`
- Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
- Tag: :oe_git:`yocto-4.0.11 </openembedded-core/log/?h=yocto-4.0.11>`
- Git Revision: :oe_git:`7949e786cf8e50f716ff1f1c4797136637205e0c </openembedded-core/commit/?id=7949e786cf8e50f716ff1f1c4797136637205e0c>`
- Release Artefact: oecore-7949e786cf8e50f716ff1f1c4797136637205e0c
- sha: 3bda3f7d15961bad5490faf3194709528591a97564b5eae3da7345b63be20334
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.11/oecore-7949e786cf8e50f716ff1f1c4797136637205e0c.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.11/oecore-7949e786cf8e50f716ff1f1c4797136637205e0c.tar.bz2
meta-mingw
- Repository Location: :yocto_git:`/meta-mingw`
- Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.11 </meta-mingw/log/?h=yocto-4.0.11>`
- Git Revision: :yocto_git:`a90614a6498c3345704e9611f2842eb933dc51c1 </meta-mingw/commit/?id=a90614a6498c3345704e9611f2842eb933dc51c1>`
- Release Artefact: meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1
- sha: 49f9900bfbbc1c68136f8115b314e95d0b7f6be75edf36a75d9bcd1cca7c6302
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.11/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.11/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
meta-gplv2
- Repository Location: :yocto_git:`/meta-gplv2`
- Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.11 </meta-gplv2/log/?h=yocto-4.0.11>`
- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.11/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.11/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
bitbake
- Repository Location: :oe_git:`/bitbake`
- Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
- Tag: :oe_git:`yocto-4.0.11 </bitbake/log/?h=yocto-4.0.11>`
- Git Revision: :oe_git:`0c6f86b60cfba67c20733516957c0a654eb2b44c </bitbake/commit/?id=0c6f86b60cfba67c20733516957c0a654eb2b44c>`
- Release Artefact: bitbake-0c6f86b60cfba67c20733516957c0a654eb2b44c
- sha: 4caa94ee4d644017b0cc51b702e330191677f7d179018cbcec8b1793949ebc74
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.11/bitbake-0c6f86b60cfba67c20733516957c0a654eb2b44c.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.11/bitbake-0c6f86b60cfba67c20733516957c0a654eb2b44c.tar.bz2
yocto-docs
- Repository Location: :yocto_git:`/yocto-docs`
- Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.11 </yocto-docs/log/?h=yocto-4.0.11>`
- Git Revision: :yocto_git:`6d16d2bde0aa32276a035ee49703e6eea7c7b29a </yocto-docs/commit/?id=6d16d2bde0aa32276a035ee49703e6eea7c7b29a>`

View File

@@ -0,0 +1,277 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Release notes for Yocto-4.0.12 (Kirkstone)
------------------------------------------
Security Fixes in Yocto-4.0.12
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- bind: Fix :cve:`2023-2828` and :cve:`2023-2911`
- cups: Fix :cve:`2023-34241`
- curl: Added :cve:`2023-28320` Follow-up patch
- dbus: Fix :cve:`2023-34969`
- dmidecode: fix :cve:`2023-30630`
- ghostscript: fix :cve:`2023-36664`
- go: fix :cve_mitre:`2023-24531`, :cve:`2023-24536`, :cve:`2023-29400`, :cve:`2023-29402`, :cve:`2023-29404`, :cve:`2023-29405` and :cve:`2023-29406`
- libarchive: Ignore :cve:`2023-30571`
- libcap: Fix :cve:`2023-2602` and :cve:`2023-2603`
- libjpeg-turbo: Fix :cve:`2023-2804`
- libpcre2: Fix :cve:`2022-41409`
- libtiff: fix :cve:`2023-26965`
- libwebp: Fix :cve:`2023-1999`
- libx11: Fix :cve:`2023-3138`
- libxpm: Fix :cve:`2022-44617`
- ninja: Ignore :cve:`2021-4336`
- openssh: Fix :cve:`2023-38408`
- openssl: Fix :cve:`2023-2975`, :cve:`2023-3446` and :cve:`2023-3817`
- perl: Fix :cve:`2023-31486`
- python3: Ignore :cve:`2023-36632`
- qemu: Fix :cve:`2023-0330`, :cve_mitre:`2023-2861`, :cve_mitre:`2023-3255` and :cve_mitre:`2023-3301`
- sqlite3: Fix :cve:`2023-36191`
- tiff: Fix :cve:`2023-0795`, :cve:`2023-0796`, :cve:`2023-0797`, :cve:`2023-0798`, :cve:`2023-0799`, :cve:`2023-25433`, :cve:`2023-25434` and :cve:`2023-25435`
- vim: :cve:`2023-2609` and :cve:`2023-2610`
Fixes in Yocto-4.0.12
~~~~~~~~~~~~~~~~~~~~~
- babeltrace2: Always use BFD linker when building tests with ld-is-lld distro feature
- babeltrace2: upgrade to 2.0.5
- bitbake.conf: add unzstd in :term:`HOSTTOOLS`
- bitbake: bitbake-layers: initialize tinfoil before registering command line arguments
- bitbake: runqueue: Fix deferred task/multiconfig race issue
- blktrace: ask for python3 specifically
- build-appliance-image: Update to kirkstone head revision
- cmake: Fix CMAKE_SYSTEM_PROCESSOR setting for SDK
- connman: fix warning by specifying runstatedir at configure time
- cpio: Replace fix wrong CRC with ASCII CRC for large files with upstream backport
- cve-update-nvd2-native: actually use API keys
- cve-update-nvd2-native: always pass str for json.loads()
- cve-update-nvd2-native: fix cvssV3 metrics
- cve-update-nvd2-native: handle all configuration nodes, not just first
- cve-update-nvd2-native: increase retry count
- cve-update-nvd2-native: log a little more
- cve-update-nvd2-native: retry all errors and sleep between retries
- cve-update-nvd2-native: use exact times, don't truncate
- dbus: upgrade to 1.14.8
- devtool: Fix the wrong variable in srcuri_entry
- diffutils: upgrade to 3.10
- docs: ref-manual: terms: fix typos in :term:`SPDX` term
- fribidi: upgrade to 1.0.13
- gcc: upgrade to v11.4
- gcc-testsuite: Fix ppc cpu specification
- gcc: don't pass --enable-standard-branch-protection
- gcc: fix runpath errors in cc1 binary
- grub: submit determinism.patch upstream
- image_types: Fix reproducible builds for initramfs and UKI img
- kernel: add missing path to search for debug files
- kmod: remove unused ptest.patch
- layer.conf: Add missing dependency exclusion
- libassuan: upgrade to 2.5.6
- libksba: upgrade to 1.6.4
- libpng: Add ptest for libpng
- libxcrypt: fix build with perl-5.38 and use master branch
- libxcrypt: fix hard-coded ".so" extension
- libxpm: upgrade to 3.5.16
- linux-firmware: upgrade to 20230515
- linux-yocto/5.10: cfg: fix DECNET configuration warning
- linux-yocto/5.10: update to v5.10.185
- linux-yocto/5.15: cfg: fix DECNET configuration warning
- linux-yocto/5.15: update to v5.15.120
- logrotate: Do not create logrotate.status file
- lttng-ust: upgrade to 2.13.6
- machine/arch-arm64: add -mbranch-protection=standard
- maintainers.inc: correct Carlos Rafael Giani's email address
- maintainers.inc: correct unassigned entries
- maintainers.inc: unassign Adrian Bunk from wireless-regdb
- maintainers.inc: unassign Alistair Francis from opensbi
- maintainers.inc: unassign Andreas Müller from itstool entry
- maintainers.inc: unassign Pascal Bach from cmake entry
- maintainers.inc: unassign Ricardo Neri from ovmf
- maintainers.inc: unassign Richard Weinberger from erofs-utils entry
- mdadm: fix 07revert-inplace ptest
- mdadm: fix segfaults when running ptests
- mdadm: fix util-linux ptest dependency
- mdadm: skip running known broken ptests
- meson.bbclass: Point to llvm-config from native sysroot
- meta: lib: oe: npm_registry: Add more safe caracters
- migration-guides: add release notes for 4.0.11
- minicom: remove unused patch files
- mobile-broadband-provider-info: upgrade to 20230416
- oe-depends-dot: Handle new format for task-depends.dot
- oeqa/runtime/cases/rpm: fix wait_for_no_process_for_user failure case
- oeqa/selftest/bbtests: add non-existent prefile/postfile tests
- oeqa/selftest/devtool: add unit test for "devtool add -b"
- openssl: Upgrade to 3.0.10
- openssl: add PERLEXTERNAL path to test its existence
- openssl: use a glob on the PERLEXTERNAL to track updates on the path
- package.bbclass: moving field data process before variable process in process_pkgconfig
- pm-utils: fix multilib conflictions
- poky.conf: bump version for 4.0.12
- psmisc: Set :term:`ALTERNATIVE` for pstree to resolve conflict with busybox
- pybootchartgui: show elapsed time for each task
- python3: fix missing comma in get_module_deps3.py
- python3: upgrade to 3.10.12
- recipetool: Fix inherit in created -native* recipes
- ref-manual: add LTS and Mixin terms
- ref-manual: document image-specific variant of :term:`INCOMPATIBLE_LICENSE`
- ref-manual: release-process: update for LTS releases
- rust-llvm: backport a fix for build with gcc-13
- scripts/runqemu: allocate unfsd ports in a way that doesn't race or clash with unrelated processes
- scripts/runqemu: split lock dir creation into a reusable function
- sdk.py: error out when moving file fails
- sdk.py: fix moving dnf contents
- selftest reproducible.py: support different build targets
- selftest/license: Exclude from world
- selftest/reproducible: Allow chose the package manager
- serf: upgrade to 1.3.10
- strace: Disable failing test
- strace: Merge two similar patches
- strace: Update patches/tests with upstream fixes
- sysfsutils: fetch a supported fork from github
- systemd-systemctl: fix errors in instance name expansion
- systemd: Backport nspawn: make sure host root can write to the uidmapped mounts we prepare for the container payload
- tzdata: upgrade to 2023c
- uboot-extlinux-config.bbclass: fix old override syntax in comment
- unzip: fix configure check for cross compilation
- useradd-staticids.bbclass: improve error message
- util-linux: add alternative links for ipcs,ipcrm
- v86d: Improve kernel dependency
- vim: upgrade to 9.0.1592
- wget: upgrade to 1.21.4
- wic: Add dependencies for erofs-utils
- wireless-regdb: upgrade to 2023.05.03
- xdpyinfo: upgrade to 1.3.4
- zip: fix configure check by using _Static_assert
Known Issues in Yocto-4.0.12
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- N/A
Contributors to Yocto-4.0.12
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Alberto Planas
- Alexander Kanavin
- Alexander Sverdlin
- Andrej Valek
- Archana Polampalli
- BELOUARGA Mohamed
- Benjamin Bouvier
- Bruce Ashfield
- Charlie Wu
- Chen Qi
- Etienne Cordonnier
- Fabien Mahot
- Frieder Paape
- Frieder Schrempf
- Heiko Thole
- Hitendra Prajapati
- Jermain Horsman
- Jose Quaresma
- Kai Kang
- Khem Raj
- Lee Chee Yang
- Marc Ferland
- Marek Vasut
- Martin Jansa
- Mauro Queiros
- Michael Opdenacker
- Mikko Rapeli
- Nikhil R
- Ovidiu Panait
- Peter Marko
- Poonam Jadhav
- Quentin Schulz
- Richard Purdie
- Ross Burton
- Rusty Howell
- Sakib Sajal
- Soumya Sambu
- Steve Sakoman
- Sundeep KOKKONDA
- Tim Orling
- Tom Hochstein
- Trevor Gamblin
- Vijay Anusuri
- Vivek Kumbhar
- Wang Mingyu
- Xiangyu Chen
- Yoann Congal
- Yogita Urade
- Yuta Hayama
Repositories / Downloads for Yocto-4.0.12
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poky
- Repository Location: :yocto_git:`/poky`
- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.12 </poky/log/?h=yocto-4.0.12>`
- Git Revision: :yocto_git:`d6b8790370500b99ca11f0d8a05c39b661ab2ba6 </poky/commit/?id=d6b8790370500b99ca11f0d8a05c39b661ab2ba6>`
- Release Artefact: poky-d6b8790370500b99ca11f0d8a05c39b661ab2ba6
- sha: 35f0390e0c5a12f403ed471c0b1254c13cbb9d7c7b46e5a3538e63e36c1ac280
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.12/poky-d6b8790370500b99ca11f0d8a05c39b661ab2ba6.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.12/poky-d6b8790370500b99ca11f0d8a05c39b661ab2ba6.tar.bz2
openembedded-core
- Repository Location: :oe_git:`/openembedded-core`
- Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
- Tag: :oe_git:`yocto-4.0.12 </openembedded-core/log/?h=yocto-4.0.12>`
- Git Revision: :oe_git:`e1a604db8d2cf8782038b4016cc2e2052467333b </openembedded-core/commit/?id=e1a604db8d2cf8782038b4016cc2e2052467333b>`
- Release Artefact: oecore-e1a604db8d2cf8782038b4016cc2e2052467333b
- sha: 8b302eb3f3ffe5643f88bc6e4ae8f9a5cda63544d67e04637ecc4197e9750a1d
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.12/oecore-e1a604db8d2cf8782038b4016cc2e2052467333b.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.12/oecore-e1a604db8d2cf8782038b4016cc2e2052467333b.tar.bz2
meta-mingw
- Repository Location: :yocto_git:`/meta-mingw`
- Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.12 </meta-mingw/log/?h=yocto-4.0.12>`
- Git Revision: :yocto_git:`a90614a6498c3345704e9611f2842eb933dc51c1 </meta-mingw/commit/?id=a90614a6498c3345704e9611f2842eb933dc51c1>`
- Release Artefact: meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1
- sha: 49f9900bfbbc1c68136f8115b314e95d0b7f6be75edf36a75d9bcd1cca7c6302
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.12/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.12/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
meta-gplv2
- Repository Location: :yocto_git:`/meta-gplv2`
- Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.12 </meta-gplv2/log/?h=yocto-4.0.12>`
- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.12/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.12/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
bitbake
- Repository Location: :oe_git:`/bitbake`
- Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
- Tag: :oe_git:`yocto-4.0.12 </bitbake/log/?h=yocto-4.0.12>`
- Git Revision: :oe_git:`41b6684489d0261753344956042be2cc4adb0159 </bitbake/commit/?id=41b6684489d0261753344956042be2cc4adb0159>`
- Release Artefact: bitbake-41b6684489d0261753344956042be2cc4adb0159
- sha: efa2b1c4d0be115ed3960750d1e4ed958771b2db6d7baee2d13ad386589376e8
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.12/bitbake-41b6684489d0261753344956042be2cc4adb0159.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.12/bitbake-41b6684489d0261753344956042be2cc4adb0159.tar.bz2
yocto-docs
- Repository Location: :yocto_git:`/yocto-docs`
- Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.12 </yocto-docs/log/?h=yocto-4.0.12>`
- Git Revision: :yocto_git:`4dfef81ac6164764c6541e39a9fef81d49227096 </yocto-docs/commit/?id=4dfef81ac6164764c6541e39a9fef81d49227096>`

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -34,7 +34,7 @@ itself is of various types:
BitBake knows how to combine multiple data sources together and refers
to each data source as a layer. For information on layers, see the
":ref:`dev-manual/common-tasks:understanding and creating layers`"
":ref:`dev-manual/layers:understanding and creating layers`"
section of the Yocto Project Development Tasks Manual.
Following are some brief details on these core components. For
@@ -149,7 +149,7 @@ Conforming to a known structure allows BitBake to make assumptions
during builds on where to find types of metadata. You can find
procedures and learn about tools (i.e. ``bitbake-layers``) for creating
layers suitable for the Yocto Project in the
":ref:`dev-manual/common-tasks:understanding and creating layers`"
":ref:`dev-manual/layers:understanding and creating layers`"
section of the Yocto Project Development Tasks Manual.
OpenEmbedded Build System Concepts
@@ -308,7 +308,7 @@ during the build. By default, the layers listed in this file include
layers minimally needed by the build system. However, you must manually
add any custom layers you have created. You can find more information on
working with the ``bblayers.conf`` file in the
":ref:`dev-manual/common-tasks:enabling your layer`"
":ref:`dev-manual/layers:enabling your layer`"
section in the Yocto Project Development Tasks Manual.
The files ``site.conf`` and ``auto.conf`` are not created by the
@@ -408,7 +408,7 @@ a ``README`` file as good practice and especially if the layer is to be
distributed, a configuration directory, and recipe directories. You can
learn about the general structure for layers used with the Yocto Project
in the
":ref:`dev-manual/common-tasks:creating your own layer`"
":ref:`dev-manual/layers:creating your own layer`"
section in the
Yocto Project Development Tasks Manual. For a general discussion on
layers and the many layers from which you can draw, see the
@@ -814,7 +814,7 @@ For more information on how the source directories are created, see the
":ref:`overview-manual/concepts:source fetching`" section. For
more information on how to create patches and how the build system
processes patches, see the
":ref:`dev-manual/common-tasks:patching code`"
":ref:`dev-manual/new-recipe:patching code`"
section in the
Yocto Project Development Tasks Manual. You can also see the
":ref:`sdk-manual/extensible:use \`\`devtool modify\`\` to modify the source of an existing component`"
@@ -1014,8 +1014,8 @@ data files are deleted from the root filesystem. As part of the final
stage of package installation, post installation scripts that are part
of the packages are run. Any scripts that fail to run on the build host
are run on the target when the target system is first booted. If you are
using a
:ref:`read-only root filesystem <dev-manual/common-tasks:creating a read-only root filesystem>`,
using a
:ref:`read-only root filesystem <dev-manual/read-only-rootfs:creating a read-only root filesystem>`,
all the post installation scripts must succeed on the build host during
the package installation phase since the root filesystem on the target
is read-only.
@@ -1026,7 +1026,7 @@ processing includes creation of a manifest file and optimizations.
The manifest file (``.manifest``) resides in the same directory as the
root filesystem image. This file lists out, line-by-line, the installed
packages. The manifest file is useful for the
:ref:`testimage <ref-classes-testimage*>` class,
:ref:`testimage <ref-classes-testimage>` class,
for example, to determine whether or not to run specific tests. See the
:term:`IMAGE_MANIFEST`
variable for additional information.
@@ -1174,7 +1174,7 @@ varflag. If some other task depends on such a task, then that task will
also always be considered out of date, which might not be what you want.
For details on how to view information about a task's signature, see the
":ref:`dev-manual/common-tasks:viewing task variable dependencies`"
":ref:`dev-manual/debugging:viewing task variable dependencies`"
section in the Yocto Project Development Tasks Manual.
Setscene Tasks and Shared State
@@ -1603,15 +1603,15 @@ them if they are deemed to be valid.
the shared state packages. Consequently, there are considerations that
affect maintaining shared state feeds. For information on how the
build system works with packages and can track incrementing :term:`PR`
information, see the ":ref:`dev-manual/common-tasks:automatically incrementing a package version number`"
information, see the ":ref:`dev-manual/packages:automatically incrementing a package version number`"
section in the Yocto Project Development Tasks Manual.
- The code in the build system that supports incremental builds is
complex. For techniques that help you work around issues
related to shared state code, see the
":ref:`dev-manual/common-tasks:viewing metadata used to create the input signature of a shared state task`"
":ref:`dev-manual/debugging:viewing metadata used to create the input signature of a shared state task`"
and
":ref:`dev-manual/common-tasks:invalidating shared state to force a task to run`"
":ref:`dev-manual/debugging:invalidating shared state to force a task to run`"
sections both in the Yocto Project Development Tasks Manual.
The rest of this section goes into detail about the overall incremental
@@ -2004,6 +2004,15 @@ task output from the Shared State cache.
the stability of the task's output hash. Therefore, the effectiveness
of Hash Equivalence strongly depends on it.
Recipes that are not reproducible may have undesired behavior if hash
equivalence is enabled, since the non-reproducible diverging output maybe be
remapped to an older sstate object in the cache by the server. If a recipe
is non-reproducible in trivial ways, such as different timestamps, this is
likely not a problem. However recipes that have more dramatic changes (such
as completely different file names) will likely outright fail since the
downstream sstate objects are not actually equivalent to what was just
built.
This applies to multiple scenarios:
- A "trivial" change to a recipe that doesn't impact its generated output,
@@ -2221,3 +2230,173 @@ For more information, see the
BitBake User Manual. You can also reference the "`Why Not
Fakeroot? <https://github.com/wrpseudo/pseudo/wiki/WhyNotFakeroot>`__"
article for background information on Fakeroot and Pseudo.
BitBake Tasks Map
=================
To understand how BitBake operates in the build directory and environment
we can consider the following recipes and diagram, to have full picture
about the tasks that BitBake runs to generate the final package file
for the recipe.
We will have two recipes as an example:
- ``libhello``: A recipe that provides a shared library
- ``sayhello``: A recipe that uses ``libhello`` library to do its job
.. note::
``sayhello`` depends on ``libhello`` at compile time as it needs the shared
library to do the dynamic linking process. It also depends on it at runtime
as the shared library loader needs to find the library.
For more details about dependencies check :ref:`ref-varlocality-recipe-dependencies`.
``libhello`` sources are as follows:
- ``LICENSE``: This is the license associated with this library
- ``Makefile``: The file used by ``make`` to build the library
- ``hellolib.c``: The implementation of the library
- ``hellolib.h``: The C header of the library
``sayhello`` sources are as follows:
- ``LICENSE``: This is the license associated with this project
- ``Makefile``: The file used by ``make`` to build the project
- ``sayhello.c``: The source file of the project
Before presenting the contents of each file, here are the steps
that we need to follow to accomplish what we want in the first place,
which is integrating ``sayhello`` in our root file system:
#. Create a Git repository for each project with the corresponding files
#. Create a recipe for each project
#. Make sure that ``sayhello`` recipe :term:`DEPENDS` on ``libhello``
#. Make sure that ``sayhello`` recipe :term:`RDEPENDS` on ``libhello``
#. Add ``sayhello`` to :term:`IMAGE_INSTALL` to integrate it into
the root file system
The following are the contents of ``libhello/Makefile``::
LIB=libhello.so
all: $(LIB)
$(LIB): hellolib.o
$(CC) $< -Wl,-soname,$(LIB).1 -fPIC $(LDFLAGS) -shared -o $(LIB).1.0
%.o: %.c
$(CC) -c $<
clean:
rm -rf *.o *.so*
.. note::
When creating shared libraries, it is strongly recommended to follow the Linux
conventions and guidelines (see `this article
<https://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html>`__
for some background).
.. note::
When creating ``Makefile`` files, it is strongly recommended to use ``CC``, ``LDFLAGS``
and ``CFLAGS`` as BitBake will set them as environment variables according
to your build configuration.
The following are the contents of ``libhello/hellolib.h``::
#ifndef HELLOLIB_H
#define HELLOLIB_H
void Hello();
#endif
The following are the contents of ``libhello/hellolib.c``::
#include <stdio.h>
void Hello(){
puts("Hello from a Yocto demo \n");
}
The following are the contents of ``sayhello/Makefile``::
EXEC=sayhello
LDFLAGS += -lhello
all: $(EXEC)
$(EXEC): sayhello.c
$(CC) $< $(LDFLAGS) $(CFLAGS) -o $(EXEC)
clean:
rm -rf $(EXEC) *.o
The following are the contents of ``sayhello/sayhello.c``::
#include <hellolib.h>
int main(){
Hello();
return 0;
}
The following are the contents of ``libhello_0.1.bb``::
SUMMARY = "Hello demo library"
DESCRIPTION = "Hello shared library used in Yocto demo"
# NOTE: Set the License according to the LICENSE file of your project
# and then add LIC_FILES_CHKSUM accordingly
LICENSE = "CLOSED"
# Assuming the branch is main
# Change <username> accordingly
SRC_URI = "git://github.com/<username>/libhello;branch=main;protocol=https"
S = "${WORKDIR}/git"
do_install(){
install -d ${D}${includedir}
install -d ${D}${libdir}
install hellolib.h ${D}${includedir}
oe_soinstall ${PN}.so.${PV} ${D}${libdir}
}
The following are the contents of ``sayhello_0.1.bb``::
SUMMARY = "SayHello demo"
DESCRIPTION = "SayHello project used in Yocto demo"
# NOTE: Set the License according to the LICENSE file of your project
# and then add LIC_FILES_CHKSUM accordingly
LICENSE = "CLOSED"
# Assuming the branch is main
# Change <username> accordingly
SRC_URI = "git://github.com/<username>/sayhello;branch=main;protocol=https"
DEPENDS += "libhello"
RDEPENDS:${PN} += "libhello"
S = "${WORKDIR}/git"
do_install(){
install -d ${D}/usr/bin
install -m 0700 sayhello ${D}/usr/bin
}
After placing the recipes in a custom layer we can run ``bitbake sayhello``
to build the recipe.
The following diagram shows the sequences of tasks that BitBake
executes to accomplish that.
.. image:: svg/bitbake_tasks_map.*
:width: 100%

View File

@@ -94,7 +94,7 @@ are several ways of working in the Yocto Project environment:
through your Linux distribution and the Yocto Project.
For a general flow of the build procedures, see the
":ref:`dev-manual/common-tasks:building a simple image`"
":ref:`dev-manual/building:building a simple image`"
section in the Yocto Project Development Tasks Manual.
- *Board Support Package (BSP) Development:* Development of BSPs
@@ -244,8 +244,8 @@ and so forth.
For information on finding out who is responsible for (maintains) a
particular area of code in the Yocto Project, see the
":ref:`dev-manual/common-tasks:submitting a change to the yocto project`"
section of the Yocto Project Development Tasks Manual.
":doc:`../contributor-guide/identify-component`"
section of the Yocto Project and OpenEmbedded Contributor Guide.
The Yocto Project ``poky`` Git repository also has an upstream
contribution Git repository named ``poky-contrib``. You can see all the
@@ -276,8 +276,8 @@ push them into the "contrib" area and subsequently request that the
maintainer include them into an upstream branch. This process is called
"submitting a patch" or "submitting a change." For information on
submitting patches and changes, see the
":ref:`dev-manual/common-tasks:submitting a change to the yocto project`"
section in the Yocto Project Development Tasks Manual.
":doc:`../contributor-guide/submit-changes`" section in the Yocto Project
and OpenEmbedded Contributor Guide.
In summary, there is a single point of entry for changes into the
development branch of the Git repository, which is controlled by the
@@ -340,11 +340,10 @@ Book <https://book.git-scm.com>`__.
software on which to develop. The Yocto Project has two scripts named
``create-pull-request`` and ``send-pull-request`` that ship with the
release to facilitate this workflow. You can find these scripts in
the ``scripts`` folder of the
:term:`Source Directory`. For information
the ``scripts`` folder of the :term:`Source Directory`. For information
on how to use these scripts, see the
":ref:`dev-manual/common-tasks:using scripts to push a change upstream and request a pull`"
section in the Yocto Project Development Tasks Manual.
":ref:`contributor-guide/submit-changes:using scripts to push a change upstream and request a pull`"
section in the Yocto Project and OpenEmbedded Contributor Guide.
- *Patch Workflow:* This workflow allows you to notify the maintainer
through an email that you have a change (or patch) you would like
@@ -352,8 +351,8 @@ Book <https://book.git-scm.com>`__.
this type of change, you format the patch and then send the email
using the Git commands ``git format-patch`` and ``git send-email``.
For information on how to use these scripts, see the
":ref:`dev-manual/common-tasks:submitting a change to the yocto project`"
section in the Yocto Project Development Tasks Manual.
":doc:`../contributor-guide/submit-changes`" section in the Yocto Project
and OpenEmbedded Contributor Guide.
Git
===
@@ -655,5 +654,5 @@ Project uses in the ``meta/files/common-licenses`` directory in your
For information that can help you maintain compliance with various open
source licensing during the lifecycle of a product created using the
Yocto Project, see the
":ref:`dev-manual/common-tasks:maintaining open source license compliance during your product's lifecycle`"
":ref:`dev-manual/licenses:maintaining open source license compliance during your product's lifecycle`"
section in the Yocto Project Development Tasks Manual.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 197 KiB

View File

@@ -129,7 +129,7 @@ Here are features and advantages of the Yocto Project:
arbitrarily include packages.
- *License Manifest:* The Yocto Project provides a :ref:`license
manifest <dev-manual/common-tasks:maintaining open source license compliance during your product's lifecycle>`
manifest <dev-manual/licenses:maintaining open source license compliance during your product's lifecycle>`
for review by people who need to track the use of open source
licenses (e.g. legal teams).
@@ -225,7 +225,7 @@ your Metadata, the easier it is to cope with future changes.
- Layers support the inclusion of technologies, hardware components,
and software components. The :ref:`Yocto Project
Compatible <dev-manual/common-tasks:making sure your layer is compatible with yocto project>`
Compatible <dev-manual/layers:making sure your layer is compatible with yocto project>`
designation provides a minimum level of standardization that
contributes to a strong ecosystem. "YP Compatible" is applied to
appropriate products and software components such as BSPs, other
@@ -269,7 +269,7 @@ of the ``poky`` repository, you will see several layers: ``meta``,
layer.
For procedures on how to create layers, see the
":ref:`dev-manual/common-tasks:understanding and creating layers`"
":ref:`dev-manual/layers:understanding and creating layers`"
section in the Yocto Project Development Tasks Manual.
Components and Tools
@@ -351,7 +351,7 @@ Yocto Project:
(BitBake and
OE-Core) automatically generates upgrades for recipes that are based
on new versions of the recipes published upstream. See
:ref:`dev-manual/common-tasks:using the auto upgrade helper (auh)`
:ref:`dev-manual/upgrading-recipes:using the auto upgrade helper (auh)`
for how to set it up.
- *Recipe Reporting System:* The Recipe Reporting System tracks recipe
@@ -781,7 +781,7 @@ helpful for getting started:
Yocto Project.
For more detailed information on layers, see the
":ref:`dev-manual/common-tasks:understanding and creating layers`"
":ref:`dev-manual/layers:understanding and creating layers`"
section in the Yocto Project Development Tasks Manual. For a
discussion specifically on BSP Layers, see the
":ref:`bsp-guide/bsp:bsp layers`" section in the Yocto

View File

@@ -7,43 +7,45 @@ Yocto Project Profiling and Tracing Manual
Introduction
============
Yocto bundles a number of tracing and profiling tools - this 'HOWTO'
Yocto Project bundles a number of tracing and profiling tools --- this manual
describes their basic usage and shows by example how to make use of them
to examine application and system behavior.
to analyze application and system behavior.
The tools presented are for the most part completely open-ended and have
The tools presented are, for the most part, completely open-ended and have
quite good and/or extensive documentation of their own which can be used
to solve just about any problem you might come across in Linux. Each
section that describes a particular tool has links to that tool's
documentation and website.
The purpose of this 'HOWTO' is to present a set of common and generally
The purpose of this manual is to present a set of common and generally
useful tracing and profiling idioms along with their application (as
appropriate) to each tool, in the context of a general-purpose
'drill-down' methodology that can be applied to solving a large number
(90%?) of problems. For help with more advanced usages and problems,
please see the documentation and/or websites listed for each tool.
of problems. For help with more advanced usages and problems,
refer to the documentation and/or websites provided for each tool.
The final section of this 'HOWTO' is a collection of real-world examples
which we'll be continually adding to as we solve more problems using the
tools - feel free to add your own examples to the list!
The final section of this manual is a collection of real-world examples
which we'll be continually updating as we solve more problems using the
tools --- feel free to suggest additions to what you read here.
General Setup
=============
Most of the tools are available only in 'sdk' images or in images built
after adding 'tools-profile' to your local.conf. So, in order to be able
to access all of the tools described here, please first build and boot
an 'sdk' image e.g. ::
Most of the tools are available only in ``sdk`` images or in images built
after adding ``tools-profile`` to your ``local.conf`` file. So, in order to be able
to access all of the tools described here, you can build and boot
an ``sdk`` image, perhaps one of::
$ bitbake core-image-sato-sdk
$ bitbake core-image-weston-sdk
$ bitbake core-image-rt-sdk
or alternatively by adding 'tools-profile' to the EXTRA_IMAGE_FEATURES line in
your local.conf::
Alternatively, you can add ``tools-profile`` to the :term:`EXTRA_IMAGE_FEATURES` line in
your ``local.conf`` file::
EXTRA_IMAGE_FEATURES = "debug-tweaks tools-profile"
If you use the 'tools-profile' method, you don't need to build an sdk image -
If you use the ``tools-profile`` method, you don't need to build an sdk image ---
the tracing and profiling tools will be included in non-sdk images as well e.g.::
$ bitbake core-image-sato
@@ -64,12 +66,12 @@ the tracing and profiling tools will be included in non-sdk images as well e.g.:
If you've already built a stripped image, you can generate debug
packages (xxx-dbg) which you can manually install as needed.
To generate debug info for packages, you can add dbg-pkgs to
EXTRA_IMAGE_FEATURES in local.conf. For example::
To generate debug info for packages, you can add ``dbg-pkgs`` to
:term:`EXTRA_IMAGE_FEATURES` in ``local.conf``. For example::
EXTRA_IMAGE_FEATURES = "debug-tweaks tools-profile dbg-pkgs"
Additionally, in order to generate the right type of debuginfo, we also need to
Additionally, in order to generate the right type of debug info, we also need to
set :term:`PACKAGE_DEBUG_SPLIT_STYLE` in the ``local.conf`` file::
PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory'

File diff suppressed because it is too large Load Diff

View File

@@ -411,7 +411,7 @@ Upgrading a Recipe
As software matures, upstream recipes are upgraded to newer versions. As
a developer, you need to keep your local recipes up-to-date with the
upstream version releases. There are several ways of upgrading recipes.
You can read about them in the ":ref:`dev-manual/common-tasks:upgrading recipes`"
You can read about them in the ":ref:`dev-manual/upgrading-recipes:upgrading recipes`"
section of the Yocto Project Development Tasks Manual. This section
overviews the ``devtool upgrade`` command.
@@ -439,7 +439,7 @@ You can read more on the ``devtool upgrade`` workflow in the
":ref:`sdk-manual/extensible:use \`\`devtool upgrade\`\` to create a version of the recipe that supports a newer version of the software`"
section in the Yocto Project Application Development and the Extensible
Software Development Kit (eSDK) manual. You can also see an example of
how to use ``devtool upgrade`` in the ":ref:`dev-manual/common-tasks:using \`\`devtool upgrade\`\``"
how to use ``devtool upgrade`` in the ":ref:`dev-manual/upgrading-recipes:using \`\`devtool upgrade\`\``"
section in the Yocto Project Development Tasks Manual.
.. _devtool-resetting-a-recipe:

View File

@@ -45,7 +45,7 @@ section for steps on how to update your build tools.
**A:** Support for an additional board is added by creating a Board
Support Package (BSP) layer for it. For more information on how to
create a BSP layer, see the
":ref:`dev-manual/common-tasks:understanding and creating layers`"
":ref:`dev-manual/layers:understanding and creating layers`"
section in the Yocto Project Development Tasks Manual and the
:doc:`/bsp-guide/index`.
@@ -73,7 +73,7 @@ device.
**A:** To add a package, you need to create a BitBake recipe. For
information on how to create a BitBake recipe, see the
":ref:`dev-manual/common-tasks:writing a new recipe`"
":ref:`dev-manual/new-recipe:writing a new recipe`"
section in the Yocto Project Development Tasks Manual.
**Q:** Do I have to reflash my entire board with a new Yocto Project
@@ -201,7 +201,7 @@ You can find more information on licensing in the
":ref:`overview-manual/development-environment:licensing`"
section in the Yocto
Project Overview and Concepts Manual and also in the
":ref:`dev-manual/common-tasks:maintaining open source license compliance during your product's lifecycle`"
":ref:`dev-manual/licenses:maintaining open source license compliance during your product's lifecycle`"
section in the Yocto Project Development Tasks Manual.
**Q:** How do I disable the cursor on my touchscreen device?

View File

@@ -157,7 +157,7 @@ metadata:
- *ptest:* Enables building the package tests where supported by
individual recipes. For more information on package tests, see the
":ref:`dev-manual/common-tasks:testing packages with ptest`" section
":ref:`dev-manual/packages:testing packages with ptest`" section
in the Yocto Project Development Tasks Manual.
- *smbfs:* Include SMB networks client support (for mounting
@@ -241,7 +241,7 @@ Here are the image features available for all images:
- *read-only-rootfs:* Creates an image whose root filesystem is
read-only. See the
":ref:`dev-manual/common-tasks:creating a read-only root filesystem`"
":ref:`dev-manual/read-only-rootfs:creating a read-only root filesystem`"
section in the Yocto Project Development Tasks Manual for more
information.
@@ -278,7 +278,7 @@ these valid features is as follows:
- *tools-debug:* Installs debugging tools such as ``strace`` and
``gdb``. For information on GDB, see the
":ref:`dev-manual/common-tasks:debugging with the gnu project debugger (gdb) remotely`" section
":ref:`dev-manual/debugging:debugging with the gnu project debugger (gdb) remotely`" section
in the Yocto Project Development Tasks Manual. For information on
tracing and profiling, see the :doc:`/profile-manual/index`.

View File

@@ -14,15 +14,17 @@ image you want.
Building an image without GNU General Public License Version 3
(GPLv3), GNU Lesser General Public License Version 3 (LGPLv3), and
the GNU Affero General Public License Version 3 (AGPL-3.0) components
is only supported for minimal and base images. Furthermore, if you
are going to build an image using non-GPLv3 and similarly licensed
components, you must make the following changes in the ``local.conf``
file before using the BitBake command to build the minimal or base
image::
is only tested for core-image-minimal image. Furthermore, if you would like to
build an image and verify that it does not include GPLv3 and similarly licensed
components, you must make the following changes in the image recipe
file before using the BitBake command to build the image:
1. Comment out the EXTRA_IMAGE_FEATURES line
2. Set INCOMPATIBLE_LICENSE = "GPL-3.0* LGPL-3.0* AGPL-3.0*"
INCOMPATIBLE_LICENSE = "GPL-3.0* LGPL-3.0*"
Alternatively, you can adjust ``local.conf`` file, repeating and adjusting the line
for all images where the license restriction must apply:
INCOMPATIBLE_LICENSE:pn-your-image-name = "GPL-3.0* LGPL-3.0*"
From within the ``poky`` Git repository, you can use the following
command to display the list of directories within the :term:`Source Directory`
@@ -117,7 +119,7 @@ Following is a list of supported recipes:
deployed to a separate partition so that you can boot into it and use
it to deploy a second image to be tested. You can find more
information about runtime testing in the
":ref:`dev-manual/common-tasks:performing automated runtime testing`"
":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
section in the Yocto Project Development Tasks Manual.
- ``core-image-testmaster-initramfs``: A RAM-based Initial Root
@@ -127,7 +129,7 @@ Following is a list of supported recipes:
- ``core-image-weston``: A very basic Wayland image with a terminal.
This image provides the Wayland protocol libraries and the reference
Weston compositor. For more information, see the
":ref:`dev-manual/common-tasks:using wayland and weston`"
":ref:`dev-manual/wayland:using wayland and weston`"
section in the Yocto Project Development Tasks Manual.
- ``core-image-x11``: A very basic X11 image with a terminal.

View File

@@ -82,7 +82,7 @@ the ``part`` and ``partition`` commands:
source of the data that populates the partition. The most common
value for this option is "rootfs", but you can use any value that
maps to a valid source plugin. For information on the source plugins,
see the ":ref:`dev-manual/common-tasks:using the wic plugin interface`"
see the ":ref:`dev-manual/wic:using the wic plugin interface`"
section in the Yocto Project Development Tasks Manual.
If you use ``--source rootfs``, Wic creates a partition as large as

View File

@@ -162,7 +162,7 @@ Errors and Warnings
normally expected to be empty (such as ``/tmp``). These files may
be more appropriately installed to a different location, or
perhaps alternatively not installed at all, usually by updating the
``do_install`` task/function.
:ref:`ref-tasks-install` task/function.
.. _qa-check-arch:
@@ -536,7 +536,7 @@ Errors and Warnings
in (e.g. ``FILES:${``\ :term:`PN`\ ``}`` for the main
package).
- Delete the files at the end of the ``do_install`` task if the
- Delete the files at the end of the :ref:`ref-tasks-install` task if the
files are not needed in any package.
 
@@ -579,10 +579,10 @@ Errors and Warnings
- ``package contains mime types but does not inherit mime: <packagename> path '<file>' [mime]``
The specified package contains mime type files (``.xml`` files in
``${datadir}/mime/packages``) and yet does not inherit the mime
class which will ensure that these get properly installed. Either
add ``inherit mime`` to the recipe or remove the files at the
``do_install`` step if they are not needed.
``${datadir}/mime/packages``) and yet does not inherit the
:ref:`ref-classes-mime` class which will ensure that these get
properly installed. Either add ``inherit mime`` to the recipe or remove the
files at the :ref:`ref-tasks-install` step if they are not needed.
.. _qa-check-mime-xdg:
@@ -590,10 +590,10 @@ Errors and Warnings
- ``package contains desktop file with key 'MimeType' but does not inhert mime-xdg: <packagename> path '<file>' [mime-xdg]``
The specified package contains a .desktop file with a 'MimeType' key
present, but does not inherit the mime-xdg class that is required in
order for that to be activated. Either add ``inherit mime`` to the
recipe or remove the files at the ``do_install`` step if they are not
needed.
present, but does not inherit the :ref:`mime-xdg <ref-classes-mime-xdg>`
class that is required in order for that to be activated. Either add
``inherit mime`` to the recipe or remove the files at the
:ref:`ref-tasks-install` step if they are not needed.
.. _qa-check-src-uri-bad:
@@ -602,7 +602,7 @@ Errors and Warnings
GitHub provides "archive" tarballs, however these can be re-generated
on the fly and thus the file's signature will not necessarily match that
in the SRC_URI checksums in future leading to build failures. It is
in the :term:`SRC_URI` checksums in future leading to build failures. It is
recommended that you use an official release tarball or switch to
pulling the corresponding revision in the actual git repository instead.
@@ -613,18 +613,20 @@ Errors and Warnings
so using ${:term:`BPN`} rather than ${:term:`PN`} as the latter will change
for different variants of the same recipe e.g. when :term:`BBCLASSEXTEND`
or multilib are being used. This check will fail if a reference to ``${PN}``
is found within the :term:`SRC_URI` value - change it to ``${BPN}`` instead.
is found within the :term:`SRC_URI` value --- change it to ``${BPN}`` instead.
.. _qa-check-unhandled-features-check:
- ``<recipename>: recipe doesn't inherit features_check [unhandled-features-check]``
This check ensures that if one of the variables that the :ref:`features_check <ref-classes-features_check>`
class supports (e.g. :term:`REQUIRED_DISTRO_FEATURES`) is used, then the recipe
inherits ``features_check`` in order for the requirement to actually work. If
you are seeing this message, either add ``inherit features_check`` to your recipe
or remove the reference to the variable if it is not needed.
This check ensures that if one of the variables that the
:ref:`ref-classes-features_check` class supports (e.g.
:term:`REQUIRED_DISTRO_FEATURES`) is used, then the recipe
inherits :ref:`ref-classes-features_check` in order for
the requirement to actually work. If you are seeing this message, either
add ``inherit features_check`` to your recipe or remove the reference to
the variable if it is not needed.
.. _qa-check-missing-update-alternatives:
@@ -632,7 +634,7 @@ Errors and Warnings
- ``<recipename>: recipe defines ALTERNATIVE:<packagename> but doesn't inherit update-alternatives. This might fail during do_rootfs later! [missing-update-alternatives]``
This check ensures that if a recipe sets the :term:`ALTERNATIVE` variable that the
recipe also inherits :ref:`update-alternatives <ref-classes-update-alternatives>` such
recipe also inherits :ref:`ref-classes-update-alternatives` such
that the alternative will be correctly set up. If you are seeing this message, either
add ``inherit update-alternatives`` to your recipe or remove the reference to the variable
if it is not needed.
@@ -653,7 +655,7 @@ Errors and Warnings
- ``<packagename> contains perllocal.pod (<files>), should not be installed [perllocalpod]``
``perllocal.pod`` is an index file of locally installed modules and so shouldn't be
installed by any distribution packages. The :ref:`cpan <ref-classes-cpan>` class
installed by any distribution packages. The :ref:`ref-classes-cpan` class
already sets ``NO_PERLLOCAL`` to stop this file being generated by most Perl recipes,
but if a recipe is using ``MakeMaker`` directly then they might not be doing this
correctly. This check ensures that perllocal.pod is not in any package in order to
@@ -667,8 +669,8 @@ Errors and Warnings
If ``usrmerge`` is in :term:`DISTRO_FEATURES`, this check will ensure that no package
installs files to root (``/bin``, ``/sbin``, ``/lib``, ``/lib64``) directories. If you are seeing this
message, it indicates that the ``do_install`` step (or perhaps the build process that
``do_install`` is calling into, e.g. ``make install`` is using hardcoded paths instead
message, it indicates that the :ref:`ref-tasks-install` step (or perhaps the build process that
:ref:`ref-tasks-install` is calling into, e.g. ``make install`` is using hardcoded paths instead
of the variables set up for this (``bindir``, ``sbindir``, etc.), and should be
changed so that it does.
@@ -677,7 +679,7 @@ Errors and Warnings
- ``Fuzz detected: <patch output> [patch-fuzz]``
This check looks for evidence of "fuzz" when applying patches within the ``do_patch``
This check looks for evidence of "fuzz" when applying patches within the :ref:`ref-tasks-patch`
task. Patch fuzz is a situation when the ``patch`` tool ignores some of the context
lines in order to apply the patch. Consider this example:
@@ -727,7 +729,7 @@ Errors and Warnings
devtool modify <recipe>
This will apply all of the patches, and create new commits out of them in
the workspace - with the patch context updated.
the workspace --- with the patch context updated.
Then, replace the patches in the recipe layer::
@@ -748,6 +750,45 @@ Errors and Warnings
other things in the patches, those can be discarded.
.. _qa-check-patch-status:
- ``Missing Upstream-Status in patch <patchfile> Please add according to <url> [patch-status-core/patch-status-noncore]``
The ``Upstream-Status`` value is missing in the specified patch file's header.
This value is intended to track whether or not the patch has been sent
upstream, whether or not it has been merged, etc.
There are two options for this same check - ``patch-status-core`` (for
recipes in OE-Core) and ``patch-status-noncore`` (for recipes in any other
layer).
For more information, see the
":ref:`contributor-guide/recipe-style-guide:patch upstream status`"
section in the Yocto Project and OpenEmbedded Contributor Guide.
- ``Malformed Upstream-Status in patch <patchfile> Please correct according to <url> [patch-status-core/patch-status-noncore]``
The ``Upstream-Status`` value in the specified patch file's header is invalid -
it must be a specific format. See the "Missing Upstream-Status" entry above
for more information.
.. _qa-check-buildpaths:
- ``File <filename> in package <packagename> contains reference to TMPDIR [buildpaths]``
This check ensures that build system paths (including :term:`TMPDIR`) do not
appear in output files, which not only leaks build system configuration into
the target, but also hinders binary reproducibility as the output will change
if the build system configuration changes.
Typically these paths will enter the output through some mechanism in the
configuration or compilation of the software being built by the recipe. To
resolve this issue you will need to determine how the detected path is
entering the output. Sometimes it may require adjusting scripts or code to
use a relative path rather than an absolute one, or to pick up the path from
runtime configuration or environment variables.
Configuring and Disabling QA Checks
===================================

View File

@@ -18,9 +18,9 @@ Following are examples of some major YP releases with their codenames
also shown. See the ":ref:`ref-manual/release-process:major release codenames`"
section for information on codenames used with major releases.
- 2.2 (Morty)
- 2.1 (Krogoth)
- 2.0 (Jethro)
- 4.1 ("Langdale")
- 4.0 ("Kirkstone")
- 3.4 ("Honister")
While the cadence is never perfect, this timescale facilitates
regular releases that have strong QA cycles while not overwhelming users
@@ -32,9 +32,9 @@ basis and are usually driven by the accumulation of enough significant
fixes or enhancements to the associated major release. Following are
some example past point releases:
- 2.1.1
- 2.1.2
- 2.2.1
- 4.1.3
- 4.0.8
- 3.4.4
The point release
indicates a point in the major release branch where a full QA cycle and
@@ -87,15 +87,51 @@ stable release.
exception to this policy occurs when there is a strong reason such as
the fix happens to also be the preferred upstream approach.
Stable release branches have strong maintenance for about a year after
their initial release. Should significant issues be found for any
release regardless of its age, fixes could be backported to older
releases. For issues that are not backported given an older release,
Community LTS trees and branches allow community members to share
patches for older releases. However, these types of patches do not go
through the same release process as do point releases. You can find more
information about stable branch maintenance at
:yocto_wiki:`/Stable_branch_maintenance`.
.. _ref-long-term-support-releases:
Long Term Support Releases
==========================
While stable releases are supported for a duration of seven months,
some specific ones are now supported for a longer period by the Yocto
Project, and are called Long Term Support (:term:`LTS`) releases.
When significant issues are found, :term:`LTS` releases allow to publish
fixes not only for the current stable release, but also to the
:term:`LTS` releases that are still supported. Older stable releases which
have reached their End of Life (EOL) won't receive such updates.
This started with version 3.1 ("Dunfell"), released in April 2020, which
the project initially committed to supporting for two years, but this duration
was later extended to four years. Similarly, the following :term:`LTS` release,
version 4.0 ("Kirkstone"), was released two years later in May 2022 and the
project committed to supporting it for four years too.
Therefore, a new :term:`LTS` release is made every two years and is supported
for four years. This offers more stability to project users and leaves more
time to upgrade to the following :term:`LTS` release.
See :yocto_wiki:`/Stable_Release_and_LTS` for details about the management
of stable and :term:`LTS` releases.
.. image:: svg/releases.*
:width: 100%
.. note::
In some circumstances, a layer can be created by the community in order to
add a specific feature or support a new version of some package for an :term:`LTS`
release. This is called a :term:`Mixin` layer. These are thin and specific
purpose layers which can be stacked with an :term:`LTS` release to "mix" a specific
feature into that build. These are created on an as-needed basis and
maintained by the people who need them.
Policies on testing these layers depend on how widespread their usage is and
determined on a case-by-case basis. You can find some :term:`Mixin` layers in the
:yocto_git:`meta-lts-mixins </meta-lts-mixins>` repository. While the Yocto
Project provides hosting for those repositories, it does not provides
testing on them. Other :term:`Mixin` layers may be released elsewhere by the wider
community.
Testing and Quality Assurance
=============================
@@ -107,7 +143,7 @@ Additionally, because the test strategies are visible to you as a
developer, you can validate your projects. This section overviews the
available test infrastructure used in the Yocto Project. For information
on how to run available tests on your projects, see the
":ref:`dev-manual/common-tasks:performing automated runtime testing`"
":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
section in the Yocto Project Development Tasks Manual.
The QA/testing infrastructure is woven into the project to the point
@@ -127,14 +163,14 @@ consists of the following pieces:
an ARM target, did the build produce ARM binaries. If, for example,
the build produced PPC binaries then there is a problem.
- :ref:`ref-classes-testimage*`: This class
- :ref:`ref-classes-testimage`: This class
performs runtime testing of images after they are built. The tests
are usually used with :doc:`QEMU </dev-manual/qemu>`
to boot the images and check the combined runtime result boot
operation and functions. However, the test can also use the IP
address of a machine to test.
- :ref:`ptest <dev-manual/common-tasks:testing packages with ptest>`:
- :ref:`ptest <dev-manual/packages:testing packages with ptest>`:
Runs tests against packages produced during the build for a given
piece of software. The test allows the packages to be run within a
target image.
@@ -155,14 +191,12 @@ effort has been made to automate the tests so that more people can use
them and the Yocto Project development team can run them faster and more
efficiently.
The Yocto Project's main Autobuilder (&YOCTO_AB_URL;)
publicly tests each Yocto Project release's code in the
:term:`OpenEmbedded-Core (OE-Core)`, Poky, and BitBake repositories. The testing
occurs for both the current state of the "master" branch and also for
The Yocto Project's main Autobuilder (&YOCTO_AB_URL;) publicly tests each Yocto
Project release's code in the :oe_git:`openembedded-core </openembedded-core>`,
:yocto_git:`poky </poky>` and :oe_git:`bitbake </bitbake>` repositories. The
testing occurs for both the current state of the "master" branch and also for
submitted patches. Testing for submitted patches usually occurs in the
"ross/mut" branch in the ``poky-contrib`` repository (i.e. the
master-under-test branch) or in the "master-next" branch in the ``poky``
repository.
in the "master-next" branch in the :yocto_git:`poky </poky>` repository.
.. note::

View File

@@ -23,8 +23,7 @@ The Yocto Project gladly accepts contributions. You can submit changes
to the project either by creating and sending pull requests, or by
submitting patches through email. For information on how to do both as
well as information on how to identify the maintainer for each area of
code, see the ":ref:`dev-manual/common-tasks:submitting a change to the yocto project`" section in the
Yocto Project Development Tasks Manual.
code, see the :doc:`../contributor-guide/index`.
.. _resources-bugtracker:
@@ -46,8 +45,8 @@ your expectations).
For a general procedure and guidelines on how to use Bugzilla to submit a bug
against the Yocto Project, see the following:
- The ":ref:`dev-manual/common-tasks:submitting a defect against the yocto project`"
section in the Yocto Project Development Tasks Manual.
- The ":doc:`../contributor-guide/report-defect`"
section in the Yocto Project and OpenEmbedded Contributor Guide.
- The Yocto Project :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>`

View File

@@ -175,7 +175,7 @@ within the :term:`Source Directory`. If you design a
custom distribution, you can include your own version of this
configuration file to mention the targets defined by your distribution.
See the
":ref:`dev-manual/common-tasks:creating a custom template configuration directory`"
":ref:`dev-manual/custom-template-configuration-directory:creating a custom template configuration directory`"
section in the Yocto Project Development Tasks Manual for more
information.
@@ -191,7 +191,7 @@ Directory named ``mybuilds/`` that is outside of the :term:`Source Directory`::
The OpenEmbedded build system uses the template configuration files, which
are found by default in the ``meta-poky/conf/`` directory in the Source
Directory. See the
":ref:`dev-manual/common-tasks:creating a custom template configuration directory`"
":ref:`dev-manual/custom-template-configuration-directory:creating a custom template configuration directory`"
section in the Yocto Project Development Tasks Manual for more
information.
@@ -234,7 +234,7 @@ The OpenEmbedded build system creates this directory when you enable
build history via the :ref:`buildhistory <ref-classes-buildhistory>` class file. The directory
organizes build information into image, packages, and SDK
subdirectories. For information on the build history feature, see the
":ref:`dev-manual/common-tasks:maintaining build output quality`"
":ref:`dev-manual/build-quality:maintaining build output quality`"
section in the Yocto Project Development Tasks Manual.
.. _structure-build-conf-local.conf:
@@ -289,7 +289,7 @@ file, it uses ``sed`` to substitute final
----------------------------
This configuration file defines
:ref:`layers <dev-manual/common-tasks:understanding and creating layers>`,
:ref:`layers <dev-manual/layers:understanding and creating layers>`,
which are directory trees, traversed (or walked) by BitBake. The
``bblayers.conf`` file uses the :term:`BBLAYERS`
variable to list the layers BitBake tries to find.
@@ -434,7 +434,7 @@ directory contains sub-directories for ``bash``, ``busybox``, and
``glibc`` (among others) that in turn contain appropriate ``COPYING``
license files with other licensing information. For information on
licensing, see the
":ref:`dev-manual/common-tasks:maintaining open source license compliance during your product's lifecycle`"
":ref:`dev-manual/licenses:maintaining open source license compliance during your product's lifecycle`"
section in the Yocto Project Development Tasks Manual.
.. _structure-build-tmp-deploy-images:
@@ -571,7 +571,7 @@ built within the Yocto Project. For this package, a work directory of
``tmp/work/qemux86-poky-linux/linux-yocto/3.0+git1+<.....>``, referred
to as the :term:`WORKDIR`, is created. Within this directory, the source is
unpacked to ``linux-qemux86-standard-build`` and then patched by Quilt.
(See the ":ref:`dev-manual/common-tasks:using quilt in your workflow`" section in
(See the ":ref:`dev-manual/quilt:using quilt in your workflow`" section in
the Yocto Project Development Tasks Manual for more information.) Within
the ``linux-qemux86-standard-build`` directory, standard Quilt
directories ``linux-3.0/patches`` and ``linux-3.0/.pc`` are created, and

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 106 KiB

View File

@@ -34,15 +34,38 @@ and conceptual information in the :doc:`/overview-manual/index`.
Supported Linux Distributions
=============================
Currently, the Yocto Project is supported on the following
distributions:
- Ubuntu 18.04 (LTS)
Currently, the &DISTRO; release ("&DISTRO_NAME;") of the Yocto Project is
supported on the following distributions:
- Ubuntu 20.04 (LTS)
- Ubuntu 22.04 (LTS)
- Fedora 37
- Debian GNU/Linux 11.x (Bullseye)
- AlmaLinux 8.8
The following distribution versions are still tested (being listed
in :term:`SANITY_TESTED_DISTROS`), even though the organizations
publishing them no longer make updates publicly available:
- Ubuntu 18.04 (LTS)
- OpenSUSE Leap 15.3
Note that the Yocto Project doesn't have access to private updates
that some of these versions may have. Therefore, our testing has
limited value if you have access to such updates.
Finally, here are the distribution versions which were previously
tested on former revisions of "&DISTRO_NAME;", but no longer are:
- Ubuntu 16.04 (LTS)
- Ubuntu 21.10
- Fedora 34
- Fedora 35
@@ -61,10 +84,6 @@ distributions:
- Debian GNU/Linux 10.x (Buster)
- Debian GNU/Linux 11.x (Bullseye)
- OpenSUSE Leap 15.3
.. note::
- While the Yocto Project Team attempts to ensure all Yocto Project
@@ -96,9 +115,8 @@ distributions:
interested in hearing about your experience. For information on
how to submit a bug, see the Yocto Project
:yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>`
and the ":ref:`dev-manual/common-tasks:submitting a defect against the yocto project`"
section in the Yocto Project Development Tasks Manual.
and the ":doc:`../contributor-guide/report-defect`"
section in the Yocto Project and OpenEmbedded Contributor Guide.
Required Packages for the Build Host
====================================

View File

@@ -343,7 +343,7 @@ while ``file2.patch`` would not be applied.
You can find out more about the patching process in the
":ref:`overview-manual/concepts:patching`" section in
the Yocto Project Overview and Concepts Manual and the
":ref:`dev-manual/common-tasks:patching code`" section in the
":ref:`dev-manual/new-recipe:patching code`" section in the
Yocto Project Development Tasks Manual.
.. _ref-tasks-populate_lic:
@@ -522,7 +522,7 @@ scratch is guaranteed.
Starts a shell in which an interactive Python interpreter allows you to
interact with the BitBake build environment. From within this shell, you
can directly examine and set bits from the data store and execute
functions as if within the BitBake environment. See the ":ref:`dev-manual/common-tasks:using a python development shell`" section in
functions as if within the BitBake environment. See the ":ref:`dev-manual/python-development-shell:using a Python development shell`" section in
the Yocto Project Development Tasks Manual for more information about
using ``pydevshell``.
@@ -532,7 +532,7 @@ using ``pydevshell``.
---------------
Starts a shell whose environment is set up for development, debugging,
or both. See the ":ref:`dev-manual/common-tasks:using a development shell`" section in the
or both. See the ":ref:`dev-manual/development-shell:using a development shell`" section in the
Yocto Project Development Tasks Manual for more information about using
``devshell``.
@@ -597,7 +597,7 @@ information on how the root filesystem is created.
Boots an image and performs runtime tests within the image. For
information on automatically testing images, see the
":ref:`dev-manual/common-tasks:performing automated runtime testing`"
":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
section in the Yocto Project Development Tasks Manual.
.. _ref-tasks-testimage_auto:
@@ -610,7 +610,7 @@ after it has been built. This task is enabled when you set
:term:`TESTIMAGE_AUTO` equal to "1".
For information on automatically testing images, see the
":ref:`dev-manual/common-tasks:performing automated runtime testing`"
":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
section in the Yocto Project Development Tasks Manual.
Kernel-Related Tasks

View File

@@ -21,7 +21,7 @@ universal, the list includes them just in case:
Information in append files extends or overrides the information in the
similarly-named recipe file. For an example of an append file in use, see
the ":ref:`dev-manual/common-tasks:appending other layers metadata with your layer`"
the ":ref:`dev-manual/layers:appending other layers metadata with your layer`"
section in the Yocto Project Development Tasks Manual.
When you name an append file, you can use the "``%``" wildcard character
@@ -192,6 +192,48 @@ universal, the list includes them just in case:
of the supported image types that the Yocto Project provides, see the
":ref:`ref-manual/images:Images`" chapter.
:term:`Initramfs`
An Initial RAM Filesystem (:term:`Initramfs`) is an optionally compressed
:wikipedia:`cpio <Cpio>` archive which is extracted
by the Linux kernel into RAM in a special :wikipedia:`tmpfs <Tmpfs>`
instance, used as the initial root filesystem.
This is a replacement for the legacy init RAM disk ("initrd")
technique, booting on an emulated block device in RAM, but being less
efficient because of the overhead of going through a filesystem and
having to duplicate accessed file contents in the file cache in RAM,
as for any block device.
.. note::
As far as bootloaders are concerned, :term:`Initramfs` and "initrd"
images are still copied to RAM in the same way. That's why most
most bootloaders refer to :term:`Initramfs` images as "initrd"
or "init RAM disk".
This kind of mechanism is typically used for two reasons:
- For booting the same kernel binary on multiple systems requiring
different device drivers. The :term:`Initramfs` image is then customized
for each type of system, to include the specific kernel modules
necessary to access the final root filesystem. This technique
is used on all GNU / Linux distributions for desktops and servers.
- For booting faster. As the root filesystem is extracted into RAM,
accessing the first user-space applications is very fast, compared
to having to initialize a block device, to access multiple blocks
from it, and to go through a filesystem having its own overhead.
For example, this allows to display a splashscreen very early,
and to later take care of mounting the final root filesystem and
loading less time-critical kernel drivers.
This cpio archive can either be loaded to RAM by the bootloader,
or be included in the kernel binary.
For information on creating and using an :term:`Initramfs`, see the
":ref:`dev-manual/building:building an initial ram filesystem (Initramfs) image`"
section in the Yocto Project Development Tasks Manual.
:term:`Layer`
A collection of related recipes. Layers allow you to consolidate related
metadata to customize your build. Layers also isolate information used
@@ -205,12 +247,18 @@ universal, the list includes them just in case:
":ref:`overview-manual/yp-intro:The Yocto Project Layer
Model`" section in the Yocto Project Overview and Concepts Manual. For
more detailed information on layers, see the
":ref:`dev-manual/common-tasks:Understanding and Creating
":ref:`dev-manual/layers:Understanding and Creating
Layers`" section in the Yocto Project Development Tasks Manual. For a
discussion specifically on BSP Layers, see the ":ref:`bsp-guide/bsp:BSP
Layers`" section in the Yocto Project Board Support Packages (BSP)
Developer's Guide.
:term:`LTS`
This term means "Long Term Support", and in the context of the Yocto
Project, it corresponds to selected stable releases for which bug and
security fixes are provided for at least four years. See
the :ref:`ref-long-term-support-releases` section for details.
:term:`Metadata`
A key element of the Yocto Project is the Metadata that
is used to construct a Linux distribution and is contained in the
@@ -230,6 +278,12 @@ universal, the list includes them just in case:
:yocto_git:`yocto-kernel-cache </yocto-kernel-cache>`
Git repository.
:term:`Mixin`
A :term:`Mixin` layer is a layer which can be created by the community to
add a specific feature or support a new version of some package for an
:term:`LTS` release. See the :ref:`ref-long-term-support-releases`
section for details.
:term:`OpenEmbedded-Core (OE-Core)`
OE-Core is metadata comprised of
foundational recipes, classes, and associated files that are meant to
@@ -337,7 +391,7 @@ universal, the list includes them just in case:
The OpenEmbedded Build System can generate such documentation for your
project, in :term:`SPDX` format, based on all the metadata it used to
build the software images. See the ":ref:`dev-manual/common-tasks:creating
build the software images. See the ":ref:`dev-manual/sbom:creating
a software bill of materials`" section of the Development Tasks manual.
:term:`Source Directory`
@@ -401,14 +455,14 @@ universal, the list includes them just in case:
section in the Yocto Project Overview and Concepts Manual.
:term:`SPDX`
This term means *Software Package Data Exchange*, and is used as a open
This term means *Software Package Data Exchange*, and is used as an open
standard for providing a *Software Bill of Materials* (:term:`SBOM`).
This standard is developed through a `Linux Foundation project
<https://spdx.dev/>`__ and is used by the OpenEmbedded Build System to
provide an :term:`SBOM` associated to each a software image.
provide an :term:`SBOM` associated to each software image.
For details, see Wikipedia's :wikipedia:`SPDX page <Software_Package_Data_Exchange>`
and the ":ref:`dev-manual/common-tasks:creating a software bill of materials`"
and the ":ref:`dev-manual/sbom:creating a software bill of materials`"
section of the Development Tasks manual.
:term:`Task`

File diff suppressed because it is too large Load Diff

View File

@@ -25,27 +25,20 @@ Follow these steps to locate and hand-install the toolchain:
download the installer appropriate for your build host, target
hardware, and image type.
The installer files (``*.sh``) follow this naming convention::
The installer files (``*.sh``) follow this naming convention:
``poky-glibc-host_system-core-image-type-arch-toolchain[-ext]-release.sh``:
poky-glibc-host_system-core-image-type-arch-toolchain[-ext]-release.sh
- ``host_system``: string representing your development system: ``i686`` or ``x86_64``
Where:
host_system is a string representing your development system:
"i686" or "x86_64"
- ``type``: string representing the image: ``sato`` or ``minimal``
type is a string representing the image:
"sato" or "minimal"
- ``arch``: string representing the target architecture such as ``cortexa57-qemuarm64``
arch is a string representing the target architecture:
"aarch64", "armv5e", "core2-64", "cortexa8hf-neon", "i586", "mips32r2",
"mips64", or "ppc7400"
release is the version of Yocto Project.
NOTE:
The standard SDK installer does not have the "-ext" string as
part of the filename.
- ``release``: version of the Yocto Project.
.. note::
The standard SDK installer does not have the ``-ext`` string as
part of the filename.
The toolchains provided by the Yocto
Project are based off of the ``core-image-sato`` and
@@ -53,16 +46,16 @@ Follow these steps to locate and hand-install the toolchain:
developing against those images.
For example, if your build host is a 64-bit x86 system and you need
an extended SDK for a 64-bit core2 target, go into the ``x86_64``
an extended SDK for a 64-bit core2 QEMU target, go into the ``x86_64``
folder and download the following installer::
poky-glibc-x86_64-core-image-sato-core2-64-toolchain-ext-&DISTRO;.sh
poky-glibc-x86_64-core-image-sato-core2-64-qemux86-64-toolchain-&DISTRO;.sh
4. *Run the Installer:* Be sure you have execution privileges and run
the installer. Following is an example from the ``Downloads``
directory::
$ ~/Downloads/poky-glibc-x86_64-core-image-sato-core2-64-toolchain-ext-&DISTRO;.sh
$ ~/Downloads/poky-glibc-x86_64-core-image-sato-core2-64-qemux86-64-toolchain-&DISTRO;.sh
During execution of the script, you choose the root location for the
toolchain. See the
@@ -206,21 +199,14 @@ Follow these steps to extract the root filesystem:
also contain flattened root filesystem image files (``*.ext4``),
which you can use with QEMU directly.
The pre-built root filesystem image files follow these naming
conventions::
The pre-built root filesystem image files follow the
``core-image-profile-machine.tar.bz2`` naming convention:
core-image-profile-arch.tar.bz2
- ``profile``: filesystem image's profile, such as ``minimal``,
``minimal-dev`` or ``sato``. For information on these types of image
profiles, see the "Images" chapter in the Yocto Project Reference Manual.
Where:
profile is the filesystem image's profile:
lsb, lsb-dev, lsb-sdk, minimal, minimal-dev, minimal-initramfs,
sato, sato-dev, sato-sdk, sato-sdk-ptest. For information on
these types of image profiles, see the "Images" chapter in
the Yocto Project Reference Manual.
arch is a string representing the target architecture:
beaglebone-yocto, beaglebone-yocto-lsb, edgerouter, edgerouter-lsb,
genericx86, genericx86-64, genericx86-64-lsb, genericx86-lsb and qemu*.
- ``machine``: same string as the name of the parent download directory.
The root filesystems
provided by the Yocto Project are based off of the

View File

@@ -102,16 +102,7 @@ must be writable for whichever users need to use the SDK.
The following command shows how to run the installer given a toolchain
tarball for a 64-bit x86 development host system and a 64-bit x86 target
architecture. The example assumes the SDK installer is located in
``~/Downloads/`` and has execution rights.
.. note::
If you do not have write permissions for the directory into which you
are installing the SDK, the installer notifies you and exits. For
that case, set up the proper permissions in the directory and run the
installer again.
::
``~/Downloads/`` and has execution rights::
$ ./Downloads/poky-glibc-x86_64-core-image-minimal-core2-64-toolchain-ext-2.5.sh
Poky (Yocto Project Reference Distro) Extensible SDK installer version 2.5
@@ -132,6 +123,13 @@ architecture. The example assumes the SDK installer is located in
Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g.
$ . /home/scottrif/poky_sdk/environment-setup-core2-64-poky-linux
.. note::
If you do not have write permissions for the directory into which you
are installing the SDK, the installer notifies you and exits. For
that case, set up the proper permissions in the directory and run the
installer again.
Running the Extensible SDK Environment Setup Script
===================================================
@@ -154,11 +152,9 @@ script is for an IA-based target machine using i586 tuning::
SDK environment now set up; additionally you may now run devtool to perform development tasks.
Run devtool --help for further details.
Running the setup script defines many environment variables needed in
order to use the SDK (e.g. ``PATH``,
:term:`CC`,
:term:`LD`, and so forth). If you want to
see all the environment variables the script exports, examine the
Running the setup script defines many environment variables needed in order to
use the SDK (e.g. ``PATH``, :term:`CC`, :term:`LD`, and so forth). If you want
to see all the environment variables the script exports, examine the
installation file itself.
Using ``devtool`` in Your SDK Workflow
@@ -172,11 +168,8 @@ system.
.. note::
The use of
devtool
is not limited to the extensible SDK. You can use
devtool
to help you easily develop any project whose build output must be
The use of ``devtool`` is not limited to the extensible SDK. You can use
``devtool`` to help you easily develop any project whose build output must be
part of an image built using the build system.
The ``devtool`` command line is organized similarly to
@@ -186,15 +179,10 @@ all the commands.
.. note::
See the "
devtool
 Quick Reference
" in the Yocto Project Reference Manual for a
devtool
quick reference.
See the ":doc:`/ref-manual/devtool-reference`"
section in the Yocto Project Reference Manual.
Three ``devtool`` subcommands provide entry-points into
development:
Three ``devtool`` subcommands provide entry-points into development:
- *devtool add*: Assists in adding new software to be built.
@@ -233,9 +221,9 @@ shows common development flows you would use with the ``devtool add``
command:
.. image:: figures/sdk-devtool-add-flow.png
:align: center
:width: 100%
1. *Generating the New Recipe*: The top part of the flow shows three
#. *Generating the New Recipe*: The top part of the flow shows three
scenarios by which you could use ``devtool add`` to generate a recipe
based on existing source code.
@@ -252,7 +240,7 @@ command:
- *Left*: The left scenario in the figure represents a common
situation where the source code does not exist locally and needs
to be extracted. In this situation, the source code is extracted
to the default workspace - you do not want the files in some
to the default workspace --- you do not want the files in some
specific location outside of the workspace. Thus, everything you
need will be located in the workspace::
@@ -267,13 +255,12 @@ command:
- *Middle*: The middle scenario in the figure also represents a
situation where the source code does not exist locally. In this
case, the code is again upstream and needs to be extracted to some
local area - this time outside of the default workspace.
local area --- this time outside of the default workspace.
.. note::
If required,
devtool
always creates a Git repository locally during the extraction.
If required, ``devtool`` always creates a Git repository locally
during the extraction.
Furthermore, the first positional argument ``srctree`` in this case
identifies where the ``devtool add`` command will locate the
@@ -282,8 +269,7 @@ command:
$ devtool add recipe srctree fetchuri
In summary,
the source code is pulled from fetchuri and extracted into the
In summary, the source code is pulled from fetchuri and extracted into the
location defined by ``srctree`` as a local Git repository.
Within workspace, ``devtool`` creates a recipe named recipe along
@@ -302,28 +288,26 @@ command:
recipe for the code and places the recipe into the workspace.
Because the extracted source code already exists, ``devtool`` does
not try to relocate the source code into the workspace - only the
not try to relocate the source code into the workspace --- only the
new recipe is placed in the workspace.
Aside from a recipe folder, the command also creates an associated
append folder and places an initial ``*.bbappend`` file within.
2. *Edit the Recipe*: You can use ``devtool edit-recipe`` to open up the
#. *Edit the Recipe*: You can use ``devtool edit-recipe`` to open up the
editor as defined by the ``$EDITOR`` environment variable and modify
the file::
$ devtool edit-recipe recipe
From within the editor, you
can make modifications to the recipe that take effect when you build
it later.
From within the editor, you can make modifications to the recipe that
take effect when you build it later.
3. *Build the Recipe or Rebuild the Image*: The next step you take
#. *Build the Recipe or Rebuild the Image*: The next step you take
depends on what you are going to do with the new code.
If you need to eventually move the build output to the target
hardware, use the following ``devtool`` command:
:;
hardware, use the following ``devtool`` command::
$ devtool build recipe
@@ -334,7 +318,7 @@ command:
$ devtool build-image image
4. *Deploy the Build Output*: When you use the ``devtool build`` command
#. *Deploy the Build Output*: When you use the ``devtool build`` command
to build out your recipe, you probably want to see if the resulting
build output works as expected on the target hardware.
@@ -348,20 +332,22 @@ command:
development machine.
You can deploy your build output to that target hardware by using the
``devtool deploy-target`` command: $ devtool deploy-target recipe
target The target is a live target machine running as an SSH server.
``devtool deploy-target`` command::
$ devtool deploy-target recipe target
The target is a live target machine running as an SSH server.
You can, of course, also deploy the image you build to actual
hardware by using the ``devtool build-image`` command. However,
``devtool`` does not provide a specific command that allows you to
deploy the image to actual hardware.
5. *Finish Your Work With the Recipe*: The ``devtool finish`` command
#. *Finish Your Work With the Recipe*: The ``devtool finish`` command
creates any patches corresponding to commits in the local Git
repository, moves the new recipe to a more permanent layer, and then
resets the recipe so that the recipe is built normally rather than
from the workspace.
::
from the workspace::
$ devtool finish recipe layer
@@ -379,11 +365,9 @@ command:
.. note::
You can use the
devtool reset
command to put things back should you decide you do not want to
proceed with your work. If you do use this command, realize that
the source tree is preserved.
You can use the ``devtool reset`` command to put things back should you
decide you do not want to proceed with your work. If you do use this
command, realize that the source tree is preserved.
Use ``devtool modify`` to Modify the Source of an Existing Component
--------------------------------------------------------------------
@@ -401,9 +385,9 @@ diagram shows common development flows for the ``devtool modify``
command:
.. image:: figures/sdk-devtool-modify-flow.png
:align: center
:width: 100%
1. *Preparing to Modify the Code*: The top part of the flow shows three
#. *Preparing to Modify the Code*: The top part of the flow shows three
scenarios by which you could use ``devtool modify`` to prepare to
work on source files. Each scenario assumes the following:
@@ -430,11 +414,9 @@ command:
$ devtool modify recipe
Once
``devtool``\ locates the recipe, ``devtool`` uses the recipe's
:term:`SRC_URI` statements to
locate the source code and any local patch files from other
developers.
Once ``devtool`` locates the recipe, ``devtool`` uses the recipe's
:term:`SRC_URI` statements to locate the source code and any local
patch files from other developers.
With this scenario, there is no ``srctree`` argument. Consequently, the
default behavior of the ``devtool modify`` command is to extract
@@ -470,11 +452,7 @@ command:
.. note::
You cannot provide a URL for
srctree
using the
devtool
command.
You cannot provide a URL for ``srctree`` using the ``devtool`` command.
As with all extractions, the command uses the recipe's :term:`SRC_URI`
statements to locate the source files and any associated patch
@@ -512,11 +490,11 @@ command:
append file for the recipe in the ``devtool`` workspace. The
recipe and the source code remain in their original locations.
2. *Edit the Source*: Once you have used the ``devtool modify`` command,
#. *Edit the Source*: Once you have used the ``devtool modify`` command,
you are free to make changes to the source files. You can use any
editor you like to make and save your source code modifications.
3. *Build the Recipe or Rebuild the Image*: The next step you take
#. *Build the Recipe or Rebuild the Image*: The next step you take
depends on what you are going to do with the new code.
If you need to eventually move the build output to the target
@@ -527,9 +505,11 @@ command:
On the other hand, if you want an image to contain the recipe's
packages from the workspace for immediate deployment onto a device
(e.g. for testing purposes), you can use the ``devtool build-image``
command: $ devtool build-image image
command::
4. *Deploy the Build Output*: When you use the ``devtool build`` command
$ devtool build-image image
#. *Deploy the Build Output*: When you use the ``devtool build`` command
to build out your recipe, you probably want to see if the resulting
build output works as expected on target hardware.
@@ -554,13 +534,12 @@ command:
``devtool`` does not provide a specific command to deploy the image
to actual hardware.
5. *Finish Your Work With the Recipe*: The ``devtool finish`` command
#. *Finish Your Work With the Recipe*: The ``devtool finish`` command
creates any patches corresponding to commits in the local Git
repository, updates the recipe to point to them (or creates a
``.bbappend`` file to do so, depending on the specified destination
layer), and then resets the recipe so that the recipe is built
normally rather than from the workspace.
::
normally rather than from the workspace::
$ devtool finish recipe layer
@@ -568,8 +547,7 @@ command:
Any changes you want to turn into patches must be staged and
committed within the local Git repository before you use the
devtool finish
command.
``devtool finish`` command.
Because there is no need to move the recipe, ``devtool finish``
either updates the original recipe in the original layer or the
@@ -584,11 +562,9 @@ command:
.. note::
You can use the
devtool reset
command to put things back should you decide you do not want to
proceed with your work. If you do use this command, realize that
the source tree is preserved.
You can use the ``devtool reset`` command to put things back should you
decide you do not want to proceed with your work. If you do use this
command, realize that the source tree is preserved.
Use ``devtool upgrade`` to Create a Version of the Recipe that Supports a Newer Version of the Software
-------------------------------------------------------------------------------------------------------
@@ -602,27 +578,25 @@ counterparts.
.. note::
Several methods exist by which you can upgrade recipes -
``devtool upgrade``
happens to be one. You can read about all the methods by which you
can upgrade recipes in the
:ref:`dev-manual/common-tasks:upgrading recipes` section
of the Yocto Project Development Tasks Manual.
Several methods exist by which you can upgrade recipes ---
``devtool upgrade`` happens to be one. You can read about all the methods by
which you can upgrade recipes in the
:ref:`dev-manual/upgrading-recipes:upgrading recipes` section of the Yocto
Project Development Tasks Manual.
The ``devtool upgrade`` command is flexible enough to allow you to
specify source code revision and versioning schemes, extract code into
or out of the ``devtool``
:ref:`devtool-the-workspace-layer-structure`,
and work with any source file forms that the
:ref:`bitbake:bitbake-user-manual/bitbake-user-manual-fetching:fetchers` support.
The ``devtool upgrade`` command is flexible enough to allow you to specify
source code revision and versioning schemes, extract code into or out of the
``devtool`` :ref:`devtool-the-workspace-layer-structure`, and work with any
source file forms that the
:ref:`bitbake-user-manual/bitbake-user-manual-fetching:fetchers` support.
The following diagram shows the common development flow used with the
``devtool upgrade`` command:
.. image:: figures/sdk-devtool-upgrade-flow.png
:align: center
:width: 100%
1. *Initiate the Upgrade*: The top part of the flow shows the typical
#. *Initiate the Upgrade*: The top part of the flow shows the typical
scenario by which you use the ``devtool upgrade`` command. The
following conditions exist:
@@ -674,7 +648,7 @@ The following diagram shows the common development flow used with the
are incorporated into the build the next time you build the software
just as are other changes you might have made to the source.
2. *Resolve any Conflicts created by the Upgrade*: Conflicts could happen
#. *Resolve any Conflicts created by the Upgrade*: Conflicts could happen
after upgrading the software to a new version. Conflicts occur
if your recipe specifies some patch files in :term:`SRC_URI` that
conflict with changes made in the new version of the software. For
@@ -685,7 +659,7 @@ The following diagram shows the common development flow used with the
conflicts created through use of a newer or different version of the
software.
3. *Build the Recipe or Rebuild the Image*: The next step you take
#. *Build the Recipe or Rebuild the Image*: The next step you take
depends on what you are going to do with the new code.
If you need to eventually move the build output to the target
@@ -700,7 +674,7 @@ The following diagram shows the common development flow used with the
$ devtool build-image image
4. *Deploy the Build Output*: When you use the ``devtool build`` command
#. *Deploy the Build Output*: When you use the ``devtool build`` command
or ``bitbake`` to build your recipe, you probably want to see if the
resulting build output works as expected on target hardware.
@@ -714,15 +688,18 @@ The following diagram shows the common development flow used with the
development machine.
You can deploy your build output to that target hardware by using the
``devtool deploy-target`` command: $ devtool deploy-target recipe
target The target is a live target machine running as an SSH server.
``devtool deploy-target`` command::
$ devtool deploy-target recipe target
The target is a live target machine running as an SSH server.
You can, of course, also deploy the image you build using the
``devtool build-image`` command to actual hardware. However,
``devtool`` does not provide a specific command that allows you to do
this.
5. *Finish Your Work With the Recipe*: The ``devtool finish`` command
#. *Finish Your Work With the Recipe*: The ``devtool finish`` command
creates any patches corresponding to commits in the local Git
repository, moves the new recipe to a more permanent layer, and then
resets the recipe so that the recipe is built normally rather than
@@ -734,8 +711,7 @@ The following diagram shows the common development flow used with the
If you specify a destination layer that is the same as the original
source, then the old version of the recipe and associated files are
removed prior to adding the new version.
::
removed prior to adding the new version::
$ devtool finish recipe layer
@@ -750,11 +726,9 @@ The following diagram shows the common development flow used with the
.. note::
You can use the
devtool reset
command to put things back should you decide you do not want to
proceed with your work. If you do use this command, realize that
the source tree is preserved.
You can use the ``devtool reset`` command to put things back should you
decide you do not want to proceed with your work. If you do use this
command, realize that the source tree is preserved.
A Closer Look at ``devtool add``
================================
@@ -822,10 +796,9 @@ run ``devtool add`` again and provide the name or the version.
Dependency Detection and Mapping
--------------------------------
The ``devtool add`` command attempts to detect build-time dependencies
and map them to other recipes in the system. During this mapping, the
command fills in the names of those recipes as part of the
:term:`DEPENDS` variable within the
The ``devtool add`` command attempts to detect build-time dependencies and map
them to other recipes in the system. During this mapping, the command fills in
the names of those recipes as part of the :term:`DEPENDS` variable within the
recipe. If a dependency cannot be mapped, ``devtool`` places a comment
in the recipe indicating such. The inability to map a dependency can
result from naming not being recognized or because the dependency simply
@@ -842,10 +815,8 @@ following to your recipe::
.. note::
The
devtool add
command often cannot distinguish between mandatory and optional
dependencies. Consequently, some of the detected dependencies might
The ``devtool add`` command often cannot distinguish between mandatory and
optional dependencies. Consequently, some of the detected dependencies might
in fact be optional. When in doubt, consult the documentation or the
configure script for the software the recipe is building for further
details. In some cases, you might find you can substitute the
@@ -855,16 +826,14 @@ following to your recipe::
License Detection
-----------------
The ``devtool add`` command attempts to determine if the software you
are adding is able to be distributed under a common, open-source
license. If so, the command sets the
:term:`LICENSE` value accordingly.
The ``devtool add`` command attempts to determine if the software you are
adding is able to be distributed under a common, open-source license. If
so, the command sets the :term:`LICENSE` value accordingly.
You should double-check the value added by the command against the
documentation or source files for the software you are building and, if
necessary, update that :term:`LICENSE` value.
The ``devtool add`` command also sets the
:term:`LIC_FILES_CHKSUM`
The ``devtool add`` command also sets the :term:`LIC_FILES_CHKSUM`
value to point to all files that appear to be license-related. Realize
that license statements often appear in comments at the top of source
files or within the documentation. In such cases, the command does not
@@ -944,10 +913,9 @@ mind:
Adding Native Tools
-------------------
Often, you need to build additional tools that run on the :term:`Build
Host` as opposed to
the target. You should indicate this requirement by using one of the
following methods when you run ``devtool add``:
Often, you need to build additional tools that run on the :term:`Build Host`
as opposed to the target. You should indicate this requirement by using one of
the following methods when you run ``devtool add``:
- Specify the name of the recipe such that it ends with "-native".
Specifying the name like this produces a recipe that only builds for
@@ -971,8 +939,7 @@ Adding Node.js Modules
----------------------
You can use the ``devtool add`` command two different ways to add
Node.js modules: 1) Through ``npm`` and, 2) from a repository or local
source.
Node.js modules: through ``npm`` or from a repository or local source.
Use the following form to add Node.js modules through ``npm``::
@@ -987,7 +954,7 @@ these behaviors ensure the reproducibility and integrity of the build.
.. note::
- You must use quotes around the URL. The ``devtool add`` does not
- You must use quotes around the URL. ``devtool add`` does not
require the quotes, but the shell considers ";" as a splitter
between multiple commands. Thus, without the quotes,
``devtool add`` does not receive the other parts, which results in
@@ -1002,9 +969,8 @@ repository or local source tree. To add modules this way, use
$ devtool add https://github.com/diversario/node-ssdp
In this example, ``devtool``
fetches the specified Git repository, detects the code as Node.js code,
fetches dependencies using ``npm``, and sets
In this example, ``devtool`` fetches the specified Git repository, detects the
code as Node.js code, fetches dependencies using ``npm``, and sets
:term:`SRC_URI` accordingly.
Working With Recipes
@@ -1013,17 +979,17 @@ Working With Recipes
When building a recipe using the ``devtool build`` command, the typical
build progresses as follows:
1. Fetch the source
#. Fetch the source
2. Unpack the source
#. Unpack the source
3. Configure the source
#. Configure the source
4. Compile the source
#. Compile the source
5. Install the build output
#. Install the build output
6. Package the installed output
#. Package the installed output
For recipes in the workspace, fetching and unpacking is disabled as the
source tree has already been prepared and is persistent. Each of these
@@ -1038,9 +1004,8 @@ does not include complete instructions for building the software.
Instead, common functionality is encapsulated in classes inherited with
the ``inherit`` directive. This technique leaves the recipe to describe
just the things that are specific to the software being built. There is
a :ref:`base <ref-classes-base>` class that
is implicitly inherited by all recipes and provides the functionality
that most recipes typically need.
a :ref:`ref-classes-base` class that is implicitly inherited by all recipes
and provides the functionality that most recipes typically need.
The remainder of this section presents information useful when working
with recipes.
@@ -1066,9 +1031,9 @@ links created within the source tree:
``${``\ :term:`D`\ ``}``.
- ``sysroot-destdir/``: Contains a subset of files installed within
``do_install`` that have been put into the shared sysroot. For
:ref:`ref-tasks-install` that have been put into the shared sysroot. For
more information, see the
":ref:`dev-manual/common-tasks:sharing files between recipes`" section.
":ref:`dev-manual/new-recipe:sharing files between recipes`" section.
- ``packages-split/``: Contains subdirectories for each package
produced by the recipe. For more information, see the
@@ -1082,18 +1047,13 @@ Setting Configure Arguments
If the software your recipe is building uses GNU autoconf, then a fixed
set of arguments is passed to it to enable cross-compilation plus any
extras specified by
:term:`EXTRA_OECONF` or
:term:`PACKAGECONFIG_CONFARGS`
extras specified by :term:`EXTRA_OECONF` or :term:`PACKAGECONFIG_CONFARGS`
set within the recipe. If you wish to pass additional options, add them
to :term:`EXTRA_OECONF` or :term:`PACKAGECONFIG_CONFARGS`. Other supported build
tools have similar variables (e.g.
:term:`EXTRA_OECMAKE` for
CMake, :term:`EXTRA_OESCONS`
for Scons, and so forth). If you need to pass anything on the ``make``
command line, you can use :term:`EXTRA_OEMAKE` or the
:term:`PACKAGECONFIG_CONFARGS`
variables to do so.
tools have similar variables (e.g. :term:`EXTRA_OECMAKE` for CMake,
:term:`EXTRA_OESCONS` for Scons, and so forth). If you need to pass anything on
the ``make`` command line, you can use :term:`EXTRA_OEMAKE` or the
:term:`PACKAGECONFIG_CONFARGS` variables to do so.
You can use the ``devtool configure-help`` command to help you set the
arguments listed in the previous paragraph. The command determines the
@@ -1117,8 +1077,7 @@ the build host.
Recipes should never write files directly into the sysroot. Instead,
files should be installed into standard locations during the
:ref:`ref-tasks-install` task within
the ``${``\ :term:`D`\ ``}`` directory. A
:ref:`ref-tasks-install` task within the ``${``\ :term:`D`\ ``}`` directory. A
subset of these files automatically goes into the sysroot. The reason
for this limitation is that almost all files that go into the sysroot
are cataloged in manifests in order to ensure they can be removed later
@@ -1134,14 +1093,12 @@ the target device, it is important to understand packaging because the
contents of the image are expressed in terms of packages and not
recipes.
During the :ref:`ref-tasks-package`
task, files installed during the
:ref:`ref-tasks-install` task are
split into one main package, which is almost always named the same as
the recipe, and into several other packages. This separation exists
because not all of those installed files are useful in every image. For
example, you probably do not need any of the documentation installed in
a production image. Consequently, for each recipe the documentation
During the :ref:`ref-tasks-package` task, files installed during the
:ref:`ref-tasks-install` task are split into one main package, which is almost
always named the same as the recipe, and into several other packages. This
separation exists because not all of those installed files are useful in every
image. For example, you probably do not need any of the documentation installed
in a production image. Consequently, for each recipe the documentation
files are separated into a ``-doc`` package. Recipes that package
software containing optional modules or plugins might undergo additional
package splitting as well.
@@ -1149,8 +1106,7 @@ package splitting as well.
After building a recipe, you can see where files have gone by looking in
the ``oe-workdir/packages-split`` directory, which contains a
subdirectory for each package. Apart from some advanced cases, the
:term:`PACKAGES` and
:term:`FILES` variables controls
:term:`PACKAGES` and :term:`FILES` variables controls
splitting. The :term:`PACKAGES` variable lists all of the packages to be
produced, while the :term:`FILES` variable specifies which files to include
in each package by using an override to specify the package. For
@@ -1192,16 +1148,11 @@ target machine.
.. note::
The
devtool deploy-target
and
devtool undeploy-target
commands do not currently interact with any package management system
on the target device (e.g. RPM or OPKG). Consequently, you should not
intermingle
devtool deploy-target
and package manager operations on the target device. Doing so could
result in a conflicting set of files.
The ``devtool deploy-target`` and ``devtool undeploy-target`` commands do
not currently interact with any package management system on the target
device (e.g. RPM or OPKG). Consequently, you should not intermingle
``devtool deploy-target`` and package manager operations on the target
device. Doing so could result in a conflicting set of files.
Installing Additional Items Into the Extensible SDK
===================================================
@@ -1215,9 +1166,12 @@ need to link to libGL but you are not sure which recipe provides libGL.
You can use the following command to find out::
$ devtool search libGL mesa
A free implementation of the OpenGL API
A free implementation of the OpenGL API Once you know the recipe
(i.e. ``mesa`` in this example), you can install it::
Once you know the recipe
(i.e. ``mesa`` in this example), you can install it.
::
$ devtool sdk-install mesa
@@ -1244,13 +1198,13 @@ To update your installed SDK, use ``devtool`` as follows::
$ devtool sdk-update
The previous command assumes your SDK provider has set the
default update URL for you through the :term:`SDK_UPDATE_URL`
variable as described in the
The previous command assumes your SDK provider has set the default update URL
for you through the :term:`SDK_UPDATE_URL` variable as described in the
":ref:`sdk-manual/appendix-customizing:Providing Updates to the Extensible SDK After Installation`"
section. If the SDK provider has not set that default URL, you need to
specify it yourself in the command as follows: $ devtool sdk-update
path_to_update_directory
specify it yourself in the command as follows::
$ devtool sdk-update path_to_update_directory
.. note::
@@ -1267,15 +1221,15 @@ those customers need an SDK that has custom libraries. In such a case,
you can produce a derivative SDK based on the currently installed SDK
fairly easily by following these steps:
1. If necessary, install an extensible SDK that you want to use as a
#. If necessary, install an extensible SDK that you want to use as a
base for your derivative SDK.
2. Source the environment script for the SDK.
#. Source the environment script for the SDK.
3. Add the extra libraries or other components you want by using the
#. Add the extra libraries or other components you want by using the
``devtool add`` command.
4. Run the ``devtool build-sdk`` command.
#. Run the ``devtool build-sdk`` command.
The previous steps take the recipes added to the workspace and construct
a new SDK installer that contains those recipes and the resulting binary

View File

@@ -1019,7 +1019,7 @@
id="tspan1183-1-8"
x="-52.348656"
y="518.42615"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:37.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke:none">Objets</tspan></text>
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:37.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke:none">Objects</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

@@ -131,7 +131,7 @@ the following types of tests:
$ bitbake image -c testimage
The tests utilize the :ref:`testimage* <ref-classes-testimage*>`
The tests utilize the :ref:`testimage* <ref-classes-testimage>`
classes and the :ref:`ref-tasks-testimage` task.
- *Layer Testing:* The Autobuilder has the possibility to test whether
@@ -142,7 +142,7 @@ the following types of tests:
- *Package Testing:* A Package Test (ptest) runs tests against packages
built by the OpenEmbedded build system on the target machine. See the
:ref:`Testing Packages With
ptest <dev-manual/common-tasks:Testing Packages With ptest>` section
ptest <dev-manual/packages:Testing Packages With ptest>` section
in the Yocto Project Development Tasks Manual and the
":yocto_wiki:`Ptest </Ptest>`" Wiki page for more
information on Ptest.

View File

@@ -68,17 +68,6 @@ things we do within the build system to ensure reproducibility include:
- Filtering the tools available from the host's ``PATH`` to only a specific set
of tools, set using the :term:`HOSTTOOLS` variable.
.. note::
Because of an open bug in GCC, using ``DISTRO_FEATURES:append = " lto"`` or
adding ``-flto`` (Link Time Optimization) to ``CFLAGS`` makes the resulting
binary non-reproducible, in that it depends on the full absolute build path
to ``recipe-sysroot-native``, so installing the Yocto Project in a different
directory results in a different binary.
This issue is addressed by
:yocto_bugs:`bug 14481 - Programs built with -flto are not reproducible</show_bug.cgi?id=14481>`.
=========================================
Can we prove the project is reproducible?
=========================================

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