1. 30 Sep, 2006 17 commits
  2. 29 Sep, 2006 23 commits
    • Andi Kleen's avatar
      [PATCH] Use early clobber in semaphores · c84ef530
      Andi Kleen authored
      New code clobbers the result always early, so tell gcc about it
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      c84ef530
    • Andi Kleen's avatar
    • Vivek Goyal's avatar
      [PATCH] Re-positioning the bss segment · 120b1142
      Vivek Goyal authored
      [AK: This apparently broke some systems, but we need it to fix
      a compile problem with old binutils and in theory the patch
      is correct. So let's trying reenabling it again.]
      
      o Currently bss segment is being placed somewhere in the middle (after .data)
        section and after bss lots of init section and data sections are coming.
        Is it intentional?
      
      o One side affect of placing bss in the middle is that objcopy keeps the
        bss in raw binary image (vmlinux.bin) hence unnecessarily increasing
        the size of raw binary image. (In my case ~600K). It also increases
        the size of generated bzImage, though the increase is very small
        (896 bytes), probably a very high compression ratio for stream
        of zeros.
      
      o This patch moves the bss at the end hence reducing the size of
        bzImage by 896 bytes and size of vmlinux.bin by 600K.
      
      o This change benefits in the context of relocatable kernel patches. If
        kernel bss is not part of compressed data (vmlinux.bin) then it does
        not have to be decompressed and this area can be used by the decompressor
        for its execution hence keeping the memory requirements bounded and
        decompressor code does not stomp over any other data loaded beyond
        kernel image (As might be the case with bootloaders like kexec).
      Signed-off-by: default avatarVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      120b1142
    • Andi Kleen's avatar
      [PATCH] Use ARRAY_SIZE in setup.c · 9d0ef4fd
      Andi Kleen authored
      Based on i386 patch from Bjorn.
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      9d0ef4fd
    • Bjorn Helgaas's avatar
      [PATCH] i386: replace intermediate array-size definitions with ARRAY_SIZE() · b9629b82
      Bjorn Helgaas authored
      Code is easier to validate if array sizes aren't hidden behind extra
      #defines.
      Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      b9629b82
    • Andi Kleen's avatar
      [PATCH] x86: Clean up x86 NMI sysctls · 29cbc78b
      Andi Kleen authored
      Use prototypes in headers
      Don't define panic_on_unrecovered_nmi for all architectures
      
      Cc: dzickus@redhat.com
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      29cbc78b
    • Andi Kleen's avatar
      [PATCH] Refactor some duplicated code in mpparse.c · 013bf2c5
      Andi Kleen authored
      No logic changes
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      013bf2c5
    • Andi Kleen's avatar
      [PATCH] Document iommu=panic · d802ab98
      Andi Kleen authored
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      d802ab98
    • Andi Kleen's avatar
      [PATCH] Fix broken indentation in iommu_setup · ded318ec
      Andi Kleen authored
      No functional changes; only white space.
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      ded318ec
    • Andi Kleen's avatar
      [PATCH] Allow disabling DAC using command line options · ece66840
      Andi Kleen authored
      Might or might not work around some reported bugs on VIA systems.
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      ece66840
    • Andi Kleen's avatar
      [PATCH] Add proper sparse __user casts to __copy_to_user_inatomic · b885808e
      Andi Kleen authored
      Noticed by Al Viro
      
      Cc: viro@ftp.linux.org.uk
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      b885808e
    • Andi Kleen's avatar
      [PATCH] i386: Update defconfig · ae853e79
      Andi Kleen authored
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      ae853e79
    • Andi Kleen's avatar
      [PATCH] Update defconfig · 81b999b1
      Andi Kleen authored
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      81b999b1
    • David S. Miller's avatar
    • David S. Miller's avatar
      [SPARC]: Don't zero out tail during copy_from_user_inatomic(). · 3a1d5c84
      David S. Miller authored
      Actually, since we use the same code for all the copying
      types in and out of userspace, we check at runtime whether
      preemption is disabled.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3a1d5c84
    • Ollie Wild's avatar
      [PATCH] uml build fix · d6c64102
      Ollie Wild authored
      Cc: Jeff Dike <jdike@addtoit.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      d6c64102
    • David Woodhouse's avatar
      [PATCH] MLSXFRM: fix mis-labelling of child sockets · 2148ccc4
      David Woodhouse authored
      Accepted connections of types other than AF_INET, AF_INET6, AF_UNIX won't
      have an appropriate label derived from the peer, so don't use it.
      Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
      Acked-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      Acked-by: default avatarJames Morris <jmorris@namei.org>
      Acked-by: default avatarPaul Moore <paul.moore@hp.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      2148ccc4
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband · 9a69d1ae
      Linus Torvalds authored
      * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband: (33 commits)
        IB/ipath: Fix lockdep error upon "ifconfig ibN down"
        IB/ipath: Fix races with ib_resize_cq()
        IB/ipath: Support new PCIE device, QLE7142
        IB/ipath: Set CPU affinity early
        IB/ipath: Fix EEPROM read when driver is compiled with -Os
        IB/ipath: Fix and recover TXE piobuf and PBC parity errors
        IB/ipath: Change HT CRC message to indicate how to resolve problem
        IB/ipath: Clean up module exit code
        IB/ipath: Call mtrr_del with correct arguments
        IB/ipath: Flush RWQEs if access error or invalid error seen
        IB/ipath: Improved support for PowerPC
        IB/ipath: Drop unnecessary "(void *)" casts
        IB/ipath: Support multiple simultaneous devices of different types
        IB/ipath: Fix mismatch in shifts and masks for printing debug info
        IB/ipath: Fix compiler warnings and errors on non-x86_64 systems
        IB/ipath: Print more informative parity error messages
        IB/ipath: Ensure that PD of MR matches PD of QP checking the Rkey
        IB/ipath: RC and UC should validate SLID and DLID
        IB/ipath: Only allow complete writes to flash
        IB/ipath: Count SRQs properly
        ...
      9a69d1ae
    • Linus Torvalds's avatar
      Merge git://oss.sgi.com:8090/xfs/xfs-2.6 · c0341b0f
      Linus Torvalds authored
      * git://oss.sgi.com:8090/xfs/xfs-2.6: (49 commits)
        [XFS] Remove v1 dir trace macro - missed in a past commit.
        [XFS] 955947: Infinite loop in xfs_bulkstat() on formatter() error
        [XFS] pv 956241, author: nathans, rv: vapo - make ino validation checks
        [XFS] pv 956240, author: nathans, rv: vapo - Minor fixes in
        [XFS] Really fix use after free in xfs_iunpin.
        [XFS] Collapse sv_init and init_sv into just the one interface.
        [XFS] standardize on one sema init macro
        [XFS] Reduce endian flipping in alloc_btree, same as was done for
        [XFS] Minor cleanup from dio locking fix, remove an extra conditional.
        [XFS] Fix kmem_zalloc_greedy warnings on 64 bit platforms.
        [XFS] pv 955157, rv bnaujok - break the loop on EFAULT formatter() error
        [XFS] pv 955157, rv bnaujok - break the loop on formatter() error
        [XFS] Fixes the leak in reservation space because we weren't ungranting
        [XFS] Add lock annotations to xfs_trans_update_ail and
        [XFS] Fix a porting botch on the realtime subvol growfs code path.
        [XFS] Minor code rearranging and cleanup to prevent some coverity false
        [XFS] Remove a no-longer-correct debug assert from dio completion
        [XFS] Add a greedy allocation interface, allocating within a min/max size
        [XFS] Improve error handling for the zero-fsblock extent detection code.
        [XFS] Be more defensive with page flags (error/private) for metadata
        ...
      c0341b0f
    • Yoichi Yuasa's avatar
      [PATCH] i2c-sibyte: Fix modular build breakage · ae1390d8
      Yoichi Yuasa authored
      Fix undefined reference in i2c_sibyte_exit().
      
         drivers/built-in.o: In function `i2c_sibyte_exit':
         i2c-sibyte.c:(.exit.text+0x368): undefined reference to `i2c_del_bus'
         i2c-sibyte.c:(.exit.text+0x368): relocation truncated to fit: R_MIPS_26 against `i2c_del_bus'
         i2c-sibyte.c:(.exit.text+0x38c): undefined reference to `i2c_del_bus'
         i2c-sibyte.c:(.exit.text+0x38c): relocation truncated to fit: R_MIPS_26 against `i2c_del_bus'
      Signed-off-by: default avatarYoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      ae1390d8
    • Paul Jackson's avatar
      [PATCH] cpuset: fix obscure attach_task vs exiting race · 181b6480
      Paul Jackson authored
      Fix obscure race condition in kernel/cpuset.c attach_task() code.
      
      There is basically zero chance of anyone accidentally being harmed by this
      race.
      
      It requires a special 'micro-stress' load and a special timing loop hacks
      in the kernel to hit in less than an hour, and even then you'd have to hit
      it hundreds or thousands of times, followed by some unusual and senseless
      cpuset configuration requests, including removing the top cpuset, to cause
      any visibly harm affects.
      
      One could, with perhaps a few days or weeks of such effort, get the
      reference count on the top cpuset below zero, and manage to crash the
      kernel by asking to remove the top cpuset.
      
      I found it by code inspection.
      
      The race was introduced when 'the_top_cpuset_hack' was introduced, and one
      piece of code was not updated.  An old check for a possibly null task
      cpuset pointer needed to be changed to a check for a task marked
      PF_EXITING.  The pointer can't be null anymore, thanks to
      the_top_cpuset_hack (documented in kernel/cpuset.c).  But the task could
      have gone into PF_EXITING state after it was found in the task_list scan.
      
      If a task is PF_EXITING in this code, it is possible that its task->cpuset
      pointer is pointing to the top cpuset due to the_top_cpuset_hack, rather
      than because the top_cpuset was that tasks last valid cpuset.  In that
      case, the wrong cpuset reference counter would be decremented.
      
      The fix is trivial.  Instead of failing the system call if the tasks cpuset
      pointer is null here, fail it if the task is in PF_EXITING state.
      
      The code for 'the_top_cpuset_hack' that changes an exiting tasks cpuset to
      the top_cpuset is done without locking, so could happen at anytime.  But it
      is done during the exit handling, after the PF_EXITING flag is set.  So if
      we verify that a task is still not PF_EXITING after we copy out its cpuset
      pointer (into 'oldcs', below), we know that 'oldcs' is not one of these
      hack references to the top_cpuset.
      Signed-off-by: default avatarPaul Jackson <pj@sgi.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      181b6480
    • Kirill Korotaev's avatar
      [PATCH] SubmittingPatches: add a note about "format=flowed" when sending patches · 683e91cb
      Kirill Korotaev authored
      Add a note about "format=flowed" when sending patches and explain how to
      fix mozilla.  Thunderbird has the similar options.
      Signed-off-by: default avatarKirill Korotaev <dev@openvz.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      683e91cb
    • Ingo Molnar's avatar
      [PATCH] lockdep core: improve the lock-chain-hash · 03cbc358
      Ingo Molnar authored
      With CONFIG_DEBUG_LOCK_ALLOC turned off i was getting sporadic failures in
      the locking self-test:
      
        ------------>
        | Locking API testsuite:
        ----------------------------------------------------------------------------
                                         | spin |wlock |rlock |mutex | wsem | rsem |
          --------------------------------------------------------------------------
                             A-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
                         A-B-B-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
                     A-B-B-C-C-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
                     A-B-C-A-B-C deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
                 A-B-B-C-C-D-D-A deadlock:  ok  |FAILED|  ok  |  ok  |  ok  |  ok  |
                 A-B-C-D-B-D-D-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
                 A-B-C-D-B-C-D-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |FAILED|
      
      after much debugging it turned out to be caused by accidental chain-hash
      key collisions.  The current hash is:
      
       #define iterate_chain_key(key1, key2) \
      	(((key1) << MAX_LOCKDEP_KEYS_BITS/2) ^ \
      	((key1) >> (64-MAX_LOCKDEP_KEYS_BITS/2)) ^ \
       	(key2))
      
      where MAX_LOCKDEP_KEYS_BITS is 11.  This hash is pretty good as it will
      shift by 5 bits in every iteration, where every new ID 'mixed' into the
      hash would have up to 11 bits.  But because there was a 6 bits overlap
      between subsequent IDs and their high bits tended to be similar, there was
      a chance for accidental chain-hash collision for a low number of locks
      held.
      
      the solution is to shift by 11 bits:
      
       #define iterate_chain_key(key1, key2) \
      	(((key1) << MAX_LOCKDEP_KEYS_BITS) ^ \
      	((key1) >> (64-MAX_LOCKDEP_KEYS_BITS)) ^ \
       	(key2))
      
      This keeps the hash perfect up to 5 locks held, but even above that the
      hash is still good because 11 bits is a relative prime to the total 64
      bits, so a complete match will only occur after 64 held locks (which doesnt
      happen in Linux).  Even after 5 locks held, entropy of the 5 IDs mixed into
      the hash is already good enough so that overlap doesnt generate a colliding
      hash ID.
      
      with this change the false positives went away.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      03cbc358