1. 12 Oct, 2015 7 commits
  2. 11 Oct, 2015 1 commit
    • Matt Fleming's avatar
      efi: Use the generic efi.memmap instead of 'memmap' · 0ce423b6
      Matt Fleming authored
      Guenter reports that commit:
      
        7bf79311 ("efi, x86: Rearrange efi_mem_attributes()")
      
      breaks the IA64 compilation with the following error:
      
        drivers/built-in.o: In function `efi_mem_attributes': (.text+0xde962): undefined reference to `memmap'
      
      Instead of using the (rather poorly named) global variable
      'memmap' which doesn't exist on IA64, use efi.memmap which
      points to the 'memmap' object on x86 and arm64 and which is NULL
      for IA64.
      
      The fact that efi.memmap is NULL for IA64 is OK because IA64
      provides its own implementation of efi_mem_attributes().
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
      Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: Jonathan Zhang <zjzhang@codeaurora.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Tony Luck <tony.luck@gmail.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Link: http://lkml.kernel.org/r/20151003222607.GA2682@codeblueprint.co.ukSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      0ce423b6
  3. 14 Sep, 2015 2 commits
  4. 08 Aug, 2015 15 commits
  5. 07 Aug, 2015 15 commits
    • Joe Thornber's avatar
      dm btree remove: fix bug in remove_one() · aa0cd28d
      Joe Thornber authored
      remove_one() was not incrementing the key for the beginning of the
      range, so not all entries were being removed.  This resulted in
      discards that were not unmapping all blocks.
      
      Fixes: 4ec331c3 ("dm btree: add dm_btree_remove_leaves()")
      Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      aa0cd28d
    • Daniel Vetter's avatar
      drm/vblank: Use u32 consistently for vblank counters · 209e4dbc
      Daniel Vetter authored
      In
      
      commit 99264a61
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Wed Apr 15 19:34:43 2015 +0200
      
          drm/vblank: Fixup and document timestamp update/read barriers
      
      I've switched vblank->count from atomic_t to unsigned long and
      accidentally created an integer comparison bug in
      drm_vblank_count_and_time since vblanke->count might overflow the u32
      local copy and hence the retry loop never succeed.
      
      Fix this by consistently using u32.
      
      Cc: Michel Dänzer <michel@daenzer.net>
      Reported-by: default avatarMichel Dänzer <michel@daenzer.net>
      Reviewed-by: default avatarThierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      209e4dbc
    • Takashi Iwai's avatar
      Merge tag 'asoc-fix-v4.2-rc5' of... · 6ac7ada2
      Takashi Iwai authored
      Merge tag 'asoc-fix-v4.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
      
      ASoC: Fixes for v4.2
      
      There are a couple of small driver specific fixes here but the
      overwhelming bulk of these changes are fixes to the topology ABI that
      has been newly introduced in v4.2.  Once this makes it into a release we
      will have to firm this up but for now getting enhancements in before
      they've made it into a release is the most expedient thing.
      6ac7ada2
    • Vineet Gupta's avatar
      ARCv2: spinlock/rwlock/atomics: reduce 1 instruction in exponential backoff · 10971638
      Vineet Gupta authored
      The increment of delay counter was 2 instructions:
      Arithmatic Shfit Left (ASL) + set to 1 on overflow
      
      This can be done in 1 using ROtate Left (ROL)
      Suggested-by: default avatarNigel Topham <ntopham@synopsys.com>
      Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      10971638
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 49d7c655
      Linus Torvalds authored
      Pull sparc fix from David Miller:
       "FPU register corruption bug fix"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Fix userspace FPU register corruptions.
      49d7c655
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 8664b90b
      Linus Torvalds authored
      Merge fixes from Andrew Morton:
       "21 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (21 commits)
        writeback: fix initial dirty limit
        mm/memory-failure: set PageHWPoison before migrate_pages()
        mm: check __PG_HWPOISON separately from PAGE_FLAGS_CHECK_AT_*
        mm/memory-failure: give up error handling for non-tail-refcounted thp
        mm/memory-failure: fix race in counting num_poisoned_pages
        mm/memory-failure: unlock_page before put_page
        ipc: use private shmem or hugetlbfs inodes for shm segments.
        mm: initialize hotplugged pages as reserved
        ocfs2: fix shift left overflow
        kthread: export kthread functions
        fsnotify: fix oops in fsnotify_clear_marks_by_group_flags()
        lib/iommu-common.c: do not use 0xffffffffffffffffl for computing align_mask
        mm/slub: allow merging when SLAB_DEBUG_FREE is set
        signalfd: fix information leak in signalfd_copyinfo
        signal: fix information leak in copy_siginfo_to_user
        signal: fix information leak in copy_siginfo_from_user32
        ocfs2: fix BUG in ocfs2_downconvert_thread_do_work()
        fs, file table: reinit files_stat.max_files after deferred memory initialisation
        mm, meminit: replace rwsem with completion
        mm, meminit: allow early_pfn_to_nid to be used during runtime
        ...
      8664b90b
    • David S. Miller's avatar
      sparc64: Fix userspace FPU register corruptions. · 44922150
      David S. Miller authored
      If we have a series of events from userpsace, with %fprs=FPRS_FEF,
      like follows:
      
      ETRAP
      	ETRAP
      		VIS_ENTRY(fprs=0x4)
      		VIS_EXIT
      		RTRAP (kernel FPU restore with fpu_saved=0x4)
      	RTRAP
      
      We will not restore the user registers that were clobbered by the FPU
      using kernel code in the inner-most trap.
      
      Traps allocate FPU save slots in the thread struct, and FPU using
      sequences save the "dirty" FPU registers only.
      
      This works at the initial trap level because all of the registers
      get recorded into the top-level FPU save area, and we'll return
      to userspace with the FPU disabled so that any FPU use by the user
      will take an FPU disabled trap wherein we'll load the registers
      back up properly.
      
      But this is not how trap returns from kernel to kernel operate.
      
      The simplest fix for this bug is to always save all FPU register state
      for anything other than the top-most FPU save area.
      
      Getting rid of the optimized inner-slot FPU saving code ends up
      making VISEntryHalf degenerate into plain VISEntry.
      
      Longer term we need to do something smarter to reinstate the partial
      save optimizations.  Perhaps the fundament error is having trap entry
      and exit allocate FPU save slots and restore register state.  Instead,
      the VISEntry et al. calls should be doing that work.
      
      This bug is about two decades old.
      Reported-by: default avatarJames Y Knight <jyknight@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      44922150
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes-4.2' of git://people.freedesktop.org/~agd5f/linux · a58997e1
      Linus Torvalds authored
      Pull amdgpu fixes from Alex Deucher:
       "Just a few amdgpu fixes to make sure we report the proper firmware
        information and number of render buffers to userspace and a typo in a
        debugging function"
      
      [ Pulling directly from Alex since Dave Airlie is on vacation  - Linus ]
      
      * 'drm-fixes-4.2' of git://people.freedesktop.org/~agd5f/linux:
        drm/amdgpu: set fw_version and feature_version for smu fw loading
        drm/amdgpu: add feature version for SDMA ucode
        drm/amdgpu: add feature version for RLC and MEC v2
        drm/amdgpu: increment queue when iterating on this variable.
        drm/amdgpu: fix rb setting for CZ
      a58997e1
    • Linus Torvalds's avatar
      Merge branch 'drm-tda998x-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · ebc90be6
      Linus Torvalds authored
      Pull TDA998x i2c driver fixes from Russell King:
       "This fixes the double-checksumming of the AVI infoframe which was
        resulting in the checksum always being zero.  It went unnoticed as
        none of my HDMI devices had a problem with this"
      
      [ Pulling directly from rmk since Dave Airlie is on vacation  - Linus ]
      
      * 'drm-tda998x-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        drm/i2c: tda998x: fix bad checksum of the HDMI AVI infoframe
      ebc90be6
    • Rabin Vincent's avatar
      writeback: fix initial dirty limit · a50fcb51
      Rabin Vincent authored
      The initial value of global_wb_domain.dirty_limit set by
      writeback_set_ratelimit() is zeroed out by the memset in
      wb_domain_init().
      Signed-off-by: default avatarRabin Vincent <rabin.vincent@axis.com>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Jens Axboe <axboe@fb.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a50fcb51
    • Naoya Horiguchi's avatar
      mm/memory-failure: set PageHWPoison before migrate_pages() · 4491f712
      Naoya Horiguchi authored
      Now page freeing code doesn't consider PageHWPoison as a bad page, so by
      setting it before completing the page containment, we can prevent the
      error page from being reused just after successful page migration.
      
      I added TTU_IGNORE_HWPOISON for try_to_unmap() to make sure that the
      page table entry is transformed into migration entry, not to hwpoison
      entry.
      Signed-off-by: default avatarNaoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Dean Nelson <dnelson@redhat.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: David Rientjes <rientjes@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4491f712
    • Naoya Horiguchi's avatar
      mm: check __PG_HWPOISON separately from PAGE_FLAGS_CHECK_AT_* · f4c18e6f
      Naoya Horiguchi authored
      The race condition addressed in commit add05cec ("mm: soft-offline:
      don't free target page in successful page migration") was not closed
      completely, because that can happen not only for soft-offline, but also
      for hard-offline.  Consider that a slab page is about to be freed into
      buddy pool, and then an uncorrected memory error hits the page just
      after entering __free_one_page(), then VM_BUG_ON_PAGE(page->flags &
      PAGE_FLAGS_CHECK_AT_PREP) is triggered, despite the fact that it's not
      necessary because the data on the affected page is not consumed.
      
      To solve it, this patch drops __PG_HWPOISON from page flag checks at
      allocation/free time.  I think it's justified because __PG_HWPOISON
      flags is defined to prevent the page from being reused, and setting it
      outside the page's alloc-free cycle is a designed behavior (not a bug.)
      
      For recent months, I was annoyed about BUG_ON when soft-offlined page
      remains on lru cache list for a while, which is avoided by calling
      put_page() instead of putback_lru_page() in page migration's success
      path.  This means that this patch reverts a major change from commit
      add05cec about the new refcounting rule of soft-offlined pages, so
      "reuse window" revives.  This will be closed by a subsequent patch.
      Signed-off-by: default avatarNaoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Dean Nelson <dnelson@redhat.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: David Rientjes <rientjes@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f4c18e6f
    • Naoya Horiguchi's avatar
      mm/memory-failure: give up error handling for non-tail-refcounted thp · 98ed2b00
      Naoya Horiguchi authored
      "non anonymous thp" case is still racy with freeing thp, which causes
      panic due to put_page() for refcount-0 page.  It seems that closing up
      this race might be hard (and/or not worth doing,) so let's give up the
      error handling for this case.
      Signed-off-by: default avatarNaoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Dean Nelson <dnelson@redhat.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: David Rientjes <rientjes@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      98ed2b00
    • Naoya Horiguchi's avatar
      mm/memory-failure: fix race in counting num_poisoned_pages · a209ef09
      Naoya Horiguchi authored
      When memory_failure() is called on a page which are just freed after
      page migration from soft offlining, the counter num_poisoned_pages is
      raised twi= ce.  So let's fix it with using TestSetPageHWPoison.
      Signed-off-by: default avatarNaoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Dean Nelson <dnelson@redhat.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: David Rientjes <rientjes@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a209ef09
    • Naoya Horiguchi's avatar
      mm/memory-failure: unlock_page before put_page · a09233f3
      Naoya Horiguchi authored
      Recently I addressed a few of hwpoison race problems and the patches are
      merged on v4.2-rc1.  It made progress, but unfortunately some problems
      still remain due to less coverage of my testing.  So I'm trying to fix
      or avoid them in this series.
      
      One point I'm expecting to discuss is that patch 4/5 changes the page
      flag set to be checked on free time.  In current behavior, __PG_HWPOISON
      is not supposed to be set when the page is freed.  I think that there is
      no strong reason for this behavior, and it causes a problem hard to fix
      only in error handler side (because __PG_HWPOISON could be set at
      arbitrary timing.) So I suggest to change it.
      
      With this patchset, hwpoison stress testing in official mce-test
      testsuite (which previously failed) passes.
      
      This patch (of 5):
      
      In "just unpoisoned" path, we do put_page and then unlock_page, which is
      a wrong order and causes "freeing locked page" bug.  So let's fix it.
      Signed-off-by: default avatarNaoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Dean Nelson <dnelson@redhat.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Hugh Dickins <hughd@google.com>
      Acked-by: default avatarDavid Rientjes <rientjes@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a09233f3