Files
ack-tegra/kernel/gen_kheaders.sh
Greg Kroah-Hartman 6c86d6f4fe Merge 6.12.11 into android16-6.12
GKI (arm64) relevant 28 out of 122 changes, affecting 34 files +368/-94
  cccd51dd22 bpf: Fix bpf_sk_select_reuseport() memory leak [1 file, +18/-12]
  1654578a3b cpuidle: teo: Update documentation after previous changes [1 file, +48/-43]
  7a4fd3df85 net: make page_pool_ref_netmem work with net iovs [1 file, +1/-1]
  2b78cab481 netdev: avoid CFI problems with sock priv helpers [2 files, +25/-5]
  e19f31169f i2c: core: fix reference leak in i2c_register_adapter() [1 file, +1/-0]
  b856d2c138 mac802154: check local interfaces before deleting sdata list [1 file, +4/-0]
  7c37879b76 fs: fix missing declaration of init_files [1 file, +1/-0]
  3d46037625 netfs: Fix non-contiguous donation between completed reads [1 file, +5/-4]
  ac216ffa69 scsi: ufs: core: Honor runtime/system PM levels if set by host controller drivers [1 file, +6/-3]
  402ce16421 iomap: avoid avoid truncating 64-bit offset to 32 bits [1 file, +1/-1]
  621f95fa0b poll_wait: add mb() to fix theoretical race between waitqueue_active() and .poll() [1 file, +9/-1]
  e98394f7bc sched/fair: Fix update_cfs_group() vs DELAY_DEQUEUE [1 file, +5/-1]
  902ef8f16d zram: fix potential UAF of zram table [1 file, +1/-0]
  6771e1279d vsock/bpf: return early if transport is not assigned [1 file, +9/-0]
  677579b641 vsock/virtio: discard packets if the transport changes [1 file, +5/-2]
  450aa12993 vsock/virtio: cancel close work in the destructor [1 file, +21/-8]
  01c178d690 vsock: reset socket state when de-assigning the transport [1 file, +9/-0]
  c23d1d4f8e vsock: prevent null-ptr-deref in vsock_*[has_data|has_space] [1 file, +9/-0]
  280f1fb89a filemap: avoid truncating 64-bit offset to 32 bits [1 file, +1/-1]
  310ac886d6 mm: clear uffd-wp PTE/PMD state on mremap() [4 files, +68/-2]
  c78b04977d mm: vmscan : pgdemote vmstat is not getting updated when MGLRU is enabled. [1 file, +3/-0]
  e96a2838d8 tracing: gfp: Fix the GFP enum values shown for user space tracing tools [1 file, +63/-0]
  115719a953 irqchip: Plug a OF node reference leak in platform_irqchip_probe() [1 file, +1/-3]
  44feb76129 irqchip/gic-v3: Handle CPU_PM_ENTER_FAILED correctly [1 file, +1/-1]
  93955a7788 irqchip/gic-v3-its: Don't enable interrupts in its_irq_set_vcpu_affinity() [1 file, +1/-1]
  38492f6ee8 hrtimers: Handle CPU state correctly on hotplug [3 files, +12/-2]
  12ead225b7 timers/migration: Fix another race between hotplug and idle entry/exit [1 file, +28/-1]
  6e641d499b timers/migration: Enforce group initialization visibility to tree walkers [1 file, +12/-2]

