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 F4186E7717D for ; Thu, 12 Dec 2024 02:23:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 59AEE6B008A; Wed, 11 Dec 2024 21:23:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 549A66B0096; Wed, 11 Dec 2024 21:23:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 411556B008C; Wed, 11 Dec 2024 21:23:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 2232F6B0096 for ; Wed, 11 Dec 2024 21:23:25 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 80BC581549 for ; Thu, 12 Dec 2024 02:23:24 +0000 (UTC) X-FDA: 82884708942.09.CA51F00 Received: from out-186.mta1.migadu.com (out-186.mta1.migadu.com [95.215.58.186]) by imf30.hostedemail.com (Postfix) with ESMTP id 2034280006 for ; Thu, 12 Dec 2024 02:22:36 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=qQ6XQZku; spf=pass (imf30.hostedemail.com: domain of hao.ge@linux.dev designates 95.215.58.186 as permitted sender) smtp.mailfrom=hao.ge@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1733970178; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=GERvYWNxD6skZwQyuz6rGPA8mYQ6Q2SelCnBg87m34s=; b=QTeHuKHyLS4Tdl7ahrRzLSt5thJkdh+Ds3GBKmNyDs8/GG2DRv3bCrJhrJDFnXQj9ER56Y l6xu1EZMGeQ6AoWg/7cIOjiCXsyVsCBUcaZB8IjGtqjyhYE9EVHtPequE1r9tGMkvjESNA j6i5Oa7WTUp/fSGlJsJx0G/pXodIuKw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733970178; a=rsa-sha256; cv=none; b=aXwRigWPC77K7LHymUHPROsw531ZEUdgVyNPx5K7TDQuDiofYsWXWFHA3mzsRyNdnM5/l1 Fts5P0IrVXifASAsWkYarf0sLUo3kng97AAJ7EQN7T2h7OXHVF0VI9ix4rxK2OWNGArJia TzG5EkZp/0+UOktQP86rIXRUZDD69ho= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=qQ6XQZku; spf=pass (imf30.hostedemail.com: domain of hao.ge@linux.dev designates 95.215.58.186 as permitted sender) smtp.mailfrom=hao.ge@linux.dev; dmarc=pass (policy=none) header.from=linux.dev Message-ID: <4069a4f1-41cd-7911-0996-db29357acdbc@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1733970200; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GERvYWNxD6skZwQyuz6rGPA8mYQ6Q2SelCnBg87m34s=; b=qQ6XQZkuYTaknVzyB5O3igvIQFQlaiUzlhaX5+/MA39EXMAKrA2gGmPlWmWbLKvd9uolrJ 0tkdp6YjFJORQcvZpb8C3k9xYAOHVz6i7kI+Ce6cNaPgc500C+ghu9D1H87JfTlDQr/16O jlq6s9UKAj410m4cH+xnWh2t4bdL/Ns= Date: Thu, 12 Dec 2024 10:23:14 +0800 MIME-Version: 1.0 Subject: Re: [PATCH v3] mm/alloc_tag: Fix panic when CONFIG_KASAN enabled and CONFIG_KASAN_VMALLOC not enabled To: kernel test robot , surenb@google.com, kent.overstreet@linux.dev, akpm@linux-foundation.org Cc: oe-kbuild-all@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Hao Ge , Ben Greear References: <20241211025755.56173-1-hao.ge@linux.dev> <202412120143.l3g6vx8b-lkp@intel.com> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Hao Ge In-Reply-To: <202412120143.l3g6vx8b-lkp@intel.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: 2034280006 X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: 4hkzhpi48j5ktazujbn8afrhdemgs44d X-HE-Tag: 1733970156-966121 X-HE-Meta: U2FsdGVkX1+3ZY5ZUB+ar7/XFVePDm54H7sEOwKuhSThsCWALzkOcgGiVVy6LWotn7bcx3Y51fGu/ftgBXIw6HtL1XFWizq4F9sNw1c+16G2Xn09CvMYsvlJgC7+7vIIoR+dWgd8HIQguotCKt+4+axhGc09oSiSdlcX2TbGee9BHUcebfBNjznemXgHMXy6ijLdTeKXrHPApfluTs233BdGsHIUfRd2U+iuZEpmIqt42mvm1Xs52glKA8TjJpTMBiv0FfgY8XlBU+gSpQRjC3IyePZOkxG2dhvtvR7xLIAi//TU+TFAej2VD49PyQuhM4Lgr/wumzmQyBCkH9Nuthz3Jc/qI3wMSrb4b2eTnKKB2upinS9YGmRbPbC1tGtz6RwYW9cXYMHcwbOqbYTO+xTe3llxSnXiF/DCGlwRBUYjW3qZohiC96dakMc7UeFHNtSbrlxWJhK7hV6k6/cApod8B6K2JN9AyXk23r+nvzbhZI/8c9jIxsS7OugcMv2YjcAYz2df8omg140YIeNJ4Quamn4OY6abu8ud4cf2m8UfR6Nx1EbW9I1XYm3lsm90QkjjjJbCdaiZeYfHL86ai8LhJ4NcO+pF5y17RMqP2r6YqtyI5L2rVm00V1QAWu516OVw1nuxgMtKxjCO+t3u26gf7ZrTv6cmSZiU7hOmOSzRxbv097NJ17SZr8eOh3q+zOC8Fi1WGlvhw8mH7IpzubADaN+CdMK5RqLmM3tEXrTKGBiYt25vp/TBryMNO1VsrGjZR2fq3SFimeKUKRH2jR6dx349OVC8GEJVvdNNqEIlju/Iue3OUJGF6arXZax/LVwEklDZXIrRCT2pQqDXMDqpNMVO1ipqsi7FSERNdc3gLGQvHHkzzr+DkhIsGKVUBEfzr0ElHYO4RPylzXjdlOGwiQEniQ489ZhVoxZ1Ty37LdcccA14THhfd4wL9LAq010st+RGHtU4DYeaOCp b1pK5aRL Zye7l+MP/aW4uvja2NZIP6rRRI9WTKFoyLN3Bi1KiMqQCRypf5ZXSsatvLm9LjvoLsMA47p5ETMxA+ESca92bdRYiKKPgezPJBse1PYpWVczf+ZkACAOhcHpmjyoB3BXlxzy/UIoymYxD/HKSRIDL1dNtW4gk/d1cP/wH9mOn2JaPBG9d03Dc53UwYb33NKRwoNiaiww5EigklLs0vaZQkDwknkhH8NFi3bh0zXEqupjzMjiQ62HT8VvtATqtk4sCuc1bBum3bbmXrLydRPIYLg/3VFHnmhb/Xu23QHw9FXAa43MhjAO5JDQ6fdm1n9WYg34IdfYqXtFIdDU= 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: Hi Thanks for you report. This version has been deprecated, and a new V4 version has been released. On 12/12/24 01:18, kernel test robot wrote: > Hi Hao, > > kernel test robot noticed the following build errors: > > [auto build test ERROR on akpm-mm/mm-everything] > > url: https://github.com/intel-lab-lkp/linux/commits/Hao-Ge/mm-alloc_tag-Fix-panic-when-CONFIG_KASAN-enabled-and-CONFIG_KASAN_VMALLOC-not-enabled/20241211-110206 > base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything > patch link: https://lore.kernel.org/r/20241211025755.56173-1-hao.ge%40linux.dev > patch subject: [PATCH v3] mm/alloc_tag: Fix panic when CONFIG_KASAN enabled and CONFIG_KASAN_VMALLOC not enabled > config: i386-buildonly-randconfig-005-20241211 (https://download.01.org/0day-ci/archive/20241212/202412120143.l3g6vx8b-lkp@intel.com/config) > compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241212/202412120143.l3g6vx8b-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/202412120143.l3g6vx8b-lkp@intel.com/ > > All errors (new ones prefixed by >>): > > lib/alloc_tag.c: In function 'vm_module_tags_populate': >>> lib/alloc_tag.c:409:40: error: 'KASAN_SHADOW_SCALE_SHIFT' undeclared (first use in this function) > 409 | (2 << KASAN_SHADOW_SCALE_SHIFT) - 1) >> KASAN_SHADOW_SCALE_SHIFT; > | ^~~~~~~~~~~~~~~~~~~~~~~~ > lib/alloc_tag.c:409:40: note: each undeclared identifier is reported only once for each function it appears in > > > vim +/KASAN_SHADOW_SCALE_SHIFT +409 lib/alloc_tag.c > > 402 > 403 static int vm_module_tags_populate(void) > 404 { > 405 unsigned long phys_end = ALIGN_DOWN(module_tags.start_addr, PAGE_SIZE) + > 406 (vm_module_tags->nr_pages << PAGE_SHIFT); > 407 unsigned long new_end = module_tags.start_addr + module_tags.size; > 408 unsigned long phys_idx = (vm_module_tags->nr_pages + > > 409 (2 << KASAN_SHADOW_SCALE_SHIFT) - 1) >> KASAN_SHADOW_SCALE_SHIFT; > 410 unsigned long new_idx = 0; > 411 > 412 if (phys_end < new_end) { > 413 struct page **next_page = vm_module_tags->pages + vm_module_tags->nr_pages; > 414 unsigned long more_pages; > 415 unsigned long nr; > 416 > 417 more_pages = ALIGN(new_end - phys_end, PAGE_SIZE) >> PAGE_SHIFT; > 418 nr = alloc_pages_bulk_array_node(GFP_KERNEL | __GFP_NOWARN, > 419 NUMA_NO_NODE, more_pages, next_page); > 420 if (nr < more_pages || > 421 vmap_pages_range(phys_end, phys_end + (nr << PAGE_SHIFT), PAGE_KERNEL, > 422 next_page, PAGE_SHIFT) < 0) { > 423 /* Clean up and error out */ > 424 for (int i = 0; i < nr; i++) > 425 __free_page(next_page[i]); > 426 return -ENOMEM; > 427 } > 428 > 429 vm_module_tags->nr_pages += nr; > 430 > 431 new_idx = (vm_module_tags->nr_pages + > 432 (2 << KASAN_SHADOW_SCALE_SHIFT) - 1) >> KASAN_SHADOW_SCALE_SHIFT; > 433 > 434 /* > 435 * Kasan allocates 1 byte of shadow for every 8 bytes of data. > 436 * When kasan_alloc_module_shadow allocates shadow memory, > 437 * its unit of allocation is a page. > 438 * Therefore, here we need to align to MODULE_ALIGN. > 439 * > 440 * For every KASAN_SHADOW_SCALE_SHIFT, a shadow page is allocated. > 441 * So, we determine whether to allocate based on whether the > 442 * number of pages falls within the scope of the same KASAN_SHADOW_SCALE_SHIFT. > 443 */ > 444 if (phys_idx != new_idx) > 445 kasan_alloc_module_shadow((void *)round_up(phys_end, MODULE_ALIGN), > 446 (new_idx - phys_idx) * MODULE_ALIGN, > 447 GFP_KERNEL); > 448 } > 449 > 450 /* > 451 * Mark the pages as accessible, now that they are mapped. > 452 * With hardware tag-based KASAN, marking is skipped for > 453 * non-VM_ALLOC mappings, see __kasan_unpoison_vmalloc(). > 454 */ > 455 kasan_unpoison_vmalloc((void *)module_tags.start_addr, > 456 new_end - module_tags.start_addr, > 457 KASAN_VMALLOC_PROT_NORMAL); > 458 > 459 return 0; > 460 } > 461 >