On 27.03.2017 19:57, Al Viro wrote: > On Mon, Mar 27, 2017 at 05:47:02PM +0200, Helge Deller wrote: >> pa_memcpy() is the major memcpy implementation in the parisc kernel which is >> used to do any kind of userspace/kernel memory copies. >> >> Al Viro noticed various bugs in the implementation of pa_mempcy(), most notably >> that in case of faults it may report back to have copied more bytes than it >> actually did. >> >> Fixing those bugs is quite hard in the C-implementation, because the compiler >> is messing around with the registers and we are not guaranteed that specific >> variables are always in the same processor registers. This makes proper fault >> handling complicated. >> >> This patch implements pa_memcpy() in assembler. That way we have correct fault >> handling and adding a 64-bit copy routine was quite easy. > > Hmm... Is there any point trying to fall back from store fault to byte > copy? Note that in copy_dstaligned() dst *is* aligned, so if the word > store fails, there's no realistic chance of having a byte store succeed. Good point. I'll fix that. Thanks, Helge -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html