Re: [PATCH] drm/radeon: silence GCC warning on 32 bit

From: Thierry Reding
Date: Fri Feb 21 2014 - 03:21:02 EST


On Thu, Feb 20, 2014 at 10:24:53PM +0100, Paul Bolle wrote:
> On Thu, 2014-02-20 at 16:07 -0500, Ilia Mirkin wrote:
> > On Thu, Feb 20, 2014 at 4:02 PM, Paul Bolle <pebolle@xxxxxxxxxx> wrote:
> > > @@ -935,7 +935,7 @@ static ssize_t radeon_ttm_gtt_read(struct file *f, char __user *buf,
> > > while (size) {
> > > loff_t p = *pos / PAGE_SIZE;
> > > unsigned off = *pos & ~PAGE_MASK;
> > > - ssize_t cur_size = min(size, PAGE_SIZE - off);
> > > + ssize_t cur_size = min(size, (size_t)(PAGE_SIZE - off));
> >
> > Isn't the usual way of dealing with these to do something like
> >
> > ssize_t cur_size = min_t(ssize_t, size, PAGE_SIZE - off)
>
> I wouldn't know. I did
> $ git grep -n "(size_t)(PAGE_SIZE"
> arch/powerpc/mm/dma-noncoherent.c:357: size_t seg_size = min((size_t)(PAGE_SIZE - offset), size);
> arch/tile/kernel/pci-dma.c:176: size_t bytes = min(size, (size_t)(PAGE_SIZE - offset));
> arch/tile/kernel/pci-dma.c:192: size_t bytes = min(size, (size_t)(PAGE_SIZE - offset));
> drivers/net/wireless/ti/wlcore/main.c:806: len = min(maxlen, (size_t)(PAGE_SIZE - wl->fwlog_size));
> drivers/scsi/libfc/fc_libfc.c:143: (size_t)(PAGE_SIZE - (off & ~PAGE_MASK)));
> drivers/target/tcm_fc/tfc_io.c:160: tlen = min(tlen, (size_t)(PAGE_SIZE -
> drivers/target/tcm_fc/tfc_io.c:311: tlen = min(tlen, (size_t)(PAGE_SIZE -
>
> and concluded my solution was acceptable. Is your alternative considered
> to be better?

Yes, min_t() is specifically meant for this type of situation. On a side
note, I think cur_size should be size_t rather than ssize_t.

Thierry

Attachment: pgp1NRwmk3Loq.pgp
Description: PGP signature