]> git.baikalelectronics.ru Git - kernel.git/commit
virtio-mem: fix sleeping in RCU read side section in virtio_mem_online_page_cb()
authorDavid Hildenbrand <david@redhat.com>
Wed, 25 Aug 2021 10:24:15 +0000 (12:24 +0200)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 27 Aug 2021 18:39:36 +0000 (11:39 -0700)
commite9e1a1ec4ee4b5538be990caa5fc500deaa5abc6
tree25477a10d8312d0c89b9ab2779c4821c8c7d56b5
parentf7657e849eb307732402e0eb7131e42b0fc6b5a6
virtio-mem: fix sleeping in RCU read side section in virtio_mem_online_page_cb()

virtio_mem_set_fake_offline() might sleep now, and we call it under
rcu_read_lock(). To fix it, simply move the rcu_read_unlock() further
up, as we're done with the device.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Fixes: 0475e3456841: "virtio-mem: use page_offline_(start|end) when setting PageOffline()
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: virtualization@lists.linux-foundation.org
Signed-off-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/virtio/virtio_mem.c