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] [day] [month] [year] [list]
Date:   Wed, 28 Jun 2017 16:31:08 -0700
From:   Dan Williams <dan.j.williams@...el.com>
To:     Jerry Hoemann <Jerry.Hoemann@....com>
Cc:     "linux-nvdimm@...ts.01.org" <linux-nvdimm@...ts.01.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 5/7] acpi, nfit: Show bus_dsm_mask

On Wed, Jun 28, 2017 at 4:29 PM, Dan Williams <dan.j.williams@...el.com> wrote:
> On Wed, Jun 28, 2017 at 4:15 PM, Jerry Hoemann <jerry.hoemann@....com> wrote:
>> On Wed, Jun 28, 2017 at 02:07:20PM -0700, Dan Williams wrote:
>>> On Tue, Jun 20, 2017 at 9:51 AM, Jerry Hoemann <jerry.hoemann@....com> wrote:
>>> > Add bus_dsm_mask to sysfs display under /sys/bus/nd/devices/ndbusX/nfit.
>>> >
>>> > Signed-off-by: Jerry Hoemann <jerry.hoemann@....com>
>>> > ---
>>> >  drivers/acpi/nfit/core.c | 10 ++++++++++
>>> >  1 file changed, 10 insertions(+)
>>> >
>>> > diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c
>>> > index 9d281a4..f133b3e 100644
>>> > --- a/drivers/acpi/nfit/core.c
>>> > +++ b/drivers/acpi/nfit/core.c
>>> > @@ -928,6 +928,15 @@ static int nfit_mem_init(struct acpi_nfit_desc *acpi_desc)
>>> >         return 0;
>>> >  }
>>> >
>>> > +static ssize_t bus_dsm_mask_show(struct device *dev,
>>> > +               struct device_attribute *attr, char *buf)
>>> > +{
>>> > +       struct nvdimm_bus *nvdimm_bus = to_nvdimm_bus(dev);
>>> > +       struct nvdimm_bus_descriptor *nd_desc = to_nd_desc(nvdimm_bus);
>>> > +       return sprintf(buf, "%#lx\n", nd_desc->bus_dsm_mask);
>>> > +}
>>> > +static DEVICE_ATTR_RO(bus_dsm_mask);
>>> > +
>>> >  static ssize_t revision_show(struct device *dev,
>>> >                 struct device_attribute *attr, char *buf)
>>> >  {
>>> > @@ -1064,6 +1073,7 @@ static umode_t nfit_visible(struct kobject *kobj, struct attribute *a, int n)
>>> >         &dev_attr_revision.attr,
>>> >         &dev_attr_scrub.attr,
>>> >         &dev_attr_hw_error_scrub.attr,
>>> > +       &dev_attr_bus_dsm_mask.attr,
>>> >         NULL,
>>> >  };
>>>
>>> I think it's redundant to keep 'bus_' in the name of the attribute
>>> since 'bus' is included in the sysfs path. You can use DEVICE_ATTR()
>>> instead of DEVICE_ATTR_RO() to specify the attribute name manually,
>>> and get around the collision with the existing dsm_mash_show()
>>> routine.
>>
>> DEVICE_ATTR and DEVICE_ATTR_RO uses the same tokenization & stringification
>> schemes, so that doesn't disambiguate.  They need to be different
>> case sensitive names if they are to be in same source file.
>>
>> Do you want me to change name to root_dsm_mask?  or change case: DSM_MASK?
>
> I'm saying do something like this:
>
>    DEVICE_ATTR(dsm_mask, 0444, bus_dsm_mask_show, NULL)
>
> ...so that the attribute name in sysfs is just 'dsm_mask'.

Actually, you'll need to go further and use __ATTR() directly to
initialize a bus_dsm_mask_attr.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