[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] drivers/xen/xenbus: Replace deprecated strcpy in xenbus_transaction_end
On 13.10.2025 09:36, Jürgen Groß wrote: > On 13.10.25 08:59, Jan Beulich wrote: >> On 12.10.2025 21:55, Thorsten Blum wrote: >>> --- a/drivers/xen/xenbus/xenbus_xs.c >>> +++ b/drivers/xen/xenbus/xenbus_xs.c >>> @@ -546,16 +546,13 @@ int xenbus_transaction_start(struct >>> xenbus_transaction *t) >>> EXPORT_SYMBOL_GPL(xenbus_transaction_start); >>> >>> /* End a transaction. >>> - * If abandon is true, transaction is discarded instead of committed. >>> + * If abort is true, transaction is discarded instead of committed. >>> */ >>> -int xenbus_transaction_end(struct xenbus_transaction t, int abort) >>> +int xenbus_transaction_end(struct xenbus_transaction t, bool abort) >>> { >>> char abortstr[2]; >>> >>> - if (abort) >>> - strcpy(abortstr, "F"); >>> - else >>> - strcpy(abortstr, "T"); >> >> While at least in principle a compiler might be able to transform this into >> code not using any library function at all, ... >> >>> + strscpy(abortstr, abort ? "F" : "T"); >> >> ... the use of a n on-standard function (without equivalent compiler builtin) >> doesn't permit this. IOW why not simply switch to e.g. >> >> char abortstr[2] = { [0] = abort ? 'F' : 'T' }; > > I would even go further and drop abortstr[] completely: > > diff --git a/drivers/xen/xenbus/xenbus_xs.c b/drivers/xen/xenbus/xenbus_xs.c > index 528682bf0c7f..c891af7165f5 100644 > --- a/drivers/xen/xenbus/xenbus_xs.c > +++ b/drivers/xen/xenbus/xenbus_xs.c > @@ -550,14 +550,8 @@ EXPORT_SYMBOL_GPL(xenbus_transaction_start); > */ > int xenbus_transaction_end(struct xenbus_transaction t, int abort) > { > - char abortstr[2]; > - > - if (abort) > - strcpy(abortstr, "F"); > - else > - strcpy(abortstr, "T"); > - > - return xs_error(xs_single(t, XS_TRANSACTION_END, abortstr, NULL)); > + return xs_error(xs_single(t, XS_TRANSACTION_END, abort ? "F" : "T", > + NULL)); > } > EXPORT_SYMBOL_GPL(xenbus_transaction_end); Hmm, which xs_single() indeed takes a const char *, it then casts away const- ness before handing to xs_talkv(). Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |