Skip to content
  1. Jul 24, 2015
  2. Jul 20, 2015
    • Linus Torvalds's avatar
      Linux 4.2-rc3 · 52721d9d
      Linus Torvalds authored
      v4.2-rc3
      52721d9d
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · fdbd55fd
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Two fairly simple fixes: one is a change that causes us to have a very
        low queue depth leading to performance issues and the other is a null
        deref occasionally in tapes thanks to use after put"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: fix host max depth checking for the 'queue_depth' sysfs interface
        st: null pointer dereference panic caused by use after kref_put by st_open
      fdbd55fd
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 8bff8399
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "Another round of MIPS fixes for 4.2.
      
        Things are looking quite decent at this stage but the recent work on
        the FPU support took its toll:
      
         - fix an incorrect overly restrictive ifdef
      
         - select O32 64-bit FP support for O32 binary compatibility
      
         - remove workarounds for Sibyte SB1250 Pass1 parts.  There are rare
           fixing the workarounds is not worth the effort.
      
         - patch up an outdated and now incorrect comment"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: fpu.h: Allow 64-bit FPU on a 64-bit MIPS R6 CPU
        MIPS: SB1: Remove support for Pass 1 parts.
        MIPS: Require O32 FP64 support for MIPS64 with O32 compat
        MIPS: asm-offset.c: Patch up various comments refering to the old filename.
      8bff8399
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · ff72bf7a
      Linus Torvalds authored
      Pull parisc fix from Helge Deller:
       "A memory leak fix from Christophe Jaillet which was introduced with
        kernel 4.0 and which leads to kernel crashes on parisc after 1-3 days"
      
      * 'parisc-4.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: mm: Fix a memory leak related to pmd not attached to the pgd
      ff72bf7a
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 10b97f38
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "By far most of the fixes here are updates to DTS files to deal with
        some mostly minor bugs.
      
        There's also a fix to deal with non-PM kernel configs on i.MX, a
        regression fix for ethernet on PXA platforms and a dependency fix for
        OMAP"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: keystone: dts: rename pcie nodes to help override status
        ARM: keystone: dts: fix dt bindings for PCIe
        ARM: pxa: fix dm9000 platform data regression
        ARM: dts: Correct audio input route & set mic bias for am335x-pepper
        ARM: OMAP2+: Add HAVE_ARM_SCU for AM43XX
        MAINTAINERS: digicolor: add dts files
        ARM: ux500: fix MMC/SD card regression
        ARM: ux500: define serial port aliases
        ARM: dts: OMAP5: Add #iommu-cells property to IOMMUs
        ARM: dts: OMAP4: Add #iommu-cells property to IOMMUs
        ARM: dts: Fix frequency scaling on Gumstix Pepper
        ARM: dts: configure regulators for Gumstix Pepper
        ARM: dts: omap3: overo: Update LCD panel names
        ARM: dts: cros-ec-keyboard: Add support for some Japanese keys
        ARM: imx6: gpc: always enable PU domain if CONFIG_PM is not set
        ARM: dts: imx53-qsb: fix TVE entry
        ARM: dts: mx23: fix iio-hwmon support
        ARM: dts: imx27: Adjust the GPT compatible string
        ARM: socfpga: dts: Fix entries order
        ARM: socfpga: dts: Fix adxl34x formating and compatible string
      10b97f38
  3. Jul 19, 2015
    • Markos Chandras's avatar
      MIPS: fpu.h: Allow 64-bit FPU on a 64-bit MIPS R6 CPU · fcc53b5f
      Markos Chandras authored
      Commit 6134d949
      
       ("MIPS: asm: fpu: Allow 64-bit FPU on MIPS32 R6")
      added support for 64-bit FPU on a 32-bit MIPS R6 processor but it missed
      the 64-bit CPU case leading to FPU failures when requesting FR=1 mode
      (which is always the case for MIPS R6 userland) when running a 32-bit
      kernel on a 64-bit CPU. We also fix the MIPS R2 case.
      
      Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
      Fixes: 6134d949
      
       ("MIPS: asm: fpu: Allow 64-bit FPU on MIPS32 R6")
      Reviewed-by: default avatarPaul Burton <paul.burton@imgtec.com>
      Cc: <stable@vger.kernel.org> # 4.0+
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/10734/
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      fcc53b5f
    • Christophe Jaillet's avatar
      parisc: mm: Fix a memory leak related to pmd not attached to the pgd · 4c4ac9a4
      Christophe Jaillet authored
      Commit 0e0da48d
      
       ("parisc: mm: don't count preallocated pmds")
      introduced a memory leak.
      
      After this commit, the 'return' statement in pmd_free is executed in all
      cases. Even for pmd that are not attached to the pgd.  So 'free_pages'
      can never be called anymore, leading to a memory leak.
      
      Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Acked-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Acked-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Acked-by: default avatarHelge Deller <deller@gmx.de>
      Cc: stable@vger.kernel.org  # v4.0+
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      4c4ac9a4
    • Olof Johansson's avatar
      Merge tag 'pxa-fixes-v4.2-rc2' of https://github.com/rjarzmik/linux into fixesD · 3eae03da
      Olof Johansson authored
      Merge "pxa fixes for v4.2" from Robert Jarzmik:
      
      ARM: pxa: fixes for v4.2-rc2
      
      This single fix reenables ethernet cards for several pxa boards,
      broken by regulator addition to dm9000 driver.
      
      * tag 'pxa-fixes-v4.2-rc2' of https://github.com/rjarzmik/linux:
        ARM: pxa: fix dm9000 platform data regression
      3eae03da
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 9d37e667
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "A small set of ARM fixes for -rc3, most of them not far off
        one-liners, with the exception of fixing the V7 cache invalidation for
        incoming SMP processors which was causing problems for SoCFPGA
        devices"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: fix __virt_to_idmap build error on !MMU
        ARM: invalidate L1 before enabling coherency
        ARM: 8404/1: dma-mapping: fix off-by-one error in bitmap size check
        ARM: 8402/1: perf: Don't use of_node after putting it
        ARM: 8400/1: use virt_to_idmap to get phys_reset address
      9d37e667
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0e1dbccd
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "Two families of fixes:
      
         - Fix an FPU context related boot crash on newer x86 hardware with
           larger context sizes than what most people test.  To fix this
           without ugly kludges or extensive reverts we had to touch core task
           allocator, to allow x86 to determine the task size dynamically, at
           boot time.
      
           I've tested it on a number of x86 platforms, and I cross-built it
           to a handful of architectures:
      
                                              (warns)               (warns)
             testing     x86-64:  -git:  pass (    0),  -tip:  pass (    0)
             testing     x86-32:  -git:  pass (    0),  -tip:  pass (    0)
             testing        arm:  -git:  pass ( 1359),  -tip:  pass ( 1359)
             testing       cris:  -git:  pass ( 1031),  -tip:  pass ( 1031)
             testing       m32r:  -git:  pass ( 1135),  -tip:  pass ( 1135)
             testing       m68k:  -git:  pass ( 1471),  -tip:  pass ( 1471)
             testing       mips:  -git:  pass ( 1162),  -tip:  pass ( 1162)
             testing    mn10300:  -git:  pass ( 1058),  -tip:  pass ( 1058)
             testing     parisc:  -git:  pass ( 1846),  -tip:  pass ( 1846)
             testing      sparc:  -git:  pass ( 1185),  -tip:  pass ( 1185)
      
           ... so I hope the cross-arch impact 'none', as intended.
      
           (by Dave Hansen)
      
         - Fix various NMI handling related bugs unearthed by the big asm code
           rewrite and generally make the NMI code more robust and more
           maintainable while at it.  These changes are a bit late in the
           cycle, I hope they are still acceptable.
      
           (by Andy Lutomirski)"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu, sched: Introduce CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT and use it on x86
        x86/fpu, sched: Dynamically allocate 'struct fpu'
        x86/entry/64, x86/nmi/64: Add CONFIG_DEBUG_ENTRY NMI testing code
        x86/nmi/64: Make the "NMI executing" variable more consistent
        x86/nmi/64: Minor asm simplification
        x86/nmi/64: Use DF to avoid userspace RSP confusing nested NMI detection
        x86/nmi/64: Reorder nested NMI checks
        x86/nmi/64: Improve nested NMI comments
        x86/nmi/64: Switch stacks on userspace NMI entry
        x86/nmi/64: Remove asm code that saves CR2
        x86/nmi: Enable nested do_nmi() handling for 64-bit kernels
      0e1dbccd
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dae57fb6
      Linus Torvalds authored
      Pull timer fix from Ingo Molnar:
       "Fix for a misplaced export that can cause build failures in certain
        (rare) Kconfig situations"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tick: Move the export of tick_broadcast_oneshot_control to the proper place
      dae57fb6
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d65b78f5
      Linus Torvalds authored
      Pull scheduler fix from Ingo Molnar:
       "A oneliner rq throttling fix"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/fair: Test list head instead of list entry in throttle_cfs_rq()
      d65b78f5
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f79a17bf
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "Mostly tooling fixes, plus a static key fix fixing /sys/devices/cpu/rdpmc"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf tools: Really allow to specify custom CC, AR or LD
        perf auxtrace: Fix misplaced check for HAVE_SYNC_COMPARE_AND_SWAP_SUPPORT
        perf hists browser: Take the --comm, --dsos, etc filters into account
        perf symbols: Store if there is a filter in place
        x86, perf: Fix static_key bug in load_mm_cr4()
        tools: Copy lib/hweight.c from the kernel sources
        perf tools: Fix the detached tarball wrt rbtree copy
        perf thread_map: Fix the sizeof() calculation for map entries
        tools lib: Improve clean target
        perf stat: Fix shadow declaration of close
        perf tools: Fix lockup using 32-bit compat vdso
      f79a17bf
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 59ee7621
      Linus Torvalds authored
      Pull irq fixes from Ingo Molnar:
       "Misc irq fixes:
      
         - two driver fixes
         - a Xen regression fix
         - a nested irq thread crash fix"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/gicv3-its: Fix mapping of LPIs to collections
        genirq: Prevent resend to interrupts marked IRQ_NESTED_THREAD
        genirq: Revert sparse irq locking around __cpu_up() and move it to x86 for now
        gpio/davinci: Fix race in installing chained irq handler
      59ee7621
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 3a26a5b1
      Linus Torvalds authored
      Merge fixes from Andrew Morton:
       "25 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (25 commits)
        lib/decompress: set the compressor name to NULL on error
        mm/cma_debug: correct size input to bitmap function
        mm/cma_debug: fix debugging alloc/free interface
        mm/page_owner: set correct gfp_mask on page_owner
        mm/page_owner: fix possible access violation
        fsnotify: fix oops in fsnotify_clear_marks_by_group_flags()
        /proc/$PID/cmdline: fixup empty ARGV case
        dma-debug: skip debug_dma_assert_idle() when disabled
        hexdump: fix for non-aligned buffers
        checkpatch: fix long line messages about patch context
        mm: clean up per architecture MM hook header files
        MAINTAINERS: uclinux-h8-devel is moderated for non-subscribers
        mailmap: update Sudeep Holla's email id
        Update Viresh Kumar's email address
        mm, meminit: suppress unused memory variable warning
        configfs: fix kernel infoleak through user-controlled format string
        include, lib: add __printf attributes to several function prototypes
        s390/hugetlb: add hugepages_supported define
        mm: hugetlb: allow hugepages_supported to be architecture specific
        revert "s390/mm: make hugepages_supported a boot time decision"
        ...
      3a26a5b1
  4. Jul 18, 2015
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 8be57013
      Linus Torvalds authored
      Pull btrfs fixes from Chris Mason:
       "These are all from Filipe, and cover a few problems we've had reported
        on the list recently (along with ones he found on his own)"
      
      * 'for-linus-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: fix file corruption after cloning inline extents
        Btrfs: fix order by which delayed references are run
        Btrfs: fix list transaction->pending_ordered corruption
        Btrfs: fix memory leak in the extent_same ioctl
        Btrfs: fix shrinking truncate when the no_holes feature is enabled
      8be57013
    • Linus Torvalds's avatar
      Merge tag 'rtc-v4.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · dfe91c97
      Linus Torvalds authored
      Pull rtc fixes from Alexandre Belloni:
       "A few fixes for the RTC susbsystem for 4.2.
      
        The mt6397 driver was introduce in 4.2 so it is worth fixing before
        the final release.  I though the compilation warning for armada38x was
        fixed by akpm in commit f98b733e ("rtc-armada38x.c: remove unused
        local `flags'") but he actually missed some occurrences of the
        variables.  Since I received 4 patches for that, I think we can
        include it now.
      
        Summary:
         - fix mt6397 wakealarm creation
         - remove a compilation warning for armada38x that was forgotten"
      
      * tag 'rtc-v4.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
        rtc: armada38x: Remove unused variable from armada38x_rtc_set_time()
        rtc: mt6397: enable wakeup before registering rtc device
      dfe91c97
    • Linus Torvalds's avatar
      Merge tag 'dm-4.2-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 3f8476fe
      Linus Torvalds authored
      Pull device mapper fixes from Mike Snitzer:
      
       - revert a request-based DM core change that caused IO latency to
         increase and adversely impact both throughput and system load
      
       - fix for a use after free bug in DM core's device cleanup
      
       - a couple DM btree removal fixes (used by dm-thinp)
      
       - a DM thinp fix for order-5 allocation failure
      
       - a DM thinp fix to not degrade to read-only metadata mode when in
         out-of-data-space mode for longer than the 'no_space_timeout'
      
       - fix a long-standing oversight in both dm-thinp and dm-cache by now
         exporting 'needs_check' in status if it was set in metadata
      
       - fix an embarrassing dm-cache busy-loop that caused worker threads to
         eat cpu even if no IO was actively being issued to the cache device
      
      * tag 'dm-4.2-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm cache: avoid calls to prealloc_free_structs() if possible
        dm cache: avoid preallocation if no work in writeback_some_dirty_blocks()
        dm cache: do not wake_worker() in free_migration()
        dm cache: display 'needs_check' in status if it is set
        dm thin: display 'needs_check' in status if it is set
        dm thin: stay in out-of-data-space mode once no_space_timeout expires
        dm: fix use after free crash due to incorrect cleanup sequence
        Revert "dm: only run the queue on completion if congested or no requests pending"
        dm btree: silence lockdep lock inversion in dm_btree_del()
        dm thin: allocate the cell_sort_array dynamically
        dm btree remove: fix bug in redistribute3
      3f8476fe
    • Ingo Molnar's avatar
      x86/fpu, sched: Introduce CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT and use it on x86 · 5aaeb5c0
      Ingo Molnar authored
      
      
      Don't burden architectures without dynamic task_struct sizing
      with the overhead of dynamic sizing.
      
      Also optimize the x86 code a bit by caching task_struct_size.
      
      Acked-and-Tested-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Dave Hansen <dave@sr71.net>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/1437128892-9831-3-git-send-email-mingo@kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      5aaeb5c0
    • Dave Hansen's avatar
      x86/fpu, sched: Dynamically allocate 'struct fpu' · 0c8c0f03
      Dave Hansen authored
      
      
      The FPU rewrite removed the dynamic allocations of 'struct fpu'.
      But, this potentially wastes massive amounts of memory (2k per
      task on systems that do not have AVX-512 for instance).
      
      Instead of having a separate slab, this patch just appends the
      space that we need to the 'task_struct' which we dynamically
      allocate already.  This saves from doing an extra slab
      allocation at fork().
      
      The only real downside here is that we have to stick everything
      and the end of the task_struct.  But, I think the
      BUILD_BUG_ON()s I stuck in there should keep that from being too
      fragile.
      
      Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Dave Hansen <dave@sr71.net>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/1437128892-9831-2-git-send-email-mingo@kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      0c8c0f03
    • Aneesh Kumar K.V's avatar
      lib/decompress: set the compressor name to NULL on error · 5a09e6ce
      Aneesh Kumar K.V authored
      
      
      Without this we end up using the previous name of the compressor in the
      loop in unpack_rootfs.  For example we get errors like "compression
      method gzip not configured" even when we have CONFIG_DECOMPRESS_GZIP
      enabled.
      
      Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5a09e6ce
    • Joonsoo Kim's avatar
      mm/cma_debug: correct size input to bitmap function · d56e84b4
      Joonsoo Kim authored
      
      
      In CMA, 1 bit in bitmap means 1 << order_per_bits pages so size of
      bitmap is cma->count >> order_per_bits rather than just cma->count.
      This patch fixes it.
      
      Signed-off-by: default avatarJoonsoo Kim <iamjoonsoo.kim@lge.com>
      Acked-by: default avatarMichal Nazarewicz <mina86@mina86.com>
      Cc: Sasha Levin <sasha.levin@oracle.com>
      Cc: Stefan Strogin <stefan.strogin@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d56e84b4
    • Joonsoo Kim's avatar
      mm/cma_debug: fix debugging alloc/free interface · 2292c0b1
      Joonsoo Kim authored
      
      
      CMA has alloc/free interface for debugging.  It is intended that
      alloc/free occurs in specific CMA region, but, currently, alloc/free
      interface is on root dir due to the bug so we can't select CMA region
      where alloc/free happens.
      
      This patch fixes this problem by making alloc/free interface per CMA
      region.
      
      Signed-off-by: default avatarJoonsoo Kim <iamjoonsoo.kim@lge.com>
      Acked-by: default avatarMichal Nazarewicz <mina86@mina86.com>
      Cc: Sasha Levin <sasha.levin@oracle.com>
      Cc: Stefan Strogin <stefan.strogin@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2292c0b1
    • Joonsoo Kim's avatar
      mm/page_owner: set correct gfp_mask on page_owner · e2cfc911
      Joonsoo Kim authored
      
      
      Currently, we set wrong gfp_mask to page_owner info in case of isolated
      freepage by compaction and split page.  It causes incorrect mixed
      pageblock report that we can get from '/proc/pagetypeinfo'.  This metric
      is really useful to measure fragmentation effect so should be accurate.
      This patch fixes it by setting correct information.
      
      Without this patch, after kernel build workload is finished, number of
      mixed pageblock is 112 among roughly 210 movable pageblocks.
      
      But, with this fix, output shows that mixed pageblock is just 57.
      
      Signed-off-by: default avatarJoonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e2cfc911
    • Joonsoo Kim's avatar
      mm/page_owner: fix possible access violation · f3a14ced
      Joonsoo Kim authored
      
      
      When I tested my new patches, I found that page pointer which is used
      for setting page_owner information is changed.  This is because page
      pointer is used to set new migratetype in loop.  After this work, page
      pointer could be out of bound.  If this wrong pointer is used for
      page_owner, access violation happens.  Below is error message that I
      got.
      
        BUG: unable to handle kernel paging request at 0000000000b00018
        IP: [<ffffffff81025f30>] save_stack_address+0x30/0x40
        PGD 1af2d067 PUD 166e0067 PMD 0
        Oops: 0002 [#1] SMP
        ...snip...
        Call Trace:
          print_context_stack+0xcf/0x100
          dump_trace+0x15f/0x320
          save_stack_trace+0x2f/0x50
          __set_page_owner+0x46/0x70
          __isolate_free_page+0x1f7/0x210
          split_free_page+0x21/0xb0
          isolate_freepages_block+0x1e2/0x410
          compaction_alloc+0x22d/0x2d0
          migrate_pages+0x289/0x8b0
          compact_zone+0x409/0x880
          compact_zone_order+0x6d/0x90
          try_to_compact_pages+0x110/0x210
          __alloc_pages_direct_compact+0x3d/0xe6
          __alloc_pages_nodemask+0x6cd/0x9a0
          alloc_pages_current+0x91/0x100
          runtest_store+0x296/0xa50
          simple_attr_write+0xbd/0xe0
          __vfs_write+0x28/0xf0
          vfs_write+0xa9/0x1b0
          SyS_write+0x46/0xb0
          system_call_fastpath+0x16/0x75
      
      This patch fixes this error by moving up set_page_owner().
      
      Signed-off-by: default avatarJoonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Acked-by: default avatarMinchan Kim <minchan@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f3a14ced
    • Jan Kara's avatar
      fsnotify: fix oops in fsnotify_clear_marks_by_group_flags() · a2673b6e
      Jan Kara authored
      
      
      fsnotify_clear_marks_by_group_flags() can race with
      fsnotify_destroy_marks() so when fsnotify_destroy_mark_locked() drops
      mark_mutex, a mark from the list iterated by
      fsnotify_clear_marks_by_group_flags() can be freed and we dereference free
      memory in the loop there.
      
      Fix the problem by keeping mark_mutex held in
      fsnotify_destroy_mark_locked().  The reason why we drop that mutex is that
      we need to call a ->freeing_mark() callback which may acquire mark_mutex
      again.  To avoid this and similar lock inversion issues, we move the call
      to ->freeing_mark() callback to the kthread destroying the mark.
      
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Reported-by: default avatarAshish Sangwan <a.sangwan@samsung.com>
      Suggested-by: default avatarLino Sanfilippo <LinoSanfilippo@gmx.de>
      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>
      a2673b6e
    • Alexey Dobriyan's avatar
      /proc/$PID/cmdline: fixup empty ARGV case · 3581d458
      Alexey Dobriyan authored
      
      
      /proc/*/cmdline code checks if it should look at ENVP area by checking
      last byte of ARGV area:
      
      	rv = access_remote_vm(mm, arg_end - 1, &c, 1, 0);
      	if (rv <= 0)
      		goto out_free_page;
      
      If ARGV is somehow made empty (by doing execve(..., NULL, ...) or
      manually setting ->arg_start and ->arg_end to equal values), the decision
      will be based on byte which doesn't even belong to ARGV/ENVP.
      
      So, quickly check if ARGV area is empty and report 0 to match previous
      behaviour.
      
      Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3581d458
    • Haggai Eran's avatar
      dma-debug: skip debug_dma_assert_idle() when disabled · c9d120b0
      Haggai Eran authored
      
      
      If dma-debug is disabled due to a memory error, DMA unmaps do not affect
      the dma_active_cacheline radix tree anymore, and debug_dma_assert_idle()
      can print false warnings.
      
      Disable debug_dma_assert_idle() when dma_debug_disabled() is true.
      
      Signed-off-by: default avatarHaggai Eran <haggaie@mellanox.com>
      Fixes: 0abdd7a8
      
       ("dma-debug: introduce debug_dma_assert_idle()")
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Vinod Koul <vinod.koul@intel.com>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: James Bottomley <JBottomley@Parallels.com>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Sebastian Ott <sebott@linux.vnet.ibm.com>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Cc: Horia Geanta <horia.geanta@freescale.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>
      c9d120b0
    • Horacio Mijail Anton Quiles's avatar
      hexdump: fix for non-aligned buffers · 0f70fe60
      Horacio Mijail Anton Quiles authored
      
      
      A hexdump with a buf not aligned to the groupsize causes
      non-naturally-aligned memory accesses.  This was causing a kernel panic
      on the processor BlackFin BF527, when such an unaligned buffer was fed
      by the function ubifs_scanned_corruption in fs/ubifs/scan.c .
      
      To fix this, change accesses to the contents of the buffer so they go
      through get_unaligned().  This change should be harmless to unaligned-
      access-capable architectures, and any performance hit should be anyway
      dwarfed by the snprintf() processing time.
      
      Signed-off-by: default avatarHoracio Mijail Antón Quiles <hmijail@gmail.com>
      Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Vivek Goyal <vgoyal@redhat.com>
      Cc: Joe Perches <joe@perches.com>
      Acked-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0f70fe60
    • Joe Perches's avatar
      checkpatch: fix long line messages about patch context · b4749e96
      Joe Perches authored
      
      
      Changes in ("checkpatch: categorize some long line length checks")
      now erroneously reports long line defects in patch context.
      
      Fix it.
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b4749e96
    • Laurent Dufour's avatar
      mm: clean up per architecture MM hook header files · f2abeef9
      Laurent Dufour authored
      Commit 2ae416b1
      
       ("mm: new mm hook framework") introduced an empty
      header file (mm-arch-hooks.h) for every architecture, even those which
      doesn't need to define mm hooks.
      
      As suggested by Geert Uytterhoeven, this could be cleaned through the use
      of a generic header file included via each per architecture
      asm/include/Kbuild file.
      
      The PowerPC architecture is not impacted here since this architecture has
      to defined the arch_remap MM hook.
      
      Signed-off-by: default avatarLaurent Dufour <ldufour@linux.vnet.ibm.com>
      Suggested-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: default avatarVineet Gupta <vgupta@synopsys.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f2abeef9