mirror_zfs/module/spl
Alex Zhuravlev 1b4ad25e2f Stack overflow on 64-bit modulus operations on 32-bit architectures.
Running 'zpool create' on a 32-bit machine with an SPL compiled with
gcc 4.4.4 led to a stack overlow.  This turned out to be due to some
sort of 'optimization' by gcc:

uint64_t __umoddi3(uint64_t dividend, uint64_t divisor)
{
   return dividend - divisor * (dividend / divisor);
}

This code was supposed to be using __udivdi3 to implement /, but gcc
instead implemented it via __umoddi3 itself.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-06-03 09:06:55 -07:00
..
.gitignore sun-misc-gitignore 2010-01-08 09:37:54 -08:00
Makefile.in Add basic credential support and splat tests. 2009-07-27 17:18:59 -07:00
spl-atomic.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-condvar.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-cred.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-debug.c Disable spl_debug_panic_on_bug by default. 2010-05-20 10:15:51 -07:00
spl-err.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-generic.c Stack overflow on 64-bit modulus operations on 32-bit architectures. 2010-06-03 09:06:55 -07:00
spl-kmem.c Use KM_NODEBUG macro in preference to __GFP_NOWARN. 2010-05-20 14:16:59 -07:00
spl-kobj.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-kstat.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-module.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-mutex.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-proc.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-rwlock.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-taskq.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-thread.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-time.c Minor 32-bit fix cast to hrtime_t before the mutliply. 2010-05-23 09:51:17 -07:00
spl-vnode.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-xdr.c Public Release Prep 2010-05-17 15:18:00 -07:00