lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0h1xAx7HRRgH_7=D8U71j3yU1qji_5vYyt0ym+Hnrne6g@mail.gmail.com>
Date: Wed, 2 Jul 2025 20:51:52 +0200
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Zihuan Zhang <zhangzihuan@...inos.cn>
Cc: rafael@...nel.org, pavel@...nel.org, len.brown@...el.com, 
	linux-pm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1] PM: hibernate: Avoid redundant resume_device
 assignment in resume_store()

On Fri, May 30, 2025 at 12:00 PM Zihuan Zhang <zhangzihuan@...inos.cn> wrote:
>
> In resume_store(), if the device number written to /sys/power/resume
> is the same as the current swsusp_resume_device, we can skip reassignment.
> This avoids unnecessary locking and improves efficiency slightly.
>
> Signed-off-by: Zihuan Zhang <zhangzihuan@...inos.cn>
> ---
>  kernel/power/hibernate.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
> index 519fb09de5e0..504a1c2465ce 100644
> --- a/kernel/power/hibernate.c
> +++ b/kernel/power/hibernate.c
> @@ -1291,6 +1291,9 @@ static ssize_t resume_store(struct kobject *kobj, struct kobj_attribute *attr,
>         if (error)
>                 return error;
>
> +       if (dev == swsusp_resume_device)
> +               return n;
> +

The main purpose of this function is to run software_resume(), not to
set swsusp_resume_device.  You're breaking it with this change.

>         sleep_flags = lock_system_sleep();
>         swsusp_resume_device = dev;
>         unlock_system_sleep(sleep_flags);
> --
> 2.25.1
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