1. 30 Oct, 2018 2 commits
    • Tobias Jungel's avatar
      bonding: fix length of actor system · 414dd6fb
      Tobias Jungel authored
      The attribute IFLA_BOND_AD_ACTOR_SYSTEM is sent to user space having the
      length of sizeof(bond->params.ad_actor_system) which is 8 byte. This
      patch aligns the length to ETH_ALEN to have the same MAC address exposed
      as using sysfs.
      
      Fixes: f87fda00 ("bonding: prevent out of bound accesses")
      Signed-off-by: default avatarTobias Jungel <tobias.jungel@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      414dd6fb
    • Hangbin Liu's avatar
      ipv4/igmp: fix v1/v2 switchback timeout based on rfc3376, 8.12 · 966c37f2
      Hangbin Liu authored
      Similiar with ipv6 mcast commit 89225d1c ("net: ipv6: mld: fix v1/v2
      switchback timeout to rfc3810, 9.12.")
      
      i) RFC3376 8.12. Older Version Querier Present Timeout says:
      
         The Older Version Querier Interval is the time-out for transitioning
         a host back to IGMPv3 mode once an older version query is heard.
         When an older version query is received, hosts set their Older
         Version Querier Present Timer to Older Version Querier Interval.
      
         This value MUST be ((the Robustness Variable) times (the Query
         Interval in the last Query received)) plus (one Query Response
         Interval).
      
      Currently we only use a hardcode value IGMP_V1/v2_ROUTER_PRESENT_TIMEOUT.
      Fix it by adding two new items mr_qi(Query Interval) and mr_qri(Query Response
      Interval) in struct in_device.
      
      Now we can calculate the switchback time via (mr_qrv * mr_qi) + mr_qri.
      We need update these values when receive IGMPv3 queries.
      Reported-by: default avatarYing Xu <yinxu@redhat.com>
      Signed-off-by: default avatarHangbin Liu <liuhangbin@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      966c37f2
  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
  3. 28 Oct, 2018 6 commits
    • Linus Torvalds's avatar
      Merge tag 'vla-v4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 746bb4ed
      Linus Torvalds authored
      Pull VLA removal from Kees Cook:
       "Globally warn on VLA use.
      
        This turns on "-Wvla" globally now that the last few trees with their
        VLA removals have landed (crypto, block, net, and powerpc).
      
        Arnd mentioned that there may be a couple more VLAs hiding in
        hard-to-find randconfigs, but nothing big has shaken out in the last
        month or so in linux-next.
      
        We should be basically VLA-free now! Wheee. :)
      
        Summary:
      
         - Remove unused fallback for BUILD_BUG_ON (which technically contains
           a VLA)
      
         - Lift -Wvla to the top-level Makefile"
      
      * tag 'vla-v4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        Makefile: Globally enable VLA warning
        compiler.h: give up __compiletime_assert_fallback()
      746bb4ed
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · ac747c07
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - optimize kallsyms slightly
      
       - remove check for old CFLAGS usage
      
       - add some compiler flags unconditionally instead of evaluating
         $(call cc-option,...)
      
       - fix variable shadowing in host tools
      
       - refactor scripts/mkmakefile
      
       - refactor various makefiles
      
      * tag 'kbuild-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        modpost: Create macro to avoid variable shadowing
        ASN.1: Remove unnecessary shadowed local variable
        kbuild: use 'else ifeq' for checksrc to improve readability
        kbuild: remove unneeded link_multi_deps
        kbuild: add -Wno-unused-but-set-variable flag unconditionally
        kbuild: add -Wdeclaration-after-statement flag unconditionally
        kbuild: add -Wno-pointer-sign flag unconditionally
        modpost: remove leftover symbol prefix handling for module device table
        kbuild: simplify command line creation in scripts/mkmakefile
        kbuild: do not pass $(objtree) to scripts/mkmakefile
        kbuild: remove user ID check in scripts/mkmakefile
        kbuild: remove VERSION and PATCHLEVEL from $(objtree)/Makefile
        kbuild: add --include-dir flag only for out-of-tree build
        kbuild: remove dead code in cmd_files calculation in top Makefile
        kbuild: hide most of targets when running config or mixed targets
        kbuild: remove old check for CFLAGS use
        kbuild: prefix Makefile.dtbinst path with $(srctree) unconditionally
        kallsyms: remove left-over Blackfin code
        kallsyms: reduce size a little on 64-bit
      ac747c07
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-4.20-rc1' of... · f8cab69b
      Linus Torvalds authored
      Merge tag 'linux-kselftest-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest updates from Shuah Khan:
       "This Kselftest update for Linux 4.20-rc1 consists of:
      
         - Improvements to ftrace test suite from Masami Hiramatsu.
      
         - Color coded ftrace PASS / FAIL results from Steven Rostedt (VMware)
           to improve readability of reports.
      
         - watchdog Fixes and enhancement to add gettimeout and get|set
           pretimeout options from Jerry Hoemann.
      
         - Several fixes to warnings and spelling etc"
      
      * tag 'linux-kselftest-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (40 commits)
        selftests/ftrace: Strip escape sequences for log file
        selftests/ftrace: Use colored output when available
        selftests: fix warning: "_GNU_SOURCE" redefined
        selftests: kvm: Fix -Wformat warnings
        selftests/ftrace: Add color to the PASS / FAIL results
        kvm: selftests: fix spelling mistake "Insufficent" -> "Insufficient"
        selftests: gpio: Fix OUTPUT directory in Makefile
        selftests: gpio: restructure Makefile
        selftests: watchdog: Fix ioctl SET* error paths to take oneshot exit path
        selftests: watchdog: Add gettimeout and get|set pretimeout
        selftests: watchdog: Fix error message.
        selftests: watchdog: fix message when /dev/watchdog open fails
        selftests/ftrace: Add ftrace cpumask testcase
        selftests/ftrace: Add wakeup_rt tracer testcase
        selftests/ftrace: Add wakeup tracer testcase
        selftests/ftrace: Add stacktrace ftrace filter command testcase
        selftests/ftrace: Add trace_pipe testcase
        selftests/ftrace: Add function filter on module testcase
        selftests/ftrace: Add max stack tracer testcase
        selftests/ftrace: Add function profiling stat testcase
        ...
      f8cab69b
    • Linus Torvalds's avatar
      Merge branch 'xarray' of git://git.infradead.org/users/willy/linux-dax · dad4f140
      Linus Torvalds authored
      Pull XArray conversion from Matthew Wilcox:
       "The XArray provides an improved interface to the radix tree data
        structure, providing locking as part of the API, specifying GFP flags
        at allocation time, eliminating preloading, less re-walking the tree,
        more efficient iterations and not exposing RCU-protected pointers to
        its users.
      
        This patch set
      
         1. Introduces the XArray implementation
      
         2. Converts the pagecache to use it
      
         3. Converts memremap to use it
      
        The page cache is the most complex and important user of the radix
        tree, so converting it was most important. Converting the memremap
        code removes the only other user of the multiorder code, which allows
        us to remove the radix tree code that supported it.
      
        I have 40+ followup patches to convert many other users of the radix
        tree over to the XArray, but I'd like to get this part in first. The
        other conversions haven't been in linux-next and aren't suitable for
        applying yet, but you can see them in the xarray-conv branch if you're
        interested"
      
      * 'xarray' of git://git.infradead.org/users/willy/linux-dax: (90 commits)
        radix tree: Remove multiorder support
        radix tree test: Convert multiorder tests to XArray
        radix tree tests: Convert item_delete_rcu to XArray
        radix tree tests: Convert item_kill_tree to XArray
        radix tree tests: Move item_insert_order
        radix tree test suite: Remove multiorder benchmarking
        radix tree test suite: Remove __item_insert
        memremap: Convert to XArray
        xarray: Add range store functionality
        xarray: Move multiorder_check to in-kernel tests
        xarray: Move multiorder_shrink to kernel tests
        xarray: Move multiorder account test in-kernel
        radix tree test suite: Convert iteration test to XArray
        radix tree test suite: Convert tag_tagged_items to XArray
        radix tree: Remove radix_tree_clear_tags
        radix tree: Remove radix_tree_maybe_preload_order
        radix tree: Remove split/join code
        radix tree: Remove radix_tree_update_node_t
        page cache: Finish XArray conversion
        dax: Convert page fault handlers to XArray
        ...
      dad4f140
    • David S. Miller's avatar
      net: Properly unlink GRO packets on overflow. · ece23711
      David S. Miller authored
      Just like with normal GRO processing, we have to initialize
      skb->next to NULL when we unlink overflow packets from the
      GRO hash lists.
      
      Fixes: d4546c25 ("net: Convert GRO SKB handling to list_head.")
      Reported-by: default avatarOleksandr Natalenko <oleksandr@natalenko.name>
      Tested-by: default avatarOleksandr Natalenko <oleksandr@natalenko.name>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ece23711
    • Leonardo Bras's avatar
      modpost: Create macro to avoid variable shadowing · c2b1a922
      Leonardo Bras authored
      Create DEF_FIELD_ADDR_VAR as a more generic version of the DEF_FIELD_ADD
      macro, allowing usage of a variable name other than the struct element name.
      Also, sets DEF_FIELD_ADDR as a specific usage of DEF_FILD_ADDR_VAR in which
      the var name is the same as the struct element name.
      Then, makes use of DEF_FIELD_ADDR_VAR to create a variable of another name,
      in order to avoid variable shadowing.
      Signed-off-by: default avatarLeonardo Bras <leobras.c@gmail.com>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      c2b1a922