1. 01 Oct, 2006 12 commits
  2. 30 Sep, 2006 15 commits
  3. 29 Sep, 2006 13 commits
    • 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
    • Vivek Goyal's avatar
      [PATCH] Kcore elf note namesz field fix · 632dd205
      Vivek Goyal authored
      o As per ELF specifications, it looks like that elf note "namesz" field
        contains the length of "name" including the size of null character.  And
        currently we are filling "namesz" without taking into the consideration
        the null character size.
      
      o Kexec-tools performs this check deligently hence I ran into the issue
        while trying to open /proc/kcore in kexec-tools for some info.
      Signed-off-by: default avatarVivek Goyal <vgoyal@in.ibm.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      632dd205
    • Andrew Morton's avatar
      [PATCH] expand_fdtable(): remove pointless unlock+lock · 327dcaad
      Andrew Morton authored
      This unlock/lock on a super-unlikely path isn't worth the kernel text.
      
      Cc: Vadim Lobanov <vlobanov@speakeasy.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      327dcaad
    • Vadim Lobanov's avatar
      [PATCH] Clean up expand_fdtable() and expand_files() · 74d392aa
      Vadim Lobanov authored
      Perform a code cleanup against the expand_fdtable() and expand_files()
      functions inside fs/file.c.  It aims to make the flow of code within these
      functions simpler and easier to understand, via added comments and modest
      refactoring.
      Signed-off-by: default avatarVadim Lobanov <vlobanov@speakeasy.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      74d392aa