Make sure to return -EINVAL when the supplied string is bigger then IB_DEVICE_NODE_DESC_MAX. Fixes: c5bcbbb9fe00 ("IB: Allow userspace to set node description") Signed-off-by: Kamal Heib <kamalheib1@xxxxxxxxx> --- drivers/infiniband/core/sysfs.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c index 087682e6969e..55f4d7c1fcc9 100644 --- a/drivers/infiniband/core/sysfs.c +++ b/drivers/infiniband/core/sysfs.c @@ -1265,10 +1265,13 @@ static ssize_t node_desc_store(struct device *device, struct ib_device_modify desc = {}; int ret; + if (count > IB_DEVICE_NODE_DESC_MAX) + return -EINVAL; + if (!dev->ops.modify_device) return -EOPNOTSUPP; - memcpy(desc.node_desc, buf, min_t(int, count, IB_DEVICE_NODE_DESC_MAX)); + memcpy(desc.node_desc, buf, count); ret = ib_modify_device(dev, IB_DEVICE_MODIFY_NODE_DESC, &desc); if (ret) return ret; -- 2.21.1