1. 04 May, 2012 7 commits
    • Linus Torvalds's avatar
      Merge branch 'efi-vars' from Matthew Garrett · 65e62b50
      Linus Torvalds authored
      * efi-vars:
        efivars: Improve variable validation
      65e62b50
    • Matthew Garrett's avatar
      efivars: Improve variable validation · 54b3a4d3
      Matthew Garrett authored
      Ben Hutchings pointed out that the validation in efivars was inadequate -
      most obviously, an entry with size 0 would server as a DoS against the
      kernel. Improve this based on his suggestions.
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      54b3a4d3
    • Linus Torvalds's avatar
      Merge tag 'tag/upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 6b4c555a
      Linus Torvalds authored
      Pull libata fixes from Jeff Garzik:
      
      1) Fix regression that could cause a misdiagnosis, which in turn could
         lead to an erroneous 3.0 Gbps -> 1.5 downshift, particularly when hotplug
         and suspend/resume is involved.
      
      2) Fix a regression that led to ata%d controller ids being numbered one
         larger than in <= 3.4-rc3 (oh, the horror!).  Controller ids should now be
         as expected.
      
      3) add some DT, PCI id's
      
      4) ata/pata_arasan_cf: minor cpp fixing/cleaning
      
      * tag 'tag/upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        ata: ahci_platform: Add synopsys ahci controller in DT's compatible list
        ata/pata_arasan_cf: Move arasan_cf_pm_ops out of #ifdef, #endif macros
        libata: init ata_print_id to 0
        ahci: Detect Marvell 88SE9172 SATA controller
        libata: skip old error history when counting probe trials
      6b4c555a
    • Linus Torvalds's avatar
      Merge branch 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux · 4e78f002
      Linus Torvalds authored
      Pull i2c embedded fixes from Wolfram Sang:
       "Here are some typical i2c driver bugfixes for 3.4.  Missed clock
        handling, improper timeout fixes, hardware wrokarounds...  All
        patches have been in linux-next for a few days, too."
      
      * 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux:
        i2c: mxs: disable QUEUE when sending is done
        i2c: mxs: handle spurious interrupt
        i2c-eg20t: Modify MODULE_AUTHOR's email address
        i2c-eg20t: change timeout value 50msec to 1000msec
        i2c: tegra: Add delay before resetting the controller after NACK
        i2c: pnx: Disable clk in suspend
      4e78f002
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · f5645b59
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Just some regression fixes from Ben along with a variable that gcc
        failed to spot is uninitialised."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        nouveau: initialise has_optimus variable.
        drm/nv10/gpio: fix thinko in mask for gpio lines 2-9
        nvc0/fb: shut up PMFB interrupt after the first occurrence
        drm/nouveau/hdmi: use correct hdmi regs for nvaa/nvac
        drm/nouveau/bios: fix regression on some nv4x board
      f5645b59
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · c42f1d4b
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Transfer padding was wrong for full-speed USB in ASIX driver, fix
          from Ingo van Lil.
      
       2) Propagate the negative packet offset fix into the PowerPC BPF JIT.
          From Jan Seiffert.
      
       3) dl2k driver's private ioctls were letting unprivileged tasks make
          MII writes and other ugly bits like that.  Fix from Jeff Mahoney.
      
       4) Fix TX VLAN and RX packet drops in ucc_geth, from Joakim Tjernlund.
      
       5) OOPS and network namespace fixes in IPVS from Hans Schillstrom and
          Julian Anastasov.
      
       6) Fix races and sleeping in locked context bugs in drop_monitor, from
          Neil Horman.
      
       7) Fix link status indication in smsc95xx driver, from Paolo Pisati.
      
       8) Fix bridge netfilter OOPS, from Peter Huang.
      
       9) L2TP sendmsg can return on error conditions with the socket lock
          held, oops.  Fix from Sasha Levin.
      
      10) udp_diag should return meaningful values for socket memory usage,
          from Shan Wei.
      
      11) Eric Dumazet is so awesome he gets his own section:
      
             Socket memory cgroup code (I never should have applied those
             patches, grumble...) made erroneous changes to
             sk_sockets_allocated_read_positive().  It was changed to
             use percpu_counter_sum_positive (which requires BH disabling)
             instead of percpu_counter_read_positive (which does not).
             Revert back to avoid crashes and lockdep warnings.
      
             Adjust the default tcp_adv_win_scale and tcp_rmem[2] values
             to fix throughput regressions.  This is necessary as a result
             of our more precise skb->truesize tracking.
      
             Fix SKB leak in netem packet scheduler.
      
      12) New device IDs for various bluetooth devices, from Manoj Iyer,
          AceLan Kao, and Steven Harms.
      
      13) Fix command completion race in ipw2200, from Stanislav Yakovlev.
      
      14) Fix rtlwifi oops on unload, from Larry Finger.
      
      15) Fix hard_mtu when adjusting hard_header_len in smsc95xx driver.
          From Stephane Fillod.
      
      16) ehea driver registers it's IRQ before all the necessary state is
          setup, resulting in crashes.  Fix from Thadeu Lima de Souza
          Cascardo.
      
      17) Fix PHY connection failures in davinci_emac driver, from Anatolij
          Gustschin.
      
      18) Missing break; in switch statement in bluetooth's
          hci_cmd_complete_evt().  Fix from Szymon Janc.
      
      19) Fix queue programming in iwlwifi, from Johannes Berg.
      
      20) Interrupt throttling defaults not being actually programmed into the
          hardware, fix from Jeff Kirsher and Ying Cai.
      
      21) TLAN driver SKB encoding in descriptor busted on 64-bit, fix from
          Benjamin Poirier.
      
      22) Fix blind status block RX producer pointer deref in TG3 driver, from
          Matt Carlson.
      
      23) Promisc and multicast are busted on ehea, fixes from Thadeu Lima de
          Souza Cascardo.
      
      24) Fix crashes in 6lowpan, from Alexander Smirnov.
      
      25) tcp_complete_cwr() needs to be careful to not rewind the CWND to
          ssthresh if ssthresh has the "infinite" value.  Fix from Yuchung
          Cheng.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (81 commits)
        sungem: Fix WakeOnLan
        tcp: change tcp_adv_win_scale and tcp_rmem[2]
        net: l2tp: unlock socket lock before returning from l2tp_ip_sendmsg
        drop_monitor: prevent init path from scheduling on the wrong cpu
        usbnet: fix failure handling in usbnet_probe
        usbnet: fix leak of transfer buffer of dev->interrupt
        ucc_geth: Add 16 bytes to max TX frame for VLANs
        net: ucc_geth, increase no. of HW RX descriptors
        netem: fix possible skb leak
        sky2: fix receive length error in mixed non-VLAN/VLAN traffic
        sky2: propogate rx hash when packet is copied
        net: fix two typos in skbuff.h
        cxgb3: Don't call cxgb_vlan_mode until q locks are initialized
        ixgbe: fix calling skb_put on nonlinear skb assertion bug
        ixgbe: Fix a memory leak in IEEE DCB
        igbvf: fix the bug when initializing the igbvf
        smsc75xx: enable mac to detect speed/duplex from phy
        smsc75xx: declare smsc75xx's MII as GMII capable
        smsc75xx: fix phy interrupt acknowledge
        smsc75xx: fix phy init reset loop
        ...
      c42f1d4b
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 913a9041
      Linus Torvalds authored
      Pull hwmon fixes from Guenter Roeck:
       "Fix OOPS seen in coretemp driver if the CPU core ID is too large"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (coretemp) Increase CPU core limit
        hwmon: (coretemp) fix oops on cpu unplug
      913a9041
  2. 03 May, 2012 14 commits
  3. 02 May, 2012 5 commits
  4. 01 May, 2012 14 commits
    • John W. Linville's avatar
      Merge branch 'master' of... · 076e7779
      John W. Linville authored
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
      076e7779
    • Stephen Warren's avatar
      USB: ehci-tegra: remove redundant gpio_set_value · 04c235c9
      Stephen Warren authored
      The immediately preceding gpio_direction_output() already set the value,
      so there's no need to repeat it. This also prevents gpio_set_value() from
      WARNing when the GPIO is sleepable (e.g. is on an I2C expander); the set
      direction API is always sleepable, but plain set_value isn't.
      
      Cc: <stable@vger.kernel.org> # v3.3
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      04c235c9
    • Alan Stern's avatar
      EHCI: update PM methods in ehci-tegra.c · ebf20de4
      Alan Stern authored
      This patch (as1547) rearranges the Power Management parts of the
      ehci-tegra driver to match the conventions used in other EHCI platform
      drivers.  In particular, the controller should not be powered down by
      the root hub's suspend routine; the controller's power level should be
      managed by the controller's own PM methods.
      
      The end result of the patch is that the standard ehci_bus_suspend()
      and ehci_bus_resume() methods can be used instead of special-purpose
      routines.  The driver now uses the standard dev_pm_ops methods instead
      of legacy power management.  Since there is no supported wakeup
      mechanism for the controller, runtime suspend is forbidden by default
      (this can be overridden via sysfs, if desired).
      
      These adjustments are needed in order to make ehci-tegra compatible
      with recent changes to the USB core.  The core now checks the root
      hub's status following bus suspend; if the controller is automatically
      powered down during bus suspend then the check will fail and the root
      hub will be resumed immediately.  Doing the controller power-down in a
      separate method avoids this problem.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Acked-by: default avatarStephen Warren <swarren@wwwdotorg.org>
      Tested-by: default avatarStephen Warren <swarren@wwwdotorg.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ebf20de4
    • Alan Cox's avatar
      vt: Fix deadlock on scroll-lock · 84f904ec
      Alan Cox authored
      Fixing the locking accidentally replaced a race in the scroll
      lock handling with a deadlock. Turn it back into a race for
      now.
      
      The basic problem is that there are two paths into the tty
      stop/start helpers. One via the tty layer ^S/^Q handling
      where we need to take the kbd_event_lock and one via the
      special keyboard handler for fn_hold where we already hold
      it. Probably we need to split out into a separate LED lock
      but for now just go back to the race as it's a bit close
      to release.
      Reported-by: default avatarClemens Ladisch <clemens@ladisch.de>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      84f904ec
    • Eric Dumazet's avatar
      netem: fix possible skb leak · 116a0fc3
      Eric Dumazet authored
      skb_checksum_help(skb) can return an error, we must free skb in this
      case. qdisc_drop(skb, sch) can also be feeded with a NULL skb (if
      skb_unshare() failed), so lets use this generic helper.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Stephen Hemminger <shemminger@osdl.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      116a0fc3
    • stephen hemminger's avatar
      sky2: fix receive length error in mixed non-VLAN/VLAN traffic · e072b3fa
      stephen hemminger authored
      Bug: The VLAN bit of the MAC RX Status Word is unreliable in several older
      supported chips. Sometimes the VLAN bit is not set for valid VLAN packets
      and also sometimes the VLAN bit is set for non-VLAN packets that came after
      a VLAN packet. This results in a receive length error when VLAN hardware
      tagging is enabled.
      
      Fix: Variation on original fix proposed by Mirko.
      The VLAN information is decoded in the status loop, and can be
      applied to the received SKB there. This eliminates the need for the
      separate tag field in the interface data structure. The tag has to
      be copied and cleared if packet is copied. This version checked out
      with vlan and normal traffic.
      
      Note: vlan_tx_tag_present should be renamed vlan_tag_present, but that
      is outside scope of this.
      Reported-by: default avatarMirko Lindner <mlindner@marvell.com>
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e072b3fa
    • stephen hemminger's avatar
      sky2: propogate rx hash when packet is copied · 3f42941b
      stephen hemminger authored
      When a small packet is received, the driver copies it to a new skb to allow
      reusing the full size Rx buffer. The copy was propogating the checksum offload
      but not the receive hash information. The bug is impact was mostly harmless
      and therefore not observed until reviewing this area of code.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3f42941b
    • Guenter Roeck's avatar
      hwmon: (coretemp) Increase CPU core limit · bdc71c9a
      Guenter Roeck authored
      CPU core ID is used to index the core_data[] array. The core ID is, however, not
      sequential; 10-core CPUS can have a core ID as high as 25. Increase the limit to
      32 to be able to deal with current CPUs.
      Signed-off-by: default avatarGuenter Roeck <guenter.roeck@ericsson.com>
      Cc: stable@vger.kernel.org # 3.0+
      Acked-by: default avatarJean Delvare <khali@linux-fr.org>
      Acked-by: default avatarDurgadoss R <durgadoss.r@intel.com>
      bdc71c9a
    • Kirill A. Shutemov's avatar
      hwmon: (coretemp) fix oops on cpu unplug · b7048711
      Kirill A. Shutemov authored
      coretemp tries to access core_data array beyond bounds on cpu unplug if
      core id of the cpu if more than NUM_REAL_CORES-1.
      
      BUG: unable to handle kernel NULL pointer dereference at 000000000000013c
      IP: [<ffffffffa00159af>] coretemp_cpu_callback+0x93/0x1ba [coretemp]
      PGD 673e5a067 PUD 66e9b3067 PMD 0
      Oops: 0000 [#1] SMP
      CPU 79
      Modules linked in: sunrpc cpufreq_ondemand acpi_cpufreq freq_table mperf bnep bluetooth rfkill ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter nf_conntrack_ipv4 nf_defrag_ipv4 ip6_tables xt_state nf_conntrack coretemp crc32c_intel asix tpm_tis pcspkr usbnet iTCO_wdt i2c_i801 microcode mii joydev tpm i2c_core iTCO_vendor_support tpm_bios i7core_edac igb ioatdma edac_core dca megaraid_sas [last unloaded: oprofile]
      
      Pid: 3315, comm: set-cpus Tainted: G        W    3.4.0-rc5+ #2 QCI QSSC-S4R/QSSC-S4R
      RIP: 0010:[<ffffffffa00159af>]  [<ffffffffa00159af>] coretemp_cpu_callback+0x93/0x1ba [coretemp]
      RSP: 0018:ffff880472fb3d48  EFLAGS: 00010246
      RAX: 0000000000000124 RBX: 0000000000000034 RCX: 00000000ffffffff
      RDX: 0000000000000000 RSI: 0000000000000046 RDI: 0000000000000246
      RBP: ffff880472fb3d88 R08: ffff88077fcd36c0 R09: 0000000000000001
      R10: ffffffff8184bc48 R11: 0000000000000000 R12: ffff880273095800
      R13: 0000000000000013 R14: ffff8802730a1810 R15: 0000000000000000
      FS:  00007f694a20f720(0000) GS:ffff88077fcc0000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      CR2: 000000000000013c CR3: 000000067209b000 CR4: 00000000000007e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process set-cpus (pid: 3315, threadinfo ffff880472fb2000, task ffff880471fa0000)
      Stack:
       ffff880277b4c308 0000000000000003 ffff880472fb3d88 0000000000000005
       0000000000000034 00000000ffffffd1 ffffffff81cadc70 ffff880472fb3e14
       ffff880472fb3dc8 ffffffff8161f48d ffff880471fa0000 0000000000000034
      Call Trace:
       [<ffffffff8161f48d>] notifier_call_chain+0x4d/0x70
       [<ffffffff8107f1be>] __raw_notifier_call_chain+0xe/0x10
       [<ffffffff81059d30>] __cpu_notify+0x20/0x40
       [<ffffffff815fa251>] _cpu_down+0x81/0x270
       [<ffffffff815fa477>] cpu_down+0x37/0x50
       [<ffffffff815fd6a3>] store_online+0x63/0xc0
       [<ffffffff813c7078>] dev_attr_store+0x18/0x30
       [<ffffffff811f02cf>] sysfs_write_file+0xef/0x170
       [<ffffffff81180443>] vfs_write+0xb3/0x180
       [<ffffffff8118076a>] sys_write+0x4a/0x90
       [<ffffffff816236a9>] system_call_fastpath+0x16/0x1b
      Code: 48 c7 c7 94 60 01 a0 44 0f b7 ac 10 ac 00 00 00 31 c0 e8 41 b7 5f e1 41 83 c5 02 49 63 c5 49 8b 44 c4 10 48 85 c0 74 56 45 31 ff <39> 58 18 75 4e eb 1f 49 63 d7 4c 89 f7 48 89 45 c8 48 6b d2 28
      RIP  [<ffffffffa00159af>] coretemp_cpu_callback+0x93/0x1ba [coretemp]
       RSP <ffff880472fb3d48>
      CR2: 000000000000013c
      Signed-off-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Cc: stable@vger.kernel.org # 3.0+
      Signed-off-by: default avatarGuenter Roeck <guenter.roeck@ericsson.com>
      b7048711
    • Eric Dumazet's avatar
      net: fix two typos in skbuff.h · d9619496
      Eric Dumazet authored
      fix kernel doc typos in function names
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d9619496
    • Steven Rostedt's avatar
      ktest: Fix reboot on success stopping all reboots · 759a3cc6
      Steven Rostedt authored
      The change to let individual tests decide to reboot the machine on
      success of the entire test also prevented errors from rebooting
      when an error was detected.
      
      The "no_reboot" variable was only cleared if the test had
      reboot_on_success set. But the no_reboot variable also prevents the test
      rebooting when an error was detected even when REBOOT_ON_ERROR was set.
      
      Add a new "reboot_success" variable that is used to determine if the
      test should reboot on success and not touch the no_reboot variable.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      759a3cc6
    • Russ Dill's avatar
      ktest.pl: Fix combined usage of BISECT_REVERSE and BISECT_SKIP · 5158ba3e
      Russ Dill authored
      When BISECT_REVERSE and BISECT_SKIP are used together with boot or test
      testing, build failures are treated as boot or test failures and
      'git bisect bad' is executed instead of 'git bisect skip'. This is because
      the $ret value of -1 is treated as a build failure, but the $reverse_bisect
      logic does not properly handle this.
      
      Simple fix, only invert it if it is positive.
      
      Link: http://lkml.kernel.org/r/1335235380-8509-1-git-send-email-Russ.Dill@ti.comSigned-off-by: default avatarRuss Dill <Russ.Dill@ti.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      5158ba3e
    • Dave Airlie's avatar
      Merge branch 'drm-nouveau-fixes' of git://git.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes · e6586240
      Dave Airlie authored
      * 'drm-nouveau-fixes' of git://git.freedesktop.org/git/nouveau/linux-2.6:
        drm/nv10/gpio: fix thinko in mask for gpio lines 2-9
        nvc0/fb: shut up PMFB interrupt after the first occurrence
        drm/nouveau/hdmi: use correct hdmi regs for nvaa/nvac
        drm/nouveau/bios: fix regression on some nv4x board
      e6586240
    • Roland Dreier's avatar
      cxgb3: Don't call cxgb_vlan_mode until q locks are initialized · 60158e64
      Roland Dreier authored
      The driver calls cxgb_vlan_mode() from init_one().  This calls into
      synchronize_rx(), which locks all the q locks, but the q locks are not
      initialized until cxgb_up() -> setup_sge_qsets().  So move the call to
      cxgb_vlan_mode() into cxgb_up(), after the call to setup_sge_qsets().
      We also move the body of these functions up higher to avoid having to
      a forward declaration.
      
      This was found because of the lockdep warning:
      
          INFO: trying to register non-static key.
          the code is fine but needs lockdep annotation.
          turning off the locking correctness validator.
          Pid: 323, comm: work_for_cpu Not tainted 3.4.0-rc5 #28
          Call Trace:
           [<ffffffff8106e767>] register_lock_class+0x108/0x2d0
           [<ffffffff8106ff42>] __lock_acquire+0xd3/0xd06
           [<ffffffff81070fd0>] lock_acquire+0xbf/0xfe
           [<ffffffff813862a6>] _raw_spin_lock_irq+0x36/0x45
           [<ffffffffa01e71aa>] cxgb_vlan_mode+0x96/0xcb [cxgb3]
           [<ffffffffa01f90eb>] init_one+0x8c4/0x980 [cxgb3]
           [<ffffffff811fcbf0>] local_pci_probe+0x3f/0x70
           [<ffffffff81042206>] do_work_for_cpu+0x10/0x22
           [<ffffffff810482de>] kthread+0xa1/0xa9
           [<ffffffff8138e234>] kernel_thread_helper+0x4/0x10
      
      Contrary to what lockdep says, the code is not fine: we are locking an
      uninitialized spinlock.
      Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      60158e64