From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Dave Young <dyoung@redhat.com>,
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: Mon, 4 Dec 2017 10:03:19 +0000 [thread overview]
Message-ID: <CAKv+Gu9_BC=rHPRWBJXtg=Sn2TmPL21wYCS50a_ff_eav3nSOA@mail.gmail.com> (raw)
In-Reply-To: <20171204095936.GA10547@kroah.com>
On 4 December 2017 at 09:59, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> On Mon, Dec 04, 2017 at 09:48:37AM +0000, Ard Biesheuvel wrote:
>> On 4 December 2017 at 09:34, Greg Kroah-Hartman
>> <gregkh@linuxfoundation.org> wrote:
>> > On Mon, Dec 04, 2017 at 05:29:28PM +0800, Dave Young wrote:
>> >> On 12/04/17 at 08:36am, Greg Kroah-Hartman wrote:
>> >> > On Mon, Dec 04, 2017 at 10:02:16AM +0800, Dave Young wrote:
>> >> > > +#define __ATTR_IRUSR(_name) { \
>> >> > > + .attr = { .name = __stringify(_name), .mode = S_IRUSR }, \
>> >> > > + .show = _name##_show, \
>> >> > > +}
>> >> >
>> >> > Ick, no, as others, including Linus, have said, using IRUSER is a pain
>> >> > in the ass to try to look up and remember what it is...
>> >> >
>> >> > Just use __ATTR() please, it should be fine for what you need to do,
>> >> > which is special-case a sysfs attribute.
>> >>
>> >> Hmm, I was hesitating to do that because it needs either long code
>> >> (over 80 chars) or some driver internal macros.
>> >>
>> >> There is already same issue in dmi-sysfs.c, it uses an internal macro
>> >> DMI_SYSFS_ATTR for 0400 attr. I did not search all the kernel code,
>> >> there might be more for such special cases. Maybe we can add some
>> >> comment in sysfs.h to mention this is for some special case?
>> >>
>> >> I can do something similar as dmi sysfs code though.
>> >
>> > Hm, let me look at this this afternoon when I get through some stable
>> > patches, it shouldn't be that complex to need a whole new macro...
>> >
>>
>> But wasn't that the whole point? That there is a macro that does what
>> you don't want (__ATTR_RO) and none that does what you do want?
>
> my point is that __ATTR() should work for you as-is...
Well, not entirely.
Not sure if the runtime-map code is doing anything wrong here, but it defines
struct map_attribute {
struct attribute attr;
ssize_t (*show)(struct efi_runtime_map_entry *entry, char *buf);
};
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, \
}
that does not set .store at all.
--
Ard.
next prev parent reply other threads:[~2017-12-04 10:03 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-29 4:59 [GIT PULL] hash addresses printed with %p 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 [this message]
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
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='CAKv+Gu9_BC=rHPRWBJXtg=Sn2TmPL21wYCS50a_ff_eav3nSOA@mail.gmail.com' \
--to=ard.biesheuvel@linaro.org \
--cc=dyoung@redhat.com \
--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;
as well as URLs for NNTP newsgroup(s).