[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAHC9VhR4L5_zMyMsNqS2820rjGLOqEQR6mc2cHaR-Qmhbg-yQQ@mail.gmail.com>
Date: Wed, 4 Jul 2018 08:36:12 -0400
From: Paul Moore <paul@...l-moore.com>
To: davem@...emloft.net
Cc: Paul Moore <pmoore@...hat.com>, 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
On Wed, Jul 4, 2018 at 1:29 AM David Miller <davem@...emloft.net> wrote:
> 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));
Yep, my mistake (typo); thanks for catching it. Rebuilding a test
kernel now ...
--
paul moore
www.paul-moore.com
Powered by blists - more mailing lists