On Sun, Jun 24, 2018 at 3:48 AM David Miller <davem@xxxxxxxxxxxxx> wrote: > > From: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Date: Sat, 23 Jun 2018 23:21:07 +0100 > > > BTW, I wonder if the life would be simpler with do_ipv6_setsockopt() doing > > the copy-in and verifying ipv6_optlen(*hdr) <= newoptlen; that would've > > simplified ipv6_renew_option{,s}() quite a bit and completely eliminated > > ipv6_renew_options_kern()... > > I agree that this makes things a lot simpler. I had looked at moving the userspace copy up, but feared it was a bit too invasive. It sounds like you are open to the idea so I'll code something up. > One thing that drives me crazy though is this inherit stuff: > > > + ipv6_renew_option(newtype == IPV6_HOPOPTS ? newopt : > > + opt ? opt->hopopt : NULL, > > Why don't we pass the type into ipv6_renew_option() and have it > do this pointer dance instead? > > That's going to definitely be easier to read. I agree, that struck me as a little odd. I'll rework that too. I'll send you guys something this week to take a look at. Thanks. > I don't know enough about this code to give feedback about the > option length handling wrt. copies, sorry. -- paul moore www.paul-moore.com _______________________________________________ Selinux mailing list Selinux@xxxxxxxxxxxxx To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx. To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.