Commit ce48ebdd authored by Jakub Kicinski's avatar Jakub Kicinski

genetlink: limit the use of validation workarounds to old ops

During review of previous change another thing came up - we should
limit the use of validation workarounds to old commands.
Don't list the workarounds one by one, as we're rejecting all existing
ones. We can deal with the masking in the unlikely event that new flag
is added.

Link: https://lore.kernel.org/all/6ba9f727e555fd376623a298d5d305ad408c3d47.camel@sipsolutions.net/
Link: https://lore.kernel.org/r/20221026001524.1892202-1-kuba@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 9f172134
...@@ -380,6 +380,8 @@ static int genl_validate_ops(const struct genl_family *family) ...@@ -380,6 +380,8 @@ static int genl_validate_ops(const struct genl_family *family)
genl_get_cmd_by_index(i, family, &op); genl_get_cmd_by_index(i, family, &op);
if (op.dumpit == NULL && op.doit == NULL) if (op.dumpit == NULL && op.doit == NULL)
return -EINVAL; return -EINVAL;
if (WARN_ON(op.cmd >= family->resv_start_op && op.validate))
return -EINVAL;
for (j = i + 1; j < genl_get_cmd_cnt(family); j++) { for (j = i + 1; j < genl_get_cmd_cnt(family); j++) {
struct genl_ops op2; struct genl_ops op2;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment