18 Jul, 2011

2 commits

  • This will get us closer to being able to do "neigh stuff"
    completely independent of the underlying dst_entry for
    protocols (ipv4/ipv6) that wish to do so.

    We will also be able to make dst entries neigh-less.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • there is only one user of vlan_find_dev outside of the actual vlan code:
    qlcnic uses it to iterate over some VLANs it knows.

    let's just make vlan_find_dev private to the VLAN code and have the
    iteration in qlcnic be a bit more direct. (a few rcu dereferences less
    too)

    Signed-off-by: David Lamparter
    Cc: Patrick McHardy
    Cc: Amit Kumar Salecha
    Cc: Anirban Chakraborty
    Cc: linux-driver@qlogic.com
    Signed-off-by: David S. Miller

    David Lamparter
     

17 Jul, 2011

7 commits


15 Jul, 2011

8 commits


14 Jul, 2011

6 commits

  • Currently we flush tp_status and then flush the remainder of the header+payload.
    tp_status should be flushed in the end to avoid stale data being read by user-space.

    Incorrectly re-ordered barriers in v1.

    Signed-off-by: Chetan Loke
    Signed-off-by: David S. Miller

    Chetan Loke
     
  • Conflicts:
    net/bluetooth/l2cap_core.c

    David S. Miller
     
  • Now that there is a one-to-one correspondance between neighbour
    and hh_cache entries, we no longer need:

    1) dynamic allocation
    2) attachment to dst->hh
    3) refcounting

    Initialization of the hh_cache entry is indicated by hh_len
    being non-zero, and such initialization is always done with
    the neighbour's lock held as a writer.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
    SUNRPC: Fix use of static variable in rpcb_getport_async
    NFSv4.1: update nfs4_fattr_bitmap_maxsz
    SUNRPC: Fix a race between work-queue and rpc_killall_tasks
    pnfs: write: Set mds_offset in the generic layer - it is needed by all LDs

    Linus Torvalds
     
  • In WoWLAN, devices may use crypto keys for TX/RX
    and could also implement GTK rekeying. If the
    driver isn't able to retrieve replay counters and
    similar information from the device upon resume,
    or if the device isn't responsive due to platform
    issues, it isn't safe to keep the connection up
    as GTK rekey messages from during the sleep time
    could be replayed against it.

    The only protection against that is disconnecting
    from the AP. Modifying mac80211 to do that while
    it is resuming would be very complex and invasive
    in the case that the driver requires a reconfig,
    so do it after it has resumed completely. In that
    case, however, packets might be replayed since it
    can then only happen after TX/RX are up again, so
    mark keys for interfaces that need to disconnect
    as "tainted" and drop all packets that are sent
    or received with those keys.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • is_valid_ether_addr itself checks for is_zero_ether_addr

    Signed-off-by: Mohammed Shafi Shajakhan
    Signed-off-by: John W. Linville

    Mohammed Shafi Shajakhan
     

13 Jul, 2011

5 commits

  • This never, ever, happens.

    Neighbour entries are always tied to one address family, and therefore
    one set of dst_ops, and therefore one dst_ops->protocol "hh_type"
    value.

    This capability was blindly imported by Alexey Kuznetsov when he wrote
    the neighbour layer.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • Get rid of all of the useless and costly indirection
    by doing the neigh hash table lookup directly inside
    of the neighbour binding.

    Rename from arp_bind_neighbour to rt_bind_neighbour.

    Use new helpers {__,}ipv4_neigh_lookup()

    In rt_bind_neighbour() get rid of useless tests which
    are never true in the context this function is called,
    namely dev is never NULL and the dst->neighbour is
    always NULL.

    Signed-off-by: David S. Miller

    David Miller
     
  • Almost all of these have long outstayed their welcome.

    And for every one of these macros, there are 10 features for which we
    didn't add macros.

    Let's just delete them all, and get out of habit of doing things this
    way.

    Signed-off-by: David S. Miller
    Acked-by: Stephen Hemminger
    Acked-by: Arnd Bergmann

    David S. Miller
     
  • Because struct rpcbind_args *map was declared static, if two
    threads entered this method at the same time, the values
    assigned to map could be sent two two differen tasks.
    This could cause all sorts of problems, include use-after-free
    and double-free of memory.

    Fix this by removing the static declaration so that the map
    pointer is on the stack.

    Signed-off-by: Ben Greear
    Cc: stable@kernel.org
    Signed-off-by: Trond Myklebust

    Ben Greear
     

