diff options
Diffstat (limited to 'net/ipv4/devinet.c')
-rw-r--r-- | net/ipv4/devinet.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c index 9de2514946ca..2e667e2f90df 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c | |||
@@ -1348,7 +1348,7 @@ static int devinet_sysctl_forward(ctl_table *ctl, int write, | |||
1348 | dev_disable_lro(idev->dev); | 1348 | dev_disable_lro(idev->dev); |
1349 | } | 1349 | } |
1350 | rtnl_unlock(); | 1350 | rtnl_unlock(); |
1351 | rt_cache_flush(0); | 1351 | rt_cache_flush(net, 0); |
1352 | } | 1352 | } |
1353 | } | 1353 | } |
1354 | 1354 | ||
@@ -1362,9 +1362,10 @@ int ipv4_doint_and_flush(ctl_table *ctl, int write, | |||
1362 | int *valp = ctl->data; | 1362 | int *valp = ctl->data; |
1363 | int val = *valp; | 1363 | int val = *valp; |
1364 | int ret = proc_dointvec(ctl, write, filp, buffer, lenp, ppos); | 1364 | int ret = proc_dointvec(ctl, write, filp, buffer, lenp, ppos); |
1365 | struct net *net = ctl->extra2; | ||
1365 | 1366 | ||
1366 | if (write && *valp != val) | 1367 | if (write && *valp != val) |
1367 | rt_cache_flush(0); | 1368 | rt_cache_flush(net, 0); |
1368 | 1369 | ||
1369 | return ret; | 1370 | return ret; |
1370 | } | 1371 | } |
@@ -1375,9 +1376,10 @@ int ipv4_doint_and_flush_strategy(ctl_table *table, int __user *name, int nlen, | |||
1375 | { | 1376 | { |
1376 | int ret = devinet_conf_sysctl(table, name, nlen, oldval, oldlenp, | 1377 | int ret = devinet_conf_sysctl(table, name, nlen, oldval, oldlenp, |
1377 | newval, newlen); | 1378 | newval, newlen); |
1379 | struct net *net = table->extra2; | ||
1378 | 1380 | ||
1379 | if (ret == 1) | 1381 | if (ret == 1) |
1380 | rt_cache_flush(0); | 1382 | rt_cache_flush(net, 0); |
1381 | 1383 | ||
1382 | return ret; | 1384 | return ret; |
1383 | } | 1385 | } |