Skip to content
Commits on May 17, 2012
  1. @torvalds

    Merge git://

    torvalds committed
    Pull two networking fixes from David S. Miller:
    1) Thanks to Willy Tarreau and Eric Dumazet, we've unlocked a bug that's
       been present in do_tcp_sendpages() since that function was written in
       When we block to wait for memory we have to unconditionally try and
       push out pending TCP data, otherwise we can block for an unreasonably
       long amount of time.
    2) Fix deadlock in e1000, fixes kernel bugzilla 43132
       From Tushar Dave.
    * git://
      e1000: Prevent reset task killing itself.
      tcp: do_tcp_sendpages() must try to push data out on oom conditions
  2. @rjwysocki @torvalds

    ACPI / PCI / PM: Fix device PM regression related to D3hot/D3cold

    rjwysocki committed with torvalds
    Commit 1cc0c99 ("ACPI: Fix D3hot v D3cold confusion") introduced a
    bug in __acpi_bus_set_power() and changed the behavior of
    acpi_pci_set_power_state() in such a way that it generally doesn't work
    as expected if PCI_D3hot is passed to it as the second argument.
    First off, if ACPI_STATE_D3 (equal to ACPI_STATE_D3_COLD) is passed to
    __acpi_bus_set_power() and the explicit_set flag is set for the D3cold
    state, the function will try to execute AML method called "_PS4", which
    doesn't exist.
    Fix this by adding a check to ensure that the name of the AML method
    to execute for transitions to ACPI_STATE_D3_COLD is correct in
    __acpi_bus_set_power().  Also make sure that the explicit_set flag
    for ACPI_STATE_D3_COLD will be set if _PS3 is present and modify
    acpi_power_transition() to avoid accessing power resources for
    ACPI_STATE_D3_COLD, because they don't exist.
    Second, if PCI_D3hot is passed to acpi_pci_set_power_state() as the
    target state, the function will request a transition to
    ACPI_STATE_D3_HOT instead of ACPI_STATE_D3.  However,
    ACPI_STATE_D3_HOT is now only marked as supported if the _PR3 AML
    method is defined for the given device, which is rare.  This causes
    problems to happen on systems where devices were successfully put
    into ACPI D3 by pci_set_power_state(PCI_D3hot) which doesn't work
    now.  In particular, some unused graphics adapters are not turned
    off as a result.
    To fix this issue restore the old behavior of
    acpi_pci_set_power_state(), which is to request a transition to
    ACPI_STATE_D3 (equal to ACPI_STATE_D3_COLD) if either PCI_D3hot or
    PCI_D3cold is passed to it as the argument.
    This approach is not ideal, because generally power should not
    be removed from devices if PCI_D3hot is the target power state,
    but since this behavior is relied on, we have no choice but to
    restore it at the moment and spend more time on designing a
    better solution in the future.
    Reported-by: rocko <>
    Reported-by: Cristian Rodríguez <>
    Reported-and-tested-by: Peter <>
    Signed-off-by: Rafael J. Wysocki <>
    Signed-off-by: Linus Torvalds <>
  3. @davem330

    e1000: Prevent reset task killing itself.

    Tushar Dave committed with davem330
    Killing reset task while adapter is resetting causes deadlock.
    Only kill reset task if adapter is not resetting.
    Ref bug #43132 on
    Signed-off-by: Tushar Dave <>
    Tested-by: Aaron Brown <>
    Signed-off-by: Jeff Kirsher <>
    Signed-off-by: David S. Miller <>
  4. @davem330

    tcp: do_tcp_sendpages() must try to push data out on oom conditions

    Willy Tarreau committed with davem330
    Since recent changes on TCP splicing (starting with commits 2f53384
    "tcp: allow splice() to build full TSO packets" and 35f9c09 "tcp:
    tcp_sendpages() should call tcp_push() once"), I started seeing
    massive stalls when forwarding traffic between two sockets using
    splice() when pipe buffers were larger than socket buffers.
    Latest changes (net: netdev_alloc_skb() use build_skb()) made the
    problem even more apparent.
    The reason seems to be that if do_tcp_sendpages() fails on out of memory
    condition without being able to send at least one byte, tcp_push() is not
    called and the buffers cannot be flushed.
    After applying the attached patch, I cannot reproduce the stalls at all
    and the data rate it perfectly stable and steady under any condition
    which previously caused the problem to be permanent.
    The issue seems to have been there since before the kernel migrated to
    git, which makes me think that the stalls I occasionally experienced
    with tux during stress-tests years ago were probably related to the
    same issue.
    This issue was first encountered on 3.0.31 and 3.2.17, so please backport
    to -stable.
    Signed-off-by: Willy Tarreau <>
    Acked-by: Eric Dumazet <>
    Cc: <>
  5. @torvalds

    Merge branch '3.4-urgent' of git://…

    torvalds committed
    Pull two more target-core updates from Nicholas Bellinger:
     "The first patch addresses a SPC-2 reservations RELEASE bug in a
      special (iscsi specific) multi-ISID setup case that was allowing the
      same initiator to be able to incorrect release it's own reservation on
      a different SCSI path with enforce_pr_isid=1 operation.  This bug was
      caught by Bernhard Kohl.
      The second patch is to address a bug with FILEIO backends where the
      incorrect number of blocks for READ_CAPACITY was being reported after
      an underlying device-mapper block_device size change.  This patch uses
      now i_size_read() in fd_get_blocks() for FILEIO backends with an
      underlying block_device, instead of trying to determine this value at
      setup time during fd_create_virtdevice().  (hch CC'ed)
      Both are CC'ed to stable."
    * '3.4-urgent' of git://
      target: Fix bug in handling of FILEIO + block_device resize ops
      target: Fix SPC-2 RELEASE bug for multi-session iSCSI client setups
  6. @nablio3000

    target: Fix bug in handling of FILEIO + block_device resize ops

    nablio3000 committed
    This patch fixes a bug in the handling of FILEIO w/ underlying block_device
    resize operations where the original fd_dev->fd_dev_size was incorrectly being
    used in fd_get_blocks() for READ_CAPACITY response payloads.
    This patch avoids using fd_dev->fd_dev_size for FILEIO devices with
    an underlying block_device, and instead changes fd_get_blocks() to
    get the sector count directly from i_size_read() as recommended by hch.
    Reported-by: Christoph Hellwig <>
    Cc: <>
    Signed-off-by: Nicholas Bellinger <>
  7. @torvalds

    Merge branch 'fixes' of git://

    torvalds committed
    Pull slave-dmaengine fixes fromVinod Koul:
     "fixes of cylic dma usages in slave dma drivers"
    * 'fixes' of git://
      dmaengine: fix cyclic dma usage
      dmaengine: pl330: dont complete descriptor for cyclic dma
  8. @torvalds

    Merge tag 'for_linus' of git://…

    torvalds committed
    Pull last minute virtio fixes from Michael S. Tsirkin:
     "Here are a couple of last minute virtio fixes for 3.4.  Hope it's not
      too late yes - I might have tried too hard to make sure the fix is
      well tested.
      Fixes are by Amit and myself.  One fixes module removal and one
      suspend of a VM, the last one the handling of out of memory condition.
      They are thus very low risk as most people never hit these paths, but
      do fix very annoying problems for people that do use the feature.
      Signed-off-by: Michael S. Tsirkin <>"
    * tag 'for_linus' of git://
      virtio_net: invoke softirqs after __napi_schedule
      virtio: balloon: let host know of updated balloon size before module removal
      virtio: console: tell host of open ports after resume from s3/s4
  9. @torvalds

    Merge tag 'fixes-for-linus' of git://…

    torvalds committed
    Pull ARM: SoC fixes from Olof Johansson:
     "I will stop trying to predict when we're done with fixes for a
      Here's another small batch of three patches for arm-soc:
       - A fix for a boot time WARN_ON() due to irq domain conversion on
       - Fix for a regression in Tegra SMP spinup code due to swapped
         register offsets
       - Fixed config dependency for mv_cesa crypto driver to avoid build
    * tag 'fixes-for-linus' of git://
      ARM: PRIMA2: fix irq domain size and IRQ mask of internal interrupt controller
      crypto: mv_cesa requires on CRYPTO_HASH to build
      ARM: tegra: Fix flow controller accesses
  10. @torvalds

    Merge tag 'md-3.4-fixes' of git://

    torvalds committed
    Pull two md fixes from NeilBrown:
     "One fixes a bug in the new raid10 resize code so is relevant to 3.4
      The other fixes a bug in the use of md by dm-raid, so is relevant to
      any kernel with dm-raid support"
    * tag 'md-3.4-fixes' of git://
      MD: Add del_timer_sync to mddev_suspend (fix nasty panic)
      md/raid10: set dev_sectors properly when resizing devices in array.
  11. @torvalds

    Merge branches 'perf-urgent-for-linus', 'x86-urgent-for-linus' and 's…

    torvalds committed
    …ched-urgent-for-linus' of git://
    Pull perf, x86 and scheduler updates from Ingo Molnar.
    * 'perf-urgent-for-linus' of git://
      tracing: Do not enable function event with enable
      perf stat: handle ENXIO error for perf_event_open
      perf: Turn off compiler warnings for flex and bison generated files
      perf stat: Fix case where guest/host monitoring is not supported by kernel
      perf build-id: Fix filename size calculation
    * 'x86-urgent-for-linus' of git://
      x86, kvm: KVM paravirt kernels don't check for CPUID being unavailable
      x86: Fix section annotation of acpi_map_cpu2node()
      x86/microcode: Ensure that module is only loaded on supported Intel CPUs
    * 'sched-urgent-for-linus' of git://
      sched: Fix KVM and ia64 boot crash due to sched_groups circular linked list assumption
  12. @wildea01

    ARM: 7419/1: vfp: fix VFP flushing regression on sigreturn path

    wildea01 committed with Russell King
    Commit ff9a184 ("ARM: 7400/1: vfp: clear fpscr length and stride bits
    on entry to sig handler") flushes the VFP state prior to entering a
    signal handler so that a VFP operation inside the handler will trap and
    force a restore of ABI-compliant registers. Reflushing and disabling VFP
    on the sigreturn path is predicated on the saved thread state indicating
    that VFP was used by the handler -- however for SMP platforms this is
    only set on context-switch, making the check unreliable and causing VFP
    register corruption in userspace since the register values are not
    necessarily those restored from the sigframe.
    This patch unconditionally flushes the VFP state after a signal handler.
    Since we already perform the flush before the handler and the flushing
    itself happens lazily, the redundant flush when VFP is not used by the
    handler is essentially a nop.
    Reported-by: Jon Medhurst <>
    Signed-off-by: Jon Medhurst <>
    Signed-off-by: Will Deacon <>
    Signed-off-by: Russell King <>
  13. ARM: 7418/1: LPAE: fix access flag setup in mem_type_table

    Vitaly Andrianov committed with Russell King
    A zero value for prot_sect in the memory types table implies that
    section mappings should never be created for the memory type in question.
    This is checked for in alloc_init_section().
    With LPAE, we set a bit to mask access flag faults for kernel mappings.
    This breaks the aforementioned (!prot_sect) check in alloc_init_section().
    This patch fixes this bug by first checking for a non-zero
    prot_sect before setting the PMD_SECT_AF flag.
    Signed-off-by: Vitaly Andrianov <>
    Acked-by: Catalin Marinas <>
    Signed-off-by: Russell King <>
  14. @mstsirkin

    virtio_net: invoke softirqs after __napi_schedule

    mstsirkin committed
    __napi_schedule might raise softirq but nothing
    causes do_softirq to trigger, so it does not in fact
    run. As a result,
    the error message "NOHZ: local_softirq_pending 08"
    sometimes occurs during boot of a KVM guest when the network service is
    started and we are oom:
      Bringing up loopback interface:  [  OK  ]
      Bringing up interface eth0:
      Determining IP information for eth0...NOHZ: local_softirq_pending 08
      [  OK  ]
    Further, receive queue processing might get delayed
    indefinitely until some interrupt triggers:
    virtio_net expected napi to be run immediately.
    One way to cause do_softirq to be executed is by
    invoking local_bh_enable(). As __napi_schedule is
    normally called from bh or irq context, this
    seems to make sense: disable bh before __napi_schedule
    and enable afterwards.
    In fact it's a very complicated way of calling do_softirq(),
    and works since this function is only used when we are not
    in interrupt context.  It's not hot at all, in any ideal scenario.
    Reported-by: Ulrich Obergfell <>
    Tested-by: Ulrich Obergfell <>
    Signed-off-by: Michael S. Tsirkin <>
    Acked-by: Rusty Russell <>
  15. @mstsirkin

    virtio: balloon: let host know of updated balloon size before module …

    Amit Shah committed with mstsirkin
    When the balloon module is removed, we deflate the balloon, reclaiming
    all the pages that were given to the host.  However, we don't update the
    config values for the new balloon size, resulting in the host showing
    outdated balloon values.
    The size update is done after each leak and fill operation, only the
    module removal case was left out.
    Signed-off-by: Amit Shah <>
    Signed-off-by: Michael S. Tsirkin <>
  16. @mstsirkin

    virtio: console: tell host of open ports after resume from s3/s4

    Amit Shah committed with mstsirkin
    If a port was open before going into one of the sleep states, the port
    can continue normal operation after restore.  However, the host has to
    be told that the guest side of the connection is open to restore
    pre-suspend state.
    This wasn't noticed so far due to a bug in qemu that was fixed recently
    (which marked the guest-side connection as always open).
    CC:   # Only for 3.3
    Signed-off-by: Amit Shah <>
    Signed-off-by: Michael S. Tsirkin <>
  17. @21cnbao @olofj

    ARM: PRIMA2: fix irq domain size and IRQ mask of internal interrupt c…

    21cnbao committed with olofj
    the old codes will cause 3.4 kernel warning as irq domain size is wrong:
    ------------[ cut here ]------------
    WARNING: at kernel/irq/irqdomain.c:74 irq_domain_legacy_revmap+0x24/0x48()
    Modules linked in:
    [<c0013f50>] (unwind_backtrace+0x0/0xf8) from [<c001e7d8>] (warn_slowpath_common+0x54/0x64)
    [<c001e7d8>] (warn_slowpath_common+0x54/0x64) from [<c001e804>] (warn_slowpath_null+0x1c/0x24)
    [<c001e804>] (warn_slowpath_null+0x1c/0x24) from [<c005c3c4>] (irq_domain_legacy_revmap+0x24/0x48)
    [<c005c3c4>] (irq_domain_legacy_revmap+0x24/0x48) from [<c005c704>] (irq_create_mapping+0x20/0x120)
    [<c005c704>] (irq_create_mapping+0x20/0x120) from [<c005c880>] (irq_create_of_mapping+0x7c/0xf0)
    [<c005c880>] (irq_create_of_mapping+0x7c/0xf0) from [<c01a6c48>] (irq_of_parse_and_map+0x2c/0x34)
    [<c01a6c48>] (irq_of_parse_and_map+0x2c/0x34) from [<c01a6c68>] (of_irq_to_resource+0x18/0x74)
    [<c01a6c68>] (of_irq_to_resource+0x18/0x74) from [<c01a6ce8>] (of_irq_count+0x24/0x34)
    [<c01a6ce8>] (of_irq_count+0x24/0x34) from [<c01a7220>] (of_device_alloc+0x58/0x158)
    [<c01a7220>] (of_device_alloc+0x58/0x158) from [<c01a735c>] (of_platform_device_create_pdata+0x3c/0x80)
    [<c01a735c>] (of_platform_device_create_pdata+0x3c/0x80) from [<c01a7468>] (of_platform_bus_create+0xc8/0x190)
    [<c01a7468>] (of_platform_bus_create+0xc8/0x190) from [<c01a74cc>] (of_platform_bus_create+0x12c/0x190)
    ---[ end trace 1b75b31a2719ed32 ]---
    Signed-off-by: Barry Song <>
    Signed-off-by: Olof Johansson <>
  18. @jbrassow @neilbrown

    MD: Add del_timer_sync to mddev_suspend (fix nasty panic)

    jbrassow committed with neilbrown
    Use del_timer_sync to remove timer before mddev_suspend finishes.
    We don't want a timer going off after an mddev_suspend is called.  This is
    especially true with device-mapper, since it can call the destructor function
    immediately following a suspend.  This results in the removal (kfree) of the
    structures upon which the timer depends - resulting in a very ugly panic.
    Therefore, we add a del_timer_sync to mddev_suspend to prevent this.
    Signed-off-by: NeilBrown <>
  19. @neilbrown

    md/raid10: set dev_sectors properly when resizing devices in array.

    neilbrown committed
    raid10 stores dev_sectors in 'conf' separately from the one in
    'mddev' because it can have a very significant effect on block
    addressing and so need to be updated carefully.
    However raid10_resize isn't updating it at all!
    To update it correctly, we need to make sure it is a proper
    multiple of the chunksize taking various details of the layout
    in to account.
    This calculation is currently done in setup_conf.   So split it
    out from there and call it from raid10_resize as well.
    Then set conf->dev_sectors properly.
    Signed-off-by: NeilBrown <>
Commits on May 16, 2012
  1. @torvalds

    Merge git://

    torvalds committed
    Pull kvm powerpc fixes from Marcelo Tosatti:
     "Urgent KVM PPC updates, quoting Alexander Graf:
        There are a few bugs in 3.4 that really should be fixed before
        people can be all happy and fuzzy about KVM on PowerPC.  These fixes
         * fix POWER7 bare metal with PR=y
         * fix deadlock on HV=y book3s_64 mode in low memory cases
         * fix invalid MMU scope of PR=y mode on book3s_64, possibly eading
           to memory corruption"
    * git://
      KVM: PPC: Book3S HV: Fix bug leading to deadlock in guest HPT updates
      powerpc/kvm: Fix VSID usage in 64-bit "PR" KVM
      KVM: PPC: Book3S: PR: Fix hsrr code
      KVM: PPC: Fix PR KVM on POWER7 bare metal
      KVM: PPC: Book3S: PR: Handle EMUL_ASSIST
  2. @torvalds

    Merge tag 'sound-3.4' of git://…

    torvalds committed
    Pull sound fixes from Takashi Iwai:
     "A few last-minute regression fixes for 3.4 final kernel.  All trivial,
      and Cc'ed to stable kernel."
    * tag 'sound-3.4' of git://
      ASoC: wm8994: Fix AIF2ADC power down
      ALSA: hda/idt - Fix power-map for speaker-pins with some HP laptops
      ASoC: cs42l73: Sync digital mixer kcontrols to allow for 0dB
  3. @torvalds

    Merge tag 'rproc-for-linus' of git://…

    torvalds committed
    Pull remoteproc fix from Ohad Ben-Cohen:
     "Fix a nasty off-by-one remoteproc bug which leaks memory when a remote
      processor is shut down and, on certain circumstances, can indirectly
      prevent it from being reloaded."
    * tag 'rproc-for-linus' of git://
      remoteproc: fix off-by-one bug in __rproc_free_vrings
  4. @torvalds

    Merge git://

    torvalds committed
    Pull CIFS fix from Jeff Layton
    * git://
      cifs: fix misspelling of "forcedirectio"
  5. @torvalds

    Merge branch 'stable' of git://…

    torvalds committed
    Pull two Tile arch fixes from Chris Metcalf:
     "These are both bug-fixes, one to avoid some issues in how we invoke
      the "pending userspace work" flags on return to userspace, and the
      other to provide the same signal handler arguments for tilegx32 that
      we do for tilegx64."
    * 'stable' of git://
      arch/tile: apply commit 74fca9d to the compat signal handling as well
      arch/tile: fix up some issues in calling do_work_pending()
  6. @torvalds

    Merge git://

    torvalds committed
    Pull networking tree from David Miller:
    1) ptp_pch driver build broke during this merge window due to missing
       slab.h header, fix from Geery Uytterhoeven.
    2) If ipset passes in a bogus hash table size we crash because the size
       is not validated properly.  Compounding this, gcc-4.7 can miscompile
       ipset such that even when the user specifies legitimate parameters
       the tool passes in an out-of-range size to the kernel.
       Fix from Jozsef Kadlecsik.
    3) Users have reported that the netdev watchdog can trigger with pch_gbe
       devices, and it turns out this is happening because of races in the
       TX path of the driver leading to the transmitter hanging.  Fix from
       Eric Dumazet, reported and tested by Andy Cress.
    4) Novatel USB551L devices match the generic class entries for the cdc
       ethernet USB driver, but they don't work because they have generic
       descriptors and thus need FLAG_WWAN to function properly.
       Add the necessary ID table entry to fix this, from Dan Williams.
    5) A recursive locking fix in the USBNET driver added a new problem, in
       that packet list traversal is now racy and we can thus access
       unlinked SKBs and crash.
       Avoid this situation by adding some extra state tracking, from Ming
    6) The rtlwifi conversion to asynchronous firmware loading is racy, fix
       by reordering the probe procedure.  From Larry Finger.
    7) Fix regressions with bluetooth keyboards by notifying userland
       properly when the security level changes, from Gustavo Padovan.
    8) Bluetooth needs to make sure device connected events are emitted
       before other kinds of events, otherwise userspace will think there is
       no baseband link yet and therefore abort the sockets associated with
       that connection.
    * git://
      netfilter: ipset: fix hash size checking in kernel
      ptp_pch: Add missing #include <linux/slab.h>
      pch_gbe: fix transmit races
      cdc_ether: add Novatel USB551L device IDs for FLAG_WWAN
      usbnet: fix skb traversing races during unlink(v2)
      Bluetooth: mgmt: Fix device_connected sending order
      Bluetooth: notify userspace of security level change
      rtlwifi: fix for race condition when firmware is cached
  7. @cmetcalf-tilera

    arch/tile: apply commit 74fca9d to the compat signal handling as well

    cmetcalf-tilera committed
    This passes siginfo and mcontext to tilegx32 signal handlers that
    don't have SA_SIGINFO set just as we have been doing for tilegx64.
    Signed-off-by: Chris Metcalf <>
  8. @cmetcalf-tilera

    arch/tile: fix up some issues in calling do_work_pending()

    cmetcalf-tilera committed
    First, we were at risk of handling thread-info flags, in particular
    do_signal(), when returning from kernel space.  This could happen
    after a failed kernel_execve(), or when forking a kernel thread.
    The fix is to test in do_work_pending() for user_mode() and return
    immediately if so; we already had this test for one of the flags,
    so I just hoisted it to the top of the function.
    Second, if a ptraced process updated the callee-saved registers
    in the ptregs struct and then processed another thread-info flag, we
    would overwrite the modifications with the original callee-saved
    registers.  To fix this, we add a register to note if we've already
    saved the registers once, and skip doing it on additional passes
    through the loop.  To avoid a performance hit from the couple of
    extra instructions involved, I modified the GET_THREAD_INFO() macro
    to be guaranteed to be one instruction, then bundled it with adjacent
    instructions, yielding an overall net savings.
    Reported-By: Al Viro <>
    Signed-off-by: Chris Metcalf <>
  9. @davem330

    netfilter: ipset: fix hash size checking in kernel

    Jozsef Kadlecsik committed with davem330
    The hash size must fit both into u32 (jhash) and the max value of
    size_t. The missing checking could lead to kernel crash, bug reported
    by Seblu.
    Signed-off-by: Jozsef Kadlecsik <>
    Signed-off-by: Pablo Neira Ayuso <>
    Signed-off-by: David S. Miller <>
  10. @geertu @davem330

    ptp_pch: Add missing #include <linux/slab.h>

    geertu committed with davem330
    drivers/ptp/ptp_pch.c: In function 'pch_remove':
    drivers/ptp/ptp_pch.c:576:2: error: implicit declaration of function 'kfree' [-Werror=implicit-function-declaration]
    drivers/ptp/ptp_pch.c: In function 'pch_probe':
    drivers/ptp/ptp_pch.c:587:2: error: implicit declaration of function 'kzalloc' [-Werror=implicit-function-declaration]
    Signed-off-by: Geert Uytterhoeven <>
    Acked-by: Richard Cochran <>
    Signed-off-by: David S. Miller <>
  11. cifs: fix misspelling of "forcedirectio"

    Jeff Layton committed with Steve French
    ...and add a "directio" synonym since that's what the manpage has
    always advertised.
    Acked-by: Sachin Prabhu <>
    Signed-off-by: Jeff Layton <>
    Signed-off-by: Steve French <>
  12. ARM: prevent VM_GROWSDOWN mmaps extending below FIRST_USER_ADDRESS

    Russell King committed
    Cc: <>
    Reported-by: Al Viro <>
    Signed-off-by: Russell King <>
  13. @arndb

    Merge branch 'for-3.4/fixes-for-final' of git://…

    arndb committed
    …m/linux/kernel/git/swarren/linux-tegra into fixes
    * 'for-3.4/fixes-for-final' of git://
      ARM: tegra: Fix flow controller accesses
    Signed-off-by: Arnd Bergmann <>
  14. @arndb

    Merge branch 'marvell_fixes_for_v3.4' of git://…

    arndb committed
    …s/jcooper/linux into fixes
    * 'marvell_fixes_for_v3.4' of git://
      crypto: mv_cesa requires on CRYPTO_HASH to build
    Signed-off-by: Arnd Bergmann <>
  15. @paulusmack @agraf

    KVM: PPC: Book3S HV: Fix bug leading to deadlock in guest HPT updates

    paulusmack committed with agraf
    When handling the H_BULK_REMOVE hypercall, we were forgetting to
    invalidate and unlock the hashed page table entry (HPTE) in the case
    where the page had been paged out.  This fixes it by clearing the
    first doubleword of the HPTE in that case.
    This fixes a regression introduced in commit a92bce9 ("KVM: PPC:
    Book3S HV: Keep HPTE locked when invalidating").  The effect of the
    regression is that the host kernel will sometimes hang when under
    memory pressure.
    Signed-off-by: Paul Mackerras <>
    Signed-off-by: Alexander Graf <>
  16. @ozbenh @agraf

    powerpc/kvm: Fix VSID usage in 64-bit "PR" KVM

    ozbenh committed with agraf
    The code forgot to scramble the VSIDs the way we normally do
    and was basically using the "proto VSID" directly with the MMU.
    This means that in practice, KVM used random VSIDs that could
    collide with segments used by other user space programs.
    Signed-off-by: Benjamin Herrenschmidt <>
    [agraf: simplify ppc32 case]
    Signed-off-by: Alexander Graf <>
Something went wrong with that request. Please try again.