Changes in 6.12.11
	efi/zboot: Limit compression options to GZIP and ZSTD
	net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field()
	bpf: Fix bpf_sk_select_reuseport() memory leak
	eth: bnxt: always recalculate features after XDP clearing, fix null-deref
	net: ravb: Fix max TX frame size for RZ/V2M
	openvswitch: fix lockup on tx to unregistering netdev with carrier
	pktgen: Avoid out-of-bounds access in get_imix_entries
	ice: Fix E825 initialization
	ice: Fix quad registers read on E825
	ice: Fix ETH56G FC-FEC Rx offset value
	ice: Introduce ice_get_phy_model() wrapper
	ice: Add ice_get_ctrl_ptp() wrapper to simplify the code
	ice: Use ice_adapter for PTP shared data instead of auxdev
	ice: Add correct PHY lane assignment
	cpuidle: teo: Update documentation after previous changes
	btrfs: add the missing error handling inside get_canonical_dev_path
	gtp: Use for_each_netdev_rcu() in gtp_genl_dump_pdp().
	gtp: Destroy device along with udp socket's netns dismantle.
	pfcp: Destroy device along with udp socket's netns dismantle.
	cpufreq: Move endif to the end of Kconfig file
	nfp: bpf: prevent integer overflow in nfp_bpf_event_output()
	net: xilinx: axienet: Fix IRQ coalescing packet count overflow
	net: fec: handle page_pool_dev_alloc_pages error
	net: make page_pool_ref_netmem work with net iovs
	net/mlx5: Fix RDMA TX steering prio
	net/mlx5: Fix a lockdep warning as part of the write combining test
	net/mlx5: SF, Fix add port error handling
	net/mlx5: Clear port select structure when fail to create
	net/mlx5e: Fix inversion dependency warning while enabling IPsec tunnel
	net/mlx5e: Rely on reqid in IPsec tunnel mode
	net/mlx5e: Always start IPsec sequence number from 1
	netdev: avoid CFI problems with sock priv helpers
	drm/tests: helpers: Fix compiler warning
	drm/vmwgfx: Unreserve BO on error
	drm/vmwgfx: Add new keep_resv BO param
	drm/v3d: Ensure job pointer is set to NULL after job completion
	reset: rzg2l-usbphy-ctrl: Assign proper of node to the allocated device
	soc: ti: pruss: Fix pruss APIs
	i2c: core: fix reference leak in i2c_register_adapter()
	platform/x86: dell-uart-backlight: fix serdev race
	platform/x86: lenovo-yoga-tab2-pro-1380-fastcharger: fix serdev race
	hwmon: (tmp513) Fix division of negative numbers
	Revert "mtd: spi-nor: core: replace dummy buswidth from addr to data"
	i2c: mux: demux-pinctrl: check initial mux selection, too
	i2c: rcar: fix NACK handling when being a target
	i2c: testunit: on errors, repeat NACK until STOP
	hwmon: (ltc2991) Fix mixed signed/unsigned in DIV_ROUND_CLOSEST
	smb: client: fix double free of TCP_Server_Info::hostname
	mac802154: check local interfaces before deleting sdata list
	hfs: Sanity check the root record
	fs/qnx6: Fix building with GCC 15
	fs: fix missing declaration of init_files
	kheaders: Ignore silly-rename files
	netfs: Fix non-contiguous donation between completed reads
	cachefiles: Parse the "secctx" immediately
	scsi: ufs: core: Honor runtime/system PM levels if set by host controller drivers
	gpio: virtuser: lock up configfs that an instantiated device depends on
	gpio: sim: lock up configfs that an instantiated device depends on
	selftests: tc-testing: reduce rshift value
	platform/x86/intel: power-domains: Add Clearwater Forest support
	platform/x86: ISST: Add Clearwater Forest to support list
	ACPI: resource: acpi_dev_irq_override(): Check DMI match last
	sched_ext: keep running prev when prev->scx.slice != 0
	iomap: avoid avoid truncating 64-bit offset to 32 bits
	afs: Fix merge preference rule failure condition
	poll_wait: add mb() to fix theoretical race between waitqueue_active() and .poll()
	selftests/sched_ext: fix build after renames in sched_ext API
	scx: Fix maximal BPF selftest prog
	RDMA/bnxt_re: Fix to export port num to ib_query_qp
	sched_ext: Fix dsq_local_on selftest
	nvmet: propagate npwg topology
	sched/fair: Fix update_cfs_group() vs DELAY_DEQUEUE
	x86/asm: Make serialize() always_inline
	ALSA: hda/realtek: Add support for Ayaneo System using CS35L41 HDA
	ALSA: hda/realtek: fixup ASUS GA605W
	ALSA: hda/realtek: fixup ASUS H7606W
	zram: fix potential UAF of zram table
	i2c: atr: Fix client detach
	mptcp: be sure to send ack when mptcp-level window re-opens
	mptcp: fix spurious wake-up on under memory pressure
	selftests: mptcp: avoid spurious errors on disconnect
	net: ethernet: xgbe: re-add aneg to supported features in PHY quirks
	vsock/bpf: return early if transport is not assigned
	vsock/virtio: discard packets if the transport changes
	vsock/virtio: cancel close work in the destructor
	vsock: reset socket state when de-assigning the transport
	vsock: prevent null-ptr-deref in vsock_*[has_data|has_space]
	nouveau/fence: handle cross device fences properly
	drm/nouveau/disp: Fix missing backlight control on Macbook 5,1
	net/ncsi: fix locking in Get MAC Address handling
	filemap: avoid truncating 64-bit offset to 32 bits
	fs/proc: fix softlockup in __read_vmcore (part 2)
	gpio: xilinx: Convert gpio_lock to raw spinlock
	tools: fix atomic_set() definition to set the value correctly
	pmdomain: imx8mp-blk-ctrl: add missing loop break condition
	mm/kmemleak: fix percpu memory leak detection failure
	selftests/mm: set allocated memory to non-zero content in cow test
	drm/amd/display: Do not elevate mem_type change to full update
	mm: clear uffd-wp PTE/PMD state on mremap()
	mm: vmscan : pgdemote vmstat is not getting updated when MGLRU is enabled.
	tracing: gfp: Fix the GFP enum values shown for user space tracing tools
	irqchip: Plug a OF node reference leak in platform_irqchip_probe()
	irqchip/gic-v3: Handle CPU_PM_ENTER_FAILED correctly
	irqchip/gic-v3-its: Don't enable interrupts in its_irq_set_vcpu_affinity()
	hrtimers: Handle CPU state correctly on hotplug
	timers/migration: Fix another race between hotplug and idle entry/exit
	timers/migration: Enforce group initialization visibility to tree walkers
	x86/fred: Fix the FRED RSP0 MSR out of sync with its per-CPU cache
	drm/i915/fb: Relax clear color alignment to 64 bytes
	drm/xe: Mark ComputeCS read mode as UC on iGPU
	drm/xe/oa: Add missing VISACTL mux registers
	drm/amdgpu/smu13: update powersave optimizations
	drm/amdgpu: fix fw attestation for MP0_14_0_{2/3}
	drm/amdgpu: disable gfxoff with the compute workload on gfx12
	drm/amdgpu: always sync the GFX pipe on ctx switch
	drm/amd/display: Fix PSR-SU not support but still call the amdgpu_dm_psr_enable
	drm/amd/display: Disable replay and psr while VRR is enabled
	drm/amd/display: Do not wait for PSR disable on vbl enable
	Revert "drm/amd/display: Enable urgent latency adjustments for DCN35"
	drm/amd/display: Validate mdoe under MST LCT=1 case as well
	apparmor: allocate xmatch for nullpdb inside aa_alloc_null
	Linux 6.12.11

