Re: [2.6.25 patch] drivers/crypto/hifn_795x.c: fix 64bit division

From: Andrew Morton
Date: Tue Feb 26 2008 - 19:10:50 EST


On Tue, 26 Feb 2008 21:52:40 +0300 Evgeniy Polyakov <johnpol@xxxxxxxxxxx> wrote:

> Hi Adrian.
>
> On Tue, Feb 26, 2008 at 05:34:21PM +0200, Adrian Bunk (bunk@xxxxxxxxxx) wrote:
> > Using ndelay() with a 64bit variable as parameter can result in build
> > errors like the following on some 32bit systems when it results in a
> > 64bit division:
> >
> > <-- snip -->
> >
> > ...
> > MODPOST 759 modules
> > ERROR: "__divdi3" [drivers/crypto/hifn_795x.ko] undefined!
> >
> > <-- snip -->
> >
> > Reported by Martin Michlmayr.
> >
> > Signed-off-by: Adrian Bunk <bunk@xxxxxxxxxx>
>
> Yep, ndelay() uses division, thanks a lot Adrian for spotting this.

hm. Where?

> Herbert, please apply.
>
> ACK.

udelay() might be exposed to the same problem. It would be better to fix
ndelay() and udelay() rather than callers. It is reasonable to pass a u64
into ndelay() and to expect the build to not explode.

(Geeze macros suck)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/