]> git.pld-linux.org Git - packages/kernel.git/blame - 2.6.1-SIOCSIFNAME-lkml.patch
- _rel 1.19,
[packages/kernel.git] / 2.6.1-SIOCSIFNAME-lkml.patch
CommitLineData
9e5a6bf4 1diff -Nru a/net/core/dev.c b/net/core/dev.c
2--- a/net/core/dev.c Tue Jan 13 14:20:51 2004
3+++ b/net/core/dev.c Tue Jan 13 14:20:51 2004
4@@ -621,6 +621,21 @@
5 }
6
7 /**
8+ * dev_valid_name - check if name is okay for network device
9+ * @name: name string
10+ *
11+ * Network device names need to be valid file names to
12+ * to allow sysfs to work
13+ */
14+int dev_valid_name(const char *name)
15+{
16+ return !(*name == '\0'
17+ || !strcmp(name, ".")
18+ || !strcmp(name, "..")
19+ || strchr(name, '/'));
20+}
21+
22+/**
23 * dev_alloc_name - allocate a name for a device
24 * @dev: device
25 * @name: name format string
9e5a6bf4 26@@ -2685,6 +2723,11 @@
27 ret = -EIO;
28 goto out_err;
29 }
30+ }
31+
32+ if (!dev_valid_name(dev->name)) {
33+ ret = -EINVAL;
34+ goto out_err;
35 }
36
37 dev->ifindex = dev_new_index();
b3663673 38diff -Nru a/net/core/dev.c b/net/core/dev.c
39--- a/net/core/dev.c Wed Jan 14 16:09:02 2004
40+++ b/net/core/dev.c Wed Jan 14 16:09:02 2004
41@@ -718,7 +718,7 @@
42
43 if (strchr(newname, '%')) {
44 int err = dev_alloc_name(dev, newname);
45- if (err)
46+ if (err < 0)
47 return err;
48 strcpy(newname, dev->name);
49 }
This page took 0.584341 seconds and 4 git commands to generate.