original_kernel/drivers/usb/serial
Steven Rostedt (Google) 292a089d78 treewide: Convert del_timer*() to timer_shutdown*()
Due to several bugs caused by timers being re-armed after they are
shutdown and just before they are freed, a new state of timers was added
called "shutdown".  After a timer is set to this state, then it can no
longer be re-armed.

The following script was run to find all the trivial locations where
del_timer() or del_timer_sync() is called in the same function that the
object holding the timer is freed.  It also ignores any locations where
the timer->function is modified between the del_timer*() and the free(),
as that is not considered a "trivial" case.

This was created by using a coccinelle script and the following
commands:

    $ cat timer.cocci
    @@
    expression ptr, slab;
    identifier timer, rfield;
    @@
    (
    -       del_timer(&ptr->timer);
    +       timer_shutdown(&ptr->timer);
    |
    -       del_timer_sync(&ptr->timer);
    +       timer_shutdown_sync(&ptr->timer);
    )
      ... when strict
          when != ptr->timer
    (
            kfree_rcu(ptr, rfield);
    |
            kmem_cache_free(slab, ptr);
    |
            kfree(ptr);
    )

    $ spatch timer.cocci . > /tmp/t.patch
    $ patch -p1 < /tmp/t.patch

Link: https://lore.kernel.org/lkml/20221123201306.823305113@linutronix.de/
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Acked-by: Pavel Machek <pavel@ucw.cz> [ LED ]
Acked-by: Kalle Valo <kvalo@kernel.org> [ wireless ]
Acked-by: Paolo Abeni <pabeni@redhat.com> [ networking ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2022-12-25 13:38:09 -08:00
..
Kconfig
Makefile
Makefile-keyspan_pda_fw
aircable.c
ark3116.c
belkin_sa.c
belkin_sa.h
bus.c
ch341.c Merge 6.0-rc4 into tty-next 2022-09-05 07:59:28 +02:00
console.c USB: serial: console: move mutex_unlock() before usb_serial_put() 2022-09-19 15:30:16 +02:00
cp210x.c USB: serial: cp210x: add support for B0 hangup 2022-11-30 07:37:12 +01:00
cyberjack.c
cypress_m8.c
cypress_m8.h
digi_acceleport.c
empeg.c
ezusb_convert.pl
f81232.c USB: serial: f81232: fix division by zero on line-speed change 2022-11-30 12:27:44 +01:00
f81534.c USB: serial: f81534: fix division by zero on line-speed change 2022-11-30 12:27:59 +01:00
ftdi_sio.c USB/Thunderbolt changes for 6.1-rc1 2022-10-07 16:48:26 -07:00
ftdi_sio.h USB: serial: ftdi_sio: rename channel index 2022-09-15 08:05:53 +02:00
ftdi_sio_ids.h USB: serial: ftdi_sio: add support for HP and HA devices 2022-09-15 08:06:06 +02:00
garmin_gps.c treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
generic.c
io_16654.h
io_edgeport.c
io_edgeport.h
io_ionsp.h
io_ti.c
io_ti.h
io_usbvend.h
ipaq.c
ipw.c
ir-usb.c
iuu_phoenix.c
iuu_phoenix.h
keyspan.c
keyspan_pda.c
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
kl5kusb105.c
kl5kusb105.h
kobil_sct.c
kobil_sct.h
mct_u232.c
mct_u232.h
metro-usb.c
mos7720.c
mos7840.c treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
mxuport.c
navman.c
omninet.c
opticon.c
option.c USB: serial: option: add Quectel EM05-G modem 2022-11-25 10:39:09 +01:00
oti6858.c
oti6858.h
pl2303.c
pl2303.h
qcaux.c
qcserial.c USB: serial: qcserial: add new usb-id for Dell branded EM7455 2022-09-27 09:04:28 +02:00
quatech2.c
safe_serial.c
sierra.c
spcp8x5.c
ssu100.c
symbolserial.c
ti_usb_3410_5052.c
upd78f0730.c
usb-serial-simple.c
usb-serial.c
usb-wwan.h
usb_debug.c
usb_wwan.c
visor.c
visor.h
whiteheat.c
whiteheat.h
wishbone-serial.c
xr_serial.c USB: serial: xr: avoid requesting zero DTE rate 2022-11-30 12:28:51 +01:00
xsens_mt.c