Messages in this thread | | | Date | Sat, 1 Mar 2008 04:46:41 +0300 | From | "Alexey Dobriyan" <> | Subject | Re: sysctl in 2.6.24.2 excludes unapproved files from /proc/sys? |
| |
On 3/1/08, Peter T. Breuer <ptb@inv.it.uc3m.es> wrote: > A change in 2.6.24.x kernel/sysctl.c seems to exclude exo-kernel drivers > from using the /proc/sys/ interface:
That's somewhat correct.
> and IT TURNS OUT THAT (sorry, did I scream?)
Nobody gives a.
> sysctl_check_table can't > succeed on anything that's now not been hardwired into the core kernel > because of the new sysctl_check.c file which contains gazzilions of > explict tables aying what is supposed to be in there in excruciating > detail and which are consulted through sysctl_check_table and > sysctl_binary_lookup. E.g: > > static struct trans_ctl_table trans_random_table[] = { > { RANDOM_POOLSIZE, "poolsize" }, > { RANDOM_ENTROPY_COUNT, "entropy_avail" }, > { RANDOM_READ_THRESH, "read_wakeup_threshold" }, > { RANDOM_WRITE_THRESH, "write_wakeup_threshold" }, > { RANDOM_BOOT_ID, "boot_id" }, > { RANDOM_UUID, "uuid" }, > {} > }; > > It appears to me, not that I am totally sure because of the lack of > comments,
Comments? You can read code, can't you?
> that every attempt to add a new direcotry in the tree with > a number that is not listed in the above mess fails through > sysctl_binary_lookup.sysctl_binary_lookup, and every attempt to add > a directory with CTL_UNNUMBERED instead fails if it has children because > the children cry about having an unnumbered parent. Every attempt to > add a directory usurping an existing number fails through some string > mismatch against the trans_.._tables on the dirnames in one of the > numerous lookup functions (forget which). > > (somebody has really spent their holidays on this). > > What's a person to do?
If I understand you correcty, the answer is drop '.ctl_name' bits from new sysctls and make sure common parts of tables match the ones in mainline.
| |