16 Nov, 2009

1 commit


23 Oct, 2009

1 commit

  • There's a circular locking dependency:

    ---> isdn_net_get_locked_lp
        --->lock &nd->queue_lock
        --->lock &nd->queue->xmit_lock
        .....................
        ---->unlock &nd->queue_lock

    ---> isdn_net_writebuf_skb (called with &nd->queue->xmit_lock locked)
        ---->isdn_net_inc_frame_cnt
             ---->isdn_net_device_busy
                  ----> lock &nd->queue_lock

    This will trigger lockdep warnings:

     =======================================================
     [ INFO: possible circular locking dependency detected ]
     2.6.32-rc4-testing #7
     -------------------------------------------------------
     ipppd/28379 is trying to acquire lock:
     (&netdev->queue_lock){......}, at: [] isdn_net_device_busy+0x2c/0x74 [isdn]

     but task is already holding lock:
     (&netdev->local->xmit_lock){+.....}, at: [] isdn_net_write_super+0x3f/0x6e [isdn]

     which lock already depends on the new lock.
    .......

    We don't need to lock nd->queue->xmit_lock to protect single
    isdn_net_lp_busy(). This can fix above lockdep warnings.

    Reported-and-tested-by: Tilman Schmidt
    Signed-off-by: Xiaotian Feng
    Signed-off-by: David S. Miller

    Xiaotian Feng
     

29 Sep, 2009

