generalize lgread_u32/lgwrite_u32.
Jes complains that page table code still uses lgread_u32 even though it now uses general kernel pte types. The best thing to do is to generalize lgread_u32 and lgwrite_u32. This means we lose the efficiency of getuser(). We could potentially regain it if we used __copy_from_user instead of copy_from_user, but I'm not certain that our range check is equivalent to access_ok() on all platforms. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Acked-by: Jes Sorensen <jes@sgi.com>
This commit is contained in:
@@ -47,7 +47,7 @@ static void do_hcall(struct lguest *lg, struct hcall_args *args)
|
||||
char msg[128];
|
||||
/* If the lgread fails, it will call kill_guest() itself; the
|
||||
* kill_guest() with the message will be ignored. */
|
||||
lgread(lg, msg, args->arg1, sizeof(msg));
|
||||
__lgread(lg, msg, args->arg1, sizeof(msg));
|
||||
msg[sizeof(msg)-1] = '\0';
|
||||
kill_guest(lg, "CRASH: %s", msg);
|
||||
break;
|
||||
|
Reference in New Issue
Block a user