Thread (18 messages) 18 messages, 7 authors, 2022-09-02

Re: [PATCH net-next] net: ieee802154: Fix compilation error when CONFIG_IEEE802154_NL802154_EXPERIMENTAL is disabled

From: Leon Romanovsky <leonro@nvidia.com>
Date: 2022-08-31 06:23:47

On Wed, Aug 31, 2022 at 09:20:39AM +0300, Gal Pressman wrote:
On 31/08/2022 09:13, Jakub Kicinski wrote:
quoted
On Tue, 30 Aug 2022 13:12:37 +0300 Gal Pressman wrote:
quoted
When CONFIG_IEEE802154_NL802154_EXPERIMENTAL is disabled,
NL802154_CMD_DEL_SEC_LEVEL is undefined and results in a compilation
error:
net/ieee802154/nl802154.c:2503:19: error: 'NL802154_CMD_DEL_SEC_LEVEL' undeclared here (not in a function); did you mean 'NL802154_CMD_SET_CCA_ED_LEVEL'?
 2503 |  .resv_start_op = NL802154_CMD_DEL_SEC_LEVEL + 1,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                   NL802154_CMD_SET_CCA_ED_LEVEL

Use __NL802154_CMD_AFTER_LAST instead of
'NL802154_CMD_DEL_SEC_LEVEL + 1' to indicate the last command.

Fixes: 9c5d03d36251 ("genetlink: start to validate reserved header bytes")
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Gal Pressman <redacted>
---
 net/ieee802154/nl802154.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/ieee802154/nl802154.c b/net/ieee802154/nl802154.c
index 38c4f3cb010e..dbfd24c70bd0 100644
--- a/net/ieee802154/nl802154.c
+++ b/net/ieee802154/nl802154.c
@@ -2500,7 +2500,7 @@ static struct genl_family nl802154_fam __ro_after_init = {
 	.module = THIS_MODULE,
 	.ops = nl802154_ops,
 	.n_ops = ARRAY_SIZE(nl802154_ops),
-	.resv_start_op = NL802154_CMD_DEL_SEC_LEVEL + 1,
+	.resv_start_op = __NL802154_CMD_AFTER_LAST,
 	.mcgrps = nl802154_mcgrps,
 	.n_mcgrps = ARRAY_SIZE(nl802154_mcgrps),
 };
Thanks for the fix! I think we should switch to 
NL802154_CMD_SET_WPAN_PHY_NETNS + 1, tho.

The point is to set the value to the cmd number after _currently_ 
last defined command. The meta-value like LAST will move next time
someone adds a command, meaning the validation for new commands will
never actually come.
I see, missed that part.

So, shouldn't it be:
#ifdef CONFIG_IEEE802154_NL802154_EXPERIMENTAL
        .resv_start_op = NL802154_CMD_DEL_SEC_LEVEL + 1,
#else
        .resv_start_op = NL802154_CMD_SET_WPAN_PHY_NETNS + 1,
#endif
+1, I wanted to propose the same snippet.

Thanks
?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help