dm: use noio when sending kobject event
authorMikulas Patocka <mpatocka@redhat.com>
Wed, 8 Jul 2020 16:25:20 +0000 (12:25 -0400)
committerMike Snitzer <snitzer@redhat.com>
Wed, 8 Jul 2020 16:50:51 +0000 (12:50 -0400)
commit6958c1c640af8c3f40fa8a2eee3b5b905d95b677
tree3ad740210f4672ce601d1f994b6eb8fcaa6f88ee
parent174364f6a8979655f71b04b6492657aec3762703
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>
drivers/md/dm.c