introduction of regset ->get() wrappers, switching ELF coredumps to those
Two new helpers: given a process and regset, dump into a buffer. regset_get() takes a buffer and size, regset_get_alloc() takes size and allocates a buffer. Return value in both cases is the amount of data actually dumped in case of success or -E... on error. In both cases the size is capped by regset->n * regset->size, so ->get() is called with offset 0 and size no more than what regset expects. binfmt_elf.c callers of ->get() are switched to using those; the other caller (copy_regset_to_user()) will need some preparations to switch. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -353,6 +353,15 @@ static inline int user_regset_copyin_ignore(unsigned int *pos,
|
||||
return 0;
|
||||
}
|
||||
|
||||
extern int regset_get(struct task_struct *target,
|
||||
const struct user_regset *regset,
|
||||
unsigned int size, void *data);
|
||||
|
||||
extern int regset_get_alloc(struct task_struct *target,
|
||||
const struct user_regset *regset,
|
||||
unsigned int size,
|
||||
void **data);
|
||||
|
||||
/**
|
||||
* copy_regset_to_user - fetch a thread's user_regset data into user memory
|
||||
* @target: thread to be examined
|
||||
|
Reference in New Issue
Block a user