09 Jun, 2012

2 commits

  • [ Upstream commit e0268868ba064980488fc8c194db3d8e9fb2959c ]

    dst_check() will take care of SA (and obsolete field), hence
    IPsec rekeying scenario is taken into account.

    Signed-off-by: Nicolas Dichtel
    Acked-by: Vlad Yaseivch
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Nicolas Dichtel
     
  • [ Upstream commit 0c1833797a5a6ec23ea9261d979aa18078720b74 ]

    Since commit ad0081e43a
    "ipv6: Fragment locally generated tunnel-mode IPSec6 packets as needed"
    the fragment of packets is incorrect.
    because tunnel mode needs IPsec headers and trailer for all fragments,
    while on transport mode it is sufficient to add the headers to the
    first fragment and the trailer to the last.

    so modify mtu and maxfraglen base on ipsec mode and if fragment is first
    or last.

    with my test,it work well(every fragment's size is the mtu)
    and does not trigger slow fragment path.

    Changes from v1:
    though optimization, mtu_prev and maxfraglen_prev can be delete.
    replace xfrm mode codes with dst_entry's new frag DST_XFRM_TUNNEL.
    add fuction ip6_append_data_mtu to make codes clearer.

    Signed-off-by: Gao feng
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Gao feng
     

23 Apr, 2012

1 commit

  • commit 94324962066231a938564bebad0f941cd2d06bb2 upstream.

    Make sure hci_dev_open returns immediately if hci_dev_unregister has
    been called.

    This fixes a race between hci_dev_open and hci_dev_unregister which can
    lead to a NULL-pointer dereference.

    Bug is 100% reproducible using hciattach and a disconnected serial port:

    0. # hciattach -n /dev/ttyO1 any noflow

    1. hci_dev_open called from hci_power_on grabs req lock
    2. hci_init_req executes but device fails to initialise (times out
    eventually)
    3. hci_dev_open is called from hci_sock_ioctl and sleeps on req lock
    4. hci_uart_tty_close calls hci_dev_unregister and sleeps on req lock in
    hci_dev_do_close
    5. hci_dev_open (1) releases req lock
    6. hci_dev_do_close grabs req lock and returns as device is not up
    7. hci_dev_unregister sleeps in destroy_workqueue
    8. hci_dev_open (3) grabs req lock, calls hci_init_req and eventually sleeps
    9. hci_dev_unregister finishes, while hci_dev_open is still running...

    [ 79.627136] INFO: trying to register non-static key.
    [ 79.632354] the code is fine but needs lockdep annotation.
    [ 79.638122] turning off the locking correctness validator.
    [ 79.643920] [] (unwind_backtrace+0x0/0xf8) from [] (__lock_acquire+0x1590/0x1ab0)
    [ 79.653594] [] (__lock_acquire+0x1590/0x1ab0) from [] (lock_acquire+0x9c/0x128)
    [ 79.663085] [] (lock_acquire+0x9c/0x128) from [] (run_timer_softirq+0x150/0x3ac)
    [ 79.672668] [] (run_timer_softirq+0x150/0x3ac) from [] (__do_softirq+0xd4/0x22c)
    [ 79.682281] [] (__do_softirq+0xd4/0x22c) from [] (irq_exit+0x8c/0x94)
    [ 79.690856] [] (irq_exit+0x8c/0x94) from [] (handle_IRQ+0x34/0x84)
    [ 79.699157] [] (handle_IRQ+0x34/0x84) from [] (omap3_intc_handle_irq+0x48/0x4c)
    [ 79.708648] [] (omap3_intc_handle_irq+0x48/0x4c) from [] (__irq_usr+0x3c/0x60)
    [ 79.718048] Exception stack(0xcf281fb0 to 0xcf281ff8)
    [ 79.723358] 1fa0: 0001e6a0 be8dab00 0001e698 00036698
    [ 79.731933] 1fc0: 0002df98 0002df38 0000001f 00000000 b6f234d0 00000000 00000004 00000000
    [ 79.740509] 1fe0: 0001e6f8 be8d6aa0 be8dac50 0000aab8 80000010 ffffffff
    [ 79.747497] Unable to handle kernel NULL pointer dereference at virtual address 00000000
    [ 79.756011] pgd = cf3b4000
    [ 79.758850] [00000000] *pgd=8f0c7831, *pte=00000000, *ppte=00000000
    [ 79.765502] Internal error: Oops: 80000007 [#1]
    [ 79.770294] Modules linked in:
    [ 79.773529] CPU: 0 Tainted: G W (3.3.0-rc6-00002-gb5d5c87 #421)
    [ 79.781066] PC is at 0x0
    [ 79.783721] LR is at run_timer_softirq+0x16c/0x3ac
    [ 79.788787] pc : [] lr : [] psr: 60000113
    [ 79.788787] sp : cf281ee0 ip : 00000000 fp : cf280000
    [ 79.800903] r10: 00000004 r9 : 00000100 r8 : b6f234d0
    [ 79.806427] r7 : c0519c28 r6 : cf093488 r5 : c0561a00 r4 : 00000000
    [ 79.813323] r3 : 00000000 r2 : c054eee0 r1 : 00000001 r0 : 00000000
    [ 79.820190] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
    [ 79.827728] Control: 10c5387d Table: 8f3b4019 DAC: 00000015
    [ 79.833801] Process gpsd (pid: 1265, stack limit = 0xcf2802e8)
    [ 79.839965] Stack: (0xcf281ee0 to 0xcf282000)
    [ 79.844573] 1ee0: 00000002 00000000 c0040a24 00000000 00000002 cf281f08 00200200 00000000
    [ 79.853210] 1f00: 00000000 cf281f18 cf281f08 00000000 00000000 00000000 cf281f18 cf281f18
    [ 79.861816] 1f20: 00000000 00000001 c056184c 00000000 00000001 b6f234d0 c0561848 00000004
    [ 79.870452] 1f40: cf280000 c003a3b8 c051e79c 00000001 00000000 00000100 3fa9e7b8 0000000a
    [ 79.879089] 1f60: 00000025 cf280000 00000025 00000000 00000000 b6f234d0 00000000 00000004
    [ 79.887756] 1f80: 00000000 c003a924 c053ad38 c0013a50 fa200000 cf281fb0 ffffffff c0008530
    [ 79.896362] 1fa0: 0001e6a0 0000aab8 80000010 c037499c 0001e6a0 be8dab00 0001e698 00036698
    [ 79.904998] 1fc0: 0002df98 0002df38 0000001f 00000000 b6f234d0 00000000 00000004 00000000
    [ 79.913665] 1fe0: 0001e6f8 be8d6aa0 be8dac50 0000aab8 80000010 ffffffff 00fbf700 04ffff00
    [ 79.922302] [] (run_timer_softirq+0x16c/0x3ac) from [] (__do_softirq+0xd4/0x22c)
    [ 79.931945] [] (__do_softirq+0xd4/0x22c) from [] (irq_exit+0x8c/0x94)
    [ 79.940582] [] (irq_exit+0x8c/0x94) from [] (handle_IRQ+0x34/0x84)
    [ 79.948913] [] (handle_IRQ+0x34/0x84) from [] (omap3_intc_handle_irq+0x48/0x4c)
    [ 79.958404] [] (omap3_intc_handle_irq+0x48/0x4c) from [] (__irq_usr+0x3c/0x60)
    [ 79.967773] Exception stack(0xcf281fb0 to 0xcf281ff8)
    [ 79.973083] 1fa0: 0001e6a0 be8dab00 0001e698 00036698
    [ 79.981658] 1fc0: 0002df98 0002df38 0000001f 00000000 b6f234d0 00000000 00000004 00000000
    [ 79.990234] 1fe0: 0001e6f8 be8d6aa0 be8dac50 0000aab8 80000010 ffffffff
    [ 79.997161] Code: bad PC value
    [ 80.000396] ---[ end trace 6f6739840475f9ee ]---
    [ 80.005279] Kernel panic - not syncing: Fatal exception in interrupt

    Signed-off-by: Johan Hovold
    Acked-by: Marcel Holtmann
    Signed-off-by: Johan Hedberg
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     

01 Mar, 2012

3 commits

  • [ Upstream commit e6b45241c57a83197e5de9166b3b0d32ac562609 ]

    Eric Dumazet found that commit 813b3b5db83
    (ipv4: Use caller's on-stack flowi as-is in output
    route lookups.) that comes in 3.0 added a regression.
    The problem appears to be that resulting flowi4_oif is
    used incorrectly as input parameter to some routing lookups.
    The result is that when connecting to local port without
    listener if the IP address that is used is not on a loopback
    interface we incorrectly assign RTN_UNICAST to the output
    route because no route is matched by oif=lo. The RST packet
    can not be sent immediately by tcp_v4_send_reset because
    it expects RTN_LOCAL.

    So, change ip_route_connect and ip_route_newports to
    update the flowi4 fields that are input parameters because
    we do not want unnecessary binding to oif.

    To make it clear what are the input parameters that
    can be modified during lookup and to show which fields of
    floiw4 are reused add a new function to update the flowi4
    structure: flowi4_update_output.

    Thanks to Yurij M. Plotnikov for providing a bug report including a
    program to reproduce the problem.

    Thanks to Eric Dumazet for tracking the problem down to
    tcp_v4_send_reset and providing initial fix.

    Reported-by: Yurij M. Plotnikov
    Signed-off-by: Julian Anastasov
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Julian Anastasov
     
  • [ Upstream commit ac8a48106be49c422575ddc7531b776f8eb49610 ]

    We can not update iph->daddr in ip_options_rcv_srr(), It is too early.
    When some exception ocurred later (eg. in ip_forward() when goto
    sr_failed) we need the ip header be identical to the original one as
    ICMP need it.

    Add a field 'nexthop' in struct ip_options to save nexthop of LSRR
    or SSRR option.

    Signed-off-by: Li Wei
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Li Wei
     
  • [ Upstream commit 16bda13d90c8d5da243e2cfa1677e62ecce26860 ]

    Just like skb->cb[], so that qdisc_skb_cb can be encapsulated inside
    of other data structures.

    This is intended to be used by IPoIB so that it can remember
    addressing information stored at hard_header_ops->create() time that
    it can fetch when the packet gets to the transmit routine.

    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    David S. Miller
     

14 Feb, 2012

1 commit

  • [ Upstream commit d3aaeb38c40e5a6c08dd31a1b64da65c4352be36, along
    with dependent backports of commits:
    69cce1d1404968f78b177a0314f5822d5afdbbfb
    9de79c127cccecb11ae6a21ab1499e87aa222880
    218fa90f072e4aeff9003d57e390857f4f35513e
    580da35a31f91a594f3090b7a2c39b85cb051a12
    f7e57044eeb1841847c24aa06766c8290c202583
    e049f28883126c689cf95859480d9ee4ab23b7fa ]

    Gergely Kalman reported crashes in check_peer_redir().

    It appears commit f39925dbde778 (ipv4: Cache learned redirect
    information in inetpeer.) added a race, leading to possible NULL ptr
    dereference.

    Since we can now change dst neighbour, we should make sure a reader can
    safely use a neighbour.

    Add RCU protection to dst neighbour, and make sure check_peer_redir()
    can be called safely by different cpus in parallel.

    As neighbours are already freed after one RCU grace period, this patch
    should not add typical RCU penalty (cache cold effects)

    Many thanks to Gergely for providing a pretty report pointing to the
    bug.

    Reported-by: Gergely Kalman
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Eric Dumazet
     

04 Feb, 2012

1 commit

  • [ Upstream commit 5ee4433efe99b9f39f6eff5052a177bbcfe72cea ]

    By definition net_generic should never be called when it can return
    NULL. Fail conspicously with a BUG_ON to make it clear when people mess
    up that a NULL return should never happen.

    Recently there was a bug in the CAIF subsystem where it was registered
    with register_pernet_device instead of register_pernet_subsys. It was
    erroneously concluded that net_generic could validly return NULL and
    that net_assign_generic was buggy (when it was just inefficient).
    Hopefully this BUG_ON will prevent people to coming to similar erroneous
    conclusions in the futrue.

    Signed-off-by: Eric W. Biederman
    Tested-by: Sasha Levin
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     

07 Jan, 2012

1 commit

  • [ Upstream commit 2692ba61a82203404abd7dd2a027bda962861f74 ]

    Commit 8ffd3208 voids the previous patches f6778aab and 810c0719 for
    limiting the autoclose value. If userspace passes in -1 on 32-bit
    platform, the overflow check didn't work and autoclose would be set
    to 0xffffffff.

    This patch defines a max_autoclose (in seconds) for limiting the value
    and exposes it through sysctl, with the following intentions.

    1) Avoid overflowing autoclose * HZ.

    2) Keep the default autoclose bound consistent across 32- and 64-bit
    platforms (INT_MAX / HZ in this patch).

    3) Keep the autoclose value consistent between setsockopt() and
    getsockopt() calls.

    Suggested-by: Vlad Yasevich
    Signed-off-by: Xi Wang
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Xi Wang
     

