1. 30 Oct, 2018 8 commits
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.19-rc8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · f4267b36
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
       "Masami had a couple more fixes to the synthetic events. One was a
        proper error return value, and the other is for the self tests"
      
      * tag 'trace-v4.19-rc8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        selftests/ftrace: Fix synthetic event test to delete event correctly
        tracing: Return -ENOENT if there is no target synthetic event
      f4267b36
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.20a-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 5b4c0d87
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
       "Only several small fixes and cleanups this time"
      
      * tag 'for-linus-4.20a-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen: drop writing error messages to xenstore
        xen/pvh: don't try to unplug emulated devices
        add myself as reviewer for Xen support in Linux
        xen: remove redundant 'default n' from Kconfig
        xen/balloon: Support xend-based toolstack
        xen/pvh: increase early stack size
        xen: make xen_qlock_wait() nestable
        xen: fix race in xen_qlock_wait()
        xen/balloon: Grammar s/Is it/It is/
        xen: Make XEN_BACKEND selectable by DomU
      5b4c0d87
    • Linus Torvalds's avatar
      Merge tag 'acpi-4.20-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c2101d01
      Linus Torvalds authored
      Pull more ACPI updates from Rafael Wysocki:
       "Rework the handling of the P-unit semaphore on Intel Baytrail and
        Cherrytrail systems to avoid race conditions and excessive overhead
        related to it (Hans de Goede)"
      
      * tag 'acpi-4.20-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / PMIC: xpower: Add depends on IOSF_MBI to Kconfig entry
        i2c: designware: Cleanup bus lock handling
        ACPI / PMIC: xpower: Block P-Unit I2C access during read-modify-write
        x86: baytrail/cherrytrail: Rework and move P-Unit PMIC bus semaphore code
      c2101d01
    • Linus Torvalds's avatar
      Merge tag 'pm-4.20-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 6ef74676
      Linus Torvalds authored
      Pull more power management updates from Rafael Wysocki:
       "These remove a questionable heuristic from the menu cpuidle governor,
        fix a recent build regression in the intel_pstate driver, clean up ARM
        big-Little support in cpufreq and fix up hung task watchdog's
        interaction with system-wide power management transitions.
      
        Specifics:
      
         - Fix build regression in the intel_pstate driver that doesn't build
           without CONFIG_ACPI after recent changes (Dominik Brodowski).
      
         - One of the heuristics in the menu cpuidle governor is based on a
           function returning 0 most of the time, so drop it and clean up the
           scheduler code related to it (Daniel Lezcano).
      
         - Prevent the arm_big_little cpufreq driver from being used on ARM64
           which is not suitable for it and drop the arm_big_little_dt driver
           that is not used any more (Sudeep Holla).
      
         - Prevent the hung task watchdog from triggering during resume from
           system-wide sleep states by disabling it before freezing tasks and
           enabling it again after they have been thawed (Vitaly Kuznetsov)"
      
      * tag 'pm-4.20-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        kernel: hung_task.c: disable on suspend
        cpufreq: remove unused arm_big_little_dt driver
        cpufreq: drop ARM_BIG_LITTLE_CPUFREQ support for ARM64
        cpufreq: intel_pstate: Fix compilation for !CONFIG_ACPI
        cpuidle: menu: Remove get_loadavg() from the performance multiplier
        sched: Factor out nr_iowait and nr_iowait_cpu
      6ef74676
    • Linus Torvalds's avatar
      Merge tag 'for-4.20-part2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 85b5d4bc
      Linus Torvalds authored
      Pull more btrfs updates from David Sterba:
       "This contains a few minor updates and fixes that were under testing or
        arrived shortly after the merge window freeze, mostly stable material"
      
      * tag 'for-4.20-part2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        Btrfs: fix use-after-free when dumping free space
        Btrfs: fix use-after-free during inode eviction
        btrfs: move the dio_sem higher up the callchain
        btrfs: don't run delayed_iputs in commit
        btrfs: fix insert_reserved error handling
        btrfs: only free reserved extent if we didn't insert it
        btrfs: don't use ctl->free_space for max_extent_size
        btrfs: set max_extent_size properly
        btrfs: reset max_extent_size properly
        MAINTAINERS: update my email address for btrfs
        btrfs: delayed-ref: extract find_first_ref_head from find_ref_head
        Btrfs: fix deadlock when writing out free space caches
        Btrfs: fix assertion on fsync of regular file when using no-holes feature
        Btrfs: fix null pointer dereference on compressed write path error
      85b5d4bc
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-cpuidle' and 'pm-cpufreq' · c4ac6889
      Rafael J. Wysocki authored
      * pm-cpuidle:
        cpuidle: menu: Remove get_loadavg() from the performance multiplier
        sched: Factor out nr_iowait and nr_iowait_cpu
      
      * pm-cpufreq:
        cpufreq: remove unused arm_big_little_dt driver
        cpufreq: drop ARM_BIG_LITTLE_CPUFREQ support for ARM64
        cpufreq: intel_pstate: Fix compilation for !CONFIG_ACPI
      c4ac6889
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v4.20' of git://github.com/andersson/remoteproc · 11743c56
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "This migrates rpmsg_char to use read/write_iter to allow being
        operated using aio, removes the message size alignment requirements
        from glink, closes a potential memory leak in SMD and switches to
        %pOFn for printing device_node names"
      
      * tag 'rpmsg-v4.20' of git://github.com/andersson/remoteproc:
        rpmsg: glink: smem: Support rx peak for size less than 4 bytes
        rpmsg: smd: fix memory leak on channel create
        rpmsg: glink: Remove chunk size word align warning
        rpmsg: Convert to using %pOFn instead of device_node.name
        rpmsg: char: Migrate to iter versions of read and write
      11743c56
    • Linus Torvalds's avatar
      Merge tag 'rproc-v4.20' of git://github.com/andersson/remoteproc · 929e134c
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This contains a series of patches that reworks the memory carveout
        handling in remoteproc, in order to allow this to be reused for
        statically allocated memory regions to be used for e.g. firmware.
      
        It adds support for audio DSP (both TZ-assisted and non-TZ assisted)
        and compute DSP on Qualcomm SDM845, TZ-assisted audio DSP, compute DSP
        and WiFi processor on Qualcomm QCS404 and through some renaming of the
        drivers cleans up the naming situation.
      
        Finally support for custom coreudmp segment handlers is added and is
        used in the Qualcomm modem remoteproc driver to gather memory dumps of
        the firmware"
      
      * tag 'rproc-v4.20' of git://github.com/andersson/remoteproc: (36 commits)
        remoteproc: qcom: q6v5-mss: Register segments/dumpfn for coredump
        remoteproc: qcom: q6v5-mss: Add custom dump function for modem
        remoteproc: qcom: q6v5-mss: Refactor mba load/unload sequence
        remoteproc: Add mechanism for custom dump function assignment
        remoteproc: Introduce custom dump function for each remoteproc segment
        remoteproc: modify vring allocation to rely on centralized carveout allocator
        remoteproc: qcom: q6v5: shore up resource probe handling
        remoteproc: qcom: qcom_q6v5_adsp: Fix some return value check
        remoteproc: modify rproc_handle_carveout to support pre-registered region
        remoteproc: add helper function to check carveout device address
        remoteproc: add helper function to allocate rproc_mem_entry from reserved memory
        remoteproc: add alloc ops in rproc_mem_entry struct
        remoteproc: introduce rproc_find_carveout_by_name function
        remoteproc: introduce rproc_add_carveout function
        remoteproc: add helper function to allocate and init rproc_mem_entry struct
        remoteproc: add name in rproc_mem_entry struct
        remoteproc: add release ops in rproc_mem_entry struct
        remoteproc: add rproc_va_to_pa function
        remoteproc: configure IOMMU only if device address requested
        remoteproc: qcom: q6v5-mss: add SCM probe dependency
        ...
      929e134c
  2. 29 Oct, 2018 32 commits
    • Linus Torvalds's avatar
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 4b427452
      Linus Torvalds authored
      Pull ARM SoC platform updates from Arnd Bergmann:
       "A couple of platforms change hands in the MAINTAINERS file:
      
         - Linus Walleij lists himself for the ARM Reference platforms:
           versatile, vexpress, integrator and realview. He has been the main
           contributor for these for a while, and makes it official now.
      
         - Vladimir Zapolskiy takes over the LPC18xx platform from Joachim
           Eastwood
      
         - Manivannan Sadhasivam becomes a secondary maintainer for the
           Actions Semi machines
      
         - Nicolas Ferre lists updates the MAINTAINER listing for the AT91
           platform: Ludovic Desroches is now a co-maintainer for the
           platform, and several other people (Claudiu Beznea, Cristian
           Birsan, Eugen Hristev, Codrin Ciubotariu) take over individual
           device drivers.
      
        Thanks everyone for working on this, and welcome to the new
        maintainers!
      
        The "virt" platform on qemy or kvm can now be used in big-endian mode
        without additional tricks, thanks to Jason Donenfeld.
      
        Once again, we gain support for another NXP i.MX6 variant, this time
        it's the i.MX 6ULZ 32-bit single-core version.
      
        On arm64, we add support for two SoCs from Renesas: RZ/G2E (r8a774c0)
        and RZ/G2M (r8a774a1). These are described as microcontrollers on the
        manufacturer website, but appear to be rather powerful. The RZ/G2M is
        used on the reference board for the CIP Super Long Term Support (SLTS)
        Linux Kernels"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
        MAINTAINERS: Assign myself as a maintainer of ARM/LPC18XX architecture
        arm64: exynos: Enable generic power domain support
        MAINTAINERS: remove non-exsiting email address of Baoyou
        MAINTAINERS: fix pattern in ARM/Synaptics berlin SoC section
        MAINTAINERS: Drop dt-bindings/genpd/k2g.h
        ARM: samsung: Limit SAMSUNG_PM_CHECK config option to non-Exynos platforms
        arm64: actions: Enable PINCTRL in platforms Kconfig
        MAINTAINERS: Add entry for Actions Semi Owl SoCs DMA driver
        MAINTAINERS: Add entry for Actions Semiconductor Owl I2C driver
        MAINTAINERS: Update clock binding entry for Actions Semi Owl SoCs
        ARM: imx: add i.mx6ulz msl support
        ARM: Assume maintainership of ARM reference designs
        ARM: support big-endian for the virt architecture
        MAINTAINERS: sdhci: move the Microchip entry to proper location
        MAINTAINERS: move former ATMEL entries to proper MICROCHIP location
        MAINTAINERS: remove the / ATMEL string from MICROCHIP entries
        MAINTAINERS: iio: add co-maintainer to SAMA5D2-compatible ADC driver
        MAINTAINERS: pwm: add entry for Microchip pwm driver
        MAINTAINERS: dmaengine: add files to Microchip dma entry
        MAINTAINERS: USB: change maintainer for Microchip USBA gadget driver
        ...
      4b427452
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · b22b6bea
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "The most noteworthy SoC driver changes this time include:
      
         - The TEE subsystem gains an in-kernel interface to access the TEE
           from device drivers.
      
         - The reset controller subsystem gains a driver for the Qualcomm
           Snapdragon 845 Power Domain Controller.
      
         - The Xilinx Zynq platform now has a firmware interface for its
           platform management unit. This contains a firmware "ioctl"
           interface that was a little controversial at first, but the version
           we merged solved that by not exposing arbitrary firmware calls to
           user space.
      
         - The Amlogic Meson platform gains a "canvas" driver that is used for
           video processing and shared between different high-level drivers.
      
        The rest is more of the usual, mostly related to SoC specific power
        management support and core drivers in drivers/soc:
      
         - Several Renesas SoCs (RZ/G1N, RZ/G2M, R-Car V3M, RZ/A2M) gain new
           features related to power and reset control.
      
         - The Mediatek mt8183 and mt6765 SoC platforms gain support for their
           respective power management chips.
      
         - A new driver for NXP i.MX8, which need a firmware interface for
           power management.
      
         - The SCPI firmware interface now contains support estimating power
           usage of performance states
      
         - The NVIDIA Tegra "pmc" driver gains a few new features, in
           particular a pinctrl interface for configuring the pads.
      
         - Lots of small changes for Qualcomm, in particular the "smem" device
           driver.
      
         - Some cleanups for the TI OMAP series related to their sysc
           controller.
      
        Additional cleanups and bugfixes in SoC specific drivers include the
        Meson, Keystone, NXP, AT91, Sunxi, Actions, and Tegra platforms"
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (129 commits)
        firmware: tegra: bpmp: Implement suspend/resume support
        drivers: clk: Add ZynqMP clock driver
        dt-bindings: clock: Add bindings for ZynqMP clock driver
        firmware: xilinx: Add zynqmp IOCTL API for device control
        Documentation: xilinx: Add documentation for eemi APIs
        MAINTAINERS: imx: include drivers/firmware/imx path
        firmware: imx: add misc svc support
        firmware: imx: add SCU firmware driver support
        reset: Fix potential use-after-free in __of_reset_control_get()
        dt-bindings: arm: fsl: add scu binding doc
        soc: fsl: qbman: add interrupt coalesce changing APIs
        soc: fsl: bman_portals: defer probe after bman's probe
        soc: fsl: qbman: Use last response to determine valid bit
        soc: fsl: qbman: Add 64 bit DMA addressing requirement to QBMan
        soc: fsl: qbman: replace CPU 0 with any online CPU in hotplug handlers
        soc: fsl: qbman: Check if CPU is offline when initializing portals
        reset: qcom: PDC Global (Power Domain Controller) reset controller
        dt-bindings: reset: Add PDC Global binding for SDM845 SoCs
        reset: Grammar s/more then once/more than once/
        bus: ti-sysc: Just use SET_NOIRQ_SYSTEM_SLEEP_PM_OPS
        ...
      b22b6bea
    • Linus Torvalds's avatar
      Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 53b7a3b7
      Linus Torvalds authored
      Pull ARM SoC defconfig updates from Arnd Bergmann:
       "The defconfig changes are split out from the rest again. This time we
        have a number of changes for NXP i.MX and Renesas, including a cleanup
        of old options.
      
        Some smaller changes are for Socionext Uniphier, Allwinner, Qualcomm,
        Rockchip, Renesas, AT91, Hisilicon, and STM32. All of these just
        enable platform specific device drivers"
      
      * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (40 commits)
        arm64: defconfig: Enable SERIAL_8250_OMAP
        arm64: defconfig: Enable TI_SCI related configs
        ARM: imx_v6_v7_defconfig: Select CONFIG_TMPFS_POSIX_ACL
        ARM: imx_v4_v5_defconfig: Remove unneeded options
        ARM: imx_v4_v5_defconfig: Re-sync defconfig
        ARM: mxs_defconfig: Remove unneeded options
        ARM: mxs_defconfig: Re-sync defconfig
        ARM: imx_v6_v7_defconfig: Remove unneeded options
        ARM: imx_v6_v7_defconfig: Re-sync defconfig
        ARM: imx_v6_v7_defconfig: select CONFIG_ARM_CPUIDLE by default
        ARM: imx_v6_v7_defconfig: Make usbnet drivers builtin for boot
        ARM: imx_v6_v7_defconfig: add CONFIG_FW_LOADER_USER_HELPER
        ARM: imx_v6_v7_defconfig: Select CONFIG_SENSORS_MC13783_ADC
        ARM: multi_v7_defconfig: enable CONFIG_MMC_UNIPHIER
        arm64: defconfig: enable CONFIG_MMC_UNIPHIER
        ARM: multi_v7_defconfig: Enable USB phys for UniPhier SoCs
        arm64: defconfig: Enable USB phys for UniPhier SoCs
        arm64: defconfig: enable Rockchip Innosilicon hdmiphy
        arm64: defconfig: Enable PCIEPORTBUS
        arm64: defconfig: enable HiSilicon HNS3 driver
        ...
      53b7a3b7
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 93335e59
      Linus Torvalds authored
      Pull ARM SoC device tree updates from Arnd Bergmann:
       "There are close to 800 indivudal changesets in this branch again,
        which feels like a lot. There are particularly many changes for the
        NVIDIA Tegra platform this time, in fact more than it has seen in the
        two years since the v4.9 merge window. Aside from this, it's been
        fairly normal, with lots of changes going into Renesas R-CAR, NXP
        i.MX, Allwinner Sunxi, Samsung Exynos, and TI OMAP.
      
        Most of the changes are for adding new features into existing boards,
        for brevity I'm only mentioning completely new machines and SoCs here.
        For the first time I think we have (slightly) more new 64-bit hardware
        than 32-bit:
      
        Two boards get added for TI OMAP: Moxa UC-2101 is an industrial
        computer, see https://www.moxa.com/product/UC-2100.htm; GTA04A5 is a
        minor variation of the motherboards of the GTA04 phone, see
        https://shop.goldelico.com/wiki.php?page=GTA04A5
      
        Clearfog is a nice little board for quad-core Marvell Armada 8040
        network processor, see
        https://www.solid-run.com/marvell-armada-family/clearfog-gt-8k/
      
        Two additional server boards come with the Aspeed baseboard management
        controllers: Stardragon4800 is an arm64 reference platform made by HXT
        (based on Qualcomm's server chips), and TiogaPass is an Open Compute
        mainboard with x86 CPUs. Both use the ARM11 based AST2500 chips in the
        BMC.
      
        NXP i.MX usually sees a lot of new boards each release. This time
        there we only add one minor variant: ConnectCore 6UL SBC Pro uses the
        same SoM design as the ConnectCore 6UL SBC Express added later.
        However, there is a new chip, the i.MX6ULZ, which is an even smaller
        variant of the i.MX6ULL, with features removed. There is also support
        for the reference board design, the i.MX6ULZ 14x14 EVK.
      
        A new Raspberry Pi variant gets added, this one is the CM3 compute
        module based on bcm2837, it was launched in early 2017 but only now
        added to the kernel, both as 32-bit and as 64-bit files, as we tend to
        do for Raspberry Pi.
      
        On the Allwinner side, everything is again about cheap development
        boards, usually of the "Fruit Pi" variety. The new ones this time are:
         - Orange Pi Zero Plus2: http://www.orangepi.org/OrangePiZeroPlus2/
         - Orange Pi One Plus: http://www.orangepi.org/OrangePiOneplus/
         - Pine64 LTS: https://www.pine64.org/?product=pine-a64-lts
         - Banana Pi M2+ H5: http://www.banana-pi.org/m2plus.html
        The last one of these is now a 64-bit version of the earlier Banana Pi
        M2+ H3, with the same board layout.
      
        Similarly, for Rockchips, get get another variant of the 32-bit Asus
        Tinker board, the model 'S' based on rk3288, and three now boards
        based on the popular RK3399 chip:
         - ROC-RK3399-PC: https://libre.computer/products/boards/roc-rk3399-pc/
         - Rock960: https://www.96boards.org/product/rock960/
         - RockPro64: https://www.pine64.org/?page_id=61454
        These are all quite powerful boards with lots of RAM and I/O, and the
        RK3399 is the same chip used in several Chromebooks. Finally, we get
        support for the PX30 (aka rk3326) chip, which is based on the low-end
        64-bit Cortex-A35 CPU core. So far, only the evaluation board is
        supported.
      
        One more Banana Pi is added with a Mediatek chip: Banana Pi R64 is
        based on the MT7622 WiFi router platform, and the first product I've
        seen with a 64-bit Mediatek chip in that market:
        http://www.banana-pi.org/r64.html
      
        For HiSilicon, we gain support for the Hi3670 SoC and HiKey 370
        development board, which are similar to the Hi3660 and Hikey 360
        respectively, but add support for an NPU.
      
        Amlogic gets initial support for the Meson-G12A chip (S905D2), another
        quad-core Cortex-A53 SoC, and its evaluation platform. On the 32-bit
        side, we gain support for an actual end-user product, the Endless
        Computers Endless Mini based on Meson8b (S805), see
        https://endlessos.com/computers/
      
        Qualcomm adds support for their MSM8998 SoC and evaluation platform.
        This chip is commonly known as the Snapdragon 835, and is used in
        high-end phones as well as low-end laptops.
      
        For Renesas, a very bare support for the r8a774a1 (RZ/G2M) is added,
        but no boards for this one. However, we do add boards for the
        previously added r8a77965 (R-Car M3-N): the M3NULCB Kingfisher and the
        M3NULCB Starter Kit Pro.
      
        While we have lots of DT changes for NVIDIA to update the existing
        files, the only board that gets added is the Toradex Colibri T20 on
        Colibri Evaluation Board for the old Tegra2.
      
        Synaptics add support for their AS370 SoC, which is part of the
        (formerly Marvell) Berlin line of set-top-box chips used e.g. in the
        various Google Chromecast. Only the .dtsi gets added at this point, no
        actual machines"
      
      * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (721 commits)
        ARM: dts: socfgpa: remove ethernet aliases from dtsi
        arm64: dts: stratix10: add ethernet aliases
        dt-bindings: mediatek: Add bindig for MT7623 IOMMU and SMI
        dt-bindings: mediatek: Add JPEG Decoder binding for MT7623
        dt-bindings: iommu: mediatek: Add binding for MT7623
        dt-bindings: clock: mediatek: add support for MT7623
        ARM: dts: mvebu: armada-385-db-88f6820-amc: auto-detect nand ECC properites
        ARM: dts: da850-lego-ev3: slow down A/DC as much as possible
        ARM: dts: da850-evm: Enable tca6416 on baseboard
        arm64: dts: uniphier: Add USB2 PHY nodes
        arm64: dts: uniphier: Add USB3 controller nodes
        ARM: dts: uniphier: Add USB2 PHY nodes
        ARM: dts: uniphier: Add USB3 controller nodes
        arm64: dts: meson-axg: s400: disable emmc
        arm64: dts: meson-axg: s400: add missing emmc pwrseq
        arm64: dts: clearfog-gt-8k: add PCIe slot description
        ARM: dts: at91: sama5d4_xplained: even nand memory partitions
        ARM: dts: at91: sama5d3_xplained: even nand memory partitions
        ARM: dts: at91: at91sam9x5cm: even nand memory partitions
        ARM: dts: at91: sama5d2_ptc_ek: fix bootloader env offsets
        ...
      93335e59
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · c38239b4
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
       "Three small patches:
      
         - A boot fix for A500 machines, crash was caused by the new
           alternative patching code from this merge window (Dave)
      
         - Change __kernel_suseconds_t to match glibc on 64-bit parisc (Arnd)
      
         - Use constants instead of hard-coded numbers (me)"
      
      * 'parisc-4.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Fix A500 boot crash
        parisc: Use LINUX_GATEWAY_SPACE constant in entry.S
        parisc64: change __kernel_suseconds_t to match glibc
      c38239b4
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 57dbde63
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "I2C has not so much stuff this time. Mostly driver enablement for new
        SoCs, some driver bugfixes, and some cleanups"
      
      * 'i2c/for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (35 commits)
        MAINTAINERS: add maintainer for Renesas RIIC driver
        i2c: sh_mobile: Remove dummy runtime PM callbacks
        i2c: uniphier-f: fix race condition when IRQ is cleared
        i2c: uniphier-f: fix occasional timeout error
        i2c: uniphier-f: make driver robust against concurrency
        i2c: i2c-qcom-geni: Simplify irq handler
        i2c: i2c-qcom-geni: Simplify tx/rx functions
        i2c: designware: Set IRQF_NO_SUSPEND flag for all BYT and CHT controllers
        i2c: mux: mlxcpld: simplify code to reach the adapter
        i2c: mux: ltc4306: simplify code to reach the adapter
        i2c: mux: pca954x: simplify code to reach the adapter
        i2c: core: remove level of indentation in i2c_transfer
        i2c: core: remove outdated DEBUG output
        i2c: zx2967: use core to detect 'no zero length' quirk
        i2c: tegra: use core to detect 'no zero length' quirk
        i2c: qup: use core to detect 'no zero length' quirk
        i2c: omap: use core to detect 'no zero length' quirk
        i2c: Convert to using %pOFn instead of device_node.name
        i2c: brcmstb: Allow enabling the driver on DSL SoCs
        eeprom: at24: fix unexpected timeout under high load
        ...
      57dbde63
    • Linus Torvalds's avatar
      Merge tag 'media/v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 134bf98c
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - new dvb frontend driver: lnbh29
      
       - new sensor drivers: imx319 and imx 355
      
       - some old soc_camera driver renames to avoid conflict with new
         drivers
      
       - new i.MX Pixel Pipeline (PXP) mem-to-mem platform driver
      
       - a new V4L2 frontend for the FWHT codec
      
       - several other improvements, bug fixes, code cleanups, etc
      
      * tag 'media/v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (289 commits)
        media: rename soc_camera I2C drivers
        media: cec: forgot to cancel delayed work
        media: vivid: Support 480p for webcam capture
        media: v4l2-tpg: fix kernel oops when enabling HFLIP and OSD
        media: vivid: Add 16-bit bayer to format list
        media: v4l2-tpg-core: Add 16-bit bayer
        media: pvrusb2: replace `printk` with `pr_*`
        media: venus: vdec: fix decoded data size
        media: cx231xx: fix potential sign-extension overflow on large shift
        media: dt-bindings: media: rcar_vin: add device tree support for r8a7744
        media: isif: fix a NULL pointer dereference bug
        media: exynos4-is: make const array config_ids static
        media: cx23885: make const array addr_list static
        media: ivtv: make const array addr_list static
        media: bttv-input: make const array addr_list static
        media: cx18: Don't check for address of video_dev
        media: dw9807-vcm: Fix probe error handling
        media: dw9714: Remove useless error message
        media: dw9714: Fix error handling in probe function
        media: cec: name for RC passthrough device does not need 'RC for'
        ...
      134bf98c
    • Chris Brandt's avatar
      MAINTAINERS: add maintainer for Renesas RIIC driver · 84de6e96
      Chris Brandt authored
      The RIIC I2C controller is used in Renesas RZ/A SoCs.
      Signed-off-by: default avatarChris Brandt <chris.brandt@renesas.com>
      [wsa: added documentation file]
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      84de6e96
    • Jarkko Nikula's avatar
      i2c: sh_mobile: Remove dummy runtime PM callbacks · 7ce6c65b
      Jarkko Nikula authored
      Platform drivers don't need dummy runtime PM callbacks that just return
      success and non-NULL pm pointer in their struct device_driver in order
      to have runtime PM happening. This has changed since following commits:
      
      05aa55dd ("PM / Runtime: Lenient generic runtime pm callbacks")
      543f2503 ("PM / platform_bus: Allow runtime PM by default")
      8b313a38 ("PM / Platform: Use generic runtime PM callbacks directly")
      Signed-off-by: default avatarJarkko Nikula <jarkko.nikula@linux.intel.com>
      Reviewed-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      7ce6c65b
    • Masahiro Yamada's avatar
      i2c: uniphier-f: fix race condition when IRQ is cleared · eaba6878
      Masahiro Yamada authored
      The current IRQ handler clears all the IRQ status bits when it bails
      out. This is dangerous because it might clear away the status bits
      that have just been set while processing the current handler. If this
      happens, the IRQ event for the latest transfer is lost forever.
      
      The IRQ status bits must be cleared *before* the next transfer is
      kicked.
      
      Fixes: 6a62974b ("i2c: uniphier_f: add UniPhier FIFO-builtin I2C driver")
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      eaba6878
    • Masahiro Yamada's avatar
      i2c: uniphier-f: fix occasional timeout error · 39226aaa
      Masahiro Yamada authored
      Currently, a timeout error could happen at a repeated START condition.
      
      For a (non-repeated) START condition, the controller starts sending
      data when the UNIPHIER_FI2C_CR_STA bit is set. However, for a repeated
      START condition, the hardware starts running when the slave address is
      written to the TX FIFO - the write to the UNIPHIER_FI2C_CR register is
      actually unneeded.
      
      Because the hardware is already running before the IRQ is enabled for
      a repeated START, the driver may miss the IRQ event. In most cases,
      this problem does not show up since modern CPUs are much faster than
      the I2C transfer. However, it is still possible that a context switch
      happens after the controller starts, but before the IRQ register is
      set up.
      
      To fix this,
      
       - Do not write UNIPHIER_FI2C_CR for repeated START conditions.
      
       - Enable IRQ *before* writing the slave address to the TX FIFO.
      
       - Disable IRQ for the current CPU while queuing up the TX FIFO;
         If the CPU is interrupted by some task, the interrupt handler
         might be invoked due to the empty TX FIFO before completing the
         setup.
      
      Fixes: 6a62974b ("i2c: uniphier_f: add UniPhier FIFO-builtin I2C driver")
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      39226aaa
    • Masahiro Yamada's avatar
      i2c: uniphier-f: make driver robust against concurrency · f1fdcbbd
      Masahiro Yamada authored
      This is unlikely to happen, but it is possible for a CPU to enter
      the interrupt handler just after wait_for_completion_timeout() has
      expired. If this happens, the hardware is accessed from multiple
      contexts concurrently.
      
      Disable the IRQ after wait_for_completion_timeout(), and do nothing
      from the handler when the IRQ is disabled.
      
      Fixes: 6a62974b ("i2c: uniphier_f: add UniPhier FIFO-builtin I2C driver")
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      f1fdcbbd
    • Wolfram Sang's avatar
    • Linus Torvalds's avatar
      HID: input: simplify/fix high-res scroll event handling · 044ee890
      Linus Torvalds authored
      Commit 1ff2e1a4 ("HID: input: Create a utility class for counting
      scroll events") created the helper function
      
          hid_scroll_counter_handle_scroll()
      
      to handle high-res scroll events and also expose them as regular wheel
      events.
      
      But the resulting algorithm was unstable, and causes scrolling to be
      very unreliable.  When you hit the half-way mark of the highres
      multiplier, small highres movements will incorrectly translate into big
      traditional wheel movements, causing odd jitters.
      
      Simplify the code and make the output stable.
      
      NOTE! I'm pretty sure this will need further tweaking.  But this at
      least turns a unusable mouse wheel on my Logitech MX Anywhere 2S into
      a usable one.
      
      Cc: Jiri Kosina <jikos@kernel.org>
      Cc: Harry Cutts <hcutts@chromium.org>
      Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
      Cc: Peter Hutterer <peter.hutterer@who-t.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      044ee890
    • Linus Torvalds's avatar
      Merge tag 'tty-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 5bd4af34
      Linus Torvalds authored
      Pull tty/serial updates from Greg KH:
       "Here is the big tty and serial pull request for 4.20-rc1
      
        Lots of little things here, including a merge from the SPI tree in
        order to keep things simpler for everyone to sync around for one
        platform.
      
        Major stuff is:
      
         - tty buffer clearing after use
      
         - atmel_serial fixes and additions
      
         - xilinx uart driver updates
      
        and of course, lots of tiny fixes and additions to individual serial
        drivers.
      
        All of these have been in linux-next with no reported issues for a
        while"
      
      * tag 'tty-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (66 commits)
        of: base: Change logic in of_alias_get_alias_list()
        of: base: Fix english spelling in of_alias_get_alias_list()
        serial: sh-sci: do not warn if DMA transfers are not supported
        serial: uartps: Do not allow use aliases >= MAX_UART_INSTANCES
        tty: check name length in tty_find_polling_driver()
        serial: sh-sci: Add r8a77990 support
        tty: wipe buffer if not echoing data
        tty: wipe buffer.
        serial: fsl_lpuart: Remove the alias node dependence
        TTY: sn_console: Replace spin_is_locked() with spin_trylock()
        Revert "serial:serial_core: Allow use of CTS for PPS line discipline"
        serial: 8250_uniphier: add auto-flow-control support
        serial: 8250_uniphier: flatten probe function
        serial: 8250_uniphier: remove unused "fifo-size" property
        dt-bindings: serial: sh-sci: Document r8a7744 bindings
        serial: uartps: Fix missing unlock on error in cdns_get_id()
        tty/serial: atmel: add ISO7816 support
        tty/serial_core: add ISO7816 infrastructure
        serial:serial_core: Allow use of CTS for PPS line discipline
        serial: docs: Fix filename for serial reference implementation
        ...
      5bd4af34
    • Linus Torvalds's avatar
      Merge tag 'staging-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 738b04fb
      Linus Torvalds authored
      Pull staging/IIO driver updates from Greg KH:
       "Here is the big staging and IIO driver pull request for 4.20-rc1.
      
        There are lots of things here, we ended up adding more lines than
        removing, thanks to a large influx of Comedi National Instrument
        device support. Someday soon we need to get comedi out of staging...
      
        Other than the comedi drivers, the "big" things here are:
      
         - new iio drivers
      
         - delete dgnc driver (no one used it and no one had the hardware
           anymore)
      
         - vbox driver updates and fixes
      
         - erofs fixes
      
         - tons and tons of tiny checkpatch fixes for almost all staging
           drivers
      
        All of these have been in linux-next, with the last few happening a
        bit "late" due to them getting stuck on my laptop during travel to the
        Mantainers summit"
      
      * tag 'staging-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (690 commits)
        staging: gasket: Fix sparse "incorrect type in assignment" warnings.
        staging: gasket: remove debug logs for callback invocation
        staging: gasket: remove debug logs in page table mapping calls
        staging: rtl8188eu: core: Use sizeof(*p) instead of sizeof(struct P) for memory allocation
        staging: ks7010: Remove extra blank line
        staging: gasket: Remove extra blank line
        staging: media: davinci_vpfe: Fix spelling mistake in enum
        staging: speakup: Add a pair of braces
        staging: wlan-ng: Replace long int with long
        staging: MAINTAINERS: remove obsolete IPX staging directory
        staging: MAINTAINERS: remove NCP filesystem entry
        staging: rtl8188eu: cleanup comparsions to false
        staging: gasket: Update device virtual address comment
        staging: gasket: sysfs: fix attribute release comment
        staging: gasket: apex: fix sysfs_show
        staging: gasket: page_table: simplify gasket_components_to_dev_address
        staging: gasket: page_table: fix comment in components_to_dev_address
        staging: gasket: page table: fixup error path allocating coherent mem
        staging: gasket: page_table: rearrange gasket_page_table_entry
        staging: gasket: page_table: remove unnecessary PTE status set to free
        ...
      738b04fb
    • Linus Torvalds's avatar
      Merge tag 'mailbox-v4.20' of git://git.linaro.org/landing-teams/working/fujitsu/integration · fe675d4d
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
      
       - convert print users to use the %pOFn format specifier
      
       - enable ti-msgmr driver for the K3 platform as well
      
       - add QCS404 to compatible list of QCOM's APCS IPC driver
      
       - minor spelling fixes toogle -> toggle
      
       - kzalloc failure catch in Mediatek driver
      
      * tag 'mailbox-v4.20' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
        mailbox: mediatek: Add check for possible failure of kzalloc
        mailbox: bcm-flexrm-mailbox: fix spelling mistake "toogle" -> "toggle"
        mailbox: qcom: Add QCS404 APPS Global compatible
        drivers: mailbox: Make ti-msgmr driver depend on ARCH_K3
        mailbox: Convert to using %pOFn instead of device_node.name
      fe675d4d
    • Linus Torvalds's avatar
      Merge tag 'filesystems_for_v4.20-rc1' of... · e64433d5
      Linus Torvalds authored
      Merge tag 'filesystems_for_v4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
      
      Pull ext2 and udf updates from Jan Kara:
       "Small ext2 cleanups and a couple of udf fixes"
      
      * tag 'filesystems_for_v4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        ext2: remove redundant building macro check
        udf: Drop pack pragma from udf_sb.h
        udf: Drop freed bitmap / table support
        udf: Fix crash during mount
        udf: Prevent write-unsupported filesystem to be remounted read-write
        ext2: cache NULL when both default_acl and acl are NULL
        udf: remove unused variables group_start and nr_groups
      e64433d5
    • Linus Torvalds's avatar
      Merge tag 'for_v4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 79257514
      Linus Torvalds authored
      Pull fsnotify updates from Jan Kara:
       "Amir's patches to implement superblock fanotify watches, Xiaoming's
        patch to enable reporting of thread IDs in fanotify events instead of
        TGIDs (sadly the patch got mis-attributed to Amir and I've noticed
        only now), and a fix of possible oops on umount caused by fsnotify
        infrastructure"
      
      * tag 'for_v4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fsnotify: Fix busy inodes during unmount
        fs: group frequently accessed fields of struct super_block together
        fanotify: support reporting thread id instead of process id
        fanotify: add BUILD_BUG_ON() to count the bits of fanotify constants
        fsnotify: convert runtime BUG_ON() to BUILD_BUG_ON()
        fanotify: deprecate uapi FAN_ALL_* constants
        fanotify: simplify handling of FAN_ONDIR
        fsnotify: generalize handling of extra event flags
        fanotify: fix collision of internal and uapi mark flags
        fanotify: store fanotify_init() flags in group's fanotify_data
        fanotify: add API to attach/detach super block mark
        fsnotify: send path type events to group with super block marks
        fsnotify: add super block object type
      79257514
    • Linus Torvalds's avatar
      Merge tag '9p-for-4.20' of git://github.com/martinetd/linux · 7da4221b
      Linus Torvalds authored
      Pull 9p updates from Dominique Martinet:
       "Highlights this time around are the end of Matthew's work to remove
        the custom 9p request cache and use a slab directly for requests, with
        some extra patches on my end to not degrade performance, but it's a
        very good cleanup.
      
        Tomas and I fixed a few more syzkaller bugs (refcount is the big one),
        and I had a go at the coverity bugs and at some of the bugzilla
        reports we had open for a while.
      
        I'm a bit disappointed that I couldn't get much reviews for a few of
        my own patches, but the big ones got some and it's all been soaking in
        linux-next for quite a while so I think it should be OK.
      
        Summary:
      
         - Finish removing the custom 9p request cache mechanism
      
         - Embed part of the fcall in the request to have better slab
           performance (msize usually is power of two aligned)
      
         - syzkaller fixes:
            * add a refcount to 9p requests to avoid use after free
            * a few double free issues
      
         - A few coverity fixes
      
         - Some old patches that were in the bugzilla:
            * do not trust pdu content for size header
            * mount option for lock retry interval"
      
      * tag '9p-for-4.20' of git://github.com/martinetd/linux: (21 commits)
        9p/trans_fd: put worker reqs on destroy
        9p/trans_fd: abort p9_read_work if req status changed
        9p: potential NULL dereference
        9p locks: fix glock.client_id leak in do_lock
        9p: p9dirent_read: check network-provided name length
        9p/rdma: remove useless check in cm_event_handler
        9p: acl: fix uninitialized iattr access
        9p locks: add mount option for lock retry interval
        9p: do not trust pdu content for stat item size
        9p: Rename req to rreq in trans_fd
        9p: fix spelling mistake in fall-through annotation
        9p/rdma: do not disconnect on down_interruptible EAGAIN
        9p: Add refcount to p9_req_t
        9p: rename p9_free_req() function
        9p: add a per-client fcall kmem_cache
        9p: embed fcall in req to round down buffer allocs
        9p: Remove p9_idpool
        9p: Use a slab for allocating requests
        9p: clear dangling pointers in p9stat_free
        v9fs_dir_readdir: fix double-free on p9stat_read error
        ...
      7da4221b
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 673c790e
      Linus Torvalds authored
      Pull m68k nommu fix from Greg Ungerer:
       "Only a single change to fix an out of bounds array access when parsing
        boot command line"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68k: fix command-line parsing when passed from u-boot
      673c790e
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v4.20-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 83e7e5b5
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
       "Just two small cleanups"
      
      * tag 'm68k-for-v4.20-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/sun3: Remove is_medusa and m68k_pgtable_cachemode
        m68k/atari: ARAnyM - Remove reference to long-deprecated MODULE_PARM
      83e7e5b5
    • Linus Torvalds's avatar
      Merge tag 'csky-for-linus-4.20' of https://github.com/c-sky/csky-linux · ac435075
      Linus Torvalds authored
      Pull C-SKY architecture port from Guo Ren:
       "This contains the Linux port for C-SKY(csky) based on linux-4.19
        Release, which has been through 10 rounds of review on mailing list.
      
        More information:
      
          http://en.c-sky.com
      
        The development repo:
      
          https://github.com/c-sky/csky-linux
      
        ABI Documentation:
      
          https://github.com/c-sky/csky-doc
      
        Here is the pre-built cross compiler for fast test from our CI:
      
          https://gitlab.com/c-sky/buildroot/-/jobs/101608095/artifacts/file/output/images/csky_toolchain_qemu_csky_ck807f_4.18_glibc_defconfig_482b221e52908be1c9b2ccb444255e1562bb7025.tar.xz
      
        We use buildroot as our CI-test enviornment. "LTP, Lmbench ..." will
        be tested for every commit. See here for more details:
      
          https://gitlab.com/c-sky/buildroot/pipelines
      
        We'll continouslly improve csky subsystem in future"
      
      Arnd acks, and adds the following notes:
       "I did a thorough review of the ABI, which as usual mainly consists of
        spotting any files that don't use the asm-generic ABI itself, and
        having it changed to it matches exactly what we do on other new
        architectures.
      
        I also looked at every other patch and commented on maybe half of them
        where I saw something that did not quite seem right. Others have
        reviewed specific patches in greater depth. I'm sure that one could
        fine more of the minor details, but as long as they are not ABI
        relevant, they can be fixed later.
      
        The only patch that is part of the ABI and that nobody reviewed is the
        signal handling. This is one of the areas I never worked on in much
        detail. I did not see anything wrong with it, but I also don't know
        what the problems with the other architectures are here, and we seem
        to be hitting issues occasionally, and we never managed to generalize
        this enough for new architectures to have a trivial implementation.
      
        I was originally hoping that we could have the 64-bit time_t
        interfaces ready in time to completely drop the 32-bit ones, but that
        did not happen. We might still remove them in the next merge window
        depending on whether the libc upstream people prefer to keep them or
        not.
      
        One more general comment: I think this may well be the last new CPU
        architecture we ever add to the kernel. Both nds32 and c-sky are made
        by companies that also work on risc-v, and generally speaking risc-v
        seems to be killing off any of the minor licensable instruction set
        projects, just like ARM has mostly killed off the custom
        vendor-specific instruction sets already.
      
        If we add another architecture in the future, it may instead be
        something like the LLVM bitcode or WebAssembly, who knows?"
      
      To which Geert Uytterhoeven pipes in about another architecture still in
      the pipeline: Kalray MPPA.
      
      * tag 'csky-for-linus-4.20' of https://github.com/c-sky/csky-linux: (24 commits)
        dt-bindings: interrupt-controller: C-SKY APB intc
        irqchip: add C-SKY APB bus interrupt controller
        dt-bindings: interrupt-controller: C-SKY SMP intc
        irqchip: add C-SKY SMP interrupt controller
        MAINTAINERS: Add csky
        dt-bindings: Add vendor prefix for csky
        dt-bindings: csky CPU Bindings
        csky: Misc headers
        csky: SMP support
        csky: Debug and Ptrace GDB
        csky: User access
        csky: Library functions
        csky: ELF and module probe
        csky: Atomic operations
        csky: IRQ handling
        csky: VDSO and rt_sigreturn
        csky: Process management and Signal
        csky: MMU and page table management
        csky: Cache and TLB routines
        csky: System Call
        ...
      ac435075
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 9f51ae62
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) GRO overflow entries are not unlinked properly, resulting in list
          poison pointers being dereferenced.
      
       2) Fix bridge build with ipv6 disabled, from Nikolay Aleksandrov.
      
       3) Direct packet access and other fixes in BPF from Daniel Borkmann.
      
       4) gred_change_table_def() gets passed the wrong pointer, a pointer to
          a set of unparsed attributes instead of the attribute itself. From
          Jakub Kicinski.
      
       5) Allow macsec device to be brought up even if it's lowerdev is down,
          from Sabrina Dubroca.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        net: diag: document swapped src/dst in udp_dump_one.
        macsec: let the administrator set UP state even if lowerdev is down
        macsec: update operstate when lower device changes
        net: sched: gred: pass the right attribute to gred_change_table_def()
        ptp: drop redundant kasprintf() to create worker name
        net: bridge: remove ipv6 zero address check in mcast queries
        net: Properly unlink GRO packets on overflow.
        bpf: fix wrong helper enablement in cgroup local storage
        bpf: add bpf_jit_limit knob to restrict unpriv allocations
        bpf: make direct packet write unclone more robust
        bpf: fix leaking uninitialized memory on pop/peek helpers
        bpf: fix direct packet write into pop/peek helpers
        bpf: fix cg_skb types to hint access type in may_access_direct_pkt_data
        bpf: fix direct packet access for flow dissector progs
        bpf: disallow direct packet access for unpriv in cg_skb
        bpf: fix test suite to enable all unpriv program types
        bpf, btf: fix a missing check bug in btf_parse
        selftests/bpf: add config fragments BPF_STREAM_PARSER and XDP_SOCKETS
        bpf: devmap: fix wrong interface selection in notifier_call
      9f51ae62
    • Lorenzo Colitti's avatar
      net: diag: document swapped src/dst in udp_dump_one. · 747569b0
      Lorenzo Colitti authored
      Since its inception, udp_dump_one has had a bug where userspace
      needs to swap src and dst addresses and ports in order to find
      the socket it wants. This is because it passes the socket source
      address to __udp[46]_lib_lookup's saddr argument, but those
      functions are intended to find local sockets matching received
      packets, so saddr is the remote address, not the local address.
      
      This can no longer be fixed for backwards compatibility reasons,
      so add a brief comment explaining that this is the case. This
      will avoid confusion and help ensure SOCK_DIAG implementations
      of new protocols don't have the same problem.
      
      Fixes: a925aa00 ("udp_diag: Implement the get_exact dumping functionality")
      Signed-off-by: default avatarLorenzo Colitti <lorenzo@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      747569b0
    • David S. Miller's avatar
      Merge branch 'macsec-fixes' · 3bdf6bac
      David S. Miller authored
      Sabrina Dubroca says:
      
      ====================
      macsec: linkstate fixes
      
      This series fixes issues with handling administrative and operstate of
      macsec devices.
      
      Radu Rendec proposed another version of the first patch [0] but I'd
      rather not follow the behavior of vlan devices, going with macvlan
      does instead. Patrick Talbert also reported the same issue to me.
      
      The second patch is a follow-up. The restriction on setting the device
      up is a bit unreasonable, and operstate provides the information we
      need in this case.
      
      [0] https://patchwork.ozlabs.org/patch/971374/
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3bdf6bac
    • Sabrina Dubroca's avatar
      macsec: let the administrator set UP state even if lowerdev is down · 07bddef9
      Sabrina Dubroca authored
      Currently, the kernel doesn't let the administrator set a macsec device
      up unless its lower device is currently up. This is inconsistent, as a
      macsec device that is up won't automatically go down when its lower
      device goes down.
      
      Now that linkstate propagation works, there's really no reason for this
      limitation, so let's remove it.
      
      Fixes: c09440f7 ("macsec: introduce IEEE 802.1AE driver")
      Reported-by: default avatarRadu Rendec <radu.rendec@gmail.com>
      Signed-off-by: default avatarSabrina Dubroca <sd@queasysnail.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      07bddef9
    • Sabrina Dubroca's avatar
      macsec: update operstate when lower device changes · e6ac0758
      Sabrina Dubroca authored
      Like all other virtual devices (macvlan, vlan), the operstate of a
      macsec device should match the state of its lower device. This is done
      by calling netif_stacked_transfer_operstate from its netdevice notifier.
      
      We also need to call netif_stacked_transfer_operstate when a new macsec
      device is created, so that its operstate is set properly. This is only
      relevant when we try to bring the device up directly when we create it.
      
      Radu Rendec proposed a similar patch, inspired from the 802.1q driver,
      that included changing the administrative state of the macsec device,
      instead of just the operstate. This version is similar to what the
      macvlan driver does, and updates only the operstate.
      
      Fixes: c09440f7 ("macsec: introduce IEEE 802.1AE driver")
      Reported-by: default avatarRadu Rendec <radu.rendec@gmail.com>
      Reported-by: default avatarPatrick Talbert <ptalbert@redhat.com>
      Signed-off-by: default avatarSabrina Dubroca <sd@queasysnail.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e6ac0758
    • Jakub Kicinski's avatar
      net: sched: gred: pass the right attribute to gred_change_table_def() · 38b4f18d
      Jakub Kicinski authored
      gred_change_table_def() takes a pointer to TCA_GRED_DPS attribute,
      and expects it will be able to interpret its contents as
      struct tc_gred_sopt.  Pass the correct gred attribute, instead of
      TCA_OPTIONS.
      
      This bug meant the table definition could never be changed after
      Qdisc was initialized (unless whatever TCA_OPTIONS contained both
      passed netlink validation and was a valid struct tc_gred_sopt...).
      
      Old behaviour:
      $ ip link add type dummy
      $ tc qdisc replace dev dummy0 parent root handle 7: \
           gred setup vqs 4 default 0
      $ tc qdisc replace dev dummy0 parent root handle 7: \
           gred setup vqs 4 default 0
      RTNETLINK answers: Invalid argument
      
      Now:
      $ ip link add type dummy
      $ tc qdisc replace dev dummy0 parent root handle 7: \
           gred setup vqs 4 default 0
      $ tc qdisc replace dev dummy0 parent root handle 7: \
           gred setup vqs 4 default 0
      $ tc qdisc replace dev dummy0 parent root handle 7: \
           gred setup vqs 4 default 0
      
      Fixes: f62d6b93 ("[PKT_SCHED]: GRED: Use central VQ change procedure")
      Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      38b4f18d
    • Rasmus Villemoes's avatar
      ptp: drop redundant kasprintf() to create worker name · 822c5f73
      Rasmus Villemoes authored
      Building with -Wformat-nonliteral, gcc complains
      
      drivers/ptp/ptp_clock.c: In function ‘ptp_clock_register’:
      drivers/ptp/ptp_clock.c:239:26: warning: format not a string literal and no format arguments [-Wformat-nonliteral]
                  worker_name : info->name);
      
      kthread_create_worker takes fmt+varargs to set the name of the
      worker, and that happens with a vsnprintf() to a stack buffer (that is
      then copied into task_comm). So there's no reason not to just pass
      "ptp%d", ptp->index to kthread_create_worker() and avoid the
      intermediate worker_name variable.
      Signed-off-by: default avatarRasmus Villemoes <linux@rasmusvillemoes.dk>
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      822c5f73
    • Nikolay Aleksandrov's avatar
      net: bridge: remove ipv6 zero address check in mcast queries · 0fe5119e
      Nikolay Aleksandrov authored
      Recently a check was added which prevents marking of routers with zero
      source address, but for IPv6 that cannot happen as the relevant RFCs
      actually forbid such packets:
      RFC 2710 (MLDv1):
      "To be valid, the Query message MUST
       come from a link-local IPv6 Source Address, be at least 24 octets
       long, and have a correct MLD checksum."
      
      Same goes for RFC 3810.
      
      And also it can be seen as a requirement in ipv6_mc_check_mld_query()
      which is used by the bridge to validate the message before processing
      it. Thus any queries with :: source address won't be processed anyway.
      So just remove the check for zero IPv6 source address from the query
      processing function.
      
      Fixes: 5a2de63f ("bridge: do not add port to router list when receives query with source 0.0.0.0")
      Signed-off-by: default avatarNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0fe5119e
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2018-10-24' of git://anongit.freedesktop.org/drm/drm · 53b3b6bb
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "This is going to rebuild more than drm as it adds a new helper to
        list.h for doing bulk updates. Seemed like a reasonable addition to
        me.
      
        Otherwise the usual merge window stuff lots of i915 and amdgpu, not so
        much nouveau, and piles of everything else.
      
        Core:
         - Adds a new list.h helper for doing bulk list updates for TTM.
         - Don't leak fb address in smem_start to userspace (comes with EXPORT
           workaround for people using mali out of tree hacks)
         - udmabuf device to turn memfd regions into dma-buf
         - Per-plane blend mode property
         - ref/unref replacements with get/put
         - fbdev conflicting framebuffers code cleaned up
         - host-endian format variants
         - panel orientation quirk for Acer One 10
      
        bridge:
         - TI SN65DSI86 chip support
      
        vkms:
         - GEM support.
         - Cursor support
      
        amdgpu:
         - Merge amdkfd and amdgpu into one module
         - CEC over DP AUX support
         - Picasso APU support + VCN dynamic powergating
         - Raven2 APU support
         - Vega20 enablement + kfd support
         - ACP powergating improvements
         - ABGR/XBGR display support
         - VCN jpeg support
         - xGMI support
         - DC i2c/aux cleanup
         - Ycbcr 4:2:0 support
         - GPUVM improvements
         - Powerplay and powerplay endian fixes
         - Display underflow fixes
      
        vmwgfx:
         - Move vmwgfx specific TTM code to vmwgfx
         - Split out vmwgfx buffer/resource validation code
         - Atomic operation rework
      
        bochs:
         - use more helpers
         - format/byteorder improvements
      
        qxl:
         - use more helpers
      
        i915:
         - GGTT coherency getparam
         - Turn off resource streamer API
         - More Icelake enablement + DMC firmware
         - Full PPGTT for Ivybridge, Haswell and Valleyview
         - DDB distribution based on resolution
         - Limited range DP display support
      
        nouveau:
         - CEC over DP AUX support
         - Initial HDMI 2.0 support
      
        virtio-gpu:
         - vmap support for PRIME objects
      
        tegra:
         - Initial Tegra194 support
         - DMA/IOMMU integration fixes
      
        msm:
         - a6xx perf improvements + clock prefix
         - GPU preemption optimisations
         - a6xx devfreq support
         - cursor support
      
        rockchip:
         - PX30 support
         - rgb output interface support
      
        mediatek:
         - HDMI output support on mt2701 and mt7623
      
        rcar-du:
         - Interlaced modes on Gen3
         - LVDS on R8A77980
         - D3 and E3 SoC support
      
        hisilicon:
         - misc fixes
      
        mxsfb:
         - runtime pm support
      
        sun4i:
         - R40 TCON support
         - Allwinner A64 support
         - R40 HDMI support
      
        omapdrm:
         - Driver rework changing display pipeline ordering to use common code
         - DMM memory barrier and irq fixes
         - Errata workarounds
      
        exynos:
         - out-bridge support for LVDS bridge driver
         - Samsung 16x16 tiled format support
         - Plane alpha and pixel blend mode support
      
        tilcdc:
         - suspend/resume update
      
        mali-dp:
         - misc updates"
      
      * tag 'drm-next-2018-10-24' of git://anongit.freedesktop.org/drm/drm: (1382 commits)
        firmware/dmc/icl: Add missing MODULE_FIRMWARE() for Icelake.
        drm/i915/icl: Fix signal_levels
        drm/i915/icl: Fix DDI/TC port clk_off bits
        drm/i915/icl: create function to identify combophy port
        drm/i915/gen9+: Fix initial readout for Y tiled framebuffers
        drm/i915: Large page offsets for pread/pwrite
        drm/i915/selftests: Disable shrinker across mmap-exhaustion
        drm/i915/dp: Link train Fallback on eDP only if fallback link BW can fit panel's native mode
        drm/i915: Fix intel_dp_mst_best_encoder()
        drm/i915: Skip vcpi allocation for MSTB ports that are gone
        drm/i915: Don't unset intel_connector->mst_port
        drm/i915: Only reset seqno if actually idle
        drm/i915: Use the correct crtc when sanitizing plane mapping
        drm/i915: Restore vblank interrupts earlier
        drm/i915: Check fb stride against plane max stride
        drm/amdgpu/vcn:Fix uninitialized symbol error
        drm: panel-orientation-quirks: Add quirk for Acer One 10 (S1003)
        drm/amd/amdgpu: Fix debugfs error handling
        drm/amdgpu: Update gc_9_0 golden settings.
        drm/amd/powerplay: update PPtable with DC BTC and Tvr SocLimit fields
        ...
      53b3b6bb