[PATCH] platform/x86: think-lmi: Remove unnecessary casts for attributes

Thomas Weißschuh posted 1 patch 2 years, 10 months ago
drivers/platform/x86/think-lmi.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
[PATCH] platform/x86: think-lmi: Remove unnecessary casts for attributes
Posted by Thomas Weißschuh 2 years, 10 months ago
These casts are unnecessary and could break if structure layouts are
randomized or implementation details change.
Use the proper syntax that works without casts.

Also remove some unnecessary braces that checkpatch complains about.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
 drivers/platform/x86/think-lmi.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/platform/x86/think-lmi.c b/drivers/platform/x86/think-lmi.c
index c816646eb661..02bfd6e3fed2 100644
--- a/drivers/platform/x86/think-lmi.c
+++ b/drivers/platform/x86/think-lmi.c
@@ -862,19 +862,18 @@ static umode_t auth_attr_is_visible(struct kobject *kobj,
 	struct tlmi_pwd_setting *setting = to_tlmi_pwd_setting(kobj);
 
 	/* We only want to display level and index settings on HDD/NVMe */
-	if ((attr == (struct attribute *)&auth_index) ||
-			(attr == (struct attribute *)&auth_level)) {
+	if (attr == &auth_index.attr || attr == &auth_level.attr) {
 		if ((setting == tlmi_priv.pwd_hdd) || (setting == tlmi_priv.pwd_nvme))
 			return attr->mode;
 		return 0;
 	}
 
 	/* We only display certificates on Admin account, if supported */
-	if ((attr == (struct attribute *)&auth_certificate) ||
-			(attr == (struct attribute *)&auth_signature) ||
-			(attr == (struct attribute *)&auth_save_signature) ||
-			(attr == (struct attribute *)&auth_cert_thumb) ||
-			(attr == (struct attribute *)&auth_cert_to_password)) {
+	if (attr == &auth_certificate.attr ||
+	    attr == &auth_signature.attr ||
+	    attr == &auth_save_signature.attr ||
+	    attr == &auth_cert_thumb.attr ||
+	    attr == &auth_cert_to_password.attr) {
 		if ((setting == tlmi_priv.pwd_admin) && tlmi_priv.certificate_support)
 			return attr->mode;
 		return 0;

---
base-commit: fcd476ea6a888ef6e6627f4c21a2ea8cca3e9312
change-id: 20230329-think-lmi-attrs-994abb757e98

Best regards,
-- 
Thomas Weißschuh <linux@weissschuh.net>

Re: [PATCH] platform/x86: think-lmi: Remove unnecessary casts for attributes
Posted by Hans de Goede 2 years, 10 months ago
Hi,

On 3/29/23 06:50, Thomas Weißschuh wrote:
> These casts are unnecessary and could break if structure layouts are
> randomized or implementation details change.
> Use the proper syntax that works without casts.
> 
> Also remove some unnecessary braces that checkpatch complains about.
> 
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>

Thank you for your patch, I've applied this patch to my review-hans 
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

Note it will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans



> ---
>  drivers/platform/x86/think-lmi.c | 13 ++++++-------
>  1 file changed, 6 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/platform/x86/think-lmi.c b/drivers/platform/x86/think-lmi.c
> index c816646eb661..02bfd6e3fed2 100644
> --- a/drivers/platform/x86/think-lmi.c
> +++ b/drivers/platform/x86/think-lmi.c
> @@ -862,19 +862,18 @@ static umode_t auth_attr_is_visible(struct kobject *kobj,
>  	struct tlmi_pwd_setting *setting = to_tlmi_pwd_setting(kobj);
>  
>  	/* We only want to display level and index settings on HDD/NVMe */
> -	if ((attr == (struct attribute *)&auth_index) ||
> -			(attr == (struct attribute *)&auth_level)) {
> +	if (attr == &auth_index.attr || attr == &auth_level.attr) {
>  		if ((setting == tlmi_priv.pwd_hdd) || (setting == tlmi_priv.pwd_nvme))
>  			return attr->mode;
>  		return 0;
>  	}
>  
>  	/* We only display certificates on Admin account, if supported */
> -	if ((attr == (struct attribute *)&auth_certificate) ||
> -			(attr == (struct attribute *)&auth_signature) ||
> -			(attr == (struct attribute *)&auth_save_signature) ||
> -			(attr == (struct attribute *)&auth_cert_thumb) ||
> -			(attr == (struct attribute *)&auth_cert_to_password)) {
> +	if (attr == &auth_certificate.attr ||
> +	    attr == &auth_signature.attr ||
> +	    attr == &auth_save_signature.attr ||
> +	    attr == &auth_cert_thumb.attr ||
> +	    attr == &auth_cert_to_password.attr) {
>  		if ((setting == tlmi_priv.pwd_admin) && tlmi_priv.certificate_support)
>  			return attr->mode;
>  		return 0;
> 
> ---
> base-commit: fcd476ea6a888ef6e6627f4c21a2ea8cca3e9312
> change-id: 20230329-think-lmi-attrs-994abb757e98
> 
> Best regards,