1. 06 1月, 2011 2 次提交
    • D
      af_unix: Avoid socket->sk NULL OOPS in stream connect security hooks. · 3610cda5
      David S. Miller 提交于
      unix_release() can asynchornously set socket->sk to NULL, and
      it does so without holding the unix_state_lock() on "other"
      during stream connects.
      
      However, the reverse mapping, sk->sk_socket, is only transitioned
      to NULL under the unix_state_lock().
      
      Therefore make the security hooks follow the reverse mapping instead
      of the forward mapping.
      Reported-by: NJeremy Fitzhardinge <jeremy@goop.org>
      Reported-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3610cda5
    • E
      net_sched: pfifo_head_drop problem · 44b82883
      Eric Dumazet 提交于
      commit 57dbb2d8 (sched: add head drop fifo queue)
      introduced pfifo_head_drop, and broke the invariant that
      sch->bstats.bytes and sch->bstats.packets are COUNTER (increasing
      counters only)
      
      This can break estimators because est_timer() handles unsigned deltas
      only. A decreasing counter can then give a huge unsigned delta.
      
      My mid term suggestion would be to change things so that
      sch->bstats.bytes and sch->bstats.packets are incremented in dequeue()
      only, not at enqueue() time. We also could add drop_bytes/drop_packets
      and provide estimations of drop rates.
      
      It would be more sensible anyway for very low speeds, and big bursts.
      Right now, if we drop packets, they still are accounted in byte/packets
      abolute counters and rate estimators.
      
      Before this mid term change, this patch makes pfifo_head_drop behavior
      similar to other qdiscs in case of drops :
      Dont decrement sch->bstats.bytes and sch->bstats.packets
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Acked-by: NHagen Paul Pfeifer <hagen@jauu.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      44b82883
  2. 05 1月, 2011 11 次提交
  3. 04 1月, 2011 18 次提交
    • M
      cnic: Do not call bnx2i when bnx2i is calling cnic_unregister_driver() · 42bb8d56
      Michael Chan 提交于
      We should call bnx2i to send the iSCSI netlink message earlier in
      cnic_unregister_device().  By the time cnic_unregister_driver() is
      called, bnx2i may have freed data structures used by the upcalls.
      
      Update version to 2.2.12.
      Reviewed-by: NBenjamin Li <benli@broadcom.com>
      Signed-off-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      42bb8d56
    • M
      cnic: Do not allow iSCSI and FCoE on bnx2x multi-function mode · 57045c99
      Michael Chan 提交于
      Because the hardware does not yet support these in this mode.
      Reviewed-by: NBenjamin Li <benli@broadcom.com>
      Signed-off-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      57045c99
    • T
      net/bridge: fix trivial sparse errors · 1a9180a2
      Tomas Winkler 提交于
      net/bridge//br_stp_if.c:148:66: warning: conversion of
      net/bridge//br_stp_if.c:148:66:     int to
      net/bridge//br_stp_if.c:148:66:     int enum umh_wait
      
      net/bridge//netfilter/ebtables.c:1150:30: warning: Using plain integer as NULL pointer
      Signed-off-by: NTomas Winkler <tomas.winkler@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1a9180a2
    • S
      depca: Fix section mismatch derived from depca_isa_probe() · ebd80880
      Sedat Dilek 提交于
      This fixes the following warning:
      
      WARNING: drivers/net/depca.o(.data+0x0): Section mismatch in reference from the variable depca_isa_driver to the function .init.text:depca_isa_probe()
      The variable depca_isa_driver references
      the function __init depca_isa_probe()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
      
      Tested with linux-next (next-20101231)
      Signed-off-by: NSedat Dilek <sedat.dilek@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ebd80880
    • S
      smsc-ircc2: Fix section mismatch derived from smsc_ircc_pnp_probe() · 1170bed0
      Sedat Dilek 提交于
      This fixes the following warning:
      
      drivers/net/irda/smsc-ircc2.o(.data+0x18): Section mismatch in reference from the variable smsc_ircc_pnp_driver to the function .init.text:smsc_ircc_pnp_probe()
      The variable smsc_ircc_pnp_driver references
      the function __init smsc_ircc_pnp_probe()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
      
      Tested with linux-next (next-20101231)
      Signed-off-by: NSedat Dilek <sedat.dilek@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1170bed0
    • S
      ksz884x: Fix section mismatch derived from pcidev_init() · cbad8322
      Sedat Dilek 提交于
      This fixes the following warning:
      
      WARNING: drivers/net/ksz884x.o(.data+0x18): Section mismatch in reference from the variable pci_device_driver to the function .init.text:pcidev_init()
      The variable pci_device_driver references
      the function __init pcidev_init()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
      
      Tested with linux-next (next-20101231)
      Signed-off-by: NSedat Dilek <sedat.dilek@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cbad8322
    • E
      ifb: add performance flags · 39980292
      Eric Dumazet 提交于
      Le lundi 03 janvier 2011 à 11:40 -0800, David Miller a écrit :
      > From: Jarek Poplawski <jarkao2@gmail.com>
      > Date: Mon, 3 Jan 2011 20:37:03 +0100
      >
      > > On Sun, Jan 02, 2011 at 09:24:36PM +0100, Eric Dumazet wrote:
      > >> Le mercredi 29 décembre 2010 ?? 00:07 +0100, Jarek Poplawski a écrit :
      > >>
      > >> > Ingress is before vlans handler so these features and the
      > >> > NETIF_F_HW_VLAN_TX flag seem useful for ifb considering
      > >> > dev_hard_start_xmit() checks.
      > >>
      > >> OK, here is v2 of the patch then, thanks everybody.
      > >>
      > >>
      > >> [PATCH v2 net-next-2.6] ifb: add performance flags
      > >>
      > >> IFB can use the full set of features flags (NETIF_F_SG |
      > >> NETIF_F_FRAGLIST | NETIF_F_TSO | NETIF_F_NO_CSUM | NETIF_F_HIGHDMA) to
      > >> avoid unnecessary split of some packets (GRO for example)
      > >>
      > >> Changli suggested to also set vlan_features,
      > >
      > > He also suggested more GSO flags of which especially NETIF_F_TSO6
      > > seems interesting (wrt GRO)?
      >
      > I think at least TSO6 would very much be appropriate here.
      
      Yes, why not, I am only wondering why loopback / dummy (and others ?)
      only set NETIF_F_TSO :)
      
      Since I want to play with ECN, I might also add NETIF_F_TSO_ECN ;)
      
      For other flags, I really doubt it can matter on ifb ?
      
      [PATCH v3 net-next-2.6] ifb: add performance flags
      
      IFB can use the full set of features flags (NETIF_F_SG |
      NETIF_F_FRAGLIST | NETIF_F_TSO | NETIF_F_NO_CSUM | NETIF_F_HIGHDMA) to
      avoid unnecessary split of some packets (GRO for example)
      
      Changli suggested to also set vlan_features, NETIF_F_TSO6,
      NETIF_F_TSO_ECN.
      
      Jarek suggested to add NETIF_F_HW_VLAN_TX as well.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Cc: Changli Gao <xiaosuo@gmail.com>
      Cc: Jarek Poplawski <jarkao2@gmail.com>
      Cc: Pawel Staszewski <pstaszewski@itcare.pl>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      39980292
    • E
      sch_red: report backlog information · 0dfb33a0
      Eric Dumazet 提交于
      Provide child qdisc backlog (byte count) information so that "tc -s
      qdisc" can report it to user.
      
      packet count is already correctly provided.
      
      qdisc red 11: parent 1:11 limit 60Kb min 15Kb max 45Kb ecn
       Sent 3116427684 bytes 1415782 pkt (dropped 8, overlimits 7866 requeues 0)
       rate 242385Kbit 13630pps backlog 13560b 8p requeues 0
        marked 7865 early 1 pdrop 7 other 0
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0dfb33a0
    • S
      dcbnl: more informed return values for new dcbnl routines · 7f891cf1
      Shmulik Ravid 提交于
      More accurate return values for the following (new) dcbnl routines:
      dcbnl_getdcbx()
      dcbnl_setdcbx()
      dcbnl_getfeatcfg()
      dcbnl_setfeatcfg()
      Signed-off-by: NShmulik Ravid <shmulikr@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7f891cf1
    • F
      bridge: stp: ensure mac header is set · e6f26129
      Florian Westphal 提交于
      commit bf9ae538
      (llc: use dev_hard_header) removed the
      skb_reset_mac_header call from llc_mac_hdr_init.
      
      This seems fine itself, but br_send_bpdu() invokes ebtables LOCAL_OUT.
      
      We oops in ebt_basic_match() because it assumes eth_hdr(skb) returns
      a meaningful result.
      
      Cc: acme@ghostprotocols.net
      References: https://bugzilla.kernel.org/show_bug.cgi?id=24532Signed-off-by: NFlorian Westphal <fw@strlen.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e6f26129
    • M
      ll_temac: Fix section mismatch from the temac_of_probe · 87e60976
      Michal Simek 提交于
      Replace __init by __devinit.
      
      Warning message:
      WARNING: vmlinux.o(.data+0xbc14): Section mismatch in reference from the variable
      temac_of_driver to the function .init.text:temac_of_probe()
      The variable temac_of_driver references
      the function __init temac_of_probe()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      Acked-by: NGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      87e60976
    • M
      trivial: Fix typo fault in netdevice.h · 68763c89
      Michal Simek 提交于
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      68763c89
    • A
      9f84f888
    • S
      netxen: enable LRO based on NETIF_F_LRO · e4baaf71
      Sucheta Chakraborty 提交于
      o Enable/disable LRO in device based on NETIF_F_LRO flag, instead of using
        driver private flag.
      o Disable LRO, if rx csum offloading is off.
      
      David Miller,
      	You should use netdev_info() instead of dev_info().
      Signed-off-by: NSucheta Chakraborty <sucheta.chakraborty@qlogic.com>
      Signed-off-by: NAmit Kumar Salecha <amit.salecha@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e4baaf71
    • T
      bridge: fix br_multicast_ipv6_rcv for paged skbs · 9d89081d
      Tomas Winkler 提交于
      use pskb_may_pull to access ipv6 header correctly for paged skbs
      It was omitted in the bridge code leading to crash in blind
      __skb_pull
      
      since the skb is cloned undonditionally we also simplify the
      the exit path
      
      this fixes bug https://bugzilla.kernel.org/show_bug.cgi?id=25202
      
      Dec 15 14:36:40 User-PC hostapd: wlan0: STA 00:15:00:60:5d:34 IEEE 802.11: authenticated
      Dec 15 14:36:40 User-PC hostapd: wlan0: STA 00:15:00:60:5d:34 IEEE 802.11: associated (aid 2)
      Dec 15 14:36:40 User-PC hostapd: wlan0: STA 00:15:00:60:5d:34 RADIUS: starting accounting session 4D0608A3-00000005
      Dec 15 14:36:41 User-PC kernel: [175576.120287] ------------[ cut here ]------------
      Dec 15 14:36:41 User-PC kernel: [175576.120452] kernel BUG at include/linux/skbuff.h:1178!
      Dec 15 14:36:41 User-PC kernel: [175576.120609] invalid opcode: 0000 [#1] SMP
      Dec 15 14:36:41 User-PC kernel: [175576.120749] last sysfs file: /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/uevent
      Dec 15 14:36:41 User-PC kernel: [175576.121035] Modules linked in: approvals binfmt_misc bridge stp llc parport_pc ppdev arc4 iwlagn snd_hda_codec_realtek iwlcore i915 snd_hda_intel mac80211 joydev snd_hda_codec snd_hwdep snd_pcm snd_seq_midi drm_kms_helper snd_rawmidi drm snd_seq_midi_event snd_seq snd_timer snd_seq_device cfg80211 eeepc_wmi usbhid psmouse intel_agp i2c_algo_bit intel_gtt uvcvideo agpgart videodev sparse_keymap snd shpchp v4l1_compat lp hid video serio_raw soundcore output snd_page_alloc ahci libahci atl1c
      Dec 15 14:36:41 User-PC kernel: [175576.122712]
      Dec 15 14:36:41 User-PC kernel: [175576.122769] Pid: 0, comm: kworker/0:0 Tainted: G        W   2.6.37-rc5-wl+ #3 1015PE/1016P
      Dec 15 14:36:41 User-PC kernel: [175576.123012] EIP: 0060:[<f83edd65>] EFLAGS: 00010283 CPU: 1
      Dec 15 14:36:41 User-PC kernel: [175576.123193] EIP is at br_multicast_rcv+0xc95/0xe1c [bridge]
      Dec 15 14:36:41 User-PC kernel: [175576.123362] EAX: 0000001c EBX: f5626318 ECX: 00000000 EDX: 00000000
      Dec 15 14:36:41 User-PC kernel: [175576.123550] ESI: ec512262 EDI: f5626180 EBP: f60b5ca0 ESP: f60b5bd8
      Dec 15 14:36:41 User-PC kernel: [175576.123737]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
      Dec 15 14:36:41 User-PC kernel: [175576.123902] Process kworker/0:0 (pid: 0, ti=f60b4000 task=f60a8000 task.ti=f60b0000)
      Dec 15 14:36:41 User-PC kernel: [175576.124137] Stack:
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  ec556500 f6d06800 f60b5be8 c01087d8 ec512262 00000030 00000024 f5626180
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  f572c200 ef463440 f5626300 3affffff f6d06dd0 e60766a4 000000c4 f6d06860
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  ffffffff ec55652c 00000001 f6d06844 f60b5c64 c0138264 c016e451 c013e47d
      Dec 15 14:36:41 User-PC kernel: [175576.124181] Call Trace:
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c01087d8>] ? sched_clock+0x8/0x10
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c0138264>] ? enqueue_entity+0x174/0x440
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c016e451>] ? sched_clock_cpu+0x131/0x190
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c013e47d>] ? select_task_rq_fair+0x2ad/0x730
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c0524fc1>] ? nf_iterate+0x71/0x90
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f83e4914>] ? br_handle_frame_finish+0x184/0x220 [bridge]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f83e4790>] ? br_handle_frame_finish+0x0/0x220 [bridge]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f83e46e9>] ? br_handle_frame+0x189/0x230 [bridge]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f83e4790>] ? br_handle_frame_finish+0x0/0x220 [bridge]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f83e4560>] ? br_handle_frame+0x0/0x230 [bridge]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c04ff026>] ? __netif_receive_skb+0x1b6/0x5b0
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c04f7a30>] ? skb_copy_bits+0x110/0x210
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c0503a7f>] ? netif_receive_skb+0x6f/0x80
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f82cb74c>] ? ieee80211_deliver_skb+0x8c/0x1a0 [mac80211]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f82cc836>] ? ieee80211_rx_handlers+0xeb6/0x1aa0 [mac80211]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c04ff1f0>] ? __netif_receive_skb+0x380/0x5b0
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c016e242>] ? sched_clock_local+0xb2/0x190
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c012b688>] ? default_spin_lock_flags+0x8/0x10
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c05d83df>] ? _raw_spin_lock_irqsave+0x2f/0x50
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f82cd621>] ? ieee80211_prepare_and_rx_handle+0x201/0xa90 [mac80211]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f82ce154>] ? ieee80211_rx+0x2a4/0x830 [mac80211]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f815a8d6>] ? iwl_update_stats+0xa6/0x2a0 [iwlcore]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f8499212>] ? iwlagn_rx_reply_rx+0x292/0x3b0 [iwlagn]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c05d83df>] ? _raw_spin_lock_irqsave+0x2f/0x50
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f8483697>] ? iwl_rx_handle+0xe7/0x350 [iwlagn]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f8486ab7>] ? iwl_irq_tasklet+0xf7/0x5c0 [iwlagn]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c01aece1>] ? __rcu_process_callbacks+0x201/0x2d0
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c0150d05>] ? tasklet_action+0xc5/0x100
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c0150a07>] ? __do_softirq+0x97/0x1d0
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c05d910c>] ? nmi_stack_correct+0x2f/0x34
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c0150970>] ? __do_softirq+0x0/0x1d0
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  <IRQ>
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c01508f5>] ? irq_exit+0x65/0x70
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c05df062>] ? do_IRQ+0x52/0xc0
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c01036b0>] ? common_interrupt+0x30/0x38
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c03a1fc2>] ? intel_idle+0xc2/0x160
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c04daebb>] ? cpuidle_idle_call+0x6b/0x100
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c0101dea>] ? cpu_idle+0x8a/0xf0
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c05d2702>] ? start_secondary+0x1e8/0x1ee
      
      Cc: David Miller <davem@davemloft.net>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Cc: Stephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NTomas Winkler <tomas.winkler@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9d89081d
    • P
      netdev: Update status of 8390 based drivers in MAINTAINERS · 0cf445ce
      Paul Gortmaker 提交于
      With the original 8 bit ISA ne1000 card being over 20 years old, it
      only makes sense to consider ne.c and all the other toplevel 8390
      based driver files as legacy for obsolete hardware.  The most
      recent thing made in large quantities that was 8390 based were
      those crazy PCI ne2k clones - and even they are now 10+ years old.
      
      Also remove myself as maintainer, since the only changes to these
      drivers going forward will be the generic API type changes that
      touch all drivers.
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0cf445ce
    • P
      net/Space: delete orphaned externs from deleted drivers · f08c3117
      Paul Gortmaker 提交于
      The drivers associated with the prototypes in this commit have
      been deleted some time ago, but the externs escaped detection.
      Using a simple "git grep" shows that these references are
      historical artefacts, only mentioned by the deleted lines.
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f08c3117
    • J
      atl1: fix oops when changing tx/rx ring params · 2f32c867
      J. K. Cliburn 提交于
      Commit 3f5a2a71 zeroes out the statistics
      message block (SMB) and coalescing message block (CMB) when adapter ring
      resources are freed.  This is desirable behavior, but, as a side effect,
      the commit leads to an oops when atl1_set_ringparam() attempts to alter
      the number of rx or tx elements in the ring buffer (by using ethtool
      -G, for example).  We don't want SMB or CMB to change during this
      operation.
      
      Modify atl1_set_ringparam() to preserve SMB and CMB when changing ring
      parameters.
      
      Cc: stable@kernel.org
      Signed-off-by: NJay Cliburn <jcliburn@gmail.com>
      Reported-by: NTõnu Raitviir <jussuf@linux.ee>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2f32c867
  4. 02 1月, 2011 9 次提交