Commit 3c339dbd authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'mm-hotfixes-stable-2022-10-28' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull misc hotfixes from Andrew Morton:
 "Eight fix pre-6.0 bugs and the remainder address issues which were
  introduced in the 6.1-rc merge cycle, or address issues which aren't
  considered sufficiently serious to warrant a -stable backport"

* tag 'mm-hotfixes-stable-2022-10-28' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (23 commits)
  mm: multi-gen LRU: move lru_gen_add_mm() out of IRQ-off region
  lib: maple_tree: remove unneeded initialization in mtree_range_walk()
  mmap: fix remap_file_pages() regression
  mm/shmem: ensure proper fallback if page faults
  mm/userfaultfd: replace kmap/kmap_atomic() with kmap_local_page()
  x86: fortify: kmsan: fix KMSAN fortify builds
  x86: asm: make sure __put_user_size() evaluates pointer once
  Kconfig.debug: disable CONFIG_FRAME_WARN for KMSAN by default
  x86/purgatory: disable KMSAN instrumentation
  mm: kmsan: export kmsan_copy_page_meta()
  mm: migrate: fix return value if all subpages of THPs are migrated successfully
  mm/uffd: fix vma check on userfault for wp
  mm: prep_compound_tail() clear page->private
  mm,madvise,hugetlb: fix unexpected data loss with MADV_DONTNEED on hugetlbfs
  mm/page_isolation: fix clang deadcode warning
  fs/ext4/super.c: remove unused `deprecated_msg'
  ipc/msg.c: fix percpu_counter use after free
  memory tier, sysfs: rename attribute "nodes" to "nodelist"
  MAINTAINERS: git://github.com -> https://github.com for nilfs2
  mm/kmemleak: prevent soft lockup in kmemleak_scan()'s object iteration loops
  ...
parents 91562cf9 dda1c41a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ Description: A collection of all the memory tiers allocated.


What:		/sys/devices/virtual/memory_tiering/memory_tierN/
		/sys/devices/virtual/memory_tiering/memory_tierN/nodes
		/sys/devices/virtual/memory_tiering/memory_tierN/nodelist
Date:		August 2022
Contact:	Linux memory management mailing list <linux-mm@kvack.org>
Description:	Directory with details of a specific memory tier
@@ -21,5 +21,5 @@ Description: Directory with details of a specific memory tier
		A smaller value of N implies a higher (faster) memory tier in the
		hierarchy.

		nodes: NUMA nodes that are part of this memory tier.
		nodelist: NUMA nodes that are part of this memory tier.
+1 −1
Original line number Diff line number Diff line
@@ -14523,7 +14523,7 @@ L: linux-nilfs@vger.kernel.org
S:	Supported
W:	https://nilfs.sourceforge.io/
W:	https://nilfs.osdn.jp/
T:	git git://github.com/konis/nilfs2.git
T:	git https://github.com/konis/nilfs2.git
F:	Documentation/filesystems/nilfs2.rst
F:	fs/nilfs2/
F:	include/trace/events/nilfs2.h
+7 −4
Original line number Diff line number Diff line
@@ -10,10 +10,13 @@
/* Even with __builtin_ the compiler may decide to use the out of line
   function. */

#if defined(__SANITIZE_MEMORY__) && defined(__NO_FORTIFY)
#include <linux/kmsan_string.h>
#endif

#define __HAVE_ARCH_MEMCPY 1
#if defined(__SANITIZE_MEMORY__)
#if defined(__SANITIZE_MEMORY__) && defined(__NO_FORTIFY)
#undef memcpy
void *__msan_memcpy(void *dst, const void *src, size_t size);
#define memcpy __msan_memcpy
#else
extern void *memcpy(void *to, const void *from, size_t len);
@@ -21,7 +24,7 @@ extern void *memcpy(void *to, const void *from, size_t len);
extern void *__memcpy(void *to, const void *from, size_t len);

#define __HAVE_ARCH_MEMSET
#if defined(__SANITIZE_MEMORY__)
#if defined(__SANITIZE_MEMORY__) && defined(__NO_FORTIFY)
extern void *__msan_memset(void *s, int c, size_t n);
#undef memset
#define memset __msan_memset
@@ -67,7 +70,7 @@ static inline void *memset64(uint64_t *s, uint64_t v, size_t n)
}

#define __HAVE_ARCH_MEMMOVE
#if defined(__SANITIZE_MEMORY__)
#if defined(__SANITIZE_MEMORY__) && defined(__NO_FORTIFY)
#undef memmove
void *__msan_memmove(void *dest, const void *src, size_t len);
#define memmove __msan_memmove
+7 −6
Original line number Diff line number Diff line
@@ -254,24 +254,25 @@ extern void __put_user_nocheck_8(void);
#define __put_user_size(x, ptr, size, label)				\
do {									\
	__typeof__(*(ptr)) __x = (x); /* eval x once */			\
	__chk_user_ptr(ptr);						\
	__typeof__(ptr) __ptr = (ptr); /* eval ptr once */		\
	__chk_user_ptr(__ptr);						\
	switch (size) {							\
	case 1:								\
		__put_user_goto(__x, ptr, "b", "iq", label);		\
		__put_user_goto(__x, __ptr, "b", "iq", label);		\
		break;							\
	case 2:								\
		__put_user_goto(__x, ptr, "w", "ir", label);		\
		__put_user_goto(__x, __ptr, "w", "ir", label);		\
		break;							\
	case 4:								\
		__put_user_goto(__x, ptr, "l", "ir", label);		\
		__put_user_goto(__x, __ptr, "l", "ir", label);		\
		break;							\
	case 8:								\
		__put_user_goto_u64(__x, ptr, label);			\
		__put_user_goto_u64(__x, __ptr, label);			\
		break;							\
	default:							\
		__put_user_bad();					\
	}								\
	instrument_put_user(__x, ptr, size);				\
	instrument_put_user(__x, __ptr, size);				\
} while (0)

#ifdef CONFIG_CC_HAS_ASM_GOTO_OUTPUT
+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ GCOV_PROFILE := n
KASAN_SANITIZE	:= n
UBSAN_SANITIZE	:= n
KCSAN_SANITIZE	:= n
KMSAN_SANITIZE	:= n
KCOV_INSTRUMENT := n

# These are adjustments to the compiler flags used for objects that
Loading