Miguel Ojeda 69ef9bc547 auxdisplay: ht16k33: fix potential user-after-free on module unload
On module unload/remove, we need to ensure that work does not run
after we have freed resources. Concretely, cancel_delayed_work()
may return while the callback function is still running.

From kernel/workqueue.c:

    The work callback function may still be running on return,
    unless it returns true and the work doesn't re-arm itself.
    Explicitly flush or use cancel_delayed_work_sync() to wait on it.

Link: https://lore.kernel.org/lkml/20190204220952.30761-1-TheSven73@googlemail.com/
Reported-by: Sven Van Asbroeck <thesven73@gmail.com>
Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Reviewed-by: Sven Van Asbroeck <TheSven73@gmail.com>
Acked-by: Robin van der Gracht <robin@protonic.nl>
Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
2019-02-15 19:48:39 +01:00
..
2019-01-26 15:03:43 -08:00
2019-01-20 09:12:50 +12:00
2018-12-31 17:32:35 -08:00
2018-12-29 08:20:44 -07:00
2019-01-25 13:03:34 -10:00
2019-01-09 19:20:31 -05:00
2019-01-11 00:15:04 +01:00
2019-01-26 11:14:25 +01:00
2019-01-15 06:24:36 +12:00
2019-01-30 09:30:03 -08:00
2019-02-01 16:56:30 -08:00
2019-01-05 11:30:37 -08:00
2018-12-28 16:52:18 -08:00
2019-01-25 13:03:34 -10:00
2019-01-26 12:42:41 -08:00
2019-01-31 23:06:17 -08:00
2019-01-05 11:23:17 -08:00
2019-01-25 12:57:09 -10:00
2018-12-29 13:03:29 -08:00
2018-12-24 12:06:56 +01:00
2019-01-01 13:24:31 -08:00
2019-02-02 10:12:53 -08:00
2019-02-02 10:12:53 -08:00
2019-01-22 20:54:00 -05:00
2018-12-31 13:06:30 -08:00
2019-02-02 10:26:14 -08:00
2018-12-28 20:54:57 -08:00
2019-01-18 12:58:20 +01:00
2019-01-28 22:53:09 -08:00
2019-01-25 12:58:40 -10:00
2018-12-29 13:40:29 -08:00