null-terminate the sysctl tables, prevent mysterious crash in timer code. --- 25-akpm/net/ipv4/devinet.c | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) diff -puN net/ipv4/devinet.c~devinet-ctl_table-fix net/ipv4/devinet.c --- 25/net/ipv4/devinet.c~devinet-ctl_table-fix Thu Apr 1 15:47:20 2004 +++ 25-akpm/net/ipv4/devinet.c Thu Apr 1 15:47:20 2004 @@ -1211,11 +1211,11 @@ int ipv4_doint_and_flush_strategy(ctl_ta static struct devinet_sysctl_table { struct ctl_table_header *sysctl_header; - ctl_table devinet_vars[20]; - ctl_table devinet_dev[2]; - ctl_table devinet_conf_dir[2]; - ctl_table devinet_proto_dir[2]; - ctl_table devinet_root_dir[2]; + ctl_table devinet_vars[21]; + ctl_table devinet_dev[3]; + ctl_table devinet_conf_dir[3]; + ctl_table devinet_proto_dir[3]; + ctl_table devinet_root_dir[3]; } devinet_sysctl = { .devinet_vars = { { @@ -1373,6 +1373,7 @@ static struct devinet_sysctl_table { .proc_handler = &ipv4_doint_and_flush, .strategy = &ipv4_doint_and_flush_strategy, }, + { .ctl_name = 0 } }, .devinet_dev = { { @@ -1381,6 +1382,7 @@ static struct devinet_sysctl_table { .mode = 0555, .child = devinet_sysctl.devinet_vars, }, + { .ctl_name = 0 } }, .devinet_conf_dir = { { @@ -1389,6 +1391,7 @@ static struct devinet_sysctl_table { .mode = 0555, .child = devinet_sysctl.devinet_dev, }, + { .ctl_name = 0 } }, .devinet_proto_dir = { { @@ -1397,6 +1400,7 @@ static struct devinet_sysctl_table { .mode = 0555, .child = devinet_sysctl.devinet_conf_dir, }, + { .ctl_name = 0 } }, .devinet_root_dir = { { @@ -1405,6 +1409,7 @@ static struct devinet_sysctl_table { .mode = 0555, .child = devinet_sysctl.devinet_proto_dir, }, + { .ctl_name = 0 } }, }; _