summaryrefslogtreecommitdiff
path: root/kernel/power/swap.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2023-06-08 13:02:39 +0200
committerJens Axboe <axboe@kernel.dk>2023-06-12 08:04:04 -0600
commitc889d0793d9dc07e94a5fddcc05356157fab00b7 (patch)
tree1dc3ce37560c818272897611b223dba00e01d6b7 /kernel/power/swap.c
parent7ee34cbc291a28134b60683b246ba58b4b676ec3 (diff)
swsusp: don't pass a stack address to blkdev_get_by_path
holder is just an on-stack pointer that can easily be reused by other calls, replace it with a static variable that doesn't change. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Hannes Reinecke <hare@suse.de> Acked-by: Rafael J. Wysocki <rafael@kernel.org> Link: https://lore.kernel.org/r/20230608110258.189493-12-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'kernel/power/swap.c')
-rw-r--r--kernel/power/swap.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/power/swap.c b/kernel/power/swap.c
index 81aec3b2c605..b03ff1a33c7f 100644
--- a/kernel/power/swap.c
+++ b/kernel/power/swap.c
@@ -1510,6 +1510,8 @@ end:
return error;
}
+static void *swsusp_holder;
+
/**
* swsusp_check - Check for swsusp signature in the resume device
*/
@@ -1517,14 +1519,13 @@ end:
int swsusp_check(bool snapshot_test)
{
int error;
- void *holder;
fmode_t mode = FMODE_READ;
if (snapshot_test)
mode |= FMODE_EXCL;
hib_resume_bdev = blkdev_get_by_dev(swsusp_resume_device,
- mode, &holder, NULL);
+ mode, &swsusp_holder, NULL);
if (!IS_ERR(hib_resume_bdev)) {
set_blocksize(hib_resume_bdev, PAGE_SIZE);
clear_page(swsusp_header);