Linux 3.0.22

commit a4a663513af05a98d6085d92f85c16bb64ac4050
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Mon Feb 20 13:43:19 2012 -0800

    Linux 3.0.22

commit 7b5644ec051e133d59249b7f19d2d8fef9a8d323
Author: Alexey Dobriyan <adobriyan@gmail.com>
Date:   Sat Jan 14 21:44:49 2012 +0300

    crypto: sha512 - use standard ror64()

    commit f2ea0f5f04c97b48c88edccba52b0682fbe45087 upstream.

    Use standard ror64() instead of hand-written.
    There is no standard ror64, so create it.

    The difference is shift value being "unsigned int" instead of uint64_t
    (for which there is no reason). gcc starts to emit native ROR instructions
    which it doesn't do for some reason currently. This should make the code
    faster.

    Patch survives in-tree crypto test and ping flood with hmac(sha512) on.

    Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 16c7560fcca939095d099da4316f2df66aebc3ba
Author: Eric Dumazet <eric.dumazet@gmail.com>
Date:   Tue Dec 13 04:57:06 2011 +0100

    slub: fix a possible memleak in __slab_alloc()

    commit 73736e0387ba0e6d2b703407b4d26168d31516a7 upstream.

    Zhihua Che reported a possible memleak in slub allocator on
    CONFIG_PREEMPT=y builds.

    It is possible current thread migrates right before disabling irqs in
    __slab_alloc(). We must check again c->freelist, and perform a normal
    allocation instead of scratching c->freelist.

    Many thanks to Zhihua Che for spotting this bug, introduced in 2.6.39

    V2: Its also possible an IRQ freed one (or several) object(s) and
    populated c->freelist, so its not a CONFIG_PREEMPT only problem.

    Reported-by: Zhihua Che <zhihua.che@gmail.com>
    Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
    Acked-by: Christoph Lameter <cl@linux.com>
    Signed-off-by: Pekka Enberg <penberg@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d3a6a79cfe7641d797ab74eea55b93e0f35f66d7
Author: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date:   Mon Jan 30 14:31:46 2012 +0000

    xen pvhvm: do not remap pirqs onto evtchns if !xen_have_vector_callback

    commit 207d543f472c1ac9552df79838dc807cbcaa9740 upstream.

    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c17b9573c236874b9a8a6c4c03c02accf70c9cd5
Author: Daniel T Chen <crimsun@ubuntu.com>
Date:   Mon Feb 13 23:44:22 2012 -0500

    ALSA: intel8x0: Fix default inaudible sound on Gateway M520

    commit 27c3afe6e1cf129faac90405121203962da08ff4 upstream.

    BugLink: https://bugs.launchpad.net/bugs/930842

    The reporter states that audio is inaudible by default without muting
    'External Amplifier'. Add a quirk to handle his SSID so that changing
    the control is not necessary.

    Reported-and-tested-by: Benjamin Carlson <elderbubba0810@gmail.com>
    Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c29e3ddfbd904f0b7cf600c04c4263c71c1f4830
Author: Herbert Xu <herbert@gondor.apana.org.au>
Date:   Sun Feb 5 15:09:28 2012 +1100

    crypto: sha512 - Avoid stack bloat on i386

    commit 3a92d687c8015860a19213e3c102cad6b722f83c upstream.

    Unfortunately in reducing W from 80 to 16 we ended up unrolling
    the loop twice.  As gcc has issues dealing with 64-bit ops on
    i386 this means that we end up using even more stack space (>1K).

    This patch solves the W reduction by moving LOAD_OP/BLEND_OP
    into the loop itself, thus avoiding the need to duplicate it.

    While the stack space still isn't great (>0.5K) it is at least
    in the same ball park as the amount of stack used for our C sha1
    implementation.

    Note that this patch basically reverts to the original code so
    the diff looks bigger than it really is.

    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d122aed32ad780e0c337551121c36a5d5e1c2ee0
Author: Herbert Xu <herbert@gondor.apana.org.au>
Date:   Thu Jan 26 15:03:16 2012 +1100

    crypto: sha512 - Use binary and instead of modulus

    commit 58d7d18b5268febb8b1391c6dffc8e2aaa751fcd upstream.

    The previous patch used the modulus operator over a power of 2
    unnecessarily which may produce suboptimal binary code.  This
    patch changes changes them to binary ands instead.

    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0f74c152fd01e1070c141eb10c70cc0f6fb39e22
Author: Nikolaus Schulz <schulz@macnetix.de>
Date:   Wed Feb 8 18:56:08 2012 +0100

    hwmon: (f75375s) Fix automatic pwm mode setting for F75373 & F75375

    commit 09e87e5c4f9af656af2a8a3afc03487c5d9287c3 upstream.

    In order to enable temperature mode aka automatic mode for the F75373 and
    F75375 chips, the two FANx_MODE bits in the fan configuration register
    need be set to 01, not 10.

    Signed-off-by: Nikolaus Schulz <mail@microschulz.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8a6e41581a4537b53c038a328c558d455a6f3e3a
Author: David Jander <david@protonic.nl>
Date:   Wed Jun 8 11:37:45 2011 -0600

    gpio/pca953x: Fix warning of enabled interrupts in handler

    commit 6dd599f8af0166805951f4421a78ba716d78321a upstream.

    When using nested threaded irqs, use handle_nested_irq(). This function
    does not call the chip handler, so no handler is set.

    Signed-off-by: David Jander <david@protonic.nl>
    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Yong Zhang <yong.zhang0@gmail.com>
    Cc: Manfred Gruber <m.gruber@unverspurt.at>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a5e2201319ef3c88cf8d777466c0e097625ba942
Author: Wu Fengguang <fengguang.wu@intel.com>
Date:   Sat Feb 4 20:54:03 2012 -0600

    writeback: fix dereferencing NULL bdi->dev on trace_writeback_queue

    commit 977b7e3a52a7421ad33a393a38ece59f3d41c2fa upstream.

    When a SD card is hot removed without umount, del_gendisk() will call
    bdi_unregister() without destroying/freeing it. This leaves the bdi in
    the bdi->dev = NULL, bdi->wb.task = NULL, bdi->bdi_list removed state.

    When sync(2) gets the bdi before bdi_unregister() and calls
    bdi_queue_work() after the unregister, trace_writeback_queue will be
    dereferencing the NULL bdi->dev. Fix it with a simple test for NULL.

    LKML-reference: http://lkml.org/lkml/2012/1/18/346
    Reported-by: Rabin Vincent <rabin@rab.in>
    Tested-by: Namjae Jeon <linkinjeon@gmail.com>
    Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 36935521cd67e3df9a1db71591cf224252d6082c
Author: Eliad Peller <eliad@wizery.com>
Date:   Wed Feb 1 18:48:09 2012 +0200

    mac80211: timeout a single frame in the rx reorder buffer

    commit 07ae2dfcf4f7143ce191c6436da1c33f179af0d6 upstream.

    The current code checks for stored_mpdu_num > 1, causing
    the reorder_timer to be triggered indefinitely, but the
    frame is never timed-out (until the next packet is received)

    Signed-off-by: Eliad Peller <eliad@wizery.com>
    Acked-by: Johannes Berg <johannes@sipsolutions.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4ac2f3d3f1d4a08ad6a450127c4b0f590fe28bdf
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Fri Feb 10 09:03:58 2012 +0100

    relay: prevent integer overflow in relay_open()

    commit f6302f1bcd75a042df69866d98b8d775a668f8f1 upstream.

    "subbuf_size" and "n_subbufs" come from the user and they need to be
    capped to prevent an integer overflow.

    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9a3626a437ddbc0d8e60bda9480739cd850bb48f
Author: Wu Fengguang <fengguang.wu@intel.com>
Date:   Mon Jan 9 11:53:50 2012 -0600

    lib: proportion: lower PROP_MAX_SHIFT to 32 on 64-bit kernel

    commit 3310225dfc71a35a2cc9340c15c0e08b14b3c754 upstream.

    PROP_MAX_SHIFT should be set to <=32 on 64-bit box. This fixes two bugs
    in the below lines of bdi_dirty_limit():

    	bdi_dirty *= numerator;
    	do_div(bdi_dirty, denominator);

    1) divide error: do_div() only uses the lower 32 bit of the denominator,
       which may trimmed to be 0 when PROP_MAX_SHIFT > 32.

    2) overflow: (bdi_dirty * numerator) could easily overflow if numerator
       used up to 48 bits, leaving only 16 bits to bdi_dirty

    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Reported-by: Ilya Tumaykin <librarian_rus@yahoo.com>
    Tested-by: Ilya Tumaykin <librarian_rus@yahoo.com>
    Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit eafbec56be4c3cfd8f3b5098a0c5f7397a1e48b0
