Nathan Chancellor
e390838eef
hamradio: baycom_epp: Fix return type of baycom_send_packet()
...
[ Upstream commit c5733e5b15d91ab679646ec3149e192996a27d5d ]
With clang's kernel control flow integrity (kCFI, CONFIG_CFI_CLANG),
indirect call targets are validated against the expected function
pointer prototype to make sure the call target is valid to help mitigate
ROP attacks. If they are not identical, there is a failure at run time,
which manifests as either a kernel panic or thread getting killed. A
proposed warning in clang aims to catch these at compile time, which
reveals:
drivers/net/hamradio/baycom_epp.c:1119:25: error: incompatible function pointer types initializing 'netdev_tx_t (*)(struct sk_buff *, struct net_device *)' (aka 'enum netdev_tx (*)(struct sk_buff *, struct net_device *)') with an expression of type 'int (struct sk_buff *, struct net_device *)' [-Werror,-Wincompatible-function-pointer-types-strict]
.ndo_start_xmit = baycom_send_packet,
^~~~~~~~~~~~~~~~~~
1 error generated.
->ndo_start_xmit() in 'struct net_device_ops' expects a return type of
'netdev_tx_t', not 'int'. Adjust the return type of baycom_send_packet()
to match the prototype's to resolve the warning and CFI failure.
Link: https://github.com/ClangBuiltLinux/linux/issues/1750
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20221102160610.1186145-1-nathan@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-01-18 11:41:35 +01:00
..
accessibility
acpi
ACPICA: Fix error code path in acpi_ds_call_control_method()
2023-01-18 11:41:34 +01:00
amba
android
binder: Gracefully handle BINDER_TYPE_FDA objects with num_fds=0
2022-12-08 11:23:01 +01:00
ata
pata_ipx4xx_cf: Fix unsigned comparison with less than zero
2023-01-18 11:40:59 +01:00
atm
atm: idt77252: fix use-after-free bugs caused by tst_timer
2022-08-25 11:18:26 +02:00
auxdisplay
base
class: fix possible memory leak in __class_register()
2023-01-18 11:41:21 +01:00
bcma
block
drbd: use after free in drbd_create_device()
2022-11-25 17:42:16 +01:00
bluetooth
Bluetooth: hci_bcsp: don't call kfree_skb() under spin_lock_irqsave()
2023-01-18 11:41:16 +01:00
bus
bus: sunxi-rsb: Support atomic transfers
2022-12-08 11:22:57 +01:00
cdrom
char
ipmi: fix memleak when unload ipmi driver
2023-01-18 11:41:35 +01:00
clk
clk: socfpga: Fix memory leak in socfpga_gate_init()
2023-01-18 11:41:13 +01:00
clocksource
clocksource/drivers/sh_cmt: Make sure channel clock supply is enabled
2023-01-18 11:40:56 +01:00
connector
counter
counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update
2023-01-18 11:41:24 +01:00
cpufreq
cpufreq: amd_freq_sensitivity: Add missing pci_dev_put()
2023-01-18 11:40:55 +01:00
cpuidle
cpuidle: dt: Return the correct numbers of parsed idle states
2023-01-18 11:40:53 +01:00
crypto
crypto: img-hash - Fix variable dereferenced before check 'hdev->req'
2023-01-18 11:41:21 +01:00
dax
dca
devfreq
dio
drivers: dio: fix possible memory leak in dio_init()
2023-01-18 11:41:21 +01:00
dma
dmaengine: at_hdmac: Check return code of dma_async_device_register
2022-11-25 17:42:10 +01:00
dma-buf
udmabuf: Set the DMA mask for the udmabuf device (v2)
2022-09-05 10:27:45 +02:00
edac
EDAC/i10nm: fix refcount leak in pci_get_dev_wrapper()
2023-01-18 11:40:55 +01:00
eisa
extcon
firewire
firmware
firmware: coreboot: Register bus in module init
2022-12-08 11:23:00 +01:00
fpga
fpga: altera-pr-ip: fix unsigned comparison with less than zero
2022-08-25 11:17:51 +02:00
fsi
fsi: core: Check error number after calling ida_simple_get
2022-10-26 13:22:41 +02:00
gnss
gpio
gpio: amd8111: Fix PCI device reference count leak
2022-12-14 11:30:44 +01:00
gpu
drm/etnaviv: add missing quirks for GC300
2023-01-18 11:41:34 +01:00
greybus
hid
HID: hid-sensor-custom: set fixed size for custom attributes
2023-01-18 11:41:04 +01:00
hsi
HSI: omap_ssi_core: Fix error handling in ssi_init()
2023-01-18 11:41:28 +01:00
hv
Drivers: hv: vmbus: fix possible memory leak in vmbus_device_register()
2022-12-08 11:22:58 +01:00
hwmon
hwmon: (coretemp) fix pci device refcount leak in nv1a_ram_new()
2022-12-08 11:23:03 +01:00
hwspinlock
hwtracing
intel_th: pci: Add Meteor Lake-P support
2022-08-25 11:18:13 +02:00
i2c
i2c: ismt: Fix an out-of-bounds bug in ismt_access()
2023-01-18 11:41:26 +01:00
i3c
ide
idle
intel_idle: Disable IBRS during long idle
2022-10-07 09:16:55 +02:00
iio
iio: light: rpr0521: add missing Kconfig dependencies
2022-12-08 11:23:02 +01:00
infiniband
RDMA/siw: Fix pointer cast warning
2023-01-18 11:41:29 +01:00
input
Input: elants_i2c - properly handle the reset GPIO when power is off
2023-01-18 11:41:03 +01:00
interconnect
iommu
iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe()
2023-01-18 11:41:29 +01:00
ipack
irqchip
irqchip: gic-pm: Use pm_runtime_resume_and_get() in gic_probe()
2023-01-18 11:40:54 +01:00
isdn
mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
2023-01-18 11:41:32 +01:00
leds
lightnvm
macintosh
macintosh/macio-adb: check the return value of ioremap()
2023-01-18 11:41:29 +01:00
mailbox
mailbox: zynq-ipi: fix error handling while device_register() fails
2023-01-18 11:41:33 +01:00
mcb
mcb: mcb-parse: fix error handing in chameleon_parse_gdd()
2023-01-18 11:41:25 +01:00
md
dm integrity: flush the journal on suspend
2022-12-08 11:23:01 +01:00
media
media: coda: Add check for kmalloc
2023-01-18 11:41:12 +01:00
memory
memory: of: Fix refcount leak bug in of_get_ddr_timings()
2022-10-26 13:22:31 +02:00
memstick
memstick/ms_block: Fix a memory leak
2022-08-25 11:17:55 +02:00
message
mfd
mfd: sm501: Add check for platform_driver_register()
2022-10-26 13:22:42 +02:00
misc
cxl: Fix refcount leak in cxl_calc_capp_routing
2023-01-18 11:41:30 +01:00
mmc
mmc: mmci: fix return value check of mmc_add_host()
2023-01-18 11:41:11 +01:00
mtd
mtd: maps: pxa2xx-flash: fix memory leak in probe
2023-01-18 11:41:05 +01:00
mux
net
hamradio: baycom_epp: Fix return type of baycom_send_packet()
2023-01-18 11:41:35 +01:00
nfc
nfc: pn533: Clear nfc_target before being used
2023-01-18 11:41:32 +01:00
ntb
NTB: ntb_tool: uninitialized heap data in tool_fn_write()
2022-08-25 11:18:26 +02:00
nubus
nvdimm
nvme
nvme initialize core quirks before calling nvme_init_subsystem
2022-12-14 11:30:46 +01:00
nvmem
of
of: overlay: fix null pointer dereferencing in find_dup_cset_node_entry() and find_dup_cset_prop()
2023-01-18 11:41:14 +01:00
opp
opp: Fix error check in dev_pm_opp_attach_genpd()
2022-08-25 11:18:00 +02:00
oprofile
parisc
parisc: Export iosapic_serial_irq() symbol for serial port driver
2022-11-10 17:57:56 +01:00
parport
parport_pc: Avoid FIFO port location truncation
2022-11-25 17:42:14 +01:00
pci
PCI: Check for alloc failure in pci_request_irq()
2023-01-18 11:41:18 +01:00
pcmcia
perf
perf/smmuv3: Fix hotplug callback leak in arm_smmu_pmu_init()
2023-01-18 11:40:50 +01:00
phy
phy: stm32: fix an error code in probe
2022-11-25 17:42:03 +01:00
pinctrl
pinctrl: pinconf-generic: add missing of_node_put()
2023-01-18 11:41:06 +01:00
platform
platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]()
2023-01-18 11:40:58 +01:00
pnp
PNP: fix name memory leak in pnp_alloc_dev()
2023-01-18 11:40:54 +01:00
power
power: supply: fix null pointer dereferencing in power_supply_get_battery_info
2023-01-18 11:41:28 +01:00
powercap
powercap: intel_rapl: fix UBSAN shift-out-of-bounds issue
2022-10-26 13:22:47 +02:00
pps
ps3
ptp
pwm
pwm: sifive: Call pwm_sifive_update_clock() while mutex is held
2023-01-18 11:41:30 +01:00
rapidio
rapidio: devices: fix missing put_device in mport_cdev_open
2023-01-18 11:40:59 +01:00
ras
regulator
regulator: core: fix resource leak in regulator_register()
2023-01-18 11:41:09 +01:00
remoteproc
remoteproc: qcom_q6v5_pas: Fix missing of_node_put() in adsp_alloc_memory_region()
2023-01-18 11:41:31 +01:00
reset
rpmsg
rpmsg: qcom: glink: replace strncpy() with strscpy_pad()
2022-10-15 07:54:38 +02:00
rtc
rtc: mxc_v2: Add missing clk_disable_unprepare()
2023-01-18 11:41:32 +01:00
s390
s390/dasd: fix no record found for raw_track_access
2022-12-08 11:22:59 +01:00
sbus
scsi
scsi: snic: Fix possible UAF in snic_tgt_create()
2023-01-18 11:41:20 +01:00
sfi
sh
siox
siox: fix possible memory leak in siox_device_add()
2022-11-25 17:42:14 +01:00
slimbus
slimbus: stream: correct presence rate frequencies
2022-11-25 17:42:17 +01:00
soc
soc: ti: knav_qmss_queue: Fix PM disable depth imbalance in knav_queue_probe
2023-01-18 11:40:50 +01:00
soundwire
soundwire: bus_type: fix remove and shutdown support
2022-08-25 11:17:54 +02:00
spi
spi: spi-gpio: Don't set MOSI as an input if not 3WIRE mode
2023-01-18 11:41:12 +01:00
spmi
spmi: pmic-arb: correct duplicate APID to PPID mapping logic
2022-10-26 13:22:43 +02:00
ssb
staging
staging: rtl8192e: Fix potential use-after-free in rtllib_rx_Monitor()
2023-01-18 11:41:25 +01:00
target
scsi: target: tcm_loop: Fix possible name leak in tcm_loop_setup_hba_bus()
2022-11-25 17:42:20 +01:00
tc
tee
tee: optee: fix possible memory leak in optee_register_device()
2022-12-08 11:22:57 +01:00
thermal
thermal: intel_powerclamp: Use first online CPU as control_cpu
2022-10-26 13:23:01 +02:00
thunderbolt
thunderbolt: Use the actual buffer in tb_async_error()
2022-09-15 12:04:52 +02:00
tty
serial: sunsab: Fix error handling in sunsab_init()
2023-01-18 11:41:23 +01:00
uio
uio: uio_dmem_genirq: Fix deadlock between irq config and handling
2023-01-18 11:41:22 +01:00
usb
usb: storage: Add check for kcalloc
2023-01-18 11:41:26 +01:00
vfio
vfio: platform: Do not pass return buffer to ACPI _RST method
2023-01-18 11:41:22 +01:00
vhost
vhost/vsock: Use kvmalloc/kvfree for larger packets.
2022-10-26 13:22:25 +02:00
video
fbdev: uvesafb: Fixes an error handling path in uvesafb_probe()
2023-01-18 11:41:27 +01:00
virt
vboxguest: Do not use devm for irq
2022-08-25 11:18:33 +02:00
virtio
visorbus
vlynq
vme
vme: Fix error not catched in fake_init()
2023-01-18 11:41:26 +01:00
w1
watchdog
watchdog: armada_37xx_wdt: check the return value of devm_ioremap() in armada_37xx_wdt_probe()
2022-08-25 11:18:06 +02:00
xen
xen/privcmd: Fix a possible warning in privcmd_ioctl_mmap_resource()
2023-01-18 11:40:57 +01:00
zorro
Kconfig
Makefile