From nobody Fri Oct 3 12:16:41 2025 Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0305A1C6FE5 for ; Mon, 1 Sep 2025 06:12:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707156; cv=none; b=iFAozeks/v5mDI0wwWdIRdW2ASmBUjEC1D76Xg4QIbA2kWmJcKxaK+GcLbuM1Mk7F7azXZKpsHEVIt72ojZPg4e1tXowG6C1PY/8qDTO7tkJORgwb2vYOyYXEQPp0dZF7/5yWYnKONLsMzV08+8HqgWESWv3jEej+3VldG/PHD8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707156; c=relaxed/simple; bh=V4LU0I3hCKksqnAA2+hhIoz1XTJlKk2FJeYaC7TfaKg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=di/Z/Z1PBlYbX6FvU7RpYdiztochF6UPzvpPw7t92GS/5bP5EuH75lXEjopuMfkHuljOTjvmFE68bjKIHPUFkDw88UePtKOVIpbt2g2C/UkBFQZGSzvOgmf/XUu4+AFR7rGKLIRGWVaYCQ/8VOIfQpZeVKsX1kyPwGWfmThXD5E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com; spf=pass smtp.mailfrom=ionos.com; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b=e67ix/3v; arc=none smtp.client-ip=209.85.208.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ionos.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b="e67ix/3v" Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-61ce9bcc624so4260141a12.1 for ; Sun, 31 Aug 2025 23:12:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756707153; x=1757311953; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=SAmcQheZtK8H9lT/6SrM187F2xtfPKvpNjdr5OvH7Wc=; b=e67ix/3v71Nn+XL1e/dWU4M6HMurmhaAXARhPS+g5memYuktmEuqgIhcKkWdNhb7F7 K7FA/rYROi3eEI97Dd4g+4QXv/6Y7VIMhqWjtF5+QBM1C8+CdVgIBLSSEPs4sj1ctGHQ aP7QgXEC/3eTEP4f1G6VkXbCphcw3vGNFQqnxUZ3A29IBIeL2NfBdZ/e5VVEMfToHPkV rvERlKOgkaeNPnQP8w5yc/JKCxsep1VTiyRwcVDx/q7m1yHGrbQMrie+snT7HKCOKVUR F+f6DAn5+ArUOcyPzLOQIvrbpJJ5Rw9KDi2A4CI8gmwVrtO5rLREmn6PMi69gQGdAvJ6 myyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756707153; x=1757311953; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SAmcQheZtK8H9lT/6SrM187F2xtfPKvpNjdr5OvH7Wc=; b=XYsfCxCP35drrlKrbqevZV+fSdd99nvLraSsNIDCur/RyOKLIYXpsuh+UY6JZidVf6 P7vIOsDElxGIxeEgtTkRetO14eEQ9yyqsdW/F8QAw+eX279tqZf16FQIgW0qIvcG8sdW pwO2OIpKnya4zfv15SvGXE2Deb4W43GYwLep+f/z0mVJLkcF04IlQxSKJG8Dau/KNx+w GRFE9vQL7z8TqVveImmyox69UnDlp5hBvWp40J4sMfaeWXnrMTvxJBg5z0umPEu861oJ VzCoZvFX6/meZF9ZRs0hpncudDIwrARaE72asczv2QZmNvJ9RaTboYUaIn/zgbZ+mgIj WBew== X-Forwarded-Encrypted: i=1; AJvYcCXMU9wu/S7zTgY51Fw1X/U10GeZ9yNJBHWNkQJqvbPdpooDx9s9fNQ2aYZk8WmIbH4nwgqzV6EM4iWwCCI=@vger.kernel.org X-Gm-Message-State: AOJu0YxtewGSHLoMMA5kEHAt69mOnyxJqYSEzB5WRmh+r7vbhbibpw2N nWEF6j8oQOAz+tTqIxdotxEEJBGJgVx8gRMfHnAWIc5Jnxmbaqh+tBb/ZnI+a7yS6pQ= X-Gm-Gg: ASbGncspZYs8VgWMQT9Gy0rlqwAmg0QxY2rE2gFXu/p+6YXsKJi9scSpu89j3gLcipR dfDubDmQvdUbS5A4bYmkT4QBJUOmiosWOX4/w3vaUcBburJxaTL9WWeiSSDVasJZ5N+O5arodoP rKVrzwgyT4FZ+vXy5hQvS6COO7RbFhJsoVcew387Eiks6Ps+CosI2Y36wJKEmXIKzDeYOMguihy gxcRf9Z96mGpplxsFmJeIGvJBw+7B2FTe5uzS0053W7FZp8e1gim27uD1NUx1Kz8Abqo2+jT2e6 hkcrQx+oa2f8wEIwlvHY7zp5bqVqkSU0Z1UbTcw+OH0d12ZXWmo/gZsqXESCpG1TV/yxZhq/3WN W5LtUF1DeEXMGsQU5n+OS02+zGbjkSbIFQJIrvGY/xa0PDKagGDkrQy4qiPGro8eWgUVBnArhAH wMK8TsaxkSTCx7sgS5DbGnYw33dcJZcN38 X-Google-Smtp-Source: AGHT+IGAZtQ8S0AtmfPW/zy24FKXFpTjW7KLkRhUqL2JQUArAEikfl5S7NyGUJW7THgkMENC9KM8zA== X-Received: by 2002:a05:6402:5419:b0:61c:87da:4bff with SMTP id 4fb4d7f45d1cf-61d26d7801dmr5403229a12.26.1756707153277; Sun, 31 Aug 2025 23:12:33 -0700 (PDT) Received: from raven.intern.cm-ag (p200300dc6f1d0f00023064fffe740809.dip0.t-ipconnect.de. [2003:dc:6f1d:f00:230:64ff:fe74:809]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-61cfc231561sm6374533a12.23.2025.08.31.23.12.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 23:12:32 -0700 (PDT) From: Max Kellermann To: akpm@linux-foundation.org, david@redhat.com, axelrasmussen@google.com, yuanchu@google.com, willy@infradead.org, hughd@google.com, mhocko@suse.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, vishal.moola@gmail.com Cc: Max Kellermann Subject: [PATCH v3 01/12] mm/shmem: add `const` to lots of pointer parameters Date: Mon, 1 Sep 2025 08:12:12 +0200 Message-ID: <20250901061223.2939097-2-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250901061223.2939097-1-max.kellermann@ionos.com> References: <20250901061223.2939097-1-max.kellermann@ionos.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" For improved const-correctness. Signed-off-by: Max Kellermann Reviewed-by: Vishal Moola (Oracle) Reviewed-by: Lorenzo Stoakes --- include/linux/mm.h | 8 ++++---- include/linux/shmem_fs.h | 4 ++-- mm/shmem.c | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index cd14298bb958..18deb14cb1f5 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -979,11 +979,11 @@ static inline void vma_iter_set(struct vma_iterator *= vmi, unsigned long addr) * The vma_is_shmem is not inline because it is used only by slow * paths in userfault. */ -bool vma_is_shmem(struct vm_area_struct *vma); -bool vma_is_anon_shmem(struct vm_area_struct *vma); +bool vma_is_shmem(const struct vm_area_struct *vma); +bool vma_is_anon_shmem(const struct vm_area_struct *vma); #else -static inline bool vma_is_shmem(struct vm_area_struct *vma) { return false= ; } -static inline bool vma_is_anon_shmem(struct vm_area_struct *vma) { return = false; } +static inline bool vma_is_shmem(const struct vm_area_struct *vma) { return= false; } +static inline bool vma_is_anon_shmem(const struct vm_area_struct *vma) { r= eturn false; } #endif =20 int vma_is_stack_for_current(struct vm_area_struct *vma); diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h index 6d0f9c599ff7..0e47465ef0fd 100644 --- a/include/linux/shmem_fs.h +++ b/include/linux/shmem_fs.h @@ -99,9 +99,9 @@ extern unsigned long shmem_get_unmapped_area(struct file = *, unsigned long addr, unsigned long len, unsigned long pgoff, unsigned long flags); extern int shmem_lock(struct file *file, int lock, struct ucounts *ucounts= ); #ifdef CONFIG_SHMEM -bool shmem_mapping(struct address_space *mapping); +bool shmem_mapping(const struct address_space *mapping); #else -static inline bool shmem_mapping(struct address_space *mapping) +static inline bool shmem_mapping(const struct address_space *mapping) { return false; } diff --git a/mm/shmem.c b/mm/shmem.c index 640fecc42f60..d55bceaa1c80 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -275,18 +275,18 @@ static const struct vm_operations_struct shmem_vm_ops; static const struct vm_operations_struct shmem_anon_vm_ops; static struct file_system_type shmem_fs_type; =20 -bool shmem_mapping(struct address_space *mapping) +bool shmem_mapping(const struct address_space *const mapping) { return mapping->a_ops =3D=3D &shmem_aops; } EXPORT_SYMBOL_GPL(shmem_mapping); =20 -bool vma_is_anon_shmem(struct vm_area_struct *vma) +bool vma_is_anon_shmem(const struct vm_area_struct *const vma) { return vma->vm_ops =3D=3D &shmem_anon_vm_ops; } =20 -bool vma_is_shmem(struct vm_area_struct *vma) +bool vma_is_shmem(const struct vm_area_struct *const vma) { return vma_is_anon_shmem(vma) || vma->vm_ops =3D=3D &shmem_vm_ops; } --=20 2.47.2 From nobody Fri Oct 3 12:16:41 2025 Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 28CAB23C513 for ; Mon, 1 Sep 2025 06:12:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707158; cv=none; b=Cjs8ZnXw654O7JtqhzcYn9Sj+kDlTapPl4vbCy6S8vYtG5CD4yrHPRlxlkBrqC2WVdm6HjknMdbomV2a3LM5mIEnt/U3VROpYwywJ0k3tdZ32phbCO0yRtWEVL+h1cz3KRbelCIlLguYV2LKYni6kkFK6Vb8PpCZpqgbIUxUAHE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707158; c=relaxed/simple; bh=/lbuJGSSu9s1xep3m1vDibaxvsuVWqN3rvdpURz10dA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lTFWAasl4oLhDDzMf+VGugDMjvq2VWtluy03v5imDfz7Fruz6d0hCsXHiTzk51iSUBnjN4R3+3jNRkVvNWzGAp0QEYssh6G2/FE0PDM2/G+yq4aZ/hhJ82MXYyWPvGMtZkcESZ2jgKxRaAOV1WPni/dA3b5kmesY1a0J0OLXdiU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com; spf=pass smtp.mailfrom=ionos.com; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b=QyErU35i; arc=none smtp.client-ip=209.85.208.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ionos.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b="QyErU35i" Received: by mail-ed1-f49.google.com with SMTP id 4fb4d7f45d1cf-61ce4c32a36so6178998a12.3 for ; Sun, 31 Aug 2025 23:12:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756707154; x=1757311954; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QbOxTOmsEJ7WcickPs/Dyo+zW1ULm2UsA/dTtkyEV5o=; b=QyErU35iIbSpn8srw5iP+ui+VT4vU9ZcejhfaE9uqjCQAICtp9nKgv8ubSMlmp+ZOC c83ueQnxtAvqxrlm9Cm5utQh3wLDM+wXII/bhvEskn+10tE5qXjatdRFRKam7ySKrcsH cyjuf/QhRo7tUkA0ILyUbNJXfY04w5noJQpiJpRHBdAAiKPLC+roCVCr/cBdozmgdhNO 7Lzeq4H+g0AppVN6nPKfEWo2E66F1OxvoXeEHXSodC+za5sjPf1DljkFqo40dlNK7R3B vwakc/cKWXOPJZaSYklaeRbQOXlsUqH6NvK5Vx2nL1D8ERTsbZ3rrnJz48flPDwaykgn 2UVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756707154; x=1757311954; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QbOxTOmsEJ7WcickPs/Dyo+zW1ULm2UsA/dTtkyEV5o=; b=luph/AlDAZ9JjNnoYVYR8mJZjKsCcOznYSFTC8iXEHz33l+bFr4Os0OscAMOP5VwEi tEsJUBZ5dYrqjMTFxLB7kH1hXNwQMj7vtLX/9U7yyqZOQ0SH/ZQr0WylDLrhAo+6OK8L PiIQUptMtBS/VY432ZcHxSV8yS53twW81e2OsRLCO++GDLStgdopVIhROH5VNVv+qOBe m9nCzkZSnn8wfg4GeS2SEZyBKwb27JW0JD/oWW4PreWRRnPE/6o4Nd8l6ly7neGgsc/e Ez6ju11DbWBNKslG04BQx4CdRIjnZ7/6zdtXFLxfo2R/mE/YX7lAAXwX825Hi9B37zxQ YX2Q== X-Forwarded-Encrypted: i=1; AJvYcCWybpdfUNTN6fIeBwT9f63ExnzkE6nV77dU5nJv4iFLiJTrlN6q9mwSt8VO/rz5O4BYOUXUEQS9xPLWOKo=@vger.kernel.org X-Gm-Message-State: AOJu0YyJLqbdfAUbgpJetQSd5T5EghScPzR2xzHMhftliXbnsyJ3VuPq H/ddXjSOngvtFhvo2BrHxyy2LGYdr5IGC1Dyj380q7oRaZvOHB/nnFNnjndq4zAA0Vs= X-Gm-Gg: ASbGnct+7EUMtQqqTYvMwB2NaJiWIB2U7wW5WCSIB7IcD3juirnBAAmKWoqjLF7qbja CHwTj08UAunZYpA8InJ6/FJgZ1dUGURbdlNOpsf/s7YiNINyDo4SfrkpMqgUfGqbDPCZ+flRQu4 RTEFtEtUBn9Fi7Di5SBaSLDk5+V4DYFgfPn+rlyb0lrO7WmL3eoiyCtBnlc1OYzYj/omdhiKc87 mZQqW+l5MqnuSZ5TssVbBTl4E6cb4/9ddHLf6NCV12vXgaOVVk4EZEtzesVBazNdMEzNi57OrGI utCV2jCMwFB9Gz0697Too8l5/tfzMVmAumZdl8Bp10Rodr/p48JwSs9rDdKyPmqUFXIL6+0F1To TtkIV4GqykuqU/M1oYKnOSYlnbwjOkmUXJvECnHxbaijVdqnL1XOK9YhHFKSvbjm113ooa8ts5j fpzi5ffO8Unog3DDcuGNS3Dg== X-Google-Smtp-Source: AGHT+IGunCnqYebXshKmhp69hbzsKN6RWeNNdfy7R5uCmjqSaO23xnCPBnHHUeEvtpUMwNy7FNQfdQ== X-Received: by 2002:a05:6402:13d1:b0:61a:9385:c785 with SMTP id 4fb4d7f45d1cf-61d26eb5db1mr6033186a12.36.1756707154327; Sun, 31 Aug 2025 23:12:34 -0700 (PDT) Received: from raven.intern.cm-ag (p200300dc6f1d0f00023064fffe740809.dip0.t-ipconnect.de. [2003:dc:6f1d:f00:230:64ff:fe74:809]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-61cfc231561sm6374533a12.23.2025.08.31.23.12.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 23:12:33 -0700 (PDT) From: Max Kellermann To: akpm@linux-foundation.org, david@redhat.com, axelrasmussen@google.com, yuanchu@google.com, willy@infradead.org, hughd@google.com, mhocko@suse.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, vishal.moola@gmail.com Cc: Max Kellermann Subject: [PATCH v3 02/12] mm/pagemap: add `const` to lots of pointer parameters Date: Mon, 1 Sep 2025 08:12:13 +0200 Message-ID: <20250901061223.2939097-3-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250901061223.2939097-1-max.kellermann@ionos.com> References: <20250901061223.2939097-1-max.kellermann@ionos.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" For improved const-correctness. Signed-off-by: Max Kellermann Reviewed-by: Vishal Moola (Oracle) --- include/linux/pagemap.h | 57 +++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index a3e16d74792f..1d35f9e1416e 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h @@ -140,7 +140,7 @@ static inline int inode_drain_writes(struct inode *inod= e) return filemap_write_and_wait(inode->i_mapping); } =20 -static inline bool mapping_empty(struct address_space *mapping) +static inline bool mapping_empty(const struct address_space *const mapping) { return xa_empty(&mapping->i_pages); } @@ -166,7 +166,7 @@ static inline bool mapping_empty(struct address_space *= mapping) * refcount and the referenced bit, which will be elevated or set in * the process of adding new cache pages to an inode. */ -static inline bool mapping_shrinkable(struct address_space *mapping) +static inline bool mapping_shrinkable(const struct address_space *const ma= pping) { void *head; =20 @@ -267,7 +267,7 @@ static inline void mapping_clear_unevictable(struct add= ress_space *mapping) clear_bit(AS_UNEVICTABLE, &mapping->flags); } =20 -static inline bool mapping_unevictable(struct address_space *mapping) +static inline bool mapping_unevictable(const struct address_space *const m= apping) { return mapping && test_bit(AS_UNEVICTABLE, &mapping->flags); } @@ -277,7 +277,7 @@ static inline void mapping_set_exiting(struct address_s= pace *mapping) set_bit(AS_EXITING, &mapping->flags); } =20 -static inline int mapping_exiting(struct address_space *mapping) +static inline int mapping_exiting(const struct address_space *const mappin= g) { return test_bit(AS_EXITING, &mapping->flags); } @@ -287,7 +287,7 @@ static inline void mapping_set_no_writeback_tags(struct= address_space *mapping) set_bit(AS_NO_WRITEBACK_TAGS, &mapping->flags); } =20 -static inline int mapping_use_writeback_tags(struct address_space *mapping) +static inline int mapping_use_writeback_tags(const struct address_space *c= onst mapping) { return !test_bit(AS_NO_WRITEBACK_TAGS, &mapping->flags); } @@ -333,7 +333,7 @@ static inline void mapping_set_inaccessible(struct addr= ess_space *mapping) set_bit(AS_INACCESSIBLE, &mapping->flags); } =20 -static inline bool mapping_inaccessible(struct address_space *mapping) +static inline bool mapping_inaccessible(const struct address_space *const = mapping) { return test_bit(AS_INACCESSIBLE, &mapping->flags); } @@ -343,18 +343,18 @@ static inline void mapping_set_writeback_may_deadlock= _on_reclaim(struct address_ set_bit(AS_WRITEBACK_MAY_DEADLOCK_ON_RECLAIM, &mapping->flags); } =20 -static inline bool mapping_writeback_may_deadlock_on_reclaim(struct addres= s_space *mapping) +static inline bool mapping_writeback_may_deadlock_on_reclaim(const struct = address_space *const mapping) { return test_bit(AS_WRITEBACK_MAY_DEADLOCK_ON_RECLAIM, &mapping->flags); } =20 -static inline gfp_t mapping_gfp_mask(struct address_space * mapping) +static inline gfp_t mapping_gfp_mask(const struct address_space *const map= ping) { return mapping->gfp_mask; } =20 /* Restricts the given gfp_mask to what the mapping allows. */ -static inline gfp_t mapping_gfp_constraint(struct address_space *mapping, +static inline gfp_t mapping_gfp_constraint(const struct address_space *map= ping, gfp_t gfp_mask) { return mapping_gfp_mask(mapping) & gfp_mask; @@ -477,13 +477,13 @@ mapping_min_folio_order(const struct address_space *m= apping) } =20 static inline unsigned long -mapping_min_folio_nrpages(struct address_space *mapping) +mapping_min_folio_nrpages(const struct address_space *const mapping) { return 1UL << mapping_min_folio_order(mapping); } =20 static inline unsigned long -mapping_min_folio_nrbytes(struct address_space *mapping) +mapping_min_folio_nrbytes(const struct address_space *const mapping) { return mapping_min_folio_nrpages(mapping) << PAGE_SHIFT; } @@ -497,7 +497,7 @@ mapping_min_folio_nrbytes(struct address_space *mapping) * new folio to the page cache and need to know what index to give it, * call this function. */ -static inline pgoff_t mapping_align_index(struct address_space *mapping, +static inline pgoff_t mapping_align_index(const struct address_space *cons= t mapping, pgoff_t index) { return round_down(index, mapping_min_folio_nrpages(mapping)); @@ -507,7 +507,7 @@ static inline pgoff_t mapping_align_index(struct addres= s_space *mapping, * Large folio support currently depends on THP. These dependencies are * being worked on but are not yet fixed. */ -static inline bool mapping_large_folio_support(struct address_space *mappi= ng) +static inline bool mapping_large_folio_support(const struct address_space = *mapping) { /* AS_FOLIO_ORDER is only reasonable for pagecache folios */ VM_WARN_ONCE((unsigned long)mapping & FOLIO_MAPPING_ANON, @@ -522,7 +522,7 @@ static inline size_t mapping_max_folio_size(const struc= t address_space *mapping) return PAGE_SIZE << mapping_max_folio_order(mapping); } =20 -static inline int filemap_nr_thps(struct address_space *mapping) +static inline int filemap_nr_thps(const struct address_space *const mappin= g) { #ifdef CONFIG_READ_ONLY_THP_FOR_FS return atomic_read(&mapping->nr_thps); @@ -936,7 +936,7 @@ static inline struct page *grab_cache_page_nowait(struc= t address_space *mapping, * * Return: The index of the folio which follows this folio in the file. */ -static inline pgoff_t folio_next_index(struct folio *folio) +static inline pgoff_t folio_next_index(const struct folio *const folio) { return folio->index + folio_nr_pages(folio); } @@ -965,7 +965,7 @@ static inline struct page *folio_file_page(struct folio= *folio, pgoff_t index) * e.g., shmem did not move this folio to the swap cache. * Return: true or false. */ -static inline bool folio_contains(struct folio *folio, pgoff_t index) +static inline bool folio_contains(const struct folio *const folio, pgoff_t= index) { VM_WARN_ON_ONCE_FOLIO(folio_test_swapcache(folio), folio); return index - folio->index < folio_nr_pages(folio); @@ -1042,13 +1042,13 @@ static inline loff_t page_offset(struct page *page) /* * Get the offset in PAGE_SIZE (even for hugetlb folios). */ -static inline pgoff_t folio_pgoff(struct folio *folio) +static inline pgoff_t folio_pgoff(const struct folio *const folio) { return folio->index; } =20 -static inline pgoff_t linear_page_index(struct vm_area_struct *vma, - unsigned long address) +static inline pgoff_t linear_page_index(const struct vm_area_struct *const= vma, + const unsigned long address) { pgoff_t pgoff; pgoff =3D (address - vma->vm_start) >> PAGE_SHIFT; @@ -1468,7 +1468,7 @@ static inline unsigned int __readahead_batch(struct r= eadahead_control *rac, * readahead_pos - The byte offset into the file of this readahead request. * @rac: The readahead request. */ -static inline loff_t readahead_pos(struct readahead_control *rac) +static inline loff_t readahead_pos(const struct readahead_control *const r= ac) { return (loff_t)rac->_index * PAGE_SIZE; } @@ -1477,7 +1477,7 @@ static inline loff_t readahead_pos(struct readahead_c= ontrol *rac) * readahead_length - The number of bytes in this readahead request. * @rac: The readahead request. */ -static inline size_t readahead_length(struct readahead_control *rac) +static inline size_t readahead_length(const struct readahead_control *cons= t rac) { return rac->_nr_pages * PAGE_SIZE; } @@ -1486,7 +1486,7 @@ static inline size_t readahead_length(struct readahea= d_control *rac) * readahead_index - The index of the first page in this readahead request. * @rac: The readahead request. */ -static inline pgoff_t readahead_index(struct readahead_control *rac) +static inline pgoff_t readahead_index(const struct readahead_control *cons= t rac) { return rac->_index; } @@ -1495,7 +1495,7 @@ static inline pgoff_t readahead_index(struct readahea= d_control *rac) * readahead_count - The number of pages in this readahead request. * @rac: The readahead request. */ -static inline unsigned int readahead_count(struct readahead_control *rac) +static inline unsigned int readahead_count(const struct readahead_control = *const rac) { return rac->_nr_pages; } @@ -1504,12 +1504,12 @@ static inline unsigned int readahead_count(struct r= eadahead_control *rac) * readahead_batch_length - The number of bytes in the current batch. * @rac: The readahead request. */ -static inline size_t readahead_batch_length(struct readahead_control *rac) +static inline size_t readahead_batch_length(const struct readahead_control= *const rac) { return rac->_batch_count * PAGE_SIZE; } =20 -static inline unsigned long dir_pages(struct inode *inode) +static inline unsigned long dir_pages(const struct inode *const inode) { return (unsigned long)(inode->i_size + PAGE_SIZE - 1) >> PAGE_SHIFT; @@ -1523,8 +1523,8 @@ static inline unsigned long dir_pages(struct inode *i= node) * Return: the number of bytes in the folio up to EOF, * or -EFAULT if the folio was truncated. */ -static inline ssize_t folio_mkwrite_check_truncate(struct folio *folio, - struct inode *inode) +static inline ssize_t folio_mkwrite_check_truncate(const struct folio *con= st folio, + const struct inode *const inode) { loff_t size =3D i_size_read(inode); pgoff_t index =3D size >> PAGE_SHIFT; @@ -1555,7 +1555,8 @@ static inline ssize_t folio_mkwrite_check_truncate(st= ruct folio *folio, * Return: The number of filesystem blocks covered by this folio. */ static inline -unsigned int i_blocks_per_folio(struct inode *inode, struct folio *folio) +unsigned int i_blocks_per_folio(const struct inode *const inode, + const struct folio *const folio) { return folio_size(folio) >> inode->i_blkbits; } --=20 2.47.2 From nobody Fri Oct 3 12:16:41 2025 Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0580524418E for ; Mon, 1 Sep 2025 06:12:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707158; cv=none; b=KfA2r+QH6eYfoLh32qq2+cJ5o4lYIcpO8Z2//s1BEoRLdoqG/ltMS94rHifkRZ5S6p2GWspnxemNFe1Q/6wro43EBUbWfTnnD8GGws4oe/tEKs5Jnelk341un1wA2TS5qSkDzdDJxsQtwfq4MR6h508LO+E+T1NmP9rsxkIf76Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707158; c=relaxed/simple; bh=Kfoj9/UJ7RA/TyQsl5xCzxk5d79w+3LX6i4bau2kbag=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NrJu3WHBDoe8R1T57z/IPJZTK12VAmeZKgfolFk3BOmGlsILe/+8EtkHYTsO/yB4tDbCeKOgjVQo+cEPTBNu+hPKozHyJBMF4rQTd7gU52GuguDOGDT5bcVsSASYacMldiRyBbjB7QOSd8uqRVOVcPi0FS/w/i0dJVsi/AJYe8o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com; spf=pass smtp.mailfrom=ionos.com; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b=V8uPAiF/; arc=none smtp.client-ip=209.85.208.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ionos.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b="V8uPAiF/" Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-61cb9e039d9so7775609a12.1 for ; Sun, 31 Aug 2025 23:12:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756707155; x=1757311955; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OfDRUXm7GSZttX/qoKcpbZzZfAWEleydE7MZKpAlbdg=; b=V8uPAiF/068hcSXgP0QzKp3fTC7bF+Q1Zawxe1fnGVXB1Poq5DyAh3IUWt8RcQ/4QD n7iSrtSvawjCmSmQNIP3DouYIoWKtB9HAkMSPBLRzUujj1yfia46CvnV285zAGmfxBNv yhepNLbhpIgVsKK68F/3B/4YhvnxS82lkWFKa734QsHrnvVXY3y3XYBJ7KXrJoM5gQZR LzRINIkWeQB0w/P7CSn2fNpP/2mNPKdJnDxCZmwqMVKDIJH+kpgicg8q96LjrfNvocIm MF/mMGIKbEDSDAYZmWKL7HAarT0kWBcNany/t2H39iMKCsXH5owlJHAueZRcNPoTuzID si3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756707155; x=1757311955; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OfDRUXm7GSZttX/qoKcpbZzZfAWEleydE7MZKpAlbdg=; b=goLmlgJQzgOM/99WhB0CuK9z1Hy4aCQsjLBoGEakEbwS50BYx4coqwrYehSKlv6I47 k3qGrkqSnnBuFc2PksxcUbmqmHUvOJ7Zb/ZSifAOCl7B2aKGPYPHGWkgQ/DBsjTBMtl/ eOeVy39tPo720k/cod2QX8pHurkncCG6QJ+/PB3xBufQI7gw65PeZQoyPlAgViLdJVdh mqJfPMfGcKAfMHHjVITEc6l+e3NuSzqqA1OYUtD1CqMDpH6mpTg5azCl4tJBX1y69K4Y EFi/x4/nOD4opNDD0KmbJUmvPbGoNMg+mghAtb47KpFds1kR8qxn7AqzgFZjTs1fazrW Nz9Q== X-Forwarded-Encrypted: i=1; AJvYcCU/aobV2MrbFsgjIEUcjJ3K8uIGbl0Y4bf8sryZl5UaAl/w2KhHzet0u6NGcWnZsKBMFIxzc9L0wrp6s3E=@vger.kernel.org X-Gm-Message-State: AOJu0YyXcjLOzGTolzd0gfpBpJmIUiPk8hEZCO+2c+echLqO2WQnICGR 6dlA/Q+4EjcQENXGQJTBD/eJXEGQzDp4NBZKhFn3ZKlh91JmIoE/+N0O8Mbz88QXEBw= X-Gm-Gg: ASbGncv7rrUO25j9jcWnYTBgEGoqi8MHv7olnfYG/wTWZM2W8YPopBPTEOiEKrBP0GH RZ9U5xxpohM1j+dfb94pxQh6E2f86K5NOxebf5fE2FX3BxJZfM6HWTwYowK5bg3ZqZ8V3YL9vCg sSLUWJ0Env+vrnQIpA/5XdL63/6q3hTbIoYoXQCmDhfCGBhLflBaTzeEgTOfUyi1xc2qH29Zpee 5I9LDN3aiQNFUOvdQWPF3sBBZnqORhpjuT7ooZA9l5j3EPFtmeBDcJy7eWsbj0rJmot5oED9M6B +AH2DY1lv7Dkp8zzknfidBp337tme28d9IsOsZAcITwXaE5n6HN3nyPrKUhmgcpuVn6EZgT9oAH FDXR0AqMLza5w10TWM5nvxnFOV+5eDYwu01VOZCyjmK+RQr6b/hQ7b1mHx2cpqgSMTZv6xAOo62 OwMZ30LTgRZ+Z3osjmdXzw5A== X-Google-Smtp-Source: AGHT+IEI+/052EQvn2HkQ3uPQ4HOT/tEpF37FK5n5389qJs3n9FMvOvIqD4njM7OvECWY8CWysAFtA== X-Received: by 2002:a05:6402:51cb:b0:618:2733:1a52 with SMTP id 4fb4d7f45d1cf-61d26997500mr5190269a12.8.1756707155269; Sun, 31 Aug 2025 23:12:35 -0700 (PDT) Received: from raven.intern.cm-ag (p200300dc6f1d0f00023064fffe740809.dip0.t-ipconnect.de. [2003:dc:6f1d:f00:230:64ff:fe74:809]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-61cfc231561sm6374533a12.23.2025.08.31.23.12.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 23:12:35 -0700 (PDT) From: Max Kellermann To: akpm@linux-foundation.org, david@redhat.com, axelrasmussen@google.com, yuanchu@google.com, willy@infradead.org, hughd@google.com, mhocko@suse.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, vishal.moola@gmail.com Cc: Max Kellermann Subject: [PATCH v3 03/12] mm/mmzone: add `const` to lots of pointer parameters Date: Mon, 1 Sep 2025 08:12:14 +0200 Message-ID: <20250901061223.2939097-4-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250901061223.2939097-1-max.kellermann@ionos.com> References: <20250901061223.2939097-1-max.kellermann@ionos.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" For improved const-correctness. Signed-off-by: Max Kellermann Reviewed-by: Vishal Moola (Oracle) --- include/linux/mmzone.h | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index f3272ef5131b..9a25fb1ade82 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -1104,7 +1104,7 @@ static inline unsigned long promo_wmark_pages(const s= truct zone *z) return wmark_pages(z, WMARK_PROMO); } =20 -static inline unsigned long zone_managed_pages(struct zone *zone) +static inline unsigned long zone_managed_pages(const struct zone *const zo= ne) { return (unsigned long)atomic_long_read(&zone->managed_pages); } @@ -1128,12 +1128,12 @@ static inline bool zone_spans_pfn(const struct zone= *zone, unsigned long pfn) return zone->zone_start_pfn <=3D pfn && pfn < zone_end_pfn(zone); } =20 -static inline bool zone_is_initialized(struct zone *zone) +static inline bool zone_is_initialized(const struct zone *const zone) { return zone->initialized; } =20 -static inline bool zone_is_empty(struct zone *zone) +static inline bool zone_is_empty(const struct zone *const zone) { return zone->spanned_pages =3D=3D 0; } @@ -1273,7 +1273,7 @@ static inline bool folio_is_zone_movable(const struct= folio *folio) * Return true if [start_pfn, start_pfn + nr_pages) range has a non-empty * intersection with the given zone */ -static inline bool zone_intersects(struct zone *zone, +static inline bool zone_intersects(const struct zone *const zone, unsigned long start_pfn, unsigned long nr_pages) { if (zone_is_empty(zone)) @@ -1581,12 +1581,12 @@ static inline int local_memory_node(int node_id) { = return node_id; }; #define zone_idx(zone) ((zone) - (zone)->zone_pgdat->node_zones) =20 #ifdef CONFIG_ZONE_DEVICE -static inline bool zone_is_zone_device(struct zone *zone) +static inline bool zone_is_zone_device(const struct zone *const zone) { return zone_idx(zone) =3D=3D ZONE_DEVICE; } #else -static inline bool zone_is_zone_device(struct zone *zone) +static inline bool zone_is_zone_device(const struct zone *const zone) { return false; } @@ -1598,19 +1598,19 @@ static inline bool zone_is_zone_device(struct zone = *zone) * populated_zone(). If the whole zone is reserved then we can easily * end up with populated_zone() && !managed_zone(). */ -static inline bool managed_zone(struct zone *zone) +static inline bool managed_zone(const struct zone *const zone) { return zone_managed_pages(zone); } =20 /* Returns true if a zone has memory */ -static inline bool populated_zone(struct zone *zone) +static inline bool populated_zone(const struct zone *const zone) { return zone->present_pages; } =20 #ifdef CONFIG_NUMA -static inline int zone_to_nid(struct zone *zone) +static inline int zone_to_nid(const struct zone *const zone) { return zone->node; } @@ -1620,7 +1620,7 @@ static inline void zone_set_nid(struct zone *zone, in= t nid) zone->node =3D nid; } #else -static inline int zone_to_nid(struct zone *zone) +static inline int zone_to_nid(const struct zone *zone) { return 0; } @@ -1647,7 +1647,7 @@ static inline int is_highmem_idx(enum zone_type idx) * @zone: pointer to struct zone variable * Return: 1 for a highmem zone, 0 otherwise */ -static inline int is_highmem(struct zone *zone) +static inline int is_highmem(const struct zone *const zone) { return is_highmem_idx(zone_idx(zone)); } @@ -1713,12 +1713,12 @@ static inline struct zone *zonelist_zone(struct zon= eref *zoneref) return zoneref->zone; } =20 -static inline int zonelist_zone_idx(struct zoneref *zoneref) +static inline int zonelist_zone_idx(const struct zoneref *const zoneref) { return zoneref->zone_idx; } =20 -static inline int zonelist_node_idx(struct zoneref *zoneref) +static inline int zonelist_node_idx(const struct zoneref *const zoneref) { return zone_to_nid(zoneref->zone); } @@ -2021,7 +2021,7 @@ static inline struct page *__section_mem_map_addr(str= uct mem_section *section) return (struct page *)map; } =20 -static inline int present_section(struct mem_section *section) +static inline int present_section(const struct mem_section *const section) { return (section && (section->section_mem_map & SECTION_MARKED_PRESENT)); } @@ -2031,12 +2031,12 @@ static inline int present_section_nr(unsigned long = nr) return present_section(__nr_to_section(nr)); } =20 -static inline int valid_section(struct mem_section *section) +static inline int valid_section(const struct mem_section *const section) { return (section && (section->section_mem_map & SECTION_HAS_MEM_MAP)); } =20 -static inline int early_section(struct mem_section *section) +static inline int early_section(const struct mem_section *const section) { return (section && (section->section_mem_map & SECTION_IS_EARLY)); } @@ -2046,27 +2046,27 @@ static inline int valid_section_nr(unsigned long nr) return valid_section(__nr_to_section(nr)); } =20 -static inline int online_section(struct mem_section *section) +static inline int online_section(const struct mem_section *const section) { return (section && (section->section_mem_map & SECTION_IS_ONLINE)); } =20 #ifdef CONFIG_ZONE_DEVICE -static inline int online_device_section(struct mem_section *section) +static inline int online_device_section(const struct mem_section *const se= ction) { unsigned long flags =3D SECTION_IS_ONLINE | SECTION_TAINT_ZONE_DEVICE; =20 return section && ((section->section_mem_map & flags) =3D=3D flags); } #else -static inline int online_device_section(struct mem_section *section) +static inline int online_device_section(const struct mem_section *const se= ction) { return 0; } #endif =20 #ifdef CONFIG_SPARSEMEM_VMEMMAP_PREINIT -static inline int preinited_vmemmap_section(struct mem_section *section) +static inline int preinited_vmemmap_section(const struct mem_section *cons= t section) { return (section && (section->section_mem_map & SECTION_IS_VMEMMAP_PREINIT)); @@ -2076,7 +2076,7 @@ void sparse_vmemmap_init_nid_early(int nid); void sparse_vmemmap_init_nid_late(int nid); =20 #else -static inline int preinited_vmemmap_section(struct mem_section *section) +static inline int preinited_vmemmap_section(const struct mem_section *cons= t section) { return 0; } --=20 2.47.2 From nobody Fri Oct 3 12:16:41 2025 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E4311247291 for ; Mon, 1 Sep 2025 06:12:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707159; cv=none; b=u5YMKmTxT/j7uyxwA+4K9PrB8f695SRGHZHJImXdPwmov1Dm+R3oYO+c2QrwDyovEnPbZ1tuZXe0W6mDJ2ddi4mgpRK/6HEqWDdWbWkd3py0tE+OjchtZCHu+kW1AMcKzL1wCUfGx2MHKTYT1J2i2j3CND4WU/uaudPLIfQNtN4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707159; c=relaxed/simple; bh=oJIpLLq8mn4y7wdscckPv1cTmoMWyeuhyGuMWqlHISg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EAexk/5G1VIS43t9K476ckdnNbG30TdWS46KRdPuqeVR44rRT7gSj0MwilhmxBHNVidL6uUdrwakJoU65gGsXSieHZk6dkCMMFxP+96mdezoAeGs7qaC6aY0esOv7zesGcqtHjg3q2Sa5jmm5L38DIZO7SdMUfPBl5S4z7/HtMg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com; spf=pass smtp.mailfrom=ionos.com; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b=YIR+J5db; arc=none smtp.client-ip=209.85.218.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ionos.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b="YIR+J5db" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-afebb6d4093so658671766b.1 for ; Sun, 31 Aug 2025 23:12:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756707156; x=1757311956; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=fpCkz1SZAm30DtLN9HzajIn9qKAPCWS80gkzy9YwyJg=; b=YIR+J5dbZYegy/PQpUw9sZ9SATExDLHT3bybgi7cQWHSu41/4KJrVyXk99OIEuH8oz D5RrdjJ+0K8bHl8KD5lBug5VyMsHq/PQ5za79lz5kDPbbbIKn1gAAnNOqlYE9KeDoNyk qGtRSoisncoBtjrLOGCKivqKvEZFCSBKLh8Ue7LkQUReM698PpavnFzh/TX40cUdkn4e k/MMt+EDBesIE0xUBrc1lSIQR7tRDZuKpiQJ9J6O5Y9gLzM+EAe21iQ9PGhTxWO0BCle Ctp2hTkm71A93TiyKsh3oT5OKDzIFLsYp2ShlMD84E00ybcX1wvzoJT2/QlxXoJgGT/1 iP8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756707156; x=1757311956; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fpCkz1SZAm30DtLN9HzajIn9qKAPCWS80gkzy9YwyJg=; b=L69CZCSYfxuwmhO3iTeyh715YOS3ijvQ2UZ0xb7rUA+ywdHL1lE7wBKbT4FooY34pj lRZiaj/fY0jJPYZSKTeGYDd9T/9EJVO+kRXZLqA8aygM50LyUrO6SP2U8faoN6LvrTPH 8yAU6UBt9eZjpgR0weIyW1+Z+o5nZdRz3PD+YxGLaBpoIDTBMi14SbyY5FvmjPU7O12Q ltFZ+DSNATP7WsNFarCjtL8tUGcaQGtp9JEy9+eVIRqT3eJByi9HQMOsie498aEqpLe0 I0sN9PyofODZwzgPdBzaMJx8SFj7oUeakOWdey5R/es4YXxIpmty3TFHfHsLQFS4Lwbe v8iA== X-Forwarded-Encrypted: i=1; AJvYcCUkSSgfG8vHuCQ8BODeow10DaJzvMcuhJ57b8Sms97W3Vq6TvpUiRqZDvabvtAq2EcnKwNX5FiSoT8lqe4=@vger.kernel.org X-Gm-Message-State: AOJu0YzoMWEV9jKPjObL+oXTM+NSHnr+ce5Q8RejEr3tP4n5xWjIiono tRz96Z/9UK+pbBBE7Wx7AVRT+czF4PTOYWwdKVAVOb1ryZKcDaXfb/siB6KvMNWEjt8= X-Gm-Gg: ASbGncuV0YmFRkVtTW5inot9rz6GIoB/Sptwcu03CZSiqAPrTiUeiJFG8AiAd0YJIf7 3BKy0c3zcV+3tKrMMfLNW9tMeEiB3p2CWAjvHdGcbG2VEkT0yV1vNy1aK/tKzCggYGXN6uR0UEO p+cMsSVPPtQ3ztuPqv8aphg6giwrXNhFLedhBzZKysDTD2mS5zL70ivABxePeoz0ZzI9eBW9v6X iGtRIz9SRFkqqBUTKGK+n0W+05bBT2V2TeXs3loIS045XrWmXldsKoXMQXcPOmMYvRa+fex+k+d BF/47bdrlCrIovT8ZCWTX4V4XtavgAS1i9HPt90c5bmsph0BW1S+6rZdzh7ZM9lBjoOhreC2cVw 6dqupgcVC3euubJa6lIuVMLA64a6Q0I6MfYfYMXnI586Cd6cQmukY8XtuUHW51SfNfehalDmVR0 AugGdhWjBhwAEUcECDhwJiFxiFTHNw4z0H X-Google-Smtp-Source: AGHT+IFiW66dPNAjaKWaNSd5/rc66CQvfLy+BReC835wGyDy9GLSMV8wAFikPHytw5Ty44iyPHhAkg== X-Received: by 2002:a05:6402:358f:b0:61d:3d9b:6522 with SMTP id 4fb4d7f45d1cf-61d3d9b65a2mr3731973a12.8.1756707156180; Sun, 31 Aug 2025 23:12:36 -0700 (PDT) Received: from raven.intern.cm-ag (p200300dc6f1d0f00023064fffe740809.dip0.t-ipconnect.de. [2003:dc:6f1d:f00:230:64ff:fe74:809]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-61cfc231561sm6374533a12.23.2025.08.31.23.12.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 23:12:35 -0700 (PDT) From: Max Kellermann To: akpm@linux-foundation.org, david@redhat.com, axelrasmussen@google.com, yuanchu@google.com, willy@infradead.org, hughd@google.com, mhocko@suse.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, vishal.moola@gmail.com Cc: Max Kellermann Subject: [PATCH v3 04/12] fs: add `const` to several pointer parameters Date: Mon, 1 Sep 2025 08:12:15 +0200 Message-ID: <20250901061223.2939097-5-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250901061223.2939097-1-max.kellermann@ionos.com> References: <20250901061223.2939097-1-max.kellermann@ionos.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" For improved const-correctness. Signed-off-by: Max Kellermann Reviewed-by: Vishal Moola (Oracle) --- include/linux/fs.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/include/linux/fs.h b/include/linux/fs.h index 3b9f54446db0..8dc46337467d 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -537,7 +537,8 @@ struct address_space { /* * Returns true if any of the pages in the mapping are marked with the tag. */ -static inline bool mapping_tagged(struct address_space *mapping, xa_mark_t= tag) +static inline bool mapping_tagged(const struct address_space *const mappin= g, + const xa_mark_t tag) { return xa_marked(&mapping->i_pages, tag); } @@ -585,7 +586,7 @@ static inline void i_mmap_assert_write_locked(struct ad= dress_space *mapping) /* * Might pages of this file be mapped into userspace? */ -static inline int mapping_mapped(struct address_space *mapping) +static inline int mapping_mapped(const struct address_space *const mapping) { return !RB_EMPTY_ROOT(&mapping->i_mmap.rb_root); } @@ -599,7 +600,7 @@ static inline int mapping_mapped(struct address_space *= mapping) * If i_mmap_writable is negative, no new writable mappings are allowed. Y= ou * can only deny writable mappings, if none exists right now. */ -static inline int mapping_writably_mapped(struct address_space *mapping) +static inline int mapping_writably_mapped(const struct address_space *cons= t mapping) { return atomic_read(&mapping->i_mmap_writable) > 0; } --=20 2.47.2 From nobody Fri Oct 3 12:16:41 2025 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E00A924BBEE for ; Mon, 1 Sep 2025 06:12:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707160; cv=none; b=UO87Exwz/wUZiKQMn99heN1xEjRPZ1GjlRomVd7v4TzVx5diIONJtqpRg9uhYKx/R3E45YlJIJ2Bly/FtQhmILRvJOolwysSl0ZMKlYJyQjCW4mecVS6Od846Mk4yRhpozuvwLbjOmO2yMhxOZjZsi8KpvIpPe1mNTZkzgvEMHo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707160; c=relaxed/simple; bh=olthDLJI/P25CY/9Yy1bG2Hq4xZWX5DBLYQeJhY9ucg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ekEd0PqTHx5M10DPR+A7obfVRZao93s/C71ep5yO7TRG3wZjHLCNfrp1QPu9sUYbIbNQBkSqI4+XXEHPgJ8QK7PoAtoCjQVl4+a6Etn3Qo7oc5yKTaqXMCa5hfORT2GW+vdLEG2jiMXxbLNkXT2hsp0xo5fEuASvooQKGtoxBZw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com; spf=pass smtp.mailfrom=ionos.com; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b=azLJ6YjG; arc=none smtp.client-ip=209.85.208.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ionos.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b="azLJ6YjG" Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-61d7b2ec241so1156239a12.0 for ; Sun, 31 Aug 2025 23:12:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756707157; x=1757311957; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rDgr77Raexwz3O9eJEn4/d6TiABMKv+OO6Kr02/4yzA=; b=azLJ6YjG1d/7AKTWlngt25DoD5VsElUeqt6A8TEjuo8AovDj5PEJqqzojbDIcqcOUP RxgiOS7S8xz3mMephDI7gX557TpBcDvO2OeqZRzn037Sved8+9yORu+c0ECh1RX3gjFh B+eEP6Nlx0s94J+9P8onnP4lzsQh4Ay71cU7cz0gROrH2H+aW5AUEXya1dTzXrBBitqF aJhRvIzjKNuH6KYDbuT8dKlb24PgDajUoDdhyEG1AOpfHXBfDUdRObTjNNnpShWp0CTg hIkTFnoCJTmCQoOCK9MnhgkazHUTQ8YCE0vrukiPvOGmDGbBZtjukBs1gnb8WECBEH9T m4PA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756707157; x=1757311957; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rDgr77Raexwz3O9eJEn4/d6TiABMKv+OO6Kr02/4yzA=; b=Zn0Tgp9ZXc4/OLRWQp+qT8dS58VlwfffxHDeQfEzXGftzWyxo0AMQt+XIGlhi+G0Zn OlB06ynQLzX7bTAp1dRDbbFWISBKpoNzg6tvlCpFEgZoATxulucj7NLwlC9FsMIw+UDY J0VeO2Mgj5Pi0gCP9+Fub5f8kAiWk4sqWzybkaXBrWSIwn5wDrVBC3fsBTLAuVv+XVHF 2CMf/4ctZGGWgIBpSUulPXlHx9Ma4aNUXNmB9/bquBo3hEonzUFZ4ye85Cij5HGZduIR Kx+muNcz/9vxaKcv9DKPOvdgOxaUIJ/HckH6IQ6886678eBJHNMxl8h/UYpo140wjQWJ w7Pg== X-Forwarded-Encrypted: i=1; AJvYcCUxl62Ss2QFKySkVg9oSsVrCWzCX+LASmDYxtjEclf4V1IUfl6B56e4oy/vvIQfObLUQqkEW31Xps1dY+s=@vger.kernel.org X-Gm-Message-State: AOJu0YwCAyQu413jNBdl12WUXZfBP2NQkRis/EupSbsvf9NSgHRSPIKS 6IIOB1FAC0J/0cXaFFJVwBOvSKqtHXerKu0dzLuqkXWrXqvDPL2iv4u5XaRMwpZ9Rpw= X-Gm-Gg: ASbGncvBTCvnKA14vVxv8JZRSO8yBHvnFCX8NyFwakyYJEJqk9ZP3rmt2sHvi7paVf3 TGT8uKqMCnbUWFbVWRliyDurt6goASbZkO+SAjCxAuI6XkJnlTpS0xLOx9dKN49dZZQjpfn5+gu SJ5QovgYwFVdOHhZ/K8ZduXqZdNHkhI/tNosU4RQlItlDs8ob1aqYXOWV5k0rieMmnBO5jJLM/7 VKUe+K16Y4Fg6WJo15BaLb0KrcyiyptcIBhutWjmL5HysPsEHE36V7C6fmm89UnaFKCc1UE2/6b 5UZWVLhM3vBxiT5cDcqOvTtXDvG/pnkxPt5kQyZ7sfaz6wd+zZn4xMPT3W2Vw09u9MW7NCl03lV BlqskXAC3Dw1sRhYqnkUQspkKRnyCfVajrw0aJdA8qU/nAyOAoRsUwu7zcyijJht5yJPIak2/NA PFfpPqx/qLVbWHFs1n9395qcMz4hTs6kTG X-Google-Smtp-Source: AGHT+IHFcJKCkw/RTMX7106ev96b/+IR0if6QTDEGodFGX5ZCSVjZIik/iqJRJ/PVGIEAJZPuC7HJA== X-Received: by 2002:a05:6402:44d4:b0:61a:8e5c:f4ef with SMTP id 4fb4d7f45d1cf-61d26c33dd5mr5229225a12.18.1756707157157; Sun, 31 Aug 2025 23:12:37 -0700 (PDT) Received: from raven.intern.cm-ag (p200300dc6f1d0f00023064fffe740809.dip0.t-ipconnect.de. [2003:dc:6f1d:f00:230:64ff:fe74:809]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-61cfc231561sm6374533a12.23.2025.08.31.23.12.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 23:12:36 -0700 (PDT) From: Max Kellermann To: akpm@linux-foundation.org, david@redhat.com, axelrasmussen@google.com, yuanchu@google.com, willy@infradead.org, hughd@google.com, mhocko@suse.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, vishal.moola@gmail.com Cc: Max Kellermann Subject: [PATCH v3 05/12] mm/oom_kill: add `const` to pointer parameter Date: Mon, 1 Sep 2025 08:12:16 +0200 Message-ID: <20250901061223.2939097-6-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250901061223.2939097-1-max.kellermann@ionos.com> References: <20250901061223.2939097-1-max.kellermann@ionos.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" For improved const-correctness. Signed-off-by: Max Kellermann --- include/linux/mm.h | 2 +- mm/oom_kill.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 18deb14cb1f5..f70c6b4d5f80 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -3840,7 +3840,7 @@ static inline int in_gate_area(struct mm_struct *mm, = unsigned long addr) } #endif /* __HAVE_ARCH_GATE_AREA */ =20 -extern bool process_shares_mm(struct task_struct *p, struct mm_struct *mm); +bool process_shares_mm(const struct task_struct *p, const struct mm_struct= *mm); =20 void drop_slab(void); =20 diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 17650f0b516e..2620b32a8eba 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -490,7 +490,8 @@ static bool oom_killer_disabled __read_mostly; * task's threads: if one of those is using this mm then this task was also * using it. */ -bool process_shares_mm(struct task_struct *p, struct mm_struct *mm) +bool process_shares_mm(const struct task_struct *const p, + const struct mm_struct *const mm) { struct task_struct *t; =20 --=20 2.47.2 From nobody Fri Oct 3 12:16:41 2025 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BEE04254AFF for ; Mon, 1 Sep 2025 06:12:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707161; cv=none; b=Q7P1GGjMzqkEEFpFdzIY75AFYrYSoSy0LuEzj6snW32LI/W3hpYaVqiV+DsejbaN9O6521rvR+q2evO0xyJ4lvzBlm6PqC26KAYehxh4nUg9kfCvcjbgI8JYIJ0sGOrfRF9V6JP8jFOgyKkqAhLQtvdfmT5Lr64ijsMrX/8WU5I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707161; c=relaxed/simple; bh=CVm4a2o2RnlyF4eyyPiBTpxYupvKVcs/qoqsHQXVYjw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZTzLsCfBGeugDW+JfLrYl8ZJC7g2Mw3f0wUrcuKryuBGEzITtA8tNsUZ42exZMoboyprjNoMjZOT1adB6URlRST4C1gK7SXYJull2nOLzy1ZBhKt9VHZFInz9J7JNYasMMqVbGHXmhrmWoVFCAZR9qiAnq1adjVt/izeFxQSzyU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com; spf=pass smtp.mailfrom=ionos.com; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b=XLNWMq+M; arc=none smtp.client-ip=209.85.208.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ionos.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b="XLNWMq+M" Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-61cb9e039d9so7775661a12.1 for ; Sun, 31 Aug 2025 23:12:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756707158; x=1757311958; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rR4oy7Zb2IbSctYsSrVgfFfpaXt7ypSRTmIBa0GxRUo=; b=XLNWMq+MsCseOsnlENRVeXaU950/NsegPYwEut5dgwcbqI56cMprGrIcI4ATOSlezp 1paD69CMo2FFXCCd7U+LuxoKaBSqrCR5Rk5dQOlCkY3dJkvGMi8BOSyUg/9O1prv26YH XO5j/iV8VebOutCvfTjASjcSBU1fFDDrz8Ulg0zx2V8VR3hEkx9I7pJZHCETXms0fplC 6QWjjhnmUeVMefUgH7G/8cUH+IOGix4AnM9jL17htH46X8tuJHPvStgKZLPaX9mqQDWp 7sCkKUM/pe5fHi9DTMbTBqQCIvQASHttZiAMXGZcxFVbutSFfb9WHYpqIhiJXkXBXyeq WWag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756707158; x=1757311958; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rR4oy7Zb2IbSctYsSrVgfFfpaXt7ypSRTmIBa0GxRUo=; b=Ls0oJMNOJnuZO7JbfIZgHUae3KUW1zeNii+CaVZcqB4XRgBD+wpCdIWn4ZEUW/ECAG QakdqZ32T1tOVhV5irpXBy5ENtTU3J5+XeIqA28ZUll8nXYx4VkzLpiwFwSHd6RmPEtS yPMSo4LYgs9HC5isEjNo5zoPcgDZpF3Wew8pyoLpngAr0tHW9bM4qo+BPxdlvg2wEPAf nNsXOFaI8iKZ+hFDy7trOrVAUsr5MIp0d78euFHdHk7ZruH+TlIVMlFJtNPlNS7P81b1 KKuQrF3T3sC8hbILPHLsISdUSwws8uGFxq1YsAGDeljQaMrg/MgQ1ATlu1Zlq/SN1qql fAWA== X-Forwarded-Encrypted: i=1; AJvYcCVrr4c1xqfR9LJUnRDNPXwZRcuGhm+TucCpWWLqpWbnPjbO8NnmsyMfdtyfRRG0dxYKAlP6b93WbvUGZOU=@vger.kernel.org X-Gm-Message-State: AOJu0YyWRm5veZt6Wn4A1pvzZenmmEGwBYB1jIFNj/bGbnIbu/7WF5wf C+rRKnl4EP3iENblSPRwZUZh6jb6PTtFiQgzvj0HkYHOBW2AtOJCcGCIh463jR3PNQ0= X-Gm-Gg: ASbGnctx0MLUzwcv4mIIXnOsWSwIly/6Db63zBDAW/03E9EzkVwDX7If3agt6BHQXeM aDpPDMNGQbfQqoA3J6MMimuFlQp4w1ToqHzk2QCQm/Q4POg1HJM+yBDq97hOuQkT72pUZNm650i Pe2WKjl96Ko2NUCt1YkhQ6Sa6I79y55CCvntki3lE7UcB5fEwQuIc+8oQkqwFbnmrzMtRfiOIC+ X+3A5NltwCtnWjeFfJdRzm9Z5Dz7SbBhz2zh5iUIe9mq6kOPpbEO8EbdWWFsUCRpvErB2Zjo6+f civompHqfciWaTeKjwkXl2F4I2skg4Me5+f5ogcboX1vlasht6PaBqrL51yp+JpKbQqCuhoN2Mw uwtgsbQkG3ObuaI/V7RcQeD3SfB/qoie2V1FGEJpJVR1RDq/5eaLoLBrG4Xw07VZ1WIdoGZc06a RXfMdIsBVYDWOG8+74RIb7vg== X-Google-Smtp-Source: AGHT+IE0vif5vuTCMER8ckouleyP96Gy21extBt5jOZsdMhAFo++wMW7N7bZ+f0Dm6MWmYncMh0vqw== X-Received: by 2002:a05:6402:5c8:b0:61d:3d89:7826 with SMTP id 4fb4d7f45d1cf-61d3d897bc9mr4041138a12.28.1756707158085; Sun, 31 Aug 2025 23:12:38 -0700 (PDT) Received: from raven.intern.cm-ag (p200300dc6f1d0f00023064fffe740809.dip0.t-ipconnect.de. [2003:dc:6f1d:f00:230:64ff:fe74:809]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-61cfc231561sm6374533a12.23.2025.08.31.23.12.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 23:12:37 -0700 (PDT) From: Max Kellermann To: akpm@linux-foundation.org, david@redhat.com, axelrasmussen@google.com, yuanchu@google.com, willy@infradead.org, hughd@google.com, mhocko@suse.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, vishal.moola@gmail.com Cc: Max Kellermann Subject: [PATCH v3 06/12] mm/util, s390: add `const` to several pointer parameters Date: Mon, 1 Sep 2025 08:12:17 +0200 Message-ID: <20250901061223.2939097-7-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250901061223.2939097-1-max.kellermann@ionos.com> References: <20250901061223.2939097-1-max.kellermann@ionos.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" For improved const-correctness. (Even though seemingly unrelated, this also constifies the pointer parameter of mmap_is_legacy() in arch/s390/mm/mmap.c because a copy of the function exists in mm/util.c.) Signed-off-by: Max Kellermann Reviewed-by: Vishal Moola (Oracle) --- arch/s390/mm/mmap.c | 2 +- include/linux/mm.h | 6 +++--- include/linux/pagemap.h | 2 +- mm/util.c | 11 ++++++----- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/arch/s390/mm/mmap.c b/arch/s390/mm/mmap.c index 547104ccc22a..c0f619fb9ab3 100644 --- a/arch/s390/mm/mmap.c +++ b/arch/s390/mm/mmap.c @@ -27,7 +27,7 @@ static unsigned long stack_maxrandom_size(void) return STACK_RND_MASK << PAGE_SHIFT; } =20 -static inline int mmap_is_legacy(struct rlimit *rlim_stack) +static inline int mmap_is_legacy(const struct rlimit *const rlim_stack) { if (current->personality & ADDR_COMPAT_LAYOUT) return 1; diff --git a/include/linux/mm.h b/include/linux/mm.h index f70c6b4d5f80..23864c3519d6 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -986,7 +986,7 @@ static inline bool vma_is_shmem(const struct vm_area_st= ruct *vma) { return false static inline bool vma_is_anon_shmem(const struct vm_area_struct *vma) { r= eturn false; } #endif =20 -int vma_is_stack_for_current(struct vm_area_struct *vma); +int vma_is_stack_for_current(const struct vm_area_struct *vma); =20 /* flush_tlb_range() takes a vma, not a mm, and can care about flags */ #define TLB_FLUSH_VMA(mm,flags) { .vm_mm =3D (mm), .vm_flags =3D (flags) } @@ -2585,7 +2585,7 @@ void folio_add_pin(struct folio *folio); =20 int account_locked_vm(struct mm_struct *mm, unsigned long pages, bool inc); int __account_locked_vm(struct mm_struct *mm, unsigned long pages, bool in= c, - struct task_struct *task, bool bypass_rlim); + const struct task_struct *task, bool bypass_rlim); =20 struct kvec; struct page *get_dump_page(unsigned long addr, int *locked); @@ -3348,7 +3348,7 @@ void anon_vma_interval_tree_verify(struct anon_vma_ch= ain *node); avc; avc =3D anon_vma_interval_tree_iter_next(avc, start, last)) =20 /* mmap.c */ -extern int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sy= s_admin); +extern int __vm_enough_memory(const struct mm_struct *mm, long pages, int = cap_sys_admin); extern int insert_vm_struct(struct mm_struct *, struct vm_area_struct *); extern void exit_mmap(struct mm_struct *); bool mmap_read_lock_maybe_expand(struct mm_struct *mm, struct vm_area_stru= ct *vma, diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index 1d35f9e1416e..968b58a97236 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h @@ -551,7 +551,7 @@ static inline void filemap_nr_thps_dec(struct address_s= pace *mapping) #endif } =20 -struct address_space *folio_mapping(struct folio *); +struct address_space *folio_mapping(const struct folio *folio); =20 /** * folio_flush_mapping - Find the file mapping this folio belongs to. diff --git a/mm/util.c b/mm/util.c index d235b74f7aff..f5a35efba7bf 100644 --- a/mm/util.c +++ b/mm/util.c @@ -315,7 +315,7 @@ void *memdup_user_nul(const void __user *src, size_t le= n) EXPORT_SYMBOL(memdup_user_nul); =20 /* Check if the vma is being used as a stack by this task */ -int vma_is_stack_for_current(struct vm_area_struct *vma) +int vma_is_stack_for_current(const struct vm_area_struct *const vma) { struct task_struct * __maybe_unused t =3D current; =20 @@ -410,7 +410,7 @@ unsigned long arch_mmap_rnd(void) return rnd << PAGE_SHIFT; } =20 -static int mmap_is_legacy(struct rlimit *rlim_stack) +static int mmap_is_legacy(const struct rlimit *const rlim_stack) { if (current->personality & ADDR_COMPAT_LAYOUT) return 1; @@ -504,7 +504,7 @@ EXPORT_SYMBOL_IF_KUNIT(arch_pick_mmap_layout); * * -ENOMEM if RLIMIT_MEMLOCK would be exceeded. */ int __account_locked_vm(struct mm_struct *mm, unsigned long pages, bool in= c, - struct task_struct *task, bool bypass_rlim) + const struct task_struct *const task, const bool bypass_rlim) { unsigned long locked_vm, limit; int ret =3D 0; @@ -688,7 +688,7 @@ struct anon_vma *folio_anon_vma(const struct folio *fol= io) * You can call this for folios which aren't in the swap cache or page * cache and it will return NULL. */ -struct address_space *folio_mapping(struct folio *folio) +struct address_space *folio_mapping(const struct folio *const folio) { struct address_space *mapping; =20 @@ -926,7 +926,8 @@ EXPORT_SYMBOL_GPL(vm_memory_committed); * Note this is a helper function intended to be used by LSMs which * wish to use this logic. */ -int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sys_admin) +int __vm_enough_memory(const struct mm_struct *const mm, + const long pages, const int cap_sys_admin) { long allowed; unsigned long bytes_failed; --=20 2.47.2 From nobody Fri Oct 3 12:16:41 2025 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9881C25784C for ; Mon, 1 Sep 2025 06:12:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707162; cv=none; b=An6dJZD5Bthtzi+Q21sAr6/4q91tJt906WPqtrvBEn0SpO9aTfAvg+/bWxrjmshfJzGkX97VmxD13mx2f/Y77p6psqyY0sR0hO7qjr/eFZBW/hF+17UfKwH+m7KZPQFom/BhLx1F+oG8YcmQc+OyDsRQUNmCucL5X2Nf3vhsfI8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707162; c=relaxed/simple; bh=BfourEiQytOZURa51girR3hCEwPjkmcFXu9c4X2cuw0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DQXGAql8u03k5Gki6jS1ZJzHgZofvr3izfbIHJsx+/2YUAMaTRK41KoVoBNj/ujM5xQ8idpsaAO3+U2ui169FU/zPK6Ybzcwb96N0dHtFqJeanLwyGGSSBh7EM5HVTw3v2/BYdsLICHAcHnORABTSkAX9jcbpDIaykl4MXpbGNQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com; spf=pass smtp.mailfrom=ionos.com; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b=aUr8lRlL; arc=none smtp.client-ip=209.85.208.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ionos.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b="aUr8lRlL" Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-61cb4374d2fso5598662a12.2 for ; Sun, 31 Aug 2025 23:12:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756707159; x=1757311959; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=z+6TrnZpXfWUfs5R5hmEGqosfCHRnwv9JCMokN8V3u0=; b=aUr8lRlLZXpKKfcG3U1XArb+D8+Rb2sp5Jd9LeLcJQISDkjMCCPMYuu+BMoXZFkg15 2yIBw0eZHDINYOKROswlf3Zu/HyC6M/IdmFdA6JbREgE9UcbOFBSxWlvrFdsGPMcJ2Ji MIKce1zZCna4pmDHXF/nAkuaANzxpkPOlWTd0WcjzAJjblxfpBT3xVLxDQNisqiZrC5V 6cxj8NQ6qqIwwTapg8e2uJ/ABS7HMOOE/H046vh8e3niYcGZPPv/19OOPqkH+dV7Mypo LHO++gKba6VBRRUefOTSQi9RFVKvV/nmMFTUJAe1SKfurL0JtsaUI39QEoRg/tL7fDMD ABRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756707159; x=1757311959; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=z+6TrnZpXfWUfs5R5hmEGqosfCHRnwv9JCMokN8V3u0=; b=ObD4LwsWUqyTSGHGb4sCIb4OOOZeaj9Ef7zRgrExqRcQ5w5Tj9Z16C6+98IsXvd8xN 68o2mctJw+h+DitCYoM+Bz1qs/DqkXBTdRXX0NZSTXFyxf1LT50kPBlFd4hJ2pna42ly qYk9cB/e4NW43+Pa53LoaZlPO473w5hlS/EWo/VbE/3MPGa8stWokRvCSLRNsE6o6x9b C4FS10312+zREn9GqArCfjQgRaS8htJfOsc/7VePCLHMy2rromWgkgVce2XAW5OvEH05 Dzy5VtK3XTlUzG0g7XLLkcYvphXnChIyKvC3OO7ffO8ag+JFxLSMM0Bnb4SeMNysBYQ6 nA1A== X-Forwarded-Encrypted: i=1; AJvYcCVaK+Qlz7YiNktIEbUR9B2ZdKxTOJcYbRkL8E8npMkh9TKrjFPgrdJUQ1kI5f1ciCk1JMfh+rmopNUD63Y=@vger.kernel.org X-Gm-Message-State: AOJu0YwUUEzlnVnS53XONMQj/gQzTF45NrZ9zQyBf3Nk5auFQS3VqNIp rrluaKE3+6O+n2N6+/DRmEmkTUvVMVTGP8e1M+8TsQ8beE4zpLPO+BtxdpgiqHA5ox4= X-Gm-Gg: ASbGnct+er9wLEGkl2CPMixEwzTaLpedieFnUvA9rdIeBZWkVhMsrANEF9AGdgONLKX C8jGSZvWzJhG5cQuL673NyBDZJpUqPXt+m+7JcR3e0VTM9diuCSWhZXYbUB9N/Uu89DCuTNKDV5 C8Xo3dk3X6M+c4ex/JjxQyPqQEAKuxF8dxWXZDuq6xyxUaWeWTJmTSGa4FmZ9qW8z7aya0FmeWZ prvmIZE4VwN+8UmON9Xluzfu3oNlnk5Loa7fXU0czH8Um8IQRcC+07fTPupGz3/ebBHKbuAk68J BOAVcX73RrXuSGslIBgXQ7UKOexScl6CGZYDj1Td/vTgHKMxmJTBIDIm/L7mQ3++PY7k8FBVaFo 9gon065THPPuH5KLHLTSFJ6JprqKHT8elkjVu2PtW/6VYkB9KIxtxhOWf/3ahYmUPDyjM7C8GI5 OsaL3Zvo0l4xX4Ok7T4QphHg== X-Google-Smtp-Source: AGHT+IFWkdcM4RcAmhz/n+Efu+qXJCifj1zR/DVBAtOqTkxm9VZW/RyLABBNVHQDHruJ7fqXDjXWyQ== X-Received: by 2002:a05:6402:348b:b0:61c:5342:7d81 with SMTP id 4fb4d7f45d1cf-61d26d84f7emr6290550a12.23.1756707158967; Sun, 31 Aug 2025 23:12:38 -0700 (PDT) Received: from raven.intern.cm-ag (p200300dc6f1d0f00023064fffe740809.dip0.t-ipconnect.de. [2003:dc:6f1d:f00:230:64ff:fe74:809]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-61cfc231561sm6374533a12.23.2025.08.31.23.12.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 23:12:38 -0700 (PDT) From: Max Kellermann To: akpm@linux-foundation.org, david@redhat.com, axelrasmussen@google.com, yuanchu@google.com, willy@infradead.org, hughd@google.com, mhocko@suse.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, vishal.moola@gmail.com Cc: Max Kellermann Subject: [PATCH v3 07/12] parisc: add `const` to mmap_upper_limit() parameter Date: Mon, 1 Sep 2025 08:12:18 +0200 Message-ID: <20250901061223.2939097-8-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250901061223.2939097-1-max.kellermann@ionos.com> References: <20250901061223.2939097-1-max.kellermann@ionos.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" For improved const-correctness. This piece is necessary to make the `rlim_stack` parameter to mmap_base() const. Signed-off-by: Max Kellermann Reviewed-by: Vishal Moola (Oracle) --- arch/parisc/include/asm/processor.h | 2 +- arch/parisc/kernel/sys_parisc.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/parisc/include/asm/processor.h b/arch/parisc/include/asm/= processor.h index 4c14bde39aac..dd0b5e199559 100644 --- a/arch/parisc/include/asm/processor.h +++ b/arch/parisc/include/asm/processor.h @@ -48,7 +48,7 @@ #ifndef __ASSEMBLER__ =20 struct rlimit; -unsigned long mmap_upper_limit(struct rlimit *rlim_stack); +unsigned long mmap_upper_limit(const struct rlimit *rlim_stack); unsigned long calc_max_stack_size(unsigned long stack_max); =20 /* diff --git a/arch/parisc/kernel/sys_parisc.c b/arch/parisc/kernel/sys_paris= c.c index f852fe274abe..c2bbaef7e6b7 100644 --- a/arch/parisc/kernel/sys_parisc.c +++ b/arch/parisc/kernel/sys_parisc.c @@ -77,7 +77,7 @@ unsigned long calc_max_stack_size(unsigned long stack_max) * indicating that "current" should be used instead of a passed-in * value from the exec bprm as done with arch_pick_mmap_layout(). */ -unsigned long mmap_upper_limit(struct rlimit *rlim_stack) +unsigned long mmap_upper_limit(const struct rlimit *const rlim_stack) { unsigned long stack_base; =20 --=20 2.47.2 From nobody Fri Oct 3 12:16:41 2025 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B67E6258EE2 for ; Mon, 1 Sep 2025 06:12:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707163; cv=none; b=u7WDXrR7nTxlEd6gaGSz24GSwSOqbaoyXDMLzl/I3eOmw3kpZUj9jlF23ZLj3RlBLai/b+N/M0I46EAze83IQq5SadbUg1q502WwAnys4U54QdSUWf1jgrGVinxa0QfZaaPpae3/ZP/uZxMX+BkGZd/yuL/w3D8GD5uYC33Mxps= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707163; c=relaxed/simple; bh=YGg2hnsYALJcKhfmF9NNCR8/aARyJJjSXN/qFpjUbTw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=iaQ5MB7nFHo1ZcG1FwUmm+Du1Tmsraepm8ti4lzsZw8znN2561IFP5xUfEfAUhBznX7zktjb06nuC/MvyTjUKLKKDcb53X7NXdF/LHgFbocDU8Xw97LS92duBATN0wH7YYMH8VUS1WilKKUv+QVKY4TPi2dGhGFEarTteHQfaB8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com; spf=pass smtp.mailfrom=ionos.com; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b=PCw+SFeS; arc=none smtp.client-ip=209.85.208.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ionos.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b="PCw+SFeS" Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-61e8fe26614so1503084a12.1 for ; Sun, 31 Aug 2025 23:12:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756707160; x=1757311960; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OMV7fZLCTw91Ub0dFNNIHemoRG98amxSAwmTMmAcs0c=; b=PCw+SFeSMW95dnDyceAgYc7xFMmBrFmc3ERBpoEF/Kw70JpGzpu3/nfD9LbaMZKoM2 UVqBXXOm7qZ7s2jKb5uwuiw7NxpG/KlCy6/qo8Z3dJxnlgI2WYhyOXiLa8XsA5X822Wg WCBMpMmUjItW/9lAvMAvXdLB14fyrB8Sv77brXDc/UHPddxAkWOCd8+Xl2el2vYDkwdp yrULJYQDJTLeSt/NOrXhNYR19d7/5Uyqj8H9vUzXpqtLyY6xZhhACRY5i/JcgB/6DJvx S7wbfR3ucp9i+gZ6J0KxgGjZRuf04Z4ThxVq/6btIjkLk0i7a6ZrSCKBic8Om2+HEEy5 xCww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756707160; x=1757311960; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OMV7fZLCTw91Ub0dFNNIHemoRG98amxSAwmTMmAcs0c=; b=a2cOGAuHauya8Y9VGgwnbR5P8uxzglnSrWNOqd7Z95Gq3ciAbBJL6/LfXuDwQg6xI8 nynoj51iXn5rFzgmJZCcAK04G9DCrVtTEBOuGN4tAgRFg+B73E21xca5QOUHfHm9u9OJ RkrkZR2fEJGCXZcbYi12TfHdHXFQmib68DZ/uTGvwx2ZXgF6epeQ86JLus7+5hlh43qs cK3mppivgbg8H196pnrhokMdsNP4XUaUuYaPFDTMra/ytDCMbgAv14gS4LotMCUU/j0b z6yVcENwPbaLKQU6IB/xITQKoFIGUOUt3aJa3Bbiicfu8B/LrX86jkLWvvwPoVAB2HpG nUEg== X-Forwarded-Encrypted: i=1; AJvYcCU2lnFCpaM3rrrTVDSS+X27jTxk/x0PaThVT2R6XIDFMd0ZiYJdmSPXT+4ZYdzyEZTIom5dZh1KCp50pzA=@vger.kernel.org X-Gm-Message-State: AOJu0YyfkOJ0igXJgCMS1IX3hjOdgcpARu2EwDmVfrZbdWqLuMVyUUUx fM+9CFEEQM1Z75Rkn3hr5jePPxMqm+oFeZ4+MW6BcRg2Td+un21v+LTGvoj9rH85XtQ= X-Gm-Gg: ASbGncu9zyITit+6GwTLaVaIOp8Tm3rgJ4Ui0fJqkMBwII7Q/hD7hFl7hLCP198nWct DRzJPMiBegO2bL26xQ49lVvrb8ot5uWeyRcnNmdwZRWXIBjtgq7Xvi2im6+fqfEsmOOW1Ixk5CX Vdss5+ZoaZl7kj+mPgDKfoB0kETi4Pb7y1fQn57mqsRfMjfRfpY9VxU28X20gh+SyhmqIVPzSeC mWAZKEhwDqErAOFlkLOukEmcQ1JggeY0WrhFQHy/sZS28QTtm/ze2eieuJGAmghjzsvy8z5C4Em TfTyRUOb7kotZHGU+DG5QPQFEXbjqiyJDv2aGboL/7tXmc3eENmg7Yc4jbevSjtydYYzFpaSWVE xdRuFpH0S5vR1WiL+ZulhjGxWXo/2tpkXGnI6s1HQPSRXCkyJfzappFQEPhgMhjTrplyTjCKKQH 2f+811FLhNKpierA7ws62ilQ== X-Google-Smtp-Source: AGHT+IE61/JzTZaY6T03P50LVJL6zTCqVRZn14C1mT9luFPyfmIAshvEk3NBGAkYGLzTsD9oi5e6pg== X-Received: by 2002:a05:6402:2351:b0:61d:2096:1e92 with SMTP id 4fb4d7f45d1cf-61d269882d3mr6111842a12.15.1756707160010; Sun, 31 Aug 2025 23:12:40 -0700 (PDT) Received: from raven.intern.cm-ag (p200300dc6f1d0f00023064fffe740809.dip0.t-ipconnect.de. [2003:dc:6f1d:f00:230:64ff:fe74:809]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-61cfc231561sm6374533a12.23.2025.08.31.23.12.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 23:12:39 -0700 (PDT) From: Max Kellermann To: akpm@linux-foundation.org, david@redhat.com, axelrasmussen@google.com, yuanchu@google.com, willy@infradead.org, hughd@google.com, mhocko@suse.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, vishal.moola@gmail.com Cc: Max Kellermann Subject: [PATCH v3 08/12] mm/util, s390, sparc, x86: add const to arch_pick_mmap_layout() parameter Date: Mon, 1 Sep 2025 08:12:19 +0200 Message-ID: <20250901061223.2939097-9-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250901061223.2939097-1-max.kellermann@ionos.com> References: <20250901061223.2939097-1-max.kellermann@ionos.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" For improved const-correctness. Signed-off-by: Max Kellermann Reviewed-by: Vishal Moola (Oracle) --- arch/s390/mm/mmap.c | 5 +++-- arch/sparc/kernel/sys_sparc_64.c | 3 ++- arch/x86/mm/mmap.c | 7 ++++--- include/linux/sched/mm.h | 4 ++-- mm/util.c | 9 ++++++--- 5 files changed, 17 insertions(+), 11 deletions(-) diff --git a/arch/s390/mm/mmap.c b/arch/s390/mm/mmap.c index c0f619fb9ab3..a47c7133d82a 100644 --- a/arch/s390/mm/mmap.c +++ b/arch/s390/mm/mmap.c @@ -47,7 +47,7 @@ static unsigned long mmap_base_legacy(unsigned long rnd) } =20 static inline unsigned long mmap_base(unsigned long rnd, - struct rlimit *rlim_stack) + const struct rlimit *const rlim_stack) { unsigned long gap =3D rlim_stack->rlim_cur; unsigned long pad =3D stack_maxrandom_size() + stack_guard_gap; @@ -169,7 +169,8 @@ unsigned long arch_get_unmapped_area_topdown(struct fil= e *filp, unsigned long ad * This function, called very early during the creation of a new * process VM image, sets up which VM layout function to use: */ -void arch_pick_mmap_layout(struct mm_struct *mm, struct rlimit *rlim_stack) +void arch_pick_mmap_layout(struct mm_struct *const mm, + const struct rlimit *const rlim_stack) { unsigned long random_factor =3D 0UL; =20 diff --git a/arch/sparc/kernel/sys_sparc_64.c b/arch/sparc/kernel/sys_sparc= _64.c index 785e9909340f..1c243bb461b2 100644 --- a/arch/sparc/kernel/sys_sparc_64.c +++ b/arch/sparc/kernel/sys_sparc_64.c @@ -294,7 +294,8 @@ static unsigned long mmap_rnd(void) return rnd << PAGE_SHIFT; } =20 -void arch_pick_mmap_layout(struct mm_struct *mm, struct rlimit *rlim_stack) +void arch_pick_mmap_layout(struct mm_struct *const mm, + const struct rlimit *const rlim_stack) { unsigned long random_factor =3D mmap_rnd(); unsigned long gap; diff --git a/arch/x86/mm/mmap.c b/arch/x86/mm/mmap.c index 708f85dc9380..13bde4ba2f24 100644 --- a/arch/x86/mm/mmap.c +++ b/arch/x86/mm/mmap.c @@ -80,7 +80,7 @@ unsigned long arch_mmap_rnd(void) } =20 static unsigned long mmap_base(unsigned long rnd, unsigned long task_size, - struct rlimit *rlim_stack) + const struct rlimit *const rlim_stack) { unsigned long gap =3D rlim_stack->rlim_cur; unsigned long pad =3D stack_maxrandom_size(task_size) + stack_guard_gap; @@ -110,7 +110,7 @@ static unsigned long mmap_legacy_base(unsigned long rnd, */ static void arch_pick_mmap_base(unsigned long *base, unsigned long *legacy= _base, unsigned long random_factor, unsigned long task_size, - struct rlimit *rlim_stack) + const struct rlimit *const rlim_stack) { *legacy_base =3D mmap_legacy_base(random_factor, task_size); if (mmap_is_legacy()) @@ -119,7 +119,8 @@ static void arch_pick_mmap_base(unsigned long *base, un= signed long *legacy_base, *base =3D mmap_base(random_factor, task_size, rlim_stack); } =20 -void arch_pick_mmap_layout(struct mm_struct *mm, struct rlimit *rlim_stack) +void arch_pick_mmap_layout(struct mm_struct *const mm, + const struct rlimit *const rlim_stack) { if (mmap_is_legacy()) mm_flags_clear(MMF_TOPDOWN, mm); diff --git a/include/linux/sched/mm.h b/include/linux/sched/mm.h index 2201da0afecc..0232d983b715 100644 --- a/include/linux/sched/mm.h +++ b/include/linux/sched/mm.h @@ -178,7 +178,7 @@ static inline void mm_update_next_owner(struct mm_struc= t *mm) #endif =20 extern void arch_pick_mmap_layout(struct mm_struct *mm, - struct rlimit *rlim_stack); + const struct rlimit *rlim_stack); =20 unsigned long arch_get_unmapped_area(struct file *filp, unsigned long addr, @@ -211,7 +211,7 @@ generic_get_unmapped_area_topdown(struct file *filp, un= signed long addr, unsigned long flags, vm_flags_t vm_flags); #else static inline void arch_pick_mmap_layout(struct mm_struct *mm, - struct rlimit *rlim_stack) {} + const struct rlimit *rlim_stack) {} #endif =20 static inline bool in_vfork(struct task_struct *tsk) diff --git a/mm/util.c b/mm/util.c index f5a35efba7bf..24f08217cd95 100644 --- a/mm/util.c +++ b/mm/util.c @@ -431,7 +431,8 @@ static int mmap_is_legacy(const struct rlimit *const rl= im_stack) #define MIN_GAP (SZ_128M) #define MAX_GAP (STACK_TOP / 6 * 5) =20 -static unsigned long mmap_base(unsigned long rnd, struct rlimit *rlim_stac= k) +static unsigned long mmap_base(const unsigned long rnd, + const struct rlimit *const rlim_stack) { #ifdef CONFIG_STACK_GROWSUP /* @@ -462,7 +463,8 @@ static unsigned long mmap_base(unsigned long rnd, struc= t rlimit *rlim_stack) #endif } =20 -void arch_pick_mmap_layout(struct mm_struct *mm, struct rlimit *rlim_stack) +void arch_pick_mmap_layout(struct mm_struct *const mm, + const struct rlimit *const rlim_stack) { unsigned long random_factor =3D 0UL; =20 @@ -478,7 +480,8 @@ void arch_pick_mmap_layout(struct mm_struct *mm, struct= rlimit *rlim_stack) } } #elif defined(CONFIG_MMU) && !defined(HAVE_ARCH_PICK_MMAP_LAYOUT) -void arch_pick_mmap_layout(struct mm_struct *mm, struct rlimit *rlim_stack) +void arch_pick_mmap_layout(struct mm_struct *const mm, + const struct rlimit *const rlim_stack) { mm->mmap_base =3D TASK_UNMAPPED_BASE; mm_flags_clear(MMF_TOPDOWN, mm); --=20 2.47.2 From nobody Fri Oct 3 12:16:41 2025 Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A9FE925A352 for ; Mon, 1 Sep 2025 06:12:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707164; cv=none; b=aMusxRHc/YjeoF8Uv4xNUZYjcdHtAtuY3l7wEYYynEi1RdDZeRQ9CC/nGoh23rIopbrvknKVfC4DK73A9YtEBf07UUDGnBaSu7voGlAdEN2gb/i4WKGTtAqMs2iJ9uxKx/2JDYccUsDMNKBwKv32UEcSR0PHW3YSJUSH2KrZw8M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707164; c=relaxed/simple; bh=Kq9jl4vepq88dsyIU2VEKpbj+G4VTiDnEL+OOcpmbxU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hkH4wcmdTSwn+9szlLTtbJKuw7Ts/WoxNBf1i6XnunZXw6cgRgna2nL2ByLJkor491LTvqPjk4S3wYmhF+KxlRBjk9tYL/m0LyxhiYU7AY0VjjZgS0DoTOcSOeg5FrmTxtg0SC89YPBrkrbwDTWjks+RJ3YhCgXu3yUoh7YTaUE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com; spf=pass smtp.mailfrom=ionos.com; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b=Cm7CbAli; arc=none smtp.client-ip=209.85.208.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ionos.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b="Cm7CbAli" Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-61cbfa1d820so7686168a12.3 for ; Sun, 31 Aug 2025 23:12:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756707161; x=1757311961; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EbQrHBJ8z81uwew1vi+7yRgIBMEBSVZY4WcnSS+Eg3g=; b=Cm7CbAliNonCa6z169d5KStQnRdncHUY16k9jsZcS7d4ijjlCQ74lLof2gNMXfA8bA fX4c+fsfng6fJvb22rSGRfDrUZ4q/BO4a9FdD47qZT4XLbpgtS9GWsqSdgnBabFShEvF +vy/1qRDV+yA41Ea13VriXMBg1fBw1qX52WAejjNoL8QnzII1K7TzCr2YEXWtAsziYkS EfcdGyczPxS+TzunwO1/2lmpIhu7VlkjMrlflE3kDTUSsaSSCdh9uhhwF5LzbgA1stkI pScfKBy7b7Sxj4zOwDA6VZgr4pXEPaV5e94EVyMqAPz55a65wFYuHlU92MyrnXh1mbXO rzEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756707161; x=1757311961; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EbQrHBJ8z81uwew1vi+7yRgIBMEBSVZY4WcnSS+Eg3g=; b=iQA7J7KSfyNF5yP3WXUSn9I5CF7mzVgm8ck/J+Cpdh8Woq9KaurbzAv3a6T/v9dzl7 epvJ9hN0qlOsZi97Fu+EP5QHhJRKSNH7qth8yMi5ATZoloh1Ofen1c7PISdgtViwIqRR cmpGkuuZ6UG+S+TrnVi2o4JILU9v1K+MRLByfVXYKSpOGciOWKM5EpYrUP5PZV1EY+Bl bHbylCOTfIyz0pGOQZ5MmbCznp0Tma63FL+n/7XRcxLvA1hcjMe/CUo2bZ0E9HzyfTWv 9DYS/g1LRqjmQ4Mgr2d7/HVloaMmfoZfuYQ3sF9+IrLiWisKds2Se+mRZCvmGaHT8XUe I0ig== X-Forwarded-Encrypted: i=1; AJvYcCWtNkEhPcrKbUhY93JcCX6ud6IpKOie1UNcprRuiB9moHGS1TrIaaJKdVK9Q7BLk0Oq9jNGQyzUYzzb780=@vger.kernel.org X-Gm-Message-State: AOJu0YxgCZ0JOfaRohtOHUKAoTygdGJHchaWaanxnK3wAudovU6Y0iyE 0nLxdDT6NbwIxF0Zd0CuUyRkJYkCgBUL5HK9A1szOOEsep9QFi+VtkP34ZO9akBpAxQ= X-Gm-Gg: ASbGncujADdFuX7J2QdzCrSNEGeZ9yfWCqAhy0M0Yztz3ybUr/GIw0lGmpUVJvvx+k+ YD9bsKiH45mbwy0EQAJFSEtifhZeRScEEq7QmUztT9X+1KRloRI8zNGXGlzdKXP/FZMyakLFOOX d4Q+TJ7y14wLrn5JmzuTPhM/yY/XYXb1foV8y78qMP9bkMtM81dF53uwncx9clkXYC81/vRIMp0 WOITriJIpeYm7j21z52edS0/N6HNs0VH27VCdx+9GLrb/07+d4SC064S0XVR/F8RiYlwB1Gw4NT B+mNPuq3hdejJV6JIZFDNySdTKPORdf6lRbDKPOv01VrAjvkWBJCsySmUA3Jmf/Acyd93Y8dW6z yKaX9wKxOzndj3iOBDz1HmApFaK2YSh+LnMAFtTl01Wm2IIJ/mmb8r/qNgqZ4oDADLgKxDepnI4 4ji9+VHshxAjbboBHBfw2yIHrgjpqCS4kA X-Google-Smtp-Source: AGHT+IGevVVFDwpib3Ih00RORrmBg3Bj8mRdXcMsGafDrizuqnKGumProyccpoS5DO5Ejs/3iaBZ7A== X-Received: by 2002:a05:6402:3594:b0:61e:49dc:171f with SMTP id 4fb4d7f45d1cf-61e49dc176fmr2613262a12.1.1756707161042; Sun, 31 Aug 2025 23:12:41 -0700 (PDT) Received: from raven.intern.cm-ag (p200300dc6f1d0f00023064fffe740809.dip0.t-ipconnect.de. [2003:dc:6f1d:f00:230:64ff:fe74:809]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-61cfc231561sm6374533a12.23.2025.08.31.23.12.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 23:12:40 -0700 (PDT) From: Max Kellermann To: akpm@linux-foundation.org, david@redhat.com, axelrasmussen@google.com, yuanchu@google.com, willy@infradead.org, hughd@google.com, mhocko@suse.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, vishal.moola@gmail.com Cc: Max Kellermann Subject: [PATCH v3 09/12] mm/mm_types: add `const` to several pointer parameters Date: Mon, 1 Sep 2025 08:12:20 +0200 Message-ID: <20250901061223.2939097-10-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250901061223.2939097-1-max.kellermann@ionos.com> References: <20250901061223.2939097-1-max.kellermann@ionos.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" For improved const-correctness. Signed-off-by: Max Kellermann Reviewed-by: Vishal Moola (Oracle) --- include/linux/mm_types.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index d934a3a5b443..46e27ee14bcf 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -632,7 +632,7 @@ static inline void ptdesc_pmd_pts_dec(struct ptdesc *pt= desc) atomic_dec(&ptdesc->pt_share_count); } =20 -static inline int ptdesc_pmd_pts_count(struct ptdesc *ptdesc) +static inline int ptdesc_pmd_pts_count(const struct ptdesc *const ptdesc) { return atomic_read(&ptdesc->pt_share_count); } @@ -660,7 +660,7 @@ static inline void set_page_private(struct page *page, = unsigned long private) page->private =3D private; } =20 -static inline void *folio_get_private(struct folio *folio) +static inline void *folio_get_private(const struct folio *const folio) { return folio->private; } --=20 2.47.2 From nobody Fri Oct 3 12:16:41 2025 Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4A3EC25FA0E for ; Mon, 1 Sep 2025 06:12:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707166; cv=none; b=TxSbxIDs/Cs15++ZWkaOK0ByTeUYyx4oJClfh7j6WEu4c01Y/fFBXnsuq72qls3e0wfWlNJKygnjITmdbGL0Oeyq+cbJ/TcNdJxN3z0jlGEzNjNKikfv1OXRvh8X4o3ulic8JSQXTXzjAOVKAs7DYMy3AKWVCQpngaOnFMvjFrM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707166; c=relaxed/simple; bh=uKr9NzYjTPyr2LoMtq+P+dwP9S6wWCmSDu9T3D5QFQk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rexQM4rSlwewb96kQrocVFlIKn9aozh8cw8F8hn2GpFl1fsVFGtSO8S9lyThWKIIHe0edrb3y8BPw3gj8r9AFjjB45gN73AQHsASxeeMdci8ssdvq1kc6QT2ZtGKIXAF7JXkQIJvNlROkgGFf6dTkYzT6EWs4kv1SS9NS0MjTns= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com; spf=pass smtp.mailfrom=ionos.com; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b=RkhshYBk; arc=none smtp.client-ip=209.85.208.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ionos.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b="RkhshYBk" Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-61e425434bbso1257694a12.2 for ; Sun, 31 Aug 2025 23:12:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756707162; x=1757311962; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rG8qInwJ7HC+M9uFXGeO7jifDwFcNxLl5I1yIPskFEM=; b=RkhshYBkS0oV2fnFeUTfVE+/7Os/IDN8Vwjp1wW8TqICpyQML0nIVG0/V3DqBFtp/U P6DO49T29Z3EST3MUCGylnzfHqAOabvi3E0Jj9o+VRYjcX8PwR3AQpqFVD2Xp9rL3sQ5 xUz2MucWZ5z9J7lB+ZvhNUTThKuSsRyrJgh24uZaog4cLOFyKB2Zm+CbBbDL6U1mdwr/ 8fkOqil4B8zxAKt9wF5JmjBKTDRpA4CBsJwDYdW7THP4b+5gEJFGe8SUz3mfJuZNyj7f PSJO9eOXg4094gV1tCwsVm7+8NtJ1LP8APQKJxKdeQeqTCjSlaNieaUDfMI+E4UDWC/j RVog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756707162; x=1757311962; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rG8qInwJ7HC+M9uFXGeO7jifDwFcNxLl5I1yIPskFEM=; b=t81z7TL3AFDpLt94R9MX6a5OemaJ8IZcnQXTBq6r5+QZ4mxaB8wlHhxBmahMdWOXa9 8QHFXKnyW+mZJR78ob9czqvQP/pmaHCSKWW4nFlORDnnDFk0kjZbejAv1JMPHZdV2AUl c4q18nTbKqEBBs7HQSQdKBCmyL6QL/IRWBXlgl4u3xaJlBw4vZ/E4YtOygO8P6sd+Rvb jY6bfzhR4rX+jrArflnj2eqjVeXy6jWGyrY9WBnlrJPRB5W6MiHuxi+8TLb8Csq77D4h yLKIzzhgG6dPAf4f9UqF3H+1ZDD5c0y9wTtJleF4tOHFYXWQ6YDDKRZe/ltY3A5fsuH6 ZAqQ== X-Forwarded-Encrypted: i=1; AJvYcCUGzwGpDirieF66GZVzgQtW2URBJ9tO9gy66BNp4o+R7GrBeuktcbOpOTSXvS40X4jmAFGfAD0nVsRlYzI=@vger.kernel.org X-Gm-Message-State: AOJu0Yz9IYF6IAsShl/dEjK68YRmo7GAifWKhGTnV2yWlxKtmD9fj4Ta 7fkEq8yQAegerUYDwpJT6Hqc2xYYasHHmX09Md6m6JLrL9L9m6wn+mvuPZAl5xboY/Y= X-Gm-Gg: ASbGncvCvuSA8QtvLg+YsCm1SxUZ3V6TDltDv5hlNNGgEVu7Vm47cOtgv5zigJG2Y6+ eEcsQgoZSKVoRXIvDbXnHMWC+YmIxwqkk1ttAcT2oD8O1YzVuKP44eSSpb1WRWoli0JEbuMNUkm gKuGXIaltWhjkE3SUtFWR3N3mS/j5XsqFQiuRdeM4DIp824jYNxF1Z63glYlf6w3BoEPNQLA4nK MdyJJLnvQbitMBf3JaXYvlYDT7eNEQNj5vPLaD4iY/QvYURj1SJY9UT41uMSRCIj/Ro2UcmR3ym RDa+oohWM91x4HP0y8GpnIRAMcJcNgLNVFGBuBtKFNPjyN9L6vDmjQQL8oDtZ1rP/ItAzkBSw5J fZhpYJG+UfS99+PQ0LJOD0RNh3TSPXz3OZ1/hJFuyvzU/8fUYTOz/Pur1zPHR1HLCuNKIfZ7wK9 DHjufqKF9rZriaiRA7K8V8sHRdaP+5vvjm X-Google-Smtp-Source: AGHT+IFAtjmwZ4hK4x1JPevho811XP+EdM9fOjsV5Bznkx8JWR1z6DDHqQxBXROOVg06TaWqpog9Hw== X-Received: by 2002:a05:6402:274d:b0:61e:95b0:c95d with SMTP id 4fb4d7f45d1cf-61e95b11582mr2278334a12.19.1756707162259; Sun, 31 Aug 2025 23:12:42 -0700 (PDT) Received: from raven.intern.cm-ag (p200300dc6f1d0f00023064fffe740809.dip0.t-ipconnect.de. [2003:dc:6f1d:f00:230:64ff:fe74:809]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-61cfc231561sm6374533a12.23.2025.08.31.23.12.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 23:12:41 -0700 (PDT) From: Max Kellermann To: akpm@linux-foundation.org, david@redhat.com, axelrasmussen@google.com, yuanchu@google.com, willy@infradead.org, hughd@google.com, mhocko@suse.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, vishal.moola@gmail.com Cc: Max Kellermann Subject: [PATCH v3 10/12] mm/mm_inline: add `const` to lots of pointer parameters Date: Mon, 1 Sep 2025 08:12:21 +0200 Message-ID: <20250901061223.2939097-11-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250901061223.2939097-1-max.kellermann@ionos.com> References: <20250901061223.2939097-1-max.kellermann@ionos.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" For improved const-correctness. Signed-off-by: Max Kellermann Reviewed-by: Vishal Moola (Oracle) --- include/linux/mm_inline.h | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/include/linux/mm_inline.h b/include/linux/mm_inline.h index 150302b4a905..8c4f6f95ba9f 100644 --- a/include/linux/mm_inline.h +++ b/include/linux/mm_inline.h @@ -25,7 +25,7 @@ * 0 if @folio is a normal anonymous folio, a tmpfs folio or otherwise * ram or swap backed folio. */ -static inline int folio_is_file_lru(struct folio *folio) +static inline int folio_is_file_lru(const struct folio *const folio) { return !folio_test_swapbacked(folio); } @@ -84,7 +84,7 @@ static __always_inline void __folio_clear_lru_flags(struc= t folio *folio) * Return: The LRU list a folio should be on, as an index * into the array of LRU lists. */ -static __always_inline enum lru_list folio_lru_list(struct folio *folio) +static __always_inline enum lru_list folio_lru_list(const struct folio *co= nst folio) { enum lru_list lru; =20 @@ -141,7 +141,7 @@ static inline int lru_tier_from_refs(int refs, bool wor= kingset) return workingset ? MAX_NR_TIERS - 1 : order_base_2(refs); } =20 -static inline int folio_lru_refs(struct folio *folio) +static inline int folio_lru_refs(const struct folio *const folio) { unsigned long flags =3D READ_ONCE(folio->flags.f); =20 @@ -154,14 +154,14 @@ static inline int folio_lru_refs(struct folio *folio) return ((flags & LRU_REFS_MASK) >> LRU_REFS_PGOFF) + 1; } =20 -static inline int folio_lru_gen(struct folio *folio) +static inline int folio_lru_gen(const struct folio *folio) { unsigned long flags =3D READ_ONCE(folio->flags.f); =20 return ((flags & LRU_GEN_MASK) >> LRU_GEN_PGOFF) - 1; } =20 -static inline bool lru_gen_is_active(struct lruvec *lruvec, int gen) +static inline bool lru_gen_is_active(const struct lruvec *const lruvec, co= nst int gen) { unsigned long max_seq =3D lruvec->lrugen.max_seq; =20 @@ -217,12 +217,13 @@ static inline void lru_gen_update_size(struct lruvec = *lruvec, struct folio *foli VM_WARN_ON_ONCE(lru_gen_is_active(lruvec, old_gen) && !lru_gen_is_active(= lruvec, new_gen)); } =20 -static inline unsigned long lru_gen_folio_seq(struct lruvec *lruvec, struc= t folio *folio, +static inline unsigned long lru_gen_folio_seq(const struct lruvec *const l= ruvec, + const struct folio *const folio, bool reclaiming) { int gen; int type =3D folio_is_file_lru(folio); - struct lru_gen_folio *lrugen =3D &lruvec->lrugen; + const struct lru_gen_folio *lrugen =3D &lruvec->lrugen; =20 /* * +-----------------------------------+---------------------------------= --+ @@ -302,7 +303,8 @@ static inline bool lru_gen_del_folio(struct lruvec *lru= vec, struct folio *folio, return true; } =20 -static inline void folio_migrate_refs(struct folio *new, struct folio *old) +static inline void folio_migrate_refs(struct folio *const new, + const struct folio *const old) { unsigned long refs =3D READ_ONCE(old->flags.f) & LRU_REFS_MASK; =20 @@ -330,7 +332,7 @@ static inline bool lru_gen_del_folio(struct lruvec *lru= vec, struct folio *folio, return false; } =20 -static inline void folio_migrate_refs(struct folio *new, struct folio *old) +static inline void folio_migrate_refs(struct folio *new, const struct foli= o *old) { =20 } @@ -508,7 +510,7 @@ static inline void dec_tlb_flush_pending(struct mm_stru= ct *mm) atomic_dec(&mm->tlb_flush_pending); } =20 -static inline bool mm_tlb_flush_pending(struct mm_struct *mm) +static inline bool mm_tlb_flush_pending(const struct mm_struct *const mm) { /* * Must be called after having acquired the PTL; orders against that @@ -521,7 +523,7 @@ static inline bool mm_tlb_flush_pending(struct mm_struc= t *mm) return atomic_read(&mm->tlb_flush_pending); } =20 -static inline bool mm_tlb_flush_nested(struct mm_struct *mm) +static inline bool mm_tlb_flush_nested(const struct mm_struct *const mm) { /* * Similar to mm_tlb_flush_pending(), we must have acquired the PTL @@ -605,7 +607,7 @@ pte_install_uffd_wp_if_needed(struct vm_area_struct *vm= a, unsigned long addr, return false; } =20 -static inline bool vma_has_recency(struct vm_area_struct *vma) +static inline bool vma_has_recency(const struct vm_area_struct *const vma) { if (vma->vm_flags & (VM_SEQ_READ | VM_RAND_READ)) return false; --=20 2.47.2 From nobody Fri Oct 3 12:16:41 2025 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 042F3261B9D for ; Mon, 1 Sep 2025 06:12:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707167; cv=none; b=mtnsxPIPTfIvAqRDjioCzq+nIexE/lApYe+MKVSJIgPgQ9DVavKSDBInz/C9u8OUi4Obtq10m1ah/zqv8pPp9ng4ERQdQhrsbgwnIGVaBLCMrBuwr17INV3cdLu39g7riE696TENxXZfmy3yAbZyUnA9Lyo4koww6JnIdYT0+jY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707167; c=relaxed/simple; bh=Dfmun9pi6cuyGoUj6GOJeOljxmTWfSLaNUipQGTxNJA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LjWRPATnZmZUgguOk1wvKGtpbXuf351atvJ7D2DxDucyOnpes2hQK7rFBtdM4dH+aQH4WmyG/Zkaft/KNtybnNhfz0i8XnioVtxxbdafZ95u1u5dDW/1WMISgnzKGIziu8NY224KekK+8XDA2reZ6i/JfNyHwtlQOzIdtBpB1UY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com; spf=pass smtp.mailfrom=ionos.com; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b=V8XBFtse; arc=none smtp.client-ip=209.85.208.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ionos.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b="V8XBFtse" Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-61cdab7eee8so5311539a12.0 for ; Sun, 31 Aug 2025 23:12:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756707163; x=1757311963; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QlbLlerU4Nv7VRATJ1BdVJRZNI5zbhELrg/7ukvkQX4=; b=V8XBFtsehz9gywhn0RkpoaYwh9v4Rtti1u4SbCq11EIXwbOFIXZx+NxYhBTXL1f881 WoKhWdP3r/Pzz92ZDFX1+IF5QyShHjWxx4I/PAkUdELC/5bXLt2oHjiSqxD8PlUuxayr BEC+vVJVJ+JBdJZdy6r9fETYSH+vqPhTTjG8st/ryD/p3pIytGFomnDbEFyBWa0BMTr6 O1YhqMvp7ojxWE7YzcT8fK4UbWfGLQ6oWDDdJi7be63RQ7KALhkRul0PdA6Ssz/yXIuR d3LV6vGSX6cJSVfYxup990+KTTlhrNAK/NSWnENDvULueb5fsMLTkZDPLDrgAgPNarvJ 7uhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756707163; x=1757311963; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QlbLlerU4Nv7VRATJ1BdVJRZNI5zbhELrg/7ukvkQX4=; b=JtKy4TA4pv0qClm4DchUiiMNOZiljMsIqyP0z7AeeVuR76QMlqEJzNHrq6WLmS5a2r g98pSbomnQJO5x/kPBDz3tI97MSJGayB3X35XOG6WiWkNC2Or7A2ZHMgt9eu3gz0bPxL 85mUoUku7vaVx1Hp2RQV4+F342nb4VdigT7BK3H2m+ciyvwQWOi0cpONAwfdeKlnQ7Tz 6sYszi9oJhBb/rA61A7EDdtot/mPNt7W9fpfegKsXZB9c9/NVePybk1m0+/+mMAdYv6U 6Fo2AKDimsy2rS28KEtq3cUoQN/u2mgGIBdpXpkGuPCnhWt6S8+/OzY+X9geRY2XVc1Z ibAA== X-Forwarded-Encrypted: i=1; AJvYcCXu4UoJnP4snTLXLgGgXUSw2dVM/LPfVYusLn0umhrNs7RtbJCKJ8iHadjSz4X9dhR8U0cnzENE7Re/Ytg=@vger.kernel.org X-Gm-Message-State: AOJu0YwYJ4UWIR67qjjempc+sQb6MOjp20+YENFV4cTySZKza4mWu7S2 7tLERhyEC844rUyslGSzHLOCgzquqOBLmmyEaU6KQ30LZeKrLxXl/twPFx1xXbYbW/niHggNgTP 65dDV X-Gm-Gg: ASbGncuMhg4wkPJ41mSLdrc8Dqbztd72T2GMODBbJR75U+l6YVHromc3Rm8/Ry2vvVG eJhBA0b+PuiMVGQowfdsNmbuzJOLEMSSDw716lyeQPD1CSYFaRVAno2rI4PhzxU7/czkAYuhMsU 5sUNd6C+Vls7lfrSGtaOLLA6LrX4bbuvy1lz8N5ZDixRPxdks8Vozvavc7ilbr2FvrSk2p8dEFc RamgEp9o3WCdAD+JbepT3SI900m5zM28kGnKZhtNJOSZWdHsoP8cy2f4fawhhRM9MQq5ClLAaVY TYrXvkOdihX/SkamyO45MgyN3k8x7zxRvaQ0aGZAASOqnkk63SUoNDXWNru+oo4VsH8Qeom/5fm 97BPoxrf7jwaqUBDNaat94wnZ04P1XOqgbG/oDMX+7+Ly1THmDdkBibOYPAlV8alshOsRD8uUib w6LfL+jcLLNGq5aPYUS3bSsA== X-Google-Smtp-Source: AGHT+IFuOzWwmxNav3f4LNFAuYGBeVPVJ0k4jaWHV2jGuHJcSK02hDH7szBWJDGdSFOD7Y7CmAbx+g== X-Received: by 2002:a05:6402:26c6:b0:61c:8c66:d134 with SMTP id 4fb4d7f45d1cf-61d26d78f38mr5814175a12.18.1756707163204; Sun, 31 Aug 2025 23:12:43 -0700 (PDT) Received: from raven.intern.cm-ag (p200300dc6f1d0f00023064fffe740809.dip0.t-ipconnect.de. [2003:dc:6f1d:f00:230:64ff:fe74:809]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-61cfc231561sm6374533a12.23.2025.08.31.23.12.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 23:12:42 -0700 (PDT) From: Max Kellermann To: akpm@linux-foundation.org, david@redhat.com, axelrasmussen@google.com, yuanchu@google.com, willy@infradead.org, hughd@google.com, mhocko@suse.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, vishal.moola@gmail.com Cc: Max Kellermann Subject: [PATCH v3 11/12] mm: add `const` to lots of pointer parameters Date: Mon, 1 Sep 2025 08:12:22 +0200 Message-ID: <20250901061223.2939097-12-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250901061223.2939097-1-max.kellermann@ionos.com> References: <20250901061223.2939097-1-max.kellermann@ionos.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" For improved const-correctness. Signed-off-by: Max Kellermann --- include/linux/mm.h | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 23864c3519d6..08ea6e7c0329 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -703,7 +703,7 @@ static inline void release_fault_lock(struct vm_fault *= vmf) mmap_read_unlock(vmf->vma->vm_mm); } =20 -static inline void assert_fault_locked(struct vm_fault *vmf) +static inline void assert_fault_locked(struct vm_fault *const vmf) { if (vmf->flags & FAULT_FLAG_VMA_LOCK) vma_assert_locked(vmf->vma); @@ -716,7 +716,7 @@ static inline void release_fault_lock(struct vm_fault *= vmf) mmap_read_unlock(vmf->vma->vm_mm); } =20 -static inline void assert_fault_locked(struct vm_fault *vmf) +static inline void assert_fault_locked(const struct vm_fault *vmf) { mmap_assert_locked(vmf->vma->vm_mm); } @@ -859,7 +859,7 @@ static inline bool vma_is_initial_stack(const struct vm= _area_struct *vma) vma->vm_end >=3D vma->vm_mm->start_stack; } =20 -static inline bool vma_is_temporary_stack(struct vm_area_struct *vma) +static inline bool vma_is_temporary_stack(const struct vm_area_struct *con= st vma) { int maybe_stack =3D vma->vm_flags & (VM_GROWSDOWN | VM_GROWSUP); =20 @@ -873,7 +873,7 @@ static inline bool vma_is_temporary_stack(struct vm_are= a_struct *vma) return false; } =20 -static inline bool vma_is_foreign(struct vm_area_struct *vma) +static inline bool vma_is_foreign(const struct vm_area_struct *const vma) { if (!current->mm) return true; @@ -884,7 +884,7 @@ static inline bool vma_is_foreign(struct vm_area_struct= *vma) return false; } =20 -static inline bool vma_is_accessible(struct vm_area_struct *vma) +static inline bool vma_is_accessible(const struct vm_area_struct *const vm= a) { return vma->vm_flags & VM_ACCESS_FLAGS; } @@ -895,7 +895,7 @@ static inline bool is_shared_maywrite(vm_flags_t vm_fla= gs) (VM_SHARED | VM_MAYWRITE); } =20 -static inline bool vma_is_shared_maywrite(struct vm_area_struct *vma) +static inline bool vma_is_shared_maywrite(const struct vm_area_struct *con= st vma) { return is_shared_maywrite(vma->vm_flags); } @@ -3488,7 +3488,7 @@ struct vm_area_struct *vma_lookup(struct mm_struct *m= m, unsigned long addr) return mtree_load(&mm->mm_mt, addr); } =20 -static inline unsigned long stack_guard_start_gap(struct vm_area_struct *v= ma) +static inline unsigned long stack_guard_start_gap(const struct vm_area_str= uct *const vma) { if (vma->vm_flags & VM_GROWSDOWN) return stack_guard_gap; @@ -3500,7 +3500,7 @@ static inline unsigned long stack_guard_start_gap(str= uct vm_area_struct *vma) return 0; } =20 -static inline unsigned long vm_start_gap(struct vm_area_struct *vma) +static inline unsigned long vm_start_gap(const struct vm_area_struct *cons= t vma) { unsigned long gap =3D stack_guard_start_gap(vma); unsigned long vm_start =3D vma->vm_start; @@ -3511,7 +3511,7 @@ static inline unsigned long vm_start_gap(struct vm_ar= ea_struct *vma) return vm_start; } =20 -static inline unsigned long vm_end_gap(struct vm_area_struct *vma) +static inline unsigned long vm_end_gap(const struct vm_area_struct *const = vma) { unsigned long vm_end =3D vma->vm_end; =20 @@ -3523,7 +3523,7 @@ static inline unsigned long vm_end_gap(struct vm_area= _struct *vma) return vm_end; } =20 -static inline unsigned long vma_pages(struct vm_area_struct *vma) +static inline unsigned long vma_pages(const struct vm_area_struct *const v= ma) { return (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; } @@ -3540,7 +3540,7 @@ static inline struct vm_area_struct *find_exact_vma(s= truct mm_struct *mm, return vma; } =20 -static inline bool range_in_vma(struct vm_area_struct *vma, +static inline bool range_in_vma(const struct vm_area_struct *const vma, unsigned long start, unsigned long end) { return (vma && vma->vm_start <=3D start && end <=3D vma->vm_end); @@ -3656,7 +3656,7 @@ static inline int vm_fault_to_errno(vm_fault_t vm_fau= lt, int foll_flags) * Indicates whether GUP can follow a PROT_NONE mapped page, or whether * a (NUMA hinting) fault is required. */ -static inline bool gup_can_follow_protnone(struct vm_area_struct *vma, +static inline bool gup_can_follow_protnone(const struct vm_area_struct *co= nst vma, unsigned int flags) { /* @@ -3786,7 +3786,7 @@ static inline bool debug_guardpage_enabled(void) return static_branch_unlikely(&_debug_guardpage_enabled); } =20 -static inline bool page_is_guard(struct page *page) +static inline bool page_is_guard(const struct page *const page) { if (!debug_guardpage_enabled()) return false; @@ -3817,7 +3817,7 @@ static inline void debug_pagealloc_map_pages(struct p= age *page, int numpages) {} static inline void debug_pagealloc_unmap_pages(struct page *page, int nump= ages) {} static inline unsigned int debug_guardpage_minorder(void) { return 0; } static inline bool debug_guardpage_enabled(void) { return false; } -static inline bool page_is_guard(struct page *page) { return false; } +static inline bool page_is_guard(const struct page *const page) { return f= alse; } static inline bool set_page_guard(struct zone *zone, struct page *page, unsigned int order) { return false; } static inline void clear_page_guard(struct zone *zone, struct page *page, @@ -3899,7 +3899,7 @@ void vmemmap_free(unsigned long start, unsigned long = end, #endif =20 #ifdef CONFIG_SPARSEMEM_VMEMMAP -static inline unsigned long vmem_altmap_offset(struct vmem_altmap *altmap) +static inline unsigned long vmem_altmap_offset(const struct vmem_altmap *a= ltmap) { /* number of pfns from base where pfn_to_page() is valid */ if (altmap) @@ -3913,7 +3913,7 @@ static inline void vmem_altmap_free(struct vmem_altma= p *altmap, altmap->alloc -=3D nr_pfns; } #else -static inline unsigned long vmem_altmap_offset(struct vmem_altmap *altmap) +static inline unsigned long vmem_altmap_offset(const struct vmem_altmap *a= ltmap) { return 0; } --=20 2.47.2 From nobody Fri Oct 3 12:16:41 2025 Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EE57C2652A4 for ; Mon, 1 Sep 2025 06:12:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707168; cv=none; b=qGz7DGQFSUBOSv6Cl6jVvQzGRmz09o1/1ZpGzV1VSmKucus+Wwql9qf6Ra8a5QBKKU+YyP38X5TbQag4+ZfwP39QCBFB7eAHOwIRbT4ubaV5P7UZhDJXn93CNh1+U07YXIWijnur+EAArDOsElU0rfflvhUSPzWtXkgZOytJ4ws= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756707168; c=relaxed/simple; bh=CBcT9NVxAck5kwy48ZHHybF8PPGjkQNkdwo1+D4N+d0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=acItsqgQ3+0X0STDFMR85w8hVAo9950tBD1+JUrU/qEGnhKx0oiaA4ygIAhPwdJp6zoUMfOpzYSby8br4ysmUxu1pFDu1YBIAL8TbWhjpzdM3EceD2jD1laqV+rZ6jCJlI7HUyMP0MrcKm7QQQ9mDAr5gjomHAIUo2LnHivWRW4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com; spf=pass smtp.mailfrom=ionos.com; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b=Ha12Nbx8; arc=none smtp.client-ip=209.85.208.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ionos.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ionos.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ionos.com header.i=@ionos.com header.b="Ha12Nbx8" Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-61d7b2ec241so1156335a12.0 for ; Sun, 31 Aug 2025 23:12:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756707164; x=1757311964; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DmXy5ybFdCA4kdt6JbWaWujSYRHDeDjbcsjL0sLonTs=; b=Ha12Nbx8oGBVgWyoqaXafI0SBDboq03pY4f/9GyDdmpLWaxPCO1/NSFlq4/geAuziQ KK8BTl7YsKjOnzwN0hchHAE20XZYzhqDfO3KmuKoJCVJSV6veyoTSpL3gO1osMiXTG4K TVPxMc/9haGqse8Na5Oq5yTZlxf44hw6DlVjTo2FJhzUG/FvLHumdx7wPHeIdzDqan8l LEHEIp7UQhLHxQlNjIUz9K1Jn5eImbF651T92IZ1bp9V0orG93lSxBdMjSVKH7ZY6Jn0 +C2LcdksMVmobgauUPfY5Exu67ZzaFJgCvHfaVJxMxaFencePQN5m/wYeYjXhH7SihQh IibQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756707164; x=1757311964; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DmXy5ybFdCA4kdt6JbWaWujSYRHDeDjbcsjL0sLonTs=; b=ZAzYi8pdj7XPqnyyMdktAgV6CQosIeOYfky2XbylHdYxGk7tLQFvAD8DbJxny/O3+F 9wQ1Z25auVfjoo3PCf8ngWK4axxGaVNLj7wGUVKuJEiFiyYiV4Esaib56S6yKHh8JDwO lF52vPcC4ukSCPA28CxSwsAnLctPpU8kA3rkdoxW41+rUKvpBc7I+C6U8T++dFhTmtf1 x6RclgIaeUXwCCIiZvr9JkbmNy6fAMGC53x9uYV0jzrKGzT/9H707hAQcx1zxwPV9Kfx nWzWkPU4LPRZ7QVjpxJLUQqVYizkZdr/MtIGyCQyVVQPEAItzIo8xbCCoZEonNrFCsmQ lXlw== X-Forwarded-Encrypted: i=1; AJvYcCUqjByrOUtJjAnCjVLlnIrWhvrvttMnHX7nk6lusdGYu+/PHCoJs9jXTeS/Rdnqfz1LU3ghgdeawj+1w2E=@vger.kernel.org X-Gm-Message-State: AOJu0YxYPYJPnOowdOTCpi0RDuJbOvMwQ+pM0oD8gHD5Q3Xfi68ypIGK 3bTrH5+704S0u64//s1xwfegoxNvAfNauijjJ7PsQG/H1e1XsuBh4Yhjr9NQT4/CZIU= X-Gm-Gg: ASbGncsV5r7DqRFxvnCPiTIUeG/fpcDkvcA5cP/lR4ximfpZVhs5FKuyKUOA7hSG+qs NhsgzMCV42E/DrwPHKKiP7o/nmDWTqpRrrwn5Ns69mEJ5RtPabn/z1599znwPMi4SymnreQEaoT qMbEFDyaWZsRYuGoJgkB8gkOeDTTZPxn26XZiQQn9wDp6QUwbXnlbk+Ox5lupihrEPd4Fr4Vj/q XP/b7MtENqC2xGMzcqGOZ5sEV3Gidqh4N3voip/qRhk2LXOAUuutTvOJM3CIAIJ7RJbl+JDPRAG 7IJLZkZK1pppiAplFCj2fuwU7vXWflbSqOToaetLomrlZFgVUGTCU+1O/CddLiQweGDXD5lzgms pAbuSpNbPtqqspxaPakY31Sm1gcCbtC+qFraRZ9Gkn3H/hWIXBqXjrvz0sUGXQNRRFvKCir5TGF KR/T2vJ5x2bwn0/dZhn9zUa1UKgq/AnDG0 X-Google-Smtp-Source: AGHT+IGOvhlVbeL/X0mM8+8s766YaG9R11kD+4bMjAZdhRbl7MXM+beHrb1Q0MXfkACExbQP++Cszw== X-Received: by 2002:a05:6402:84c:b0:61d:1327:9f7f with SMTP id 4fb4d7f45d1cf-61d26869fc8mr7090613a12.7.1756707164202; Sun, 31 Aug 2025 23:12:44 -0700 (PDT) Received: from raven.intern.cm-ag (p200300dc6f1d0f00023064fffe740809.dip0.t-ipconnect.de. [2003:dc:6f1d:f00:230:64ff:fe74:809]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-61cfc231561sm6374533a12.23.2025.08.31.23.12.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 23:12:43 -0700 (PDT) From: Max Kellermann To: akpm@linux-foundation.org, david@redhat.com, axelrasmussen@google.com, yuanchu@google.com, willy@infradead.org, hughd@google.com, mhocko@suse.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, vishal.moola@gmail.com Cc: Max Kellermann Subject: [PATCH v3 12/12] mm/highmem: add `const` to lots of pointer parameters Date: Mon, 1 Sep 2025 08:12:23 +0200 Message-ID: <20250901061223.2939097-13-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250901061223.2939097-1-max.kellermann@ionos.com> References: <20250901061223.2939097-1-max.kellermann@ionos.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" For improved const-correctness. Signed-off-by: Max Kellermann --- arch/arm/include/asm/highmem.h | 6 ++--- arch/xtensa/include/asm/highmem.h | 2 +- include/linux/highmem-internal.h | 38 +++++++++++++++++-------------- include/linux/highmem.h | 8 +++---- mm/highmem.c | 10 ++++---- 5 files changed, 34 insertions(+), 30 deletions(-) diff --git a/arch/arm/include/asm/highmem.h b/arch/arm/include/asm/highmem.h index b4b66220952d..023be74298f3 100644 --- a/arch/arm/include/asm/highmem.h +++ b/arch/arm/include/asm/highmem.h @@ -46,9 +46,9 @@ extern pte_t *pkmap_page_table; #endif =20 #ifdef ARCH_NEEDS_KMAP_HIGH_GET -extern void *kmap_high_get(struct page *page); +extern void *kmap_high_get(const struct page *page); =20 -static inline void *arch_kmap_local_high_get(struct page *page) +static inline void *arch_kmap_local_high_get(const struct page *page) { if (IS_ENABLED(CONFIG_DEBUG_HIGHMEM) && !cache_is_vivt()) return NULL; @@ -57,7 +57,7 @@ static inline void *arch_kmap_local_high_get(struct page = *page) #define arch_kmap_local_high_get arch_kmap_local_high_get =20 #else /* ARCH_NEEDS_KMAP_HIGH_GET */ -static inline void *kmap_high_get(struct page *page) +static inline void *kmap_high_get(const struct page *const page) { return NULL; } diff --git a/arch/xtensa/include/asm/highmem.h b/arch/xtensa/include/asm/hi= ghmem.h index 34b8b620e7f1..473b622b863b 100644 --- a/arch/xtensa/include/asm/highmem.h +++ b/arch/xtensa/include/asm/highmem.h @@ -29,7 +29,7 @@ =20 #if DCACHE_WAY_SIZE > PAGE_SIZE #define get_pkmap_color get_pkmap_color -static inline int get_pkmap_color(struct page *page) +static inline int get_pkmap_color(const struct page *const page) { return DCACHE_ALIAS(page_to_phys(page)); } diff --git a/include/linux/highmem-internal.h b/include/linux/highmem-inter= nal.h index 36053c3d6d64..ca2ba47c14e0 100644 --- a/include/linux/highmem-internal.h +++ b/include/linux/highmem-internal.h @@ -7,7 +7,7 @@ */ #ifdef CONFIG_KMAP_LOCAL void *__kmap_local_pfn_prot(unsigned long pfn, pgprot_t prot); -void *__kmap_local_page_prot(struct page *page, pgprot_t prot); +void *__kmap_local_page_prot(const struct page *page, pgprot_t prot); void kunmap_local_indexed(const void *vaddr); void kmap_local_fork(struct task_struct *tsk); void __kmap_local_sched_out(void); @@ -33,7 +33,7 @@ static inline void kmap_flush_tlb(unsigned long addr) { } #endif =20 void *kmap_high(struct page *page); -void kunmap_high(struct page *page); +void kunmap_high(const struct page *page); void __kmap_flush_unused(void); struct page *__kmap_to_page(void *addr); =20 @@ -50,7 +50,7 @@ static inline void *kmap(struct page *page) return addr; } =20 -static inline void kunmap(struct page *page) +static inline void kunmap(const struct page *const page) { might_sleep(); if (!PageHighMem(page)) @@ -68,12 +68,12 @@ static inline void kmap_flush_unused(void) __kmap_flush_unused(); } =20 -static inline void *kmap_local_page(struct page *page) +static inline void *kmap_local_page(const struct page *const page) { return __kmap_local_page_prot(page, kmap_prot); } =20 -static inline void *kmap_local_page_try_from_panic(struct page *page) +static inline void *kmap_local_page_try_from_panic(const struct page *cons= t page) { if (!PageHighMem(page)) return page_address(page); @@ -81,13 +81,15 @@ static inline void *kmap_local_page_try_from_panic(stru= ct page *page) return NULL; } =20 -static inline void *kmap_local_folio(struct folio *folio, size_t offset) +static inline void *kmap_local_folio(const struct folio *const folio, + const size_t offset) { - struct page *page =3D folio_page(folio, offset / PAGE_SIZE); + const struct page *page =3D folio_page(folio, offset / PAGE_SIZE); return __kmap_local_page_prot(page, kmap_prot) + offset % PAGE_SIZE; } =20 -static inline void *kmap_local_page_prot(struct page *page, pgprot_t prot) +static inline void *kmap_local_page_prot(const struct page *const page, + const pgprot_t prot) { return __kmap_local_page_prot(page, prot); } @@ -102,7 +104,7 @@ static inline void __kunmap_local(const void *vaddr) kunmap_local_indexed(vaddr); } =20 -static inline void *kmap_atomic_prot(struct page *page, pgprot_t prot) +static inline void *kmap_atomic_prot(const struct page *const page, const = pgprot_t prot) { if (IS_ENABLED(CONFIG_PREEMPT_RT)) migrate_disable(); @@ -113,7 +115,7 @@ static inline void *kmap_atomic_prot(struct page *page,= pgprot_t prot) return __kmap_local_page_prot(page, prot); } =20 -static inline void *kmap_atomic(struct page *page) +static inline void *kmap_atomic(const struct page *const page) { return kmap_atomic_prot(page, kmap_prot); } @@ -173,17 +175,17 @@ static inline void *kmap(struct page *page) return page_address(page); } =20 -static inline void kunmap_high(struct page *page) { } +static inline void kunmap_high(const struct page *const page) { } static inline void kmap_flush_unused(void) { } =20 -static inline void kunmap(struct page *page) +static inline void kunmap(const struct page *const page) { #ifdef ARCH_HAS_FLUSH_ON_KUNMAP kunmap_flush_on_unmap(page_address(page)); #endif } =20 -static inline void *kmap_local_page(struct page *page) +static inline void *kmap_local_page(const struct page *const page) { return page_address(page); } @@ -193,12 +195,14 @@ static inline void *kmap_local_page_try_from_panic(st= ruct page *page) return page_address(page); } =20 -static inline void *kmap_local_folio(struct folio *folio, size_t offset) +static inline void *kmap_local_folio(const struct folio *const folio, + const size_t offset) { return folio_address(folio) + offset; } =20 -static inline void *kmap_local_page_prot(struct page *page, pgprot_t prot) +static inline void *kmap_local_page_prot(const struct page *const page, + const pgprot_t prot) { return kmap_local_page(page); } @@ -215,7 +219,7 @@ static inline void __kunmap_local(const void *addr) #endif } =20 -static inline void *kmap_atomic(struct page *page) +static inline void *kmap_atomic(const struct page *const page) { if (IS_ENABLED(CONFIG_PREEMPT_RT)) migrate_disable(); @@ -225,7 +229,7 @@ static inline void *kmap_atomic(struct page *page) return page_address(page); } =20 -static inline void *kmap_atomic_prot(struct page *page, pgprot_t prot) +static inline void *kmap_atomic_prot(const struct page *const page, const = pgprot_t prot) { return kmap_atomic(page); } diff --git a/include/linux/highmem.h b/include/linux/highmem.h index 6234f316468c..105cc4c00cc3 100644 --- a/include/linux/highmem.h +++ b/include/linux/highmem.h @@ -43,7 +43,7 @@ static inline void *kmap(struct page *page); * Counterpart to kmap(). A NOOP for CONFIG_HIGHMEM=3Dn and for mappings of * pages in the low memory area. */ -static inline void kunmap(struct page *page); +static inline void kunmap(const struct page *page); =20 /** * kmap_to_page - Get the page for a kmap'ed address @@ -93,7 +93,7 @@ static inline void kmap_flush_unused(void); * disabling migration in order to keep the virtual address stable across * preemption. No caller of kmap_local_page() can rely on this side effect. */ -static inline void *kmap_local_page(struct page *page); +static inline void *kmap_local_page(const struct page *page); =20 /** * kmap_local_folio - Map a page in this folio for temporary usage @@ -129,7 +129,7 @@ static inline void *kmap_local_page(struct page *page); * Context: Can be invoked from any context. * Return: The virtual address of @offset. */ -static inline void *kmap_local_folio(struct folio *folio, size_t offset); +static inline void *kmap_local_folio(const struct folio *folio, size_t off= set); =20 /** * kmap_atomic - Atomically map a page for temporary usage - Deprecated! @@ -176,7 +176,7 @@ static inline void *kmap_local_folio(struct folio *foli= o, size_t offset); * kunmap_atomic(vaddr2); * kunmap_atomic(vaddr1); */ -static inline void *kmap_atomic(struct page *page); +static inline void *kmap_atomic(const struct page *page); =20 /* Highmem related interfaces for management code */ static inline unsigned long nr_free_highpages(void); diff --git a/mm/highmem.c b/mm/highmem.c index ef3189b36cad..93fa505fcb98 100644 --- a/mm/highmem.c +++ b/mm/highmem.c @@ -61,7 +61,7 @@ static inline int kmap_local_calc_idx(int idx) /* * Determine color of virtual address where the page should be mapped. */ -static inline unsigned int get_pkmap_color(struct page *page) +static inline unsigned int get_pkmap_color(const struct page *const page) { return 0; } @@ -334,7 +334,7 @@ EXPORT_SYMBOL(kmap_high); * * This can be called from any context. */ -void *kmap_high_get(struct page *page) +void *kmap_high_get(const struct page *const page) { unsigned long vaddr, flags; =20 @@ -356,7 +356,7 @@ void *kmap_high_get(struct page *page) * If ARCH_NEEDS_KMAP_HIGH_GET is not defined then this may be called * only from user context. */ -void kunmap_high(struct page *page) +void kunmap_high(const struct page *const page) { unsigned long vaddr; unsigned long nr; @@ -508,7 +508,7 @@ static inline void kmap_local_idx_pop(void) #endif =20 #ifndef arch_kmap_local_high_get -static inline void *arch_kmap_local_high_get(struct page *page) +static inline void *arch_kmap_local_high_get(const struct page *const page) { return NULL; } @@ -572,7 +572,7 @@ void *__kmap_local_pfn_prot(unsigned long pfn, pgprot_t= prot) } EXPORT_SYMBOL_GPL(__kmap_local_pfn_prot); =20 -void *__kmap_local_page_prot(struct page *page, pgprot_t prot) +void *__kmap_local_page_prot(const struct page *const page, const pgprot_t= prot) { void *kmap; =20 --=20 2.47.2