1. 05 Jun, 2020 40 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 242b2331
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "A more active cycle than most of the recent past, with a few large,
        long discussed works this time.
      
        The RNBD block driver has been posted for nearly two years now, and
        flowing through RDMA due to it also introducing a new ULP.
      
        The removal of FMR has been a recurring discussion theme for a long
        time.
      
        And the usual smattering of features and bug fixes.
      
        Summary:
      
         - Various small driver bugs fixes in rxe, mlx5, hfi1, and efa
      
         - Continuing driver cleanups in bnxt_re, hns
      
         - Big cleanup of mlx5 QP creation flows
      
         - More consistent use of src port and flow label when LAG is used and
           a mlx5 implementation
      
         - Additional set of cleanups for IB CM
      
         - 'RNBD' network block driver and target. This is a network block
           RDMA device specific to ionos's cloud environment. It brings strong
           multipath and resiliency capabilities.
      
         - Accelerated IPoIB for HFI1
      
         - QP/WQ/SRQ ioctl migration for uverbs, and support for multiple
           async fds
      
         - Support for exchanging the new IBTA defiend ECE data during RDMA CM
           exchanges
      
         - Removal of the very old and insecure FMR interface from all ULPs
           and drivers. FRWR should be preferred for at least a decade now"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (247 commits)
        RDMA/cm: Spurious WARNING triggered in cm_destroy_id()
        RDMA/mlx5: Return ECE DC support
        RDMA/mlx5: Don't rely on FW to set zeros in ECE response
        RDMA/mlx5: Return an error if copy_to_user fails
        IB/hfi1: Use free_netdev() in hfi1_netdev_free()
        RDMA/hns: Uninitialized variable in modify_qp_init_to_rtr()
        RDMA/core: Move and rename trace_cm_id_create()
        IB/hfi1: Fix hfi1_netdev_rx_init() error handling
        RDMA: Remove 'max_map_per_fmr'
        RDMA: Remove 'max_fmr'
        RDMA/core: Remove FMR device ops
        RDMA/rdmavt: Remove FMR memory registration
        RDMA/mthca: Remove FMR support for memory registration
        RDMA/mlx4: Remove FMR support for memory registration
        RDMA/i40iw: Remove FMR leftovers
        RDMA/bnxt_re: Remove FMR leftovers
        RDMA/mlx5: Remove FMR leftovers
        RDMA/core: Remove FMR pool API
        RDMA/rds: Remove FMR support for memory registration
        RDMA/srp: Remove support for FMR memory registration
        ...
      242b2331
    • Linus Torvalds's avatar
      Merge tag 'gpio-v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 3f7e8237
      Linus Torvalds authored
      Pull GPIO updates from Linus Walleij:
       "This is the bulk of GPIO changes for the v5.8 kernel cycle.
      
        Core changes:
      
         - A new GPIO aggregator driver has been merged: this can join a few
           select GPIO lines into a new aggregated GPIO chip. This can be used
           for security: a process can be granted access to only these lines,
           for example for industrial control. Another way to use this is to
           reexpose certain select lines to a virtual machine or container.
      
         - Warn if the gpio-line-names is too long in he DT parser core.
      
         - GPIO lines can now be looked up by line name in addition to being
           looked up by offset.
      
        New drivers:
      
         - A new generic regmap GPIO driver has been merged. Too many regmap
           drivers are starting to look like each other so we need to create
           some common ground and try to move drivers over to using that.
      
         - The F7188X driver now supports F81865.
      
        Driver improvements:
      
         - Large improvements to the PCA953x expander, get multiple lines and
           several cleanups.
      
         - Large improvements to the DesignWare DWAPB driver, and Sergey Semin
           has volunteered to maintain it.
      
         - PL061 can now be built as a module, this is part of a bigger effort
           to make the ARM platforms more modular"
      
      * tag 'gpio-v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (77 commits)
        gpio: pca953x: Drop unneeded ACPI_PTR()
        MAINTAINERS: Add gpio regmap section
        gpio: add a reusable generic gpio_chip using regmap
        gpiolib: Introduce gpiochip_irqchip_add_domain()
        gpio: gpiolib: Allow GPIO IRQs to lazy disable
        gpiolib: Separate GPIO_GET_LINEINFO_WATCH_IOCTL conditional
        gpio: rcar: Fix runtime PM imbalance on error
        gpio: pca935x: Allow IRQ support for driver built as a module
        gpio: pxa: Add COMPILE_TEST support
        dt-bindings: gpio: Add renesas,em-gio bindings
        MAINTAINERS: Fix file name for DesignWare GPIO DT schema
        gpio: dwapb: Remove unneeded has_irq member in struct dwapb_port_property
        gpio: dwapb: Don't use IRQ 0 as valid Linux interrupt
        gpio: dwapb: avoid error message for optional IRQ
        gpio: dwapb: Call acpi_gpiochip_free_interrupts() on GPIO chip de-registration
        gpio: max730x: bring gpiochip_add_data after port config
        MAINTAINERS: Add GPIO Aggregator section
        docs: gpio: Add GPIO Aggregator documentation
        gpio: Add GPIO Aggregator
        gpiolib: Add support for GPIO lookup by line name
        ...
      3f7e8237
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.8-1' of git://github.com/cminyard/linux-ipmi · 1f2dc7f5
      Linus Torvalds authored
      Pull IPMI updates from Corey Minyard:
       "A few small fixes for things, nothing earth shattering"
      
      * tag 'for-linus-5.8-1' of git://github.com/cminyard/linux-ipmi:
        ipmi:ssif: Remove dynamic platform device handing
        Try to load acpi_ipmi when an SSIF ACPI IPMI interface is added
        ipmi_si: Load acpi_ipmi when ACPI IPMI interface added
        ipmi:bt-bmc: Fix error handling and status check
        ipmi: Replace guid_copy() with import_guid() where it makes sense
        ipmi: use vzalloc instead of kmalloc for user creation
        ipmi:bt-bmc: Fix some format issue of the code
        ipmi:bt-bmc: Avoid unnecessary check
      1f2dc7f5
    • Linus Torvalds's avatar
      Merge tag 'vfio-v5.8-rc1' of git://github.com/awilliam/linux-vfio · 5a36f0f3
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Block accesses to disabled MMIO space (Alex Williamson)
      
       - VFIO device migration API (Kirti Wankhede)
      
       - type1 IOMMU dirty bitmap API and implementation (Kirti Wankhede)
      
       - PCI NULL capability masking (Alex Williamson)
      
       - Memory leak fixes (Qian Cai)
      
       - Reference leak fix (Qiushi Wu)
      
      * tag 'vfio-v5.8-rc1' of git://github.com/awilliam/linux-vfio:
        vfio iommu: typecast corrections
        vfio iommu: Use shift operation for 64-bit integer division
        vfio/mdev: Fix reference count leak in add_mdev_supported_type
        vfio: Selective dirty page tracking if IOMMU backed device pins pages
        vfio iommu: Add migration capability to report supported features
        vfio iommu: Update UNMAP_DMA ioctl to get dirty bitmap before unmap
        vfio iommu: Implementation of ioctl for dirty pages tracking
        vfio iommu: Add ioctl definition for dirty pages tracking
        vfio iommu: Cache pgsize_bitmap in struct vfio_iommu
        vfio iommu: Remove atomicity of ref_count of pinned pages
        vfio: UAPI for migration interface for device state
        vfio/pci: fix memory leaks of eventfd ctx
        vfio/pci: fix memory leaks in alloc_perm_bits()
        vfio-pci: Mask cap zero
        vfio-pci: Invalidate mmaps and block MMIO access on disabled memory
        vfio-pci: Fault mmaps to enable vma tracking
        vfio/type1: Support faulting PFNMAP vmas
      5a36f0f3
    • Linus Torvalds's avatar
      Merge tag 'core_core_updates_for_5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ac7b3421
      Linus Torvalds authored
      Pull READ_IMPLIES_EXEC changes from Borislav Petkov:
       "Split the old READ_IMPLIES_EXEC workaround from executable
        PT_GNU_STACK now that toolchains long support PT_GNU_STACK marking and
        there's no need anymore to force modern programs into having all its
        user mappings executable instead of only the stack and the PROT_EXEC
        ones.
      
        Disable that automatic READ_IMPLIES_EXEC forcing on x86-64 and
        arm64.
      
        Add tables documenting how READ_IMPLIES_EXEC is handled on x86-64, arm
        and arm64.
      
        By Kees Cook"
      
      * tag 'core_core_updates_for_5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        arm64/elf: Disable automatic READ_IMPLIES_EXEC for 64-bit address spaces
        arm32/64/elf: Split READ_IMPLIES_EXEC from executable PT_GNU_STACK
        arm32/64/elf: Add tables to document READ_IMPLIES_EXEC
        x86/elf: Disable automatic READ_IMPLIES_EXEC on 64-bit
        x86/elf: Split READ_IMPLIES_EXEC from executable PT_GNU_STACK
        x86/elf: Add table to document READ_IMPLIES_EXEC
      ac7b3421
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 7ae77150
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
      
       - Support for userspace to send requests directly to the on-chip GZIP
         accelerator on Power9.
      
       - Rework of our lockless page table walking (__find_linux_pte()) to
         make it safe against parallel page table manipulations without
         relying on an IPI for serialisation.
      
       - A series of fixes & enhancements to make our machine check handling
         more robust.
      
       - Lots of plumbing to add support for "prefixed" (64-bit) instructions
         on Power10.
      
       - Support for using huge pages for the linear mapping on 8xx (32-bit).
      
       - Remove obsolete Xilinx PPC405/PPC440 support, and an associated sound
         driver.
      
       - Removal of some obsolete 40x platforms and associated cruft.
      
       - Initial support for booting on Power10.
      
       - Lots of other small features, cleanups & fixes.
      
      Thanks to: Alexey Kardashevskiy, Alistair Popple, Andrew Donnellan,
      Andrey Abramov, Aneesh Kumar K.V, Balamuruhan S, Bharata B Rao, Bulent
      Abali, Cédric Le Goater, Chen Zhou, Christian Zigotzky, Christophe
      JAILLET, Christophe Leroy, Dmitry Torokhov, Emmanuel Nicolet, Erhard F.,
      Gautham R. Shenoy, Geoff Levand, George Spelvin, Greg Kurz, Gustavo A.
      R. Silva, Gustavo Walbon, Haren Myneni, Hari Bathini, Joel Stanley,
      Jordan Niethe, Kajol Jain, Kees Cook, Leonardo Bras, Madhavan
      Srinivasan., Mahesh Salgaonkar, Markus Elfring, Michael Neuling, Michal
      Simek, Nathan Chancellor, Nathan Lynch, Naveen N. Rao, Nicholas Piggin,
      Oliver O'Halloran, Paul Mackerras, Pingfan Liu, Qian Cai, Ram Pai,
      Raphael Moreira Zinsly, Ravi Bangoria, Sam Bobroff, Sandipan Das, Segher
      Boessenkool, Stephen Rothwell, Sukadev Bhattiprolu, Tyrel Datwyler,
      Wolfram Sang, Xiongfeng Wang.
      
      * tag 'powerpc-5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (299 commits)
        powerpc/pseries: Make vio and ibmebus initcalls pseries specific
        cxl: Remove dead Kconfig options
        powerpc: Add POWER10 architected mode
        powerpc/dt_cpu_ftrs: Add MMA feature
        powerpc/dt_cpu_ftrs: Enable Prefixed Instructions
        powerpc/dt_cpu_ftrs: Advertise support for ISA v3.1 if selected
        powerpc: Add support for ISA v3.1
        powerpc: Add new HWCAP bits
        powerpc/64s: Don't set FSCR bits in INIT_THREAD
        powerpc/64s: Save FSCR to init_task.thread.fscr after feature init
        powerpc/64s: Don't let DT CPU features set FSCR_DSCR
        powerpc/64s: Don't init FSCR_DSCR in __init_FSCR()
        powerpc/32s: Fix another build failure with CONFIG_PPC_KUAP_DEBUG
        powerpc/module_64: Use special stub for _mcount() with -mprofile-kernel
        powerpc/module_64: Simplify check for -mprofile-kernel ftrace relocations
        powerpc/module_64: Consolidate ftrace code
        powerpc/32: Disable KASAN with pages bigger than 16k
        powerpc/uaccess: Don't set KUEP by default on book3s/32
        powerpc/uaccess: Don't set KUAP by default on book3s/32
        powerpc/8xx: Reduce time spent in allow_user_access() and friends
        ...
      7ae77150
    • Linus Torvalds's avatar
      Merge tag 'modules-for-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · 084623e4
      Linus Torvalds authored
      Pull module updates from Jessica Yu:
      
       - Harden CONFIG_STRICT_MODULE_RWX by rejecting any module that has
         SHF_WRITE|SHF_EXECINSTR sections
      
       - Remove and clean up nested #ifdefs, as it makes code hard to read
      
      * tag 'modules-for-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
        module: Harden STRICT_MODULE_RWX
        module: break nested ARCH_HAS_STRICT_MODULE_RWX and STRICT_MODULE_RWX #ifdefs
      084623e4
    • Linus Torvalds's avatar
      Merge tag 'x86-mm-2020-06-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f4dd60a3
      Linus Torvalds authored
      Pull x86 mm updates from Ingo Molnar:
       "Misc changes:
      
         - Unexport various PAT primitives
      
         - Unexport per-CPU tlbstate and uninline TLB helpers"
      
      * tag 'x86-mm-2020-06-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        x86/tlb/uv: Add a forward declaration for struct flush_tlb_info
        x86/cpu: Export native_write_cr4() only when CONFIG_LKTDM=m
        x86/tlb: Restrict access to tlbstate
        xen/privcmd: Remove unneeded asm/tlb.h include
        x86/tlb: Move PCID helpers where they are used
        x86/tlb: Uninline nmi_uaccess_okay()
        x86/tlb: Move cr4_set_bits_and_update_boot() to the usage site
        x86/tlb: Move paravirt_tlb_remove_table() to the usage site
        x86/tlb: Move __flush_tlb_all() out of line
        x86/tlb: Move flush_tlb_others() out of line
        x86/tlb: Move __flush_tlb_one_kernel() out of line
        x86/tlb: Move __flush_tlb_one_user() out of line
        x86/tlb: Move __flush_tlb_global() out of line
        x86/tlb: Move __flush_tlb() out of line
        x86/alternatives: Move temporary_mm helpers into C
        x86/cr4: Sanitize CR4.PCE update
        x86/cpu: Uninline CR4 accessors
        x86/tlb: Uninline __get_current_cr3_fast()
        x86/mm: Use pgprotval_t in protval_4k_2_large() and protval_large_2_4k()
        x86/mm: Unexport __cachemode2pte_tbl
        ...
      f4dd60a3
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.8-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 435faf5c
      Linus Torvalds authored
      Pull RISC-V updates from Palmer Dabbelt:
      
       - The remainder of the code necessary to support the Kendryte K210:
      
           * Support for building device trees into the kernel, as the K210
             doesn't have a bootloader that provides one
      
           * A K210 device tree and the associated defconfig update
      
           * Support for skipping PMP initialization on systems that trap on
             PMP accesses rather than treating them as WARL
      
       - Support for KGDB
      
       - Improvements to text patching
      
       - Some cleanups to the SiFive L2 cache driver
      
      * tag 'riscv-for-linus-5.8-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        soc: sifive: l2 cache: Mark l2_get_priv_group as static
        soc: sifive: l2 cache: Eliminate an unsigned zero compare warning
        riscv: Add support to determine no. of L2 cache way enabled
        riscv: cacheinfo: Implement cache_get_priv_group with a generic ops structure
        riscv: Use text_mutex instead of patch_lock
        riscv: Use NOKPROBE_SYMBOL() instead of __krpobes annotation
        riscv: Remove the 'riscv_' prefix of function name
        riscv: Add SW single-step support for KDB
        riscv: Use the XML target descriptions to report 3 system registers
        riscv: Add KGDB support
        kgdb: Add kgdb_has_hit_break function
        RISC-V: Skip setting up PMPs on traps
        riscv: K210: Update defconfig
        riscv: K210: Add a built-in device tree
        riscv: Allow device trees to be built into the kernel
      435faf5c
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 571d54ed
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
      
       - Convert various DT (non-binding) doc files to ReST
      
       - Various improvements to device link code
      
       - Fix __of_attach_node_sysfs refcounting bug
      
       - Add support for 'memory-region-names' with reserved-memory binding
      
       - Vendor prefixes for Protonic Holland, BeagleBoard.org, Alps, Check
         Point, Würth Elektronik, U-Boot, Vaisala, Baikal Electronics,
         Shanghai Awinic Technology Co., MikroTik, Silex Insight
      
       - A bunch more binding conversions to DT schema. Only 3K to go.
      
       - Add a minimum version check for schema tools
      
       - Treewide dropping of 'allOf' usage with schema references. Not needed
         in new json-schema spec.
      
       - Some formatting clean-ups of schemas
      
      * tag 'devicetree-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (194 commits)
        dt-bindings: clock: Add documentation for X1830 bindings.
        dt-bindings: mailbox: Convert imx mu to json-schema
        dt-bindings: power: Convert imx gpcv2 to json-schema
        dt-bindings: power: Convert imx gpc to json-schema
        dt-bindings: Merge gpio-usb-b-connector with usb-connector
        dt-bindings: timer: renesas: cmt: Convert to json-schema
        dt-bindings: clock: Convert i.MX8QXP LPCG to json-schema
        dt-bindings: timer: Convert i.MX GPT to json-schema
        dt-bindings: thermal: rcar-thermal: Add device tree support for r8a7742
        dt-bindings: serial: Add binding for UART pin swap
        dt-bindings: geni-se: Add interconnect binding for GENI QUP
        dt-bindings: geni-se: Convert QUP geni-se bindings to YAML
        dt-bindings: vendor-prefixes: Add Silex Insight vendor prefix
        dt-bindings: input: touchscreen: edt-ft5x06: change reg property
        dt-bindings: usb: qcom,dwc3: Introduce interconnect properties for Qualcomm DWC3 driver
        dt-bindings: timer: renesas: mtu2: Convert to json-schema
        of/fdt: Remove redundant kbasename function call
        dt-bindings: clock: Convert i.MX1 clock to json-schema
        dt-bindings: clock: Convert i.MX21 clock to json-schema
        dt-bindings: clock: Convert i.MX25 clock to json-schema
        ...
      571d54ed
    • Linus Torvalds's avatar
      Merge tag 'arm-dt-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 9d71d3cd
      Linus Torvalds authored
      Pull ARM devicetree updates from Arnd Bergmann:
       "This is the set of device tree changes, mostly covering new hardware
        support, with 577 patches touching a little over 500 files.
      
        There are five new Arm SoCs supported in this release, all of them for
        existing SoC families:
      
         - Realtek RTD1195, RTD1395 and RTD1619 -- three SoCs used in both NAS
           devices and Android Set-top-box designs, along with the
           "Horseradish", "Lion Skin" and "Mjolnir" reference platforms; the
           Mele X1000 and Xnano X5 set-top-boxes and the Banana Pi BPi-M4
           single-board computer.
      
         - Renesas RZ/G1H (r8a7742) -- a high-end 32-bit industrial SoC and
           the iW-RainboW-G21D-Qseven-RZG1H board/SoM
      
         - Rockchips RK3326 -- low-end 64-bit SoC along with the Odroid-GO
           Advance game console
      
        Newly added machines on already supported SoCs are:
      
         - AMLogic S905D based Smartlabs SML-5442TW TV box
      
         - AMLogic S905X3 based ODROID-C4 SBC
      
         - AMLogic S922XH based Beelink GT-King Pro TV box
      
         - Allwinner A20 based Olimex A20-OLinuXino-LIME-eMMC SBC
      
         - Aspeed ast2500 based BMCs in Facebook x86 "Yosemite V2" and YADRO
           OpenPower P9 "Nicole"
      
         - Marvell Kirkwood based Check Point L-50 router
      
         - Mediatek MT8173 based Elm/Hana Chromebook laptops
      
         - Microchip SAMA5D2 "Industrial Connectivity Platform" reference
           board
      
         - NXP i.MX8m based Beacon i.MX8m-Mini SoM development kit
      
         - Octavo OSDMP15x based Linux Automation MC-1 development board
      
         - Qualcomm SDM630 based Xiaomi Redmi Note 7 phone
      
         - Realtek RTD1295 based Xnano X5 TV Box
      
         - STMicroelectronics STM32MP1 based Stinger96 single-board computer
           and IoT Box
      
         - Samsung Exynos4210 based based Samsung Galaxy S2 phone
      
         - Socionext Uniphier based Akebi96 SBC
      
         - TI Keystone based K2G Evaluation board
      
         - TI am5729 based Beaglebone-AI development board
      
        Include device descriptions for additional hardware support in
        existing SoCs and machines based on all major SoC platforms:
      
         - AMlogic Meson
      
         - Allwinner sunxi
      
         - Arm Juno/VFP/Vexpress/Integrator
      
         - Broadcom bcm283x/bcm2711
      
         - Hisilicon hi6220
      
         - Marvell EBU
      
         - Mediatek MT27xx, MT76xx, MT81xx and MT67xx
      
         - Microchip SAMA5D2
      
         - NXP i.MX6/i.MX7/i.MX8 and Layerscape
      
         - Nvidia Tegra
      
         - Qualcomm Snapdragon
      
         - Renesas r8a77961, r8a7791
      
         - Rockchips RK32xx/RK33xx
      
         - ST-Ericsson ux500
      
         - STMicroelectronics SMT32
      
         - Samsung Exynos and S5PV210
      
         - Socionext Uniphier
      
         - TI OMAP5/DRA7 and Keystone"
      
      * tag 'arm-dt-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (564 commits)
        ARM: dts: keystone: Rename "msmram" node to "sram"
        arm: dts: mt2712: add uart APDMA to device tree
        arm64: dts: mt8183: add mmc node
        arm64: dts: mt2712: add ethernet device node
        arm64: tegra: Make the RTC a wakeup source on Jetson Nano and TX1
        ARM: dts: mmp3: Add the fifth SD HCI
        ARM: dts: berlin*: Fix up the SDHCI node names
        ARM: dts: mmp3: Fix USB & USB PHY node names
        ARM: dts: mmp3: Fix L2 cache controller node name
        ARM: dts: mmp*: Fix up encoding of the /rtc interrupts property
        ARM: dts: pxa*: Fix up encoding of the /rtc interrupts property
        ARM: dts: pxa910: Fix the gpio interrupt cell number
        ARM: dts: pxa3xx: Fix up encoding of the /gpio interrupts property
        ARM: dts: pxa168: Fix the gpio interrupt cell number
        ARM: dts: pxa168: Add missing address/size cells to i2c nodes
        ARM: dts: dove: Fix interrupt controller node name
        ARM: dts: kirkwood: Fix interrupt controller node name
        arm64: dts: Add SC9863A emmc and sd card nodes
        arm64: dts: Add SC9863A clock nodes
        arm64: dts: mt6358: add PMIC MT6358 related nodes
        ...
      9d71d3cd
    • Linus Torvalds's avatar
      Merge tag 'arm-drivers-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 828f3e18
      Linus Torvalds authored
      Pull ARM/SoC driver updates from Arnd Bergmann:
       "These are updates to SoC specific drivers that did not have another
        subsystem maintainer tree to go through for some reason:
      
         - Some bus and memory drivers for the MIPS P5600 based Baikal-T1 SoC
           that is getting added through the MIPS tree.
      
         - There are new soc_device identification drivers for TI K3, Qualcomm
           MSM8939
      
         - New reset controller drivers for NXP i.MX8MP, Renesas RZ/G1H, and
           Hisilicon hi6220
      
         - The SCMI firmware interface can now work across ARM SMC/HVC as a
           transport.
      
         - Mediatek platforms now use a new driver for their "MMSYS" hardware
           block that controls clocks and some other aspects in behalf of the
           media and gpu drivers.
      
         - Some Tegra processors have improved power management support,
           including getting woken up by the PMIC and cluster power down
           during idle.
      
         - A new v4l staging driver for Tegra is added.
      
         - Cleanups and minor bugfixes for TI, NXP, Hisilicon, Mediatek, and
           Tegra"
      
      * tag 'arm-drivers-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (155 commits)
        clk: sprd: fix compile-testing
        bus: bt1-axi: Build the driver into the kernel
        bus: bt1-apb: Build the driver into the kernel
        bus: bt1-axi: Use sysfs_streq instead of strncmp
        bus: bt1-axi: Optimize the return points in the driver
        bus: bt1-apb: Use sysfs_streq instead of strncmp
        bus: bt1-apb: Use PTR_ERR_OR_ZERO to return from request-regs method
        bus: bt1-apb: Fix show/store callback identations
        bus: bt1-apb: Include linux/io.h
        dt-bindings: memory: Add Baikal-T1 L2-cache Control Block binding
        memory: Add Baikal-T1 L2-cache Control Block driver
        bus: Add Baikal-T1 APB-bus driver
        bus: Add Baikal-T1 AXI-bus driver
        dt-bindings: bus: Add Baikal-T1 APB-bus binding
        dt-bindings: bus: Add Baikal-T1 AXI-bus binding
        staging: tegra-video: fix V4L2 dependency
        tee: fix crypto select
        drivers: soc: ti: knav_qmss_queue: Make knav_gp_range_ops static
        soc: ti: add k3 platforms chipid module driver
        dt-bindings: soc: ti: add binding for k3 platforms chipid module
        ...
      828f3e18
    • Linus Torvalds's avatar
      Merge tag 'arm-defconfig-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 298743c1
      Linus Torvalds authored
      Pull ARM defconfig updates from Arnd Bergmann:
       "These are the usual updates to arm/arm64 defconfig files, enabling
        newly added drivers and addressing changes to Kconfig files"
      
      * tag 'arm-defconfig-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (22 commits)
        ARM: imx_v6_v7_defconfig: extend RN5T618 PMIC family support
        arm64: defconfig: enable Qualcomm IPA and RMNet modules
        arm64: defconfig: Add LEDS_TRIGGER_TIMER
        arm64: defconfig: Enable UACCE/PCI PASID/SEC2/HPRE configs
        arm64: defconfig: Enable Qualcomm SC7180 pinctrl and gcc
        arm64: defconfig: Remove QCOM_GLINK_SSR
        ARM: multi_v7_defconfig: Enable r8a7742 SoC
        ARM: shmobile: defconfig: Enable r8a7742 SoC
        arm64: defconfig: enable meson gx audio as module
        arm64: defconfig: Enable SM8250 GCC driver
        ARM: defconfig: u8500: Enable new drivers for ux500
        arm64: defconfig: Enable CONFIG_PINCTRL_IMX8DXL by default
        arm64: configs: Enable sun50i cpufreq nvmem
        ARM: shmobile: defconfig: Refresh for v5.7-rc1
        ARM: defconfig: u8500: Enable new drivers for samsung-golden
        ARM: configs: sunxi: Add sun8i analog codec
        arm64: defconfig: Enable Qualcomm CAMCC, CAMSS and CCI drivers
        ARM: configs: at91: sama5: enable MCP16502 regulator
        ARM: configs: at91: sama5: enable SAMA5D2_PIOBU
        ARM: exynos_defconfig: Compile MAC80211/CFG80211 as modules
        ...
      298743c1
    • Linus Torvalds's avatar
      Merge tag 'arm-soc-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 694b5a5d
      Linus Torvalds authored
      Pull ARM SoC updates from Arnd Bergmann:
       "One new platform gets added, the Realtek RTD1195, which is an older
        Cortex-a7 based relative of the RTD12xx chips that are already
        supported in arch/arm64. The platform may also be extended to support
        running 32-bit kernels on those 64-bit chips for memory-constrained
        machines.
      
        In the Renesas shmobile platform, we gain support for "RZ/G1H" or
        R8A7742, an eight-core chip based on Cortex-A15 and Cortex-A7 cores,
        originally released in 2016 as one of the last high-end 32-bit
        designs.
      
        There is ongoing cleanup for the integrator, tegra, imx, and omap2
        platforms, with integrator getting very close to the goal of having
        zero code in arch/arm/, and omap2 moving more of the chip specifics
        from old board code into device tree files.
      
        The Versatile Express platform is made more modular, with built-in
        drivers now becoming loadable modules. This is part of a greater
        effort for the Android OS to have a common kernel binary for all
        platforms and any platform specific code in loadable modules.
      
        The PXA platform drops support for Compulab's pxa2xx boards that had
        rather unusual flash and PCI drivers but no known users remaining. All
        device drivers specific to those boards can now get removed as well.
      
        Across platforms, there is ongoing cleanup, with Geert and Rob
        revisiting some a lot of Kconfig options"
      
      * tag 'arm-soc-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (94 commits)
        ARM: omap2: fix omap5_realtime_timer_init definition
        ARM: zynq: Don't select CONFIG_ICST
        ARM: OMAP2+: Fix regression for using local timer on non-SMP SoCs
        clk: versatile: Fix kconfig dependency on COMMON_CLK_VERSATILE
        ARM: davinci: fix build failure without I2C
        power: reset: vexpress: fix build issue
        power: vexpress: cleanup: use builtin_platform_driver
        power: vexpress: add suppress_bind_attrs to true
        Revert "ARM: vexpress: Don't select VEXPRESS_CONFIG"
        MAINTAINERS: pxa: remove Compulab arm/pxa support
        ARM: pxa: remove Compulab pxa2xx boards
        bus: arm-integrator-lm: Fix return value check in integrator_ap_lm_probe()
        soc: imx: move cpu code to drivers/soc/imx
        ARM: imx: move cpu definitions into a header
        ARM: imx: use device_initcall for imx_soc_device_init
        ARM: imx: pcm037: make pcm970_sja1000_platform_data static
        bus: ti-sysc: Timers no longer need legacy quirk handling
        ARM: OMAP2+: Drop old timer code for dmtimer and 32k counter
        ARM: dts: Configure system timers for omap2
        ARM: dts: Configure system timers for ti81xx
        ...
      694b5a5d
    • Nick Desaulniers's avatar
      Kconfig: add config option for asm goto w/ outputs · 587f1701
      Nick Desaulniers authored
      This allows C code to make use of compilers with support for output
      variables along the fallthrough path via preprocessor define:
      
        CONFIG_CC_HAS_ASM_GOTO_OUTPUT
      
      [ This is not used anywhere yet, and currently released compilers don't
        support this yet, but it's coming, and I have some local experimental
        patches to take advantage of it when it does   - Linus ]
      Signed-off-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      587f1701
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 886d7de6
      Linus Torvalds authored
      Merge yet more updates from Andrew Morton:
      
       - More MM work. 100ish more to go. Mike Rapoport's "mm: remove
         __ARCH_HAS_5LEVEL_HACK" series should fix the current ppc issue
      
       - Various other little subsystems
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (127 commits)
        lib/ubsan.c: fix gcc-10 warnings
        tools/testing/selftests/vm: remove duplicate headers
        selftests: vm: pkeys: fix multilib builds for x86
        selftests: vm: pkeys: use the correct page size on powerpc
        selftests/vm/pkeys: override access right definitions on powerpc
        selftests/vm/pkeys: test correct behaviour of pkey-0
        selftests/vm/pkeys: introduce a sub-page allocator
        selftests/vm/pkeys: detect write violation on a mapped access-denied-key page
        selftests/vm/pkeys: associate key on a mapped page and detect write violation
        selftests/vm/pkeys: associate key on a mapped page and detect access violation
        selftests/vm/pkeys: improve checks to determine pkey support
        selftests/vm/pkeys: fix assertion in test_pkey_alloc_exhaust()
        selftests/vm/pkeys: fix number of reserved powerpc pkeys
        selftests/vm/pkeys: introduce powerpc support
        selftests/vm/pkeys: introduce generic pkey abstractions
        selftests: vm: pkeys: use the correct huge page size
        selftests/vm/pkeys: fix alloc_random_pkey() to make it really random
        selftests/vm/pkeys: fix assertion in pkey_disable_set/clear()
        selftests/vm/pkeys: fix pkey_disable_clear()
        selftests: vm: pkeys: add helpers for pkey bits
        ...
      886d7de6
    • Arnd Bergmann's avatar
      lib/ubsan.c: fix gcc-10 warnings · 469cbd01
      Arnd Bergmann authored
      The latest compiler expects slightly different function prototypes
      for the ubsan helpers:
      
        lib/ubsan.c:192:6: error: conflicting types for built-in function '__ubsan_handle_add_overflow'; expected 'void(void *, void *, void *)' [-Werror=builtin-declaration-mismatch]
          192 | void __ubsan_handle_add_overflow(struct overflow_data *data,
              |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
        lib/ubsan.c:200:6: error: conflicting types for built-in function '__ubsan_handle_sub_overflow'; expected 'void(void *, void *, void *)' [-Werror=builtin-declaration-mismatch]
          200 | void __ubsan_handle_sub_overflow(struct overflow_data *data,
              |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
        lib/ubsan.c:207:6: error: conflicting types for built-in function '__ubsan_handle_mul_overflow'; expected 'void(void *, void *, void *)' [-Werror=builtin-declaration-mismatch]
          207 | void __ubsan_handle_mul_overflow(struct overflow_data *data,
              |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
        lib/ubsan.c:214:6: error: conflicting types for built-in function '__ubsan_handle_negate_overflow'; expected 'void(void *, void *)' [-Werror=builtin-declaration-mismatch]
          214 | void __ubsan_handle_negate_overflow(struct overflow_data *data,
              |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        lib/ubsan.c:234:6: error: conflicting types for built-in function '__ubsan_handle_divrem_overflow'; expected 'void(void *, void *, void *)' [-Werror=builtin-declaration-mismatch]
          234 | void __ubsan_handle_divrem_overflow(struct overflow_data *data,
              |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      Change the Linux implementation to match these, using a local typed
      pointer.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Julien Grall <julien.grall@arm.com>
      Link: http://lkml.kernel.org/r/20200429185948.4189600-1-arnd@arndb.deSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      469cbd01
    • Jagadeesh Pagadala's avatar
      tools/testing/selftests/vm: remove duplicate headers · 2792d488
      Jagadeesh Pagadala authored
      Code cleanup: Remove duplicate headers which are included twice.
      Signed-off-by: default avatarJagadeesh Pagadala <jagdsh.linux@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Shuah Khan <shuah@kernel.org>
      Cc: Brian Geffon <bgeffon@google.com>
      Link: http://lkml.kernel.org/r/1587278984-18847-1-git-send-email-jagdsh.linux@gmail.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2792d488
    • Sandipan Das's avatar
      selftests: vm: pkeys: fix multilib builds for x86 · f21fda8f
      Sandipan Das authored
      This ensures that both 32-bit and 64-bit binaries are generated when this
      is built on a x86_64 system.  Most of the changes have been borrowed from
      tools/testing/selftests/x86/Makefile.
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Tested-by: default avatarDave Hansen <dave.hansen@intel.com>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Ram Pai <linuxram@us.ibm.com>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/0326a442214d7a1b970d38296e63df3b217f5912.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f21fda8f
    • Sandipan Das's avatar
      selftests: vm: pkeys: use the correct page size on powerpc · 473c3cc8
      Sandipan Das authored
      Both 4K and 64K pages are supported on powerpc.  Parts of the selftest
      code perform alignment computations based on the PAGE_SIZE macro which is
      currently hardcoded to 64K for powerpc.  This causes some test failures on
      kernels configured with 4K page size.
      
      In some cases, we need to enforce function alignment on page size.  Since
      this can only be done at build time, 64K is used as the alignment factor
      as that also ensures 4K alignment.
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Ram Pai <linuxram@us.ibm.com>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/5dcdfbf3353acdc90f315172e800b49f5ca21299.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      473c3cc8
    • Ram Pai's avatar
      selftests/vm/pkeys: override access right definitions on powerpc · e9506394
      Ram Pai authored
      Some platforms hardcode the x86 values for PKEY_DISABLE_ACCESS
      and PKEY_DISABLE_WRITE such as those in:
       /usr/include/bits/mman-shared.h.
      
      This overrides the definitions with correct values for powerpc.
      
      [sandipan@linux.ibm.com: fix powerpc access right definitions]
        Link: http://lkml.kernel.org/r/1ba86fd8a94f38131cfe2d9f277001dd1ad1d34e.1588959697.git.sandipan@linux.ibm.comSigned-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/f6eb38cb3a1e12eb2cdc9da6300bc5a5dfba0db9.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e9506394
    • Ram Pai's avatar
      selftests/vm/pkeys: test correct behaviour of pkey-0 · fa17437c
      Ram Pai authored
      Ensure that pkey-0 is allocated on start and that it can be attached
      dynamically in various modes, without failures.
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/9b7c54a9b4261894fe0c7e884c70b87214ff8fbb.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fa17437c
    • Ram Pai's avatar
      selftests/vm/pkeys: introduce a sub-page allocator · 6e2c2d0f
      Ram Pai authored
      This introduces a new allocator that allocates 4K hardware pages to back
      64K linux pages.  This allocator is available only on powerpc.
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarThiago Jung Bauermann <bauerman@linux.ibm.com>
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/c4a82fa962ec71015b994fab1aaf83bdfd091553.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6e2c2d0f
    • Ram Pai's avatar
      selftests/vm/pkeys: detect write violation on a mapped access-denied-key page · 4e06e718
      Ram Pai authored
      Detect write-violation on a page to which access-disabled key is
      associated much after the page is mapped.
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/6a7dd4069ee18a2a51b207a55aa197f3f3c59753.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4e06e718
    • Ram Pai's avatar
      selftests/vm/pkeys: associate key on a mapped page and detect write violation · 39351c13
      Ram Pai authored
      Detect write-violation on a page to which write-disabled key is associated
      much after the page is mapped.
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/6bfe3b3832f8bcfb07d7f2cf116b45197f4587dd.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      39351c13
    • Ram Pai's avatar
      selftests/vm/pkeys: associate key on a mapped page and detect access violation · aef759db
      Ram Pai authored
      Detect access-violation on a page to which access-disabled key is
      associated much after the page is mapped.
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off: Sandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/4a19cf9252c03dd883887e9002881599e6900d06.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      aef759db
    • Ram Pai's avatar
      selftests/vm/pkeys: improve checks to determine pkey support · 94c8a223
      Ram Pai authored
      For the pkeys subsystem to work, both the CPU and the kernel need to have
      support.  So, additionally check if the kernel supports pkeys apart from
      the CPU feature checks.
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/8fb76c63ebdadcf068ecd2d23731032e195cd364.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      94c8a223
    • Ram Pai's avatar
      selftests/vm/pkeys: fix assertion in test_pkey_alloc_exhaust() · b0acc5d6
      Ram Pai authored
      Some pkeys which are valid on the hardware are reserved and not available
      for application use.  These keys cannot be allocated.
      
      test_pkey_alloc_exhaust() tries to account for these and has an assertion
      which validates if all available pkeys have been exahaustively allocated.
      However, the expression that is currently used is only valid for x86.  On
      powerpc, a pkey is additionally reserved as compared to x86.  Hence, the
      assertion is made to use an arch-specific helper to get the correct count
      of reserved pkeys.
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/38b08d0318820ae46af3aa6048384fd8056c3df7.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b0acc5d6
    • Desnes A. Nunes do Rosario's avatar
      selftests/vm/pkeys: fix number of reserved powerpc pkeys · c63e5e7f
      Desnes A. Nunes do Rosario authored
      The number of reserved pkeys in a PowerNV environment is different from
      that on PowerVM or KVM.
      
      Tested on PowerVM and PowerNV environments.
      Signed-off-by: default avatar"Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/0341a0ca961166814b44c9e724774672c18d54ca.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c63e5e7f
    • Ram Pai's avatar
      selftests/vm/pkeys: introduce powerpc support · 589944b5
      Ram Pai authored
      This makes use of the abstractions added earlier and introduces support
      for powerpc.
      
      For powerpc, after receiving the SIGSEGV, the signal handler must
      explicitly restore access permissions for the faulting pkey to allow the
      test to continue.  As this makes use of pkey_access_allow(), all of its
      dependencies and other similar functions have been moved ahead of the
      signal handler.
      
      [sandipan@linux.ibm.com: fix powerpc access right updates]
        Link: http://lkml.kernel.org/r/5f65cf37be993760de8112a88da194e3ccbb2bf8.1588959697.git.sandipan@linux.ibm.comSigned-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/b121e9fd33789ed9195276e32fe4e80bb6b88a31.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      589944b5
    • Ram Pai's avatar
      selftests/vm/pkeys: introduce generic pkey abstractions · 604c496b
      Ram Pai authored
      This introduces some generic abstractions and provides the corresponding
      architecture-specfic implementations for these abstractions.
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarThiago Jung Bauermann <bauerman@linux.ibm.com>
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/1c977915e69fb7767fb0dbd55ac7656554b15b93.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      604c496b
    • Sandipan Das's avatar
      selftests: vm: pkeys: use the correct huge page size · 57bcb57d
      Sandipan Das authored
      The huge page size can vary across architectures.  This will ensure that
      the correct huge page size is used when accessing the hugetlb controls
      under sysfs.  Instead of using a hardcoded page size (i.e.  2MB), this now
      uses the HPAGE_SIZE macro which is arch-specific.
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Ram Pai <linuxram@us.ibm.com>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/66882a5d6e45c73c3a52bc4aef9754e48afa4f88.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      57bcb57d
    • Ram Pai's avatar
      selftests/vm/pkeys: fix alloc_random_pkey() to make it really random · 6e373263
      Ram Pai authored
      alloc_random_pkey() was allocating the same pkey every time.  Not all
      pkeys were geting tested.  This fixes it.
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/0162f55816d4e783a0d6e49e554d0ab9a3c9a23b.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6e373263
    • Ram Pai's avatar
      selftests/vm/pkeys: fix assertion in pkey_disable_set/clear() · ea5f95c3
      Ram Pai authored
      In some cases, a pkey's bits need not necessarily change in a way that the
      value of the pkey register increases when performing a pkey_disable_set()
      or decreases when performing a pkey_disable_clear().
      
      For example, on powerpc, if a pkey's current state is PKEY_DISABLE_ACCESS
      and we perform a pkey_write_disable() on it, the bits still remain the
      same.  We will observe something similar when the pkey's current state is
      0 and a pkey_access_enable() is performed on it.
      
      Either case would cause some assertions to fail.  This fixes the problem.
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/8240665131e43fc93eed4eea8194676c1ea39a7f.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ea5f95c3
    • Ram Pai's avatar
      selftests/vm/pkeys: fix pkey_disable_clear() · 11551801
      Ram Pai authored
      Currently, pkey_disable_clear() sets the specified bits instead clearing
      them.  This has been dead code up to now because its only callers i.e.
      pkey_access/write_allow() are also unused.
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/1f70bca60330a85dca42c3cd98212bb1cdf5a076.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      11551801
    • Sandipan Das's avatar
      selftests: vm: pkeys: add helpers for pkey bits · 0c416bca
      Sandipan Das authored
      This introduces some functions that help with setting or clearing bits of
      a particular pkey.  This also adds an abstraction for getting a pkey's bit
      position in the pkey register as this may vary across architectures.
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Ram Pai <linuxram@us.ibm.com>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/2ad9705f4f68ca7e72155cc583415e5a979546f1.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0c416bca
    • Sandipan Das's avatar
      selftests: vm: pkeys: Use sane types for pkey register · 4dbdd947
      Sandipan Das authored
      The size of the pkey register can vary across architectures.  This
      converts the data type of all its references to u64 in preparation for
      multi-arch support.
      
      To keep the definition of the u64 type consistent and remove format
      specifier related warnings, __SANE_USERSPACE_TYPES__ is defined as
      suggested by Michael Ellerman.
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Ram Pai <linuxram@us.ibm.com>
      Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/d3e271798455d940e395e56e1ff1e82a31bcb7aa.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4dbdd947
    • Thiago Jung Bauermann's avatar
      selftests/vm/pkeys: make gcc check arguments of sigsafe_printf() · a09160e6
      Thiago Jung Bauermann authored
      This will help us ensure we print pkey_reg_t values correctly in different
      architectures.
      Signed-off-by: default avatarThiago Jung Bauermann <bauerman@linux.ibm.com>
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Ram Pai <linuxram@us.ibm.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/b40b7a95fdd4045d62530a2a34452934caf3b0bc.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a09160e6
    • Thiago Jung Bauermann's avatar
      selftests/vm/pkeys: move some definitions to arch-specific header · 53555e2b
      Thiago Jung Bauermann authored
      In preparation for multi-arch support, move definitions which
      have arch-specific values to x86-specific header.
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarThiago Jung Bauermann <bauerman@linux.ibm.com>
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/d58eba2930059c8b209eefd6d5b48fe922a5b010.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      53555e2b
    • Ram Pai's avatar
      selftests/vm/pkeys: move generic definitions to header file · 5461c662
      Ram Pai authored
      Moved all the generic definition and helper functions to the
      header file.
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarThiago Jung Bauermann <bauerman@linux.ibm.com>
      Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
      Cc: Florian Weimer <fweimer@redhat.com>
      Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Suchanek <msuchanek@suse.de>
      Cc: Shuah Khan <shuah@kernel.org>
      Link: http://lkml.kernel.org/r/57177f99e92a51295956715d5f2d5688a4d13927.1585646528.git.sandipan@linux.ibm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5461c662