1
0
Fork 0
alistair23-linux/drivers/tty/serial
Kees Cook e4dca7b7aa treewide: Fix function prototypes for module_param_call()
Several function prototypes for the set/get functions defined by
module_param_call() have a slightly wrong argument types. This fixes
those in an effort to clean up the calls when running under type-enforced
compiler instrumentation for CFI. This is the result of running the
following semantic patch:

@match_module_param_call_function@
declarer name module_param_call;
identifier _name, _set_func, _get_func;
expression _arg, _mode;
@@

 module_param_call(_name, _set_func, _get_func, _arg, _mode);

@fix_set_prototype
 depends on match_module_param_call_function@
identifier match_module_param_call_function._set_func;
identifier _val, _param;
type _val_type, _param_type;
@@

 int _set_func(
-_val_type _val
+const char * _val
 ,
-_param_type _param
+const struct kernel_param * _param
 ) { ... }

@fix_get_prototype
 depends on match_module_param_call_function@
identifier match_module_param_call_function._get_func;
identifier _val, _param;
type _val_type, _param_type;
@@

 int _get_func(
-_val_type _val
+char * _val
 ,
-_param_type _param
+const struct kernel_param * _param
 ) { ... }

Two additional by-hand changes are included for places where the above
Coccinelle script didn't notice them:

	drivers/platform/x86/thinkpad_acpi.c
	fs/lockd/svc.c

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Jessica Yu <jeyu@kernel.org>
2017-10-31 15:30:37 +01:00
..
8250 TTY/Serial updates for 4.14-rc1 2017-09-05 10:30:48 -07:00
cpm_uart serial: cpm_uart: constify uart_ops structures 2017-08-28 20:51:21 +02:00
jsm tty: serial: jsm: constify pci_device_id. 2017-07-30 07:35:28 -07:00
21285.c serial: 21285: constify uart_ops structures 2017-08-28 20:51:21 +02:00
Kconfig tty: serial: owl: Implement console driver 2017-07-18 09:28:29 +02:00
Makefile tty: serial: Add Actions Semi Owl UART earlycon 2017-06-20 10:24:15 +08:00
altera_jtaguart.c serial: altera_jtaguart: adding iounmap() 2017-05-18 16:43:55 +02:00
altera_uart.c serial: altera_uart: call iounmap() at driver remove 2017-05-25 14:36:37 +02:00
amba-pl010.c serial: pl010: constify amba_id 2017-08-28 20:51:19 +02:00
amba-pl011.c serial: pl011: constify amba_id 2017-08-28 20:51:19 +02:00
amba-pl011.h tty: amba-pl011: clean up LCR register offsets 2015-12-13 19:59:48 -08:00
apbuart.c serial: apbuart: constify uart_ops structures 2017-08-28 20:51:21 +02:00
apbuart.h
ar933x_uart.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
arc_uart.c serial: arc: Remove __init marking from early write 2017-07-30 07:38:50 -07:00
atmel_serial.c tty/serial: atmel: make the driver DT only 2017-06-14 12:48:48 +02:00
atmel_serial.h tty/serial: atmel: move atmel_serial header into driver directory 2017-03-14 10:59:04 +08:00
bcm63xx_uart.c serial: bcm63xx: fix timing issue. 2017-09-18 18:19:20 +02:00
bfin_sport_uart.c tty: serial: constify dev_pm_ops structures 2017-01-19 14:20:23 +01:00
bfin_sport_uart.h
bfin_uart.c serial:bfin-uart:Remove 'struct timeval' 2015-12-13 19:59:48 -08:00
clps711x.c serial: clps711x: Changing the compatibility string to match with the smallest supported chip 2016-07-06 17:38:16 +02:00
crisv10.c sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
crisv10.h
digicolor-usart.c tty/serial: digicolor: Fix bad usage of IS_ERR_VALUE 2016-02-14 17:39:36 -08:00
dz.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
dz.h
earlycon-arm-semihost.c tty/serial: mark __init early_smh_setup() static 2016-09-02 15:03:35 +02:00
earlycon.c earlycon: initialise baud field of earlycon device structure 2017-08-31 18:47:31 +02:00
efm32-uart.c serial: efm32: Fix parity management in 'efm32_uart_console_get_options()' 2017-05-18 16:43:55 +02:00
etraxfs-uart.c serial: etraxfs-uart: Fix crash 2015-11-20 16:19:54 -08:00
fsl_lpuart.c tty: serial: lpuart: avoid report NULL interrupt 2017-09-18 18:19:21 +02:00
icom.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
icom.h
ifx6x60.c serial: ifx6x60: fix use-after-free on module unload 2017-05-18 16:43:55 +02:00
ifx6x60.h
imx.c serial: imx: Avoid post-PIO cleanup if TX DMA is started 2017-08-28 20:51:22 +02:00
ioc3_serial.c drivers: tty: serial: move inline before return type 2017-07-12 16:26:04 -07:00
ioc4_serial.c drivers: tty: serial: move inline before return type 2017-07-12 16:26:04 -07:00
ip22zilog.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
ip22zilog.h
kgdb_nmi.c
kgdboc.c treewide: Fix function prototypes for module_param_call() 2017-10-31 15:30:37 +01:00
lantiq.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
lpc32xx_hs.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
m32r_sio.c serial: m32r_sio: constify uart_ops structures 2017-08-28 20:51:21 +02:00
m32r_sio_reg.h
max310x.c serial: max310x: Add support for newer silicon revisions 2017-01-12 11:51:24 +01:00
max3100.c tty: serial: constify uart_ops structures 2016-09-02 15:01:16 +02:00
mcf.c
men_z135_uart.c tty: serial: constify uart_ops structures 2016-09-02 15:01:16 +02:00
meson_uart.c serial: meson: constify uart_ops structures 2017-08-28 20:51:19 +02:00
mpc52xx_uart.c serial: mpc52xx: constify uart_ops structures 2017-08-28 20:51:21 +02:00
mps2-uart.c serial: mps2-uart: make driver explicitly non-modular 2016-06-25 14:01:57 -07:00
mpsc.c serial/mpsc: switch to dma_alloc_attrs 2017-06-20 10:24:15 +08:00
msm_serial.c tty: serial: msm: Move request_irq to the end of startup 2017-08-28 20:51:19 +02:00
mux.c TTY/Serial updates for 4.14-rc1 2017-09-05 10:30:48 -07:00
mvebu-uart.c serial: mvebu-uart: free the IRQ in ->shutdown() 2016-06-25 14:00:06 -07:00
mxs-auart.c serial: mxs-auart: Fix baudrate calculation 2017-03-31 17:26:19 +02:00
netx-serial.c
omap-serial.c serial: omap: Remove __init marking from early write 2017-07-30 07:38:50 -07:00
owl-uart.c serial: owl: constify uart_ops structures 2017-08-28 20:51:19 +02:00
pch_uart.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
pic32_uart.c serial: pic32_uart: Fix 'request_irq' and 'free_irq' inconsistancy 2017-01-12 11:51:24 +01:00
pic32_uart.h serial: pic32_uart: Add PIC32 UART driver 2016-05-13 14:01:56 +02:00
pmac_zilog.c tty: Convert to using %pOF instead of full_name 2017-07-30 07:35:28 -07:00
pmac_zilog.h
pnx8xxx_uart.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
pxa.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
rp2.c
sa1100.c
samsung.c serial: samsung: Remove useless spinlock 2017-04-08 18:58:52 +02:00
samsung.h serial: samsung: Simplify DMA engine initialization code 2017-01-12 11:51:24 +01:00
sb1250-duart.c drivers: convert sbd_duart.map_guard from atomic_t to refcount_t 2017-03-14 11:01:40 +08:00
sc16is7xx.c sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h> 2017-03-02 08:42:27 +01:00
sccnxp.c serial: sccnxp: Fix error handling in sccnxp_probe() 2017-09-18 18:19:21 +02:00
serial-tegra.c serial: tegra: explicitly request exclusive reset control 2017-07-30 07:35:28 -07:00
serial_core.c serial: core: Consider rs485 settings to drive RTS 2017-08-28 20:51:20 +02:00
serial_ks8695.c serial: Fix ASYNC_* => UPF_* flags misuse 2016-01-28 14:17:42 -08:00
serial_mctrl_gpio.c serial: mctrl_gpio: enable API usage only for initialized mctrl_gpios struct 2016-06-25 14:30:42 -07:00
serial_mctrl_gpio.h serial: mctrl_gpio: add modem control read routine 2016-06-25 14:30:42 -07:00
serial_txx9.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
sh-sci.c serial: sh-sci: use of_property_read_bool() 2017-08-28 20:51:20 +02:00
sh-sci.h serial: sh-sci: consider DR (data ready) bit adequately 2017-02-03 10:14:10 +01:00
sirfsoc_uart.c serial: sirf: make of_device_ids const 2017-06-20 10:24:15 +08:00
sirfsoc_uart.h serial: sirf: make fifo functions static 2016-06-25 14:01:57 -07:00
sn_console.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
sprd_serial.c tty: serial: sprd: fix error return code in sprd_probe() 2017-08-28 20:51:19 +02:00
st-asc.c serial: st-asc: Avoid using irq_wake flag 2017-08-28 20:51:19 +02:00
stm32-usart.c serial: stm32-usart: Avoid using irq_wake flag 2017-08-28 20:51:19 +02:00
stm32-usart.h serial: stm32: add fifo support 2017-07-30 07:32:32 -07:00
suncore.c
sunhv.c sparc64: Send break twice from console to return to boot prom 2017-02-23 08:27:24 -08:00
sunsab.c serial: sunsab: constify uart_ops structures 2017-08-28 20:51:21 +02:00
sunsab.h
sunsu.c serial: sunsu: constify uart_ops structures 2017-08-28 20:51:21 +02:00
sunzilog.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
sunzilog.h
tilegx.c
timbuart.c tty: serial: constify uart_ops structures 2016-09-02 15:01:16 +02:00
timbuart.h
uartlite.c uartlite: Adding a kernel parameter for the number of uartlites 2017-03-17 14:14:30 +09:00
ucc_uart.c serial: uuc_uart: constify uart_ops structures 2017-08-28 20:51:21 +02:00
vr41xx_siu.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
vt8500_serial.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
xilinx_uartps.c serial: xuartps: Remove __init marking from early write 2017-07-30 07:38:50 -07:00
zs.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
zs.h