All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] libtraceevent utest: exit test if mmap fails
@ 2026-05-26 18:42 Sudip Mukherjee
  2026-05-29 18:41 ` Steven Rostedt
  0 siblings, 1 reply; 7+ messages in thread
From: Sudip Mukherjee @ 2026-05-26 18:42 UTC (permalink / raw)
  To: rostedt; +Cc: linux-trace-devel, Sudip Mukherjee

CU_TEST() continues execution even if the test fails. It just records
that the test has failed and moves on.
So, when libtraceevent is built in a chroot, it can open
/sys/kernel/btf/vmlinux but fails in mmap stage and since CU_TEST()
does not stop so we get a segfault when tep_load_btf() tries to use
the mapped buffer.

Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
---
 utest/traceevent-utest.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/utest/traceevent-utest.c b/utest/traceevent-utest.c
index b62411c..547619d 100644
--- a/utest/traceevent-utest.c
+++ b/utest/traceevent-utest.c
@@ -397,6 +397,12 @@ static void test_btf_read(void)
 	CU_TEST(fstat(fd, &st) == 0);
 
 	buf = mmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
+	if (buf == MAP_FAILED) {
+		printf("kernel has btf, but it might be a chroot and mmap has failed\n");
+		close(fd);
+		return;
+	}
+
 	CU_TEST(buf != MAP_FAILED);
 
 	CU_TEST(tep_load_btf(test_tep, buf, st.st_size) == 0);
-- 
2.39.5


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] libtraceevent utest: exit test if mmap fails
  2026-05-26 18:42 [PATCH] libtraceevent utest: exit test if mmap fails Sudip Mukherjee
@ 2026-05-29 18:41 ` Steven Rostedt
  2026-06-15 19:25   ` Sudip Mukherjee
  0 siblings, 1 reply; 7+ messages in thread
From: Steven Rostedt @ 2026-05-29 18:41 UTC (permalink / raw)
  To: Sudip Mukherjee; +Cc: linux-trace-devel, Emil Thorsoe

On Tue, 26 May 2026 19:42:19 +0100
Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:

> CU_TEST() continues execution even if the test fails. It just records
> that the test has failed and moves on.
> So, when libtraceevent is built in a chroot, it can open
> /sys/kernel/btf/vmlinux but fails in mmap stage and since CU_TEST()
> does not stop so we get a segfault when tep_load_btf() tries to use
> the mapped buffer.
> 
> Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>

Thanks, but the real fix is here and I'm applying that one:

  https://lore.kernel.org/all/d6e07cd6-cb78-4119-a048-920ca58b4830@tuxera.com/

-- Steve

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] libtraceevent utest: exit test if mmap fails
  2026-05-29 18:41 ` Steven Rostedt
@ 2026-06-15 19:25   ` Sudip Mukherjee
  2026-06-16 20:48     ` Steven Rostedt
  0 siblings, 1 reply; 7+ messages in thread
From: Sudip Mukherjee @ 2026-06-15 19:25 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: linux-trace-devel, Emil Thorsoe

Hi Steve,

On Fri, 29 May 2026 at 19:41, Steven Rostedt <rostedt@goodmis.org> wrote:
>
> On Tue, 26 May 2026 19:42:19 +0100
> Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:
>
> > CU_TEST() continues execution even if the test fails. It just records
> > that the test has failed and moves on.
> > So, when libtraceevent is built in a chroot, it can open
> > /sys/kernel/btf/vmlinux but fails in mmap stage and since CU_TEST()
> > does not stop so we get a segfault when tep_load_btf() tries to use
> > the mapped buffer.
> >
> > Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
>
> Thanks, but the real fix is here and I'm applying that one:
>
>   https://lore.kernel.org/all/d6e07cd6-cb78-4119-a048-920ca58b4830@tuxera.com/

Tried it today, and the test still fails for me.

