From: Daniel Borkmann <dan...@iogearbox.net> Date: Mon, 01 May 2017 12:50:55 +0200
> On 05/01/2017 06:46 AM, Jakub Kicinski wrote: >> Try to carry error messages to the user via the netlink extended >> ack message attribute. >> >> Signed-off-by: Jakub Kicinski <jakub.kicin...@netronome.com> > > [...] >> @@ -1890,16 +1891,17 @@ static int virtnet_xdp_set(struct net_device >> *dev, struct bpf_prog *prog) >> virtio_has_feature(vi->vdev, VIRTIO_NET_F_GUEST_TSO6) || >> virtio_has_feature(vi->vdev, VIRTIO_NET_F_GUEST_ECN) || >> virtio_has_feature(vi->vdev, VIRTIO_NET_F_GUEST_UFO)) { >> - netdev_warn(dev, "can't set XDP while host is implementing LRO, >> disable >> - LRO first\n"); >> + NL_SET_ERR_MSG(extack, "can't set XDP while host is implementing >> LRO, disable LRO first"); > > Should this be NL_MOD_TRY_SET_ERR_MSG() as well like in nfp case > (otherwise the 'if (_extack)' check might be missing from the > macro)? I don't see a path in the doit callchain for setlink/newlink where the extack pointer can be null. I'm going to apply this series and we should either: 1) Guarantee the extack object is always available. or 2) Make all macros including NL_SET_ERR_MSG() check the pointer. Thanks.