Re: [PATCH] fix compiler warning in drivers/media/video/video-buf.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mauro Carvalho Chehab wrote:
Em Qui, 2006-09-28 às 10:51 -0700, Andrew Morton escreveu:

On Thu, 28 Sep 2006 10:31:58 -0700
Martin Bligh <[email protected]> wrote:


That being said, this driver is wrong to be storing dma addresses in a
void*.  And indeed there is a FIXME regarding this at
include/linux/videodev2.h:476, so I guess hiding this warning won't obscure
any fault which wasn't already known about..


Yes. The original structure is:

struct v4l2_framebuffer
{
        __u32                   capability;
        __u32                   flags;
        void*                   base;
        struct v4l2_pix_format  fmt;
};

Since this is used at ioctl definition, changing this would break
userspace apps. We might replace this to something like:

struct v4l2_framebuffer
{
        __u32                   capability;
        __u32                   flags;
	union {
	        void*		base_ptr; /*FOO definition to avoid breaking userpace apps */
		dma_addr_t	base;
	}
        struct v4l2_pix_format  fmt;
};

This way, base will have the expected type, and it won't break any
userspace app if sizeof(void *)<=sizeof(base). I think this is true for
all architectures (anyway, if it isn't, v4l is broken anyway).

Won't that just make the userspace apps not work properly? Not that
they do right now, but how does masking the problem help?

M.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux