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

Merge tag 'mm-hotfixes-stable-2024-01-28-23-21' of...

Merge tag 'mm-hotfixes-stable-2024-01-28-23-21' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull misc fixes from Andrew Morton:
 "22 hotfixes. 11 are cc:stable and the remainder address post-6.7
  issues or aren't considered appropriate for backporting"

* tag 'mm-hotfixes-stable-2024-01-28-23-21' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (22 commits)
  mm: thp_get_unmapped_area must honour topdown preference
  mm: huge_memory: don't force huge page alignment on 32 bit
  userfaultfd: fix mmap_changing checking in mfill_atomic_hugetlb
  selftests/mm: ksm_tests should only MADV_HUGEPAGE valid memory
  scs: add CONFIG_MMU dependency for vfree_atomic()
  mm/memory: fix folio_set_dirty() vs. folio_mark_dirty() in zap_pte_range()
  mm/huge_memory: fix folio_set_dirty() vs. folio_mark_dirty()
  selftests/mm: Update va_high_addr_switch.sh to check CPU for la57 flag
  selftests: mm: fix map_hugetlb failure on 64K page size systems
  MAINTAINERS: supplement of zswap maintainers update
  stackdepot: make fast paths lock-less again
  stackdepot: add stats counters exported via debugfs
  mm, kmsan: fix infinite recursion due to RCU critical section
  mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again
  selftests/mm: switch to bash from sh
  MAINTAINERS: add man-pages git trees
  mm: memcontrol: don't throttle dying tasks on memory.high
  mm: mmap: map MAP_STACK to VM_NOHUGEPAGE
  uprobes: use pagesize-aligned virtual address when replacing pages
  selftests/mm: mremap_test: fix build warning
  ...
parents 41bccc98 96204e15
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -2161,6 +2161,19 @@ N: Mike Kravetz
E: mike.kravetz@oracle.com
D: Maintenance and development of the hugetlb subsystem

N: Seth Jennings
E: sjenning@redhat.com
D: Creation and maintenance of zswap

N: Dan Streetman
E: ddstreet@ieee.org
D: Maintenance and development of zswap
D: Creation and maintenance of the zpool API

N: Vitaly Wool
E: vitaly.wool@konsulko.com
D: Maintenance and development of zswap

N: Andreas S. Krebs
E: akrebs@altavista.net
D: CYPRESS CY82C693 chipset IDE, Digital's PC-Alpha 164SX boards
+4 −7
Original line number Diff line number Diff line
@@ -12903,6 +12903,8 @@ M: Alejandro Colomar <alx@kernel.org>
L:	linux-man@vger.kernel.org
S:	Maintained
W:	http://www.kernel.org/doc/man-pages
T:	git git://git.kernel.org/pub/scm/docs/man-pages/man-pages.git
T:	git git://www.alejandro-colomar.es/src/alx/linux/man-pages/man-pages.git
MANAGEMENT COMPONENT TRANSPORT PROTOCOL (MCTP)
M:	Jeremy Kerr <jk@codeconstruct.com.au>
@@ -24341,13 +24343,6 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs.git
F:	Documentation/filesystems/zonefs.rst
F:	fs/zonefs/
ZPOOL COMPRESSED PAGE STORAGE API
M:	Dan Streetman <ddstreet@ieee.org>
L:	linux-mm@kvack.org
S:	Maintained
F:	include/linux/zpool.h
F:	mm/zpool.c
ZR36067 VIDEO FOR LINUX DRIVER
M:	Corentin Labbe <clabbe@baylibre.com>
L:	mjpeg-users@lists.sourceforge.net
@@ -24399,7 +24394,9 @@ M: Nhat Pham <nphamcs@gmail.com>
L:	linux-mm@kvack.org
S:	Maintained
F:	Documentation/admin-guide/mm/zswap.rst
F:	include/linux/zpool.h
F:	include/linux/zswap.h
F:	mm/zpool.c
F:	mm/zswap.c
THE REST
+1 −0
Original line number Diff line number Diff line
@@ -673,6 +673,7 @@ config SHADOW_CALL_STACK
	bool "Shadow Call Stack"
	depends on ARCH_SUPPORTS_SHADOW_CALL_STACK
	depends on DYNAMIC_FTRACE_WITH_ARGS || DYNAMIC_FTRACE_WITH_REGS || !FUNCTION_GRAPH_TRACER
	depends on MMU
	help
	  This option enables the compiler's Shadow Call Stack, which
	  uses a shadow stack to protect function return addresses from
+16 −1
Original line number Diff line number Diff line
@@ -64,6 +64,7 @@ static inline bool kmsan_virt_addr_valid(void *addr)
{
	unsigned long x = (unsigned long)addr;
	unsigned long y = x - __START_KERNEL_map;
	bool ret;

	/* use the carry flag to determine if x was < __START_KERNEL_map */
	if (unlikely(x > y)) {
@@ -79,7 +80,21 @@ static inline bool kmsan_virt_addr_valid(void *addr)
			return false;
	}

	return pfn_valid(x >> PAGE_SHIFT);
	/*
	 * pfn_valid() relies on RCU, and may call into the scheduler on exiting
	 * the critical section. However, this would result in recursion with
	 * KMSAN. Therefore, disable preemption here, and re-enable preemption
	 * below while suppressing reschedules to avoid recursion.
	 *
	 * Note, this sacrifices occasionally breaking scheduling guarantees.
	 * Although, a kernel compiled with KMSAN has already given up on any
	 * performance guarantees due to being heavily instrumented.
	 */
	preempt_disable();
	ret = pfn_valid(x >> PAGE_SHIFT);
	preempt_enable_no_resched();

	return ret;
}

#endif /* !MODULE */
+1 −1
Original line number Diff line number Diff line
@@ -340,7 +340,7 @@ static ssize_t hugetlbfs_read_iter(struct kiocb *iocb, struct iov_iter *to)
		} else {
			folio_unlock(folio);

			if (!folio_test_has_hwpoisoned(folio))
			if (!folio_test_hwpoison(folio))
				want = nr;
			else {
				/*
Loading