On Sat, Jan 2, 2021 at 2:48 AM Qu Wenruo <[email protected]> wrote: > On 2021/1/1 下午7:05, Denys Vlasenko wrote: > > I propose this simple fix: > > > > if (not_a_good_ELF_image(image_ptr)) { > > + if (!not_GZIP_signature(image_ptr) > > + || !not_BZIP2_signature(image_ptr) > > + || !not_XZ_signature(image_ptr)) > > printk(KERN_ERR "Module has invalid ELF header\n"); > > } > > > > There are several problems. > > Firstly, what if a valid compressed file is passed in but without a > valid ELF header? > Now we fall back to old behavior where user has no clue at all. > > Secondly, you are going to add new decompression related headers and > extra refactor, which is never a small fix. > Especially considering how complex the compressed signature can be.
gz, bz2 and xz signatures are trivial. > Finally, what if the decompression module is compressed? > Just consider this: if xz support is compiled as a module, and that > modules is also xz compressed? > > If you really want to make finit_modules() to support compressed module, > purpose a new system call other than changing something which already > has a clear and simple spec. I decided to just wait when inevitably someone adds that support. I'm not planning to modify busybox modprobe to avoid generating the dmesg message. _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
