* Steven Rostedt ([EMAIL PROTECTED]) wrote: > > On Tue, 19 Aug 2008, Benjamin Herrenschmidt wrote: > > > > > > 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 ? > > We map it writeable if FTRACE is enabled. >
Argh. See text_poke(). It's there exactly for this purpose on x86. Mathieu > > > > > 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. > > Ah, good point ;-) > > -- Steve > -- Mathieu Desnoyers OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev