16 Apr, 2011

3 commits


15 Apr, 2011

1 commit


11 Apr, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (34 commits)
    net: Add support for SMSC LAN9530, LAN9730 and LAN89530
    mlx4_en: Restoring RX buffer pointer in case of failure
    mlx4: Sensing link type at device initialization
    ipv4: Fix "Set rt->rt_iif more sanely on output routes."
    MAINTAINERS: add entry for Xen network backend
    be2net: Fix suspend/resume operation
    be2net: Rename some struct members for clarity
    pppoe: drop PPPOX_ZOMBIEs in pppoe_flush_dev
    dsa/mv88e6131: add support for mv88e6085 switch
    ipv6: Enable RFS sk_rxhash tracking for ipv6 sockets (v2)
    be2net: Fix a potential crash during shutdown.
    bna: Fix for handling firmware heartbeat failure
    can: mcp251x: Allow pass IRQ flags through platform data.
    smsc911x: fix mac_lock acquision before calling smsc911x_mac_read
    iwlwifi: accept EEPROM version 0x423 for iwl6000
    rt2x00: fix cancelling uninitialized work
    rtlwifi: Fix some warnings/bugs
    p54usb: IDs for two new devices
    wl12xx: fix potential buffer overflow in testmode nvs push
    zd1211rw: reset rx idle timer from tasklet
    ...

    Linus Torvalds
     

09 Apr, 2011

1 commit


08 Apr, 2011

2 commits


07 Apr, 2011

5 commits

  • David S. Miller
     
  • The mv88e6085 is identical to the mv88e6095, except that all ports are
    10/100 Mb/s, so use the existing setup code except for the cpu/dsa speed
    selection in _setup_port().

    Signed-off-by: Peter Korsgaard
    Acked-by: Lennert Buytenhek
    Signed-off-by: David S. Miller

    Peter Korsgaard
     
  • properly record sk_rxhash in ipv6 sockets (v2)

    Noticed while working on another project that flows to sockets which I had open
    on a test systems weren't getting steered properly when I had RFS enabled.
    Looking more closely I found that:

    1) The affected sockets were all ipv6
    2) They weren't getting steered because sk->sk_rxhash was never set from the
    incomming skbs on that socket.

    This was occuring because there are several points in the IPv4 tcp and udp code
    which save the rxhash value when a new connection is established. Those calls
    to sock_rps_save_rxhash were never added to the corresponding ipv6 code paths.
    This patch adds those calls. Tested by myself to properly enable RFS
    functionalty on ipv6.

    Change notes:
    v2:
    Filtered UDP to only arm RFS on bound sockets (Eric Dumazet)

    Signed-off-by: Neil Horman
    Signed-off-by: David S. Miller

    Neil Horman
     
  • This reverts commit 411b5e05617593efebc06241dbc56f42150f2abe.

    Olga Kornievskaia reports:

    Problem: linux client mounting linux server using rc4-hmac-md5
    enctype. gssd fails with create a context after receiving a reply from
    the server.

    Diagnose: putting printout statements in the server kernel and
    kerberos libraries revealed that client and server derived different
    integrity keys.

    Server kernel code was at fault due the the commit

    [aglo@skydive linux-pnfs]$ git show 411b5e05617593efebc06241dbc56f42150f2abe

    Trond: The problem is that since it relies on virt_to_page(), you cannot
    call sg_set_buf() for data in the const section.

    Reported-by: Olga Kornievskaia
    Signed-off-by: Trond Myklebust
    Cc: stable@kernel.org [2.6.36+]

    Trond Myklebust
     
  • Fix the request transition from linger -> normal request. The key is to
    preserve r_osd and requeue on the same OSD. Reregister as a normal request,
    add the request to the proper queues, then unregister the linger. Fix the
    unregister helper to avoid clearing r_osd (and also simplify the parallel
    check in __unregister_request()).

    Reported-by: Henry Chang
    Signed-off-by: Sage Weil

    Sage Weil
     

06 Apr, 2011

