Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.25-rc7 /net/ipv4/ip_sockglue.c

Filename:/net/ipv4/ip_sockglue.c
Lines Added:2
Lines Deleted:7
Also changed in: (Previous) 2.6.25-rc6-git8  2.6.25-rc6-git7  2.6.25-rc6-git6  2.6.25-rc6  2.6.25-rc5  2.6.25-rc4 
(Following) 2.6.25-rc8  2.6.25-rc8-git10  2.6.25-rc9  2.6.25  2.6.25-git2  2.6.25-git3 

Location
[  2.6.25-rc7
  [  net
    [  ipv4
       o  ip_sockglue.c

Patch

diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c
index 82817e5..f72457b 100644
--- a/net/ipv4/ip_sockglue.c
+++ b/net/ipv4/ip_sockglue.c
@@ -514,11 +514,6 @@ static int do_ip_setsockopt(struct sock *sk, int level,
          val &= ~3;
          val |= inet->tos & 3;
       }
-      if (IPTOS_PREC(val) >= IPTOS_PREC_CRITIC_ECP &&
-          !capable(CAP_NET_ADMIN)) {
-         err = -EPERM;
-         break;
-      }
       if (inet->tos != val) {
          inet->tos = val;
          sk->sk_priority = rt_tos2priority(val);
@@ -588,13 +583,13 @@ static int do_ip_setsockopt(struct sock *sk, int level,
       }
 
       if (!mreq.imr_ifindex) {
-         if (mreq.imr_address.s_addr == INADDR_ANY) {
+         if (mreq.imr_address.s_addr == htonl(INADDR_ANY)) {
             inet->mc_index = 0;
             inet->mc_addr  = 0;
             err = 0;
             break;
          }
-         dev = ip_dev_find(mreq.imr_address.s_addr);
+         dev = ip_dev_find(&init_net, mreq.imr_address.s_addr);
          if (dev) {
             mreq.imr_ifindex = dev->ifindex;
             dev_put(dev);


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.