12 Nov, 2011

2 commits


17 Oct, 2011

1 commit

  • This patch fixes the issue caused by ef81bb40bf15f350fe865f31fa42f1082772a576
    which is a backport of upstream 87c48fa3b4630905f98268dde838ee43626a060c. The
    problem does not exist in upstream.

    We do not check whether route is attached before trying to assign ip
    identification through route dest which lead NULL pointer dereference. This
    happens when host bridge transmit a packet from guest.

    This patch changes ipv6_select_ident() to accept in6_addr as its paramter and
    fix the issue by using the destination address in ipv6 header when no route is
    attached.

    Signed-off-by: Jason Wang
    Acked-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Jason Wang
     

04 Oct, 2011

2 commits

  • commit 51b8b4fb32271d39fbdd760397406177b2b0fd36 upstream.

    Signed-off-by: Jim Garlick
    Signed-off-by: Aneesh Kumar K.V
    Signed-off-by: Harsh Prateek Bora
    Signed-off-by: Greg Kroah-Hartman

    Jim Garlick
     
  • commit f88657ce3f9713a0c62101dffb0e972a979e77b9 upstream.

    Some of the flags are OS/arch dependent we add a 9p
    protocol value which maps to asm-generic/fcntl.h values in Linux
    Based on the original patch from Venkateswararao Jujjuri

    [extra comments from author as to why this needs to go to stable:

    Earlier for different operation such as open we used the values of open
    flag as defined by the OS. But some of these flags such as O_DIRECT are
    arch dependent. So if we have the 9p client and server running on
    different architectures, we end up with client sending client
    architecture value of these open flag and server will try to map these
    values to what its architecture states. For ex: O_DIRECT on a x86 client
    maps to

    #define O_DIRECT 00040000

    Where as on sparc server it will maps to

    #define O_DIRECT 0x100000

    Hence we need to map these open flags to OS/arch independent flag
    values. Getting these changes to an early version of kernel ensures us
    that we work with different combination of client and server. We should
    ideally backport this patch to all possible kernel version.]

    Signed-off-by: Aneesh Kumar K.V
    Signed-off-by: Harsh Prateek Bora
    Signed-off-by: Greg Kroah-Hartman

    Aneesh Kumar K.V
     

16 Aug, 2011

2 commits

  • [ Backport of upstream commit 87c48fa3b4630905f98268dde838ee43626a060c ]

    Fernando Gont reported current IPv6 fragment identification generation
    was not secure, because using a very predictable system-wide generator,
    allowing various attacks.

    IPv4 uses inetpeer cache to address this problem and to get good
    performance. We'll use this mechanism when IPv6 inetpeer is stable
    enough in linux-3.1

    For the time being, we use jhash on destination address to provide less
    predictable identifications. Also remove a spinlock and use cmpxchg() to
    get better SMP performance.

    Reported-by: Fernando Gont
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Eric Dumazet
     
  • Computers have become a lot faster since we compromised on the
    partial MD4 hash which we use currently for performance reasons.

    MD5 is a much safer choice, and is inline with both RFC1948 and
    other ISS generators (OpenBSD, Solaris, etc.)

    Furthermore, only having 24-bits of the sequence number be truly
    unpredictable is a very serious limitation. So the periodic
    regeneration and 8-bit counter have been removed. We compute and
    use a full 32-bit sequence number.

    For ipv6, DCCP was found to use a 32-bit truncated initial sequence
    number (it needs 43-bits) and that is fixed here as well.

    Reported-by: Dan Kaminsky
    Tested-by: Willy Tarreau
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    David S. Miller
     

09 Jul, 2011

1 commit

  • Trigger user ABORT if application closes a socket which has data
    queued on the socket receive queue or chunks waiting on the
    reassembly or ordering queue as this would imply data being lost
    which defeats the point of a graceful shutdown.

    This behavior is already practiced in TCP.

    We do not check the input queue because that would mean to parse
    all chunks on it to look for unacknowledged data which seems too
    much of an effort. Control chunks or duplicated chunks may also
    be in the input queue and should not be stopping a graceful
    shutdown.

    Signed-off-by: Thomas Graf
    Acked-by: Vlad Yasevich
    Signed-off-by: David S. Miller

    Thomas Graf
     

08 Jul, 2011

1 commit

  • When initiating a graceful shutdown while having data chunks
    on the retransmission queue with a peer which is in zero
    window mode the shutdown is never completed because the
    retransmission error count is reset periodically by the
    following two rules:

    - Do not timeout association while doing zero window probe.
    - Reset overall error count when a heartbeat request has
    been acknowledged.

    The graceful shutdown will wait for all outstanding TSN to
    be acknowledged before sending the SHUTDOWN request. This
    never happens due to the peer's zero window not acknowledging
    the continuously retransmitted data chunks. Although the
    error counter is incremented for each failed retransmission,
    the receiving of the SACK announcing the zero window clears
    the error count again immediately. Also heartbeat requests
    continue to be sent periodically. The peer acknowledges these
    requests causing the error counter to be reset as well.

    This patch changes behaviour to only reset the overall error
    counter for the above rules while not in shutdown. After
    reaching the maximum number of retransmission attempts, the
    T5 shutdown guard timer is scheduled to give the receiver
    some additional time to recover. The timer is stopped as soon
    as the receiver acknowledges any data.

    The issue can be easily reproduced by establishing a sctp
    association over the loopback device, constantly queueing
    data at the sender while not reading any at the receiver.
    Wait for the window to reach zero, then initiate a shutdown
    by killing both processes simultaneously. The association
    will never be freed and the chunks on the retransmission
    queue will be retransmitted indefinitely.

    Signed-off-by: Thomas Graf
    Acked-by: Vlad Yasevich
    Signed-off-by: David S. Miller

    Thomas Graf
     

