Skip to content

Commit

Permalink
fs/binfmt_aout.c: fix pointer warnings
Browse files Browse the repository at this point in the history
fs/binfmt_aout.c: In function `aout_core_dump':
fs/binfmt_aout.c:125: warning: passing argument 2 of `dump_write' makes pointer from integer without a cast
include/linux/coredump.h:12: note: expected `const void *' but argument is of type `long unsigned int'
fs/binfmt_aout.c:132: warning: passing argument 2 of `dump_write' makes pointer from integer without a cast
include/linux/coredump.h:12: note: expected `const void *' but argument is of type `long unsigned int'

due to dump_write() expecting a user void *.  Fold casts into the
START_DATA/START_STACK macros and shut up the warnings.

Signed-off-by: Borislav Petkov <[email protected]>
Cc: Daisuke HATAYAMA <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Borislav Petkov authored and torvalds committed Mar 24, 2010
1 parent ef5da59 commit 7731d9a
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions fs/binfmt_aout.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,14 +75,16 @@ static int aout_core_dump(struct coredump_params *cprm)
struct file *file = cprm->file;
mm_segment_t fs;
int has_dumped = 0;
unsigned long dump_start, dump_size;
void __user *dump_start;
int dump_size;
struct user dump;
#ifdef __alpha__
# define START_DATA(u) (u.start_data)
# define START_DATA(u) ((void __user *)u.start_data)
#else
# define START_DATA(u) ((u.u_tsize << PAGE_SHIFT) + u.start_code)
# define START_DATA(u) ((void __user *)((u.u_tsize << PAGE_SHIFT) + \
u.start_code))
#endif
# define START_STACK(u) (u.start_stack)
# define START_STACK(u) ((void __user *)u.start_stack)

fs = get_fs();
set_fs(KERNEL_DS);
Expand All @@ -104,9 +106,9 @@ static int aout_core_dump(struct coredump_params *cprm)

/* make sure we actually have a data and stack area to dump */
set_fs(USER_DS);
if (!access_ok(VERIFY_READ, (void __user *)START_DATA(dump), dump.u_dsize << PAGE_SHIFT))
if (!access_ok(VERIFY_READ, START_DATA(dump), dump.u_dsize << PAGE_SHIFT))
dump.u_dsize = 0;
if (!access_ok(VERIFY_READ, (void __user *)START_STACK(dump), dump.u_ssize << PAGE_SHIFT))
if (!access_ok(VERIFY_READ, START_STACK(dump), dump.u_ssize << PAGE_SHIFT))
dump.u_ssize = 0;

set_fs(KERNEL_DS);
Expand Down

0 comments on commit 7731d9a

Please sign in to comment.