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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <64f0b33b-3345-d9a6-d174-2a823adee216@linux.intel.com>
Date: Thu, 31 Oct 2024 12:15:38 +0200 (EET)
From: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
To: Mario Limonciello <mario.limonciello@....com>
cc: Hans de Goede <hdegoede@...hat.com>, 
    "Rafael J . Wysocki" <rafael@...nel.org>, Len Brown <lenb@...nel.org>, 
    Maximilian Luz <luzmaximilian@...il.com>, Lee Chun-Yi <jlee@...e.com>, 
    Shyam Sundar S K <Shyam-sundar.S-k@....com>, 
    Corentin Chary <corentin.chary@...il.com>, 
    "Luke D . Jones" <luke@...nes.dev>, Ike Panhc <ike.pan@...onical.com>, 
    Henrique de Moraes Holschuh <hmh@....eng.br>, 
    Alexis Belmonte <alexbelm48@...il.com>, 
    Uwe Kleine-König <u.kleine-koenig@...gutronix.de>, 
    Ai Chao <aichao@...inos.cn>, Gergo Koteles <soyer@....hu>, 
    open list <linux-kernel@...r.kernel.org>, 
    "open list:ACPI" <linux-acpi@...r.kernel.org>, 
    "open list:MICROSOFT SURFACE PLATFORM PROFILE DRIVER" <platform-driver-x86@...r.kernel.org>, 
    "open list:THINKPAD ACPI EXTRAS DRIVER" <ibm-acpi-devel@...ts.sourceforge.net>, 
    Mark Pearson <mpearson-lenovo@...ebb.ca>, 
    Matthew Schwartz <matthew.schwartz@...ux.dev>
Subject: Re: [PATCH v3 10/22] ACPI: platform_profile: Use `scoped_cond_guard`
 for platform_profile_show()

On Wed, 30 Oct 2024, Mario Limonciello wrote:

> Migrate away from using an interruptible mutex to scoped_cond_guard.
> Also move the sysfs string match out of the mutex as it's not needed.
> 
> Signed-off-by: Mario Limonciello <mario.limonciello@....com>

I'd have expected all the mutex_lock_interruptible() -> 
scoped_cond_guard() changes in the same patch. Although this also moves 
the sysfs stuff out which in this smaller form is kind of okay but if it's 
part of larger patch merging all scoped guard conversions, it should be 
in a different change.

-- 
 i.

> ---
>  drivers/acpi/platform_profile.c | 36 ++++++++++++---------------------
>  1 file changed, 13 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/acpi/platform_profile.c b/drivers/acpi/platform_profile.c
> index b48dd34301f13..63a5f5ac33898 100644
> --- a/drivers/acpi/platform_profile.c
> +++ b/drivers/acpi/platform_profile.c
> @@ -75,35 +75,25 @@ static ssize_t platform_profile_store(struct device *dev,
>  {
>  	int err, i;
>  
> -	err = mutex_lock_interruptible(&profile_lock);
> -	if (err)
> -		return err;
> -
> -	if (!cur_profile) {
> -		mutex_unlock(&profile_lock);
> -		return -ENODEV;
> -	}
> -
>  	/* Scan for a matching profile */
>  	i = sysfs_match_string(profile_names, buf);
> -	if (i < 0) {
> -		mutex_unlock(&profile_lock);
> +	if (i < 0)
>  		return -EINVAL;
> -	}
>  
> -	/* Check that platform supports this profile choice */
> -	if (!test_bit(i, cur_profile->choices)) {
> -		mutex_unlock(&profile_lock);
> -		return -EOPNOTSUPP;
> -	}
> +	scoped_cond_guard(mutex_intr, return -ERESTARTSYS, &profile_lock) {
> +		if (!cur_profile)
> +			return -ENODEV;
>  
> -	err = cur_profile->profile_set(cur_profile, i);
> -	if (!err)
> -		sysfs_notify(acpi_kobj, NULL, "platform_profile");
> +		/* Check that platform supports this profile choice */
> +		if (!test_bit(i, cur_profile->choices))
> +			return -EOPNOTSUPP;
>  
> -	mutex_unlock(&profile_lock);
> -	if (err)
> -		return err;
> +		err = cur_profile->profile_set(cur_profile, i);
> +		if (err)
> +			return err;
> +	}
> +
> +	sysfs_notify(acpi_kobj, NULL, "platform_profile");
>  	return count;
>  }
>  
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