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>
This commit is contained in:
Родитель
7ee34cbc29
Коммит
c889d0793d
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче