From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from todd.t-8ch.de (todd.t-8ch.de [159.69.126.157]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3ECA9361654 for ; Mon, 23 Feb 2026 21:37:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.69.126.157 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771882668; cv=none; b=ntT2UOocf/8wSyjcZwBhWoaoLgfq7eHtna+zoDOxVv3/IeBhHQqL7cIwRnwuKGDWhveoQWpdMCD/9fZeFRuc3X5rSyrCARrkTapcoqd652YTukGTLiMXpbcod0JEnD1Gju8Squq7SOx4PA4zZ8Rs3TVljLqJfgheS2dVba85pLA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771882668; c=relaxed/simple; bh=jCJGZ6yUGTwLfNQ0j3wLPG2oxfk3xdLAhlgEKrJztzo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rNXErB6QXQtvgreB0pfv2TdzG7J5AwdTF819jGksJReIzl3NYn770n9/QWtr6QvqMY0GnC45RJw3LWUN74a2pstS1Epn1GeHnLhHsk9HMCZjSW5fASo2xTnBHadbogm/6R8R5mxHGQBhOLZcGcFWnwkKAwM/+frssTiS56Ya664= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=weissschuh.net; spf=pass smtp.mailfrom=weissschuh.net; dkim=pass (1024-bit key) header.d=weissschuh.net header.i=@weissschuh.net header.b=oXibkeaw; arc=none smtp.client-ip=159.69.126.157 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=weissschuh.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=weissschuh.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=weissschuh.net header.i=@weissschuh.net header.b="oXibkeaw" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1771882665; bh=jCJGZ6yUGTwLfNQ0j3wLPG2oxfk3xdLAhlgEKrJztzo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=oXibkeawTtBhdCgkokKZVvCDClIoBZw74G+NRsqO3JeF2CvkX7TfLu/XPPikJkq5U O7BGyjFjyYlamI+I9UAT10MxcWExb2o40skLZ0D7OlSKLtyB/MqVmPM2zpae9yCUVh M7KB9Wz2+JVb5JDJjaua8Z3Nk6Bj5fyOiqqMfdV8= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Mon, 23 Feb 2026 22:37:44 +0100 Subject: [PATCH 2/2] mm/slab: constify sysfs attributes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20260223-sysfs-const-slub-v1-2-ff86ffc26fff@weissschuh.net> References: <20260223-sysfs-const-slub-v1-0-ff86ffc26fff@weissschuh.net> In-Reply-To: <20260223-sysfs-const-slub-v1-0-ff86ffc26fff@weissschuh.net> To: Vlastimil Babka , Andrew Morton , Christoph Lameter , David Rientjes , Roman Gushchin , Harry Yoo Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1771882664; l=2029; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=jCJGZ6yUGTwLfNQ0j3wLPG2oxfk3xdLAhlgEKrJztzo=; b=u66knv3q+Wk6YoFvrfVTHgsEMtuKPgGFNrimyxL8rKC6zLqhYkhgiqCP5J7DFYujF86ynB+sN ez+/dKQObdECJ94JBYGfrubVSOrUWYXy1NBZccpdpsCCo5daeFAhHDB X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= These attributes are never modified, make them read-only. Signed-off-by: Thomas Weißschuh --- mm/slub.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mm/slub.c b/mm/slub.c index a48ea23b1728..73051cf77353 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -8833,7 +8833,7 @@ static ssize_t show_slab_objects(struct kmem_cache *s, return len; } -#define to_slab_attr(n) container_of(n, struct slab_attribute, attr) +#define to_slab_attr(n) container_of_const(n, struct slab_attribute, attr) #define to_slab(n) container_of(n, struct kmem_cache, kobj) struct slab_attribute { @@ -8843,10 +8843,10 @@ struct slab_attribute { }; #define SLAB_ATTR_RO(_name) \ - static struct slab_attribute _name##_attr = __ATTR_RO_MODE(_name, 0400) + static const struct slab_attribute _name##_attr = __ATTR_RO_MODE(_name, 0400) #define SLAB_ATTR(_name) \ - static struct slab_attribute _name##_attr = __ATTR_RW_MODE(_name, 0600) + static const struct slab_attribute _name##_attr = __ATTR_RW_MODE(_name, 0600) static ssize_t slab_size_show(struct kmem_cache *s, char *buf) { @@ -9240,7 +9240,7 @@ static ssize_t skip_kfence_store(struct kmem_cache *s, SLAB_ATTR(skip_kfence); #endif -static struct attribute *slab_attrs[] = { +static const struct attribute *const slab_attrs[] = { &slab_size_attr.attr, &object_size_attr.attr, &objs_per_slab_attr.attr, @@ -9323,7 +9323,7 @@ static ssize_t slab_attr_show(struct kobject *kobj, struct attribute *attr, char *buf) { - struct slab_attribute *attribute; + const struct slab_attribute *attribute; struct kmem_cache *s; attribute = to_slab_attr(attr); @@ -9339,7 +9339,7 @@ static ssize_t slab_attr_store(struct kobject *kobj, struct attribute *attr, const char *buf, size_t len) { - struct slab_attribute *attribute; + const struct slab_attribute *attribute; struct kmem_cache *s; attribute = to_slab_attr(attr); -- 2.53.0