[...] > +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