LWN.net Logo

Advertisement

E-Commerce & credit card processing - the Open Source way!

Advertise here

Module rewrite series 3/5: KBUILD_MODNAME.

From:  Rusty Russell <rusty@rustcorp.com.au>
To:  linux-kernel@vger.kernel.org
Subject:  [PATCH] Module rewrite series 3/5: KBUILD_MODNAME.
Date:  Thu, 31 Oct 2002 18:18:43 +1100

Separate lkml-attach version due to size.  Note that your
kernel won't compile after this: you need arch support, and almost all
functionality other than loading and unloading is not implemented:
they are handled in follow-on patches (which all exist 8).

Diffstat breakdown:

Core:
 include/linux/init.h                            |  100 -
 kernel/module.c                                 |   10 
 include/linux/kmod.h                            |    1 
 include/linux/module.h                          |  698 ++------
 kernel/kmod.c                                   |    2 
 kernel/ksyms.c                                  |    8 
 kernel/module.c                                 | 2052 ++++++++++--------------
 fs/proc/proc_misc.c                             |   12 
 include/linux/elf.h                             |   45 
 init/Kconfig                                    |   21 
 init/main.c                                     |    5 
 kernel/sys.c                                    |    2 

Build (and commenting out kallsyms for the moment):
 Makefile                                        |   17 
 kernel/Makefile                                 |    4 
 arch/i386/Kconfig                               |   15 
 arch/ia64/Kconfig                               |   14 
 arch/ppc/Kconfig                                |    6 
 arch/x86_64/Kconfig                             |   14 
 scripts/Makefile.modinst                        |    4 

Broken by module.h not including version.h:
 drivers/block/floppy.c                          |    1 

Uses can_unload():
 drivers/char/ftape/compressor/zftape-compress.c |    9 
 net/ipv6/af_inet6.c                             |    5 

Deref struct module even when !CONFIG_MODULES:
 kernel/exec_domain.c                            |    7 
 net/ipv4/netfilter/ip_nat_helper.c              |    8 

Hacks refcounts directly:
 fs/filesystems.c                                |   16 

Needs "no_module_init;" declaration:
 lib/zlib_deflate/deflate_syms.c                 |    2 
 lib/zlib_inflate/inflate_syms.c                 |    2 
 29 files changed, 1330 insertions(+), 1758 deletions(-)

--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.



Copyright © 2002, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds