kernel_optimize_test/drivers/md
Mikulas Patocka 6958c1c640 dm: use noio when sending kobject event
kobject_uevent may allocate memory and it may be called while there are dm
devices suspended. The allocation may recurse into a suspended device,
causing a deadlock. We must set the noio flag when sending a uevent.

The observed deadlock was reported here:
https://www.redhat.com/archives/dm-devel/2020-March/msg00025.html

Reported-by: Khazhismel Kumykov <khazhy@google.com>
Reported-by: Tahsin Erdogan <tahsin@google.com>
Reported-by: Gabriel Krisman Bertazi <krisman@collabora.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
2020-07-08 12:50:51 -04:00
..
bcache bcache: pr_info() format clean up in bcache_device_init() 2020-06-14 16:47:56 -06:00
persistent-data treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
dm-bio-prison-v1.c dm bio prison: replace spin_lock_irqsave with spin_lock_irq 2019-11-05 14:53:03 -05:00
dm-bio-prison-v1.h
dm-bio-prison-v2.c dm bio prison v2: use true/false for bool variable 2020-01-07 12:07:08 -05:00
dm-bio-prison-v2.h
dm-bio-record.h dm bio record: save/restore bi_end_io and bi_integrity 2020-03-03 10:02:46 -05:00
dm-bufio.c - Largest change for this cycle is the DM zoned target's metadata 2020-06-05 15:45:03 -07:00
dm-builtin.c
dm-cache-background-tracker.c
dm-cache-background-tracker.h
dm-cache-block-types.h
dm-cache-metadata.c
dm-cache-metadata.h
dm-cache-policy-internal.h
dm-cache-policy-smq.c
dm-cache-policy.c
dm-cache-policy.h
dm-cache-target.c dm: bump version of core and various targets 2020-03-03 11:10:21 -05:00
dm-clone-metadata.c dm clone metadata: Fix return type of dm_clone_nr_of_hydrated_regions() 2020-03-27 14:42:51 -04:00
dm-clone-metadata.h dm clone metadata: Fix return type of dm_clone_nr_of_hydrated_regions() 2020-03-27 14:42:51 -04:00
dm-clone-target.c dm clone metadata: Fix return type of dm_clone_nr_of_hydrated_regions() 2020-03-27 14:42:51 -04:00
dm-core.h
dm-crypt.c dm crypt: avoid truncating the logical block size 2020-06-05 14:59:59 -04:00
dm-delay.c
dm-dust.c dm dust: change ret to r in dust_map_write 2020-01-07 11:43:36 -05:00
dm-ebs-target.c dm ebs: use dm_bufio_forget_buffers 2020-06-05 14:59:42 -04:00
dm-era-target.c
dm-exception-store.c
dm-exception-store.h
dm-flakey.c block: rework zone reporting 2019-11-12 19:12:07 -07:00
dm-historical-service-time.c dm mpath: add Historical Service Time Path Selector 2020-05-15 10:29:36 -04:00
dm-init.c
dm-integrity.c - Largest change for this cycle is the DM zoned target's metadata 2020-06-05 15:45:03 -07:00
dm-io.c
dm-ioctl.c dm ioctl: use struct_size() helper in retrieve_deps() 2020-06-17 12:31:45 -04:00
dm-kcopyd.c
dm-linear.c dm,dax: Add dax zero_page_range operation 2020-04-02 19:15:03 -07:00
dm-log-userspace-base.c
dm-log-userspace-transfer.c
dm-log-userspace-transfer.h
dm-log-writes.c dm: replace zero-length array with flexible-array 2020-05-20 17:09:44 -04:00
dm-log.c
dm-mpath.c dm mpath: add DM device name to Failing/Reinstating path log messages 2020-06-05 14:59:58 -04:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h dm mpath: pass IO start time to path selector 2020-05-15 10:29:36 -04:00
dm-queue-length.c dm mpath: pass IO start time to path selector 2020-05-15 10:29:36 -04:00
dm-raid.c dm: replace zero-length array with flexible-array 2020-05-20 17:09:44 -04:00
dm-raid1.c dm: replace zero-length array with flexible-array 2020-05-20 17:09:44 -04:00
dm-region-hash.c
dm-round-robin.c
dm-rq.c dm: do not use waitqueue for request-based DM 2020-07-07 12:00:01 -04:00
dm-rq.h
dm-service-time.c dm mpath: pass IO start time to path selector 2020-05-15 10:29:36 -04:00
dm-snap-persistent.c block: fix an integer overflow in logical block size 2020-01-15 21:43:09 -07:00
dm-snap-transient.c
dm-snap.c dm snapshot: use true/false for bool variable 2020-01-07 12:07:17 -05:00
dm-stats.c dm: replace zero-length array with flexible-array 2020-05-20 17:09:44 -04:00
dm-stats.h
dm-stripe.c dm: replace zero-length array with flexible-array 2020-05-20 17:09:44 -04:00
dm-switch.c dm: replace zero-length array with flexible-array 2020-05-20 17:09:44 -04:00
dm-sysfs.c
dm-table.c dm: remove the make_request_fn check in device_area_is_invalid 2020-04-25 09:45:43 -06:00
dm-target.c
dm-thin-metadata.c dm thin metadata: fix lockdep complaint 2020-02-27 12:00:53 -05:00
dm-thin-metadata.h dm thin metadata: Add support for a pre-commit callback 2019-12-05 17:05:24 -05:00
dm-thin.c dm thin: change data device's flush_bio to be member of struct pool 2020-01-14 20:23:13 -05:00
dm-uevent.c
dm-uevent.h
dm-unstripe.c
dm-verity-fec.c dm verity fec: fix hash block number in verity_fec_decode 2020-04-16 16:16:38 -04:00
dm-verity-fec.h
dm-verity-target.c dm: bump version of core and various targets 2020-03-03 11:10:21 -05:00
dm-verity-verify-sig.c dm verity: add root hash pkcs#7 signature verification 2019-08-23 10:13:14 -04:00
dm-verity-verify-sig.h dm verity: add root hash pkcs#7 signature verification 2019-08-23 10:13:14 -04:00
dm-verity.h dm verity: add root hash pkcs#7 signature verification 2019-08-23 10:13:14 -04:00
dm-writecache.c dm writecache: reject asynchronous pmem devices 2020-07-08 11:06:57 -04:00
dm-zero.c
dm-zoned-metadata.c dm zoned: Fix zone reclaim trigger 2020-07-08 12:21:53 -04:00
dm-zoned-reclaim.c dm zoned: Fix zone reclaim trigger 2020-07-08 12:21:53 -04:00
dm-zoned-target.c dm zoned: Fix zone reclaim trigger 2020-07-08 12:21:53 -04:00
dm-zoned.h dm zoned: select reclaim zone based on device index 2020-06-05 14:59:53 -04:00
dm.c dm: use noio when sending kobject event 2020-07-08 12:50:51 -04:00
dm.h dm: make dm_table_find_target return NULL 2019-08-23 10:13:12 -04:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile dm mpath: add Historical Service Time Path Selector 2020-05-15 10:29:36 -04:00
md-bitmap.c md: remove __clear_page_buffers and use attach/detach_page_private 2020-06-02 10:59:07 -07:00
md-bitmap.h
md-cluster.c
md-cluster.h
md-faulty.c
md-linear.c md: improve handling of bio with REQ_PREFLUSH in md_flush_request() 2019-10-24 15:22:40 -07:00
md-linear.h md/raid1: Replace zero-length array with flexible-array 2020-05-13 12:02:23 -07:00
md-multipath.c md: improve handling of bio with REQ_PREFLUSH in md_flush_request() 2019-10-24 15:22:40 -07:00
md-multipath.h
md.c md: add a newline when printing parameter 'start_ro' by sysfs 2020-05-13 11:49:19 -07:00
md.h md: use memalloc scope APIs in mddev_suspend()/mddev_resume() 2020-05-13 11:22:31 -07:00
raid1-10.c
raid1.c md/raid1: release pending accounting for an I/O only after write-behind is also finished 2020-05-13 11:22:31 -07:00
raid1.h md/raid1: Replace zero-length array with flexible-array 2020-05-13 12:02:23 -07:00
raid5-cache.c
raid5-log.h
raid5-ppl.c block: remove the error_sector argument to blkdev_issue_flush 2020-05-22 08:45:46 -06:00
raid5.c raid5: update code comment of scribble_alloc() 2020-05-13 11:22:31 -07:00
raid5.h raid5: use bio_end_sector in r5_next_bio 2019-09-13 13:14:43 -07:00
raid10.c md/raid10: prevent access of uninitialized resync_pages offset 2019-11-11 16:47:39 -08:00
raid10.h md/raid1: Replace zero-length array with flexible-array 2020-05-13 12:02:23 -07:00
raid0.c block: fix an integer overflow in logical block size 2020-01-15 21:43:09 -07:00
raid0.h md/raid0: avoid RAID0 data corruption due to layout confusion. 2019-09-13 13:10:05 -07:00