29 Apr, 2011

1 commit

  • * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
    nfs: don't lose MS_SYNCHRONOUS on remount of noac mount
    NFS: Return meaningful status from decode_secinfo()
    NFSv4: Ensure we request the ordinary fileid when doing readdirplus
    NFSv4: Ensure that clientid and session establishment can time out
    SUNRPC: Allow RPC calls to return ETIMEDOUT instead of EIO
    NFSv4.1: Don't loop forever in nfs4_proc_create_session
    NFSv4: Handle NFS4ERR_WRONGSEC outside of nfs4_handle_exception()
    NFSv4.1: Don't update sequence number if rpc_task is not sent
    NFSv4.1: Ensure state manager thread dies on last umount
    SUNRPC: Fix the SUNRPC Kerberos V RPCSEC_GSS module dependencies
    NFS: Use correct variable for page bounds checking
    NFS: don't negotiate when user specifies sec flavor
    NFS: Attempt mount with default sec flavor first
    NFS: flav_array honors NFS_MAX_SECFLAVORS
    NFS: Fix infinite loop in gss_create_upcall()
    Don't mark_inode_dirty_sync() while holding lock
    NFS: Get rid of pointless test in nfs_commit_done
    NFS: Remove unused argument from nfs_find_best_sec()
    NFS: Eliminate duplicate call to nfs_mark_request_dirty
    NFS: Remove dead code from nfs_fs_mount()

    Linus Torvalds
     

27 Apr, 2011

1 commit


25 Apr, 2011

1 commit

  • On occasion, it is useful for the NFS layer to distinguish between
    soft timeouts and other EIO errors due to (say) encoding errors,
    or authentication errors.

    The following patch ensures that the default behaviour of the RPC
    layer remains to return EIO on soft timeouts (until we have
    audited all the callers).

    Signed-off-by: Trond Myklebust

    Trond Myklebust
     

20 Apr, 2011

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (51 commits)
    netfilter: ipset: Fix the order of listing of sets
    ip6_pol_route panic: Do not allow VLAN on loopback
    bnx2x: Fix port identification problem
    r8169: add Realtek as maintainer.
    ip: ip_options_compile() resilient to NULL skb route
    bna: fix memory leak during RX path cleanup
    bna: fix for clean fw re-initialization
    usbnet: Fix up 'FLAG_POINTTOPOINT' and 'FLAG_MULTI_PACKET' overlaps.
    iwlegacy: fix tx_power initialization
    Revert "tcp: disallow bind() to reuse addr/port"
    qlcnic: limit skb frags for non tso packet
    net: can: mscan: fix build breakage in mpc5xxx_can
    netfilter: ipset: set match and SET target fixes
    netfilter: ipset: bitmap:ip,mac type requires "src" for MAC
    sctp: fix oops while removed transport still using as retran path
    sctp: fix oops when updating retransmit path with DEBUG on
    net: Disable NETIF_F_TSO_ECN when TSO is disabled
    net: Disable all TSO features when SG is disabled
    sfc: Use rmb() to ensure reads occur in order
    ieee802154: Remove hacked CFLAGS in net/ieee802154/Makefile
    ...

    Linus Torvalds
     
  • David S. Miller
     

19 Apr, 2011

2 commits


16 Apr, 2011

4 commits


15 Apr, 2011

2 commits


14 Apr, 2011

2 commits

  • There can be an infinite loop if gss_create_upcall() is called without
    the userspace program running. To prevent this, we return -EACCES if
    we notice that pipe_version hasn't changed (indicating that the pipe
    has not been opened).

    Signed-off-by: Bryan Schumaker

    Signed-off-by: Trond Myklebust

    Bryan Schumaker
     
  • This reverts commit c191a836a908d1dd6b40c503741f91b914de3348.

    It causes known regressions for programs that expect to be able to use
    SO_REUSEADDR to shutdown a socket, then successfully rebind another
    socket to the same ID.

    Programs such as haproxy and amavisd expect this to work.

    This should fix kernel bugzilla 32832.

    Signed-off-by: David S. Miller

    David S. Miller
     

13 Apr, 2011

11 commits

  • The SET target with --del-set did not work due to using wrongly
    the internal dimension of --add-set instead of --del-set.
    Also, the checkentries did not release the set references when
    returned an error. Bugs reported by Lennert Buytenhek.

    Signed-off-by: Jozsef Kadlecsik
    Signed-off-by: Patrick McHardy

    Jozsef Kadlecsik
     
  • Enforce that the second "src/dst" parameter of the set match and SET target
    must be "src", because we have access to the source MAC only in the packet.
    The previous behaviour, that the type required the second parameter
    but actually ignored the value was counter-intuitive and confusing.

    Signed-off-by: Jozsef Kadlecsik
    Signed-off-by: Patrick McHardy

    Jozsef Kadlecsik
     
  • Since we can not update retran path to unconfirmed transports,
    when we remove a peer, the retran path may not be update if the
    other transports are all unconfirmed, and we will still using
    the removed transport as the retran path. This may cause panic
    if retrasnmit happen.

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

    Wei Yongjun
     
  • commit fbdf501c9374966a56829ecca3a7f25d2b49a305
    sctp: Do no select unconfirmed transports for retransmissions

    Introduced the initial falt.

    commit d598b166ced20d9b9281ea3527c0e18405ddb803
    sctp: Make sure we always return valid retransmit path

    Solved the problem, but forgot to change the DEBUG statement.
    Thus it was still possible to dereference a NULL pointer.

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

    Vlad Yasevich
     
  • NETIF_F_TSO_ECN has no effect when TSO is disabled; this just means
    that feature state will be accurately reported to user-space.

    Signed-off-by: Ben Hutchings
    Signed-off-by: David S. Miller

    Ben Hutchings
     
  • The feature flags NETIF_F_TSO and NETIF_F_TSO6 independently enable
    TSO for IPv4 and IPv6 respectively. However, the test in
    netdev_fix_features() and its predecessor functions was never updated
    to check for NETIF_F_TSO6, possibly because it was originally proposed
    that TSO for IPv6 would be dependent on both feature flags.

    Now that these feature flags can be changed independently from
    user-space and we depend on netdev_fix_features() to fix invalid
    feature combinations, it's important to disable them both if
    scatter-gather is disabled. Also disable NETIF_F_TSO_ECN so
    user-space sees all TSO features as disabled.

    Signed-off-by: Ben Hutchings
    Signed-off-by: David S. Miller

    Ben Hutchings
     
  • It adds -Wall (which the kernel carefully controls already) and of all
    things -DDEBUG (which should be set by other means if desired, please
    we have dynamic-debug these days).

    Kill this noise.

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

    David S. Miller
     
  • 5b40964eadea40509d353318d2c82e8b7bf5e8a5 ("irda: Remove BKL instances
    from af_irda.c") introduced a path where we have a locking unbalance.
    If we pass invalid flags, we unlock a socket we never locked,
    resulting in this...

    =====================================
    [ BUG: bad unlock balance detected! ]
    -------------------------------------
    trinity/20101 is trying to release lock (sk_lock-AF_IRDA) at:
    [] irda_sendmsg+0x207/0x21d [irda]
    but there are no more locks to release!

    other info that might help us debug this:
    no locks held by trinity/20101.

    stack backtrace:
    Pid: 20101, comm: trinity Not tainted 2.6.39-rc3+ #3
    Call Trace:
    [] ? irda_sendmsg+0x207/0x21d [irda]
    [] print_unlock_inbalance_bug+0xc7/0xd2
    [] ? irda_sendmsg+0x207/0x21d [irda]
    [] lock_release+0xcf/0x18e
    [] release_sock+0x2d/0x155
    [] irda_sendmsg+0x207/0x21d [irda]
    [] __sock_sendmsg+0x69/0x75
    [] sock_sendmsg+0xa1/0xb6
    [] ? might_fault+0x5c/0xac
    [] ? lock_release+0x181/0x18e
    [] ? might_fault+0xa5/0xac
    [] ? might_fault+0x5c/0xac
    [] ? fcheck_files+0xb9/0xf0
    [] ? copy_from_user+0x2f/0x31
    [] ? verify_iovec+0x52/0xa6
    [] sys_sendmsg+0x23a/0x2b8
    [] ? lock_release+0x181/0x18e
    [] ? up_read+0x28/0x2c
    [] ? do_page_fault+0x360/0x3b4
    [] ? trace_hardirqs_on_caller+0x10b/0x12f
    [] ? finish_task_switch+0xb2/0xe3
    [] ? finish_task_switch+0x46/0xe3
    [] ? trace_hardirqs_off_caller+0x33/0x90
    [] ? retint_swapgs+0x13/0x1b
    [] ? trace_hardirqs_on_caller+0x10b/0x12f
    [] ? audit_syscall_entry+0x11c/0x148
    [] ? trace_hardirqs_on_thunk+0x3a/0x3f
    [] system_call_fastpath+0x16/0x1b

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

    Dave Jones
     
  • controlling igmp_max_membership is useful even when IP_MULTICAST
    is off.
    Quagga(an OSPF deamon) uses multicast addresses for all interfaces
    using a single socket and hits igmp_max_membership limit when
    there are 20 interfaces or more.
    Always export sysctl igmp_max_memberships in proc, just like
    igmp_max_msf

    Signed-off-by: Joakim Tjernlund
    Signed-off-by: David S. Miller

    Joakim Tjernlund
     
  • On 64bit arches, we use 752 bytes of stack when cleanup_once() is called
    from inet_getpeer().

    Lets share the avl stack to save ~376 bytes.

    Before patch :

    # objdump -d net/ipv4/inetpeer.o | scripts/checkstack.pl

    0x000006c3 unlink_from_pool [inetpeer.o]: 376
    0x00000721 unlink_from_pool [inetpeer.o]: 376
    0x00000cb1 inet_getpeer [inetpeer.o]: 376
    0x00000e6d inet_getpeer [inetpeer.o]: 376
    0x0004 inet_initpeers [inetpeer.o]: 112
    # size net/ipv4/inetpeer.o
    text data bss dec hex filename
    5320 432 21 5773 168d net/ipv4/inetpeer.o

    After patch :

    objdump -d net/ipv4/inetpeer.o | scripts/checkstack.pl
    0x00000c11 inet_getpeer [inetpeer.o]: 376
    0x00000dcd inet_getpeer [inetpeer.o]: 376
    0x00000ab9 peer_check_expire [inetpeer.o]: 328
    0x00000b7f peer_check_expire [inetpeer.o]: 328
    0x0004 inet_initpeers [inetpeer.o]: 112
    # size net/ipv4/inetpeer.o
    text data bss dec hex filename
    5163 432 21 5616 15f0 net/ipv4/inetpeer.o

    Signed-off-by: Eric Dumazet
    Cc: Scot Doyle
    Cc: Stephen Hemminger
    Cc: Hiroaki SHIMODA
    Reviewed-by: Hiroaki SHIMODA
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Commit 462fb2af9788a82 (bridge : Sanitize skb before it enters the IP
    stack), missed one IPCB init before calling ip_options_compile()

    Thanks to Scot Doyle for his tests and bug reports.

    Reported-by: Scot Doyle
    Signed-off-by: Eric Dumazet
    Cc: Hiroaki SHIMODA
    Acked-by: Bandan Das
    Acked-by: Stephen Hemminger
    Cc: Jan Lübbe
    Signed-off-by: David S. Miller

    Eric Dumazet
     

12 Apr, 2011

3 commits


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