Re: [PATCH 4.19 228/264] PM: hibernate: remove the bogus call to get_gendisk() in software_resume()

From: Pavel Machek
Date: Wed Oct 28 2020 - 18:27:02 EST


On Tue 2020-10-27 14:54:46, Greg Kroah-Hartman wrote:
> From: Christoph Hellwig <hch@xxxxxx>
>
> [ Upstream commit 428805c0c5e76ef643b1fbc893edfb636b3d8aef ]
>
> get_gendisk grabs a reference on the disk and file operation, so this
> code will leak both of them while having absolutely no use for the
> gendisk itself.
>
> This effectively reverts commit 2df83fa4bce421f ("PM / Hibernate: Use
> get_gendisk to verify partition if resume_file is integer format")

This does not fix anything in 4.19, and should not be there.

It will break resume for people using resumewait option and using
numeric values, as original changelog explains. Eventually, someone
will cry regression and we'll have to fix it in the mainline, but no
need to bring this to -stable, too.

Pavel
> +++ b/kernel/power/hibernate.c
> @@ -842,17 +842,6 @@ static int software_resume(void)
>
> /* Check if the device is there */
> swsusp_resume_device = name_to_dev_t(resume_file);
> -
> - /*
> - * name_to_dev_t is ineffective to verify parition if resume_file is in
> - * integer format. (e.g. major:minor)
> - */
> - if (isdigit(resume_file[0]) && resume_wait) {
> - int partno;
> - while (!get_gendisk(swsusp_resume_device, &partno))
> - msleep(10);
> - }
> -
> if (!swsusp_resume_device) {
> /*
> * Some device discovery might still be in progress; we need

--
http://www.livejournal.com/~pavelmachek

Attachment: signature.asc
Description: Digital signature