1. 16 Mar, 2012 4 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming · 9fc005c0
      Linus Torvalds authored
      Pull c6x bugfix from Mark Salter:
       "Remove dead code from entry.S which causes a build failure when using
        a newer assembler (v2.22 complains about it, v2.20 ignores it)."
      
      * tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
        C6X: remove dead code from entry.S
      9fc005c0
    • Anton Blanchard's avatar
      afs: Remote abort can cause BUG in rxrpc code · c0173863
      Anton Blanchard authored
      When writing files to afs I sometimes hit a BUG:
      
      kernel BUG at fs/afs/rxrpc.c:179!
      
      With a backtrace of:
      
      	afs_free_call
      	afs_make_call
      	afs_fs_store_data
      	afs_vnode_store_data
      	afs_write_back_from_locked_page
      	afs_writepages_region
      	afs_writepages
      
      The cause is:
      
      	ASSERT(skb_queue_empty(&call->rx_queue));
      
      Looking at a tcpdump of the session the abort happens because we
      are exceeding our disk quota:
      
      	rx abort fs reply store-data error diskquota exceeded (32)
      
      So the abort error is valid. We hit the BUG because we haven't
      freed all the resources for the call.
      
      By freeing any skbs in call->rx_queue before calling afs_free_call
      we avoid hitting leaking memory and avoid hitting the BUG.
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c0173863
    • Anton Blanchard's avatar
      afs: Read of file returns EBADMSG · 2c724fb9
      Anton Blanchard authored
      A read of a large file on an afs mount failed:
      
      # cat junk.file > /dev/null
      cat: junk.file: Bad message
      
      Looking at the trace, call->offset wrapped since it is only an
      unsigned short. In afs_extract_data:
      
              _enter("{%u},{%zu},%d,,%zu", call->offset, len, last, count);
      ...
      
              if (call->offset < count) {
                      if (last) {
                              _leave(" = -EBADMSG [%d < %zu]", call->offset, count);
                              return -EBADMSG;
                      }
      
      Which matches the trace:
      
      [cat   ] ==> afs_extract_data({65132},{524},1,,65536)
      [cat   ] <== afs_extract_data() = -EBADMSG [0 < 65536]
      
      call->offset went from 65132 to 0. Fix this by making call->offset an
      unsigned int.
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2c724fb9
    • Mark Salter's avatar
      C6X: remove dead code from entry.S · 6e780cf5
      Mark Salter authored
      The ENDPROC() on sys_fadvise64_c6x() in arch/c6x/kernel/entry.S is
      outside of the conditional block with the matching ENTRY() macro. This
      leads a newer (v2.22 vs. v2.20) assembler to complain:
      
        /tmp/ccGZBaPT.s: Assembler messages:
        /tmp/ccGZBaPT.s: Error: .size expression for sys_fadvise64_c6x does not evaluate to a constant
      
      The conditional block became dead code when c6x switched to generic
      unistd.h and should be removed along with the offending ENDPROC().
      Signed-off-by: default avatarMark Salter <msalter@redhat.com>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      6e780cf5
  2. 15 Mar, 2012 18 commits
  3. 14 Mar, 2012 11 commits
  4. 13 Mar, 2012 7 commits
    • Nicholas Bellinger's avatar
      iscsi-target: Fix reservation conflict -EBUSY response handling bug · 00fdc6bb
      Nicholas Bellinger authored
      This patch addresses a iscsi-target specific bug related to reservation conflict
      handling in iscsit_handle_scsi_cmd() that has been causing reservation conflicts
      to complete and not fail as expected due to incorrect errno checking.  The problem
      occured with the change to return -EBUSY from transport_generic_cmd_sequencer() ->
      transport_generic_allocate_tasks() failures, that broke iscsit_handle_scsi_cmd()
      checking for -EINVAL in order to invoke a non GOOD status response.
      
      This was manifesting itself as data corruption with legacy SPC-2 reservations,
      but also effects iscsi-target LUNs with SPC-3 persistent reservations.
      
      This bug was originally introduced in lio-core commit:
      
      commit 03e98c9e
      Author: Nicholas Bellinger <nab@linux-iscsi.org>
      Date:   Fri Nov 4 02:36:16 2011 -0700
      
          target: Address legacy PYX_TRANSPORT_* return code breakage
      Reported-by: default avatarMartin Svec <martin.svec@zoner.cz>
      Cc: Martin Svec <martin.svec@zoner.cz>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      00fdc6bb
    • Nicholas Bellinger's avatar
      target: Fix compatible reservation handling (CRH=1) with legacy RESERVE/RELEASE · 087a03b3
      Nicholas Bellinger authored
      This patch addresses a bug with target_check_scsi2_reservation_conflict()
      return checking in target_scsi2_reservation_[reserve,release]() that was
      preventing CRH=1 operation from silently succeeding in the two special
      cases defined by SPC-3, and not failing with reservation conflict status
      when dealing with legacy RESERVE/RELEASE + active SPC-3 PR logic.
      
      Also explictly set cmd->scsi_status = SAM_STAT_RESERVATION_CONFLICT during
      the early non reservation holder failure from pr_ops->t10_seq_non_holder()
      check in transport_generic_cmd_sequencer() for fabrics that already expect
      it to be set.
      
      This bug was originally introduced in mainline commit:
      
      commit eacac00c
      Author: Christoph Hellwig <hch@infradead.org>
      Date:   Thu Nov 3 17:50:40 2011 -0400
      
          target: split core_scsi2_emulate_crh
      Reported-by: default avatarMartin Svec <martin.svec@zoner.cz>
      Cc: Martin Svec <martin.svec@zoner.cz>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      087a03b3
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 762ad8a5
      Linus Torvalds authored
      Pull sparc updates from David Miller:
       "Please pull to get this fix for the sparc32 build when using a more
        recent binutils."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc32: Add -Av8 to assembler command line.
      762ad8a5
    • David S. Miller's avatar
      sparc32: Add -Av8 to assembler command line. · e0adb990
      David S. Miller authored
      Newer version of binutils are more strict about specifying the
      correct options to enable certain classes of instructions.
      
      The sparc32 build is done for v7 in order to support sun4c systems
      which lack hardware integer multiply and divide instructions.
      
      So we have to pass -Av8 when building the assembler routines that
      use these instructions and get patched into the kernel when we find
      out that we have a v8 capable cpu.
      Reported-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e0adb990
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · b8fa7d41
      Linus Torvalds authored
      Pull networking changes from David Miller:
       "The most important bit here is the TCP syncookies issue, which seems
        to have been busted for some time.  That fix has been verified in
        production by the reporter.
      
        1) Persistent TUN devices erroneously hold on to the network namespace
           in such a way that it cannot be shutdown.  Fix from Stanislav
           Kinsbursky with help from Eric Dumazet.
      
        2) TCP SYN cookies have been broken for a while due to how the route
           lookup flow key is managed, connections can be delayed by as much
           as 20 seconds due to this bug.  Fix from Eric Dumazet.
      
        3) Missing jiffies.h include in lib/dynamic_queue_limits.c can break
           the build, from Tom Herbert.
      
        4) Add USB device ID for Sitecom LN-031, from Joerg Neikes.
      
        5) Fix OOPS in delayed workqueue in iwlegacy, from Stanislaw Gruszka.
      
        6) rt2x00 TX queue can be disabled forever due to races, fix by
           synchronizing pause/unpause with a lock.  Also from Stanislaw
           Gruszka.
      
        7) Statistics and endian fix in bnx2x driver from Yuval Mintz, Eilon
           Greenstein, and Ariel Elior."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        tun: don't hold network namespace by tun sockets
        bnx2x: FCoE statistics id fixed
        bnx2x: dcb bit indices flags used as bits
        bnx2x: added cpu_to_le16 when preparing ramrod's data
        bnx2x: pfc statistics counts pfc events twice
        rt2x00: fix random stalls
        iwl3945: fix possible il->txq NULL pointer dereference in delayed works
        dql: Fix undefined jiffies
        tcp: fix syncookie regression
        usb: asix: Patch for Sitecom LN-031
      b8fa7d41
    • Linus Torvalds's avatar
      Merge branch 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · 69539ab1
      Linus Torvalds authored
      Pull arch/tile update from Chris Metcalf
       "These include a couple of queued-up minor bug fixes from the
        community, a fix to unbreak the sysfs hooks in tile, and syncing up
        the defconfigs."
      
      Ugh.  defconfigs updates without "make minconfig".  Tons of ugly
      pointless lines there, I suspect.
      
      * 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        tile: Use set_current_blocked() and block_sigmask()
        arch/tile: misplaced parens near likely
        arch/tile: sync up the defconfig files to the tip
        arch/tile: Fix up from commit 8a25a2fd
      69539ab1
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0a49aeca
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar.
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf record: Fix buffer overrun bug in tracepoint_id_to_path()
        perf/x86: Fix local vs remote memory events for NHM/WSM
      0a49aeca