Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'akpm' (patches from Andrew)

Merge fixes from Andrew Morton:
"9 patches.

Subsystems affected by this patch series: mm (migration, highmem,
sparsemem, mremap, mempolicy, and memcg), lz4, mailmap, and
MAINTAINERS"

* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
MAINTAINERS: add Tom as clang reviewer
mm/list_lru.c: revert "mm/list_lru: optimize memcg_reparent_list_lru_node()"
mailmap: update Vasily Averin's email address
mm/mempolicy: fix mpol_new leak in shared_policy_replace
mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0)
mm/sparsemem: fix 'mem_section' will never be NULL gcc 12 warning
lz4: fix LZ4_decompress_safe_partial read out of bound
highmem: fix checks in __kmap_local_sched_{in,out}
mm: migrate: use thp_order instead of HPAGE_PMD_ORDER for new page allocation.

+24 -14
+4
.mailmap
··· 391 391 Uwe Kleine-König <ukl@pengutronix.de> 392 392 Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> 393 393 Valdis Kletnieks <Valdis.Kletnieks@vt.edu> 394 + Vasily Averin <vasily.averin@linux.dev> <vvs@virtuozzo.com> 395 + Vasily Averin <vasily.averin@linux.dev> <vvs@openvz.org> 396 + Vasily Averin <vasily.averin@linux.dev> <vvs@parallels.com> 397 + Vasily Averin <vasily.averin@linux.dev> <vvs@sw.ru> 394 398 Vinod Koul <vkoul@kernel.org> <vinod.koul@intel.com> 395 399 Vinod Koul <vkoul@kernel.org> <vinod.koul@linux.intel.com> 396 400 Vinod Koul <vkoul@kernel.org> <vkoul@infradead.org>
+1
MAINTAINERS
··· 4791 4791 CLANG/LLVM BUILD SUPPORT 4792 4792 M: Nathan Chancellor <nathan@kernel.org> 4793 4793 M: Nick Desaulniers <ndesaulniers@google.com> 4794 + R: Tom Rix <trix@redhat.com> 4794 4795 L: llvm@lists.linux.dev 4795 4796 S: Supported 4796 4797 W: https://clangbuiltlinux.github.io/
+7 -4
include/linux/mmzone.h
··· 1397 1397 1398 1398 static inline struct mem_section *__nr_to_section(unsigned long nr) 1399 1399 { 1400 + unsigned long root = SECTION_NR_TO_ROOT(nr); 1401 + 1402 + if (unlikely(root >= NR_SECTION_ROOTS)) 1403 + return NULL; 1404 + 1400 1405 #ifdef CONFIG_SPARSEMEM_EXTREME 1401 - if (!mem_section) 1406 + if (!mem_section || !mem_section[root]) 1402 1407 return NULL; 1403 1408 #endif 1404 - if (!mem_section[SECTION_NR_TO_ROOT(nr)]) 1405 - return NULL; 1406 - return &mem_section[SECTION_NR_TO_ROOT(nr)][nr & SECTION_ROOT_MASK]; 1409 + return &mem_section[root][nr & SECTION_ROOT_MASK]; 1407 1410 } 1408 1411 extern size_t mem_section_usage_size(void); 1409 1412
+6 -2
lib/lz4/lz4_decompress.c
··· 271 271 ip += length; 272 272 op += length; 273 273 274 - /* Necessarily EOF, due to parsing restrictions */ 275 - if (!partialDecoding || (cpy == oend)) 274 + /* Necessarily EOF when !partialDecoding. 275 + * When partialDecoding, it is EOF if we've either 276 + * filled the output buffer or 277 + * can't proceed with reading an offset for following match. 278 + */ 279 + if (!partialDecoding || (cpy == oend) || (ip >= (iend - 2))) 276 280 break; 277 281 } else { 278 282 /* may overwrite up to WILDCOPYLENGTH beyond cpy */
+2 -2
mm/highmem.c
··· 624 624 625 625 /* With debug all even slots are unmapped and act as guard */ 626 626 if (IS_ENABLED(CONFIG_DEBUG_KMAP_LOCAL) && !(i & 0x01)) { 627 - WARN_ON_ONCE(!pte_none(pteval)); 627 + WARN_ON_ONCE(pte_val(pteval) != 0); 628 628 continue; 629 629 } 630 630 if (WARN_ON_ONCE(pte_none(pteval))) ··· 661 661 662 662 /* With debug all even slots are unmapped and act as guard */ 663 663 if (IS_ENABLED(CONFIG_DEBUG_KMAP_LOCAL) && !(i & 0x01)) { 664 - WARN_ON_ONCE(!pte_none(pteval)); 664 + WARN_ON_ONCE(pte_val(pteval) != 0); 665 665 continue; 666 666 } 667 667 if (WARN_ON_ONCE(pte_none(pteval)))
-6
mm/list_lru.c
··· 395 395 struct list_lru_one *src, *dst; 396 396 397 397 /* 398 - * If there is no lru entry in this nlru, we can skip it immediately. 399 - */ 400 - if (!READ_ONCE(nlru->nr_items)) 401 - return; 402 - 403 - /* 404 398 * Since list_lru_{add,del} may be called under an IRQ-safe lock, 405 399 * we have to use IRQ-safe primitives here to avoid deadlock. 406 400 */
+1
mm/mempolicy.c
··· 2743 2743 mpol_new = kmem_cache_alloc(policy_cache, GFP_KERNEL); 2744 2744 if (!mpol_new) 2745 2745 goto err_out; 2746 + atomic_set(&mpol_new->refcnt, 1); 2746 2747 goto restart; 2747 2748 } 2748 2749
+3
mm/mremap.c
··· 486 486 pmd_t *old_pmd, *new_pmd; 487 487 pud_t *old_pud, *new_pud; 488 488 489 + if (!len) 490 + return 0; 491 + 489 492 old_end = old_addr + len; 490 493 flush_cache_range(vma, old_addr, old_end); 491 494