1. 25 6月, 2016 14 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 3fb5e59c
      Linus Torvalds 提交于
      Pull HID fix from Jiri Kosina:
       "hiddev ioctl() validation fix from Scott Bauer"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        HID: hiddev: validate num_values for HIDIOCGUSAGES, HIDIOCSUSAGES commands
      3fb5e59c
    • L
      Merge tag 'hwmon-for-linus-v4.7-rc5' of... · 260eaba4
      Linus Torvalds 提交于
      Merge tag 'hwmon-for-linus-v4.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fix from Guenter Roeck:
       "Improve fan type detection for dell-smm to prevent kernel hang"
      
      * tag 'hwmon-for-linus-v4.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (dell-smm) Cache fan_type() calls and change fan detection
      260eaba4
    • L
      Merge tag 'acpi-4.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · ed13fbbf
      Linus Torvalds 提交于
      Pull ACPI fix from Rafael Wysocki:
       "Stable-candidate fix for a deadlock in ACPICA introduced during the
        4.5 development cycle by a commit attempting to improve the handling
        of AML code that doesn't belong to any namespace objects in a given
        definition block (Lv Zheng)"
      
      * tag 'acpi-4.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPICA: Namespace: Fix deadlock triggered by MLC support in dynamic table loading
      ed13fbbf
    • L
      Merge tag 'pm-4.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 3522b35c
      Linus Torvalds 提交于
      Pull power management fixes from Rafael Wysocki:
       "Fix for a latent cpufreq driver bug uncovered by a recent ACPICA
        change and several fixes for the devfreq framework, including one fix
        for an issue introduced recently.
      
        Specifics:
      
         - Fix a latent initialization issue in the pcc-cpufreq driver
           (incorrect initial value of a structure field) that has been
           uncovered by a recent ACPICA commit (Mike Galbraith).
      
         - Add a missing notification in an update_devfreq() error code path
           forgotten by a recent devfreq commit (Chanwoo Choi).
      
         - Fix devfreq device frequency initialization (Lukasz Luba).
      
         - Fix an incorrect IS_ERR() check in the devfreq framework discovered
           by the Smatch checker (Dan Carpenter).
      
         - Drop two excessive put_device() calls from the devfreq framework
           (MyungJoo Ham, Cai Zhiyong).
      
         - Fix a possible memory leak in the devfreq framework and drop an
           unnecessary kfree() invocation from it (MyungJoo Ham)"
      
      * tag 'pm-4.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM / devfreq: Send the DEVFREQ_POSTCHANGE notification when target() is failed
        cpufreq: pcc-cpufreq: Fix doorbell.access_width
        PM / devfreq: fix initialization of current frequency in last status
        PM / devfreq: exynos-nocp: Remove incorrect IS_ERR() check
        PM / devfreq: remove double put_device
        PM / devfreq: fix double call put_device
        PM / devfreq: fix duplicated kfree on devfreq pointer
        PM / devfreq: devm_kzalloc to have dev pointer more precisely
      3522b35c
    • L
      Merge tag 'for-linus-4.7b-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 032fd3e5
      Linus Torvalds 提交于
      Pull xen bug fixes from David Vrabel:
      
       - fix x86 PV dom0 crash during early boot on some hardware
      
       - fix two pciback bugs affects certain devices
      
       - fix potential overflow when clearing page tables in x86 PV
      
      * tag 'for-linus-4.7b-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen-pciback: return proper values during BAR sizing
        x86/xen: avoid m2p lookup when setting early page table entries
        xen/pciback: Fix conf_space read/write overlap check.
        x86/xen: fix upper bound of pmd loop in xen_cleanhighmap()
        xen/balloon: Fix declared-but-not-defined warning
      032fd3e5
    • L
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · d05be0d7
      Linus Torvalds 提交于
      Pull arm64 fixes from Will Deacon:
       "Here are a few more arm64 fixes, but things do finally appear to be
        slowing down.  The main fix is avoiding hibernation in a previously
        unanticipated situation where we have CPUs parked in the kernel, but
        it's all good stuff.
      
         - Fix icache/dcache sync for anonymous pages under migration
         - Correct the ASID limit check
         - Fix parallel builds of Image and Image.gz
         - Refuse to hibernate when we have CPUs that we can't offline"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: hibernate: Don't hibernate on systems with stuck CPUs
        arm64: smp: Add function to determine if cpus are stuck in the kernel
        arm64: mm: remove page_mapping check in __sync_icache_dcache
        arm64: fix boot image dependencies to not generate invalid images
        arm64: update ASID limit
      d05be0d7
    • L
      Merge tag 'nfsd-4.7-2' of git://linux-nfs.org/~bfields/linux · 9c46a6df
      Linus Torvalds 提交于
      Pull nfsd bugfixes from Bruce Fields:
       "Fix missing server-side permission checks on setting NFS ACLs"
      
      * tag 'nfsd-4.7-2' of git://linux-nfs.org/~bfields/linux:
        nfsd: check permissions when setting ACLs
        posix_acl: Add set_posix_acl
      9c46a6df
    • L
      fix up initial thread stack pointer vs thread_info confusion · 7f1a00b6
      Linus Torvalds 提交于
      The INIT_TASK() initializer was similarly confused about the stack vs
      thread_info allocation that the allocators had, and that were fixed in
      commit b235beea ("Clarify naming of thread info/stack allocators").
      
      The task ->stack pointer only incidentally ends up having the same value
      as the thread_info, and in fact that will change.
      
      So fix the initial task struct initializer to point to 'init_stack'
      instead of 'init_thread_info', and make sure the ia64 definition for
      that exists.
      
      This actually makes the ia64 tsk->stack pointer be sensible for the
      initial task, but not for any other task.  As mentioned in commit
      b235beea, that whole pointer isn't actually used on ia64, since
      task_stack_page() there just points to the (single) allocation.
      
      All the other architectures seem to have copied the 'init_stack'
      definition, even if it tended to be generally unusued.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7f1a00b6
    • L
      x86: fix up a few misc stack pointer vs thread_info confusions · aca9c293
      Linus Torvalds 提交于
      As the actual pointer value is the same for the thread stack allocation
      and the thread_info, code that confused the two worked fine, but will
      break when the thread info is moved away from the stack allocation.  It
      also looks very confusing.
      
      For example, the kprobe code wanted to know the current top of stack.
      To do that, it used this:
      
      	(unsigned long)current_thread_info() + THREAD_SIZE
      
      which did indeed give the correct value.  But it's not only a fairly
      nonsensical expression, it's also rather complex, especially since we
      actually have this:
      
      	static inline unsigned long current_top_of_stack(void)
      
      which not only gives us the value we are interested in, but happens to
      be how "current_thread_info()" is currently defined as:
      
      	(struct thread_info *)(current_top_of_stack() - THREAD_SIZE);
      
      so using current_thread_info() to figure out the top of the stack really
      is a very round-about thing to do.
      
      The other cases are just simpler confusion about task_thread_info() vs
      task_stack_page(), which currently return the same pointer - but if you
      want the stack page, you really should be using the latter one.
      
      And there was one entirely unused assignment of the current stack to a
      thread_info pointer.
      
      All cleaned up to make more sense today, and make it easier to move the
      thread_info away from the stack in the future.
      
      No semantic changes.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      aca9c293
    • L
      Clarify naming of thread info/stack allocators · b235beea
      Linus Torvalds 提交于
      We've had the thread info allocated together with the thread stack for
      most architectures for a long time (since the thread_info was split off
      from the task struct), but that is about to change.
      
      But the patches that move the thread info to be off-stack (and a part of
      the task struct instead) made it clear how confused the allocator and
      freeing functions are.
      
      Because the common case was that we share an allocation with the thread
      stack and the thread_info, the two pointers were identical.  That
      identity then meant that we would have things like
      
      	ti = alloc_thread_info_node(tsk, node);
      	...
      	tsk->stack = ti;
      
      which certainly _worked_ (since stack and thread_info have the same
      value), but is rather confusing: why are we assigning a thread_info to
      the stack? And if we move the thread_info away, the "confusing" code
      just gets to be entirely bogus.
      
      So remove all this confusion, and make it clear that we are doing the
      stack allocation by renaming and clarifying the function names to be
      about the stack.  The fact that the thread_info then shares the
      allocation is an implementation detail, and not really about the
      allocation itself.
      
      This is a pure renaming and type fix: we pass in the same pointer, it's
      just that we clarify what the pointer means.
      
      The ia64 code that actually only has one single allocation (for all of
      task_struct, thread_info and kernel thread stack) now looks a bit odd,
      but since "tsk->stack" is actually not even used there, that oddity
      doesn't matter.  It would be a separate thing to clean that up, I
      intentionally left the ia64 changes as a pure brute-force renaming and
      type change.
      Acked-by: NAndy Lutomirski <luto@amacapital.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b235beea
    • R
      Merge branches 'pm-devfreq-fixes' and 'pm-cpufreq-fixes' · e753f305
      Rafael J. Wysocki 提交于
      * pm-devfreq-fixes:
        PM / devfreq: Send the DEVFREQ_POSTCHANGE notification when target() is failed
        PM / devfreq: fix initialization of current frequency in last status
        PM / devfreq: exynos-nocp: Remove incorrect IS_ERR() check
        PM / devfreq: remove double put_device
        PM / devfreq: fix double call put_device
        PM / devfreq: fix duplicated kfree on devfreq pointer
        PM / devfreq: devm_kzalloc to have dev pointer more precisely
      
      * pm-cpufreq-fixes:
        cpufreq: pcc-cpufreq: Fix doorbell.access_width
      e753f305
    • R
      Merge branch 'acpica-fixes' · 2605b981
      Rafael J. Wysocki 提交于
      * acpica-fixes:
        ACPICA: Namespace: Fix deadlock triggered by MLC support in dynamic table loading
      2605b981
    • B
      nfsd: check permissions when setting ACLs · 99965378
      Ben Hutchings 提交于
      Use set_posix_acl, which includes proper permission checks, instead of
      calling ->set_acl directly.  Without this anyone may be able to grant
      themselves permissions to a file by setting the ACL.
      
      Lock the inode to make the new checks atomic with respect to set_acl.
      (Also, nfsd was the only caller of set_acl not locking the inode, so I
      suspect this may fix other races.)
      
      This also simplifies the code, and ensures our ACLs are checked by
      posix_acl_valid.
      
      The permission checks and the inode locking were lost with commit
      4ac7249e, which changed nfsd to use the set_acl inode operation directly
      instead of going through xattr handlers.
      Reported-by: NDavid Sinquin <david@sinquin.eu>
      [agreunba@redhat.com: use set_posix_acl]
      Fixes: 4ac7249e
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: stable@vger.kernel.org
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      99965378
    • A
      posix_acl: Add set_posix_acl · 485e71e8
      Andreas Gruenbacher 提交于
      Factor out part of posix_acl_xattr_set into a common function that takes
      a posix_acl, which nfsd can also call.
      
      The prototype already exists in include/linux/posix_acl.h.
      Signed-off-by: NAndreas Gruenbacher <agruenba@redhat.com>
      Cc: stable@vger.kernel.org
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      485e71e8
  2. 24 6月, 2016 17 次提交
    • J
      xen-pciback: return proper values during BAR sizing · d2bd05d8
      Jan Beulich 提交于
      Reads following writes with all address bits set to 1 should return all
      changeable address bits as one, not the BAR size (nor, as was the case
      for the upper half of 64-bit BARs, the high half of the region's end
      address). Presumably this didn't cause any problems so far because
      consumers use the value to calculate the size (usually via val & -val),
      and do nothing else with it.
      
      But also consider the exception here: Unimplemented BARs should always
      return all zeroes.
      
      And finally, the check for whether to return the sizing address on read
      for the ROM BAR should ignore all non-address bits, not just the ROM
      Enable one.
      Signed-off-by: NJan Beulich <jbeulich@suse.com>
      Reviewed-by: NBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      d2bd05d8
    • S
      HID: hiddev: validate num_values for HIDIOCGUSAGES, HIDIOCSUSAGES commands · 93a2001b
      Scott Bauer 提交于
      This patch validates the num_values parameter from userland during the
      HIDIOCGUSAGES and HIDIOCSUSAGES commands. Previously, if the report id was set
      to HID_REPORT_ID_UNKNOWN, we would fail to validate the num_values parameter
      leading to a heap overflow.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NScott Bauer <sbauer@plzdonthack.me>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      93a2001b
    • L
      Merge tag 'upstream-4.7-rc5' of git://git.infradead.org/linux-ubifs · 63c04ee7
      Linus Torvalds 提交于
      Pull UBI/UBIFS fixes from Richard Weinberger:
       "This contains fixes for two critical bugs in UBI and UBIFS:
      
         - fix the possibility of losing data upon a power cut when UBI tries
           to recover from a write error
      
         - fix page migration on UBIFS.  It turned out that the default page
           migration function is not suitable for UBIFS"
      
      * tag 'upstream-4.7-rc5' of git://git.infradead.org/linux-ubifs:
        UBIFS: Implement ->migratepage()
        mm: Export migrate_page_move_mapping and migrate_page_copy
        ubi: Make recover_peb power cut aware
        gpio: make library immune to error pointers
        gpio: make sure gpiod_to_irq() returns negative on NULL desc
        gpio: 104-idi-48: Fix missing spin_lock_init for ack_lock
      63c04ee7
    • L
      Merge tag 'drm-fixes-for-v4.7-rc5' of git://people.freedesktop.org/~airlied/linux · 0bf0ea43
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "This is the drm fixes tree for 4.7-rc5.
      
        It's a bit larger than normal, due to fixes for production AMD Polaris
        GPUs.  We only merged support for these in 4.7-rc1 so it would be good
        if we got all the fixes into final.  The changes don't hit any other
        hardware.
      
        Other than the amdgpu Polaris changes:
      
         - A single fix for atomic modesetting WARN
         - Nouveau fix for when fbdev is disabled
         - i915 fixes for FBC on Haswell and displayport regression
         - Exynos fix for a display panel regression and some other minor changes
         - Atmel fixes for scaling and OF graph interaction
         - Allwiinner build, warning and probing fixes
         - AMD GPU non-polaris fix for num_rbs and some minor fixes
      
        Also I've just moved house, and my new place is Internet challenged
        due to incompetent incumbent ISPs, hopefully sorted out in a couple of
        weeks, so I might not be too responsive over the next while.  It also
        helps Daniel is on holidays for those couple of weeks as well"
      
      * tag 'drm-fixes-for-v4.7-rc5' of git://people.freedesktop.org/~airlied/linux: (38 commits)
        drm/atomic: Make drm_atomic_legacy_backoff reset crtc->acquire_ctx
        drm/nouveau: fix for disabled fbdev emulation
        drm/i915/fbc: Disable on HSW by default for now
        drm/i915: Revert DisplayPort fast link training feature
        drm/amd/powerplay: enable clock stretch feature for polaris
        drm/amdgpu/gfx8: update golden setting for polaris10
        drm/amd/powerplay: enable avfs feature for polaris
        drm/amdgpu/atombios: add avfs struct for Polaris10/11
        drm/amd/powerplay: add avfs related define for polaris
        drm/amd/powrplay: enable stutter_mode for polaris.
        drm/amd/powerplay: disable UVD SMU handshake for MCLK.
        drm/amd/powerplay: initialize variables which were missed.
        drm/amd/powerplay: enable PowerContainment feature for polaris10/11.
        drm/amd/powerplay: need to notify system bios pcie device ready
        drm/amd/powerplay: fix bug that function parameter was incorect.
        drm/amd/powerplay: fix logic error.
        drm: atmel-hlcdc: Fix OF graph parsing
        drm: atmel-hlcdc: actually disable scaling when no scaling is required
        drm/amdgpu: initialize amdgpu_cgs_acpi_eval_object result value
        drm/amdgpu: precedence bug in amdgpu_device_init()
        ...
      0bf0ea43
    • L
      Merge tag 'pci-v4.7-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 75befb31
      Linus Torvalds 提交于
      Pull PCI fix from Bjorn Helgaas:
       "Here's a small fix for v4.7.  This problem was actually introduced in
        v4.6 when we unified Kconfig, making PCIe support available everywhere
        including sparc, where config reads into unaligned buffers cause
        warnings.  This fix is from Dave Miller.
      
        As a reminder, any future PCI fixes for v4.7 will probably come from
        Alex Williamson, since I'll be on vacation for most of the rest of
        this cycle.  I should be back about the time the merge window opens"
      
      * tag 'pci-v4.7-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: Fix unaligned accesses in VC code
      75befb31
    • M
      drm/atomic: Make drm_atomic_legacy_backoff reset crtc->acquire_ctx · 81e257e9
      Maarten Lankhorst 提交于
      Atomic updates may acquire more state than initially locked through
      drm_modeset_lock_crtc, running with heavy stress can cause a
      WARN_ON(crtc->acquire_ctx) in drm_modeset_lock_crtc:
      
      [  601.491296] ------------[ cut here ]------------
      [  601.491366] WARNING: CPU: 0 PID: 2411 at
      drivers/gpu/drm/drm_modeset_lock.c:191 drm_modeset_lock_crtc+0xeb/0xf0 [drm]
      [  601.491369] Modules linked in: drm i915 drm_kms_helper
      [  601.491414] CPU: 0 PID: 2411 Comm: kms_cursor_lega Tainted: G     U 4.7.0-rc4-patser+ #4798
      [  601.491417] Hardware name: Intel Corporation Skylake Client
      [  601.491420]  0000000000000000 ffff88044d153c98 ffffffff812ead28 0000000000000000
      [  601.491425]  0000000000000000 ffff88044d153cd8 ffffffff810868e6 000000bf58058030
      [  601.491431]  ffff880088b415e8 ffff880458058030 ffff88008a271548 ffff88008a271568
      [  601.491436] Call Trace:
      [  601.491443]  [<ffffffff812ead28>] dump_stack+0x4d/0x65
      [  601.491447]  [<ffffffff810868e6>] __warn+0xc6/0xe0
      [  601.491452]  [<ffffffff81086968>] warn_slowpath_null+0x18/0x20
      [  601.491472]  [<ffffffffc00d4ffb>] drm_modeset_lock_crtc+0xeb/0xf0 [drm]
      [  601.491491]  [<ffffffffc00c5526>] drm_mode_cursor_common+0x66/0x180 [drm]
      [  601.491509]  [<ffffffffc00c91cc>] drm_mode_cursor_ioctl+0x3c/0x40 [drm]
      [  601.491524]  [<ffffffffc00bc94d>] drm_ioctl+0x14d/0x530 [drm]
      [  601.491540]  [<ffffffffc00c9190>] ? drm_mode_setcrtc+0x520/0x520 [drm]
      [  601.491545]  [<ffffffff81176aeb>] ? handle_mm_fault+0x106b/0x1430
      [  601.491550]  [<ffffffff81108441>] ? stop_one_cpu+0x61/0x70
      [  601.491556]  [<ffffffff811bb71d>] do_vfs_ioctl+0x8d/0x570
      [  601.491560]  [<ffffffff81290d7e>] ? security_file_ioctl+0x3e/0x60
      [  601.491565]  [<ffffffff811bbc74>] SyS_ioctl+0x74/0x80
      [  601.491571]  [<ffffffff810e321c>] ? posix_get_monotonic_raw+0xc/0x10
      [  601.491576]  [<ffffffff8175b11b>] entry_SYSCALL_64_fastpath+0x13/0x8f
      [  601.491581] ---[ end trace 56f3d3d85f000d00 ]---
      
      For good measure, test mode_config.acquire_ctx too, although this should
      never happen.
      
      Testcase: kms_cursor_legacy
      Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      81e257e9
    • D
      Merge branch 'drm-fixes-4.7' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · f939a5f4
      Dave Airlie 提交于
      A bit bigger than I would normally like, but most of the large changes are
      for polaris support and since polaris went upstream in 4.7, I'd like
      to get the fixes in so it's in good shape when the hw becomes available.
      The major changes only touch the polaris code so there is little chance
      for regressions on other asics.  The rest are just the usual collection
      of bug fixes.
      
      * 'drm-fixes-4.7' of git://people.freedesktop.org/~agd5f/linux:
        drm/amd/powerplay: enable clock stretch feature for polaris
        drm/amdgpu/gfx8: update golden setting for polaris10
        drm/amd/powerplay: enable avfs feature for polaris
        drm/amdgpu/atombios: add avfs struct for Polaris10/11
        drm/amd/powerplay: add avfs related define for polaris
        drm/amd/powrplay: enable stutter_mode for polaris.
        drm/amd/powerplay: disable UVD SMU handshake for MCLK.
        drm/amd/powerplay: initialize variables which were missed.
        drm/amd/powerplay: enable PowerContainment feature for polaris10/11.
        drm/amd/powerplay: need to notify system bios pcie device ready
        drm/amd/powerplay: fix bug that function parameter was incorect.
        drm/amd/powerplay: fix logic error.
        drm/amdgpu: initialize amdgpu_cgs_acpi_eval_object result value
        drm/amdgpu: precedence bug in amdgpu_device_init()
        drm/amdgpu: fix num_rbs exposed to userspace (v2)
        drm/amdgpu: missing bounds check in amdgpu_set_pp_force_state()
      f939a5f4
    • D
      Merge branch 'exynos-drm-fixes' of... · c65c3de6
      Dave Airlie 提交于
      Merge branch 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-fixes
      
      Since HW trigger mode was suppoted we have faced with a issue
      that Display panel didn't work correctly when trigger mode was changed
      in booting time.
      For this, we keep trigger mode with SW trigger mode in default mode
      like we did before.
      
      However, we will need to consider PSR(Panel Self Reflash) mode to resolve
      this issue fundamentally later.
      
      * 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
        drm/exynos: use logical AND in exynos_drm_plane_check_size()
        drm/exynos: remove superfluous inclusions of fbdev header
        drm/exynos: g2d: drop the _REG postfix from the stride defines
        drm/exynos: don't use HW trigger for Exynos5420/5422/5800
        drm/exynos: fimd: don't set .has_hw_trigger in s3c6400 driver data
        drm/exynos: dp: Fix NULL pointer dereference due uninitialized connector
      c65c3de6
    • D
      Merge tag 'drm-atmel-hlcdc-fixes/for-4.7-rc5' of github.com:bbrezillon/linux-at91 into drm-fixes · 59b0b70f
      Dave Airlie 提交于
      Two bug fixes for the atmel-hlcdc driver.
      
      * tag 'drm-atmel-hlcdc-fixes/for-4.7-rc5' of github.com:bbrezillon/linux-at91:
        drm: atmel-hlcdc: Fix OF graph parsing
        drm: atmel-hlcdc: actually disable scaling when no scaling is required
      59b0b70f
    • D
      Merge tag 'sunxi-drm-fixes-for-4.7' of... · f762bfda
      Dave Airlie 提交于
      Merge tag 'sunxi-drm-fixes-for-4.7' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into drm-fixes
      
      Allwinner sun4i DRM driver fixes
      
      A bunch of fixes that address:
        - Compilation errors in various corner cases
        - Move to helpers
        - Fix the pixel clock computation
        - Fix our panel probe
      
      * tag 'sunxi-drm-fixes-for-4.7' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
        drm: sun4i: do cleanup if RGB output init fails
        drm/sun4i: Convert to connector register helpers
        drm/sun4i: remove simplefb at probe
        drm/sun4i: rgb: panel is an error pointer
        drm/sun4i: defer only if we didn't find our panel
        drm/sun4i: rgb: Validate the clock rate
        drm/sun4i: request exact rates to our parents
        drm: sun4i: fix probe error handling
        drm: sun4i: print DMA address correctly
        drm/sun4i: add COMMON_CLK dependency
      f762bfda
    • D
      Merge tag 'drm-intel-fixes-2016-06-22' of git://anongit.freedesktop.org/drm-intel into drm-fixes · c38e8016
      Dave Airlie 提交于
       Hi Dave, just a couple of display fixes, both stable stuff. Maybe we'll
      be able to enable fbc by default one day.
      
      * tag 'drm-intel-fixes-2016-06-22' of git://anongit.freedesktop.org/drm-intel:
        drm/i915/fbc: Disable on HSW by default for now
        drm/i915: Revert DisplayPort fast link training feature
      c38e8016
    • D
      Merge branch 'linux-4.7' of git://github.com/skeggsb/linux into drm-fixes · 718cc664
      Dave Airlie 提交于
      * 'linux-4.7' of git://github.com/skeggsb/linux:
        drm/nouveau: fix for disabled fbdev emulation
      718cc664
    • D
      drm/nouveau: fix for disabled fbdev emulation · 52dfcc5c
      Dmitrii Tcvetkov 提交于
      Hello,
      
      after this commit:
      
      commit f045f459
      Author: Ben Skeggs <bskeggs@redhat.com>
      Date:   Thu Jun 2 12:23:31 2016 +1000
          drm/nouveau/fbcon: fix out-of-bounds memory accesses
      
      kernel started to oops when loading nouveau module when using GTX 780 Ti
      video adapter. This patch fixes the problem.
      
      Bug report: https://bugzilla.kernel.org/show_bug.cgi?id=120591Signed-off-by: NDmitrii Tcvetkov <demfloro@demfloro.ru>
      Suggested-by: NIlia Mirkin <imirkin@alum.mit.edu>
      Fixes: f045f459 ("nouveau_fbcon_init()")
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      Cc: stable@vger.kernel.org
      52dfcc5c
    • C
      PM / devfreq: Send the DEVFREQ_POSTCHANGE notification when target() is failed · 0d37189e
      Chanwoo Choi 提交于
      This patch sends the DEVFREQ_POSTCHANGE notification when
      devfreq->profile->targer() is failed. The PRECHANGE/POSTCHANGE
      should be paired.
      
      Fixes: 0fe3a664 (PM / devfreq: Add new DEVFREQ_TRANSITION_NOTIFIER notifier)
      Reported-by: NLin Huang <hl@rock-chips.com>
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      0d37189e
    • M
      cpufreq: pcc-cpufreq: Fix doorbell.access_width · 3c67a829
      Mike Galbraith 提交于
      Commit 920de6eb (ACPICA: Hardware: Enhance
      acpi_hw_validate_register() with access_width/bit_offset awareness)
      apparently exposed a latent bug, doorbell.access_width is initialized
      to 64, but per Lv Zheng, it should be 4, and indeed, making that
      change does bring pcc-cpufreq back to life.
      
      Fixes: 920de6eb (ACPICA: Hardware: Enhance acpi_hw_validate_register() with access_width/bit_offset awareness)
      Suggested-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NMike Galbraith <umgwanakikbuti@gmail.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      3c67a829
    • L
      x86: avoid avoid passing around 'thread_info' in stack dumping code · da01e18a
      Linus Torvalds 提交于
      None of the code actually wants a thread_info, it all wants a
      task_struct, and it's just converting to a thread_info pointer much too
      early.
      
      No semantic change.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      da01e18a
    • L
      locking: avoid passing around 'thread_info' in mutex debugging code · 6720a305
      Linus Torvalds 提交于
      None of the code actually wants a thread_info, it all wants a
      task_struct, and it's just converting back and forth between the two
      ("ti->task" to get the task_struct from the thread_info, and
      "task_thread_info(task)" to go the other way).
      
      No semantic change.
      Acked-by: NPeter Zijlstra <peterz@infradead.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6720a305
  3. 23 6月, 2016 9 次提交
    • D
      x86/xen: avoid m2p lookup when setting early page table entries · d6b186c1
      David Vrabel 提交于
      When page tables entries are set using xen_set_pte_init() during early
      boot there is no page fault handler that could handle a fault when
      performing an M2P lookup.
      
      In 64 bit guests (usually dom0) early_ioremap() would fault in
      xen_set_pte_init() because an M2P lookup faults because the MFN is in
      MMIO space and not mapped in the M2P.  This lookup is done to see if
      the PFN in in the range used for the initial page table pages, so that
      the PTE may be set as read-only.
      
      The M2P lookup can be avoided by moving the check (and clear of RW)
      earlier when the PFN is still available.
      Reported-by: NKevin Moraga <kmoragas@riseup.net>
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      Reviewed-by: NBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Reviewed-by: NJuergen Gross <jgross@suse.com>
      d6b186c1
    • P
      hwmon: (dell-smm) Cache fan_type() calls and change fan detection · 5ce91714
      Pali Rohár 提交于
      On more Dell machines (e.g. Dell Precision M3800) fan_type() call is too
      expensive (CPU is too long in SMM mode) and cause kernel to hang. This is
      bug in Dell SMM or BIOS.
      
      This patch caches type for each fan (as it should not change) and changes
      the way how fan presense is detected. First it try function fan_status()
      as was before commit f989e554 ("i8k: Add support for fan labels"). And
      if that fails fallback to fan_type(). *_status() functions can fail in case
      fan is not currently accessible (e.g. present on GPU which is currently
      turned off).
      Reported-by: NTolga Cakir <cevelnet@gmail.com>
      Signed-off-by: NPali Rohár <pali.rohar@gmail.com>
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=112021
      Cc: stable@vger.kernel.org # v4.0+, will need backport
      Tested-by: NTolga Cakir <cevelnet@gmail.com>
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      5ce91714
    • R
      Merge branch 'fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq into pm-devfreq · 492a19ef
      Rafael J. Wysocki 提交于
      Pull devfreq fixes for v4.7 from  MyungJoo Ham.
      
      * 'fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq:
        PM / devfreq: fix initialization of current frequency in last status
        PM / devfreq: exynos-nocp: Remove incorrect IS_ERR() check
        PM / devfreq: remove double put_device
        PM / devfreq: fix double call put_device
        PM / devfreq: fix duplicated kfree on devfreq pointer
        PM / devfreq: devm_kzalloc to have dev pointer more precisely
      492a19ef
    • A
      xen/pciback: Fix conf_space read/write overlap check. · 02ef871e
      Andrey Grodzovsky 提交于
      Current overlap check is evaluating to false a case where a filter
      field is fully contained (proper subset) of a r/w request.  This
      change applies classical overlap check instead to include all the
      scenarios.
      
      More specifically, for (Hilscher GmbH CIFX 50E-DP(M/S)) device driver
      the logic is such that the entire confspace is read and written in 4
      byte chunks. In this case as an example, CACHE_LINE_SIZE,
      LATENCY_TIMER and PCI_BIST are arriving together in one call to
      xen_pcibk_config_write() with offset == 0xc and size == 4.  With the
      exsisting overlap check the LATENCY_TIMER field (offset == 0xd, length
      == 1) is fully contained in the write request and hence is excluded
      from write, which is incorrect.
      Signed-off-by: NAndrey Grodzovsky <andrey2805@gmail.com>
      Reviewed-by: NBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Reviewed-by: NJan Beulich <JBeulich@suse.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      02ef871e
    • J
      x86/xen: fix upper bound of pmd loop in xen_cleanhighmap() · 1cf38741
      Juergen Gross 提交于
      xen_cleanhighmap() is operating on level2_kernel_pgt only. The upper
      bound of the loop setting non-kernel-image entries to zero should not
      exceed the size of level2_kernel_pgt.
      Reported-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NJuergen Gross <jgross@suse.com>
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      1cf38741
    • R
      xen/balloon: Fix declared-but-not-defined warning · 842775f1
      Ross Lagerwall 提交于
      Fix a declared-but-not-defined warning when building with
      XEN_BALLOON_MEMORY_HOTPLUG=n. This fixes a regression introduced by
      commit dfd74a1e ("xen/balloon: Fix crash when ballooning on x86 32
      bit PAE").
      Signed-off-by: NRoss Lagerwall <ross.lagerwall@citrix.com>
      Acked-by: NJuergen Gross <jgross@suse.com>
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      842775f1
    • K
      UBIFS: Implement ->migratepage() · 4ac1c17b
      Kirill A. Shutemov 提交于
      During page migrations UBIFS might get confused
      and the following assert triggers:
      [  213.480000] UBIFS assert failed in ubifs_set_page_dirty at 1451 (pid 436)
      [  213.490000] CPU: 0 PID: 436 Comm: drm-stress-test Not tainted 4.4.4-00176-geaa802524636-dirty #1008
      [  213.490000] Hardware name: Allwinner sun4i/sun5i Families
      [  213.490000] [<c0015e70>] (unwind_backtrace) from [<c0012cdc>] (show_stack+0x10/0x14)
      [  213.490000] [<c0012cdc>] (show_stack) from [<c02ad834>] (dump_stack+0x8c/0xa0)
      [  213.490000] [<c02ad834>] (dump_stack) from [<c0236ee8>] (ubifs_set_page_dirty+0x44/0x50)
      [  213.490000] [<c0236ee8>] (ubifs_set_page_dirty) from [<c00fa0bc>] (try_to_unmap_one+0x10c/0x3a8)
      [  213.490000] [<c00fa0bc>] (try_to_unmap_one) from [<c00fadb4>] (rmap_walk+0xb4/0x290)
      [  213.490000] [<c00fadb4>] (rmap_walk) from [<c00fb1bc>] (try_to_unmap+0x64/0x80)
      [  213.490000] [<c00fb1bc>] (try_to_unmap) from [<c010dc28>] (migrate_pages+0x328/0x7a0)
      [  213.490000] [<c010dc28>] (migrate_pages) from [<c00d0cb0>] (alloc_contig_range+0x168/0x2f4)
      [  213.490000] [<c00d0cb0>] (alloc_contig_range) from [<c010ec00>] (cma_alloc+0x170/0x2c0)
      [  213.490000] [<c010ec00>] (cma_alloc) from [<c001a958>] (__alloc_from_contiguous+0x38/0xd8)
      [  213.490000] [<c001a958>] (__alloc_from_contiguous) from [<c001ad44>] (__dma_alloc+0x23c/0x274)
      [  213.490000] [<c001ad44>] (__dma_alloc) from [<c001ae08>] (arm_dma_alloc+0x54/0x5c)
      [  213.490000] [<c001ae08>] (arm_dma_alloc) from [<c035cecc>] (drm_gem_cma_create+0xb8/0xf0)
      [  213.490000] [<c035cecc>] (drm_gem_cma_create) from [<c035cf20>] (drm_gem_cma_create_with_handle+0x1c/0xe8)
      [  213.490000] [<c035cf20>] (drm_gem_cma_create_with_handle) from [<c035d088>] (drm_gem_cma_dumb_create+0x3c/0x48)
      [  213.490000] [<c035d088>] (drm_gem_cma_dumb_create) from [<c0341ed8>] (drm_ioctl+0x12c/0x444)
      [  213.490000] [<c0341ed8>] (drm_ioctl) from [<c0121adc>] (do_vfs_ioctl+0x3f4/0x614)
      [  213.490000] [<c0121adc>] (do_vfs_ioctl) from [<c0121d30>] (SyS_ioctl+0x34/0x5c)
      [  213.490000] [<c0121d30>] (SyS_ioctl) from [<c000f2c0>] (ret_fast_syscall+0x0/0x34)
      
      UBIFS is using PagePrivate() which can have different meanings across
      filesystems. Therefore the generic page migration code cannot handle this
      case correctly.
      We have to implement our own migration function which basically does a
      plain copy but also duplicates the page private flag.
      UBIFS is not a block device filesystem and cannot use buffer_migrate_page().
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      [rw: Massaged changelog, build fixes, etc...]
      Signed-off-by: NRichard Weinberger <richard@nod.at>
      Acked-by: NChristoph Hellwig <hch@lst.de>
      4ac1c17b
    • R
      mm: Export migrate_page_move_mapping and migrate_page_copy · 1118dce7
      Richard Weinberger 提交于
      Export these symbols such that UBIFS can implement
      ->migratepage.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NRichard Weinberger <richard@nod.at>
      Acked-by: NChristoph Hellwig <hch@lst.de>
      1118dce7
    • R
      ubi: Make recover_peb power cut aware · 972228d8
      Richard Weinberger 提交于
      recover_peb() was never power cut aware,
      if a power cut happened right after writing the VID header
      upon next attach UBI would blindly use the new partial written
      PEB and all data from the old PEB is lost.
      
      In order to make recover_peb() power cut aware, write the new
      VID with a proper crc and copy_flag set such that the UBI attach
      process will detect whether the new PEB is completely written
      or not.
      We cannot directly use ubi_eba_atomic_leb_change() since we'd
      have to unlock the LEB which is facing a write error.
      
      Cc: stable@vger.kernel.org
      Reported-by: NJörg Pfähler <pfaehler@isse.de>
      Reviewed-by: NJörg Pfähler <pfaehler@isse.de>
      Signed-off-by: NRichard Weinberger <richard@nod.at>
      972228d8