1. 16 Oct, 2015 7 commits
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 3d875182
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "6 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        sh: add copy_user_page() alias for __copy_user()
        lib/Kconfig: ZLIB_DEFLATE must select BITREVERSE
        mm, dax: fix DAX deadlocks
        memcg: convert threshold to bytes
        builddeb: remove debian/files before build
        mm, fs: obey gfp_mapping for add_to_page_cache()
      3d875182
    • Ross Zwisler's avatar
      sh: add copy_user_page() alias for __copy_user() · 934ed25e
      Ross Zwisler authored
      copy_user_page() is needed by DAX.  Without this we get a compile error
      for DAX on SH:
      
        fs/dax.c:280:2: error: implicit declaration of function `copy_user_page' [-Werror=implicit-function-declaration]
          copy_user_page(vto, (void __force *)vfrom, vaddr, to);
            ^
      
      This was done with a random config that happened to include DAX support.
      
      This patch has only been compile tested.
      Signed-off-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      Cc: Matthew Wilcox <willy@linux.intel.com>
      Cc: Matt Fleming <matt@codeblueprint.co.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      934ed25e
    • Andrew Morton's avatar
      lib/Kconfig: ZLIB_DEFLATE must select BITREVERSE · 1fd4e5c3
      Andrew Morton authored
      lib/built-in.o: In function `__bitrev32':
      deftree.c:(.text+0x1e799): undefined reference to `byte_rev_table'
      deftree.c:(.text+0x1e7a0): undefined reference to `byte_rev_table'
      deftree.c:(.text+0x1e7b4): undefined reference to `byte_rev_table'
      deftree.c:(.text+0x1e7c1): undefined reference to `byte_rev_table'
      
      Anything which uses bitrevX() has to select BITREVERSE, to grab
      lib/bitrev.o.
      Reported-by: default avatarJim Davis <jim.epost@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1fd4e5c3
    • Ross Zwisler's avatar
      mm, dax: fix DAX deadlocks · 0f90cc66
      Ross Zwisler authored
      The following two locking commits in the DAX code:
      
      commit 84317297 ("dax: fix race between simultaneous faults")
      commit 46c043ed ("mm: take i_mmap_lock in unmap_mapping_range() for DAX")
      
      introduced a number of deadlocks and other issues which need to be fixed
      for the v4.3 kernel.  The list of issues in DAX after these commits
      (some newly introduced by the commits, some preexisting) can be found
      here:
      
        https://lkml.org/lkml/2015/9/25/602 (Subject: "Re: [PATCH] dax: fix deadlock in __dax_fault").
      
      This undoes most of the changes introduced by those two commits,
      essentially returning us to the DAX locking scheme that was used in
      v4.2.
      Signed-off-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Tested-by: default avatarDave Chinner <dchinner@redhat.com>
      Cc: Jan Kara <jack@suse.com>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0f90cc66
    • Shaohua Li's avatar
      memcg: convert threshold to bytes · 424cdc14
      Shaohua Li authored
      page_counter_memparse() returns pages for the threshold, while
      mem_cgroup_usage() returns bytes for memory usage.  Convert the
      threshold to bytes.
      
      Fixes: 3e32cb2e ("memcg: rename cgroup_event to mem_cgroup_event").
      Signed-off-by: default avatarShaohua Li <shli@fb.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Acked-by: default avatarMichal Hocko <mhocko@suse.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>
      424cdc14
    • Riku Voipio's avatar
      builddeb: remove debian/files before build · 8d740a37
      Riku Voipio authored
      Commit 3716001b ("deb-pkg: add source package") added the ability to
      create a debian changelog file.  This exposed that previously the
      builddeb script hasn't cleared debian/files between builds.
      
      As debian/files keeps accumulating entries, the changes file will end up
      growing indefinelty.  With outdated entries in debian/files, builddeb
      script will exit with failure.  This regression impacts those who use
      "make deb-pkg" target to build kernel into a .deb package and never use
      "make mrproper" or other means to clean kernel tree from generated
      directories.
      
      To fix the regression, remove debian/files before starting build and in
      the generated clean rule.
      
      Fixes: 3716001b ("deb-pkg: add source package")
      Signed-off-by: default avatarRiku Voipio <riku.voipio@linaro.org>
      Reported-by: default avatarDoug Smythies <dsmythies@telus.net>
      Tested-by: default avatarDoug Smythies <dsmythies@telus.net>
      Tested-by: default avatarKalle Valo <kvalo@codeaurora.org>
      Acked-by: default avatarBen Hutchings <ben@decadent.org.uk>
      Cc: Michal Marek <mmarek@suse.cz>
      Cc: maximilian attems <maks@stro.at>
      Cc: Chris J Arges <chris.j.arges@canonical.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8d740a37
    • Michal Hocko's avatar
      mm, fs: obey gfp_mapping for add_to_page_cache() · 063d99b4
      Michal Hocko authored
      Commit 6afdb859 ("mm: do not ignore mapping_gfp_mask in page cache
      allocation paths") has caught some users of hardcoded GFP_KERNEL used in
      the page cache allocation paths.  This, however, wasn't complete and
      there were others which went unnoticed.
      
      Dave Chinner has reported the following deadlock for xfs on loop device:
      : With the recent merge of the loop device changes, I'm now seeing
      : XFS deadlock on my single CPU, 1GB RAM VM running xfs/073.
      :
      : The deadlocked is as follows:
      :
      : kloopd1: loop_queue_read_work
      :       xfs_file_iter_read
      :       lock XFS inode XFS_IOLOCK_SHARED (on image file)
      :       page cache read (GFP_KERNEL)
      :       radix tree alloc
      :       memory reclaim
      :       reclaim XFS inodes
      :       log force to unpin inodes
      :       <wait for log IO completion>
      :
      : xfs-cil/loop1: <does log force IO work>
      :       xlog_cil_push
      :       xlog_write
      :       <loop issuing log writes>
      :               xlog_state_get_iclog_space()
      :               <blocks due to all log buffers under write io>
      :               <waits for IO completion>
      :
      : kloopd1: loop_queue_write_work
      :       xfs_file_write_iter
      :       lock XFS inode XFS_IOLOCK_EXCL (on image file)
      :       <wait for inode to be unlocked>
      :
      : i.e. the kloopd, with it's split read and write work queues, has
      : introduced a dependency through memory reclaim. i.e. that writes
      : need to be able to progress for reads make progress.
      :
      : The problem, fundamentally, is that mpage_readpages() does a
      : GFP_KERNEL allocation, rather than paying attention to the inode's
      : mapping gfp mask, which is set to GFP_NOFS.
      :
      : The didn't used to happen, because the loop device used to issue
      : reads through the splice path and that does:
      :
      :       error = add_to_page_cache_lru(page, mapping, index,
      :                       GFP_KERNEL & mapping_gfp_mask(mapping));
      
      This has changed by commit aa4d8616 ("block: loop: switch to VFS
      ITER_BVEC").
      
      This patch changes mpage_readpage{s} to follow gfp mask set for the
      mapping.  There are, however, other places which are doing basically the
      same.
      
      lustre:ll_dir_filler is doing GFP_KERNEL from the function which
      apparently uses GFP_NOFS for other allocations so let's make this
      consistent.
      
      cifs:readpages_get_pages is called from cifs_readpages and
      __cifs_readpages_from_fscache called from the same path obeys mapping
      gfp.
      
      ramfs_nommu_expand_for_mapping is hardcoding GFP_KERNEL as well
      regardless it uses mapping_gfp_mask for the page allocation.
      
      ext4_mpage_readpages is the called from the page cache allocation path
      same as read_pages and read_cache_pages
      
      As I've noticed in my previous post I cannot say I would be happy about
      sprinkling mapping_gfp_mask all over the place and it sounds like we
      should drop gfp_mask argument altogether and use it internally in
      __add_to_page_cache_locked that would require all the filesystems to use
      mapping gfp consistently which I am not sure is the case here.  From a
      quick glance it seems that some file system use it all the time while
      others are selective.
      Signed-off-by: default avatarMichal Hocko <mhocko@suse.com>
      Reported-by: default avatarDave Chinner <david@fromorbit.com>
      Cc: "Theodore Ts'o" <tytso@mit.edu>
      Cc: Ming Lei <ming.lei@canonical.com>
      Cc: Andreas Dilger <andreas.dilger@intel.com>
      Cc: Oleg Drokin <oleg.drokin@intel.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Christoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      063d99b4
  2. 15 Oct, 2015 6 commits
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 69984b64
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "Here are a few more arm64 fixes for 4.3.  Again, nothing too
        significant, but worth having nonetheless.  The MINSIGSTKSZ update is
        a bit grotty, but the value we currently have is wrong (too small), so
        anybody using that will have issues already.  It has Arnd's ack for
        the asm-generic change.
      
        Summary:
      
         - Fix module CFLAGS setting in workaround for erratum #843419
         - Update MINSIGSTKSZ and SIGSTKSZ to match glibc
         - Wire up some new compat syscalls"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: compat: wire up new syscalls
        arm64: Fix MINSIGSTKSZ and SIGSTKSZ
        arm64: errata: use KBUILD_CFLAGS_MODULE for erratum #843419
      69984b64
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.3-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 31558237
      Linus Torvalds authored
      Pull pinctrl fixes from Linus Walleij:
       "Here are some overdue (what can I say, I was on a short vacation)
        driver fixes for the pin control subsystem:
      
         - Allwinner sun5i A10s had a faulty mapping
      
         - Freescale i.MX25 had some bad arithmetics
      
         - Uniphier PH1-sLD8 missed some input enable settings"
      
      * tag 'pinctrl-v4.3-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: uniphier: fix input enable settings for PH1-sLD8
        pinctrl: imx25: ensure that a pin with id i is at position i in the info array
        pinctrl: sun5i: Fix a10s pwm1 pinctrl mapping
      31558237
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma · 58bd6e06
      Linus Torvalds authored
      Pull rdma updates from Doug Ledford:
       "We have four batched up patches for the current rc kernel.
      
        Two of them are small fixes that are obvious.
      
        One of them is larger than I would like for a late stage rc pull, but
        we found an issue in the namespace lookup code related to RoCE and
        this works around the issue for now (we allow a lookup with a
        namespace to succeed on RoCE since RoCE namespaces aren't implemented
        yet).  This will go away in 4.4 when we put in support for namespaces
        in RoCE devices.
      
        The last one is large in terms of lines, but is all legal and no
        functional changes.  Cisco needed to update their files to be more
        specific about their license.  They had intended the files to be dual
        licensed as GPL/BSD all along, and specified that in their module
        license tag, but their file headers were not up to par.  They
        contacted all of the contributors to get agreement and then submitted
        a patch to update the license headers in the files.
      
        Summary:
      
         - Work around connection namespace lookup bug related to RoCE
      
         - Change usnic license to Dual GPL/BSD (was intended to be that way
           all along, but wasn't clear, permission from contributors was
           chased down)
      
         - Fix an issue between NFSoRDMA and mlx5 that could cause an oops
      
         - Fix leak of sendonly multicast groups"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
        IB/ipoib: For sendonly join free the multicast group on leave
        IB/cma: Accept connection without a valid netdev on RoCE
        xprtrdma: Don't require LOCAL_DMA_LKEY support for fastreg
        usnic: add missing clauses to BSD license
      58bd6e06
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · c7823b6b
      Linus Torvalds authored
      Pull ext4 Kconfig description fixup from Jan Kara:
       "A small fixup in description of EXT4_USE_FOR_EXT2 config option"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        ext4: Update EXT4_USE_FOR_EXT2 description
      c7823b6b
    • Linus Torvalds's avatar
      vmstat: explicitly schedule per-cpu work on the CPU we need it to run on · 176bed1d
      Linus Torvalds authored
      The vmstat code uses "schedule_delayed_work_on()" to do the initial
      startup of the delayed work on the right CPU, but then once it was
      started it would use the non-cpu-specific "schedule_delayed_work()" to
      re-schedule it on that CPU.
      
      That just happened to schedule it on the same CPU historically (well, in
      almost all situations), but the code _requires_ this work to be per-cpu,
      and should say so explicitly rather than depend on the non-cpu-specific
      scheduling to schedule on the current CPU.
      
      The timer code is being changed to not be as single-minded in always
      running things on the calling CPU.
      
      See also commit 874bbfe6 ("workqueue: make sure delayed work run in
      local cpu") that for now maintains the local CPU guarantees just in case
      there are other broken users that depended on the accidental behavior.
      
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Tejun Heo <tj@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      176bed1d
    • Linus Torvalds's avatar
      Merge branch 'for-4.3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 995e2fe9
      Linus Torvalds authored
      Pull workqueue fixlet from Tejun Heo:
       "Single patch to make delayed work always be queued on the local CPU"
      
      This is not actually something we should guarantee, but it's something
      we by accident have historically done, and at least one call site has
      grown to depend on it.
      
      I'm going to fix that known broken callsite, but in the meantime this
      makes the accidental behavior be explicit, just in case there are other
      cases that might depend on it.
      
      * 'for-4.3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: make sure delayed work run in local cpu
      995e2fe9
  3. 14 Oct, 2015 5 commits
  4. 13 Oct, 2015 10 commits
  5. 12 Oct, 2015 9 commits
  6. 11 Oct, 2015 3 commits