diff options
author | Nitesh Shetty <[email protected]> | 2023-06-05 11:53:53 +0530 |
---|---|---|
committer | Jens Axboe <[email protected]> | 2023-06-05 16:15:35 -0600 |
commit | 8cfb98196cceec35416041c6b91212d2b99392e4 (patch) | |
tree | 16ed2fd5af84c8a9e805fd315bd705026a2c17c3 | |
parent | ddad59331a4e16088468ca0ad228a9fe32d7955a (diff) |
null_blk: Fix: memory release when memory_backed=1
Memory/pages are not freed, when unloading nullblk driver.
Steps to reproduce issue
1.free -h
total used free shared buff/cache available
Mem: 7.8Gi 260Mi 7.1Gi 3.0Mi 395Mi 7.3Gi
Swap: 0B 0B 0B
2.modprobe null_blk memory_backed=1
3.dd if=/dev/urandom of=/dev/nullb0 oflag=direct bs=1M count=1000
4.modprobe -r null_blk
5.free -h
total used free shared buff/cache available
Mem: 7.8Gi 1.2Gi 6.1Gi 3.0Mi 398Mi 6.3Gi
Swap: 0B 0B 0B
Signed-off-by: Anuj Gupta <[email protected]>
Signed-off-by: Nitesh Shetty <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jens Axboe <[email protected]>
-rw-r--r-- | drivers/block/null_blk/main.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/null_blk/main.c b/drivers/block/null_blk/main.c index b3fedafe301e..864013019d6b 100644 --- a/drivers/block/null_blk/main.c +++ b/drivers/block/null_blk/main.c @@ -2244,6 +2244,7 @@ static void null_destroy_dev(struct nullb *nullb) struct nullb_device *dev = nullb->dev; null_del_dev(nullb); + null_free_device_storage(dev, false); null_free_dev(dev); } |