Re: [PATCH v2] PCI/sysfs: Change read permissions for VPD attributes
From: Jean Delvare
Date: Thu Nov 21 2024 - 07:01:47 EST
Hi Leon,
On Wed, 13 Nov 2024 14:59:58 +0200, Leon Romanovsky wrote:
> --- a/drivers/pci/vpd.c
> +++ b/drivers/pci/vpd.c
> @@ -332,6 +332,14 @@ static umode_t vpd_attr_is_visible(struct kobject *kobj,
> if (!pdev->vpd.cap)
> return 0;
>
> + /*
> + * Mellanox devices have implementation that allows VPD read by
> + * unprivileged users, so just add needed bits to allow read.
> + */
> + WARN_ON_ONCE(a->attr.mode != 0600);
> + if (unlikely(pdev->vendor == PCI_VENDOR_ID_MELLANOX))
> + return a->attr.mode + 0044;
When manipulating bitfields, | is preferred. This would make the
operation safe regardless of the initial value, so you can even get rid
of the WARN_ON_ONCE() above.
> +
> return a->attr.mode;
> }
>
--
Jean Delvare
SUSE L3 Support