Tue, Jan 15, 2019 at 01:50:03AM CET, jakub.kicin...@netronome.com wrote:

[...]

>+static int devlink_nl_info_sn_fill(struct sk_buff *msg, struct devlink 
>*devlink,
>+                                 struct netlink_ext_ack *extack)
>+{
>+      unsigned char sn[32];

:/ Not good to have number directly here.

>+      size_t len = 0;
>+      int err;
>+
>+      if (!devlink->ops->serial_get)
>+              return 0;
>+
>+      err = devlink->ops->serial_get(devlink, sn, ARRAY_SIZE(sn), &len,
>+                                     extack);

Maybe it would be good to have a helper to fill this as well. That way,
driver could pass buffer of any length and helper would encode it into
skb.



>+      if (err)
>+              return err;
>+
>+      return nla_put(msg, DEVLINK_ATTR_INFO_SERIAL_NUMBER, len, sn);
>+}

[...]

Reply via email to