> Hmm, this was originally copied from x86, where we did a cmpxchg, but that > is probably not needed since all of this is done in kstop_machine. Also, > only the "get" is needed. If we don't fault there, we wont fault on the > put (unless we have permissions wrong, and that would be a bug).
Would it ? How do we make sure the kernel text is mapped writeable ? > So are you recommending something like > > int cmd; > > if (__get_user(cmd, ip)) > goto fault; > > if (cmd != old) > goto not_same; > > WARN_ON_ONCE(__put_user(cmd, ip)); > > If we did this, we could probably put this into the generic code: That would work I suppose, I'll give it a try. > if (copy_from_user(cmd, ip, ARCH_CALL_SIZE)) > goto fault; > > if (memcmp(cmd, old, ARCH_CALL_SIZE) != 0) > goto not_same; > > WARN_ON_ONCE(copy_to_user(cmd, ip, ARCH_CALL_SIZE)); You need the __ variants or the access_ok() checks will bite you bad. Ben. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev