diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/core/neighbour.c | 3 | ||||
-rw-r--r-- | net/core/sysctl_net_core.c | 15 | ||||
-rw-r--r-- | net/ipv4/devinet.c | 2 | ||||
-rw-r--r-- | net/ipv6/addrconf.c | 3 | ||||
-rw-r--r-- | net/sunrpc/svcauth_unix.c | 11 |
5 files changed, 7 insertions, 27 deletions
diff --git a/net/core/neighbour.c b/net/core/neighbour.c index f6bdcad47da6..851eb927ed97 100644 --- a/net/core/neighbour.c +++ b/net/core/neighbour.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <net/sock.h> | 32 | #include <net/sock.h> |
33 | #include <linux/rtnetlink.h> | 33 | #include <linux/rtnetlink.h> |
34 | #include <linux/random.h> | 34 | #include <linux/random.h> |
35 | #include <linux/string.h> | ||
35 | 36 | ||
36 | #define NEIGH_DEBUG 1 | 37 | #define NEIGH_DEBUG 1 |
37 | 38 | ||
@@ -2592,7 +2593,7 @@ int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p, | |||
2592 | t->neigh_vars[17].extra1 = dev; | 2593 | t->neigh_vars[17].extra1 = dev; |
2593 | } | 2594 | } |
2594 | 2595 | ||
2595 | dev_name = net_sysctl_strdup(dev_name_source); | 2596 | dev_name = kstrdup(dev_name_source, GFP_KERNEL); |
2596 | if (!dev_name) { | 2597 | if (!dev_name) { |
2597 | err = -ENOBUFS; | 2598 | err = -ENOBUFS; |
2598 | goto free; | 2599 | goto free; |
diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c index c8be646cb191..880a88815211 100644 --- a/net/core/sysctl_net_core.c +++ b/net/core/sysctl_net_core.c | |||
@@ -35,19 +35,6 @@ extern int sysctl_somaxconn; | |||
35 | extern char sysctl_divert_version[]; | 35 | extern char sysctl_divert_version[]; |
36 | #endif /* CONFIG_NET_DIVERT */ | 36 | #endif /* CONFIG_NET_DIVERT */ |
37 | 37 | ||
38 | /* | ||
39 | * This strdup() is used for creating copies of network | ||
40 | * device names to be handed over to sysctl. | ||
41 | */ | ||
42 | |||
43 | char *net_sysctl_strdup(const char *s) | ||
44 | { | ||
45 | char *rv = kmalloc(strlen(s)+1, GFP_KERNEL); | ||
46 | if (rv) | ||
47 | strcpy(rv, s); | ||
48 | return rv; | ||
49 | } | ||
50 | |||
51 | ctl_table core_table[] = { | 38 | ctl_table core_table[] = { |
52 | #ifdef CONFIG_NET | 39 | #ifdef CONFIG_NET |
53 | { | 40 | { |
@@ -177,6 +164,4 @@ ctl_table core_table[] = { | |||
177 | { .ctl_name = 0 } | 164 | { .ctl_name = 0 } |
178 | }; | 165 | }; |
179 | 166 | ||
180 | EXPORT_SYMBOL(net_sysctl_strdup); | ||
181 | |||
182 | #endif | 167 | #endif |
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c index 650dcb12d9a1..d8a10e3dd77d 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c | |||
@@ -1471,7 +1471,7 @@ static void devinet_sysctl_register(struct in_device *in_dev, | |||
1471 | * by sysctl and we wouldn't want anyone to change it under our feet | 1471 | * by sysctl and we wouldn't want anyone to change it under our feet |
1472 | * (see SIOCSIFNAME). | 1472 | * (see SIOCSIFNAME). |
1473 | */ | 1473 | */ |
1474 | dev_name = net_sysctl_strdup(dev_name); | 1474 | dev_name = kstrdup(dev_name, GFP_KERNEL); |
1475 | if (!dev_name) | 1475 | if (!dev_name) |
1476 | goto free; | 1476 | goto free; |
1477 | 1477 | ||
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 14f5c53235fe..a54d4ef3fd35 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c | |||
@@ -57,6 +57,7 @@ | |||
57 | #endif | 57 | #endif |
58 | #include <linux/delay.h> | 58 | #include <linux/delay.h> |
59 | #include <linux/notifier.h> | 59 | #include <linux/notifier.h> |
60 | #include <linux/string.h> | ||
60 | 61 | ||
61 | #include <net/sock.h> | 62 | #include <net/sock.h> |
62 | #include <net/snmp.h> | 63 | #include <net/snmp.h> |
@@ -3437,7 +3438,7 @@ static void addrconf_sysctl_register(struct inet6_dev *idev, struct ipv6_devconf | |||
3437 | * by sysctl and we wouldn't want anyone to change it under our feet | 3438 | * by sysctl and we wouldn't want anyone to change it under our feet |
3438 | * (see SIOCSIFNAME). | 3439 | * (see SIOCSIFNAME). |
3439 | */ | 3440 | */ |
3440 | dev_name = net_sysctl_strdup(dev_name); | 3441 | dev_name = kstrdup(dev_name, GFP_KERNEL); |
3441 | if (!dev_name) | 3442 | if (!dev_name) |
3442 | goto free; | 3443 | goto free; |
3443 | 3444 | ||
diff --git a/net/sunrpc/svcauth_unix.c b/net/sunrpc/svcauth_unix.c index 2b99b4028d31..d6baf6fdf8a9 100644 --- a/net/sunrpc/svcauth_unix.c +++ b/net/sunrpc/svcauth_unix.c | |||
@@ -8,6 +8,7 @@ | |||
8 | #include <linux/err.h> | 8 | #include <linux/err.h> |
9 | #include <linux/seq_file.h> | 9 | #include <linux/seq_file.h> |
10 | #include <linux/hash.h> | 10 | #include <linux/hash.h> |
11 | #include <linux/string.h> | ||
11 | 12 | ||
12 | #define RPCDBG_FACILITY RPCDBG_AUTH | 13 | #define RPCDBG_FACILITY RPCDBG_AUTH |
13 | 14 | ||
@@ -20,14 +21,6 @@ | |||
20 | */ | 21 | */ |
21 | 22 | ||
22 | 23 | ||
23 | static char *strdup(char *s) | ||
24 | { | ||
25 | char *rv = kmalloc(strlen(s)+1, GFP_KERNEL); | ||
26 | if (rv) | ||
27 | strcpy(rv, s); | ||
28 | return rv; | ||
29 | } | ||
30 | |||
31 | struct unix_domain { | 24 | struct unix_domain { |
32 | struct auth_domain h; | 25 | struct auth_domain h; |
33 | int addr_changes; | 26 | int addr_changes; |
@@ -55,7 +48,7 @@ struct auth_domain *unix_domain_find(char *name) | |||
55 | if (new == NULL) | 48 | if (new == NULL) |
56 | return NULL; | 49 | return NULL; |
57 | cache_init(&new->h.h); | 50 | cache_init(&new->h.h); |
58 | new->h.name = strdup(name); | 51 | new->h.name = kstrdup(name, GFP_KERNEL); |
59 | new->h.flavour = RPC_AUTH_UNIX; | 52 | new->h.flavour = RPC_AUTH_UNIX; |
60 | new->addr_changes = 0; | 53 | new->addr_changes = 0; |
61 | new->h.h.expiry_time = NEVER; | 54 | new->h.h.expiry_time = NEVER; |