All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Mladek <pmladek@suse.com>
To: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: linux-mm@kvack.org,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Jonathan Corbet <corbet@lwn.net>,
	Andrew Morton <akpm@linux-foundation.org>,
	David Hildenbrand <david@redhat.com>,
	linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org
Subject: Re: [RFC 1/2] lib/vsprintf: Add support for pte_t
Date: Thu, 19 Jun 2025 16:01:56 +0200	[thread overview]
Message-ID: <aFQYVPmStsIIFcMW@pathway.suse.cz> (raw)
In-Reply-To: <20250618041235.1716143-2-anshuman.khandual@arm.com>

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

  parent reply	other threads:[~2025-06-19 14:02 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-18  4:12 [RFC 0/2] lib/vsprintf: Add support for pte_t Anshuman Khandual
2025-06-18  4:12 ` [RFC 1/2] " Anshuman Khandual
2025-06-18  8:18   ` David Hildenbrand
2025-06-18  8:37     ` Anshuman Khandual
2025-06-18  8:44       ` David Hildenbrand
2025-06-18 18:16         ` Pedro Falcato
2025-06-19 13:08           ` Petr Mladek
2025-06-20  6:00             ` Anshuman Khandual
2025-06-18  8:19   ` David Hildenbrand
2025-06-18  8:33     ` Anshuman Khandual
2025-06-18  8:43       ` David Hildenbrand
2025-06-20  6:30         ` Anshuman Khandual
2025-06-18 17:46   ` Andy Shevchenko
2025-06-19  9:35     ` Anshuman Khandual
2025-06-19 12:00       ` Andy Shevchenko
2025-06-20  6:53         ` Anshuman Khandual
2025-06-21 19:14           ` Andy Shevchenko
2025-06-19 13:12     ` Petr Mladek
2025-06-20  6:38       ` Anshuman Khandual
2025-06-18 18:19   ` Pedro Falcato
2025-06-19  9:53     ` Anshuman Khandual
2025-06-19 13:26   ` Matthew Wilcox
2025-06-20  8:12     ` Anshuman Khandual
2025-06-24 13:11       ` Matthew Wilcox
2025-06-24 14:23         ` Steven Rostedt
2025-06-19 14:01   ` Petr Mladek [this message]
2025-06-20  8:02     ` Anshuman Khandual
2025-06-24 10:48       ` Petr Mladek
2025-06-24 13:09         ` Andy Shevchenko
2025-06-18  4:12 ` [RFC 2/2] kunit: printf: Add test case " Anshuman Khandual

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aFQYVPmStsIIFcMW@pathway.suse.cz \
    --to=pmladek@suse.com \
    --cc=akpm@linux-foundation.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=anshuman.khandual@arm.com \
    --cc=corbet@lwn.net \
    --cc=david@redhat.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=rostedt@goodmis.org \
    --cc=senozhatsky@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.