02 Aug, 2008

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (46 commits)
    tcp: MD5: Fix IPv6 signatures
    skbuff: add missing kernel-doc for do_not_encrypt
    net/ipv4/route.c: fix build error
    tcp: MD5: Fix MD5 signatures on certain ACK packets
    ipv6: Fix ip6_xmit to send fragments if ipfragok is true
    ipvs: Move userspace definitions to include/linux/ip_vs.h
    netdev: Fix lockdep warnings in multiqueue configurations.
    netfilter: xt_hashlimit: fix race between htable_destroy and htable_gc
    netfilter: ipt_recent: fix race between recent_mt_destroy and proc manipulations
    netfilter: nf_conntrack_tcp: decrease timeouts while data in unacknowledged
    irda: replace __FUNCTION__ with __func__
    nsc-ircc: default to dongle type 9 on IBM hardware
    bluetooth: add quirks for a few hci_usb devices
    hysdn: remove the packed attribute from PofTimStamp_tag
    isdn: use the common ascii hex helpers
    tg3: adapt tg3 to use reworked PCI PM code
    atm: fix direct casts of pointers to u32 in the InterPhase driver
    atm: fix const assignment/discard warnings in the ATM networking driver
    net: use the common ascii hex helpers
    random32: seeding improvement
    ...

    Linus Torvalds
     

01 Aug, 2008

