On Mon, 8 May 2023 12:28:52 -0400 Kent Overstreet <kent.overstreet@xxxxxxxxx> wrote: > On Mon, May 08, 2023 at 06:09:13PM +0200, Petr Tesařík wrote: > > Sure, although AFAIK the index does not cover all possible config > > options (so non-x86 arch code is often forgotten). However, that's the > > less important part. > > > > What do you do if you need to hook something that does conflict with an > > existing identifier? > > As already happens in this patchset, rename the other identifier. > > But this is C, we avoid these kinds of conflicts already because the > language has no namespacing This statement is not accurate, but I agree there's not much. Refer to section 6.2.3 of ISO/IEC9899:2018 (Name spaces of identifiers). More importantly, macros also interfere with identifier scoping, e.g. you cannot even have a local variable with the same name as a macro. That's why I dislike macros so much. But since there's no clear policy regarding macros in the kernel, I'm merely showing a downside; it's perfectly fine to write kernel code like this as long as the maintainers agree that the limitation is acceptable and outweighed by the benefits. Petr T > it's going to be a pretty rare situtaion > going forward. Most of the hooking that will be done is done with this > patchset, and there was only one identifier that needed to be renamed. >