commit b5bac1f597ae5669dee0d2ae927b8ded0b8f6b34
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Sun May 17 09:51:39 2015 -0700

    Linux 3.10.79

commit 626d4bdfef3c1ff402a79462d98babcffb66559b
Author: Lv Zheng <lv.zheng@intel.com>
Date:   Mon Apr 13 11:48:37 2015 +0800

    ACPICA: Utilities: Cleanup to enforce ACPI_PHYSADDR_TO_PTR()/ACPI_PTR_TO_PHYSADDR().
    
    commit 6d3fd3cc33d50e4c0d0c0bd172de02caaec3127c upstream.
    
    ACPICA commit 154f6d074dd38d6ebc0467ad454454e6c5c9ecdf
    
    There are code pieces converting pointers using "(acpi_physical_address) x"
    or "ACPI_CAST_PTR (t, x)" formats, this patch cleans up them.
    
    Known issues:
    1. Cleanup of "(ACPI_PHYSICAL_ADDRRESS) x" for a table field
       For the conversions around the table fields, it is better to fix it with
       alignment also fixed. So this patch doesn't modify such code. There
       should be no functional problem by leaving them unchanged.
    
    Link: https://github.com/acpica/acpica/commit/154f6d07
    Signed-off-by: Lv Zheng <lv.zheng@intel.com>
    Signed-off-by: Bob Moore <robert.moore@intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Dirk Behme <dirk.behme@gmail.com>
    Signed-off-by: George G. Davis <george_davis@mentor.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 85e014b4304626972bff42249556748ad3fcf812
Author: Lv Zheng <lv.zheng@intel.com>
Date:   Mon Apr 13 11:48:18 2015 +0800

    ACPICA: Tables: Change acpi_find_root_pointer() to use acpi_physical_address.
    
    commit f254e3c57b9d952e987502aefa0804c177dd2503 upstream.
    
    ACPICA commit 7d9fd64397d7c38899d3dc497525f6e6b044e0e3
    
    OSPMs like Linux expect an acpi_physical_address returning value from
    acpi_find_root_pointer(). This triggers warnings if sizeof (acpi_size) doesn't
    equal to sizeof (acpi_physical_address):
      drivers/acpi/osl.c:275:3: warning: passing argument 1 of 'acpi_find_root_pointer' from incompatible pointer type [enabled by default]
      In file included from include/acpi/acpi.h:64:0,
                       from include/linux/acpi.h:36,
                       from drivers/acpi/osl.c:41:
      include/acpi/acpixf.h:433:1: note: expected 'acpi_size *' but argument is of type 'acpi_physical_address *'
    This patch corrects acpi_find_root_pointer().
    
    Link: https://github.com/acpica/acpica/commit/7d9fd643
    Signed-off-by: Lv Zheng <lv.zheng@intel.com>
    Signed-off-by: Bob Moore <robert.moore@intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Dirk Behme <dirk.behme@gmail.com>
    Signed-off-by: George G. Davis <george_davis@mentor.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5a4d93f39c3b3bce899891d39013bfc4ef2ab85a
Author: Christoph Hellwig <hch@infradead.org>
Date:   Thu Nov 14 14:32:06 2013 -0800

    revert "softirq: Add support for triggering softirq work on softirqs"
    
    commit fc21c0cff2f425891b28ff6fb6b03b325c977428 upstream.
    
    This commit was incomplete in that code to remove items from the per-cpu
    lists was missing and never acquired a user in the 5 years it has been in
    the tree.  We're going to implement what it seems to try to archive in a
    simpler way, and this code is in the way of doing so.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Cc: Jan Kara <jack@suse.cz>
    Cc: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Pan Xinhui <xinhuix.pan@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cccea7f5c40ef96866d02be01e0712985940d102
