1. 18 Dec, 2016 10 commits
    • Linus Torvalds's avatar
      Merge uncontroversial parts of branch 'readlink' of... · 231753ef
      Linus Torvalds authored
      Merge uncontroversial parts of branch 'readlink' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs
      
      Pull partial readlink cleanups from Miklos Szeredi.
      
      This is the uncontroversial part of the readlink cleanup patch-set that
      simplifies the default readlink handling.
      
      Miklos and Al are still discussing the rest of the series.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        vfs: make generic_readlink() static
        vfs: remove ".readlink = generic_readlink" assignments
        vfs: default to generic_readlink()
        vfs: replace calling i_op->readlink with vfs_readlink()
        proc/self: use generic_readlink
        ecryptfs: use vfs_get_link()
        bad_inode: add missing i_op initializers
      231753ef
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 0110c350
      Linus Torvalds authored
      Pull more vfs updates from Al Viro:
       "In this pile:
      
         - autofs-namespace series
         - dedupe stuff
         - more struct path constification"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (40 commits)
        ocfs2: implement the VFS clone_range, copy_range, and dedupe_range features
        ocfs2: charge quota for reflinked blocks
        ocfs2: fix bad pointer cast
        ocfs2: always unlock when completing dio writes
        ocfs2: don't eat io errors during _dio_end_io_write
        ocfs2: budget for extent tree splits when adding refcount flag
        ocfs2: prohibit refcounted swapfiles
        ocfs2: add newlines to some error messages
        ocfs2: convert inode refcount test to a helper
        simple_write_end(): don't zero in short copy into uptodate
        exofs: don't mess with simple_write_{begin,end}
        9p: saner ->write_end() on failing copy into non-uptodate page
        fix gfs2_stuffed_write_end() on short copies
        fix ceph_write_end()
        nfs_write_end(): fix handling of short copies
        vfs: refactor clone/dedupe_file_range common functions
        fs: try to clone files first in vfs_copy_file_range
        vfs: misc struct path constification
        namespace.c: constify struct path passed to a bunch of primitives
        quota: constify struct path in quota_on
        ...
      0110c350
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · d9cb5bfc
      Linus Torvalds authored
      Pull arch/tile updates from Chris Metcalf:
       "Another grab-bag of miscellaneous changes"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        tile: use __ro_after_init instead of tile-specific __write_once
        tile: migrate exception table users off module.h and onto extable.h
        tile: remove #pragma unroll from finv_buffer_remote()
        tile-module: Rename jump labels in module_alloc()
        tile-module: Use kmalloc_array() in module_alloc()
        tile/pci_gx: fix spelling mistake: "delievered" -> "delivered"
      d9cb5bfc
    • Linus Torvalds's avatar
      Merge tag 'kvmgt-vfio-mdev-for-v4.10-rc1' of git://github.com/01org/gvt-linux · 0f484e42
      Linus Torvalds authored
      Pull i915/gvt KVMGT updates from Zhenyu Wang:
       "KVMGT support depending on the VFIO/mdev framework"
      
      * tag 'kvmgt-vfio-mdev-for-v4.10-rc1' of git://github.com/01org/gvt-linux:
        drm/i915/gvt/kvmgt: add vfio/mdev support to KVMGT
        drm/i915/gvt/kvmgt: read/write GPA via KVM API
        drm/i915/gvt/kvmgt: replace kmalloc() by kzalloc()
      0f484e42
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · af79ce47
      Linus Torvalds authored
      Pull input subsystem updates from Dmitry Torokhov:
      
       - updated support for Synaptics RMI4 devices, including support for
         SMBus controllers, firmware update support, sensor tuning, and PS/2
         guest support
      
       - ALPS driver now supports tracksticks on SS5 controllers
      
       - i8042 now uses chassis info to skip selftest on Asus laptops as list
         of individual models became too unwieldy
      
       - miscellaneous fixes to other drivers
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (67 commits)
        Input: imx6ul_tsc - generalize the averaging property
        Input: drv260x - use generic device properties
        Input: drv260x - use temporary for &client->dev
        Input: drv260x - fix input device's parent assignment
        Input: synaptics-rmi4 - add support for F34 V7 bootloader
        Input: drv260x - fix initializing overdrive voltage
        Input: ALPS - fix protcol -> protocol
        Input: i8042 - comment #else/#endif of CONFIG_PNP
        Input: lpc32xx-keys - fix invalid error handling of a requested irq
        Input: synaptics-rmi4 - fix debug for sensor clip
        Input: synaptics-rmi4 - store the attn data in the driver
        Input: synaptics-rmi4 - allow to add attention data
        Input: synaptics-rmi4 - f03 - grab data passed by transport device
        Input: synaptics-rmi4 - add support for F03
        Input: imx6ul_tsc - convert int to u32
        Input: imx6ul_tsc - add mask when set REG_ADC_CFG
        Input: synaptics-rmi4 - have only one struct platform data
        Input: synaptics-rmi4 - remove EXPORT_SYMBOL_GPL for internal functions
        Input: synaptics-rmi4 - remove mutex calls while updating the firmware
        Input: drv2667 - fix misuse of regmap_update_bits
        ...
      af79ce47
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20161216' of git://git.infradead.org/linux-mtd · c07dee73
      Linus Torvalds authored
      Pull MTD updates from Brian Norris:
       "Nothing enormous here, though notably we have some of the first work
        of a few new maintainers. I think for now I'll still be sending pull
        requests, but that's open to change in the future. Summary:
      
        Core:
      
         - dynamic BDI object allocation (resolves some problems when built as
           a module)
         - cleanups in the ooblayout handling
      
        NAND:
      
         - new tango NAND controller driver
         - new ox820 NAND controller driver
         - addition of a new full-ID entry in the nand_ids table
         - rework of the s3c240 driver to support DT
         - extension of the nand_sdr_timings to expose tCCS, tPROG and tR
         - addition of a new flag to ask the core to wait for tCCS when
           sending a RNDIN/RNDOUT command
         - addition of a new flag to ask the core to let the controller driver
           send the READ/PROGPAGE command
      
        Minor fixes/cleanup/cosmetic changes:
      
         - properly support 512 ECC step size in the sunxi driver
         - improve the error messages in the PXA probe path
         - fix module autoload in the omap2 driver
         - cleanup of several nand drivers to return nand_scan{_tail}() error
           code instead of returning -EIO
         - various cleanups in the denali driver
         - fix an error check in nandsim
      
        SPI NOR:
      
         - new flash IDs
         - wait for Spansion flash to be ready after quad-enable
         - error handling fixes for Candence QSPI
         - constify some structures in Freescale QSPI driver"
      
      * tag 'for-linus-20161216' of git://git.infradead.org/linux-mtd: (71 commits)
        mtd: Allocate bdi objects dynamically
        mtd: nand: tango: Add standard legalese header
        mtd: maps: add missing iounmap() in error path
        mtd: spi-nor: constify fsl_qspi_devtype_data
        mtd: spi-nor: Add support for mr25h40
        mtd: spi-nor: Add support for N25Q016A
        mtd: spi-nor: Add at25df321 spi-nor flash support
        mtd: spi-nor: Fix some error codes in cqspi_setup_flash()
        mtd: spi-nor: Off by one in cqspi_setup_flash()
        mtd: spi-nor: add support for s25fl208k
        mtd: spi-nor: fix flags for s25fl128s
        mtd: spi-nor: fix spansion quad enable
        mtd: spi-nor: add Macronix mx25u25635f to list of known devices.
        mtd: mtdswap: fix spelling mistake "erassure" -> "erasure"
        mtd: bcm47xxpart: fix parsing first block after aligned TRX
        mtd: nand: tango: Use nand_to_mtd() instead of directly accessing chip->mtd
        mtd: remove unneeded initializer in mtd_ooblayout_count_bytes()
        mtd: use min_t() to refactor mtd_ooblayout_{get, set}_bytes()
        mtd: remove unneeded initializer in mtd_ooblayout_{get, set}_bytes()
        mtd: nand: nandsim: fix error check
        ...
      c07dee73
    • Linus Torvalds's avatar
      Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 135c9197
      Linus Torvalds authored
      Pull kbuild misc updates from Michal Marek:
      
       - one new coccinelle check and improvements to irqf_oneshot.cocci
      
       - 'make rpm' POSIX compatibility fix
      
       - 'make deb-pkg' arm64 cross-compiling fix. I forgot to send this one
         during the v4.9 rc-phase, therefor the pull request is based on -rc6
         and not -rc1
      
      * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        Coccinelle: misc: Add support for devm variant in all modes
        Coccinelle: misc: Improve the result given by context mode
        Coccinelle: misc: Improve the matching of rules
        kbuild/mkspec: avoid using brace expansion
        Coccinelle: Add misc/boolconv.cocci
        builddeb: fix cross-building to arm64 producing host-arch debs
      135c9197
    • Linus Torvalds's avatar
      Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 37861ffa
      Linus Torvalds authored
      Pull kconfig updates from Michal Marek:
      
       - 'make xconfig' gui fixes
      
       - 'make nconfig' fix for options with long prompts
      
       - fix 'make nconfig' warning when pkg-config forces -D_GNU_SOURCE
      
      * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        xconfig: fix missing suboption and help panels on first run
        xconfig: fix 'Show Debug' functionality
        kconfig/nconf: Fix hang when editing symbol with a long prompt
        Scripts: kconfig: nconf: fix _GNU_SOURCE redefined warning
      37861ffa
    • Linus Torvalds's avatar
      Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 41e0e24b
      Linus Torvalds authored
      Pull kbuild updates from Michal Marek:
      
       - prototypes for x86 asm-exported symbols (Adam Borowski) and a warning
         about missing CRCs (Nick Piggin)
      
       - asm-exports fix for LTO (Nicolas Pitre)
      
       - thin archives improvements (Nick Piggin)
      
       - linker script fix for CONFIG_LD_DEAD_CODE_DATA_ELIMINATION (Nick
         Piggin)
      
       - genksyms support for __builtin_va_list keyword
      
       - misc minor fixes
      
      * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        x86/kbuild: enable modversions for symbols exported from asm
        kbuild: fix scripts/adjust_autoksyms.sh* for the no modules case
        scripts/kallsyms: remove last remnants of --page-offset option
        make use of make variable CURDIR instead of calling pwd
        kbuild: cmd_export_list: tighten the sed script
        kbuild: minor improvement for thin archives build
        kbuild: modpost warn if export version crc is missing
        kbuild: keep data tables through dead code elimination
        kbuild: improve linker compatibility with lib-ksyms.o build
        genksyms: Regenerate parser
        kbuild/genksyms: handle va_list type
        kbuild: thin archives for multi-y targets
        kbuild: kallsyms allow 3-pass generation if symbols size has changed
      41e0e24b
    • Linus Torvalds's avatar
      Merge tag 'docs-4.10-2' of git://git.lwn.net/linux · 0aaf2146
      Linus Torvalds authored
      Pull more documentation updates from Jonathan Corbet:
       "This converts the crypto DocBook to Sphinx"
      
      * tag 'docs-4.10-2' of git://git.lwn.net/linux:
        crypto: doc - optimize compilation
        crypto: doc - clarify AEAD memory structure
        crypto: doc - remove crypto_alloc_ablkcipher
        crypto: doc - add KPP documentation
        crypto: doc - fix separation of cipher / req API
        crypto: doc - fix source comments for Sphinx
        crypto: doc - remove crypto API DocBook
        crypto: doc - convert crypto API documentation to Sphinx
      0aaf2146
  2. 16 Dec, 2016 30 commits
    • Al Viro's avatar
      Merge branch 'work.autofs' into for-linus · 9763f7a4
      Al Viro authored
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      9763f7a4
    • Al Viro's avatar
    • Al Viro's avatar
      Merge branch 'work.write_end' into for-linus · 4da00fd1
      Al Viro authored
      4da00fd1
    • Chris Metcalf's avatar
      tile: use __ro_after_init instead of tile-specific __write_once · 14e73e78
      Chris Metcalf authored
      The semantics of the old tile __write_once are the same as the
      newer generic __ro_after_init, so rename them all and get rid
      of the tile-specific version.
      
      This does not enable actual support for __ro_after_init,
      which had been dropped from the tile architecture before the
      initial upstreaming was done, since we had at that time switched
      to using 16MB huge pages to map the kernel.
      Signed-off-by: default avatarChris Metcalf <cmetcalf@mellanox.com>
      14e73e78
    • Paul Gortmaker's avatar
      tile: migrate exception table users off module.h and onto extable.h · 18bfd3e6
      Paul Gortmaker authored
      These files were only including module.h for exception table
      related functions.  We've now separated that content out into its
      own file "extable.h" so now move over to that and avoid all the
      extra header content in module.h that we don't really need to compile
      these files.
      
      Cc: Chris Metcalf <cmetcalf@mellanox.com>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarChris Metcalf <cmetcalf@mellanox.com>
      18bfd3e6
    • Chris Metcalf's avatar
      tile: remove #pragma unroll from finv_buffer_remote() · 870ee4ff
      Chris Metcalf authored
      This directive was put in the kernel source before the "pragma
      unroll" support for tilegx gcc was upstreamed.  Remove it for
      now, and we can put it back later if/when the compiler support
      is upstreamed.  This avoids a warning when building the kernel.
      
      This routine is not on a hot path in any case, so the extra
      optimization here was mostly just for its own sake.
      Signed-off-by: default avatarChris Metcalf <cmetcalf@mellanox.com>
      870ee4ff
    • Markus Elfring's avatar
      tile-module: Rename jump labels in module_alloc() · 8e36f722
      Markus Elfring authored
      Adjust jump labels according to the current Linux coding style convention.
      Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
      Signed-off-by: default avatarChris Metcalf <cmetcalf@mellanox.com>
      8e36f722
    • Markus Elfring's avatar
      tile-module: Use kmalloc_array() in module_alloc() · 8797fe75
      Markus Elfring authored
      * A multiplication for the size determination of a memory allocation
        indicated that an array data structure should be processed.
        Thus use the corresponding function "kmalloc_array".
      
      * Replace the specification of a data type by a pointer dereference
        to make the corresponding size determination a bit safer according to
        the Linux coding style convention.
      Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
      Signed-off-by: default avatarChris Metcalf <cmetcalf@mellanox.com>
      8797fe75
    • Colin Ian King's avatar
      tile/pci_gx: fix spelling mistake: "delievered" -> "delivered" · 65f62ce8
      Colin Ian King authored
      trivial fix to spelling mistake in pr_warn message
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarChris Metcalf <cmetcalf@mellanox.com>
      65f62ce8
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-4.10-rc1' of git://github.com/ceph/ceph-client · 59331c21
      Linus Torvalds authored
      Pull ceph updates from Ilya Dryomov:
       "A varied set of changes:
      
         - a large rework of cephx auth code to cope with CONFIG_VMAP_STACK
           (myself). Also fixed a deadlock caused by a bogus allocation on the
           writeback path and authorize reply verification.
      
         - a fix for long stalls during fsync (Jeff Layton). The client now
           has a way to force the MDS log flush, leading to ~100x speedups in
           some synthetic tests.
      
         - a new [no]require_active_mds mount option (Zheng Yan).
      
           On mount, we will now check whether any of the MDSes are available
           and bail rather than block if none are. This check can be avoided
           by specifying the "no" option.
      
         - a couple of MDS cap handling fixes and a few assorted patches
           throughout"
      
      * tag 'ceph-for-4.10-rc1' of git://github.com/ceph/ceph-client: (32 commits)
        libceph: remove now unused finish_request() wrapper
        libceph: always signal completion when done
        ceph: avoid creating orphan object when checking pool permission
        ceph: properly set issue_seq for cap release
        ceph: add flags parameter to send_cap_msg
        ceph: update cap message struct version to 10
        ceph: define new argument structure for send_cap_msg
        ceph: move xattr initialzation before the encoding past the ceph_mds_caps
        ceph: fix minor typo in unsafe_request_wait
        ceph: record truncate size/seq for snap data writeback
        ceph: check availability of mds cluster on mount
        ceph: fix splice read for no Fc capability case
        ceph: try getting buffer capability for readahead/fadvise
        ceph: fix scheduler warning due to nested blocking
        ceph: fix printing wrong return variable in ceph_direct_read_write()
        crush: include mapper.h in mapper.c
        rbd: silence bogus -Wmaybe-uninitialized warning
        libceph: no need to drop con->mutex for ->get_authorizer()
        libceph: drop len argument of *verify_authorizer_reply()
        libceph: verify authorize reply on connect
        ...
      59331c21
    • Linus Torvalds's avatar
      Merge branch 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · ff0f962c
      Linus Torvalds authored
      Pull overlayfs updates from Miklos Szeredi:
       "This update contains:
      
         - try to clone on copy-up
      
         - allow renaming a directory
      
         - split source into managable chunks
      
         - misc cleanups and fixes
      
        It does not contain the read-only fd data inconsistency fix, which Al
        didn't like. I'll leave that to the next year..."
      
      * 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs: (36 commits)
        ovl: fix reStructuredText syntax errors in documentation
        ovl: fix return value of ovl_fill_super
        ovl: clean up kstat usage
        ovl: fold ovl_copy_up_truncate() into ovl_copy_up()
        ovl: create directories inside merged parent opaque
        ovl: opaque cleanup
        ovl: show redirect_dir mount option
        ovl: allow setting max size of redirect
        ovl: allow redirect_dir to default to "on"
        ovl: check for emptiness of redirect dir
        ovl: redirect on rename-dir
        ovl: lookup redirects
        ovl: consolidate lookup for underlying layers
        ovl: fix nested overlayfs mount
        ovl: check namelen
        ovl: split super.c
        ovl: use d_is_dir()
        ovl: simplify lookup
        ovl: check lower existence of rename target
        ovl: rename: simplify handling of lower/merged directory
        ...
      ff0f962c
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 087a76d3
      Linus Torvalds authored
      Pull btrfs updates from Chris Mason:
       "Jeff Mahoney and Dave Sterba have a really nice set of cleanups in
        here, and Christoph pitched in corrections/improvements to make btrfs
        use proper helpers for bio walking instead of doing it by hand.
      
        There are some key fixes as well, including some long standing bugs
        that took forever to track down in btrfs_drop_extents and during
        balance"
      
      * 'for-linus-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (77 commits)
        btrfs: limit async_work allocation and worker func duration
        Revert "Btrfs: adjust len of writes if following a preallocated extent"
        Btrfs: don't WARN() in btrfs_transaction_abort() for IO errors
        btrfs: opencode chunk locking, remove helpers
        btrfs: remove root parameter from transaction commit/end routines
        btrfs: split btrfs_wait_marked_extents into normal and tree log functions
        btrfs: take an fs_info directly when the root is not used otherwise
        btrfs: simplify btrfs_wait_cache_io prototype
        btrfs: convert extent-tree tracepoints to use fs_info
        btrfs: root->fs_info cleanup, access fs_info->delayed_root directly
        btrfs: root->fs_info cleanup, add fs_info convenience variables
        btrfs: root->fs_info cleanup, update_block_group{,flags}
        btrfs: root->fs_info cleanup, lock/unlock_chunks
        btrfs: root->fs_info cleanup, btrfs_calc_{trans,trunc}_metadata_size
        btrfs: pull node/sector/stripe sizes out of root and into fs_info
        btrfs: root->fs_info cleanup, io_ctl_init
        btrfs: root->fs_info cleanup, use fs_info->dev_root everywhere
        btrfs: struct reada_control.root -> reada_control.fs_info
        btrfs: struct btrfsic_state->root should be an fs_info
        btrfs: alloc_reserved_file_extent trace point should use extent_root
        ...
      087a76d3
    • Linus Torvalds's avatar
      Merge tag 'nfsd-4.10' of git://linux-nfs.org/~bfields/linux · 759b2656
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "The one new feature is support for a new NFSv4.2 mode_umask attribute
        that makes ACL inheritance a little more useful in environments that
        default to restrictive umasks. Requires client-side support, also on
        its way for 4.10.
      
        Other than that, miscellaneous smaller fixes and cleanup, especially
        to the server rdma code"
      
      [ The client side of the umask attribute was merged yesterday ]
      
      * tag 'nfsd-4.10' of git://linux-nfs.org/~bfields/linux:
        nfsd: add support for the umask attribute
        sunrpc: use DEFINE_SPINLOCK()
        svcrdma: Further clean-up of svc_rdma_get_inv_rkey()
        svcrdma: Break up dprintk format in svc_rdma_accept()
        svcrdma: Remove unused variable in rdma_copy_tail()
        svcrdma: Remove unused variables in xprt_rdma_bc_allocate()
        svcrdma: Remove svc_rdma_op_ctxt::wc_status
        svcrdma: Remove DMA map accounting
        svcrdma: Remove BH-disabled spin locking in svc_rdma_send()
        svcrdma: Renovate sendto chunk list parsing
        svcauth_gss: Close connection when dropping an incoming message
        svcrdma: Clear xpt_bc_xps in xprt_setup_rdma_bc() error exit arm
        nfsd: constify reply_cache_stats_operations structure
        nfsd: update workqueue creation
        sunrpc: GFP_KERNEL should be GFP_NOFS in crypto code
        nfsd: catch errors in decode_fattr earlier
        nfsd: clean up supported attribute handling
        nfsd: fix error handling for clients that fail to return the layout
        nfsd: more robust allocation failure handling in nfsd_reply_cache_init
      759b2656
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 9a19a6db
      Linus Torvalds authored
      Pull vfs updates from Al Viro:
      
       - more ->d_init() stuff (work.dcache)
      
       - pathname resolution cleanups (work.namei)
      
       - a few missing iov_iter primitives - copy_from_iter_full() and
         friends. Either copy the full requested amount, advance the iterator
         and return true, or fail, return false and do _not_ advance the
         iterator. Quite a few open-coded callers converted (and became more
         readable and harder to fuck up that way) (work.iov_iter)
      
       - several assorted patches, the big one being logfs removal
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        logfs: remove from tree
        vfs: fix put_compat_statfs64() does not handle errors
        namei: fold should_follow_link() with the step into not-followed link
        namei: pass both WALK_GET and WALK_MORE to should_follow_link()
        namei: invert WALK_PUT logics
        namei: shift interpretation of LOOKUP_FOLLOW inside should_follow_link()
        namei: saner calling conventions for mountpoint_last()
        namei.c: get rid of user_path_parent()
        switch getfrag callbacks to ..._full() primitives
        make skb_add_data,{_nocache}() and skb_copy_to_page_nocache() advance only on success
        [iov_iter] new primitives - copy_from_iter_full() and friends
        don't open-code file_inode()
        ceph: switch to use of ->d_init()
        ceph: unify dentry_operations instances
        lustre: switch to use of ->d_init()
      9a19a6db
    • Linus Torvalds's avatar
      Merge tag 'media/v4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · bd9999cd
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - new Mediatek drivers: mtk-mdp and mtk-vcodec
      
       - some additions at the media documentation
      
       - the CEC core and drivers were promoted from staging to mainstream
      
       - some cleanups at the DVB core
      
       - the LIRC serial driver got promoted from staging to mainstream
      
       - added a driver for Renesas R-Car FDP1 driver
      
       - add DVBv5 statistics support to mn88473 driver
      
       - several fixes related to printk continuation lines
      
       - add support for HSV encoding formats
      
       - lots of other cleanups, fixups and driver improvements.
      
      * tag 'media/v4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (496 commits)
        [media] v4l: tvp5150: Add missing break in set control handler
        [media] v4l: tvp5150: Don't inline the tvp5150_selmux() function
        [media] v4l: tvp5150: Compile tvp5150_link_setup out if !CONFIG_MEDIA_CONTROLLER
        [media] em28xx: don't store usb_device at struct em28xx
        [media] em28xx: use usb_interface for dev_foo() calls
        [media] em28xx: don't change the device's name
        [media] mn88472: fix chip id check on probe
        [media] mn88473: fix chip id check on probe
        [media] lirc: fix error paths in lirc_cdev_add()
        [media] s5p-mfc: Add support for MFC v8 available in Exynos 5433 SoCs
        [media] s5p-mfc: Rework clock handling
        [media] s5p-mfc: Don't keep clock prepared all the time
        [media] s5p-mfc: Kill all IS_ERR_OR_NULL in clocks management code
        [media] s5p-mfc: Remove dead conditional code
        [media] s5p-mfc: Ensure that clock is disabled before turning power off
        [media] s5p-mfc: Remove special clock rate management
        [media] s5p-mfc: Use printk_ratelimited for reporting ioctl errors
        [media] s5p-mfc: Set DMA_ATTR_ALLOC_SINGLE_PAGES
        [media] vivid: Set color_enc on HSV formats
        [media] v4l2-tpg: Init hv_enc field with a valid value
        ...
      bd9999cd
    • Linus Torvalds's avatar
      Merge tag 'edac/v4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac · 9dfe495c
      Linus Torvalds authored
      Pull edac updates from Mauro Carvalho Chehab:
       "This contains the conversion of the EDAC uAPI documentation to ReST
        and the addition of the EDAC kAPI documentation to the driver-api
        docs.
      
        It also splits the EDAC headers by their functions"
      
      * tag 'edac/v4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac:
        EDAC: Document HW_EVENT_ERR_DEFERRED type
        edac.rst: move concepts dictionary from edac.h
        edac: fix kenel-doc markups at edac.h
        edac: fix kernel-doc tags at the drivers/edac_*.h
        edac: adjust docs location at MAINTAINERS and 00-INDEX
        driver-api: create an edac.rst file with EDAC documentation
        edac: move documentation from edac_mc.c to edac_core.h
        edac: move documentation from edac_pci*.c to edac_pci.h
        edac: move documentation from edac_device to edac_core.h
        edac: rename edac_core.h to edac_mc.h
        edac: move EDAC device definitions to drivers/edac/edac_device.h
        edac: move EDAC PCI definitions to drivers/edac/edac_pci.h
        docs-rst: admin-guide: add documentation for EDAC
        edac.txt: Improve documentation, adding RAS introduction
        edac.txt: update information about newer Intel CPUs
        edac.txt: remove info that the Nehalem EDAC is experimental
        edac.txt: convert EDAC documentation to ReST
        edac.txt: add a section explaining the dimmX and rankX directories
        edac: edac_core.h: remove prototype for edac_pci_reset_delay_period()
        edac: edac_core.h: get rid of unused kobj_complete
      9dfe495c
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · 9936f44a
      Linus Torvalds authored
      Pull UML update from Richard Weinberger:
       "A performance enhancement for UML's block driver"
      
      * 'for-linus-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: UBD Improvements
      9936f44a
    • Linus Torvalds's avatar
      Merge tag 'nios2-v4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2 · 70f56cbb
      Linus Torvalds authored
      Pull arch/nios2 updates from Ley Foon Tan:
      
       - add screen_info
      
       - Convert pfn_valid to static inline
      
       - Extend !__ASSEMBLY__ section in asm/page.h
      
      * tag 'nios2-v4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2:
        nios2: add screen_info
        nios2: Convert pfn_valid to static inline
        nios2: Extend !__ASSEMBLY__ section in asm/page.h
      70f56cbb
    • Dmitry Torokhov's avatar
      Merge branch 'next' into for-linus · f26e8817
      Dmitry Torokhov authored
      Prepare input updates for 4.10 merge window.
      f26e8817
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · de399813
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
       "Highlights include:
      
         - Support for the kexec_file_load() syscall, which is a prereq for
           secure and trusted boot.
      
         - Prevent kernel execution of userspace on P9 Radix (similar to
           SMEP/PXN).
      
         - Sort the exception tables at build time, to save time at boot, and
           store them as relative offsets to save space in the kernel image &
           memory.
      
         - Allow building the kernel with thin archives, which should allow us
           to build an allyesconfig once some other fixes land.
      
         - Build fixes to allow us to correctly rebuild when changing the
           kernel endian from big to little or vice versa.
      
         - Plumbing so that we can avoid doing a full mm TLB flush on P9
           Radix.
      
         - Initial stack protector support (-fstack-protector).
      
         - Support for dumping the radix (aka. Linux) and hash page tables via
           debugfs.
      
         - Fix an oops in cxl coredump generation when cxl_get_fd() is used.
      
         - Freescale updates from Scott: "Highlights include 8xx hugepage
           support, qbman fixes/cleanup, device tree updates, and some misc
           cleanup."
      
         - Many and varied fixes and minor enhancements as always.
      
        Thanks to:
          Alexey Kardashevskiy, Andrew Donnellan, Aneesh Kumar K.V, Anshuman
          Khandual, Anton Blanchard, Balbir Singh, Bartlomiej Zolnierkiewicz,
          Christophe Jaillet, Christophe Leroy, Denis Kirjanov, Elimar
          Riesebieter, Frederic Barrat, Gautham R. Shenoy, Geliang Tang, Geoff
          Levand, Jack Miller, Johan Hovold, Lars-Peter Clausen, Libin,
          Madhavan Srinivasan, Michael Neuling, Nathan Fontenot, Naveen N.
          Rao, Nicholas Piggin, Pan Xinhui, Peter Senna Tschudin, Rashmica
          Gupta, Rui Teng, Russell Currey, Scott Wood, Simon Guo, Suraj
          Jitindar Singh, Thiago Jung Bauermann, Tobias Klauser, Vaibhav Jain"
      
      [ And thanks to Michael, who took time off from a new baby to get this
        pull request done.   - Linus ]
      
      * tag 'powerpc-4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (174 commits)
        powerpc/fsl/dts: add FMan node for t1042d4rdb
        powerpc/fsl/dts: add sg_2500_aqr105_phy4 alias on t1024rdb
        powerpc/fsl/dts: add QMan and BMan nodes on t1024
        powerpc/fsl/dts: add QMan and BMan nodes on t1023
        soc/fsl/qman: test: use DEFINE_SPINLOCK()
        powerpc/fsl-lbc: use DEFINE_SPINLOCK()
        powerpc/8xx: Implement support of hugepages
        powerpc: get hugetlbpage handling more generic
        powerpc: port 64 bits pgtable_cache to 32 bits
        powerpc/boot: Request no dynamic linker for boot wrapper
        soc/fsl/bman: Use resource_size instead of computation
        soc/fsl/qe: use builtin_platform_driver
        powerpc/fsl_pmc: use builtin_platform_driver
        powerpc/83xx/suspend: use builtin_platform_driver
        powerpc/ftrace: Fix the comments for ftrace_modify_code
        powerpc/perf: macros for power9 format encoding
        powerpc/perf: power9 raw event format encoding
        powerpc/perf: update attribute_group data structure
        powerpc/perf: factor out the event format field
        powerpc/mm/iommu, vfio/spapr: Put pages on VFIO container shutdown
        ...
      de399813
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 57ca04ab
      Linus Torvalds authored
      Pull m ore s390 updates from Martin Schwidefsky:
       "Over 95% of the changes in this pull request are related to the zcrypt
        driver. There are five improvements for zcrypt: the ID for the CEX6
        cards is added, workload balancing and multi-domain support are
        introduced, the debug logs are overhauled and a set of tracepoints is
        added.
      
        Then there are several patches in regard to inline assemblies. One
        compile fix and several missing memory clobbers. As far as we can tell
        the omitted memory clobbers have not caused any breakage.
      
        A small change to the PCI arch code, the machine can tells us how big
        the function measurement blocks are. The PCI function measurement will
        be disabled for a device if the queried length is larger than the
        allocated size for these blocks.
      
        And two more patches to correct five printk messages.
      
        That is it for s390 in regard to the 4.10 merge window. Happy holidays"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (23 commits)
        s390/pci: query fmb length
        s390/zcrypt: add missing memory clobber to ap_qci inline assembly
        s390/extmem: add missing memory clobber to dcss_set_subcodes
        s390/nmi: fix inline assembly constraints
        s390/lib: add missing memory barriers to string inline assemblies
        s390/cpumf: fix qsi inline assembly
        s390/setup: reword printk messages
        s390/dasd: fix typos in DASD error messages
        s390: fix compile error with memmove_early() inline assembly
        s390/zcrypt: tracepoint definitions for zcrypt device driver.
        s390/zcrypt: Rework debug feature invocations.
        s390/zcrypt: Improved invalid domain response handling.
        s390/zcrypt: Fix ap_max_domain_id for older machine types
        s390/zcrypt: Correct function bits for CEX2x and CEX3x cards.
        s390/zcrypt: Fixed attrition of AP adapters and domains
        s390/zcrypt: Introduce new zcrypt device status API
        s390/zcrypt: add multi domain support
        s390/zcrypt: Introduce workload balancing
        s390/zcrypt: get rid of ap_poll_requests
        s390/zcrypt: header for the AP inline assmblies
        ...
      57ca04ab
    • Amir Goldstein's avatar
      ovl: fix reStructuredText syntax errors in documentation · c3c86996
      Amir Goldstein authored
       - Fix broken long line block quote
       - Fix missing newline before bullets list
       - Use correct numbered list syntax
      Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      c3c86996
    • Geliang Tang's avatar
      ovl: fix return value of ovl_fill_super · 313684c4
      Geliang Tang authored
      If kcalloc() failed, the return value of ovl_fill_super() is -EINVAL,
      not -ENOMEM. So this patch sets this value to -ENOMEM before calling
      kcalloc(), and sets it back to -EINVAL after calling kcalloc().
      Signed-off-by: default avatarGeliang Tang <geliangtang@gmail.com>
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      313684c4
    • Al Viro's avatar
      ovl: clean up kstat usage · 32a3d848
      Al Viro authored
      FWIW, there's a bit of abuse of struct kstat in overlayfs object
      creation paths - for one thing, it ends up with a very small subset
      of struct kstat (mode + rdev), for another it also needs link in
      case of symlinks and ends up passing it separately.
      
      IMO it would be better to introduce a separate object for that.
      
      In principle, we might even lift that thing into general API and switch
       ->mkdir()/->mknod()/->symlink() to identical calling conventions.  Hell
      knows, perhaps ->create() as well...
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      32a3d848
    • Amir Goldstein's avatar
      ovl: fold ovl_copy_up_truncate() into ovl_copy_up() · 9aba6521
      Amir Goldstein authored
      This removes code duplication.
      Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      9aba6521
    • Amir Goldstein's avatar
      ovl: create directories inside merged parent opaque · 97c684cc
      Amir Goldstein authored
      The benefit of making directories opaque on creation is that lookups can
      stop short when they reach the original created directory, instead of
      continue lookup the entire depth of parent directory stack.
      
      The best case is overlay with N layers, performing lookup for first level
      directory, which exists only in upper.  In that case, there will be only
      one lookup instead of N.
      Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      97c684cc
    • Miklos Szeredi's avatar
      ovl: opaque cleanup · 5cf5b477
      Miklos Szeredi authored
      oe->opaque is set for
      
       a) whiteouts
       b) directories having the "trusted.overlay.opaque" xattr
      
      Case b can be simplified, since setting the xattr always implies setting
      oe->opaque.  Also once set, the opaque flag is never cleared.
      
      Don't need to set opaque flag for non-directories.
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      5cf5b477
    • Amir Goldstein's avatar
      ovl: show redirect_dir mount option · c5bef3a7
      Amir Goldstein authored
      Show the value of redirect_dir in /proc/mounts.
      Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      c5bef3a7
    • Miklos Szeredi's avatar
      ovl: allow setting max size of redirect · 3ea22a71
      Miklos Szeredi authored
      Add a module option to allow tuning the max size of absolute redirects.
      Default is 256.
      
      Size of relative redirects is naturally limited by the the underlying
      filesystem's max filename length (usually 255).
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      3ea22a71
    • Miklos Szeredi's avatar
      ovl: allow redirect_dir to default to "on" · 688ea0e5
      Miklos Szeredi authored
      This patch introduces a kernel config option and a module param.  Both can
      be used independently to turn the default value of redirect_dir on or off.
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      688ea0e5