1. 16 Aug, 2009 28 commits
  2. 30 Jul, 2009 12 commits
    • Greg Kroah-Hartman's avatar
      Linux 2.6.27.29 · cee12bcd
      Greg Kroah-Hartman authored
      cee12bcd
    • Ralf Baechle's avatar
      NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines. · 7793fe88
      Ralf Baechle authored
      [ Upstream commit adeab1af ]
      
      Guido Trentalancia reports:
      
      I am trying to use the kiss driver in the Linux kernel that is being
      shipped with Fedora 10 but unfortunately I get the following oops:
      
      mkiss: AX.25 Multikiss, Hans Albas PE1AYX
      mkiss: ax0: crc mode is auto.
      ADDRCONF(NETDEV_CHANGE): ax0: link becomes ready
      ------------[ cut here ]------------
      WARNING: at kernel/softirq.c:77 __local_bh_disable+0x2f/0x83() (Not
      tainted)
      [...]
      unloaded: microcode]
      Pid: 0, comm: swapper Not tainted 2.6.27.25-170.2.72.fc10.i686 #1
       [<c042ddfb>] warn_on_slowpath+0x65/0x8b
       [<c06ab62b>] ? _spin_unlock_irqrestore+0x22/0x38
       [<c04228b4>] ? __enqueue_entity+0xe3/0xeb
       [<c042431e>] ? enqueue_entity+0x203/0x20b
       [<c0424361>] ? enqueue_task_fair+0x3b/0x3f
       [<c041f88c>] ? resched_task+0x3a/0x6e
       [<c06ab62b>] ? _spin_unlock_irqrestore+0x22/0x38
       [<c06ab4e2>] ? _spin_lock_bh+0xb/0x16
       [<c043255b>] __local_bh_disable+0x2f/0x83
       [<c04325ba>] local_bh_disable+0xb/0xd
       [<c06ab4e2>] _spin_lock_bh+0xb/0x16
       [<f8b6f600>] mkiss_receive_buf+0x2fb/0x3a6 [mkiss]
       [<c0572a30>] flush_to_ldisc+0xf7/0x198
       [<c0572b12>] tty_flip_buffer_push+0x41/0x51
       [<f89477f2>] ftdi_process_read+0x375/0x4ad [ftdi_sio]
       [<f8947a5a>] ftdi_read_bulk_callback+0x130/0x138 [ftdi_sio]
       [<c05d4bec>] usb_hcd_giveback_urb+0x63/0x93
       [<c05ea290>] uhci_giveback_urb+0xe5/0x15f
       [<c05eaabf>] uhci_scan_schedule+0x52e/0x767
       [<c05f6288>] ? psmouse_handle_byte+0xc/0xe5
       [<c054df78>] ? acpi_ev_gpe_detect+0xd6/0xe1
       [<c05ec5b0>] uhci_irq+0x110/0x125
       [<c05d4834>] usb_hcd_irq+0x40/0xa3
       [<c0465313>] handle_IRQ_event+0x2f/0x64
       [<c046642b>] handle_level_irq+0x74/0xbe
       [<c04663b7>] ? handle_level_irq+0x0/0xbe
       [<c0406e6e>] do_IRQ+0xc7/0xfe
       [<c0405668>] common_interrupt+0x28/0x30
       [<c056821a>] ? acpi_idle_enter_simple+0x162/0x19d
       [<c0617f52>] cpuidle_idle_call+0x60/0x92
       [<c0403c61>] cpu_idle+0x101/0x134
       [<c069b1ba>] rest_init+0x4e/0x50
       =======================
      ---[ end trace b7cc8076093467ad ]---
      ------------[ cut here ]------------
      WARNING: at kernel/softirq.c:136 _local_bh_enable_ip+0x3d/0xc4()
      [...]
      Pid: 0, comm: swapper Tainted: G        W 2.6.27.25-170.2.72.fc10.i686
       [<c042ddfb>] warn_on_slowpath+0x65/0x8b
       [<c06ab62b>] ? _spin_unlock_irqrestore+0x22/0x38
       [<c04228b4>] ? __enqueue_entity+0xe3/0xeb
       [<c042431e>] ? enqueue_entity+0x203/0x20b
       [<c0424361>] ? enqueue_task_fair+0x3b/0x3f
       [<c041f88c>] ? resched_task+0x3a/0x6e
       [<c06ab62b>] ? _spin_unlock_irqrestore+0x22/0x38
       [<c06ab4e2>] ? _spin_lock_bh+0xb/0x16
       [<f8b6f642>] ? mkiss_receive_buf+0x33d/0x3a6 [mkiss]
       [<c04325f9>] _local_bh_enable_ip+0x3d/0xc4
       [<c0432688>] local_bh_enable_ip+0x8/0xa
       [<c06ab54d>] _spin_unlock_bh+0x11/0x13
       [<f8b6f642>] mkiss_receive_buf+0x33d/0x3a6 [mkiss]
       [<c0572a30>] flush_to_ldisc+0xf7/0x198
       [<c0572b12>] tty_flip_buffer_push+0x41/0x51
       [<f89477f2>] ftdi_process_read+0x375/0x4ad [ftdi_sio]
       [<f8947a5a>] ftdi_read_bulk_callback+0x130/0x138 [ftdi_sio]
       [<c05d4bec>] usb_hcd_giveback_urb+0x63/0x93
       [<c05ea290>] uhci_giveback_urb+0xe5/0x15f
       [<c05eaabf>] uhci_scan_schedule+0x52e/0x767
       [<c05f6288>] ? psmouse_handle_byte+0xc/0xe5
       [<c054df78>] ? acpi_ev_gpe_detect+0xd6/0xe1
       [<c05ec5b0>] uhci_irq+0x110/0x125
       [<c05d4834>] usb_hcd_irq+0x40/0xa3
       [<c0465313>] handle_IRQ_event+0x2f/0x64
       [<c046642b>] handle_level_irq+0x74/0xbe
       [<c04663b7>] ? handle_level_irq+0x0/0xbe
       [<c0406e6e>] do_IRQ+0xc7/0xfe
       [<c0405668>] common_interrupt+0x28/0x30
       [<c056821a>] ? acpi_idle_enter_simple+0x162/0x19d
       [<c0617f52>] cpuidle_idle_call+0x60/0x92
       [<c0403c61>] cpu_idle+0x101/0x134
       [<c069b1ba>] rest_init+0x4e/0x50
       =======================
      ---[ end trace b7cc8076093467ad ]---
      mkiss: ax0: Trying crc-smack
      mkiss: ax0: Trying crc-flexnet
      
      The issue was, that the locking code in mkiss was assuming it was only
      ever being called in process or bh context.  Fixed by converting the
      involved locking code to use irq-safe locks.
      
      Review of other networking line disciplines shows that 6pack, both sync
      and async PPP and STRIP have similar issues.  The ppp_async one is the
      most interesting one as it sorts out half of the issue as far back as
      2004 in commit http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=2996d8deaeddd01820691a872550dc0cfba0c37d
      
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Reported-by: default avatarGuido Trentalancia <guido@trentalancia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      7793fe88
    • Krzysztof Halasa's avatar
      E100: work around the driver using streaming DMA mapping for RX descriptors. · 4662e31e
      Krzysztof Halasa authored
      [ Upstream commit 303d67c2
      
       ]
      
      E100 places it's RX packet descriptors inside skb->data and uses them
      with bidirectional streaming DMA mapping. Unfortunately it fails to
      transfer skb->data ownership to the device after it reads the
      descriptor's status, breaking on non-coherent (e.g., ARM) platforms.
      
      This have to be converted to use coherent memory for the descriptors.
      Signed-off-by: default avatarKrzysztof Halasa <khc@pm.waw.pl>
      Acked-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      4662e31e
    • David Dillow's avatar
      r8169: avoid losing MSI interrupts · 2fe2c6bb
      David Dillow authored
      [ Upstream commit f11a377b
      
       ]
      
      The 8169 chip only generates MSI interrupts when all enabled event
      sources are quiescent and one or more sources transition to active. If
      not all of the active events are acknowledged, or a new event becomes
      active while the existing ones are cleared in the handler, we will not
      see a new interrupt.
      
      The current interrupt handler masks off the Rx and Tx events once the
      NAPI handler has been scheduled, which opens a race window in which we
      can get another Rx or Tx event and never ACK'ing it, stopping all
      activity until the link is reset (ifconfig down/up). Fix this by always
      ACK'ing all event sources, and loop in the handler until we have all
      sources quiescent.
      Signed-off-by: default avatarDavid Dillow <dave@thedillows.org>
      Tested-by: default avatarMichael Buesch <mb@bu3sch.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      2fe2c6bb
    • David Brownell's avatar
      usbnet cdc_subset: fix issues talking to PXA gadgets · 4afc4dd4
      David Brownell authored
      [ Upstream commit 6be83252
      
       ]
      
      The host-side CDC subset driver is binding more specifically
      than it should ... only to PXA 210/25x/26x Linux-USB gadgets.
      
      Loosen that restriction to match the gadget driver driver.
      This will various PXA 27x and PXA 3xx devices happier when
      talking to Linux hosts, potentially others.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Tested-by: default avatarAric D. Blumer <aric@sdgsystems.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      4afc4dd4
    • David S. Miller's avatar
      x25: Fix sleep from timer on socket destroy. · 3154ee53
      David S. Miller authored
      [ Upstream commit 14ebaf81
      
       ]
      
      If socket destuction gets delayed to a timer, we try to
      lock_sock() from that timer which won't work.
      
      Use bh_lock_sock() in that case.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Tested-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      3154ee53
    • Anton Vorontsov's avatar
      sky2: Fix checksum endianness · b0267e68
      Anton Vorontsov authored
      [ Upstream commit b9389796
      
       ]
      
      sky2 driver on PowerPC targets floods kernel log with following errors:
      
        eth1: hw csum failure.
        Call Trace:
        [ef84b8a0] [c00075e4] show_stack+0x50/0x160 (unreliable)
        [ef84b8d0] [c02fa178] netdev_rx_csum_fault+0x3c/0x5c
        [ef84b8f0] [c02f6920] __skb_checksum_complete_head+0x7c/0x84
        [ef84b900] [c02f693c] __skb_checksum_complete+0x14/0x24
        [ef84b910] [c0337e08] tcp_v4_rcv+0x4c8/0x6f8
        [ef84b940] [c031a9c8] ip_local_deliver+0x98/0x210
        [ef84b960] [c031a788] ip_rcv+0x38c/0x534
        [ef84b990] [c0300338] netif_receive_skb+0x260/0x36c
        [ef84b9c0] [c025de00] sky2_poll+0x5dc/0xcf8
        [ef84ba20] [c02fb7fc] net_rx_action+0xc0/0x144
      
      The NIC is Yukon-2 EC chip revision 1.
      
      Converting checksum field from le16 to CPU byte order fixes the issue.
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      b0267e68
    • Michael Buesch's avatar
      pegasus usb-net: Fix endianness bugs · e9f839f9
      Michael Buesch authored
      [ Upstream commit e3453f63
      
       ]
      
      This fixes various endianness bugs. Some harmless and some real ones.
      This is tested on a PowerPC-64 machine.
      Signed-off-by: default avatarMichael Buesch <mb@bu3sch.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      e9f839f9
    • Herbert Xu's avatar
      ipsec: Fix name of CAST algorithm · a00433ce
      Herbert Xu authored
      [ Upstream commit 245acb87
      
       ]
      
      Our CAST algorithm is called cast5, not cast128.  Clearly nobody
      has ever used it :)
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      a00433ce
    • Ramon de Carvalho Valle's avatar
      eCryptfs: parse_tag_3_packet check tag 3 packet encrypted key size (CVE-2009-2407) · 44c47033
      Ramon de Carvalho Valle authored
      commit f151cd2c
      
       upstream.
      
      The parse_tag_3_packet function does not check if the tag 3 packet contains a
      encrypted key size larger than ECRYPTFS_MAX_ENCRYPTED_KEY_BYTES.
      Signed-off-by: default avatarRamon de Carvalho Valle <ramon@risesecurity.org>
      [tyhicks@linux.vnet.ibm.com: Added printk newline and changed goto to out_free]
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      44c47033
    • Tyler Hicks's avatar
      eCryptfs: Check Tag 11 literal data buffer size (CVE-2009-2406) · 77773e09
      Tyler Hicks authored
      commit 6352a293
      
       upstream.
      
      Tag 11 packets are stored in the metadata section of an eCryptfs file to
      store the key signature(s) used to encrypt the file encryption key.
      After extracting the packet length field to determine the key signature
      length, a check is not performed to see if the length would exceed the
      key signature buffer size that was passed into parse_tag_11_packet().
      
      Thanks to Ramon de Carvalho Valle for finding this bug using fsfuzzer.
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      77773e09
    • Giuseppe Mazzotta's avatar
      Input: wistron_btns - recognize Maxdata Pro 7000 notebooks · 3379cb9e
      Giuseppe Mazzotta authored
      commit e705cee4
      
       upstream.
      
      This patch adds DMI information to automatically load the correct
      layout for the Maxdata Pro 7000X/DX notebook models. Such notebooks
      are clones of Fujitsu Amilo V2000, the hook for the v2000 is being
      used and I have tested that perfectly works.
      
      The immediate result of integrating this patch is that the five
      special buttons will work on these specific notebook models and that
      the RF killswitch will not be activated after suspend. This patch
      definitively obsoletes the fsam7400 module which I was still needing
      to enable wifi and to fix the RF killswitch suspend problem; in the
      current 2.6.30 kernel it is necessary to load the wistron_btns module
      with options 'force=1 keymap=1557/MS2141', which was not anyway a
      complete workaround.
      Signed-off-by: default avatarGiuseppe Mazzotta <g.mazzotta@iragan.com>
      Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      3379cb9e