1. 17 Nov, 2017 15 commits
    • Linus Torvalds's avatar
      Merge tag 'ecryptfs-4.15-rc1-fixes' of... · e0bcb42e
      Linus Torvalds authored
      Merge tag 'ecryptfs-4.15-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs
      
      Pull eCryptfs updates from Tyler Hicks:
      
       - miscellaneous code cleanups and refactoring
      
       - fix a possible use after free bug when unloading the module
      
      * tag 'ecryptfs-4.15-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:
        eCryptfs: constify attribute_group structures.
        ecryptfs: remove unnecessary i_version bump
        ecryptfs: use ARRAY_SIZE
        ecryptfs: Adjust four checks for null pointers
        ecryptfs: Return an error code only as a constant in ecryptfs_add_global_auth_tok()
        ecryptfs: Delete 21 error messages for a failed memory allocation
        eCryptfs: use after free in ecryptfs_release_messaging()
        ecryptfs: remove private bin2hex implementation
        ecryptfs: add missing \n to end of various error messages
      e0bcb42e
    • Linus Torvalds's avatar
      Merge tag 'xfs-4.15-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · b6b220b0
      Linus Torvalds authored
      Pull xfs fixes from Darrick Wong:
       "A couple more patches to fix a locking bug and some inconsistent type
        usage in some of the new code:
      
         - Fix a forgotten rcu read unlock
      
         - Fix some inconsistent integer type usage"
      
      * tag 'xfs-4.15-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: fix type usage
        xfs: fix forgotten rcu read unlock when skipping inode reclaim
      b6b220b0
    • Linus Torvalds's avatar
      Merge branch 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · b04a2342
      Linus Torvalds authored
      Pull overlayfs updates from Miklos Szeredi:
      
       - Report constant st_ino values across copy-up even if underlying
         layers are on different filesystems, but using different st_dev
         values for each layer.
      
         Ideally we'd report the same st_dev across the overlay, and it's
         possible to do for filesystems that use only 32bits for st_ino by
         unifying the inum space. It would be nice if it wasn't a choice of 32
         or 64, rather filesystems could report their current maximum (that
         could change on resize, so it wouldn't be set in stone).
      
       - miscellaneus fixes and a cleanup of ovl_fill_super(), that was long
         overdue.
      
       - created a path_put_init() helper that clears out the pointers after
         putting the ref.
      
         I think this could be useful elsewhere, so added it to <linux/path.h>
      
      * 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs: (30 commits)
        ovl: remove unneeded arg from ovl_verify_origin()
        ovl: Put upperdentry if ovl_check_origin() fails
        ovl: rename ufs to ofs
        ovl: clean up getting lower layers
        ovl: clean up workdir creation
        ovl: clean up getting upper layer
        ovl: move ovl_get_workdir() and ovl_get_lower_layers()
        ovl: reduce the number of arguments for ovl_workdir_create()
        ovl: change order of setup in ovl_fill_super()
        ovl: factor out ovl_free_fs() helper
        ovl: grab reference to workbasedir early
        ovl: split out ovl_get_indexdir() from ovl_fill_super()
        ovl: split out ovl_get_lower_layers() from ovl_fill_super()
        ovl: split out ovl_get_workdir() from ovl_fill_super()
        ovl: split out ovl_get_upper() from ovl_fill_super()
        ovl: split out ovl_get_lowerstack() from ovl_fill_super()
        ovl: split out ovl_get_workpath() from ovl_fill_super()
        ovl: split out ovl_get_upperpath() from ovl_fill_super()
        ovl: use path_put_init() in error paths for ovl_fill_super()
        vfs: add path_put_init()
        ...
      b04a2342
    • Linus Torvalds's avatar
      Merge tag 'locks-v4.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux · 5a3e0b19
      Linus Torvalds authored
      Pull file locking update from Jeff Layton:
       "A couple of fixes for a patch that went into v4.14, and the bug report
        just came in a few days ago.. It passes my (minimal) testing, and has
        been in linux-next for a few days now.
      
        I also would like to get my address changed in MAINTAINERS to clear
        that hurdle"
      
      * tag 'locks-v4.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
        fcntl: don't cap l_start and l_end values for F_GETLK64 in compat syscall
        fcntl: don't leak fd reference when fixup_compat_flock fails
        MAINTAINERS: s/jlayton@poochiereds.net/jlayton@kernel.org/
      5a3e0b19
    • Linus Torvalds's avatar
      Merge branch 'work.cramfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · cbda1b27
      Linus Torvalds authored
      Pull cramfs updates from Al Viro:
       "Nicolas Pitre's cramfs work"
      
      * 'work.cramfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        cramfs: rehabilitate it
        cramfs: add mmap support
        cramfs: implement uncompressed and arbitrary data block positioning
        cramfs: direct memory access support
      cbda1b27
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · ca5b857c
      Linus Torvalds authored
      Pull misc vfs updates from Al Viro:
       "Assorted stuff, really no common topic here"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        vfs: grab the lock instead of blocking in __fd_install during resizing
        vfs: stop clearing close on exec when closing a fd
        include/linux/fs.h: fix comment about struct address_space
        fs: make fiemap work from compat_ioctl
        coda: fix 'kernel memory exposure attempt' in fsync
        pstore: remove unneeded unlikely()
        vfs: remove unneeded unlikely()
        stubs for mount_bdev() and kill_block_super() in !CONFIG_BLOCK case
        make vfs_ustat() static
        do_handle_open() should be static
        elf_fdpic: fix unused variable warning
        fold destroy_super() into __put_super()
        new helper: destroy_unused_super()
        fix address space warnings in ipc/
        acct.h: get rid of detritus
      ca5b857c
    • Linus Torvalds's avatar
      Merge branch 'work.get_user_pages_fast' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · a0e136e5
      Linus Torvalds authored
      Pull get_user_pages_fast() conversion from Al Viro:
       "A bunch of places switched to get_user_pages_fast()"
      
      * 'work.get_user_pages_fast' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        ceph: use get_user_pages_fast()
        pvr2fs: use get_user_pages_fast()
        atomisp: use get_user_pages_fast()
        st: use get_user_pages_fast()
        via_dmablit(): use get_user_pages_fast()
        fsl_hypervisor: switch to get_user_pages_fast()
        rapidio: switch to get_user_pages_fast()
        vchiq_2835_arm: switch to get_user_pages_fast()
      a0e136e5
    • Linus Torvalds's avatar
      Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 16382e17
      Linus Torvalds authored
      Pull iov_iter updates from Al Viro:
      
       - bio_{map,copy}_user_iov() series; those are cleanups - fixes from the
         same pile went into mainline (and stable) in late September.
      
       - fs/iomap.c iov_iter-related fixes
      
       - new primitive - iov_iter_for_each_range(), which applies a function
         to kernel-mapped segments of an iov_iter.
      
         Usable for kvec and bvec ones, the latter does kmap()/kunmap() around
         the callback. _Not_ usable for iovec- or pipe-backed iov_iter; the
         latter is not hard to fix if the need ever appears, the former is by
         design.
      
         Another related primitive will have to wait for the next cycle - it
         passes page + offset + size instead of pointer + size, and that one
         will be usable for everything _except_ kvec. Unfortunately, that one
         didn't get exposure in -next yet, so...
      
       - a bit more lustre iov_iter work, including a use case for
         iov_iter_for_each_range() (checksum calculation)
      
       - vhost/scsi leak fix in failure exit
      
       - misc cleanups and detritectomy...
      
      * 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (21 commits)
        iomap_dio_actor(): fix iov_iter bugs
        switch ksocknal_lib_recv_...() to use of iov_iter_for_each_range()
        lustre: switch struct ksock_conn to iov_iter
        vhost/scsi: switch to iov_iter_get_pages()
        fix a page leak in vhost_scsi_iov_to_sgl() error recovery
        new primitive: iov_iter_for_each_range()
        lnet_return_rx_credits_locked: don't abuse list_entry
        xen: don't open-code iov_iter_kvec()
        orangefs: remove detritus from struct orangefs_kiocb_s
        kill iov_shorten()
        bio_alloc_map_data(): do bmd->iter setup right there
        bio_copy_user_iov(): saner bio size calculation
        bio_map_user_iov(): get rid of copying iov_iter
        bio_copy_from_iter(): get rid of copying iov_iter
        move more stuff down into bio_copy_user_iov()
        blk_rq_map_user_iov(): move iov_iter_advance() down
        bio_map_user_iov(): get rid of the iov_for_each()
        bio_map_user_iov(): move alignment check into the main loop
        don't rely upon subsequent bio_add_pc_page() calls failing
        ... and with iov_iter_get_pages_alloc() it becomes even simpler
        ...
      16382e17
    • Linus Torvalds's avatar
      Merge branch 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 93f30c73
      Linus Torvalds authored
      Pull compat and uaccess updates from Al Viro:
      
       - {get,put}_compat_sigset() series
      
       - assorted compat ioctl stuff
      
       - more set_fs() elimination
      
       - a few more timespec64 conversions
      
       - several removals of pointless access_ok() in places where it was
         followed only by non-__ variants of primitives
      
      * 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (24 commits)
        coredump: call do_unlinkat directly instead of sys_unlink
        fs: expose do_unlinkat for built-in callers
        ext4: take handling of EXT4_IOC_GROUP_ADD into a helper, get rid of set_fs()
        ipmi: get rid of pointless access_ok()
        pi433: sanitize ioctl
        cxlflash: get rid of pointless access_ok()
        mtdchar: get rid of pointless access_ok()
        r128: switch compat ioctls to drm_ioctl_kernel()
        selection: get rid of field-by-field copyin
        VT_RESIZEX: get rid of field-by-field copyin
        i2c compat ioctls: move to ->compat_ioctl()
        sched_rr_get_interval(): move compat to native, get rid of set_fs()
        mips: switch to {get,put}_compat_sigset()
        sparc: switch to {get,put}_compat_sigset()
        s390: switch to {get,put}_compat_sigset()
        ppc: switch to {get,put}_compat_sigset()
        parisc: switch to {get,put}_compat_sigset()
        get_compat_sigset()
        get rid of {get,put}_compat_itimerspec()
        io_getevents: Use timespec64 to represent timeouts
        ...
      93f30c73
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 06ede5f6
      Linus Torvalds authored
      Pull more block layer updates from Jens Axboe:
       "A followup pull request, with some parts that either needed a bit more
        testing before going in, merge sync, or just later arriving fixes.
        This contains:
      
         - Timer related updates from Kees. These were purposefully delayed
           since I didn't want to pull in a later v4.14-rc tag to my block
           tree.
      
         - ide-cd prep sense buffer fix from Bart. Also delayed, as not to
           clash with the late fix we put into 4.14-rc.
      
         - Small BFQ updates series from Luca and Paolo.
      
         - Single nvmet fix from James, fixing a non-functional case there.
      
         - Bio fast clone fix from Michael, which made bcache return the wrong
           data for some cases.
      
         - Legacy IO path regression hang fix from Ming"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        bio: ensure __bio_clone_fast copies bi_partno
        nvmet_fc: fix better length checking
        block: wake up all tasks blocked in get_request()
        block, bfq: move debug blkio stats behind CONFIG_DEBUG_BLK_CGROUP
        block, bfq: update blkio stats outside the scheduler lock
        block, bfq: add missing invocations of bfqg_stats_update_io_add/remove
        doc, block, bfq: update max IOPS sustainable with BFQ
        ide: Make ide_cdrom_prep_fs() initialize the sense buffer pointer
        md: Convert timers to use timer_setup()
        block: swim3: Convert timers to use timer_setup()
        block/aoe: Convert timers to use timer_setup()
        amifloppy: Convert timers to use timer_setup()
        block/floppy: Convert callback to pass timer_list
      06ede5f6
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · a3841f94
      Linus Torvalds authored
      Pull libnvdimm and dax updates from Dan Williams:
       "Save for a few late fixes, all of these commits have shipped in -next
        releases since before the merge window opened, and 0day has given a
        build success notification.
      
        The ext4 touches came from Jan, and the xfs touches have Darrick's
        reviewed-by. An xfstest for the MAP_SYNC feature has been through
        a few round of reviews and is on track to be merged.
      
         - Introduce MAP_SYNC and MAP_SHARED_VALIDATE, a mechanism to enable
           'userspace flush' of persistent memory updates via filesystem-dax
           mappings. It arranges for any filesystem metadata updates that may
           be required to satisfy a write fault to also be flushed ("on disk")
           before the kernel returns to userspace from the fault handler.
           Effectively every write-fault that dirties metadata completes an
           fsync() before returning from the fault handler. The new
           MAP_SHARED_VALIDATE mapping type guarantees that the MAP_SYNC flag
           is validated as supported by the filesystem's ->mmap() file
           operation.
      
         - Add support for the standard ACPI 6.2 label access methods that
           replace the NVDIMM_FAMILY_INTEL (vendor specific) label methods.
           This enables interoperability with environments that only implement
           the standardized methods.
      
         - Add support for the ACPI 6.2 NVDIMM media error injection methods.
      
         - Add support for the NVDIMM_FAMILY_INTEL v1.6 DIMM commands for
           latch last shutdown status, firmware update, SMART error injection,
           and SMART alarm threshold control.
      
         - Cleanup physical address information disclosures to be root-only.
      
         - Fix revalidation of the DIMM "locked label area" status to support
           dynamic unlock of the label area.
      
         - Expand unit test infrastructure to mock the ACPI 6.2 Translate SPA
           (system-physical-address) command and error injection commands.
      
        Acknowledgements that came after the commits were pushed to -next:
      
         - 957ac8c4 ("dax: fix PMD faults on zero-length files"):
      Reviewed-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      
         - a39e596b ("xfs: support for synchronous DAX faults") and
           7b565c9f ("xfs: Implement xfs_filemap_pfn_mkwrite() using __xfs_filemap_fault()")
              Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>"
      
      * tag 'libnvdimm-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (49 commits)
        acpi, nfit: add 'Enable Latch System Shutdown Status' command support
        dax: fix general protection fault in dax_alloc_inode
        dax: fix PMD faults on zero-length files
        dax: stop requiring a live device for dax_flush()
        brd: remove dax support
        dax: quiet bdev_dax_supported()
        fs, dax: unify IOMAP_F_DIRTY read vs write handling policy in the dax core
        tools/testing/nvdimm: unit test clear-error commands
        acpi, nfit: validate commands against the device type
        tools/testing/nvdimm: stricter bounds checking for error injection commands
        xfs: support for synchronous DAX faults
        xfs: Implement xfs_filemap_pfn_mkwrite() using __xfs_filemap_fault()
        ext4: Support for synchronous DAX faults
        ext4: Simplify error handling in ext4_dax_huge_fault()
        dax: Implement dax_finish_sync_fault()
        dax, iomap: Add support for synchronous faults
        mm: Define MAP_SYNC and VM_SYNC flags
        dax: Allow tuning whether dax_insert_mapping_entry() dirties entry
        dax: Allow dax_iomap_fault() to return pfn
        dax: Fix comment describing dax_iomap_fault()
        ...
      a3841f94
    • Linus Torvalds's avatar
      Merge tag 'for-4.15/dm-changes-2' of... · adeba81a
      Linus Torvalds authored
      Merge tag 'for-4.15/dm-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull  more device mapper updates from Mike Snitzer:
       "Given your expected travel I figured I'd get these fixes to you sooner
        rather than later.
      
         - a DM multipath stable@ fix to silence an annoying error message
           that isn't _really_ an error
      
         - a DM core @stable fix for discard support that was enabled for an
           entire DM device despite only having partial support for discards
           due to a mix of discard capabilities across the underlying devices.
      
         - a couple other DM core discard fixes.
      
         - a DM bufio @stable fix that resolves a 32-bit overflow"
      
      * tag 'for-4.15/dm-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm bufio: fix integer overflow when limiting maximum cache size
        dm: clear all discard attributes in queue_limits when discards are disabled
        dm: do not set 'discards_supported' in targets that do not need it
        dm: discard support requires all targets in a table support discards
        dm mpath: remove annoying message of 'blk_get_request() returned -11'
      adeba81a
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma · 854ac870
      Linus Torvalds authored
      Pull rdma maintainership update from Doug Ledford:
       "Add Jason Gunthorpe as co-maintainer of the RDMA stack.
      
        The change is simply to add Jason Gunthorpe to the MAINTAINERS file
        for the RDMA stack (and update him in the .mailmap). Jason and I have
        talked offline, and Jason will be filing a ticket with the k.o
        helpdesk to get an account on k.o, and then we will likely move the
        rdma tree to an area where we can both access it and use a shared repo
        + individual topic branches + merged up for-next branch as the staging
        basis for each release.
      
        Timing here is nice because in the US we are headed into a holiday
        period whereas Jason will be around to keep the patch flow progressing
        (I guess Canadians do their equivalent to Thanksgiving in October, so
        he doesn't have an excuse to ignore email for the next week ;-))"
      
      [ .. and Konstantin already got Jason his kernel.org account between the
        pull request and this actual pull    - Linus ]
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
        RDMA: Add Jason Gunthorpe as a co-maintainer
      854ac870
    • Michael Lyle's avatar
      bio: ensure __bio_clone_fast copies bi_partno · 62530ed8
      Michael Lyle authored
      A new field was introduced in 74d46992, bi_partno, instead of using
      bdev->bd_contains and encoding the partition information in the bi_bdev
      field.  __bio_clone_fast was changed to copy the disk information, but
      not the partition information.  At minimum, this regressed bcache and
      caused data corruption.
      Signed-off-by: default avatarMichael Lyle <mlyle@lyle.org>
      Fixes: 74d46992 ("block: replace bi_bdev with a gendisk pointer and partitions index")
      Reported-by: default avatarPavel Goran <via-bcache@pvgoran.name>
      Reported-by: default avatarCampbell Steven <casteven@gmail.com>
      Reviewed-by: default avatarColy Li <colyli@suse.de>
      Reviewed-by: default avatarMing Lei <ming.lei@redhat.com>
      Cc: <stable@vger.kernel.org> # 4.14
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      62530ed8
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · cf9b0772
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "This branch contains platform-related driver updates for ARM and
        ARM64, these are the areas that bring the changes:
      
        New drivers:
      
         - driver support for Renesas R-Car V3M (R8A77970)
      
         - power management support for Amlogic GX
      
         - a new driver for the Tegra BPMP thermal sensor
      
         - a new bus driver for Technologic Systems NBUS
      
        Changes for subsystems that prefer to merge through arm-soc:
      
         - the usual updates for reset controller drivers from Philipp Zabel,
           with five added drivers for SoCs in the arc, meson, socfpa,
           uniphier and mediatek families
      
         - updates to the ARM SCPI and PSCI frameworks, from Sudeep Holla,
           Heiner Kallweit and Lorenzo Pieralisi
      
        Changes specific to some ARM-based SoC
      
         - the Freescale/NXP DPAA QBMan drivers from PowerPC can now work on
           ARM as well
      
         - several changes for power management on Broadcom SoCs
      
         - various improvements on Qualcomm, Broadcom, Amlogic, Atmel,
           Mediatek
      
         - minor Cleanups for Samsung, TI OMAP SoCs"
      
      [ NOTE! This doesn't work without the previous ARM SoC device-tree pull,
        because the R8A77970 driver is missing a header file that came from
        that pull.
      
        The fact that this got merged afterwards only fixes it at this point,
        and bisection of that driver will fail if/when you walk into the
        history of that driver.           - Linus ]
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (96 commits)
        soc: amlogic: meson-gx-pwrc-vpu: fix power-off when powered by bootloader
        bus: add driver for the Technologic Systems NBUS
        memory: omap-gpmc: Remove deprecated gpmc_update_nand_reg()
        soc: qcom: remove unused label
        soc: amlogic: gx pm domain: add PM and OF dependencies
        drivers/firmware: psci_checker: Add missing destroy_timer_on_stack()
        dt-bindings: power: add amlogic meson power domain bindings
        soc: amlogic: add Meson GX VPU Domains driver
        soc: qcom: Remote filesystem memory driver
        dt-binding: soc: qcom: Add binding for rmtfs memory
        of: reserved_mem: Accessor for acquiring reserved_mem
        of/platform: Generalize /reserved-memory handling
        soc: mediatek: pwrap: fix fatal compiler error
        soc: mediatek: pwrap: fix compiler errors
        arm64: mediatek: cleanup message for platform selection
        soc: Allow test-building of MediaTek drivers
        soc: mediatek: place Kconfig for all SoC drivers under menu
        soc: mediatek: pwrap: add support for MT7622 SoC
        soc: mediatek: pwrap: add common way for setup CS timing extenstion
        soc: mediatek: pwrap: add MediaTek MT6380 as one slave of pwrap
        ..
      cf9b0772
  2. 16 Nov, 2017 25 commits
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 527d1470
      Linus Torvalds authored
      Pull ARM device-tree updates from Arnd Bergmann:
       "We add device tree files for a couple of additional SoCs in various
        areas:
      
        Allwinner R40/V40 for entertainment, Broadcom Hurricane 2 for
        networking, Amlogic A113D for audio, and Renesas R-Car V3M for
        automotive.
      
        As usual, lots of new boards get added based on those and other SoCs:
      
         - Actions S500 based CubieBoard6 single-board computer
      
         - Amlogic Meson-AXG A113D based development board
         - Amlogic S912 based Khadas VIM2 single-board computer
         - Amlogic S912 based Tronsmart Vega S96 set-top-box
      
         - Allwinner H5 based NanoPi NEO Plus2 single-board computer
         - Allwinner R40 based Banana Pi M2 Ultra and Berry single-board computers
         - Allwinner A83T based TBS A711 Tablet
      
         - Broadcom Hurricane 2 based Ubiquiti UniFi Switch 8
         - Broadcom bcm47xx based Luxul XAP-1440/XAP-810/ABR-4500/XBR-4500
           wireless access points and routers
      
         - NXP i.MX51 based Zodiac Inflight Innovations RDU1 board
         - NXP i.MX53 based GE Healthcare PPD biometric monitor
         - NXP i.MX6 based Pistachio single-board computer
         - NXP i.MX6 based Vining-2000 automotive diagnostic interface
         - NXP i.MX6 based Ka-Ro TX6 Computer-on-Module in additional variants
      
         - Qualcomm MSM8974 (Snapdragon 800) based Fairphone 2 phone
         - Qualcomm MSM8974pro (Snapdragon 801) based Sony Xperia Z2 Tablet
      
         - Realtek RTD1295 based set-top-boxes MeLE V9 and PROBOX2 AVA
      
         - Renesas R-Car V3M (R8A77970) SoC and "Eagle" reference board
         - Renesas H3ULCB and M3ULCB "Kingfisher" extension infotainment boards
         - Renasas r8a7745 based iWave G22D-SODIMM SoM
      
         - Rockchip rk3288 based Amarula Vyasa single-board computer
      
         - Samsung Exynos5800 based Odroid HC1 single-board computer
      
        For existing SoC support, there was a lot of ongoing work, as usual
        most of that concentrated on the Renesas, Rockchip, OMAP, i.MX,
        Amlogic and Allwinner platforms, but others were also active.
      
        Rob Herring and many others worked on reducing the number of issues
        that the latest version of 'dtc' now warns about. Unfortunately there
        is still a lot left to do.
      
        A rework of the ARM foundation model introduced several new files for
        common variations of the model"
      
      * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (599 commits)
        arm64: dts: uniphier: route on-board device IRQ to GPIO controller for PXs3
        dt-bindings: bus: Add documentation for the Technologic Systems NBUS
        arm64: dts: actions: s900-bubblegum-96: Add fake uart5 clock
        ARM: dts: owl-s500: Add CubieBoard6
        dt-bindings: arm: actions: Add CubieBoard6
        ARM: dts: owl-s500-guitar-bb-rev-b: Add fake uart3 clock
        ARM: dts: owl-s500: Set power domains for CPU2 and CPU3
        arm: dts: mt7623: remove unused compatible string for pio node
        arm: dts: mt7623: update usb related nodes
        arm: dts: mt7623: update crypto node
        ARM: dts: sun8i: a711: Enable USB OTG
        ARM: dts: sun8i: a711: Add regulator support
        ARM: dts: sun8i: a83t: bananapi-m3: Enable AP6212 WiFi on mmc1
        ARM: dts: sun8i: a83t: cubietruck-plus: Enable AP6330 WiFi on mmc1
        ARM: dts: sun8i: a83t: Move mmc1 pinctrl setting to dtsi file
        ARM: dts: sun8i: a83t: allwinner-h8homlet-v2: Add AXP818 regulator nodes
        ARM: dts: sun8i: a83t: bananapi-m3: Add AXP813 regulator nodes
        ARM: dts: sun8i: a83t: cubietruck-plus: Add AXP818 regulator nodes
        ARM: dts: sunxi: Add dtsi for AXP81x PMIC
        arm64: dts: allwinner: H5: Restore EMAC changes
        ...
      527d1470
    • Linus Torvalds's avatar
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 8c609698
      Linus Torvalds authored
      Pull ARM SoC platform updates from Arnd Bergmann:
       "Most of the commits are for defconfig changes, to enable newly added
        drivers or features that people have started using. For the changed
        lines lines, we have mostly cleanups, the affected platforms are OMAP,
        Versatile, EP93xx, Samsung, Broadcom, i.MX, and Actions.
      
        The largest single change is the introduction of the TI "sysc" bus
        driver, with the intention of cleaning up more legacy code.
      
        Two new SoC platforms get added this time:
      
         - Allwinner R40 is a modernized version of the A20 chip, now with a
           Quad-Core ARM Cortex-A7. According to the manufacturer, it is
           intended for "Smart Hardware"
      
         - Broadcom Hurricane 2 (Aka Strataconnect BCM5334X) is a family of
           chips meant for managed gigabit ethernet switches, based around a
           Cortex-A9 CPU.
      
        Finally, we gain SMP support for two platforms: Renesas R-Car E2 and
        Amlogic Meson8/8b, which were previously added but only supported
        uniprocessor operation"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (118 commits)
        ARM: multi_v7_defconfig: Select RPMSG_VIRTIO as module
        ARM: multi_v7_defconfig: enable CONFIG_GPIO_UNIPHIER
        arm64: defconfig: enable CONFIG_GPIO_UNIPHIER
        ARM: meson: enable MESON_IRQ_GPIO in Kconfig for meson8b
        ARM: meson: Add SMP bringup code for Meson8 and Meson8b
        ARM: smp_scu: allow the platform code to read the SCU CPU status
        ARM: smp_scu: add a helper for powering on a specific CPU
        dt-bindings: Amlogic: Add Meson8 and Meson8b SMP related documentation
        ARM: OMAP3: Delete an unnecessary variable initialisation in omap3xxx_hwmod_init()
        ARM: OMAP3: Use common error handling code in omap3xxx_hwmod_init()
        ARM: defconfig: select the right SX150X driver
        arm64: defconfig: Enable QCOM_IOMMU
        arm64: Add ThunderX drivers to defconfig
        arm64: defconfig: Enable Tegra PCI controller
        cpufreq: imx6q: Move speed grading check to cpufreq driver
        arm64: defconfig: re-enable Qualcomm DB410c USB
        ARM: configs: stm32: Add MDMA support in STM32 defconfig
        ARM: imx: Enable cpuidle for i.MX6DL starting at 1.1
        bus: ti-sysc: Fix unbalanced pm_runtime_enable by adding remove
        bus: ti-sysc: mark PM functions as __maybe_unused
        ...
      8c609698
    • Eric Biggers's avatar
      dm bufio: fix integer overflow when limiting maximum cache size · 74d4108d
      Eric Biggers authored
      The default max_cache_size_bytes for dm-bufio is meant to be the lesser
      of 25% of the size of the vmalloc area and 2% of the size of lowmem.
      However, on 32-bit systems the intermediate result in the expression
      
          (VMALLOC_END - VMALLOC_START) * DM_BUFIO_VMALLOC_PERCENT / 100
      
      overflows, causing the wrong result to be computed.  For example, on a
      32-bit system where the vmalloc area is 520093696 bytes, the result is
      1174405 rather than the expected 130023424, which makes the maximum
      cache size much too small (far less than 2% of lowmem).  This causes
      severe performance problems for dm-verity users on affected systems.
      
      Fix this by using mult_frac() to correctly multiply by a percentage.  Do
      this for all places in dm-bufio that multiply by a percentage.  Also
      replace (VMALLOC_END - VMALLOC_START) with VMALLOC_TOTAL, which contrary
      to the comment is now defined in include/linux/vmalloc.h.
      
      Depends-on: 9993bc63 ("sched/x86: Fix overflow in cyc2ns_offset")
      Fixes: 95d402f0 ("dm: add bufio")
      Cc: <stable@vger.kernel.org> # v3.2+
      Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      74d4108d
    • Mike Snitzer's avatar
      dm: clear all discard attributes in queue_limits when discards are disabled · 5d47c89f
      Mike Snitzer authored
      Otherwise, it can happen that the QUEUE_FLAG_DISCARD isn't set but the
      various discard attributes (which get exposed via sysfs) may be set.
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      5d47c89f
    • Mike Snitzer's avatar
      dm: do not set 'discards_supported' in targets that do not need it · 7dea378b
      Mike Snitzer authored
      The DM target's 'discards_supported' flag is intended to act as an
      override.  Meaning, even if the underlying storage doesn't support
      discards the DM target will.
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      7dea378b
    • Mike Snitzer's avatar
      dm: discard support requires all targets in a table support discards · 8a74d29d
      Mike Snitzer authored
      A DM device with a mix of discard capabilities (due to some underlying
      devices not having discard support) _should_ just return -EOPNOTSUPP for
      the region of the device that doesn't support discards (even if only by
      way of the underlying driver formally not supporting discards).  BUT,
      that does ask the underlying driver to handle something that it never
      advertised support for.  In doing so we're exposing users to the
      potential for a underlying disk driver hanging if/when a discard is
      issued a the device that is incapable and never claimed to support
      discards.
      
      Fix this by requiring that each DM target in a DM table provide discard
      support as a prereq for a DM device to advertise support for discards.
      
      This may cause some configurations that were happily supporting discards
      (even in the face of a mix of discard support) to stop supporting
      discards -- but the risk of users hitting driver hangs, and forced
      reboots, outweighs supporting those fringe mixed discard
      configurations.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      8a74d29d
    • Ming Lei's avatar
      dm mpath: remove annoying message of 'blk_get_request() returned -11' · 9dc112e2
      Ming Lei authored
      It is very normal to see allocation failure, especially with blk-mq
      request_queues, so it's unnecessary to report this error and annoy
      people.
      
      In practice this 'blk_get_request() returned -11' error gets logged
      quite frequently when a blk-mq DM multipath device sees heavy IO.
      
      This change is marked for stable@ because the annoying message in
      question was included in stable@ commit 7083abbb.
      
      Fixes: 7083abbb ("dm mpath: avoid that path removal can trigger an infinite loop")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      9dc112e2
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 18c83d2c
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
       "Fixes in qemu, vhost and virtio"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        fw_cfg: fix the command line module name
        vhost/vsock: fix uninitialized vhost_vsock->guest_cid
        vhost: fix end of range for access_ok
        vhost/scsi: Use safe iteration in vhost_scsi_complete_cmd_work()
        virtio_balloon: fix deadlock on OOM
      18c83d2c
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.15-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 051089a2
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
       "Xen features and fixes for v4.15-rc1
      
        Apart from several small fixes it contains the following features:
      
         - a series by Joao Martins to add vdso support of the pv clock
           interface
      
         - a series by Juergen Gross to add support for Xen pv guests to be
           able to run on 5 level paging hosts
      
         - a series by Stefano Stabellini adding the Xen pvcalls frontend
           driver using a paravirtualized socket interface"
      
      * tag 'for-linus-4.15-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (34 commits)
        xen/pvcalls: fix potential endless loop in pvcalls-front.c
        xen/pvcalls: Add MODULE_LICENSE()
        MAINTAINERS: xen, kvm: track pvclock-abi.h changes
        x86/xen/time: setup vcpu 0 time info page
        x86/xen/time: set pvclock flags on xen_time_init()
        x86/pvclock: add setter for pvclock_pvti_cpu0_va
        ptp_kvm: probe for kvm guest availability
        xen/privcmd: remove unused variable pageidx
        xen: select grant interface version
        xen: update arch/x86/include/asm/xen/cpuid.h
        xen: add grant interface version dependent constants to gnttab_ops
        xen: limit grant v2 interface to the v1 functionality
        xen: re-introduce support for grant v2 interface
        xen: support priv-mapping in an HVM tools domain
        xen/pvcalls: remove redundant check for irq >= 0
        xen/pvcalls: fix unsigned less than zero error check
        xen/time: Return -ENODEV from xen_get_wallclock()
        xen/pvcalls-front: mark expected switch fall-through
        xen: xenbus_probe_frontend: mark expected switch fall-throughs
        xen/time: do not decrease steal time after live migration on xen
        ...
      051089a2
    • Linus Torvalds's avatar
      Merge tag 'kvm-4.15-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 974aa563
      Linus Torvalds authored
      Pull KVM updates from Radim Krčmář:
       "First batch of KVM changes for 4.15
      
        Common:
         - Python 3 support in kvm_stat
         - Accounting of slabs to kmemcg
      
        ARM:
         - Optimized arch timer handling for KVM/ARM
         - Improvements to the VGIC ITS code and introduction of an ITS reset
           ioctl
         - Unification of the 32-bit fault injection logic
         - More exact external abort matching logic
      
        PPC:
         - Support for running hashed page table (HPT) MMU mode on a host that
           is using the radix MMU mode; single threaded mode on POWER 9 is
           added as a pre-requisite
         - Resolution of merge conflicts with the last second 4.14 HPT fixes
         - Fixes and cleanups
      
        s390:
         - Some initial preparation patches for exitless interrupts and crypto
         - New capability for AIS migration
         - Fixes
      
        x86:
         - Improved emulation of LAPIC timer mode changes, MCi_STATUS MSRs,
           and after-reset state
         - Refined dependencies for VMX features
         - Fixes for nested SMI injection
         - A lot of cleanups"
      
      * tag 'kvm-4.15-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (89 commits)
        KVM: s390: provide a capability for AIS state migration
        KVM: s390: clear_io_irq() requests are not expected for adapter interrupts
        KVM: s390: abstract conversion between isc and enum irq_types
        KVM: s390: vsie: use common code functions for pinning
        KVM: s390: SIE considerations for AP Queue virtualization
        KVM: s390: document memory ordering for kvm_s390_vcpu_wakeup
        KVM: PPC: Book3S HV: Cosmetic post-merge cleanups
        KVM: arm/arm64: fix the incompatible matching for external abort
        KVM: arm/arm64: Unify 32bit fault injection
        KVM: arm/arm64: vgic-its: Implement KVM_DEV_ARM_ITS_CTRL_RESET
        KVM: arm/arm64: Document KVM_DEV_ARM_ITS_CTRL_RESET
        KVM: arm/arm64: vgic-its: Free caches when GITS_BASER Valid bit is cleared
        KVM: arm/arm64: vgic-its: New helper functions to free the caches
        KVM: arm/arm64: vgic-its: Remove kvm_its_unmap_device
        arm/arm64: KVM: Load the timer state when enabling the timer
        KVM: arm/arm64: Rework kvm_timer_should_fire
        KVM: arm/arm64: Get rid of kvm_timer_flush_hwstate
        KVM: arm/arm64: Avoid phys timer emulation in vcpu entry/exit
        KVM: arm/arm64: Move phys_timer_emulate function
        KVM: arm/arm64: Use kvm_arm_timer_set/get_reg for guest register traps
        ...
      974aa563
    • Jason Gunthorpe's avatar
      RDMA: Add Jason Gunthorpe as a co-maintainer · e6e58e77
      Jason Gunthorpe authored
      As was discussed in September and October, add Jason along with
      Doug to have a team maintainership model for the RDMA subystem.
      
      Mellanox Technologies will be funding Jason's independent work on
      the maintainership.
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      e6e58e77
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 441692aa
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - add support for ELF fdpic binaries on both MMU and noMMU platforms
      
       - linker script cleanups
      
       - support for compressed .data section for XIP images
      
       - discard memblock arrays when possible
      
       - various cleanups
      
       - atomic DMA pool updates
      
       - better diagnostics of missing/corrupt device tree
      
       - export information to allow userspace kexec tool to place images more
         inteligently, so that the device tree isn't overwritten by the
         booting kernel
      
       - make early_printk more efficient on semihosted systems
      
       - noMMU cleanups
      
       - SA1111 PCMCIA update in preparation for further cleanups
      
      * 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (38 commits)
        ARM: 8719/1: NOMMU: work around maybe-uninitialized warning
        ARM: 8717/2: debug printch/printascii: translate '\n' to "\r\n" not "\n\r"
        ARM: 8713/1: NOMMU: Support MPU in XIP configuration
        ARM: 8712/1: NOMMU: Use more MPU regions to cover memory
        ARM: 8711/1: V7M: Add support for MPU to M-class
        ARM: 8710/1: Kconfig: Kill CONFIG_VECTORS_BASE
        ARM: 8709/1: NOMMU: Disallow MPU for XIP
        ARM: 8708/1: NOMMU: Rework MPU to be mostly done in C
        ARM: 8707/1: NOMMU: Update MPU accessors to use cp15 helpers
        ARM: 8706/1: NOMMU: Move out MPU setup in separate module
        ARM: 8702/1: head-common.S: Clear lr before jumping to start_kernel()
        ARM: 8705/1: early_printk: use printascii() rather than printch()
        ARM: 8703/1: debug.S: move hexbuf to a writable section
        ARM: add additional table to compressed kernel
        ARM: decompressor: fix BSS size calculation
        pcmcia: sa1111: remove special sa1111 mmio accessors
        pcmcia: sa1111: use sa1111_get_irq() to obtain IRQ resources
        ARM: better diagnostics with missing/corrupt dtb
        ARM: 8699/1: dma-mapping: Remove init_dma_coherent_pool_size()
        ARM: 8698/1: dma-mapping: Mark atomic_pool as __ro_after_init
        ..
      441692aa
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 5b0e2cb0
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
       "A bit of a small release, I suspect in part due to me travelling for
        KS. But my backlog of patches to review is smaller than usual, so I
        think in part folks just didn't send as much this cycle.
      
        Non-highlights:
      
         - Five fixes for the >128T address space handling, both to fix bugs
           in our implementation and to bring the semantics exactly into line
           with x86.
      
        Highlights:
      
         - Support for a new OPAL call on bare metal machines which gives us a
           true NMI (ie. is not masked by MSR[EE]=0) for debugging etc.
      
         - Support for Power9 DD2 in the CXL driver.
      
         - Improvements to machine check handling so that uncorrectable errors
           can be reported into the generic memory_failure() machinery.
      
         - Some fixes and improvements for VPHN, which is used under PowerVM
           to notify the Linux partition of topology changes.
      
         - Plumbing to enable TM (transactional memory) without suspend on
           some Power9 processors (PPC_FEATURE2_HTM_NO_SUSPEND).
      
         - Support for emulating vector loads form cache-inhibited memory, on
           some Power9 revisions.
      
         - Disable the fast-endian switch "syscall" by default (behind a
           CONFIG), we believe it has never had any users.
      
         - A major rework of the API drivers use when initiating and waiting
           for long running operations performed by OPAL firmware, and changes
           to the powernv_flash driver to use the new API.
      
         - Several fixes for the handling of FP/VMX/VSX while processes are
           using transactional memory.
      
         - Optimisations of TLB range flushes when using the radix MMU on
           Power9.
      
         - Improvements to the VAS facility used to access coprocessors on
           Power9, and related improvements to the way the NX crypto driver
           handles requests.
      
         - Implementation of PMEM_API and UACCESS_FLUSHCACHE for 64-bit.
      
        Thanks to: Alexey Kardashevskiy, Alistair Popple, Allen Pais, Andrew
        Donnellan, Aneesh Kumar K.V, Arnd Bergmann, Balbir Singh, Benjamin
        Herrenschmidt, Breno Leitao, Christophe Leroy, Christophe Lombard,
        Cyril Bur, Frederic Barrat, Gautham R. Shenoy, Geert Uytterhoeven,
        Guilherme G. Piccoli, Gustavo Romero, Haren Myneni, Joel Stanley,
        Kamalesh Babulal, Kautuk Consul, Markus Elfring, Masami Hiramatsu,
        Michael Bringmann, Michael Neuling, Michal Suchanek, Naveen N. Rao,
        Nicholas Piggin, Oliver O'Halloran, Paul Mackerras, Pedro Miraglia
        Franco de Carvalho, Philippe Bergheaud, Sandipan Das, Seth Forshee,
        Shriya, Stephen Rothwell, Stewart Smith, Sukadev Bhattiprolu, Tyrel
        Datwyler, Vaibhav Jain, Vaidyanathan Srinivasan, and William A.
        Kennington III"
      
      * tag 'powerpc-4.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (151 commits)
        powerpc/64s: Fix Power9 DD2.0 workarounds by adding DD2.1 feature
        powerpc/64s: Fix masking of SRR1 bits on instruction fault
        powerpc/64s: mm_context.addr_limit is only used on hash
        powerpc/64s/radix: Fix 128TB-512TB virtual address boundary case allocation
        powerpc/64s/hash: Allow MAP_FIXED allocations to cross 128TB boundary
        powerpc/64s/hash: Fix fork() with 512TB process address space
        powerpc/64s/hash: Fix 128TB-512TB virtual address boundary case allocation
        powerpc/64s/hash: Fix 512T hint detection to use >= 128T
        powerpc: Fix DABR match on hash based systems
        powerpc/signal: Properly handle return value from uprobe_deny_signal()
        powerpc/fadump: use kstrtoint to handle sysfs store
        powerpc/lib: Implement UACCESS_FLUSHCACHE API
        powerpc/lib: Implement PMEM API
        powerpc/powernv/npu: Don't explicitly flush nmmu tlb
        powerpc/powernv/npu: Use flush_all_mm() instead of flush_tlb_mm()
        powerpc/powernv/idle: Round up latency and residency values
        powerpc/kprobes: refactor kprobe_lookup_name for safer string operations
        powerpc/kprobes: Blacklist emulate_update_regs() from kprobes
        powerpc/kprobes: Do not disable interrupts for optprobes and kprobes_on_ftrace
        powerpc/kprobes: Disable preemption before invoking probe handler for optprobes
        ...
      5b0e2cb0
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · 758f8758
      Linus Torvalds authored
      Pull user namespace update from Eric Biederman:
       "The only change that is production ready this round is the work to
        increase the number of uid and gid mappings a user namespace can
        support from 5 to 340.
      
        This code was carefully benchmarked and it was confirmed that in the
        existing cases the performance remains the same. In the worst case
        with 340 mappings an cache cold stat times go from 158ns to 248ns.
        That is noticable but still quite small, and only the people who are
        doing crazy things pay the cost.
      
        This work uncovered some documentation and cleanup opportunities in
        the mapping code, and patches to make those cleanups and improve the
        documentation will be coming in the next merge window"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        userns: Simplify insert_extent
        userns: Make map_id_down a wrapper for map_id_range_down
        userns: Don't read extents twice in m_start
        userns: Simplify the user and group mapping functions
        userns: Don't special case a count of 0
        userns: bump idmap limits to 340
        userns: use union in {g,u}idmap struct
      758f8758
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · a02cd422
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we introduce sysfile-based quota support which is
        required for Android by default. In addition, we allow that users are
        able to reserve some blocks in runtime to mitigate performance drops
        in low free space.
      
        Enhancements:
         - assign proper data segments according to write_hints given by user
         - issue cache_flush on dirty devices only among multiple devices
         - exploit cp_error flag and add more faults to enhance fault
           injection test
         - conduct more readaheads during f2fs_readdir
         - add a range for discard commands
      
        Bug fixes:
         - fix zero stat->st_blocks when inline_data is set
         - drop crypto key and free stale memory pointer while evict_inode is
           failing
         - fix some corner cases in free space and segment management
         - fix wrong last_disk_size
      
        This series includes lots of clean-ups and code enhancement in terms
        of xattr operations, discard/flush command control. In addition, it
        adds versatile debugfs entries to monitor f2fs status"
      
      * tag 'f2fs-for-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (75 commits)
        f2fs: deny accessing encryption policy if encryption is off
        f2fs: inject fault in inc_valid_node_count
        f2fs: fix to clear FI_NO_PREALLOC
        f2fs: expose quota information in debugfs
        f2fs: separate nat entry mem alloc from nat_tree_lock
        f2fs: validate before set/clear free nat bitmap
        f2fs: avoid opened loop codes in __add_ino_entry
        f2fs: apply write hints to select the type of segments for buffered write
        f2fs: introduce scan_curseg_cache for cleanup
        f2fs: optimize the way of traversing free_nid_bitmap
        f2fs: keep scanning until enough free nids are acquired
        f2fs: trace checkpoint reason in fsync()
        f2fs: keep isize once block is reserved cross EOF
        f2fs: avoid race in between GC and block exchange
        f2fs: save a multiplication for last_nid calculation
        f2fs: fix summary info corruption
        f2fs: remove dead code in update_meta_page
        f2fs: remove unneeded semicolon
        f2fs: don't bother with inode->i_version
        f2fs: check curseg space before foreground GC
        ...
      a02cd422
    • Darrick J. Wong's avatar
      xfs: fix type usage · 2015a63d
      Darrick J. Wong authored
      Be consistent about using uint32_t/uint8_t instead of u32/u8.  This is
      more so that we don't have to maintain /those/ types in xfsprogs.
      Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Reviewed-by: default avatarEric Sandeen <sandeen@redhat.com>
      2015a63d
    • Darrick J. Wong's avatar
      xfs: fix forgotten rcu read unlock when skipping inode reclaim · 962cc1ad
      Darrick J. Wong authored
      In commit f2e9ad21 ("xfs: check for race with xfs_reclaim_inode"), we
      skip an inode if we're racing with freeing the inode via
      xfs_reclaim_inode, but we forgot to release the rcu read lock when
      dumping the inode, with the result that we exit to userspace with a lock
      held.  Don't do that; generic/320 with a 1k block size fails this
      very occasionally.
      
      ================================================
      WARNING: lock held when returning to user space!
      4.14.0-rc6-djwong #4 Tainted: G        W
      ------------------------------------------------
      rm/30466 is leaving the kernel with locks still held!
      1 lock held by rm/30466:
       #0:  (rcu_read_lock){....}, at: [<ffffffffa01364d3>] xfs_ifree_cluster.isra.17+0x2c3/0x6f0 [xfs]
      ------------[ cut here ]------------
      WARNING: CPU: 1 PID: 30466 at kernel/rcu/tree_plugin.h:329 rcu_note_context_switch+0x71/0x700
      Modules linked in: deadline_iosched dm_snapshot dm_bufio ext4 mbcache jbd2 dm_flakey xfs libcrc32c dax_pmem device_dax nd_pmem sch_fq_codel af_packet [last unloaded: scsi_debug]
      CPU: 1 PID: 30466 Comm: rm Tainted: G        W       4.14.0-rc6-djwong #4
      Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.10.2-1ubuntu1djwong0 04/01/2014
      task: ffff880037680000 task.stack: ffffc90001064000
      RIP: 0010:rcu_note_context_switch+0x71/0x700
      RSP: 0000:ffffc90001067e50 EFLAGS: 00010002
      RAX: 0000000000000001 RBX: ffff880037680000 RCX: ffff88003e73d200
      RDX: 0000000000000002 RSI: ffffffff819e53e9 RDI: ffffffff819f4375
      RBP: 0000000000000000 R08: 0000000000000000 R09: ffff880062c900d0
      R10: 0000000000000000 R11: 0000000000000000 R12: ffff880037680000
      R13: 0000000000000000 R14: ffffc90001067eb8 R15: ffff880037680690
      FS:  00007fa3b8ce8700(0000) GS:ffff88003ec00000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00007f69bf77c000 CR3: 000000002450a000 CR4: 00000000000006e0
      Call Trace:
       __schedule+0xb8/0xb10
       schedule+0x40/0x90
       exit_to_usermode_loop+0x6b/0xa0
       prepare_exit_to_usermode+0x7a/0x90
       retint_user+0x8/0x20
      RIP: 0033:0x7fa3b87fda87
      RSP: 002b:00007ffe41206568 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff02
      RAX: 0000000000000000 RBX: 00000000010e88c0 RCX: 00007fa3b87fda87
      RDX: 0000000000000000 RSI: 00000000010e89c8 RDI: 0000000000000005
      RBP: 0000000000000000 R08: 0000000000000003 R09: 0000000000000000
      R10: 000000000000015e R11: 0000000000000246 R12: 00000000010c8060
      R13: 00007ffe41206690 R14: 0000000000000000 R15: 0000000000000000
      ---[ end trace e88f83bf0cfbd07d ]---
      
      Fixes: f2e9ad21
      Cc: Omar Sandoval <osandov@fb.com>
      Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarOmar Sandoval <osandov@fb.com>
      962cc1ad
    • Linus Torvalds's avatar
      Merge tag 'afs-next-20171113' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · 487e2c9f
      Linus Torvalds authored
      Pull AFS updates from David Howells:
       "kAFS filesystem driver overhaul.
      
        The major points of the overhaul are:
      
         (1) Preliminary groundwork is laid for supporting network-namespacing
             of kAFS. The remainder of the namespacing work requires some way
             to pass namespace information to submounts triggered by an
             automount. This requires something like the mount overhaul that's
             in progress.
      
         (2) sockaddr_rxrpc is used in preference to in_addr for holding
             addresses internally and add support for talking to the YFS VL
             server. With this, kAFS can do everything over IPv6 as well as
             IPv4 if it's talking to servers that support it.
      
         (3) Callback handling is overhauled to be generally passive rather
             than active. 'Callbacks' are promises by the server to tell us
             about data and metadata changes. Callbacks are now checked when
             we next touch an inode rather than actively going and looking for
             it where possible.
      
         (4) File access permit caching is overhauled to store the caching
             information per-inode rather than per-directory, shared over
             subordinate files. Whilst older AFS servers only allow ACLs on
             directories (shared to the files in that directory), newer AFS
             servers break that restriction.
      
             To improve memory usage and to make it easier to do mass-key
             removal, permit combinations are cached and shared.
      
         (5) Cell database management is overhauled to allow lighter locks to
             be used and to make cell records autonomous state machines that
             look after getting their own DNS records and cleaning themselves
             up, in particular preventing races in acquiring and relinquishing
             the fscache token for the cell.
      
         (6) Volume caching is overhauled. The afs_vlocation record is got rid
             of to simplify things and the superblock is now keyed on the cell
             and the numeric volume ID only. The volume record is tied to a
             superblock and normal superblock management is used to mediate
             the lifetime of the volume fscache token.
      
         (7) File server record caching is overhauled to make server records
             independent of cells and volumes. A server can be in multiple
             cells (in such a case, the administrator must make sure that the
             VL services for all cells correctly reflect the volumes shared
             between those cells).
      
             Server records are now indexed using the UUID of the server
             rather than the address since a server can have multiple
             addresses.
      
         (8) File server rotation is overhauled to handle VMOVED, VBUSY (and
             similar), VOFFLINE and VNOVOL indications and to handle rotation
             both of servers and addresses of those servers. The rotation will
             also wait and retry if the server says it is busy.
      
         (9) Data writeback is overhauled. Each inode no longer stores a list
             of modified sections tagged with the key that authorised it in
             favour of noting the modified region of a page in page->private
             and storing a list of keys that made modifications in the inode.
      
             This simplifies things and allows other keys to be used to
             actually write to the server if a key that made a modification
             becomes useless.
      
        (10) Writable mmap() is implemented. This allows a kernel to be build
             entirely on AFS.
      
        Note that Pre AFS-3.4 servers are no longer supported, though this can
        be added back if necessary (AFS-3.4 was released in 1998)"
      
      * tag 'afs-next-20171113' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs: (35 commits)
        afs: Protect call->state changes against signals
        afs: Trace page dirty/clean
        afs: Implement shared-writeable mmap
        afs: Get rid of the afs_writeback record
        afs: Introduce a file-private data record
        afs: Use a dynamic port if 7001 is in use
        afs: Fix directory read/modify race
        afs: Trace the sending of pages
        afs: Trace the initiation and completion of client calls
        afs: Fix documentation on # vs % prefix in mount source specification
        afs: Fix total-length calculation for multiple-page send
        afs: Only progress call state at end of Tx phase from rxrpc callback
        afs: Make use of the YFS service upgrade to fully support IPv6
        afs: Overhaul volume and server record caching and fileserver rotation
        afs: Move server rotation code into its own file
        afs: Add an address list concept
        afs: Overhaul cell database management
        afs: Overhaul permit caching
        afs: Overhaul the callback handling
        afs: Rename struct afs_call server member to cm_server
        ...
      487e2c9f
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · b630a23a
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This is the bulk of pin control changes for the v4.15 kernel cycle:
      
        Core:
      
         - The pin control Kconfig entry PINCTRL is now turned into a
           menuconfig option. This obviously has the implication of making the
           subsystem menu visible in menuconfig. This is happening because of
           two things:
      
            (a) Intel have started to deploy and depend on pin controllers in
                a way that is affecting users directly. This happens on the
                highly integrated laptop chipsets named after geographical
                places: baytrail, broxton, cannonlake, cedarfork, cherryview,
                denverton, geminilake, lewisburg, merrifield, sunrisepoint...
                It started a while back and now it is ever more evident that
                this is crucial infrastructure for x86 laptops and not an
                embedded obscurity anymore. Users need to be aware.
      
            (b) Pin control expanders on I2C and SPI that are arch-agnostic.
                Currently Semtech SX150X and Microchip MCP28x08 but more are
                expected. Users will have to be able to configure these in
                directly for their set-up.
      
         - Just go and select GPIOLIB now that we made sure that GPIOLIB is a
           very vanilla subsystem. Do not depend on it, if we need it, select
           it.
      
         - Exposing the pin control subsystem in menuconfig uncovered a bunch
           of obscure bugs that are now hopefully fixed, all more or less
           pertaining to Blackfin.
      
         - Unified namespace for cross-calls between pin control and GPIO.
      
         - New support for clock skew/delay generic DT bindings and generic
           pin config options for this.
      
         - Minor documentation improvements.
      
        Various:
      
         - The Renesas SH-PFC pin controller has evolved a lot. It seems
           Renesas are churning out new SoCs by the minute.
      
         - A bunch of non-critical fixes for the Rockchip driver.
      
         - Improve the use of library functions instead of open coding.
      
         - Support the MCP28018 variant in the MCP28x08 driver.
      
         - Static constifying"
      
      * tag 'pinctrl-v4.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (91 commits)
        pinctrl: gemini: Fix missing pad descriptions
        pinctrl: Add some depends on HAS_IOMEM
        pinctrl: samsung/s3c24xx: add CONFIG_OF dependency
        pinctrl: gemini: Fix GMAC groups
        pinctrl: qcom: spmi-gpio: Add pmi8994 gpio support
        pinctrl: ti-iodelay: remove redundant unused variable dev
        pinctrl: max77620: Use common error handling code in max77620_pinconf_set()
        pinctrl: gemini: Implement clock skew/delay config
        pinctrl: gemini: Use generic DT parser
        pinctrl: Add skew-delay pin config and bindings
        pinctrl: armada-37xx: Add edge both type gpio irq support
        pinctrl: uniphier: remove eMMC hardware reset pin-mux
        pinctrl: rockchip: Add iomux-route switching support for rk3288
        pinctrl: intel: Add Intel Cedar Fork PCH pin controller support
        pinctrl: intel: Make offset to interrupt status register configurable
        pinctrl: sunxi: Enforce the strict mode by default
        pinctrl: sunxi: Disable strict mode for old pinctrl drivers
        pinctrl: sunxi: Introduce the strict flag
        pinctrl: sh-pfc: Save/restore registers for PSCI system suspend
        pinctrl: sh-pfc: r8a7796: Use generic IOCTRL register description
        ...
      b630a23a
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 9c7a867e
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
      
         - handle 32bit overflow in pwm_bl
      
         - remove redundant code/checks in tps65217_bl and ili922x
      
      * tag 'backlight-next-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: ili922x: Remove redundant variable len
        backlight: tps65217_bl: Remove unnecessary default brightness check
        backlight: pwm_bl: Fix overflow condition
      9c7a867e
    • James Smart's avatar
      nvmet_fc: fix better length checking · cce75291
      James Smart authored
      Reorganize nvmet_fc_handle_fcp_rqst() so that the nvmet req.transfer_len
      field is set after the call nvmet_req_init(). An update to nvmet now
      has nvmet_req_init() clearing the field, thus the fc transport was losing
      the value.
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      cce75291
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · d3092e4e
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "New drivers:
         - Add support for Cherry Trail Dollar Cove TI PMIC
         - Add support for Add Spreadtrum SC27xx series PMICs
      
        New device support:
         - Add support Regulator to axp20x
      
        New functionality:
         - Add DT support; aspeed-scu sc27xx-pmic
         - Add power saving support; rts5249
      
        Fix-ups:
         - DT clean-up/rework; tps65217, max77693, iproc-cdru, iproc-mhb, tps65218
         - Staticise/constify; stw481x
         - Use new succinct IRQ API; fsl-imx25-tsadc
         - Kconfig fix-ups; MFD_TPS65218
         - Identify SPI method; lpc_ich
         - Use managed resources (devm_*) calls; ssbi
         - Remove unused/obsolete code/documentation; mc13xxx
      
        Bug fixes:
         - Fix typo in MAINTAINERS
         - Fix error handling; mxs-lradc
         - Clean-up IRQs on .remove; fsl-imx25-tsadc"
      
      * tag 'mfd-next-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (21 commits)
        dt-bindings: mfd: mc13xxx: Remove obsolete property
        mfd: axp20x: Add axp20x-regulator cell for AXP813
        mfd: Add Spreadtrum SC27xx series PMICs driver
        dt-bindings: mfd: Add Spreadtrum SC27xx PMIC documentation
        mfd: ssbi: Use devm_of_platform_populate()
        mfd: fsl-imx25: Clean up irq settings during removal
        mfd: mxs-lradc: Fix error handling in mxs_lradc_probe()
        mfd: lpc_ich: Avoton/Rangeley uses SPI_BYT method
        mfd: tps65218: Introduce dependency on CONFIG_OF
        mfd: tps65218: Correct the config description
        MAINTAINERS: Fix Dialog search term for watchdog binding file
        mfd: fsl-imx25: Set irq handler and data in one go
        mfd: rts5249: Add support for RTS5250S power saving
        ACPI / PMIC: Add opregion driver for Intel Dollar Cove TI PMIC
        mfd: Add support for Cherry Trail Dollar Cove TI PMIC
        syscon: dt-bindings: Add binding document for iProc MHB block
        syscon: dt-bindings: Add binding doc for Broadcom iProc CDRU
        mfd: max77693: Add muic of_compatible in mfd_cell
        mfd: stw481x: Make three arrays static const, reduces object code size
        mfd: tps65217: Introduce dependency on CONFIG_OF
        ...
      d3092e4e
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.15-rc1' of... · 2bf16b7a
      Linus Torvalds authored
      Merge tag 'char-misc-4.15-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
      
      Pull char/misc updates from Greg KH:
       "Here is the big set of char/misc and other driver subsystem patches
        for 4.15-rc1.
      
        There are small changes all over here, hyperv driver updates, pcmcia
        driver updates, w1 driver updats, vme driver updates, nvmem driver
        updates, and lots of other little one-off driver updates as well. The
        shortlog has the full details.
      
        All of these have been in linux-next for quite a while with no
        reported issues"
      
      * tag 'char-misc-4.15-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (90 commits)
        VME: Return -EBUSY when DMA list in use
        w1: keep balance of mutex locks and refcnts
        MAINTAINERS: Update VME subsystem tree.
        nvmem: sunxi-sid: add support for A64/H5's SID controller
        nvmem: imx-ocotp: Update module description
        nvmem: imx-ocotp: Enable i.MX7D OTP write support
        nvmem: imx-ocotp: Add i.MX7D timing write clock setup support
        nvmem: imx-ocotp: Move i.MX6 write clock setup to dedicated function
        nvmem: imx-ocotp: Add support for banked OTP addressing
        nvmem: imx-ocotp: Pass parameters via a struct
        nvmem: imx-ocotp: Restrict OTP write to IMX6 processors
        nvmem: uniphier: add UniPhier eFuse driver
        dt-bindings: nvmem: add description for UniPhier eFuse
        nvmem: set nvmem->owner to nvmem->dev->driver->owner if unset
        nvmem: qfprom: fix different address space warnings of sparse
        nvmem: mtk-efuse: fix different address space warnings of sparse
        nvmem: mtk-efuse: use stack for nvmem_config instead of malloc'ing it
        nvmem: imx-iim: use stack for nvmem_config instead of malloc'ing it
        thunderbolt: tb: fix use after free in tb_activate_pcie_devices
        MAINTAINERS: Add git tree for Thunderbolt development
        ...
      2bf16b7a
    • Linus Torvalds's avatar
      Merge tag 'driver-core-4.15-rc1' of... · b9743042
      Linus Torvalds authored
      Merge tag 'driver-core-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core updates from Greg KH:
       "Here is the set of driver core / debugfs patches for 4.15-rc1.
      
        Not many here, mostly all are debugfs fixes to resolve some
        long-reported problems with files going away with references to them
        in userspace. There's also some SPDX cleanups for the debugfs code, as
        well as a few other minor driver core changes for issues reported by
        people.
      
        All of these have been in linux-next for a week or more with no
        reported issues"
      
      * tag 'driver-core-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        driver core: Fix device link deferred probe
        debugfs: Remove redundant license text
        debugfs: add SPDX identifiers to all debugfs files
        debugfs: defer debugfs_fsdata allocation to first usage
        debugfs: call debugfs_real_fops() only after debugfs_file_get()
        debugfs: purge obsolete SRCU based removal protection
        IB/hfi1: convert to debugfs_file_get() and -put()
        debugfs: convert to debugfs_file_get() and -put()
        debugfs: debugfs_real_fops(): drop __must_hold sparse annotation
        debugfs: implement per-file removal protection
        debugfs: add support for more elaborate ->d_fsdata
        driver core: Move device_links_purge() after bus_remove_device()
        arch_topology: Fix section miss match warning due to free_raw_capacity()
        driver-core: pr_err() strings should end with newlines
      b9743042
    • Masahiro Yamada's avatar
      arm64: dts: uniphier: route on-board device IRQ to GPIO controller for PXs3 · ba5b5034
      Masahiro Yamada authored
      Commit 429f203e ("arm64: dts: uniphier: route on-board device IRQ
      to GPIO controller") missed to update this DTS.  It becames a real
      problem when arm and arm64 trees are merged together.
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      ba5b5034