[...]

> +static void nvmet_add_to_changed_ns_log(struct nvmet_ctrl *ctrl, u32 nsid)
> +{
> +     mutex_lock(&ctrl->lock);
> +     if (ctrl->nr_changed_ns < NVME_MAX_CHANGED_NAMESPACES) {
> +             ctrl->changed_ns_list[ctrl->nr_changed_ns++] =
> +                     cpu_to_le32(nsid);
> +     } else if (ctrl->nr_changed_ns == NVME_MAX_CHANGED_NAMESPACES) {
> +             ctrl->changed_ns_list[0] = cpu_to_le32(0xffffffff);
> +     }

Unless I'm missing it happening somewhere else, the list-full case that sets 
element 0 to 0xffffffff should also explicitly zero out the rest of the list to 
satisfy the "remainder of the list shall be zero-filled" wording in the spec, 
since the other changed_ns_list entries will be filled with non-zero NSIDs when 
we get here.

-- Daniel

Reply via email to