From: Dave Young <dyoung@redhat.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: David Laight <David.Laight@ACULAB.COM>,
"'Ard Biesheuvel'" <ard.biesheuvel@linaro.org>,
Matt Fleming <matt@codeblueprint.co.uk>,
Linus Torvalds <torvalds@linux-foundation.org>,
"Tobin C. Harding" <me@tobin.cc>,
LKML <linux-kernel@vger.kernel.org>,
"linux-efi@vger.kernel.org" <linux-efi@vger.kernel.org>
Subject: Re: [GIT PULL] hash addresses printed with %p
Date: Tue, 5 Dec 2017 13:14:34 +0800 [thread overview]
Message-ID: <20171205051434.GA6086@dhcp-128-65.nay.redhat.com> (raw)
In-Reply-To: <20171204140012.GA8744@kroah.com>
On 12/04/17 at 03:00pm, Greg Kroah-Hartman wrote:
> On Mon, Dec 04, 2017 at 12:51:13PM +0000, David Laight wrote:
> > From: Ard Biesheuvel
> > > Sent: 04 December 2017 10:03
> > ...
> > > and uses __ATTR_RO() to emit initializers for it. __ATTR() initializes
> > > the .store member as well, which does not exists, and so it cannot be
> > > used directly.
> > >
> > > So we should either add a .store member that is always NULL, or we
> > > should add our own
> > >
> > > #define __ATTR_0400(_name) { \
> > > .attr = { .name = __stringify(_name), .mode = 0400 }, \
> > > .show = _name##_show, \
> > > }
> >
> > What about an __ATTR_RO_MODE(name, mode) that doesn't set the .store member.
> > Even if the mode allowed write, writes wouldn't happen.
>
> Ah, that might work, could you convert the other users of __ATTR() in
> the efi code to use it as well?
$ grep __ATTR * -RI
efi.c: __ATTR(systab, 0400, systab_show, NULL);
efi.c:static struct kobj_attribute efi_attr_fw_vendor = __ATTR_RO(fw_vendor);
efi.c:static struct kobj_attribute efi_attr_runtime = __ATTR_RO(runtime);
efi.c:static struct kobj_attribute efi_attr_config_table = __ATTR_RO(config_table);
efi.c: __ATTR_RO(fw_platform_size);
esrt.c:static struct esre_attribute esre_fw_class = __ATTR(fw_class, 0400,
esrt.c:static struct esre_attribute esre_##name = __ATTR(name, 0400, \
esrt.c:static struct kobj_attribute esrt_##name = __ATTR(name, 0400, \
runtime-map.c:static struct map_attribute map_type_attr = __ATTR_RO(type);
runtime-map.c:static struct map_attribute map_phys_addr_attr = __ATTR_RO(phys_addr);
runtime-map.c:static struct map_attribute map_virt_addr_attr = __ATTR_RO(virt_addr);
runtime-map.c:static struct map_attribute map_num_pages_attr = __ATTR_RO(num_pages);
runtime-map.c:static struct map_attribute map_attribute_attr = __ATTR_RO(attribute);
Above is all the __ATTR users for drivers/firmware/efi/*, it makes sense
to update all __ATTR_RO to __ATTR_RO_MODE, so efi.c, runtime-map.c, and
drivers/firmware/dmi-sysfs.c can be updated. But esrt.c __ATTR seems
not necessary.
And if so __ATTR_RO_MODE(name, mode) still needs go to sysfs.h.
I can do it but need confirm, Is this what you prefer?
Thanks
Dave
next prev parent reply other threads:[~2017-12-05 5:14 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-29 4:59 Tobin C. Harding
2017-11-29 19:22 ` Linus Torvalds
2017-11-29 19:39 ` Linus Torvalds
2017-11-29 20:54 ` Joe Perches
2017-11-29 21:05 ` Linus Torvalds
2017-11-29 21:31 ` Kees Cook
2017-11-29 21:08 ` Tobin C. Harding
2017-11-29 21:14 ` Linus Torvalds
2017-11-29 21:28 ` Tobin C. Harding
2017-11-29 21:36 ` Linus Torvalds
2017-11-30 16:32 ` Greg Kroah-Hartman
2017-11-30 17:10 ` Greg Kroah-Hartman
2017-11-30 17:18 ` Ard Biesheuvel
2017-12-01 9:48 ` Greg Kroah-Hartman
2017-12-01 9:54 ` Ard Biesheuvel
2017-12-01 15:34 ` Greg Kroah-Hartman
2017-12-01 16:33 ` Kees Cook
2017-12-02 8:51 ` Ard Biesheuvel
2017-12-02 22:22 ` Matt Fleming
2017-12-03 1:15 ` Dave Young
2017-12-04 2:02 ` Dave Young
2017-12-04 2:33 ` Joe Perches
2017-12-04 2:39 ` Dave Young
2017-12-04 7:36 ` Greg Kroah-Hartman
2017-12-04 9:29 ` Dave Young
2017-12-04 9:34 ` Greg Kroah-Hartman
2017-12-04 9:48 ` Ard Biesheuvel
2017-12-04 9:59 ` Greg Kroah-Hartman
2017-12-04 10:03 ` Ard Biesheuvel
2017-12-04 10:11 ` Greg Kroah-Hartman
2017-12-04 12:51 ` David Laight
2017-12-04 14:00 ` Greg Kroah-Hartman
2017-12-05 5:14 ` Dave Young [this message]
2017-12-05 8:09 ` Greg Kroah-Hartman
2017-12-05 8:45 ` Dave Young
2017-12-05 8:52 ` Greg Kroah-Hartman
2017-12-05 9:25 ` Ard Biesheuvel
2017-12-05 10:15 ` Greg Kroah-Hartman
2017-12-05 9:32 ` Dave Young
2017-12-05 9:24 ` Dave Young
2017-12-05 10:14 ` Greg Kroah-Hartman
2017-11-30 23:17 ` Linus Torvalds
2017-12-01 9:47 ` Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171205051434.GA6086@dhcp-128-65.nay.redhat.com \
--to=dyoung@redhat.com \
--cc=David.Laight@ACULAB.COM \
--cc=ard.biesheuvel@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matt@codeblueprint.co.uk \
--cc=me@tobin.cc \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®