On Wed, Jul 8, 2026, at 12:23, Alexander Mikhalitsyn wrote:
> On Wed, 2026-07-08 at 11:11 +0100, Peter Maydell wrote:
>> On Mon, 6 Jul 2026 at 23:44, Klaus Jensen <[email protected]> wrote:
>> >
>> > From: Alexander Mikhalitsyn <[email protected]>
>> >
>> > Let's block migration for cases we don't support:
>> > - SR-IOV
>> > - CMB
>> > - PMR
>> > - SPDM
>> >
>> > No functional changes here, because NVMe migration is
>> > not supported at all as of this commit.
>>
>> Hi; Coverity has a complaint about this commit (CID 1663673):
>
> Dear Peter,
>
>>
>> > +#define BLOCKER_FEATURES_MAX_LEN 256
>> > +
>> > +static inline void nvme_add_blocker_feature(char *blocker_features,
>> > + const char *feature)
>> > +{
>> > + if (strlen(blocker_features) > 0) {
>> > + g_strlcat(blocker_features, ", ", BLOCKER_FEATURES_MAX_LEN);
>> > + }
>> > + g_strlcat(blocker_features, feature, BLOCKER_FEATURES_MAX_LEN);
>>
>> g_strlcat has a return value to tell us whether it managed to fit
>> all the text in, but we aren't checking it.
>>
>> In this case it looks like that's not a big deal (it does always NUL
>> terminate even if it truncates, and we're only using the string
>> to report migration blockers), but I think it would be nicer to
>> avoid using a fixed-size char array: they're usually a bit more
>> bug-prone.
>>
>> How about we use glib's GPtrArray and g_strjoinv() instead of
>> manually building the string? Something like:
>>
>>
>> g_autoptr(GPtrArray) blocker_features = g_ptr_array_new();
>>
>> if (...) {
>> g_ptr_array_add(blocker_features, "SR-IOV");
>> }
>> [etc...]
>>
>>
>> if (blocker_features->len > 0) {
>> g_autofree blocker_list = NULL;
>>
>> g_ptr_array_add(blocker_features, NULL);
>> blocker_list = g_strjoinv(", ", (void *)blocker_features->pdata);
>> error_setg(&n->migration_blocker,
>> "Migration is not supported for %s", blocker_list);
>> if (migrate_add_blocker(&n->migration_blocker, errp) < 0) {
>> return false;
>> }
>> }
>
> oh, thanks. My bad. :-( Would you like to submit your fix as a patch, or
> should I take your suggestions and send a fixup patch (or update my series)?
>
Alex,
Please send as a patch for master, you can add Suggested-by for Peter :)
Cheers,
Klaus