Change-Id: I44fe9d80e5229632bb5dcbab4d39302fa03c099f
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-01-27 00:06:30 -08:00

106 lines
3.4 KiB
Bash
Executable File

#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# This script generates an archive consisting of kernel headers
# for CONFIG_IKHEADERS.
set -e
sfile="$(readlink -f "$0")"
outdir="$(pwd)"
tarfile=$1
tmpdir=$outdir/${tarfile%/*}/.tmp_dir
dir_list="
include/
arch/$SRCARCH/include/
"
if ! command -v cpio >/dev/null; then
echo >&2 "***"
echo >&2 "*** 'cpio' could not be found."
echo >&2 "***"
exit 1
fi
# Support incremental builds by skipping archive generation
# if timestamps of files being archived are not changed.
# This block is useful for debugging the incremental builds.
# Uncomment it for debugging.
# if [ ! -f /tmp/iter ]; then iter=1; echo 1 > /tmp/iter;
# else iter=$(($(cat /tmp/iter) + 1)); echo $iter > /tmp/iter; fi
# find $all_dirs -name "*.h" | xargs ls -l > /tmp/ls-$iter
all_dirs=
if [ "$building_out_of_srctree" ]; then
for d in $dir_list; do
all_dirs="$all_dirs $srctree/$d"
done
fi
all_dirs="$all_dirs $dir_list"
# include/generated/utsversion.h is ignored because it is generated after this
# script is executed. (utsversion.h is unneeded for kheaders)
#
# When Kconfig regenerates include/generated/autoconf.h, its timestamp is
# updated, but the contents might be still the same. When any CONFIG option is
# changed, Kconfig touches the corresponding timestamp file include/config/*.
# Hence, the md5sum detects the configuration change anyway. We do not need to
# check include/generated/autoconf.h explicitly.
#
# Ignore them for md5 calculation to avoid pointless regeneration.
headers_md5="$(find $all_dirs -name "*.h" |
grep -v "include/generated/utsversion.h" |
grep -v "include/generated/autoconf.h" |
xargs ls -l | md5sum | cut -d ' ' -f1)"
# Any changes to this script will also cause a rebuild of the archive.
this_file_md5="$(ls -l $sfile | md5sum | cut -d ' ' -f1)"
if [ -f $tarfile ]; then tarfile_md5="$(md5sum $tarfile | cut -d ' ' -f1)"; fi
if [ -f kernel/kheaders.md5 ] &&
[ "$(head -n 1 kernel/kheaders.md5)" = "$headers_md5" ] &&
[ "$(head -n 2 kernel/kheaders.md5 | tail -n 1)" = "$this_file_md5" ] &&
[ "$(tail -n 1 kernel/kheaders.md5)" = "$tarfile_md5" ]; then
exit
fi
echo " GEN $tarfile"
rm -rf "${tmpdir}"
mkdir "${tmpdir}"
if [ "$building_out_of_srctree" ]; then
(
cd $srctree
for f in $dir_list
do find "$f" -name "*.h";
done | cpio --quiet -L -pd "${tmpdir}"
)
fi
# The second CPIO can complain if files already exist which can happen with out
# of tree builds having stale headers in srctree. Just silence CPIO for now.
for f in $dir_list;
do find "$f" -name "*.h";
done | cpio --quiet -L -pdu "${tmpdir}" >/dev/null 2>&1
# Remove comments except SDPX lines
# Use a temporary file to store directory contents to prevent find/xargs from
# seeing temporary files created by perl.
find "${tmpdir}" -type f -print0 > "${tmpdir}.contents.txt"
xargs -0 -P8 -n1 \
perl -pi -e 'BEGIN {undef $/;}; s/\/\*((?!SPDX).)*?\*\///smg;' \
< "${tmpdir}.contents.txt"
rm -f "${tmpdir}.contents.txt"
# Create archive and try to normalize metadata for reproducibility.
tar "${KBUILD_BUILD_TIMESTAMP:+--mtime=$KBUILD_BUILD_TIMESTAMP}" \
--exclude=".__afs*" --exclude=".nfs*" \
--owner=0 --group=0 --sort=name --numeric-owner --mode=u=rw,go=r,a+X \
-I $XZ -cf $tarfile -C "${tmpdir}/" . > /dev/null
echo $headers_md5 > kernel/kheaders.md5
echo "$this_file_md5" >> kernel/kheaders.md5
echo "$(md5sum $tarfile | cut -d ' ' -f1)" >> kernel/kheaders.md5
rm -rf "${tmpdir}"