24 May, 2016

32 commits

  • The following program (simplified version of generated by syzkaller)

    #include
    #include
    #include
    #include
    #include

    void *thread_func(void *arg)
    {
    ptrace(PTRACE_TRACEME, 0,0,0);
    return 0;
    }

    int main(void)
    {
    pthread_t thread;

    if (fork())
    return 0;

    while (getppid() != 1)
    ;

    pthread_create(&thread, NULL, thread_func, NULL);
    pthread_join(thread, NULL);
    return 0;
    }

    creates an unreapable zombie if /sbin/init doesn't use __WALL.

    This is not a kernel bug, at least in a sense that everything works as
    expected: debugger should reap a traced sub-thread before it can reap the
    leader, but without __WALL/__WCLONE do_wait() ignores sub-threads.

    Unfortunately, it seems that /sbin/init in most (all?) distributions
    doesn't use it and we have to change the kernel to avoid the problem.
    Note also that most init's use sys_waitid() which doesn't allow __WALL, so
    the necessary user-space fix is not that trivial.

    This patch just adds the "ptrace" check into eligible_child(). To some
    degree this matches the "tsk->ptrace" in exit_notify(), ->exit_signal is
    mostly ignored when the tracee reports to debugger. Or WSTOPPED, the
    tracer doesn't need to set this flag to wait for the stopped tracee.

    This obviously means the user-visible change: __WCLONE and __WALL no
    longer have any meaning for debugger. And I can only hope that this won't
    break something, but at least strace/gdb won't suffer.

    We could make a more conservative change. Say, we can take __WCLONE into
    account, or !thread_group_leader(). But it would be nice to not
    complicate these historical/confusing checks.

    Signed-off-by: Oleg Nesterov
    Reported-by: Dmitry Vyukov
    Cc: Denys Vlasenko
    Cc: Jan Kratochvil
    Cc: "Michael Kerrisk (man-pages)"
    Cc: Pedro Alves
    Cc: Roland McGrath
    Cc:
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • This fixes block comments with proper formatting to eliminate the
    following checkpatch.pl warnings:

    "WARNING: Block comments use * on subsequent lines"
    "WARNING: Block comments use a trailing */ on a separate line"

    Link: http://lkml.kernel.org/r/1462886671-3521-8-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • This fixes checkpatch.pl warning "WARNING: Single statement macros
    should not use a do {} while (0) loop".

    Link: http://lkml.kernel.org/r/1462886671-3521-7-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • This fixes the checkpatch.pl warning that suggests else is not
    generally useful after a break or return.

    Link: http://lkml.kernel.org/r/1462886671-3521-6-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • This fixes checkpatch.pl warning "WARNING: Prefer 'unsigned int' to
    bare use of 'unsigned'".

    Link: http://lkml.kernel.org/r/1462886671-3521-5-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • This fixes checkpatch.pl warning "WARNING: suspect code indent for
    conditional statements".

    Link: http://lkml.kernel.org/r/1462886671-3521-4-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • This fixes the checkpatch.pl warning "WARNING: space prohibited before
    semicolon" at nilfs_store_magic_and_option().

    Link: http://lkml.kernel.org/r/1462886671-3521-3-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • This updates call sites of nilfs_warning() and nilfs_error() so that they
    don't add a duplicate newline. These output functions are already
    designed to add a trailing newline to the message.

    Link: http://lkml.kernel.org/r/1462886671-3521-2-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • Remove trailing semicolons from macros, as suggested by checkpatch.pl.

    Link: http://lkml.kernel.org/r/1461935747-10380-12-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    [konishi.ryusuke@lab.ntt.co.jp: fix style issues]
    Link: http://lkml.kernel.org/r/20160509.231703.1481729973362188932.konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • Clean up checkpatch.pl warnings "WARNING: Missing a blank line after
    declarations" from nilfs2.

    Link: http://lkml.kernel.org/r/1461935747-10380-11-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • This fixes the following checkpatch.pl warning:

    WARNING: __packed is preferred over __attribute__((packed))
    #23: FILE: export.h:23:
    +} __attribute__ ((packed));

    Link: http://lkml.kernel.org/r/1461935747-10380-10-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • Refactor nilfs_clear_inode() and nilfs_i_callback() so that cleanup
    code or resource deallocation related to metadata file will be moved
    out to mdt.c.

    Link: http://lkml.kernel.org/r/1461935747-10380-9-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • nilfs_mdt_mark_block_dirty() can be replaced with primary functions
    like nilfs_mdt_get_block() and mark_buffer_dirty(), and it's used only
    by nilfs_ioctl_mark_blocks_dirty().

    This gets rid of the function to simplify the interface of metadata
    file.

    Link: http://lkml.kernel.org/r/1461935747-10380-8-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • To respond to a certain developer's request, this explicitly state that
    developers can reimplement the nilfs2 design for other operating systems
    to share data stored in that format.

    Link: http://lkml.kernel.org/r/1461935747-10380-7-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • Add nilfs.osdn.jp as the second web site of nilfs project.

    Link: http://lkml.kernel.org/r/1461935747-10380-6-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • E-mail addresses of osrg.net domain are no longer available. This
    removes them from authorship notices and prevents reporters from being
    confused.

    Link: http://lkml.kernel.org/r/1461935747-10380-5-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • This removes the extra paragraph which mentions FSF address in GPL
    notices from source code of nilfs2 and avoids the checkpatch.pl error
    related to it.

    Link: http://lkml.kernel.org/r/1461935747-10380-4-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • Fix checkpatch.pl error "ERROR: space prohibited before that ','
    (ctx:WxW)" at nilfs_sufile_set_suinfo().

    This also fixes checkpatch.pl warning "WARNING: Prefer 'unsigned int' to
    bare use of 'unsigned'" at nilfs_sufile_set_suinfo() and
    nilfs_sufile_get_suinfo().

    Link: http://lkml.kernel.org/r/1461935747-10380-3-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • Fix the following checkpatch.pl error and warnings:

    ERROR: code indent should use tabs where possible
    #1317: FILE: super.c:1317:
    + ^I^Is_new = true;$

    WARNING: please, no space before tabs
    #1317: FILE: super.c:1317:
    + ^I^Is_new = true;$

    WARNING: please, no spaces at the start of a line
    #1317: FILE: super.c:1317:
    + ^I^Is_new = true;$

    Link: http://lkml.kernel.org/r/1461935747-10380-2-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • The nilfs_sc_operations structures are never modified, so declare them
    as const.

    Done with the help of Coccinelle.

    Signed-off-by: Julia Lawall
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Julia Lawall
     
  • bh is reinitialized by sb_bread() so no need to init it
    with NULL in the beginning of befs_bread()

    Link: http://lkml.kernel.org/r/88481760b43226fac16adb1f1e68897e47d8235c.1462841692.git.salah.triki@acm.org
    Signed-off-by: Salah Triki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Salah Triki
     
  • bh is reinitialized by sb_bread() so no need to init it
    with NULL in the beginning of befs_bread_iaddr()

    Link: http://lkml.kernel.org/r/586d2639d729345b9c07aac10ba713d8ceb8745a.1462841692.git.salah.triki@acm.org
    Signed-off-by: Salah Triki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Salah Triki
     
  • befs_ino is reinitialized by BEFS_I() so no need to init it
    with NULL in the beginning of befs_iget()

    Link: http://lkml.kernel.org/r/a5c02445e436629c4d4ba1b65d91501878942f58.1462842887.git.salah.triki@acm.org
    Signed-off-by: Salah Triki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Salah Triki
     
  • raw_inode is reinitialized to bh->b_data so no need to init it
    with NULL in the beginning of befs_iget()

    Link: http://lkml.kernel.org/r/0a66baaaacb6b7e5fcea5b31b57b649261152281.1462842887.git.salah.triki@acm.org
    Signed-off-by: Salah Triki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Salah Triki
     
  • bh is reinitialized by befs_bread() so no need to init it
    with NULL in the beginning of befs_iget()

    Link: http://lkml.kernel.org/r/38d62b1469bc3b316ba6b81fd8e26fc66fdd713b.1462842886.git.salah.triki@acm.org
    Signed-off-by: Salah Triki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Salah Triki
     
  • inode is reinitialized by befs_iget() so no need to init it
    with NULL in the beginning of befs_lookup()

    Link: http://lkml.kernel.org/r/03d7e46890aef94078130bed97c4f8f8ae9ea2b2.1462842886.git.salah.triki@acm.org
    Signed-off-by: Salah Triki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Salah Triki
     
  • iaddr_array is unconditionally initialized to NULL in
    befs_find_brun_dblindirect().

    Link: http://lkml.kernel.org/r/940def273e30ef37957fba9da6981a10fb3c9741.1462649034.git.salah.triki@acm.org
    Signed-off-by: Salah Triki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Salah Triki
     
  • bh is reinitialized by befs_read_datastream() so no need to init it
    with NULL in the beginning of befs_read_lsymlink().

    Link: http://lkml.kernel.org/r/e22f279bceb8d026af048952e02ba98925b21c92.1462649034.git.salah.triki@acm.org
    Signed-off-by: Salah Triki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Salah Triki
     
  • bh is reinitialized by befs_bread_iaddr() so no need to init it
    with NULL in the beginning of befs_read_datastream().

    Link: http://lkml.kernel.org/r/81e1f70187db34d195c8e42b1ff78be6a71c0060.1462649034.git.salah.triki@acm.org
    Signed-off-by: Salah Triki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Salah Triki
     
  • mem_cgroup_oom may be invoked multiple times while a process is handling
    a page fault, in which case current->memcg_in_oom will be overwritten
    leaking the previously taken css reference.

    Link: http://lkml.kernel.org/r/1464019330-7579-1-git-send-email-vdavydov@virtuozzo.com
    Signed-off-by: Vladimir Davydov
    Acked-by: Michal Hocko
    Cc: Johannes Weiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vladimir Davydov
     
  • CONFIG_MIPS32_N32=y but CONFIG_BINFMT_ELF disabled results in the
    following linker errors:

    arch/mips/built-in.o: In function `elf_core_dump':
    binfmt_elfn32.c:(.text+0x23dbc): undefined reference to `elf_core_extra_phdrs'
    binfmt_elfn32.c:(.text+0x246e4): undefined reference to `elf_core_extra_data_size'
    binfmt_elfn32.c:(.text+0x248d0): undefined reference to `elf_core_write_extra_phdrs'
    binfmt_elfn32.c:(.text+0x24ac4): undefined reference to `elf_core_write_extra_data'

    CONFIG_MIPS32_O32=y but CONFIG_BINFMT_ELF disabled results in the following
    linker errors:

    arch/mips/built-in.o: In function `elf_core_dump':
    binfmt_elfo32.c:(.text+0x28a04): undefined reference to `elf_core_extra_phdrs'
    binfmt_elfo32.c:(.text+0x29330): undefined reference to `elf_core_extra_data_size'
    binfmt_elfo32.c:(.text+0x2951c): undefined reference to `elf_core_write_extra_phdrs'
    binfmt_elfo32.c:(.text+0x29710): undefined reference to `elf_core_write_extra_data'

    This is because binfmt_elfn32 and binfmt_elfo32 are using symbols from
    elfcore but for these configurations elfcore will not be built.

    Fixed by making elfcore selectable by a separate config symbol which
    unlike the current mechanism can also be used from other directories
    than kernel/, then having each flavor of ELF that relies on elfcore.o,
    select it in Kconfig, including CONFIG_MIPS32_N32 and CONFIG_MIPS32_O32
    which fixes this issue.

    Link: http://lkml.kernel.org/r/20160520141705.GA1913@linux-mips.org
    Signed-off-by: Ralf Baechle
    Reviewed-by: James Hogan
    Cc: "Maciej W. Rozycki"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     
  • m32r allmodconfig build was failing with the error:

    ERROR: "smp_flush_cache_all" [drivers/misc/lkdtm.ko] undefined!

    lkdtm driver at drivers/misc is using flush_icache_range() which for
    m32r is defined as smp_flush_cache_all() if CONFIG_SMP is defined. But
    as smp_flush_cache_all() was not exported so the build was failing with
    the error of undefined symbol.

    Link: http://lkml.kernel.org/r/1464001182-8329-1-git-send-email-sudipm.mukherjee@gmail.com
    Signed-off-by: Sudip Mukherjee
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sudip Mukherjee
     

