1. 10 Aug, 2010 2 commits
    • Randy Dunlap's avatar
      etherdevice.h: fix kernel-doc typo · 7ed24e8d
      Randy Dunlap authored
      Fix etherdevice.h parameter name typo in kernel-doc:
      
      Warning(include/linux/etherdevice.h:138): No description found for parameter 'hwaddr'
      Warning(include/linux/etherdevice.h:138): Excess function parameter 'addr' description in 'dev_hw_addr_random'
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7ed24e8d
    • David S. Miller's avatar
      farsync: Fix compile warnings. · 5d337d6f
      David S. Miller authored
      drivers/net/wan/farsync.c: In function 'fst_intr_rx':
      drivers/net/wan/farsync.c:1312: warning: cast to pointer from integer of different size
      drivers/net/wan/farsync.c: In function 'do_bottom_half_tx':
      drivers/net/wan/farsync.c:1407: warning: cast to pointer from integer of different size
      
      The "skb" and "mem" arguments being passed here are DMA addresses
      being programmed into the hardware registers, so pass them as the type
      that they actually are.  And use the correct printf formatting in
      debug logging statements for these things to match the type change.
      Reported-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5d337d6f
  2. 08 Aug, 2010 8 commits
  3. 07 Aug, 2010 3 commits
  4. 06 Aug, 2010 3 commits
  5. 05 Aug, 2010 9 commits
  6. 04 Aug, 2010 15 commits
    • Rusty Russell's avatar
      virtio_net: implements ethtool_ops.get_drvinfo · a767bde4
      Rusty Russell authored
      I often use "ethtool -i" command to check what driver controls the
      ehternet device.  But because current virtio_net driver doesn't
      support "ethtool -i", it becomes the following:
      
              # ethtool -i eth3
              Cannot get driver information: Operation not supported
      
      This patch simply adds the "ethtool -i" support. The following is the
      result when using the virtio_net driver with my patch applied to.
      
              # ethtool -i eth3
              driver: virtio_net
              version: N/A
              firmware-version: N/A
              bus-info: virtio0
      
      Personally, "-i" is one of the most frequently-used option, and most
      network drivers support "ethtool -i", so I think virtio_net also
      should do.
      Signed-off-by: default avatarTaku Izumi <izumi.taku@jp.fujitsu.com>
      Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (use ARRAY_SIZE)
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a767bde4
    • stephen hemminger's avatar
      ppp: make channel_ops const · d7100da0
      stephen hemminger authored
      The PPP channel ops structure should be const.
      Cleanup the declarations to use standard C99 format.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d7100da0
    • David Howells's avatar
      RxRPC: Fix a potential deadlock between the call resend_timer and state_lock · 3b5bac2b
      David Howells authored
      RxRPC can potentially deadlock as rxrpc_resend_time_expired() wants to get
      call->state_lock so that it can alter the state of an RxRPC call.  However, its
      caller (call_timer_fn()) has an apparent lock on the timer struct.
      
      The problem is that rxrpc_resend_time_expired() isn't permitted to lock
      call->state_lock as this could cause a deadlock against rxrpc_send_abort() as
      that takes state_lock and then attempts to delete the resend timer by calling
      del_timer_sync().
      
      The deadlock can occur because del_timer_sync() will sit there forever waiting
      for rxrpc_resend_time_expired() to return, but the latter may then wait for
      call->state_lock, which rxrpc_send_abort() holds around del_timer_sync()...
      
      This leads to a warning appearing in the kernel log that looks something like
      the attached.
      
      It should be sufficient to simply dispense with the locks.  It doesn't matter
      if we set the resend timer expired event bit and queue the event processor
      whilst we're changing state to one where the resend timer is irrelevant as the
      event can just be ignored by the processor thereafter.
      
      =======================================================
      [ INFO: possible circular locking dependency detected ]
      2.6.35-rc3-cachefs+ #115
      -------------------------------------------------------
      swapper/0 is trying to acquire lock:
       (&call->state_lock){++--..}, at: [<ffffffffa00200d4>] rxrpc_resend_time_expired+0x56/0x96 [af_rxrpc]
      
      but task is already holding lock:
       (&call->resend_timer){+.-...}, at: [<ffffffff8103b675>] run_timer_softirq+0x182/0x2a5
      
      which lock already depends on the new lock.
      
      the existing dependency chain (in reverse order) is:
      
      -> #1 (&call->resend_timer){+.-...}:
             [<ffffffff810560bc>] __lock_acquire+0x889/0x8fa
             [<ffffffff81056184>] lock_acquire+0x57/0x6d
             [<ffffffff8103bb9c>] del_timer_sync+0x3c/0x86
             [<ffffffffa002bb7a>] rxrpc_send_abort+0x50/0x97 [af_rxrpc]
             [<ffffffffa002bdd9>] rxrpc_kernel_abort_call+0xa1/0xdd [af_rxrpc]
             [<ffffffffa0061588>] afs_deliver_to_call+0x129/0x368 [kafs]
             [<ffffffffa006181b>] afs_process_async_call+0x54/0xff [kafs]
             [<ffffffff8104261d>] worker_thread+0x1ef/0x2e2
             [<ffffffff81045f47>] kthread+0x7a/0x82
             [<ffffffff81002cd4>] kernel_thread_helper+0x4/0x10
      
      -> #0 (&call->state_lock){++--..}:
             [<ffffffff81055237>] validate_chain+0x727/0xd23
             [<ffffffff810560bc>] __lock_acquire+0x889/0x8fa
             [<ffffffff81056184>] lock_acquire+0x57/0x6d
             [<ffffffff813e6b69>] _raw_read_lock_bh+0x34/0x43
             [<ffffffffa00200d4>] rxrpc_resend_time_expired+0x56/0x96 [af_rxrpc]
             [<ffffffff8103b6e6>] run_timer_softirq+0x1f3/0x2a5
             [<ffffffff81036828>] __do_softirq+0xa2/0x13e
             [<ffffffff81002dcc>] call_softirq+0x1c/0x28
             [<ffffffff810049f0>] do_softirq+0x38/0x80
             [<ffffffff810361a2>] irq_exit+0x45/0x47
             [<ffffffff81018fb3>] smp_apic_timer_interrupt+0x88/0x96
             [<ffffffff81002893>] apic_timer_interrupt+0x13/0x20
             [<ffffffff810011ac>] cpu_idle+0x4d/0x83
             [<ffffffff813e06f3>] start_secondary+0x1bd/0x1c1
      
      other info that might help us debug this:
      
      1 lock held by swapper/0:
       #0:  (&call->resend_timer){+.-...}, at: [<ffffffff8103b675>] run_timer_softirq+0x182/0x2a5
      
      stack backtrace:
      Pid: 0, comm: swapper Not tainted 2.6.35-rc3-cachefs+ #115
      Call Trace:
       <IRQ>  [<ffffffff81054414>] print_circular_bug+0xae/0xbd
       [<ffffffff81055237>] validate_chain+0x727/0xd23
       [<ffffffff810560bc>] __lock_acquire+0x889/0x8fa
       [<ffffffff810539a7>] ? mark_lock+0x42f/0x51f
       [<ffffffff81056184>] lock_acquire+0x57/0x6d
       [<ffffffffa00200d4>] ? rxrpc_resend_time_expired+0x56/0x96 [af_rxrpc]
       [<ffffffff813e6b69>] _raw_read_lock_bh+0x34/0x43
       [<ffffffffa00200d4>] ? rxrpc_resend_time_expired+0x56/0x96 [af_rxrpc]
       [<ffffffffa00200d4>] rxrpc_resend_time_expired+0x56/0x96 [af_rxrpc]
       [<ffffffff8103b6e6>] run_timer_softirq+0x1f3/0x2a5
       [<ffffffff8103b675>] ? run_timer_softirq+0x182/0x2a5
       [<ffffffffa002007e>] ? rxrpc_resend_time_expired+0x0/0x96 [af_rxrpc]
       [<ffffffff810367ef>] ? __do_softirq+0x69/0x13e
       [<ffffffff81036828>] __do_softirq+0xa2/0x13e
       [<ffffffff81002dcc>] call_softirq+0x1c/0x28
       [<ffffffff810049f0>] do_softirq+0x38/0x80
       [<ffffffff810361a2>] irq_exit+0x45/0x47
       [<ffffffff81018fb3>] smp_apic_timer_interrupt+0x88/0x96
       [<ffffffff81002893>] apic_timer_interrupt+0x13/0x20
       <EOI>  [<ffffffff81049de1>] ? __atomic_notifier_call_chain+0x0/0x86
       [<ffffffff8100955b>] ? mwait_idle+0x6e/0x78
       [<ffffffff81009552>] ? mwait_idle+0x65/0x78
       [<ffffffff810011ac>] cpu_idle+0x4d/0x83
       [<ffffffff813e06f3>] start_secondary+0x1bd/0x1c1
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3b5bac2b
    • Changli Gao's avatar
      sch_sfq: add sanity check for the packet length · f2f00981
      Changli Gao authored
      The packet length should be checked before the packet data is dereferenced.
      Signed-off-by: default avatarChangli Gao <xiaosuo@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f2f00981
    • Changli Gao's avatar
      cls_rsvp: add sanity check for the packet length · 12dc96d1
      Changli Gao authored
      The packet length should be checked before the packet data is dereferenced.
      Signed-off-by: default avatarChangli Gao <xiaosuo@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      12dc96d1
    • Changli Gao's avatar
      cls_flow: add sanity check for the packet length · 4b95c3d4
      Changli Gao authored
      The packet length should be checked before the packet data is dereferenced.
      Signed-off-by: default avatarChangli Gao <xiaosuo@gmail.com>
      Acked-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4b95c3d4
    • Changli Gao's avatar
      f9599ce1
    • Changli Gao's avatar
      act_nat: fix on the TX path · 36d12690
      Changli Gao authored
      On the TX path, skb->data points to the ethernet header, not the network
      header. So when validating the packet length for accessing we should
      take the ethernet header into account.
      Signed-off-by: default avatarChangli Gao <xiaosuo@gmail.com>
      Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      36d12690
    • Joe Perches's avatar
      c33788b4
    • Stefan Weil's avatar
      davinci_emac: Fix use after free in davinci_emac_remove · 2a1bc0d5
      Stefan Weil authored
      free_netdev finally calls kfree which makes the contents
      of ndev and priv (private data contained in ndev) invalid.
      
      So iounmap should be called before free_netdev.
      
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Chaithrika U S <chaithrika@ti.com>
      Cc: Sriramakrishnan <srk@ti.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      Cc: netdev@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarStefan Weil <weil@mail.berlios.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2a1bc0d5
    • Kulikov Vasiliy's avatar
      via-velocity: do not use PCI resources before pci_enable_device() · 889635fd
      Kulikov Vasiliy authored
      IRQ and resource[] may not have correct values until
      after PCI hotplug setup occurs at pci_enable_device() time.
      
      The semantic match that finds this problem is as follows:
      
      // <smpl>
      @@
      identifier x;
      identifier request ~= "pci_request.*|pci_resource.*";
      @@
      
      (
      * x->irq
      |
      * x->resource
      |
      * request(x, ...)
      )
       ...
      *pci_enable_device(x)
      // </smpl>
      Signed-off-by: default avatarKulikov Vasiliy <segooon@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      889635fd
    • Kulikov Vasiliy's avatar
      cxgb4vf: do not use PCI resources before pci_enable_device() · 7a0c2029
      Kulikov Vasiliy authored
      IRQ and resource[] may not have correct values until
      after PCI hotplug setup occurs at pci_enable_device() time.
      
      The semantic match that finds this problem is as follows:
      
      // <smpl>
      @@
      identifier x;
      identifier request ~= "pci_request.*|pci_resource.*";
      @@
      
      (
      * x->irq
      |
      * x->resource
      |
      * request(x, ...)
      )
       ...
      *pci_enable_device(x)
      // </smpl>
      Signed-off-by: default avatarKulikov Vasiliy <segooon@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7a0c2029
    • Kulikov Vasiliy's avatar
      cxgb3: do not use PCI resources before pci_enable_device() · 7aaaaa1e
      Kulikov Vasiliy authored
      IRQ and resource[] may not have correct values until
      after PCI hotplug setup occurs at pci_enable_device() time.
      
      The semantic match that finds this problem is as follows:
      
      // <smpl>
      @@
      identifier x;
      identifier request ~= "pci_request.*|pci_resource.*";
      @@
      
      (
      * x->irq
      |
      * x->resource
      |
      * request(x, ...)
      )
       ...
      *pci_enable_device(x)
      // </smpl>
      Signed-off-by: default avatarKulikov Vasiliy <segooon@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7aaaaa1e
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial · 3cfc2c42
      Linus Torvalds authored
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)
        Documentation: update broken web addresses.
        fix comment typo "choosed" -> "chosen"
        hostap:hostap_hw.c Fix typo in comment
        Fix spelling contorller -> controller in comments
        Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -> Fault
        fs/Kconfig: Fix typo Userpace -> Userspace
        Removing dead MACH_U300_BS26
        drivers/infiniband: Remove unnecessary casts of private_data
        fs/ocfs2: Remove unnecessary casts of private_data
        libfc: use ARRAY_SIZE
        scsi: bfa: use ARRAY_SIZE
        drm: i915: use ARRAY_SIZE
        drm: drm_edid: use ARRAY_SIZE
        synclink: use ARRAY_SIZE
        block: cciss: use ARRAY_SIZE
        comment typo fixes: charater => character
        fix comment typos concerning "challenge"
        arm: plat-spear: fix typo in kerneldoc
        reiserfs: typo comment fix
        update email address
        ...
      3cfc2c42
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 5cf65713
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (30 commits)
        Revert "HID: add support for the Wacom Intuos 4 wireless"
        HID: fix up Kconfig entry for ACRUX driver
        HID: add ACRUX game controller force feedback support
        HID: Force input registration for "VEC footpedal"
        HID: add HID_QUIRK_HIDINPUT_FORCE
        HID: hid-input.c: indentation fixes
        HID: hiddev: use usb_find_interface, get rid of BKL
        HID: ignore digitizer usage Undefined (0x00)
        HID: Add support for Conceptronic CLLRCMCE
        HID: hid-ids.h: Whitespace fixup, align using TABs
        HID: picolcd: implement refcounting of framebuffer
        HID: picolcd: do not reallocate memory on depth change
        HID: picolcd: Add minimal palette required by fbcon on 8bpp
        HID: magicmouse: Correct parsing of large X and Y motions.
        HID: magicmouse: report last touch up
        HID: picolcd: fix deferred_io init/cleanup to fb ordering
        HID: hid-ids.h: keep vendor ids in alphabetical order
        HID: add proper support for Elecom BM084 bluetooth mouse
        HID: magicmouse: enable horizontal scrolling
        HID: magicmouse: add param for scroll speed
        ...
      5cf65713