From: Christoph Hellwig Date: Thu, 8 Jun 2023 11:02:39 +0000 (+0200) Subject: swsusp: don't pass a stack address to blkdev_get_by_path X-Git-Tag: v6.6.7~2487^2~68 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c889d0793d9dc07e94a5fddcc05356157fab00b7;p=platform%2Fkernel%2Flinux-starfive.git 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 Reviewed-by: Hannes Reinecke Acked-by: Rafael J. Wysocki Link: https://lore.kernel.org/r/20230608110258.189493-12-hch@lst.de Signed-off-by: Jens Axboe --- diff --git a/kernel/power/swap.c b/kernel/power/swap.c index 81aec3b..b03ff1a 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);