Florian Westphal
40008e9211
net: ipv4: remove erroneous advancement of list pointer
...
Causes crash when lifetime expires on an adress as garbage is
dereferenced soon after.
This used to look like this:
for (ifap = &ifa->ifa_dev->ifa_list;
*ifap != NULL; ifap = &(*ifap)->ifa_next) {
if (*ifap == ifa) ...
but this was changed to:
struct in_ifaddr *tmp;
ifap = &ifa->ifa_dev->ifa_list;
tmp = rtnl_dereference(*ifap);
while (tmp) {
tmp = rtnl_dereference(tmp->ifa_next); // Bogus
if (rtnl_dereference(*ifap) == ifa) {
...
ifap = &tmp->ifa_next; // Can be NULL
tmp = rtnl_dereference(*ifap); // Dereference
}
}
Remove the bogus assigment/list entry skip.
Fixes: 2638eb8b50 ("net: ipv4: provide __rcu annotation for ifa_list")
Signed-off-by: Florian Westphal <fw@strlen.de >
Signed-off-by: David S. Miller <davem@davemloft.net >
2019-06-17 16:27:42 -07:00
..
2019-05-21 12:33:38 -07:00
2019-06-02 18:06:26 -07:00
2019-05-31 08:34:32 -07:00
2019-05-21 10:50:45 +02:00
2019-05-30 11:26:32 -07:00
2019-05-21 11:28:45 +02:00
2019-05-30 11:26:32 -07:00
2019-06-17 16:27:42 -07:00
2019-05-02 22:14:21 -04:00
2019-05-21 10:50:45 +02:00
2019-06-10 10:44:56 -07:00
2019-06-04 19:26:49 -07:00
2017-11-02 11:10:55 +01:00
2019-06-07 11:00:14 -07:00
2019-06-10 10:44:57 -07:00
2019-06-07 11:00:14 -07:00
2019-05-21 10:50:45 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-06-07 11:00:14 -07:00
2019-06-07 11:00:14 -07:00
2019-06-07 11:00:14 -07:00
2019-05-30 11:26:32 -07:00
2019-06-07 11:00:14 -07:00
2019-06-07 11:00:14 -07:00
2019-05-21 10:50:45 +02:00
2019-02-08 21:50:15 -08:00
2019-04-08 15:22:40 -07:00
2019-05-26 14:08:05 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-04-01 10:44:58 -07:00
2019-06-14 19:51:12 -07:00
2019-05-25 11:00:50 -07:00
2019-04-27 17:07:21 -04:00
2019-03-06 10:43:06 -08:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-02-01 15:24:13 -08:00
2019-05-30 11:26:32 -07:00
2019-05-07 17:22:09 -07:00
2019-05-30 11:26:32 -07:00
2019-05-21 10:50:46 +02:00
2019-05-28 21:37:30 -07:00
2019-05-21 10:50:45 +02:00
2019-01-28 11:32:58 +01:00
2019-05-21 10:50:45 +02:00
2019-06-10 10:44:57 -07:00
2019-05-30 11:26:32 -07:00
2019-06-07 11:00:14 -07:00
2019-05-30 11:26:32 -07:00
2019-05-21 10:50:45 +02:00
2019-05-30 11:26:32 -07:00
2019-06-14 19:42:35 -07:00
2019-05-30 11:26:32 -07:00
2019-06-14 19:42:35 -07:00
2019-01-24 22:27:27 -08:00
2019-05-21 10:50:45 +02:00
2019-05-16 01:36:13 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-30 11:26:32 -07:00
2018-10-10 22:26:00 -07:00
2019-05-30 11:26:32 -07:00
2019-06-17 13:56:26 -07:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-06-14 19:31:48 -07:00
2019-06-14 19:51:12 -07:00
2019-05-21 10:50:45 +02:00
2019-05-01 11:47:54 -04:00
2019-06-12 13:05:43 -07:00
2019-05-21 10:50:45 +02:00
2019-05-30 11:26:32 -07:00
2019-06-12 13:05:43 -07:00
2019-05-21 10:50:45 +02:00
2018-09-21 19:37:59 -07:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2017-11-02 11:10:55 +01:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-06-12 13:05:43 -07:00
2019-05-21 10:50:45 +02:00
2019-05-30 11:26:32 -07:00
2019-01-17 15:01:08 -08:00
2019-06-07 11:00:14 -07:00
2019-05-21 10:50:45 +02:00
2019-06-14 19:52:07 -07:00
2019-05-30 11:26:32 -07:00
2018-09-04 10:26:30 +02:00
2019-05-30 11:26:32 -07:00
2019-04-30 09:26:13 -04:00
2019-05-30 11:26:32 -07:00
2017-11-02 11:10:55 +01:00
2019-05-21 10:50:45 +02:00