Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 295447
b: refs/heads/master
c: f05e53a
h: refs/heads/master
i:
  295445: 899150d
  295443: e7fd4aa
  295439: d1f76c2
v: v3
  • Loading branch information
Eric W. Biederman committed Jan 25, 2012
1 parent ca2ab50 commit e454573
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: bd295b56cfae85f2dd6c2b03951480c91e6d08f3
refs/heads/master: f05e53a7fbb28c951c0c8cf3963fa8019ae1d4d3
11 changes: 8 additions & 3 deletions trunk/fs/proc/proc_sysctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -943,10 +943,12 @@ struct ctl_table_header *__register_sysctl_paths(
struct ctl_table *new, **prevp;
unsigned int n, npath;
struct ctl_table_set *set;
size_t path_bytes = 0;
char *new_name;

/* Count the path components */
for (npath = 0; path[npath].procname; ++npath)
;
path_bytes += strlen(path[npath].procname) + 1;

/*
* For each path component, allocate a 2-element ctl_table array.
Expand All @@ -956,24 +958,27 @@ struct ctl_table_header *__register_sysctl_paths(
* We allocate everything in one go so that we don't have to
* worry about freeing additional memory in unregister_sysctl_table.
*/
header = kzalloc(sizeof(struct ctl_table_header) +
header = kzalloc(sizeof(struct ctl_table_header) + path_bytes +
(2 * npath * sizeof(struct ctl_table)), GFP_KERNEL);
if (!header)
return NULL;

new = (struct ctl_table *) (header + 1);
new_name = (char *)(new + (2 * npath));

/* Now connect the dots */
prevp = &header->ctl_table;
for (n = 0; n < npath; ++n, ++path) {
/* Copy the procname */
new->procname = path->procname;
strcpy(new_name, path->procname);
new->procname = new_name;
new->mode = 0555;

*prevp = new;
prevp = &new->child;

new += 2;
new_name += strlen(new_name) + 1;
}
*prevp = table;
header->ctl_table_arg = table;
Expand Down

0 comments on commit e454573

Please sign in to comment.