On Mon, Mar 2, 2020 at 6:38 PM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > On Mon, Mar 02, 2020 at 02:04:29PM +0100, glider@xxxxxxxxxx wrote: > > Certain copy_from_user() invocations in binder.c are known to > > unconditionally initialize locals before their first use, like e.g. in > > the following case: > > > > struct binder_transaction_data tr; > > if (copy_from_user(&tr, ptr, sizeof(tr))) > > return -EFAULT; > > > > In such cases enabling CONFIG_INIT_STACK_ALL leads to insertion of > > redundant locals initialization that the compiler fails to remove. > > To work around this problem till Clang can deal with it, we apply > > __no_initialize to local Binder structures. > > I would like to see actual benchmark numbers showing this is > needed/useful otherwise it's going to just be random people adding this > marking to random places with no real reason. This were lib[hw]binder_benchmarks. I will update patch description with benchmark data. > thanks, > > greg k-h -- Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Straße, 33 80636 München Geschäftsführer: Paul Manicle, Halimah DeLaine Prado Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel