1. 02 Feb, 2018 5 commits
    • Linus Torvalds's avatar
      Merge tag 'drm-for-v4.16' of git://people.freedesktop.org/~airlied/linux · 4bf772b1
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "This seems to have been a comparatively quieter merge window, I assume
        due to holidays etc. The "biggest" change is AMD header cleanups, which
        merge/remove a bunch of them. The AMD gpu scheduler is now being made generic
        with the etnaviv driver wanting to reuse the code, hopefully other drivers
        can go in the same direction.
      
        Otherwise it's the usual lots of stuff in i915/amdgpu, not so much stuff
        elsewhere.
      
        Core:
         - Add .last_close and .output_poll_changed helpers to reduce driver footprints
         - Fix plane clipping
         - Improved debug printing support
         - Add panel orientation property
         - Update edid derived properties at edid setting
         - Reduction in fbdev driver footprint
         - Move amdgpu scheduler into core for other drivers to use.
      
        i915:
         - Selftest and IGT improvements
         - Fast boot prep work on IPS, pipe config
         - HW workarounds for Cannonlake, Geminilake
         - Cannonlake clock and HDMI2.0 fixes
         - GPU cache invalidation and context switch improvements
         - Display planes cleanup
         - New PMU interface for perf queries
         - New firmware support for KBL/SKL
         - Geminilake HW workaround for perforamce
         - Coffeelake stolen memory improvements
         - GPU reset robustness work
         - Cannonlake horizontal plane flipping
         - GVT work
      
        amdgpu/radeon:
         - RV and Vega header file cleanups (lots of lines gone!)
         - TTM operation context support
         - 48-bit GPUVM support for Vega/RV
         - ECC support for Vega
         - Resizeable BAR support
         - Multi-display sync support
         - Enable swapout for reserved BOs during allocation
         - S3 fixes on Raven
         - GPU reset cleanup and fixes
         - 2+1 level GPU page table
      
        amdkfd:
         - GFX7/8 SDMA user queues support
         - Hardware scheduling for multiple processes
         - dGPU prep work
      
        rcar:
         - Added R8A7743/5 support
         - System suspend/resume support
      
        sun4i:
         - Multi-plane support for YUV formats
         - A83T and LVDS support
      
        msm:
         - Devfreq support for GPU
      
        tegra:
         - Prep work for adding Tegra186 support
         - Tegra186 HDMI support
         - HDMI2.0 and zpos support by using generic helpers
      
        tilcdc:
         - Misc fixes
      
        omapdrm:
         - Support memory bandwidth limits
         - DSI command mode panel cleanups
         - DMM error handling
      
        exynos:
         - drop the old IPP subdriver.
      
        etnaviv:
         - Occlusion query fixes
         - Job handling fixes
         - Prep work for hooking in gpu scheduler
      
        armada:
         - Move closer to atomic modesetting
         - Allow disabling primary plane if overlay is full screen
      
        imx:
         - Format modifier support
         - Add tile prefetch to PRE
         - Runtime PM support for PRG
      
        ast:
         - fix LUT loading"
      
      * tag 'drm-for-v4.16' of git://people.freedesktop.org/~airlied/linux: (1471 commits)
        drm/ast: Load lut in crtc_commit
        drm: Check for lessee in DROP_MASTER ioctl
        drm: fix gpu scheduler link order
        drm/amd/display: Demote error print to debug print when ATOM impl missing
        dma-buf: fix reservation_object_wait_timeout_rcu once more v2
        drm/amdgpu: Avoid leaking PM domain on driver unbind (v2)
        drm/amd/amdgpu: Add Polaris version check
        drm/amdgpu: Reenable manual GPU reset from sysfs
        drm/amdgpu: disable MMHUB power gating on raven
        drm/ttm: Don't unreserve swapped BOs that were previously reserved
        drm/ttm: Don't add swapped BOs to swap-LRU list
        drm/amdgpu: only check for ECC on Vega10
        drm/amd/powerplay: Fix smu_table_entry.handle type
        drm/ttm: add VADDR_FLAG_UPDATED_COUNT to correctly update dma_page global count
        drm: Fix PANEL_ORIENTATION_QUIRKS breaking the Kconfig DRM menuconfig
        drm/radeon: fill in rb backend map on evergreen/ni.
        drm/amdgpu/gfx9: fix ngg enablement to clear gds reserved memory (v2)
        drm/ttm: only free pages rather than update global memory count together
        drm/amdgpu: fix CPU based VM updates
        drm/amdgpu: fix typo in amdgpu_vce_validate_bo
        ...
      4bf772b1
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 3879ae65
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "The core framework has a handful of patches this time around, mostly
        due to the clk rate protection support added by Jerome Brunet.
      
        This feature will allow consumers to lock in a certain rate on the
        output of a clk so that things like audio playback don't hear pops
        when the clk frequency changes due to shared parent clks changing
        rates. Currently the clk API doesn't guarantee the rate of a clk stays
        at the rate you request after clk_set_rate() is called, so this new
        API will allow drivers to express that requirement.
      
        Beyond this, the core got some debugfs pretty printing patches and a
        couple minor non-critical fixes.
      
        Looking outside of the core framework diff we have some new driver
        additions and the removal of a legacy TI clk driver. Both of these hit
        high in the dirstat. Also, the removal of the asm-generic/clkdev.h
        file causes small one-liners in all the architecture Kbuild files.
      
        Overall, the driver diff seems to be the normal stuff that comes all
        the time to fix little problems here and there and to support new
        hardware.
      
        Summary:
      
        Core:
         - Clk rate protection
         - Symbolic clk flags in debugfs output
         - Clk registration enabled clks while doing bookkeeping updates
      
        New Drivers:
         - Spreadtrum SC9860
         - HiSilicon hi3660 stub
         - Qualcomm A53 PLL, SPMI clkdiv, and MSM8916 APCS
         - Amlogic Meson-AXG
         - ASPEED BMC
      
        Removed Drivers:
         - TI OMAP 3xxx legacy clk (non-DT) support
         - asm*/clkdev.h got removed (not really a driver)
      
        Updates:
         - Renesas FDP1-0 module clock on R-Car M3-W
         - Renesas LVDS module clock on R-Car V3M
         - Misc fixes to pr_err() prints
         - Qualcomm MSM8916 audio fixes
         - Qualcomm IPQ8074 rounded out support for more peripherals
         - Qualcomm Alpha PLL variants
         - Divider code was using container_of() on bad pointers
         - Allwinner DE2 clks on H3
         - Amlogic minor data fixes and dropping of CLK_IGNORE_UNUSED
         - Mediatek clk driver compile test support
         - AT91 PMC clk suspend/resume restoration support
         - PLL issues fixed on si5351
         - Broadcom IProc PLL calculation updates
         - DVFS support for Armada mvebu CPU clks
         - Allwinner fixed post-divider support
         - TI clkctrl fixes and support for newer SoCs"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (125 commits)
        clk: aspeed: Handle inverse polarity of USB port 1 clock gate
        clk: aspeed: Fix return value check in aspeed_cc_init()
        clk: aspeed: Add reset controller
        clk: aspeed: Register gated clocks
        clk: aspeed: Add platform driver and register PLLs
        clk: aspeed: Register core clocks
        clk: Add clock driver for ASPEED BMC SoCs
        clk: mediatek: adjust dependency of reset.c to avoid unexpectedly being built
        clk: fix reentrancy of clk_enable() on UP systems
        clk: meson-axg: fix potential NULL dereference in axg_clkc_probe()
        clk: Simplify debugfs registration
        clk: Fix debugfs_create_*() usage
        clk: Show symbolic clock flags in debugfs
        clk: renesas: r8a7796: Add FDP clock
        clk: Move __clk_{get,put}() into private clk.h API
        clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks
        clk: Improve flags doc for of_clk_detect_critical()
        arch: Remove clkdev.h asm-generic from Kbuild
        clk: sunxi-ng: a83t: Add M divider to TCON1 clock
        clk: Prepare to remove asm-generic/clkdev.h
        ...
      3879ae65
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · fe53d144
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "A number of new drivers get added this time, along with many
        low-priority bugfixes. The most interesting changes by subsystem are:
      
        bus drivers:
         - Updates to the Broadcom bus interface driver to support newer SoC
           types
         - The TI OMAP sysc driver now supports updated DT bindings
      
        memory controllers:
         - A new driver for Tegra186 gets added
         - A new driver for the ti-emif sram, to allow relocating
           suspend/resume handlers there
      
        SoC specific:
         - A new driver for Qualcomm QMI, the interface to the modem on MSM
           SoCs
         - A new driver for power domains on the actions S700 SoC
         - A driver for the Xilinx Zynq VCU logicoreIP
      
        reset controllers:
         - A new driver for Amlogic Meson-AGX
         - various bug fixes
      
        tee subsystem:
         - A new user interface got added to enable asynchronous communication
           with the TEE supplicant.
         - A new method of using user space memory for communication with the
           TEE is added"
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (84 commits)
        of: platform: fix OF node refcount leak
        soc: fsl: guts: Add a NULL check for devm_kasprintf()
        bus: ti-sysc: Fix smartreflex sysc mask
        psci: add CPU_IDLE dependency
        soc: xilinx: Fix Kconfig alignment
        soc: xilinx: xlnx_vcu: Use bitwise & rather than logical && on clkoutdiv
        soc: xilinx: xlnx_vcu: Depends on HAS_IOMEM for xlnx_vcu
        soc: bcm: brcmstb: Be multi-platform compatible
        soc: brcmstb: biuctrl: exit without warning on non brcmstb platforms
        Revert "soc: brcmstb: Only register SoC device on STB platforms"
        bus: omap: add MODULE_LICENSE tags
        soc: brcmstb: Only register SoC device on STB platforms
        tee: shm: Potential NULL dereference calling tee_shm_register()
        soc: xilinx: xlnx_vcu: Add Xilinx ZYNQMP VCU logicoreIP init driver
        dt-bindings: soc: xilinx: Add DT bindings to xlnx_vcu driver
        soc: xilinx: Create folder structure for soc specific drivers
        of: platform: populate /firmware/ node from of_platform_default_populate_init()
        soc: samsung: Add SPDX license identifiers
        soc: qcom: smp2p: Use common error handling code in qcom_smp2p_probe()
        tee: shm: don't put_page on null shm->pages
        ...
      fe53d144
    • Linus Torvalds's avatar
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · adbc128f
      Linus Torvalds authored
      Pull ARM SoC platform updates from Arnd Bergmann:
       "These are mostly minor bugfixes, cleanup and many defconfig updates to
        support added drivers. In particular OMAP and PXA keep cleaning up the
        legacy code base, as usual.
      
        Nvidia adds some more SoC support code for Tegra 186.
      
        For the first time on years, we are actually adding a non-DT platform
        for the EP93xx based Liebherr controller BK3.1. It's a minor variation
        of the EP93xx reference design and in active use, while EP93xx
        apparently doesn't have enough new development to have any device tree
        support"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (73 commits)
        ARM: omap: hwmod: fix section mismatch warnings
        ARM: pxa/tosa-bt: add MODULE_LICENSE tag
        arm64: defconfig: enable CONFIG_ACPI_APEI_EINJ
        arm64: defconfig: enable EDAC GHES option
        arm64: defconfig: enable CONFIG_ACPI_APEI_MEMORY_FAILURE
        ARM: imx_v6_v7_defconfig: enable CONFIG_CPU_FREQ_STAT
        Wind down ARM/TANGO port
        ARM: davinci: constify gpio_led
        ARM: davinci: drop unneeded newline
        soc: Add SoC driver for Gemini
        ARM: SAMSUNG: Add SPDX license identifiers
        ARM: S5PV210: Add SPDX license identifiers
        ARM: S3C64XX: Add SPDX license identifiers
        ARM: S3C24XX: Add SPDX license identifiers
        ARM: EXYNOS: Add SPDX license identifiers
        ARM: imx: remove unused imx3 pm definitions
        ARM: imx: don't abort MMDC probe if power saving status doesn't match
        ARM: imx_v6_v7_defconfig: enable RTC_DRV_MXC_V2
        ARM: imx_v6_v7_defconfig: Add missing config for DART-MX6 SoM
        ARM: davinci: Use PTR_ERR_OR_ZERO()
        ...
      adbc128f
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 537433b6
      Linus Torvalds authored
      Pull ARM SoC device tree updates from Arnd Bergmann:
       "We get a moderate number of new machines this time, and only one new
        SoC variant (Actions S700):
      
        Actions:
         - S700 Soc and CubieBoard7 development board
         - Allo.com Sparky Single-board-computer
      
        Allwinner:
         - Orange Pi R1 development board
         - Libre Computer Board ALL-H3-CC H3 single-board computer
      
        ASpeed ast2x00:
         - Witherspoon: OpenPower Power9 server manufactured by IBM that uses the ASPEED ast2500
         - Zaius: OpenPower Power9 server manufactured by Invatech that uses the ASPEED ast2500
         - Q71L: Intel Xeon server manufactured by Qanta that uses the ASPEED ast2400
      
        AT91:
         - Axentia Nattis/Natte digital signage
         - sama5d2 PTC-ek Evaluation board
      
        Freescale/NXP i.MX:
         - SolidRun Humminboard2 development board
         - Variscite DART-MX6 SoM and Carrier-board
         - Technologic TS-4600 and TS-7970 development board
         - Toradex Colibri iMX7D SoM board
         - v1.5 variant of Solidrun Cubox-i and Hummingboard
      
        Freescale/NXP Layerscape:
         - Moxa UC-8410A Series industrial computer
      
        Gemini:
         - D-Link DNS-313 NAS enclosure
      
        OMAP:
         - LogicPD OMAP35xx SOM-LV devkit
         - LogicPD OMAP35xx Torpedo devkit
      
        Renesas:
         - r8a77970 (V3M) Starter Kit board
         - r8a7795 (M3-W) Salvator-XS board
      
        We finally managed to get the dtc warnings under control, with no more
        build-time warnings for bad device tree files. This includes fixes for
        the majority of platforms, including nomadik, samsung, lpc32xx, STi,
        spear, mediatek, freescale, qcom, realview, keystone, omap, kirkwood,
        renesas, hisilicon, and broadcom.
      
        Files get rearranged on a few platforms, in particular the Marvell
        Armada 7K/8K device tree files are changed in preparation for future
        SoC support, based on more than two of the same chips in one package,
        and some boards get renamed for oxnas for consistency.
      
        Finally, many existing SoCs gain descriptions for additional on-chip
        devices that we can now support with kernel drivers:
      
         - Allwinner A83t (drm, ethernet, i2c, ...), H3/H5 (USB-OTG)
         - Amlogic AXG family (clk, pinctrl, pwm, ...), and others (vpu, hdmi)
         - Aspeed clk controller support
         - Freescale LS1088A, LS1021A device support
         - Gemini Ethernet, PCI, TVE, panel
         - Keystone gpio, qspi, more uarts
         - Mediatek cpufreq, regulator, clock, reset
         - Marvell thermal, cpufreq, nand
         - Renesas SMP, thermal, timer, PWM, sound, phy, ipmmu
         - Rockchip Mipi, GPU, display
         - Samsung Exynos5433 PMU, power domain, nfc
         - Spreadtrum: sc9860 clocks
         - Tegra TX2 PSDI, HDMI, I2C,SMMU, display, fuse, ..."
      
      * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (690 commits)
        arm64: dts: stratix10: fix SPI settings
        ARM: dts: socfpga: add i2c reset signals
        arm64: dts: stratix10: add USB ECC reset bit
        arm64: dts: stratix10: enable USB on the devkit
        ARM: dts: socfpga: disable over-current for Arria10 USB devkit
        ARM: dts: Nokia N9: add support for up/down keys in the dts
        ARM: dts: nomadik: add interrupt-parent for clcd
        ARM: dts: Add ethernet to a bunch of platforms
        ARM: dts: Add ethernet to the Gemini SoC
        ARM: dts: rename oxnas dts files
        ARM: dts: s5pv210: add interrupt-parent for ohci
        ARM: lpc3250: fix uda1380 gpio numbers
        ARM: dts: STi: Add gpio polarity for "hdmi,hpd-gpio" property
        ARM: dts: dra7: Reduce shut down temperature of non-cpu thermal zones
        ARM: dts: n900: Add aliases for lcd and tvout displays
        ARM: dts: Update ti-sysc data for existing users
        ARM: dts: Fix smartreflex compatible for omap3 shared mpu-iva instance
        arm64: dts: marvell: armada-80x0: Fix pinctrl compatible string
        arm: spear13xx: Fix spics gpio controller's warning
        arm: spear13xx: Fix dmas cells
        ...
      537433b6
  2. 01 Feb, 2018 35 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk · ab486bc9
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
      
       - Add a console_msg_format command line option:
      
           The value "default" keeps the old "[time stamp] text\n" format. The
           value "syslog" allows to see the syslog-like "<log
           level>[timestamp] text" format.
      
           This feature was requested by people doing regression tests, for
           example, 0day robot. They want to have both filtered and full logs
           at hands.
      
       - Reduce the risk of softlockup:
      
           Pass the console owner in a busy loop.
      
           This is a new approach to the old problem. It was first proposed by
           Steven Rostedt on Kernel Summit 2017. It marks a context in which
           the console_lock owner calls console drivers and could not sleep.
           On the other side, printk() callers could detect this state and use
           a busy wait instead of a simple console_trylock(). Finally, the
           console_lock owner checks if there is a busy waiter at the end of
           the special context and eventually passes the console_lock to the
           waiter.
      
           The hand-off works surprisingly well and helps in many situations.
           Well, there is still a possibility of the softlockup, for example,
           when the flood of messages stops and the last owner still has too
           much to flush.
      
           There is increasing number of people having problems with
           printk-related softlockups. We might eventually need to get better
           solution. Anyway, this looks like a good start and promising
           direction.
      
       - Do not allow to schedule in console_unlock() called from printk():
      
           This reverts an older controversial commit. The reschedule helped
           to avoid softlockups. But it also slowed down the console output.
           This patch is obsoleted by the new console waiter logic described
           above. In fact, the reschedule made the hand-off less effective.
      
       - Deprecate "%pf" and "%pF" format specifier:
      
           It was needed on ia64, ppc64 and parisc64 to dereference function
           descriptors and show the real function address. It is done
           transparently by "%ps" and "pS" format specifier now.
      
           Sergey Senozhatsky found that all the function descriptors were in
           a special elf section and could be easily detected.
      
       - Remove printk_symbol() API:
      
           It has been obsoleted by "%pS" format specifier, and this change
           helped to remove few continuous lines and a less intuitive old API.
      
       - Remove redundant memsets:
      
           Sergey removed unnecessary memset when processing printk.devkmsg
           command line option.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk: (27 commits)
        printk: drop redundant devkmsg_log_str memsets
        printk: Never set console_may_schedule in console_trylock()
        printk: Hide console waiter logic into helpers
        printk: Add console owner and waiter logic to load balance console writes
        kallsyms: remove print_symbol() function
        checkpatch: add pF/pf deprecation warning
        symbol lookup: introduce dereference_symbol_descriptor()
        parisc64: Add .opd based function descriptor dereference
        powerpc64: Add .opd based function descriptor dereference
        ia64: Add .opd based function descriptor dereference
        sections: split dereference_function_descriptor()
        openrisc: Fix conflicting types for _exext and _stext
        lib: do not use print_symbol()
        irq debug: do not use print_symbol()
        sysfs: do not use print_symbol()
        drivers: do not use print_symbol()
        x86: do not use print_symbol()
        unicore32: do not use print_symbol()
        sh: do not use print_symbol()
        mn10300: do not use print_symbol()
        ...
      ab486bc9
    • Linus Torvalds's avatar
      Merge tag 'vfio-v4.16-rc1' of git://github.com/awilliam/linux-vfio · 34b1cf60
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Mask INTx from user if pdev->irq is zero (Alexey Kardashevskiy)
      
       - Capability helper cleanup (Alex Williamson)
      
       - Allow mmaps overlapping MSI-X vector table with region capability
         exposing this feature (Alexey Kardashevskiy)
      
       - mdev static cleanups (Xiongwei Song)
      
      * tag 'vfio-v4.16-rc1' of git://github.com/awilliam/linux-vfio:
        vfio: mdev: make a couple of functions and structure vfio_mdev_driver static
        vfio-pci: Allow mapping MSIX BAR
        vfio: Simplify capability helper
        vfio-pci: Mask INTx if a device is not capabable of enabling it
      34b1cf60
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 27529c89
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "There's not much changes for the tracing system this release. Mostly
        small clean ups and fixes.
      
        The biggest change is to how bprintf works. bprintf is used by
        trace_printk() to just save the format and args of a printf call, and
        the formatting is done when the trace buffer is read. This is done to
        keep the formatting out of the fast path (this was recommended by
        you). The issue is when arguments are de-referenced.
      
        If a pointer is saved, and the format has something like "%*pbl", when
        the buffer is read, it will de-reference the argument then. The
        problem is if the data no longer exists. This can cause the kernel to
        oops.
      
        The fix for this was to make these de-reference pointes do the
        formatting at the time it is called (the fast path), as this
        guarantees that the data exists (and doesn't change later)"
      
      * tag 'trace-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        vsprintf: Do not have bprintf dereference pointers
        ftrace: Mark function tracer test functions noinline/noclone
        trace_uprobe: Display correct offset in uprobe_events
        tracing: Make sure the parsed string always terminates with '\0'
        tracing: Clear parser->idx if only spaces are read
        tracing: Detect the string nul character when parsing user input string
      27529c89
    • Linus Torvalds's avatar
      Merge branch 'KASAN-read_word_at_a_time' · 8e44e660
      Linus Torvalds authored
      Merge KASAN word-at-a-time fixups from Andrey Ryabinin.
      
      The word-at-a-time optimizations have caused headaches for KASAN, since
      the whole point is that we access byte streams in bigger chunks, and
      KASAN can be unhappy about the potential extra access at the end of the
      string.
      
      We used to have a horrible hack in dcache, and then people got
      complaints from the strscpy() case.  This fixes it all up properly, by
      adding an explicit helper for the "access byte stream one word at a
      time" case.
      
      * emailed patches from Andrey Ryabinin <aryabinin@virtuozzo.com>:
        fs: dcache: Revert "manually unpoison dname after allocation to shut up kasan's reports"
        fs/dcache: Use read_word_at_a_time() in dentry_string_cmp()
        lib/strscpy: Shut up KASAN false-positives in strscpy()
        compiler.h: Add read_word_at_a_time() function.
        compiler.h, kasan: Avoid duplicating __read_once_size_nocheck()
      8e44e660
    • Andrey Ryabinin's avatar
      fs: dcache: Revert "manually unpoison dname after allocation to shut up kasan's reports" · babcbbc7
      Andrey Ryabinin authored
      This reverts commit df4c0e36.
      
      It's no longer needed since dentry_string_cmp() now uses
      read_word_at_a_time() to avoid kasan's reports.
      Signed-off-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      babcbbc7
    • Andrey Ryabinin's avatar
      fs/dcache: Use read_word_at_a_time() in dentry_string_cmp() · bfe7aa6c
      Andrey Ryabinin authored
      dentry_string_cmp() performs the word-at-a-time reads from 'cs' and may
      read slightly more than it was requested in kmallac().  Normally this
      would make KASAN to report out-of-bounds access, but this was
      workarounded by commit df4c0e36 ("fs: dcache: manually unpoison
      dname after allocation to shut up kasan's reports").
      
      This workaround is not perfect, since it allows out-of-bounds access to
      dentry's name for all the code, not just in dentry_string_cmp().
      
      So it would be better to use read_word_at_a_time() instead and revert
      commit df4c0e36.
      Signed-off-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bfe7aa6c
    • Andrey Ryabinin's avatar
      lib/strscpy: Shut up KASAN false-positives in strscpy() · 1a3241ff
      Andrey Ryabinin authored
      strscpy() performs the word-at-a-time optimistic reads.  So it may may
      access the memory past the end of the object, which is perfectly fine
      since strscpy() doesn't use that (past-the-end) data and makes sure the
      optimistic read won't cross a page boundary.
      
      Use new read_word_at_a_time() to shut up the KASAN.
      
      Note that this potentially could hide some bugs.  In example bellow,
      stscpy() will copy more than we should (1-3 extra uninitialized bytes):
      
              char dst[8];
              char *src;
      
              src = kmalloc(5, GFP_KERNEL);
              memset(src, 0xff, 5);
              strscpy(dst, src, 8);
      Signed-off-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1a3241ff
    • Andrey Ryabinin's avatar
      compiler.h: Add read_word_at_a_time() function. · 7f1e541f
      Andrey Ryabinin authored
      Sometimes we know that it's safe to do potentially out-of-bounds access
      because we know it won't cross a page boundary.  Still, KASAN will
      report this as a bug.
      
      Add read_word_at_a_time() function which is supposed to be used in such
      cases.  In read_word_at_a_time() KASAN performs relaxed check - only the
      first byte of access is validated.
      Signed-off-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7f1e541f
    • Andrey Ryabinin's avatar
      compiler.h, kasan: Avoid duplicating __read_once_size_nocheck() · bdb5ac80
      Andrey Ryabinin authored
      Instead of having two identical __read_once_size_nocheck() functions
      with different attributes, consolidate all the difference in new macro
      __no_kasan_or_inline and use it. No functional changes.
      Signed-off-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bdb5ac80
    • Linus Torvalds's avatar
      Merge tag 'kconfig-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 562f36ed
      Linus Torvalds authored
      Pull Kconfig updates from Masahiro Yamada:
       "A pretty big batch of Kconfig updates.
      
        I have to mention the lexer and parser of Kconfig are now built from
        real .l and .y sources. So, flex and bison are the requirement for
        building the kernel. Both of them (unlike gperf) have been stable for
        a long time. This change has been tested several weeks in linux-next,
        and I did not receive any problem report about this.
      
        Summary:
      
         - add checks for mistakes, like the choice default is not in choice,
           help is doubled
      
         - document data structure and complex code
      
         - fix various memory leaks
      
         - change Makefile to build lexer and parser instead of using
           pre-generated C files
      
         - drop 'boolean' keyword, which is equivalent to 'bool'
      
         - use default 'yy' prefix and remove unneeded Make variables
      
         - fix gettext() check for xconfig
      
         - announce that oldnoconfig will be finally removed
      
         - make 'Selected by:' and 'Implied by' readable in help and search
           result
      
         - hide silentoldconfig from 'make help' to stop confusing people
      
         - fix misc things and cleanups"
      
      * tag 'kconfig-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (37 commits)
        kconfig: Remove silentoldconfig from help and docs; fix kconfig/conf's help
        kconfig: make "Selected by:" and "Implied by:" readable
        kconfig: announce removal of oldnoconfig if used
        kconfig: fix make xconfig when gettext is missing
        kconfig: Clarify menu and 'if' dependency propagation
        kconfig: Document 'if' flattening logic
        kconfig: Clarify choice dependency propagation
        kconfig: Document SYMBOL_OPTIONAL logic
        kbuild: remove unnecessary LEX_PREFIX and YACC_PREFIX
        kconfig: use default 'yy' prefix for lexer and parser
        kconfig: make conf_unsaved a local variable of conf_read()
        kconfig: make xfgets() really static
        kconfig: make input_mode static
        kconfig: Warn if there is more than one help text
        kconfig: drop 'boolean' keyword
        kconfig: use bool instead of boolean for type definition attributes, again
        kconfig: Remove menu_end_entry()
        kconfig: Document important expression functions
        kconfig: Document automatic submenu creation code
        kconfig: Fix choice symbol expression leak
        ...
      562f36ed
    • Linus Torvalds's avatar
      Merge tag 'kbuild-misc-v4.16' of... · a659f159
      Linus Torvalds authored
      Merge tag 'kbuild-misc-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild misc updates from Masahiro Yamada:
      
       - add snap-pkg target to create Linux kernel snap package
      
       - make out-of-tree creation of source packages fail correctly
      
       - improve and fix several semantic patches
      
      * tag 'kbuild-misc-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        Coccinelle: coccicheck: fix typo
        Coccinelle: memdup: drop spurious line
        Coccinelle: kzalloc-simple: Rename kzalloc-simple to zalloc-simple
        Coccinelle: ifnullfree: Trim the warning reported in report mode
        Coccinelle: alloc_cast: Add more memory allocating functions to the list
        Coccinelle: array_size: report even if include is missing
        Coccinelle: kzalloc-simple: Add all zero allocating functions
        kbuild: pkg: make out-of-tree rpm/deb-pkg build immediately fail
        scripts/package: snap-pkg target
      a659f159
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 06c8f7a7
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - terminate the build correctly in case of fixdep errors
      
       - clean up fixdep
      
       - suppress packed-not-aligned warnings from GCC-8
      
       - fix W= handling for extra DTC warnings
      
      * tag 'kbuild-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: fix W= option checks for extra DTC warnings
        Kbuild: suppress packed-not-aligned warning for default setting only
        fixdep: use existing helper to check modular CONFIG options
        fixdep: refactor parse_dep_file()
        fixdep: move global variables to local variables of main()
        fixdep: remove unneeded memcpy() in parse_dep_file()
        fixdep: factor out common code for reading files
        fixdep: use malloc() and read() to load dep_file to buffer
        fixdep: remove unnecessary <arpa/inet.h> inclusion
        fixdep: exit with error code in error branches of do_config_file()
      06c8f7a7
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 2bed2660
      Linus Torvalds authored
      Pull DeviceTree updates from Rob Herring:
      
       - Convert to use memblock_virt_alloc in DT code which supports
         bootmem arches. With this we can remove the arch specific
         early_init_dt_alloc_memory_arch() functions.
      
       - Enable running the DT unittests on UML
      
       - Use SPDX license tags on DT files
      
       - Fix early FDT kconfig ifdef logic
      
       - Clean-up unittest Makefile
      
       - Fix function comment for of_irq_parse_raw
      
       - Add missing documentation for linux,initrd-{start,end} properties
      
       - Clean-up of binding examples using uppercase hex
      
       - Add trivial devices W83773G and Infineon TLV493D-A1B6
      
       - Add missing STM32 SoC bindings
      
       - Various small binding doc fixes
      
      * tag 'devicetree-for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (23 commits)
        xtensa: remove arch specific early DT functions
        x86: remove arch specific early_init_dt_alloc_memory_arch
        nios2: remove arch specific early_init_dt_alloc_memory_arch
        mips: remove arch specific early_init_dt_alloc_memory_arch
        metag: remove arch specific early DT functions
        cris: remove arch specific early DT functions
        libfdt: remove unnecessary include directive from <linux/libfdt.h>
        of: unittest: refactor Makefile
        of/fdt: use memblock_virt_alloc for early alloc
        of: Use SPDX license tag for DT files
        of/fdt: Fix #ifdef dependency of early flattree declarations
        dt-bindings: h8300 clocksource: correct spelling of pulse
        dt-bindings: imx6q-pcie: Add required property for i.MX6SX
        mmc: Don't reference Linux-specific OF_GPIO_ACTIVE_LOW flag in DT binding
        dt-bindings: Use lower case hex in unit-addresses
        dt-bindings: display: panel: Fix compatible string for Toshiba LT089AC29000
        dt-bindings: Add Infineon TLV493D-A1B6
        dt-bindings: mailbox: ti,message-manager: Fix interrupt name error
        dt-bindings: chosen: Document linux,initrd-{start,end}
        dt-bindings: arm: document supported STM32 SoC family
        ...
      2bed2660
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · eea43ed8
      Linus Torvalds authored
      Pull input layer updates from Dmitry Torokhov:
      
       - evdev interface has been adjusted to extend the life of timestamps on
         32 bit systems to the year of 2108
      
       - Synaptics RMI4 driver's PS/2 guest handling ha beed updated to
         improve chances of detecting trackpoints on the pass-through port
      
       - mms114 touchcsreen controller driver has been updated to support
         generic device properties and work with mms152 cntrollers
      
       - Goodix driver now supports generic touchscreen properties
      
       - couple of drivers for AVR32 architecture are gone as the architecture
         support has been removed from the kernel
      
       - gpio-tilt driver has been removed as there are no mainline users and
         the driver itself is using legacy APIs and relies on platform data
      
       - MODULE_LINECSE/MODULE_VERSION cleanups
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (45 commits)
        Input: goodix - use generic touchscreen_properties
        Input: mms114 - fix typo in definition
        Input: mms114 - use BIT() macro instead of explicit shifting
        Input: mms114 - replace mdelay with msleep
        Input: mms114 - add support for mms152
        Input: mms114 - drop platform data and use generic APIs
        Input: mms114 - mark as direct input device
        Input: mms114 - do not clobber interrupt trigger
        Input: edt-ft5x06 - fix error handling for factory mode on non-M06
        Input: stmfts - set IRQ_NOAUTOEN to the irq flag
        Input: auo-pixcir-ts - delete an unnecessary return statement
        Input: auo-pixcir-ts - remove custom log for a failed memory allocation
        Input: da9052_tsi - remove unused mutex
        Input: docs - use PROPERTY_ENTRY_U32() directly
        Input: synaptics-rmi4 - log when we create a guest serio port
        Input: synaptics-rmi4 - unmask F03 interrupts when port is opened
        Input: synaptics-rmi4 - do not delete interrupt memory too early
        Input: ad7877 - use managed resource allocations
        Input: stmfts,s6sy671 - add SPDX identifier
        Input: remove atmel-wm97xx touchscreen driver
        ...
      eea43ed8
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · f6cff79f
      Linus Torvalds authored
      Pull char/misc driver updates from Greg KH:
       "Here is the big pull request for char/misc drivers for 4.16-rc1.
      
        There's a lot of stuff in here. Three new driver subsystems were added
        for various types of hardware busses:
      
         - siox
         - slimbus
         - soundwire
      
        as well as a new vboxguest subsystem for the VirtualBox hypervisor
        drivers.
      
        There's also big updates from the FPGA subsystem, lots of Android
        binder fixes, the usual handful of hyper-v updates, and lots of other
        smaller driver updates.
      
        All of these have been in linux-next for a long time, with no reported
        issues"
      
      * tag 'char-misc-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (155 commits)
        char: lp: use true or false for boolean values
        android: binder: use VM_ALLOC to get vm area
        android: binder: Use true and false for boolean values
        lkdtm: fix handle_irq_event symbol for INT_HW_IRQ_EN
        EISA: Delete error message for a failed memory allocation in eisa_probe()
        EISA: Whitespace cleanup
        misc: remove AVR32 dependencies
        virt: vbox: Add error mapping for VERR_INVALID_NAME and VERR_NO_MORE_FILES
        soundwire: Fix a signedness bug
        uio_hv_generic: fix new type mismatch warnings
        uio_hv_generic: fix type mismatch warnings
        auxdisplay: img-ascii-lcd: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
        uio_hv_generic: add rescind support
        uio_hv_generic: check that host supports monitor page
        uio_hv_generic: create send and receive buffers
        uio: document uio_hv_generic regions
        doc: fix documentation about uio_hv_generic
        vmbus: add monitor_id and subchannel_id to sysfs per channel
        vmbus: fix ABI documentation
        uio_hv_generic: use ISR callback method
        ...
      f6cff79f
    • Linus Torvalds's avatar
      Merge tag 'driver-core-4.16-rc1' of... · 47fcc036
      Linus Torvalds authored
      Merge tag 'driver-core-4.16-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 "big" driver core patches for 4.16-rc1.
      
        The majority of the work here is in the firmware subsystem, with
        reworks to try to attempt to make the code easier to handle in the
        long run, but no functional change. There's also some tree-wide sysfs
        attribute fixups with lots of acks from the various subsystem
        maintainers, as well as a handful of other normal fixes and changes.
      
        And finally, some license cleanups for the driver core and sysfs code.
      
        All have been in linux-next for a while with no reported issues"
      
      * tag 'driver-core-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (48 commits)
        device property: Define type of PROPERTY_ENRTY_*() macros
        device property: Reuse property_entry_free_data()
        device property: Move property_entry_free_data() upper
        firmware: Fix up docs referring to FIRMWARE_IN_KERNEL
        firmware: Drop FIRMWARE_IN_KERNEL Kconfig option
        USB: serial: keyspan: Drop firmware Kconfig options
        sysfs: remove DEBUG defines
        sysfs: use SPDX identifiers
        drivers: base: add coredump driver ops
        sysfs: add attribute specification for /sysfs/devices/.../coredump
        test_firmware: fix missing unlock on error in config_num_requests_store()
        test_firmware: make local symbol test_fw_config static
        sysfs: turn WARN() into pr_warn()
        firmware: Fix a typo in fallback-mechanisms.rst
        treewide: Use DEVICE_ATTR_WO
        treewide: Use DEVICE_ATTR_RO
        treewide: Use DEVICE_ATTR_RW
        sysfs.h: Use octal permissions
        component: add debugfs support
        bus: simple-pm-bus: convert bool SIMPLE_PM_BUS to tristate
        ...
      47fcc036
    • Linus Torvalds's avatar
      Merge tag 'staging-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 5d8515bc
      Linus Torvalds authored
      Pull staging/IIO updates from Greg KH:
       "Here is the big Staging and IIO driver patches for 4.16-rc1.
      
        There is the normal amount of new IIO drivers added, like all
        releases.
      
        The networking IPX and the ncpfs filesystem are moved into the staging
        tree, as they are on their way out of the kernel due to lack of use
        anymore.
      
        The visorbus subsystem finall has started moving out of the staging
        tree to the "real" part of the kernel, and the most and fsl-mc
        codebases are almost ready to move out, that will probably happen for
        4.17-rc1 if all goes well.
      
        Other than that, there is a bunch of license header cleanups in the
        tree, along with the normal amount of coding style churn that we all
        know and love for this codebase. I also got frustrated at the
        Meltdown/Spectre mess and took it out on the dgnc tty driver, deleting
        huge chunks of it that were never even being used.
      
        Full details of everything is in the shortlog.
      
        All of these patches have been in linux-next for a while with no
        reported issues"
      
      * tag 'staging-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (627 commits)
        staging: rtlwifi: remove redundant initialization of 'cfg_cmd'
        staging: rtl8723bs: remove a couple of redundant initializations
        staging: comedi: reformat lines to 80 chars or less
        staging: lustre: separate a connection destroy from free struct kib_conn
        Staging: rtl8723bs: Use !x instead of NULL comparison
        Staging: rtl8723bs: Remove dead code
        Staging: rtl8723bs: Change names to conform to the kernel code
        staging: ccree: Fix missing blank line after declaration
        staging: rtl8188eu: remove redundant initialization of 'pwrcfgcmd'
        staging: rtlwifi: remove unused RTLHALMAC_ST and RTLPHYDM_ST
        staging: fbtft: remove unused FB_TFT_SSD1325 kconfig
        staging: comedi: dt2811: remove redundant initialization of 'ns'
        staging: wilc1000: fix alignments to match open parenthesis
        staging: wilc1000: removed unnecessary defined enums typedef
        staging: wilc1000: remove unnecessary use of parentheses
        staging: rtl8192u: remove redundant initialization of 'timeout'
        staging: sm750fb: fix CamelCase for dispSet var
        staging: lustre: lnet/selftest: fix compile error on UP build
        staging: rtl8723bs: hal_com_phycfg: Remove unneeded semicolons
        staging: rts5208: Fix "seg_no" calculation in reset_ms_card()
        ...
      5d8515bc
    • Linus Torvalds's avatar
      Merge tag 'tty-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · db593322
      Linus Torvalds authored
      Pull tty/staging driver updates from Greg KH:
       "Here is the big tty/serial driver update for 4.16-rc1.
      
        The usual number of various serial driver fixes and updates to try to
        get them to work with crazy hardware configurations (seriously, how
        many different ways are hardware engineers going to come up with to
        hook up a simple UART?)
      
        There is also some serdev bugfixes and updates, as well as a
        smattering of other small fixes in here.
      
        All have been in the linux-next tree for a while, with no reported
        issues"
      
      * tag 'tty-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (65 commits)
        tty: serial: exar: Relocate sleep wake-up handling
        tty: fix data race between tty_init_dev and flush of buf
        serial: imx: fix endless loop during suspend
        serial: core: mark port as initialized after successful IRQ change
        serdev: only match serdev devices
        serdev: do not generate modaliases for controllers
        serial: mxs-auart: don't use GPIOF_* with gpiod_get_direction
        serial: 8250_dw: Revert "Improve clock rate setting"
        MAINTAINERS: Add myself as designated reviewer for 8250_dw
        gpio: serial: max310x: Support open-drain configuration for GPIOs
        serdev: Fix serdev_uevent failure on ACPI enumerated serdev-controllers
        serial: 8250_ingenic: Parse earlycon options
        serial: 8250_ingenic: Add support for the JZ4770 SoC
        serial: core: Make uart_parse_options take const char* argument
        serial: 8250_of: fix return code when probe function fails to get reset
        serial: imx: Only wakeup via RTSDEN bit if the system has RTS/CTS
        serial: 8250_uniphier: fix error return code in uniphier_uart_probe()
        tty: n_gsm: Allow ADM response in addition to UA for control dlci
        tty: omap-serial: Fix initial on-boot RTS GPIO level
        tty: serial: jsm: Add one check against NULL pointer dereference
        ...
      db593322
    • Linus Torvalds's avatar
      Merge tag 'usb-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · e4ee8b85
      Linus Torvalds authored
      Pull USB/PHY updates from Greg KH:
       "Here is the big USB and PHY driver update for 4.16-rc1.
      
        Along with the normally expected XHCI, MUSB, and Gadget driver
        patches, there are some PHY driver fixes, license cleanups, sysfs
        attribute cleanups, usbip changes, and a raft of other smaller fixes
        and additions.
      
        Full details are in the shortlog.
      
        All of these have been in the linux-next tree for a long time with no
        reported issues"
      
      * tag 'usb-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (137 commits)
        USB: serial: pl2303: new device id for Chilitag
        USB: misc: fix up some remaining DEVICE_ATTR() usages
        USB: musb: fix up one odd DEVICE_ATTR() usage
        USB: atm: fix up some remaining DEVICE_ATTR() usage
        USB: move many drivers to use DEVICE_ATTR_WO
        USB: move many drivers to use DEVICE_ATTR_RO
        USB: move many drivers to use DEVICE_ATTR_RW
        USB: misc: chaoskey: Use true and false for boolean values
        USB: storage: remove old wording about how to submit a change
        USB: storage: remove invalid URL from drivers
        usb: ehci-omap: don't complain on -EPROBE_DEFER when no PHY found
        usbip: list: don't list devices attached to vhci_hcd
        usbip: prevent bind loops on devices attached to vhci_hcd
        USB: serial: remove redundant initializations of 'mos_parport'
        usb/gadget: Fix "high bandwidth" check in usb_gadget_ep_match_desc()
        usb: gadget: compress return logic into one line
        usbip: vhci_hcd: update 'status' file header and format
        USB: serial: simple: add Motorola Tetra driver
        CDC-ACM: apply quirk for card reader
        usb: option: Add support for FS040U modem
        ...
      e4ee8b85
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide · 7109a04e
      Linus Torvalds authored
      Pull small IDE cleanup from David Miller.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
        ide: remove duplicated assignment to 'cursg'
      7109a04e
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next · ba49097e
      Linus Torvalds authored
      Pull sparc updates from David Miller:
       "Of note is the addition of a driver for the Data Analytics
        Accelerator, and some small cleanups"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next:
        oradax: Fix return value check in dax_attach()
        sparc: vDSO: remove an extra tab
        sparc64: drop unneeded compat include
        sparc64: Oracle DAX driver
        sparc64: Oracle DAX infrastructure
      ba49097e
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · ca0c836d
      Linus Torvalds authored
      Pull s390 updates from Martin Schwidefsky:
       "Bug fixes, small improvements and one notable change: the system call
        table and the unistd.h header are now generated automatically with a
        shell script from a text file"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/decompressor: discard __ksymtab and .eh_frame sections
        s390: fix handling of -1 in set{,fs}[gu]id16 syscalls
        s390/tools: generate header files in arch/s390/include/generated/
        s390/syscalls: use generated syscall_table.h and unistd.h header files
        s390/syscalls: add Makefile to generate system call header files
        s390/syscalls: add syscalltbl script
        s390/syscalls: add system call table
        s390/decompressor: swap .text and .rodata.compressed sections
        s390/sclp: fix .data section specification
        s390/ipl: avoid usage of __section(.data)
        s390/head: replace hard coded values with constants
        s390/disassembler: add generated gen_opcode_table tool to .gitignore
        s390: remove bogus system call table entries
        s390/kprobes: remove duplicate includes
        s390/dasd: Remove dead return code checks
        s390/dasd: Simplify code
        s390/vdso: revise CFI annotations of vDSO functions
        s390/kernel: emit CFI data in .debug_frame and discard .eh_frame sections
      ca0c836d
    • Julia Lawall's avatar
      Coccinelle: coccicheck: fix typo · 1640eea3
      Julia Lawall authored
      Correct spelling of "coccinelle".
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      1640eea3
    • Dmitry Torokhov's avatar
      Merge branch 'next' into for-linus · d67ad78e
      Dmitry Torokhov authored
      Prepare input updates for 4.16 merge window.
      d67ad78e
    • Linus Torvalds's avatar
      Merge tag 'docs-4.16' of git://git.lwn.net/linux · 255442c9
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "Documentation updates for 4.16.
      
        New stuff includes refcount_t documentation, errseq documentation,
        kernel-doc support for nested structure definitions, the removal of
        lots of crufty kernel-doc support for unused formats, SPDX tag
        documentation, the beginnings of a manual for subsystem maintainers,
        and lots of fixes and updates.
      
        As usual, some of the changesets reach outside of Documentation/ to
        effect kerneldoc comment fixes. It also adds the new LICENSES
        directory, of which Thomas promises I do not need to be the
        maintainer"
      
      * tag 'docs-4.16' of git://git.lwn.net/linux: (65 commits)
        linux-next: docs-rst: Fix typos in kfigure.py
        linux-next: DOC: HWPOISON: Fix path to debugfs in hwpoison.txt
        Documentation: Fix misconversion of #if
        docs: add index entry for networking/msg_zerocopy
        Documentation: security/credentials.rst: explain need to sort group_list
        LICENSES: Add MPL-1.1 license
        LICENSES: Add the GPL 1.0 license
        LICENSES: Add Linux syscall note exception
        LICENSES: Add the MIT license
        LICENSES: Add the BSD-3-clause "Clear" license
        LICENSES: Add the BSD 3-clause "New" or "Revised" License
        LICENSES: Add the BSD 2-clause "Simplified" license
        LICENSES: Add the LGPL-2.1 license
        LICENSES: Add the LGPL 2.0 license
        LICENSES: Add the GPL 2.0 license
        Documentation: Add license-rules.rst to describe how to properly identify file licenses
        scripts: kernel_doc: better handle show warnings logic
        fs/*/Kconfig: drop links to 404-compliant http://acl.bestbits.at
        doc: md: Fix a file name to md-fault.c in fault-injection.txt
        errseq: Add to documentation tree
        ...
      255442c9
    • Linus Torvalds's avatar
      Merge branch 'work.vmci' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · d76e0a05
      Linus Torvalds authored
      Pull vmci iov_iter updates from Al Viro:
       "Get rid of "is it an iovec or an entire array?" flags in vmxi - just
        use iov_iter. Simplifies the living hell out of that code..."
      
      * 'work.vmci' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        vmci: the same on the send side...
        vmci: simplify qp_dequeue_locked()
        vmci: get rid of qp_memcpy_from_queue()
        vmci: fix buf_size in case of iovec-based accesses
      d76e0a05
    • Linus Torvalds's avatar
      Merge branch 'work.whack-a-mole' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 40b9672a
      Linus Torvalds authored
      Pull asm/uaccess.h whack-a-mole from Al Viro:
       "It's linux/uaccess.h, damnit... Oh, well - eventually they'll stop
        cropping up..."
      
      * 'work.whack-a-mole' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        asm-prototypes.h: use linux/uaccess.h, not asm/uaccess.h
        riscv: use linux/uaccess.h, not asm/uaccess.h...
        ppc: for put_user() pull linux/uaccess.h, not asm/uaccess.h
      40b9672a
    • Linus Torvalds's avatar
      Merge branch 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · dc1efc3c
      Linus Torvalds authored
      Pull dcache updates from Al Viro:
       "Neil Brown's d_move()/d_path() race fix"
      
      * 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        VFS: close race between getcwd() and d_move()
      dc1efc3c
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 73da9e1a
      Linus Torvalds authored
      Merge updates from Andrew Morton:
      
       - misc fixes
      
       - ocfs2 updates
      
       - most of MM
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (118 commits)
        mm: remove PG_highmem description
        tools, vm: new option to specify kpageflags file
        mm/swap.c: make functions and their kernel-doc agree
        mm, memory_hotplug: fix memmap initialization
        mm: correct comments regarding do_fault_around()
        mm: numa: do not trap faults on shared data section pages.
        hugetlb, mbind: fall back to default policy if vma is NULL
        hugetlb, mempolicy: fix the mbind hugetlb migration
        mm, hugetlb: further simplify hugetlb allocation API
        mm, hugetlb: get rid of surplus page accounting tricks
        mm, hugetlb: do not rely on overcommit limit during migration
        mm, hugetlb: integrate giga hugetlb more naturally to the allocation path
        mm, hugetlb: unify core page allocation accounting and initialization
        mm/memcontrol.c: try harder to decrease [memory,memsw].limit_in_bytes
        mm/memcontrol.c: make local symbol static
        mm/hmm: fix uninitialized use of 'entry' in hmm_vma_walk_pmd()
        include/linux/mmzone.h: fix explanation of lower bits in the SPARSEMEM mem_map pointer
        mm/compaction.c: fix comment for try_to_compact_pages()
        mm/page_ext.c: make page_ext_init a noop when CONFIG_PAGE_EXTENSION but nothing uses it
        zsmalloc: use U suffix for negative literals being shifted
        ...
      73da9e1a
    • Daniel Vetter's avatar
      drm/ast: Load lut in crtc_commit · 24b8ef69
      Daniel Vetter authored
      In the past the ast driver relied upon the fbdev emulation helpers to
      call ->load_lut at boot-up. But since
      
      commit b8e2b019
      Author: Peter Rosin <peda@axentia.se>
      Date:   Tue Jul 4 12:36:57 2017 +0200
      
          drm/fb-helper: factor out pseudo-palette
      
      that's cleaned up and drivers are expected to boot into a consistent
      lut state. This patch fixes that.
      
      Fixes: b8e2b019 ("drm/fb-helper: factor out pseudo-palette")
      Cc: Peter Rosin <peda@axenita.se>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: <stable@vger.kernel.org> # v4.14+
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=198123
      Cc: Bill Fraser <bill.fraser@gmail.com>
      Reported-and-Tested-by: default avatarBill Fraser <bill.fraser@gmail.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      24b8ef69
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-fixes-2018-01-31' of... · 7ec3c095
      Dave Airlie authored
      Merge tag 'drm-misc-next-fixes-2018-01-31' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
      
      This contains a fix to restrict what lessee can do with masters and
      another one when waiting for timeouts on reservation objects.
      
      * tag 'drm-misc-next-fixes-2018-01-31' of git://anongit.freedesktop.org/drm/drm-misc:
        drm: Check for lessee in DROP_MASTER ioctl
        dma-buf: fix reservation_object_wait_timeout_rcu once more v2
      7ec3c095
    • Miles Chen's avatar
      mm: remove PG_highmem description · 3f56a2f8
      Miles Chen authored
      Commit cbe37d09 ("[PATCH] mm: remove PG_highmem") removed PG_highmem
      to save a page flag.  So the description of PG_highmem is no longer
      needed.
      
      Link: http://lkml.kernel.org/r/1517391212-2950-1-git-send-email-miles.chen@mediatek.comSigned-off-by: default avatarMiles Chen <miles.chen@mediatek.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3f56a2f8
    • David Rientjes's avatar
      tools, vm: new option to specify kpageflags file · c7905f20
      David Rientjes authored
      page-types currently hardcodes /proc/kpageflags as the file to parse.
      This works when using the tool to examine the state of pageflags on the
      same system, but does not allow storing a snapshot of pageflags at a
      given time to debug issues nor on a different system.
      
      This allows the user to specify a saved version of kpageflags with a new
      page-types -F option.
      
      [akpm@linux-foundation.org: add "filename" to fix usage() string]
      [rientjes@google.com: fix layout]
        Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1801301840050.140969@chino.kir.corp.google.com
      Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1801301458180.153857@chino.kir.corp.google.comSigned-off-by: default avatarDavid Rientjes <rientjes@google.com>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Reviewed-by: default avatarNaoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: Konstantin Khlebnikov <koct9i@gmail.com>
      Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c7905f20
    • Randy Dunlap's avatar
      mm/swap.c: make functions and their kernel-doc agree · e02a9f04
      Randy Dunlap authored
      Fix some basic kernel-doc notation in mm/swap.c:
      
       - for function lru_cache_add_anon(), make its kernel-doc function name
         match its function name and change colon to hyphen following the
         function name
      
       - for function pagevec_lookup_entries(), change the function parameter
         name from nr_pages to nr_entries since that is more descriptive of
         what the parameter actually is and then it matches the kernel-doc
         comments also
      
      Fix function kernel-doc to match the change in commit 67fd707f:
      
       - drop the kernel-doc notation for @nr_pages from
         pagevec_lookup_range() and correct the function description for that
         change
      
      Link: http://lkml.kernel.org/r/3b42ee3e-04a9-a6ca-6be4-f00752a114fe@infradead.org
      Fixes: 67fd707f ("mm: remove nr_pages argument from pagevec_lookup_{,range}_tag()")
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Michal Hocko <mhocko@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e02a9f04
    • Michal Hocko's avatar
      mm, memory_hotplug: fix memmap initialization · 9bb5a391
      Michal Hocko authored
      Bharata has noticed that onlining a newly added memory doesn't increase
      the total memory, pointing to commit f7f99100 ("mm: stop zeroing
      memory during allocation in vmemmap") as a culprit.  This commit has
      changed the way how the memory for memmaps is initialized and moves it
      from the allocation time to the initialization time.  This works
      properly for the early memmap init path.
      
      It doesn't work for the memory hotplug though because we need to mark
      page as reserved when the sparsemem section is created and later
      initialize it completely during onlining.  memmap_init_zone is called in
      the early stage of onlining.  With the current code it calls
      __init_single_page and as such it clears up the whole stage and
      therefore online_pages_range skips those pages.
      
      Fix this by skipping mm_zero_struct_page in __init_single_page for
      memory hotplug path.  This is quite uggly but unifying both early init
      and memory hotplug init paths is a large project.  Make sure we plug the
      regression at least.
      
      Link: http://lkml.kernel.org/r/20180130101141.GW21609@dhcp22.suse.cz
      Fixes: f7f99100 ("mm: stop zeroing memory during allocation in vmemmap")
      Signed-off-by: default avatarMichal Hocko <mhocko@suse.com>
      Reported-by: default avatarBharata B Rao <bharata@linux.vnet.ibm.com>
      Tested-by: default avatarBharata B Rao <bharata@linux.vnet.ibm.com>
      Reviewed-by: default avatarPavel Tatashin <pasha.tatashin@oracle.com>
      Cc: Steven Sistare <steven.sistare@oracle.com>
      Cc: Daniel Jordan <daniel.m.jordan@oracle.com>
      Cc: Bob Picco <bob.picco@oracle.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9bb5a391