Commit 6eba757c authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'mm-hotfixes-stable-2025-08-21-18-17' of...

Merge tag 'mm-hotfixes-stable-2025-08-21-18-17' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull misc fixes from Andrew Morton:
 "20 hotfixes. 10 are cc:stable and the remainder address post-6.16
  issues or aren't considered necessary for -stable kernels. 17 of these
  fixes are for MM.

  As usual, singletons all over the place, apart from a three-patch
  series of KHO followup work from Pasha which is actually also a bunch
  of singletons"

* tag 'mm-hotfixes-stable-2025-08-21-18-17' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
  mm/mremap: fix WARN with uffd that has remap events disabled
  mm/damon/sysfs-schemes: put damos dests dir after removing its files
  mm/migrate: fix NULL movable_ops if CONFIG_ZSMALLOC=m
  mm/damon/core: fix damos_commit_filter not changing allow
  mm/memory-failure: fix infinite UCE for VM_PFNMAP pfn
  MAINTAINERS: mark MGLRU as maintained
  mm: rust: add page.rs to MEMORY MANAGEMENT - RUST
  iov_iter: iterate_folioq: fix handling of offset >= folio size
  selftests/damon: fix selftests by installing drgn related script
  .mailmap: add entry for Easwar Hariharan
  selftests/mm: add test for invalid multi VMA operations
  mm/mremap: catch invalid multi VMA moves earlier
  mm/mremap: allow multi-VMA move when filesystem uses thp_get_unmapped_area
  mm/damon/core: fix commit_ops_filters by using correct nth function
  tools/testing: add linux/args.h header and fix radix, VMA tests
  mm/debug_vm_pgtable: clear page table entries at destroy_args()
  squashfs: fix memory leak in squashfs_fill_super
  kho: warn if KHO is disabled due to an error
  kho: mm: don't allow deferred struct page with KHO
  kho: init new_physxa->phys_bits to fix lockdep
parents 3957a572 772e5b4a
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -226,6 +226,8 @@ Domen Puncer <domen@coderock.org>
Douglas Gilbert <dougg@torque.net>
Drew Fustini <fustini@kernel.org> <drew@pdp7.com>
<duje@dujemihanovic.xyz> <duje.mihanovic@skole.hr>
Easwar Hariharan <easwar.hariharan@linux.microsoft.com> <easwar.hariharan@intel.com>
Easwar Hariharan <easwar.hariharan@linux.microsoft.com> <eahariha@linux.microsoft.com>
Ed L. Cashin <ecashin@coraid.com>
Elliot Berman <quic_eberman@quicinc.com> <eberman@codeaurora.org>
Enric Balletbo i Serra <eballetbo@kernel.org> <enric.balletbo@collabora.com>
+19 −0
Original line number Diff line number Diff line
@@ -16058,6 +16058,23 @@ F: mm/mempolicy.c
F:	mm/migrate.c
F:	mm/migrate_device.c
MEMORY MANAGEMENT - MGLRU (MULTI-GEN LRU)
M:	Andrew Morton <akpm@linux-foundation.org>
M:	Axel Rasmussen <axelrasmussen@google.com>
M:	Yuanchu Xie <yuanchu@google.com>
R:	Wei Xu <weixugc@google.com>
L:	linux-mm@kvack.org
S:	Maintained
W:	http://www.linux-mm.org
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
F:	Documentation/admin-guide/mm/multigen_lru.rst
F:	Documentation/mm/multigen_lru.rst
F:	include/linux/mm_inline.h
F:	include/linux/mmzone.h
F:	mm/swap.c
F:	mm/vmscan.c
F:	mm/workingset.c
MEMORY MANAGEMENT - MISC
M:	Andrew Morton <akpm@linux-foundation.org>
M:	David Hildenbrand <david@redhat.com>
@@ -16248,8 +16265,10 @@ S: Maintained
W:	http://www.linux-mm.org
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
F:	rust/helpers/mm.c
F:	rust/helpers/page.c
F:	rust/kernel/mm.rs
F:	rust/kernel/mm/
F:	rust/kernel/page.rs
MEMORY MAPPING
M:	Andrew Morton <akpm@linux-foundation.org>
+7 −7
Original line number Diff line number Diff line
@@ -187,10 +187,15 @@ static int squashfs_fill_super(struct super_block *sb, struct fs_context *fc)
	unsigned short flags;
	unsigned int fragments;
	u64 lookup_table_start, xattr_id_table_start, next_table;
	int err;
	int err, devblksize = sb_min_blocksize(sb, SQUASHFS_DEVBLK_SIZE);

	TRACE("Entered squashfs_fill_superblock\n");

	if (!devblksize) {
		errorf(fc, "squashfs: unable to set blocksize\n");
		return -EINVAL;
	}

	sb->s_fs_info = kzalloc(sizeof(*msblk), GFP_KERNEL);
	if (sb->s_fs_info == NULL) {
		ERROR("Failed to allocate squashfs_sb_info\n");
@@ -201,12 +206,7 @@ static int squashfs_fill_super(struct super_block *sb, struct fs_context *fc)

	msblk->panic_on_errors = (opts->errors == Opt_errors_panic);

	msblk->devblksize = sb_min_blocksize(sb, SQUASHFS_DEVBLK_SIZE);
	if (!msblk->devblksize) {
		errorf(fc, "squashfs: unable to set blocksize\n");
		return -EINVAL;
	}

	msblk->devblksize = devblksize;
	msblk->devblksize_log2 = ffz(~msblk->devblksize);

	mutex_init(&msblk->meta_index_mutex);
+11 −9
Original line number Diff line number Diff line
@@ -160,7 +160,7 @@ size_t iterate_folioq(struct iov_iter *iter, size_t len, void *priv, void *priv2

	do {
		struct folio *folio = folioq_folio(folioq, slot);
		size_t part, remain, consumed;
		size_t part, remain = 0, consumed;
		size_t fsize;
		void *base;

@@ -168,6 +168,7 @@ size_t iterate_folioq(struct iov_iter *iter, size_t len, void *priv, void *priv2
			break;

		fsize = folioq_folio_size(folioq, slot);
		if (skip < fsize) {
			base = kmap_local_folio(folio, skip);
			part = umin(len, PAGE_SIZE - skip % PAGE_SIZE);
			remain = step(base, progress, part, priv, priv2);
@@ -176,6 +177,7 @@ size_t iterate_folioq(struct iov_iter *iter, size_t len, void *priv, void *priv2
			len -= consumed;
			progress += consumed;
			skip += consumed;
		}
		if (skip >= fsize) {
			skip = 0;
			slot++;
+5 −0
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ void migration_entry_wait_on_locked(swp_entry_t entry, spinlock_t *ptl)
void folio_migrate_flags(struct folio *newfolio, struct folio *folio);
int folio_migrate_mapping(struct address_space *mapping,
		struct folio *newfolio, struct folio *folio, int extra_count);
int set_movable_ops(const struct movable_operations *ops, enum pagetype type);

#else

@@ -100,6 +101,10 @@ static inline int migrate_huge_page_move_mapping(struct address_space *mapping,
{
	return -ENOSYS;
}
static inline int set_movable_ops(const struct movable_operations *ops, enum pagetype type)
{
	return -ENOSYS;
}

#endif /* CONFIG_MIGRATION */

Loading