02 Jul, 2011

1 commit

  • IPV6, unlike IPV4, doesn't have a routing cache.

    Routing table entries, as well as clones made in response
    to route lookup requests, all live in the same table. And
    all of these things are together collected in the destination
    cache table for ipv6.

    This means that routing table entries count against the garbage
    collection limits, even though such entries cannot ever be reclaimed
    and are added explicitly by the administrator (rather than being
    created in response to lookups).

    Therefore it makes no sense to count ipv6 routing table entries
    against the GC limits.

    Add a DST_NOCOUNT destination cache entry flag, and skip the counting
    if it is set. Use this flag bit in ipv6 when adding routing table
    entries.

    Signed-off-by: David S. Miller

    David S. Miller
     

01 Jul, 2011

1 commit


30 Jun, 2011

1 commit


28 Jun, 2011

2 commits

  • Fix 'make htmldocs' warnings:

    Warning(/include/linux/hrtimer.h:153): No description found for parameter 'clockid'
    Warning(/include/linux/device.h:604): Excess struct/union/enum/typedef member 'of_match' description in 'device'
    Warning(/include/net/sock.h:349): Excess struct/union/enum/typedef member 'sk_rmem_alloc' description in 'sock'

    Signed-off-by: Vitaliy Ivanov
    Acked-by: Grant Likely
    Acked-by: David S. Miller
    Signed-off-by: Linus Torvalds

    Vitaliy Ivanov
     
  • Sometimes when reporting a MIC failure rx->key may be unset. This
    code path is hit when receiving a packet meant for a multicast
    address, and decryption is performed in HW.

    Fortunately, the failing key_idx is not used for anything up to
    (and including) usermode, so we allow ourselves to drop it on the
    way up when a key cannot be retrieved.

    Signed-off-by: Arik Nemtsov
    Cc: stable@kernel.org
    Signed-off-by: John W. Linville

    Arik Nemtsov
     

21 Jun, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (40 commits)
    pxa168_eth: fix race in transmit path.
    ipv4, ping: Remove duplicate icmp.h include
    netxen: fix race in skb->len access
    sgi-xp: fix a use after free
    hp100: fix an skb->len race
    netpoll: copy dev name of slaves to struct netpoll
    ipv4: fix multicast losses
    r8169: fix static initializers.
    inet_diag: fix inet_diag_bc_audit()
    gigaset: call module_put before restart of if_open()
    farsync: add module_put to error path in fst_open()
    net: rfs: enable RFS before first data packet is received
    fs_enet: fix freescale FCC ethernet dp buffer alignment
    netdev: bfin_mac: fix memory leak when freeing dma descriptors
    vlan: don't call ndo_vlan_rx_register on hardware that doesn't have vlan support
    caif: Bugfix - XOFF removed channel from caif-mux
    tun: teach the tun/tap driver to support netpoll
    dp83640: drop PHY status frames in the driver.
    dp83640: fix phy status frame event parsing
    phylib: Allow BCM63XX PHY to be selected only on BCM63XX.
    ...

    Linus Torvalds
     

16 Jun, 2011

1 commit

  • Avoid double seq adjustment for loopback traffic
    because it causes silent repetition of TCP data. One
    example is passive FTP with DNAT rule and difference in the
    length of IP addresses.

    This patch adds check if packet is sent and
    received via loopback device. As the same conntrack is
    used both for outgoing and incoming direction, we restrict
    seq adjustment to happen only in POSTROUTING.

    Signed-off-by: Julian Anastasov
    Signed-off-by: Patrick McHardy

    Julian Anastasov
     

13 Jun, 2011

1 commit

  • * new refcount in struct net, controlling actual freeing of the memory
    * new method in kobj_ns_type_operations (->drop_ns())
    * ->current_ns() semantics change - it's supposed to be followed by
    corresponding ->drop_ns(). For struct net in case of CONFIG_NET_NS it bumps
    the new refcount; net_drop_ns() decrements it and calls net_free() if the
    last reference has been dropped. Method renamed to ->grab_current_ns().
    * old net_free() callers call net_drop_ns() instead.
    * sysfs_exit_ns() is gone, along with a large part of callchain
    leading to it; now that the references stored in ->ns[...] stay valid we
    do not need to hunt them down and replace them with NULL. That fixes
    problems in sysfs_lookup() and sysfs_readdir(), along with getting rid
    of sb->s_instances abuse.

    Note that struct net *shutdown* logics has not changed - net_cleanup()
    is called exactly when it used to be called. The only thing postponed by
    having a sysfs instance refering to that struct net is actual freeing of
    memory occupied by struct net.

    Signed-off-by: Al Viro

    Al Viro
     

04 Jun, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (40 commits)
    tg3: Fix tg3_skb_error_unmap()
    net: tracepoint of net_dev_xmit sees freed skb and causes panic
    drivers/net/can/flexcan.c: add missing clk_put
    net: dm9000: Get the chip in a known good state before enabling interrupts
    drivers/net/davinci_emac.c: add missing clk_put
    af-packet: Add flag to distinguish VID 0 from no-vlan.
    caif: Fix race when conditionally taking rtnl lock
    usbnet/cdc_ncm: add missing .reset_resume hook
    vlan: fix typo in vlan_dev_hard_start_xmit()
    net/ipv4: Check for mistakenly passed in non-IPv4 address
    iwl4965: correctly validate temperature value
    bluetooth l2cap: fix locking in l2cap_global_chan_by_psm
    ath9k: fix two more bugs in tx power
    cfg80211: don't drop p2p probe responses
    Revert "net: fix section mismatches"
    drivers/net/usb/catc.c: Fix potential deadlock in catc_ctrl_run()
    sctp: stop pending timers and purge queues when peer restart asoc
    drivers/net: ks8842 Fix crash on received packet when in PIO mode.
    ip_options_compile: properly handle unaligned pointer
    iwlagn: fix incorrect PCI subsystem id for 6150 devices
    ...

    Linus Torvalds
     

