]> git.pld-linux.org Git - packages/kernel.git/blob - 2.6.1-SIOCSIFNAME-lkml.patch
+CONFIG_IP_NF_MATCH_LAYER7=m
[packages/kernel.git] / 2.6.1-SIOCSIFNAME-lkml.patch
1 diff -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
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();
38 diff -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.050992 seconds and 3 git commands to generate.