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

4 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
     

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

  • Make sure dst_release() is not called with error pointer. This is
    similar to commit 4910ac6c526d2868adcb5893e0c428473de862b5 ("ipv4:
    Don't ip_rt_put() an error pointer in RAW sockets.").

    Signed-off-by: Boris Ostrovsky
    Signed-off-by: David S. Miller

    Boris Ostrovsky
     
  • Cleaning the ieee80211_rx_data.flags field here is wrong, instead the
    flags should be valid accross processing the frame on different
    interfaces. Fix this by removing the incorrect flags=0 assignment.

    Introduced in commit 554891e63a29af35cc6bb403ef34e319518114d0
    (mac80211: move packet flags into packet).

    Signed-off-by: Helmut Schaa
    Signed-off-by: John W. Linville

    Helmut Schaa
     

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

8 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
     
  • Signed-off-by: Tommi Virtanen
    Signed-off-by: Sage Weil

    Tommi Virtanen
     
  • This makes the base64 logic be contained in mount option parsing,
    and prepares us for replacing the homebew key management with the
    kernel key retention service.

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

    Tommi Virtanen
     
  • We should only clear r_osd if we are neither registered as a linger or a
    regular request. We may unregister as a linger while still registered as
    a regular request (e.g., in reset_osd). Incorrectly clearing r_osd there
    leads to a null pointer dereference in __send_request.

    Also simplify the parallel check in __unregister_request() where we just
    removed r_osd_item and know it's empty.

    Signed-off-by: Sage Weil

    Sage Weil
     

29 Mar, 2011

2 commits

  • There was a missing unlock on the error path if __map_request() failed.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Sage Weil

    Dan Carpenter
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (30 commits)
    xfrm: Restrict extended sequence numbers to esp
    xfrm: Check for esn buffer len in xfrm_new_ae
    xfrm: Assign esn pointers when cloning a state
    xfrm: Move the test on replay window size into the replay check functions
    netdev: bfin_mac: document TE setting in RMII modes
    drivers net: Fix declaration ordering in inline functions.
    cxgb3: Apply interrupt coalescing settings to all queues
    net: Always allocate at least 16 skb frags regardless of page size
    ipv4: Don't ip_rt_put() an error pointer in RAW sockets.
    net: fix ethtool->set_flags not intended -EINVAL return value
    mlx4_en: Fix loss of promiscuity
    tg3: Fix inline keyword usage
    tg3: use and instead and
    net: use CHECKSUM_NONE instead of magic number
    Net / jme: Do not use legacy PCI power management
    myri10ge: small rx_done refactoring
    bridge: notify applications if address of bridge device changes
    ipv4: Fix IP timestamp option (IPOPT_TS_PRESPEC) handling in ip_options_echo()
    can: c_can: Fix tx_bytes accounting
    can: c_can_platform: fix irq check in probe
    ...

    Linus Torvalds