Re: [PATCH v2] PCI/sysfs: Change read permissions for VPD attributes

From: Leon Romanovsky
Date: Fri Nov 22 2024 - 14:43:18 EST


On Thu, Nov 21, 2024 at 04:41:42PM -0600, Bjorn Helgaas wrote:
> On Thu, Nov 21, 2024 at 02:13:01PM +0200, Leon Romanovsky wrote:
> > On Thu, Nov 21, 2024 at 01:01:27PM +0100, Jean Delvare wrote:
> > > 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;
> > ...
>
> > I still didn't lost hope that at some point VPD will be open for read to
> > all kernel devices.
> >
> > Bjorn, are you ok with this patch? If yes, I'll resend the patch with
> > the suggested change after the merge window.
>
> Reading VPD is a fairly complicated dance that only works if the VPD
> data is well-formatted, and the benefit of unprivileged access seems
> pretty small, so the risk/reward tradeoff for making it unprivileged
> for all devices doesn't seem favorable in my mind.
>
> This quirk seems like the least bad option, so I guess I'm ok with it.

Thanks a lot.

>
> Bjorn