On Sun, 27 August 2006 01:04:28 -0700, Andrew Morton wrote: > > Like lib/inflate.c (and this new code should arguably be in lib/). > > The problem is that if we clean this up, we've diverged very much from the > upstream implementation. So taking in fixes and features from upstream > becomes harder and more error-prone.
I've had an identical argument with Linus about lib/zlib_*. He decided that he didn't care about diverging, I went ahead and changed the code. In the process, I merged a couple of outstanding bugfixes and reduced memory consumption by 25%. Looks like Linus was right on that one. > I'd suspect that the maturity of these utilities is such that we could > afford to turn them into kernel code in the expectation that any future > changes will be small. But it's not a completely simple call. > > (iirc the inflate code had a buffer overrun a while back, which was found > and fixed in the upstream version). Dito in lib/zlib_*. lib/inflage.c is only used for the various in-kernel bootloaders to uncompress a kernel image. Anyone tampering with the image to cause a buffer overrun already owns the machine anyway. Whether any of our experiences with zlib apply to lzo remains a question, though. Jörn -- I've never met a human being who would want to read 17,000 pages of documentation, and if there was, I'd kill him to get him out of the gene pool. -- Joseph Costello