1. 26 7月, 2007 1 次提交
  2. 24 7月, 2007 1 次提交
  3. 20 7月, 2007 6 次提交
  4. 18 7月, 2007 1 次提交
    • T
      kallsyms: make KSYM_NAME_LEN include space for trailing '\0' · 9281acea
      Tejun Heo 提交于
      KSYM_NAME_LEN is peculiar in that it does not include the space for the
      trailing '\0', forcing all users to use KSYM_NAME_LEN + 1 when allocating
      buffer.  This is nonsense and error-prone.  Moreover, when the caller
      forgets that it's very likely to subtly bite back by corrupting the stack
      because the last position of the buffer is always cleared to zero.
      
      This patch increments KSYM_NAME_LEN by one and updates code accordingly.
      
      * off-by-one bug in asm-powerpc/kprobes.h::kprobe_lookup_name() macro
        is fixed.
      
      * Where MODULE_NAME_LEN and KSYM_NAME_LEN were used together,
        MODULE_NAME_LEN was treated as if it didn't include space for the
        trailing '\0'.  Fix it.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Acked-by: NPaulo Marques <pmarques@grupopie.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9281acea
  5. 17 7月, 2007 26 次提交
  6. 07 7月, 2007 1 次提交
  7. 29 6月, 2007 1 次提交
    • D
      Introduce fixed sys_sync_file_range2() syscall, implement on PowerPC and ARM · edd5cd4a
      David Woodhouse 提交于
      Not all the world is an i386.  Many architectures need 64-bit arguments to be
      aligned in suitable pairs of registers, and the original
      sys_sync_file_range(int, loff_t, loff_t, int) was therefore wasting an
      argument register for padding after the first integer.  Since we don't
      normally have more than 6 arguments for system calls, that left no room for
      the final argument on some architectures.
      
      Fix this by introducing sys_sync_file_range2(int, int, loff_t, loff_t) which
      all fits nicely.  In fact, ARM already had that, but called it
      sys_arm_sync_file_range.  Move it to fs/sync.c and rename it, then implement
      the needed compatibility routine.  And stop the missing syscall check from
      bitching about the absence of sys_sync_file_range() if we've implemented
      sys_sync_file_range2() instead.
      
      Tested on PPC32 and with 32-bit and 64-bit userspace on PPC64.
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      edd5cd4a
  8. 24 6月, 2007 2 次提交
    • A
      update checkpatch.pl to version 0.06 · d8aaf121
      Andy Whitcroft 提交于
      Update to checkpatch.pl v0.06.  Of note:
      
       - do { and else handled correctly as control structures for { matching
       - trailing whitespace correctly tripped when line otherwise empty
       - support for const, including const foo * const bar
       - multiline macros defining values correctly reported
      
      This version of checkpatch.pl can be found at the following URL:
      
      http://www.kernel.org/pub/linux/kernel/people/apw/checkpatch/checkpatch.pl-0.06
      
      Full Changelog:
      
      Andy Whitcroft (14):
            Version: 0.06
            cleanup the Type regular expression declarations
            fix up block counting
            end of line counts as a space for ++ and --
            do { needs the same checks as if, for et al
            handle "const foo * const a" as a valid type
            add spacing checks following ;
            complete whitespace lines should trip trailing whitespace check
            else is also a block control structure
            badly formatted else can trip function declaration
            detect and report trailing statements after else
            types need to be terminated by a boundary
            multiline macros defining values should be surrounded by parentheses
            soften the wording of the Signed-off-by: warnings
      Signed-off-by: NAndy Whitcroft <apw@shadowen.org>
      Cc: "Randy.Dunlap" <rdunlap@xenotime.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d8aaf121
    • A
      update checkpatch.pl to version 0.05 · 653d4876
      Andy Whitcroft 提交于
      This version brings a some new tests, and a host of changes to fix
      false positives, of particular note:
      
       - detect 'var ++;' and 'var --;' as a bad combination
       - multistatement #defines are now checked based on statement count
       - multistatement #defines with initialisation correctly reported
       - checks the location of the inline keywords
       - EXPORT_SYMBOL for variables are now understood
       - typedefs are loosened to handle sparse etc
      
      This version of checkpatch.pl can be found at the following URL:
      
            http://www.shadowen.org/~apw/public/checkpatch/checkpatch.pl-0.05
      
      Full Changelog:
      
      Andy Whitcroft (18):
            Version: 0.05
            macro definition checks should be for a single statement
            avoid assignements only in if conditionals
            declarations of function pointers need no space
            multiline macros which are purely initialisation cannot be wrapped
            EXPORT_SYMBOL can also directly follow a variable definition
            check on the location of the inline keyword
            EXPORT_SYMBOL needs to allow for attributes
            ensure we do not find C99 // in strings
            handle malformed #include lines
            accept the {0,} form
            typedefs are sensible for defining function pointer parameters
            ensure { handling correctly handles nested switch() statements
            trailing whitespace checks are not anchored
            typedefs for sparse bitwise annotations make sense
            update the type matcher to include sparse annotations
            clean up indent and spacing
      Signed-off-by: NAndy Whitcroft <apw@shadowen.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      653d4876
  9. 12 6月, 2007 1 次提交
    • S
      kbuild: fix sh64 section mismatch problems · 2648a53a
      Sam Ravnborg 提交于
      There's a special .cranges section that is almost always generated,
      with data being moved to the appropriate section by the linker at a later
      stage.
      
      To give a bit of background, sh64 has both a native SHmedia instruction
      set (32-bit instructions) and SHcompact (which is compatability with
      normal SH -- 16-bit, a massively reduced register set, etc.). code ranges
      are emitted when we're using the 32-bit ABI, but not the 64-bit one.
      
      It is a special staging section used solely by binutils where code with
      different flags get placed (more specifically differing flags for input
      and output sections), before being lazily merged by the linker.
      
      The closest I've been able to find to documentation is:
        http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/ld/emultempl/sh64elf.em?rev=1.10&content-type=text/x-cvsweb-markup&cvsroot=src
      
      It's an array of 8-byte Elf32_CRange structure given in
        http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elf32-sh64.h?rev=1.4&content-type=text/x-cvsweb-markup&cvsroot=src
      that describes for which ISA a range is used.
      
      Silence the warnings by allowing references from .init.text to .cranges.
      
      The following warnings are fixed:
      
      WARNING: init/built-in.o(.cranges+0x0): Section mismatch: reference to .init.text:
      WARNING: init/built-in.o(.cranges+0xa): Section mismatch: reference to .init.text:
      WARNING: init/built-in.o(.cranges+0x14): Section mismatch: reference to .init.text:
      WARNING: init/built-in.o(.cranges+0x1e): Section mismatch: reference to .init.text:
      WARNING: init/built-in.o(.cranges+0x28): Section mismatch: reference to .init.text:
      WARNING: init/built-in.o(.cranges+0x32): Section mismatch: reference to .init.text:
      WARNING: kernel/built-in.o(.cranges+0x50): Section mismatch: reference to .init.text:
      WARNING: kernel/built-in.o(.cranges+0x5a): Section mismatch: reference to .init.text:
      WARNING: kernel/built-in.o(.cranges+0x64): Section mismatch: reference to .init.text:
      WARNING: kernel/built-in.o(.cranges+0xfa): Section mismatch: reference to .init.text:
      WARNING: kernel/built-in.o(.cranges+0x104): Section mismatch: reference to .init.text:
      WARNING: kernel/built-in.o(.cranges+0x10e): Section mismatch: reference to .init.text:
      WARNING: kernel/built-in.o(.cranges+0x14a): Section mismatch: reference to .init.text:
      WARNING: kernel/built-in.o(.cranges+0x154): Section mismatch: reference to .init.text:
      WARNING: kernel/built-in.o(.cranges+0x15e): Section mismatch: reference to .init.text:
      WARNING: mm/built-in.o(.cranges+0x6e): Section mismatch: reference to .init.text:
      WARNING: mm/built-in.o(.cranges+0x78): Section mismatch: reference to .init.text:
      WARNING: mm/built-in.o(.cranges+0x82): Section mismatch: reference to .init.text:
      WARNING: mm/built-in.o(.cranges+0xaa): Section mismatch: reference to .init.text:
      WARNING: fs/built-in.o(.cranges+0x136): Section mismatch: reference to .init.text:
      WARNING: fs/built-in.o(.cranges+0x140): Section mismatch: reference to .init.text:
      WARNING: fs/built-in.o(.cranges+0x14a): Section mismatch: reference to .init.text:
      WARNING: fs/built-in.o(.cranges+0x168): Section mismatch: reference to .init.text:
      WARNING: fs/built-in.o(.cranges+0x1f4): Section mismatch: reference to .init.text:
      WARNING: fs/built-in.o(.cranges+0x1fe): Section mismatch: reference to .init.text:
      WARNING: net/built-in.o(.cranges+0x302): Section mismatch: reference to .init.text:
      WARNING: net/built-in.o(.cranges+0x30c): Section mismatch: reference to .init.text:
      WARNING: net/built-in.o(.cranges+0x316): Section mismatch: reference to .init.text:
      WARNING: net/built-in.o(.cranges+0x3a2): Section mismatch: reference to .init.text:
      WARNING: net/built-in.o(.cranges+0x3ac): Section mismatch: reference to .init.text:
      WARNING: net/built-in.o(.cranges+0x4ce): Section mismatch: reference to .init.text:
      WARNING: net/built-in.o(.cranges+0x4d8): Section mismatch: reference to .init.text:
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      Cc: Kaz Kojima <kkojima@rr.iij4u.or.jp>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      2648a53a