Re: [PATCH] x86/mm/dump_pagetables: Change to use DEFINE_SHOW_ATTRIBUTE macro

From: Kees Cook
Date: Tue Nov 27 2018 - 17:50:31 EST


On Mon, Nov 19, 2018 at 9:06 AM, Dave Hansen <dave.hansen@xxxxxxxxx> wrote:
> On 11/19/18 7:43 AM, Yangtao Li wrote:
>> -static const struct file_operations ptdump_curusr_fops = {
>> - .owner = THIS_MODULE,
>> - .open = ptdump_open_curusr,
>> - .read = seq_read,
>> - .llseek = seq_lseek,
>> - .release = single_release,
>> -};
>> +DEFINE_SHOW_ATTRIBUTE(ptdump_curusr);
>
> FWIW, I rather dislike this conversion and the DEFINE_SHOW_ATTRIBUTE()
> approach in general. It makes it basically impossible to go from
> ptdump_curusr to ptdump_open_curusr without opening up the macro and
> reverse-engineering it.
>
> My test is that for these macros to be sane, I need to be able to find
> "ptdump_open_curusr" by grepping for "ptdump_curusr". This fails the test.

Er, "ptdump_curusr" matches the generated name "ptdump_curusr_show",
is that what you mean?

> I don't think saving a few lines of code is worth the obfuscation.

This is the standard boilerplate for attributes, though. I'd be nice
to drop all the copy/pasted code...

--
Kees Cook