* [PATCH 0/3] iommu/amd/iommu_v2: Fix refcount related issues
@ 2023-01-24 10:43 Vasant Hegde
2023-01-24 10:43 ` [PATCH 1/3] iommu/amd/iommu_v2: Fix pasid_state refcount dec hit 0 warning on pasid unbind Vasant Hegde
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Vasant Hegde @ 2023-01-24 10:43 UTC (permalink / raw)
To: iommu, joro; +Cc: suravee.suthikulpanit, jgg, Vasant Hegde, Daniel Marcovitch
This patch series fixes various issues around pasid refcount handling.
Issues addressed in this patchset are as follows:
1. refcount_dec assumes that refcount will never reach 0:
threfore: REFCOUNT_WARN("decrement hit 0; leaking memory")
will be invoked on pasid unbind
* Fixed by changing refcount_dec to refcount_dec_and_test
to explicitly handle refcount=1 (skip waiting for wait queue)
2. ppr_handler calls the wake_up API on the pasid_state wait_queue.
However, once refcount has been decremented, unbind_pasid may have
already freed this object - causing unallocated memory access
* Fixed by adding spinlock to ensure atomicity between refcount
check and event queue handling. Moved wait_queue APIs to
wake_up_locked / wake_event_interruptible_locked accordingly
3. If new ppr_handler arrives after get_pasid_wait once pasid unbind
has decremented refcount to 0 - get_pasid_state can still acquire
a pointer to pasid_state after being freed by unbind_pasid causing
unallocated memory access
* Fixed by changing ref_count_inc to ref_count_inc_not_zero
to ensure no new ppr_handle starts after pasid has been unbound
and NULL (invalid) pasid_state is returned on zero.
Signed-off-by: Daniel Marcovitch <dmarcovitch@nvidia.com>
Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
Base commit: v6.2-rc5
Daniel Marcovitch (3):
iommu/amd/iommu_v2: Fix pasid_state refcount dec hit 0 warning on pasid unbind
iommu/amd/iommu_v2: Fix pasid_state->wq race
iommu/amd/iommu_v2: Prevent scheduling new ppr notifier during unbind_pasid
drivers/iommu/amd/iommu_v2.c | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
--
2.31.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/3] iommu/amd/iommu_v2: Fix pasid_state refcount dec hit 0 warning on pasid unbind
2023-01-24 10:43 [PATCH 0/3] iommu/amd/iommu_v2: Fix refcount related issues Vasant Hegde
@ 2023-01-24 10:43 ` Vasant Hegde
2023-01-24 15:23 ` Jason Gunthorpe
2023-01-24 10:43 ` [PATCH 2/3] iommu/amd/iommu_v2: Fix pasid_state->wq race Vasant Hegde
2023-01-24 10:43 ` [PATCH 3/3] iommu/amd/iommu_v2: Prevent scheduling new ppr notifier during unbind_pasid Vasant Hegde
2 siblings, 1 reply; 10+ messages in thread
From: Vasant Hegde @ 2023-01-24 10:43 UTC (permalink / raw)
To: iommu, joro; +Cc: suravee.suthikulpanit, jgg, Daniel Marcovitch, Vasant Hegde
From: Daniel Marcovitch <dmarcovitch@nvidia.com>
When unbinding pasid - a race condition exists vs outstanding page faults.
To prevent this, the pasid_state object contains a refcount.
* set to 1 on pasid bind
* incremented on each ppr notification start
* decremented on each ppr notification done
* decremented on pasid unbind
Since refcount_dec assumes that refcount will never reach 0:
the current implementation causes the following to be invoked on
pasid unbind:
REFCOUNT_WARN("decrement hit 0; leaking memory")
Fix this issue by changing refcount_dec to refcount_dec_and_test
to explicitly handle refcount=1.
Signed-off-by: Daniel Marcovitch <dmarcovitch@nvidia.com>
Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
---
drivers/iommu/amd/iommu_v2.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/iommu/amd/iommu_v2.c b/drivers/iommu/amd/iommu_v2.c
index 864e4ffb6aa9..858748baae0b 100644
--- a/drivers/iommu/amd/iommu_v2.c
+++ b/drivers/iommu/amd/iommu_v2.c
@@ -262,8 +262,8 @@ static void put_pasid_state(struct pasid_state *pasid_state)
static void put_pasid_state_wait(struct pasid_state *pasid_state)
{
- refcount_dec(&pasid_state->count);
- wait_event(pasid_state->wq, !refcount_read(&pasid_state->count));
+ if (!refcount_dec_and_test(&pasid_state->count))
+ wait_event(pasid_state->wq, !refcount_read(&pasid_state->count));
free_pasid_state(pasid_state);
}
--
2.31.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/3] iommu/amd/iommu_v2: Fix pasid_state->wq race
2023-01-24 10:43 [PATCH 0/3] iommu/amd/iommu_v2: Fix refcount related issues Vasant Hegde
2023-01-24 10:43 ` [PATCH 1/3] iommu/amd/iommu_v2: Fix pasid_state refcount dec hit 0 warning on pasid unbind Vasant Hegde
@ 2023-01-24 10:43 ` Vasant Hegde
2023-01-24 15:30 ` Jason Gunthorpe
2023-01-24 10:43 ` [PATCH 3/3] iommu/amd/iommu_v2: Prevent scheduling new ppr notifier during unbind_pasid Vasant Hegde
2 siblings, 1 reply; 10+ messages in thread
From: Vasant Hegde @ 2023-01-24 10:43 UTC (permalink / raw)
To: iommu, joro; +Cc: suravee.suthikulpanit, jgg, Daniel Marcovitch, Vasant Hegde
From: Daniel Marcovitch <dmarcovitch@nvidia.com>
pasid_state->wq is used to wait for all outstanding pri handling prior
to pasid unbind.
ppr handler calls the wake_up API on the pasid_state->wq once
pasid_state refcount has reached 0. Since refcount is initialized to 1,
this will only occur during pasid unbind.
However, unbind_pasid may reach refcount check at this point of ppr_handler
execution. Since refcount is 0, it will not wait on wait_queue - but
rather proceed with pasid_state deallocation, including wait_queue.
This can cause unallocated memory access.
Fixed by adding spinlock to ensure atomicity between refcount check
and event queue handling. Moved wait_queue APIs to
wake_up_locked / wake_event_interruptible_locked accordingly.
Signed-off-by: Daniel Marcovitch <dmarcovitch@nvidia.com>
Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
---
drivers/iommu/amd/iommu_v2.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/iommu/amd/iommu_v2.c b/drivers/iommu/amd/iommu_v2.c
index 858748baae0b..44fed4ca576f 100644
--- a/drivers/iommu/amd/iommu_v2.c
+++ b/drivers/iommu/amd/iommu_v2.c
@@ -256,14 +256,18 @@ static void free_pasid_state(struct pasid_state *pasid_state)
static void put_pasid_state(struct pasid_state *pasid_state)
{
+ spin_lock(&pasid_state->wq.lock);
if (refcount_dec_and_test(&pasid_state->count))
- wake_up(&pasid_state->wq);
+ wake_up_locked(&pasid_state->wq);
+ spin_unlock(&pasid_state->wq.lock);
}
static void put_pasid_state_wait(struct pasid_state *pasid_state)
{
+ spin_lock(&pasid_state->wq.lock);
if (!refcount_dec_and_test(&pasid_state->count))
- wait_event(pasid_state->wq, !refcount_read(&pasid_state->count));
+ wait_event_interruptible_locked(pasid_state->wq, !refcount_read(&pasid_state->count));
+ spin_unlock(&pasid_state->wq.lock);
free_pasid_state(pasid_state);
}
--
2.31.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/3] iommu/amd/iommu_v2: Prevent scheduling new ppr notifier during unbind_pasid
2023-01-24 10:43 [PATCH 0/3] iommu/amd/iommu_v2: Fix refcount related issues Vasant Hegde
2023-01-24 10:43 ` [PATCH 1/3] iommu/amd/iommu_v2: Fix pasid_state refcount dec hit 0 warning on pasid unbind Vasant Hegde
2023-01-24 10:43 ` [PATCH 2/3] iommu/amd/iommu_v2: Fix pasid_state->wq race Vasant Hegde
@ 2023-01-24 10:43 ` Vasant Hegde
2023-01-24 15:33 ` Jason Gunthorpe
2 siblings, 1 reply; 10+ messages in thread
From: Vasant Hegde @ 2023-01-24 10:43 UTC (permalink / raw)
To: iommu, joro; +Cc: suravee.suthikulpanit, jgg, Daniel Marcovitch, Vasant Hegde
From: Daniel Marcovitch <dmarcovitch@nvidia.com>
The pasid state wait_queue / ref_count mechanism allows unbind_pasid to
wait for all outstanding ppr requests to be completed prior to freeing
pasid_state.
However, we are still missing a mechanism to prevent new ppr_notifier
being invoked after refcount has been decremented to 0, and prior to
pasid_state deallocation.
This can cause unallocated memory access.
Fixed by changing ref_count_inc to ref_count_inc_not_zero to ensure no
new ppr_handler starts after pasid has been unbound and NULL (invalid)
pasid_state is returned on zero.
Signed-off-by: Daniel Marcovitch <dmarcovitch@nvidia.com>
Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
---
drivers/iommu/amd/iommu_v2.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/iommu/amd/iommu_v2.c b/drivers/iommu/amd/iommu_v2.c
index 44fed4ca576f..264d9aa447c2 100644
--- a/drivers/iommu/amd/iommu_v2.c
+++ b/drivers/iommu/amd/iommu_v2.c
@@ -240,8 +240,13 @@ static struct pasid_state *get_pasid_state(struct device_state *dev_state,
goto out_unlock;
ret = *ptr;
- if (ret)
- refcount_inc(&ret->count);
+
+ /*
+ * Since pasid_state creation sets initial count to 1,
+ * a count of 0 indicates that unbind_pasid is in progress
+ */
+ if (ret && !refcount_inc_not_zero(&ret->count))
+ ret = NULL;
out_unlock:
spin_unlock_irqrestore(&dev_state->lock, flags);
--
2.31.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] iommu/amd/iommu_v2: Fix pasid_state refcount dec hit 0 warning on pasid unbind
2023-01-24 10:43 ` [PATCH 1/3] iommu/amd/iommu_v2: Fix pasid_state refcount dec hit 0 warning on pasid unbind Vasant Hegde
@ 2023-01-24 15:23 ` Jason Gunthorpe
2023-01-27 4:44 ` Vasant Hegde
0 siblings, 1 reply; 10+ messages in thread
From: Jason Gunthorpe @ 2023-01-24 15:23 UTC (permalink / raw)
To: Vasant Hegde; +Cc: iommu, joro, suravee.suthikulpanit, Daniel Marcovitch
On Tue, Jan 24, 2023 at 10:43:53AM +0000, Vasant Hegde wrote:
> From: Daniel Marcovitch <dmarcovitch@nvidia.com>
>
> When unbinding pasid - a race condition exists vs outstanding page faults.
>
> To prevent this, the pasid_state object contains a refcount.
> * set to 1 on pasid bind
> * incremented on each ppr notification start
> * decremented on each ppr notification done
> * decremented on pasid unbind
I've no objection to this quick fix
But the issue here is using a refcount for something that is not a
refcount. This usage model is should just be a normal atomic if it is
only counting the number of notifications in progress.
To be a refcount to have to follow one of the standard refcount
patterns, ie get rid of the event queue and consistently do:
if (refcount_dec_and_test())
free_pasid_state()
Which implies the ppr notification done can do a defered free of the
pasid_state.
Jason
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] iommu/amd/iommu_v2: Fix pasid_state->wq race
2023-01-24 10:43 ` [PATCH 2/3] iommu/amd/iommu_v2: Fix pasid_state->wq race Vasant Hegde
@ 2023-01-24 15:30 ` Jason Gunthorpe
0 siblings, 0 replies; 10+ messages in thread
From: Jason Gunthorpe @ 2023-01-24 15:30 UTC (permalink / raw)
To: Vasant Hegde; +Cc: iommu, joro, suravee.suthikulpanit, Daniel Marcovitch
On Tue, Jan 24, 2023 at 10:43:54AM +0000, Vasant Hegde wrote:
> From: Daniel Marcovitch <dmarcovitch@nvidia.com>
>
> pasid_state->wq is used to wait for all outstanding pri handling prior
> to pasid unbind.
>
> ppr handler calls the wake_up API on the pasid_state->wq once
> pasid_state refcount has reached 0. Since refcount is initialized to 1,
> this will only occur during pasid unbind.
>
> However, unbind_pasid may reach refcount check at this point of ppr_handler
> execution. Since refcount is 0, it will not wait on wait_queue - but
> rather proceed with pasid_state deallocation, including wait_queue.
>
> This can cause unallocated memory access.
>
> Fixed by adding spinlock to ensure atomicity between refcount check
> and event queue handling. Moved wait_queue APIs to
> wake_up_locked / wake_event_interruptible_locked accordingly.
>
> Signed-off-by: Daniel Marcovitch <dmarcovitch@nvidia.com>
> Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
> ---
> drivers/iommu/amd/iommu_v2.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iommu/amd/iommu_v2.c b/drivers/iommu/amd/iommu_v2.c
> index 858748baae0b..44fed4ca576f 100644
> --- a/drivers/iommu/amd/iommu_v2.c
> +++ b/drivers/iommu/amd/iommu_v2.c
> @@ -256,14 +256,18 @@ static void free_pasid_state(struct pasid_state *pasid_state)
>
> static void put_pasid_state(struct pasid_state *pasid_state)
> {
> + spin_lock(&pasid_state->wq.lock);
> if (refcount_dec_and_test(&pasid_state->count))
> - wake_up(&pasid_state->wq);
> + wake_up_locked(&pasid_state->wq);
> + spin_unlock(&pasid_state->wq.lock);
> }
>
> static void put_pasid_state_wait(struct pasid_state *pasid_state)
> {
> + spin_lock(&pasid_state->wq.lock);
> if (!refcount_dec_and_test(&pasid_state->count))
> - wait_event(pasid_state->wq, !refcount_read(&pasid_state->count));
> + wait_event_interruptible_locked(pasid_state->wq, !refcount_read(&pasid_state->count));
> + spin_unlock(&pasid_state->wq.lock);
You can't call wait_event_interruptible_locked() while holding a
spinlock
What this is really trying to make is one of those open coded rwlocks
that can be passed into a WQ.
struct refcount count
struct completion comp
init:
refcount_set(count, 1)
get:
if !refcount_inc_not_zero(count)
// Concurrent destruction, can't get the pasid state!
put:
if refcount_dec_and_test(count)
complete(&device->comp)
destroy:
put() // put back the refcount_set()
wait_for_completion()
// Now count == 0
clear_pasid_state()
free()
Jason
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/3] iommu/amd/iommu_v2: Prevent scheduling new ppr notifier during unbind_pasid
2023-01-24 10:43 ` [PATCH 3/3] iommu/amd/iommu_v2: Prevent scheduling new ppr notifier during unbind_pasid Vasant Hegde
@ 2023-01-24 15:33 ` Jason Gunthorpe
2023-01-27 4:58 ` Vasant Hegde
0 siblings, 1 reply; 10+ messages in thread
From: Jason Gunthorpe @ 2023-01-24 15:33 UTC (permalink / raw)
To: Vasant Hegde; +Cc: iommu, joro, suravee.suthikulpanit, Daniel Marcovitch
On Tue, Jan 24, 2023 at 10:43:55AM +0000, Vasant Hegde wrote:
> From: Daniel Marcovitch <dmarcovitch@nvidia.com>
>
> The pasid state wait_queue / ref_count mechanism allows unbind_pasid to
> wait for all outstanding ppr requests to be completed prior to freeing
> pasid_state.
>
> However, we are still missing a mechanism to prevent new ppr_notifier
> being invoked after refcount has been decremented to 0, and prior to
> pasid_state deallocation.
>
> This can cause unallocated memory access.
>
> Fixed by changing ref_count_inc to ref_count_inc_not_zero to ensure no
> new ppr_handler starts after pasid has been unbound and NULL (invalid)
> pasid_state is returned on zero.
It looks like this is prevented by clear_pasid_state() which will NULL
the pasid entry under the spinlock before an attempt is made to zero
the refcount?
Though maybe that is missed in the free_pasid_states() path?
Also this whole thing is just begging to be converted into an xarray..
Jason
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] iommu/amd/iommu_v2: Fix pasid_state refcount dec hit 0 warning on pasid unbind
2023-01-24 15:23 ` Jason Gunthorpe
@ 2023-01-27 4:44 ` Vasant Hegde
2023-01-27 12:58 ` Jason Gunthorpe
0 siblings, 1 reply; 10+ messages in thread
From: Vasant Hegde @ 2023-01-27 4:44 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: iommu, joro, suravee.suthikulpanit, Daniel Marcovitch
Hi Jason,
On 1/24/2023 8:53 PM, Jason Gunthorpe wrote:
> On Tue, Jan 24, 2023 at 10:43:53AM +0000, Vasant Hegde wrote:
>> From: Daniel Marcovitch <dmarcovitch@nvidia.com>
>>
>> When unbinding pasid - a race condition exists vs outstanding page faults.
>>
>> To prevent this, the pasid_state object contains a refcount.
>> * set to 1 on pasid bind
>> * incremented on each ppr notification start
>> * decremented on each ppr notification done
>> * decremented on pasid unbind
>
> I've no objection to this quick fix
>
> But the issue here is using a refcount for something that is not a
> refcount. This usage model is should just be a normal atomic if it is
> only counting the number of notifications in progress.
Originally it was using atomic counter.. which got converted to refcount by
below commit:
commit 8bc54824da4e8fcf0ed679cf09ac32f23d83254a
Author: Xiyu Yang via iommu <iommu@lists.linux-foundation.org>
Date: Mon Jul 19 16:32:58 2021 +0800
iommu/amd: Convert from atomic_t to refcount_t on pasid_state->count
.. after this commit it started throwing warnings. We thought of fixing the
warning instead of reverting above commit.
-Vasant
>
> To be a refcount to have to follow one of the standard refcount
> patterns, ie get rid of the event queue and consistently do:
>
> if (refcount_dec_and_test())
> free_pasid_state()
>
> Which implies the ppr notification done can do a defered free of the
> pasid_state.
>
> Jason
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/3] iommu/amd/iommu_v2: Prevent scheduling new ppr notifier during unbind_pasid
2023-01-24 15:33 ` Jason Gunthorpe
@ 2023-01-27 4:58 ` Vasant Hegde
0 siblings, 0 replies; 10+ messages in thread
From: Vasant Hegde @ 2023-01-27 4:58 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: iommu, joro, suravee.suthikulpanit, Daniel Marcovitch
Jason,
On 1/24/2023 9:03 PM, Jason Gunthorpe wrote:
> On Tue, Jan 24, 2023 at 10:43:55AM +0000, Vasant Hegde wrote:
>> From: Daniel Marcovitch <dmarcovitch@nvidia.com>
>>
>> The pasid state wait_queue / ref_count mechanism allows unbind_pasid to
>> wait for all outstanding ppr requests to be completed prior to freeing
>> pasid_state.
>>
>> However, we are still missing a mechanism to prevent new ppr_notifier
>> being invoked after refcount has been decremented to 0, and prior to
>> pasid_state deallocation.
>>
>> This can cause unallocated memory access.
>>
>> Fixed by changing ref_count_inc to ref_count_inc_not_zero to ensure no
>> new ppr_handler starts after pasid has been unbound and NULL (invalid)
>> pasid_state is returned on zero.
>
> It looks like this is prevented by clear_pasid_state() which will NULL
> the pasid entry under the spinlock before an attempt is made to zero
> the refcount?
>
> Though maybe that is missed in the free_pasid_states() path?
You are right. We just need to add clear_pasid_start in above path (something
like below).
----------
diff --git a/drivers/iommu/amd/iommu_v2.c b/drivers/iommu/amd/iommu_v2.c
index 264d9aa447c2..15f4d4bd1f63 100644
--- a/drivers/iommu/amd/iommu_v2.c
+++ b/drivers/iommu/amd/iommu_v2.c
@@ -336,6 +336,8 @@ static void free_pasid_states(struct device_state *dev_state)
put_pasid_state(pasid_state);
+ clear_pasid_state(dev_state, pasid);
+
/*
* This will call the mn_release function and
* unbind the PASID
>
> Also this whole thing is just begging to be converted into an xarray..
Agree. Makes sense. We will look into it later.
-Vasant
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] iommu/amd/iommu_v2: Fix pasid_state refcount dec hit 0 warning on pasid unbind
2023-01-27 4:44 ` Vasant Hegde
@ 2023-01-27 12:58 ` Jason Gunthorpe
0 siblings, 0 replies; 10+ messages in thread
From: Jason Gunthorpe @ 2023-01-27 12:58 UTC (permalink / raw)
To: Vasant Hegde; +Cc: iommu, joro, suravee.suthikulpanit, Daniel Marcovitch
On Fri, Jan 27, 2023 at 10:14:15AM +0530, Vasant Hegde wrote:
> Hi Jason,
>
>
> On 1/24/2023 8:53 PM, Jason Gunthorpe wrote:
> > On Tue, Jan 24, 2023 at 10:43:53AM +0000, Vasant Hegde wrote:
> >> From: Daniel Marcovitch <dmarcovitch@nvidia.com>
> >>
> >> When unbinding pasid - a race condition exists vs outstanding page faults.
> >>
> >> To prevent this, the pasid_state object contains a refcount.
> >> * set to 1 on pasid bind
> >> * incremented on each ppr notification start
> >> * decremented on each ppr notification done
> >> * decremented on pasid unbind
> >
> > I've no objection to this quick fix
> >
> > But the issue here is using a refcount for something that is not a
> > refcount. This usage model is should just be a normal atomic if it is
> > only counting the number of notifications in progress.
>
> Originally it was using atomic counter.. which got converted to refcount by
> below commit:
>
> commit 8bc54824da4e8fcf0ed679cf09ac32f23d83254a
> Author: Xiyu Yang via iommu <iommu@lists.linux-foundation.org>
> Date: Mon Jul 19 16:32:58 2021 +0800
>
> iommu/amd: Convert from atomic_t to refcount_t on pasid_state->count
>
> .. after this commit it started throwing warnings. We thought of fixing the
> warning instead of reverting above commit.
The mechanical clean up was wrong because it subtly wasn't a refcount
:)
But given the other problems here you can fix it with the approach I gave
in the other email
Jason
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2023-01-27 12:58 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-24 10:43 [PATCH 0/3] iommu/amd/iommu_v2: Fix refcount related issues Vasant Hegde
2023-01-24 10:43 ` [PATCH 1/3] iommu/amd/iommu_v2: Fix pasid_state refcount dec hit 0 warning on pasid unbind Vasant Hegde
2023-01-24 15:23 ` Jason Gunthorpe
2023-01-27 4:44 ` Vasant Hegde
2023-01-27 12:58 ` Jason Gunthorpe
2023-01-24 10:43 ` [PATCH 2/3] iommu/amd/iommu_v2: Fix pasid_state->wq race Vasant Hegde
2023-01-24 15:30 ` Jason Gunthorpe
2023-01-24 10:43 ` [PATCH 3/3] iommu/amd/iommu_v2: Prevent scheduling new ppr notifier during unbind_pasid Vasant Hegde
2023-01-24 15:33 ` Jason Gunthorpe
2023-01-27 4:58 ` Vasant Hegde
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.