From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 40DBBC83F09 for ; Tue, 8 Jul 2025 17:37:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AA0396B0089; Tue, 8 Jul 2025 13:37:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A77746B008A; Tue, 8 Jul 2025 13:37:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 98DEF6B0092; Tue, 8 Jul 2025 13:37:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 8A5B86B0089 for ; Tue, 8 Jul 2025 13:37:06 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 5450A55AF8 for ; Tue, 8 Jul 2025 17:37:06 +0000 (UTC) X-FDA: 83641803252.25.A9C0006 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf13.hostedemail.com (Postfix) with ESMTP id E513B20007 for ; Tue, 8 Jul 2025 17:37:03 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b="qZA+P/A2"; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b="2K1Ev5W/"; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ZnALy4Dj; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=0Tmsowne; dmarc=none; spf=pass (imf13.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751996224; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=tH+4qrLbFoh951omgyvvpr8ql1pn4Evyfl1gUPKbjaI=; b=6Q8euG1osKgj7IEJ+6sGVAtgcKekWb5otccqT0FgrIbiNbZqkzrD2yUe97pHRPU0H9gO2J NBJYbwSdPigJdz3Z1zt4dq1hHPwXKZqJmlmfMf3mW4joQcYEaUf01xzStlCAPvthLL0ZBS 4/p+CHEiplTeq+99HvEEOlsObN7umMw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751996224; a=rsa-sha256; cv=none; b=4EJjQzvJd3B6sy2H96WE7NTfpbS9q+BASjpxOH6R4SVUModGle3xe9jQDdvv2WwGzCdsif h9T3Mx5HsG/G3gZXrbMbEvNOFABVkGS/QQ69cnrO8f5t0fRfH/KXwnEHP3YZfQxqOFWdZb QdscX1c5T5zjICO1xQ0pXM1GDpI8bXE= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b="qZA+P/A2"; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b="2K1Ev5W/"; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ZnALy4Dj; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=0Tmsowne; dmarc=none; spf=pass (imf13.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id E01E02111F; Tue, 8 Jul 2025 17:37:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1751996222; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=tH+4qrLbFoh951omgyvvpr8ql1pn4Evyfl1gUPKbjaI=; b=qZA+P/A2RdecqvTOlciyC6KN7axCUlYSQPG2qhRvxoYtO55RTu9DxXWWmAzw9fKZRqPOs6 HErbR84LTwKdnzxntSmH5Pe7q1Kl6iYgLWWC3T3m2ATmeHcxFdi7ncr5plYGULqALPX6Zy jSLOsDRlas+u7BwUnXDmqSrg2p5UO1w= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1751996222; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=tH+4qrLbFoh951omgyvvpr8ql1pn4Evyfl1gUPKbjaI=; b=2K1Ev5W/Bta06tEANRaOF89d5Za6W09a/yHiWtGFAN3aIva8HQehA8atJ2relPR7ST4N6/ Dr7d2MgkWV1XMICA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1751996221; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=tH+4qrLbFoh951omgyvvpr8ql1pn4Evyfl1gUPKbjaI=; b=ZnALy4DjQVwUJLSIAn0dOy+Hz4ezfzu7bZk/oFKSTPr/rqGkNnN/amIetP5Of1BmRKzFjP vYfCsiAzIakSbmmGZfRd24Yt7t6RdFtvGfvygMTDhDWGnMPidb3AHfNIXxlWP/57Z3OLev 22tzeIAhrswJgEbyVBUm3w04QCqHoCQ= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1751996221; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=tH+4qrLbFoh951omgyvvpr8ql1pn4Evyfl1gUPKbjaI=; b=0TmsowneyCfM2N0mNSL/Ne+cG/n8uIkuBz3s2PBsyjjhOLYiX0eFW70dGJ9MuAUHrNehHk JfYokWamikkoMyDw== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id A3F6313A54; Tue, 8 Jul 2025 17:37:01 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id ko5pJz1XbWjoAwAAD6G6ig (envelope-from ); Tue, 08 Jul 2025 17:37:01 +0000 Message-ID: <0e0312c9-9a89-4a1b-a135-4425ea95d6f6@suse.cz> Date: Tue, 8 Jul 2025 19:37:01 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v6 6/8] fs/proc/task_mmu: remove conversion of seq_file position to unsigned To: Suren Baghdasaryan , akpm@linux-foundation.org Cc: Liam.Howlett@oracle.com, lorenzo.stoakes@oracle.com, david@redhat.com, peterx@redhat.com, jannh@google.com, hannes@cmpxchg.org, mhocko@kernel.org, paulmck@kernel.org, shuah@kernel.org, adobriyan@gmail.com, brauner@kernel.org, josef@toxicpanda.com, yebin10@huawei.com, linux@weissschuh.net, willy@infradead.org, osalvador@suse.de, andrii@kernel.org, ryan.roberts@arm.com, christophe.leroy@csgroup.eu, tjmercier@google.com, kaleshsingh@google.com, aha310510@gmail.com, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org References: <20250704060727.724817-1-surenb@google.com> <20250704060727.724817-7-surenb@google.com> Content-Language: en-US From: Vlastimil Babka Autocrypt: addr=vbabka@suse.cz; keydata= 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 m6M14QORSWTLRg== In-Reply-To: <20250704060727.724817-7-surenb@google.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: E513B20007 X-Stat-Signature: qcc1m6jfxaiz7zhi6c1thfyhj7a5gosj X-Rspam-User: X-Rspamd-Server: rspam06 X-HE-Tag: 1751996223-389072 X-HE-Meta: U2FsdGVkX1+C/sGrVxDenMKMAWSriRb2cHss4XasQLaptr5Y/VllnlwRbmbZPfQ59zOs53YW7BGyl479HdWazAMTitg1GVGvqNk5mD7qCbUqkdsg1IKttiB60ok35xOkojB2z2CovuxKdNEd3jaLOzspWAzshem+c4AjIawmQMwnV2lzht4+WhAwilO+ZKiBNH95SL3L2l9HFdfAA0Odi5bjp7AW49VIYoFPi+aJIH96fjtio37H23AxzZzww5+mcuT9n8/H3ZhMiYrwfnEH2gz8wkOPCkInKVFSSKHA0PmYBnu/BwtGPVK73DXJu4myotVLPsUPEy06L3XKCIbAOlF8e1pRMkhu/YWQgLYzEfp7rmXYzhdyyO6AX2WgEiObsZqIGT8DwfSt4Du2Y0voQj0VJS2o54CfDoJi8douiQKnoqDbls3bLJ0jnZYFwn1l4CY5QGbppsqrrD8T/lOa2S/ViEAdi6eZ6Sd4YjQmhLDycUg81Zhrwbplywz4albFeQEXGfQcwVo5lZLyiIa47lDr8bZHnRrpfiVqy9PIMFY7nWsfnbpVLD3UFx01iu9O5dv93Oj/CrAgeF3TdQajzmbF421ClUiUfrd1pS+mmbRpwFX/WeB9jgiUY9KwlEwjXmNwOZDHmxjb8fCg8iN1gel+JcuWkk16SN9sJQATmN/5LEuiNkRCgrWOEf1Gx/uwNPBT9U+fkqsmZFVopFn5qj25is6zdh8YvgfcOenGydlroCOLXfOnD6mhIFOHz7dfajjXxOUJy9rbQP6+RXZIs4VqJj78ywdsQn+zzHfy66DuaV0ZTeD+eFBRGAjZkcfu2s5WP0gDXNEI+DTOLcOJURfLne6wHJR8ZR7eh6jMiKtb9pfqOK7NPEtpFNH2bW95RIvG5xi429A7Wbnbau3NtgV/vqcdVVhGxGZkVJVKDrCAS1datMGLgO/DZRj+3xZdKmbmXM+yFB1dcXQBWYv R3jnmYu5 Kntw34cDOm6Ibb74Sqno5mRpj03KCyFuXT/1ClKwm8afk9MkA37iJrEehuBTHBvyflchCwC7cl21KW9Y7W0BqUrHPoI31c5ABbQk5/J2DL7LWLXPqhqbp23YVvFcL1+VoR4uH+peSwyBJDRec6zhkknzZtg1x+qEaJ+mzLFljygXRBszYQZrfXDEuHC+myETBx2Lrc6w6+zTiUunpAWslfGHKeqPy/rchQAgWWhvjGT/R2iM5oYjniZFNectebAjaMHCIrlEFA3p7MpFLJn9GHdgNzCcZD9Qjq1g/pKH8aqLEAX9jeMz0DECr6Rs1UO/HVBaWKB0qKg8wEuNt07tCNUT5IRlGYHQyvTLm98XP5yXibqHpqrirv4zeWu8PmS6rd41jjE9nI7HOrPA= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 7/4/25 08:07, Suren Baghdasaryan wrote: > Back in 2.6 era, last_addr used to be stored in seq_file->version > variable, which was unsigned long. As a result, sentinels to represent > gate vma and end of all vmas used unsigned values. In more recent > kernels we don't used seq_file->version anymore and therefore conversion > from loff_t into unsigned type is not needed. Similarly, sentinel values > don't need to be unsigned. Remove type conversion for set_file position > and change sentinel values to signed. > > Signed-off-by: Suren Baghdasaryan Reviewed-by: Vlastimil Babka Some stuff in the code gave me a pause but it's out of scope here so just in case someone wants to do some extra churn... > --- > fs/proc/task_mmu.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c > index 751479eb128f..b8bc06d05a72 100644 > --- a/fs/proc/task_mmu.c > +++ b/fs/proc/task_mmu.c > @@ -135,7 +135,7 @@ static struct vm_area_struct *proc_get_vma(struct proc_maps_private *priv, > if (vma) { > *ppos = vma->vm_start; > } else { > - *ppos = -2UL; > + *ppos = -2; > vma = get_gate_vma(priv->mm); > } > > @@ -145,11 +145,11 @@ static struct vm_area_struct *proc_get_vma(struct proc_maps_private *priv, > static void *m_start(struct seq_file *m, loff_t *ppos) > { > struct proc_maps_private *priv = m->private; > - unsigned long last_addr = *ppos; > + loff_t last_addr = *ppos; > struct mm_struct *mm; > > /* See m_next(). Zero at the start or after lseek. */ > - if (last_addr == -1UL) > + if (last_addr == -1) > return NULL; > > priv->task = get_proc_task(priv->inode); > @@ -170,9 +170,9 @@ static void *m_start(struct seq_file *m, loff_t *ppos) > return ERR_PTR(-EINTR); > } > > - vma_iter_init(&priv->iter, mm, last_addr); > + vma_iter_init(&priv->iter, mm, (unsigned long)last_addr); I wonder if this should rather be done only after dealing with the -2 case below. It seems wrong to init the iterator with a bogus address. What if it acquires some sanity checks? > hold_task_mempolicy(priv); It seems suboptimal to do that mempolicy refcount dance for numa_maps sake even if we're reading a different /proc file... maybe priv could have a flag to determine? > - if (last_addr == -2UL) > + if (last_addr == -2) > return get_gate_vma(mm); I think only after the above it makes sense to init the iterator? > return proc_get_vma(priv, ppos); > @@ -180,8 +180,8 @@ static void *m_start(struct seq_file *m, loff_t *ppos) > > static void *m_next(struct seq_file *m, void *v, loff_t *ppos) > { > - if (*ppos == -2UL) { > - *ppos = -1UL; > + if (*ppos == -2) { > + *ppos = -1; > return NULL; > } > return proc_get_vma(m->private, ppos);