6 commits

  • Signed-off-by: Al Viro

    Al Viro
     
  • Reported by Stefanos Harhalakis; although 2.6.27-rc1 talks to itself using IPv6
    TCP MD5 packets just fine, Stefanos noted that tcpdump claimed that the
    signatures were invalid.

    I broke this in 49a72dfb8814c2d65bd9f8c9c6daf6395a1ec58d ("tcp: Fix MD5
    signatures for non-linear skbs"), it was just a typo.

    Note that tcpdump will still sometimes claim that the signatures are incorrect.
    A patch to tcpdump has been submitted for this[1].

    [1] http://tinyurl.com/6a4fl2

    Signed-off-by: Adam Langley
    Signed-off-by: David S. Miller

    Adam Langley
     
  • fix:

    net/ipv4/route.c: In function 'ip_static_sysctl_init':
    net/ipv4/route.c:3225: error: 'ipv4_route_path' undeclared (first use in this function)
    net/ipv4/route.c:3225: error: (Each undeclared identifier is reported only once
    net/ipv4/route.c:3225: error: for each function it appears in.)
    net/ipv4/route.c:3225: error: 'ipv4_route_table' undeclared (first use in this function)

    Signed-off-by: Ingo Molnar
    Signed-off-by: David S. Miller

    Ingo Molnar
     
  • I noticed, looking at tcpdumps, that timewait ACKs were getting sent
    with an incorrect MD5 signature when signatures were enabled.

    I broke this in 49a72dfb8814c2d65bd9f8c9c6daf6395a1ec58d ("tcp: Fix
    MD5 signatures for non-linear skbs"). I didn't take into account that
    the skb passed to tcp_*_send_ack was the inbound packet, thus the
    source and dest addresses need to be swapped when calculating the MD5
    pseudoheader.

    Signed-off-by: Adam Langley
    Signed-off-by: David S. Miller

    Adam Langley
     
  • SCTP used ip6_xmit() to send fragments after received ICMP packet too
    big message. But while send packet used ip6_xmit, the skb->local_df is
    not initialized. So when skb if enter ip6_fragment(), the following
    code will discard the skb.

    ip6_fragment(...)
    {
    if (!skb->local_df) {
    ...
    return -EMSGSIZE;
    }
    ...
    }

    SCTP do the following step:
    1. send packet ip6_xmit(skb, ipfragok=0)
    2. received ICMP packet too big message
    3. if PMTUD_ENABLE: ip6_xmit(skb, ipfragok=1)

    This patch fixed the problem by set local_df if ipfragok is true.

    Signed-off-by: Wei Yongjun
    Acked-by: Herbert Xu
    Signed-off-by: David S. Miller

    Wei Yongjun
     
  • When support for multiple TX queues were added, the
    netif_tx_lock() routines we converted to iterate over
    all TX queues and grab each queue's spinlock.

    This causes heartburn for lockdep and it's not a healthy
    thing to do with lots of TX queues anyways.

    So modify this to use a top-level lock and a "frozen"
    state for the individual TX queues.

    Signed-off-by: David S. Miller

    David S. Miller
     

31 Jul, 2008

6 commits

  • Deleting a timer with del_timer doesn't guarantee, that the
    timer function is not running at the moment of deletion. Thus
    in the xt_hashlimit case we can get into a ticklish situation
    when the htable_gc rearms the timer back and we'll actually
    delete an entry with a pending timer.

    Fix it with using del_timer_sync().

    AFAIK del_timer_sync checks for the timer to be pending by
    itself, so I remove the check.

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

    Pavel Emelyanov
     
  • The thing is that recent_mt_destroy first flushes the entries
    from table with the recent_table_flush and only *after* this
    removes the proc file, corresponding to that table.

    Thus, if we manage to write to this file the '+XXX' command we
    will leak some entries. If we manage to write there a 'clean'
    command we'll race in two recent_table_flush flows, since the
    recent_mt_destroy calls this outside the recent_lock.

    The proper solution as I see it is to remove the proc file first
    and then go on with flushing the table. This flushing becomes
    safe w/o the lock, since the table is already inaccessible from
    the outside.

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

    Pavel Emelyanov
     
  • In order to time out dead connections quicker, keep track of outstanding data
    and cap the timeout.

    Suggested by Herbert Xu.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • Fix const assignment/discard warnings in the ATM networking driver.

    The lane2_assoc_ind() function needed its arguments changing to match changes
    in the lane2_ops struct (patch 61c33e012964ce358b42d2a1e9cd309af5dab02b
    "atm: use const where reasonable").

    Signed-off-by: David Howells
    Acked-by: Chas Williams
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    David Howells
     
  • Signed-off-by: Harvey Harrison
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Harvey Harrison
     
  • When bridging interfaces with different MTUs, the bridge correctly chooses
    the minimum of the MTUs of the physical devices as the bridges MTU. But
    when a frame is passed which fits through the incoming, but not through
    the outgoing interface, a "Fragmentation Needed" packet is generated.

    However, the propagated MTU is hardcoded to 1500, which is wrong in this
    situation. The sender will repeat the packet again with the same frame
    size, and the same problem will occur again.

    Instead of sending 1500, the (correct) MTU value of the bridge is now sent
    via PMTU. To achieve this, the corresponding rtable structure is stored
    in its net_bridge structure.

    Modified to get rid of fake_net_device as well.

    Signed-off-by: Simon Wunderlich
    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Simon Wunderlich
     

30 Jul, 2008

17 commits


29 Jul, 2008

2 commits


28 Jul, 2008

1 commit

  • Piss-poor sysctl registration API strikes again, film at 11...

    What we really need is _pathname_ required to be present in already
    registered table, so that kernel could warn about bad order. That's the
    next target for sysctl stuff (and generally saner and more explicit
    order of initialization of ipv[46] internals wouldn't hurt either).

    For the time being, here are full fixups required by ..._rotable()
    stuff; we make per-net sysctl sets descendents of "ro" one and make sure
    that sufficient skeleton is there before we start registering per-net
    sysctls.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

27 Jul, 2008

7 commits

  • David S. Miller
     
  • Piss-poor sysctl registration API strikes again, film at 11...
    What we really need is _pathname_ required to be present in
    already registered table, so that kernel could warn about bad
    order. That's the next target for sysctl stuff (and generally
    saner and more explicit order of initialization of ipv[46]
    internals wouldn't hurt either).

    For the time being, here are full fixups required by ..._rotable()
    stuff; we make per-net sysctl sets descendents of "ro" one and
    make sure that sufficient skeleton is there before we start registering
    per-net sysctls.

    Signed-off-by: Al Viro
    Signed-off-by: David S. Miller

    Al Viro
     
  • David S. Miller
     
  • net/ipv4/ipcomp.c: In function ‘ipcomp4_init_state’:
    net/ipv4/ipcomp.c:109: warning: unused variable ‘calg_desc’
    net/ipv4/ipcomp.c:108: warning: unused variable ‘ipcd’
    net/ipv4/ipcomp.c:107: warning: ‘err’ may be used uninitialized in this function
    net/ipv6/ipcomp6.c: In function ‘ipcomp6_init_state’:
    net/ipv6/ipcomp6.c:139: warning: unused variable ‘calg_desc’
    net/ipv6/ipcomp6.c:138: warning: unused variable ‘ipcd’
    net/ipv6/ipcomp6.c:137: warning: ‘err’ may be used uninitialized in this function

    Signed-off-by: David S. Miller

    David S. Miller
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (39 commits)
    [PATCH] fix RLIM_NOFILE handling
    [PATCH] get rid of corner case in dup3() entirely
    [PATCH] remove remaining namei_{32,64}.h crap
    [PATCH] get rid of indirect users of namei.h
    [PATCH] get rid of __user_path_lookup_open
    [PATCH] f_count may wrap around
    [PATCH] dup3 fix
    [PATCH] don't pass nameidata to __ncp_lookup_validate()
    [PATCH] don't pass nameidata to gfs2_lookupi()
    [PATCH] new (local) helper: user_path_parent()
    [PATCH] sanitize __user_walk_fd() et.al.
    [PATCH] preparation to __user_walk_fd cleanup
    [PATCH] kill nameidata passing to permission(), rename to inode_permission()
    [PATCH] take noexec checks to very few callers that care
    Re: [PATCH 3/6] vfs: open_exec cleanup
    [patch 4/4] vfs: immutable inode checking cleanup
    [patch 3/4] fat: dont call notify_change
    [patch 2/4] vfs: utimes cleanup
    [patch 1/4] vfs: utimes: move owner check into inode_change_ok()
    [PATCH] vfs: use kstrdup() and check failing allocation
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    netns: fix ip_rt_frag_needed rt_is_expired
    netfilter: nf_conntrack_extend: avoid unnecessary "ct->ext" dereferences
    netfilter: fix double-free and use-after free
    netfilter: arptables in netns for real
    netfilter: ip{,6}tables_security: fix future section mismatch
    selinux: use nf_register_hooks()
    netfilter: ebtables: use nf_register_hooks()
    Revert "pkt_sched: sch_sfq: dump a real number of flows"
    qeth: use dev->ml_priv instead of dev->priv
    syncookies: Make sure ECN is disabled
    net: drop unused BUG_TRAP()
    net: convert BUG_TRAP to generic WARN_ON
    drivers/net: convert BUG_TRAP to generic WARN_ON

    Linus Torvalds
     
  • make it atomic_long_t; while we are at it, get rid of useless checks in affs,
    hfs and hpfs - ->open() always has it equal to 1, ->release() - to 0.

    Signed-off-by: Al Viro

    Al Viro