lkml.org 
[lkml]   [2018]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [RFC 0/3] iommu/iova: Unsafe locking in find_iova()
Hi,

Any opinion on that?
It looks to remove a source of possible issues and
has a nice diffstat.

2018-06-21 19:08 GMT+01:00 Dmitry Safonov <dima@arista.com>:
> find_iova() looks to be using a bad locking practice: it locks the
> returned iova only for the search time.
> And looking in code, the element can be removed from the tree and freed
> under rbtree lock. That happens during memory hot-unplug and cleanup on
> module removal.
> Here I cleanup users of the function and delete it.
>
> Dmitry Safonov (3):
> iommu/iova: Find and split iova under rbtree's lock
> iommu/iova: Make free_iova() atomic
> iommu/iova: Remove find_iova()
>
> drivers/iommu/intel-iommu.c | 14 +++----------
> drivers/iommu/iova.c | 48 +++++++++++++++++----------------------------
> include/linux/iova.h | 17 ++++------------
> 3 files changed, 25 insertions(+), 54 deletions(-)
>

Thanks,
Dmitry

\
 
 \ /
  Last update: 2018-07-03 21:01    [W:0.114 / U:0.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site