Message ID | 20240831121707.17562-1-jdamato@fastly.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 4e3a024b437ec0aee82550cc66a0f4e1a7a88a67 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] netdev-genl: Set extack and fix error on napi-get | expand |
On Sat, Aug 31, 2024 at 12:17:04PM +0000, Joe Damato wrote: > In commit 27f91aaf49b3 ("netdev-genl: Add netlink framework functions > for napi"), when an invalid NAPI ID is specified the return value > -EINVAL is used and no extack is set. > > Change the return value to -ENOENT and set the extack. > > Before this commit: > > $ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/netdev.yaml \ > --do napi-get --json='{"id": 451}' > Netlink error: Invalid argument > nl_len = 36 (20) nl_flags = 0x100 nl_type = 2 > error: -22 > > After this commit: > > $ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/netdev.yaml \ > --do napi-get --json='{"id": 451}' > Netlink error: No such file or directory > nl_len = 44 (28) nl_flags = 0x300 nl_type = 2 > error: -2 > extack: {'bad-attr': '.id'} > > Cc: Amritha Nambiar <amritha.nambiar@intel.com> > Cc: stable@kernel.org > Suggested-by: Jakub Kicinski <kuba@kernel.org> > Fixes: 27f91aaf49b3 ("netdev-genl: Add netlink framework functions for napi") > Signed-off-by: Joe Damato <jdamato@fastly.com> > --- > net/core/netdev-genl.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/net/core/netdev-genl.c b/net/core/netdev-genl.c > index 05f9515d2c05..a17d7eaeb001 100644 > --- a/net/core/netdev-genl.c > +++ b/net/core/netdev-genl.c > @@ -216,10 +216,12 @@ int netdev_nl_napi_get_doit(struct sk_buff *skb, struct genl_info *info) > rtnl_lock(); > > napi = napi_by_id(napi_id); > - if (napi) > + if (napi) { > err = netdev_nl_napi_fill_one(rsp, napi, info); > - else > - err = -EINVAL; > + } else { > + NL_SET_BAD_ATTR(info->extack, info->attrs[NETDEV_A_NAPI_ID]); > + err = -ENOENT; > + } > > rtnl_unlock(); > > -- > 2.25.1 Based on Eric's comment regarding my other patch [1], I should probably re-submit this against net-next instead of net. It's been over 48 hours, but I'll wait a bit longer before resubmitting. [1]: https://lore.kernel.org/all/CANn89iLhrKyFKf9DpJSSM9CZ9sgoRo7jovg2GhjsJABoqzzVsQ@mail.gmail.com/
On Mon, 2 Sep 2024 20:52:15 +0200 Joe Damato wrote: > Based on Eric's comment regarding my other patch [1], I should > probably re-submit this against net-next instead of net. > > It's been over 48 hours, but I'll wait a bit longer before > resubmitting. Change is simple enough, I'll strip the tags and apply to net-next. Thanks!
Hello: This patch was applied to netdev/net-next.git (main) by Jakub Kicinski <kuba@kernel.org>: On Sat, 31 Aug 2024 12:17:04 +0000 you wrote: > In commit 27f91aaf49b3 ("netdev-genl: Add netlink framework functions > for napi"), when an invalid NAPI ID is specified the return value > -EINVAL is used and no extack is set. > > Change the return value to -ENOENT and set the extack. > > Before this commit: > > [...] Here is the summary with links: - [net] netdev-genl: Set extack and fix error on napi-get https://git.kernel.org/netdev/net-next/c/4e3a024b437e You are awesome, thank you!
diff --git a/net/core/netdev-genl.c b/net/core/netdev-genl.c index 05f9515d2c05..a17d7eaeb001 100644 --- a/net/core/netdev-genl.c +++ b/net/core/netdev-genl.c @@ -216,10 +216,12 @@ int netdev_nl_napi_get_doit(struct sk_buff *skb, struct genl_info *info) rtnl_lock(); napi = napi_by_id(napi_id); - if (napi) + if (napi) { err = netdev_nl_napi_fill_one(rsp, napi, info); - else - err = -EINVAL; + } else { + NL_SET_BAD_ATTR(info->extack, info->attrs[NETDEV_A_NAPI_ID]); + err = -ENOENT; + } rtnl_unlock();
In commit 27f91aaf49b3 ("netdev-genl: Add netlink framework functions for napi"), when an invalid NAPI ID is specified the return value -EINVAL is used and no extack is set. Change the return value to -ENOENT and set the extack. Before this commit: $ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/netdev.yaml \ --do napi-get --json='{"id": 451}' Netlink error: Invalid argument nl_len = 36 (20) nl_flags = 0x100 nl_type = 2 error: -22 After this commit: $ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/netdev.yaml \ --do napi-get --json='{"id": 451}' Netlink error: No such file or directory nl_len = 44 (28) nl_flags = 0x300 nl_type = 2 error: -2 extack: {'bad-attr': '.id'} Cc: Amritha Nambiar <amritha.nambiar@intel.com> Cc: stable@kernel.org Suggested-by: Jakub Kicinski <kuba@kernel.org> Fixes: 27f91aaf49b3 ("netdev-genl: Add netlink framework functions for napi") Signed-off-by: Joe Damato <jdamato@fastly.com> --- net/core/netdev-genl.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)