diff options
| author | Ingo Molnar <mingo@elte.hu> | 2012-02-28 10:26:07 +0100 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2012-02-28 10:27:36 +0100 |
| commit | 458ce2910aa83d8a2cafb489d727f7da839e73c6 (patch) | |
| tree | 28e088137eb068e5620f17eaf0ca19d1562006ed /net/core/sysctl_net_core.c | |
| parent | 69466466ce889cd2cbc8cda9ff1c6083f48cc7f9 (diff) | |
| parent | 586c6e7013c8cbb8c91aaa6568ec349b1dc2c691 (diff) | |
Merge branch 'linus' into x86/asm
Sync up the latest NMI fixes.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'net/core/sysctl_net_core.c')
| -rw-r--r-- | net/core/sysctl_net_core.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c index 77a65f031488..d05559d4d9cd 100644 --- a/net/core/sysctl_net_core.c +++ b/net/core/sysctl_net_core.c @@ -68,8 +68,13 @@ static int rps_sock_flow_sysctl(ctl_table *table, int write, if (sock_table != orig_sock_table) { rcu_assign_pointer(rps_sock_flow_table, sock_table); - synchronize_rcu(); - vfree(orig_sock_table); + if (sock_table) + jump_label_inc(&rps_needed); + if (orig_sock_table) { + jump_label_dec(&rps_needed); + synchronize_rcu(); + vfree(orig_sock_table); + } } } |
