[PATCH] NVMe:Expose model attribute in sysfs

Matthew Wilcox willy at linux.intel.com
Tue Aug 25 08:38:54 PDT 2015


On Tue, Aug 25, 2015 at 10:24:39AM +0530, Sujith Pandel wrote:
> @@ -2360,6 +2360,7 @@ static int nvme_dev_add(struct nvme_dev *dev)
>  	dev->vwc = ctrl->vwc;
>  	memcpy(dev->serial, ctrl->sn, sizeof(ctrl->sn));
>  	memcpy(dev->model, ctrl->mn, sizeof(ctrl->mn));
> +	dev->model[sizeof(ctrl->mn) - 1] = '\0';
>  	memcpy(dev->firmware_rev, ctrl->fr, sizeof(ctrl->fr));
>  	if (ctrl->mdts)
>  		dev->max_hw_sectors = 1 << (ctrl->mdts + shift - 9);

You've overwritten the last byte of the model name with a NUL byte.  There
could be useful information in that byte.

> +/* Expose model name in sysfs */
> +static ssize_t nvme_sysfs_model(struct device *dev,
> +				struct device_attribute *attr, char *buf)
> +{
> +	struct nvme_dev *ndev = dev_get_drvdata(dev);
> +
> +	return sprintf(buf, "%s\n", ndev->model);

Instead, how about:

	return sprintf(buf, "%.40s\n", ndev->model);




More information about the Linux-nvme mailing list