Re: [LTP] [PATCH v5] swapon03: Try to swapon() as many files until it fails

Petr Vorel
2026-01-07T07:54:21Z

Hi all,

> > > > - char cmd_buffer[256];
> > > > + char cmd_buffer[FILENAME_MAX+28];

> > > I'm not sure if +28 is needed.

> > I described the reason in the commit message:

> > It was required to increase cmd_buffer size to avoid directive output
> > may be truncated warning.

> > I get warning on smaller size:

> > swapon03.c:74:60: warning: ‘%s’ directive output may be truncated writing up to 4095 bytes into a region of size 4087 [-Wformat-truncation=]
> > 74 | snprintf(cmd_buffer, sizeof(cmd_buffer), "grep -q '%s.*file' /proc/swaps", filename);
> > | ^~
> > ......
> > 94 | check_and_swapoff(filename);
> > | ~~~~~~~~
> > In file included from /usr/include/stdio.h:970,
> > from swapon03.c:17:
> > In function ‘snprintf’,
> > inlined from ‘check_and_swapoff’ at swapon03.c:74:2,
> > inlined from ‘clean_swap’ at swapon03.c:94:3:
> > /usr/include/x86_64-linux-gnu/bits/stdio2.h:68:10: note: ‘__builtin___snprintf_chk’ output between 29 and 4124 bytes into a destination of size 4096
> > 68 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > 69 | __glibc_objsize (__s), __fmt,
> > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > 70 | __va_arg_pack ());

> > Kind regards,
> > Petr

> Sorry, I missed the git comment. Can you also comment the source code
> please? So we don't guess what's going on in the buffer, based on
> git message.

FYI merged with just added FILENAME_MAX+28 in the commit message to be more
obvious. With recent gcc we can have many fixes like this, I'm not sure if we
want to comment every -Wformat-truncation in the source code.

Thanks to all for a review.
I'll plan to do the rest of the test cleanup as we agreed.

Kind regards,
Petr