Author: Nikolaus Schulz <schulz@macnetix.de>
Date:   Wed Feb 8 18:56:10 2012 +0100

    hwmon: (f75375s) Fix bit shifting in f75375_write16

    commit eb2f255b2d360df3f500042a2258dcf2fcbe89a2 upstream.

    In order to extract the high byte of the 16-bit word, shift the word to
    the right, not to the left.

    Signed-off-by: Nikolaus Schulz <mail@microschulz.de>
    Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0eac4fa19d910c7ce80e48b89eaec1f08bc816ef
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Wed Feb 8 16:42:52 2012 +0100

    drm/i915: no lvds quirk for AOpen MP45

    commit e57b6886f555ab57f40a01713304e2053efe51ec upstream.

    According to a bug report, it doesn't have one.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44263
    Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f021e004b62bf213e3dfa70f747f1d3d6304fa6b
Author: Jiri Olsa <jolsa@redhat.com>
Date:   Mon Feb 6 18:54:06 2012 -0200

    perf tools: Fix perf stack to non executable on x86_64

    commit 7a0153ee15575a4d07b5da8c96b79e0b0fd41a12 upstream.

    By adding following objects:
      bench/mem-memcpy-x86-64-asm.o
    the x86_64 perf binary ended up with executable stack.

    The reason was that above object are assembler sourced and is missing the
    GNU-stack note section. In such case the linker assumes that the final binary
    should not be restricted at all and mark the stack as RWX.

    Adding section ".note.GNU-stack" definition to mentioned object, with all
    flags disabled, thus omiting this object from linker stack flags decision.

    Problem introduced in:

      $ git describe ea7872b
      v2.6.37-rc2-19-gea7872b

    Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=783570
    Reported-by: Clark Williams <williams@redhat.com>
    Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
    Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/r/1328100848-5630-1-git-send-email-jolsa@redhat.com
    Signed-off-by: Jiri Olsa <jolsa@redhat.com>
    [ committer note: Backported fix to perf/urgent (3.3-rc2+) ]
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 795f18956b547f0cfbcaa6d907d2bb05726a6a3e
Author: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Date:   Fri Feb 3 22:31:13 2012 +0530

    perf evsel: Fix an issue where perf report fails to show the proper percentage

    commit a4a03fc7ef89020baca4f19174e6a43767c6d78a upstream.

    This patch fixes an issue where perf report shows nan% for certain
    perf.data files. The below is from a report for a do_fork probe:

       -nan%           sshd  [kernel.kallsyms]  [k] do_fork
       -nan%    packagekitd  [kernel.kallsyms]  [k] do_fork
       -nan%    dbus-daemon  [kernel.kallsyms]  [k] do_fork
       -nan%           bash  [kernel.kallsyms]  [k] do_fork

    A git bisect shows commit f3bda2c as the cause. However, looking back
    through the git history, I saw commit 640c03c which seems to have
    removed the required initialization for perf_sample->period. The problem
    only started showing after commit f3bda2c. The below patch re-introduces
    the initialization and it fixes the problem for me.

    With the below patch, for the same perf.data:

      73.08%             bash  [kernel.kallsyms]  [k] do_fork
       8.97%      11-dhclient  [kernel.kallsyms]  [k] do_fork
       6.41%             sshd  [kernel.kallsyms]  [k] do_fork
       3.85%        20-chrony  [kernel.kallsyms]  [k] do_fork
       2.56%         sendmail  [kernel.kallsyms]  [k] do_fork

    This patch applies over current linux-tip commit 9949284.

    Problem introduced in:

    $ git describe 640c03c
    v2.6.37-rc3-83-g640c03c

    Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Robert Richter <robert.richter@amd.com>
    Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
    Link: http://lkml.kernel.org/r/20120203170113.5190.25558.stgit@localhost6.localdomain6
    Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Linux 3.0.22

