mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
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>
198 lines
6.6 KiB
Makefile
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)
|