[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180704.142853.1524154785411171806.davem@davemloft.net>
Date: Wed, 04 Jul 2018 14:28:53 +0900 (KST)
From: David Miller <davem@...emloft.net>
To: pmoore@...hat.com
Cc: netdev@...r.kernel.org, viro@...iv.linux.org.uk,
selinux@...ho.nsa.gov, linux-security-module@...r.kernel.org
Subject: Re: [RFC PATCH v2] ipv6: make ipv6_renew_options()
interrupt/kernel safe
From: Paul Moore <pmoore@...hat.com>
Date: Mon, 02 Jul 2018 14:20:52 -0400
> -static int ipv6_renew_option(void *ohdr,
> - struct ipv6_opt_hdr __user *newopt, int newoptlen,
> - int inherit,
> - struct ipv6_opt_hdr **hdr,
> - char **p)
> +static void ipv6_renew_option(int renewtype,
> + struct ipv6_opt_hdr **dest,
> + struct ipv6_opt_hdr *old,
> + struct ipv6_opt_hdr *new,
> + int newtype, char **p)
> {
...
> + p += CMSG_ALIGN(ipv6_optlen(*dest));
I don't think this actually advances the pointer in the caller,
you need something like:
*p += CMSG_ALIGN(ipv6_optlen(*dest));
Powered by blists - more mailing lists