Messages in this thread | | | Date | Tue, 11 Jul 2006 23:14:09 -0700 (PDT) | Subject | Re: sparse annotation question | From | David Miller <> |
| |
From: Keith Owens <kaos@ocs.com.au> Date: Wed, 12 Jul 2006 15:47:03 +1000
> func (long regno, unsigned long *contents) > { > unsigned long i, *bsp; > mm_segment_t old_fs; > bsp = <expression involving only kernel variables>; > old_fs = set_fs(KERNEL_DS); > for (i = 0; i < (regno - 32); ++i) > bsp = ia64_rse_skip_regs(bsp, 1); > put_user(*contents, bsp); > set_fs(old_fs); > } > > sparse is complaining that the second parameter to put_user() is not > marked as __user. How do I tell sparse to ignore this case? Marking > bsp as __user does not work, sparse then complains about incorrect type > in assignment (different address spaces).
Since, in this case, you "know what you are doing" you can force the matter by using the __force keyword as well as __user.
- 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/
| |