From nobody Fri Oct 3 13:27:17 2025 Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.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 73663219E8C for ; Sun, 31 Aug 2025 09:39:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633180; cv=none; b=ggyEfJrexmznEW45ZIbx52IM7opisnzL6CaV179NdaSeFfG9npySdpVQU2rzvdseNOXU9JsIfFsPuSclSmyFX2jB2+4E1oMJD6vBWAIq+yc6gzAYRw3QGO22LRAv2LoC6LXAw+mCBC8WrxDiWp702DhVPCtx7RCwoRLPnk8RtfQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633180; c=relaxed/simple; bh=JD+RzaExQ6OG9EIN0zTya2+8ASA7RgRp6zJS9nX4PAw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZPUGx2sXLS1tQe2BIs66lTvDcc/IhM6a6/wLf+8NWLejrxmUJqMafnrtm6tUYfTFLjweWkqita+sYnW2CRvYW2PWGd02hG9sgjfMwaCPbIdHWhf7HyIylmoBv1TxJ+aCNILM9cMm6py+j0jF8sgHDF8irH2Q70BYZr05WP/j+nw= 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=YtAFVxvl; arc=none smtp.client-ip=209.85.218.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="YtAFVxvl" Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-b0428b537e5so5128066b.3 for ; Sun, 31 Aug 2025 02:39:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756633177; x=1757237977; 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=yZGxnQhsC2P8euySzPswvqJrcJH4ogAsIfO9DHwigow=; b=YtAFVxvlDNxxxdhA3P9Po5SL6/ooINWn8u6ZhbH8iftLjRIPgg/JcQxjotLQqWpz16 hHAHp8nNkiU7EBXN0sMPekjZ0Guwud8rCDhMfdW1L73Oyzu2mRqbSPlbKN7IzsgkBtua OLvKNFdbAWLujLis2Hk5mQsrs3uVo/9xi4eYEI6oEJVSoPtcWa+CXQmbs2xQTfu4u1g2 mttR3lYTqFfP8EMQFzgTrHK1P/+9H5pSZ74P2E1xOqpqikRR+17rio5Qj2ikHm3kqblo ZL7ASMxDUMifNhi61+fWTlnSPXK0DcXG0sF3mpOorftZ8PNZNafGm10REu+GQHzIblfj wzMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756633177; x=1757237977; 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=yZGxnQhsC2P8euySzPswvqJrcJH4ogAsIfO9DHwigow=; b=pMpxb0wNhcmtqE685D60opSSNsv+Mu7pkuDxsSUqleMddhs1jRlYIXVfCpic/f2nNj C+WCW/7aaMSfu6q2HVIDO0OS/gmF3RqVy0EewKykkuCZvduTjMZBolDK+jFYDvuIT9My Leu68C9HnHFv+VLLRlny+KRpknnCtVKFJ93m3j6SloQeNz35fH+zFSBkFXIhVIvuBTm7 UAj4FQXVwmPnFNgpjHlNQAPsDEn5SljXRGOx54dGa1bdmPSi9bFHBUZ1/I3nzOr4koa4 jj2M/yKnrW4pIVpoxoNpG/Xq+bXLuptPSZhk7Vx21UV/f5oDMf7kOLr9IJv65NIfURwD KPjg== X-Forwarded-Encrypted: i=1; AJvYcCUCgJzgxanG6ZBZ9fNzVueo+hamyVBYZVqGhntFZWxY998k1HlrR/NrQTDm3hoof1l8qN4Hh4SFVuqoito=@vger.kernel.org X-Gm-Message-State: AOJu0YxuWRmo+ZY792g5Kj2o2rXRzupnqYOf90O2Ksa7aCPRLX4Kn+Qy mUOdfnNsHbzss5TLFlk4JJJWeEPxXHMNRk3pYfkBxKFT37YyfIj4oHeRW3ZgF3F/jss= X-Gm-Gg: ASbGncv3q3DG6SzMC/CQscc79kjeej+o9d48PdSdwyafcwf2soY8JE9Ta/zSvlW0EmN 452oUVHjbqSGLJ3Bmu8SrpqTwQfKgMiQRy22urwbfoc01qz7UqCGy6AwTDURzIlBv+fKJw9A2HG 6o+Kr+D07k9XNhu3n32icb3KCyf5FG5+l8I2ewdl2lY/pWsHCsmY5z6saEBvrPKjKZV+iabke0o 8Sl0Egnh98nl1DtQe+zO97x+VkmGy4xD6heodIZgWtT7Yp5szSmkAF/jRc+UUEBcHBQKtWMOHHP FF7eT1V40Xw6az2nFfZDitrpslYl77jpY2simVMs5LPVeCb17P5Wtps+IZhiiLhi0Xz/wHnKy/3 XHZbQoXg+GiXU3LtsDCdWWzSWBQy8dqvaFr6ZD+pzshKMGRSsOo2Wbrl+KbX1qoCvPk+7487PgQ 0gTOQKA41uhGOot/83Ih2+3rxO92/OQU5G X-Google-Smtp-Source: AGHT+IHsLsYix0uo6uMedopX+OAnJsP45C6YTimEtUIUmbOP23yVgqxQq1YfVopQwWMRzI83RCvrdg== X-Received: by 2002:a17:907:80c:b0:af9:a5f8:2f0c with SMTP id a640c23a62f3a-b01d8c9275bmr395699766b.28.1756633176716; Sun, 31 Aug 2025 02:39: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 a640c23a62f3a-afefcbd8656sm597512566b.56.2025.08.31.02.39.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 02:39: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 v2 01/12] mm/shmem: add `const` to lots of pointer parameters Date: Sun, 31 Aug 2025 11:39:07 +0200 Message-ID: <20250831093918.2815332-2-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250831093918.2815332-1-max.kellermann@ionos.com> References: <20250831093918.2815332-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.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 00c8a54127d3..a40a3c42c904 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 13cc51df3893..2f765bbc20bc 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 13:27:17 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 8235521B9C1 for ; Sun, 31 Aug 2025 09:39:39 +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=1756633181; cv=none; b=elThkWPWUbH1xYLrBSFr8HkwJ4m5gyX52l+pJWTU+EZ2xOIsTtvYALNDIjVe1tRRbVmeJZc0nHX4EkSuexwZjIFK2kOoKv7VZojvgHjRKUmxXRs2EGHxQFeDIxDMpN76ddxCgTLDF+060f1Q/Z/P+bice91QrejCj/JqbCUZwL8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633181; c=relaxed/simple; bh=e8jN8iSCUrThrccW1BHJJcYct0sngJONN8P17gEsOTE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qJuEq/pIOymZwx1DSZ+NAPbtLaq2G3LauRxrcMOJHciphnVi2DGPjY0+r3mEVDPu3dYlqFbn4daH8sqgMGFuf2n0s1rP4qC26teR3ZPRpC2ZkEJ7rV1W//6CMMAtTjAChf0xITEJRDOStpxR4x1PMK5iqoEbWF4PiHG4aeAF2Gw= 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=aZjMj7uY; 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="aZjMj7uY" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-afee6037847so520752266b.1 for ; Sun, 31 Aug 2025 02:39:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756633178; x=1757237978; 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=fS4wJfZ2pDhZvPbiW+R+SY5FbZtgMq1SfXnP2mUytfo=; b=aZjMj7uYK4i5eIeDVOc6wxLYcaZiSGRUgcdsZPFIx6BZyAkyzBpBsnCgWH2rf+cL44 IWhpsHBDOWofCnqNaF07B9fyrEOjI3gXHoULl1PWfw9UvA6HALIZnC9fBJljiaWU7PGZ sKR1Laat5grkqv3Fv7R41EZL42NjPnUFN3eI1S5tw2zI04Tf2igifBhZnXBXCtdBYq8c +G8jqjHbb55ePJgkIvoQPjnzzmV6yCacAY3AG97r5YiSBigJdttqcpjV/olbXZ+dbWk0 CMGEQteTmO4+8RcjvGOFPy+oRKYSFcEJlmxVIUt2fW8tqUbfOim26OIxrfGHBit4b2rJ JFFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756633178; x=1757237978; 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=fS4wJfZ2pDhZvPbiW+R+SY5FbZtgMq1SfXnP2mUytfo=; b=c0eM9LZAbcfX6q/AMXcsG/Q9IkpchzPdmcYcpvr0T1c9M1ttKbZFPfItsMjnCbVF10 8zAityAmrcf+2SC5GROXLu66DfQ9Rq7PBZ9ctGm2v8xkypstCDpEd7dkxpvEvJddCtxk RhpnTO1VMuhGv1Qg9BDoUdpPIVPqX+phsXHsK6ttOdn3al4YJshvGe1Pd+oUFFX8wh8N 1OQ8DQM8gXNFS/+TFOmEdfEf6+Ym+Yzfa277vWk+ExCaP3o/3K8FBNY8/HJ2b3MdxW7h kdQDesvVxdQmfI7xIsZuo3iRcEcEeh3Iw67PvcYK6hFzV6jb6N+TGP9Y5K2Y0CST8/hc ZYIA== X-Forwarded-Encrypted: i=1; AJvYcCVtp3I9VB9fHLe3yrGPi1V+T+b3SdFf7qN40vl2FASr3YIMQpf6f6fI2E/uSE6lF0Mai8WyMQSv3/GU+k8=@vger.kernel.org X-Gm-Message-State: AOJu0YyArZbWJkzVCIUglLl0vTszfMtjoqXkbiM3kYzGNiHDCA/plbl7 kjrbSAyJb1107xQ1MlrJWf93G3v27oglvYUU+oURSWykz/gxgYthgE05PCA4zFyXbWI= X-Gm-Gg: ASbGncvOPZtFUUtC6Igt3h2oAAZwR/e5X8yn/bwiDBh8ws6NwdwO7YmLDMpWrskvdyz svzM2Sb4FQeGMmeccprLb3+6AT5bpKdhxmyNVc6cFEH/DuUzvgYqQ6/0SccLCL6NtlCZPqUFlsB hNoDHJBpL3AWljBNNN27Emx5fAXYJ0dCISi4yYrlKvblrjU4k6wZqZCiKIIam7GGT51273JEpaj ymYvOoxuQGvWbTMpPN2z9CaHAhUiB0n0GX0LshYi3VW/Ye7SvLSPS6LeaSVQTa7XoE7laXoU40/ RCt23xmLa3006hVvq+sNf7UNlJy8smJk0ZwsdEFtks9yz81NMq2/U6+VpiGaz6kysMkR3om60qp rNuB9csa6poHykVwSw6/man8UhM+mKVwTepPiBgyBACf+UTtQNssCMQ7q/IhWuCVbjkqpiJkANJ vKIBnsllIjxPatOgPSwISLQA== X-Google-Smtp-Source: AGHT+IFl6wqzfG0vHDTUkL/FnbDFFEhWrqTy9LAAxJMUtnBrhQMoPbd3VxGPn58hYgmzlZMy0V4cTg== X-Received: by 2002:a17:907:3f9e:b0:b04:299d:53ab with SMTP id a640c23a62f3a-b04299d590cmr3529566b.37.1756633177663; Sun, 31 Aug 2025 02:39: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 a640c23a62f3a-afefcbd8656sm597512566b.56.2025.08.31.02.39.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 02:39: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 v2 02/12] include/pagemap.h: add `const` to lots of pointer parameters Date: Sun, 31 Aug 2025 11:39:08 +0200 Message-ID: <20250831093918.2815332-3-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250831093918.2815332-1-max.kellermann@ionos.com> References: <20250831093918.2815332-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 c9ba69e02e3e..d1244e7dcf0e 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 @@ -265,7 +265,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); } @@ -275,7 +275,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); } @@ -285,7 +285,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); } @@ -331,7 +331,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); } @@ -341,18 +341,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; @@ -475,13 +475,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; } @@ -495,7 +495,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)); @@ -505,7 +505,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, @@ -520,7 +520,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); @@ -934,7 +934,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); } @@ -963,7 +963,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); @@ -1040,13 +1040,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; @@ -1466,7 +1466,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; } @@ -1475,7 +1475,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; } @@ -1484,7 +1484,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; } @@ -1493,7 +1493,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; } @@ -1502,12 +1502,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; @@ -1521,8 +1521,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; @@ -1553,7 +1553,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 13:27:17 2025 Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) (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 88A5C1D63E6 for ; Sun, 31 Aug 2025 09:39:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633182; cv=none; b=m+gE0dCCFKtAk7VsKF7JR0r3uU6MlozmuQHYzZIAMlE/XNW8So2AEgcQN8i5JCAKgvELoK15VWB8mGuQIFPXYleoi/yGsjqwBKsu/7utSYlHm3dRN+nOssiXN+RZO4Yr5fN8/qWofAHopHF8sKk+xj4J9bMbO6mO0LhIXmukOJ4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633182; c=relaxed/simple; bh=/Nm5XGhdzQkNpKwR7Ib3TKLhoGMiX2JymV2ELO5tYH4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nGQxSsVSNrokQMqN2Qj55TSndQNRAn2kRXyHPZ7egHD4zzObf+bai21ZHPYyKk8PTwAahX8teEXrfu1+GdMfHW1ijTVaYk0g0YYvLoSOvjeoaDubdGGPr/4Mql+bsu/RdOBfLYtCuTuT2DsgUI6KI70YeFl6XYjCzhkDEECa8kM= 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=RTVpPv6J; arc=none smtp.client-ip=209.85.218.43 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="RTVpPv6J" Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-afcb7a8dd3dso480769866b.3 for ; Sun, 31 Aug 2025 02:39:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756633179; x=1757237979; 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=agcUJTbetPLLC7T8VbmvLYEfBB6utcDRFF105PwkvnA=; b=RTVpPv6J/GXAFNjxWTXhYdfVw+SnRjQt0TZ6qoHbKRjLUrNU6i5bsj6td9FjU1+/Wp CcMZtviFpdPJFxyGIV96g4331+S2ZwqTo/EgXo5k28IMfxfqApD6rR+0NJLf/P2FZ8Ut Ilx2jX873YYFMHuu4EWDekqDW9VB59A7ZcuyK0nQ63AKzxqQOIHY1ofjhZEAecbmtJV+ 484npgBX/u1Llf1vwXck7rRZbM0DO7hn/6acR/TwfM7N0+vW3MV0XZud8V7MJl4MZKLV RNSYbL/2n+TezZ0FPnL003ZK4vDIcFkAp2SzWjI4zgJ8QHzR6xNrFjobxojPcBusB+1x u40A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756633179; x=1757237979; 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=agcUJTbetPLLC7T8VbmvLYEfBB6utcDRFF105PwkvnA=; b=dov0FroMm22c1qjW/Uyfw8ExoUnmBcPeVDK1bY5tBGfsWis7uaJOR0XQlalu2dd3Uz T0eC78A6LjzLMdNTNxd6O+1iqGnxnJF5eSTTvBc5YF4A7ZPURHAUoxWpSQM6EyRZiop+ QkRLdrANTRm23B5i5EbTKwM7JqxGcLKrF8QkUyohE2vS9Hy7cqEvsNjAR1+3+gec/yoz qxD2yrJiL5ez/3KH86VMYPK0b7xMzk4x2V3t+dBUWkKdFe8+k3XgdWg2r4a0cYOxH8gf sMhFBwZOhykqtGjz/Ur6kqNouw1m2vlJPZxF4cKxhQPE6ivGCL3fsq9H8UU3bPMaE3eU snSw== X-Forwarded-Encrypted: i=1; AJvYcCVDNdv0LBFYtcW83QPFwLYv4oOTgx0+kQ+cpq7e3N5IQRbLjf/rHzf4uWyf0wUwEdBFdgo6lMzSayOqtiU=@vger.kernel.org X-Gm-Message-State: AOJu0YxFtQhv/gSYHJHHFdZPfxsNbmafSPuVG9NrHMnisWTOYq09Ssur 8C6HPdiMhbWdr93cqSi3fahpdM8vqmlvBn0O/HdfmuEZRAAvHIAvmV7bvk7h/MEFccISWfwNmAR mcbbi X-Gm-Gg: ASbGnctZpeVUvLd3NlLOdUzb4LAQqSofBTZ2vJ5WzAT5c0WWxLnGABWIX6Ij0TMcZWz bY4X2oeMQnzF7ivUd8iMQF1Y4bInzWk0FOzT4dStXJERQ1qIphWvKNfzbHCWHSeahWqhpdGz9HZ Lk4Xsq1K10DYOlQdyNaogKTf4j6p+BznOj5mvgZ0Ze2/6En57hq+M9lTlGHUe+EfkQYdQlLv7PW MSvXdVFGQU1W/K6Vm/KOeLg98cNapoHYBkFB6AHr2jmMDFvb5hbKh+MrQrzs2WYDZtk0UbSgupk HIpLzYk1eZGgJSdy4x8OvmYQgDEIF55LmmV0NXz27V+b+yWRM/EGEKOdEvyuNpeW7OEjQ2Xt9bv AO2+klGNQ2UL/sOX+LVL+ANY4c95KOFKxFdXJDRlLUGXUXTinU3s0PvAggjLmCiV5o2Gd5mOgGY HccuIzBbPjI2ZZ8MA9k+3aEzcX/W22rh70 X-Google-Smtp-Source: AGHT+IGOcaYq6pdvf8qss0FJ69VWFSUVu6c1gqKvRxFyz1rOmWyTevdbJuT1tri9g/lRb4gUoiv96w== X-Received: by 2002:a17:907:3d0c:b0:afe:c099:aea8 with SMTP id a640c23a62f3a-b01d8a266abmr378742166b.9.1756633178673; Sun, 31 Aug 2025 02:39: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 a640c23a62f3a-afefcbd8656sm597512566b.56.2025.08.31.02.39.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 02:39: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 v2 03/12] include/mmzone.h: add `const` to lots of pointer parameters Date: Sun, 31 Aug 2025 11:39:09 +0200 Message-ID: <20250831093918.2815332-4-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250831093918.2815332-1-max.kellermann@ionos.com> References: <20250831093918.2815332-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 fe13ad175fed..7228f3231f37 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -1103,7 +1103,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); } @@ -1127,12 +1127,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; } @@ -1272,7 +1272,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)) @@ -1580,12 +1580,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; } @@ -1597,19 +1597,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; } @@ -1619,7 +1619,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; } @@ -1646,7 +1646,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)); } @@ -1712,12 +1712,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); } @@ -2020,7 +2020,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)); } @@ -2030,12 +2030,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)); } @@ -2045,27 +2045,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)); @@ -2075,7 +2075,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 13:27:17 2025 Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) (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 5223525394A for ; Sun, 31 Aug 2025 09:39:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633183; cv=none; b=c123yEbSTcXvzmpEIEPVrKQH1hkjIv0UhVrcOOb2y3I7tMwMmONC5tzm+YoGQOhQiGHaZ+8W/NSfCPe1VDRqww2StT0CN9nYVFMuAEY4Xp2E27oRrz6r+5riZ2AtytKMk0/eUGdy47WM4fHCCHCkBNUUSeGryKZNApbesRTNBck= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633183; c=relaxed/simple; bh=oJIpLLq8mn4y7wdscckPv1cTmoMWyeuhyGuMWqlHISg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fyb9grdB1/v+tqPbBX+Qyzl1qFmd166Vb60ATiprLedoxd1wjrEsPPJsRkXZwQDnZwPwd46VkbgaNTxfE6kcAj6PRQ+LweHB0ASAgtmTuQDya+DodNYkgZJ27z3FoEFZ5zoB7QDlaE9+0j6MpRyIgbTCyBEzUuaNVg7TpT94ltw= 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=Lw1p0RtE; arc=none smtp.client-ip=209.85.218.43 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="Lw1p0RtE" Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-afcb6856dfbso616337566b.1 for ; Sun, 31 Aug 2025 02:39:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756633179; x=1757237979; 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=Lw1p0RtEs/r6JO6OwF9D5b9438IJu/MKtwa2L4/NJlTUVcanNYLjUWQ9ANhfZg99L+ HifI2sYFcJEh1/Us9/qUwFqAMUqVG/FV11KCM3tBDJpzwiykOqMZZC0YNkMrRJu8qll6 y8QbcCKAibTBQCcOecJwGeAk5gcR7sbhUrRPuQWU4gllyQsmA8iQ3iL/p9m2wJe8Qsp4 xqqDDKRJUCch5cQp9vtUCV19WKsLrKXPqFr1wzwJ8qFr8CHlqGbvlFWpcSH9aQMvbeeu oIUDpL+Jnq/z6RfvSCAzqV42XdVEeCLingriAmrKK9k6E+wjr34w0L0R9NCXM+qFfEix xZxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756633179; x=1757237979; 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=cZ/QyVwC2y2KRBoC+cICE7JkagInoQvbdAn9gHPI5quZkPGuNg9hG5yUBbxBGEDZRQ ROxTMwJeo26mOkwR33hddhyd6Ja5/+O0902VEyIu7r+xtllOfUxq3Qkn6udXOcdpCMBL rn4+7aPdN4J00uAzMSa7SlHQauAMIUatNwdor39D0u48jFQzCh+iOmYdD6FKWy18kSLx 3s0KtZvaaGt6hQdN1nTYyjzMOm1pZuaIvx9ff1Abc4BTH5jznLo/yZAWH4DOkl4HRMUR RgIw85FjV3Ddgno6fVzFe2fo/vpEK4a5yA1Mwathz/OISHZZbh8NG+9pLWJBv95Dnq1S C6Eg== X-Forwarded-Encrypted: i=1; AJvYcCXhUp7aahzrdtiWbi/3MJYdYzPR0Zbl3K1DLGwBbPyM+Cxp0yK0Y79OqeO3lmXena5Ta+UTvSMX5Dv08jQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxVdq/4xiO/OxywK4ktmSC+XTreI/oFx9lKbquyEzJLFLIJkyNb STWUrTbalkccVNsaooNAvxY9ivc0qwB5ewdkP1yBBlyR5whTpb4s9z+S5hcPgFBVjrw= X-Gm-Gg: ASbGncus6lEnLjWDw+j3adhInk+n1Zz+xVVZ3G95l+V1d/xRYweGPCyB4mhihs9qvR8 rTLHFBRWSysTKrRbSDTFa39JNDBDpmcoXPBu/Y679tKo8lGRPG0NAmdBAs8sLQOVUwxcrY/Z2jB oXZFiK/TcBv3La7bqittTUyKJ2a9NWewZTVu949blsiJ04JXvXqFYwuW2i5SXz31EdICvwJry// aKKBCdRI3dWgtRuMijDcJzfwqsI6DzFKoqny3H0WMSPAq5ds6lm3z3ID4lSGBfVtqi3f9zAs3G8 1TnmSUBkZEfU/Tkcy0tLR+3KwfWE5IChhC2lTs76KiJO3u6sAGHqf26h+SoqNmg6px+TOpNUOXj qncW4mOVZolqy1o8f45lC2IEz+HwUCDMrJgYVEC60txupJ8Pe0o0qagTIbBQVB5pbuSkqW3m6oR D8TIxAD+Nv7mZmKG+gXSb6BZv39omJ4f5r X-Google-Smtp-Source: AGHT+IGWqt+KVEWKYlHvaHszGcGmjarqiU1Lz88YHviAJZBcg99riD3I5jJ1gwoVHFqFNrl1LVVPOw== X-Received: by 2002:a17:907:3f07:b0:afe:de1b:26cd with SMTP id a640c23a62f3a-b01d8a52c71mr478093666b.6.1756633179563; Sun, 31 Aug 2025 02:39:39 -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 a640c23a62f3a-afefcbd8656sm597512566b.56.2025.08.31.02.39.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 02:39: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 v2 04/12] include/fs.h: add `const` to several pointer parameters Date: Sun, 31 Aug 2025 11:39:10 +0200 Message-ID: <20250831093918.2815332-5-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250831093918.2815332-1-max.kellermann@ionos.com> References: <20250831093918.2815332-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 13:27:17 2025 Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) (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 2854425485F for ; Sun, 31 Aug 2025 09:39:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633184; cv=none; b=Jin/znNZUwySmJmEEKKp+62eAqyu34Oix9g9lKEaQhMKrcM2V/n52E9DuV6giLVOMw9FnvhrkkGJNRlHaygfXQkaEgh5PZgQLTHmZ6+2XDrXuMTKNpCB5TnmwqrA86Objvt7KrU+qBg4sg7kTGPKXWUCFUOScEuy2c/Ify5rijg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633184; c=relaxed/simple; bh=ejSn0quWJbA0KnwQ52zQ5YlORsFpksDHeWoc9CICxbQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=k9nLex+VKlwdY76L1VQk4du2ZKWd4krYYORo2leF4+GrK/sRSd55OW9BfDgrQj6DmMb+G0xWDImXeh2LpYzAxTohXyDBjYoOd2JfN9zI0SnoNnOdQ5rxW/3djvvi1kujgsGmXF5kWmKSEISOPseQmX5o6GbAG00PujMYS5px0y0= 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=A/muhf4e; arc=none smtp.client-ip=209.85.218.50 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="A/muhf4e" Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-afcb72d5409so608147666b.0 for ; Sun, 31 Aug 2025 02:39:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756633180; x=1757237980; 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=dI2up82+VzPNoEGOK0KS5pECnWl2zWb60qbdyWAfei0=; b=A/muhf4ej1CWlhwfo0sGG/UxBWpAZ1OsVDKasJLk2qxSU9vgHsE8P9QvH/UFYfA0PS Z9mimmS44UER5UWht3vTPfcOKxFWSn2jiTEdo+1rgOpBdy5tzY/ezuL5BVLlDnOQGCcH ssHpqdx47iW3QgZ3yNE0EkOcd0qEQq3P9HYHikOQScQwrfGnN1bS3JBjTIUIB77N0N5U 3y/YXjqE24taC7CBo+j24PO70Kelm6EvEHviTMMu29cBftLeWSQq6gATGDuxxzwaCCLP 0BpEGfUFSwGXgfdEy7+3eiSWbICj6ENkpUE2LhWs+zLR8FfnNs7qGyAb1ap24gzNj0V0 pXug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756633180; x=1757237980; 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=dI2up82+VzPNoEGOK0KS5pECnWl2zWb60qbdyWAfei0=; b=YoqfrD96U1hCMVbjfKpZaUYTfDOi1Cm2ELToyrT+v+2alqFyEi1WPV5OVHByAKIa0M PotvRkIDKh86SqD7I9V+UaXrEK8N6pAXg8mOxa5USfrSHLozLQ1YwCbe/rDmrktYDOAq jBsTWSh36YopTF8KxasHC3/0I5t5iIw0Mgrmd77cYnuFuKzw7efL+RHQCNgrdi3Z3aYs lvbN0lTZnoTtysluonZJid08O68omlovet4oBfx5cdgGKLCYUjZuxjxO5uCPwKJYHbye cEHpPL8whd9FKR3lTpf6gZ5ze5vvakaItdWEZHpzlyuAvcp8xxCy527n6M9KhXriGV0j /WKQ== X-Forwarded-Encrypted: i=1; AJvYcCWN2WWs4TduioQFfn22iT1kPATY77ng4U7muvJ1tuGzJzkZA9IHYshg6MhF/y8qmbBIhucLS+0L8a74SzI=@vger.kernel.org X-Gm-Message-State: AOJu0YzRWa20oM6YhV3N4fmtZXz0pTrDV6qlCEZOWxC+kTk8Hl+pkrT3 L1v2Rw29pmvzXfLIP/ywJ8x6wMXVUUI+pms2u1oc7JqFZa0IKa/HH/cCggB4GlcdhYs= X-Gm-Gg: ASbGncs/7QkQ1qlXCV1px9HRSr4cXgL8hmifEhknzBDnqPafvjFDSPazYlQgWNMbpeL DYIp14EjmptygTzsvg22zU/sw8zaAhvW+NsQIt3ILVG75T31MqyP96DMPhbV7jvb5KWXKrLh5O0 Z4oTVrPNG/MfQFwMLE+gZSMRLkavdQ1DNVxxM7qri24pg39zFXbxRJ3w3a0NCffDNHngP5Ri8kv E0JIiaYJZFLjK01XB3JjrSLcX/cUd2RCVo0/iK71rzQa7IZHmZeRaIGwgborojLb5w4uJntM6BI 7DNzjXlYIYSPapRpOv6H171IjmfyOPbwiJxteMyB7qmFO0tuxyfoPRvydCLkTuewu8G6uSZwAcw okhFO7Vysv8Kw4FBf46NDLuKOLFREeVYXpBVkM2yv/P3ViqDVzfAWZa7zdBrfsg4tEU+lBRMkNh +TZRl2Ux3h1HD3hKACANMTQg== X-Google-Smtp-Source: AGHT+IFglY590tDBZGAnHSO9yYGk6iJO/gJRHJ6p8/Jsd/CDqMqAkjlpLSX7631ptCWtGbwIvRvDjw== X-Received: by 2002:a17:907:1c91:b0:afe:c459:e663 with SMTP id a640c23a62f3a-b01d8c74aacmr415085966b.21.1756633180414; Sun, 31 Aug 2025 02:39: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 a640c23a62f3a-afefcbd8656sm597512566b.56.2025.08.31.02.39.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 02:39: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 v2 05/12] mm/oom_kill: add `const` to pointer parameter Date: Sun, 31 Aug 2025 11:39:11 +0200 Message-ID: <20250831093918.2815332-6-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250831093918.2815332-1-max.kellermann@ionos.com> References: <20250831093918.2815332-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 a40a3c42c904..1c18b89c2d28 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 13:27:17 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 078C9255F24 for ; Sun, 31 Aug 2025 09:39:42 +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=1756633185; cv=none; b=GcJlzG3DjaNFDYMzEVY5cM93XMFE1fE4SCWCK8wCbStSF+jThkcQiMqwisHlHf327OpAyaNWI6zjDBTc4xkqocq1tUatXy0on2rnh9JNXIPMCnB8ft2m71KvFruzFUWOZmHz2QFqO1fcuzJ4DaoWjogIo8JpU9aCZrAjf0nuB7Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633185; c=relaxed/simple; bh=Ff+sA8PUhDW+RJGEBz/hBfOU7ZH7xBSwtwdktQWV9Dc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jHqQoPx8IAocx61AvPgzU3kxaNp6oOE2Yuv52f81HsWaY1n5VAyEulmlJNsWjcd2tndmD5L03TDChmoUYhHRrI3oJ9VWOYsadVhPxVJXUxUD0ckrx0qKF5uOw5+4encyzOHucw5aSjWCNHmms9hhCJhvTNsGptzUVngKn1LOUxc= 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=F31n74PQ; 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="F31n74PQ" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-afede1b3d05so593921566b.2 for ; Sun, 31 Aug 2025 02:39:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756633181; x=1757237981; 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=CA7/Z0h4l3VUXRftUOxDU1DV2lHah2+SGvyysIvLq/0=; b=F31n74PQI/72TcnaSMJuG3C6qXRU59erQG7qCsHSfaWsAbmE7nh5YUBZKeUPWDlLzM X9QGh6Yd0dX2/mMI5+21f1LG4nK5F57aDArF80mFl5ONbDa1VIsVZxSWCydNDkIrpEKE NiEW/fC3ovj9yUoRzHoqQoodZYv/i+mm+usBpmL0S1PiydlYz1KyIHbYN9wcew8Menyn 74KkyFY9L0alQBM4iX2RqhACrgu94aZRPczWN5hobdwWwNO1e5i+KK38weVD6O6GNZBO eMy3X0L+AxZ30pNqX9tWNmmkrgtEozPlfOjL5tIOF2XqcdK8dvSWHhQpcXQwdZBTFpR1 nCRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756633181; x=1757237981; 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=CA7/Z0h4l3VUXRftUOxDU1DV2lHah2+SGvyysIvLq/0=; b=TDSMjEwYfy+HxgH/SEjKqRuoN3t5jCiRr0HhY4qIWvQyAShmT4oiXeRcroiEp9M1x9 TU3yEg9r04GcvMM21LMi5dXTA7PU9GBfEFsMgur8T4E3uUXrqu9xb9OWfMOlAQQo/dFP jOMcdwbDGFuHEkDTjPupT1rjpjsE92oDmP7TYWsQOwI8Ch/ZxIRp9DmC70UlM1Anehcr WhJXq1Tv1XwmvZo11ZBIyQ3cthUl+i6fupWpNDnJ9ws5qL/L5gsu9YBW00lb+3GJiCL8 38oL24/D7GV859CdxWhou39hpfVhXl0fagokkyXMlrWM9c/5DTyJoTTtFDphNmLRZy4r IwQQ== X-Forwarded-Encrypted: i=1; AJvYcCX/jybL0FSOFI2rAKS7MHryqlo06k87BHSyrU0Q6c8uNPJ59SvKvf7kZdikbcQi2kZI3Fy6VEyha3gbPDI=@vger.kernel.org X-Gm-Message-State: AOJu0YwWkSnk7P5EPI+FBV8EWSluSdlNC5ge+e6Lv0swD93908pfoSuI 4bKl8Dlr/mPeZeL3UlRUb2crzu/9kNhPfBCvq4Y6lJVIDgW9nv9uMHUma34ZkuIJdqM= X-Gm-Gg: ASbGncunyuFoAiNdqdG4UYet0rzxN/r7Fih9n3iOwocm4dNArrEPKOiqjDFByaWSXMp FosuujoyH+2+dqdD6KAyRK56wW7byHZ2L57e52PNLR6fLxU7iCn7bhnGoQ3x30cf0Mo+2Q+LAQI DVCJJL8mXFE3M7ovOtyhAr9IpJNt+wzOQJKWADGjtbtSTrn41SDA8EJOEnli1hxMcrzzowsyZHx REn1NO9LAwORts1QzgjuBvAIsyjdsxsxumM4nRo+iy6jRz4tMWJu0KiF5HlsgRyYdlYKR4fh6yk Gh62Ry8cBjTU2ykIfO7iEI0jwKcnGCxtbfoy89K3Aeof6b2XmQ4nSVT88LSHWHGdE51dFNO3auX ewSwgyFxG+6WMc/1j989Fl+0U7h4f4WhYmBfAYNO9Y87XK3BtLkwd5ZMnybEl+Rlcbp1HOH0Tpf zQ8yPzPypWu9Ogx1eyM1Q+MA== X-Google-Smtp-Source: AGHT+IF97ktlnWZNvlYV47UHXkNu5gmgjhCz45wCbFG7Qfw8zaP0gxXJmVUcuyEw2604qQrSFAsTAQ== X-Received: by 2002:a17:907:7f1c:b0:afe:87df:b94 with SMTP id a640c23a62f3a-b01d8a266cemr430994766b.6.1756633181339; Sun, 31 Aug 2025 02:39: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 a640c23a62f3a-afefcbd8656sm597512566b.56.2025.08.31.02.39.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 02:39: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 v2 06/12] mm/util: add `const` to several pointer parameters Date: Sun, 31 Aug 2025 11:39:12 +0200 Message-ID: <20250831093918.2815332-7-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250831093918.2815332-1-max.kellermann@ionos.com> References: <20250831093918.2815332-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 1c18b89c2d28..d12550ae9814 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 d1244e7dcf0e..37a05de82140 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h @@ -549,7 +549,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 13:27:17 2025 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.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 133CC2571B8 for ; Sun, 31 Aug 2025 09:39:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633186; cv=none; b=vC+GrXoq3cEF+gvFwH8TdNftDnndTvKzu1PwbE1CtpTFa2VUe3eTQ1nfUS9qnZIOYcc2Y7J6lrCOz1uVnupZjrgua3JXp0qWoY9tdPopOlfdAy+R2QnVsSOUumO7KtXrkTGm9hBdE84ElPTs/8rcyiEYhgMIZrmzpebO3/RTIlo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633186; c=relaxed/simple; bh=BfourEiQytOZURa51girR3hCEwPjkmcFXu9c4X2cuw0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IsecR0ZJc4LAB6VUeZajhV4o/tVISX0iG6boCEhtKs30GZFqjkNPBz3ZcSudgL5aU3zViwKqCpo59madlAYLEa6aL5ccg8I5B0IaQrtZCPLRjKMpjz2shiNhL75Enk6T6/Q/ZFisl9MYfU4BZi4ZI9eU9ohXaybu/nLjCX6Ovnc= 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=eaDFSude; arc=none smtp.client-ip=209.85.218.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="eaDFSude" Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-afcb731caaaso523556866b.0 for ; Sun, 31 Aug 2025 02:39:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756633182; x=1757237982; 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=eaDFSudeE5BZ6x9Wfa8m9/TWT5TO4qKrlz7QMJ849LVN/TzSNvIfZGoEKOKFnjq+Tp McZuerH6rUTqP0rVo2zTjfIsXyIe/1nCDtdAWOmwCUcLqGrN1v6MocyZJtQMN+2j1dKl ontpP8RCt4N5y71U/VmGSwEB9ARZGelKH9xTnQSH5QRnPtOhM7Vly8DcPAoRwJ68kGy9 BTRALVqKaTIFyA4aGZ+8iugIZEFAw7xUkn/kjdhBSSnESSGGbx9izB8/NRX0CR6YQjH+ 78sRBj7XxxS7ntscjzcif5IZX6vl6DnxyTyVjEHuSz4gJ6KNQWQ3TyeYDqJWDx67TE2n Zp2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756633182; x=1757237982; 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=aOJx9iRsbKUhGebtbVBIifzX3QTwMh/hYd2w7sL0BMVRwKckSwScEW3+92m4IFcDxH xvchSgwxNxART4jL4ECM/UsmSOGiHuHaPKL9K7D5laXliXiDc9x6dRrOQ2z1Zg9s/kAX g9WnPoXXzMZxPeH+CT7Ax+l2AY/7jbATD2i3wu+l5A6zYaL8RzMWLEugvlWcZql9DBom Kxrii2iGpVaERnFePM23//2t2ERMZNu13BJ4uk4hN2sp5BLLUMNsOd04wSAI6mNeAZkY vOKreZqTmYwyK7QgYTUi/MpqzGOJlgyIUQf7ATsmKx/Vzu9Qqid8OGbjceuNPrfXbpcP qCIw== X-Forwarded-Encrypted: i=1; AJvYcCVCPb0zjG0XF23P5Wz976KVmc2c+uWJMLQc8hRadHMJWuTnd5rZfTcP/ZKXbAlBNk1dMwgGgj5s2NOWqDs=@vger.kernel.org X-Gm-Message-State: AOJu0YzQl/OyGZ9z1reXvAjKP1pVGpK9cP19v7LiU2WIymNwk9Xx6KPv 0WS5uUJzGayXTmhQtohJHQ84Wk7i6+62WEFNWb/L1RPy9B9dXZNlwY41XF15rEWgEcs= X-Gm-Gg: ASbGnctR0aXUkejRzZR5Vlc4801lha0WgxRqNxjvBetqHX5sMYYm859nnSrxk82kTJ6 7yIA2LMtrymvukhBzQOXgcFU/hdMmzn73/We4D+SeAUWQ6oXmkF+BCM6OB1xbpsghlS5lP/AHPA Ecps+qXXqITq8AejWEgYVmuxWy9BNrhCFTX3oWWKHGkUf22BaaqV8jMhAtIhZDNrBg5OpgLE1jN Eu+3s2SWQIExQGF7Pjf0wr0AQJx2O5dBtpLRz95Kv2DN63BpkPnuQLRgSl84oBaLHpTcem6jhK8 MLRRzNcCDVZEApEa/fvYq6uWcSWVXK8IVzlYkPTkc1GZRh7je/QV8dJm29ddtQXYCBFY9qImFZJ e/F6Yif2o4l4Ul/wLYb8oVaWG60GfsFn1dAPLOn3dzuDlphZtOgdaGuA0NJR8ht9Q1h5tWCG25O oOHPBVzwLKvLr240WfFQnki2Hj25rIv26cmEaSfmpnFsU= X-Google-Smtp-Source: AGHT+IGKkYjGFHect88v3nBapIIglEjinBdFDzqUzlkxH0/8a2RUDjlFw52sTmajInsUVkVgdBglUA== X-Received: by 2002:a17:906:2692:b0:b04:1896:1236 with SMTP id a640c23a62f3a-b0418961257mr125476166b.22.1756633182252; Sun, 31 Aug 2025 02:39: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 a640c23a62f3a-afefcbd8656sm597512566b.56.2025.08.31.02.39.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 02:39: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 v2 07/12] parisc/sys_parisc.c: add `const` to mmap_upper_limit() parameter Date: Sun, 31 Aug 2025 11:39:13 +0200 Message-ID: <20250831093918.2815332-8-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250831093918.2815332-1-max.kellermann@ionos.com> References: <20250831093918.2815332-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 13:27:17 2025 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.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 EA0A6225791 for ; Sun, 31 Aug 2025 09:39:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633187; cv=none; b=djLWooYgk8bmCS6HsTlk1d/eFW4M3k05Rpm8WXOBE0qZtXznyfMIDjMSrsn3QRzr/ZffEWLEc6fA4vXxr6NVRcNlL1tlMOwUu2WMeT2YdjuW9BP9Jm7FiESxTBaAu2Q9RkmC2X9SMsIF3WabFzLdx/2SiIi/gUnktcXGdRHurxY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633187; c=relaxed/simple; bh=VdT9jGWeY6TchzE+H8HBCcwUE7G/YUGT3G0aAk2KDdM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qJNW2R2K1EQEquNbctnIzk/7RzlZA9HCDWeExyjeddBLmzR2DWinnf0z8SzCYkL01LwIHtPTNRCcVtdt3HGRShVK/ZENtah81MJzujw8y5o9jpivikTlceCUDYInKaHAHVBuKwaUP9JO7GPmpws95QMzyoP+iduP9WlUh/l6oDI= 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=SCY74Vgl; arc=none smtp.client-ip=209.85.218.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="SCY74Vgl" Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-afee6037847so520756266b.1 for ; Sun, 31 Aug 2025 02:39:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756633183; x=1757237983; 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=dwlx2EVOW3/w81+M3sGLOhoJXHsbq6RkIxTDAR9OjUU=; b=SCY74Vgl+D1/p7DkdxLXkp6tIMBDePFJeFxGl1DKILycSEqzbwyGvT13/1snjnGbk0 S70tGns+q2k4mN+EsgyO2ip6IniTujEMs6Bfu7d10YXS0y1I/s3o8lORjXzFVcpWtQVg 1atSQLHqHAt2zvK0TkSincAs+dyapReyREv8WR+pYj0+XPkv1+SArMEKgLBhkwK5blsk FU3LiQcR2rIbOFVroExJ4eGoWCvRjYVxk5xUlsNzI6jqFO/8U1Tivv4j8Uyk9eJSTw6c 1EH/EzKo1KiOw1zzw0L12XiDOmYV/r0c/Vj866jhEKWIF2cpsyGBP9pSYLXpnVllOq6l ++Yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756633183; x=1757237983; 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=dwlx2EVOW3/w81+M3sGLOhoJXHsbq6RkIxTDAR9OjUU=; b=PUEZlKUIzTpzwNzOLCYpJcJndzmnR7nKuOibIY9X7NGiotLu0t8MJqdMFIS40RrP5Q 2d1nJV4Ov++ANxjBlfyFJQaO3aTMBwNvR2E8abs+MklIvLCfEQRdTshjQwemVEId+3DN WA5nfqX86Q3ZfWNGlwr2ReF6fqR++YMTQFygNyMUsFdBYF/VVc4DPVVyshNyUIvlIV90 cg6l3VwfoivJUZz2qLzBWjWOMplGPR6d0bABkbMKucXjUM3oEdxKeXmpbj4DukBW9bWy qCAXhixBHxJD3D38c2dW0/8TtwdX42OTrqctNW8qnK8MToJkzvrHh/qX78XCnfxzIzDN /ltw== X-Forwarded-Encrypted: i=1; AJvYcCXYxJLZ/aCq7obbQr5swmmSii+qPH2a3v5woAeclGrUFz0vVVV3+3IJdMOSUmyZMFTDiarcNkiUQNWSPEw=@vger.kernel.org X-Gm-Message-State: AOJu0Yx7cdROeeeER6WBaIZ1cPa91vzRX0yNTdVTb7CxugP7pD0pRqa4 oPBFXrn/DWSHOSL7VxeJIyl8sse3SFj0LaaA2ncJfa0l2P9JPgsLShDId+fF8GV0v2k= X-Gm-Gg: ASbGncu+xQesyhVLLvX7SWF0aKHrNYKXedsJLEN9aIX/M77Ces/Q1F9USXU3T3CnaWM UqKVOeEKOK+0K0eo3QIXEbsY5PLczSqHNSRxkwPol/JGeDBfuF/Z9sXiKGN73MPt2CFBfYfagay qalxcTT8IEUIUT4T6VgSqq53FIW2sYd34HZS7nm735xljLCmQUTozjcvojPlzaoJeTL/8hadL7r NOTTEa+mTGqSuLIvsLeH/+4iHWvrOPLpwwKYPkYFbVmS8fVR2VU4dTQEVQ7l2f9uwYvrDWG5tM/ VeajaBoOdbg/AMkcMueBONwbzvGXwkmSZk+aCb1FPkQk7Rc4noM3y/obehGEX4+rniQy3wrrx7Q uXjgtfpiL4QEKzlhP9TRJ4vjKMWigovQfbn90XYm3NrXnOxeZsuQqAH98dKdz5VAN59RpvWnByw 3YMpuH7QhMKFeFRcwveVatXQ== X-Google-Smtp-Source: AGHT+IHHEsy3VYapgP6t68znKr4JYYpwjepZ2OnahYHw25+r/10lb4UhzW3CEgWSDi98yrsXnMghDg== X-Received: by 2002:a17:906:eec3:b0:afd:c31c:2488 with SMTP id a640c23a62f3a-b01d97307b1mr425157266b.39.1756633183190; Sun, 31 Aug 2025 02:39: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 a640c23a62f3a-afefcbd8656sm597512566b.56.2025.08.31.02.39.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 02:39: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 v2 08/12] arch, mm/util: add const to arch_pick_mmap_layout() parameter Date: Sun, 31 Aug 2025 11:39:14 +0200 Message-ID: <20250831093918.2815332-9-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250831093918.2815332-1-max.kellermann@ionos.com> References: <20250831093918.2815332-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 | 5 +++-- arch/x86/mm/mmap.c | 7 ++++--- include/linux/sched/mm.h | 4 ++-- mm/util.c | 9 ++++++--- 5 files changed, 18 insertions(+), 12 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..e3f0d9b74b00 100644 --- a/arch/sparc/kernel/sys_sparc_64.c +++ b/arch/sparc/kernel/sys_sparc_64.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +ickj// SPDX-License-Identifier: GPL-2.0 /* linux/arch/sparc64/kernel/sys_sparc.c * * This file contains various random system calls that @@ -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 13:27:17 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 058E9258EC2 for ; Sun, 31 Aug 2025 09:39:45 +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=1756633187; cv=none; b=KRHLAsVlnrX+12rrIC2Hwt5ArQgpTcXyaCB/82jQ7R2/hUdbu3vQbypTDC8JlwMp+xNFZlUJZePOz9P2HvbcKMMqDv1TGjyYjAaKCkBCA/w7ytVm9cU4H1m5V47BvqZnUR+XMoC0PNSJx3impoayCrwH4qSH82omCCEaXtEA820= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633187; c=relaxed/simple; bh=Kq9jl4vepq88dsyIU2VEKpbj+G4VTiDnEL+OOcpmbxU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OnEhpp8xcfIbY+kMBe56rkxvP/j29HRRP6zT6EUk7VWOpoyMxvhQepoCz5P9phO0FHZh0jm4GTjZJIYCu8Hd1HVwwtV9rAQI9fqH1oEbXjGPe3bVR5SD7Sa0vD2cbXx7FHiPLzMbOYXLgMA68WU+zEbfC45fwRYNg5AK6jz/pHA= 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=WhzME8M2; 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="WhzME8M2" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-b040df389easo124548766b.3 for ; Sun, 31 Aug 2025 02:39:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756633184; x=1757237984; 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=WhzME8M2paghbiLrxQgP1LEj4GIoxS9zJw9YYw5VaNx4uuXwpDpLzXalMD7vyO1a0O vMOCaxSEebi8wBzP4bTg/8NVZG45s2+zWRw5VxtTRxEhQCzV5fK3EvWRj0eRfJumWQm3 dTLd7GxMYK5QDSOV3TupReoJGEEl8oYQ/HLsbFDwaFwpfdx4EpVjZfeXZe/M4h0AkZbh pXFVriqL484z3/FbSIAvUbwstFDpxzbNafjjg85DrVfGBEvSYUyAP933soKAMqeGWxxg Z0JlXcNurjzpdGrRei9y35E61aD9Gj+C1tcCo6tC7Zcg5yp9Pm7+4o+dbdqRzkCIicyL araw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756633184; x=1757237984; 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=HwWkFxNc5qrJbdrqipj/pVL4nUuk3Ze2/Os6iyoYLPxfRSPHhhc/ZLHQnbGJugOwA7 nLxYO6XDlJmIztlZqlo6Avjj+1D66UhbZukLkXRkotpPxVvPWvfUkMusUerNT4BLgS3G nm1+U1il871hekkwMmZasOCISfou6aDqoejLRWlIsVLCam6diC77EcoxFSqjRFeMaV1S j9nU2+Bok2x863zeAgJIu9M94VfMez7Fk238L9lMvjj/LmhKyNhm+cCzk1i8trwJM6qS 3llV5M9OArVRXlMg06Y8v6wtSqtK+HtosUEeVeQUzzzhsL5deuJgQ+MAdS/JagwVXBTb k2Hw== X-Forwarded-Encrypted: i=1; AJvYcCV+Z2zPsM1VMURxMAMTIgD+nGkncOT/CFU2/CNiXQ1+JehDPnJE8f8IDf9uVxyPyFeC/0BxP1FpJoVb0WE=@vger.kernel.org X-Gm-Message-State: AOJu0Yxx1IwhxMXWwiETp37YsOM55ctNpV18rktCPyqYMibA7rxrQloP YfLk0a7PnDsZMJs5njkjWcSE7drnzMwG/5fNaCo5pT3Hl6qjdFGnY1yoLCw1zOzovRs= X-Gm-Gg: ASbGncuy69UR003DaE6zWlejAMY9AZ5MtRxtLCfOYRlurOsweSMR/S9SdtgyvfK9xyb qvpl6vrtH+2qOI1ogiOc6Pt0lVME+Sx7c4LsF5mxq1D8ODmYQxNE/Eq1+CtyXYuyUk03nLs6ZIK ODgOcFQ5KsUcJk8o8eEI134wac8eN2AXjm1Nwn3p8+lMW3eyhwRFd9lNj316q+QXxVqMROZv8VW oXX17hMaIG4z6mVofttLLGzfY0a28AtLAEOLIZyKtun7yFkwRWDDMFwe+iv7iqEpKdlzp4ccTOS yedwdi1JJ+X9lvxiSxqeM0R7+BFDtWE8ZfbTSc1L7GkrrlBNktobsOFyb0afbMqw3jtFkVMulWk FHqHR07Z1yVG9GOUytT6HutarCFDcaVlZn1LOI3u9FR4dHpuTFce1n0uVLo1PyY/MiuorrE6OyC lvV/+dfZdmFZ13yvgLzOJrc70uveOiPnkw X-Google-Smtp-Source: AGHT+IFxQDWLhxFg2jVKkWwDC8C9a2hu8u5iRtfwJyK9WMd0nF5snRkYBzKz4RD+jCsXIVYHRgz3VA== X-Received: by 2002:a17:907:ec16:b0:afe:c2e7:3705 with SMTP id a640c23a62f3a-b01d8c74961mr360813566b.22.1756633184278; Sun, 31 Aug 2025 02:39: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 a640c23a62f3a-afefcbd8656sm597512566b.56.2025.08.31.02.39.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 02:39: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 v2 09/12] include/mm_types.h: add `const` to several pointer parameters Date: Sun, 31 Aug 2025 11:39:15 +0200 Message-ID: <20250831093918.2815332-10-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250831093918.2815332-1-max.kellermann@ionos.com> References: <20250831093918.2815332-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 13:27:17 2025 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.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 CE0D3247295 for ; Sun, 31 Aug 2025 09:39:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633188; cv=none; b=iEJPqPUB1EgcIO4JgrdTk8iFuDANaJjZPuv5WScfx7FySVW0umPgZBGeFG+qCWeDW3XKuEJXoEdxqE2nB1JDH+2VMQRXvQJh9tNxHrBOLQ+cLvwG8Pji/3+ocmFwOsbrGoo34WuOfR8DESl1WY8Xdwd4Ye3/K8AzXWTmmLGnvhU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633188; c=relaxed/simple; bh=uKr9NzYjTPyr2LoMtq+P+dwP9S6wWCmSDu9T3D5QFQk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=W79VIQYQo10cQoRugbqXqZRyC1OFgTjSqY1khy94BHqShrCjF2WBaxsB2AzQjJnWJ4jRDMQCMCRiVNUGzNxmz3VeLSN3QmUasT5jIZz6HE4yjywKCKcx0vRFsPRSOwVECHcNra3rD4c4xraayGh0wFlm6MQMaYDfSOzqQUSm59c= 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=FgqURCmA; arc=none smtp.client-ip=209.85.218.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="FgqURCmA" Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-b0428b537e5so5141166b.3 for ; Sun, 31 Aug 2025 02:39:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756633185; x=1757237985; 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=FgqURCmAnolRvQ4km1bDriCRcczTHK1gjdY8vdJyvoaDKKpY528yMd2v8bHq/V1V4U tl2EWwUimMLh0twnr66Hgf7uVoamwWObizGv/lOgFRqRXhi+IZLuK/RlcxsJnp5UEknN +ROwLS4J2QhDLB4oxCVto7JoMpioMQOhZFYBkFTWygxeplXB9M3403uRUf0cUV3fHdKV 3K0nx5lDqj5AGFCsll08q3exbwcBQM/ELYnDH4lvowym1JZ/Jw2WVOZpPPV9CzAgqBQ6 nVYyBhwoE6M7enUg8raoFEG28CEsMyzPKyIHclAmkBkSdfp/2eyol7kO+oMNCmMLOCER DcMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756633185; x=1757237985; 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=JLCdvcHzbpml/glfKtqKCzGgWsJK238g6D5/fh02kh4OOj3PsU1mjKr1LT1t+CB40f ai9o8Iu7g3DylNRMowqykA7INF3/T3SKx93bkg51ZVPOcSdQSz4TPfK4NJyLRpvkM0Sy 3J4JyDWwH7XeC1TTlKI9PKoR9fS66Odxg2PXRMGU61xI05oLPV3O9LtSvqqCJIryG/4p F8k3mSiOmA/Hyo0j32IqOLKMrmSwCqcsHjg/nWoT4CEMgeq5O4MFDW0lqwf4ZuZhSr/Q y+TV6XU4NlWAf+nALK28z1GJkG7DzQS+QFbUb+o/ZcjM4gqMAmihLcMeSBZfhGLJTspm c5RA== X-Forwarded-Encrypted: i=1; AJvYcCVK7c/HMZjsAFCSXystIrc3g3krNy7yEIq4rUs1S32tU6fD3lXtSk1+QZcUbSk4Mvf92A57Qdh+WJeD/K4=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5RfqZuzU7B+lhEmE/Tt+PZ7Awgz8Rj9goFiZZtznd0++lmtYI EBrMbzhmRwBjpHgOTa3OBO3eLSM11BVhA5dL0ue9IGljrDipi3y9KU3vmIsRhmIIR0Y= X-Gm-Gg: ASbGncuy+hxLYegCwswBDh8/cXGqsQdurqNkFovV1Tyz4qaLLZgl9gXlQnqWHqf264Y 1UDNg48djdy10k9fJlzLbhur2MiTJ1Fn7v1nDvC299d1qGCnjzf9yEO+xykoTHvl9oKBjA4colB yCxe/7j1LUnCKmvf6DK0aNCDAEvDYDpcoH2Omk2UX1Ki6GB7eLq3NbqePnrfnu6yGvVzgz02YdZ +G63bNV2b4dGQNGVDoDlPl3SEAJ7h40fxZOiVkdr8acv0wa10Wvdo9sXTs8rHQKuwdqEUQeVHYV HHWr3yLGcutQSKyBfCFk7b6AbxQqhEhx3QS5p2rwtHaGAvdstNoiACvfa3+Yta4yRx/2sCL87Ty OxNiXR3SwT6hOd5LJIQGwKTMa0YUpUwGnzXgwjfuVzOyUT2BB1QHjrJMfT/5uMHhDtA5dKlWt/r c5f7Q2OsupAXc8cZxSXRTdEQ== X-Google-Smtp-Source: AGHT+IEItZu5qd/uBWt3kniekyRuMwuRZURgEX22zC0t6tG3oVHjRNN/jljliIFQxqA84wsrfCrfkA== X-Received: by 2002:a17:906:f586:b0:afe:e744:3058 with SMTP id a640c23a62f3a-b01d976d94dmr412983566b.50.1756633185141; Sun, 31 Aug 2025 02:39:45 -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 a640c23a62f3a-afefcbd8656sm597512566b.56.2025.08.31.02.39.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 02:39:44 -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 v2 10/12] include/mm_inline.h: add `const` to lots of pointer parameters Date: Sun, 31 Aug 2025 11:39:16 +0200 Message-ID: <20250831093918.2815332-11-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250831093918.2815332-1-max.kellermann@ionos.com> References: <20250831093918.2815332-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 13:27:17 2025 Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.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 D94FF25A321 for ; Sun, 31 Aug 2025 09:39:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633189; cv=none; b=qfJDHWyih3hf/WJpyamq7yjYA4tCIOfQ3M64X/dOTSEPoiCMaXP//7rY+hX6p8PHWFrQXjJG+wQ2eAYpHEj3tdHb73QoyxdUTqwbzKC65slorvshBIBz0BfDj5anOSFlVP2aqJAQVTFNtXykAtSUUcyG8TXykVdjJ2t3vV6lFAI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633189; c=relaxed/simple; bh=M+EH3GcVc7BmaAbF2qOjzWbOIQgl5J4uB6cXp0x+q5I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=L2VRdVYycRgMfHnDmfT/y2IPtKInZV6iAK0IWWxja0CJL8tU/dlSUYTO2qyAG8r9/Pom2LBvDUi7mipHfNF6w69A0i386GUY2IHyFEeXhSSvJ+c4wiuBJOEAFuD1h6b9iipyrPh8fjZrzUmR44yN+W4fvmwY83mY28Hiza1eohk= 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=iFoekoCM; arc=none smtp.client-ip=209.85.218.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="iFoekoCM" Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-b04163fe08dso80361266b.3 for ; Sun, 31 Aug 2025 02:39:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756633186; x=1757237986; 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=rzEgZJLUIP42C+8Yle96H0gi+Ol4omF0icbAf6DUhQg=; b=iFoekoCMcyGIdwJ3cDZkItKFLElrDDPkh5fqw07F5WdIkLU92LNnCTl7+8xThxyGbE fpyk+7L4n7smLFIvp0reupw0p48WHoGpuYmzgeyPnLSFKFBNVjWO8/q5ld8GEjJICKOU QDo12Zs3RLnus2PeTwu8lTdJAVAUa8elZgqtgcBYLgGiH/PEhp/FUY+yjBMthoSzVniv HLv9kCL3gsVjlqURXB8wZD3oeZvv1eqfd+0s9j8MZG8BduesUDy17J32nOhTR1URbNFH jOK5z0HVKkYWGaTIaml3Lx72qZkA2KxB3vtKPByohR43zDnZMqWGCxnShyGfSp8b5hLL bvqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756633186; x=1757237986; 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=rzEgZJLUIP42C+8Yle96H0gi+Ol4omF0icbAf6DUhQg=; b=xUjbpasfnbTWCi2G4i3r4ErZ7RcJVMWlLeaNDdbCfiZ7mT4cxPbtis3hR4eh0Vspxu Npb4dt3uw65bEGAS4Ov3bTA5F0hq9MJoGlj224mwUXqkNiS6AvR3ybvoVWZXnFx8J6oV el16RUB7Opn047qIgC0XvIj3dbM7eiPtTzlegfMS7IlCch99iI5LILK25rNj5aMB2L8N zUmJMNBSTDpt8eP9nzhEyE8Pfy4N/eknffT/ZrWm4K2o5H/5a2fVlhoZuGMk4UlBnhki on627PMWlOlvvghhlG2+5/+ot82N1vSCfG15Mp1UVEdyvuBLV72UbHJdBCBvQcKDe7E8 HJdQ== X-Forwarded-Encrypted: i=1; AJvYcCU3p6UQOP/327ZrUZYPeV+nh2qqyhPWLcLCXd09ArEEQoypJ5K96oWBYm23PA6ZWrI6FzJxEcx8xfvLPP8=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5J4LK3DfcgESuyHp1GBjVUFbqqB16kZ+MldMhjNQWKyeXIey+ OuuMVUirORv1Te8l0vDCRngusXZAvfZ5GAja/30W/sixJeMbzSoNlZJKrV+h6dbpF/whkqrwDFX AnF6H X-Gm-Gg: ASbGncutbUbhle0+0wkwwl45zPqP2X43d+uxz9nBI+ll8kujUd0hkJzYnS7glULoa4q 5TTpwPLX/CfW8AWiTkFzwUBHH2rr+ywXkECdx5CXGTxFkE02N1I+lF6+yfsZuGIevRP0J0RLcFj IWLUNl/h8LG/gClshLmkTs8IEneADtTx9TJnT8ZSAEg7I4vOFsYq+iOywYSKevJyg9uuIjY13B8 B5ntAp67jIs0yv7Wtdr47sfI5hQotktAuwQBKZWVSagPO4NKdEN8Xrt0YkIbeSeXm9CGqo9yK0j YAxFv2IWgT2i4gkMU6c+KQwIQDiY39CRGDAkJYq068cYFS0jpFCAXDwSEavJSlmdq6fzLmXS//B vmINPozhQDVruMIjYoLL4cnWElcBSxT/KVHdLJacgx/gc6qzcaFTgtNqiMVsXjS9p2ty7FWfnW7 FK8eoVh3dZ6aH9GjqwFAb9tA== X-Google-Smtp-Source: AGHT+IEuD6oVNFdoCcKagugA75LHNebXvR8cOgEl3UMPjRhdvNPJVp574cFB+Bbnvq6T7+AbQgvIlg== X-Received: by 2002:a17:907:970a:b0:afe:d3b2:8b1e with SMTP id a640c23a62f3a-b01d9743cffmr421146366b.38.1756633186146; Sun, 31 Aug 2025 02:39:46 -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 a640c23a62f3a-afefcbd8656sm597512566b.56.2025.08.31.02.39.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 02:39:45 -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 v2 11/12] include/mm.h: add `const` to lots of pointer parameters Date: Sun, 31 Aug 2025 11:39:17 +0200 Message-ID: <20250831093918.2815332-12-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250831093918.2815332-1-max.kellermann@ionos.com> References: <20250831093918.2815332-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 d12550ae9814..7c8b7f6a14fb 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 13:27:17 2025 Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) (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 F06A125A328 for ; Sun, 31 Aug 2025 09:39:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633191; cv=none; b=AQ35siyb37WpufCZ+RKhU0UClp/AVfXz0CbZNe/UV9Y0zaiV6t7C424CgX5ZkDJ/wW0CL3pvHXr/kmaMiVXXxqrBKZeJnkG5qzHtDc/WG/xxJxSVB1GM7O5NoE4ITv3UQUNwW6kVElIyJuMhjsKGXNcBTiozCY9FLwnulPbL1bI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756633191; c=relaxed/simple; bh=CBcT9NVxAck5kwy48ZHHybF8PPGjkQNkdwo1+D4N+d0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=m1NXGVd8eNaVMmsg+TwqfrAamg5MjKpu9o/jdtOW53DL1YuAdKB09V4pvBjb/OoT9a063mL8MwExHOP2hvQgTX5W3Ga/m4kRDPLjQxMuJ31WQK6KwX6+ynArIhCw7oJPvtAI2LcDbmlHk/OD9krh6u6h+bcCKoQ9PAEueDQmRxY= 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=X2/5PzJw; arc=none smtp.client-ip=209.85.218.47 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="X2/5PzJw" Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-b0411b83aafso96915066b.1 for ; Sun, 31 Aug 2025 02:39:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1756633187; x=1757237987; 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=X2/5PzJwBG/udZ3orJzTvK/fhwqFmbvCWv4VxBpunkKxD8szq32XfM/uOVPxya9QMV 3IQZMcK3PN2hre3k3tY7rvRquL/pI1r54K8R69DaAtH4P5KQmXp2ZLIgqsE30Twi9S1y FTrCYUpMoxGTBU94hessbCh8UqVfh21saiThqrGKL1rFHp4rHGr8TkSY4qRHGB+gvNcg xaeSqEUjQ/WWZnJXQAPxOk3vTzd5N5Rk9mGYqrQ6/A0WNELzSWr1FJZz+2cdP+oKEqP2 tQf0COl0MURAea5A3w4nHOb2WvH7A6Q8auTkyg4AjOFdstO1UmU95kmkSn6TCiYE6rMn CgOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756633187; x=1757237987; 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=ElpL8jQNcPokZ2vMvxAevBu0F1J/H9xuxQXnp7sGcey7VHgpBHOxDzo7DJAKodby/x vnI9egMbbyHXi55WR7VwuxHKz1TqSCR7SGM3QLku/tirIaR7VmsffjID9bgVzVWwl7B9 Sz6rVZYff+C/rudyGYDm6vkwfscASmdL6tMhykOoYSpspj/EOkhD6ySDB1F5qKkd9GC4 zzZqJjXZ3JlHfdMnN6/FaUxz6bliIdNLKs9Pa8neMWiqR8kObCAYTlf+63TJH0WnyDrs X+MnAXDOF5EwkzM5pGpexv3iGeoCjjQ0029ASy7naA3941BfVpZ4bfcDwSUmd8zwBTDI ohPg== X-Forwarded-Encrypted: i=1; AJvYcCXA4Zw63FyMsk4by8Jm2FceF65U5SRTxVWHN6FDt9oVMukhzyZqnac0qAAuX9XlLvihbATLNN2umyVtf8c=@vger.kernel.org X-Gm-Message-State: AOJu0YzKKF/auOyJPaRnUzl8iSWPtwETpMdzZGwVCQLuRe3nmhqMdQL5 /hc2UE14cQfIoFNjhno5FTzRSqCg1yEp0Z63yThIVTQMM9YZ0IGxg2uZdlvb4cOgQOQXbXr9N/2 LOnOu X-Gm-Gg: ASbGnctMl5Fh8CkctLPVv2cPLUwYyLb2OXPkfQEtX9PqosH+d/LZ9yc7maMLbwHr2DJ qvfHJzCNF2VQUTM1DchE0o4SC3pUGoseyBZ0GS2anF7cO+2cudRWseDfF5GNnUWG0kp7/CfISiR 0iks++ErClQk8DfMyA86CtZSoZxYVYmEu9TWUPz37XCwPrOj5v5r5IObKi6D3KjHpF/7vet6OPF uvcWFccLa42rFfGzXFx1Df8F+onUT299FK+yLJVrdmp+bCpE4faggjuQr72L6PL/7QTjahW4hmo +Ydxwegru4CM12ktZzApJ6xFMdW94l2oMP32XHh4muLiQkeTkjwbErHNDkaY1+qlpceAQSdBCN1 HYjjfmLaoA4yaCdIf/QuDLblqXM0WA9PCa7dUOR/0EL2OM3nG8DjmNlM1FsbzcucMIir7PpLafo /ZZMviJYyTZAOGYGG8wq9OkAc6LiF0IlND X-Google-Smtp-Source: AGHT+IERIAMXcuEhmV/TwmDymKQpTMyBeNphJ2qsS8K+XRC4iMgWIUN47HEu4qF13cHkWJRM5Gm9Lw== X-Received: by 2002:a17:906:d155:b0:b04:b2d:cabf with SMTP id a640c23a62f3a-b040b2dcd9fmr282124466b.39.1756633187141; Sun, 31 Aug 2025 02:39:47 -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 a640c23a62f3a-afefcbd8656sm597512566b.56.2025.08.31.02.39.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Aug 2025 02:39:46 -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 v2 12/12] mm/highmem: add `const` to lots of pointer parameters Date: Sun, 31 Aug 2025 11:39:18 +0200 Message-ID: <20250831093918.2815332-13-max.kellermann@ionos.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250831093918.2815332-1-max.kellermann@ionos.com> References: <20250831093918.2815332-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