Commit c889d079 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

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: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
Acked-by: default avatarRafael J. Wysocki <rafael@kernel.org>
Link: https://lore.kernel.org/r/20230608110258.189493-12-hch@lst.de


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 7ee34cbc
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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);