01 Jun, 2011

1 commit


28 May, 2011

4 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    net: Kill ratelimit.h dependency in linux/net.h
    net: Add linux/sysctl.h includes where needed.
    net: Kill ether_table[] declaration.
    inetpeer: fix race in unused_list manipulations
    atm: expose ATM device index in sysfs
    IPVS: bug in ip_vs_ftp, same list heaad used in all netns.
    bug.h: Move ratelimit warn interfaces to ratelimit.h
    bonding: cleanup module option descriptions
    net:8021q:vlan.c Fix pr_info to just give the vlan fullname and version.
    net: davinci_emac: fix dev_err use at probe
    can: convert to %pK for kptr_restrict support
    net: fix ETHTOOL_SFEATURES compatibility with old ethtool_ops.set_flags
    netfilter: Fix several warnings in compat_mtw_from_user().
    netfilter: ipset: fix ip_set_flush return code
    netfilter: ipset: remove unused variable from type_pf_tdel()
    netfilter: ipset: Use proper timeout value to jiffies conversion

    Linus Torvalds
     
  • Ingo Molnar noticed that we have this unnecessary ratelimit.h
    dependency in linux/net.h, which hid compilation problems from
    people doing builds only with CONFIG_NET enabled.

    Move this stuff out to a seperate net/net_ratelimit.h file and
    include that in the only two places where this thing is needed.

    Signed-off-by: David S. Miller
    Acked-by: Ingo Molnar

    David S. Miller
     
  • Several networking headers were depending upon the implicit
    linux/sysctl.h include they get when including linux/net.h

    Add explicit includes.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • David S. Miller
     

27 May, 2011

1 commit

  • When ip_vs was adapted to netns the ftp application was not adapted
    in a correct way.
    However this is a fix to avoid kernel errors. In the long term another solution
    might be chosen. I.e the ports that the ftp appl, uses should be per netns.

    Signed-off-by: Hans Schillstrom
    Acked-by: Julian Anastasov
    Signed-off-by: Pablo Neira Ayuso

    Hans Schillstrom
     

26 May, 2011

3 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-nsfd:
    net: fix get_net_ns_by_fd for !CONFIG_NET_NS
    ns proc: Return -ENOENT for a nonexistent /proc/self/ns/ entry.
    ns: Declare sys_setns in syscalls.h
    net: Allow setting the network namespace by fd
    ns proc: Add support for the ipc namespace
    ns proc: Add support for the uts namespace
    ns proc: Add support for the network namespace.
    ns: Introduce the setns syscall
    ns: proc files for namespace naming policy.

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (89 commits)
    bonding: documentation and code cleanup for resend_igmp
    bonding: prevent deadlock on slave store with alb mode (v3)
    net: hold rtnl again in dump callbacks
    Add Fujitsu 1000base-SX PCI ID to tg3
    bnx2x: protect sequence increment with mutex
    sch_sfq: fix peek() implementation
    isdn: netjet - blacklist Digium TDM400P
    via-velocity: don't annotate MAC registers as packed
    xen: netfront: hold RTNL when updating features.
    sctp: fix memory leak of the ASCONF queue when free asoc
    net: make dev_disable_lro use physical device if passed a vlan dev (v2)
    net: move is_vlan_dev into public header file (v2)
    bug.h: Fix build with CONFIG_PRINTK disabled.
    wireless: fix fatal kernel-doc error + warning in mac80211.h
    wireless: fix cfg80211.h new kernel-doc warnings
    iwlagn: dbg_fixed_rate only used when CONFIG_MAC80211_DEBUGFS enabled
    dst: catch uninitialized metrics
    be2net: hash key for rss-config cmd not set
    bridge: initialize fake_rtable metrics
    net: fix __dst_destroy_metrics_generic()
    ...

    Fix up trivial conflicts in drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c

    Linus Torvalds
     
  • …ville/wireless-next-2.6

    David S. Miller
     

25 May, 2011

4 commits