On Sun, Apr 22, 2018 at 9:23 AM, Thomas Gleixner <t...@linutronix.de> wrote: > Kees tried to get rid of the Variable Length Arrays in the Reed-Solomon > library by replacing them with fixed length arrays on stack. Though they > are rather large and Andrew did not fall in love with that solution. > > This series addresses that in a different way by splitting the rs control > structure up, so that each invocation of rs_init() returns a new instance > in which the decoder buffers are allocated. The polynom tables which build > the base for the RS codecs are still shareable between the instances to > avoid large allocations and initializations of the same data over and over. > > The usage sites have been audited and fixed up where necessary to > accomodate the decoder change which forbids parallel decoder invocation for > a particular rs control instance to prevent buffer corruption. > > While at it the patch set tidies up the code and converts the related files > over to use SPDX license identifiers. > > Changes since V2: > > Provide a gfp aware variant of init_rs and use it in the alloc callback > of the dm/verity_fec rs_pool mempool allocations > > Picked up Reviewed/Acked-by tags and fixed the subject line for the MTD > specific patch.
Excellent, thanks! > Changes since V1: > > Simplify error path in the diskonchip code and use the proper > function to free the decoder. > > As this spawns multiple subsystems it should either go through Andrews tree > or Kees can route it with his other hardening stuff. I'll create a VLA sub-tree to my KSPP stuff and start collecting this and other VLA fixes that maintainers haven't taken yet. Once build-testing finishes, I'll push it out for -next. -Kees -- Kees Cook Pixel Security