netfilter: xtables: CONFIG_COMPAT redux
authorAlexey Dobriyan <adobriyan@gmail.com>
Tue, 2 Feb 2010 14:03:24 +0000 (15:03 +0100)
committerPatrick McHardy <kaber@trash.net>
Tue, 2 Feb 2010 14:03:24 +0000 (15:03 +0100)
Ifdef out
struct nf_sockopt_ops::compat_set
struct nf_sockopt_ops::compat_get
struct xt_match::compat_from_user
struct xt_match::compat_to_user
struct xt_match::compatsize
to make structures smaller on COMPAT=n kernels.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
include/linux/netfilter.h
include/linux/netfilter/x_tables.h

index 48c5496..78f33d2 100644 (file)
@@ -114,15 +114,17 @@ struct nf_sockopt_ops {
        int set_optmin;
        int set_optmax;
        int (*set)(struct sock *sk, int optval, void __user *user, unsigned int len);
+#ifdef CONFIG_COMPAT
        int (*compat_set)(struct sock *sk, int optval,
                        void __user *user, unsigned int len);
-
+#endif
        int get_optmin;
        int get_optmax;
        int (*get)(struct sock *sk, int optval, void __user *user, int *len);
+#ifdef CONFIG_COMPAT
        int (*compat_get)(struct sock *sk, int optval,
                        void __user *user, int *len);
-
+#endif
        /* Use the module struct to lock set/get code in place */
        struct module *owner;
 };
@@ -222,11 +224,12 @@ int nf_setsockopt(struct sock *sk, u_int8_t pf, int optval, char __user *opt,
                  unsigned int len);
 int nf_getsockopt(struct sock *sk, u_int8_t pf, int optval, char __user *opt,
                  int *len);
-
+#ifdef CONFIG_COMPAT
 int compat_nf_setsockopt(struct sock *sk, u_int8_t pf, int optval,
                char __user *opt, unsigned int len);
 int compat_nf_getsockopt(struct sock *sk, u_int8_t pf, int optval,
                char __user *opt, int *len);
+#endif
 
 /* Call this before modifying an existing packet: ensures it is
    modifiable and linear to the point you care about (writable_len).
index 3caf5e1..026eb78 100644 (file)
@@ -283,11 +283,11 @@ struct xt_match {
 
        /* Called when entry of this type deleted. */
        void (*destroy)(const struct xt_mtdtor_param *);
-
+#ifdef CONFIG_COMPAT
        /* Called when userspace align differs from kernel space one */
        void (*compat_from_user)(void *dst, void *src);
        int (*compat_to_user)(void __user *dst, void *src);
-
+#endif
        /* Set this to THIS_MODULE if you are a module, otherwise NULL */
        struct module *me;
 
@@ -296,7 +296,9 @@ struct xt_match {
 
        const char *table;
        unsigned int matchsize;
+#ifdef CONFIG_COMPAT
        unsigned int compatsize;
+#endif
        unsigned int hooks;
        unsigned short proto;
 
@@ -323,17 +325,19 @@ struct xt_target {
 
        /* Called when entry of this type deleted. */
        void (*destroy)(const struct xt_tgdtor_param *);
-
+#ifdef CONFIG_COMPAT
        /* Called when userspace align differs from kernel space one */
        void (*compat_from_user)(void *dst, void *src);
        int (*compat_to_user)(void __user *dst, void *src);
-
+#endif
        /* Set this to THIS_MODULE if you are a module, otherwise NULL */
        struct module *me;
 
        const char *table;
        unsigned int targetsize;
+#ifdef CONFIG_COMPAT
        unsigned int compatsize;
+#endif
        unsigned int hooks;
        unsigned short proto;