From 3f5e7cb8954c054a160a3ba50dd25a6ecc8c58df Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20R=C4=99korajski?= Date: Sun, 5 Jun 2016 18:07:28 +0200 Subject: [PATCH] - updated patches to 4.6 --- kernel-apparmor.patch | 2 +- kernel-atmdd.patch | 8 ++++---- kernel-pom-ng-IPV4OPTSSTRIP.patch | 29 ++++++++++------------------- 3 files changed, 15 insertions(+), 24 deletions(-) diff --git a/kernel-apparmor.patch b/kernel-apparmor.patch index f83524d5..d6d45859 100644 --- a/kernel-apparmor.patch +++ b/kernel-apparmor.patch @@ -871,7 +871,7 @@ index 47fd244..fb92441 100644 !(vma->vm_flags & VM_SHARED) ? MAP_PRIVATE : 0); } -+static int apparmor_sb_mount(char *dev_name, struct path *path, char *type, ++static int apparmor_sb_mount(const char *dev_name, struct path *path, const char *type, + unsigned long flags, void *data) +{ + struct aa_profile *profile; diff --git a/kernel-atmdd.patch b/kernel-atmdd.patch index 71fbbc8d..a380fce1 100644 --- a/kernel-atmdd.patch +++ b/kernel-atmdd.patch @@ -170,8 +170,8 @@ diff -urN linux-2.4.25/drivers/atm/atmdd.c linux-2.4.25-atmdd/drivers/atm/atmdd. +static int myatmdd_open(struct atm_vcc *vcc); +static void myatmdd_close(struct atm_vcc *vcc); +static int myatmdd_ioctl(struct atm_dev *dev, unsigned int cmd,void *arg); -+static int myatmdd_setsockopt(struct atm_vcc *vcc,int level,int optname, void *optval,int optlen); -+static int myatmdd_getsockopt(struct atm_vcc *vcc,int level,int optname, void *optval,int optlen); ++static int myatmdd_setsockopt(struct atm_vcc *vcc,int level,int optname, void __user *optval,unsigned int optlen); ++static int myatmdd_getsockopt(struct atm_vcc *vcc,int level,int optname, void __user *optval,int optlen); +static int myatmdd_send(struct atm_vcc *vcc,struct sk_buff *skb); +static int myatmdd_change_qos(struct atm_vcc *vcc,struct atm_qos *qos,int flgs); +static int myatmdd_proc_read(struct atm_dev *dev,loff_t *pos,char *page); @@ -789,12 +789,12 @@ diff -urN linux-2.4.25/drivers/atm/atmdd.c linux-2.4.25-atmdd/drivers/atm/atmdd. + return -EINVAL; +} + -+static int myatmdd_getsockopt(struct atm_vcc *vcc,int level,int optname, void *optval,int optlen) ++static int myatmdd_getsockopt(struct atm_vcc *vcc,int level,int optname, void __user *optval,int optlen) +{ + return -EINVAL; +} + -+static int myatmdd_setsockopt(struct atm_vcc *vcc,int level,int optname, void *optval,int optlen) ++static int myatmdd_setsockopt(struct atm_vcc *vcc,int level,int optname, void __user *optval,unsigned int optlen) +{ + return -EINVAL; +} diff --git a/kernel-pom-ng-IPV4OPTSSTRIP.patch b/kernel-pom-ng-IPV4OPTSSTRIP.patch index de73b89a..9fe3fb32 100644 --- a/kernel-pom-ng-IPV4OPTSSTRIP.patch +++ b/kernel-pom-ng-IPV4OPTSSTRIP.patch @@ -30,7 +30,7 @@ diff -NurpP --minimal linux-2.6.21.b/net/ipv4/netfilter/Kconfig linux-2.6.21.a/n diff -NurpP --minimal linux-2.6.21.b/net/ipv4/netfilter/ipt_IPV4OPTSSTRIP.c linux-2.6.21.a/net/ipv4/netfilter/ipt_IPV4OPTSSTRIP.c --- linux-2.6.21.b/net/ipv4/netfilter/ipt_IPV4OPTSSTRIP.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.21.a/net/ipv4/netfilter/ipt_IPV4OPTSSTRIP.c 2007-05-30 11:18:08.000000000 +0200 -@@ -0,0 +1,84 @@ +@@ -0,0 +1,75 @@ +/** + * Strip all IP options in the IP packet header. + * @@ -50,47 +50,38 @@ diff -NurpP --minimal linux-2.6.21.b/net/ipv4/netfilter/ipt_IPV4OPTSSTRIP.c linu +MODULE_LICENSE("GPL"); + +static unsigned int -+target(struct sk_buff *skb, -+ const struct net_device *in, -+ const struct net_device *out, -+ unsigned int hooknum, -+ const struct xt_target *target, -+ const void *targinfo) ++target(struct sk_buff *skb, const struct xt_action_param *par) +{ + struct iphdr *iph; + struct ip_options *opt; -+ sk_buff_data_t optiph; ++ unsigned char *optiph; + int l; + + if (!skb_make_writable(skb, skb->len)) + return NF_DROP; + + iph = ip_hdr(skb); -+ optiph = skb->network_header; -+ l = ((struct ip_options *)(&(IPCB(skb)->opt)))->optlen; + + /* if no options in packet then nothing to clear. */ + if (iph->ihl * 4 == sizeof(struct iphdr)) + return XT_CONTINUE; + + /* else clear all options */ ++ optiph = skb_network_header(skb); ++ l = ((struct ip_options *)(&(IPCB(skb)->opt)))->optlen; + memset(&(IPCB(skb)->opt), 0, sizeof(struct ip_options)); + memset(optiph+sizeof(struct iphdr), IPOPT_NOOP, l); + opt = &(IPCB(skb)->opt); + opt->optlen = l; + -+ return XT_CONTINUE; ++ return XT_CONTINUE; +} + -+static bool -+checkentry(const char *tablename, -+ const void *e, -+ const struct xt_target *target, -+ void *targinfo, -+ unsigned int hook_mask) ++static int ++checkentry(const struct xt_tgchk_param *par) +{ -+ if (strcmp(tablename, "mangle")) { -+ printk(KERN_WARNING "IPV4OPTSSTRIP: can only be called from \"mangle\" table, not \"%s\"\n", tablename); ++ if (strcmp(par->table, "mangle")) { ++ printk(KERN_WARNING "IPV4OPTSSTRIP: can only be called from \"mangle\" table, not \"%s\"\n", par->table); + return 0; + } + /* nothing else to check because no parameters */ -- 2.44.0