Skip to content
Commits on May 7, 2012
  1. @gregkh

    Linux 3.3.5

    gregkh committed May 7, 2012
  2. @gregkh

    hfsplus: Fix potential buffer overflows

    commit 6f24f89 upstream.
    
    Commit ec81aec ("hfs: fix a potential buffer overflow") fixed a few
    potential buffer overflows in the hfs filesystem.  But as Timo Warns
    pointed out, these changes also need to be made on the hfsplus
    filesystem as well.
    
    Reported-by: Timo Warns <warns@pre-sense.de>
    Acked-by: WANG Cong <amwang@redhat.com>
    Cc: Alexey Khoroshilov <khoroshilov@ispras.ru>
    Cc: Miklos Szeredi <mszeredi@suse.cz>
    Cc: Sage Weil <sage@newdream.net>
    Cc: Eugene Teo <eteo@redhat.com>
    Cc: Roman Zippel <zippel@linux-m68k.org>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Alexey Dobriyan <adobriyan@gmail.com>
    Cc: Dave Anderson <anderson@redhat.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    gregkh committed May 4, 2012
  3. @gregkh

    iwlwifi: use 6000G2B for 6030 device series

    commit 1ed2ec3 upstream.
    
    "iwlwifi: use correct released ucode version" change
    the ucode api ok from 6000G2 to 6000G2B, but it shall belong
    to 6030 device series, not the 6005 device series. Fix it
    
    Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Wey-Yi Guy committed with gregkh Apr 25, 2012
  4. @jmberg @gregkh

    iwlwifi: fix hardware queue programming

    commit 5ef4acd upstream.
    
    Newer devices have 20 (5000 series) or 30 (6000 series)
    hardware queues, rather than the 16 that 4965 had. This
    was added to the driver a long time ago, but improperly:
    the queue registers for the higher queues aren't just
    continuations of the registers for the first 16 queues,
    they are in other places. Therefore, the hardware would
    lock up when trying to activate queue 16 or above and
    the device would have to be restarted.
    
    Thanks goes to Emmanuel who identified this and told me
    how the queue programming should be done.
    
    Note that we don't use queues 20 and higher today and
    doing so needs more work than this.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    jmberg committed with gregkh Apr 23, 2012
  5. @gregkh

    iwlwifi: use correct released ucode version

    commit 78cbcf2 upstream.
    
    Report correctly the latest released version
    of the iwlwifi firmware for all
    iwlwifi-supported devices.
    
    Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com>
    Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Meenakshi Venkataraman committed with gregkh Apr 22, 2012
  6. @sgruszka @gregkh

    iwlwifi: do not nulify ctx->vif on reset

    commit 8db4c7e upstream.
    
    ctx->vif is dereferenced in different part of iwlwifi code, so do not
    nullify it.
    
    This should address at least one of the possible reasons of WARNING at
    iwlagn_mac_remove_interface, and perhaps some random crashes when
    firmware reset is performed.
    
    Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
    Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    sgruszka committed with gregkh Apr 18, 2012
  7. @notaz @gregkh

    wl1251: fix crash on remove due to leftover work item

    commit 4c1bcdb upstream.
    
    This driver currently leaves elp_work behind when stopping, which
    occasionally results in data corruption because work function ends
    up accessing freed memory, typical symptoms of this are various
    worker_thread crashes. Fix it by cancelling elp_work.
    
    Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    notaz committed with gregkh Apr 26, 2012
  8. @notaz @gregkh

    wl1251: fix crash on remove due to premature kfree

    commit 328c32f upstream.
    
    Currently SDIO glue frees it's own structure before calling
    wl1251_free_hw(), which in turn calls ieee80211_unregister_hw().
    The later call may result in a need to communicate with the chip
    to stop it (as it happens now if the interface is still up before
    rmmod), which means calls are made back to the glue, resulting in
    freed memory access.
    
    Fix this by freeing glue data last.
    
    Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    notaz committed with gregkh Apr 26, 2012
  9. @lwfinger @gregkh

    rtlwifi: Fix oops on unload

    commit 44eb65c upstream.
    
    Under some circumstances, a PCI-based driver reports the following OOPs:
    
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Oops: 0000 [#1] SMP
    --snip--
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Pid: 19627, comm: rmmod
    Not tainted 3.2.9-2.fc16.x86_64 #1 LENOVO 05962RU/05962RU
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] RIP:
    0010:[<ffffffffa0418d39>]  [<ffffffffa0418d39>]
    rtl92ce_get_desc+0x19/0xd0 [rtl8192ce]
    --snip--
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Process rmmod (pid:
    19627, threadinfo ffff880050262000, task ffff8801156d5cc0)
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Stack:
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011]  0000000000000002
    ffff8801176c2540 ffff880050263ca8 ffffffffa03348e7
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011]  0000000000000282
    0000000180150014 ffff880050263fd8 ffff8801176c2810
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011]  ffff880050263bc8
    ffffffff810550e2 00000000000002c0 ffff8801176c0d40
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Call Trace:
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011]  [<ffffffffa03348e7>]
    _rtl_pci_rx_interrupt+0x187/0x650 [rtlwifi]
    --snip--
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Code: ff 09 d0 89 07 48
    83 c4 08 5b 5d c3 66 0f 1f 44 00 00 55 48 89 e5 53 48 83 ec 08 66 66
    66 66 90 40 84 f6 89 d3 74 13 84 d2 75 57 <8b> 07 48 83 c4 08 5b 5d c1
    e8 1f c3 0f 1f 00 84 d2 74 ed 80 fa
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] RIP
    [<ffffffffa0418d39>] rtl92ce_get_desc+0x19/0xd0 [rtl8192ce]
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011]  RSP <ffff880050263b58>
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] CR2: 00000000000006e0
    Mar 19 08:14:35 kvothe kernel: [ 6584.646491] ---[ end trace
    8636c766dcfbe0e6 ]---
    
    This oops is due to interrupts not being disabled in this particular path.
    
    Reported-by: Dave Airlie <airlied@gmail.com>
    Tested-by: Dave Airlie <airlied@gmail.com>
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    lwfinger committed with gregkh Apr 19, 2012
  10. @gregkh

    mac80211: fix AP mode EAP tx for VLAN stations

    commit 66f2c99 upstream.
    
    EAP frames for stations in an AP VLAN are sent on the main AP interface
    to avoid race conditions wrt. moving stations.
    For that to work properly, sta_info_get_bss must be used instead of
    sta_info_get when sending EAP packets.
    Previously this was only done for cooked monitor injected packets, so
    this patch adds a check for tx->skb->protocol to the same place.
    
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Felix Fietkau committed with gregkh Apr 29, 2012
  11. @stanislav-yakovlev @gregkh

    ipw2200: Fix race condition in the command completion acknowledge

    commit dd44731 upstream.
    
    Driver incorrectly validates command completion: instead of waiting
    for a command to be acknowledged it continues execution.  Most of the
    time driver gets acknowledge of the command completion in a tasklet
    before it executes the next one. But sometimes it sends the next
    command before it gets acknowledge for the previous one. In such a
    case one of the following error messages appear in the log:
    
    Failed to send SYSTEM_CONFIG: Already sending a command.
    Failed to send ASSOCIATE: Already sending a command.
    Failed to send TX_POWER: Already sending a command.
    
    After that you need to reload the driver to get it working again.
    
    This bug occurs during roaming (reported by Sam Varshavchik)
    https://bugzilla.redhat.com/show_bug.cgi?id=738508
    and machine booting (reported by Tom Gundersen and Mads Kiilerich)
    https://bugs.archlinux.org/task/28097
    https://bugzilla.redhat.com/show_bug.cgi?id=802106
    
    This patch doesn't fix the delay issue during firmware load.
    But at least device now works as usual after boot.
    
    Signed-off-by: Stanislav Yakovlev <stas.yakovlev@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    stanislav-yakovlev committed with gregkh Apr 19, 2012
  12. @stigge @gregkh

    i2c: pnx: Disable clk in suspend

    commit 6c557cf upstream.
    
    In the driver's suspend function, clk_enable() was used instead of
    clk_disable(). This is corrected with this patch.
    
    Signed-off-by: Roland Stigge <stigge@antcom.de>
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    [wsa: reworded commit header slightly]
    Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    stigge committed with gregkh Apr 4, 2012
  13. @gregkh

    b43: only reload config after successful initialization

    commit dbdedbd upstream.
    
    Commit 2a19032 (b43: reload phy and bss settings after core restarts)
    introduced an unconditional call to b43_op_config() at the end of
    b43_op_start(). When firmware fails to load this can wedge the system.
    There's no need to reload the configuration after a failed
    initialization anyway, so only make the call if initialization was
    successful.
    
    BugLink: http://bugs.launchpad.net/bugs/950295
    Cc: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Seth Forshee committed with gregkh Apr 25, 2012
  14. @gregkh

    libata: skip old error history when counting probe trials

    commit 6868225 upstream.
    
    Commit d902747("[libata] Add ATA transport class") introduced
    ATA_EFLAG_OLD_ER to mark entries in the error ring as cleared.
    
    But ata_count_probe_trials_cb() didn't check this flag and it still
    counts the old error history. So wrong probe trials count is returned
    and it causes problem, for example, SATA link speed is slowed down from
    3.0Gbps to 1.5Gbps.
    
    Fix it by checking ATA_EFLAG_OLD_ER in ata_count_probe_trials_cb().
    
    Signed-off-by: Lin Ming <ming.m.lin@intel.com>
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Lin Ming committed with gregkh May 3, 2012
  15. @gregkh

    hwmon: (coretemp) fix oops on cpu unplug

    commit b704871 upstream.
    
    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: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Kirill A. Shutemov committed with gregkh Apr 30, 2012
  16. @gregkh

    nouveau: initialise has_optimus variable.

    commit addde4e upstream.
    
    We should initialise this to 0 really to avoid getting false positives.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Dave Airlie committed with gregkh May 2, 2012
  17. @gregkh

    hwmon: (coretemp) Increase CPU core limit

    commit bdc71c9 upstream.
    
    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: Guenter Roeck <guenter.roeck@ericsson.com>
    Acked-by: Jean Delvare <khali@linux-fr.org>
    Acked-by: Durgadoss R <durgadoss.r@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Guenter Roeck committed with gregkh May 1, 2012
  18. @gregkh

    efivars: Improve variable validation

    commit 54b3a4d upstream.
    
    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: Matthew Garrett <mjg@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Matthew Garrett committed with gregkh May 3, 2012
  19. @majianpeng @gregkh

    md/raid5: Fix a bug about judging if the operation is syncing or repl…

    …acing
    
    commit c6d2e08 upstream.
    
    When create a raid5 using assume-clean and echo check or repair to
    sync_action.Then component disks did not operated IO but the raid
    check/resync faster than normal.
    Because the judgement in function analyse_stripe():
    		if (do_recovery ||
    		    sh->sector >= conf->mddev->recovery_cp)
    			s->syncing = 1;
    		else
    			s->replacing = 1;
    When check or repair,the recovery_cp == MaxSectore,so syncing equal zero
    not one.
    
    This bug was introduced by commit 9a3e110
        md/raid5:  detect and handle replacements during recovery.
    so this patch is suitable for 3.3-stable.
    
    Signed-off-by: majianpeng <majianpeng@gmail.com>
    Signed-off-by: NeilBrown <neilb@suse.de>
    Cc: Jes Sorensen <Jes.Sorensen@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    majianpeng committed with gregkh Apr 2, 2012
  20. @utrace @gregkh

    exit_signal: fix the "parent has changed security domain" logic

    commit b6e238d upstream.
    
    exit_notify() changes ->exit_signal if the parent already did exec.
    This doesn't really work, we are not going to send the signal now
    if there is another live thread or the exiting task is traced. The
    parent can exec before the last dies or the tracer detaches.
    
    Move this check into do_notify_parent() which actually sends the
    signal.
    
    The user-visible change is that we do not change ->exit_signal,
    and thus the exiting task is still "clone children" for
    do_wait()->eligible_child(__WCLONE). Hopefully this is fine, the
    current logic is racy anyway.
    
    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    utrace committed with gregkh Mar 19, 2012
  21. @utrace @gregkh

    exit_signal: simplify the "we have changed execution domain" logic

    commit e636825 upstream.
    
    exit_notify() checks "tsk->self_exec_id != tsk->parent_exec_id"
    to handle the "we have changed execution domain" case.
    
    We can change do_thread() to always set ->exit_signal = SIGCHLD
    and remove this check to simplify the code.
    
    We could change setup_new_exec() instead, this looks more logical
    because it increments ->self_exec_id. But note that de_thread()
    already resets ->exit_signal if it changes the leader, let's keep
    both changes close to each other.
    
    Note that we change ->exit_signal lockless, this changes the rules.
    Thereafter ->exit_signal is not stable under tasklist but this is
    fine, the only possible change is OLDSIG -> SIGCHLD. This can race
    with eligible_child() but the race is harmless. We can race with
    reparent_leader() which changes our ->exit_signal in parallel, but
    it does the same change to SIGCHLD.
    
    The noticeable user-visible change is that the execing task is not
    "visible" to do_wait()->eligible_child(__WCLONE) right after exec.
    To me this looks more logical, and this is consistent with mt case.
    
    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    utrace committed with gregkh Mar 19, 2012
  22. @gregkh

    sched: Fix nohz load accounting -- again!

    commit c308b56 upstream.
    
    Various people reported nohz load tracking still being wrecked, but Doug
    spotted the actual problem. We fold the nohz remainder in too soon,
    causing us to loose samples and under-account.
    
    So instead of playing catch-up up-front, always do a single load-fold
    with whatever state we encounter and only then fold the nohz remainder
    and play catch-up.
    
    Reported-by: Doug Smythies <dsmythies@telus.net>
    Reported-by: LesÅ=82aw Kope=C4=87 <leslaw.kopec@nasza-klasa.pl>
    Reported-by: Aman Gupta <aman@tmm1.net>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/n/tip-4v31etnhgg9kwd6ocgx3rxl8@git.kernel.org
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Cc: Kerin Millar <kerframil@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Peter Zijlstra committed with gregkh Mar 1, 2012
  23. @gregkh

    PM / Hibernate: fix the number of pages used for hibernate/thaw buffe…

    …ring
    
    commit f8262d4 upstream.
    
    Hibernation regression fix, since 3.2.
    
    Calculate the number of required free pages based on non-high memory
    pages only, because that is where the buffers will come from.
    
    Commit 081a9d0 introduced a new buffer
    page allocation logic during hibernation, in order to improve the
    performance. The amount of pages allocated was calculated based on total
    amount of pages available, although only non-high memory pages are
    usable for this purpose. This caused hibernation code to attempt to over
    allocate pages on platforms that have high memory, which led to hangs.
    
    Signed-off-by: Bojan Smojver <bojan@rexursive.com>
    Signed-off-by: Rafael J. Wysocki <rjw@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Bojan Smojver committed with gregkh Apr 24, 2012
  24. @gregkh

    powerpc/85xx: don't call of_platform_bus_probe() twice

    commit 8a95bc8 upstream.
    
    Commit 46d026a ("powerpc/85xx: consolidate of_platform_bus_probe calls")
    replaced platform-specific of_device_id tables with a single function
    that probes the most of the busses in 85xx device trees.  If a specific
    platform needed additional busses probed, then it could call
    of_platform_bus_probe() again.  Typically, the additional platform-specific
    busses are children of existing busses that have already been probed.
    of_platform_bus_probe() does not handle those child busses automatically.
    
    Unfortunately, this doesn't actually work.  The second (platform-specific)
    call to of_platform_bus_probe() never finds any of the busses it's asked
    to find.
    
    To remedy this, the platform-specific of_device_id tables are eliminated,
    and their entries are merged into mpc85xx_common_ids[], so that all busses
    are probed at once.
    
    Signed-off-by: Timur Tabi <timur@freescale.com>
    Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Timur Tabi committed with gregkh Nov 30, 2011
  25. @mfleming @gregkh

    x86, efi: Add dedicated EFI stub entry point

    commit b199430 upstream.
    
    The method used to work out whether we were booted by EFI firmware or
    via a boot loader is broken. Because efi_main() is always executed
    when booting from a boot loader we will dereference invalid pointers
    either on the stack (CONFIG_X86_32) or contained in %rdx
    (CONFIG_X86_64) when searching for an EFI System Table signature.
    
    Instead of dereferencing these invalid system table pointers, add a
    new entry point that is only used when booting from EFI firmware, when
    we know the pointer arguments will be valid. With this change legacy
    boot loaders will no longer execute efi_main(), but will instead skip
    EFI stub initialisation completely.
    
    [ hpa: Marking this for urgent/stable since it is a regression when
      the option is enabled; without the option the patch has no effect ]
    
    Signed-off-by: Matt Fleming <matt.hfleming@intel.com>
    Link: http://lkml.kernel.org/r/1334584744.26997.14.camel@mfleming-mobl1.ger.corp.intel.com
    Reported-by: Jordan Justen <jordan.l.justen@intel.com>
    Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    mfleming committed with gregkh Apr 15, 2012
  26. @gregkh

    x86, boot: Correct CFLAGS for hostprogs

    commit 446e1c8 upstream.
    
    This is a partial revert of commit:
        d40f833 "Restrict CFLAGS for hostprogs"
    
    The endian-manipulation macros in tools/include need <linux/types.h>,
    but the hostprogs in arch/x86/boot need several headers from the
    kernel build tree, which means we have to add the kernel headers to
    the include path.  This picks up <linux/types.h> from the kernel tree,
    which gives a warning.
    
    Since this use of <linux/types.h> is intentional, add
    -D__EXPORTED_HEADERS__ to the command line to silence the warning.
    
    A better way to fix this would be to always install the exported
    kernel headers into $(objtree)/usr/include as a standard part of the
    kernel build, but that is a lot more involved.
    
    Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
    Acked-by: Matt Fleming <matt.fleming@intel.com>
    Link: http://lkml.kernel.org/r/1330436245-24875-5-git-send-email-matt@console-pimps.org
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    H. Peter Anvin committed with gregkh Mar 22, 2012
  27. @mfleming @gregkh

    x86, efi: Fix endian issues and unaligned accesses

    commit 92f42c5 upstream.
    
    We may need to convert the endianness of the data we read from/write
    to 'buf', so let's use {get,put}_unaligned_le32() to do that. Failure
    to do so can result in accessing invalid memory, leading to a
    segfault.  Stephen Rothwell noticed this bug while cross-building an
    x86_64 allmodconfig kernel on PowerPC.
    
    We need to read from and write to 'buf' a byte at a time otherwise
    it's possible we'll perform an unaligned access, which can lead to bus
    errors when cross-building an x86 kernel on risc architectures.
    
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Nick Bowler <nbowler@elliptictech.com>
    Tested-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: Matt Fleming <matt.fleming@intel.com>
    Link: http://lkml.kernel.org/r/1330436245-24875-6-git-send-email-matt@console-pimps.org
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    mfleming committed with gregkh Feb 28, 2012
  28. @mfleming @gregkh

    x86, boot: Restrict CFLAGS for hostprogs

    commit d40f833 upstream.
    
    Currently tools/build has access to all the kernel headers in
    $(srctree). This is unnecessary and could potentially allow
    tools/build to erroneously include kernel headers when it should only
    be including userspace-exported headers.
    
    Unfortunately, mkcpustr still needs access to some of the asm kernel
    headers, so explicitly special case that hostprog.
    
    Cc: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Matt Fleming <matt.fleming@intel.com>
    Link: http://lkml.kernel.org/r/1330436245-24875-5-git-send-email-matt@console-pimps.org
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    mfleming committed with gregkh Feb 28, 2012
  29. @mfleming @gregkh

    x86, mkpiggy: Don't open code put_unaligned_le32()

    commit 12871c5 upstream.
    
    Use the new headers in tools/include instead of rolling our own
    put_unaligned_le32() implementation.
    
    Cc: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Matt Fleming <matt.fleming@intel.com>
    Link: http://lkml.kernel.org/r/1330436245-24875-4-git-send-email-matt@console-pimps.org
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    mfleming committed with gregkh Feb 28, 2012
  30. @mfleming @gregkh

    tools/include: Add byteshift headers for endian access

    commit a07f767 upstream.
    
    There are various hostprogs in the kernel that are rolling their own
    implementations of {get,put}_unaligned_le*(). Copy the byteshift
    headers from include/linux/unaligned so that they can all use a single
    implementation.
    
    This requires changing some of the data types to the userspace
    exported ones (u32 -> __u32, etc).
    
    Signed-off-by: Matt Fleming <matt.fleming@intel.com>
    Link: http://lkml.kernel.org/r/1330436245-24875-2-git-send-email-matt@console-pimps.org
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    mfleming committed with gregkh Feb 28, 2012
  31. @gregkh

    x86, efi: Fix pointer math issue in handle_ramdisks()

    commit c7b7383 upstream.
    
    "filename" is a efi_char16_t string so this check for reaching the end
    of the array doesn't work.  We need to cast the pointer to (u8 *) before
    doing the math.
    
    This patch changes the "filename" to "filename_16" to avoid confusion in
    the future.
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Link: http://lkml.kernel.org/r/20120305180614.GA26880@elgon.mountain
    Acked-by: Matt Fleming <matt.fleming@intel.com>
    Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Dan Carpenter committed with gregkh Mar 5, 2012
  32. @gregkh

    efi: Validate UEFI boot variables

    commit fec6c20 upstream.
    
    A common flaw in UEFI systems is a refusal to POST triggered by a malformed
    boot variable. Once in this state, machines may only be restored by
    reflashing their firmware with an external hardware device. While this is
    obviously a firmware bug, the serious nature of the outcome suggests that
    operating systems should filter their variable writes in order to prevent
    a malicious user from rendering the machine unusable.
    
    Signed-off-by: Matthew Garrett <mjg@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Matthew Garrett committed with gregkh Apr 30, 2012
  33. @gregkh

    efi: Add new variable attributes

    commit 41b3254 upstream.
    
    More recent versions of the UEFI spec have added new attributes for
    variables. Add them.
    
    Signed-off-by: Matthew Garrett <mjg@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Matthew Garrett committed with gregkh Apr 30, 2012
  34. @djbw @gregkh

    SCSI: libsas: fix false positive 'device attached' conditions

    commit 7d1d865 upstream.
    
    Normalize phy->attached_sas_addr to return a zero-address in the case
    when device-type == NO_DEVICE or the linkrate is invalid to handle
    expanders that put non-zero sas addresses in the discovery response:
    
     sas: ex 5001b4da000f903f phy02:U:0 attached: 0100000000000000 (no device)
     sas: ex 5001b4da000f903f phy01:U:0 attached: 0100000000000000 (no device)
     sas: ex 5001b4da000f903f phy03:U:0 attached: 0100000000000000 (no device)
     sas: ex 5001b4da000f903f phy00:U:0 attached: 0100000000000000 (no device)
    
    Reported-by: Andrzej Jakowski <andrzej.jakowski@intel.com>
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: James Bottomley <JBottomley@Parallels.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    djbw committed with gregkh Mar 20, 2012
  35. @gregkh

    SCSI: libsas: fix sas_find_bcast_phy() in the presence of 'vacant' phys

    commit 1699490 upstream.
    
    If an expander reports 'PHY VACANT' for a phy index prior to the one
    that generated a BCN libsas fails rediscovery.  Since a vacant phy is
    defined as a valid phy index that will never have an attached device
    just continue the search.
    
    Signed-off-by: Thomas Jackson <thomas.p.jackson@intel.com>
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: James Bottomley <JBottomley@Parallels.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Thomas Jackson committed with gregkh Feb 17, 2012
Something went wrong with that request. Please try again.