milos-linux/drivers
Josh Poimboeuf 3186333713 tty: synclink_gt: Fix namespace collision and startup() section placement with -ffunction-sections
When compiled with -ffunction-sections (e.g., for LTO, livepatch, dead
code elimination, AutoFDO, or Propeller), the startup() function gets
compiled into the .text.startup section (or in some cases
.text.startup.constprop.0 or .text.startup.isra.0).

However, the .text.startup and .text.startup.* sections are also used by
the compiler for __attribute__((constructor)) code.

This naming conflict causes the vmlinux linker script to wrongly place
startup() function code in .init.text, which gets freed during boot.

Some builds have a mix of objects, both with and without
-ffunctions-sections, so it's not possible for the linker script to
disambiguate with #ifdef CONFIG_FUNCTION_SECTIONS or similar.  This
means that "startup" unfortunately needs to be prohibited as a function
name.

Rename startup() to startup_hw().  For consistency, also rename its
shutdown() counterpart to shutdown_hw().

Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://patch.msgid.link/f0ee750f35c878172cc09916a0724b74e62eadc2.1763669451.git.jpoimboe@kernel.org
2025-11-21 10:04:10 +01:00
..
accel accel/qaic: Synchronize access to DBC request queue head & tail pointer 2025-10-14 08:56:31 -06:00
accessibility
acpi Merge branches 'acpi-cppc' and 'acpi-docs' 2025-11-06 22:10:27 +01:00
amba
android binder: remove "invalid inc weak" check 2025-10-22 08:04:15 +02:00
ata ata: libata-core: relax checks in ata_read_log_directory() 2025-10-13 09:12:36 +02:00
atm
auxdisplay
base regmap: Fixes for v6.18 2025-11-01 10:45:39 -07:00
bcma bcma: don't register devices disabled in OF 2025-10-20 13:54:15 +02:00
block block-6.18-20251031 2025-10-31 12:57:19 -07:00
bluetooth Bluetooth: btrtl: Fix memory leak in rtlbt_parse_firmware_v2() 2025-10-31 12:42:47 -04:00
bus Char/Misc/IIO/Binder changes for 6.18-rc1 2025-10-04 16:26:32 -07:00
cache
cdrom
cdx Char/Misc/IIO/Binder changes for 6.18-rc1 2025-10-04 16:26:32 -07:00
char tpm_crb: Add idle support for the Arm FF-A start method 2025-10-18 14:33:22 +03:00
clk There's a bunch of patches here across drivers/clk/ to migrate drivers to use 2025-10-07 09:28:37 -07:00
clocksource hyperv-next for v6.18 2025-10-07 08:40:15 -07:00
comedi comedi: fix divide-by-zero in comedi_buf_munge() 2025-10-22 08:03:52 +02:00
connector
counter
cpufreq cpufreq/amd-pstate: Fix a regression leading to EPP 0 after hibernate 2025-10-15 08:21:16 -05:00
cpuidle RISC-V updates for v6.18-rc5 2025-11-06 15:44:18 -08:00
crypto crypto: aspeed - fix double free caused by devm 2025-10-23 12:53:23 +08:00
cxl cxl/trace: Subtract to find an hpa_alias0 in cxl_poison events 2025-10-14 14:48:14 -07:00
dax
dca
devfreq PM / devfreq: rockchip-dfi: switch to FIELD_PREP_WM16 macro 2025-10-15 10:39:54 -04:00
dibs
dio
dma dmaengine updates for v6.18 2025-10-06 10:37:06 -07:00
dma-buf dma-fence: Fix safe access wrapper to call timeline name method 2025-10-24 16:56:37 +01:00
dpll dpll: zl3073x: Fix output pin registration 2025-10-28 18:54:48 -07:00
edac EDAC/versalnet: Fix off by one in handle_error() 2025-10-13 17:14:47 +02:00
eisa
extcon
firewire firewire: init_ohci1394_dma: add missing function parameter documentation 2025-10-25 08:29:56 +09:00
firmware Arm SCMI fixes for v6.18 2025-10-23 22:30:01 +02:00
fpga
fsi
fwctl
gnss
gpio gpio: tb10x: Drop unused tb10x_set_bits() function 2025-11-06 18:19:44 +01:00
gpu Third round of Kbuild fixes for 6.19 2025-11-09 09:22:08 -08:00
greybus
hid hid-for-linus-2025101701 2025-10-18 08:18:18 -10:00
hsi
hte
hv
hwmon hwmon: (sht3x) Fix error handling 2025-10-19 18:56:14 -07:00
hwspinlock
hwtracing Char/Misc/IIO/Binder changes for 6.18-rc1 2025-10-04 16:26:32 -07:00
i2c i2c: muxes: pca954x: Fix broken reset-gpio usage 2025-11-03 18:04:15 +01:00
i3c
idle
iio
infiniband Linux 6.18-rc5 2025-11-13 07:58:43 +01:00
input Input updates for v6.18-rc0 2025-10-08 09:44:38 -07:00
interconnect
iommu iommufd: Make vfio_compat's unmap succeed if the range is already empty 2025-11-05 15:11:26 -04:00
ipack
irqchip irqchip/sifive-plic: Avoid interrupt ID 0 handling during suspend/resume 2025-10-07 10:23:22 +02:00
isdn isdn: mISDN: hfcsusb: fix memory leak in hfcsusb_probe() 2025-10-31 17:39:14 -07:00
leds
macintosh
mailbox qcom: add Glymur CPUCP mailbox binding 2025-10-08 11:44:21 -07:00
mcb
md dm docs: fix typos 2025-10-03 18:48:02 -07:00
media media: videobuf2: forbid remove_bufs when legacy fileio is active 2025-10-24 11:16:26 +02:00
memory
memstick
message
mfd
misc Char/Misc driver fixes for 6.18-rc3 2025-10-26 10:33:46 -07:00
mmc rpmb: move rpmb_frame struct and constants to common header 2025-10-13 13:18:03 +02:00
most most: usb: hdm_probe: Fix calling put_device() before device initialization 2025-10-22 08:04:43 +02:00
mtd MTD core: 2025-10-04 15:50:37 -07:00
mux
net lan966x: Fix sleeping in atomic context 2025-11-06 07:31:34 -08:00
nfc
ntb
nubus
nvdimm libnvdimm for 6.18 2025-10-06 11:17:18 -07:00
nvme nvme-pci: use blk_map_iter for p2p metadata 2025-10-22 19:46:25 -07:00
nvmem nvmem: rcar-efuse: add missing MODULE_DEVICE_TABLE 2025-10-22 08:02:38 +02:00
of of/irq: Export of_msi_xlate() for module usage 2025-10-24 07:44:09 -05:00
opp
parisc
parport
pci pci-v6.18-fixes-4 2025-10-31 14:24:32 -07:00
pcmcia
peci
perf arm64 fixes for -rc1 2025-10-07 08:59:25 -07:00
phy phy-for-6.18 2025-10-06 10:34:22 -07:00
pinctrl pci-v6.18-changes 2025-10-06 10:41:03 -07:00
platform platform-drivers-x86 for v6.18-3 2025-11-05 11:08:10 -08:00
pmdomain
pnp
power
powercap
pps
ps3
ptp ptp: Allow exposing cycles only for clocks with free-running counter 2025-10-31 16:27:40 -07:00
pwm
rapidio
ras
regulator regulator: bd718x7: Fix voltages scaled by resistor divider 2025-10-30 11:30:23 +00:00
remoteproc remoteproc updates for v6.18 2025-10-04 15:45:17 -07:00
reset
rpmsg
rtc rtc: rx8025: fix incorrect register reference 2025-11-08 20:56:12 +01:00
s390 more s390 updates for 6.18 merge window 2025-10-09 10:51:43 -07:00
sbus
scsi scsi: core: Fix the unit attention counter implementation 2025-10-21 21:09:36 -04:00
sh
siox
slimbus
soc net: ethernet: ti: netcp: Standardize knav_dma_open_channel to return NULL on error 2025-11-04 19:15:36 -08:00
soundwire soundwire updates for 6.18 2025-10-06 10:32:22 -07:00
spi spi: intel: Add support for Oak Stream SPI serial flash 2025-10-29 12:53:45 +00:00
spmi
ssb
staging media: atomisp: gc2235: Fix namespace collision and startup() section placement with -ffunction-sections 2025-11-21 10:04:09 +01:00
target SCSI misc on 20251011 2025-10-11 11:49:00 -07:00
tc
tee TEE QTEE fixes for v6.18 2025-10-17 15:26:52 +02:00
thermal
thunderbolt
tty tty: synclink_gt: Fix namespace collision and startup() section placement with -ffunction-sections 2025-11-21 10:04:10 +01:00
ufs scsi: ufs: core: Fix invalid probe error return value 2025-10-29 23:20:19 -04:00
uio hyperv-next for v6.18 2025-10-07 08:40:15 -07:00
usb USB serial device ids for 6.18-rc3 2025-10-24 13:52:58 +02:00
vdpa
vfio vfio/type1: handle DMA map/unmap up to the addressable limit 2025-10-28 15:54:41 -06:00
vhost
video fbdev: atyfb: Check if pll_ops->init_pll failed 2025-10-28 22:59:19 +01:00
virt
virtio virtio,vhost: fixes, cleanups 2025-10-04 08:48:16 -07:00
w1
watchdog linux-watchdog 6.18-rc1 tag 2025-10-06 11:00:30 -07:00
xen drivers/xen/xenbus: Fix namespace collision and split() section placement with AutoFDO 2025-11-13 08:03:10 +01:00
zorro
Kconfig
Makefile hyperv-next for v6.18 2025-10-07 08:40:15 -07:00