Comments on your procfs patch: I like it. :)
It looks like many xxx_read_proc operation in fs/proc/proc_array.c
contains the _exact_ same code for adjusting 'len', 'start', etc.
Cleanup should take care of that.
Putting that stuff into an inline or plain macro would save a lot of
[source] code. But I think proc_array.c can be made even smaller.
Maybe 80% of the functions could be condensed into something like:
DECLARE_SIMPLE_READ_PROC(filesystems_read_proc, get_filesystem_list)
DECLARE_SIMPLE_READ_PROC(dma_read_proc, get_dma_list)
Still other functions in proc_array look like they can be similarly
simplified:
DECLARE_READ_PROC(ksyms_read_proc, get_ksyms_list)
IMHO it would be even better if proc_array didn't have to exist at all,
and the /proc hook would be 100% declared in the module where
get_xxx_list() exists.
Jeff