Skip to content

Commit 95c8a35

Browse files
committed
Merge tag 'mm-hotfixes-stable-2024-01-05-11-35' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Pull misc mm fixes from Andrew Morton: "12 hotfixes. Two are cc:stable and the remainder either address post-6.7 issues or aren't considered necessary for earlier kernel versions" * tag 'mm-hotfixes-stable-2024-01-05-11-35' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: mm: shrinker: use kvzalloc_node() from expand_one_shrinker_info() mailmap: add entries for Mathieu Othacehe MAINTAINERS: change vmware.com addresses to broadcom.com arch/mm/fault: fix major fault accounting when retrying under per-VMA lock mm/mglru: skip special VMAs in lru_gen_look_around() MAINTAINERS: hand over hwpoison maintainership to Miaohe Lin MAINTAINERS: remove hugetlb maintainer Mike Kravetz mm: fix unmap_mapping_range high bits shift bug mm: memcg: fix split queue list crash when large folio migration mm: fix arithmetic for max_prop_frac when setting max_ratio mm: fix arithmetic for bdi min_ratio mm: align larger anonymous mappings on THP boundaries
2 parents 0d3ac66 + 7fba942 commit 95c8a35

File tree

15 files changed

+52
-19
lines changed

15 files changed

+52
-19
lines changed

.mailmap

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ Martin Kepplinger <martink@posteo.de> <martin.kepplinger@ginzinger.com>
377377
Martin Kepplinger <martink@posteo.de> <martin.kepplinger@puri.sm>
378378
Martin Kepplinger <martink@posteo.de> <martin.kepplinger@theobroma-systems.com>
379379
Martyna Szapar-Mudlaw <martyna.szapar-mudlaw@linux.intel.com> <martyna.szapar-mudlaw@intel.com>
380-
Mathieu Othacehe <m.othacehe@gmail.com>
380+
Mathieu Othacehe <m.othacehe@gmail.com> <othacehe@gnu.org>
381381
Mat Martineau <martineau@kernel.org> <mathew.j.martineau@linux.intel.com>
382382
Mat Martineau <martineau@kernel.org> <mathewm@codeaurora.org>
383383
Matthew Wilcox <willy@infradead.org> <matthew.r.wilcox@intel.com>
@@ -638,4 +638,5 @@ Wolfram Sang <wsa@kernel.org> <w.sang@pengutronix.de>
638638
Wolfram Sang <wsa@kernel.org> <wsa@the-dreams.de>
639639
Yakir Yang <kuankuan.y@gmail.com> <ykk@rock-chips.com>
640640
Yusuke Goda <goda.yusuke@renesas.com>
641+
Zack Rusin <zack.rusin@broadcom.com> <zackr@vmware.com>
641642
Zhu Yanjun <zyjzyj2000@gmail.com> <yanjunz@nvidia.com>

CREDITS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2130,6 +2130,10 @@ S: 2213 La Terrace Circle
21302130
S: San Jose, CA 95123
21312131
S: USA
21322132

2133+
N: Mike Kravetz
2134+
E: mike.kravetz@oracle.com
2135+
D: Maintenance and development of the hugetlb subsystem
2136+
21332137
N: Andreas S. Krebs
21342138
E: akrebs@altavista.net
21352139
D: CYPRESS CY82C693 chipset IDE, Digital's PC-Alpha 164SX boards

MAINTAINERS

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6901,8 +6901,8 @@ T: git git://anongit.freedesktop.org/drm/drm-misc
69016901
F: drivers/gpu/drm/vboxvideo/
69026902

69036903
DRM DRIVER FOR VMWARE VIRTUAL GPU
6904-
M: Zack Rusin <zackr@vmware.com>
6905-
R: VMware Graphics Reviewers <linux-graphics-maintainer@vmware.com>
6904+
M: Zack Rusin <zack.rusin@broadcom.com>
6905+
R: Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
69066906
L: dri-devel@lists.freedesktop.org
69076907
S: Supported
69086908
T: git git://anongit.freedesktop.org/drm/drm-misc
@@ -9767,7 +9767,6 @@ F: Documentation/networking/device_drivers/ethernet/huawei/hinic.rst
97679767
F: drivers/net/ethernet/huawei/hinic/
97689768

97699769
HUGETLB SUBSYSTEM
9770-
M: Mike Kravetz <mike.kravetz@oracle.com>
97719770
M: Muchun Song <muchun.song@linux.dev>
97729771
L: linux-mm@kvack.org
97739772
S: Maintained
@@ -9791,8 +9790,8 @@ T: git git://linuxtv.org/media_tree.git
97919790
F: drivers/media/platform/st/sti/hva
97929791

97939792
HWPOISON MEMORY FAILURE HANDLING
9794-
M: Naoya Horiguchi <naoya.horiguchi@nec.com>
9795-
R: Miaohe Lin <linmiaohe@huawei.com>
9793+
M: Miaohe Lin <linmiaohe@huawei.com>
9794+
R: Naoya Horiguchi <naoya.horiguchi@nec.com>
97969795
L: linux-mm@kvack.org
97979796
S: Maintained
97989797
F: mm/hwpoison-inject.c
@@ -23215,9 +23214,8 @@ F: drivers/misc/vmw_vmci/
2321523214
F: include/linux/vmw_vmci*
2321623215

2321723216
VMWARE VMMOUSE SUBDRIVER
23218-
M: Zack Rusin <zackr@vmware.com>
23219-
R: VMware Graphics Reviewers <linux-graphics-maintainer@vmware.com>
23220-
R: VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
23217+
M: Zack Rusin <zack.rusin@broadcom.com>
23218+
R: Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
2322123219
L: linux-input@vger.kernel.org
2322223220
S: Supported
2322323221
F: drivers/input/mouse/vmmouse.c

arch/arm64/mm/fault.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -607,6 +607,8 @@ static int __kprobes do_page_fault(unsigned long far, unsigned long esr,
607607
goto done;
608608
}
609609
count_vm_vma_lock_event(VMA_LOCK_RETRY);
610+
if (fault & VM_FAULT_MAJOR)
611+
mm_flags |= FAULT_FLAG_TRIED;
610612

611613
/* Quick path to respond to signals */
612614
if (fault_signal_pending(fault, regs)) {

arch/powerpc/mm/fault.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -497,6 +497,8 @@ static int ___do_page_fault(struct pt_regs *regs, unsigned long address,
497497
goto done;
498498
}
499499
count_vm_vma_lock_event(VMA_LOCK_RETRY);
500+
if (fault & VM_FAULT_MAJOR)
501+
flags |= FAULT_FLAG_TRIED;
500502

501503
if (fault_signal_pending(fault, regs))
502504
return user_mode(regs) ? 0 : SIGBUS;

arch/riscv/mm/fault.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,8 @@ void handle_page_fault(struct pt_regs *regs)
304304
goto done;
305305
}
306306
count_vm_vma_lock_event(VMA_LOCK_RETRY);
307+
if (fault & VM_FAULT_MAJOR)
308+
flags |= FAULT_FLAG_TRIED;
307309

308310
if (fault_signal_pending(fault, regs)) {
309311
if (!user_mode(regs))

arch/s390/mm/fault.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,9 @@ static void do_exception(struct pt_regs *regs, int access)
337337
return;
338338
}
339339
count_vm_vma_lock_event(VMA_LOCK_RETRY);
340+
if (fault & VM_FAULT_MAJOR)
341+
flags |= FAULT_FLAG_TRIED;
342+
340343
/* Quick path to respond to signals */
341344
if (fault_signal_pending(fault, regs)) {
342345
if (!user_mode(regs))

arch/x86/mm/fault.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1370,6 +1370,8 @@ void do_user_addr_fault(struct pt_regs *regs,
13701370
goto done;
13711371
}
13721372
count_vm_vma_lock_event(VMA_LOCK_RETRY);
1373+
if (fault & VM_FAULT_MAJOR)
1374+
flags |= FAULT_FLAG_TRIED;
13731375

13741376
/* Quick path to respond to signals */
13751377
if (fault_signal_pending(fault, regs)) {

mm/huge_memory.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2823,7 +2823,7 @@ void folio_undo_large_rmappable(struct folio *folio)
28232823
spin_lock_irqsave(&ds_queue->split_queue_lock, flags);
28242824
if (!list_empty(&folio->_deferred_list)) {
28252825
ds_queue->split_queue_len--;
2826-
list_del(&folio->_deferred_list);
2826+
list_del_init(&folio->_deferred_list);
28272827
}
28282828
spin_unlock_irqrestore(&ds_queue->split_queue_lock, flags);
28292829
}

mm/memcontrol.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7543,6 +7543,17 @@ void mem_cgroup_migrate(struct folio *old, struct folio *new)
75437543

75447544
/* Transfer the charge and the css ref */
75457545
commit_charge(new, memcg);
7546+
/*
7547+
* If the old folio is a large folio and is in the split queue, it needs
7548+
* to be removed from the split queue now, in case getting an incorrect
7549+
* split queue in destroy_large_folio() after the memcg of the old folio
7550+
* is cleared.
7551+
*
7552+
* In addition, the old folio is about to be freed after migration, so
7553+
* removing from the split queue a bit earlier seems reasonable.
7554+
*/
7555+
if (folio_test_large(old) && folio_test_large_rmappable(old))
7556+
folio_undo_large_rmappable(old);
75467557
old->memcg_data = 0;
75477558
}
75487559

0 commit comments

Comments
 (0)