1. 30 Dec, 2014 1 commit
    • Tomi Valkeinen's avatar
      video/fbdev: fix defio's fsync · 30ea9c52
      Tomi Valkeinen authored
      fb_deferred_io_fsync() returns the value of schedule_delayed_work() as
      an error code, but schedule_delayed_work() does not return an error. It
      returns true/false depending on whether the work was already queued.
      
      Fix this by ignoring the return value of schedule_delayed_work().
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: stable@vger.kernel.org
      30ea9c52
  2. 29 Dec, 2014 4 commits
  3. 28 Dec, 2014 4 commits
  4. 27 Dec, 2014 4 commits
  5. 26 Dec, 2014 5 commits
    • Linus Torvalds's avatar
      Merge branch 'parisc-3.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 58628a78
      Linus Torvalds authored
      Pull parisc build fix from Helge Deller:
       "This unbreaks the kernel compilation on parisc with gcc-4.9"
      
      * 'parisc-3.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: fix out-of-register compiler error in ldcw inline assembler function
      58628a78
    • John David Anglin's avatar
      parisc: fix out-of-register compiler error in ldcw inline assembler function · 45db0738
      John David Anglin authored
      The __ldcw macro has a problem when its argument needs to be reloaded from
      memory. The output memory operand and the input register operand both need to
      be reloaded using a register in class R1_REGS when generating 64-bit code.
      This fails because there's only a single register in the class. Instead, use a
      memory clobber. This also makes the __ldcw macro a compiler memory barrier.
      Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Cc: <stable@vger.kernel.org>        [3.13+]
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      45db0738
    • Libin Yang's avatar
      ALSA: hda_intel: apply the Seperate stream_tag for Skylake · d6795827
      Libin Yang authored
      The total stream number of Skylake's input and output stream
      exceeds 15, which will cause some streams do not work because
      of the overflow on SDxCTL.STRM field if using the legacy
      stream tag allocation method.
      
      This patch uses the new stream tag allocation method by add
      the flag AZX_DCAPS_SEPARATE_STREAM_TAG for Skylake platform.
      Signed-off-by: default avatarLibin Yang <libin.yang@intel.com>
      Reviewed-by: default avatarVinod Koul <vinod.koul@intel.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d6795827
    • Rafal Redzimski's avatar
      ALSA: hda_controller: Separate stream_tag for input and output streams. · 93e3423e
      Rafal Redzimski authored
      Implemented separate stream_tag assignment for input and output streams.
      According to hda specification stream tag must be unique throughout the
      input streams group, however an output stream might use a stream tag
      which is already in use by an input stream. This change is necessary
      to support HW which provides a total of more than 15 stream DMA engines
      which with legacy implementation causes an overflow on SDxCTL.STRM
      field (and the whole SDxCTL register) and as a result usage of
      Reserved value 0 in the SDxCTL.STRM field which confuses HDA controller.
      Signed-off-by: default avatarRafal Redzimski <rafal.f.redzimski@intel.com>
      Signed-off-by: default avatarJayachandran B <jayachandran.b@intel.com>
      Signed-off-by: default avatarLibin Yang <libin.yang@intel.com>
      Reviewed-by: default avatarVinod Koul <vinod.koul@intel.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      93e3423e
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 08b022a9
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Xmas fixes pull:
      
        core:
            one atomic fix, revert the WARN_ON dumb buffers patch.
      
        agp:
            fixup Dave J.
      
        nouveau:
            fix 3.18 regression for old userspace
      
        tegra fixes:
            vblank and iommu fixes
      
        amdkfd:
            fix bugs shown by testing with userspace, init apertures once
      
        msm:
            hdmi fixes and cleanup
      
        i915:
            misc fixes
      
        There is also a link ordering fix that I've asked to be cc'ed to you,
        putting iommu before gpu, it fixes an issue with amdkfd when things
        are all in the kernel, but I didn't like sending it via my tree
        without discussion.
      
        I'll probably be a bit on/off for a few weeks with pulls now, due to
        holidays and LCA, so don't be surprised if stuff gets a bit backed up,
        and things end up a bit large due to lag"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (28 commits)
        Revert "drm/gem: Warn on illegal use of the dumb buffer interface v2"
        agp: Fix up email address & attributions in AGP MODULE_AUTHOR tags
        nouveau: bring back legacy mmap handler
        drm/msm/hdmi: rework HDMI IRQ handler
        drm/msm/hdmi: enable regulators before clocks to avoid warnings
        drm/msm/mdp5: update irqs on crtc<->encoder link change
        drm/msm: block incoming update on pending updates
        drm/atomic: fix potential null ptr on plane enable
        drm/msm: Deletion of unnecessary checks before the function call "release_firmware"
        drm/msm: Deletion of unnecessary checks before two function calls
        drm/tegra: dc: Select root window for event dispatch
        drm/tegra: gem: Use the proper size for GEM objects
        drm/tegra: gem: Flush buffer objects upon allocation
        drm/tegra: dc: Fix a potential race on page-flip completion
        drm/tegra: dc: Consistently use the same pipe
        drm/irq: Add drm_crtc_vblank_count()
        drm/irq: Add drm_crtc_handle_vblank()
        drm/irq: Add drm_crtc_send_vblank_event()
        drm/i915: Disable PSMI sleep messages on all rings around context switches
        drm/i915: Force the CS stall for invalidate flushes
        ...
      08b022a9
  6. 25 Dec, 2014 1 commit
  7. 24 Dec, 2014 3 commits
  8. 23 Dec, 2014 6 commits
    • Richard Guy Briggs's avatar
      audit: restore AUDIT_LOGINUID unset ABI · 041d7b98
      Richard Guy Briggs authored
      A regression was caused by commit 780a7654:
      	 audit: Make testing for a valid loginuid explicit.
      (which in turn attempted to fix a regression caused by e1760bd5)
      
      When audit_krule_to_data() fills in the rules to get a listing, there was a
      missing clause to convert back from AUDIT_LOGINUID_SET to AUDIT_LOGINUID.
      
      This broke userspace by not returning the same information that was sent and
      expected.
      
      The rule:
      	auditctl -a exit,never -F auid=-1
      gives:
      	auditctl -l
      		LIST_RULES: exit,never f24=0 syscall=all
      when it should give:
      		LIST_RULES: exit,never auid=-1 (0xffffffff) syscall=all
      
      Tag it so that it is reported the same way it was set.  Create a new
      private flags audit_krule field (pflags) to store it that won't interact with
      the public one from the API.
      
      Cc: stable@vger.kernel.org # v3.10-rc1+
      Signed-off-by: default avatarRichard Guy Briggs <rgb@redhat.com>
      Signed-off-by: default avatarPaul Moore <pmoore@redhat.com>
      041d7b98
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 53262d12
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
       - __cpu_suspend mm switching fix after warm boot
       - arch_setup_dma_ops implementation
       - pgd_page compilation error fix
       - defconfig updates
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: mm: Add pgd_page to support RCU fast_gup
        arm64: defconfig: defconfig update for 3.19
        arm64: kernel: fix __cpu_suspend mm switch on warm-boot
        arm64: Replace set_arch_dma_coherent_ops with arch_setup_dma_ops
      53262d12
    • Jungseok Lee's avatar
      arm64: mm: Add pgd_page to support RCU fast_gup · 5d96e0cb
      Jungseok Lee authored
      This patch adds pgd_page definition in order to keep supporting
      HAVE_GENERIC_RCU_GUP configuration. In addition, it changes pud_page
      expression to align with pmd_page for readability.
      
      An introduction of pgd_page resolves the following build breakage
      under 4KB + 4Level memory management combo.
      
      mm/gup.c: In function 'gup_huge_pgd':
      mm/gup.c:889:2: error: implicit declaration of function 'pgd_page' [-Werror=implicit-function-declaration]
        head = pgd_page(orig);
        ^
      mm/gup.c:889:7: warning: assignment makes pointer from integer without a cast
        head = pgd_page(orig);
      
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Steve Capper <steve.capper@linaro.org>
      Signed-off-by: default avatarJungseok Lee <jungseoklee85@gmail.com>
      [catalin.marinas@arm.com: remove duplicate pmd_page definition]
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      5d96e0cb
    • Will Deacon's avatar
      arm64: defconfig: defconfig update for 3.19 · f7bf130e
      Will Deacon authored
      The usual defconfig tweaks, this time:
      
        - FHANDLE and AUTOFS4_FS to keep systemd happy
        - PID_NS, QUOTA and KEYS to keep LTP happy
        - Disable DEBUG_PREEMPT, as this *really* hurts performance
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      f7bf130e
    • Lorenzo Pieralisi's avatar
      arm64: kernel: fix __cpu_suspend mm switch on warm-boot · f43c2718
      Lorenzo Pieralisi authored
      On arm64 the TTBR0_EL1 register is set to either the reserved TTBR0
      page tables on boot or to the active_mm mappings belonging to user space
      processes, it must never be set to swapper_pg_dir page tables mappings.
      
      When a CPU is booted its active_mm is set to init_mm even though its
      TTBR0_EL1 points at the reserved TTBR0 page mappings. This implies
      that when __cpu_suspend is triggered the active_mm can point at
      init_mm even if the current TTBR0_EL1 register contains the reserved
      TTBR0_EL1 mappings.
      
      Therefore, the mm save and restore executed in __cpu_suspend might
      turn out to be erroneous in that, if the current->active_mm corresponds
      to init_mm, on resume from low power it ends up restoring in the
      TTBR0_EL1 the init_mm mappings that are global and can cause speculation
      of TLB entries which end up being propagated to user space.
      
      This patch fixes the issue by checking the active_mm pointer before
      restoring the TTBR0 mappings. If the current active_mm == &init_mm,
      the code sets the TTBR0_EL1 to the reserved TTBR0 mapping instead of
      switching back to the active_mm, which is the expected behaviour
      corresponding to the TTBR0_EL1 settings when __cpu_suspend was entered.
      
      Fixes: 95322526 ("arm64: kernel: cpu_{suspend/resume} implementation")
      Cc: <stable@vger.kernel.org> # 3.14+: 18ab7db6
      Cc: <stable@vger.kernel.org> # 3.14+: 714f5992
      Cc: <stable@vger.kernel.org> # 3.14+: c3684fbb
      Cc: <stable@vger.kernel.org> # 3.14+
      Cc: Will Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      f43c2718
    • Dave Jones's avatar
      agp: Fix up email address & attributions in AGP MODULE_AUTHOR tags · bd8136d3
      Dave Jones authored
      - Remove soon-to-be-dead @redhat address.
      - Jeff Hartmann wrote the bulk of the original backend code, and should
        at least get a mention in the MODULE_AUTHOR for backend.o
      - Various people at Intel have done a lot more work than myself on the
        intel-* drivers, so again, mention that.
      Signed-off-by: default avatarDave Jones <davej@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      bd8136d3
  9. 22 Dec, 2014 9 commits
    • Linus Torvalds's avatar
      Merge tag 'dm-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · aa39477b
      Linus Torvalds authored
      Pull device mapper fixes from Mike Snitzer:
       "Thre stable fixes and one fix for a regression introduced during 3.19
        merge:
      
         - Fix inability to discard used space when the thin-pool target is in
           out-of-data-space mode and also transition the thin-pool back to
           write mode once free space is made available.
      
         - Fix DM core bio-based end_io bug that prevented proper
           post-processing of the error code returned from the block layer.
      
         - Fix crash in DM thin-pool due to thin device being added to the
           pool's active_thins list before properly initializing the thin
           device's refcount"
      
      * tag 'dm-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm: fix missed error code if .end_io isn't implemented by target_type
        dm thin: fix crash by initializing thin device's refcount and completion earlier
        dm thin: fix missing out-of-data-space to write mode transition if blocks are released
        dm thin: fix inability to discard blocks when in out-of-data-space mode
      aa39477b
    • Kirill A. Shutemov's avatar
      Revert "mm/memory.c: share the i_mmap_rwsem" · 48ec833b
      Kirill A. Shutemov authored
      This reverts commit c8475d14.
      
      There are several[1][2] of bug reports which points to this commit as potential
      cause[3].
      
      Let's revert it until we figure out what's going on.
      
      [1] https://lkml.org/lkml/2014/11/14/342
      [2] https://lkml.org/lkml/2014/12/22/213
      [3] https://lkml.org/lkml/2014/12/9/741Signed-off-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Reported-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Acked-by: default avatarDavidlohr Bueso <dave@stgolabs.net>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      48ec833b
    • Dave Airlie's avatar
      Merge tag 'drm/tegra/for-3.19-rc1-fixes' of git://people.freedesktop.org/~tagr/linux into drm-fixes · fc556fb6
      Dave Airlie authored
      drm/tegra: Fixes for v3.19-rc1
      
      This is a set of fixes for two regressions and one bug in the IOMMU
      mapping code. It turns out that all of these issues turn up primarily
      on Tegra30 hardware. The IOMMU mapping bug only manifests on buffers
      that aren't multiples of the page size. I happened to be testing HDMI
      with 1080p while writing the code and framebuffers for that happen to
      fit exactly within 2025 pages of 4 KiB each.
      
      One of the regressions is caused by the IOMMU code allocating pages from
      shmem which can have associated cache lines. If the pages aren't flushed
      then these cache lines may be flushed later on and cause framebuffer
      corruption. I'm not sure why I didn't see this before. Perhaps the board
      that I was using had enough RAM so that the pages shmem would hand out
      had a better chance of being unused. Or maybe I didn't look too closely.
      The fix for this is to fake up an SG table so that it can be passed to
      the DMA API. Ideally this would use drm_clflush_*(), but implementing
      that for ARM causes DRM to fail to build as a module since some of the
      low-level cache maintenance functions aren't exported. Hopefully we can
      get a suitable API exported on ARM for the next release.
      
      The second regression is caused by a mismatch between the hardware pipe
      number and the CRTC's DRM index. These were used inconsistently, which
      could cause one code location to call drm_vblank_get() with a different
      pipe than the corresponding drm_vblank_put(), thereby causing the
      reference count to become unbalanced. Alexandre also reported a possible
      race condition related to this, which this series also fixes.
      
      * tag 'drm/tegra/for-3.19-rc1-fixes' of git://people.freedesktop.org/~tagr/linux:
        drm/tegra: dc: Select root window for event dispatch
        drm/tegra: gem: Use the proper size for GEM objects
        drm/tegra: gem: Flush buffer objects upon allocation
        drm/tegra: dc: Fix a potential race on page-flip completion
        drm/tegra: dc: Consistently use the same pipe
        drm/irq: Add drm_crtc_vblank_count()
        drm/irq: Add drm_crtc_handle_vblank()
        drm/irq: Add drm_crtc_send_vblank_event()
      fc556fb6
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-fixes-2014-12-17' of... · a548a838
      Dave Airlie authored
      Merge tag 'drm-intel-next-fixes-2014-12-17' of git://anongit.freedesktop.org/drm-intel into drm-fixes
      
      misc i915 fixes.
      
      * tag 'drm-intel-next-fixes-2014-12-17' of git://anongit.freedesktop.org/drm-intel:
        drm/i915: Disable PSMI sleep messages on all rings around context switches
        drm/i915: Force the CS stall for invalidate flushes
        drm/i915: Invalidate media caches on gen7
        drm/i915: sanitize RPS resetting during GPU reset
        drm/i915: move RPS PM_IER enabling to gen6_enable_rps_interrupts
        drm/i915: vlv: fix IRQ masking when uninstalling interrupts
      a548a838
    • Dave Airlie's avatar
      Merge tag 'topic/atomic-fixes-2014-12-17' of git://anongit.freedesktop.org/drm-intel into drm-fixes · 2e33054e
      Dave Airlie authored
      Yeah a pull for one patch is a bit overkill but I started to assemble the
      various patches for 3.20 in a branch for atomic props/ioctl and didn't
      realize that this bugfix here at the beginnning of the branch should be in
      3.19 (because msm is using the helpers arleady). So if you'd merge we'd
      have it twice or or I need to shuffle branches again. Can do if you want.
      
      * tag 'topic/atomic-fixes-2014-12-17' of git://anongit.freedesktop.org/drm-intel:
        drm/atomic: fix potential null ptr on plane enable
      2e33054e
    • Dave Airlie's avatar
      Merge branch 'msm-fixes-3.19' of git://people.freedesktop.org/~robclark/linux into drm-fixes · 955f6be8
      Dave Airlie authored
      A few msm fixes for 3.19:
       * hdmi regulators fix
       * hdmi fix for spurious HPD interrupts
       * fix for sync atomic update after async update (which could show
         up with a setcrtc following a pageflip)
       * couple little Coccinelle cleanups
      
      * 'msm-fixes-3.19' of git://people.freedesktop.org/~robclark/linux:
        drm/msm/hdmi: rework HDMI IRQ handler
        drm/msm/hdmi: enable regulators before clocks to avoid warnings
        drm/msm/mdp5: update irqs on crtc<->encoder link change
        drm/msm: block incoming update on pending updates
        drm/msm: Deletion of unnecessary checks before the function call "release_firmware"
        drm/msm: Deletion of unnecessary checks before two function calls
      955f6be8
    • Dave Airlie's avatar
      nouveau: bring back legacy mmap handler · 2036eaa7
      Dave Airlie authored
      nouveau userspace back at 1.0.1 used to call the X server
      DRIOpenDRMMaster interface even for DRI2 (doh!), this attempts
      to map the sarea and fails if it can't.
      
      Since 884c6dab from Daniel,
      this fails, but only ancient drivers would see it.
      
      Revert the nouveau bits of that fix.
      Acked-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: <stable@vger.kernel.org>  # 3.18
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      2036eaa7
    • Paul Moore's avatar
      audit: correctly record file names with different path name types · 4a928436
      Paul Moore authored
      There is a problem with the audit system when multiple audit records
      are created for the same path, each with a different path name type.
      The root cause of the problem is in __audit_inode() when an exact
      match (both the path name and path name type) is not found for a
      path name record; the existing code creates a new path name record,
      but it never sets the path name in this record, leaving it NULL.
      This patch corrects this problem by assigning the path name to these
      newly created records.
      
      There are many ways to reproduce this problem, but one of the
      easiest is the following (assuming auditd is running):
      
        # mkdir /root/tmp/test
        # touch /root/tmp/test/567
        # auditctl -a always,exit -F dir=/root/tmp/test
        # touch /root/tmp/test/567
      
      Afterwards, or while the commands above are running, check the audit
      log and pay special attention to the PATH records.  A faulty kernel
      will display something like the following for the file creation:
      
        type=SYSCALL msg=audit(1416957442.025:93): arch=c000003e syscall=2
          success=yes exit=3 ... comm="touch" exe="/usr/bin/touch"
        type=CWD msg=audit(1416957442.025:93):  cwd="/root/tmp"
        type=PATH msg=audit(1416957442.025:93): item=0 name="test/"
          inode=401409 ... nametype=PARENT
        type=PATH msg=audit(1416957442.025:93): item=1 name=(null)
          inode=393804 ... nametype=NORMAL
        type=PATH msg=audit(1416957442.025:93): item=2 name=(null)
          inode=393804 ... nametype=NORMAL
      
      While a patched kernel will show the following:
      
        type=SYSCALL msg=audit(1416955786.566:89): arch=c000003e syscall=2
          success=yes exit=3 ... comm="touch" exe="/usr/bin/touch"
        type=CWD msg=audit(1416955786.566:89):  cwd="/root/tmp"
        type=PATH msg=audit(1416955786.566:89): item=0 name="test/"
          inode=401409 ... nametype=PARENT
        type=PATH msg=audit(1416955786.566:89): item=1 name="test/567"
          inode=393804 ... nametype=NORMAL
      
      This issue was brought up by a number of people, but special credit
      should go to hujianyang@huawei.com for reporting the problem along
      with an explanation of the problem and a patch.  While the original
      patch did have some problems (see the archive link below), it did
      demonstrate the problem and helped kickstart the fix presented here.
      
        * https://lkml.org/lkml/2014/9/5/66Reported-by: default avatarhujianyang <hujianyang@huawei.com>
      Signed-off-by: default avatarPaul Moore <pmoore@redhat.com>
      Acked-by: default avatarRichard Guy Briggs <rgb@redhat.com>
      4a928436
    • Catalin Marinas's avatar
      arm64: Replace set_arch_dma_coherent_ops with arch_setup_dma_ops · 31dde116
      Catalin Marinas authored
      Commit a3a60f81 (dma-mapping: replace set_arch_dma_coherent_ops with
      arch_setup_dma_ops) changes the of_dma_configure() arch dma_ops callback
      to arch_setup_dma_ops but only the arch/arm code is updated. Subsequent
      commit 97890ba9 (dma-mapping: detect and configure IOMMU in
      of_dma_configure) changes the arch_setup_dma_ops() prototype further to
      handle iommu. The patch makes the corresponding arm64 changes.
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Reported-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarWill Deacon <will.deacon@arm.com>
      31dde116
  10. 21 Dec, 2014 3 commits