net: xfrm: enable compat xfrm syscall
authorYixun Lan <yixun.lan@amlogic.com>
Fri, 13 Jul 2018 08:20:13 +0000 (16:20 +0800)
committerYixun Lan <yixun.lan@amlogic.com>
Wed, 25 Jul 2018 01:26:33 +0000 (18:26 -0700)
PD#170491: net: xfrm: enable compat xfrm syscall

When using 32bit user space and 64bit kernel in ARM64 platform,
we do not need to disable compat syscall, since there is struct size
difference between user space and kernel space.

This will fix error in xfrm test cases of VtsKernelNetTest.

Change-Id: Ifd6c1f5e678138286678d5c119c0efa42d5b3a59
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
net/xfrm/xfrm_state.c
net/xfrm/xfrm_user.c

index d869b1d927071a329dd9ffee91a402f649778668..77bf4606ad657b69ee1e3323fdc71393f7163d3a 100644 (file)
@@ -1886,8 +1886,10 @@ int xfrm_user_policy(struct sock *sk, int optname, u8 __user *optval, int optlen
        struct xfrm_policy *pol = NULL;
 
 #ifdef CONFIG_COMPAT
+#ifndef CONFIG_AMLOGIC_MODIFY
        if (in_compat_syscall())
                return -EOPNOTSUPP;
+#endif
 #endif
 
        if (!optval && !optlen) {
index 39200306eaaba629468fe9ba01892d41cbbfb40e..a75f4f2415ef6334a9f89eead00bdd242f0be49f 100644 (file)
@@ -2501,8 +2501,10 @@ static int xfrm_user_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
        int type, err;
 
 #ifdef CONFIG_COMPAT
+#ifndef CONFIG_AMLOGIC_MODIFY
        if (in_compat_syscall())
                return -EOPNOTSUPP;
+#endif
 #endif
 
        type = nlh->nlmsg_type;