[PATCH 12/31] swsusp: don't pass a stack address to blkdev_get_by_path
Christoph Hellwig
hch at lst.de
Tue Jun 6 00:39:31 PDT 2023
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 at lst.de>
---
kernel/power/swap.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/kernel/power/swap.c b/kernel/power/swap.c
index 81aec3b2c60510..b03ff1a33c7f68 100644
--- a/kernel/power/swap.c
+++ b/kernel/power/swap.c
@@ -1510,6 +1510,8 @@ int swsusp_read(unsigned int *flags_p)
return error;
}
+static void *swsusp_holder;
+
/**
* swsusp_check - Check for swsusp signature in the resume device
*/
@@ -1517,14 +1519,13 @@ int swsusp_read(unsigned int *flags_p)
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);
--
2.39.2
More information about the linux-um
mailing list