* Re: [PATCH v1 0/2] Simplify implementation of strscpy()
[not found] ` <auoxn2Pe10D4HPKm@ashevche-desk.local>
@ 2026-11-03 23:21 ` Alejandro Colomar
0 siblings, 0 replies; only message in thread
From: Alejandro Colomar @ 2026-11-03 23:21 UTC (permalink / raw)
To: Andy Shevchenko, Chris Li, linux-sparse
Cc: Alejandro Colomar, Kees Cook, linux-hardening, Andy Shevchenko
[-- Attachment #1: Type: text/plain, Size: 1601 bytes --]
Hi Andy,
> Date: 2026-11-03 21:10:23+0200
> From: Andy Shevchenko <andriy.shevchenko@intel.com>
>
> On Tue, Nov 03, 2026 at 02:27:08PM +0100, Alejandro Colomar wrote:
> >
> > Here's a simpler implementation of the default arguments in strscpy(9).
> > It avoids having to build concatenated names, the ignored '...' in
> > __strscpy0, counting arguments, etc. It's replaced by a quite simple
> > macro that takes two arguments, and picks the last non-empty one.
> >
> > It requires a C23 feature, but it's supported as a GNU extension in
> > GNU C11 mode, and was implemented a long time ago, so it should be fine.
>
> Yes and no.
> See 551d44200152 ("default_gfp(): avoid using the "newfangled" __VA_OPT__ trick")
> for the details.
Hmmmm, so sparse is a problem. DEFARG() cannot be implemented with
##__VA_ARGS__ (I believe), so I think this is frozen until sparse is
improved to add support for __VA_OPT__.
The implementation in that commit you pointed takes advantage of the
fact that the default value is hard-coded in the macro, and the macro
has zero fixed parameters, which makes it work, but if you add one fixed
parameter (which we need for a generic DEFARG() macro), then it doesn't
work. GCC's ## is quite limited compared to __VA_OPT__().
I've CCed the sparse matinainer and mailing list. Let's see if they can
add support for __VA_OPT__().
> So far NAK from me.
Makes sense. Thanks for the review!
Have a lovely night!
Alex
>
> --
> With Best Regards,
> Andy Shevchenko
>
>
>
--
<https://www.alejandro-colomar.es>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-11-03 23:21 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <cover.1793712214.git.alx@kernel.org>
[not found] ` <auoxn2Pe10D4HPKm@ashevche-desk.local>
2026-11-03 23:21 ` [PATCH v1 0/2] Simplify implementation of strscpy() Alejandro Colomar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox