Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 103448
b: refs/heads/master
c: 2aeb0b8
h: refs/heads/master
v: v3
  • Loading branch information
Wang Chen authored and David S. Miller committed Jul 15, 2008
1 parent 8fb7cc2 commit 94cc1e6
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fc943b12e48f9341bce48c2fadf094cc721aab93
refs/heads/master: 2aeb0b88b3c7a0e3bef55e7ff0efffd5d971aa57
14 changes: 10 additions & 4 deletions trunk/net/packet/af_packet.c
Original file line number Diff line number Diff line change
Expand Up @@ -1173,7 +1173,8 @@ static int packet_getname(struct socket *sock, struct sockaddr *uaddr,
return 0;
}

static void packet_dev_mc(struct net_device *dev, struct packet_mclist *i, int what)
static int packet_dev_mc(struct net_device *dev, struct packet_mclist *i,
int what)
{
switch (i->type) {
case PACKET_MR_MULTICAST:
Expand All @@ -1183,13 +1184,14 @@ static void packet_dev_mc(struct net_device *dev, struct packet_mclist *i, int w
dev_mc_delete(dev, i->addr, i->alen, 0);
break;
case PACKET_MR_PROMISC:
dev_set_promiscuity(dev, what);
return dev_set_promiscuity(dev, what);
break;
case PACKET_MR_ALLMULTI:
dev_set_allmulti(dev, what);
return dev_set_allmulti(dev, what);
break;
default:;
}
return 0;
}

static void packet_dev_mclist(struct net_device *dev, struct packet_mclist *i, int what)
Expand Down Expand Up @@ -1243,7 +1245,11 @@ static int packet_mc_add(struct sock *sk, struct packet_mreq_max *mreq)
i->count = 1;
i->next = po->mclist;
po->mclist = i;
packet_dev_mc(dev, i, +1);
err = packet_dev_mc(dev, i, 1);
if (err) {
po->mclist = i->next;
kfree(i);
}

done:
rtnl_unlock();
Expand Down

0 comments on commit 94cc1e6

Please sign in to comment.