diff -urpN -X /home/fletch/.diff.exclude 502-ppc64-aio-32bit-emulation/arch/ppc64/kernel/sys_ppc32.c 503-ppc64-scruffiness/arch/ppc64/kernel/sys_ppc32.c --- 502-ppc64-aio-32bit-emulation/arch/ppc64/kernel/sys_ppc32.c Sun Apr 20 22:21:39 2003 +++ 503-ppc64-scruffiness/arch/ppc64/kernel/sys_ppc32.c Sun Apr 20 22:21:40 2003 @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -2718,7 +2719,7 @@ long sys32_io_submit(aio_context_t ctx_i struct iocb tmp; u32 *user_iocb; - if (unlikely(__get_user(user_iocb, iocbpp + i))) { + if (unlikely(__get_user((u32)(long)user_iocb, iocbpp + i))) { ret = -EFAULT; break; } @@ -2728,7 +2729,7 @@ long sys32_io_submit(aio_context_t ctx_i break; } - ret = io_submit_one(ctx, user_iocb, &tmp); + ret = io_submit_one(ctx, (struct iocb *)user_iocb, &tmp); if (ret) break; } diff -urpN -X /home/fletch/.diff.exclude 502-ppc64-aio-32bit-emulation/include/linux/aio.h 503-ppc64-scruffiness/include/linux/aio.h --- 502-ppc64-aio-32bit-emulation/include/linux/aio.h Tue Apr 8 14:38:21 2003 +++ 503-ppc64-scruffiness/include/linux/aio.h Sun Apr 20 22:21:40 2003 @@ -147,6 +147,9 @@ extern int FASTCALL(aio_complete(struct extern void FASTCALL(__put_ioctx(struct kioctx *ctx)); struct mm_struct; extern void FASTCALL(exit_aio(struct mm_struct *mm)); +extern struct kioctx *lookup_ioctx(unsigned long ctx_id); +extern int FASTCALL(io_submit_one(struct kioctx *ctx, + struct iocb *user_iocb, struct iocb *iocb)); /* semi private, but used by the 32bit emulations: */ struct kioctx *lookup_ioctx(unsigned long ctx_id);