29 Apr, 2008

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    iwlwifi: Allow building iwl3945 without iwl4965.
    wireless: Fix compile error with wifi & leds
    tcp: Fix slab corruption with ipv6 and tcp6fuzz
    ipv4/ipv6 compat: Fix SSM applications on 64bit kernels.
    [IPSEC]: Use digest_null directly for auth
    sunrpc: fix missing kernel-doc
    can: Fix copy_from_user() results interpretation
    Revert "ipv6: Fix typo in net/ipv6/Kconfig"
    tipc: endianness annotations
    ipv6: result of csum_fold() is already 16bit, no need to cast
    [XFRM] AUDIT: Fix flowlabel text format ambibuity.

    Linus Torvalds
     

28 Apr, 2008

1 commit


24 Apr, 2008

1 commit

  • This adds IPv6 support to the interfaces that are used to express nfsd
    exports. All addressed are stored internally as IPv6; backwards
    compatibility is maintained using mapped addresses.

    Thanks to Bruce Fields, Brian Haley, Neil Brown and Hideaki Joshifuji
    for comments

    Signed-off-by: Aurelien Charbon
    Cc: Neil Brown
    Cc: Brian Haley
    Cc: YOSHIFUJI Hideaki / 吉藤英明
    Signed-off-by: J. Bruce Fields

    Aurélien Charbon
     

22 Apr, 2008

1 commit

  • As it stands it's impossible to use any authentication algorithms
    with an ID above 31 portably. It just happens to work on x86 but
    fails miserably on ppc64.

    The reason is that we're using a bit mask to check the algorithm
    ID but the mask is only 32 bits wide.

    After looking at how this is used in the field, I have concluded
    that in the long term we should phase out state matching by IDs
    because this is made superfluous by the reqid feature. For current
    applications, the best solution IMHO is to allow all algorithms when
    the bit masks are all ~0.

    The following patch does exactly that.

    This bug was identified by IBM when testing on the ppc64 platform
    using the NULL authentication algorithm which has an ID of 251.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     

18 Apr, 2008

2 commits

  • This deblats ~200 bytes when ipv6 and dccp are 'y'.

    Besides, this will ease compilation issues for patches
    I'm working on to make inet hash tables more scalable
    wrt net namespaces.

    Signed-off-by: Pavel Emelyanov
    Signed-off-by: David S. Miller

    Pavel Emelyanov
     
  • As I can see from the code, two places (tcp_v6_syn_recv_sock and
    dccp_v6_request_recv_sock) that call this one already run with
    BHs disabled, so it's safe to call __inet_inherit_port there.

    Besides (in case I missed smth with code review) the calltrace
    tcp_v6_syn_recv_sock
    `- tcp_v4_syn_recv_sock
    `- __inet_inherit_port
    and the similar for DCCP are valid, but assumes BHs to be disabled.

    Signed-off-by: Pavel Emelyanov
    Signed-off-by: David S. Miller

    Pavel Emelyanov
     

17 Apr, 2008

1 commit

  • There is no need to send BSS changes to driver from beacons processed
    during scanning. We are more interested in beacons from an AP with which
    we are associated - these will still be used to send updates to driver as
    the beacons are received without scanning.

    This change·removes the requirement that bss_info_changed needs to be atomic.
    The beacons received during scanning are processed from a tasklet, but if we
    do not call bss_info_changed for these beacons there is no need for it to be
    atomic. This function (bss_info_changed) is called either from workqueue or
    ioctl in all other instances.

    Signed-off-by: Reinette Chatre
    Acked-by: Tomas Winkler
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Reinette Chatre
     

16 Apr, 2008

5 commits


15 Apr, 2008

4 commits

  • Add the elastic array of void * pointer to the struct net.
    The access rules are simple:

    1. register the ops with register_pernet_gen_device to get
    the id of your private pointer
    2. call net_assign_generic() to put the private data on the
    struct net (most preferably this should be done in the
    ->init callback of the ops registered)
    3. do not store any private reference on the net_generic array;
    4. do not change this pointer while the net is alive;
    5. use the net_generic() to get the pointer.

    When adding a new pointer, I copy the old array, replace it
    with a new one and schedule the old for kfree after an RCU
    grace period.

    Since the net_generic explores the net->gen array inside rcu
    read section and once set the net->gen->ptr[x] pointer never
    changes, this grants us a safe access to generic pointers.

    Quoting Paul: "... RCU is protecting -only- the net_generic
    structure that net_generic() is traversing, and the [pointer]
    returned by net_generic() is protected by a reference counter
    in the upper-level struct net."

    Signed-off-by: Pavel Emelyanov
    Acked-by: Paul E. McKenney
    Signed-off-by: David S. Miller

    Pavel Emelyanov
     
  • To make some per-net generic pointers, we need some way to address
    them, i.e. - IDs. This is simple IDA-based IDs generator for pernet
    subsystems.

    Addressing questions about potential checkpoint/restart problems:
    these IDs are "lite-offsets" within the net structure and are by no
    means supposed to be exported to the userspace.

    Since it will be used in the nearest future by devices only (tun,
    vlan, tunnels, bridge, etc), I make it resemble the functionality
    of register_pernet_device().

    The new ids is stored in the *id pointer _before_ calling the init
    callback to make this id available in this callback.

    Signed-off-by: Pavel Emelyanov
    Signed-off-by: David S. Miller

    Pavel Emelyanov
     
  • Even kernel 2.2.26 (sic) already contains the
    #undef CONFIG_IRLAN_SEND_GRATUITOUS_ARP
    with the comment "but for some reason the machine crashes if you use DHCP".

    Either someone finally looks into this or it's simply time to remove
    this dead code.

    Reported-by: Robert P. J. Day
    Signed-off-by: Adrian Bunk
    Signed-off-by: David S. Miller

    Adrian Bunk
     
  • This patch modifies TIPC's socket code to follow the same approach
    used by other protocols. This change eliminates the need for a
    mutex in the TIPC-specific portion of the socket protocol data
    structure -- in its place, the standard Linux socket backlog queue
    and associated locking routines are utilized. These changes fix
    a long-standing receive queue bug on SMP systems, and also enable
    individual read and write threads to utilize a socket without
    unnecessarily interfering with each other.

    Signed-off-by: Allan Stephens
    Signed-off-by: David S. Miller

    Allan Stephens
     

14 Apr, 2008

24 commits