sysctl: Remember the ctl_table we passed to register_sysctl_paths
By doing this we allow users of register_sysctl_paths that build and dynamically allocate their ctl_table to be simpler. This allows them to just remember the ctl_table_header returned from register_sysctl_paths from which they can now find the ctl_table array they need to free. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Cc: Serge Hallyn <serue@us.ibm.com> Cc: Daniel Lezcano <dlezcano@fr.ibm.com> Cc: Cedric Le Goater <clg@fr.ibm.com> Cc: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
29e796fd4d
commit
23eb06de7d
|
@ -1057,6 +1057,7 @@ struct ctl_table_header
|
|||
struct list_head ctl_entry;
|
||||
int used;
|
||||
struct completion *unregistering;
|
||||
struct ctl_table *ctl_table_arg;
|
||||
};
|
||||
|
||||
/* struct ctl_path describes where in the hierarchy a table is added */
|
||||
|
|
|
@ -1669,6 +1669,7 @@ struct ctl_table_header *register_sysctl_paths(const struct ctl_path *path,
|
|||
new += 2;
|
||||
}
|
||||
*prevp = table;
|
||||
header->ctl_table_arg = table;
|
||||
|
||||
INIT_LIST_HEAD(&header->ctl_entry);
|
||||
header->used = 0;
|
||||
|
|
Loading…
Reference in New Issue