Messages in this thread | | | Subject | Re: {put,get}_user() side effects | From | Xavier Bestel <> | Date | Tue, 06 Apr 2004 16:28:36 +0200 |
| |
> On Tue, 2004-04-06 at 13:32 +0200, Andi Kleen wrote: > > Geert Uytterhoeven <geert@linux-m68k.org> writes: > > > > > On most (all?) architectures {get,put}_user() has side effects: > > > > > > #define put_user(x,ptr) \ > > > __put_user_check((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr))) > > > > Neither typeof not sizeof are supposed to have side effects. If your > > compiler generates them that's a compiler bug. > > Using ptr three times in a define has side effects if ptr is an > expression with side effects (e.g. "p++").
Sorry, I read too fast. I didn't know sizeof could avoid side effects.
Xav
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |