2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-18 10:13:57 +08:00
linux-next/net/batman-adv
Linus Lüssing 72822225bd batman-adv: Fix rcu_barrier() miss due to double call_rcu() in TT code
rcu_barrier() only waits for the currently scheduled rcu functions
to finish - it won't wait for any function scheduled via another
call_rcu() within an rcu scheduled function.

Unfortunately our batadv_tt_orig_list_entry_free_ref() does just that,
via a batadv_orig_node_free_ref() call, leading to our rcu_barrier()
call potentially missing such a batadv_orig_node_free_ref().

This patch fixes this issue by calling the batadv_orig_node_free_rcu()
directly from the rcu callback, removing the unnecessary, additional
call_rcu() layer here.

Signed-off-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Acked-by: Antonio Quartulli <ordex@autistici.org>
2013-05-17 09:54:28 +02:00
..
bat_algo.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
bat_iv_ogm.c batman-adv: network coding - detect coding nodes and remove these after timeout 2013-03-13 22:53:49 +01:00
bitarray.c batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
bitarray.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
bridge_loop_avoidance.c net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
bridge_loop_avoidance.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
debugfs.c batman-adv: network coding - detect coding nodes and remove these after timeout 2013-03-13 22:53:49 +01:00
debugfs.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
distributed-arp-table.c batman-adv: make DAT drop ARP requests targeting local clients 2013-05-09 12:39:45 +02:00
distributed-arp-table.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
gateway_client.c batman-adv: use seq_puts instead of seq_printf when the format is constant 2013-03-27 10:29:55 +01:00
gateway_client.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
gateway_common.c batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
gateway_common.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
hard-interface.c batman-adv: free an hard-interface before adding it 2013-03-27 10:29:53 +01:00
hard-interface.h batman-adv: Don't always delete softif when last slave was removed 2013-03-27 10:27:32 +01:00
hash.c batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
hash.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
icmp_socket.c batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
icmp_socket.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
Kconfig batman-adv: network coding - add the initial infrastructure code 2013-03-13 22:53:48 +01:00
main.c batman-adv: reorder clean up routine in order to avoid race conditions 2013-05-09 12:39:45 +02:00
main.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-04-22 20:32:51 -04:00
Makefile batman-adv: update Makefile copyright years 2013-03-27 10:29:54 +01:00
network-coding.c batman-adv: check return value of pskb_trim_rcsum() 2013-05-09 12:39:44 +02:00
network-coding.h batman-adv: network coding - save overheard and tx packets for decoding 2013-03-13 22:53:50 +01:00
originator.c batman-adv: Fix rcu_barrier() miss due to double call_rcu() in TT code 2013-05-17 09:54:28 +02:00
originator.h batman-adv: Fix rcu_barrier() miss due to double call_rcu() in TT code 2013-05-17 09:54:28 +02:00
packet.h batman-adv: Fix endianness errors for network coding 2013-03-27 10:27:31 +01:00
ring_buffer.c batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
ring_buffer.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
routing.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-04-30 03:55:20 -04:00
routing.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
send.c batman-adv: network coding - save overheard and tx packets for decoding 2013-03-13 22:53:50 +01:00
send.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
soft-interface.c batman-adv: fix global protection fault during soft_iface destruction 2013-04-22 20:40:48 -04:00
soft-interface.h batman-adv: Allow to use rntl_link for device creation/deletion 2013-03-27 10:27:34 +01:00
sysfs.c batman-adv: Don't always delete softif when last slave was removed 2013-03-27 10:27:32 +01:00
sysfs.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
translation-table.c batman-adv: Fix rcu_barrier() miss due to double call_rcu() in TT code 2013-05-17 09:54:28 +02:00
translation-table.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
types.h batman-adv: network coding - receive coded packets and decode them 2013-03-13 22:53:51 +01:00
unicast.c batman-adv: don't use !! in bool conversion 2013-03-13 22:53:48 +01:00
unicast.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
vis.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-04-22 20:32:51 -04:00
vis.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00