Skip to content

Commit

Permalink
regset(): kill ->get_size()
Browse files Browse the repository at this point in the history
not used anymore

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
  • Loading branch information
Al Viro committed Jul 27, 2020
1 parent 1e6986c commit c522401
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 60 deletions.
13 changes: 0 additions & 13 deletions arch/arm64/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -740,18 +740,6 @@ static unsigned int sve_size_from_header(struct user_sve_header const *header)
return ALIGN(header->size, SVE_VQ_BYTES);
}

static unsigned int sve_get_size(struct task_struct *target,
const struct user_regset *regset)
{
struct user_sve_header header;

if (!system_supports_sve())
return 0;

sve_init_header_from_task(&header, target);
return sve_size_from_header(&header);
}

static int sve_get(struct task_struct *target,
const struct user_regset *regset,
struct membuf to)
Expand Down Expand Up @@ -1130,7 +1118,6 @@ static const struct user_regset aarch64_regsets[] = {
.align = SVE_VQ_BYTES,
.regset_get = sve_get,
.set = sve_set,
.get_size = sve_get_size,
},
#endif
#ifdef CONFIG_ARM64_PTR_AUTH
Expand Down
48 changes: 1 addition & 47 deletions include/linux/regset.h
Original file line number Diff line number Diff line change
Expand Up @@ -132,28 +132,6 @@ typedef int user_regset_writeback_fn(struct task_struct *target,
const struct user_regset *regset,
int immediate);

/**
* user_regset_get_size_fn - type of @get_size function in &struct user_regset
* @target: thread being examined
* @regset: regset being examined
*
* This call is optional; usually the pointer is %NULL.
*
* When provided, this function must return the current size of regset
* data, as observed by the @get function in &struct user_regset. The
* value returned must be a multiple of @size. The returned size is
* required to be valid only until the next time (if any) @regset is
* modified for @target.
*
* This function is intended for dynamically sized regsets. A regset
* that is statically sized does not need to implement it.
*
* This function should not be called directly: instead, callers should
* call regset_size() to determine the current size of a regset.
*/
typedef unsigned int user_regset_get_size_fn(struct task_struct *target,
const struct user_regset *regset);

/**
* struct user_regset - accessible thread CPU state
* @n: Number of slots (registers).
Expand All @@ -165,20 +143,14 @@ typedef unsigned int user_regset_get_size_fn(struct task_struct *target,
* @set: Function to store values.
* @active: Function to report if regset is active, or %NULL.
* @writeback: Function to write data back to user memory, or %NULL.
* @get_size: Function to return the regset's size, or %NULL.
*
* This data structure describes a machine resource we call a register set.
* This is part of the state of an individual thread, not necessarily
* actual CPU registers per se. A register set consists of a number of
* similar slots, given by @n. Each slot is @size bytes, and aligned to
* @align bytes (which is at least @size). For dynamically-sized
* regsets, @n must contain the maximum possible number of slots for the
* regset, and @get_size must point to a function that returns the
* current regset size.
*
* Callers that need to know only the current size of the regset and do
* not care about its internal structure should call regset_size()
* instead of inspecting @n or calling @get_size.
* regset.
*
* For backward compatibility, the @get and @set methods must pad to, or
* accept, @n * @size bytes, even if the current regset size is smaller.
Expand Down Expand Up @@ -218,7 +190,6 @@ struct user_regset {
user_regset_set_fn *set;
user_regset_active_fn *active;
user_regset_writeback_fn *writeback;
user_regset_get_size_fn *get_size;
unsigned int n;
unsigned int size;
unsigned int align;
Expand Down Expand Up @@ -422,21 +393,4 @@ static inline int copy_regset_from_user(struct task_struct *target,
return regset->set(target, regset, offset, size, NULL, data);
}

/**
* regset_size - determine the current size of a regset
* @target: thread to be examined
* @regset: regset to be examined
*
* Note that the returned size is valid only until the next time
* (if any) @regset is modified for @target.
*/
static inline unsigned int regset_size(struct task_struct *target,
const struct user_regset *regset)
{
if (!regset->get_size)
return regset->n * regset->size;
else
return regset->get_size(target, regset);
}

#endif /* <linux/regset.h> */

0 comments on commit c522401

Please sign in to comment.