Suite: traceevent library
  Test: parse dynamic string event ...irq=0 handler=hellopassed
  Test: parse old dynamic string event ...irq=0 handler=hellopassed
  Test: parse full cpumask ...cpumask=0-63passed
  Test: parse empty cpumask ...cpumask=passed
  Test: parse half-filled cpumask
...cpumask=0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62passed
  Test: parse cpumask spanning 2 bytes ...cpumask=0,15passed
  Test: parse cpumask spanning 3 bytes ...cpumask=0,23passed
  Test: parse cpumask spanning all bytes ...cpumask=0,63passed
  Test: parse sizeof() 8byte values ...int=4 unsigned=4 unsigned int=4
long=8 unsigned long=8 long long=8 unsigned long long=8 s4=4 u4=4 s8=8
u8=8passed
  Test: parse sizeof() 4byte values ...int=4 unsigned=4 unsigned int=4
long=4 unsigned long=4 long long=8 unsigned long long=8 s4=4 u4=4 s8=8
u8=8passed
  Test: parse sizeof() no long size defined ...[FAILED TO PARSE] s4=0
u4=0 s8=0 u8=0x0passed
  Test: read BTF ...FAILED
    1. traceevent-utest.c:410  - read(fd, buf, st.st_size) == st.st_size
    2. traceevent-utest.c:412  - tep_load_btf(test_tep, buf, st.st_size) == 0
    3. traceevent-utest.c:429  - strcmp(s->buffer,
"getname_flags(filename=0x7ffe7d33f3d0, flags=0)\n") == 0

Run Summary:    Type  Total    Ran Passed Failed Inactive
              suites      1      1    n/a      0        0
               tests     12     12     11      1        0
             asserts     46     46     43      3      n/a



-- 
Regards
Sudip

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] libtraceevent utest: exit test if mmap fails
  2026-06-15 19:25   ` Sudip Mukherjee
@ 2026-06-16 20:48     ` Steven Rostedt
  2026-11-07 16:24       ` Sudip Mukherjee
  0 siblings, 1 reply; 7+ messages in thread
From: Steven Rostedt @ 2026-06-16 20:48 UTC (permalink / raw)
  To: Sudip Mukherjee; +Cc: linux-trace-devel, Emil Thorsoe

On Mon, 15 Jun 2026 20:25:08 +0100
Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:

> Hi Steve,
> 
> On Fri, 29 May 2026 at 19:41, Steven Rostedt <rostedt@goodmis.org> wrote:
> >
> > On Tue, 26 May 2026 19:42:19 +0100
> > Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:
> >  
> > > CU_TEST() continues execution even if the test fails. It just records
> > > that the test has failed and moves on.
> > > So, when libtraceevent is built in a chroot, it can open
> > > /sys/kernel/btf/vmlinux but fails in mmap stage and since CU_TEST()
> > > does not stop so we get a segfault when tep_load_btf() tries to use
> > > the mapped buffer.
> > >
> > > Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>  
> >
> > Thanks, but the real fix is here and I'm applying that one:
> >
> >   https://lore.kernel.org/all/d6e07cd6-cb78-4119-a048-920ca58b4830@tuxera.com/  
> 
> Tried it today, and the test still fails for me.

Thanks for letting me know. I currently just started a new job and I'm
a bit overwhelmed. It may be a couple more weeks before I get to this.

-- Steve

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] libtraceevent utest: exit test if mmap fails
  2026-06-16 20:48     ` Steven Rostedt
@ 2026-11-07 16:24       ` Sudip Mukherjee
  2026-11-07 21:20         ` Steven Rostedt
  0 siblings, 1 reply; 7+ messages in thread
From: Sudip Mukherjee @ 2026-11-07 16:24 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: linux-trace-devel, Emil Thorsoe

Hi Steve,

