linux_dsm_epyc7002/drivers/mtd/ubi
Richard Weinberger 6e7d801610 ubi: fastmap: Cancel work upon detach
Ben Hutchings pointed out that 29b7a6fa1e ("ubi: fastmap: Don't flush
fastmap work on detach") does not really fix the problem, it just
reduces the risk to hit the race window where fastmap work races against
free()'ing ubi->volumes[].

The correct approach is making sure that no more fastmap work is in
progress before we free ubi data structures.
So we cancel fastmap work right after the ubi background thread is
stopped.
By setting ubi->thread_enabled to zero we make sure that no further work
tries to wake the thread.

Fixes: 29b7a6fa1e ("ubi: fastmap: Don't flush fastmap work on detach")
Fixes: 74cdaf2400 ("UBI: Fastmap: Fix memory leaks while closing the WL sub-system")
Cc: stable@vger.kernel.org
Cc: Ben Hutchings <ben.hutchings@codethink.co.uk>
Cc: Martin Townsend <mtownsend1973@gmail.com>

Signed-off-by: Richard Weinberger <richard@nod.at>
2018-06-07 15:53:16 +02:00
..
attach.c UBI: introduce the VID buffer concept 2016-10-02 22:48:14 +02:00
block.c ubi: Fix error for write access 2018-04-04 23:48:05 +02:00
build.c ubi: fastmap: Cancel work upon detach 2018-06-07 15:53:16 +02:00
cdev.c UBI: add an helper to check lnum validity 2016-10-02 22:48:14 +02:00
debug.c ubi: Add debugfs file for tracking PEB state 2017-05-08 20:49:02 +02:00
debug.h
eba.c ubi: Fix copy/paste error in function documentation 2018-01-18 00:18:51 +01:00
fastmap-wl.c ubi: fastmap: Don't flush fastmap work on detach 2018-04-04 23:41:44 +02:00
fastmap.c ubi: fastmap: Clean up the initialization of pointer p 2018-01-17 21:48:02 +01:00
gluebi.c mtd: Stop updating erase_info->state and calling mtd_erase_callback() 2018-03-21 09:50:56 +01:00
io.c mtd: Unconditionally update ->fail_addr and ->addr in part_erase() 2018-03-15 18:22:26 +01:00
kapi.c statx: Add a system call to make enhanced file info available 2017-03-02 20:51:15 -05:00
Kconfig UBI: Fix typos 2017-03-24 15:33:32 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
misc.c mtd: ubi: Add logging functions ubi_msg, ubi_warn and ubi_err 2016-03-20 21:36:05 +01:00
ubi-media.h UBI: Fix two typos in comments 2017-09-13 22:05:30 +02:00
ubi.h UBI: Fix typos 2017-03-24 15:33:32 +01:00
upd.c ubi/upd: Always flush after prepared for an update 2017-03-30 09:27:11 +02:00
vmt.c ubi: Fix race condition between ubi volume creation and udev 2018-01-17 21:47:33 +01:00
vtbl.c UBI: introduce the VID buffer concept 2016-10-02 22:48:14 +02:00
wl.c ubi: fastmap: Cancel work upon detach 2018-06-07 15:53:16 +02:00
wl.h ubi: Fastmap: Fix typo 2018-01-18 00:18:50 +01:00