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.

Reply via email to