Skip to content

Commit b95f03f

Browse files
committed
Merge tag 'mm-hotfixes-stable-2026-07-20-11-37' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Pull misc fixes from Andrew Morton: "12 hotfixes. 8 are cc:stable and the remainder address post-7.1 issues or aren't considered appropriate for backporting. 10 are for MM. All are singletons - please see the relevant changelogs for details" * tag 'mm-hotfixes-stable-2026-07-20-11-37' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: mm/memory-failure: trace: change memory_failure_event to ras subsystem mm: page_reporting: allow driver to set batch capacity mm/kmemleak: fix checksum computation for per-cpu objects mm/damon/core: disallow overlapping input ranges for damon_set_regions() MAINTAINERS: add Usama as a THP reviewer fat: avoid stack overflow warning mm/damon/core: validate ranges in damon_set_regions() m68k: avoid -Wunused-but-set-parameter in clear_user_page() mm/huge_memory: set PG_has_hwpoisoned only after new folio head is established mm/page_vma_mapped: fix device-private PMD handling MAINTAINERS: s/SeongJae/SJ/ userfaultfd: prevent registration of special VMAs
2 parents abc69ae + e57d6e9 commit b95f03f

31 files changed

Lines changed: 163 additions & 170 deletions

.mailmap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -817,6 +817,7 @@ Simon Wunderlich <sw@simonwunderlich.de> <simon.wunderlich@s2003.tu-chemnitz.de>
817817
Simon Wunderlich <sw@simonwunderlich.de> <simon.wunderlich@saxnet.de>
818818
Simon Wunderlich <sw@simonwunderlich.de> <simon@open-mesh.com>
819819
Simon Wunderlich <sw@simonwunderlich.de> <siwu@hrz.tu-chemnitz.de>
820+
SJ Park <sj@kernel.org>
820821
Sricharan Ramabadhran <quic_srichara@quicinc.com> <sricharan@codeaurora.org>
821822
Srinivas Kandagatla <srini@kernel.org> <srinivas.kandagatla@st.com>
822823
Srinivas Kandagatla <srini@kernel.org> <srinivas.kandagatla@linaro.org>

Documentation/ABI/testing/sysfs-kernel-mm-damon

Lines changed: 87 additions & 87 deletions
Large diffs are not rendered by default.

MAINTAINERS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7125,7 +7125,7 @@ W: https://docs.dasharo.com/
71257125
F: drivers/platform/x86/dasharo-acpi.c
71267126

71277127
DAMON
7128-
M: SeongJae Park <sj@kernel.org>
7128+
M: SJ Park <sj@kernel.org>
71297129
L: damon@lists.linux.dev
71307130
L: linux-mm@kvack.org
71317131
S: Maintained
@@ -17257,6 +17257,7 @@ R: Ryan Roberts <ryan.roberts@arm.com>
1725717257
R: Dev Jain <dev.jain@arm.com>
1725817258
R: Barry Song <baohua@kernel.org>
1725917259
R: Lance Yang <lance.yang@linux.dev>
17260+
R: Usama Arif <usama.arif@linux.dev>
1726017261
L: linux-mm@kvack.org
1726117262
S: Maintained
1726217263
W: http://www.linux-mm.org

arch/m68k/include/asm/page_mm.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,12 @@ static inline void clear_page(void *page)
5555
#define clear_user_page(addr, vaddr, page) \
5656
do { clear_page(addr); \
5757
flush_dcache_page(page); \
58+
(void)(vaddr); \
5859
} while (0)
5960
#define copy_user_page(to, from, vaddr, page) \
6061
do { copy_page(to, from); \
6162
flush_dcache_page(page); \
63+
(void)(vaddr); \
6264
} while (0)
6365

6466
extern unsigned long m68k_memoffset;

drivers/virtio/virtio_balloon.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1017,10 +1017,6 @@ static int virtballoon_probe(struct virtio_device *vdev)
10171017
unsigned int capacity;
10181018

