public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Petr Vorel <pvorel@suse.cz>
To: Cyril Hrubis <chrubis@suse.cz>
Cc: Mark Wielaard <mark@klomp.org>,
	Martin Cermak <mcermak@redhat.com>,
	ltp@lists.linux.it
Subject: Re: [LTP] [PATCH] mmap04: Make sure the scanf address format is at least 8 hex chars
Date: Mon, 22 Sep 2025 23:26:45 +0200	[thread overview]
Message-ID: <20250922212645.GA57626@pevik> (raw)
In-Reply-To: <aNEJyIv9QdQdyKQN@yuki.lan>

Hi Mark, Cyril,

> Hi!
> > > > The addresses in /proc/self/maps are at least 8 hex chars. Zeros are
> > > > added to the front of the address when shorted (both on 32bit and
> > > > 64bit systems.

> > > > Under valgrind the mmaps used in kernel/syscalls/mmap/mmap04.c come
> > > > out very low in the address space and might be shorter than 8 hex
> > > > chars. This causes the scanf to fail:
> > > > mmap04.c:62: TBROK: Expected 1 conversions got 0 FILE '/proc/self/maps'

> > > I guess I do not understand the problem here. The PRIxPTR translates to
> > > "x", "lx", or "llx" depending on architecture and as far as I can tell
> > > the %x modifier handles leading zeroes just fine.

> > The problem is that we want to match (scanf) an absolute address
> > (addr2) at the start of the line. It is this absolute/literal address
> > that doesn't match (because it might not have leading zeros).

> > e.g. We might want to match the address 403a000 and want to match
> > against: 0403a000-04048000 rw-p

> > When creating the fmt which we want to use for scanf we currently
> > generate: "403a000-%*x %s" Which doesn't match because it is missing
> > the leading zero (the "-%*x %s" would match the rest, except that the
> > start of the line doesn't). So with the "%08" fix we would generate:
> > "0403a000-%*x %s" which does match because it has the same number of
> > leading zeros.

> Ah right, I'm blind, we generate the fmt on the fly. In that case
> padding to eight zeroes will match what kernel does.

Mark, thanks for fixing our test! Merged.

Kind regards,
Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

      reply	other threads:[~2025-09-22 21:27 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-18 15:26 [LTP] [PATCH] mmap04: Make sure the scanf address format is at least 8 hex chars Mark Wielaard
2025-09-18 15:30 ` Mark Wielaard
2025-09-22  7:48 ` Cyril Hrubis
2025-09-22  8:24   ` Mark Wielaard
2025-09-22  8:33     ` Cyril Hrubis
2025-09-22 21:26       ` Petr Vorel [this message]

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=20250922212645.GA57626@pevik \
    --to=pvorel@suse.cz \
    --cc=chrubis@suse.cz \
    --cc=ltp@lists.linux.it \
    --cc=mark@klomp.org \
    --cc=mcermak@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox