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 3F9ACC7115B for ; Thu, 19 Jun 2025 14:02:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9E6976B008C; Thu, 19 Jun 2025 10:02:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9BDD86B0092; Thu, 19 Jun 2025 10:02:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8FBFA6B0095; Thu, 19 Jun 2025 10:02:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 7D38E6B008C for ; Thu, 19 Jun 2025 10:02:18 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 2531A57688 for ; Thu, 19 Jun 2025 14:02:18 +0000 (UTC) X-FDA: 83572314756.18.02D362D Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45]) by imf09.hostedemail.com (Postfix) with ESMTP id 145DE140022 for ; Thu, 19 Jun 2025 14:02:15 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=L8AYIv6P; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf09.hostedemail.com: domain of pmladek@suse.com designates 209.85.167.45 as permitted sender) smtp.mailfrom=pmladek@suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750341736; a=rsa-sha256; cv=none; b=NYkyU4HARxUm+LQgmSiLXJ1sLtgPAU7BeNaVWT/iOM4eSSgEo1vQU/NmUObfR2CIohanyt FG7/F7T4G02RV1zzGRzbB1A4zb2sKURZr50idVDT4ROYgYcdt0YwYfCk48jtwiknRYF5e7 17dS5qL1yKV0PUsrOJ2m7l4My1s1X80= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=L8AYIv6P; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf09.hostedemail.com: domain of pmladek@suse.com designates 209.85.167.45 as permitted sender) smtp.mailfrom=pmladek@suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750341736; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=aVriD3LvP+pMWvbTjI5kbfItE2BHS3ery/f+bu7NdfQ=; b=D2VTc6YYV7EnrB3hTv3R9+t2nRVzdDXuPr5YGYX/5tfEAD6tu2p1X7wGv/T0hebGQdiHR9 jV1ZRxIPGAGpPvHNNHcr1tGqD8anOuqSpwwd4KmLbvABC3zCP1zQRM62Hy2h0YeeqZoDVX TfA8eHdTygWUwxkJS9h3gfQgAyZyQlw= Received: by mail-lf1-f45.google.com with SMTP id 2adb3069b0e04-551fc6d4a76so809109e87.0 for ; Thu, 19 Jun 2025 07:02:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1750341734; x=1750946534; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=aVriD3LvP+pMWvbTjI5kbfItE2BHS3ery/f+bu7NdfQ=; b=L8AYIv6PV11UK9IE2Xvq7n/6zg73C+D6RPmS6Zd+9ilPZZSs0frvtZSpZUBwXSVBhx OK+3BRWOx6L1l4PURjmdCYaYQAA1AW1SC03HSBU4b2p2FvZ/58G5Sv21j9Jk8F3xDfMf pozoIXQ5XlsDsVkTTC2SNxgAAGKP0RNlBZeZRGZx/7hJ1bbXnGPcyLHaiZdB6PU9BwmT AQdI4l3gkwB1+S4p2XVqcKBLj72u9CRgzoR7HEHNhk/J+uLsWDOEg95PX/HE760lfw4Q /o8XTefhkbTkBr5TfRni05NaG5KTAlZCrCJuvmOcuagfq102bQO5ue6mT0ru5LloWoGD Aotg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750341734; x=1750946534; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=aVriD3LvP+pMWvbTjI5kbfItE2BHS3ery/f+bu7NdfQ=; b=iJkD5AqCyu8Q1ohy4fSZOoj7Y1NOJTK8tSXb+7Mic5vbBu3aSNmrGvDnpKnv1ZeYu8 IQ8yErA7eCMJDjaaLHUqox6tglytB/ypfcvsgt2jU6q5DsOG5ONQ3tXJr8pnflNTxejm 0aBXBH0VaXl8bsH6LXQwcC5o8h49n+xyhVSUslG0NJIHUT1jdcVUOZpLKBiDWlRLRqHJ NNSyRNH4BeLtzcC2Q9F3BwNzhAxret48ttB0aY7dWwdlL04VfnKupmz2fsiMQW2K0bRj P/I449Bb1cIcbtu/+ntGo1QR9ax+pBiiIJ2Ul1gcKO2IkT7aC/Zi5ewpRKUUGD3rQK7b Nemg== X-Gm-Message-State: AOJu0Yxx9jLJkh3hzyYYYhJ6fbSx7XHDKJyEKj3Jn+Ct4vcazSzBT8fR SI6AJqjScIMoYrrWoPDtp7HLdHou3hwim8MtHHFbNZCVuenMLEP2wA7Nh6P0YlhkcPg= X-Gm-Gg: ASbGncuJ9guJjq3jnNyeC5FsuUGlVYjgsKBR39th5we/aCmUct8goSGxLo8Ea2QoYZ+ Z7jQSOjRu34bxcpDV1j/789gEgqRCZQumUjFkrKZHR7QRX8/JcfGVod/2F05dPeot3xMtC5AORh dWTlx/BX/5TKdz9FFSNLgo2jsugUMrHCpJ+m3eot6wul3zy92LitY9Nnbz21O6/LJyjZ+ZN87W9 wPliP1tvr5/dsu0eNmcP3mN58pDPVd8gkY+svsCvVi5mjfRvlRrZZB2N/0J5Ateka1z27oX0A50 4dWNSZV4awKX2HSseznXeNKJgSyPJcwSejF/tScHmhTvZuKvneA2KQvfgOrOozDurWMphqPVOtI = X-Google-Smtp-Source: AGHT+IE8zVuCTN888UI9y/00n231FNOHGEnuXXDDP1EcNgSBpNMrZXqn05vmM5Fu8xUtJ3hiDai1XA== X-Received: by 2002:a05:6512:33ca:b0:553:543d:d963 with SMTP id 2adb3069b0e04-553b6f1ead0mr6203514e87.36.1750341732009; Thu, 19 Jun 2025 07:02:12 -0700 (PDT) Received: from pathway.suse.cz ([176.114.240.130]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3159b909a81sm253188a91.5.2025.06.19.07.02.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Jun 2025 07:02:11 -0700 (PDT) Date: Thu, 19 Jun 2025 16:01:56 +0200 From: Petr Mladek To: Anshuman Khandual Cc: linux-mm@kvack.org, Andy Shevchenko , Rasmus Villemoes , Sergey Senozhatsky , Steven Rostedt , Jonathan Corbet , Andrew Morton , David Hildenbrand , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org Subject: Re: [RFC 1/2] lib/vsprintf: Add support for pte_t Message-ID: References: <20250618041235.1716143-1-anshuman.khandual@arm.com> <20250618041235.1716143-2-anshuman.khandual@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250618041235.1716143-2-anshuman.khandual@arm.com> X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 145DE140022 X-Stat-Signature: h6kswn3m1f9kofforahd3g3k4giseid1 X-Rspam-User: X-HE-Tag: 1750341735-476795 X-HE-Meta: U2FsdGVkX1/M0THJi472WKzZZY5l4SgXRXb8QYk3wEoFIk3WfCx7r7xzD5pedOk3XEhnCNZEJufYLakjsm5D9/ca+ZrPouwLeFLIYplRc2gbLpk1CaKcgFllW9q+7C5cree54ywAANnrCH7xg9jREKDwy/7llViN0roNG9K0hkMdhmdmCCOWiB9qB2ChFpxj3Md9QAdd+CgbYMBgi8LXCdIV6XpN+xvKbxd2OlpyvzXOXM/jzEk0Ln82pmWrKBkOfp+HPQIwbIAr9TsNpgvm3vN05/QviNPzh87+E2sbcLmaClEWrkn3qqYjI7Sq0CwOguzSqj4jiIwxOrwnsCN4y1oAwwzCCQ3X+/O4FKjQR33e6okCyMm0WNhb2LGNecQLUjiSccC7e9UtxO9p7Tnp4XZCjgL/aHf2gK7i3F8I6DiF+v3BD4oG96qleR+wsMo4DOGbQlLPxUrdSN4TkFg6d3Trs6O7mFA4HsyQj37VNe19mP0KnA65XzgHjrUf9l6z3cUolE/kxz23GptXZfvZZXlqIWH3UYptL+XQ4Oggs/W1pJZKh5PlmxKniaJM3Ou2NiuXB/SM4qRqjVyfb4HPSc/6VOAVYYENeIxqhGojXAl1Ah9CkzLTpa2nmj9wa7YFpsqCwfUUYjFHLZTPBQYzIcJ7u9hxLx+pqay9xSisT7QD6/0u6owPc23MNpa7zr2Febf9sWYMZxeADU+zgu2bqt3jvbDk6tr4GfFlbY69CWXFZpzhE3vE3RyY8gZJEr2N4S/P38J+UvdMWhb7OEQUXa/P31GMDlVDtpy0f3AGEbwpC/eoZAuHrywuFFBQhwgVr07C44kO5VyXmvoA1rm4+O9GTBLgAci4E/HqsCL0uqjuY7Mmn5BpQTItrrMWgpJWiC0ggyd+u6spWkg/7UUDVfOqeQpU7NmAHzpPZE+fUext6QA2bzPSy88Jxfnn9O0uUhC314ejYDZOfYLvE2Y 1fdc9Ol9 SYWhz9PzUIS/YAdrEMnc4BNHPsJmxmB4uevOXc2RJou2pvjWQuu8HpmUrVF/Iz9OoJyhfrO4pdFy8YVbdre1EE+RRw/S1UD5GKVMLBzcn1wVswOBkGTGmJa7wHNcjmQ/Sb82EKoeU2U1yTYIqLc6sIFxG5nkTJfrmqEOC3a6plj7zNPiBeUCenuPRQTpzvvpMynpkCx29GtuJ4R1rqMv6M1NHSaZ2xUrEGIVfiIH1Cq16ui0WAhMG2d37NIvfHR83jp5KgMO+oDbXV/YV3WnDxxeNiFqaT+/cDPa6SRros4MZInwtXhasllSNbXORscw5VLw6 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 Wed 2025-06-18 09:42:34, Anshuman Khandual wrote: > Add a new format for printing page table entries. How many users do you explect, please? This patch adds only one caller. It does not justify the added complexity. > @@ -2542,6 +2545,23 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr, > default: > return error_string(buf, end, "(einval)", spec); > } > + case 'p': Please, do not opencode this in the already very long switch(). Move it to a helper function. > + if (fmt[1] == 't' && fmt[2] == 'e') { > + pte_t *pte = (pte_t *)ptr; If the value (pointer) gets dereferenced then please add a basic check: if (check_pointer(&buf, end, ptr, spec)) return buf; > + spec.field_width = 10; > + spec.precision = 8; Is she precision = 8 really needed? I guess that .field_width + ZEROPAD would do the trick. And them maybe special_hex_number() might be used instead of number() and safe a lot of code. > + spec.base = 16; > + spec.flags = SPECIAL | SMALL | ZEROPAD; > + if (sizeof(pte_t) == sizeof(u64)) { > + u64 val = pte_val(*pte); > + > + return number(buf, end, val, spec); > + } > + WARN_ONCE(1, "Non standard pte_t\n"); This is nasty. It should be a compile-time check. And the code should get fixed on all architectures. If it is not easy then it might be a signal that the generic %ppte flag is not a good idea. > + return error_string(buf, end, "(einval)", spec); > + } > + fallthrough; > default: > return default_pointer(buf, end, ptr, spec); > } Best Regards, Petr