2 commits

  • David S. Miller
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits)
    ipv6: Don't pass invalid dst_entry pointer to dst_release().
    mlx4: fix kfree on error path in new_steering_entry()
    tcp: len check is unnecessarily devastating, change to WARN_ON
    sctp: malloc enough room for asconf-ack chunk
    sctp: fix auth_hmacs field's length of struct sctp_cookie
    net: Fix dev dev_ethtool_get_rx_csum() for forced NETIF_F_RXCSUM
    usbnet: use eth%d name for known ethernet devices
    starfire: clean up dma_addr_t size test
    iwlegacy: fix bugs in change_interface
    carl9170: Fix tx aggregation problems with some clients
    iwl3945: disable hw scan by default
    wireless: rt2x00: rt2800usb.c add and identify ids
    iwl3945: do not deprecate software scan
    mac80211: fix aggregation frame release during timeout
    cfg80211: fix BSS double-unlinking (continued)
    cfg80211:: fix possible NULL pointer dereference
    mac80211: fix possible NULL pointer dereference
    mac80211: fix NULL pointer dereference in ieee80211_key_alloc()
    ath9k: fix a chip wakeup related crash in ath9k_start
    mac80211: fix a crash in minstrel_ht in HT mode with no supported MCS rates
    ...

    Linus Torvalds
     

05 Apr, 2011

2 commits


04 Apr, 2011

8 commits


02 Apr, 2011

3 commits

  • All callers are prepared for alloc failures anyway, so this error
    can safely be boomeranged to the callers domain without super
    bad consequences. ...At worst the connection might go into a state
    where each RTO tries to (unsuccessfully) re-fragment with such
    a mis-sized value and eventually dies.

    Signed-off-by: Ilpo Järvinen
    Signed-off-by: David S. Miller

    Ilpo Järvinen
     
  • Sometime the ASCONF_ACK parameters can equal to the fourfold of
    ASCONF parameters, this only happend in some special case:

    ASCONF parameter is :
    Unrecognized Parameter (4 bytes)
    ASCONF_ACK parameter should be:
    Error Cause Indication parameter (8 bytes header)
    + Error Cause (4 bytes header)
    + Unrecognized Parameter (4bytes)

    Four 4bytes Unrecognized Parameters in ASCONF chunk will cause panic.

    Pid: 0, comm: swapper Not tainted 2.6.38-next+ #22 Bochs Bochs
    EIP: 0060:[] EFLAGS: 00010246 CPU: 0
    EIP is at skb_put+0x60/0x70
    EAX: 00000077 EBX: c09060e2 ECX: dec1dc30 EDX: c09469c0
    ESI: 00000000 EDI: de3c8d40 EBP: dec1dc58 ESP: dec1dc2c
    DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
    Process swapper (pid: 0, ti=dec1c000 task=c09aef20 task.ti=c0980000)
    Stack:
    c09469c0 e1894fa4 00000044 00000004 de3c8d00 de3c8d00 de3c8d44 de3c8d40
    c09060e2 de25dd80 de3c8d40 dec1dc7c e1894fa4 dec1dcb0 00000040 00000004
    00000000 00000800 00000004 00000004 dec1dce0 e1895a2b dec1dcb4 de25d960
    Call Trace:
    [] ? sctp_addto_chunk+0x4e/0x89 [sctp]
    [] sctp_addto_chunk+0x4e/0x89 [sctp]
    [] sctp_process_asconf+0x32f/0x3d1 [sctp]
    [] sctp_sf_do_asconf+0xf8/0x173 [sctp]
    [] sctp_do_sm+0xb8/0x159 [sctp]
    [] ? sctp_cname+0x0/0x52 [sctp]
    [] sctp_assoc_bh_rcv+0xac/0xe3 [sctp]
    [] sctp_inq_push+0x2d/0x30 [sctp]
    [] sctp_rcv+0x7a7/0x83d [sctp]
    [] ? ipv4_confirm+0x118/0x125
    [] ? nf_iterate+0x34/0x62
    [] ? ip_local_deliver_finish+0x0/0x194
    [] ? ip_local_deliver_finish+0x0/0x194
    [] ip_local_deliver_finish+0xf5/0x194
    [] ? ip_local_deliver_finish+0x0/0x194
    [] NF_HOOK.clone.1+0x3d/0x44
    [] ip_local_deliver+0x3e/0x44
    [] ? ip_local_deliver_finish+0x0/0x194
    [] ip_rcv_finish+0x29f/0x2c7
    [] ? ip_rcv_finish+0x0/0x2c7
    [] NF_HOOK.clone.1+0x3d/0x44
    [] ip_rcv+0x1f5/0x233
    [] ? ip_rcv_finish+0x0/0x2c7
    [] __netif_receive_skb+0x310/0x336
    [] netif_receive_skb+0x4b/0x51
    [] cp_rx_poll+0x1e7/0x29c [8139cp]
    [] net_rx_action+0x65/0x13a
    [] __do_softirq+0xa1/0x149
    [] ? __do_softirq+0x0/0x149

    [] ? irq_exit+0x37/0x72
    [] ? do_IRQ+0x81/0x95
    [] ? common_interrupt+0x30/0x38
    [] ? native_safe_halt+0xa/0xc
    [] ? default_idle+0x58/0x92
    [] ? cpu_idle+0x96/0xb2
    [] ? rest_init+0x5d/0x5f
    [] ? start_kernel+0x34b/0x350
    [] ? i386_start_kernel+0xba/0xc1

    Signed-off-by: Wei Yongjun
    Signed-off-by: David S. Miller

    Wei Yongjun
     
  • David S. Miller
     

