1. 09 Apr, 2020 3 commits
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-5.7-rc1' of git://www.linux-watchdog.org/linux-watchdog · 5602b0af
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - add TI K3 RTI watchdog
      
       - add stop_on_reboot parameter to control reboot policy
      
       - wm831x_wdt: Remove GPIO handling
      
       - several small fixes, improvements and clean-ups
      
      * tag 'linux-watchdog-5.7-rc1' of git://www.linux-watchdog.org/linux-watchdog:
        watchdog: Add K3 RTI watchdog support
        dt-bindings: watchdog: Add support for TI K3 RTI watchdog
        watchdog: ziirave_wdt: change name to be more specific
        watchdog: orion: use 0 for unset heartbeat
        watchdog: npcm: remove whitespaces
        watchdog: reset last_hw_keepalive time at start
        watchdog: imx2_wdt: Drop .remove callback
        watchdog: Add stop_on_reboot parameter to control reboot policy
        watchdog: wm831x_wdt: Remove GPIO handling
        watchdog: imx7ulp: Remove unused include of init.h
        watchdog: imx_sc_wdt: Remove unused includes
        watchdog: qcom: Use irq flags from firmware
        watchdog: pm8916_wdt: Add system sleep callbacks
        watchdog: qcom-wdt: disable pretimeout on timer platform
      5602b0af
    • Linus Torvalds's avatar
      Merge tag 'tag-chrome-platform-for-v5.7' of... · 413a103c
      Linus Torvalds authored
      Merge tag 'tag-chrome-platform-for-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
      
      Pull chrome platform updates from Benson Leung:
      
        cros-usbpd-notify and cros_ec_typec:
         - Add a new notification driver that handles and dispatches USB PD
           related events to other drivers.
         - Add a Type C connector class driver for cros_ec
      
        CrOS EC:
         - Introduce a new cros_ec_cmd_xfer_status helper
      
        Sensors/iio:
         - A series from Gwendal that adds Cros EC sensor hub FIFO support
      
        Wilco EC:
         - Fix a build warning.
         - Platform data shouldn't include kernel.h
      
        Misc:
         - i2c api conversion complete, with i2c_new_client_device instead of
           i2c_new_device in chromeos_laptop.
         - Replace zero-length array with flexible-array member in
           cros_ec_chardev and wilco_ec
         - Update new structure for SPI transfer delays in cros_ec_spi
      
      * tag 'tag-chrome-platform-for-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux: (34 commits)
        platform/chrome: cros_ec_spi: Wait for USECS, not NSECS
        iio: cros_ec: Use Hertz as unit for sampling frequency
        iio: cros_ec: Report hwfifo_watermark_max
        iio: cros_ec: Expose hwfifo_timeout
        iio: cros_ec: Remove pm function
        iio: cros_ec: Register to cros_ec_sensorhub when EC supports FIFO
        iio: expose iio_device_set_clock
        iio: cros_ec: Move function description to .c file
        platform/chrome: cros_ec_sensorhub: Add median filter
        platform/chrome: cros_ec_sensorhub: Add code to spread timestmap
        platform/chrome: cros_ec_sensorhub: Add FIFO support
        platform/chrome: cros_ec_sensorhub: Add the number of sensors in sensorhub
        platform/chrome: chromeos_laptop: make I2C API conversion complete
        platform/chrome: wilco_ec: event: Replace zero-length array with flexible-array member
        platform/chrome: cros_ec_chardev: Replace zero-length array with flexible-array member
        platform/chrome: cros_ec_typec: Update port info from EC
        platform/chrome: Add Type C connector class driver
        platform/chrome: cros_usbpd_notify: Pull PD_HOST_EVENT status
        platform/chrome: cros_usbpd_notify: Amend ACPI driver to plat
        platform/chrome: cros_usbpd_notify: Add driver data struct
        ...
      413a103c
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 9b06860d
      Linus Torvalds authored
      Pull libnvdimm and dax updates from Dan Williams:
       "There were multiple touches outside of drivers/nvdimm/ this round to
        add cross arch compatibility to the devm_memremap_pages() interface,
        enhance numa information for persistent memory ranges, and add a
        zero_page_range() dax operation.
      
        This cycle I switched from the patchwork api to Konstantin's b4 script
        for collecting tags (from x86, PowerPC, filesystem, and device-mapper
        folks), and everything looks to have gone ok there. This has all
        appeared in -next with no reported issues.
      
        Summary:
      
         - Add support for region alignment configuration and enforcement to
           fix compatibility across architectures and PowerPC page size
           configurations.
      
         - Introduce 'zero_page_range' as a dax operation. This facilitates
           filesystem-dax operation without a block-device.
      
         - Introduce phys_to_target_node() to facilitate drivers that want to
           know resulting numa node if a given reserved address range was
           onlined.
      
         - Advertise a persistence-domain for of_pmem and papr_scm. The
           persistence domain indicates where cpu-store cycles need to reach
           in the platform-memory subsystem before the platform will consider
           them power-fail protected.
      
         - Promote numa_map_to_online_node() to a cross-kernel generic
           facility.
      
         - Save x86 numa information to allow for node-id lookups for reserved
           memory ranges, deploy that capability for the e820-pmem driver.
      
         - Pick up some miscellaneous minor fixes, that missed v5.6-final,
           including a some smatch reports in the ioctl path and some unit
           test compilation fixups.
      
         - Fixup some flexible-array declarations"
      
      * tag 'libnvdimm-for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (29 commits)
        dax: Move mandatory ->zero_page_range() check in alloc_dax()
        dax,iomap: Add helper dax_iomap_zero() to zero a range
        dax: Use new dax zero page method for zeroing a page
        dm,dax: Add dax zero_page_range operation
        s390,dcssblk,dax: Add dax zero_page_range operation to dcssblk driver
        dax, pmem: Add a dax operation zero_page_range
        pmem: Add functions for reading/writing page to/from pmem
        libnvdimm: Update persistence domain value for of_pmem and papr_scm device
        tools/test/nvdimm: Fix out of tree build
        libnvdimm/region: Fix build error
        libnvdimm/region: Replace zero-length array with flexible-array member
        libnvdimm/label: Replace zero-length array with flexible-array member
        ACPI: NFIT: Replace zero-length array with flexible-array member
        libnvdimm/region: Introduce an 'align' attribute
        libnvdimm/region: Introduce NDD_LABELING
        libnvdimm/namespace: Enforce memremap_compat_align()
        libnvdimm/pfn: Prevent raw mode fallback if pfn-infoblock valid
        libnvdimm: Out of bounds read in __nd_ioctl()
        acpi/nfit: improve bounds checking for 'func'
        mm/memremap_pages: Introduce memremap_compat_align()
        ...
      9b06860d
  2. 08 Apr, 2020 12 commits
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 0906d8b9
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
      
       - ARM-SMMU support for the TLB range invalidation command in SMMUv3.2
      
       - ARM-SMMU introduction of command batching helpers to batch up CD and
         ATC invalidation
      
       - ARM-SMMU support for PCI PASID, along with necessary PCI symbol
         exports
      
       - Introduce a generic (actually rename an existing) IOMMU related
         pointer in struct device and reduce the IOMMU related pointers
      
       - Some fixes for the OMAP IOMMU driver to make it build on 64bit
         architectures
      
       - Various smaller fixes and improvements
      
      * tag 'iommu-updates-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (39 commits)
        iommu: Move fwspec->iommu_priv to struct dev_iommu
        iommu/virtio: Use accessor functions for iommu private data
        iommu/qcom: Use accessor functions for iommu private data
        iommu/mediatek: Use accessor functions for iommu private data
        iommu/renesas: Use accessor functions for iommu private data
        iommu/arm-smmu: Use accessor functions for iommu private data
        iommu/arm-smmu: Refactor master_cfg/fwspec usage
        iommu/arm-smmu-v3: Use accessor functions for iommu private data
        iommu: Introduce accessors for iommu private data
        iommu/arm-smmu: Fix uninitilized variable warning
        iommu: Move iommu_fwspec to struct dev_iommu
        iommu: Rename struct iommu_param to dev_iommu
        iommu/tegra-gart: Remove direct access of dev->iommu_fwspec
        drm/msm/mdp5: Remove direct access of dev->iommu_fwspec
        ACPI/IORT: Remove direct access of dev->iommu_fwspec
        iommu: Define dev_iommu_fwspec_get() for !CONFIG_IOMMU_API
        iommu/virtio: Reject IOMMU page granule larger than PAGE_SIZE
        iommu/virtio: Fix freeing of incomplete domains
        iommu/virtio: Fix sparse warning
        iommu/vt-d: Add build dependency on IOASID
        ...
      0906d8b9
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 0339eb95
      Linus Torvalds authored
      Pull more kvm updates from Paolo Bonzini:
       "s390:
         - nested virtualization fixes
      
        x86:
         - split svm.c
      
         - miscellaneous fixes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: VMX: fix crash cleanup when KVM wasn't used
        KVM: X86: Filter out the broadcast dest for IPI fastpath
        KVM: s390: vsie: Fix possible race when shadowing region 3 tables
        KVM: s390: vsie: Fix delivery of addressing exceptions
        KVM: s390: vsie: Fix region 1 ASCE sanity shadow address checks
        KVM: nVMX: don't clear mtf_pending when nested events are blocked
        KVM: VMX: Remove unnecessary exception trampoline in vmx_vmenter
        KVM: SVM: Split svm_vcpu_run inline assembly to separate file
        KVM: SVM: Move SEV code to separate file
        KVM: SVM: Move AVIC code to separate file
        KVM: SVM: Move Nested SVM Implementation to nested.c
        kVM SVM: Move SVM related files to own sub-directory
      0339eb95
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 9bb71526
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
      
       - Some bug fixes
      
       - The new vdpa subsystem with two first drivers
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        virtio-balloon: Revert "virtio-balloon: Switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM"
        vdpa: move to drivers/vdpa
        virtio: Intel IFC VF driver for VDPA
        vdpasim: vDPA device simulator
        vhost: introduce vDPA-based backend
        virtio: introduce a vDPA based transport
        vDPA: introduce vDPA bus
        vringh: IOTLB support
        vhost: factor out IOTLB
        vhost: allow per device message handler
        vhost: refine vhost and vringh kconfig
        virtio-balloon: Switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM
        virtio-net: Introduce hash report feature
        virtio-net: Introduce RSS receive steering feature
        virtio-net: Introduce extended RSC feature
        tools/virtio: option to build an out of tree module
      9bb71526
    • Hillf Danton's avatar
      mm/gup: Let __get_user_pages_locked() return -EINTR for fatal signal · ae46d2aa
      Hillf Danton authored
      __get_user_pages_locked() will return 0 instead of -EINTR after commit
      4426e945 ("mm/gup: allow VM_FAULT_RETRY for multiple times") which
      added extra code to allow gup detect fatal signal faster.
      
      Restore the original -EINTR behavior.
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Fixes: 4426e945 ("mm/gup: allow VM_FAULT_RETRY for multiple times")
      Reported-by: syzbot+3be1a33f04dc782e9fd5@syzkaller.appspotmail.com
      Signed-off-by: default avatarHillf Danton <hdanton@sina.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ae46d2aa
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2020-04-08' of git://anongit.freedesktop.org/drm/drm · f5e94d10
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "This is a set of fixes that have queued up, I think I might have
        another pull with some more before rc1 but I'd like to dequeue what I
        have now just in case Easter is more eggciting that expected.
      
        The main thing in here is a fix for a longstanding nouveau power
        management issues on certain laptops, it should help runtime
        suspend/resume for a lot of people.
      
        There is also a reverted patch for some drm_mm behaviour in atomic
        contexts.
      
        Summary:
      
        core:
         - revert drm_mm atomic patch
         - dt binding fixes
      
        fbcon:
         - null ptr error fix
      
        i915:
         - GVT fixes
      
        nouveau:
         - runpm fix
         - svm fixes
      
        amdgpu:
         - HDCP fixes
         - gfx10 fix
         - Misc display fixes
         - BACO fixes
      
        amdkfd:
         - Fix memory leak
      
        vboxvideo:
         - remove conflicting fbs
      
        vc4:
         - mode validation fix
      
        xen:
         - fix PTR_ERR usage"
      
      * tag 'drm-next-2020-04-08' of git://anongit.freedesktop.org/drm/drm: (41 commits)
        drm/nouveau/kms/nv50-: wait for FIFO space on PIO channels
        drm/nouveau/nvif: protect waits against GPU falling off the bus
        drm/nouveau/nvif: access PTIMER through usermode class, if available
        drm/nouveau/gr/gp107,gp108: implement workaround for HW hanging during init
        drm/nouveau: workaround runpm fail by disabling PCI power management on certain intel bridges
        drm/nouveau/svm: remove useless SVM range check
        drm/nouveau/svm: check for SVM initialized before migrating
        drm/nouveau/svm: fix vma range check for migration
        drm/nouveau: remove checks for return value of debugfs functions
        drm/nouveau/ttm: evict other IO mappings when running out of BAR1 space
        drm/amdkfd: kfree the wrong pointer
        drm/amd/display: increase HDCP authentication delay
        drm/amd/display: Correctly cancel future watchdog and callback events
        drm/amd/display: Don't try hdcp1.4 when content_type is set to type1
        drm/amd/powerplay: move the ASIC specific nbio operation out of smu_v11_0.c
        drm/amd/powerplay: drop redundant BIF doorbell interrupt operations
        drm/amd/display: Fix dcn21 num_states
        drm/amd/display: Enable BT2020 in COLOR_ENCODING property
        drm/amd/display: LFC not working on 2.0x range monitors (v2)
        drm/amd/display: Support plane level CTM
        ...
      f5e94d10
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 9ebe5422
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
       "An update to the Goodix touchscreen driver to enable it work properly
        on various Bay Trail and Cherry Trail devices, and a few other
        assorted changes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (26 commits)
        Input: update SPDX tag for input-event-codes.h
        Input: i8042 - add Acer Aspire 5738z to nomux list
        Input: goodix - fix compilation when ACPI support is disabled
        dt-bindings: touchscreen: Convert edt-ft5x06 to json-schema
        Input: of_touchscreen - explicitly choose axis
        Input: goodix - support gt9147 touchpanel
        dt-bindings: touchscreen: goodix: support of gt9147
        Input: goodix - add support for Goodix GT917S
        Input: goodix - use string-based chip ID
        dt-bindings: input: touchscreen: add compatible string for Goodix GT917S
        Input: goodix - add support for more then one touch-key
        Input: goodix - fix spurious key release events
        Input: goodix - try to reset the controller if the i2c-test fails
        Input: goodix - restore config on resume if necessary
        Input: goodix - make goodix_send_cfg() take a raw buffer as argument
        Input: goodix - add minimum firmware size check
        Input: goodix - save a copy of the config from goodix_read_config()
        Input: goodix - move defines to above struct goodix_ts_data declaration
        Input: goodix - add support for controlling the IRQ pin through ACPI methods
        Input: goodix - add support for getting IRQ + reset GPIOs on Bay Trail devices
        ...
      9ebe5422
    • Linus Torvalds's avatar
      Merge tag 'thermal-v5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux · 34183ddd
      Linus Torvalds authored
      Pull thermal updates from Daniel Lezcano:
      
       - Convert tsens configuration DT binding to yaml (Rajeshwari)
      
       - Add interrupt support on the rcar sensor (Niklas Söderlund)
      
       - Add a new Spreadtrum thermal driver (Baolin Wang)
      
       - Add thermal binding for the fsl scu board, a new API to retrieve the
         sensor id bound to the thermal zone and i.MX system controller sensor
         (Anson Huang))
      
       - Remove warning log when a deferred probe is requested on Exynos
         (Marek Szyprowski)
      
       - Add the thermal monitoring unit support for imx8mm with its DT
         bindings (Anson Huang)
      
       - Rephrase the Kconfig text for clarity (Linus Walleij)
      
       - Use the gpio descriptor for the ti-soc-thermal (Linus Walleij)
      
       - Align msg structure to 4 bytes for i.MX SC, fix the Kconfig
         dependency, add the __may_be unused annotation for PM functions and
         the COMPILE_TEST option for imx8mm (Anson Huang)
      
       - Fix a dependency on regmap in Kconfig for qoriq (Yuantian Tang)
      
       - Add DT binding and support for the rcar gen3 r8a77961 and improve the
         error path on the rcar init function (Niklas Söderlund)
      
       - Cleanup and improvements for the tsens Qcom sensor (Amit Kucheria)
      
       - Improve code by removing lock and caching values in the rcar thermal
         sensor (Niklas Söderlund)
      
       - Cleanup in the qoriq drivers and add a call to
         imx_thermal_unregister_legacy_cooling in the removal function (Anson
         Huang)
      
       - Remove redundant 'maxItems' in tsens and sprd DT bindings (Rob
         Herring)
      
       - Change the thermal DT bindings by making the cooling-maps optional
         (Yuantian Tang)
      
       - Add Tiger Lake support (Sumeet Pawnikar)
      
       - Use scnprintf() for avoiding potential buffer overflow (Takashi Iwai)
      
       - Make pkg_temp_lock a raw_spinlock_t(Clark Williams)
      
       - Fix incorrect data types by changing them to signed on i.MX SC (Anson
         Huang)
      
       - Replace zero-length array with flexible-array member (Gustavo A. R.
         Silva)
      
       - Add support for i.MX8MP in the driver and in the DT bindings (Anson
         Huang)
      
       - Fix return value of the cpufreq_set_cur_state() function (Willy
         Wolff)
      
       - Remove abusing and scary WARN_ON in the cpufreq cooling device
         (Daniel Lezcano)
      
       - Fix build warning of incorrect argument type reported by sparse on
         imx8mm (Anson Huang)
      
       - Fix stub for the devfreq cooling device (Martin Blumenstingl)
      
       - Fix cpu idle cooling documentation (Sergey Vidishev)
      
      * tag 'thermal-v5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux: (52 commits)
        Documentation: cpu-idle-cooling: Fix diagram for 33% duty cycle
        thermal: devfreq_cooling: inline all stubs for CONFIG_DEVFREQ_THERMAL=n
        thermal: imx8mm: Fix build warning of incorrect argument type
        thermal/drivers/cpufreq_cooling: Remove abusing WARN_ON
        thermal/drivers/cpufreq_cooling: Fix return of cpufreq_set_cur_state
        thermal: imx8mm: Add i.MX8MP support
        dt-bindings: thermal: imx8mm-thermal: Add support for i.MX8MP
        thermal: qcom: tsens.h: Replace zero-length array with flexible-array member
        thermal: imx_sc_thermal: Fix incorrect data type
        thermal: int340x_thermal: Use scnprintf() for avoiding potential buffer overflow
        thermal: int340x: processor_thermal: Add Tiger Lake support
        thermal/x86_pkg_temp: Make pkg_temp_lock a raw_spinlock_t
        dt-bindings: thermal: make cooling-maps property optional
        dt-bindings: thermal: qcom-tsens: Remove redundant 'maxItems'
        dt-bindings: thermal: sprd: Remove redundant 'maxItems'
        thermal: imx: Calling imx_thermal_unregister_legacy_cooling() in .remove
        thermal: qoriq: Sort includes alphabetically
        thermal: qoriq: Use devm_add_action_or_reset() to handle all cleanups
        thermal: rcar_thermal: Remove lock in rcar_thermal_get_current_temp()
        thermal: rcar_thermal: Do not store ctemp in rcar_thermal_priv
        ...
      34183ddd
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 8645f09b
      Linus Torvalds authored
      Pull mfd updates from Lee Jones:
       "New Drivers:
         - Add support for IQS620A/621/622/624/625 Azoteq IQS62X Sensors
      
        New Device Support:
         - Add support for ADC, IRQ, Regulator, RTC and WDT to Ricoh RN5T618 PMIC
         - Add support for Comet Lake to Intel LPSS
      
        New Functionality:
         - Add support for Charger Detection to Spreadtrum SC27xx PMICs
         - Add support for Interrupt Polarity to Dialog Semi DA9062/61 PMIC
         - Add ACPI enumeration support to Diolan DLN2 USB Adaptor
      
        Fix-ups:
         - Device Tree; iqs62x, rn5t618, cros_ec_dev, stm32-lptimer, rohm,bd71837, rohm,bd71847
         - I2C registration; rn5t618
         - Kconfig; MFD_CPCAP, AB8500_CORE, MFD_WM8994, MFD_WM97xx, MFD_STPMIC1
         - Use flexible-array members; omap-usb-tll, qcom-pm8xxx
         - Remove unnecessary casts; omap-usb-host, omap-usb-tll
         - Power (suspend/resume/poweroff) enhancements; rk808
         - Improve error/sanity checking; dln2
         - Use snprintf(); aat2870-core
      
        Bug Fixes:
         - Fix PCI IDs in intel-lpss-pci"
      
      * tag 'mfd-next-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (33 commits)
        mfd: intel-lpss: Fix Intel Elkhart Lake LPSS I2C input clock
        mfd: aat2870: Use scnprintf() for avoiding potential buffer overflow
        mfd: dln2: Allow to be enumerated via ACPI
        mfd: da9062: Add support for interrupt polarity defined in device tree
        dt-bindings: bd718x7: Yamlify and add BD71850
        mfd: dln2: Fix sanity checking for endpoints
        mfd: intel-lpss: Add Intel Comet Lake PCH-V PCI IDs
        mfd: sc27xx: Add USB charger type detection support
        dt-bindings: mfd: Document STM32 low power timer bindings
        mfd: rk808: Convert RK805 to shutdown/suspend hooks
        mfd: rk808: Reduce shutdown duplication
        mfd: rk808: Stop using syscore ops
        mfd: rk808: Ensure suspend/resume hooks always work
        mfd: rk808: Always use poweroff when requested
        mfd: omap: Remove useless cast for driver.name
        mfd: Kconfig: Fix some misspelling of the word functionality
        mfd: pm8xxx: Replace zero-length array with flexible-array member
        mfd: omap-usb-tll: Replace zero-length array with flexible-array member
        mfd: cpcap: Fix compile if MFD_CORE is not selected
        mfd: cros_ec: Check DT node for usbpd-notify add
        ...
      8645f09b
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · b574beb6
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "Switch pwm_bl and corgi_lcd drivers to use GPIO descriptors"
      
      * tag 'backlight-next-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: corgi: Convert to use GPIO descriptors
        backlight: pwm_bl: Switch to full GPIO descriptor
      b574beb6
    • Linus Torvalds's avatar
      Merge tag 'leds-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds · 38e2c63e
      Linus Torvalds authored
      Pull LED updates from Pavel Machek:
       "One new driver, some driver changes, and some late minute cleanups --
        but those are just whitespace so should be okay.
      
        There are some major changes being prepared (multicolor, triggers) so
        the next release likely will be more interesting"
      
      * tag 'leds-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds:
        leds: core: Fix warning message when init_data
        leds: make functions easier to understand
        leds: sort Makefile entries
        leds: old enums are not really applicable to new code
        leds: ip30: label power LED as such
        leds: lm3532: make bitfield 'enabled' unsigned
        leds: leds-pwm: Replace zero-length array with flexible-array member
        leds: leds-is31fl32xx: Replace zero-length array with flexible-array member
        leds: pwm: remove useless pwm_period_ns
        leds: pwm: remove header
        leds: pwm: convert to atomic PWM API
        leds: pwm: simplify if condition
        leds: add SGI IP30 led support
        leds: lm3697: fix spelling mistake "To" -> "Too"
        leds: leds-bd2802: remove set but not used variable 'pdata'
        leds: ns2: Convert to GPIO descriptors
        leds: ns2: Absorb platform data
      38e2c63e
    • Peter Xu's avatar
      mm/gup: Mark lock taken only after a successful retake · c7b6a566
      Peter Xu authored
      It's definitely incorrect to mark the lock as taken even if
      down_read_killable() failed.
      
      This wass overlooked when we switched from down_read() to
      down_read_killable() because down_read() won't fail while
      down_read_killable() could.
      
      Fixes: 71335f37 ("mm/gup: allow to react to fatal signals")
      Reported-by: syzbot+a8c70b7f3579fc0587dc@syzkaller.appspotmail.com
      Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c7b6a566
    • Peter Xu's avatar
      mm/mempolicy: Allow lookup_node() to handle fatal signal · ba841078
      Peter Xu authored
      lookup_node() uses gup to pin the page and get node information.  It
      checks against ret>=0 assuming the page will be filled in.  However it's
      also possible that gup will return zero, for example, when the thread is
      quickly killed with a fatal signal.  Teach lookup_node() to gracefully
      return an error -EFAULT if it happens.
      
      Meanwhile, initialize "page" to NULL to avoid potential risk of
      exploiting the pointer.
      
      Fixes: 4426e945 ("mm/gup: allow VM_FAULT_RETRY for multiple times")
      Reported-by: syzbot+693dc11fcb53120b5559@syzkaller.appspotmail.com
      Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ba841078
  3. 07 Apr, 2020 25 commits
    • Dave Airlie's avatar
      Merge tag 'amd-drm-next-5.7-2020-04-01' of git://people.freedesktop.org/~agd5f/linux into drm-next · 12ab316c
      Dave Airlie authored
      amd-drm-next-5.7-2020-04-01:
      
      amdgpu:
      - HDCP fixes
      - gfx10 fix
      - Misc display fixes
      - BACO fixes
      
      amdkfd:
      - Fix memory leak
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexdeucher@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200401194619.4217-1-alexander.deucher@amd.com
      12ab316c
    • Dave Airlie's avatar
      Merge branch 'linux-5.7' of git://github.com/skeggsb/linux into drm-next · 9c346968
      Dave Airlie authored
      A couple of misc fixes/workarounds for some issues that are causing a
      lot of pain for people.
      
      Of most interest are the PCI power management and GR init WARs, which
      effect a rather significant number of laptop systems that are in use
      today.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Ben Skeggs <skeggsb@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/ <CACAvsv5Ef5YKS9EPBH3YUubzvVr++_rzjgSqV_B5nC0L2kB6-Q@mail.gmail.com
      9c346968
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-fixes-2020-04-04' of... · 3208a24f
      Dave Airlie authored
      Merge tag 'drm-misc-next-fixes-2020-04-04' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
      
      A bunch of fixes to avoid null pointer dereference in fbcon, fix a return
      in xen, some DT bindings fixes, a vc4 issue with 1920x1200 mode validation,
      and a conflicting framebuffer in vboxvideo.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maxime Ripard <maxime@cerno.tech>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200404090057.a3m7uw6tavwtcyon@gilmour.lan
      3208a24f
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-fixes-2020-04-02' of... · 0a1a6793
      Dave Airlie authored
      Merge tag 'drm-intel-next-fixes-2020-04-02' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
      
      Only gvt fixes on this round:
      
      - Fix non-privilege access warning (Tina)
      - Fix display port type (Tina)
      - BDW cmd parser missed SWTESS_BASE_ADDRESS (Yan)
      - Bypass length check of LRI (Yan)
      - Fix one klocwork warning (Tina)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200402213026.GA1141017@intel.com
      0a1a6793
    • Benson Leung's avatar
      platform/chrome: cros_ec_spi: Wait for USECS, not NSECS · a4638771
      Benson Leung authored
      The use of `delay_usecs` in terminate_request() was replaced with the new
      `delay` struct used by the SPI subsystem, however the unit was
      set to SPI_DELAY_UNIT_NSECS instead of SPI_DELAY_UNIT_USECS. This fixes that.
      
      Fixes: 7d3ca507 ("platform/chrome: cros_ec_spi: Use new structure for SPI transfer delays")
      Signed-off-by: default avatarBenson Leung <bleung@chromium.org>
      a4638771
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 63bef48f
      Linus Torvalds authored
      Merge more updates from Andrew Morton:
      
       - a lot more of MM, quite a bit more yet to come: (memcg, pagemap,
         vmalloc, pagealloc, migration, thp, ksm, madvise, virtio,
         userfaultfd, memory-hotplug, shmem, rmap, zswap, zsmalloc, cleanups)
      
       - various other subsystems (procfs, misc, MAINTAINERS, bitops, lib,
         checkpatch, epoll, binfmt, kallsyms, reiserfs, kmod, gcov, kconfig,
         ubsan, fault-injection, ipc)
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (158 commits)
        ipc/shm.c: make compat_ksys_shmctl() static
        ipc/mqueue.c: fix a brace coding style issue
        lib/Kconfig.debug: fix a typo "capabilitiy" -> "capability"
        ubsan: include bug type in report header
        kasan: unset panic_on_warn before calling panic()
        ubsan: check panic_on_warn
        drivers/misc/lkdtm/bugs.c: add arithmetic overflow and array bounds checks
        ubsan: split "bounds" checker from other options
        ubsan: add trap instrumentation option
        init/Kconfig: clean up ANON_INODES and old IO schedulers options
        kernel/gcov/fs.c: replace zero-length array with flexible-array member
        gcov: gcc_3_4: replace zero-length array with flexible-array member
        gcov: gcc_4_7: replace zero-length array with flexible-array member
        kernel/kmod.c: fix a typo "assuems" -> "assumes"
        reiserfs: clean up several indentation issues
        kallsyms: unexport kallsyms_lookup_name() and kallsyms_on_each_symbol()
        samples/hw_breakpoint: drop use of kallsyms_lookup_name()
        samples/hw_breakpoint: drop HW_BREAKPOINT_R when reporting writes
        fs/binfmt_elf.c: don't free interpreter's ELF pheaders on common path
        fs/binfmt_elf.c: allocate less for static executable
        ...
      63bef48f
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-5.7-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 04de788e
      Linus Torvalds authored
      Pull NFS client updates from Trond Myklebust:
       "Highlights include:
      
        Stable fixes:
         - Fix a page leak in nfs_destroy_unlinked_subrequests()
      
         - Fix use-after-free issues in nfs_pageio_add_request()
      
         - Fix new mount code constant_table array definitions
      
         - finish_automount() requires us to hold 2 refs to the mount record
      
        Features:
         - Improve the accuracy of telldir/seekdir by using 64-bit cookies
           when possible.
      
         - Allow one RDMA active connection and several zombie connections to
           prevent blocking if the remote server is unresponsive.
      
         - Limit the size of the NFS access cache by default
      
         - Reduce the number of references to credentials that are taken by
           NFS
      
         - pNFS files and flexfiles drivers now support per-layout segment
           COMMIT lists.
      
         - Enable partial-file layout segments in the pNFS/flexfiles driver.
      
         - Add support for CB_RECALL_ANY to the pNFS flexfiles layout type
      
         - pNFS/flexfiles Report NFS4ERR_DELAY and NFS4ERR_GRACE errors from
           the DS using the layouterror mechanism.
      
        Bugfixes and cleanups:
         - SUNRPC: Fix krb5p regressions
      
         - Don't specify NFS version in "UDP not supported" error
      
         - nfsroot: set tcp as the default transport protocol
      
         - pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid()
      
         - alloc_nfs_open_context() must use the file cred when available
      
         - Fix locking when dereferencing the delegation cred
      
         - Fix memory leaks in O_DIRECT when nfs_get_lock_context() fails
      
         - Various clean ups of the NFS O_DIRECT commit code
      
         - Clean up RDMA connect/disconnect
      
         - Replace zero-length arrays with C99-style flexible arrays"
      
      * tag 'nfs-for-5.7-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (86 commits)
        NFS: Clean up process of marking inode stale.
        SUNRPC: Don't start a timer on an already queued rpc task
        NFS/pnfs: Reference the layout cred in pnfs_prepare_layoutreturn()
        NFS/pnfs: Fix dereference of layout cred in pnfs_layoutcommit_inode()
        NFS: Beware when dereferencing the delegation cred
        NFS: Add a module parameter to set nfs_mountpoint_expiry_timeout
        NFS: finish_automount() requires us to hold 2 refs to the mount record
        NFS: Fix a few constant_table array definitions
        NFS: Try to join page groups before an O_DIRECT retransmission
        NFS: Refactor nfs_lock_and_join_requests()
        NFS: Reverse the submission order of requests in __nfs_pageio_add_request()
        NFS: Clean up nfs_lock_and_join_requests()
        NFS: Remove the redundant function nfs_pgio_has_mirroring()
        NFS: Fix memory leaks in nfs_pageio_stop_mirroring()
        NFS: Fix a request reference leak in nfs_direct_write_clear_reqs()
        NFS: Fix use-after-free issues in nfs_pageio_add_request()
        NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests()
        NFS: Fix a page leak in nfs_destroy_unlinked_subrequests()
        NFS: Remove unused FLUSH_SYNC support in nfs_initiate_pgio()
        pNFS/flexfiles: Specify the layout segment range in LAYOUTGET
        ...
      04de788e
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · f40f31ca
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we've mainly focused on fixing bugs and addressing
        issues in recently introduced compression support.
      
        Enhancement:
         - add zstd support, and set LZ4 by default
         - add ioctl() to show # of compressed blocks
         - show mount time in debugfs
         - replace rwsem with spinlock
         - avoid lock contention in DIO reads
      
        Some major bug fixes wrt compression:
         - compressed block count
         - memory access and leak
         - remove obsolete fields
         - flag controls
      
        Other bug fixes and clean ups:
         - fix overflow when handling .flags in inode_info
         - fix SPO issue during resize FS flow
         - fix compression with fsverity enabled
         - potential deadlock when writing compressed pages
         - show missing mount options"
      
      * tag 'f2fs-for-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (66 commits)
        f2fs: keep inline_data when compression conversion
        f2fs: fix to disable compression on directory
        f2fs: add missing CONFIG_F2FS_FS_COMPRESSION
        f2fs: switch discard_policy.timeout to bool type
        f2fs: fix to verify tpage before releasing in f2fs_free_dic()
        f2fs: show compression in statx
        f2fs: clean up dic->tpages assignment
        f2fs: compress: support zstd compress algorithm
        f2fs: compress: add .{init,destroy}_decompress_ctx callback
        f2fs: compress: fix to call missing destroy_compress_ctx()
        f2fs: change default compression algorithm
        f2fs: clean up {cic,dic}.ref handling
        f2fs: fix to use f2fs_readpage_limit() in f2fs_read_multi_pages()
        f2fs: xattr.h: Make stub helpers inline
        f2fs: fix to avoid double unlock
        f2fs: fix potential .flags overflow on 32bit architecture
        f2fs: fix NULL pointer dereference in f2fs_verity_work()
        f2fs: fix to clear PG_error if fsverity failed
        f2fs: don't call fscrypt_get_encryption_info() explicitly in f2fs_tmpfile()
        f2fs: don't trigger data flush in foreground operation
        ...
      f40f31ca
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs · 763dede1
      Linus Torvalds authored
      Pull UBI and UBIFS updates from Richard Weinberger:
      
       - Fix for memory leaks around UBIFS orphan handling
      
       - Fix for memory leaks around UBI fastmap
      
       - Remove zero-length array from ubi-media.h
      
       - Fix for TNC lookup in UBIFS orphan code
      
      * tag 'for-linus-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
        ubi: ubi-media.h: Replace zero-length array with flexible-array member
        ubifs: Fix out-of-bounds memory access caused by abnormal value of node_len
        ubi: fastmap: Only produce the initial anchor PEB when fastmap is used
        ubi: fastmap: Free unused fastmap anchor peb during detach
        ubifs: ubifs_add_orphan: Fix a memory leak bug
        ubifs: ubifs_jnl_write_inode: Fix a memory leak bug
        ubifs: Fix ubifs_tnc_lookup() usage in do_kill_orphans()
      763dede1
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · 762a9f2f
      Linus Torvalds authored
      Pull UML updates from Richard Weinberger:
      
       - New mode for time travel, external via virtio
      
       - Fixes for ubd to make sure no requests can get lost
      
       - Fixes for vector networking
      
       - Allow CONFIG_STATIC_LINK only when possible
      
       - Minor cleanups and fixes
      
      * tag 'for-linus-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: Remove some unnecessary NULL checks in vector_user.c
        um: vector: Avoid NULL ptr deference if transport is unset
        um: Make CONFIG_STATIC_LINK actually static
        um: Implement cpu_relax() as ndelay(1) for time-travel
        um: Implement ndelay/udelay in time-travel mode
        um: Implement time-travel=ext
        um: virtio: Implement VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS
        um: time-travel: Rewrite as an event scheduler
        um: Move timer-internal.h to non-shared
        hostfs: Use kasprintf() instead of fixed buffer formatting
        um: falloc.h needs to be directly included for older libc
        um: ubd: Retry buffer read on any kind of error
        um: ubd: Prevent buffer overrun on command completion
        um: Fix overlapping ELF segments when statically linked
        um: Delete never executed timer
        um: Don't overwrite ethtool driver version
        um: Fix len of file in create_pid_file
        um: Don't use console_drivers directly
        um: Cleanup CONFIG_IOSCHED_CFQ
      762a9f2f
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://github.com/openrisc/linux · d5d24766
      Linus Torvalds authored
      Pull OpenRISC updates from Stafford Horne:
       "A few cleanups all over the place, things of note:
      
         - Enable the clone3 syscall
      
         - Remove CONFIG_CROSS_COMPILE from Krzysztof Kozlowski
      
         - Update to use mmgrab from Julia Lawall"
      
      * tag 'for-linus' of git://github.com/openrisc/linux:
        openrisc: Remove obsolete show_trace_task function
        openrisc: Cleanup copy_thread_tls docs and comments
        openrisc: Enable the clone3 syscall
        openrisc: Convert copy_thread to copy_thread_tls
        openrisc: use mmgrab
        openrisc: configs: Cleanup CONFIG_CROSS_COMPILE
      d5d24766
    • Linus Torvalds's avatar
      Merge branch 'parisc-5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · f9db97d7
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
       "Some cleanups in arch_rw locking functions, improved interrupt
        handling in arch spinlocks, coversions to request_irq() and syscall
        table generation cleanups"
      
      * 'parisc-5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: remove nargs from __SYSCALL
        parisc: Refactor alternative code to accept multiple conditions
        parisc: Rework arch_rw locking functions
        parisc: Improve interrupt handling in arch_spin_lock_flags()
        parisc: Replace setup_irq() by request_irq()
      f9db97d7
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 12782fbe
      Linus Torvalds authored
      Pull sparc update from David Miller:
       "A per-device DMA ops conversion for sparc32 by Chrstioph Hellwig"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc32: use per-device dma_ops
      12782fbe
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide · 498ff42d
      Linus Torvalds authored
      Pull IDE update from David Miller:
       "As usual, very quiet in this subsystem.
      
        Just a list_for_each_entry_safe() conversion"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
        drivers/ide: Fix build regression.
        drivers/ide: convert to list_for_each_entry_safe()
      498ff42d
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 479a72c0
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Slave bond and team devices should not be assigned ipv6 link local
          addresses, from Jarod Wilson.
      
       2) Fix clock sink config on some at803x PHY devices, from Oleksij
          Rempel.
      
       3) Uninitialized stack space transmitted in slcan frames, fix from
          Richard Palethorpe.
      
       4) Guard HW VLAN ops properly in stmmac driver, from Jose Abreu.
      
       5) "=" --> "|=" fix in aquantia driver, from Colin Ian King.
      
       6) Fix TCP fallback in mptcp, from Florian Westphal. (accessing a plain
          tcp_sk as if it were an mptcp socket).
      
       7) Fix cavium driver in some configurations wrt. PTP, from Yue Haibing.
      
       8) Make ipv6 and ipv4 consistent in the lower bound allowed for
          neighbour entry retrans_time, from Hangbin Liu.
      
       9) Don't use private workqueue in pegasus usb driver, from Petko
          Manolov.
      
      10) Fix integer overflow in mlxsw, from Colin Ian King.
      
      11) Missing refcnt init in cls_tcindex, from Cong Wang.
      
      12) One too many loop iterations when processing cmpri entries in ipv6
          rpl code, from Alexander Aring.
      
      13) Disable SG and TSO by default in r8169, from Heiner Kallweit.
      
      14) NULL deref in macsec, from Davide Caratti.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (42 commits)
        macsec: fix NULL dereference in macsec_upd_offload()
        skbuff.h: Improve the checksum related comments
        net: dsa: bcm_sf2: Ensure correct sub-node is parsed
        qed: remove redundant assignment to variable 'rc'
        wimax: remove some redundant assignments to variable result
        mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_VLAN_MANGLE
        mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_PRIORITY
        r8169: change back SG and TSO to be disabled by default
        net: dsa: bcm_sf2: Do not register slave MDIO bus with OF
        ipv6: rpl: fix loop iteration
        tun: Don't put_page() for all negative return values from XDP program
        net: dsa: mt7530: fix null pointer dereferencing in port5 setup
        mptcp: add some missing pr_fmt defines
        net: phy: micrel: kszphy_resume(): add delay after genphy_resume() before accessing PHY registers
        net_sched: fix a missing refcnt in tcindex_init()
        net: stmmac: dwmac1000: fix out-of-bounds mac address reg setting
        mlxsw: spectrum_trap: fix unintention integer overflow on left shift
        pegasus: Remove pegasus' own workqueue
        neigh: support smaller retrans_time settting
        net: openvswitch: use hlist_for_each_entry_rcu instead of hlist_for_each_entry
        ...
      479a72c0
    • Linus Torvalds's avatar
      Merge branch 'pcmcia-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux · 07d6f6dc
      Linus Torvalds authored
      Pull pcmcia updates from Dominik Brodowski:
       "A few PCMCIA odd fixes: removing a few spaces and useless casts,
        replacing snprintf() with scnprintf(), and replacing zero-length
        arrays with a flexible-array member"
      
      * 'pcmcia-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux:
        pcmcia: remove some unused space characters
        pcmcia: soc_common.h: Replace zero-length array with flexible-array member
        pcmcia: cs_internal.h: Replace zero-length array with flexible-array member
        pcmcia: Use scnprintf() for avoiding potential buffer overflow
        pcmcia: omap: remove useless cast for driver.name
      07d6f6dc
    • Jason Yan's avatar
      ipc/shm.c: make compat_ksys_shmctl() static · 1cd377ba
      Jason Yan authored
      Fix the following sparse warning:
      
      ipc/shm.c:1335:6: warning: symbol 'compat_ksys_shmctl' was not declared.
      Should it be static?
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarJason Yan <yanaijie@huawei.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Link: http://lkml.kernel.org/r/20200403063933.24785-1-yanaijie@huawei.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1cd377ba
    • Somala Swaraj's avatar
    • Qiujun Huang's avatar
    • Kees Cook's avatar
      ubsan: include bug type in report header · ef065653
      Kees Cook authored
      When syzbot tries to figure out how to deduplicate bug reports, it prefers
      seeing a hint about a specific bug type (we can do better than just
      "UBSAN").  This lifts the handler reason into the UBSAN report line that
      includes the file path that tripped a check.  Unfortunately, UBSAN does
      not provide function names.
      Suggested-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Dan Carpenter <dan.carpenter@oracle.com>
      Cc: Elena Petrova <lenaptr@google.com>
      Cc: "Gustavo A. R. Silva" <gustavo@embeddedor.com>
      Link: http://lkml.kernel.org/r/20200227193516.32566-7-keescook@chromium.org
      Link: https://lore.kernel.org/lkml/CACT4Y+bsLJ-wFx_TaXqax3JByUOWB3uk787LsyMVcfW6JzzGvg@mail.gmail.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ef065653
    • Kees Cook's avatar
      kasan: unset panic_on_warn before calling panic() · 1d2252fa
      Kees Cook authored
      As done in the full WARN() handler, panic_on_warn needs to be cleared
      before calling panic() to avoid recursive panics.
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Dan Carpenter <dan.carpenter@oracle.com>
      Cc: Elena Petrova <lenaptr@google.com>
      Cc: "Gustavo A. R. Silva" <gustavo@embeddedor.com>
      Link: http://lkml.kernel.org/r/20200227193516.32566-6-keescook@chromium.orgSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1d2252fa
    • Kees Cook's avatar
      ubsan: check panic_on_warn · 1d28c8d6
      Kees Cook authored
      Syzkaller expects kernel warnings to panic when the panic_on_warn sysctl
      is set.  More work is needed here to have UBSan reuse the WARN
      infrastructure, but for now, just check the flag manually.
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Dan Carpenter <dan.carpenter@oracle.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Elena Petrova <lenaptr@google.com>
      Cc: "Gustavo A. R. Silva" <gustavo@embeddedor.com>
      Link: https://lore.kernel.org/lkml/CACT4Y+bsLJ-wFx_TaXqax3JByUOWB3uk787LsyMVcfW6JzzGvg@mail.gmail.com
      Link: http://lkml.kernel.org/r/20200227193516.32566-5-keescook@chromium.orgSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1d28c8d6
    • Kees Cook's avatar
      drivers/misc/lkdtm/bugs.c: add arithmetic overflow and array bounds checks · ae2e1aad
      Kees Cook authored
      Adds LKDTM tests for arithmetic overflow (both signed and unsigned), as
      well as array bounds checking.
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Dan Carpenter <dan.carpenter@oracle.com>
      Cc: Elena Petrova <lenaptr@google.com>
      Cc: "Gustavo A. R. Silva" <gustavo@embeddedor.com>
      Link: http://lkml.kernel.org/r/20200227193516.32566-4-keescook@chromium.orgSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ae2e1aad
    • Kees Cook's avatar
      ubsan: split "bounds" checker from other options · 277a1085
      Kees Cook authored
      In order to do kernel builds with the bounds checker individually
      available, introduce CONFIG_UBSAN_BOUNDS, with the remaining options under
      CONFIG_UBSAN_MISC.
      
      For example, using this, we can start to expand the coverage syzkaller is
      providing.  Right now, all of UBSan is disabled for syzbot builds because
      taken as a whole, it is too noisy.  This will let us focus on one feature
      at a time.
      
      For the bounds checker specifically, this provides a mechanism to
      eliminate an entire class of array overflows with close to zero
      performance overhead (I cannot measure a difference).  In my (mostly)
      defconfig, enabling bounds checking adds ~4200 checks to the kernel.
      Performance changes are in the noise, likely due to the branch predictors
      optimizing for the non-fail path.
      
      Some notes on the bounds checker:
      
      - it does not instrument {mem,str}*()-family functions, it only
        instruments direct indexed accesses (e.g. "foo[i]"). Dealing with
        the {mem,str}*()-family functions is a work-in-progress around
        CONFIG_FORTIFY_SOURCE[1].
      
      - it ignores flexible array members, including the very old single
        byte (e.g. "int foo[1];") declarations. (Note that GCC's
        implementation appears to ignore _all_ trailing arrays, but Clang only
        ignores empty, 0, and 1 byte arrays[2].)
      
      [1] https://github.com/KSPP/linux/issues/6
      [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92589Suggested-by: default avatarElena Petrova <lenaptr@google.com>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Reviewed-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Acked-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Dan Carpenter <dan.carpenter@oracle.com>
      Cc: "Gustavo A. R. Silva" <gustavo@embeddedor.com>
      Link: http://lkml.kernel.org/r/20200227193516.32566-3-keescook@chromium.orgSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      277a1085
    • Kees Cook's avatar
      ubsan: add trap instrumentation option · 0887a7eb
      Kees Cook authored
      Patch series "ubsan: Split out bounds checker", v5.
      
      This splits out the bounds checker so it can be individually used.  This
      is enabled in Android and hopefully for syzbot.  Includes LKDTM tests for
      behavioral corner-cases (beyond just the bounds checker), and adjusts
      ubsan and kasan slightly for correct panic handling.
      
      This patch (of 6):
      
      The Undefined Behavior Sanitizer can operate in two modes: warning
      reporting mode via lib/ubsan.c handler calls, or trap mode, which uses
      __builtin_trap() as the handler.  Using lib/ubsan.c means the kernel image
      is about 5% larger (due to all the debugging text and reporting structures
      to capture details about the warning conditions).  Using the trap mode,
      the image size changes are much smaller, though at the loss of the
      "warning only" mode.
      
      In order to give greater flexibility to system builders that want minimal
      changes to image size and are prepared to deal with kernel code being
      aborted and potentially destabilizing the system, this introduces
      CONFIG_UBSAN_TRAP.  The resulting image sizes comparison:
      
         text    data     bss       dec       hex     filename
      19533663   6183037  18554956  44271656  2a38828 vmlinux.stock
      19991849   7618513  18874448  46484810  2c54d4a vmlinux.ubsan
      19712181   6284181  18366540  44362902  2a4ec96 vmlinux.ubsan-trap
      
      CONFIG_UBSAN=y:      image +4.8% (text +2.3%, data +18.9%)
      CONFIG_UBSAN_TRAP=y: image +0.2% (text +0.9%, data +1.6%)
      
      Additionally adjusts the CONFIG_UBSAN Kconfig help for clarity and removes
      the mention of non-existing boot param "ubsan_handle".
      Suggested-by: default avatarElena Petrova <lenaptr@google.com>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Dan Carpenter <dan.carpenter@oracle.com>
      Cc: "Gustavo A. R. Silva" <gustavo@embeddedor.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
      Link: http://lkml.kernel.org/r/20200227193516.32566-2-keescook@chromium.orgSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0887a7eb