12 Jul, 2011

5 commits

  • We currently can free inetpeer entries too early :

    [ 782.636674] WARNING: kmemcheck: Caught 32-bit read from uninitialized memory (f130f44c)
    [ 782.636677] 1f7b13c100000000000000000000000002000000000000000000000000000000
    [ 782.636686] i i i i u u u u i i i i u u u u i i i i u u u u u u u u u u u u
    [ 782.636694] ^
    [ 782.636696]
    [ 782.636698] Pid: 4638, comm: ssh Not tainted 3.0.0-rc5+ #270 Hewlett-Packard HP Compaq 6005 Pro SFF PC/3047h
    [ 782.636702] EIP: 0060:[] EFLAGS: 00010286 CPU: 0
    [ 782.636707] EIP is at inet_getpeer+0x25b/0x5a0
    [ 782.636709] EAX: 00000002 EBX: 00010080 ECX: f130f3c0 EDX: f0209d30
    [ 782.636711] ESI: 0000bc87 EDI: 0000ea60 EBP: f0209ddc ESP: c173134c
    [ 782.636712] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
    [ 782.636714] CR0: 8005003b CR2: f0beca80 CR3: 30246000 CR4: 000006d0
    [ 782.636716] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
    [ 782.636717] DR6: ffff4ff0 DR7: 00000400
    [ 782.636718] [] rt_set_nexthop.clone.45+0x56/0x220
    [ 782.636722] [] __ip_route_output_key+0x309/0x860
    [ 782.636724] [] tcp_v4_connect+0x124/0x450
    [ 782.636728] [] inet_stream_connect+0xa3/0x270
    [ 782.636731] [] sys_connect+0xa1/0xb0
    [ 782.636733] [] sys_socketcall+0x25d/0x2a0
    [ 782.636736] [] sysenter_do_call+0x12/0x28
    [ 782.636738] [] 0xffffffff

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • We don't have multiple RX queues, so there's no use
    in allocating multiple, use alloc_netdev_mqs() to
    allocate multiple TX but only one RX queue.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • mac80211 maintains a running average of the RSSI when a STA
    is associated to an AP. Report threshold events to any driver
    that has registered callbacks for getting RSSI measurements.

    Implement callbacks in mac80211 so that driver can set thresholds.
    Add callbacks in mac80211 which is invoked when an RSSI threshold
    event occurs.

    mac80211: add tracing to rssi_reports api and remove extraneous fn argument
    mac80211: scale up rssi thresholds from driver by 16 before storing

    Signed-off-by: Meenakshi Venkataraman
    Signed-off-by: Wey-Yi Guy
    Signed-off-by: John W. Linville

    Meenakshi Venkataraman
     
  • Conflicts:
    net/bluetooth/l2cap_core.c

    John W. Linville
     
  • Conflicts:
    drivers/net/wireless/ath/ath5k/sysfs.c
    net/bluetooth/l2cap_core.c
    net/mac80211/wpa.c

    John W. Linville
     

11 Jul, 2011

3 commits

  • We need to make sure the multiplier is odd.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • And mask the hash function result by simply shifting
    down the "->hash_shift" most significant bits.

    Currently which bits we use is arbitrary since jhash
    produces entropy evenly across the whole hash function
    result.

    But soon we'll be using universal hashing functions,
    and in those cases more entropy exists in the higher
    bits than the lower bits, because they use multiplies.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • There can 3 reasons for the "command reject" reply produced
    by the stack. Each such reply should be accompanied by the
    relevand data ( as defined in spec. ). Currently there is one
    instance of "command reject" reply with reason "invalid cid"
    wich is fixed. Also, added clean-up definitions related to the
    "command reject" replies.

    Signed-off-by: Ilia Kolomisnky
    Signed-off-by: Gustavo F. Padovan

    Ilia Kolomisnky
     

09 Jul, 2011

4 commits