Linux SPARSE checker discussions
 help / color / mirror / Atom feed
* 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