From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6684AC28B28 for ; Thu, 13 Mar 2025 03:17:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BFB04280002; Wed, 12 Mar 2025 23:17:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BAB48280001; Wed, 12 Mar 2025 23:17:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A7287280002; Wed, 12 Mar 2025 23:17:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 896AE280001 for ; Wed, 12 Mar 2025 23:17:22 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 4E6AD14198E for ; Thu, 13 Mar 2025 03:17:23 +0000 (UTC) X-FDA: 83215067166.27.DA24294 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15]) by imf29.hostedemail.com (Postfix) with ESMTP id A3698120006 for ; Thu, 13 Mar 2025 03:17:20 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=GdIGpKKq; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf29.hostedemail.com: domain of lkp@intel.com designates 192.198.163.15 as permitted sender) smtp.mailfrom=lkp@intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741835841; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=3hIzhtAP7FMoLASZjYclE7eza078S6/6Km/LJGHB3/A=; b=PDnUrQBZBVFlMVadqAktVhbO8FRtKGp6xfYbv+h3zPcLDdBCFcWeLXEaMhuCrzcEZFbkuF ZakuHj+/3hKT4N0OnOPmZaU4Jg+q//XNTK3jD4ho03SrvlyuT2OpkylA765SnkKY9gXWT6 Fc/N2NDXyRrn5d+STRoJeQZseA0a1lU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741835841; a=rsa-sha256; cv=none; b=lBIwafz26MA3GnODnRzLBkU2boIsPfJp9KrtnEKq9JbTmweE/1ZvRiy+cuf+Eg+WbfykQf mc+54K8bLDcV1isLTzm6UJs9GGNjH82XaG1FyaLSxKa81otJ37VfoXdaH5GbOxpOb+4B57 b6Hq0aP6H4wFhbhY4yfZrH7NaQEOz/s= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=GdIGpKKq; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf29.hostedemail.com: domain of lkp@intel.com designates 192.198.163.15 as permitted sender) smtp.mailfrom=lkp@intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1741835841; x=1773371841; h=date:from:to:cc:subject:message-id:mime-version; bh=53pSc/zs4Da2Ji7RiTBltn/99bL3JyRfWRg4Rh0K2Ss=; b=GdIGpKKqTXI44U640HzhWi/qRmYrSsaFTbDm/VRMalCFRVZHhlUWLCgW SLLiCrIHIKDQUe8MLugTZJc0jMwVcHIkK8GRiRym+dvcUUOckY9Vd6ph9 pTv01Xcs/nnSyKKdmCxKs1VVr/FSkKsMZxURlcaJ2gJk3Omz35C4Zx5d+ ZxmGT7PwxqUu/JafNY6fsKibkcawtabuWGawbmj9V4kKInSPOeHqcfi8q 2ynmPF0fp823Ja/heSaDg0y2O02DSVbapvq3mmch5/aV/IG8W5qu8L0Gq XNFpdPQ2oGCtXtqGei9QL5HsOBPRb0mw6iNe9X5ZeLBwSTN7Oq5IzbjHU w==; X-CSE-ConnectionGUID: IGToudYySIy7sIrrJRU5Ig== X-CSE-MsgGUID: ZeI7/QPMS4OeF34WTFkYkA== X-IronPort-AV: E=McAfee;i="6700,10204,11371"; a="43071228" X-IronPort-AV: E=Sophos;i="6.14,243,1736841600"; d="scan'208";a="43071228" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Mar 2025 20:17:19 -0700 X-CSE-ConnectionGUID: SWEBKqQxQ06GXMgL/FF2cA== X-CSE-MsgGUID: ly9pkWG2RcWzjJMBA96/Mg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.14,243,1736841600"; d="scan'208";a="120875003" Received: from lkp-server02.sh.intel.com (HELO a4747d147074) ([10.239.97.151]) by fmviesa007.fm.intel.com with ESMTP; 12 Mar 2025 20:17:17 -0700 Received: from kbuild by a4747d147074 with local (Exim 4.96) (envelope-from ) id 1tsZ4N-00094q-2E; Thu, 13 Mar 2025 03:17:15 +0000 Date: Thu, 13 Mar 2025 11:17:14 +0800 From: kernel test robot To: Zi Yan Cc: oe-kbuild-all@lists.linux.dev, Andrew Morton , Linux Memory Management List Subject: [linux-next:master 10324/10719] mm/huge_memory.c:3587:46: sparse: sparse: Using plain integer as NULL pointer Message-ID: <202503131109.s7iuWfGq-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: A3698120006 X-Stat-Signature: crkahiwhafo9djuciosx1rg3p97uhk8w X-HE-Tag: 1741835840-642847 X-HE-Meta: U2FsdGVkX1/Pb1HkSHC2lFt8dKzOD5o8R8HBFi7l+xoq8GYEfH10D7sknHFTaXFA9NtCMxjjy4Sad9Zr2zMCYnhjtVy3JKzuRmzA42gmjGB4GuSpOuiIU/qu00BK6YsOxM21P/q2HCZB8zWCku7cEzlygKPPQH8KPflWWU+DTKdQ/M0cvNlfgUcIvwaOIYtgXqIH/58THKWczXnE4fgwVo7y6xDR7sw3MTyQfdXKjxkUExrRiLhBILcirtbSnEf9I6biwBZRZYcbdEMWXZZJshtwvdOg65rTy6k1a0Uqjy98rzHwODNWRXIM+xnNyfWy3vDeTFPln7kI+U+FAqpIJ2ba9JTqDaRKFRYO8Jn4oHg4M5UIOAE5aftWqVcJHYfGDtJ3/x7BNGEf8wNonwfmVzpnGPGLgnVSWuRzjWNCpxkn/70mLDESIBMDw9dt/9p4ZE/5B+shcsmmqiXwNynO/4Gn4XRbogllt9Ky3BjSr+8QyMxEhcTD7NAOnI3Uftw9zTtHDbVeFD6uWVp681MVu4wefGuyoGQsO2bBsG/pGrwtjnu9G8FcLAk+c57WpZ5QKUuiDVWmq7k0SvucyTbv+13v10UEQw80FhM9HQM5ZcEY9UHc7AzTi66c4ABACw2V7ZAPprIASiub9QOhXLjivljsETBgiZajCpJw4mCdnbs8gwdSVnqS5pjFYV78MQeeF7SW5bQkLSQsHYL4z1BYrEHwBGdauQImBoKLDXX8EFG8yH3+U7S8iI1qFk7/SowW2GpJ2EscAc7gr1DbsiPbLKfPLEIp2bO2vmJHzwW7cKswlGsyRAUAp5wG0LBj9V+MaX3SXkR8fuofNaPu8qvI3jRuJB6ok9GgenXI+42JJItTUp6IPkSF2j1ATjPdmcDiOIq2dC6PCW1twq31syovnwzuLWdL3X2/T4RadvspnEPEOvWWyW3Ag1zE6jO/2ekoi4zh+0lneqbIP66cKSh ts/hiqak XRXqCVJSLpVdUAFq+tCYH8B9wwre8VpPxK6/vbamjHQZY2FF1tFMbIXneQiWJqmGzBJieuHD7vwa0JGeFYWsw9flD6Gc0XsC3/J5gw7NVnDR+4wcb3yV9Sw+nGZgtAhafTIspxQmGs+WzdyZ1zuJ35qmJKkEwX3KJMMOruSuMz44wUcXVdd6TYRvNueqJ4JyTOvI4OZWI6u4sSXc4dd40qk4WdBts1H9d994kitkJZ3d+d4U66EXHQ4sSZuovpCYRKyvOUhewdidq8sVzL7eE1EfLxrvWphDL15c8LZrw13rLTaVtdog5Y1yFmGFet2q9QHdXttvrTAaxaUZUHmBlBexy1iEvj3UhPTu6Cl70mk2EcxNt3yRY2OmVzQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 9fbcd7b32bf7c0a5bda0f22c25df29d00a872017 commit: fb4b4b748b3a140c49115c9ad2973d56e6e1f7c5 [10324/10719] mm/huge_memory: unfreeze head folio after page cache entries are updated config: mips-randconfig-r132-20250313 (https://download.01.org/0day-ci/archive/20250313/202503131109.s7iuWfGq-lkp@intel.com/config) compiler: mips-linux-gcc (GCC) 14.2.0 reproduce: (https://download.01.org/0day-ci/archive/20250313/202503131109.s7iuWfGq-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202503131109.s7iuWfGq-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> mm/huge_memory.c:3587:46: sparse: sparse: Using plain integer as NULL pointer mm/huge_memory.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/mm.h): include/linux/page-flags.h:275:46: sparse: sparse: self-comparison always evaluates to false include/linux/page-flags.h:275:46: sparse: sparse: self-comparison always evaluates to false mm/huge_memory.c:2191:20: sparse: sparse: context imbalance in 'madvise_free_huge_pmd' - unexpected unlock include/linux/page-flags.h:275:46: sparse: sparse: self-comparison always evaluates to false mm/huge_memory.c:2229:28: sparse: sparse: context imbalance in 'zap_huge_pmd' - unexpected unlock mm/huge_memory.c:2353:28: sparse: sparse: context imbalance in 'move_huge_pmd' - unexpected unlock mm/huge_memory.c:2493:20: sparse: sparse: context imbalance in 'change_huge_pmd' - unexpected unlock mm/huge_memory.c:2690:12: sparse: sparse: context imbalance in '__pmd_trans_huge_lock' - wrong count at exit include/linux/page-flags.h:275:46: sparse: sparse: self-comparison always evaluates to false mm/huge_memory.c:3450:27: sparse: sparse: context imbalance in '__split_huge_page' - unexpected unlock include/linux/page-flags.h:275:46: sparse: sparse: self-comparison always evaluates to false mm/huge_memory.c: note: in included file (through include/linux/mm.h): include/linux/page_ref.h:291:27: sparse: sparse: context imbalance in '__split_unmapped_folio' - unexpected unlock mm/huge_memory.c:4112:17: sparse: sparse: context imbalance in 'split_huge_page_to_list_to_order' - different lock contexts for basic block mm/huge_memory.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/mm.h): include/linux/page-flags.h:275:46: sparse: sparse: self-comparison always evaluates to false mm/huge_memory.c:4546:17: sparse: sparse: context imbalance in 'split_huge_pages_pid' - unexpected unlock vim +3587 mm/huge_memory.c 3518 3519 /* 3520 * It splits @folio into @new_order folios and copies the @folio metadata to 3521 * all the resulting folios. 3522 */ 3523 static void __split_folio_to_order(struct folio *folio, int old_order, 3524 int new_order) 3525 { 3526 long new_nr_pages = 1 << new_order; 3527 long nr_pages = 1 << old_order; 3528 long i; 3529 3530 /* 3531 * Skip the first new_nr_pages, since the new folio from them have all 3532 * the flags from the original folio. 3533 */ 3534 for (i = new_nr_pages; i < nr_pages; i += new_nr_pages) { 3535 struct page *new_head = &folio->page + i; 3536 3537 /* 3538 * Careful: new_folio is not a "real" folio before we cleared PageTail. 3539 * Don't pass it around before clear_compound_head(). 3540 */ 3541 struct folio *new_folio = (struct folio *)new_head; 3542 3543 VM_BUG_ON_PAGE(atomic_read(&new_folio->_mapcount) != -1, new_head); 3544 3545 /* 3546 * Clone page flags before unfreezing refcount. 3547 * 3548 * After successful get_page_unless_zero() might follow flags change, 3549 * for example lock_page() which set PG_waiters. 3550 * 3551 * Note that for mapped sub-pages of an anonymous THP, 3552 * PG_anon_exclusive has been cleared in unmap_folio() and is stored in 3553 * the migration entry instead from where remap_page() will restore it. 3554 * We can still have PG_anon_exclusive set on effectively unmapped and 3555 * unreferenced sub-pages of an anonymous THP: we can simply drop 3556 * PG_anon_exclusive (-> PG_mappedtodisk) for these here. 3557 */ 3558 new_folio->flags &= ~PAGE_FLAGS_CHECK_AT_PREP; 3559 new_folio->flags |= (folio->flags & 3560 ((1L << PG_referenced) | 3561 (1L << PG_swapbacked) | 3562 (1L << PG_swapcache) | 3563 (1L << PG_mlocked) | 3564 (1L << PG_uptodate) | 3565 (1L << PG_active) | 3566 (1L << PG_workingset) | 3567 (1L << PG_locked) | 3568 (1L << PG_unevictable) | 3569 #ifdef CONFIG_ARCH_USES_PG_ARCH_2 3570 (1L << PG_arch_2) | 3571 #endif 3572 #ifdef CONFIG_ARCH_USES_PG_ARCH_3 3573 (1L << PG_arch_3) | 3574 #endif 3575 (1L << PG_dirty) | 3576 LRU_GEN_MASK | LRU_REFS_MASK)); 3577 3578 new_folio->mapping = folio->mapping; 3579 new_folio->index = folio->index + i; 3580 3581 /* 3582 * page->private should not be set in tail pages. Fix up and warn once 3583 * if private is unexpectedly set. 3584 */ 3585 if (unlikely(new_folio->private)) { 3586 VM_WARN_ON_ONCE_PAGE(true, new_head); > 3587 new_folio->private = 0; 3588 } 3589 3590 if (folio_test_swapcache(folio)) 3591 new_folio->swap.val = folio->swap.val + i; 3592 3593 /* Page flags must be visible before we make the page non-compound. */ 3594 smp_wmb(); 3595 3596 /* 3597 * Clear PageTail before unfreezing page refcount. 3598 * 3599 * After successful get_page_unless_zero() might follow put_page() 3600 * which needs correct compound_head(). 3601 */ 3602 clear_compound_head(new_head); 3603 if (new_order) { 3604 prep_compound_page(new_head, new_order); 3605 folio_set_large_rmappable(new_folio); 3606 } 3607 3608 if (folio_test_young(folio)) 3609 folio_set_young(new_folio); 3610 if (folio_test_idle(folio)) 3611 folio_set_idle(new_folio); 3612 3613 folio_xchg_last_cpupid(new_folio, folio_last_cpupid(folio)); 3614 } 3615 3616 if (new_order) 3617 folio_set_order(folio, new_order); 3618 else 3619 ClearPageCompound(&folio->page); 3620 } 3621 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki