lkml.org 
[lkml]   [2006]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: sparse annotation question
    From
    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/

    \
     
     \ /
      Last update: 2006-07-12 08:15    [W:0.019 / U:30.292 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site