23 May, 2016

5 commits

  • Pull motr tracing updates from Steven Rostedt:
    "Three more changes.

    - I forgot that I had another selftest to stress test the ftrace
    instance creation. It was actually suppose to go into the 4.6
    merge window, but I never committed it. I almost forgot about it
    again, but noticed it was missing from your tree.

    - Soumya PN sent me a clean up patch to not disable interrupts when
    taking the tasklist_lock for read, as it's unnecessary because that
    lock is never taken for write in irq context.

    - Newer gcc's can cause the jump in the function_graph code to the
    global ftrace_stub label to be a short jump instead of a long one.
    As that jump is dynamically converted to jump to the trace code to
    do function graph tracing, and that conversion expects a long jump
    it can corrupt the ftrace_stub itself (it's directly after that
    call). One way to prevent gcc from using a short jump is to
    declare the ftrace_stub as a weak function, which we do here to
    keep gcc from optimizing too much"

    * tag 'trace-v4.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    ftrace/x86: Set ftrace_stub to weak to prevent gcc from using short jumps to it
    ftrace: Don't disable irqs when taking the tasklist_lock read_lock
    ftracetest: Add instance created, delete, read and enable event test

    Linus Torvalds
     
  • Pull m68knommu update from Greg Ungerer:
    "Only a single change to update my email address in the MAINTAINERS
    file"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
    m68k: change m68knommu maintainer email address

    Linus Torvalds
     
  • Pull sparc updates from David Miller:
    "Some 32-bit kgdb cleanups from Sam Ravnborg, and a hugepage TLB flush
    overhead fix on 64-bit from Nitin Gupta"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc64: Reduce TLB flushes during hugepte changes
    aeroflex/greth: fix warning about unused variable
    openprom: fix warning
    sparc32: drop superfluous cast in calls to __nocache_pa()
    sparc32: fix build with STRICT_MM_TYPECHECKS
    sparc32: use proper prototype for trapbase
    sparc32: drop local prototype in kgdb_32
    sparc32: drop hardcoding trap_level in kgdb_trap

    Linus Torvalds
     
  • I'm looking at trying to possibly merge the 32-bit and 64-bit versions
    of the x86 uaccess.h implementation, but first this needs to be cleaned
    up.

    For example, the 32-bit version of "__copy_from_user_inatomic()" is
    mostly the special cases for the constant size, and it's actually almost
    never relevant. Most users aren't actually using a constant size
    anyway, and the few cases that do small constant copies are better off
    just using __get_user() instead.

    So get rid of the unnecessary complexity.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • I'm looking at trying to possibly merge the 32-bit and 64-bit versions
    of the x86 uaccess.h implementation, but first this needs to be cleaned
    up.

    For example, the 32-bit version of "__copy_to_user_inatomic()" is mostly
    the special cases for the constant size, and it's actually never
    relevant. Every user except for one aren't actually using a constant
    size anyway, and the one user that uses it is better off just using
    __put_user() instead.

    So get rid of the unnecessary complexity.

    [ The same cleanup should likely happen to __copy_from_user_inatomic()
    as well, but that one has a lot more users that I need to take a look
    at first ]

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