01 Apr, 2011

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    appletalk: Fix OOPS in atalk_release().
    mlx4: Fixing bad size of event queue buffer
    mlx4: Fixing use after free
    bonding:typo in comment
    sctp: Pass __GFP_NOWARN to hash table allocation attempts.
    connector: convert to synchronous netlink message processing
    fib: add rtnl locking in ip_fib_net_exit
    atm/solos-pci: Don't flap VCs when carrier state changes
    atm/solos-pci: Don't include frame pseudo-header on transmit hex-dump
    atm/solos-pci: Use VPI.VCI notation uniformly.
    Atheros, atl2: Fix mem leaks in error paths of atl2_set_eeprom
    netdev: fix mtu check when TSO is enabled
    net/usb: Ethernet quirks for the LG-VL600 4G modem
    phylib: phy_attach_direct: phy_init_hw can fail, add cleanup
    bridge: mcast snooping, fix length check of snooped MLDv1/2
    via-ircc: Pass PCI device pointer to dma_{alloc, free}_coherent()
    via-ircc: Use pci_{get, set}_drvdata() instead of static pointer variable
    net: gre: provide multicast mappings for ipv4 and ipv6
    bridge: Fix compilation warning in function br_stp_recalculate_bridge_id()
    net: Fix warnings caused by MAX_SKB_FRAGS change.

    Linus Torvalds
     
  • Commit 60d9f461a20ba59219fdcdc30cbf8e3a4ad3f625 ("appletalk: remove
    the BKL") added a dereference of "sk" before checking for NULL in
    atalk_release().

    Guard the code block completely, rather than partially, with the
    NULL check.

    Reported-by: Dave Jones
    Signed-off-by: David S. Miller

    David S. Miller
     

31 Mar, 2011

5 commits


30 Mar, 2011

5 commits

  • In case the device where is coming from the packet has TSO enabled,
    we should not check the mtu size value as this one could be bigger
    than the expected value.

    This is the case for the macvlan driver when the lower device has
    TSO enabled. The macvlan inherit this feature and forward the packets
    without fragmenting them. Then the packets go through dev_forward_skb
    and are dropped. This patch fix this by checking TSO is not enabled
    when we want to check the mtu size.

    Signed-off-by: Daniel Lezcano
    Acked-by: "Eric W. Biederman"
    Signed-off-by: David S. Miller

    Daniel Lezcano
     
  • "len = ntohs(ip6h->payload_len)" does not include the length of the ipv6
    header itself, which the rest of this function assumes, though.

    This leads to a length check less restrictive as it should be in the
    following line for one thing. For another, it very likely leads to an
    integer underrun when substracting the offset and therefore to a very
    high new value of 'len' due to its unsignedness. This will ultimately
    lead to the pskb_trim_rcsum() practically never being called, even in
    the cases where it should.

    Signed-off-by: Linus Lüssing
    Signed-off-by: David S. Miller

    Linus Lüssing
     
  • My commit 6d55cb91a0020ac0 (gre: fix hard header destination
    address checking) broke multicast.

    The reason is that ip_gre used to get ipgre_header() calls with
    zero destination if we have NOARP or multicast destination. Instead
    the actual target was decided at ipgre_tunnel_xmit() time based on
    per-protocol dissection.

    Instead of allowing the "abuse" of ->header() calls with invalid
    destination, this creates multicast mappings for ip_gre. This also
    fixes "ip neigh show nud noarp" to display the proper multicast
    mappings used by the gre device.

    Reported-by: Doug Kehn
    Signed-off-by: Timo Teräs
    Acked-by: Doug Kehn
    Signed-off-by: David S. Miller

    Timo Teräs
     
  • net/bridge/br_stp_if.c: In function ‘br_stp_recalculate_bridge_id’:
    net/bridge/br_stp_if.c:216:3: warning: ‘return’ with no value, in function returning non-void

    Signed-off-by: G.Balaji
    Acked-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Balaji G
     
  • This allows us to use existence of the key type as a feature test,
    from userspace.

    Signed-off-by: Tommi Virtanen
    Signed-off-by: Sage Weil

    Tommi Virtanen