10191019
capacity = virtqueue_get_vring_size(vb->reporting_vq);
1020-
if (capacity < PAGE_REPORTING_CAPACITY) {
1021-
err = -ENOSPC;
1022-
goto out_unregister_oom;
1023-
}
10241020

10251021
vb->pr_dev_info.order = PAGE_REPORTING_ORDER_UNSPECIFIED;
10261022

@@ -1041,6 +1037,7 @@ static int virtballoon_probe(struct virtio_device *vdev)
10411037
vb->pr_dev_info.order = 5;
10421038
#endif
10431039

1040+
vb->pr_dev_info.capacity = capacity;
10441041
err = page_reporting_register(&vb->pr_dev_info);
10451042
if (err)
10461043
goto out_unregister_oom;

fs/fat/fat.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,13 +249,13 @@ static inline unsigned char fat_checksum(const __u8 *name)
249249
return s;
250250
}
251251

252-
static inline sector_t fat_clus_to_blknr(struct msdos_sb_info *sbi, int clus)
252+
static inline sector_t fat_clus_to_blknr(const struct msdos_sb_info *sbi, int clus)
253253
{
254254
return ((sector_t)clus - FAT_START_ENT) * sbi->sec_per_clus
255255
+ sbi->data_start;
256256
}
257257

258-
static inline void fat_get_blknr_offset(struct msdos_sb_info *sbi,
258+
static inline void fat_get_blknr_offset(const struct msdos_sb_info *sbi,
259259
loff_t i_pos, sector_t *blknr, int *offset)
260260
{
261261
*blknr = i_pos >> sbi->dir_per_block_bits;

fs/fat/fat_test.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ static void fat_checksum_test(struct kunit *test)
2222

2323
static void fat_clus_to_blknr_test(struct kunit *test)
2424
{
25-
struct msdos_sb_info sbi = {
25+
static const struct msdos_sb_info sbi = {
2626
.sec_per_clus = 4,
2727
.data_start = 100,
2828
};
@@ -34,7 +34,7 @@ static void fat_clus_to_blknr_test(struct kunit *test)
3434

3535
static void fat_get_blknr_offset_test(struct kunit *test)
3636
{
37-
struct msdos_sb_info sbi = {
37+
static const struct msdos_sb_info sbi = {
3838
.dir_per_block = 16,
3939
.dir_per_block_bits = 4,
4040
};

include/linux/damon.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
/* SPDX-License-Identifier: GPL-2.0 */
22
/*
33
* DAMON api
4-
*
5-
* Author: SeongJae Park <sj@kernel.org>
64
*/
75

86
#ifndef _DAMON_H_

include/linux/page_reporting.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
#include <linux/mmzone.h>
66
#include <linux/scatterlist.h>
77

8-
/* This value should always be a power of 2, see page_reporting_cycle() */
98
#define PAGE_REPORTING_CAPACITY 32
109
#define PAGE_REPORTING_ORDER_UNSPECIFIED -1
1110

@@ -22,6 +21,9 @@ struct page_reporting_dev_info {
2221

2322
/* Minimal order of page reporting */
2423
unsigned int order;
24+
25+
/* Max pages per report batch; 0 (default) means PAGE_REPORTING_CAPACITY */
26+
unsigned int capacity;
2527
};
2628

2729
/* Tear-down and bring-up for page reporting devices */

include/trace/events/memory-failure.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
/* SPDX-License-Identifier: GPL-2.0 */
22
#undef TRACE_SYSTEM
3-
#define TRACE_SYSTEM memory_failure
3+
/*
4+
* For historical versions, memory_failure_event is in ras subsystem,
5+
* some user programs depend on it.
6+
*/
7+
#define TRACE_SYSTEM ras
48
#define TRACE_INCLUDE_FILE memory-failure
59

610
#if !defined(_TRACE_MEMORY_FAILURE_H) || defined(TRACE_HEADER_MULTI_READ)

0 commit comments

Comments
 (0)