On Tue, Jun 16, 2026 at 04:48:12PM -0400, Steven Rostedt wrote:
> On Mon, 15 Jun 2026 20:25:08 +0100
> Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:
> 
> > Hi Steve,
> > 
> > On Fri, 29 May 2026 at 19:41, Steven Rostedt <rostedt@goodmis.org> wrote:
> > >
> > > On Tue, 26 May 2026 19:42:19 +0100
> > > Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:
> > >  
> > > > CU_TEST() continues execution even if the test fails. It just records
> > > > that the test has failed and moves on.
> > > > So, when libtraceevent is built in a chroot, it can open
> > > > /sys/kernel/btf/vmlinux but fails in mmap stage and since CU_TEST()
> > > > does not stop so we get a segfault when tep_load_btf() tries to use
> > > > the mapped buffer.
> > > >
> > > > Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>  
> > >
> > > Thanks, but the real fix is here and I'm applying that one:
> > >
> > >   https://lore.kernel.org/all/d6e07cd6-cb78-4119-a048-920ca58b4830@tuxera.com/  
> > 
> > Tried it today, and the test still fails for me.
> 
> Thanks for letting me know. I currently just started a new job and I'm
> a bit overwhelmed. It may be a couple more weeks before I get to this.

Not sure if you had a chance to look at it. I was looking at it now while
updating the Debian package. It seems like btf_init() is failing when its
doing if (btf->hdr->hdr_len < sizeof(*btf->hdr)). Adding a debug there shows,
btf->hdr->hdr_len is 24 whereas sizeof(*btf->hdr) is 32.

Tried on a chroot and also on a VM, both shows the same problem in Debian.

-- 
Regards
Sudip

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] libtraceevent utest: exit test if mmap fails
  2026-11-07 16:24       ` Sudip Mukherjee
@ 2026-11-07 21:20         ` Steven Rostedt
  2026-11-08 11:02           ` Sudip Mukherjee
  0 siblings, 1 reply; 7+ messages in thread
From: Steven Rostedt @ 2026-11-07 21:20 UTC (permalink / raw)
  To: Sudip Mukherjee; +Cc: linux-trace-devel, Emil Thorsoe

On Sat, 7 Nov 2026 16:24:32 +0000
Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:

> Hi Steve,
> 
> On Tue, Jun 16, 2026 at 04:48:12PM -0400, Steven Rostedt wrote:
> > On Mon, 15 Jun 2026 20:25:08 +0100
> > Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:
> >   
> > > Hi Steve,
> > > 
> > > On Fri, 29 May 2026 at 19:41, Steven Rostedt <rostedt@goodmis.org> wrote:  
> > > >
> > > > On Tue, 26 May 2026 19:42:19 +0100
> > > > Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:
> > > >    
> > > > > CU_TEST() continues execution even if the test fails. It just records
> > > > > that the test has failed and moves on.
> > > > > So, when libtraceevent is built in a chroot, it can open
> > > > > /sys/kernel/btf/vmlinux but fails in mmap stage and since CU_TEST()
> > > > > does not stop so we get a segfault when tep_load_btf() tries to use
> > > > > the mapped buffer.
> > > > >
> > > > > Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>    
> > > >
> > > > Thanks, but the real fix is here and I'm applying that one:
> > > >
> > > >   https://lore.kernel.org/all/d6e07cd6-cb78-4119-a048-920ca58b4830@tuxera.com/    
> > > 
> > > Tried it today, and the test still fails for me.  
> > 
> > Thanks for letting me know. I currently just started a new job and I'm
> > a bit overwhelmed. It may be a couple more weeks before I get to this.  
> 
> Not sure if you had a chance to look at it. I was looking at it now while
> updating the Debian package. It seems like btf_init() is failing when its
> doing if (btf->hdr->hdr_len < sizeof(*btf->hdr)). Adding a debug there shows,
> btf->hdr->hdr_len is 24 whereas sizeof(*btf->hdr) is 32.
> 
> Tried on a chroot and also on a VM, both shows the same problem in Debian.
> 

Bah, because I thought the fix was elsewhere I marked it as
"superseded" and forgot I did that. When you said it was different, I
was traveling and didn't bother to check patchwork to reset it back to
New.

   https://patchwork.kernel.org/project/linux-trace-devel/patch/20260526184219.408223-1-sudipm.mukherjee@gmail.com/

If it's not visible in patchwork, it's not visible to me :-/

I'll go and set it now to New. Thanks for keeping up on it.

-- Steve



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] libtraceevent utest: exit test if mmap fails
  2026-11-07 21:20         ` Steven Rostedt
