Re: [RFC] [PATCH] sysctl for the latecomers
From: Chase Venters
Date: Tue Aug 01 2006 - 13:20:11 EST
On Tue, 1 Aug 2006, Chase Venters wrote:
On Tue, 1 Aug 2006, Amit Gud wrote:
/etc/sysctl.conf values are of no use to kernel modules that are inserted
after init scripts call sysctl for the values in /etc/sysctl.conf
For modules to use the values stored in the file /etc/sysctl.conf, sysctl
kernel code can keep record of 'limited' values, for sysctl entries which
haven't been registered yet. During registration, sysctl code can check
against the stored values and call the appropriate strategy and
proc_handler routines if a match is found.
Attached patch does just that. This patch is NOT tested and is just to get
opinions, if something like this is a right way of addressing this
Do you anticipate any users that you could list? It seems like a more
appropriate approach would be to allow some kind of user-space hook or event
notification to run upon module insertion, which could then apply the
Btw, wanted to add some comments on the specific approach:
1. A ring hard-coded to 32 elements is IMO unuseable. While it may not be
a real limit for what use case you have in mind, if it's in the kernel
sooner or later someone else is going to use it and get bitten. Imagine if
they wrote in 33 entries, and the first one was some critical security
setting that ended up getting silently ignored...
2. On the other hand, allowing it to grow unbounded is equally
unacceptable without a mechanism to list and clear the current "pending"
sysctl values. Unfortunately, at this point, you're starting to violate
Are the modules you refer to inserted during init at all? Because it seems
like it would be a lot more appropriate to just move sysctl until after
loading the modules, or perhaps running it again once they are loaded.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/