1. 03 4月, 2009 4 次提交
    • P
      kmemtrace, security: fix linux/key.h header file dependencies · aa84442d
      Pekka Enberg 提交于
      Impact: cleanup
      
      We want to remove percpu.h from rcupdate.h (for upcoming kmemtrace
      changes), but this is not possible currently without breaking the
      build because key.h has an implicit include file dependency on
      rwsem.h:
      
          CC [M]  fs/cifs/cifs_spnego.o
        In file included from include/keys/user-type.h:15,
                         from fs/cifs/cifs_spnego.c:24:
        include/linux/key.h:128: error: field ‘sem’ has incomplete type
        make[2]: *** [fs/cifs/cifs_spnego.o] Error 1
        make[1]: *** [fs/cifs] Error 2
        make: *** [fs] Error 2
      
      Fix it by making the dependency explicit.
      Signed-off-by: NPekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      LKML-Reference: <1237884886.25315.39.camel@penberg-laptop>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      aa84442d
    • I
      kmemtrace, fs: fix linux/fdtable.h header file dependencies · 21e54459
      Ingo Molnar 提交于
      Impact: cleanup
      
      We want to remove percpu.h from rcupdate.h (for upcoming kmemtrace
      changes), but this is not possible currently without breaking the
      build because fdtable.h has an implicit include file dependency: it
      uses __init does not include init.h.
      
      This can cause build failures on non-x86 architectures:
      
       /home/mingo/tip/include/linux/fdtable.h:66: error: expected '=', ',',
       ';', 'asm' or '__attribute__' before 'files_defer_init'
       make[2]: *** [fs/locks.o] Error 1
      
      We got this header included indirectly via rcupdate.h's percpu.h
      inclusion - but if that is not there the build will break.
      
      Fix it.
      
      Cc: Pekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      Cc: paulmck@linux.vnet.ibm.com
      LKML-Reference: <1237898630.25315.83.camel@penberg-laptop>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      21e54459
    • I
      kmemtrace, fs: uninline simple_transaction_set() · 76791ab2
      Ingo Molnar 提交于
      Impact: cleanup
      
      We want to remove percpu.h from rcupdate.h (for upcoming kmemtrace
      changes), but this is not possible currently without breaking the
      build because fs.h has an implicit include file depedency: it
      uses PAGE_SIZE but does not include asm/page.h which defines it.
      
      This problem gets masked in practice because most fs.h using sites
      use rcupreempt.h (and other headers) which includes percpu.h which
      brings in asm/page.h indirectly.
      
      We cannot add asm/page.h to asm/fs.h because page.h is not an
      exported header.
      
      Move simple_transaction_set() to the other simple-transaction
      file helpers in fs/libfs.c.
      
      This removes the include file hell and also reduces
      kernel size a bit.
      Acked-by: NAl Viro <viro@zeniv.linux.org.uk>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: Pekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      Cc: paulmck@linux.vnet.ibm.com
      LKML-Reference: <1237898630.25315.83.camel@penberg-laptop>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      76791ab2
    • P
      kmemtrace, fs, security: move alloc_secdata() and free_secdata() to linux/security.h · 3d544f41
      Pekka Enberg 提交于
      Impact: cleanup
      
      We want to remove percpu.h from rcupdate.h (for upcoming kmemtrace
      changes), but this is not possible currently without breaking the
      build because fs.h has implicit include file depedencies: it uses
      GFP_* types in inlines but does not include gfp.h.
      
      In practice most fs.h using .c files get gfp.h included implicitly,
      via an indirect route: via rcupdate.h inclusion - so this underlying
      problem gets masked in practice.
      
      So we want to solve fs.h's dependency on gfp.h.
      
      gfp.h can not be included here directly because it is not exported and it
      would break the build the following way:
      
        /home/mingo/tip/usr/include/linux/bsg.h:11: found __[us]{8,16,32,64} type without #include <linux/types.h>
        /home/mingo/tip/usr/include/linux/fs.h:11: included file 'linux/gfp.h' is not exported
        make[3]: *** [/home/mingo/tip/usr/include/linux/.check] Error 1
        make[2]: *** [linux] Error 2
      
      As suggested by Alexey Dobriyan, move alloc_secdata() and free_secdata()
      to linux/security.h - they belong there. This also cleans fs.h of GFP_*
      usage.
      Suggested-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NPekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      LKML-Reference: <1237906803.25315.96.camel@penberg-laptop>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      3d544f41
  2. 02 4月, 2009 1 次提交
  3. 01 4月, 2009 35 次提交