Files
ubports_kernel_google_msm/include/linux
Wang Chen dad9b335c6 netdevice: Fix promiscuity and allmulti overflow
Max of promiscuity and allmulti plus positive @inc can cause overflow.
Fox example: when allmulti=0xFFFFFFFF, any caller give dev_set_allmulti() a
positive @inc will cause allmulti be off.
This is not what we want, though it's rare case.
The fix is that only negative @inc will cause allmulti or promiscuity be off
and when any caller makes the counters touch the roof, we return error.

Change of v2:
Change void function dev_set_promiscuity/allmulti to return int.
So callers can get the overflow error.
Caller's fix will be done later.

Change of v3:
1. Since we return error to caller, we don't need to print KERN_ERROR,
KERN_WARNING is enough.
2. In dev_set_promiscuity(), if __dev_set_promiscuity() failed, we
return at once.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-06-18 01:48:28 -07:00
..
2008-06-11 21:00:38 -07:00
2008-05-20 14:14:15 -07:00
2008-04-29 08:06:00 -07:00
2008-03-04 13:41:23 +01:00
2008-04-28 06:28:37 -04:00
2008-04-29 08:11:16 -07:00
2008-06-06 11:29:10 -07:00
2008-04-29 12:36:54 -07:00
2008-05-29 01:38:46 -07:00
2008-04-22 15:16:32 -05:00
2008-04-29 08:06:01 -07:00
2008-05-01 08:03:59 -07:00
2008-04-30 08:29:52 -07:00
2008-03-04 14:47:06 -08:00
2008-04-21 11:22:28 -05:00
2008-04-25 13:26:55 +01:00
2008-04-25 13:26:55 +01:00
2008-04-25 13:26:55 +01:00
2008-04-21 22:38:45 +00:00
2008-04-28 08:58:30 -07:00
2008-04-19 19:19:54 +02:00
2008-05-07 09:48:23 +02:00
2008-04-28 08:58:35 -07:00
2008-05-16 17:22:26 -04:00
2008-05-01 13:08:16 -04:00
2008-06-06 11:29:11 -07:00
2008-05-13 08:02:26 -07:00
2008-05-24 09:56:13 -07:00
2008-05-20 16:44:43 +02:00
2008-05-20 16:44:43 +02:00
2008-04-22 11:34:59 +02:00
2008-04-04 18:36:49 +02:00
2008-04-29 23:11:38 +02:00
2008-05-18 20:49:41 +02:00
2008-04-29 08:06:25 -07:00
2008-06-11 21:00:38 -07:00
2008-06-11 21:00:38 -07:00
2008-06-11 21:00:38 -07:00
2008-03-17 22:48:46 -07:00
2008-04-29 08:06:03 -07:00
2008-04-29 08:06:02 -07:00
2008-05-05 16:47:14 +10:00
2008-06-11 19:13:46 -04:00
2008-06-11 21:00:38 -07:00
2008-04-29 08:06:15 -07:00
2008-04-19 19:10:28 -07:00
2008-05-01 08:03:58 -07:00
2008-05-14 19:11:14 -07:00
2008-04-19 19:44:57 +02:00
2008-06-06 21:25:51 +03:00
2008-04-29 08:06:01 -07:00
2008-06-12 18:05:41 -07:00
2008-05-24 09:56:09 -07:00
2008-05-26 16:08:40 +02:00
2008-06-06 11:29:12 -07:00
2008-04-28 08:58:29 -07:00
2008-04-19 16:54:56 -04:00
2008-04-19 16:55:29 -04:00
2008-06-14 12:18:01 -04:00
2008-04-20 21:47:03 -07:00
2008-04-20 21:47:03 -07:00
2008-04-29 08:06:02 -07:00
2008-04-29 08:06:02 -07:00
2008-05-06 12:01:41 -04:00
2008-03-17 22:46:46 -07:00
2008-06-11 21:00:38 -07:00
2008-06-11 21:00:38 -07:00
2008-04-30 08:29:51 -07:00
2008-04-29 08:05:59 -07:00
2008-04-17 10:43:01 -04:00
2008-04-25 00:25:08 +02:00
2008-04-28 08:58:32 -07:00
2008-04-15 13:26:52 -04:00
2008-06-06 11:29:14 -07:00
2008-04-28 08:58:20 -07:00
2008-04-28 08:58:29 -07:00
2008-04-19 19:44:59 +02:00
2008-05-04 17:07:03 -07:00
2008-04-29 02:48:01 -04:00
2008-06-12 10:48:00 +02:00
2008-05-01 08:03:59 -07:00
2008-05-29 14:46:30 +02:00
2008-04-17 20:05:36 +02:00
2008-04-24 21:16:57 -07:00
2008-05-09 07:45:18 -07:00
2008-04-28 08:58:21 -07:00