Skip to content
Snippets Groups Projects
  1. Jun 17, 2011
    • Pavel Shved's avatar
      gigaset: call module_put before restart of if_open() · 2f9381e9
      Pavel Shved authored
      
      if_open() calls try_module_get(), and after an attempt to lock a mutex
      the if_open() function may return -ERESTARTSYS without
      putting the module.  Then, when if_open() is executed again,
      try_module_get() is called making the reference counter of THIS_MODULE
      greater than one at successful exit from if_open().  The if_close()
      function puts the module only once, and as a result it can't be
      unloaded.
      
      This patch adds module_put call before the return from if_open().
      
      Found by Linux Driver Verification project (linuxtesting.org).
      
      Signed-off-by: default avatarPavel Shved <shved@ispras.ru>
      Signed-off-by: default avatarDavid S. Miller <davem@conan.davemloft.net>
      2f9381e9
  2. Jun 11, 2011
  3. Jun 03, 2011
    • Linus Torvalds's avatar
      Revert "tty: make receive_buf() return the amout of bytes received" · 55db4c64
      Linus Torvalds authored
      
      This reverts commit b1c43f82.
      
      It was broken in so many ways, and results in random odd pty issues.
      
      It re-introduced the buggy schedule_work() in flush_to_ldisc() that can
      cause endless work-loops (see commit a5660b41: "tty: fix endless
      work loop when the buffer fills up").
      
      It also used an "unsigned int" return value fo the ->receive_buf()
      function, but then made multiple functions return a negative error code,
      and didn't actually check for the error in the caller.
      
      And it didn't actually work at all.  BenH bisected down odd tty behavior
      to it:
        "It looks like the patch is causing some major malfunctions of the X
         server for me, possibly related to PTYs.  For example, cat'ing a
         large file in a gnome terminal hangs the kernel for -minutes- in a
         loop of what looks like flush_to_ldisc/workqueue code, (some ftrace
         data in the quoted bits further down).
      
         ...
      
         Some more data: It -looks- like what happens is that the
         flush_to_ldisc work queue entry constantly re-queues itself (because
         the PTY is full ?) and the workqueue thread will basically loop
         forver calling it without ever scheduling, thus starving the consumer
         process that could have emptied the PTY."
      
      which is pretty much exactly the problem we fixed in a5660b41.
      
      Milton Miller pointed out the 'unsigned int' issue.
      
      Reported-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Reported-by: default avatarMilton Miller <miltonm@bga.com>
      Cc: Stefan Bigler <stefan.bigler@keymile.com>
      Cc: Toby Gray <toby.gray@realvnc.com>
      Cc: Felipe Balbi <balbi@ti.com>
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      55db4c64
  4. May 26, 2011
  5. May 25, 2011
    • Prarit Bhargava's avatar
      isdn: netjet - blacklist Digium TDM400P · 367bbf2a
      Prarit Bhargava authored
      
      [2nd try ... 1st attempt didn't make it to netdev mailing list]
      
      A quick google search reveals that people with this card are blacklisting it
      in the initramfs and in the module blacklist based on a statement that it
      is unsupported. Since the older Digium is also unsupported I'm pretty
      confident that this newer card is also not supported.
      
      lspci -xxx -vv shows
      
      04:07.0 Communication controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
              Subsystem: Device b100:0003
      P.
      
      ----8<----
      The Asterisk Voice Card, DIGIUM TDM400P is unsupported by the netjet driver.
      Blacklist it like the Digium X100P/X101P card.
      
      Signed-off-by: default avatarPrarit Bhargava <prarit@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      367bbf2a
  6. May 19, 2011
  7. May 13, 2011
  8. May 05, 2011
  9. Apr 22, 2011
  10. Apr 17, 2011
  11. Apr 06, 2011
  12. Apr 03, 2011
  13. Mar 31, 2011
  14. Mar 30, 2011
  15. Mar 17, 2011
  16. Feb 28, 2011
  17. Feb 17, 2011
  18. Feb 15, 2011
  19. Feb 13, 2011
  20. Feb 09, 2011
  21. Feb 01, 2011
    • Stefan Weil's avatar
      isdn: icn: Fix potentially wrong string handling · a29ae23f
      Stefan Weil authored
      
      This warning was reported by cppcheck:
      drivers/isdn/icn/icn.c:1641: error: Dangerous usage of 'rev' (strncpy doesn't always 0-terminate it)
      
      If strncpy copied 20 bytes, the destination string rev was not terminated.
      The patch adds one more byte to rev and makes sure that this byte is
      always 0.
      
      Cc: Karsten Keil <isdn@linux-pingi.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: netdev@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarStefan Weil <weil@mail.berlios.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a29ae23f
Loading