Messages in this thread | | | Date | Tue, 27 Sep 2016 09:04:14 -0300 | From | Marcelo Cerri <> | Subject | Re: [bug] crypto/vmx/p8_ghash memory corruption in 4.8-rc7 |
| |
Hi,
On Tue, Sep 27, 2016 at 05:01:03AM -0400, Jan Stancek wrote: > So, if we extended p8_ghash_desc_ctx to accommodate fallback_desc's ctx > and then provided statesize/import/export, would that be acceptable? > > struct p8_ghash_desc_ctx { > ... > struct shash_desc fallback_desc; > + char fallback_ctx[sizeof(struct ghash_desc_ctx)]; >
I think so. That's the solution mentioned by Herbert. The only drawback is that we will need to fix "ghash-generic" as the fallback implementation in order to know beforehand its descsize.
However I would keep the p8_ghash_desc_ctx the way it is and I would sum sizeof(struct ghash_desc_ctx) to the algorithm descsize instead.
Let me put a quick patch together to test this.
> > Also, does that mean that padlock_sha has similar problem? > It does not seem to reserve any space for fallback __ctx and it calls > init()/update()/export() with padlock_sha_desc's fallback: > > struct padlock_sha_desc { > struct shash_desc fallback; > }; > > static struct shash_alg sha1_alg = { > .descsize = sizeof(struct padlock_sha_desc), >
Yeah. It still seems to me that padlock-sha has the same problem. Maybe we are missing something...
-- Regards, Marcelo [unhandled content-type:application/pgp-signature] | |