Author: Alexey Khoroshilov <khoroshilov@ispras.ru>
Date:   Sat Apr 18 02:53:25 2015 +0300

    sound/oss: fix deadlock in sequencer_ioctl(SNDCTL_SEQ_OUTOFBAND)
    
    commit bc26d4d06e337ade069f33d3f4377593b24e6e36 upstream.
    
    A deadlock can be initiated by userspace via ioctl(SNDCTL_SEQ_OUTOFBAND)
    on /dev/sequencer with TMR_ECHO midi event.
    
    In this case the control flow is:
    sound_ioctl()
    -> case SND_DEV_SEQ:
       case SND_DEV_SEQ2:
         sequencer_ioctl()
         -> case SNDCTL_SEQ_OUTOFBAND:
              spin_lock_irqsave(&lock,flags);
              play_event();
              -> case EV_TIMING:
                   seq_timing_event()
                   -> case TMR_ECHO:
                        seq_copy_to_input()
                        -> spin_lock_irqsave(&lock,flags);
    
    It seems that spin_lock_irqsave() around play_event() is not necessary,
    because the only other call location in seq_startplay() makes the call
    without acquiring spinlock.
    
    So, the patch just removes spinlocks around play_event().
    By the way, it removes unreachable code in seq_timing_event(),
    since (seq_mode == SEQ_2) case is handled in the beginning.
    
    Compile tested only.
    
    Found by Linux Driver Verification project (linuxtesting.org).
    
    Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Cc: Willy Tarreau <w@1wt.eu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6186ada9e4801a27068373fae01d089e41054823
Author: Chuanxiao Dong <chuanxiao.dong@intel.com>
Date:   Tue Aug 12 12:01:30 2014 +0800

    mmc: card: Don't access RPMB partitions for normal read/write
    
    commit 4e93b9a6abc0d028daf3c8a00cb77b679d8a4df4 upstream.
    
    During kernel boot, it will try to read some logical sectors
    of each block device node for the possible partition table.
    
    But since RPMB partition is special and can not be accessed
    by normal eMMC read / write CMDs, it will cause below error
    messages during kernel boot:
    ...
     mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.
     mmcblk0rpmb: error -110 transferring data, sector 0, nr 32, cmd response 0x900, card status 0xb00
     mmcblk0rpmb: retrying using single block read
     mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
     mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
     mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
     mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
     mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
     mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
     end_request: I/O error, dev mmcblk0rpmb, sector 0
     Buffer I/O error on device mmcblk0rpmb, logical block 0
     end_request: I/O error, dev mmcblk0rpmb, sector 8
     Buffer I/O error on device mmcblk0rpmb, logical block 1
     end_request: I/O error, dev mmcblk0rpmb, sector 16
     Buffer I/O error on device mmcblk0rpmb, logical block 2
     end_request: I/O error, dev mmcblk0rpmb, sector 24
     Buffer I/O error on device mmcblk0rpmb, logical block 3
    ...
    
    This patch will discard the access request in eMMC queue if
    it is RPMB partition access request. By this way, it avoids
    trigger above error messages.
    
    Fixes: 090d25fe224c ("mmc: core: Expose access to RPMB partition")
    Signed-off-by: Yunpeng Gao <yunpeng.gao@intel.com>
    Signed-off-by: Chuanxiao Dong <chuanxiao.dong@intel.com>
    Tested-by: Michael Shigorin <mike@altlinux.org>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a854bc61460f987e5ed716897e8bbfa846b29ce0
Author: Doug Anderson <dianders@chromium.org>
Date:   Fri May 1 09:01:27 2015 -0700

    pinctrl: Don't just pretend to protect pinctrl_maps, do it for real
    
    commit c5272a28566b00cce79127ad382406e0a8650690 upstream.
    
    Way back, when the world was a simpler place and there was no war, no
    evil, and no kernel bugs, there was just a single pinctrl lock.  That
    was how the world was when (57291ce pinctrl: core device tree mapping
    table parsing support) was written.  In that case, there were
    instances where the pinctrl mutex was already held when
    pinctrl_register_map() was called, hence a "locked" parameter was
    passed to the function to indicate that the mutex was already locked
    (so we shouldn't lock it again).
    
    A few years ago in (42fed7b pinctrl: move subsystem mutex to
    pinctrl_dev struct), we switched to a separate pinctrl_maps_mutex.
    ...but (oops) we forgot to re-think about the whole "locked" parameter
    for pinctrl_register_map().  Basically the "locked" parameter appears
    to still refer to whether the bigger pinctrl_dev mutex is locked, but
    we're using it to skip locks of our (now separate) pinctrl_maps_mutex.
    
    That's kind of a bad thing(TM).  Probably nobody noticed because most
    of the calls to pinctrl_register_map happen at boot time and we've got
    synchronous device probing.  ...and even cases where we're
    asynchronous don't end up actually hitting the race too often.  ...but
    after banging my head against the wall for a bug that reproduced 1 out
    of 1000 reboots and lots of looking through kgdb, I finally noticed
    this.
    
    Anyway, we can now safely remove the "locked" parameter and go back to
    a war-free, evil-free, and kernel-bug-free world.
    
    Fixes: 42fed7ba44e4 ("pinctrl: move subsystem mutex to pinctrl_dev struct")
    Signed-off-by: Doug Anderson <dianders@chromium.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 15e767666ce5a2e4e8ce31f8fe7e6576f392054e
Author: Lukas Wunner <lukas@wunner.de>
Date:   Mon May 4 15:06:49 2015 +0200

    drm/i915: Add missing MacBook Pro models with dual channel LVDS
    
    commit 3916e3fd81021fb795bfbdb17f375b6b3685bced upstream.
    
    Single channel LVDS maxes out at 112 MHz. The 15" pre-retina models
    shipped with 1440x900 (106 MHz) by default or 1680x1050 (119 MHz)
    as a BTO option, both versions used dual channel LVDS even though
    the smaller one would have fit into a single channel.
    
    Notes:
      Bug report showing that the MacBookPro8,2 with 1440x900 uses dual
      channel LVDS (this lead to it being hardcoded in intel_lvds.c by
      Daniel Vetter with commit 618563e3945b9d0864154bab3c607865b557cecc):
        https://bugzilla.kernel.org/show_bug.cgi?id=42842
    
      If i915.lvds_channel_mode=2 is missing even though the machine needs
      it, every other vertical line is white and consequently, only the left
      half of the screen is visible (verified by myself on a MacBookPro9,1).
    
      Forum posting concerning a MacBookPro6,2 with 1440x900, author is
      using i915.lvds_channel_mode=2 on the kernel command line, proving
      that the machine uses dual channels:
        https://bbs.archlinux.org/viewtopic.php?id=185770
    
      Chi Mei N154C6-L04 with 1440x900 is a replacement panel for all
      MacBook Pro "A1286" models, and that model number encompasses the
      MacBookPro6,2 / 8,2 / 9,1. Page 17 of the panel's datasheet shows it's
      driven with dual channel LVDS:
        http://www.ebay.com/itm/-/400690878560
        http://www.everymac.com/ultimate-mac-lookup/?search_keywords=A1286
        http://www.taopanel.com/chimei/datasheet/N154C6-L04.pdf
    
      Those three 15" models, MacBookPro6,2 / 8,2 / 9,1, are the only ones
      with i915 graphics and dual channel LVDS, so that list should be
      complete. And the 8,2 is already in intel_lvds.c.
    
      Possible motivation to use dual channel LVDS even on the 1440x900
      models: Reduce the number of different parts, i.e. use identical logic
      boards and display cabling on both versions and the only differing
      component is the panel.
    
    Signed-off-by: Lukas Wunner <lukas@wunner.de>
    Acked-by: Jani Nikula <jani.nikula@intel.com>
    [Jani: included notes in the commit message for posterity]
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit df7f3363fb5c1fd106b245b122c40f2f3d586565
Author: Gregory CLEMENT <gregory.clement@free-electrons.com>
Date:   Tue Apr 14 11:50:13 2015 +0200

    ARM: mvebu: armada-xp-openblocks-ax3-4: Disable internal RTC
    
    commit 750e30d4076ae5e02ad13a376e96c95a2627742c upstream.
    
    There is no crystal connected to the internal RTC on the Open Block
    AX3. So let's disable it in order to prevent the kernel probing the
    driver uselessly. Eventually this patches removes the following
    warning message from the boot log:
    "rtc-mv d0010300.rtc: internal RTC not ticking"
    
    Acked-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 059b5e34788834b14e022d7f4a6bd4595b35a0e6
Author: Stefan Wahren <stefan.wahren@i2se.com>
Date:   Tue Apr 14 20:37:26 2015 +0000

    ARM: dts: imx23-olinuxino: Fix dr_mode of usb0
    
    commit 0fdebe1a2f4d3a8fc03754022fabf8ba95e131a3 upstream.
    
    The dr_mode of usb0 on imx233-olinuxino is left to default "otg".
    Since the green LED (GPIO2_1) on imx233-olinuxino is connected to the
    same pin as USB_OTG_ID it's possible to disable USB host by LED toggling:
    
    echo 0 > /sys/class/leds/green/brightness
    [ 1068.890000] ci_hdrc ci_hdrc.0: remove, state 1
    [ 1068.890000] usb usb1: USB disconnect, device number 1
    [ 1068.920000] usb 1-1: USB disconnect, device number 2
    [ 1068.920000] usb 1-1.1: USB disconnect, device number 3
    [ 1069.070000] usb 1-1.2: USB disconnect, device number 4
    [ 1069.450000] ci_hdrc ci_hdrc.0: USB bus 1 deregistered
    [ 1074.460000] ci_hdrc ci_hdrc.0: timeout waiting for 00000800 in 11
    
    This patch fixes the issue by setting dr_mode to "host" in the dts file.
    
    Reported-by: Harald Geyer <harald@ccbib.org>
    Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
    Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
    Reviewed-by: Marek Vasut <marex@denx.de>
    Acked-by: Peter Chen <peter.chen@freescale.com>
    Fixes: b49312948285 ("ARM: dts: imx23-olinuxino: Add USB host support")
    Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 84164aba196cab1060e595e795d0ad3b97c8e95b
Author: Marek Vasut <marex@denx.de>
Date:   Fri Apr 24 13:29:47 2015 +0200

    ARM: dts: imx28: Fix AUART4 TX-DMA interrupt name
    
    commit 4ada77e37a773168fea484899201e272ab44ba8b upstream.
    
    Fix a typo in the TX DMA interrupt name for AUART4.
    This patch makes AUART4 operational again.
    
    Signed-off-by: Marek Vasut <marex@denx.de>
    Fixes: f30fb03d4d3a ("ARM: dts: add generic DMA device tree binding for mxs-dma")
    Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
    Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d4a07af667dea82aff61a90eef52aeddb06cae73
Author: Markus Pargmann <mpa@pengutronix.de>
Date:   Fri Apr 24 09:27:33 2015 +0200

    ARM: dts: imx25: Add #pwm-cells to pwm4
    
    commit f90d3f0d0a11fa77918fd5497cb616dd2faa8431 upstream.
    
    The property '#pwm-cells' is currently missing. It is not possible to
    use pwm4 without this property.
    
    Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
    Fixes: 5658a68fb578 ("ARM i.MX25: Add devicetree")
    Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a1f3ecb1f721e5d393f28898350fe3c75fde4c93
Author: Johan Hovold <johan@kernel.org>
Date:   Tue Apr 21 17:42:09 2015 +0200

    gpio: sysfs: fix memory leaks and device hotplug
    
    commit 483d821108791092798f5d230686868112927044 upstream.
    
    Unregister GPIOs requested through sysfs at chip remove to avoid leaking
    the associated memory and sysfs entries.
    
    The stale sysfs entries prevented the gpio numbers from being exported
    when the gpio range was later reused (e.g. at device reconnect).
    
    This also fixes the related module-reference leak.
    
    Note that kernfs makes sure that any on-going sysfs operations finish
    before the class devices are unregistered and that further accesses
    fail.
    
    The chip exported flag is used to prevent gpiod exports during removal.
    This also makes it harder to trigger, but does not fix, the related race
    between gpiochip_remove and export_store, which is really a race with
    gpiod_request that needs to be addressed separately.
    
    Also note that this would prevent the crashes (e.g. NULL-dereferences)
    at reconnect that affects pre-3.18 kernels, as well as use-after-free on
    operations on open attribute files on pre-3.14 kernels (prior to
    kernfs).
    
    Fixes: d8f388d8dc8d ("gpio: sysfs interface")
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 864c329b21a1914105a9e591b49def3f30184b65
Author: Johan Hovold <johan@kernel.org>
Date:   Mon Jan 12 17:12:29 2015 +0100

    gpio: unregister gpiochip device before removing it
    
    commit 01cca93a9491ed95992523ff7e79dd9bfcdea8e0 upstream.
    
    Unregister gpiochip device (used to export information through sysfs)
    before removing it internally. This way removal will reverse addition.
    
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 677c040f35923da4c9fadb2e645854044a5c6a8f
Author: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Date:   Wed Apr 29 17:10:14 2015 -0400

    xen/console: Update console event channel on resume
    
    commit b9d934f27c91b878c4b2e64299d6e419a4022f8d upstream.
    
    After a resume the hypervisor/tools may change console event
    channel number. We should re-query it.
    
    Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Signed-off-by: David Vrabel <david.vrabel@citrix.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0073e613da6fb1f39ab75f0373a63ee30d51d635
Author: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Date:   Tue May 5 16:23:35 2015 -0700

    mm/memory-failure: call shake_page() when error hits thp tail page
    
    commit 09789e5de18e4e442870b2d700831f5cb802eb05 upstream.
    
    Currently memory_failure() calls shake_page() to sweep pages out from
    pcplists only when the victim page is 4kB LRU page or thp head page.
    But we should do this for a thp tail page too.
    
    Consider that a memory error hits a thp tail page whose head page is on
    a pcplist when memory_failure() runs.  Then, the current kernel skips
    shake_pages() part, so hwpoison_user_mappings() returns without calling
    split_huge_page() nor try_to_unmap() because PageLRU of the thp head is
    still cleared due to the skip of shake_page().
    
    As a result, me_huge_page() runs for the thp, which is broken behavior.
    
    One effect is a leak of the thp.  And another is to fail to isolate the
    memory error, so later access to the error address causes another MCE,
    which kills the processes which used the thp.
    
    This patch fixes this problem by calling shake_page() for thp tail case.
    
    Fixes: 385de35722c9 ("thp: allow a hwpoisoned head page to be put back to LRU")
    Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
    Reviewed-by: Andi Kleen <ak@linux.intel.com>
    Acked-by: Dean Nelson <dnelson@redhat.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
    Cc: Jin Dongming <jin.dongming@np.css.fujitsu.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c043edcc42acda62fc86eb8a2d03122000421d74
Author: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Date:   Tue May 5 16:24:00 2015 -0700

    nilfs2: fix sanity check of btree level in nilfs_btree_root_broken()
    
    commit d8fd150fe3935e1692bf57c66691e17409ebb9c1 upstream.
    
    The range check for b-tree level parameter in nilfs_btree_root_broken()
    is wrong; it accepts the case of "level == NILFS_BTREE_LEVEL_MAX" even
    though the level is limited to values in the range of 0 to
    (NILFS_BTREE_LEVEL_MAX - 1).
    
    Since the level parameter is read from storage device and used to index
    nilfs_btree_path array whose element count is NILFS_BTREE_LEVEL_MAX, it
    can cause memory overrun during btree operations if the boundary value
    is set to the level parameter on device.
    
    This fixes the broken sanity check and adds a comment to clarify that
    the upper bound NILFS_BTREE_LEVEL_MAX is exclusive.
    
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 93705a1b1b18be69065682726c1f775853b6691c
Author: Junxiao Bi <junxiao.bi@oracle.com>
Date:   Tue May 5 16:24:02 2015 -0700

    ocfs2: dlm: fix race between purge and get lock resource
    
    commit b1432a2a35565f538586774a03bf277c27fc267d upstream.
    
    There is a race window in dlm_get_lock_resource(), which may return a
    lock resource which has been purged.  This will cause the process to
    hang forever in dlmlock() as the ast msg can't be handled due to its
    lock resource not existing.
    
        dlm_get_lock_resource {
            ...
            spin_lock(&dlm->spinlock);
            tmpres = __dlm_lookup_lockres_full(dlm, lockid, namelen, hash);
            if (tmpres) {
                 spin_unlock(&dlm->spinlock);
                 >>>>>>>> race window, dlm_run_purge_list() may run and purge
                                  the lock resource
                 spin_lock(&tmpres->spinlock);
                 ...
                 spin_unlock(&tmpres->spinlock);
            }
        }
    
    Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com>
    Cc: Joseph Qi <joseph.qi@huawei.com>
    Cc: Mark Fasheh <mfasheh@suse.com>
    Cc: Joel Becker <jlbec@evilplan.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>