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 3951AC282CD for ; Mon, 3 Mar 2025 14:42:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BBF2D6B0085; Mon, 3 Mar 2025 09:42:36 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B6EF96B0088; Mon, 3 Mar 2025 09:42:36 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A11636B0089; Mon, 3 Mar 2025 09:42:36 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 7FF656B0085 for ; Mon, 3 Mar 2025 09:42:36 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 0396D1A0A42 for ; Mon, 3 Mar 2025 14:42:35 +0000 (UTC) X-FDA: 83180505912.08.F474698 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf10.hostedemail.com (Postfix) with ESMTP id 2DF86C000D for ; Mon, 3 Mar 2025 14:42:33 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="fMjtlw9/"; spf=none (imf10.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741012954; 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:in-reply-to:references:references:dkim-signature; bh=L74JSotHWDPUP5TBM0hQkEM8p8tPw00XqklUA9G8JwE=; b=PiFe4To4PwDy3+He9+je/WA0Hp8ulUhuynI2jCLykiQ92/4wEjyvywgpPygse/8+/c5FIh Ft2gOuATmuumvBvn1L74ZcxXVbvg3aHSXnCF6kD6qrni8eL8cI9d59Y/nOYlm6JQ+STcDu Gy3BuoGK30vk+OAKKy5z5lNxQfC/YoI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741012954; a=rsa-sha256; cv=none; b=tktFBegPTDhYhK390EAi2+n3HYbdcqCtGuJdtNLfaz5OrTGnOxAKsIVCO1hca4SoHzvsQp 2VDe1Vg2qd9tZjtFLYxMz3EnoMMUGy1C3B1RBrmiVjYwuV2PIEkmE2qmztYSm8uhwr9yaY Sboeb1zvz79Q55FGMmYczPVGV5owdyU= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="fMjtlw9/"; spf=none (imf10.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=L74JSotHWDPUP5TBM0hQkEM8p8tPw00XqklUA9G8JwE=; b=fMjtlw9/24EtzGGZI9GLAsjmLW iinSMSOKeK8riTV5HUi8/78FGb99T3v4BDXSuHkLTUodOSGGz6ONIHOqYniE2FRj4/7HBDtdCZZFQ un91u5skTOYWJH4+Ac0FkXBskIxivhSrl5npbunuU9iJNbIH1HhOIs5S0/F26TkEeiZzDW53cUUy/ 0T2DC7YHeMmfGR9A147o3gPqBEgFfJBE90ooXKN9sMR9dT2QIUL6qADqjUKeoCPWPYMXaQzrB13j/ XRjDDvdZDt6Ie7PBSKGblc5hELN6ISusevEEOHNK/mff5C0BBtQvuIDnt6MDy7J7/GKNBzuFvUcdO zjEgniGw==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1tp703-0000000BlqL-0XV4; Mon, 03 Mar 2025 14:42:31 +0000 Date: Mon, 3 Mar 2025 14:42:30 +0000 From: Matthew Wilcox To: Hannes Reinecke Cc: Vlastimil Babka , Sagi Grimberg , "linux-nvme@lists.infradead.org" , "linux-block@vger.kernel.org" , linux-mm@kvack.org Subject: Re: Kernel oops with 6.14 when enabling TLS Message-ID: References: <08c29e4b-2f71-4b6d-8046-27e407214d8c@suse.com> <509dd4d3-85e9-40b2-a967-8c937909a1bf@suse.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Stat-Signature: ngwpixsw3jp8emr6u7esg1t8qqg86fph X-Rspamd-Queue-Id: 2DF86C000D X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1741012953-135227 X-HE-Meta: U2FsdGVkX1/Jkz9rabpXQhiZD9RU6Tet867M/yW0tAVNvAopgvIrw7wfYmc539uEpSk6PoQRdxvZlRKbQpNoWBkQfW87qTkPmm0eDZpr788/cXBboWWeB3F5Ri65MVvkg6wxIb4JZV20WmL4UL7nF6ahwELJs/qOzNAy/i5RJ/SlUYkVZEfEapgWnYZzlYNd23+F1L8knZZwS7lEWwR9AtGxQESiQ8MNkzjubhp9YL9+lNXmRlrebVEMVzM4zie6vcTxk2rkTE3YNVQFD64kr2LHh0cK29epgaY652uM5wmSSQ9VTk5XyYjEDl21sPs2VCEQchkJAVxCZE07nExyBI0K2XRqyCl7PMDJJn7tI1zjuK6o1zozPzg5jYBrpHE0Trocf6OInmQDc9F8z25dOzAWLGCuWmIca5L8m4S9+tpLFcI1RtY8vPM1Wa/Q8xJpYrZL97sDzJ6ALHEfs3ZBPE7chAwpikqSUJnS7f4ZUHGFti+oTiK8XwxlPd/xXn2m/9WC69wyDwQBOhEeXtW18Ge8tgr3Ymw1vnTZWlqA/Aiap6ny3MoLYquAmsOYnYdKfRuDA1/R/bG0w3JNa9MD9c6O0NMKVeT7K1WFIOgpobRBo6elPVCZ+koegfIBHQMk0/f7wslHtJJhpfxRi0QaAy/zre0DRN9S5kTwfklsbTZwrQnyYclAOEYG5VomC2RQLPMhbRLNOkjI+X4+uNJ8EHVXSJWxykKcDe/sUFMTL39sLR/reVvF19wjyiaM/ylRVds72JM1Yjnd29JiSqnTKZnZTn4FcRouwE3OQ0GsOXDdR3G5tcpjoBi1N32qtNjnBo7qJ0Ho3N61HH8EVeudodxlr8/MqZ+ftix5DYBRfhDJwHF3cPw5t9ZZ0SmFy2alpOAyO+Dh6C0IF8SgPHqBfEIZSc3Z9hLr4Qjg6d+oE2QpvnvVTZP/evcqIWjXv2WugI6ZEgfn3u/Ub+uEWUm 9E3ld+Z+ UhaF003nrqCCMe2OEgBpcN8ebD83CoHDyc/by0xs1JQU/p4i97fo4Vg0/eo/0xjd5Nid2I0W17+lC+2MLAfPOvaFpVO+DKZtWaX9Hz9QdM5CrcjygFxLSYYaa51wrEEggl92Q2Twja54CN9N17z+aiOw250uRZd96v5BiHpnXIL5DgzKwbxgxVdkZCKnFnxo/tST/qdzYcO+ejbSj6MUEfIGpnFk3/o4ZNTui/+xhmcjcADAw9AnnTMVkWXJIcXmp3J7L9kSBKIwD/5o= 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: On Mon, Mar 03, 2025 at 02:27:06PM +0000, Matthew Wilcox wrote: > We have a _lot_ of page types available. We should mark large kmallocs > as such. I'll send a patch to do that. Can you try this? It should fix the crash, at least. Not sure why the frozen patch triggered it. diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 36d283552f80..df9234e5f478 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -925,14 +925,15 @@ FOLIO_FLAG_FALSE(has_hwpoisoned) enum pagetype { /* 0x00-0x7f are positive numbers, ie mapcount */ /* Reserve 0x80-0xef for mapcount overflow. */ - PGTY_buddy = 0xf0, - PGTY_offline = 0xf1, - PGTY_table = 0xf2, - PGTY_guard = 0xf3, - PGTY_hugetlb = 0xf4, - PGTY_slab = 0xf5, - PGTY_zsmalloc = 0xf6, - PGTY_unaccepted = 0xf7, + PGTY_buddy = 0xf0, + PGTY_offline = 0xf1, + PGTY_table = 0xf2, + PGTY_guard = 0xf3, + PGTY_hugetlb = 0xf4, + PGTY_slab = 0xf5, + PGTY_zsmalloc = 0xf6, + PGTY_unaccepted = 0xf7, + PGTY_large_kmalloc = 0xf8, PGTY_mapcount_underflow = 0xff }; @@ -1075,6 +1076,7 @@ PAGE_TYPE_OPS(Zsmalloc, zsmalloc, zsmalloc) * Serialized with zone lock. */ PAGE_TYPE_OPS(Unaccepted, unaccepted, unaccepted) +FOLIO_TYPE_OPS(large_kmalloc, large_kmalloc) /** * PageHuge - Determine if the page belongs to hugetlbfs diff --git a/mm/slub.c b/mm/slub.c index 1f50129dcfb3..872e1bab3bd1 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -4241,6 +4241,7 @@ static void *___kmalloc_large_node(size_t size, gfp_t flags, int node) ptr = folio_address(folio); lruvec_stat_mod_folio(folio, NR_SLAB_UNRECLAIMABLE_B, PAGE_SIZE << order); + __folio_set_large_kmalloc(folio); } ptr = kasan_kmalloc_large(ptr, size, flags); @@ -4716,6 +4717,11 @@ static void free_large_kmalloc(struct folio *folio, void *object) { unsigned int order = folio_order(folio); + if (WARN_ON_ONCE(!folio_test_large_kmalloc(folio))) { + dump_page(&folio->page, "Not a kmalloc allocation"); + return; + } + if (WARN_ON_ONCE(order == 0)) pr_warn_once("object pointer: 0x%p\n", object); @@ -4725,6 +4731,7 @@ static void free_large_kmalloc(struct folio *folio, void *object) lruvec_stat_mod_folio(folio, NR_SLAB_UNRECLAIMABLE_B, -(PAGE_SIZE << order)); + __folio_clear_large_kmalloc(folio); folio_put(folio); }