datapath: Don't check for RCU in free_buckets in table.
authorJesse Gross <jesse@nicira.com>
Wed, 29 Dec 2010 23:05:02 +0000 (15:05 -0800)
committerJesse Gross <jesse@nicira.com>
Thu, 30 Dec 2010 17:35:40 +0000 (09:35 -0800)
commit633d3ac7dc4ac473a4e2a4f7bff32f3023b45cf6
tree194c6cde3e89b55d39b94802e4dd40ed460cbf17
parentf072ebdd57ee86cdc86aac59b5d993cffc37e2e5
datapath: Don't check for RCU in free_buckets in table.

free_buckets() is only called in places where the lifetime of its
container has ended: on allocation failure and on deletion after
a grace period.  If the container can no longer be referenced then
neither can the buckets, so it is safe to directly free them.
sparse complains if the pointer is directly dereferenced and lockdep
complains if the RCU functions are used without some type of lock,
both of which are fine in this case.  This adds an explicit cast to
avoid the complaints.

Found with lockdep.

Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
datapath/table.c