diff options
| author | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 20:30:11 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 20:30:11 -0800 |
| commit | 5db5272c0a5cd37e5a697e4750fbc4ce6317b7dc (patch) | |
| tree | ebb132cbe03d613b01bea25c3c552360c8acb2ec /net/core/dev.c | |
| parent | aad40ef3f2b9c4077e5a79606aed24a92ccb0406 (diff) | |
v2.4.14 -> v2.4.14.1
- me: fix page flags race condition Andrea found
- David Miller: sparc and network updates
- various: fix loop driver that thought it was part of the VM system
- me: teach DRM about VM_RESERVED
- Alan Cox: more merging
Diffstat (limited to 'net/core/dev.c')
| -rw-r--r-- | net/core/dev.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 0d1c7d924e92..2ab8c806e4c7 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -565,11 +565,11 @@ int dev_alloc_name(struct net_device *dev, const char *name) /* * Verify the string as this thing may have come from - * the user. There must be one "%d" and no other "%" - * characters. + * the user. There must be either one "%d" and no other "%" + * characters, or no "%" characters at all. */ p = strchr(name, '%'); - if (!p || p[1] != 'd' || strchr(p+2, '%')) + if (p && (p[1] != 'd' || strchr(p+2, '%'))) return -EINVAL; /* @@ -2221,6 +2221,12 @@ static int dev_ifsioc(struct ifreq *ifr, unsigned int cmd) default: if ((cmd >= SIOCDEVPRIVATE && cmd <= SIOCDEVPRIVATE + 15) || + cmd == SIOCBONDENSLAVE || + cmd == SIOCBONDRELEASE || + cmd == SIOCBONDSETHWADDR || + cmd == SIOCBONDSLAVEINFOQUERY || + cmd == SIOCBONDINFOQUERY || + cmd == SIOCBONDCHANGEACTIVE || cmd == SIOCETHTOOL || cmd == SIOCGMIIPHY || cmd == SIOCGMIIREG || @@ -2372,6 +2378,12 @@ int dev_ioctl(unsigned int cmd, void *arg) case SIOCSIFTXQLEN: case SIOCSIFNAME: case SIOCSMIIREG: + case SIOCBONDENSLAVE: + case SIOCBONDRELEASE: + case SIOCBONDSETHWADDR: + case SIOCBONDSLAVEINFOQUERY: + case SIOCBONDINFOQUERY: + case SIOCBONDCHANGEACTIVE: if (!capable(CAP_NET_ADMIN)) return -EPERM; dev_load(ifr.ifr_name); |
