On 11/27/18 2:50 PM, Kees Cook wrote: > On Mon, Nov 19, 2018 at 9:06 AM, Dave Hansen <[email protected]> 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?
Ahh, I also missed some of the renames to make this OK, like: > -static int ptdump_show_efi(struct seq_file *m, void *v) > +static int ptdump_efi_show(struct seq_file *m, void *v) I thought there was some macro magic going on that screwed the names up. This looks fine to me. Reviewed-by: Dave Hansen <[email protected]>