22 May, 2016

3 commits

  • Pull f2fs updates from Jaegeuk Kim:
    "In this round, as Ted pointed out, fscrypto allows one more key prefix
    given by filesystem to resolve backward compatibility issues. Other
    than that, we've fixed several error handling cases by introducing
    a fault injection facility. We've also achieved performance
    improvement in some workloads as well as a bunch of bug fixes.

    Summary:

    Enhancements:
    - fs-specific prefix for fscrypto
    - fault injection facility
    - expose validity bitmaps for user to be aware of fragmentation
    - fallocate/rm/preallocation speed up
    - use percpu counters

    Bug fixes:
    - some inline_dentry/inline_data bugs
    - error handling for atomic/volatile/orphan inodes
    - recover broken superblock"

    * tag 'for-f2fs-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (73 commits)
    f2fs: fix to update dirty page count correctly
    f2fs: flush pending bios right away when error occurs
    f2fs: avoid ENOSPC fault in the recovery process
    f2fs: make exit_f2fs_fs more clear
    f2fs: use percpu_counter for total_valid_inode_count
    f2fs: use percpu_counter for alloc_valid_block_count
    f2fs: use percpu_counter for # of dirty pages in inode
    f2fs: use percpu_counter for page counters
    f2fs: use bio count instead of F2FS_WRITEBACK page count
    f2fs: manipulate dirty file inodes when DATA_FLUSH is set
    f2fs: add fault injection to sysfs
    f2fs: no need inc dirty pages under inode lock
    f2fs: fix incorrect error path handling in f2fs_move_rehashed_dirents
    f2fs: fix i_current_depth during inline dentry conversion
    f2fs: correct return value type of f2fs_fill_super
    f2fs: fix deadlock when flush inline data
    f2fs: avoid f2fs_bug_on during recovery
    f2fs: show # of orphan inodes
    f2fs: support in batch fzero in dnode page
    f2fs: support in batch multi blocks preallocation
    ...

    Linus Torvalds
     
  • Pull btrfs updates from Chris Mason:
    "This has our merge window series of cleanups and fixes. These target
    a wide range of issues, but do include some important fixes for
    qgroups, O_DIRECT, and fsync handling. Jeff Mahoney moved around a
    few definitions to make them easier for userland to consume.

    Also whiteout support is included now that issues with overlayfs have
    been cleared up.

    I have one more fix pending for page faults during btrfs_copy_from_user,
    but I wanted to get this bulk out the door first"

    * 'for-linus-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (90 commits)
    btrfs: fix memory leak during RAID 5/6 device replacement
    Btrfs: add semaphore to synchronize direct IO writes with fsync
    Btrfs: fix race between block group relocation and nocow writes
    Btrfs: fix race between fsync and direct IO writes for prealloc extents
    Btrfs: fix number of transaction units for renames with whiteout
    Btrfs: pin logs earlier when doing a rename exchange operation
    Btrfs: unpin logs if rename exchange operation fails
    Btrfs: fix inode leak on failure to setup whiteout inode in rename
    btrfs: add support for RENAME_EXCHANGE and RENAME_WHITEOUT
    Btrfs: pin log earlier when renaming
    Btrfs: unpin log if rename operation fails
    Btrfs: don't do unnecessary delalloc flushes when relocating
    Btrfs: don't wait for unrelated IO to finish before relocation
    Btrfs: fix empty symlink after creating symlink and fsync parent dir
    Btrfs: fix for incorrect directory entries after fsync log replay
    btrfs: build fixup for qgroup_account_snapshot
    btrfs: qgroup: Fix qgroup accounting when creating snapshot
    Btrfs: fix fspath error deallocation
    btrfs: make find_workspace warn if there are no workspaces
    btrfs: make find_workspace always succeed
    ...

    Linus Torvalds
     
  • Pull RTC updates from Alexandre Belloni:
    "Subsystem wide cleanups:
    - Use IS_ENABLED() instead of checking for built-in or module
    - remove useless DRV_VERSION
    - remove CLK_IS_ROOT
    - remove UIE signaling

    Drivers:
    - ds1302: rewritten to be a proper SPI device driver
    - m41t80: huge cleanup, alarm, wakelarm ans oscialltor failure
    detection support
    - rv3029: switch to regmap to handle rv3049, alarm support, fixes
    - zynqmp: enable switching to battery power, fixes
    - small fixes for at91sam9, da9053, ds1307, ds1685, ds3232, r2025,
    sa1100, snvs, stmp3xxx, tps6586x"

    * tag 'rtc-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (40 commits)
    rtc: tps6586x: rename so module can be autoloaded
    rtc: rv3029: hide unused i2c device table
    rtc: rs5c372: r2025: fix check for 'oscillator halted' condition
    rtc: rv3029: add alarm IRQ
    rtc: rv3029: fix set_time function
    rtc: rv3029: fix alarm support
    rtc: rv3029: Remove some checks and warnings
    rtc: rv3029: Add support of RV3049
    rtc: rv3029: convert to use regmap
    rtc: rv3029: remove 'i2c' in functions names
    rtc: stmp3xxx: print message on error
    rtc: Use IS_ENABLED() instead of checking for built-in or module
    rtc: ds3232: fix call trace when rtc->ops_lock is used as NULL
    rtc: snvs: return error in case enable_irq_wake fails
    rtc: zynqmp: Update seconds time programming logic
    rtc: sa1100: DT spelling s/interrupt-name/interrupt-names/
    rtc: mc13xxx: remove UIE signaling
    rtc: mxc: remove UIE signaling
    rtc: ds1307: Remove CLK_IS_ROOT
    rtc: hym8563: Remove CLK_IS_ROOT
    ...

    Linus Torvalds