This is the start of the stable review cycle for the 5.4.63 release.
There are 16 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Sun, 06 Sep 2020 12:02:48 +0000.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.63-rc1…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 5.4.63-rc1
Bodo Stroesser <bstroesser(a)ts.fujitsu.com>
scsi: target: tcmu: Optimize use of flush_dcache_page
Bodo Stroesser <bstroesser(a)ts.fujitsu.com>
scsi: target: tcmu: Fix size in calls to tcmu_flush_dcache_range
Sowjanya Komatineni <skomatineni(a)nvidia.com>
sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra186
Sowjanya Komatineni <skomatineni(a)nvidia.com>
sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra210
Sowjanya Komatineni <skomatineni(a)nvidia.com>
arm64: tegra: Add missing timeout clock to Tegra210 SDMMC
Sowjanya Komatineni <skomatineni(a)nvidia.com>
arm64: tegra: Add missing timeout clock to Tegra186 SDMMC nodes
Sowjanya Komatineni <skomatineni(a)nvidia.com>
arm64: tegra: Add missing timeout clock to Tegra194 SDMMC nodes
Sowjanya Komatineni <skomatineni(a)nvidia.com>
dt-bindings: mmc: tegra: Add tmclk for Tegra210 and later
James Morse <james.morse(a)arm.com>
KVM: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception
James Morse <james.morse(a)arm.com>
KVM: arm64: Survive synchronous exceptions caused by AT instructions
James Morse <james.morse(a)arm.com>
KVM: arm64: Add kvm_extable for vaxorcism code
Lucas Stach <l.stach(a)pengutronix.de>
drm/etnaviv: fix TS cache flushing on GPUs with BLT engine
Andrey Grodzovsky <andrey.grodzovsky(a)amd.com>
drm/sched: Fix passing zero to 'PTR_ERR' warning v2
Kim Phillips <kim.phillips(a)amd.com>
perf record/stat: Explicitly call out event modifiers in the documentation
Marc Zyngier <maz(a)kernel.org>
HID: core: Sanitize event code and type when mapping input
Marc Zyngier <maz(a)kernel.org>
HID: core: Correctly handle ReportSize being zero
-------------
Diffstat:
.../bindings/mmc/nvidia,tegra20-sdhci.txt | 32 ++++++++++-
Makefile | 4 +-
arch/arm64/boot/dts/nvidia/tegra186.dtsi | 20 ++++---
arch/arm64/boot/dts/nvidia/tegra194.dtsi | 15 +++--
arch/arm64/boot/dts/nvidia/tegra210.dtsi | 20 ++++---
arch/arm64/include/asm/kvm_arm.h | 3 +-
arch/arm64/include/asm/kvm_asm.h | 43 ++++++++++++++
arch/arm64/kernel/vmlinux.lds.S | 8 +++
arch/arm64/kvm/hyp/entry.S | 15 +++--
arch/arm64/kvm/hyp/hyp-entry.S | 65 ++++++++++++++--------
arch/arm64/kvm/hyp/switch.c | 39 +++++++++++--
drivers/gpu/drm/etnaviv/etnaviv_buffer.c | 60 ++++++++++++++++++--
drivers/gpu/drm/etnaviv/state_blt.xml.h | 2 +
drivers/gpu/drm/scheduler/sched_main.c | 7 ++-
drivers/hid/hid-core.c | 15 ++++-
drivers/hid/hid-input.c | 4 ++
drivers/hid/hid-multitouch.c | 2 +
drivers/mmc/host/sdhci-tegra.c | 2 -
drivers/target/target_core_user.c | 15 +++--
include/linux/hid.h | 42 +++++++++-----
tools/perf/Documentation/perf-record.txt | 4 ++
tools/perf/Documentation/perf-stat.txt | 4 ++
22 files changed, 329 insertions(+), 92 deletions(-)
From: SeongJae Park <sjpark(a)amazon.de>
Hello,
We found below 27 commits in the 'v5.5..linus/master (upstream)' seems fixing or mentioning
commits in the 'v5.4..stable/linux-5.4.y (downstream)' but are not merged in the 'downstream' yet.
Could you please review if those need to be merged in?
A commit is considered as fix of another if the complete 'Fixed:' tag is in the
commit message. If the tag is not found but the commit message contains the
title or the hash id of the other commit, it is considered mentioning it. So,
the 'mentions' might have many false positives, but it could cover the typos (I
found such cases before).
The commits are grouped as 'fixes cleanly applicable', 'fixes not cleanly
applicable (need manual backporting to be applied)', 'mentions cleanly
applicable', and 'mentions not cleanly applicable'. Also, the commits in each
group are sorted by the commit dates (oldest first).
Both the finding of the commits and the writeup of this report is automatically
done by a little script[1]. I'm going to run the tool and post this kind of
report every couple of weeks or every month. Any comment (e.g., regarding
posting period, new features request, bug report, ...) is welcome.
Especially, if you find some commits that don't need to be merged in the
downstream, please let me know so that I can mark those as unnecessary and
don't bother you again.
[1] https://github.com/sjp38/stream-track
Thanks,
SeongJae
# v5.5: 4e3112a240ba9986cc3f67a6880da6529a955006
# linus/master: 15bc20c6af4ceee97a1f90b43c0e386643c071b4
# v5.4: 6e815efe19a99a33b16cc720c3d3a727565a4fa1
# stable/linux-5.4.y: 6576d69aac94cd8409636dfa86e0df39facdf0d2
Fixes cleanly applicable
------------------------
2fb75ceaf71a ("remoteproc: Add missing '\n' in log messages")
# commit date: 2020-04-22, author: Christophe JAILLET <christophe.jaillet(a)wanadoo.fr>
# fixes 'remoteproc: Fix NULL pointer dereference in rproc_virtio_notify'
1b9ae0c92925 ("wireless: Use linux/stddef.h instead of stddef.h")
# commit date: 2020-05-27, author: Hauke Mehrtens <hauke(a)hauke-m.de>
# fixes 'wireless: Use offsetof instead of custom macro.'
e4b0e41fee94 ("ALSA: usb-audio: Use the new macro for HP Dock rename quirks")
# commit date: 2020-06-08, author: Takashi Iwai <tiwai(a)suse.de>
# fixes 'ALSA: usb-audio: Add vendor, product and profile name for HP Thunderbolt Dock'
efb94790852a ("drm/panel-simple: fix connector type for LogicPD Type28 Display")
# commit date: 2020-06-21, author: Adam Ford <aford173(a)gmail.com>
# fixes 'drm/panel: simple: Add Logic PD Type 28 display support'
2f57b8d57673 ("dmaengine: imx-sdma: Fix: Remove 'always true' comparison")
# commit date: 2020-06-24, author: Fabio Estevam <festevam(a)gmail.com>
# fixes 'dmaengine: imx-sdma: Fix the event id check to include RX event for UART6'
10de795a5add ("kprobes: Fix compiler warning for !CONFIG_KPROBES_ON_FTRACE")
# commit date: 2020-08-06, author: Muchun Song <songmuchun(a)bytedance.com>
# fixes 'kprobes: Fix NULL pointer dereference at kprobe_ftrace_handler'
Fixes not cleanly applicable
----------------------------
3907ccfaec5d ("crypto: atmel-aes - Fix CTR counter overflow when multiple fragments")
# commit date: 2019-12-20, author: Tudor Ambarus <tudor.ambarus(a)microchip.com>
# fixes 'crypto: atmel-aes - Fix counter overflow in CTR mode'
9210c075cef2 ("nvme-pci: avoid race between nvme_reap_pending_cqes() and nvme_poll()")
# commit date: 2020-05-27, author: Dongli Zhang <dongli.zhang(a)oracle.com>
# fixes 'nvme/pci: move cqe check after device shutdown'
6e2f83884c09 ("bnxt_en: Fix AER reset logic on 57500 chips.")
# commit date: 2020-06-15, author: Michael Chan <michael.chan(a)broadcom.com>
# fixes 'bnxt_en: Improve AER slot reset.'
695cf5ab401c ("ALSA: usb-audio: Fix packet size calculation")
# commit date: 2020-06-30, author: Alexander Tsoy <alexander(a)tsoy.me>
# fixes 'ALSA: usb-audio: Improve frames size computation'
2fb2799a2abb ("net: rmnet: do not allow to add multiple bridge interfaces")
# commit date: 2020-07-04, author: Taehee Yoo <ap420073(a)gmail.com>
# fixes 'net: rmnet: use upper/lower device infrastructure'
Mentions cleanly applicable
---------------------------
32ada3b9e04c ("x86/resctrl: Clean up unused function parameter in mkdir path")
# commit date: 2020-01-20, author: Xiaochen Shen <xiaochen.shen(a)intel.com>
# mentions 'x86/resctrl: Fix a deadlock due to inaccurate reference'
20f513091caf ("crypto: ccree - remove set but not used variable 'du_size'")
# commit date: 2020-02-13, author: YueHaibing <yuehaibing(a)huawei.com>
# mentions 'crypto: ccree - fix FDE descriptor sequence'
b182a66792fe ("net: ena: remove set but not used variable 'hash_key'")
# commit date: 2020-02-17, author: YueHaibing <yuehaibing(a)huawei.com>
# mentions 'net: ena: rss: do not allocate key when not supported'
cbb5494ebce5 ("Revert "thunderbolt: Prevent crash if non-active NVMem file is read"")
# commit date: 2020-04-16, author: Nicholas Johnson <nicholas.johnson-opensource(a)outlook.com.au>
# mentions 'thunderbolt: Prevent crash if non-active NVMem file is read'
1a33e10e4a95 ("net: partially revert dynamic lockdep key changes")
# commit date: 2020-05-04, author: Cong Wang <xiyou.wangcong(a)gmail.com>
# mentions 'bonding: add missing netdev_update_lockdep_key()'
7e579f3a074c ("tools arch x86 uapi: Synch asm/unistd.h with the kernel sources")
# commit date: 2020-06-09, author: Arnaldo Carvalho de Melo <acme(a)redhat.com>
# mentions 'x86/syscalls: Revert "x86/syscalls: Make __X32_SYSCALL_BIT be unsigned long"'
c3dbe541ef77 ("blktrace: Avoid sparse warnings when assigning q->blk_trace")
# commit date: 2020-06-17, author: Jan Kara <jack(a)suse.cz>
# mentions 'blktrace: Protect q->blk_trace with RCU'
6d548b9e5d56 ("btrfs: fix reclaim_size counter leak after stealing from global reserve")
# commit date: 2020-07-02, author: Filipe Manana <fdmanana(a)suse.com>
# mentions 'btrfs: improve global reserve stealing logic'
Mentions not cleanly applicable
-------------------------------
6dbd54e4154d ("Revert "tty/serial: atmel: fix out of range clock divider handling"")
# commit date: 2019-12-18, author: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
# mentions 'tty/serial: atmel: fix out of range clock divider handling'
48d7fb181a91 ("drm/i915: Remove lite restore defines")
# commit date: 2020-02-08, author: Mika Kuoppala <mika.kuoppala(a)linux.intel.com>
# mentions 'drm/i915/gt: Detect if we miss WaIdleLiteRestore'
ff7e06a55676 ("ALSA: pcm: oss: Fix regression by buffer overflow fix (again)")
# commit date: 2020-04-03, author: Takashi Iwai <tiwai(a)suse.de>
# mentions 'ALSA: pcm: oss: Avoid plugin buffer overflow'
ac957e8c5411 ("ALSA: pcm: oss: Place the plugin buffer overflow checks correctly (for 5.7)")
# commit date: 2020-04-24, author: Takashi Iwai <tiwai(a)suse.de>
# mentions 'ALSA: pcm: oss: Avoid plugin buffer overflow'
e7511f560f54 ("bonding: remove useless stats_lock_key")
# commit date: 2020-05-04, author: Cong Wang <xiyou.wangcong(a)gmail.com>
# mentions 'bonding: fix lockdep warning in bond_get_stats()'
39f23ce07b93 ("sched/fair: Fix unthrottle_cfs_rq() for leaf_cfs_rq list")
# commit date: 2020-05-19, author: Vincent Guittot <vincent.guittot(a)linaro.org>
# mentions 'sched/fair: Fix enqueue_task_fair warning'
8ab3a3812aa9 ("drm/i915/gt: Incrementally check for rewinding")
# commit date: 2020-06-16, author: Chris Wilson <chris(a)chris-wilson.co.uk>
# mentions 'drm/i915/execlists: Always force a context reload when rewinding RING_TAIL'
5e548b32018d ("btrfs: do not set the full sync flag on the inode during page release")
# commit date: 2020-07-27, author: Filipe Manana <fdmanana(a)suse.com>
# mentions 'btrfs: fix race between page release and a fast fsync'
Hi
[This is an automated email]
This commit has been processed because it contains a -stable tag.
The stable tag indicates that it's relevant for the following trees: all
The bot has tested the following trees: v5.8.6, v5.4.62, v4.19.143, v4.14.196, v4.9.235, v4.4.235.
v5.8.6: Build OK!
v5.4.62: Build OK!
v4.19.143: Failed to apply! Possible dependencies:
458a3bf82df4 ("lib/string: Add strscpy_pad() function")
f51a03c82ca3 ("lib/string.c: implement stpcpy")
v4.14.196: Failed to apply! Possible dependencies:
458a3bf82df4 ("lib/string: Add strscpy_pad() function")
f51a03c82ca3 ("lib/string.c: implement stpcpy")
v4.9.235: Failed to apply! Possible dependencies:
458a3bf82df4 ("lib/string: Add strscpy_pad() function")
f51a03c82ca3 ("lib/string.c: implement stpcpy")
v4.4.235: Failed to apply! Possible dependencies:
458a3bf82df4 ("lib/string: Add strscpy_pad() function")
f51a03c82ca3 ("lib/string.c: implement stpcpy")
NOTE: The patch will not be queued to stable trees until it is upstream.
How should we proceed with this patch?
--
Thanks
Sasha
Hi
[This is an automated email]
This commit has been processed because it contains a -stable tag.
The stable tag indicates that it's relevant for the following trees: all
The bot has tested the following trees: v5.8.6, v5.4.62, v4.19.143, v4.14.196, v4.9.235, v4.4.235.
v5.8.6: Failed to apply! Possible dependencies:
fb46d057db82 ("x86: Add support for ZSTD compressed kernel")
v5.4.62: Failed to apply! Possible dependencies:
003602ad5516 ("x86/*/Makefile: Use -fno-asynchronous-unwind-tables to suppress .eh_frame sections")
9e2276fa6eb3 ("arch/x86/boot: Use prefix map to avoid embedded paths")
fb46d057db82 ("x86: Add support for ZSTD compressed kernel")
v4.19.143: Failed to apply! Possible dependencies:
003602ad5516 ("x86/*/Makefile: Use -fno-asynchronous-unwind-tables to suppress .eh_frame sections")
30cc0b6c1220 ("doc: add boot protocol 2.13 description to Documentation/x86/boot.txt")
384184044981 ("x86/boot: Mostly revert commit ae7e1238e68f2a ("Add ACPI RSDP address to setup_header")")
9e2276fa6eb3 ("arch/x86/boot: Use prefix map to avoid embedded paths")
ae7e1238e68f ("x86/boot: Add ACPI RSDP address to setup_header")
c5ed311b4e31 ("x86, boot: documentation whitespace fixup")
f1f238a9f1ca ("Documentation: x86: convert boot.txt to reST")
fb46d057db82 ("x86: Add support for ZSTD compressed kernel")
v4.14.196: Failed to apply! Possible dependencies:
003602ad5516 ("x86/*/Makefile: Use -fno-asynchronous-unwind-tables to suppress .eh_frame sections")
0b3e336601b8 ("arm64: Add support for STACKLEAK gcc plugin")
1fc5dce78ad1 ("arm64/sve: Low-level SVE architectural state manipulation functions")
2d2123bc7c7f ("arm64/sve: Add prctl controls for userspace vector length management")
33b6d03469b2 ("efi: call get_event_log before ExitBootServices")
36b649760e94 ("efi: Use string literals for efi_char16_t variable initializers")
3db5e0ba8b8f ("efi/libstub: Disable some warnings for x86{,_64}")
6c3b56b19730 ("x86/boot: Disable Clang warnings about GNU extensions")
7582e22038a2 ("arm64/sve: Backend logic for setting the vector length")
9e2276fa6eb3 ("arch/x86/boot: Use prefix map to avoid embedded paths")
9e8084d3f761 ("arm64: Implement thread_struct whitelist for hardened usercopy")
bc0ee4760364 ("arm64/sve: Core task context handling")
ce279d374ff3 ("efi/libstub: Only disable stackleak plugin for arm64")
dca5203e3fe2 ("x86/boot: Add -Wno-pointer-sign to KBUILD_CFLAGS")
f779ca740f25 ("efi: Make const array 'apple' static")
v4.9.235: Failed to apply! Possible dependencies:
003602ad5516 ("x86/*/Makefile: Use -fno-asynchronous-unwind-tables to suppress .eh_frame sections")
06cbbac0f57d ("x86/build: Don't use $(LINUXINCLUDE) twice")
0acba3f91823 ("x86/boot/build: Remove always empty $(USERINCLUDE)")
2959c95d510c ("efi/capsule: Add support for Quark security header")
36b649760e94 ("efi: Use string literals for efi_char16_t variable initializers")
3db5e0ba8b8f ("efi/libstub: Disable some warnings for x86{,_64}")
46cd4b75cd0e ("efi: Add device path parser")
5520b7e7d2d2 ("x86/boot/e820: Remove spurious asm/e820/api.h inclusions")
568bc4e87033 ("efi/arm*/libstub: Invoke EFI_RNG_PROTOCOL to seed the UEFI RNG table")
58c5475aba67 ("x86/efi: Retrieve and assign Apple device properties")
66441bd3cfdc ("x86/boot/e820: Move asm/e820.h to asm/e820/api.h")
6c3b56b19730 ("x86/boot: Disable Clang warnings about GNU extensions")
70a9d8184cce ("x86/boot/e820: Introduce arch/x86/include/asm/e820/types.h")
846221cfb8f6 ("Remove references to dead make variable LINUX_INCLUDE")
9d2f86c6cad5 ("x86: Make E820_X_MAX unconditionally larger than E820MAX")
9e2276fa6eb3 ("arch/x86/boot: Use prefix map to avoid embedded paths")
dca5203e3fe2 ("x86/boot: Add -Wno-pointer-sign to KBUILD_CFLAGS")
f779ca740f25 ("efi: Make const array 'apple' static")
v4.4.235: Failed to apply! Possible dependencies:
0acba3f91823 ("x86/boot/build: Remove always empty $(USERINCLUDE)")
21266be9ed54 ("arch: consolidate CONFIG_STRICT_DEVM in lib/Kconfig.debug")
9e2276fa6eb3 ("arch/x86/boot: Use prefix map to avoid embedded paths")
c6d308534aef ("UBSAN: run-time undefined behavior sanity checker")
NOTE: The patch will not be queued to stable trees until it is upstream.
How should we proceed with this patch?
--
Thanks
Sasha
Hi
[This is an automated email]
This commit has been processed because it contains a -stable tag.
The stable tag indicates that it's relevant for the following trees: all
The bot has tested the following trees: v5.8.6, v5.4.62, v4.19.143, v4.14.196, v4.9.235, v4.4.235.
v5.8.6: Build OK!
v5.4.62: Build OK!
v4.19.143: Failed to apply! Possible dependencies:
458a3bf82df4 ("lib/string: Add strscpy_pad() function")
v4.14.196: Failed to apply! Possible dependencies:
458a3bf82df4 ("lib/string: Add strscpy_pad() function")
v4.9.235: Failed to apply! Possible dependencies:
458a3bf82df4 ("lib/string: Add strscpy_pad() function")
v4.4.235: Failed to apply! Possible dependencies:
458a3bf82df4 ("lib/string: Add strscpy_pad() function")
NOTE: The patch will not be queued to stable trees until it is upstream.
How should we proceed with this patch?
--
Thanks
Sasha
A migrating transparent huge page has to already be unmapped. Otherwise,
the page could be modified while it is being copied to a new page and
data could be lost. The function __split_huge_pmd() checks for a PMD
migration entry before calling __split_huge_pmd_locked() leading one to
think that __split_huge_pmd_locked() can handle splitting a migrating PMD.
However, the code always increments the page->_mapcount and adjusts the
memory control group accounting assuming the page is mapped.
Also, if the PMD entry is a migration PMD entry, the call to
is_huge_zero_pmd(*pmd) is incorrect because it calls pmd_pfn(pmd) instead
of migration_entry_to_pfn(pmd_to_swp_entry(pmd)).
Fix these problems by checking for a PMD migration entry.
Fixes: 84c3fc4e9c56 ("mm: thp: check pmd migration entry in common path")
cc: stable(a)vger.kernel.org # 4.14+
Signed-off-by: Ralph Campbell <rcampbell(a)nvidia.com>
Reviewed-by: Yang Shi <shy828301(a)gmail.com>
Reviewed-by: Zi Yan <ziy(a)nvidia.com>
---
No changes in v3 to this patch, just added reviewed-by and fixes to the
change log and sending this as a separate patch from the rest of the
series ("mm/hmm/nouveau: add THP migration to migrate_vma_*").
I'll hold off resending the series without this patch unless there are
changes needed.
mm/huge_memory.c | 42 +++++++++++++++++++++++-------------------
1 file changed, 23 insertions(+), 19 deletions(-)
diff --git a/mm/huge_memory.c b/mm/huge_memory.c
index 2a468a4acb0a..606d712d9505 100644
--- a/mm/huge_memory.c
+++ b/mm/huge_memory.c
@@ -2023,7 +2023,7 @@ static void __split_huge_pmd_locked(struct vm_area_struct *vma, pmd_t *pmd,
put_page(page);
add_mm_counter(mm, mm_counter_file(page), -HPAGE_PMD_NR);
return;
- } else if (is_huge_zero_pmd(*pmd)) {
+ } else if (pmd_trans_huge(*pmd) && is_huge_zero_pmd(*pmd)) {
/*
* FIXME: Do we want to invalidate secondary mmu by calling
* mmu_notifier_invalidate_range() see comments below inside
@@ -2117,30 +2117,34 @@ static void __split_huge_pmd_locked(struct vm_area_struct *vma, pmd_t *pmd,
pte = pte_offset_map(&_pmd, addr);
BUG_ON(!pte_none(*pte));
set_pte_at(mm, addr, pte, entry);
- atomic_inc(&page[i]._mapcount);
- pte_unmap(pte);
- }
-
- /*
- * Set PG_double_map before dropping compound_mapcount to avoid
- * false-negative page_mapped().
- */
- if (compound_mapcount(page) > 1 && !TestSetPageDoubleMap(page)) {
- for (i = 0; i < HPAGE_PMD_NR; i++)
+ if (!pmd_migration)
atomic_inc(&page[i]._mapcount);
+ pte_unmap(pte);
}
- lock_page_memcg(page);
- if (atomic_add_negative(-1, compound_mapcount_ptr(page))) {
- /* Last compound_mapcount is gone. */
- __dec_lruvec_page_state(page, NR_ANON_THPS);
- if (TestClearPageDoubleMap(page)) {
- /* No need in mapcount reference anymore */
+ if (!pmd_migration) {
+ /*
+ * Set PG_double_map before dropping compound_mapcount to avoid
+ * false-negative page_mapped().
+ */
+ if (compound_mapcount(page) > 1 &&
+ !TestSetPageDoubleMap(page)) {
for (i = 0; i < HPAGE_PMD_NR; i++)
- atomic_dec(&page[i]._mapcount);
+ atomic_inc(&page[i]._mapcount);
+ }
+
+ lock_page_memcg(page);
+ if (atomic_add_negative(-1, compound_mapcount_ptr(page))) {
+ /* Last compound_mapcount is gone. */
+ __dec_lruvec_page_state(page, NR_ANON_THPS);
+ if (TestClearPageDoubleMap(page)) {
+ /* No need in mapcount reference anymore */
+ for (i = 0; i < HPAGE_PMD_NR; i++)
+ atomic_dec(&page[i]._mapcount);
+ }
}
+ unlock_page_memcg(page);
}
- unlock_page_memcg(page);
smp_wmb(); /* make pte visible before pmd */
pmd_populate(mm, pmd, pgtable);
--
2.20.1
With the current implementation the following race can happen:
* blk_pre_runtime_suspend() calls blk_freeze_queue_start() and
blk_mq_unfreeze_queue().
* blk_queue_enter() calls blk_queue_pm_only() and that function returns
true.
* blk_queue_enter() calls blk_pm_request_resume() and that function does
not call pm_request_resume() because the queue runtime status is
RPM_ACTIVE.
* blk_pre_runtime_suspend() changes the queue status into RPM_SUSPENDING.
Fix this race by changing the queue runtime status into RPM_SUSPENDING
before switching q_usage_counter to atomic mode.
Acked-by: Alan Stern <stern(a)rowland.harvard.edu>
Acked-by: Stanley Chu <stanley.chu(a)mediatek.com>
Cc: Ming Lei <ming.lei(a)redhat.com>
Cc: Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
Cc: stable <stable(a)vger.kernel.org>
Fixes: 986d413b7c15 ("blk-mq: Enable support for runtime power management")
Signed-off-by: Can Guo <cang(a)codeaurora.org>
Signed-off-by: Bart Van Assche <bvanassche(a)acm.org>
---
block/blk-pm.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/block/blk-pm.c b/block/blk-pm.c
index b85234d758f7..17bd020268d4 100644
--- a/block/blk-pm.c
+++ b/block/blk-pm.c
@@ -67,6 +67,10 @@ int blk_pre_runtime_suspend(struct request_queue *q)
WARN_ON_ONCE(q->rpm_status != RPM_ACTIVE);
+ spin_lock_irq(&q->queue_lock);
+ q->rpm_status = RPM_SUSPENDING;
+ spin_unlock_irq(&q->queue_lock);
+
/*
* Increase the pm_only counter before checking whether any
* non-PM blk_queue_enter() calls are in progress to avoid that any
@@ -89,15 +93,14 @@ int blk_pre_runtime_suspend(struct request_queue *q)
/* Switch q_usage_counter back to per-cpu mode. */
blk_mq_unfreeze_queue(q);
- spin_lock_irq(&q->queue_lock);
- if (ret < 0)
+ if (ret < 0) {
+ spin_lock_irq(&q->queue_lock);
+ q->rpm_status = RPM_ACTIVE;
pm_runtime_mark_last_busy(q->dev);
- else
- q->rpm_status = RPM_SUSPENDING;
- spin_unlock_irq(&q->queue_lock);
+ spin_unlock_irq(&q->queue_lock);
- if (ret)
blk_clear_pm_only(q);
+ }
return ret;
}
Good day,
Im Becky Su the Purchase Manager of Yushin Exports Trading Co.Ltd. Also Trading as Uniqa Dental A general merchandise company.
We are interested in your products, can you supply so I will forward our Bulk purchase proposal immediately For your Quotes .
Thanks & regards,
Export Department of Yushin Group
Becky Su
Purchase Manager
This is the start of the stable review cycle for the 5.8.7 release.
There are 17 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Sun, 06 Sep 2020 12:02:48 +0000.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.8.7-rc1.…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.8.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 5.8.7-rc1
Bodo Stroesser <bstroesser(a)ts.fujitsu.com>
scsi: target: tcmu: Optimize use of flush_dcache_page
Johannes Berg <johannes.berg(a)intel.com>
nl80211: fix NL80211_ATTR_HE_6GHZ_CAPABILITY usage
Sowjanya Komatineni <skomatineni(a)nvidia.com>
sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra186
Sowjanya Komatineni <skomatineni(a)nvidia.com>
sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra210
Sowjanya Komatineni <skomatineni(a)nvidia.com>
arm64: tegra: Add missing timeout clock to Tegra210 SDMMC
Sowjanya Komatineni <skomatineni(a)nvidia.com>
arm64: tegra: Add missing timeout clock to Tegra186 SDMMC nodes
Sowjanya Komatineni <skomatineni(a)nvidia.com>
arm64: tegra: Add missing timeout clock to Tegra194 SDMMC nodes
Sowjanya Komatineni <skomatineni(a)nvidia.com>
dt-bindings: mmc: tegra: Add tmclk for Tegra210 and later
James Morse <james.morse(a)arm.com>
KVM: arm64: Survive synchronous exceptions caused by AT instructions
James Morse <james.morse(a)arm.com>
KVM: arm64: Add kvm_extable for vaxorcism code
Peilin Ye <yepeilin.cs(a)gmail.com>
media: media/v4l2-core: Fix kernel-infoleak in video_put_user()
Kim Phillips <kim.phillips(a)amd.com>
perf record/stat: Explicitly call out event modifiers in the documentation
Andy Lutomirski <luto(a)kernel.org>
selftests/x86/test_vsyscall: Improve the process_vm_readv() test
Dave Hansen <dave.hansen(a)linux.intel.com>
mm: fix pin vs. gup mismatch with gate pages
Stefano Brivio <sbrivio(a)redhat.com>
netfilter: nft_set_rbtree: Handle outcomes of tree rotations in overlap detection
Marc Zyngier <maz(a)kernel.org>
HID: core: Sanitize event code and type when mapping input
Marc Zyngier <maz(a)kernel.org>
HID: core: Correctly handle ReportSize being zero
-------------
Diffstat:
.../bindings/mmc/nvidia,tegra20-sdhci.txt | 32 ++++++++++-
Makefile | 4 +-
arch/arm64/boot/dts/nvidia/tegra186.dtsi | 20 ++++---
arch/arm64/boot/dts/nvidia/tegra194.dtsi | 15 +++--
arch/arm64/boot/dts/nvidia/tegra210.dtsi | 20 ++++---
arch/arm64/include/asm/kvm_asm.h | 43 ++++++++++++++
arch/arm64/kernel/vmlinux.lds.S | 8 +++
arch/arm64/kvm/hyp/entry.S | 15 +++--
arch/arm64/kvm/hyp/hyp-entry.S | 65 ++++++++++++++--------
arch/arm64/kvm/hyp/switch.c | 39 +++++++++++--
drivers/hid/hid-core.c | 15 ++++-
drivers/hid/hid-input.c | 4 ++
drivers/hid/hid-multitouch.c | 2 +
drivers/media/v4l2-core/v4l2-ioctl.c | 50 +++++++++--------
drivers/mmc/host/sdhci-tegra.c | 2 -
drivers/target/target_core_user.c | 11 ++--
include/linux/hid.h | 42 +++++++++-----
mm/gup.c | 2 +-
net/netfilter/nft_set_rbtree.c | 23 +++++---
net/wireless/nl80211.c | 2 +-
tools/perf/Documentation/perf-record.txt | 4 ++
tools/perf/Documentation/perf-stat.txt | 4 ++
tools/testing/selftests/x86/test_vsyscall.c | 22 +++++++-
23 files changed, 326 insertions(+), 118 deletions(-)