On Mon, Feb 11, 2019 at 4:37 PM Igor Stoppa <igor.stoppa@xxxxxxxxx> wrote: > > > > On 12/02/2019 02:09, Kees Cook wrote: > > On Mon, Feb 11, 2019 at 3:28 PM Igor Stoppa <igor.stoppa@xxxxxxxxx> wrote: > > It looked like only the memset() needed architecture support. Is there > > a reason for not being able to implement memset() in terms of an > > inefficient put_user() loop instead? That would eliminate the need for > > per-arch support, yes? > > So far, yes, however from previous discussion about power arch, I > understood this implementation would not be so easy to adapt. > Lacking other examples where the extra mapping could be used, I did not > want to add code without a use case. > > Probably both arm and x86 32 bit could do, but I would like to first get > to the bitter end with memory protection (the other 2 thirds). > > Mostly, I hated having just one arch and I also really wanted to have arm64. Right, I meant, if you implemented the _memset() case with put_user() in this version, you could drop the arch-specific _memset() and shrink the patch series. Then you could also enable this across all the architectures in one patch. (Would you even need the Kconfig patches, i.e. won't this "Just Work" on everything with an MMU?) -- Kees Cook