Re: [PATCH RFC v3 03/13] sysctl, mod_devicetable: add macro MODULE_SYSCTL_TABLE
From: Mauricio Faria de Oliveira
Date: Sat Aug 22 2026 - 12:58:10 EST
On 2026-08-22 10:41, Uwe Kleine-König wrote:
> Hello,
Hey,
>
> On Wed, Aug 19, 2026 at 03:16:16PM -0300, Mauricio Faria de Oliveira wrote:
>> The MODULE_SYSCTL_TABLE macro emits a struct module_sysctl_table variable
>> with pointers to a sysctl table's path and entries, and table/entry sizes.
>
> That new struct doesn't seem to contain any pointer?
The struct module_sysctl_table fields .path and .table are pointers,
although with kernel_ulong_t type so that the same 32/64-bit size is
used in file2alias.c based on KERNEL_ELFCLASS (and not on the host,
which might differ with CROSS_COMPILE).
>
>> That symbol will be handled by file2alias.c (modpost) with the changes in
>> mod_devicetable.h and devicetable-offsets.c.
>>
>> The option macros MODULE_SYSCTL_TABLE_{DISABLE,UNIQUE_ID} can be used on
>> a per-file basis to disable the macro and change the symbol name pattern.
>>
>> Signed-off-by: Mauricio Faria de Oliveira <mfo@xxxxxxxxxx>
>> ---
>> include/linux/mod_devicetable.h | 7 +++++++
>> include/linux/sysctl.h | 42 +++++++++++++++++++++++++++++++++++++++
>> scripts/mod/devicetable-offsets.c | 6 ++++++
>> 3 files changed, 55 insertions(+)
>
> Please put the new struct in a separate header. Apart from not being
> about a device table, I'm currently work on removing
> <linux/mod_devicetable.h>. See commit
> ad428f5811bd7fb3d91fa002174de533f9da94d7 for more details.
Sure; I looked at that earlier (thanks for the instructive commit
message, by the way) and found the new struct to be similar to "struct
cpu_feature isn't really a device_id struct" (not moved), but apparently
missed the trailing "fow now", which is clearer now. Fixed for v4.
Thank you,
>
> Best regards
> Uwe
--
Mauricio