1. 14 Jan, 2016 8 commits
  2. 13 Jan, 2016 18 commits
    • Linus Torvalds's avatar
      Merge tag 'xfs-for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs · 7fdec82a
      Linus Torvalds authored
      Pull xfs updates from Dave Chinner:
       "There's not a lot in this - the main addition is the CRC validation of
        the entire region of the log that the will be recovered, along with
        several log recovery fixes.  Most of the rest is small bug fixes and
        I have three bug fixes still pending, all that address recently fixed
        regressions that I will send to next week after they've had some time
        in for-next.
         - extensive CRC validation during log recovery
         - several log recovery bug fixes
         - Various DAX support fixes
         - AGFL size calculation fix
         - various cleanups in preparation for new functionality
         - project quota ENOSPC notification via netlink
         - tracing and debug improvements"
      * tag 'xfs-for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (26 commits)
        xfs: handle dquot buffer readahead in log recovery correctly
        xfs: inode recovery readahead can race with inode buffer creation
        xfs: eliminate committed arg from xfs_bmap_finish
        xfs: bmapbt checking on debug kernels too expensive
        xfs: add tracepoints to readpage calls
        xfs: debug mode log record crc error injection
        xfs: detect and trim torn writes during log recovery
        xfs: fix recursive splice read locking with DAX
        xfs: Don't use reserved blocks for data blocks with DAX
        XFS: Use a signed return type for suffix_kstrtoint()
        libxfs: refactor short btree block verification
        libxfs: pack the agfl header structure so XFS_AGFL_SIZE is correct
        libxfs: use a convenience variable instead of open-coding the fork
        xfs: fix log ticket type printing
        libxfs: make xfs_alloc_fix_freelist non-static
        xfs: make xfs_buf_ioend_async() static
        xfs: send warning of project quota to userspace via netlink
        xfs: get mp from bma->ip in xfs_bmap code
        xfs: print name of verifier if it fails
        libxfs: Optimize the loop for xfs_bitmap_empty
    • Linus Torvalds's avatar
      Merge tag 'for-f2fs-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · f9a03ae1
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "This series adds two ioctls to control cached data and fragmented
        files.  Most of the rest fixes missing error cases and bugs that we
        have not covered so far.  Summary:
         - support an ioctl to execute online file defragmentation
         - support an ioctl to flush cached data
         - speed up shrinking of extent_cache entries
         - handle broken superblock
         - refector dirty inode management infra
         - revisit f2fs_map_blocks to handle more cases
         - reduce global lock coverage
         - add detecting user's idle time
        Major bug fixes:
         - fix data race condition on cached nat entries
         - fix error cases of volatile and atomic writes"
      * tag 'for-f2fs-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (87 commits)
        f2fs: should unset atomic flag after successful commit
        f2fs: fix wrong memory condition check
        f2fs: monitor the number of background checkpoint
        f2fs: detect idle time depending on user behavior
        f2fs: introduce time and interval facility
        f2fs: skip releasing nodes in chindless extent tree
        f2fs: use atomic type for node count in extent tree
        f2fs: recognize encrypted data in f2fs_fiemap
        f2fs: clean up f2fs_balance_fs
        f2fs: remove redundant calls
        f2fs: avoid unnecessary f2fs_balance_fs calls
        f2fs: check the page status filled from disk
        f2fs: introduce __get_node_page to reuse common code
        f2fs: check node id earily when readaheading node page
        f2fs: read isize while holding i_mutex in fiemap
        Revert "f2fs: check the node block address of newly allocated nid"
        f2fs: cover more area with nat_tree_lock
        f2fs: introduce max_file_blocks in sbi
        f2fs crypto: check CONFIG_F2FS_FS_XATTR for encrypted symlink
        f2fs: introduce zombie list for fast shrinking extent trees
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 1289ace5
      Linus Torvalds authored
      Pull first round of SCSI updates from James Bottomley:
       "This includes driver updates from the usual suspects (bfa, arcmsr,
        scsi_dh_alua, lpfc, storvsc, cxlflash).
        The major change is the addition of the hisi_sas driver, which is an
        ARM platform device for SAS.  The other change of note is an enormous
        style transformation to the atp870u driver (which is our worst written
        SCSI driver)"
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (169 commits)
        cxlflash: Enable device id for future IBM CXL adapter
        cxlflash: Resolve oops in wait_port_offline
        cxlflash: Fix to resolve cmd leak after host reset
        cxlflash: Removed driver date print
        cxlflash: Fix to avoid virtual LUN failover failure
        cxlflash: Fix to escalate LINK_RESET also on port 1
        storvsc: Tighten up the interrupt path
        storvsc: Refactor the code in storvsc_channel_init()
        storvsc: Properly support Fibre Channel devices
        storvsc: Fix a bug in the layout of the hv_fc_wwn_packet
        mvsas: Add SGPIO support to Marvell 94xx
        mpt3sas: A correction in unmap_resources
        hpsa: Add box and bay information for enclosure devices
        hpsa: Change SAS transport devices to bus 0.
        hpsa: fix path_info_show
        cciss: print max outstanding commands as a hex value
        scsi_debug: Increase the reported optimal transfer length
        lpfc: Update version to for upstream patch set
        lpfc: Use kzalloc instead of kmalloc
        lpfc: Delete unnecessary checks before the function call "mempool_destroy"
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · d080827f
      Linus Torvalds authored
      Pull libnvdimm updates from Dan Williams:
       "The bulk of this has appeared in -next and independently received a
        build success notification from the kbuild robot.  The 'for-4.5/block-
        dax' topic branch was rebased over the weekend to drop the "block
        device end-of-life" rework that Al would like to see re-implemented
        with a notifier, and to address bug reports against the badblocks
        There is pending feedback against "libnvdimm: Add a poison list and
        export badblocks" received last week.  Linda identified some localized
        fixups that we will handle incrementally.
         - Media error handling: The 'badblocks' implementation that
           originated in md-raid is up-levelled to a generic capability of a
           block device.  This initial implementation is limited to being
           consulted in the pmem block-i/o path.  Later, 'badblocks' will be
           consulted when creating dax mappings.
         - Raw block device dax: For virtualization and other cases that want
           large contiguous mappings of persistent memory, add the capability
           to dax-mmap a block device directly.
         - Increased /dev/mem restrictions: Add an option to treat all
           io-memory as IORESOURCE_EXCLUSIVE, i.e. disable /dev/mem access
           while a driver is actively using an address range.  This behavior
           is controlled via the new CONFIG_IO_STRICT_DEVMEM option and can be
           overridden by the existing "iomem=relaxed" kernel command line
         - Miscellaneous fixes include a 'pfn'-device huge page alignment fix,
           block device shutdown crash fix, and other small libnvdimm fixes"
      * tag 'libnvdimm-for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (32 commits)
        block: kill disk_{check|set|clear|alloc}_badblocks
        libnvdimm, pmem: nvdimm_read_bytes() badblocks support
        pmem, dax: disable dax in the presence of bad blocks
        pmem: fail io-requests to known bad blocks
        libnvdimm: convert to statically allocated badblocks
        libnvdimm: don't fail init for full badblocks list
        block, badblocks: introduce devm_init_badblocks
        block: clarify badblocks lifetime
        badblocks: rename badblocks_free to badblocks_exit
        libnvdimm, pmem: move definition of nvdimm_namespace_add_poison to nd.h
        libnvdimm: Add a poison list and export badblocks
        nfit_test: Enable DSMs for all test NFITs
        md: convert to use the generic badblocks code
        block: Add badblock management for gendisks
        badblocks: Add core badblock management code
        block: fix del_gendisk() vs blkdev_ioctl crash
        block: enable dax for raw block devices
        block: introduce bdev_file_inode()
        restrict /dev/mem to idle io memory ranges
        arch: consolidate CONFIG_STRICT_DEVM in lib/Kconfig.debug
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · cbd88cd4
      Linus Torvalds authored
      Pull s390 updates from Martin Schwidefsky:
       "Among the traditional bug fixes and cleanups are some improvements:
         - A tool to generated the facility lists, generating the bit fields
           by hand has been a source of bugs in the past
         - The spinlock loop is reordered to avoid bursts of hypervisor calls
         - Add support for the open-for-business interface to the service
         - The get_cpu call is added to the vdso
         - A set of tracepoints is defined for the common I/O layer
         - The deprecated sclp_cpi module is removed
         - Update default configuration"
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (56 commits)
        s390/sclp: fix possible control register corruption
        s390: fix normalization bug in exception table sorting
        s390/configs: update default configurations
        s390/vdso: optimize getcpu system call
        s390: drop smp_mb in vdso_init
        s390: rename struct _lowcore to struct lowcore
        s390/mem_detect: use unsigned longs
        s390/ptrace: get rid of long longs in psw_bits
        s390/sysinfo: add missing SYSIB 1.2.2 multithreading fields
        s390: get rid of CONFIG_SCHED_MC and CONFIG_SCHED_BOOK
        s390/Kconfig: remove pointless 64 bit dependencies
        s390/dasd: fix failfast for disconnected devices
        s390/con3270: testing return kzalloc retval
        s390/hmcdrv: constify hmcdrv_ftp_ops structs
        s390/cio: add NULL test
        s390/cio: Change I/O instructions from inline to normal functions
        s390/cio: Introduce common I/O layer tracepoints
        s390/cio: Consolidate inline assemblies and related data definitions
        s390/cio: Fix incorrect xsch opcode specification
        s390/cio: Remove unused inline assemblies
    • Linus Torvalds's avatar
      Merge tag 'please-pull-fixefi' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · 928b3f12
      Linus Torvalds authored
      Pull ia64 build fixes from Tony Luck:
       "The ARM guys broke the ia64 build ...  but gave me fixes, so it's all
        good now"
      * tag 'please-pull-fixefi' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        efi: include asm/early_ioremap.h not asm/efi.h to get early_memremap
        ia64: split off early_ioremap() declarations into asm/early_ioremap.h
    • Linus Torvalds's avatar
      Merge tag 'media/v4.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 77a76b04
      Linus Torvalds authored
      Pull second batch of media updates from Mauro Carvalho Chehab:
       "This is the second part of the media patches.  It contains the media
        controller next generation patches, with is the result of one year of
        discussions and development.  It also contains patches to enable media
        controller support at the DVB subsystem.
        The goal is to improve the media controller to allow proper support
        for other types of Video4Linux devices (radio and TV ones) and to
        extend the media controller functionality to allow it to be used by
        other subsystems like DVB, ALSA and IIO.
        In order to use the new functionality, a new ioctl is needed
        (MEDIA_IOC_G_TOPOLOGY).  As we're still discussing how to pack the
        struct fields of this ioctl in order to avoid compat32 issues, I
        decided to add a patch at the end of this series commenting out the
        new ioctl, in order to postpone the addition of the new ioctl to the
        next Kernel version (4.6).
        With that, no userspace visible changes should happen at the media
        controller API, as the existing ioctls are untouched.  Yet, it helps
        DVB, ALSA and IIO developers to develop and test the patches adding
        media controller support there, as the core will contain all required
        internal changes to allow adding support for devices that belong to
        those subsystems"
      * tag 'media/v4.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (177 commits)
        [media] Postpone the addition of MEDIA_IOC_G_TOPOLOGY
        [media] mxl111sf: Add a tuner entity
        [media] dvbdev: create links on devices with multiple frontends
        [media] media-entitiy: add a function to create multiple links
        [media] dvb-usb-v2: postpone removal of media_device
        [media] dvbdev: Add RF connector if needed
        [media] dvbdev: remove two dead functions if !CONFIG_MEDIA_CONTROLLER_DVB
        [media] call media_device_init() before registering the V4L2 device
        [media] uapi/media.h: Use u32 for the number of graph objects
        [media] media-entity: don't sleep at media_device_register_entity()
        [media] media-entity: increase max number of PADs
        [media] media-entity.h: document the remaining functions
        [media] media-device.h: use just one u32 counter for object ID
        [media] media-entity.h fix documentation for several parameters
        [media] DocBook: document media_entity_graph_walk_cleanup()
        [media] move documentation to the header files
        [media] media: Move MEDIA_ENTITY_MAX_PADS from media-entity.h to media-entity.c
        [media] media: Remove pre-allocated entity enumeration bitmap
        [media] staging: v4l: davinci_vpbe: Use the new media graph walk interface
        [media] staging: v4l: omap4iss: Use the new media graph walk interface
    • Linus Torvalds's avatar
      Merge tag 'spi-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 50ae833e
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "A quiet release for SPI, not even many driver updates:
         - Add a dummy loopback driver for use in exercising framework
           features during development.
         - Move the test utilities to tools/ and add support for transferring
           data to and from a file instead of stdin and stdout to spidev_test.
         - Support for Mediatek MT2701 and Renesas AG5 deices"
      * tag 'spi-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (69 commits)
        spi: loopback: fix typo in MODULE_PARM_DESC
        spi: sun4i: Prevent chip-select from being activated twice before a transfer
        spi: loopback-test: spi_check_rx_ranges can get always done
        spi: loopback-test: rename method spi_test_fill_tx to spi_test_fill_pattern
        spi: loopback-test: write rx pattern also when running without tx_buf
        spi: fsl-espi: expose maximum transfer size limit
        spi: expose master transfer size limitation.
        spi: zynq: use to_platform_device()
        spi: cadence: use to_platform_device()
        spi: mediatek: Add spi support for mt2701 IC
        spi: mediatek: merge all identical compat to mtk_common_compat
        spi: mtk: Add bindings for mediatek MT2701 soc platform
        spi: mediatek: Prevent overflows in FIFO transfers
        spi: s3c64xx: Remove unused platform_device_id entries
        spi: use to_spi_device
        spi: dw: Use SPI_TMOD_TR rather than magic const 0 to set tmode
        spi: imx: defer spi initialization, if DMA engine is
        spi: imx: return error from dma channel request
        spi: imx: enable loopback only for ECSPI controller family
        spi: imx: fix loopback mode setup after controller reset
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20160112' of git://git.infradead.org/linux-mtd · ac53b2e0
      Linus Torvalds authored
      Pull MTD updates from Brian Norris:
       "Generic MTD:
         - populate the MTD device 'of_node' field (and get a proper 'of_node'
           symlink in sysfs)
           This yielded some new helper functions, and changes across a
           variety of drivers
         - partitioning cleanups, to prepare for better device-tree based
           partitioning in the future
           Eliminate a lot of boilerplate for drivers that want to use
           OF-based partition parsing
           The DT bindings for this didn't settle yet, so most non-cleanup
           portions are deferred for a future release
         - embed a struct mtd_info inside struct nand_chip
           This is really long overdue; too many drivers have to do the same
           silly boilerplate to allocate and link up two "independent"
           structs, when in fact, everyone is assuming there is an exact 1:1
           relationship between a NAND chips struct and its underlying MTD.
           This aids improved helpers and should make certain abstractions
           easier in the future.
           Also causes a lot of churn, helped along by some automated code
         - add more core support for detecting (and "correcting") bitflips in
           erased pages; requires opt-in by drivers, but at least we kill a
           few bad implementations and hopefully stave off future ones
         - pxa3xx_nand: cleanups, a few fixes, and PM improvements
         - new JZ4780 NAND driver
        SPI NOR:
         - provide default erase function, for controllers that just want to
           send the SECTOR_ERASE command directly
         - fix some module auto-loading issues with device tree
         - error handling fixes
         - new Mediatek QSPI flash driver
         - cfi: force valid geometry Kconfig (finally!)
           This one used to trip up randconfigs occasionally, since bots
           aren't deterred by big scary "advanced configuration" menus
        More? Probably. See the commit logs"
      * tag 'for-linus-20160112' of git://git.infradead.org/linux-mtd: (168 commits)
        mtd: jz4780_nand: replace if/else blocks with switch/case
        mtd: nand: jz4780: Update ecc correction error codes
        mtd: nandsim: use nand_get_controller_data()
        mtd: jz4780_nand: remove useless mtd->priv = chip assignment
        staging: mt29f_spinand: make use of nand_set/get_controller_data() helpers
        mtd: nand: make use of nand_set/get_controller_data() helpers
        ARM: make use of nand_set/get_controller_data() helpers
        mtd: nand: add helpers to access ->priv
        mtd: nand: jz4780: driver for NAND devices on JZ4780 SoCs
        mtd: nand: jz4740: remove custom 'erased check' implementation
        mtd: nand: diskonchip: remove custom 'erased check' implementation
        mtd: nand: davinci: remove custom 'erased check' implementation
        mtd: nand: use nand_check_erased_ecc_chunk in default ECC read functions
        mtd: nand: return consistent error codes in ecc.correct() implementations
        doc: dt: mtd: new binding for jz4780-{nand,bch}
        mtd: cfi_cmdset_0001: fixing memory leak and handling failed kmalloc
        mtd: spi-nor: wait until lock/unlock operations are ready
        mtd: tests: consolidate kmalloc/memset 0 call to kzalloc
        jffs2: use to_delayed_work
        mtd: nand: assign reasonable default name for NAND drivers
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.5' of git://git.code.sf.net/p/openipmi/linux-ipmi · cf09112d
      Linus Torvalds authored
      Pull ipmi updates from Corey Minyard:
       "Some minor changes that have been in linux-next for a while"
      * tag 'for-linus-4.5' of git://git.code.sf.net/p/openipmi/linux-ipmi:
        ipmi: Remove unnecessary pci_disable_device.
        char: ipmi: Drop owner assignment from i2c_driver
        ipmi: constify some struct and char arrays
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 1c5ff2ab
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
       - new driver for eGalaxTouch serial touchscreen
       - new driver for TS-4800 touchscreen
       - an update for Goodix touchscreen driver
       - PS/2 mouse module was reworked to limit number of protocols we try on
         pass-through ports to speed up their detection time
       - wacom_w8001 touchscreen driver now reports pen and touch via separate
         instances of input devices
       - other driver changes
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (42 commits)
        Input: elantech - mark protocols v2 and v3 as semi-mt
        Input: wacom_w8001 - drop use of ABS_MT_TOOL_TYPE
        Input: gpio-keys - fix check for disabling unsupported keys
        Input: omap-keypad - remove dead check
        Input: ti_am335x_tsc - fix HWPEN interrupt handling
        Input: omap-keypad - set tasklet data earlier
        Input: rohm_bu21023 - fix handling of retrying firmware update
        Input: ALPS - report v3 pinnacle trackstick device only if is present
        Input: ALPS - detect trackstick presence for v7 protocol
        Input: pcap_ts - use to_delayed_work
        Input: bma150 - constify bma150_cfg structure
        Input: i8042 - add Fujitsu Lifebook U745 to the nomux list
        Input: egalax_ts_serial - fix potential NULL dereference on error
        Input: uinput - sanity check on ff_effects_max and EV_FF
        Input: uinput - rework ABS validation
        Input: uinput - add new UINPUT_DEV_SETUP and UI_ABS_SETUP ioctl
        Input: goodix - use "inverted_[xy]" flags instead of "rotated_screen"
        Input: goodix - add axis swapping and axis inversion support
        Input: goodix - use goodix_i2c_write_u8 instead of i2c_master_send
        Input: goodix - add power management support
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-4.5-rc1' of git://git.infradead.org/users/vkoul/slave-dma · d6a32277
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "This round we have few new features, new driver and updates to few
        The new features to dmaengine core are:
         - Synchronized transfer termination API to terminate the dmaengine
           transfers in synchronized and async fashion as required by users.
           We have its user now in ALSA dmaengine lib, img, at_xdma, axi_dmac
         - Universal API for channel request and start consolidation of
           request flows.  It's user is ompa-dma driver.
         - Introduce reuse of descriptors and use in pxa_dma driver
         - New STM32 DMA driver
         - Removal of unused R-Car HPB-DMAC driver
         - ti-dma-crossbar updates for supporting eDMA
         - tegra-apb pm updates
         - idma64
         - mv_xor updates
         - ste_dma updates"
      * tag 'dmaengine-4.5-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (54 commits)
        dmaengine: mv_xor: add suspend/resume support
        dmaengine: mv_xor: de-duplicate mv_chan_set_mode*()
        dmaengine: mv_xor: remove mv_xor_chan->current_type field
        dmaengine: omap-dma: Add support for DMA filter mapping to slave devices
        dmaengine: edma: Add support for DMA filter mapping to slave devices
        dmaengine: core: Introduce new, universal API to request a channel
        dmaengine: core: Move and merge the code paths using private_candidate
        dmaengine: core: Skip mask matching when it is not provided to private_candidate
        dmaengine: mdc: Correct terminate_all handling
        dmaengine: edma: Add probe callback to edma_tptc_driver
        dmaengine: dw: fix potential memory leak in dw_dma_parse_dt()
        dmaengine: stm32-dma: Fix unchecked deference of chan->desc
        dmaengine: sh: Remove unused R-Car HPB-DMAC driver
        dmaengine: usb-dmac: Document SoC specific compatibility strings
        ste_dma40: Delete an unnecessary variable initialisation in d40_probe()
        ste_dma40: Delete another unnecessary check in d40_probe()
        ste_dma40: Delete an unnecessary check before the function call "kmem_cache_destroy"
        dmaengine: tegra-apb: Free interrupts before killing tasklets
        dmaengine: tegra-apb: Update driver to use GFP_NOWAIT
        dmaengine: tegra-apb: Only save channel state for those in use
    • Ard Biesheuvel's avatar
      efi: include asm/early_ioremap.h not asm/efi.h to get early_memremap · 0f7f2f0c
      Ard Biesheuvel authored
      The code in efi.c uses early_memremap(), but relies on a transitive
      include rather than including asm/early_ioremap.h directly, since
      this header did not exist on ia64.
      Commit f7d92489
       ("arm64/efi: refactor EFI init and runtime code
      for reuse by 32-bit ARM") attempted to work around this by including
      asm/efi.h, which transitively includes asm/early_ioremap.h on most
      architectures. However, since asm/efi.h does not exist on ia64 either,
      this is not much of an improvement.
      Now that we have created an asm/early_ioremap.h for ia64, we can just
      include it directly.
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    • Ard Biesheuvel's avatar
      ia64: split off early_ioremap() declarations into asm/early_ioremap.h · 80926770
      Ard Biesheuvel authored
      Unlike x86, arm64 and ARM, ia64 does not declare its implementations
      of early_ioremap/early_iounmap/early_memremap/early_memunmap in a header
      file called <asm/early_ioremap.h>
      This complicates the use of these functions in generic code, since the
      header cannot be included directly, and we have to rely on transitive
      includes, which is fragile.
      So create a <asm/early_ioremap.h> for ia64, and move the existing
      definitions into it.
      Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 4c257ec3
      Linus Torvalds authored
      Pull char/misc updates from Greg KH:
       "Here's the big set of char/misc patches for 4.5-rc1.
        Nothing major, lots of different driver subsystem updates, full
        details in the shortlog.  All of these have been in linux-next for a
      * tag 'char-misc-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (71 commits)
        mei: fix fasync return value on error
        parport: avoid assignment in if
        parport: remove unneeded space
        parport: change style of NULL comparison
        parport: remove unnecessary out of memory message
        parport: remove braces
        parport: quoted strings should not be split
        parport: code indent should use tabs
        parport: fix coding style
        parport: EXPORT_SYMBOL should follow function
        parport: remove trailing white space
        parport: fix a trivial typo
        coresight: Fix a typo in Kconfig
        coresight: checking for NULL string in coresight_name_match()
        Drivers: hv: vmbus: Treat Fibre Channel devices as performance critical
        Drivers: hv: utils: fix hvt_op_poll() return value on transport destroy
        Drivers: hv: vmbus: fix the building warning with hyperv-keyboard
        extcon: add Maxim MAX3355 driver
        Drivers: hv: ring_buffer: eliminate hv_ringbuffer_peek()
        Drivers: hv: remove code duplication between vmbus_recvpacket()/vmbus_recvpacket_raw()
    • Linus Torvalds's avatar
      Merge tag 'staging-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 39272dde
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the big staging driver pull request for 4.5-rc1.
        Lots of cleanups and fixes here, not as many as some releases, but
        800+ isn't that bad.  Full details in the shortlog.  All of these have
        been in linux-next for a while"
      * tag 'staging-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (843 commits)
        Revert "arm64: dts: Add dts files to enable ION on Hi6220 SoC."
        staging: gdm724x: constify tty_port_operations structs
        staging: gdm72xx: add userspace data struct
        staging: gdm72xx: Replace timeval with ktime_t
        iio: adc: ina2xx: Fix incorrect report of data endianness to userspace.
        iio: light: us5182d: Refactor read_raw function
        iio: light: us5182d: Add interrupt support and events
        iio: light: us5182d: Fix enable status inconcistency
        iio: Make IIO value formating function globally available.
        staging: emxx_udc: use list_first_entry_or_null()
        staging/emxx_udc: fix 64-bit warnings
        STAGING: COMEDI: Using kernel types in plx9080.h
        STAGING: COMEDI: Added spaces around binary operators in plx9080.h
        STAGING: COMEDI: Fixed format of comments in plx9080.h
        staging: comedi: comedilib.h: Coding style warning fix for block comments
        staging: comedi: s526: add macros for counter control reg values
        staging: comedi: s526: replace counter mode bitfield struct
        staging: comedi: check for more errors for zero-length write
        staging: comedi: simplify returned errors for comedi_write()
        staging: comedi: return error on "write" if no command set up
    • Linus Torvalds's avatar
      Merge tag 'tty-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 67ad058d
      Linus Torvalds authored
      Pull tty/serial updates from Greg KH:
       "Here is the big serial/tty driver update for 4.5-rc1.
        Lots of driver updates and some tty core changes.  All of these have
        been in linux-next and the details are in the shortlog"
      * tag 'tty-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (127 commits)
        drivers/tty/serial: delete unused MODULE_DEVICE_TABLE from atmel_serial.c
        serial: sh-sci: Remove cpufreq notifier to fix crash/deadlock
        serial: 8250: of: Fix the driver and actually compile the 8250_of
        tty: amba-pl011: use iotype instead of access_32b to track 32-bit I/O
        tty: amba-pl011: fix earlycon register offsets
        serial: sh-sci: Drop the sci_fck clock fallback
        sh: sh7734: Correct SCIF type for BRG
        sh: Remove sci_ick clock alias
        sh: Rename sci_ick and sci_fck clock to fck
        serial: sh-sci: Add support for optional BRG on (H)SCIF
        serial: sh-sci: Add support for optional external (H)SCK input
        serial: sh-sci: Prepare for multiple sampling clock sources
        serial: sh-sci: Correct SCIF type on R-Car for BRG
        serial: sh-sci: Correct SCIF type on RZ/A1H
        serial: sh-sci: Replace struct sci_port_info by type/regtype encoding
        serial: sh-sci: Add BRG register definitions
        serial: sh-sci: Take into account sampling rate for max baud rate
        serial: sh-sci: Merge sci_scbrr_calc() and sci_baud_calc_hscif()
        serial: sh-sci: Avoid calculating the receive margin for HSCIF
        serial: sh-sci: Improve bit rate error calculation for HSCIF
    • Linus Torvalds's avatar
      Merge tag 'usb-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 237f38c3
      Linus Torvalds authored
      Pull USB updates from Greg KH:
       "Here is the big USB drivers update for 4.5-rc1.
        Lots of gadget driver updates and fixes, like usual, and a mix of
        other USB driver updates as well.  Full details in the shortlog.  All
        of these have been in linux-next for a while"
      * tag 'usb-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (191 commits)
        MAINTAINERS: change my email address
        USB: usbmon: remove assignment from IS_ERR argument
        USB: mxu11x0: drop redundant function name from error messages
        USB: mxu11x0: fix debug-message typos
        USB: mxu11x0: rename usb-serial driver
        USB: mxu11x0: fix modem-control handling on B0-transitions
        USB: mxu11x0: fix memory leak on firmware download
        USB: mxu11x0: fix memory leak in port-probe error path
        USB: serial: add Moxa UPORT 11x0 driver
        USB: cp210x: add ID for ELV Marble Sound Board 1
        usb: chipidea: otg: use usb autosuspend to suspend bus for HNP
        usb: chipidea: host: set host to be null after hcd is freed
        usb: chipidea: removing of_find_property
        usb: chipidea: implement platform shutdown callback
        usb: chipidea: clean up CONFIG_USB_CHIPIDEA_DEBUG reference
        usb: chipidea: delete static debug support
        usb: chipidea: support debugfs without CONFIG_USB_CHIPIDEA_DEBUG
        usb: chipidea: udc: improve error handling on _hardware_enqueue
        usb: chipidea: udc: _ep_queue and _hw_queue cleanup
        usb: dwc3: of-simple: fix build warning on !PM
  3. 12 Jan, 2016 14 commits
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-4.5-rc1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 67990608
      Linus Torvalds authored
      Pull oower management and ACPI updates from Rafael Wysocki:
       "As far as the number of commits goes, ACPICA takes the lead this time,
        followed by cpufreq and the device properties framework changes.
        The most significant new feature is the debugfs-based interface to the
        ACPICA's AML debugger added in the previous cycle and a new user space
        tool for accessing it.
        On the cpufreq front, the core is updated to handle governors more
        efficiently, particularly on systems where a single cpufreq policy
        object is shared between multiple CPUs, and there are quite a few
        changes in drivers (intel_pstate, cpufreq-dt etc).
        The device properties framework is updated to handle built-in (ie
        included in the kernel itself) device properties better, among other
        things by adding a fallback mechanism that will allow drivers to
        provide default properties to be used in case the plaform firmware
        doesn't provide the properties expected by them.
        The Operating Performance Points (OPP) framework gets new DT bindings
        and debugfs support.
        A new cpufreq driver for ST platforms is added and the ACPI driver for
        AMD SoCs will now support the APM X-Gene ACPI I2C device.
        The rest is mostly fixes and cleanups all over.
         - Add a debugfs-based interface for interacting with the ACPICA's AML
           debugger introduced in the previous cycle and a new user space tool
           for that, fix some bugs related to the AML debugger and clean up
           the code in question (Lv Zheng, Dan Carpenter, Colin Ian King,
           Markus Elfring).
         - Update ACPICA to upstream revision 20151218 including a number of
           fixes and cleanups in the ACPICA core (Bob Moore, Lv Zheng, Labbe
           Corentin, Prarit Bhargava, Colin Ian King, David E Box, Rafael
           In particular, the previously added erroneous support for the _SUB
           object is dropped, the concatenate operator will support all ACPI
           objects now, the Debug Object handling is improved, the SuperName
           handling of parameters being control methods is fixed, the
           ObjectType operator handling is updated to follow ACPI 5.0A and the
           handling of CondRefOf and RefOf is updated accordingly, module-
           level code will be executed after loading each ACPI table now
           (instead of being run once after all tables containing AML have
           been loaded), the Operation Region handlers management is updated
           to fix some reported problems and a the ACPICA code in the kernel
           is more in line with the upstream now.
         - Update the ACPI backlight driver to provide information on whether
           or not it will generate key-presses for brightness change hotkeys
           and update some platform drivers (dell-wmi, thinkpad_acpi) to use
           that information to avoid sending double key-events to users pace
           for these, add new ACPI backlight quirks (Hans de Goede, Aaron Lu,
           Adrien Schildknecht).
         - Improve the ACPI handling of interrupt GPIOs (Christophe Ricard).
         - Fix the handling of the list of device IDs of device objects found
           in the ACPI namespace and add a helper for checking if there is a
           device object for a given device ID (Lukas Wunner).
         - Change the logic in the ACPI namespace scanning code to create
           struct acpi_device objects for all ACPI device objects found in the
           namespace even if _STA fails for them which helps to avoid device
           enumeration problems on Microsoft Surface 3 (Aaron Lu).
         - Add support for the APM X-Gene ACPI I2C device to the ACPI driver
           for AMD SoCs (Loc Ho).
         - Fix the long-standing issue with the DMA controller on Intel SoCs
           where ACPI tables have no power management support for the DMA
           controller itself, but it can be powered off automatically when the
           last (other) device on the SoC is powered off via ACPI and clean up
           the ACPI driver for Intel SoCs (acpi-lpss) after previous attempts
           to fix that problem (Andy Shevchenko).
         - Assorted ACPI fixes and cleanups (Andy Lutomirski, Colin Ian King,
           Javier Martinez Canillas, Ken Xue, Mathias Krause, Rafael Wysocki,
           Sinan Kaya).
         - Update the device properties framework for better handling of
           built-in properties, add support for built-in properties to the
           platform bus type, update the MFD subsystem's handling of device
           properties and add support for passing default configuration data
           as device properties to the intel-lpss MFD drivers, convert the
           designware I2C driver to use the unified device properties API and
           add a fallback mechanism for using default built-in properties if
           the platform firmware fails to provide the properties as expected
           by drivers (Andy Shevchenko, Mika Westerberg, Heikki Krogerus,
           Andrew Morton).
         - Add new Device Tree bindings to the Operating Performance Points
           (OPP) framework and update the exynos4412 DT binding accordingly,
           introduce debugfs support for the OPP framework (Viresh Kumar,
           Bartlomiej Zolnierkiewicz).
         - Migrate the mt8173 cpufreq driver to the new OPP bindings (Pi-Cheng
         - Update the cpufreq core to make the handling of governors more
           efficient, especially on systems where policy objects are shared
           between multiple CPUs (Viresh Kumar, Rafael Wysocki).
         - Fix cpufreq governor handling on configurations with
           CONFIG_HZ_PERIODIC set (Chen Yu).
         - Clean up the cpufreq core code related to the boost sysfs knob
           support and update the ACPI cpufreq driver accordingly (Rafael
         - Add a new cpufreq driver for ST platforms and corresponding Device
           Tree bindings (Lee Jones).
         - Update the intel_pstate driver to allow the P-state selection
           algorithm used by it to depend on the CPU ID of the processor it is
           running on, make it use a special P-state selection algorithm (with
           an IO wait time compensation tweak) on Atom CPUs based on the
           Airmont and Silvermont cores so as to reduce their energy
           consumption and improve intel_pstate documentation (Philippe
           Longepe, Srinivas Pandruvada).
         - Update the cpufreq-dt driver to support registering cooling devices
           that use the (P * V^2 * f) dynamic power draw formula where V is
           the voltage, f is the frequency and P is a constant coefficient
           provided by Device Tree and update the arm_big_little cpufreq
           driver to use that support (Punit Agrawal).
         - Assorted cpufreq driver (cpufreq-dt, qoriq, pcc-cpufreq,
           blackfin-cpufreq) updates (Andrzej Hajda, Hongtao Jia, Jacob
           Tanenbaum, Markus Elfring).
         - cpuidle core tweaks related to polling and measured_us calculation
           (Rik van Riel).
         - Removal of modularity from a few cpuidle drivers (clps711x, ux500,
           exynos) that cannot be built as modules in practice (Paul
         - PM core update to prevent devices from being probed during system
           suspend/resume which is generally problematic and may lead to
           inconsistent behavior (Grygorii Strashko).
         - Assorted updates of the PM core and related code (Julia Lawall,
           Manuel Pégourié-Gonnard, Maruthi Bayyavarapu, Rafael Wysocki, Ulf
         - PNP bus type updates (Christophe Le Roy, Heiner Kallweit).
         - PCI PM code cleanups (Jarkko Nikula, Julia Lawall).
         - cpupower tool updates (Jacob Tanenbaum, Thomas Renninger)"
      * tag 'pm+acpi-4.5-rc1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (177 commits)
        PM / clk: don't leave clocks enabled when driver not bound
        i2c: dw: Add APM X-Gene ACPI I2C device support
        ACPI / APD: Add APM X-Gene ACPI I2C device support
        ACPI / LPSS: change 'does not have' to 'has' in comment
        Revert "dmaengine: dw: platform: provide platform data for Intel"
        dmaengine: dw: return immediately from IRQ when DMA isn't in use
        dmaengine: dw: platform: power on device on shutdown
        ACPI / LPSS: override power state for LPSS DMA device
        PM / OPP: Use snprintf() instead of sprintf()
        Documentation: cpufreq: intel_pstate: enhance documentation
        ACPI, PCI, irq: remove redundant check for null string pointer
        ACPI / video: driver must be registered before checking for keypresses
        cpufreq-dt: fix handling regulator_get_voltage() result
        cpufreq: governor: Fix negative idle_time when configured with CONFIG_HZ_PERIODIC
        PM / sleep: Add support for read-only sysfs attributes
        ACPI: Fix white space in a structure definition
        ACPI / SBS: fix inconsistent indenting inside if statement
        PNP: respect PNP_DRIVER_RES_DO_NOT_CHANGE when detaching
        ACPI / PNP: constify device IDs
        ACPI / PCI: Simplify acpi_penalize_isa_irq()
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · c17488d0
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "Not much new with tracing for this release.  Mostly just clean ups and
        minor fixes.
        Here's what else is new:
         - A new TRACE_EVENT_FN_COND macro, combining both _FN and _COND for
           those that want both.
         - New selftest to test the instance create and delete
         - Better debug output when ftrace fails"
      * tag 'trace-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (24 commits)
        ftrace: Fix the race between ftrace and insmod
        ftrace: Add infrastructure for delayed enabling of module functions
        x86: ftrace: Fix the comments for ftrace_modify_code_direct()
        tracing: Fix comment to use tracing_on over tracing_enable
        metag: ftrace: Fix the comments for ftrace_modify_code
        sh: ftrace: Fix the comments for ftrace_modify_code()
        ia64: ftrace: Fix the comments for ftrace_modify_code()
        ftrace: Clean up ftrace_module_init() code
        ftrace: Join functions ftrace_module_init() and ftrace_init_module()
        tracing: Introduce TRACE_EVENT_FN_COND macro
        tracing: Use seq_buf_used() in seq_buf_to_user() instead of len
        bpf: Constify bpf_verifier_ops structure
        ftrace: Have ftrace_ops_get_func() handle RCU and PER_CPU flags too
        ftrace: Remove use of control list and ops
        ftrace: Fix output of enabled_functions for showing tramp
        ftrace: Fix a typo in comment
        ftrace: Show all tramps registered to a record on ftrace_bug()
        ftrace: Add variable ftrace_expected for archs to show expected code
        ftrace: Add new type to distinguish what kind of ftrace_bug()
        tracing: Update cond flag when enabling or disabling a trigger
    • Linus Torvalds's avatar
      Merge branch 'for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 34a9304a
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
       - cgroup v2 interface is now official.  It's no longer hidden behind a
         devel flag and can be mounted using the new cgroup2 fs type.
         Unfortunately, cpu v2 interface hasn't made it yet due to the
         discussion around in-process hierarchical resource distribution and
         only memory and io controllers can be used on the v2 interface at the
       - The existing documentation which has always been a bit of mess is
         relocated under Documentation/cgroup-v1/. Documentation/cgroup-v2.txt
         is added as the authoritative documentation for the v2 interface.
       - Some features are added through for-4.5-ancestor-test branch to
         enable netfilter xt_cgroup match to use cgroup v2 paths.  The actual
         netfilter changes will be merged through the net tree which pulled in
         the said branch.
       - Various cleanups
      * 'for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: rename cgroup documentations
        cgroup: fix a typo.
        cgroup: Remove resource_counter.txt in Documentation/cgroup-legacy/00-INDEX.
        cgroup: demote subsystem init messages to KERN_DEBUG
        cgroup: Fix uninitialized variable warning
        cgroup: put controller Kconfig options in meaningful order
        cgroup: clean up the kernel configuration menu nomenclature
        cgroup_pids: fix a typo.
        Subject: cgroup: Fix incomplete dd command in blkio documentation
        cgroup: kill cgrp_ss_priv[CGROUP_CANFORK_COUNT] and friends
        cpuset: Replace all instances of time_t with time64_t
        cgroup: replace unified-hierarchy.txt with a proper cgroup v2 documentation
        cgroup: rename Documentation/cgroups/ to Documentation/cgroup-legacy/
        cgroup: replace __DEVEL__sane_behavior with cgroup2 fs type
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · aee3bfa3
      Linus Torvalds authored
      Pull networking updates from Davic Miller:
       1) Support busy polling generically, for all NAPI drivers.  From Eric
       2) Add byte/packet counter support to nft_ct, from Floriani Westphal.
       3) Add RSS/XPS support to mvneta driver, from Gregory Clement.
       4) Implement IPV6_HDRINCL socket option for raw sockets, from Hannes
          Frederic Sowa.
       5) Add support for T6 adapter to cxgb4 driver, from Hariprasad Shenai.
       6) Add support for VLAN device bridging to mlxsw switch driver, from
          Ido Schimmel.
       7) Add driver for Netronome NFP4000/NFP6000, from Jakub Kicinski.
       8) Provide hwmon interface to mlxsw switch driver, from Jiri Pirko.
       9) Reorganize wireless drivers into per-vendor directories just like we
          do for ethernet drivers.  From Kalle Valo.
      10) Provide a way for administrators "destroy" connected sockets via the
          SOCK_DESTROY socket netlink diag operation.  From Lorenzo Colitti.
      11) Add support to add/remove multicast routes via netlink, from Nikolay
      12) Make TCP keepalive settings per-namespace, from Nikolay Borisov.
      13) Add forwarding and packet duplication facilities to nf_tables, from
          Pablo Neira Ayuso.
      14) Dead route support in MPLS, from Roopa Prabhu.
      15) TSO support for thunderx chips, from Sunil Goutham.
      16) Add driver for IBM's System i/p VNIC protocol, from Thomas Falcon.
      17) Rationalize, consolidate, and more completely document the checksum
          offloading facilities in the networking stack.  From Tom Herbert.
      18) Support aborting an ongoing scan in mac80211/cfg80211, from
          Vidyullatha Kanchanapally.
      19) Use per-bucket spinlock for bpf hash facility, from Tom Leiming.
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1375 commits)
        net: bnxt: always return values from _bnxt_get_max_rings
        net: bpf: reject invalid shifts
        phonet: properly unshare skbs in phonet_rcv()
        dwc_eth_qos: Fix dma address for multi-fragment skbs
        phy: remove an unneeded condition
        mdio: remove an unneed condition
        mdio_bus: NULL dereference on allocation error
        net: Fix typo in netdev_intersect_features
        net: freescale: mac-fec: Fix build error from phy_device API change
        net: freescale: ucc_geth: Fix build error from phy_device API change
        bonding: Prevent IPv6 link local address on enslaved devices
        IB/mlx5: Add flow steering support
        net/mlx5_core: Export flow steering API
        net/mlx5_core: Make ipv4/ipv6 location more clear
        net/mlx5_core: Enable flow steering support for the IB driver
        net/mlx5_core: Initialize namespaces only when supported by device
        net/mlx5_core: Set priority attributes
        net/mlx5_core: Connect flow tables
        net/mlx5_core: Introduce modify flow table command
        net/mlx5_core: Managing root flow table
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · c597b6bc
      Linus Torvalds authored
      Pull crypto update from Herbert Xu:
         - Add RSA padding algorithm
         - Add GCM mode support to atmel
         - Add atmel support for SAMA5D2 devices
         - Add cipher modes to talitos
         - Add rockchip driver for rk3288
         - Add qat support for C3XXX and C62X"
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (103 commits)
        crypto: hifn_795x, picoxcell - use ablkcipher_request_cast
        crypto: qat - fix SKU definiftion for c3xxx dev
        crypto: qat - Fix random config build issue
        crypto: ccp - use to_pci_dev and to_platform_device
        crypto: qat - Rename dh895xcc mmp firmware
        crypto: 842 - remove WARN inside printk
        crypto: atmel-aes - add debug facilities to monitor register accesses.
        crypto: atmel-aes - add support to GCM mode
        crypto: atmel-aes - change the DMA threshold
        crypto: atmel-aes - fix the counter overflow in CTR mode
        crypto: atmel-aes - fix atmel-ctr-aes driver for RFC 3686
        crypto: atmel-aes - create sections to regroup functions by usage
        crypto: atmel-aes - fix typo and indentation
        crypto: atmel-aes - use SIZE_IN_WORDS() helper macro
        crypto: atmel-aes - improve performances of data transfer
        crypto: atmel-aes - fix atmel_aes_remove()
        crypto: atmel-aes - remove useless AES_FLAGS_DMA flag
        crypto: atmel-aes - reduce latency of DMA completion
        crypto: atmel-aes - remove unused 'err' member of struct atmel_aes_dev
        crypto: atmel-aes - rework crypto request completion
    • Linus Torvalds's avatar
      Merge tag 'upstream-4.5-rc1' of git://git.infradead.org/linux-ubifs · 60b7eca1
      Linus Torvalds authored
      Pull UBI/UBIFS updates from Richard Weinberger:
       "This contains three changes - two cleanups and one UBI wear leveling
        improvement by Sebastian Siewior"
      * tag 'upstream-4.5-rc1' of git://git.infradead.org/linux-ubifs:
        ubifs: Use XATTR_*_PREFIX_LEN
        UBIFS: add a comment in key.h for unused parameter
        mtd: ubi: wl: avoid erasing a PEB which is empty
    • Linus Torvalds's avatar
      Merge tag 'configfs-for-linus' of git://git.infradead.org/users/hch/configfs · 420d12d6
      Linus Torvalds authored
      Pull configfs updates from Christoph Hellwig:
       "I'm assisting Joel as co-maintainer and patch monkey now, and you will
        see pull reuquests from me for a while.
        Besides the MAINTAINERS update there is just a single change, which
        adds support for binary attributes to configfs, which are very similar
        to the sysfs binary attributes.  Thanks to Pantelis Antoniou!
        You will see another actually bigger set of configfs changes in the
        SCSI target pull from Nic - those were merged before this new tree
        even existed"
      * tag 'configfs-for-linus' of git://git.infradead.org/users/hch/configfs:
        configfs: add myself as co-maintainer, updated git tree
        configfs: implement binary attributes
    • Linus Torvalds's avatar
      Merge tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 4d589677
      Linus Torvalds authored
      Pull GFS2 updates from Bob Peterson:
       "Here is a list of patches we've accumulated for GFS2 for the current
        upstream merge window.  Last window's set was short, but I warned that
        this one would be bigger, and so it is.  We've got 19 patches:
         - A patch from Abhi Das to propagate the GFS2_DIF_SYSTEM bit so that
           newly added journals don't get flagged, deleted, and recreated by
         - Two patches from Andreas Gruenbacher to improve GFS2 performance
           where extended attributes are involved.
         - A patch from Andy Price to fix a suspicious rcu dereference error.
         - Two patches from Ben Marzinski that rework how GFS2's NFS cookies
           are managed.  This fixes readdir problems with nfs-over-gfs2.
         - A patch from Ben Marzinski that fixes a race in unmounting GFS2.
         - A set of four patches from me to move the resource group
           reservations inside the gfs2 inode to improve performance and fix a
           bug whereby get_write_access improperly prevented some operations
           like chown.
         - A patch from me to spinlock-protect the setting of system statfs
           file data.  This was causing small discrepancies between df and du.
         - A patch from me to reintroduce a timeout while clearing glocks
           which was accidentally dropped some time ago.
         - A patch from me to wait for iopen glock dequeues in order to
           improve deleting of files that were unlinked from a different
           cluster node.
         - A patch from me to ensure metadata address spaces get truncated
           when an inode is evicted.
         - A patch from me to fix a bug in which a memory leak could occur in
           some error cases when inodes were trying to be created.
         - A patch to consistently use iopen glocks to transition from the
           unlinked state to the deleted state.
         - A patch to fix a glock reference count error when inode creation
         - A patch from Junxiao Bi to fix an flock panic.
         - A patch from Markus Elfring that removes an unnecessary if"
      * tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: fix flock panic issue
        GFS2: Don't do glock put on when inode creation fails
        GFS2: Always use iopen glock for gl_deletes
        GFS2: Release iopen glock in gfs2_create_inode error cases
        GFS2: Truncate address space mapping when deleting an inode
        GFS2: Wait for iopen glock dequeues
        gfs2: clear journal live bit in	gfs2_log_flush
        gfs2: change gfs2 readdir cookie
        gfs2: keep offset when splitting dir leaf blocks
        GFS2: Reintroduce a timeout in function gfs2_gl_hash_clear
        GFS2: Update master statfs buffer with sd_statfs_spin locked
        GFS2: Reduce size of incore inode
        GFS2: Make rgrp reservations part of the gfs2_inode structure
        GFS2: Extract quota data from reservations structure (revert 5407e242)
        gfs2: Extended attribute readahead optimization
        gfs2: Extended attribute readahead
        GFS2: Use rht_for_each_entry_rcu in glock_hash_walk
        GFS2: Delete an unnecessary check before the function call "iput"
        gfs2: Automatically set GFS2_DIF_SYSTEM flag on system files
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 33caf82a
      Linus Torvalds authored
      Pull misc vfs updates from Al Viro:
       "All kinds of stuff.  That probably should've been 5 or 6 separate
        branches, but by the time I'd realized how large and mixed that bag
        had become it had been too close to -final to play with rebasing.
        Some fs/namei.c cleanups there, memdup_user_nul() introduction and
        switching open-coded instances, burying long-dead code, whack-a-mole
        of various kinds, several new helpers for ->llseek(), assorted
        cleanups and fixes from various people, etc.
        One piece probably deserves special mention - Neil's
        lookup_one_len_unlocked().  Similar to lookup_one_len(), but gets
        called without ->i_mutex and tries to avoid ever taking it.  That, of
        course, means that it's not useful for any directory modifications,
        but things like getting inode attributes in nfds readdirplus are fine
        with that.  I really should've asked for moratorium on lookup-related
        changes this cycle, but since I hadn't done that early enough...  I
        *am* asking for that for the coming cycle, though - I'm going to try
        and get conversion of i_mutex to rwsem with ->lookup() done under lock
        taken shared.
        There will be a patch closer to the end of the window, along the lines
        of the one Linus had posted last May - mechanical conversion of
        ->i_mutex accesses to inode_lock()/inode_unlock()/inode_trylock()/
        inode_is_locked()/inode_lock_nested().  To quote Linus back then:
          |    This is an automated patch using
          |        sed 's/mutex_lock(&\(.*\)->i_mutex)/inode_lock(\1)/'
          |        sed 's/mutex_unlock(&\(.*\)->i_mutex)/inode_unlock(\1)/'
          |        sed 's/mutex_lock_nested(&\(.*\)->i_mutex,[     ]*I_MUTEX_\([A-Z0-9_]*\))/inode_lock_nested(\1, I_MUTEX_\2)/'
          |        sed 's/mutex_is_locked(&\(.*\)->i_mutex)/inode_is_locked(\1)/'
          |        sed 's/mutex_trylock(&\(.*\)->i_mutex)/inode_trylock(\1)/'
          |    with a very few manual fixups
        I'm going to send that once the ->i_mutex-affecting stuff in -next
        gets mostly merged (or when Linus says he's about to stop taking
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (63 commits)
        nfsd: don't hold i_mutex over userspace upcalls
        fs:affs:Replace time_t with time64_t
        fs/9p: use fscache mutex rather than spinlock
        proc: add a reschedule point in proc_readfd_common()
        logfs: constify logfs_block_ops structures
        fcntl: allow to set O_DIRECT flag on pipe
        fs: __generic_file_splice_read retry lookup on AOP_TRUNCATED_PAGE
        fs: xattr: Use kvfree()
        [s390] page_to_phys() always returns a multiple of PAGE_SIZE
        nbd: use ->compat_ioctl()
        fs: use block_device name vsprintf helper
        lib/vsprintf: add %*pg format specifier
        fs: use gendisk->disk_name where possible
        poll: plug an unused argument to do_poll
        amdkfd: don't open-code memdup_user()
        cdrom: don't open-code memdup_user()
        rsxx: don't open-code memdup_user()
        mtip32xx: don't open-code memdup_user()
        [um] mconsole: don't open-code memdup_user_nul()
        [um] hostaudio: don't open-code memdup_user()
    • Linus Torvalds's avatar
      Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · ca9706a2
      Linus Torvalds authored
      Pull iov_iter infrastructure updates from Al Viro:
       "A couple of iov_iter updates"
      * 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        iov_iter: export import_single_range()
        iov_iter: constify {csum_and_,}copy_to_iter()
    • Linus Torvalds's avatar
      Merge branch 'work.copy_file_range' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · fce205e9
      Linus Torvalds authored
      Pull vfs copy_file_range updates from Al Viro:
       "Several series around copy_file_range/CLONE"
      * 'work.copy_file_range' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        btrfs: use new dedupe data function pointer
        vfs: hoist the btrfs deduplication ioctl to the vfs
        vfs: wire up compat ioctl for CLONE/CLONE_RANGE
        cifs: avoid unused variable and label
        nfsd: implement the NFSv4.2 CLONE operation
        nfsd: Pass filehandle to nfs4_preprocess_stateid_op()
        vfs: pull btrfs clone API to vfs layer
        locks: new locks_mandatory_area calling convention
        vfs: Add vfs_copy_file_range() support for pagecache copies
        btrfs: add .copy_file_range file operation
        x86: add sys_copy_file_range to syscall tables
        vfs: add copy_file_range syscall and vfs helper
    • Linus Torvalds's avatar
      Merge tag 'locks-v4.5-1' of git://git.samba.org/jlayton/linux · 065019a3
      Linus Torvalds authored
      Pull file locking updates from Jeff Layton:
       "File locking related changes for v4.5 (pile #1)
         - new Kconfig option to allow disabling mandatory locking (which is
           racy anyway)
         - new tracepoints for setlk and close codepaths
         - fix for a long-standing bug in code that handles races between
           setting a POSIX lock and close()"
      * tag 'locks-v4.5-1' of git://git.samba.org/jlayton/linux:
        locks: rename __posix_lock_file to posix_lock_inode
        locks: prink more detail when there are leaked locks
        locks: pass inode pointer to locks_free_lock_context
        locks: sprinkle some tracepoints around the file locking code
        locks: don't check for race with close when setting OFD lock
        locks: fix unlock when fcntl_setlk races with a close
        fs: make locks.c explicitly non-modular
        locks: use list_first_entry_or_null()
        locks: Don't allow mounts in user namespaces to enable mandatory locking
        locks: Allow disabling mandatory locking at compile time
    • Arnd Bergmann's avatar
      net: bnxt: always return values from _bnxt_get_max_rings · 415b6f19
      Arnd Bergmann authored
      Newly added code in the bnxt driver uses a couple of variables that
      are never initialized when CONFIG_BNXT_SRIOV is not set, and gcc
      correctly warns about that:
      In file included from include/linux/list.h:8:0,
                       from include/linux/module.h:9,
                       from drivers/net/ethernet/broadcom/bnxt/bnxt.c:10:
      drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_get_max_rings':
      include/linux/kernel.h:794:26: warning: 'cp' may be used uninitialized in this function [-Wmaybe-uninitialized]
      include/linux/kernel.h:794:26: warning: 'tx' may be used uninitialized in this function [-Wmaybe-uninitialized]
      drivers/net/ethernet/broadcom/bnxt/bnxt.c:5730:11: warning: 'rx' may be used uninitialized in this function [-Wmaybe-uninitialized]
      drivers/net/ethernet/broadcom/bnxt/bnxt.c:5736:6: note: 'rx' was declared here
      This changes the condition so that we fall back to using the PF
      data if VF is not available, and always initialize the variables
      to something useful.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Fixes: 6e6c5a57
       ("bnxt_en: Modify bnxt_get_max_rings() to support shared or non shared rings.")
      Acked-by: default avatarMichael Chan <mchan@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Rabin Vincent's avatar
      net: bpf: reject invalid shifts · 229394e8
      Rabin Vincent authored
      On ARM64, a BUG() is triggered in the eBPF JIT if a filter with a
      constant shift that can't be encoded in the immediate field of the
      UBFM/SBFM instructions is passed to the JIT.  Since these shifts
      amounts, which are negative or >= regsize, are invalid, reject them in
      the eBPF verifier and the classic BPF filter checker, for all
      Signed-off-by: default avatarRabin Vincent <rabin@rab.in>
      Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>