From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marc Aurele La France Subject: Re: RCU'ed dst_get_neighbour() Date: Tue, 29 Nov 2011 15:32:35 -0700 (Mountain Standard Time) Message-ID: References: <1322589661.2596.2.camel@edumazet-laptop> <1322599437.2596.10.camel@edumazet-laptop> <1322599991.2596.11.camel@edumazet-laptop> <1322601444.2596.21.camel@edumazet-laptop> <1322602283.2596.25.camel@edumazet-laptop> Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="652515-16898-1322605957=:228" Return-path: In-Reply-To: <1322602283.2596.25.camel@edumazet-laptop> Sender: linux-rdma-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Eric Dumazet Cc: Roland Dreier , David Miller , netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-rdma@vger.kernel.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --652515-16898-1322605957=:228 Content-Type: TEXT/PLAIN; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8BIT On Tue, 29 Nov 2011, Eric Dumazet wrote: > Le mardi 29 novembre 2011 à 22:17 +0100, Eric Dumazet a écrit : >> Le mardi 29 novembre 2011 à 14:00 -0700, Marc Aurele La France a écrit : >>> On Tue, 29 Nov 2011, Eric Dumazet wrote: >>>> Oh well, I forgot one rcu_read_unlock(), I'll send a V2... >>> This also doesn't address the other dst_get_neighbour() instances >>> introduced by >>> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=69cce1d1404968f78b177a0314f5822d5afdbbfb >> Oh well, a complete audit is needed, and I have no choice but doing it. > Here is the result of this audit, please double check and test it, I > only compiled this. > [PATCH V2] drivers/infiniband: fix lockdep splats > commit f2c31e32b37 (net: fix NULL dereferences in check_peer_redir()) > forgot to take care of infiniband uses of dst neighbours. > Many thanks to Marc Aurele who provided a nice bug report and feedback. > Reported-by: Marc Aurele La France > Signed-off-by: Eric Dumazet > CC: David Miller > CC: Roland Dreier > --- > drivers/infiniband/core/addr.c | 9 +++++-- > drivers/infiniband/hw/cxgb3/iwch_cm.c | 4 +++ > drivers/infiniband/hw/cxgb4/cm.c | 6 +++++ > drivers/infiniband/hw/nes/nes_cm.c | 6 +++-- > drivers/infiniband/ulp/ipoib/ipoib_main.c | 18 +++++++++------ > drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 6 +++-- > 6 files changed, 35 insertions(+), 14 deletions(-) This looks good to me, although I'm a little iffy on your use of dst_get_neighbour_raw(), but that could be just me. But your audit is incomplete, a grep of 3.1.3 for dst_get_neighbour() and dst_get_neighbour_raw() reveals occurrences in ... drivers/scsi/cxgbi/cxgb3i/cxgb3i.c drivers/scsi/cxgbi/cxgb4i/cxgb4i.c drivers/scsi/cxgbi/libcxgbi.c drivers/s390/net/qeth_l3_main.c drivers/net/cxgb3/cxgb3_offload.c drivers/infiniband/hw/cxgb3/iwch_cm.c drivers/infiniband/hw/nes/nes_cm.c drivers/infiniband/hw/cxgb4/cm.c drivers/infiniband/core/addr.c drivers/infiniband/ulp/ipoib/ipoib_main.c drivers/infiniband/ulp/ipoib/ipoib_multicast.c include/net/dst.h net/atm/clip.c net/sched/sch_teql.c net/core/neighbour.c net/ipv4/ip_gre.c net/ipv4/ip_output.c net/ipv4/route.c net/xfrm/xfrm_policy.c net/bridge/br_netfilter.c net/decnet/dn_neigh.c net/decnet/dn_route.c net/ipv6/sit.c net/ipv6/addrconf.c net/ipv6/route.c net/ipv6/ndisc.c net/ipv6/ip6_output.c net/ipv6/ip6_fib.c (I'd list them all here, but I'm having issues with my MUA when I do so.) Marc. +----------------------------------+----------------------------------+ | Marc Aurele La France | work: 1-780-492-9310 | | Academic Information and | fax: 1-780-492-1729 | | Communications Technologies | email: tsi-yfeSBMgouQgsA/PxXw9srA@public.gmane.org | | 352 General Services Building +----------------------------------+ | University of Alberta | | | Edmonton, Alberta | Standard disclaimers apply | | T6G 2H1 | | | CANADA | | +----------------------------------+----------------------------------+ --652515-16898-1322605957=:228-- -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html