• Mauro Carvalho Chehab's avatar
    media: isppreview: fix __user annotations · 99ed3dd8
    Mauro Carvalho Chehab authored
    The 'from' variable at preview_config() expects an __user * type.
    
    However, the logic there does:
    
        from = *(void * __user *) ((void *)cfg + attr->config_offset);
    
    With actually means a void pointer, pointing to a void __ user
    pointer. When the first pointer is de-referenced with *(foo),
    the type it returns is "void *" instead of "void __user *".
    
    Change it to:
        from = *(void __user **) ((void *)cfg + attr->config_offset);
    
    in order to obtain, when de-referenced, a void __user pointer,
    as desired.
    
    That prevent those warnings:
       drivers/media/platform/omap3isp/isppreview.c:893:45: warning: incorrect type in initializer (different address spaces)
       drivers/media/platform/omap3isp/isppreview.c:893:45:    expected void [noderef] <asn:1>*from
       drivers/media/platform/omap3isp/isppreview.c:893:45:    got void *[noderef] <asn:1><noident>
       drivers/media/platform/omap3isp/isppreview.c:893:47: warning: dereference of noderef expression
    Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
    99ed3dd8
isppreview.c 68.3 KB