Skip to content
  1. Apr 14, 2017
    • Kirill A. Shutemov's avatar
      thp: fix MADV_DONTNEED vs. numa balancing race · ced10803
      Kirill A. Shutemov authored
      
      
      In case prot_numa, we are under down_read(mmap_sem).  It's critical to
      not clear pmd intermittently to avoid race with MADV_DONTNEED which is
      also under down_read(mmap_sem):
      
      	CPU0:				CPU1:
      				change_huge_pmd(prot_numa=1)
      				 pmdp_huge_get_and_clear_notify()
      madvise_dontneed()
       zap_pmd_range()
        pmd_trans_huge(*pmd) == 0 (without ptl)
        // skip the pmd
      				 set_pmd_at();
      				 // pmd is re-established
      
      The race makes MADV_DONTNEED miss the huge pmd and don't clear it
      which may break userspace.
      
      Found by code analysis, never saw triggered.
      
      Link: http://lkml.kernel.org/r/20170302151034.27829-3-kirill.shutemov@linux.intel.com
      Signed-off-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Cc: Hillf Danton <hillf.zj@alibaba-inc.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ced10803
    • Kirill A. Shutemov's avatar
      thp: reduce indentation level in change_huge_pmd() · 0a85e51d
      Kirill A. Shutemov authored
      
      
      Patch series "thp: fix few MADV_DONTNEED races"
      
      For MADV_DONTNEED to work properly with huge pages, it's critical to not
      clear pmd intermittently unless you hold down_write(mmap_sem).
      
      Otherwise MADV_DONTNEED can miss the THP which can lead to userspace
      breakage.
      
      See example of such race in commit message of patch 2/4.
      
      All these races are found by code inspection.  I haven't seen them
      triggered.  I don't think it's worth to apply them to stable@.
      
      This patch (of 4):
      
      Restructure code in preparation for a fix.
      
      Link: http://lkml.kernel.org/r/20170302151034.27829-2-kirill.shutemov@linux.intel.com
      Signed-off-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Cc: Hillf Danton <hillf.zj@alibaba-inc.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0a85e51d
    • Vitaly Wool's avatar
      z3fold: fix page locking in z3fold_alloc() · 76e32a2a
      Vitaly Wool authored
      Stress testing of the current z3fold implementation on a 8-core system
      revealed it was possible that a z3fold page deleted from its unbuddied
      list in z3fold_alloc() would be put on another unbuddied list by
      z3fold_free() while z3fold_alloc() is still processing it.  This has
      been introduced with commit 5a27aa82
      
       ("z3fold: add kref refcounting")
      due to the removal of special handling of a z3fold page not on any list
      in z3fold_free().
      
      To fix this, the z3fold page lock should be taken in z3fold_alloc()
      before the pool lock is released.  To avoid deadlocking, we just try to
      lock the page as soon as we get a hold of it, and if trylock fails, we
      drop this page and take the next one.
      
      Signed-off-by: default avatarVitaly Wool <vitalywool@gmail.com>
      Cc: Dan Streetman <ddstreet@ieee.org>
      Cc: <Oleksiy.Avramchenko@sony.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      76e32a2a
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.11-5' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 27600782
      Linus Torvalds authored
      Pull pin control fixes from Linus Walleij:
       "Two pin control fixes arriving late, these are hopefully the last pin
        control fixes I send this kernel cycle. A Chromebook and an Exynos SoC
        thingie.
      
        The Exynos patch is pretty big, it is fixing unbroken a breakage
        caused by yours truly when trying to figure out the merge mess with
        the different Samsung platforms for this merge window. Sorry about
        that. We have countered this situation by assigning a Samsung pin
        control submaintainer to catch stuff earlier.
      
        Summary:
      
         - Make the Acer Chromebook keyboard work again with the Intel
           Cherryview driver.
      
         - Fix a merge error in the Exynos 5433 driver"
      
      * tag 'pinctrl-v4.11-5' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: cherryview: Add a quirk to make Acer Chromebook keyboard work again
        pinctrl: samsung: Add missing part for PINCFG_TYPE_DRV of Exynos5433
      27600782
  2. Apr 13, 2017
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-for-v4.11-rc7' of git://people.freedesktop.org/~airlied/linux · ee921c76
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "i915, gvt, nouveau, udl and etnaviv fixes.
      
        I was away the end of last week, so some of these would have been in
        rc6, and it's Easter from tomorrow, so I decided I better dequeue what
        I have now.
      
        The nouveau changes, just add a hw enable for GP107 display (like a
        pci id addition really), and fix a couple of regressions. i915 has
        some more gvt fixes, along with a few run of the mill ones, the rcu
        one seems like a few people have hit it.
      
        Otherwise a small udl and small etnaviv fix"
      
      * tag 'drm-fixes-for-v4.11-rc7' of git://people.freedesktop.org/~airlied/linux: (22 commits)
        drm/etnaviv: fix missing unlock on error in etnaviv_gpu_submit()
        drm/udl: Fix unaligned memory access in udl_render_hline
        drm/i915: Don't call synchronize_rcu_expedited under struct_mutex
        drm/i915: Suspend GuC prior to GPU Reset during GEM suspend
        drm/nouveau: initial support (display-only) for GP107
        drm/nouveau/kms/nv50: fix double dma_fence_put() when destroying plane state
        drm/nouveau/kms/nv50: fix setting of HeadSetRasterVertBlankDmi method
        drm/nouveau/mmu/nv4a: use nv04 mmu rather than the nv44 one
        drm/nouveau/mpeg: mthd returns true on success now
        drm/i915/gvt: set the correct default value of CTX STATUS PTR
        drm/i915/gvt: Fix firmware loading interface for GVT-g golden HW state
        drm/i915: Use a dummy timeline name for a signaled fence
        drm/i915: Ironlake do_idle_maps w/a may be called w/o struct_mutex
        drm/i915/gvt: remove the redundant info NULL check
        drm/i915/gvt: adjust mem size for low resolution type
        drm/i915: Avoid lock dropping between rescheduling
        drm/i915/gvt: exclude cfg space from failsafe mode
        drm/i915/gvt: Activate/de-activate vGPU in mdev ops.
        drm/i915/execlists: Wrap tail pointer after reset tweaking
        drm/i915/perf: remove user triggerable warn
        ...
      ee921c76
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-4.11-rc7' of... · 827c30a7
      Linus Torvalds authored
      Merge tag 'pwm/for-4.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm fixes from Thierry Reding:
       "This contain a fix for the atomic update support recently added to
        the Rockchip driver where the clock reference count would become
        unbalanced and result in the clock feeding the PWM to always be
        disabled.
      
        Another fix to the Intel LPSS driver that adds an update bit quirk
        required for a specific configuration"
      
      * tag 'pwm/for-4.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
        pwm: rockchip: State of PWM clock should synchronize with PWM enabled state
        pwm: lpss: Set enable-bit before waiting for update-bit to go low
        pwm: lpss: Split Tangier configuration
      827c30a7
    • Dave Airlie's avatar
      Merge branch 'linux-4.11' of git://github.com/skeggsb/linux into drm-fixes · 2ca62d8a
      Dave Airlie authored
      GP107 modesetting support (just recognising the chipset, no other changes until 4.12)
      a couple of regression fixes, one of them a rather serious double-free issue that appeared in 4.10.
      * 'linux-4.11' of git://github.com/skeggsb/linux:
        drm/nouveau: initial support (display-only) for GP107
        drm/nouveau/kms/nv50: fix double dma_fence_put() when destroying plane state
        drm/nouveau/kms/nv50: fix setting of HeadSetRasterVertBlankDmi method
        drm/nouveau/mmu/nv4a: use nv04 mmu rather than the nv44 one
        drm/nouveau/mpeg: mthd returns true on success now
      2ca62d8a
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2017-04-12' of... · 88b0b92b
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2017-04-12' of git://anongit.freedesktop.org/git/drm-intel into drm-fixes
      
      drm/i915 fixes for v4.11-rc7
      
      one rcu related fix, and a few GVT fixes.
      
      * tag 'drm-intel-fixes-2017-04-12' of git://anongit.freedesktop.org/git/drm-intel:
        drm/i915: Don't call synchronize_rcu_expedited under struct_mutex
        drm/i915: Suspend GuC prior to GPU Reset during GEM suspend
        drm/i915/gvt: set the correct default value of CTX STATUS PTR
        drm/i915/gvt: Fix firmware loading interface for GVT-g golden HW state
        drm/i915: Use a dummy timeline name for a signaled fence
        drm/i915: Ironlake do_idle_maps w/a may be called w/o struct_mutex
        drm/i915/gvt: remove the redundant info NULL check
        drm/i915/gvt: adjust mem size for low resolution type
        drm/i915: Avoid lock dropping between rescheduling
        drm/i915/gvt: exclude cfg space from failsafe mode
        drm/i915/gvt: Activate/de-activate vGPU in mdev ops.
        drm/i915/execlists: Wrap tail pointer after reset tweaking
        drm/i915/perf: remove user triggerable warn
        drm/i915/perf: destroy stream on sample_flags mismatch
        drm/i915: Align "unfenced" tiled access on gen2, early gen3
      88b0b92b
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2017-04-11' of git://anongit.freedesktop.org/git/drm-misc into drm-fixes · 97d93f35
      Dave Airlie authored
      drm-misc-fixes for 2017-04-11
      
      Core changes:
       - None
      
      Driver changes
       - udl: Fix unaligned memory access on SPARC (Jonathan)
      
      * tag 'drm-misc-fixes-2017-04-11' of git://anongit.freedesktop.org/git/drm-misc:
        drm/udl: Fix unaligned memory access in udl_render_hline
      97d93f35
    • Dave Airlie's avatar
      Merge branch 'etnaviv/fixes' of https://git.pengutronix.de/git/lst/linux into drm-fixes · c7aae622
      Dave Airlie authored
      Single etnaviv error path fix.
      
      * 'etnaviv/fixes' of https://git.pengutronix.de/git/lst/linux:
        drm/etnaviv: fix missing unlock on error in etnaviv_gpu_submit()
      c7aae622
  3. Apr 12, 2017
    • Wei Yongjun's avatar
      drm/etnaviv: fix missing unlock on error in etnaviv_gpu_submit() · 45abdf35
      Wei Yongjun authored
      Add the missing unlock before return from function etnaviv_gpu_submit()
      in the error handling case.
      
      lst: fixed label name.
      
      Fixes: f3cd1b06
      
       ("drm/etnaviv: (re-)protect fence allocation with
      GPU mutex")
      CC: stable@vger.kernel.org #4.9+
      Signed-off-by: default avatarWei Yongjun <weiyongjun1@huawei.com>
      Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
      45abdf35
    • Linus Torvalds's avatar
      Merge branch 'stable-4.11' of git://git.infradead.org/users/pcmoore/audit · b9b3322f
      Linus Torvalds authored
      Pull audit fix from Paul Moore:
       "One more small audit fix, this should be the last for v4.11.
      
        Seth Forshee noticed a problem where the audit retry queue wasn't
        being flushed properly when audit was enabled and the audit daemon
        wasn't running; this patches fixes the problem (see the commit
        description for more details on the change).
      
        Both Seth and I have tested this and everything looks good"
      
      * 'stable-4.11' of git://git.infradead.org/users/pcmoore/audit:
        audit: make sure we don't let the retry queue grow without bounds
      b9b3322f
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 025def92
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
      
       "There has been work in a number of different areas over the last
        weeks, including:
      
         - Fix target-core-user (TCMU) back-end bi-directional handling (Xiubo
           Li + Mike Christie + Ilias Tsitsimpis)
      
         - Fix iscsi-target TMR reference leak during session shutdown (Rob
           Millner + Chu Yuan Lin)
      
         - Fix target_core_fabric_configfs.c race between LUN shutdown +
           mapped LUN creation (James Shen)
      
         - Fix target-core unknown fabric callback queue-full errors (Potnuri
           Bharat Teja)
      
         - Fix iscsi-target + iser-target queue-full handling in order to
           support iw_cxgb4 RNICs. (Potnuri Bharat Teja + Sagi Grimberg)
      
         - Fix ALUA transition state race between multiple initiator (Mike
           Christie)
      
         - Drop work-around for legacy GlobalSAN initiator, to allow QLogic
           57840S + 579xx offload HBAs to work out-of-the-box in MSFT
           environments. (Martin Svec + Arun Easi)
      
        Note that a number are CC'ed for stable, and although the queue-full
        bug-fixes required for iser-target to work with iw_cxgb4 aren't CC'ed
        here, they'll be posted to Greg-KH separately"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        tcmu: Skip Data-Out blocks before gathering Data-In buffer for BIDI case
        iscsi-target: Drop work-around for legacy GlobalSAN initiator
        target: Fix ALUA transition state race between multiple initiators
        iser-target: avoid posting a recv buffer twice
        iser-target: Fix queue-full response handling
        iscsi-target: Propigate queue_data_in + queue_status errors
        target: Fix unknown fabric callback queue-full errors
        tcmu: Fix wrongly calculating of the base_command_size
        tcmu: Fix possible overwrite of t_data_sg's last iov[]
        target: Avoid mappedlun symlink creation during lun shutdown
        iscsi-target: Fix TMR reference leak during session shutdown
        usb: gadget: Correct usb EP argument for BOT status request
        tcmu: Allow cmd_time_out to be set to zero (disabled)
      025def92
    • Linus Torvalds's avatar
      Merge branch 'for-4.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 06ea4c38
      Linus Torvalds authored
      Pull cgroup fixes from Tejun Heo:
       "This contains fixes for two long standing subtle bugs:
      
         - kthread_bind() on a new kthread binds it to specific CPUs and
           prevents userland from messing with the affinity or cgroup
           membership. Unfortunately, for cgroup membership, there's a window
           between kthread creation and kthread_bind*() invocation where the
           kthread can be moved into a non-root cgroup by userland.
      
           Depending on what controllers are in effect, this can assign the
           kthread unexpected attributes. For example, in the reported case,
           workqueue workers ended up in a non-root cpuset cgroups and had
           their CPU affinities overridden. This broke workqueue invariants
           and led to workqueue stalls.
      
           Fixed by closing the window between kthread creation and
           kthread_bind() as suggested by Oleg.
      
         - There was a bug in cgroup mount path which could allow two
           competing mount attempts to attach the same cgroup_root to two
           different superblocks.
      
           This was caused by mishandling return value from kernfs_pin_sb().
      
           Fixed"
      
      * 'for-4.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: avoid attaching a cgroup root to two different superblocks
        cgroup, kthread: close race window where new kthreads can be migrated to non-root cgroups
      06ea4c38
    • Linus Torvalds's avatar
      Merge branch 'for-4.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · af94bdfa
      Linus Torvalds authored
      Pull libata fixes from Tejun Heo:
       "Two libata fixes.
      
        One to disable hotplug on VT6420 which never worked properly. The
        other reverts an earlier patch which disabled the second port on
        SB600/700. There were some confusions due to earlier datasheets which
        incorrectly indicated that the second port is not implemented on both
        SB600 and 700"
      
      * 'for-4.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        sata_via: Enable hotplug only on VT6421
        Revert "pata_atiixp: Don't use unconnected secondary port on SB600/SB700"
      af94bdfa
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · fe251c4b
      Linus Torvalds authored
      Pull HID fixes from Jiri Kosina:
      
       - revert of a commit that switched all Synaptics touchpads over to be
         driven by hid-rmi. It turns out that this caused several user-visible
         regressions, and therefore we revert back to the original state
         before all the reported issues have been fixed.
      
       - a new uclogic device ID addition, from Xiaolei Yu.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        Revert "HID: rmi: Handle all Synaptics touchpads using hid-rmi"
        HID: uclogic: add support for Ugee Tablet EX07S
      fe251c4b
  4. Apr 11, 2017
    • Jonathan Neuschäfer's avatar
      drm/udl: Fix unaligned memory access in udl_render_hline · 0c45b36f
      Jonathan Neuschäfer authored
      
      
      On SPARC, the udl driver filled my kernel log with these messages:
      
      [186668.910612] Kernel unaligned access at TPC[76609c] udl_render_hline+0x13c/0x3a0
      
      Use put_unaligned_be16 to avoid them. On x86 this results in the same
      code, but on SPARC the compiler emits two single-byte stores.
      
      Signed-off-by: default avatarJonathan Neuschäfer <j.neuschaefer@gmx.net>
      Acked-by: default avatarDavid Airlie <airlied@linux.ie>
      Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170407200229.20642-1-j.neuschaefer@gmx.net
      0c45b36f
    • Joonas Lahtinen's avatar
      drm/i915: Don't call synchronize_rcu_expedited under struct_mutex · c053b5a5
      Joonas Lahtinen authored
      Only call synchronize_rcu_expedited after unlocking struct_mutex to
      avoid deadlock because the workqueues depend on struct_mutex.
      
      >From original patch by Andrea:
      
      synchronize_rcu/synchronize_sched/synchronize_rcu_expedited() will
      hang until its own workqueues are run. The i915 gem workqueues will
      wait on the struct_mutex to be released. So we cannot wait for a
      quiescent state using those rcu primitives while holding the
      struct_mutex or it creates a circular lock dependency resulting in
      kernel hangs (which is reproducible but goes undetected by lockdep).
      
      kswapd0         D    0   700      2 0x00000000
      Call Trace:
      ? __schedule+0x1a5/0x660
      ? schedule+0x36/0x80
      ? _synchronize_rcu_expedited.constprop.65+0x2ef/0x300
      ? wake_up_bit+0x20/0x20
      ? rcu_stall_kick_kthreads.part.54+0xc0/0xc0
      ? rcu_exp_wait_wake+0x530/0x530
      ? i915_gem_shrink+0x34b/0x4b0
      ? i915_gem_shrinker_scan+0x7c/0x90
      ? i915_gem_shrinker_scan+0x7c/0x90
      ? shrink_slab.part.61.constprop.72+0x1c1/0x3a0
      ? shrink_zone+0x154/0x160
      ? kswapd+0x40a/0x720
      ? kthread+0xf4/0x130
      ? try_to_free_pages+0x450/0x450
      ? kthread_create_on_node+0x40/0x40
      ? ret_from_fork+0x23/0x30
      plasmashell     D    0  4657   4614 0x00000000
      Call Trace:
      ? __schedule+0x1a5/0x660
      ? schedule+0x36/0x80
      ? schedule_preempt_disabled+0xe/0x10
      ? __mutex_lock.isra.4+0x1c9/0x790
      ? i915_gem_close_object+0x26/0xc0
      ? i915_gem_close_object+0x26/0xc0
      ? drm_gem_object_release_handle+0x48/0x90
      ? drm_gem_handle_delete+0x50/0x80
      ? drm_ioctl+0x1fa/0x420
      ? drm_gem_handle_create+0x40/0x40
      ? pipe_write+0x391/0x410
      ? __vfs_write+0xc6/0x120
      ? do_vfs_ioctl+0x8b/0x5d0
      ? SyS_ioctl+0x3b/0x70
      ? entry_SYSCALL_64_fastpath+0x13/0x94
      kworker/0:0     D    0 29186      2 0x00000000
      Workqueue: events __i915_gem_free_work
      Call Trace:
      ? __schedule+0x1a5/0x660
      ? schedule+0x36/0x80
      ? schedule_preempt_disabled+0xe/0x10
      ? __mutex_lock.isra.4+0x1c9/0x790
      ? del_timer_sync+0x44/0x50
      ? update_curr+0x57/0x110
      ? __i915_gem_free_objects+0x31/0x300
      ? __i915_gem_free_objects+0x31/0x300
      ? __i915_gem_free_work+0x2d/0x40
      ? process_one_work+0x13a/0x3b0
      ? worker_thread+0x4a/0x460
      ? kthread+0xf4/0x130
      ? process_one_work+0x3b0/0x3b0
      ? kthread_create_on_node+0x40/0x40
      ? ret_from_fork+0x23/0x30
      
      Fixes: 3d3d18f0
      
       ("drm/i915: Avoid rcu_barrier() from reclaim paths (shrinker)")
      Reported-by: default avatarAndrea Arcangeli <aarcange@redhat.com>
      Signed-off-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Jani Nikula <jani.nikula@intel.com>
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      (cherry picked from commit 8f612d05
      
      )
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      c053b5a5
    • Sagar Arun Kamble's avatar
      drm/i915: Suspend GuC prior to GPU Reset during GEM suspend · 63987bfe
      Sagar Arun Kamble authored
      i915 is currently doing a full GPU reset at the end of
      i915_gem_suspend() followed by GuC suspend in i915_drm_suspend(). This
      GPU reset clobbers the GuC, causing the suspend request to then fail,
      leaving the GuC in an undefined state. We need to tell the GuC to
      suspend before we do the direct intel_gpu_reset().
      
      v2: Commit message update. (Chris, Daniele)
      
      Fixes: 1c777c5d
      
       ("drm/i915/hsw: Fix GPU hang during resume from S3-devices state")
      Cc: Jeff McGee <jeff.mcgee@intel.com>
      Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Imre Deak <imre.deak@intel.com>
      Cc: Mika Kuoppala <mika.kuoppala@intel.com>
      Signed-off-by: default avatarSagar Arun Kamble <sagar.a.kamble@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1491387710-20553-1-git-send-email-sagar.a.kamble@intel.com
      Reviewed-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Acked-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      (cherry picked from commit fd089233
      
      )
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      63987bfe
    • Jani Nikula's avatar
      Merge tag 'gvt-fixes-2017-04-07' of https://github.com/01org/gvt-linux into drm-intel-fixes · e5199a37
      Jani Nikula authored
      
      
      gvt-fixes-2017-04-07
      
      - execlist csb initial read ptr fix (Min)
      
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170407084240.4d2ig5ja2umcnsq3@zhen-hp.sh.intel.com
      e5199a37
    • Jiri Kosina's avatar
      Revert "HID: rmi: Handle all Synaptics touchpads using hid-rmi" · 84379d83
      Jiri Kosina authored
      This reverts commit 279967a6
      
      .
      
      Multiple regressions [1] [2] [3] have been reported. The hid-rmi
      support would have to fixed and redone in 4.11+.
      
      [1] http://lkml.kernel.org/r/b79b88c8-770a-13f6-5668-c3a94254e5e0@gmail.com
      [2] http://lkml.kernel.org/r/375e67b5-2cb8-3491-1d71-d8650d6e9451@gmail.com
      [3] https://bugzilla.kernel.org/show_bug.cgi?id=195287
      
      Reported-by: default avatarCameron Gutman <aicommander@gmail.com>
      Reported-by: default avatarGabriele Mazzotta <gabriele.mzt@gmail.com>
      Reported-by: default avatarLorenzo J. Lucchini <ljlbox@tiscali.it>
      Reported-by: default avatarThorsten Leemhuis <linux@leemhuis.info>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      84379d83
    • Mika Westerberg's avatar
      pinctrl: cherryview: Add a quirk to make Acer Chromebook keyboard work again · 70365027
      Mika Westerberg authored
      After commit 47c950d1 ("pinctrl: cherryview: Do not add all
      southwest and north GPIOs to IRQ domain") the driver does not add all
      GPIOs to the irqdomain. The reason for that is that those GPIOs cannot
      generate IRQs at all, only GPEs (General Purpose Events). This causes
      Linux virtual IRQ numbering to change.
      
      However, it seems some CYAN Chromebooks, including Acer Chromebook
      hardcodes these Linux IRQ numbers in the ACPI tables of the machine.
      Since the numbering is different now, the IRQ meant for keyboard does
      not match the Linux virtual IRQ number anymore making the keyboard
      non-functional.
      
      Work this around by adding special quirk just for these machines where
      we add back all GPIOs to the irqdomain. Rest of the Cherryview/Braswell
      based machines will not be affected by the change.
      
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=194945
      Fixes: 47c950d1
      
       ("pinctrl: cherryview: Do not add all southwest and north GPIOs to IRQ domain")
      Reported-by: default avatarAdam S Levy <theadamlevy@gmail.com>
      Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      70365027
    • Ondrej Zary's avatar
      sata_via: Enable hotplug only on VT6421 · 3cf86452
      Ondrej Zary authored
      Commit 57e5568f
      
       ("sata_via: Implement hotplug for VT6421") adds
      hotplug IRQ handler for VT6421 but enables hotplug on all chips. This
      is a bug because it causes "irq xx: nobody cared" error on VT6420 when
      hot-(un)plugging a drive:
      
      [  381.839948] irq 20: nobody cared (try booting with the "irqpoll" option)
      [  381.840014] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.10.0-rc5+ #148
      [  381.840066] Hardware name:          P4VM800/P4VM800, BIOS P1.60 05/29/2006
      [  381.840117] Call Trace:
      [  381.840167]  <IRQ>
      [  381.840225]  ? dump_stack+0x44/0x58
      [  381.840278]  ? __report_bad_irq+0x14/0x97
      [  381.840327]  ? handle_edge_irq+0xa5/0xa5
      [  381.840376]  ? note_interrupt+0x155/0x1cf
      [  381.840426]  ? handle_edge_irq+0xa5/0xa5
      [  381.840474]  ? handle_irq_event_percpu+0x32/0x38
      [  381.840524]  ? handle_irq_event+0x1f/0x38
      [  381.840573]  ? handle_fasteoi_irq+0x69/0xb8
      [  381.840625]  ? handle_irq+0x4f/0x5d
      [  381.840672]  </IRQ>
      [  381.840726]  ? do_IRQ+0x2e/0x8b
      [  381.840782]  ? common_interrupt+0x2c/0x34
      [  381.840836]  ? mwait_idle+0x60/0x82
      [  381.840892]  ? arch_cpu_idle+0x6/0x7
      [  381.840949]  ? do_idle+0x96/0x18e
      [  381.841002]  ? cpu_startup_entry+0x16/0x1a
      [  381.841057]  ? start_kernel+0x319/0x31c
      [  381.841111]  ? startup_32_smp+0x166/0x168
      [  381.841165] handlers:
      [  381.841219] [<c12a7263>] ata_bmdma_interrupt
      [  381.841274] Disabling IRQ #20
      
      Seems that VT6420 can do hotplug too (there's no documentation) but the
      comments say that SCR register access (required for detecting hotplug
      events) can cause problems on these chips.
      
      For now, just keep hotplug disabled on anything other than VT6421.
      
      Signed-off-by: default avatarOndrej Zary <linux@rainbow-software.org>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      3cf86452
    • Zefan Li's avatar
      cgroup: avoid attaching a cgroup root to two different superblocks · bfb0b80d
      Zefan Li authored
      
      
      Run this:
      
          touch file0
          for ((; ;))
          {
              mount -t cpuset xxx file0
          }
      
      And this concurrently:
      
          touch file1
          for ((; ;))
          {
              mount -t cpuset xxx file1
          }
      
      We'll trigger a warning like this:
      
       ------------[ cut here ]------------
       WARNING: CPU: 1 PID: 4675 at lib/percpu-refcount.c:317 percpu_ref_kill_and_confirm+0x92/0xb0
       percpu_ref_kill_and_confirm called more than once on css_release!
       CPU: 1 PID: 4675 Comm: mount Not tainted 4.11.0-rc5+ #5
       Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
       Call Trace:
        dump_stack+0x63/0x84
        __warn+0xd1/0xf0
        warn_slowpath_fmt+0x5f/0x80
        percpu_ref_kill_and_confirm+0x92/0xb0
        cgroup_kill_sb+0x95/0xb0
        deactivate_locked_super+0x43/0x70
        deactivate_super+0x46/0x60
       ...
       ---[ end trace a79f61c2a2633700 ]---
      
      Here's a race:
      
        Thread A				Thread B
      
        cgroup1_mount()
          # alloc a new cgroup root
          cgroup_setup_root()
      					cgroup1_mount()
      					  # no sb yet, returns NULL
      					  kernfs_pin_sb()
      
      					  # but succeeds in getting the refcnt,
      					  # so re-use cgroup root
      					  percpu_ref_tryget_live()
          # alloc sb with cgroup root
          cgroup_do_mount()
      
        cgroup_kill_sb()
      					  # alloc another sb with same root
      					  cgroup_do_mount()
      
      					cgroup_kill_sb()
      
      We end up using the same cgroup root for two different superblocks,
      so percpu_ref_kill() will be called twice on the same root when the
      two superblocks are destroyed.
      
      We should fix to make sure the superblock pinning is really successful.
      
      Cc: stable@vger.kernel.org # 3.16+
      Reported-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Signed-off-by: default avatarZefan Li <lizefan@huawei.com>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      bfb0b80d
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · c08e611b
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This fixes a number of bugs in the caam driver:
      
         - device creation fails after release
      
         - error-path NULL-pointer dereference
      
         - spurious hardware error in RNG deinstantiation"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: caam - fix RNG deinstantiation error checking
        crypto: caam - fix invalid dereference in caam_rsa_init_tfm()
        crypto: caam - fix JR platform device subsequent (re)creations
      c08e611b
  5. Apr 10, 2017
    • Paul Moore's avatar
      audit: make sure we don't let the retry queue grow without bounds · 264d5096
      Paul Moore authored
      The retry queue is intended to provide a temporary buffer in the case
      of transient errors when communicating with auditd, it is not meant
      as a long life queue, that functionality is provided by the hold
      queue.
      
      This patch fixes a problem identified by Seth where the retry queue
      could grow uncontrollably if an auditd instance did not connect to
      the kernel to drain the queues.  This commit fixes this by doing the
      following:
      
      * Make sure we always call auditd_reset() if we decide the connection
      with audit is really dead.  There were some cases in
      kauditd_hold_skb() where we did not reset the connection, this patch
      relocates the reset calls to kauditd_thread() so all the error
      conditions are caught and the connection reset.  As a side effect,
      this means we could move auditd_reset() and get rid of the forward
      definition at the top of kernel/audit.c.
      
      * We never checked the status of the auditd connection when
      processing the main audit queue which meant that the retry queue
      could grow unchecked.  This patch adds a call to auditd_reset()
      after the main queue has been processed if auditd is not connected,
      the auditd_reset() call will make sure the retry and hold queues are
      correctly managed/flushed so that the retry queue remains reasonable.
      
      Cc: <stable@vger.kernel.org> # 4.10.x-: 5b52330b
      
      
      Reported-by: default avatarSeth Forshee <seth.forshee@canonical.com>
      Signed-off-by: default avatarPaul Moore <paul@paul-moore.com>
      264d5096
    • Chanwoo Choi's avatar
      pinctrl: samsung: Add missing part for PINCFG_TYPE_DRV of Exynos5433 · dbc9d69e
      Chanwoo Choi authored
      The commit 1259fedd("pinctrl: samsung: Fix the width of
      PINCFG_TYPE_DRV bitfields for Exynos5433") already fixed
      the different width of PINCFG_TYPE_DRV from previous Exynos SoC.
      
      However wrong merge conflict resolution was chosen in commit
      7f36f5d1 ("Merge tag 'v4.10-rc6' into devel") effectively dropping
      the changes for PINCFG_TYPE_DRV.  Re-do them here.
      
      The macro EXYNOS_PIN_BANK_EINTW is no longer used so remove it.
      
      Fixes: 7f36f5d1
      
       ("Merge tag 'v4.10-rc6' into devel")
      Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
      Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      dbc9d69e
    • Linus Torvalds's avatar
      Linux 4.11-rc6 · 39da7c50
      Linus Torvalds authored
      39da7c50
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 84ced7fd
      Linus Torvalds authored
      Pull CIFS fixes from Steve French:
       "This is a set of CIFS/SMB3 fixes for stable.
      
        There is another set of four SMB3 reconnect fixes for stable in
        progress but they are still being reviewed/tested, so didn't want to
        wait any longer to send these five below"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        Reset TreeId to zero on SMB2 TREE_CONNECT
        CIFS: Fix build failure with smb2
        Introduce cifs_copy_file_range()
        SMB3: Rename clone_range to copychunk_range
        Handle mismatched open calls
      84ced7fd
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm · 462e9a35
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "A number of ARM fixes:
      
         - prevent oopses caused by dma_get_sgtable() and declared DMA
           coherent memory
      
         - fix boot failure on nommu caused by ID_PFR1 access
      
         - a number of kprobes fixes from Jon Medhurst and Masami Hiramatsu"
      
      * 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 8665/1: nommu: access ID_PFR1 only if CPUID scheme
        ARM: dma-mapping: disallow dma_get_sgtable() for non-kernel managed memory
        arm: kprobes: Align stack to 8-bytes in test code
        arm: kprobes: Fix the return address of multiple kretprobes
        arm: kprobes: Skip single-stepping in recursing path if possible
        arm: kprobes: Allow to handle reentered kprobe on single-stepping
      462e9a35
    • Linus Torvalds's avatar
      Merge tag 'driver-core-4.11-rc6' of... · 5b50be74
      Linus Torvalds authored
      Merge tag 'driver-core-4.11-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core fixes from Greg KH:
       "Here are 3 small fixes for 4.11-rc6.
      
        One resolves a reported issue with sysfs files that NeilBrown found,
        one is a documenatation fix for the stable kernel rules, and the last
        is a small MAINTAINERS file update for kernfs"
      
      * tag 'driver-core-4.11-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        MAINTAINERS: separate out kernfs maintainership
        sysfs: be careful of error returns from ops->show()
        Documentation: stable-kernel-rules: fix stable-tag format
      5b50be74
    • Linus Torvalds's avatar
      Merge tag 'staging-4.11-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 62e1fd08
      Linus Torvalds authored
      Pull staging/IIO driver rfixes from Greg KH:
       "Here are a number of small IIO and staging driver fixes for 4.11-rc6.
        Nothing big here, just iio fixes for reported issues, and an ashmem
        fix for a very old bug that has been reported by a number of Android
        vendors"
      
      * tag 'staging-4.11-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: android: ashmem: lseek failed due to no FMODE_LSEEK.
        iio: hid-sensor-attributes: Fix sensor property setting failure.
        iio: accel: hid-sensor-accel-3d: Fix duplicate scan index error
        iio: core: Fix IIO_VAL_FRACTIONAL_LOG2 for negative values
        iio: st_pressure: initialize lps22hb bootime
        iio: bmg160: reset chip when probing
        iio: cros_ec_sensors: Fix return value to get raw and calibbias data.
      62e1fd08
  6. Apr 09, 2017
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 2a610b8a
      Linus Torvalds authored
      Pull VFS fixes from Al Viro:
       "statx followup fixes and a fix for stack-smashing on alpha"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        alpha: fix stack smashing in old_adjtimex(2)
        statx: Include a mask for stx_attributes in struct statx
        statx: Reserve the top bit of the mask for future struct expansion
        xfs: report crtime and attribute flags to statx
        ext4: Add statx support
        statx: optimize copy of struct statx to userspace
        statx: remove incorrect part of vfs_statx() comment
        statx: reject unknown flags when using NULL path
        Documentation/filesystems: fix documentation for ->getattr()
      2a610b8a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 78d91a75
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Here's a pull request for 4.11-rc, fixing a set of issues mostly
        centered around the new scheduling framework. These have been brewing
        for a while, but split up into what we absolutely need in 4.11, and
        what we can defer until 4.12. These are well tested, on both single
        queue and multiqueue setups, and with and without shared tags. They
        fix several hangs that have happened in testing.
      
        This is obviously larger than I would have preferred at this point in
        time, but I don't think we can shave much off this and still get the
        desired results.
      
        In detail, this pull request contains:
      
         - a set of five fixes for NVMe, mostly from Christoph and one from
           Roland.
      
         - a series from Bart, fixing issues with dm-mq and SCSI shared tags
           and scheduling. Note that one of those patches commit messages may
           read like an optimization, but it is in fact an important fix for
           queue restarts in particular.
      
         - a series from Omar, most importantly fixing a hang with multiple
           hardware queues when we fail to get a driver tag. Another important
           fix in there is for resizing hardware queues, which nbd does when
           handling multiple sockets for one connection.
      
         - fixing an imbalance in putting the ctx for hctx request allocations
           from Minchan"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        blk-mq: Restart a single queue if tag sets are shared
        dm rq: Avoid that request processing stalls sporadically
        scsi: Avoid that SCSI queues get stuck
        blk-mq: Introduce blk_mq_delay_run_hw_queue()
        blk-mq: remap queues when adding/removing hardware queues
        blk-mq-sched: fix crash in switch error path
        blk-mq-sched: set up scheduler tags when bringing up new queues
        blk-mq-sched: refactor scheduler initialization
        blk-mq: use the right hctx when getting a driver tag fails
        nvmet: fix byte swap in nvmet_parse_io_cmd
        nvmet: fix byte swap in nvmet_execute_write_zeroes
        nvmet: add missing byte swap in nvmet_get_smart_log
        nvme: add missing byte swap in nvme_setup_discard
        nvme: Correct NVMF enum values to match NVMe-oF rev 1.0
        block: do not put mq context in blk_mq_alloc_request_hctx
      78d91a75
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.11-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · c3df1c7c
      Linus Torvalds authored
      Pull pin control fix from Linus Walleij:
       "This late fix for pin control is hopefully the last I send this cycle.
      
        The problem was detected early in the v4.11 release cycle and there
        has been some back and forth on how to solve it. Sadly the proper fix
        arrives late, but at least not too late.
      
        An issue was detected with pin control on the Freescale i.MX after the
        refactorings for more general group and function handling.
      
        We now have the proper fix for this"
      
      * tag 'pinctrl-v4.11-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: core: Fix pinctrl_register_and_init() with pinctrl_enable()
      c3df1c7c
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.11-7' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 894ca30c
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       "Some more powerpc fixes for 4.11:
      
        Headed to stable:
      
         - disable HFSCR[TM] if TM is not supported, fixes a potential host
           kernel crash triggered by a hostile guest, but only in
           configurations that no one uses
      
         - don't try to fix up misaligned load-with-reservation instructions
      
         - fix flush_(d|i)cache_range() called from modules on little endian
           kernels
      
         - add missing global TLB invalidate if cxl is active
      
         - fix missing preempt_disable() in crc32c-vpmsum
      
        And a fix for selftests build changes that went in this release:
      
         - selftests/powerpc: Fix standalone powerpc build
      
        Thanks to: Benjamin Herrenschmidt, Frederic Barrat, Oliver O'Halloran,
        Paul Mackerras"
      
      * tag 'powerpc-4.11-7' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/crypto/crc32c-vpmsum: Fix missing preempt_disable()
        powerpc/mm: Add missing global TLB invalidate if cxl is active
        powerpc/64: Fix flush_(d|i)cache_range() called from modules
        powerpc: Don't try to fix up misaligned load-with-reservation instructions
        powerpc: Disable HFSCR[TM] if TM is not supported
        selftests/powerpc: Fix standalone powerpc build
      894ca30c
    • Chris Salls's avatar
      mm/mempolicy.c: fix error handling in set_mempolicy and mbind. · cf01fb99
      Chris Salls authored
      
      
      In the case that compat_get_bitmap fails we do not want to copy the
      bitmap to the user as it will contain uninitialized stack data and leak
      sensitive data.
      
      Signed-off-by: default avatarChris Salls <salls@cs.ucsb.edu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cf01fb99
    • Liping Zhang's avatar
      sysctl: report EINVAL if value is larger than UINT_MAX for proc_douintvec · 425fffd8
      Liping Zhang authored
      Currently, inputting the following command will succeed but actually the
      value will be truncated:
      
        # echo 0x12ffffffff > /proc/sys/net/ipv4/tcp_notsent_lowat
      
      This is not friendly to the user, so instead, we should report error
      when the value is larger than UINT_MAX.
      
      Fixes: e7d316a0
      
       ("sysctl: handle error writing UINT_MAX to u32 fields")
      Signed-off-by: default avatarLiping Zhang <zlpnobody@gmail.com>
      Cc: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      425fffd8
    • Tejun Heo's avatar
      MAINTAINERS: separate out kernfs maintainership · 27f395b8
      Tejun Heo authored
      
      
      Separate out kernfs from driver core and add myself as a
      co-maintainer.
      
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      27f395b8
  7. Apr 08, 2017
    • NeilBrown's avatar
      sysfs: be careful of error returns from ops->show() · c8a139d0
      NeilBrown authored
      ops->show() can return a negative error code.
      Commit 65da3484 ("sysfs: correctly handle short reads on PREALLOC attrs.")
      (in v4.4) caused this to be stored in an unsigned 'size_t' variable, so errors
      would look like large numbers.
      As a result, if an error is returned, sysfs_kf_read() will return the
      value of 'count', typically 4096.
      
      Commit 17d0774f ("sysfs: correctly handle read offset on PREALLOC attrs")
      (in v4.8) extended this error to use the unsigned large 'len' as a size for
      memmove().
      Consequently, if ->show returns an error, then the first read() on the
      sysfs file will return 4096 and could return uninitialized memory to
      user-space.
      If the application performs a subsequent read, this will trigger a memmove()
      with extremely large count, and is likely to crash the machine is bizarre ways.
      
      This bug can currently only be triggered by reading from an md
      sysfs attribute declared with __ATTR_PREALLOC() during the
      brief period between when mddev_put() deletes an mddev from
      the ->all_mddevs list, and when mddev_delayed_delete() - which is
      scheduled on a workqueue - completes.
      Before this, an error won't be returned by the ->show()
      After this, the ->show() won't be called.
      
      I can reproduce it reliably only by putting delay like
      	usleep_range(500000,700000);
      early in mddev_delayed_delete(). Then after creating an
      md device md0 run
        echo clear > /sys/block/md0/md/array_state; cat /sys/block/md0/md/array_state
      
      The bug can be triggered without the usleep.
      
      Fixes: 65da3484 ("sysfs: correctly handle short reads on PREALLOC attrs.")
      Fixes: 17d0774f
      
       ("sysfs: correctly handle read offset on PREALLOC attrs")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarNeilBrown <neilb@suse.com>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Reported-and-tested-by: default avatarMiroslav Benes <mbenes@suse.cz>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c8a139d0