1 commit

  • Commit cb3824bade2549d7ad059d5802da43312540fdee didn't fix this problem.

    Fix build errors in netjet, using isdnhdlc module:

    drivers/built-in.o: In function `mode_tiger':
    netjet.c:(.text+0x1ca0c7): undefined reference to `isdnhdlc_rcv_init'
    netjet.c:(.text+0x1ca0d4): undefined reference to `isdnhdlc_out_init'
    drivers/built-in.o: In function `fill_dma':
    netjet.c:(.text+0x1ca2bd): undefined reference to `isdnhdlc_encode'
    drivers/built-in.o: In function `read_dma':
    netjet.c:(.text+0x1ca614): undefined reference to `isdnhdlc_decode'
    drivers/built-in.o: In function `nj_irq':
    netjet.c:(.text+0x1cb07a): undefined reference to `isdnhdlc_encode'

    drivers/built-in.o: In function `isdnhdlc_decode':
    (.text+0x1c2088): undefined reference to `crc_ccitt_table'
    drivers/built-in.o: In function `isdnhdlc_encode':
    (.text+0x1c2339): undefined reference to `crc_ccitt_table'

    Signed-off-by: Randy Dunlap
    Signed-off-by: David S. Miller

    Randy Dunlap
     

21 Sep, 2009

1 commit


01 Sep, 2009

1 commit


13 Aug, 2009

1 commit


26 Jul, 2009

4 commits


13 Jul, 2009

1 commit

  • * Remove smp_lock.h from files which don't need it (including some headers!)
    * Add smp_lock.h to files which do need it
    * Make smp_lock.h include conditional in hardirq.h
    It's needed only for one kernel_locked() usage which is under CONFIG_PREEMPT

    This will make hardirq.h inclusion cheaper for every PREEMPT=n config
    (which includes allmodconfig/allyesconfig, BTW)

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

06 Jul, 2009

2 commits


17 Jun, 2009

1 commit

  • Fix up remaining drivers returning a magic or an errno value from their
    ndo_start_xmit() functions that were missed in the first pass:

    - isdn_net: missed conversion
    - bpqether: missed conversion: skb is freed, so return NETDEV_TX_OK
    - hp100: intention appears to be to resubmit skb once resources are
    available, but due to no queue handling it is dropped for now.
    - lapbether: skb is freed, so return NETDEV_TX_OK

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     

13 Jun, 2009

1 commit


12 Jun, 2009

1 commit


18 May, 2009

1 commit


27 Jan, 2009

1 commit

  • The following patch fixes a warning caused by a missing ifdef in
    isdn_ppp.c. A function was defined, but never used if CONFIG_IPPP_FILTER
    was not defined.

    The warning was: 'get_filter' defined but not used
    Patch is against 2.6.28.1

    Signed-off-by: Daniele Venzano
    Acked-by: Karsten Keil
    Signed-off-by: David S. Miller

    Daniele Venzano
     

15 Jan, 2009

2 commits

  • Minor cleanups, either made possible or obvious after commit d700555 (I4l:
    convert to net_device_ops).

    Signed-off-by: Paul Bolle
    Signed-off-by: David S. Miller

    Paul Bolle
     
  • When an i4l ppp interface is shut down (e.g. with /sbin/ifdown ippp0) a
    scary warning is logged:

    isdn_free_channel: called with invalid drv(-1) or channel(-1)

    This warning is caused by isdn_net_unbind_channel(), which always calls
    isdn_free_channel() even if isdn_net_local->isdn_device and
    isdn_net_local->isdn_channel are (still) in a perfectly acceptable
    default state, so let's not do that.

    Signed-off-by: Paul Bolle
    Signed-off-by: David S. Miller

    Paul Bolle
     

08 Jan, 2009

1 commit


04 Dec, 2008

1 commit


20 Nov, 2008

1 commit


19 Nov, 2008

1 commit


17 Nov, 2008

1 commit


14 Nov, 2008

1 commit

  • They would have been better named as get_be16, put_be16, etc.
    as they were hiding an endian shift inside.

    They don't add much over explicitly coding the byteshifting
    and gcc sometimes has a problem with builtin_constant_p inside
    inline functions, so it may do a better job of byteswapping
    at compile time rather than runtime.

    Signed-off-by: Harvey Harrison
    Signed-off-by: David S. Miller

    Harvey Harrison
     

30 Oct, 2008

1 commit


22 Sep, 2008

1 commit


18 Jul, 2008

1 commit


15 Jul, 2008

1 commit


13 Jul, 2008

1 commit

  • Coverity CID: 1356 RESOURCE_LEAK

    I found a very old patch for this that was Acked but did not get applied
    https://lists.linux-foundation.org/pipermail/kernel-janitors/2006-September/016362.html

    There looks to be a small leak in isdn_writebuf_stub() in isdn_common.c, when
    copy_from_user() returns an un-copied data length (length != 0). The below
    patch should be a minimally invasive fix.

    Signed-off-by: Darren Jenkins
    Acked-by: Karsten Keil
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Darren Jenkins
     

09 Jul, 2008

2 commits


21 Jun, 2008

1 commit


30 Apr, 2008

2 commits

  • - Stop drivers calling their own flush method indirectly, it obfuscates code
    and it will change soon anyway

    - A few more lock_kernel paths temporarily needed in some driver internal
    waiting code

    - Remove private put_char method that does a write call for one char - we
    have that anyway

    - Most but not yet all of the termios copy under lock fixing (some has other
    dependencies to follow)

    - Note a few locking bugs in drivers found in the process

    - Kill remaining [ab]users of TIOCG/SSOFTCAR in the driver, these must go to
    fix the termios locking

    Signed-off-by: Alan Cox
    Cc: Jiri Slaby
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Three things here
    - Remove softcar handler
    - Correct termios change detection logic
    - Wrap break/ioctl in lock_kernel ready to drop it in the caller

    Signed-off-by: Alan Cox
    Cc: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     

28 Apr, 2008

1 commit


14 Apr, 2008

1 commit


13 Mar, 2008

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)
    [SCTP]: Fix local_addr deletions during list traversals.
    net: fix build with CONFIG_NET=n
    [TCP]: Prevent sending past receiver window with TSO (at last skb)
    rt2x00: Add new D-Link USB ID
    rt2x00: never disable multicast because it disables broadcast too
    libertas: fix the 'compare command with itself' properly
    drivers/net/Kconfig: fix whitespace for GELIC_WIRELESS entry
    [NETFILTER]: nf_queue: don't return error when unregistering a non-existant handler
    [NETFILTER]: nfnetlink_queue: fix EPERM when binding/unbinding and instance 0 exists
    [NETFILTER]: nfnetlink_log: fix EPERM when binding/unbinding and instance 0 exists
    [NETFILTER]: nf_conntrack: replace horrible hack with ksize()
    [NETFILTER]: nf_conntrack: add \n to "expectation table full" message
    [NETFILTER]: xt_time: fix failure to match on Sundays
    [NETFILTER]: nfnetlink_log: fix computation of netlink skb size
    [NETFILTER]: nfnetlink_queue: fix computation of allocated size for netlink skb.
    [NETFILTER]: nfnetlink: fix ifdef in nfnetlink_compat.h
    [NET]: include into linux/ethtool.h for __u* typedef
    [NET]: Make /proc/net a symlink on /proc/self/net (v3)
    RxRPC: fix rxrpc_recvmsg()'s returning of msg_name
    net/enc28j60: oops fix
    ...

    Linus Torvalds
     

06 Mar, 2008

1 commit