commit a4a663513af05a98d6085d92f85c16bb64ac4050
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Mon Feb 20 13:43:19 2012 -0800

    Linux 3.0.22

commit 7b5644ec051e133d59249b7f19d2d8fef9a8d323
Author: Alexey Dobriyan <adobriyan@gmail.com>
Date:   Sat Jan 14 21:44:49 2012 +0300

    crypto: sha512 - use standard ror64()

    commit f2ea0f5f04c97b48c88edccba52b0682fbe45087 upstream.

    Use standard ror64() instead of hand-written.
    There is no standard ror64, so create it.

    The difference is shift value being "unsigned int" instead of uint64_t
    (for which there is no reason). gcc starts to emit native ROR instructions
    which it doesn't do for some reason currently. This should make the code
    faster.

    Patch survives in-tree crypto test and ping flood with hmac(sha512) on.

    Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 16c7560fcca939095d099da4316f2df66aebc3ba
Author: Eric Dumazet <eric.dumazet@gmail.com>
Date:   Tue Dec 13 04:57:06 2011 +0100

    slub: fix a possible memleak in __slab_alloc()

    commit 73736e0387ba0e6d2b703407b4d26168d31516a7 upstream.

    Zhihua Che reported a possible memleak in slub allocator on
    CONFIG_PREEMPT=y builds.

    It is possible current thread migrates right before disabling irqs in
    __slab_alloc(). We must check again c->freelist, and perform a normal
    allocation instead of scratching c->freelist.

    Many thanks to Zhihua Che for spotting this bug, introduced in 2.6.39

    V2: Its also possible an IRQ freed one (or several) object(s) and
    populated c->freelist, so its not a CONFIG_PREEMPT only problem.

    Reported-by: Zhihua Che <zhihua.che@gmail.com>
    Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
    Acked-by: Christoph Lameter <cl@linux.com>
    Signed-off-by: Pekka Enberg <penberg@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d3a6a79cfe7641d797ab74eea55b93e0f35f66d7
Author: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date:   Mon Jan 30 14:31:46 2012 +0000

    xen pvhvm: do not remap pirqs onto evtchns if !xen_have_vector_callback

    commit 207d543f472c1ac9552df79838dc807cbcaa9740 upstream.

    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c17b9573c236874b9a8a6c4c03c02accf70c9cd5
Author: Daniel T Chen <crimsun@ubuntu.com>
Date:   Mon Feb 13 23:44:22 2012 -0500

    ALSA: intel8x0: Fix default inaudible sound on Gateway M520

    commit 27c3afe6e1cf129faac90405121203962da08ff4 upstream.

    BugLink: https://bugs.launchpad.net/bugs/930842

    The reporter states that audio is inaudible by default without muting
    'External Amplifier'. Add a quirk to handle his SSID so that changing
    the control is not necessary.

    Reported-and-tested-by: Benjamin Carlson <elderbubba0810@gmail.com>
    Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c29e3ddfbd904f0b7cf600c04c4263c71c1f4830
Author: Herbert Xu <herbert@gondor.apana.org.au>
Date:   Sun Feb 5 15:09:28 2012 +1100

    crypto: sha512 - Avoid stack bloat on i386

    commit 3a92d687c8015860a19213e3c102cad6b722f83c upstream.

    Unfortunately in reducing W from 80 to 16 we ended up unrolling
    the loop twice.  As gcc has issues dealing with 64-bit ops on
    i386 this means that we end up using even more stack space (>1K).

    This patch solves the W reduction by moving LOAD_OP/BLEND_OP
    into the loop itself, thus avoiding the need to duplicate it.

    While the stack space still isn't great (>0.5K) it is at least
    in the same ball park as the amount of stack used for our C sha1
    implementation.

    Note that this patch basically reverts to the original code so
    the diff looks bigger than it really is.

    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d122aed32ad780e0c337551121c36a5d5e1c2ee0
Author: Herbert Xu <herbert@gondor.apana.org.au>
Date:   Thu Jan 26 15:03:16 2012 +1100

    crypto: sha512 - Use binary and instead of modulus

    commit 58d7d18b5268febb8b1391c6dffc8e2aaa751fcd upstream.

    The previous patch used the modulus operator over a power of 2
    unnecessarily which may produce suboptimal binary code.  This
    patch changes changes them to binary ands instead.

    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0f74c152fd01e1070c141eb10c70cc0f6fb39e22
Author: Nikolaus Schulz <schulz@macnetix.de>
Date:   Wed Feb 8 18:56:08 2012 +0100

    hwmon: (f75375s) Fix automatic pwm mode setting for F75373 & F75375

    commit 09e87e5c4f9af656af2a8a3afc03487c5d9287c3 upstream.

    In order to enable temperature mode aka automatic mode for the F75373 and
    F75375 chips, the two FANx_MODE bits in the fan configuration register
    need be set to 01, not 10.

    Signed-off-by: Nikolaus Schulz <mail@microschulz.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8a6e41581a4537b53c038a328c558d455a6f3e3a
Author: David Jander <david@protonic.nl>
Date:   Wed Jun 8 11:37:45 2011 -0600

    gpio/pca953x: Fix warning of enabled interrupts in handler

    commit 6dd599f8af0166805951f4421a78ba716d78321a upstream.

    When using nested threaded irqs, use handle_nested_irq(). This function
    does not call the chip handler, so no handler is set.

    Signed-off-by: David Jander <david@protonic.nl>
    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Yong Zhang <yong.zhang0@gmail.com>
    Cc: Manfred Gruber <m.gruber@unverspurt.at>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a5e2201319ef3c88cf8d777466c0e097625ba942
Author: Wu Fengguang <fengguang.wu@intel.com>
Date:   Sat Feb 4 20:54:03 2012 -0600

    writeback: fix dereferencing NULL bdi->dev on trace_writeback_queue

    commit 977b7e3a52a7421ad33a393a38ece59f3d41c2fa upstream.

    When a SD card is hot removed without umount, del_gendisk() will call
    bdi_unregister() without destroying/freeing it. This leaves the bdi in
    the bdi->dev = NULL, bdi->wb.task = NULL, bdi->bdi_list removed state.

    When sync(2) gets the bdi before bdi_unregister() and calls
    bdi_queue_work() after the unregister, trace_writeback_queue will be
    dereferencing the NULL bdi->dev. Fix it with a simple test for NULL.

    LKML-reference: http://lkml.org/lkml/2012/1/18/346
    Reported-by: Rabin Vincent <rabin@rab.in>
    Tested-by: Namjae Jeon <linkinjeon@gmail.com>
    Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 36935521cd67e3df9a1db71591cf224252d6082c
Author: Eliad Peller <eliad@wizery.com>
Date:   Wed Feb 1 18:48:09 2012 +0200

    mac80211: timeout a single frame in the rx reorder buffer

    commit 07ae2dfcf4f7143ce191c6436da1c33f179af0d6 upstream.

    The current code checks for stored_mpdu_num > 1, causing
    the reorder_timer to be triggered indefinitely, but the
    frame is never timed-out (until the next packet is received)

    Signed-off-by: Eliad Peller <eliad@wizery.com>
    Acked-by: Johannes Berg <johannes@sipsolutions.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4ac2f3d3f1d4a08ad6a450127c4b0f590fe28bdf
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Fri Feb 10 09:03:58 2012 +0100

    relay: prevent integer overflow in relay_open()

    commit f6302f1bcd75a042df69866d98b8d775a668f8f1 upstream.

    "subbuf_size" and "n_subbufs" come from the user and they need to be
    capped to prevent an integer overflow.

    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9a3626a437ddbc0d8e60bda9480739cd850bb48f
Author: Wu Fengguang <fengguang.wu@intel.com>
Date:   Mon Jan 9 11:53:50 2012 -0600

    lib: proportion: lower PROP_MAX_SHIFT to 32 on 64-bit kernel

    commit 3310225dfc71a35a2cc9340c15c0e08b14b3c754 upstream.

    PROP_MAX_SHIFT should be set to <=32 on 64-bit box. This fixes two bugs
    in the below lines of bdi_dirty_limit():

    	bdi_dirty *= numerator;
    	do_div(bdi_dirty, denominator);

    1) divide error: do_div() only uses the lower 32 bit of the denominator,
       which may trimmed to be 0 when PROP_MAX_SHIFT > 32.

    2) overflow: (bdi_dirty * numerator) could easily overflow if numerator
       used up to 48 bits, leaving only 16 bits to bdi_dirty

    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Reported-by: Ilya Tumaykin <librarian_rus@yahoo.com>
    Tested-by: Ilya Tumaykin <librarian_rus@yahoo.com>
    Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit eafbec56be4c3cfd8f3b5098a0c5f7397a1e48b0
