1. 11 1月, 2007 2 次提交
    • V
      [PATCH] x86-64: Modpost whitelist reference to more symbols (pattern 3) · ee6a8545
      Vivek Goyal 提交于
      o MODPOST generates warning on i386 if kernel is compiled with
        CONFIG_RELOCATABLE=y.
      
      WARNING: vmlinux - Section mismatch: reference to .init.text:__init_begin from .text between 'free_initmem' (at offset 0xc0114fd3) and 'do_test_wp_bit'
      WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'core_kernel_text' (at offset 0xc012aeae) and 'kernel_text_address'
      WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext from .text between 'core_kernel_text' (at offset 0xc012aeb7) and 'kernel_text_address'
      WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'get_symbol_pos' (at offset 0xc0135776) and 'reset_iter'
      WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext from .text between 'get_symbol_pos' (at offset 0xc013577d) and 'reset_iter'
      
      o These symbols (__init_begin, _sinittext, _einittext) belong to init
        section and generally represent a section boundary. These are special
        symbols in the sense that their size is zero and no memory is allocated
        for them in init section. Their addr and value are same. So even if
        we free the init section, it is ok to reference them.
      
      o Whitelist access to such select symbols in MODPOST.
      Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      ee6a8545
    • V
      [PATCH] x86-64: modpost add more symbols to whitelist pattern2 · 118c0ace
      Vivek Goyal 提交于
      o MODPOST generates warning for i386 if compiled with CONFIG_RELOCATABLE=y
        and serial console support is enabled.
      
      o Serial console setup function, serial8250_console_setup(), is a non __init
        function and it calls functions which are of type __init().
        (uart_parse_options() and uart_set_options()). Assuming, setup will
        be called during init time, changing serial8250_console_setup() to __init.
      
      o Adding one more pattern to modpost whitelist. Console drivers might
        have *_console structures containing references to setup functions which
        can be of __init type. Don't generate warnings for those.
      
      WARNING: vmlinux - Section mismatch: reference to .init.text: from .data between 'serial8250_console' (at offset 0xc05a33d8) and 'serial8250_reg'
      Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      118c0ace
  2. 14 12月, 2006 1 次提交
  3. 07 12月, 2006 1 次提交
    • R
      [PATCH] paravirt: Patch inline replacements for paravirt intercepts · 139ec7c4
      Rusty Russell 提交于
      It turns out that the most called ops, by several orders of magnitude,
      are the interrupt manipulation ops.  These are obvious candidates for
      patching, so mark them up and create infrastructure for it.
      
      The method used is that the ops structure has a patch function, which
      is called for each place which needs to be patched: this returns a
      number of instructions (the rest are NOP-padded).
      
      Usually we can spare a register (%eax) for the binary patched code to
      use, but in a couple of critical places in entry.S we can't: we make
      the clobbers explicit at the call site, and manually clobber the
      allowed registers in debug mode as an extra check.
      
      And:
      
      Don't abuse CONFIG_DEBUG_KERNEL, add CONFIG_DEBUG_PARAVIRT.
      
      And:
      
      AK:  Fix warnings in x86-64 alternative.c build
      
      And:
      
      AK: Fix compilation with defconfig
      
      And:
      
      ^From: Andrew Morton <akpm@osdl.org>
      
      Some binutlises still like to emit references to __stop_parainstructions and
      __start_parainstructions.
      
      And:
      
      AK: Fix warnings about unused variables when PARAVIRT is disabled.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NJeremy Fitzhardinge <jeremy@xensource.com>
      Signed-off-by: NChris Wright <chrisw@sous-sol.org>
      Signed-off-by: NZachary Amsden <zach@vmware.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      139ec7c4
  4. 25 10月, 2006 1 次提交
  5. 25 9月, 2006 3 次提交
  6. 01 7月, 2006 2 次提交
  7. 25 6月, 2006 2 次提交
  8. 17 6月, 2006 1 次提交
  9. 10 6月, 2006 3 次提交
  10. 09 6月, 2006 2 次提交
  11. 22 5月, 2006 2 次提交
  12. 09 5月, 2006 1 次提交
  13. 01 5月, 2006 2 次提交
  14. 15 4月, 2006 1 次提交
    • S
      kbuild: fix false section mismatch warnings · 5ecdd0f6
      Sam Ravnborg 提交于
      Darren Jenkins <darrenrjenkins@gmail.com> pointed out a
      number of false positives where we referenced variables
      from a _driver variable.
      Fix it by check for that pattern and ignore it.
      
      Randy.Dunlap <rdunlap@xenotime.net> pointed out a similar
      set of warnings for a number of scsi drivers.
      In scsi world they misname their variables *_template or
      *_sht so add these to list of variables that may have references
      to .init.text with no warning.
      
      Randy.Dunlap <rdunlap@xenotime.net> also pointed out a scsi driver
      with many references to .exit.text from .rodata. This is compiler
      generated references and we already ignore these for .init.text, so
      ignore them for .exit.text also.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      5ecdd0f6
  15. 11 4月, 2006 1 次提交
  16. 17 3月, 2006 1 次提交
    • S
      [PATCH] kbuild: fix buffer overflow in modpost · 7670f023
      Sam Ravnborg 提交于
      Jiri Benc <jbenc@suse.cz> reported that modpost would stop with SIGABRT if
      used with long filepaths.
      The error looked like:
      >   Building modules, stage 2.
      >   MODPOST
      > *** glibc detected *** scripts/mod/modpost: realloc(): invalid next size:
      +0x0809f588 ***
      > [...]
      
      Fix this by allocating at least the required memory + SZ bytes each time.
      Before we sometimes ended up allocating too little memory resuting in the
      glibc detected bug above.  Based on patch originally submitted by: Jiri
      Benc <jbenc@suse.cz>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      7670f023
  17. 09 3月, 2006 1 次提交
  18. 05 3月, 2006 4 次提交
  19. 03 3月, 2006 1 次提交
  20. 27 2月, 2006 2 次提交
  21. 23 2月, 2006 2 次提交
    • S
      kbuild: do not warn when unwind sections references .init/.exit sections · 6e10133f
      Sam Ravnborg 提交于
      Andrew Morton reported a number of false positives for ia64 - like these:
      WARNING: drivers/acpi/button.o - Section mismatch: reference to .init.text: from .IA_64.unwind.init.text after '' (at offset 0x0)
      WARNING: drivers/acpi/button.o - Section mismatch: reference to .exit.text: from .IA_64.unwind.exit.text after '' (at offset 0x0)
      WARNING: drivers/acpi/processor.o - Section mismatch: reference to .init.text: from .IA_64.unwind after '' (at offset 0x1e8)
      
      They are all false positives - or at least the .c code looks OK.
      It is not known why sometimes a section name is appended and sometimes not.
      
      Fix is to accept references from all sections that includes "unwind." in the name.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      6e10133f
    • A
      kbuild: fix modpost compile with older gcc · fededcd2
      akpm@osdl.org 提交于
      The kernel now requires that CC be 3.1.0 or higher.  But we shouldn't place
      that requirement upon HOSTCC unless we really need to.  Fixes my ia64 problem.
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      fededcd2
  22. 19 2月, 2006 4 次提交
    • S
      kbuild: include symbol names in section mismatch warnings · 93684d3b
      Sam Ravnborg 提交于
      Try to look up the symbol that is referenced. Include the symbol
      name in the warning message.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      93684d3b
    • S
      kbuild: fix segfault in modpost · 8ea80ca4
      Sam Ravnborg 提交于
      Do not try to look up section name until we know it is not a special
      section. Otherwise we will address outside legal space and segfault.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      8ea80ca4
    • S
      kbuild: check for section mismatch during modpost stage · b39927cf
      Sam Ravnborg 提交于
      Section mismatch is identified as references to .init*
      sections from non .init sections. And likewise references
      to .exit.* sections outside .exit sections.
      
      .init.* sections are discarded after a module is initialized
      and references to .init.* sections are oops candidates.
      .exit.* sections are discarded when a module is built-in and
      thus references to .exit are also oops candidates.
      
      The checks were possible to do using 'make buildcheck' which
      called the two perl scripts: reference_discarded.pl and
      reference_init.pl. This patch just moves the same functionality
      inside modpost and the scripts are then obsoleted.
      They will though be kept for a while so users can do double
      checks - but note that some .o files are skipped by the perl scripts
      so result is not 1:1.
      All credit for the concept goes to Keith Owens who implemented
      the original perl scrips - this patch just moves it to modpost.
      
      Compared to the perl script the implmentation in modpost will be run
      for each kernel build - thus catching the error much sooner, but
      the downside is that the individual .o file are not always identified.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      b39927cf
    • S
      kbuild: warn about duplicate exported symbols · 8e70c458
      Sam Ravnborg 提交于
      In modpost introduce a check for symbols exported twice.
      This check caught only one victim (inet_bind_bucket_create) for
      which a patch is already sent to netdev.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      8e70c458