Re: [PATCH 1/5] lguest host feedback tidyups

2007-05-13 Thread Rusty Russell
On Mon, 2007-05-14 at 11:44 +1000, Rusty Russell wrote: > On Sun, 2007-05-13 at 19:39 +0100, Al Viro wrote: > > > static void push_guest_stack(struct lguest *lg, u32 __user **gstack, u32 > > > val) > > > { > > > - lgwrite_u32(lg, (u32)--(*gstack), val); > > > + lgwrite_u32(lg, (__force

Re: [PATCH 1/5] lguest host feedback tidyups

2007-05-13 Thread Rusty Russell
On Sun, 2007-05-13 at 19:39 +0100, Al Viro wrote: > On Fri, May 11, 2007 at 11:19:14AM +1000, Rusty Russell wrote: > > @@ -218,7 +218,7 @@ u32 lgread_u32(struct lguest *lg, u32 ad > > > > /* Don't let them access lguest binary */ > > if (!lguest_address_ok(lg, addr, sizeof(val)) > > -

Re: [PATCH 1/5] lguest host feedback tidyups

2007-05-13 Thread Rusty Russell
On Sun, 2007-05-13 at 19:47 +0100, Al Viro wrote: > On Sun, May 13, 2007 at 02:07:25PM +1000, Rusty Russell wrote: > > Most importantly, I now realize that Christoph's incorrect ranting > > about lgread_u32 et al was in fact a subtle ploy to make me diagnose > > the real issue: sparse 0.3

Re: [PATCH 1/5] lguest host feedback tidyups

2007-05-13 Thread Al Viro
On Sun, May 13, 2007 at 02:07:25PM +1000, Rusty Russell wrote: > Most importantly, I now realize that Christoph's incorrect ranting > about lgread_u32 et al was in fact a subtle ploy to make me diagnose > the real issue: sparse 0.3 complains about casting a __user pointer > to/from u32, but not an

Re: [PATCH 1/5] lguest host feedback tidyups

2007-05-13 Thread Al Viro
On Fri, May 11, 2007 at 11:19:14AM +1000, Rusty Russell wrote: > @@ -218,7 +218,7 @@ u32 lgread_u32(struct lguest *lg, u32 ad > > /* Don't let them access lguest binary */ > if (!lguest_address_ok(lg, addr, sizeof(val)) > - || get_user(val, (u32 __user *)addr) != 0) > +

Re: [PATCH 1/5] lguest host feedback tidyups

2007-05-13 Thread Al Viro
On Sun, May 13, 2007 at 02:07:25PM +1000, Rusty Russell wrote: Most importantly, I now realize that Christoph's incorrect ranting about lgread_u32 et al was in fact a subtle ploy to make me diagnose the real issue: sparse 0.3 complains about casting a __user pointer to/from u32, but not an

Re: [PATCH 1/5] lguest host feedback tidyups

2007-05-13 Thread Al Viro
On Fri, May 11, 2007 at 11:19:14AM +1000, Rusty Russell wrote: @@ -218,7 +218,7 @@ u32 lgread_u32(struct lguest *lg, u32 ad /* Don't let them access lguest binary */ if (!lguest_address_ok(lg, addr, sizeof(val)) - || get_user(val, (u32 __user *)addr) != 0) + ||

Re: [PATCH 1/5] lguest host feedback tidyups

2007-05-13 Thread Rusty Russell
On Sun, 2007-05-13 at 19:47 +0100, Al Viro wrote: On Sun, May 13, 2007 at 02:07:25PM +1000, Rusty Russell wrote: Most importantly, I now realize that Christoph's incorrect ranting about lgread_u32 et al was in fact a subtle ploy to make me diagnose the real issue: sparse 0.3 complains about

Re: [PATCH 1/5] lguest host feedback tidyups

2007-05-13 Thread Rusty Russell
On Sun, 2007-05-13 at 19:39 +0100, Al Viro wrote: On Fri, May 11, 2007 at 11:19:14AM +1000, Rusty Russell wrote: @@ -218,7 +218,7 @@ u32 lgread_u32(struct lguest *lg, u32 ad /* Don't let them access lguest binary */ if (!lguest_address_ok(lg, addr, sizeof(val)) - ||

Re: [PATCH 1/5] lguest host feedback tidyups

2007-05-13 Thread Rusty Russell
On Mon, 2007-05-14 at 11:44 +1000, Rusty Russell wrote: On Sun, 2007-05-13 at 19:39 +0100, Al Viro wrote: static void push_guest_stack(struct lguest *lg, u32 __user **gstack, u32 val) { - lgwrite_u32(lg, (u32)--(*gstack), val); + lgwrite_u32(lg, (__force u32)--(*gstack), val);

Re: [PATCH 1/5] lguest host feedback tidyups

2007-05-12 Thread Rusty Russell
On Fri, 2007-05-11 at 11:19 +1000, Rusty Russell wrote: > 1) Sam Ravnborg says lg-objs is deprecated, use lg-y. > 2) Sparse: page_tables.c unnecessary initialization > 3) Lots of __force to shut sparse up: guest "physical" addresses are >userspace virtual. > 4) Change prototype of run_lguest

Re: [PATCH 1/5] lguest host feedback tidyups

2007-05-12 Thread Rusty Russell
On Fri, 2007-05-11 at 11:19 +1000, Rusty Russell wrote: 1) Sam Ravnborg says lg-objs is deprecated, use lg-y. 2) Sparse: page_tables.c unnecessary initialization 3) Lots of __force to shut sparse up: guest physical addresses are userspace virtual. 4) Change prototype of run_lguest and do

[PATCH 1/5] lguest host feedback tidyups

2007-05-10 Thread Rusty Russell
1) Sam Ravnborg says lg-objs is deprecated, use lg-y. 2) Sparse: page_tables.c unnecessary initialization 3) Lots of __force to shut sparse up: guest "physical" addresses are userspace virtual. 4) Change prototype of run_lguest and do cast in caller instead (when we add __iomem to cast, it

[PATCH 1/5] lguest host feedback tidyups

2007-05-10 Thread Rusty Russell
1) Sam Ravnborg says lg-objs is deprecated, use lg-y. 2) Sparse: page_tables.c unnecessary initialization 3) Lots of __force to shut sparse up: guest physical addresses are userspace virtual. 4) Change prototype of run_lguest and do cast in caller instead (when we add __iomem to cast, it