On Wed, Apr 07, 2021 at 04:14:46PM +0300, Gal Pressman wrote: > On 07/04/2021 15:39, Leon Romanovsky wrote: > >> @@ -1710,7 +1721,8 @@ static int nldev_set_sys_set_doit(struct sk_buff *skb, struct nlmsghdr *nlh, > >> > >> err = nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1, > >> nldev_policy, extack); > >> - if (err || !tb[RDMA_NLDEV_SYS_ATTR_NETNS_MODE]) > >> + if (err || !tb[RDMA_NLDEV_SYS_ATTR_NETNS_MODE] || > >> + tb[RDMA_NLDEV_SYS_ATTR_COPY_ON_FORK]) > > > > Why do we fail if user supplies RDMA_NLDEV_SYS_ATTR_COPY_ON_FORK? > > It's a read-only attribute, if someone tries to set its value I assume it's best > to return an error. Not in netlink world, you need to ignore the parameters that you don't "know how to handle" and check for must-to-be input only. Thanks