Re: [PATCH 06/11] sysctl: Add size to register_net_sysctl function
Dan Carpenter <[email protected]> Wed, 21 Jun 2023 10:49:54 +0000
| Newsgroups | org.kernel.vger.dccp,dev.linux.lists.bridge,dev.linux.lists.mptcp,org.kernel.vger.linux-hams,org.kernel.vger.linux-kernel,org.kernel.vger.linux-rdma,org.kernel.vger.linux-s390,org.kernel.vger.linux-sctp,org.kernel.vger.linux-wpan,org.kernel.vger.linux-x25,org.kernel.vger.lvs-devel,org.kernel.vger.netdev,org.kernel.vger.netfilter-devel |
|---|---|
| Message-ID | <[email protected]> |
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
check_checking_procname.c
(text/x-csrc, 481 B)
#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);
}