]> git.ipfire.org Git - thirdparty/xtables-addons.git/commitdiff
extensions: replace PDE_DATA
authorJeremy Sowden <jeremy@azazel.net>
Fri, 4 Feb 2022 13:26:42 +0000 (14:26 +0100)
committerJan Engelhardt <jengelh@inai.de>
Sat, 5 Feb 2022 17:14:19 +0000 (18:14 +0100)
The `PDE_DATA` function for retrieving private data from a procfs inode
has been replaced by `pde_data` in 5.17.  Replace all instances of the
former with the latter, but add a macro to xtables_compat.h in order to
preserve compatibility with older kernels.

Link: https://lore.kernel.org/lkml/20211124081956.87711-1-songmuchun@bytedance.com/
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
extensions/compat_xtables.h
extensions/pknock/xt_pknock.c
extensions/xt_DNETMAP.c
extensions/xt_condition.c
extensions/xt_quota2.c

index eff3bde91c32191b6ecfe63013e3f34907bccfdc..1feea880057d71ffa8521d96094de42cae72c739 100644 (file)
@@ -26,6 +26,9 @@
 #      define ip_route_me_harder(xnet, xsk, xskb, xaddrtype) ip_route_me_harder((xnet), (xskb), (xaddrtype))
 #      define ip6_route_me_harder(xnet, xsk, xskb) ip6_route_me_harder((xnet), (xskb))
 #endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0)
+#      define pde_data(inode) PDE_DATA(inode)
+#endif
 
 static inline struct net *par_net(const struct xt_action_param *par)
 {
index 3c304e0b20c7b37de3a1e32d731c68d723041a6c..287d525f27d51b39f46bb2e2fbc661a32fdddde8 100644 (file)
@@ -277,7 +277,7 @@ pknock_proc_open(struct inode *inode, struct file *file)
        int ret = seq_open(file, &pknock_seq_ops);
        if (ret == 0) {
                struct seq_file *sf = file->private_data;
-               sf->private = PDE_DATA(inode);
+               sf->private = pde_data(inode);
        }
        return ret;
 }
index b850918325da230117f67722e00a881943398db6..68074e7eb82e9a960f50b9f4efdddb0f9945afc4 100644 (file)
@@ -575,15 +575,14 @@ static int dnetmap_seq_open(struct inode *inode, struct file *file)
        st = __seq_open_private(file, &dnetmap_seq_ops, sizeof(*st));
        if (st == NULL)
                return -ENOMEM;
-
-       st->p = PDE_DATA(inode);
+       st->p = pde_data(inode);
        return 0;
 }
 
 static ssize_t
 dnetmap_tg_proc_write(struct file *file, const char __user *input,size_t size, loff_t *loff)
 {
-       struct dnetmap_prefix *p = PDE_DATA(file_inode(file));
+       struct dnetmap_prefix *p = pde_data(file_inode(file));
        struct dnetmap_entry *e;
        char buf[sizeof("+192.168.100.100:200.200.200.200")];
        const char *c = buf;
@@ -793,7 +792,7 @@ static int dnetmap_stat_proc_show(struct seq_file *m, void *data)
 
 static int dnetmap_stat_proc_open(struct inode *inode, struct file *file)
 {
-       return single_open(file, dnetmap_stat_proc_show, PDE_DATA(inode));
+       return single_open(file, dnetmap_stat_proc_show, pde_data(inode));
 }
 
 static const struct proc_ops dnetmap_stat_proc_fops = {
index cf07966e71b7767333de68c3002c0dd20121cac4..41639c317e7fd6b1730639528d25441f44ff859a 100644 (file)
@@ -83,14 +83,14 @@ static int condition_proc_show(struct seq_file *m, void *data)
 
 static int condition_proc_open(struct inode *inode, struct file *file)
 {
-       return single_open(file, condition_proc_show, PDE_DATA(inode));
+       return single_open(file, condition_proc_show, pde_data(inode));
 }
 
 static ssize_t
 condition_proc_write(struct file *file, const char __user *buffer,
                      size_t length, loff_t *loff)
 {
-       struct condition_variable *var = PDE_DATA(file_inode(file));
+       struct condition_variable *var = pde_data(file_inode(file));
        char newval;
 
        if (length > 0) {
index 70bf0957e8156c6fbe60b72da93a6491cace4d02..182771e26ca0c68895b74bc8d128b20c7f032464 100644 (file)
@@ -73,14 +73,14 @@ static int quota_proc_show(struct seq_file *m, void *data)
 
 static int quota_proc_open(struct inode *inode, struct file *file)
 {
-       return single_open(file, quota_proc_show, PDE_DATA(inode));
+       return single_open(file, quota_proc_show, pde_data(inode));
 }
 
 static ssize_t
 quota_proc_write(struct file *file, const char __user *input,
                  size_t size, loff_t *loff)
 {
-       struct xt_quota_counter *e = PDE_DATA(file_inode(file));
+       struct xt_quota_counter *e = pde_data(file_inode(file));
        char buf[sizeof("+-18446744073709551616")];
 
        if (size > sizeof(buf))