Author: Nikolaus Schulz <schulz@macnetix.de>
Date:   Wed Feb 8 18:56:10 2012 +0100

    hwmon: (f75375s) Fix bit shifting in f75375_write16

    commit eb2f255b2d360df3f500042a2258dcf2fcbe89a2 upstream.

    In order to extract the high byte of the 16-bit word, shift the word to
    the right, not to the left.

    Signed-off-by: Nikolaus Schulz <mail@microschulz.de>
    Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0eac4fa19d910c7ce80e48b89eaec1f08bc816ef
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Wed Feb 8 16:42:52 2012 +0100

    drm/i915: no lvds quirk for AOpen MP45

    commit e57b6886f555ab57f40a01713304e2053efe51ec upstream.

    According to a bug report, it doesn't have one.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44263
    Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f021e004b62bf213e3dfa70f747f1d3d6304fa6b
Author: Jiri Olsa <jolsa@redhat.com>
Date:   Mon Feb 6 18:54:06 2012 -0200

    perf tools: Fix perf stack to non executable on x86_64

    commit 7a0153ee15575a4d07b5da8c96b79e0b0fd41a12 upstream.

    By adding following objects:
      bench/mem-memcpy-x86-64-asm.o
    the x86_64 perf binary ended up with executable stack.

    The reason was that above object are assembler sourced and is missing the
    GNU-stack note section. In such case the linker assumes that the final binary
    should not be restricted at all and mark the stack as RWX.

    Adding section ".note.GNU-stack" definition to mentioned object, with all
    flags disabled, thus omiting this object from linker stack flags decision.

    Problem introduced in:

      $ git describe ea7872b
      v2.6.37-rc2-19-gea7872b

    Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=783570
    Reported-by: Clark Williams <williams@redhat.com>
    Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
    Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/r/1328100848-5630-1-git-send-email-jolsa@redhat.com
    Signed-off-by: Jiri Olsa <jolsa@redhat.com>
    [ committer note: Backported fix to perf/urgent (3.3-rc2+) ]
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 795f18956b547f0cfbcaa6d907d2bb05726a6a3e
Author: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Date:   Fri Feb 3 22:31:13 2012 +0530

    perf evsel: Fix an issue where perf report fails to show the proper percentage

    commit a4a03fc7ef89020baca4f19174e6a43767c6d78a upstream.

    This patch fixes an issue where perf report shows nan% for certain
    perf.data files. The below is from a report for a do_fork probe:

       -nan%           sshd  [kernel.kallsyms]  [k] do_fork
       -nan%    packagekitd  [kernel.kallsyms]  [k] do_fork
       -nan%    dbus-daemon  [kernel.kallsyms]  [k] do_fork
       -nan%           bash  [kernel.kallsyms]  [k] do_fork

    A git bisect shows commit f3bda2c as the cause. However, looking back
    through the git history, I saw commit 640c03c which seems to have
    removed the required initialization for perf_sample->period. The problem
    only started showing after commit f3bda2c. The below patch re-introduces
    the initialization and it fixes the problem for me.

    With the below patch, for the same perf.data:

      73.08%             bash  [kernel.kallsyms]  [k] do_fork
       8.97%      11-dhclient  [kernel.kallsyms]  [k] do_fork
       6.41%             sshd  [kernel.kallsyms]  [k] do_fork
       3.85%        20-chrony  [kernel.kallsyms]  [k] do_fork
       2.56%         sendmail  [kernel.kallsyms]  [k] do_fork

    This patch applies over current linux-tip commit 9949284.

    Problem introduced in:

    $ git describe 640c03c
    v2.6.37-rc3-83-g640c03c

    Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Robert Richter <robert.richter@amd.com>
    Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
    Link: http://lkml.kernel.org/r/20120203170113.5190.25558.stgit@localhost6.localdomain6
    Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>