x86/fpu/xsave: Keep __user annotation in casts
authorMathias Krause <minipli@googlemail.com>
Sun, 2 Sep 2012 21:31:44 +0000 (23:31 +0200)
committerIngo Molnar <mingo@kernel.org>
Wed, 5 Sep 2012 08:52:25 +0000 (10:52 +0200)
Don't remove the __user annotation of the fpstate pointer, but
drop the superfluous void * cast instead.

This fixes the following sparse warnings:

  xsave.c:135:15: warning: cast removes address space of expression
  xsave.c:135:15: warning: incorrect type in argument 1 (different address spaces)
  xsave.c:135:15:    expected void const volatile [noderef] <asn:1>*<noident>
  [...]

Signed-off-by: Mathias Krause <minipli@googlemail.com>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>
Link: http://lkml.kernel.org/r/1346621506-30857-6-git-send-email-minipli@googlemail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/xsave.c

index 3d3e207..9e1a8a7 100644 (file)
@@ -132,9 +132,9 @@ int check_for_xstate(struct i387_fxsave_struct __user *buf,
            fx_sw_user->xstate_size > fx_sw_user->extended_size)
                return -EINVAL;
 
-       err = __get_user(magic2, (__u32 *) (((void *)fpstate) +
-                                           fx_sw_user->extended_size -
-                                           FP_XSTATE_MAGIC2_SIZE));
+       err = __get_user(magic2, (__u32 __user *) (fpstate +
+                                                  fx_sw_user->extended_size -
+                                                  FP_XSTATE_MAGIC2_SIZE));
        if (err)
                return err;
        /*