1. Oct 12, 2012
    • Arnd Bergmann's avatar
      tty/console: fix warnings in drivers/tty/serial/kgdboc.c · f2f0945e
      Arnd Bergmann authored
      
      
      The con_debug_leave/con_debug_enter functions are stubbed out
      by defining them to (0), which causes harmless build warnings.
      Using proper inline functions is the normal way to deal with
      this.
      
      Without this patch, building the ARM bcm2835_defconfig results in:
      
      drivers/tty/serial/kgdboc.c: In function 'kgdboc_pre_exp_handler':
      drivers/tty/serial/kgdboc.c:279:3: warning: statement with no effect [-Wunused-value]
      drivers/tty/serial/kgdboc.c: In function 'kgdboc_post_exp_handler':
      drivers/tty/serial/kgdboc.c:293:3: warning: statement with no effect [-Wunused-value]
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Anton Vorontsov <anton.vorontsov@linaro.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      f2f0945e
    • Jason Wessel's avatar
      kdb,vt_console: Fix missed data due to pager overruns · 17b572e8
      Jason Wessel authored
      
      
      It is possible to miss data when using the kdb pager.  The kdb pager
      does not pay attention to the maximum column constraint of the screen
      or serial terminal.  This result is not incrementing the shown lines
      correctly and the pager will print more lines that fit on the screen.
      Obviously that is less than useful when using a VGA console where you
      cannot scroll back.
      
      The pager will now look at the kdb_buffer string to see how many
      characters are printed.  It might not be perfect considering you can
      output ASCII that might move the cursor position, but it is a
      substantially better approximation for viewing dmesg and trace logs.
      
      This also means that the vt screen needs to set the kdb COLUMNS
      variable.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      17b572e8
    • Jason Wessel's avatar
      kdb: Fix dmesg/bta scroll to quit with 'q' · d1871b38
      Jason Wessel authored
      
      
      If you press 'q' the pager should exit instead of printing everything
      from dmesg which can really bog down a 9600 baud serial link.
      
      The same is true for the bta command.
      
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      d1871b38
    • Jason Wessel's avatar
      kgdboc: Accept either kbd or kdb to activate the vga + keyboard kdb shell · 24b8592e
      Jason Wessel authored
      
      
      It is a common enough mistake for people to specify "kdb" when they
      meant to type "kbd" that the kgdboc can just accept both since they
      both mean the same thing anyway.  Specifically it is for the case
      where you want kdb to be active on your graphics console + keyboard
      (where kbd was the original abbreviation for keyboard).
      
      With this change kgdboc will now accept either to mean the same thing:
         kgdboc=kbd
         kgdboc=kdb
      
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      24b8592e
    • Jason Wessel's avatar
      kgdb,x86: fix warning about unused variable · 42c12213
      Jason Wessel authored
      
      
      When compiling without CONFIG_DEBUG_RODATA the following
      compiler warning is generated:
      
      arch/x86/kernel/kgdb.c: In function 'kgdb_arch_set_breakpoint':
      arch/x86/kernel/kgdb.c:749: warning: unused variable 'opc'
      
      The variable instantiation needs to be inside the #ifdef to
      make the warning go away.
      
      Reported-by: default avatarThiago Rafael Becker <trbecker@trbecker.org>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      42c12213
    • Jason Wessel's avatar
      mips,kgdb: fix recursive page fault with CONFIG_KPROBES · f0a996ee
      Jason Wessel authored
      
      
      This fault was detected using the kgdb test suite on boot and it
      crashes recursively due to the fact that CONFIG_KPROBES on mips adds
      an extra die notifier in the page fault handler.  The crash signature
      looks like this:
      
      kgdbts:RUN bad memory access test
      KGDB: re-enter exception: ALL breakpoints killed
      Call Trace:
      [<807b7548>] dump_stack+0x20/0x54
      [<807b7548>] dump_stack+0x20/0x54
      
      The fix for now is to have kgdb return immediately if the fault type
      is DIE_PAGE_FAULT and allow the kprobe code to decide what is supposed
      to happen.
      
      Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      f0a996ee
    • Jason Wessel's avatar
      kgdb: Add module event hooks · f30fed10
      Jason Wessel authored
      
      
      Allow gdb to auto load kernel modules when it is attached,
      which makes it trivially easy to debug module init functions
      or pre-set breakpoints in a kernel module that has not loaded yet.
      
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      f30fed10
  2. Oct 01, 2012
  3. Sep 30, 2012
    • Miklos Szeredi's avatar
      vfs: dcache: fix deadlock in tree traversal · 8110e16d
      Miklos Szeredi authored
      
      
      IBM reported a deadlock in select_parent().  This was found to be caused
      by taking rename_lock when already locked when restarting the tree
      traversal.
      
      There are two cases when the traversal needs to be restarted:
      
       1) concurrent d_move(); this can only happen when not already locked,
          since taking rename_lock protects against concurrent d_move().
      
       2) racing with final d_put() on child just at the moment of ascending
          to parent; rename_lock doesn't protect against this rare race, so it
          can happen when already locked.
      
      Because of case 2, we need to be able to handle restarting the traversal
      when rename_lock is already held.  This patch fixes all three callers of
      try_to_ascend().
      
      IBM reported that the deadlock is gone with this patch.
      
      [ I rewrote the patch to be smaller and just do the "goto again" if the
        lock was already held, but credit goes to Miklos for the real work.
         - Linus ]
      
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
      Cc: Al Viro <viro@ZenIV.linux.org.uk>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8110e16d
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v3.6-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 6a3e3dbe
      Linus Torvalds authored
      Pull IOMMU fixes from Joerg Roedel:
       "Two small patches:
      
      	* One patch to fix the function declarations for
      	  !CONFIG_IOMMU_API. This is causing build errors
      	  in linux-next and should be fixed for v3.6.
      
      	* Another patch to fix an IOMMU group related NULL pointer
      	  dereference."
      
      * tag 'iommu-fixes-v3.6-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/amd: Fix wrong assumption in iommu-group specific code
        iommu: static inline iommu group stub functions
      6a3e3dbe
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/users/willy/linux-nvme · 21e98932
      Linus Torvalds authored
      Pull NVMe driver fixes from Matthew Wilcox:
       "Now that actual hardware has been released (don't have any yet
        myself), people are starting to want some of these fixes merged."
      
      Willy doesn't have hardware? Guys...
      
      * git://git.infradead.org/users/willy/linux-nvme:
        NVMe: Cancel outstanding IOs on queue deletion
        NVMe: Free admin queue memory on initialisation failure
        NVMe: Use ida for nvme device instance
        NVMe: Fix whitespace damage in nvme_init
        NVMe: handle allocation failure in nvme_map_user_pages()
        NVMe: Fix uninitialized iod compiler warning
        NVMe: Do not set IO queue depth beyond device max
        NVMe: Set block queue max sectors
        NVMe: use namespace id for nvme_get_features
        NVMe: replace nvme_ns with nvme_dev for user admin
        NVMe: Fix nvme module init when nvme_major is set
        NVMe: Set request queue logical block size
      21e98932
  4. Sep 29, 2012
    • Linus Torvalds's avatar
      mtdchar: fix offset overflow detection · 9c603e53
      Linus Torvalds authored
      
      
      Sasha Levin has been running trinity in a KVM tools guest, and was able
      to trigger the BUG_ON() at arch/x86/mm/pat.c:279 (verifying the range of
      the memory type).  The call trace showed that it was mtdchar_mmap() that
      created an invalid remap_pfn_range().
      
      The problem is that mtdchar_mmap() does various really odd and subtle
      things with the vma page offset etc, and uses the wrong types (and the
      wrong overflow) detection for it.
      
      For example, the page offset may well be 32-bit on a 32-bit
      architecture, but after shifting it up by PAGE_SHIFT, we need to use a
      potentially 64-bit resource_size_t to correctly hold the full value.
      
      Also, we need to check that the vma length plus offset doesn't overflow
      before we check that it is smaller than the length of the mtdmap region.
      
      This fixes things up and tries to make the code a bit easier to read.
      
      Reported-and-tested-by: default avatarSasha Levin <levinsasha928@gmail.com>
      Acked-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
      Acked-by: default avatarArtem Bityutskiy <dedekind1@gmail.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: linux-mtd@lists.infradead.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9c603e53
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 6672d90f
      Linus Torvalds authored
      Pull networking fixes from David S Miller:
      
       1) Netfilter xt_limit module can use uninitialized rules, from Jan
          Engelhardt.
      
       2) Wei Yongjun has found several more spots where error pointers were
          treated as NULL/non-NULL and vice versa.
      
       3) bnx2x was converted to pci_io{,un}map() but one remaining plain
          iounmap() got missed.  From Neil Horman.
      
       4) Due to a fence-post type error in initialization of inetpeer entries
          (which is where we store the ICMP rate limiting information), we can
          erroneously drop ICMPs if the inetpeer was created right around when
          jiffies wraps.
      
          Fix from Nicolas Dichtel.
      
       5) smsc75xx resume fix from Steve Glendinnig.
      
       6) LAN87xx smsc chips need an explicit hardware init, from Marek Vasut.
      
       7) qlcnic uses msleep() with locks held, fix from Narendra K.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        netdev: octeon: fix return value check in octeon_mgmt_init_phy()
        inetpeer: fix token initialization
        qlcnic: Fix scheduling while atomic bug
        bnx2: Clean up remaining iounmap
        net: phy: smsc: Implement PHY config_init for LAN87xx
        smsc75xx: fix resume after device reset
        netdev: pasemi: fix return value check in pasemi_mac_phy_init()
        team: fix return value check
        l2tp: fix return value check
        netfilter: xt_limit: have r->cost != 0 case work
      6672d90f
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 7596824e
      Linus Torvalds authored
      Pull vfs fixes from Al Viro:
       "A couple of fixes; one for automount/lazy umount race, another a
        classic "we don't protect the refcount transition to zero with the
        lock that protects looking for object in hash" kind of crap in lockd."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        close the race in nlmsvc_free_block()
        do_add_mount()/umount -l races
      7596824e
    • Linus Torvalds's avatar
      Merge branch 'for-linus-3.6-rc-final' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · 97956605
      Linus Torvalds authored
      Pull UML fixes from Richard Weinberger.
      
      * 'for-linus-3.6-rc-final' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: Preinclude include/linux/kern_levels.h
        um: Fix IPC on um
        um: kill thread->forking
        um: let signal_delivered() do SIGTRAP on singlestepping into handler
        um: don't leak floating point state and segment registers on execve()
        um: take cleaning singlestep to start_thread()
      97956605
    • Linus Torvalds's avatar
      Merge tag 'dm-3.6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm · c3a086e6
      Linus Torvalds authored
      Pull dm fixes from Alasdair G Kergon:
       "A few fixes for problems discovered during the 3.6 cycle.
      
        Of particular note, are fixes to the thin target's discard support,
        which I hope is finally working correctly; and fixes for multipath
        ioctls and device limits when there are no paths."
      
      * tag 'dm-3.6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm:
        dm verity: fix overflow check
        dm thin: fix discard support for data devices
        dm thin: tidy discard support
        dm: retain table limits when swapping to new table with no devices
        dm table: clear add_random unless all devices have it set
        dm: handle requests beyond end of device instead of using BUG_ON
        dm mpath: only retry ioctl when no paths if queue_if_no_path set
        dm thin: do not set discard_zeroes_data
      c3a086e6
  5. Sep 28, 2012