1. 23 Jul, 2020 2 commits
  2. 20 Jul, 2020 2 commits
  3. 19 Jul, 2020 1 commit
  4. 17 Jul, 2020 1 commit
    • Greg Kroah-Hartman's avatar
      Merge tag 'misc-habanalabs-fixes-2020-07-10' of... · b279b1fe
      Greg Kroah-Hartman authored
      Merge tag 'misc-habanalabs-fixes-2020-07-10' of git://people.freedesktop.org/~gabbayo/linux into char-misc-linus
      
      This tag contains the following fixes for 5.8-rc4/5:
      
      - Prevent user from using command WREG_BULK in PCI DMA channel. The command
        won't be parsed correctly by the driver and will cause unknown behavior.
        As the user doesn't need to use that command in that channel, its better
        to just prevent it completely.
      
      - Change the interface of the clock gating debugfs property from true/false
        to bitmask with bit per engine. This will allow the user to debug the
        ASIC while disabling the clock gating feature with fine-grain
        granularity.
      
      - Increase message-to-ASIC-CPU timeout to 4s (from 100ms/1s). The ASIC CPU
        might respond sometimes after a large delay due to slow external
        interfaces (such as temperature sensors) and that will result in a driver
        timeout which will lead to ASIC reset.
      
      * tag 'misc-habanalabs-fixes-2020-07-10' of git://people.freedesktop.org/~gabbayo/linux:
        habanalabs: set 4s timeout for message to device CPU
        habanalabs: set clock gating per engine
        habanalabs: block WREG_BULK packet on PDMA
      b279b1fe
  5. 16 Jul, 2020 6 commits
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.8-rc6' of... · 3e543a4d
      Linus Torvalds authored
      Merge tag 'char-misc-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc into master
      
      Pull char/misc fixes from Greg KH:
       "Here are number of small char/misc driver fixes for 5.8-rc6
      
        Not that many complex fixes here, just a number of small fixes for
        reported issues, and some new device ids. Nothing fancy.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (21 commits)
        virtio: virtio_console: add missing MODULE_DEVICE_TABLE() for rproc serial
        intel_th: Fix a NULL dereference when hub driver is not loaded
        intel_th: pci: Add Emmitsburg PCH support
        intel_th: pci: Add Tiger Lake PCH-H support
        intel_th: pci: Add Jasper Lake CPU support
        virt: vbox: Fix guest capabilities mask check
        virt: vbox: Fix VBGL_IOCTL_VMMDEV_REQUEST_BIG and _LOG req numbers to match upstream
        uio_pdrv_genirq: fix use without device tree and no interrupt
        uio_pdrv_genirq: Remove warning when irq is not specified
        coresight: etmv4: Fix CPU power management setup in probe() function
        coresight: cti: Fix error handling in probe
        Revert "zram: convert remaining CLASS_ATTR() to CLASS_ATTR_RO()"
        mei: bus: don't clean driver pointer
        misc: atmel-ssc: lock with mutex instead of spinlock
        phy: sun4i-usb: fix dereference of pointer phy0 before it is null checked
        phy: rockchip: Fix return value of inno_dsidphy_probe()
        phy: ti: j721e-wiz: Constify structs
        phy: ti: am654-serdes: Constify regmap_config
        phy: intel: fix enum type mismatch warning
        phy: intel: Fix compilation error on FIELD_PREP usage
        ...
      3e543a4d
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.8-rc6' of... · 50ad1c21
      Linus Torvalds authored
      Merge tag 'driver-core-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core into master
      
      Pull driver core fixes from Greg KH:
       "Here are 3 driver core fixes for 5.8-rc6.
      
        They resolve some issues found with the deferred probe code for some
        types of devices on some embedded systems. They have been tested a
        bunch and have been in linux-next for a while with no reported issues"
      
      * tag 'driver-core-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        driver core: Avoid deferred probe due to fw_devlink_pause/resume()
        driver core: Rename dev_links_info.defer_sync to defer_hook
        driver core: Don't do deferred probe in parallel with kernel_init thread
      50ad1c21
    • Linus Torvalds's avatar
      Merge tag 'staging-5.8-rc6' of... · 6a058f0b
      Linus Torvalds authored
      Merge tag 'staging-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging into master
      
      Pull IIO and staging driver fixes from Greg KH:
       "Here are some IIO and staging driver fixes for 5.8-rc6.
      
        The majority of fixes are for IIO drivers, resolving a number of small
        reported issues, and there are some counter fixes in here too that
        were tied to the IIO fixes. There's only one staging driver fix here,
        a comedi fix found by code inspection.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: comedi: verify array index is correct before using it
        iio: adc: ad7780: Fix a resource handling path in 'ad7780_probe()'
        iio:pressure:ms5611 Fix buffer element alignment
        iio:humidity:hts221 Fix alignment and data leak issues
        iio:humidity:hdc100x Fix alignment and data leak issues
        iio:magnetometer:ak8974: Fix alignment and data leak issues
        iio: adc: adi-axi-adc: Fix object reference counting
        iio: pressure: zpa2326: handle pm_runtime_get_sync failure
        counter: 104-quad-8: Add lock guards - filter clock prescaler
        counter: 104-quad-8: Add lock guards - differential encoder
        iio: core: add missing IIO_MOD_H2/ETHANOL string identifiers
        iio: magnetometer: ak8974: Fix runtime PM imbalance on error
        iio: mma8452: Add missed iio_device_unregister() call in mma8452_probe()
        iio:health:afe4404 Fix timestamp alignment and prevent data leak.
        iio:health:afe4403 Fix timestamp alignment and prevent data leak.
      6a058f0b
    • Linus Torvalds's avatar
      Merge tag 'tty-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty into master · 7531ee31
      Linus Torvalds authored
      Pull tty/serial driver fixes from Greg KH:
       :Here are some small tty and serial driver fixes for 5.8-rc6.
      
        The largest set of patches in here is a revert of the sysrq changes
        that went into 5.8-rc1 but turned out to cause a noticable overhead
        and cpu usage.
      
        Other than that, there's a few small serial driver fixes to resolve
        reported issues, and finally resolving the spinlock init problem on
        many serial driver consoles.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'tty-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        serial: core: Initialise spin lock before use in uart_configure_port()
        serial: mxs-auart: add missed iounmap() in probe failure and remove
        serial: sh-sci: Initialize spinlock for uart console
        Revert "tty: xilinx_uartps: Fix missing id assignment to the console"
        serial: core: drop redundant sysrq checks
        serial: core: fix sysrq overhead regression
        Revert "serial: core: Refactor uart_unlock_and_check_sysrq()"
        tty/serial: fix serial_core.c kernel-doc warnings
        tty: serial: cpm_uart: Fix behaviour for non existing GPIOs
      7531ee31
    • Linus Torvalds's avatar
      Merge tag 'thermal-v5.8-rc6' of... · 7e8d2f6d
      Linus Torvalds authored
      Merge tag 'thermal-v5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux into master
      
      Pull thermal fixes from Daniel Lezcano:
      
       - Fix invalid index array access on int340x_thermal leading to a kernel
         panic (Bartosz Szczepanek)
      
       - Fix debug message level to prevent flooding on some platform (Alex
         Hung)
      
       - Fix invalid bank access by reverting "thermal: mediatek: fix register
         index error" (Enric Balletbo i Serra)
      
      * tag 'thermal-v5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux:
        Revert "thermal: mediatek: fix register index error"
        thermal: int3403_thermal: Downgrade error message
        thermal/int340x_thermal: Prevent page fault on .set_mode() op
      7e8d2f6d
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of... · f8456690
      Linus Torvalds authored
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux into master
      
      Pull clk fixes from Stephen Boyd:
       "A couple build fixes for issues exposed this merge window and a fix
        for the eMMC clk on AST2600 SoCs that fixes the rate that is
        calculated by the clk framework"
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        clk: Specify IOMEM dependency for HSDK pll driver
        clk: AST2600: Add mux for EMMC clock
        clk: mvebu: ARMADA_AP_CPU_CLK needs to select ARMADA_AP_CP_HELPER
      f8456690
  6. 15 Jul, 2020 9 commits
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.8-2' of... · 994e99a9
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v5.8-2' of git://git.infradead.org/linux-platform-drivers-x86 into master
      
      Pull x86 platform driver fixes from Andriy Shevchenko:
       "Small fixes for this cycle:
      
         - Fix procfs handling in Thinkpad ACPI driver
      
         - Fix battery management on new ASUS laptops
      
         - New IDs (Sapphire Rapids) in ISST tool"
      
      * tag 'platform-drivers-x86-v5.8-2' of git://git.infradead.org/linux-platform-drivers-x86:
        platform/x86: asus-wmi: allow BAT1 battery name
        platform/x86: ISST: Add new PCI device ids
        platform/x86: thinkpad_acpi: Revert "Use strndup_user() in dispatch_proc_write()"
      994e99a9
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-fix-5.8-rc6' of... · 0665a4e9
      Linus Torvalds authored
      Merge tag 'dmaengine-fix-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine into master
      
      Pull dmaengine fixes from Vinod Koul:
      
       - update dmaengine tree location to kernel.org
      
       - dmatest fix for completing threads
      
       - driver fixes for k3dma, fsl-dma, idxd, ,tegra, and few other drivers
      
      * tag 'dmaengine-fix-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (21 commits)
        dmaengine: ioat setting ioat timeout as module parameter
        dmaengine: fsl-edma: fix wrong tcd endianness for big-endian cpu
        dmaengine: dmatest: stop completed threads when running without set channel
        dmaengine: fsl-edma-common: correct DSIZE_32BYTE
        dmaengine: dw: Initialize channel before each transfer
        dmaengine: idxd: fix misc interrupt handler thread unmasking
        dmaengine: idxd: cleanup workqueue config after disabling
        dmaengine: tegra210-adma: Fix runtime PM imbalance on error
        dmaengine: mcf-edma: Fix NULL pointer exception in mcf_edma_tx_handler
        dmaengine: fsl-edma: Fix NULL pointer exception in fsl_edma_tx_handler
        dmaengine: fsl-edma: Add lockdep assert for exported function
        dmaengine: idxd: fix hw descriptor fields for delta record
        dmaengine: ti: k3-udma: add missing put_device() call in of_xudma_dev_get()
        dmaengine: sh: usb-dmac: set tx_result parameters
        dmaengine: ti: k3-udma: Fix delayed_work usage for tx drain workaround
        dmaengine: idxd: fix cdev locking for open and release
        dmaengine: imx-sdma: Fix: Remove 'always true' comparison
        MAINTAINERS: switch dmaengine tree to kernel.org
        dmaengine: ti: k3-udma: Fix the running channel handling in alloc_chan_resources
        dmaengine: ti: k3-udma: Fix cleanup code for alloc_chan_resources
        ...
      0665a4e9
    • Wei Yongjun's avatar
      keys: asymmetric: fix error return code in software_key_query() · 6cbba1f9
      Wei Yongjun authored
      Fix to return negative error code -ENOMEM from kmalloc() error handling
      case instead of 0, as done elsewhere in this function.
      
      Fixes: f1774cb8 ("X.509: parse public key parameters from x509 for akcipher")
      Signed-off-by: default avatarWei Yongjun <weiyongjun1@huawei.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6cbba1f9
    • David Howells's avatar
      afs: Fix interruption of operations · 811f04ba
      David Howells authored
      The afs filesystem driver allows unstarted operations to be cancelled by
      signal, but most of these can easily be restarted (mkdir for example).  The
      primary culprits for reproducing this are those applications that use
      SIGALRM to display a progress counter.
      
      File lock-extension operation is marked uninterruptible as we have a
      limited time in which to do it, and the release op is marked
      uninterruptible also as if we fail to unlock a file, we'll have to wait 20
      mins before anyone can lock it again.
      
      The store operation logs a warning if it gets interruption, e.g.:
      
      	kAFS: Unexpected error from FS.StoreData -4
      
      because it's run from the background - but it can also be run from
      fdatasync()-type things.  However, store options aren't marked
      interruptible at the moment.
      
      Fix this in the following ways:
      
       (1) Mark store operations as uninterruptible.  It might make sense to
           relax this for certain situations, but I'm not sure how to make sure
           that background store ops aren't affected by signals to foreground
           processes that happen to trigger them.
      
       (2) In afs_get_io_locks(), where we're getting the serialisation lock for
           talking to the fileserver, return ERESTARTSYS rather than EINTR
           because a lot of the operations (e.g. mkdir) are restartable if we
           haven't yet started sending the op to the server.
      
      Fixes: e49c7b2f ("afs: Build an abstraction around an "operation" concept")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      811f04ba
    • Vasiliy Kupriakov's avatar
      platform/x86: asus-wmi: allow BAT1 battery name · 9a33e375
      Vasiliy Kupriakov authored
      The battery on my laptop ASUS TUF Gaming FX706II is named BAT1.
      This patch allows battery extension to load.
      Signed-off-by: default avatarVasiliy Kupriakov <rublag-ns@yandex.ru>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      9a33e375
    • Srinivas Pandruvada's avatar
      platform/x86: ISST: Add new PCI device ids · e1eea3f8
      Srinivas Pandruvada authored
      Added new PCI device ids for supporting mailbox and MMIO interface for
      Sapphire Rapids.
      Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      e1eea3f8
    • Andy Shevchenko's avatar
      platform/x86: thinkpad_acpi: Revert "Use strndup_user() in dispatch_proc_write()" · e2e90804
      Andy Shevchenko authored
      This reverts commit 35d13c7a.
      
      This broke procfs interface due to neglecting the fact that
      the strings are not coming NULL terminated.
      
      Revert the change till we will have a better clean up.
      
      Fixes: 35d13c7a ("platform/x86: thinkpad_acpi: Use strndup_user() in dispatch_proc_write()")
      Reported-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      e2e90804
    • Enric Balletbo i Serra's avatar
      Revert "thermal: mediatek: fix register index error" · a8f62f18
      Enric Balletbo i Serra authored
      This reverts commit eb9aecd9
      
      The above patch is supposed to fix a register index error on mt2701. It
      is not clear if the problem solved is a hang or just an invalid value
      returned, my guess is the second. The patch introduces, though, a new
      hang on MT8173 device making them unusable. So, seems reasonable, revert
      the patch because introduces a worst issue.
      
      The reason I send a revert instead of trying to fix the issue for MT8173
      is because the information needed to fix the issue is in the datasheet
      and is not public. So I am not really able to fix it.
      
      Fixes the following bug when CONFIG_MTK_THERMAL is set on MT8173
      devices.
      
      [    2.222488] Unable to handle kernel paging request at virtual address ffff8000125f5001
      [    2.230421] Mem abort info:
      [    2.233207]   ESR = 0x96000021
      [    2.236261]   EC = 0x25: DABT (current EL), IL = 32 bits
      [    2.241571]   SET = 0, FnV = 0
      [    2.244623]   EA = 0, S1PTW = 0
      [    2.247762] Data abort info:
      [    2.250640]   ISV = 0, ISS = 0x00000021
      [    2.254473]   CM = 0, WnR = 0
      [    2.257544] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000041850000
      [    2.264251] [ffff8000125f5001] pgd=000000013ffff003, pud=000000013fffe003, pmd=000000013fff9003, pte=006800001100b707
      [    2.274867] Internal error: Oops: 96000021 [#1] PREEMPT SMP
      [    2.280432] Modules linked in:
      [    2.283483] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.7.0-rc6+ #162
      [    2.289914] Hardware name: Google Elm (DT)
      [    2.294003] pstate: 20000005 (nzCv daif -PAN -UAO)
      [    2.298792] pc : mtk_read_temp+0xb8/0x1c8
      [    2.302793] lr : mtk_read_temp+0x7c/0x1c8
      [    2.306794] sp : ffff80001003b930
      [    2.310100] x29: ffff80001003b930 x28: 0000000000000000
      [    2.315404] x27: 0000000000000002 x26: ffff0000f9550b10
      [    2.320709] x25: ffff0000f9550a80 x24: 0000000000000090
      [    2.326014] x23: ffff80001003ba24 x22: 00000000610344c0
      [    2.331318] x21: 0000000000002710 x20: 00000000000001f4
      [    2.336622] x19: 0000000000030d40 x18: ffff800011742ec0
      [    2.341926] x17: 0000000000000001 x16: 0000000000000001
      [    2.347230] x15: ffffffffffffffff x14: ffffff0000000000
      [    2.352535] x13: ffffffffffffffff x12: 0000000000000028
      [    2.357839] x11: 0000000000000003 x10: ffff800011295ec8
      [    2.363143] x9 : 000000000000291b x8 : 0000000000000002
      [    2.368447] x7 : 00000000000000a8 x6 : 0000000000000004
      [    2.373751] x5 : 0000000000000000 x4 : ffff800011295cb0
      [    2.379055] x3 : 0000000000000002 x2 : ffff8000125f5001
      [    2.384359] x1 : 0000000000000001 x0 : ffff0000f9550a80
      [    2.389665] Call trace:
      [    2.392105]  mtk_read_temp+0xb8/0x1c8
      [    2.395760]  of_thermal_get_temp+0x2c/0x40
      [    2.399849]  thermal_zone_get_temp+0x78/0x160
      [    2.404198]  thermal_zone_device_update.part.0+0x3c/0x1f8
      [    2.409589]  thermal_zone_device_update+0x34/0x48
      [    2.414286]  of_thermal_set_mode+0x58/0x88
      [    2.418375]  thermal_zone_of_sensor_register+0x1a8/0x1d8
      [    2.423679]  devm_thermal_zone_of_sensor_register+0x64/0xb0
      [    2.429242]  mtk_thermal_probe+0x690/0x7d0
      [    2.433333]  platform_drv_probe+0x5c/0xb0
      [    2.437335]  really_probe+0xe4/0x448
      [    2.440901]  driver_probe_device+0xe8/0x140
      [    2.445077]  device_driver_attach+0x7c/0x88
      [    2.449252]  __driver_attach+0xac/0x178
      [    2.453082]  bus_for_each_dev+0x78/0xc8
      [    2.456909]  driver_attach+0x2c/0x38
      [    2.460476]  bus_add_driver+0x14c/0x230
      [    2.464304]  driver_register+0x6c/0x128
      [    2.468131]  __platform_driver_register+0x50/0x60
      [    2.472831]  mtk_thermal_driver_init+0x24/0x30
      [    2.477268]  do_one_initcall+0x50/0x298
      [    2.481098]  kernel_init_freeable+0x1ec/0x264
      [    2.485450]  kernel_init+0x1c/0x110
      [    2.488931]  ret_from_fork+0x10/0x1c
      [    2.492502] Code: f9401081 f9400402 b8a67821 8b010042 (b9400042)
      [    2.498599] ---[ end trace e43e3105ed27dc99 ]---
      [    2.503367] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
      [    2.511020] SMP: stopping secondary CPUs
      [    2.514941] Kernel Offset: disabled
      [    2.518421] CPU features: 0x090002,25006005
      [    2.522595] Memory Limit: none
      [    2.525644] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]--
      
      Cc: Michael Kao <michael.kao@mediatek.com>
      Fixes: eb9aecd9 ("thermal: mediatek: fix register index error")
      Signed-off-by: default avatarEnric Balletbo i Serra <enric.balletbo@collabora.com>
      Reviewed-by: default avatarMatthias Brugger <matthias.bgg@gmail.com>
      Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
      Link: https://lore.kernel.org/r/20200707103412.1010823-1-enric.balletbo@collabora.com
      a8f62f18
    • Alex Hung's avatar
      thermal: int3403_thermal: Downgrade error message · f3d7fb38
      Alex Hung authored
      Downgrade "Unsupported event" message from dev_err to dev_dbg to avoid
      flooding with this message on some platforms.
      
      Cc: stable@vger.kernel.org # v5.4+
      Suggested-by: default avatarZhang Rui <rui.zhang@intel.com>
      Signed-off-by: default avatarAlex Hung <alex.hung@canonical.com>
      [ rzhang: fix typo in changelog ]
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      Link: https://lore.kernel.org/r/20200615223957.183153-1-alex.hung@canonical.com
      f3d7fb38
  7. 14 Jul, 2020 4 commits
  8. 13 Jul, 2020 2 commits
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v5.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 0dc589da
      Linus Torvalds authored
      Pull iommu fixes from Joerg Roedel:
      
       - Fix a use-after-free of the device iommu-group. Found in the arm-smmu
         driver, but the fix is in generic code.
      
       - Fix for the new Allwinner IOMMU driver to use the atomic
         readl_timeout() variant in IO/TLB flushing code.
      
       - A couple of cleanups to fix various compile warnings.
      
      * tag 'iommu-fixes-v5.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/arm-smmu: Mark qcom_smmu_client_of_match as possibly unused
        iommu: Fix use-after-free in iommu_release_device
        iommu/amd: Make amd_iommu_apply_ivrs_quirks() static inline
        iommu: SUN50I_IOMMU should depend on HAS_DMA
        iommu/sun50i: Remove unused variable
        iommu/sun50i: Change the readl timeout to the atomic variant
      0dc589da
    • Linus Torvalds's avatar
      mm: document warning in move_normal_pmd() and make it warn only once · f81fdd0c
      Linus Torvalds authored
      Naresh Kamboju reported that the LTP tests can cause warnings on i386
      going back all the way to v5.0, and bisected it to commit 2c91bd4a
      ("mm: speed up mremap by 20x on large regions").
      
      The warning in move_normal_pmd() is actually mostly correct, but we have
      a very unusual special case at process creation time, when we may move
      the stack down with an overlapping mode (kind of like a "memmove()"
      except using the page tables).
      
      And when you have just the right condition of "move a large initial
      stack by the right alignment in the end, but with the early part of the
      move being only page-aligned", we'll be in a situation where we're
      trying to move a normal PMD entry on top of an already existing - but
      now empty - PMD entry.
      
      The warning is still worth having, in case it ever triggers other cases,
      and perhaps as a reminder that we could do the stack move case more
      efficiently (although it's clearly rare enough that it probably doesn't
      matter).
      
      But make it do WARN_ON_ONCE(), so that you can't flood the logs with it.
      
      And add a *big* comment above it to explain and remind us what's going
      on, because it took some figuring out to see how this could trigger.
      Kudos to Joel Fernandes for debugging this.
      Reported-by: default avatarNaresh Kamboju <naresh.kamboju@linaro.org>
      Debugged-and-acked-by: default avatarJoel Fernandes <joel@joelfernandes.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Kirill A. Shutemov <kirill@shutemov.name>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f81fdd0c
  9. 12 Jul, 2020 8 commits
  10. 11 Jul, 2020 5 commits