From: Andrew Morton i386: fs/signalfd.c: In function 'signalfd_copyinfo': fs/signalfd.c:179: warning: cast from pointer to integer of different size fs/signalfd.c:179: warning: cast from pointer to integer of different size fs/signalfd.c:179: warning: cast from pointer to integer of different size fs/signalfd.c:179: warning: cast from pointer to integer of different size fs/signalfd.c:186: warning: cast from pointer to integer of different size fs/signalfd.c:186: warning: cast from pointer to integer of different size fs/signalfd.c:186: warning: cast from pointer to integer of different size fs/signalfd.c:186: warning: cast from pointer to integer of different size fs/signalfd.c:202: warning: cast from pointer to integer of different size fs/signalfd.c:202: warning: cast from pointer to integer of different size fs/signalfd.c:202: warning: cast from pointer to integer of different size fs/signalfd.c:202: warning: cast from pointer to integer of different size Cc: Davide Libenzi Signed-off-by: Andrew Morton --- fs/signalfd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff -puN fs/signalfd.c~signal-timer-event-fds-v9-signalfd-core-fix fs/signalfd.c --- a/fs/signalfd.c~signal-timer-event-fds-v9-signalfd-core-fix +++ a/fs/signalfd.c @@ -176,14 +176,14 @@ static int signalfd_copyinfo(struct sign case __SI_TIMER: err |= __put_user(kinfo->si_tid, &uinfo->tid); err |= __put_user(kinfo->si_overrun, &uinfo->overrun); - err |= __put_user(kinfo->si_ptr, &uinfo->svptr); + err |= __put_user((long)kinfo->si_ptr, &uinfo->svptr); break; case __SI_POLL: err |= __put_user(kinfo->si_band, &uinfo->band); err |= __put_user(kinfo->si_fd, &uinfo->fd); break; case __SI_FAULT: - err |= __put_user(kinfo->si_addr, &uinfo->addr); + err |= __put_user((long)kinfo->si_addr, &uinfo->addr); #ifdef __ARCH_SI_TRAPNO err |= __put_user(kinfo->si_trapno, &uinfo->trapno); #endif @@ -199,7 +199,7 @@ static int signalfd_copyinfo(struct sign case __SI_MESGQ: /* But this is */ err |= __put_user(kinfo->si_pid, &uinfo->pid); err |= __put_user(kinfo->si_uid, &uinfo->uid); - err |= __put_user(kinfo->si_ptr, &uinfo->svptr); + err |= __put_user((long)kinfo->si_ptr, &uinfo->svptr); break; default: /* this is just in case for now ... */ err |= __put_user(kinfo->si_pid, &uinfo->pid); _