Files
linux/scripts/Makefile.modpost
Greg Kroah-Hartman ff43d92a56 Merge 6.1.79 into android14-6.1-lts
Changes in 6.1.79
	work around gcc bugs with 'asm goto' with outputs
	update workarounds for gcc "asm goto" issue
	btrfs: add and use helper to check if block group is used
	btrfs: do not delete unused block group if it may be used soon
	btrfs: forbid creating subvol qgroups
	btrfs: do not ASSERT() if the newly created subvolume already got read
	btrfs: forbid deleting live subvol qgroup
	btrfs: send: return EOPNOTSUPP on unknown flags
	btrfs: don't reserve space for checksums when writing to nocow files
	btrfs: reject encoded write if inode has nodatasum flag set
	btrfs: don't drop extent_map for free space inode on write error
	driver core: Fix device_link_flag_is_sync_state_only()
	of: unittest: Fix compile in the non-dynamic case
	KVM: selftests: Clear dirty ring states between two modes in dirty_log_test
	KVM: selftests: Fix a semaphore imbalance in the dirty ring logging test
	wifi: iwlwifi: Fix some error codes
	wifi: iwlwifi: uninitialized variable in iwl_acpi_get_ppag_table()
	of: property: Improve finding the supplier of a remote-endpoint property
	net: openvswitch: limit the number of recursions from action sets
	lan966x: Fix crash when adding interface under a lag
	tls/sw: Use splice_eof() to flush
	tls: extract context alloc/initialization out of tls_set_sw_offload
	net: tls: factor out tls_*crypt_async_wait()
	tls: fix race between async notify and socket close
	net: tls: fix use-after-free with partial reads and async decrypt
	net: tls: fix returned read length with async decrypt
	spi: ppc4xx: Drop write-only variable
	ASoC: rt5645: Fix deadlock in rt5645_jack_detect_work()
	net: sysfs: Fix /sys/class/net/<iface> path for statistics
	nouveau/svm: fix kvcalloc() argument order
	MIPS: Add 'memory' clobber to csum_ipv6_magic() inline assembler
	i40e: Do not allow untrusted VF to remove administratively set MAC
	i40e: Fix waiting for queues of all VSIs to be disabled
	scs: add CONFIG_MMU dependency for vfree_atomic()
	tracing/trigger: Fix to return error if failed to alloc snapshot
	mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again
	scsi: storvsc: Fix ring buffer size calculation
	dm-crypt, dm-verity: disable tasklets
	ASoC: amd: yc: Add DMI quirk for MSI Bravo 15 C7VF
	parisc: Prevent hung tasks when printing inventory on serial console
	ALSA: hda/realtek: Fix the external mic not being recognised for Acer Swift 1 SF114-32
	ALSA: hda/realtek: Enable Mute LED on HP Laptop 14-fq0xxx
	HID: i2c-hid-of: fix NULL-deref on failed power up
	HID: wacom: generic: Avoid reporting a serial of '0' to userspace
	HID: wacom: Do not register input devices until after hid_hw_start
	iio: hid-sensor-als: Return 0 for HID_USAGE_SENSOR_TIME_TIMESTAMP
	usb: ucsi: Add missing ppm_lock
	usb: ulpi: Fix debugfs directory leak
	usb: ucsi_acpi: Fix command completion handling
	USB: hub: check for alternate port before enabling A_ALT_HNP_SUPPORT
	usb: f_mass_storage: forbid async queue when shutdown happen
	usb: dwc3: gadget: Fix NULL pointer dereference in dwc3_gadget_suspend
	interconnect: qcom: sc8180x: Mark CO0 BCM keepalive
	media: ir_toy: fix a memleak in irtoy_tx
	driver core: fw_devlink: Improve detection of overlapping cycles
	powerpc/kasan: Fix addr error caused by page alignment
	cifs: fix underflow in parse_server_interfaces()
	i2c: qcom-geni: Correct I2C TRE sequence
	irqchip/loongson-eiointc: Use correct struct type in eiointc_domain_alloc()
	powerpc/kasan: Limit KASAN thread size increase to 32KB
	i2c: pasemi: split driver into two separate modules
	i2c: i801: Fix block process call transactions
	modpost: trim leading spaces when processing source files list
	mptcp: get rid of msk->subflow
	mptcp: fix data re-injection from stale subflow
	selftests: mptcp: add missing kconfig for NF Filter
	selftests: mptcp: add missing kconfig for NF Filter in v6
	selftests: mptcp: add missing kconfig for NF Mangle
	selftests: mptcp: increase timeout to 30 min
	mptcp: drop the push_pending field
	mptcp: check addrs list in userspace_pm_get_local_id
	media: Revert "media: rkisp1: Drop IRQF_SHARED"
	scsi: Revert "scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock"
	Revert "drm/amd: flush any delayed gfxoff on suspend entry"
	drm/virtio: Set segment size for virtio_gpu device
	lsm: fix the logic in security_inode_getsecctx()
	firewire: core: correct documentation of fw_csr_string() kernel API
	ALSA: hda/realtek: Apply headset jack quirk for non-bass alc287 thinkpads
	kbuild: Fix changing ELF file type for output of gen_btf for big endian
	nfc: nci: free rx_data_reassembly skb on NCI device cleanup
	net: hsr: remove WARN_ONCE() in send_hsr_supervision_frame()
	net: stmmac: do not clear TBS enable bit on link up/down
	xen-netback: properly sync TX responses
	modpost: propagate W=1 build option to modpost
	modpost: Don't let "driver"s reference .exit.*
	linux/init: remove __memexit* annotations
	modpost: Include '.text.*' in TEXT_SECTIONS
	um: Fix adding '-no-pie' for clang
	modpost: Add '.ltext' and '.ltext.*' to TEXT_SECTIONS
	ALSA: hda/realtek: Enable headset mic on Vaio VJFE-ADL
	ASoC: codecs: wcd938x: handle deferred probe
	ALSA: hda/cs8409: Suppress vmaster control for Dolphin models
	ALSA: hda/realtek: fix mute/micmute LEDs for HP ZBook Power
	binder: signal epoll threads of self-work
	misc: fastrpc: Mark all sessions as invalid in cb_remove
	ext4: fix double-free of blocks due to wrong extents moved_len
	ext4: avoid bb_free and bb_fragments inconsistency in mb_free_blocks()
	tracing: Fix wasted memory in saved_cmdlines logic
	staging: iio: ad5933: fix type mismatch regression
	iio: magnetometer: rm3100: add boundary check for the value read from RM3100_REG_TMRC
	iio: core: fix memleak in iio_device_register_sysfs
	iio: commom: st_sensors: ensure proper DMA alignment
	iio: accel: bma400: Fix a compilation problem
	iio: adc: ad_sigma_delta: ensure proper DMA alignment
	iio: imu: adis: ensure proper DMA alignment
	iio: imu: bno055: serdev requires REGMAP
	media: rc: bpf attach/detach requires write permission
	ksmbd: free aux buffer if ksmbd_iov_pin_rsp_read fails
	xfrm: Remove inner/outer modes from output path
	xfrm: Remove inner/outer modes from input path
	drm/msm: Wire up tlb ops
	drm/prime: Support page array >= 4GB
	drm/amd/display: Increase frame-larger-than for all display_mode_vba files
	drm/amd/display: Preserve original aspect ratio in create stream
	hv_netvsc: Fix race condition between netvsc_probe and netvsc_remove
	ring-buffer: Clean ring_buffer_poll_wait() error return
	nfp: flower: fix hardware offload for the transfer layer port
	serial: max310x: set default value when reading clock ready bit
	serial: max310x: improve crystal stable clock detection
	serial: max310x: fail probe if clock crystal is unstable
	serial: max310x: prevent infinite while() loop in port startup
	powerpc/64: Set task pt_regs->link to the LR value on scv entry
	powerpc/cputable: Add missing PPC_FEATURE_BOOKE on PPC64 Book-E
	powerpc/pseries: fix accuracy of stolen time
	x86/Kconfig: Transmeta Crusoe is CPU family 5, not 6
	x86/fpu: Stop relying on userspace for info to fault in xsave buffer
	KVM: x86/pmu: Fix type length error when reading pmu->fixed_ctr_ctrl
	x86/mm/ident_map: Use gbpages only where full GB page should be mapped.
	io_uring/net: fix multishot accept overflow handling
	mmc: slot-gpio: Allow non-sleeping GPIO ro
	ALSA: hda/realtek: fix mute/micmute LED For HP mt645
	ALSA: hda/conexant: Add quirk for SWS JS201D
	nilfs2: fix data corruption in dsync block recovery for small block sizes
	nilfs2: fix hang in nilfs_lookup_dirty_data_buffers()
	crypto: ccp - Fix null pointer dereference in __sev_platform_shutdown_locked
	nfp: use correct macro for LengthSelect in BAR config
	nfp: flower: prevent re-adding mac index for bonded port
	wifi: cfg80211: fix wiphy delayed work queueing
	wifi: mac80211: reload info pointer in ieee80211_tx_dequeue()
	irqchip/irq-brcmstb-l2: Add write memory barrier before exit
	irqchip/gic-v3-its: Fix GICv4.1 VPE affinity update
	zonefs: Improve error handling
	mmc: sdhci-pci-o2micro: Fix a warm reboot issue that disk can't be detected by BIOS
	ASoC: amd: yc: Add DMI quirk for Lenovo Ideapad Pro 5 16ARP8
	tools/rtla: Remove unused sched_getattr() function
	tools/rtla: Replace setting prio with nice for SCHED_OTHER
	tools/rtla: Exit with EXIT_SUCCESS when help is invoked
	tools/rtla: Fix uninitialized bucket/data->bucket_size warning
	tools/rtla: Fix Makefile compiler options for clang
	fs: relax mount_setattr() permission checks
	net: ethernet: ti: cpsw: enable mac_managed_pm to fix mdio
	s390/qeth: Fix potential loss of L3-IP@ in case of network issues
	net: ethernet: ti: cpsw_new: enable mac_managed_pm to fix mdio
	hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed
	ceph: prevent use-after-free in encode_cap_msg()
	fs,hugetlb: fix NULL pointer dereference in hugetlbs_fill_super
	mm: hugetlb pages should not be reserved by shmat() if SHM_NORESERVE
	of: property: fix typo in io-channels
	can: netlink: Fix TDCO calculation using the old data bittiming
	can: j1939: prevent deadlock by changing j1939_socks_lock to rwlock
	can: j1939: Fix UAF in j1939_sk_match_filter during setsockopt(SO_J1939_FILTER)
	pmdomain: core: Move the unused cleanup to a _sync initcall
	fs/proc: do_task_stat: move thread_group_cputime_adjusted() outside of lock_task_sighand()
	tracing: Inform kmemleak of saved_cmdlines allocation
	xfrm: Use xfrm_state selector for BEET input
	xfrm: Silence warnings triggerable by bad packets
	tls: fix NULL deref on tls_sw_splice_eof() with empty record
	selftests/mm: ksm_tests should only MADV_HUGEPAGE valid memory
	selftests/mm: Update va_high_addr_switch.sh to check CPU for la57 flag
	md: bypass block throttle for superblock update
	ARM: dts: imx6q-apalis: add can power-up delay on ixora board
	wifi: mwifiex: Support SD8978 chipset
	wifi: mwifiex: add extra delay for firmware ready
	bus: moxtet: Add spi device table
	arm64: dts: qcom: msm8916: Enable blsp_dma by default
	arm64: dts: qcom: msm8916: Make blsp_dma controlled-remotely
	arm64: dts: qcom: sdm845: fix USB SS wakeup
	arm64: dts: qcom: sm8150: fix USB SS wakeup
	wifi: mwifiex: fix uninitialized firmware_stat
	crypto: lib/mpi - Fix unexpected pointer access in mpi_ec_init
	block: fix partial zone append completion handling in req_bio_endio()
	netfilter: ipset: fix performance regression in swap operation
	netfilter: ipset: Missing gc cancellations fixed
	parisc: Fix random data corruption from exception handler
	nfsd: fix RELEASE_LOCKOWNER
	nfsd: don't take fi_lock in nfsd_break_deleg_cb()
	hrtimer: Ignore slack time for RT tasks in schedule_hrtimeout_range()
	RDMA/irdma: Ensure iWarp QP queue memory is OS paged aligned
	smb: client: fix potential OOBs in smb2_parse_contexts()
	smb: client: fix parsing of SMB3.1.1 POSIX create context
	net: prevent mss overflow in skb_segment()
	bpf: Add struct for bin_args arg in bpf_bprintf_prepare
	bpf: Do cleanup in bpf_bprintf_cleanup only when needed
	bpf: Remove trace_printk_lock
	userfaultfd: fix mmap_changing checking in mfill_atomic_hugetlb
	dmaengine: ioat: Free up __cleanup() name
	apparmor: Free up __cleanup() name
	locking: Introduce __cleanup() based infrastructure
	kbuild: Drop -Wdeclaration-after-statement
	sched/membarrier: reduce the ability to hammer on sys_membarrier
	of: property: Add in-ports/out-ports support to of_graph_get_port_parent()
	nilfs2: fix potential bug in end_buffer_async_write
	nilfs2: replace WARN_ONs for invalid DAT metadata block requests
	dm: limit the number of targets and parameter size area
	arm64: Subscribe Microsoft Azure Cobalt 100 to ARM Neoverse N2 errata
	fs/ntfs3: Add null pointer checks
	mlxsw: spectrum_acl_tcam: Fix stack corruption
	Linux 6.1.79

Change-Id: I7051a7a0b0aae8ff6503314e4999e561e713769a
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-04-19 13:12:45 +00:00

198 lines
6.6 KiB
Makefile

# SPDX-License-Identifier: GPL-2.0
# ===========================================================================
# Module versions
# ===========================================================================
#
# Stage one of module building created the following:
# a) The individual .o files used for the module
# b) A <module>.o file which is the .o files above linked together
# c) A <module>.mod file, listing the name of the preliminary <module>.o file,
# plus all .o files
# d) modules.order, which lists all the modules
# Stage 2 is handled by this file and does the following
# 1) Find all modules listed in modules.order
# 2) modpost is then used to
# 3) create one <module>.mod.c file per module
# 4) create one Module.symvers file with CRC for all exported symbols
# Step 3 is used to place certain information in the module's ELF
# section, including information such as:
# Version magic (see include/linux/vermagic.h for full details)
# - Kernel release
# - SMP is CONFIG_SMP
# - PREEMPT is CONFIG_PREEMPT[_RT]
# - GCC Version
# Module info
# - Module version (MODULE_VERSION)
# - Module alias'es (MODULE_ALIAS)
# - Module license (MODULE_LICENSE)
# - See include/linux/module.h for more details
# Step 4 is solely used to allow module versioning in external modules,
# where the CRC of each module is retrieved from the Module.symvers file.
PHONY := __modpost
__modpost:
include include/config/auto.conf
include $(srctree)/scripts/Kbuild.include
mixed-build-prefix = $(if $(KBUILD_MIXED_TREE),$(KBUILD_MIXED_TREE)/)
modpost-args = \
$(if $(CONFIG_MODVERSIONS),-m) \
$(if $(CONFIG_MODULE_SRCVERSION_ALL),-a) \
$(if $(CONFIG_SECTION_MISMATCH_WARN_ONLY),,-E) \
$(if $(KBUILD_NSDEPS),-d $(MODULES_NSDEPS)) \
$(if $(CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS)$(KBUILD_NSDEPS),-N) \
$(if $(findstring 1, $(KBUILD_EXTRA_WARN)),-W) \
-o $@
# 'make -i -k' ignores compile errors, and builds as many modules as possible.
ifneq ($(findstring i,$(filter-out --%,$(MAKEFLAGS))),)
modpost-args += -n
endif
ifeq ($(CONFIG_MODULE_SCMVERSION),y)
ifeq ($(KBUILD_EXTMOD),)
module_srcpath := $(srctree)
else
# Get the external module's source path. KBUILD_EXTMOD could either be an
# absolute path or relative path from $(srctree). This makes sure that we
# aren't using a relative path from a separate working directory (O= or
# KBUILD_OUTPUT) since that may not be the actual module's SCM project path. So
# check the path relative to $(srctree) first.
ifneq ($(realpath $(srctree)/$(KBUILD_EXTMOD) 2>/dev/null),)
module_srcpath := $(srctree)/$(KBUILD_EXTMOD)
else
module_srcpath := $(KBUILD_EXTMOD)
endif
endif
# Get the SCM version of the module. Sed verifies setlocalversion returns
# a proper revision based on the SCM type, e.g. git, mercurial, or svn.
# Note: relative M= paths are not supported when building the kernel out of the
# srctree since setlocalversion won't be able to find the module srctree.
module_scmversion := $(shell $(srctree)/scripts/setlocalversion $(module_srcpath) | \
sed -n 's/.*-\(\(g\|hg\)[a-fA-F0-9]\+\(-dirty\)\?\|svn[0-9]\+\).*/\1/p')
ifneq ($(module_scmversion),)
modpost-args += -v $(module_scmversion)
endif
endif
ifeq ($(KBUILD_EXTMOD),)
# Generate the list of in-tree objects in vmlinux
# ---------------------------------------------------------------------------
# This is used to retrieve symbol versions generated by genksyms.
ifdef CONFIG_MODVERSIONS
ifndef KBUILD_MIXED_TREE
vmlinux.symvers Module.symvers: .vmlinux.objs
endif
endif
# Ignore libgcc.a
# Some architectures do '$(CC) --print-libgcc-file-name' to borrow libgcc.a
# from the toolchain, but there is no EXPORT_SYMBOL in it.
quiet_cmd_vmlinux_objs = GEN $@
cmd_vmlinux_objs = \
for f in $(real-prereqs); do \
case $${f} in \
*libgcc.a) ;; \
*) $(AR) t $${f} ;; \
esac \
done > $@
quiet_cmd_vmlinux_symvers = GEN $@
cmd_vmlinux_symvers = grep "\<vmlinux\s\+EXPORT" $< > $@
quiet_cmd_cat_symvers = GEN $@
cmd_cat_symvers = cat $(real-prereqs) > $@
ifndef KBUILD_MIXED_TREE
targets += .vmlinux.objs
.vmlinux.objs: vmlinux.a $(KBUILD_VMLINUX_LIBS) FORCE
$(call if_changed,vmlinux_objs)
endif
vmlinux.o-if-present := $(wildcard vmlinux.o)
output-symdump := vmlinux.symvers
ifdef KBUILD_MODULES
output-symdump := $(if $(vmlinux.o-if-present), Module.symvers, modules-only.symvers)
missing-input := $(filter-out $(vmlinux.o-if-present),vmlinux.o)
targets += vmlinux.symvers
vmlinux.symvers: Module.symvers FORCE
$(call if_changed,vmlinux_symvers)
__modpost: $(if $(vmlinux.o-if-present),vmlinux.symvers,)
endif
# Overwrite values for mixed building (overwritting makes merges easier)
ifdef KBUILD_MIXED_TREE
targets += Module.symvers
Module.symvers: $(mixed-build-prefix)vmlinux.symvers modules-only.symvers FORCE
$(call if_changed,cat_symvers)
__modpost: Module.symvers
vmlinux.o-if-present :=
vmlinux.symvers-if-present := $(wildcard $(mixed-build-prefix)vmlinux.symvers)
modpost-args += $(addprefix -i ,$(vmlinux.symvers-if-present))
output-symdump := modules-only.symvers
missing-input := $(filter-out $(vmlinux.symvers-if-present),$(mixed-build-prefix)vmlinux.symvers)
endif
else
# set src + obj - they may be used in the modules's Makefile
obj := $(KBUILD_EXTMOD)
src := $(obj)
# Include the module's Makefile to find KBUILD_EXTRA_SYMBOLS
include $(or $(wildcard $(src)/Kbuild), $(src)/Makefile)
module.symvers-if-present := $(wildcard Module.symvers)
output-symdump := $(KBUILD_EXTMOD)/Module.symvers
missing-input := $(filter-out $(module.symvers-if-present), Module.symvers)
modpost-args += -e $(addprefix -i ,$(module.symvers-if-present) $(KBUILD_EXTRA_SYMBOLS))
endif # ($(KBUILD_EXTMOD),)
ifneq ($(KBUILD_MODPOST_WARN)$(missing-input),)
modpost-args += -w
endif
modorder-if-needed := $(if $(KBUILD_MODULES), $(MODORDER))
MODPOST = scripts/mod/modpost
# Read out modules.order to pass in modpost.
# Otherwise, allmodconfig would fail with "Argument list too long".
quiet_cmd_modpost = MODPOST $@
cmd_modpost = \
$(if $(missing-input), \
echo >&2 "WARNING: $(missing-input) is missing."; \
echo >&2 " Modules may not have dependencies or modversions."; \
echo >&2 " You may get many unresolved symbol warnings.";) \
sed 's/ko$$/o/' $(or $(modorder-if-needed), /dev/null) | $(MODPOST) $(modpost-args) -T - $(vmlinux.o-if-present)
targets += $(output-symdump)
$(output-symdump): $(modorder-if-needed) $(vmlinux.o-if-present) $(module.symvers-if-present) $(MODPOST) FORCE
$(call if_changed,modpost)
__modpost: $(output-symdump)
PHONY += FORCE
FORCE:
existing-targets := $(wildcard $(sort $(targets)))
-include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)
.PHONY: $(PHONY)