1. 22 Jul, 2008 16 commits
  2. 21 Jul, 2008 24 commits
    • David S. Miller's avatar
      ipv6: __KERNEL__ ifdef struct ipv6_devconf · ebb36a97
      David S. Miller authored
      Based upon a report by Olaf Hering.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ebb36a97
    • Gerrit Renker's avatar
      udplite: Protection against coverage value wrap-around · 47112e25
      Gerrit Renker authored
      This patch clamps the cscov setsockopt values to a maximum of 0xFFFF.
      
      Setsockopt values greater than 0xffff can cause an unwanted
      wrap-around.  Further, IPv6 jumbograms are not supported (RFC 3838,
      3.5), so that values greater than 0xffff are not even useful.
      
      Further changes: fixed a typo in the documentation.
      Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      47112e25
    • Arjan van de Ven's avatar
      net: Print the module name as part of the watchdog message · 6579e57b
      Arjan van de Ven authored
      As suggested by Dave:
      
      This patch adds a function to get the driver name from a struct net_device,
      and consequently uses this in the watchdog timeout handler to print as 
      part of the message. 
      Signed-off-by: default avatarArjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6579e57b
    • Stephen Hemminger's avatar
      net: use kcalloc in netdev_queue alloc · 7943986c
      Stephen Hemminger authored
      Minor nit, use size_t for allocation size and kcalloc to allocate
      an array. Probably makes no actual code difference.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7943986c
    • Stephen Hemminger's avatar
      ipv6: use timer pending · 847499ce
      Stephen Hemminger authored
      This fixes the bridge reference count problem and cleanups ipv6 FIB
      timer management.  Don't use expires field, because it is not a proper
      way to test, instead use timer_pending().
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      847499ce
    • Ian Schram's avatar
      mac80211_hwsim.c: fix: BUG: unable to handle kernel NULL pointer dereference at 0000000000000370 · 3a33cc10
      Ian Schram authored
      I was looking at this out of interest, but I'm in no way familiar with
      the code.
      
      Looks to me that the error handling code in mac80211_hwsim is awkward.
      Which leads to it calling ieee80211_unregister_hw even when
      ieee80211_register_hw failed.
      
      The function has a for loop where it generates all simulated radios.
      when something fails, the error handling will call mac80211_hwsim_free
      which frees all simulated radios who's pointer isn't zero. However the
      information stored is insufficient to determine whether or not the call
      to ieee80211_register_hw succeeded or not for a specific radio. The
      included patch makes init_mac80211_hwsim clean up the current simulated
      radio, and then calls into mac80211_hwsim_free to clean up all the
      radios that did succeed.
      
      This however doesn't explain why the rate control registration failed..
      build tested this, but had some problems reproducing the original
      problem.
      Signed-off-by: default avatarIan Schram <ischram@telenet.be>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3a33cc10
    • Patrick McHardy's avatar
      netfilter: nf_conntrack_sctp: fix sparse warnings · 5547cd0a
      Patrick McHardy authored
      Introduced by a258860e (netfilter: ctnetlink: add full support for SCTP to ctnetlink):
      
      net/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type
      net/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: incorrect type in argument 1 (different base types)
      net/netfilter/nf_conntrack_proto_sctp.c:483:2:    expected unsigned int [unsigned] [usertype] x
      net/netfilter/nf_conntrack_proto_sctp.c:483:2:    got restricted unsigned int const <noident>
      net/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type
      net/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type
      net/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type
      net/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type
      net/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type
      net/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: incorrect type in argument 1 (different base types)
      net/netfilter/nf_conntrack_proto_sctp.c:487:2:    expected unsigned int [unsigned] [usertype] x
      net/netfilter/nf_conntrack_proto_sctp.c:487:2:    got restricted unsigned int const <noident>
      net/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type
      net/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type
      net/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type
      net/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type
      net/netfilter/nf_conntrack_proto_sctp.c:532:42: warning: incorrect type in assignment (different base types)
      net/netfilter/nf_conntrack_proto_sctp.c:532:42:    expected restricted unsigned int <noident>
      net/netfilter/nf_conntrack_proto_sctp.c:532:42:    got unsigned int
      net/netfilter/nf_conntrack_proto_sctp.c:534:39: warning: incorrect type in assignment (different base types)
      net/netfilter/nf_conntrack_proto_sctp.c:534:39:    expected restricted unsigned int <noident>
      net/netfilter/nf_conntrack_proto_sctp.c:534:39:    got unsigned int
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5547cd0a
    • Herbert Xu's avatar
      netfilter: nf_nat_sip: c= is optional for session · c71529e4
      Herbert Xu authored
      According to RFC2327, the connection information is optional
      in the session description since it can be specified in the
      media description instead.
      
      My provider does exactly that and does not provide any connection
      information in the session description.  As a result the new
      kernel drops all invite responses.
      
      This patch makes it optional as documented.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c71529e4
    • Jan Engelhardt's avatar
    • Eric Leblond's avatar
      netfilter: nfnetlink_log: send complete hardware header · 72961ecf
      Eric Leblond authored
      This patch adds some fields to NFLOG to be able to send the complete
      hardware header with all necessary informations.
      It sends to userspace:
       * the type of hardware link
       * the lenght of hardware header
       * the hardware header
      Signed-off-by: default avatarEric Leblond <eric@inl.fr>
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      72961ecf
    • David Howells's avatar
      netfilter: xt_time: fix time's time_mt()'s use of do_div() · 280763c0
      David Howells authored
      Fix netfilter xt_time's time_mt()'s use of do_div() on an s64 by using
      div_s64() instead.
      
      This was introduced by patch ee4411a1
      ("[NETFILTER]: x_tables: add xt_time match").
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      280763c0
    • Krzysztof Piotr Oledzki's avatar
      netfilter: accounting rework: ct_extend + 64bit counters (v4) · 58401572
      Krzysztof Piotr Oledzki authored
      Initially netfilter has had 64bit counters for conntrack-based accounting, but
      it was changed in 2.6.14 to save memory. Unfortunately in-kernel 64bit counters are
      still required, for example for "connbytes" extension. However, 64bit counters
      waste a lot of memory and it was not possible to enable/disable it runtime.
      
      This patch:
       - reimplements accounting with respect to the extension infrastructure,
       - makes one global version of seq_print_acct() instead of two seq_print_counters(),
       - makes it possible to enable it at boot time (for CONFIG_SYSCTL/CONFIG_SYSFS=n),
       - makes it possible to enable/disable it at runtime by sysctl or sysfs,
       - extends counters from 32bit to 64bit,
       - renames ip_conntrack_counter -> nf_conn_counter,
       - enables accounting code unconditionally (no longer depends on CONFIG_NF_CT_ACCT),
       - set initial accounting enable state based on CONFIG_NF_CT_ACCT
       - removes buggy IPCT_COUNTER_FILLING event handling.
      
      If accounting is enabled newly created connections get additional acct extend.
      Old connections are not changed as it is not possible to add a ct_extend area
      to confirmed conntrack. Accounting is performed for all connections with
      acct extend regardless of a current state of "net.netfilter.nf_conntrack_acct".
      Signed-off-by: default avatarKrzysztof Piotr Oledzki <ole@ans.pl>
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      58401572
    • Krzysztof Piotr Oledzki's avatar
      netlink: add NLA_PUT_BE64 macro · 07a7c107
      Krzysztof Piotr Oledzki authored
      Add NLA_PUT_BE64 macro required for 64bit counters in netfilter
      Signed-off-by: default avatarKrzysztof Piotr Oledzki <ole@ans.pl>
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      07a7c107
    • Changli Gao's avatar
    • Micah Dowty's avatar
      hdlcdrv: Fix CRC calculation. · ae6134bd
      Micah Dowty authored
      This is a trivial patch against the hdlcdrv module that fixes its CRC
      calculation. The finished CRC was overwriting the first two bytes of
      each packet rather than being appended to the end.
      
      I've tested this with 2.6.8 and 2.6.10-rc1, but hdlcdrv hasn't changed
      much recently so it should work with many other kernel versions.
      Signed-off-by: default avatarMicah Dowty <micah@navi.cx>
      Acked-by: default avatarThomas Sailer <t.sailer@alumni.ethz.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ae6134bd
    • David S. Miller's avatar
      Revert "pkt_sched: Make default qdisc nonshared-multiqueue safe." · d3678b46
      David S. Miller authored
      This reverts commit a0c80b80.
      
      After discussions with Jamal and Herbert on netdev, we should
      provide at least minimal prioritization at the qdisc level
      even in multiqueue situations.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d3678b46
    • Linus Torvalds's avatar
    • David S. Miller's avatar
      net: Improve simple_tx_hash(). · b6b2fed1
      David S. Miller authored
      Based upon feedback from Eric Dumazet and Andi Kleen.
      
      Cure several deficiencies in simple_tx_hash() by using
      jhash + reciprocol multiply.
      
      1) Eliminates expensive modulus operation.
      
      2) Makes hash less attackable by using random seed.
      
      3) Eliminates endianness hash distribution issues.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b6b2fed1
    • Daniel Lezcano's avatar
      pkt_sched: Remove unused variable skb in dev_deactivate_queue function. · c3ee8416
      Daniel Lezcano authored
      Removed unused variable 'skb' in the dev_deactivate_queue function
      Signed-off-by: default avatarDaniel Lezcano <dlezcano@fr.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c3ee8416
    • David S. Miller's avatar
      sunhme: Remove stop/wake TX queue calls in set-multicast-list handler. · fd24c4af
      David S. Miller authored
      Based upon a bug report by Alexander Beregalov and commentary
      from Ben Hutchings.
      
      These are totally unnecessary, in particular because this
      driver's ->hard_start_xmit() handler takes the same driver
      spinlock that the set-multicast-list handler uses.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fd24c4af
    • Anton Vorontsov's avatar
      ucc_geth: do not touch net queue in adjust_link phylib callback · ebbdbd7c
      Anton Vorontsov authored
      If the net queue has not been started, we'll get this nice oops
      and non-working ethernet:
      
      ------------[ cut here ]------------
      Kernel BUG at c01f4648 [verbose debug info unavailable]
      Oops: Exception in kernel mode, sig: 5 [#1]
      MPC836x RDK
      Modules linked in:
      NIP: c01f4648 LR: c01c0a10 CTR: c01c08e4
      REGS: cf839e40 TRAP: 0700   Not tainted  (2.6.26-05254-gc7b9969)
      MSR: 00021032 <ME,IR,DR>  CR: 22042044  XER: 00000000
      TASK = cf828c30[4] 'events/0' THREAD: cf838000
      GPR00: c01c0a10 cf839ef0 cf828c30 c035ceb0 cf8469a0 00000064 00000000 00000000
      GPR08: c035ceb0 00000001 00000001 cf99c280 22044044 7ca81020 0fffc000 00000000
      GPR16: 0fff2544 0fff63c0 00000000 0fff78e0 0ffa5580 00000004 00000000 00000000
      GPR24: 02082000 cf9d0000 d1068000 00009032 cf846800 cf846b80 00000001 00000014
      NIP [c01f4648] __netif_schedule+0x28/0x8c
      LR [c01c0a10] adjust_link+0x12c/0x1e4
      Call Trace:
      [cf839ef0] [c0380f50] 0xc0380f50 (unreliable)
      [cf839f10] [c01c0a10] adjust_link+0x12c/0x1e4
      [cf839f40] [c01c2628] phy_state_machine+0x2e0/0x448
      [cf839f60] [c00425e8] run_workqueue+0xc8/0x168
      [cf839f90] [c0042c6c] worker_thread+0x70/0xd0
      [cf839fd0] [c0046954] kthread+0x48/0x84
      [cf839ff0] [c0012488] kernel_thread+0x44/0x60
      Instruction dump:
      7c0803a6 4e800020 3d20c036 9421ffe0 7c0802a6 7c681b78 3929ceb0 7c694a78
      7d290034 90010024 bfa10014 5529d97e <0f090000> 39600002 38030024 7d200028
      ---[ end trace a57d367843bd2904 ]---
      
      Since the driver is using phylib (which is doing netif_carrier_on/off()),
      we should simply remove netif_tx_schedule_all() from adjust_link().
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ebbdbd7c
    • Anton Vorontsov's avatar
      gianfar: do not touch net queue in adjust_link phylib callback · afc07946
      Anton Vorontsov authored
      If the net queue has not been started, we'll get this nice oops
      and non-working ethernet:
      
      PHY: 0:01 - Link is Up - 1000/Full
      ------------[ cut here ]------------
      kernel BUG at net/core/dev.c:1328!
      Oops: Exception in kernel mode, sig: 5 [#1]
      MPC837x RDB
      Modules linked in:
      NIP: c02544a0 LR: c01a17d0 CTR: c01a16ac
      REGS: cf837e40 TRAP: 0700   Not tainted  (2.6.26-05253-g14b395e3)
      MSR: 00021032 <ME,IR,DR>  CR: 22042044  XER: 00000000
      TASK = cf819400[5] 'events/0' THREAD: cf836000
      GPR00: c01a17d0 cf837ef0 cf819400 c03d8d08 cf8469a0 00000064 00000000 00000000
      GPR08: c03d8d08 00000001 00000001 cf899ba0 22044044 00000000 0fffd000 00000000
      GPR16: 0fff3028 0fff6cf0 00000000 0fff8390 0ff494a0 00000004 00000000 00000000
      GPR24: c0361a00 00001058 cf9f6600 00009032 cf846800 cf846b80 00000001 00000014
      NIP [c02544a0] __netif_schedule+0x28/0x8c
      LR [c01a17d0] adjust_link+0x124/0x1cc
      Call Trace:
      [cf837ef0] [c03fb3a0] 0xc03fb3a0 (unreliable)
      [cf837f10] [c01a17d0] adjust_link+0x124/0x1cc
      [cf837f40] [c01a8e28] phy_state_machine+0x2e0/0x448
      [cf837f60] [c0040254] run_workqueue+0xc8/0x168
      [cf837f90] [c00408d8] worker_thread+0x70/0xd0
      [cf837fd0] [c0044630] kthread+0x48/0x84
      [cf837ff0] [c0012610] kernel_thread+0x44/0x60
      Instruction dump:
      7c0803a6 4e800020 3d20c03e 9421ffe0 7c0802a6 7c681b78 39298d08 7c694a78
      7d290034 90010024 bfa10014 5529d97e <0f090000> 39600002 38030024 7d200028
      ---[ end trace 13dfd73ee42d0c30 ]---
      
      Since the driver is using phylib (which is doing netif_carrier_on/off()),
      we should simply remove netif_tx_schedule_all() from adjust_link().
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      afc07946
    • David S. Miller's avatar
      atl1: Do not wake queue before queue has been started. · 39d48157
      David S. Miller authored
      Based upon a bug report by Alexey Dobriyan, the patch is
      also tested by him and confirmed to fix the problem.
      
      Packet flow during link state events should not be done by
      waking and stopping the TX queue anyways, that is handled
      transparently by netif_carrier_{on,off}().
      
      So, remove the netif_{wake,stop}_queue() calls in the link
      check code, and add the necessary netif_start_queue() call
      to atl1_up().
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      39d48157
    • Linus Torvalds's avatar
      Merge branch 'for-2.6.27' of git://linux-nfs.org/~bfields/linux · 14b395e3
      Linus Torvalds authored
      * 'for-2.6.27' of git://linux-nfs.org/~bfields/linux: (51 commits)
        nfsd: nfs4xdr.c do-while is not a compound statement
        nfsd: Use C99 initializers in fs/nfsd/nfs4xdr.c
        lockd: Pass "struct sockaddr *" to new failover-by-IP function
        lockd: get host reference in nlmsvc_create_block() instead of callers
        lockd: minor svclock.c style fixes
        lockd: eliminate duplicate nlmsvc_lookup_host call from nlmsvc_lock
        lockd: eliminate duplicate nlmsvc_lookup_host call from nlmsvc_testlock
        lockd: nlm_release_host() checks for NULL, caller needn't
        file lock: reorder struct file_lock to save space on 64 bit builds
        nfsd: take file and mnt write in nfs4_upgrade_open
        nfsd: document open share bit tracking
        nfsd: tabulate nfs4 xdr encoding functions
        nfsd: dprint operation names
        svcrdma: Change WR context get/put to use the kmem cache
        svcrdma: Create a kmem cache for the WR contexts
        svcrdma: Add flush_scheduled_work to module exit function
        svcrdma: Limit ORD based on client's advertised IRD
        svcrdma: Remove unused wait q from svcrdma_xprt structure
        svcrdma: Remove unneeded spin locks from __svc_rdma_free
        svcrdma: Add dma map count and WARN_ON
        ...
      14b395e3