On Wed, Jun 21, 2023 at 12:47:30PM +0300, Dan Carpenter wrote: > The patchset doesn't include the actual interesting changes, just a > bunch of mechanical prep work. > I was wrong here, the patchset just hadn't all hit the mailing lists. I can't apply this patchset to anything. I tried linux-next, net, and net-next. So it's hard to review. It looks like ensure_safe_net_sysctl() never got update to use table_size... You could easily write a static checker test to print a warning any time that ->procname is checked for NULL. I have attached a Smatch check. You would need to added to check_list.h and recompile. net/sysctl_net.c:130 ensure_safe_net_sysctl() warn: checking ->procname 'ent->procname' regards, dan carpenter
#include "smatch.h" #include "smatch_slist.h" static int my_id; static void match_condition(struct expression *expr) { char *member_name; if (expr->type == EXPR_COMPARE) return; member_name = get_member_name(expr); if (!member_name) return; if (strcmp(member_name, "(struct ctl_table)->procname") == 0) sm_warning("checking ->procname '%s'", expr_to_str(expr)); } void check_checking_procname(int id) { my_id = id; add_hook(&match_condition, CONDITION_HOOK); }