@ 2026-11-08 11:02           ` Sudip Mukherjee
  0 siblings, 0 replies; 7+ messages in thread
From: Sudip Mukherjee @ 2026-11-08 11:02 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: linux-trace-devel, Emil Thorsoe

On Sat, 7 Nov 2026 at 21:20, Steven Rostedt <rostedt@goodmis.org> wrote:
>
> On Sat, 7 Nov 2026 16:24:32 +0000
> Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:
>
> > Hi Steve,
> >
> > On Tue, Jun 16, 2026 at 04:48:12PM -0400, Steven Rostedt wrote:
> > > On Mon, 15 Jun 2026 20:25:08 +0100
> > > Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:
> > >
> > > > Hi Steve,
> > > >
> > > > On Fri, 29 May 2026 at 19:41, Steven Rostedt <rostedt@goodmis.org> wrote:
> > > > >
> > > > > On Tue, 26 May 2026 19:42:19 +0100
> > > > > Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:
> > > > >
> > > > > > CU_TEST() continues execution even if the test fails. It just records
> > > > > > that the test has failed and moves on.
> > > > > > So, when libtraceevent is built in a chroot, it can open
> > > > > > /sys/kernel/btf/vmlinux but fails in mmap stage and since CU_TEST()
> > > > > > does not stop so we get a segfault when tep_load_btf() tries to use
> > > > > > the mapped buffer.
> > > > > >
> > > > > > Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
> > > > >
> > > > > Thanks, but the real fix is here and I'm applying that one:
> > > > >
> > > > >   https://lore.kernel.org/all/d6e07cd6-cb78-4119-a048-920ca58b4830@tuxera.com/
> > > >
> > > > Tried it today, and the test still fails for me.
> > >
> > > Thanks for letting me know. I currently just started a new job and I'm
> > > a bit overwhelmed. It may be a couple more weeks before I get to this.
> >
> > Not sure if you had a chance to look at it. I was looking at it now while
> > updating the Debian package. It seems like btf_init() is failing when its
> > doing if (btf->hdr->hdr_len < sizeof(*btf->hdr)). Adding a debug there shows,
> > btf->hdr->hdr_len is 24 whereas sizeof(*btf->hdr) is 32.
> >
> > Tried on a chroot and also on a VM, both shows the same problem in Debian.
> >
>
> Bah, because I thought the fix was elsewhere I marked it as
> "superseded" and forgot I did that. When you said it was different, I
> was traveling and didn't bother to check patchwork to reset it back to
> New.
>
>    https://patchwork.kernel.org/project/linux-trace-devel/patch/20260526184219.408223-1-sudipm.mukherjee@gmail.com/

The  patch which superseded it seems to be correct, mmap fails and it
copies the content to a buffer and uses that buffer.
But for some reason the len and size does not match. So decided to
flag it to you instead of disabling the test in Debian package. So, it
should ideally be a new issue.

-- 
Regards
Sudip

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-11-08 11:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-26 18:42 [PATCH] libtraceevent utest: exit test if mmap fails Sudip Mukherjee
2026-05-29 18:41 ` Steven Rostedt
2026-06-15 19:25   ` Sudip Mukherjee
2026-06-16 20:48     ` Steven Rostedt
2026-11-07 16:24       ` Sudip Mukherjee
2026-11-07 21:20         ` Steven Rostedt
2026-11-08 11:02           ` Sudip Mukherjee

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.