Skip to content
Commits on Jun 28, 2016
  1. Merge tag 'for-v4.7-rc' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/sre/linux-power-supply
    
    Pull power supply fixes from Sebastian Reichel.
    
    * tag 'for-v4.7-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply:
      power_supply: tps65217-charger: Fix NULL deref during property export
      power_supply: power_supply_read_temp only if use_cnt > 0
    committed Jun 27, 2016
  2. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/dtor/input
    
    Pull input fixes from Dmitry Torokhov.
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: vmmouse - remove port reservation
      Input: elantech - add more IC body types to the list
      Input: wacom_w8001 - ignore invalid pen data packets
      Input: wacom_w8001 - w8001_MAX_LENGTH should be 13
      Input: xpad - fix oops when attaching an unknown Xbox One gamepad
      MAINTAINERS: add Pali Rohár as reviewer of ALPS PS/2 touchpad driver
      Input: add HDMI CEC specific keycodes
      Input: add BUS_CEC type
      Input: xpad - fix rumble on Xbox One controllers with 2015 firmware
    committed Jun 27, 2016
Commits on Jun 27, 2016
  1. Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/mmarek/kbuild
    
    Pull kbuild regression fix from Michal Marek:
     "The problem is that commit 9c8fa9b ("kbuild: fix if_change and
      friends to consider argument order") fixed a potential missed rebuild,
      but this results in unnnecessary rebuilds with the packaging targets.
      Which is still more correct than the previous logic, but also very
      annoying"
    
    * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
      kbuild: Initialize exported variables
    committed Jun 27, 2016
  2. Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6

    Pull cifs fixes from Steve French:
     "Various small cifs/smb3 fixes, include some for stable, and some from
      the recent SMB3 test event"
    
    * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
      File names with trailing period or space need special case conversion
      Fix reconnect to not defer smb3 session reconnect long after socket reconnect
      cifs: check hash calculating succeeded
      cifs: dynamic allocation of ntlmssp blob
      cifs: use CIFS_MAX_DOMAINNAME_LEN when converting the domain name
      cifs: stuff the fl_owner into "pid" field in the lock request
    committed Jun 27, 2016
  3. Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git…

    …/herbert/crypto-2.6
    
    Pull crypto fixes from Herbert Xu:
     "This fixes the following issues:
    
       - Missing length check for user-space GETALG request
       - Bogus memmove length in ux500 driver
       - Incorrect priority setting for vmx driver
       - Incorrect ABI selection for vmx driver"
    
    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
      crypto: user - re-add size check for CRYPTO_MSG_GETALG
      crypto: ux500 - memmove the right size
      crypto: vmx - Increase priority of aes-cbc cipher
      crypto: vmx - Fix ABI detection
    committed Jun 27, 2016
  4. Linux 4.7-rc5

    committed Jun 26, 2016
Commits on Jun 26, 2016
  1. Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/jejb/scsi
    
    Pull SCSI fixes from James Bottomley:
     "Two straightforward fixes.
    
      One is a concurrency issue only affecting SAS connected SATA drives,
      but which could hang the storage subsystem if it triggers (because the
      outstanding command count on error never goes back to zero) and the
      other is a NO_TAG fallout from the switch to hostwide tags which
      causes the system to crash on module insertion (we've checked
      carefully and only the 53c700 family of drivers is vulnerable to this
      issue)"
    
    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
      53c700: fix BUG on untagged commands
      scsi: fix race between simultaneous decrements of ->host_failed
    committed Jun 26, 2016
Commits on Jun 25, 2016
  1. Merge branch 'for-linus-4.7-part2' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/mason/linux-btrfs
    
    Pull btrfs fixes part 2 from Chris Mason:
     "This has one patch from Omar to bring iterate_shared back to btrfs.
    
      We have a tree of work we queue up for directory items and it doesn't
      lend itself well to shared access.  While we're cleaning it up, Omar
      has changed things to use an exclusive lock when there are delayed
      items"
    
    * 'for-linus-4.7-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
      Btrfs: fix ->iterate_shared() by upgrading i_rwsem for delayed nodes
    committed Jun 25, 2016
  2. Merge branch 'for-linus-4.7' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/mason/linux-btrfs
    
    Pull btrfs fixes from Chris Mason:
     "I have a two part pull this time because one of the patches Dave
      Sterba collected needed to be against v4.7-rc2 or higher (we used
      rc4).  I try to make my for-linus-xx branch testable on top of the
      last major so we can hand fixes to people on the list more easily, so
      I've split this pull in two.
    
      This first part has some fixes and two performance improvements that
      we've been testing for some time.
    
      Josef's two performance fixes are most notable.  The transid tracking
      patch makes a big improvement on pretty much every workload"
    
    * 'for-linus-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
      Btrfs: Force stripesize to the value of sectorsize
      btrfs: fix disk_i_size update bug when fallocate() fails
      Btrfs: fix error handling in map_private_extent_buffer
      Btrfs: fix error return code in btrfs_init_test_fs()
      Btrfs: don't do nocow check unless we have to
      btrfs: fix deadlock in delayed_ref_async_start
      Btrfs: track transid for delayed ref flushing
    committed Jun 25, 2016
  3. Merge tag 'sound-4.7-rc5' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/tiwai/sound
    
    Pull sound fixes from Takashi Iwai:
     "Again pretty calm weeks: we've had only a few trivial / stable
      HD-audio fixes in addition to a possible race fix for snd-dummy driver
      spotted by syzkaller"
    
    * tag 'sound-4.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
      ALSA: dummy: Fix a use-after-free at closing
      ALSA: hda / realtek - add two more Thinkpad IDs (5050,5053) for tpt460 fixup
      ALSA: hda - Fix the headset mic jack detection on Dell machine
      ALSA: hda/tegra: iomem fixups for sparse warnings
      ALSA: hdac_regmap - fix the register access for runtime PM
    committed Jun 25, 2016
  4. Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull x86 kprobe fix from Thomas Gleixner:
     "A single fix clearing the TF bit when a fault is single stepped"
    
    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      kprobes/x86: Clear TF bit in fault on single-stepping
    committed Jun 25, 2016
  5. Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    Pull scheduler fixes from Thomas Gleixner:
     "A couple of scheduler fixes:
    
       - force watchdog reset while processing sysrq-w
    
       - fix a deadlock when enabling trace events in the scheduler
    
       - fixes to the throttled next buddy logic
    
       - fixes for the average accounting (missing serialization and
         underflow handling)
    
       - allow kernel threads for fallback to online but not active cpus"
    
    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sched/core: Allow kthreads to fall back to online && !active cpus
      sched/fair: Do not announce throttled next buddy in dequeue_task_fair()
      sched/fair: Initialize throttle_count for new task-groups lazily
      sched/fair: Fix cfs_rq avg tracking underflow
      kernel/sysrq, watchdog, sched/core: Reset watchdog on all CPUs while processing sysrq-w
      sched/debug: Fix deadlock when enabling sched events
      sched/fair: Fix post_init_entity_util_avg() serialization
    committed Jun 25, 2016
  6. @osandov @masoncl

    Btrfs: fix ->iterate_shared() by upgrading i_rwsem for delayed nodes

    Commit fe742fd ("Revert "btrfs: switch to ->iterate_shared()"")
    backed out the conversion to ->iterate_shared() for Btrfs because the
    delayed inode handling in btrfs_real_readdir() is racy. However, we can
    still do readdir in parallel if there are no delayed nodes.
    
    This is a temporary fix which upgrades the shared inode lock to an
    exclusive lock only when we have delayed items until we come up with a
    more complete solution. While we're here, rename the
    btrfs_{get,put}_delayed_items functions to make it very clear that
    they're just for readdir.
    
    Tested with xfstests and by doing a parallel kernel build:
    
    	while make tinyconfig && make -j4 && git clean dqfx; do
    		:
    	done
    
    along with a bunch of parallel finds in another shell:
    
    	while true; do
    		for ((i=0; i<4; i++)); do
    			find . >/dev/null &
    		done
    		wait
    	done
    
    Signed-off-by: Omar Sandoval <osandov@fb.com>
    Signed-off-by: David Sterba <dsterba@suse.com>
    Signed-off-by: Chris Mason <clm@fb.com>
    osandov committed with masoncl May 20, 2016
  7. Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/s…

    …cm/linux/kernel/git/tip/tip
    
    Pull locking fix from Thomas Gleixner:
     "A single fix to address a race in the static key logic"
    
    * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      locking/static_key: Fix concurrent static_key_slow_inc()
    committed Jun 25, 2016
  8. Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull irq fix from Thomas Gleixner:
     "A single fix for the fallout from the conversion of MIPS GIC to irq
      domains"
    
    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      irqchip/mips-gic: Fix IRQs in gic_dev_domain
    committed Jun 25, 2016
  9. Merge tag 'powerpc-4.7-4' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/powerpc/linux
    
    Pull powerpc fixes from Michael Ellerman:
     "mm/radix (Aneesh Kumar K.V):
       - Update to tlb functions ric argument
       - Flush page walk cache when freeing page table
       - Update Radix tree size as per ISA 3.0
    
      mm/hash (Aneesh Kumar K.V):
       - Use the correct PPP mask when updating HPTE
       - Don't add memory coherence if cache inhibited is set
    
      eeh (Gavin Shan):
       - Fix invalid cached PE primary bus
    
      bpf/jit (Naveen N. Rao):
       - Disable classic BPF JIT on ppc64le
    
      .. and fix faults caused by radix patching of SLB miss handler
      (Michael Ellerman)"
    
    * tag 'powerpc-4.7-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
      powerpc/bpf/jit: Disable classic BPF JIT on ppc64le
      powerpc: Fix faults caused by radix patching of SLB miss handler
      powerpc/eeh: Fix invalid cached PE primary bus
      powerpc/mm/radix: Update Radix tree size as per ISA 3.0
      powerpc/mm/hash: Don't add memory coherence if cache inhibited is set
      powerpc/mm/hash: Use the correct PPP mask when updating HPTE
      powerpc/mm/radix: Flush page walk cache when freeing page table
      powerpc/mm/radix: Update to tlb functions ric argument
    committed Jun 25, 2016
  10. @mpe

    Fix build break in fork.c when THREAD_SIZE < PAGE_SIZE

    Commit b235bee ("Clarify naming of thread info/stack allocators")
    breaks the build on some powerpc configs, where THREAD_SIZE < PAGE_SIZE:
    
      kernel/fork.c:235:2: error: implicit declaration of function 'free_thread_stack'
      kernel/fork.c:355:8: error: assignment from incompatible pointer type
        stack = alloc_thread_stack_node(tsk, node);
        ^
    
    Fix it by renaming free_stack() to free_thread_stack(), and updating the
    return type of alloc_thread_stack_node().
    
    Fixes: b235bee ("Clarify naming of thread info/stack allocators")
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    mpe committed with Jun 25, 2016
  11. Merge branch 'akpm' (patches from Andrew)

    Merge misc fixes from Andrew Morton:
     "Two weeks worth of fixes here"
    
    * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (41 commits)
      init/main.c: fix initcall_blacklisted on ia64, ppc64 and parisc64
      autofs: don't get stuck in a loop if vfs_write() returns an error
      mm/page_owner: avoid null pointer dereference
      tools/vm/slabinfo: fix spelling mistake: "Ocurrences" -> "Occurrences"
      fs/nilfs2: fix potential underflow in call to crc32_le
      oom, suspend: fix oom_reaper vs. oom_killer_disable race
      ocfs2: disable BUG assertions in reading blocks
      mm, compaction: abort free scanner if split fails
      mm: prevent KASAN false positives in kmemleak
      mm/hugetlb: clear compound_mapcount when freeing gigantic pages
      mm/swap.c: flush lru pvecs on compound page arrival
      memcg: css_alloc should return an ERR_PTR value on error
      memcg: mem_cgroup_migrate() may be called with irq disabled
      hugetlb: fix nr_pmds accounting with shared page tables
      Revert "mm: disable fault around on emulated access bit architecture"
      Revert "mm: make faultaround produce old ptes"
      mailmap: add Boris Brezillon's email
      mailmap: add Antoine Tenart's email
      mm, sl[au]b: add __GFP_ATOMIC to the GFP reclaim mask
      mm: mempool: kasan: don't poot mempool objects in quarantine
      ...
    committed Jun 24, 2016
  12. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/dledford/rdma
    
    Pull rdma fixes from Doug Ledford:
     "This is the second batch of queued up rdma patches for this rc cycle.
    
      There isn't anything really major in here.  It's passed 0day,
      linux-next, and local testing across a wide variety of hardware.
      There are still a few known issues to be tracked down, but this should
      amount to the vast majority of the rdma RC fixes.
    
      Round two of 4.7 rc fixes:
    
       - A couple minor fixes to the rdma core
       - Multiple minor fixes to hfi1
       - Multiple minor fixes to mlx4/mlx4
       - A few minor fixes to i40iw"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (31 commits)
      IB/srpt: Reduce QP buffer size
      i40iw: Enable level-1 PBL for fast memory registration
      i40iw: Return correct max_fast_reg_page_list_len
      i40iw: Correct status check on i40iw_get_pble
      i40iw: Correct CQ arming
      IB/rdmavt: Correct qp_priv_alloc() return value test
      IB/hfi1: Don't zero out qp->s_ack_queue in rvt_reset_qp
      IB/hfi1: Fix deadlock with txreq allocation slow path
      IB/mlx4: Prevent cross page boundary allocation
      IB/mlx4: Fix memory leak if QP creation failed
      IB/mlx4: Verify port number in flow steering create flow
      IB/mlx4: Fix error flow when sending mads under SRIOV
      IB/mlx4: Fix the SQ size of an RC QP
      IB/mlx5: Fix wrong naming of port_rcv_data counter
      IB/mlx5: Fix post send fence logic
      IB/uverbs: Initialize ib_qp_init_attr with zeros
      IB/core: Fix false search of the IB_SA_WELL_KNOWN_GUID
      IB/core: Fix RoCE v1 multicast join logic issue
      IB/core: Fix no default GIDs when netdevice reregisters
      IB/hfi1: Send a pkey change event on driver pkey update
      ...
    committed Jun 24, 2016
  13. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/jikos/hid
    
    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
    committed Jun 24, 2016
  14. 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
    committed Jun 24, 2016
  15. Merge tag 'acpi-4.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/rafael/linux-pm
    
    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
    committed Jun 24, 2016
  16. Merge tag 'pm-4.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/rafael/linux-pm
    
    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
    committed Jun 24, 2016
  17. Merge tag 'for-linus-4.7b-rc4-tag' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/xen/tip
    
    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
    committed Jun 24, 2016
  18. Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/arm64/linux
    
    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
    committed Jun 24, 2016
  19. @Villemoes

    init/main.c: fix initcall_blacklisted on ia64, ppc64 and parisc64

    When I replaced kasprintf("%pf") with a direct call to
    sprint_symbol_no_offset I must have broken the initcall blacklisting
    feature on the arches where dereference_function_descriptor() is
    non-trivial.
    
    Fixes: c8cdd2b (init/main.c: simplify initcall_blacklisted())
    Link: http://lkml.kernel.org/r/1466027283-4065-1-git-send-email-linux@rasmusvillemoes.dk
    Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
    Cc: Yang Shi <yang.shi@linaro.org>
    Cc: Prarit Bhargava <prarit@redhat.com>
    Cc: Petr Mladek <pmladek@suse.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Villemoes committed with Jun 24, 2016
  20. @avagin

    autofs: don't get stuck in a loop if vfs_write() returns an error

    __vfs_write() returns a negative value in a error case.
    
    Link: http://lkml.kernel.org/r/20160616083108.6278.65815.stgit@pluto.themaw.net
    Signed-off-by: Andrey Vagin <avagin@openvz.org>
    Signed-off-by: Ian Kent <raven@themaw.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    avagin committed with Jun 24, 2016
  21. @sudipm-mukherjee

    mm/page_owner: avoid null pointer dereference

    We have dereferenced page_ext before checking it.  Lets check it first
    and then used it.
    
    Fixes: f86e427 ("mm: check the return value of lookup_page_ext for all call sites")
    Link: http://lkml.kernel.org/r/1465249059-7883-1-git-send-email-sudipm.mukherjee@gmail.com
    Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
    Acked-by: Vlastimil Babka <vbabka@suse.cz>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    sudipm-mukherjee committed with Jun 24, 2016
  22. @ColinIanKing

    tools/vm/slabinfo: fix spelling mistake: "Ocurrences" -> "Occurrences"

    trivial fix to spelling mistake
    
    Link: http://lkml.kernel.org/r/1466672144-831-1-git-send-email-colin.king@canonical.com
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Acked-by: Christoph Lameter <cl@linux.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    ColinIanKing committed with Jun 24, 2016
  23. fs/nilfs2: fix potential underflow in call to crc32_le

    The value `bytes' comes from the filesystem which is about to be
    mounted.  We cannot trust that the value is always in the range we
    expect it to be.
    
    Check its value before using it to calculate the length for the crc32_le
    call.  It value must be larger (or equal) sumoff + 4.
    
    This fixes a kernel bug when accidentially mounting an image file which
    had the nilfs2 magic value 0x3434 at the right offset 0x406 by chance.
    The bytes 0x01 0x00 were stored at 0x408 and were interpreted as a
    s_bytes value of 1.  This caused an underflow when substracting sumoff +
    4 (20) in the call to crc32_le.
    
      BUG: unable to handle kernel paging request at ffff88021e600000
      IP:  crc32_le+0x36/0x100
      ...
      Call Trace:
        nilfs_valid_sb.part.5+0x52/0x60 [nilfs2]
        nilfs_load_super_block+0x142/0x300 [nilfs2]
        init_nilfs+0x60/0x390 [nilfs2]
        nilfs_mount+0x302/0x520 [nilfs2]
        mount_fs+0x38/0x160
        vfs_kern_mount+0x67/0x110
        do_mount+0x269/0xe00
        SyS_mount+0x9f/0x100
        entry_SYSCALL_64_fastpath+0x16/0x71
    
    Link: http://lkml.kernel.org/r/1466778587-5184-2-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Torsten Hilbrich <torsten.hilbrich@secunet.com>
    Tested-by: Torsten Hilbrich <torsten.hilbrich@secunet.com>
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Torsten Hilbrich committed with Jun 24, 2016
  24. oom, suspend: fix oom_reaper vs. oom_killer_disable race

    Tetsuo has reported the following potential oom_killer_disable vs.
    oom_reaper race:
    
     (1) freeze_processes() starts freezing user space threads.
     (2) Somebody (maybe a kenrel thread) calls out_of_memory().
     (3) The OOM killer calls mark_oom_victim() on a user space thread
         P1 which is already in __refrigerator().
     (4) oom_killer_disable() sets oom_killer_disabled = true.
     (5) P1 leaves __refrigerator() and enters do_exit().
     (6) The OOM reaper calls exit_oom_victim(P1) before P1 can call
         exit_oom_victim(P1).
     (7) oom_killer_disable() returns while P1 not yet finished
     (8) P1 perform IO/interfere with the freezer.
    
    This situation is unfortunate.  We cannot move oom_killer_disable after
    all the freezable kernel threads are frozen because the oom victim might
    depend on some of those kthreads to make a forward progress to exit so
    we could deadlock.  It is also far from trivial to teach the oom_reaper
    to not call exit_oom_victim() because then we would lose a guarantee of
    the OOM killer and oom_killer_disable forward progress because
    exit_mm->mmput might block and never call exit_oom_victim.
    
    It seems the easiest way forward is to workaround this race by calling
    try_to_freeze_tasks again after oom_killer_disable.  This will make sure
    that all the tasks are frozen or it bails out.
    
    Fixes: 449d777 ("mm, oom_reaper: clear TIF_MEMDIE for all tasks queued for oom_reaper")
    Link: http://lkml.kernel.org/r/1466597634-16199-1-git-send-email-mhocko@kernel.org
    Signed-off-by: Michal Hocko <mhocko@suse.com>
    Reported-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Michal Hocko committed with Jun 24, 2016
  25. @ganghe

    ocfs2: disable BUG assertions in reading blocks

    According to some high-load testing, these two BUG assertions were
    encountered, this led system panic.  Actually, there were some
    discussions about removing these two BUG() assertions, it would not
    bring any side effect.
    
    Then, I did the the following changes,
    
    1) use the existing macro CATCH_BH_JBD_RACES to wrap BUG() in the
       ocfs2_read_blocks_sync function like before.
    
    2) disable the macro CATCH_BH_JBD_RACES in Makefile by default.
    
    Link: http://lkml.kernel.org/r/1466574294-26863-1-git-send-email-ghe@suse.com
    Signed-off-by: Gang He <ghe@suse.com>
    Cc: Mark Fasheh <mfasheh@suse.de>
    Cc: Joel Becker <jlbec@evilplan.org>
    Cc: Junxiao Bi <junxiao.bi@oracle.com>
    Cc: Joseph Qi <joseph.qi@huawei.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    ganghe committed with Jun 24, 2016
  26. mm, compaction: abort free scanner if split fails

    If the memory compaction free scanner cannot successfully split a free
    page (only possible due to per-zone low watermark), terminate the free
    scanner rather than continuing to scan memory needlessly.  If the
    watermark is insufficient for a free page of order <= cc->order, then
    terminate the scanner since all future splits will also likely fail.
    
    This prevents the compaction freeing scanner from scanning all memory on
    very large zones (very noticeable for zones > 128GB, for instance) when
    all splits will likely fail while holding zone->lock.
    
    compaction_alloc() iterating a 128GB zone has been benchmarked to take
    over 400ms on some systems whereas any free page isolated and ready to
    be split ends up failing in split_free_page() because of the low
    watermark check and thus the iteration continues.
    
    The next time compaction occurs, the freeing scanner will likely start
    at the end of the zone again since no success was made previously and we
    get the same lengthy iteration until the zone is brought above the low
    watermark.  All thp page faults can take >400ms in such a state without
    this fix.
    
    Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1606211820350.97086@chino.kir.corp.google.com
    Signed-off-by: David Rientjes <rientjes@google.com>
    Acked-by: Vlastimil Babka <vbabka@suse.cz>
    Cc: Minchan Kim <minchan@kernel.org>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Mel Gorman <mgorman@techsingularity.net>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    David Rientjes committed with Jun 24, 2016
  27. @dvyukov

    mm: prevent KASAN false positives in kmemleak

    When kmemleak dumps contents of leaked objects it reads whole objects
    regardless of user-requested size.  This upsets KASAN.  Disable KASAN
    checks around object dump.
    
    Link: http://lkml.kernel.org/r/1466617631-68387-1-git-send-email-dvyukov@google.com
    Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
    Acked-by: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
    Cc: Alexander Potapenko <glider@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    dvyukov committed with Jun 24, 2016
  28. mm/hugetlb: clear compound_mapcount when freeing gigantic pages

    While working on s390 support for gigantic hugepages I ran into the
    following "Bad page state" warning when freeing gigantic pages:
    
      BUG: Bad page state in process bash  pfn:580001
      page:000003d116000040 count:0 mapcount:0 mapping:ffffffff00000000 index:0x0
      flags: 0x7fffc0000000000()
      page dumped because: non-NULL mapping
    
    This is because page->compound_mapcount, which is part of a union with
    page->mapping, is initialized with -1 in prep_compound_gigantic_page(),
    and not cleared again during destroy_compound_gigantic_page().  Fix this
    by clearing the compound_mapcount in destroy_compound_gigantic_page()
    before clearing compound_head.
    
    Interestingly enough, the warning will not show up on x86_64, although
    this should not be architecture specific.  Apparently there is an
    endianness issue, combined with the fact that the union contains both a
    64 bit ->mapping pointer and a 32 bit atomic_t ->compound_mapcount as
    members.  The resulting bogus page->mapping on x86_64 therefore contains
    00000000ffffffff instead of ffffffff00000000 on s390, which will falsely
    trigger the PageAnon() check in free_pages_prepare() because
    page->mapping & PAGE_MAPPING_ANON is true on little-endian architectures
    like x86_64 in this case (the page is not compound anymore,
    ->compound_head was already cleared before).  As a result, page->mapping
    will be cleared before doing the checks in free_pages_check().
    
    Not sure if the bogus "PageAnon() returning true" on x86_64 for the
    first tail page of a gigantic page (at this stage) has other theoretical
    implications, but they would also be fixed with this patch.
    
    Link: http://lkml.kernel.org/r/1466612719-5642-1-git-send-email-gerald.schaefer@de.ibm.com
    Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
    Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
    Cc: Luiz Capitulino <lcapitulino@redhat.com>
    Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
    Cc: Hillf Danton <hillf.zj@alibaba-inc.com>
    Cc: "Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
    Cc: "Aneesh Kumar K . V" <aneesh.kumar@linux.vnet.ibm.com>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Gerald Schaefer committed with Jun 24, 2016
Something went wrong with that request. Please try again.