Handle the last (edge) case:
- nf_log.c: ignore sysctl table with template set at run-time.

And re-enable the macro.

Signed-off-by: Mauricio Faria de Oliveira <[email protected]>
---
 include/linux/sysctl.h | 3 ---
 net/netfilter/nf_log.c | 9 +++++----
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h
index 
9e00a086ff1d47ab18021b3d79b0e8a93037cb2d..7e05fafd5544e1c4a3283dc13b0692f39515d01e
 100644
--- a/include/linux/sysctl.h
+++ b/include/linux/sysctl.h
@@ -309,9 +309,6 @@ struct ctl_table_root {
  *
  * Define the macro SYSCTL_MODULE_ALIASES_DISABLE to disable this.
  */
-
-#define SYSCTL_MODULE_ALIASES_DISABLE
-
 #if defined(CONFIG_SYSCTL_MODULE_ALIASES) && defined(MODULE) &&                
        \
     !defined(SYSCTL_MODULE_ALIASES_DISABLE)
 
diff --git a/net/netfilter/nf_log.c b/net/netfilter/nf_log.c
index 
f4d80654dfe6ab6abd886e224f400e4444bcd29b..ed4a5a6b8d95b82676397f6747ef5d988c9060ea
 100644
--- a/net/netfilter/nf_log.c
+++ b/net/netfilter/nf_log.c
@@ -518,10 +518,11 @@ static int netfilter_log_sysctl_init(struct net *net)
        for (i = NFPROTO_UNSPEC; i < NFPROTO_NUMPROTO; i++)
                table[i].extra2 = net;
 
-       net->nf.nf_log_dir_header = register_net_sysctl_sz(net,
-                                                          
"net/netfilter/nf_log",
-                                                          table,
-                                                          
ARRAY_SIZE(nf_log_sysctl_table));
+       /* MODULE_SYSCTL_TABLE(): template table's .procname set at run-time. */
+       net->nf.nf_log_dir_header = __register_net_sysctl_sz(net,
+                                                            
"net/netfilter/nf_log",
+                                                            table,
+                                                            
ARRAY_SIZE(nf_log_sysctl_table));
        if (!net->nf.nf_log_dir_header)
                goto err_reg;
 

-- 
2.47.3


Reply via email to