[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <544099B1.4090202@suse.com>
Date: Fri, 17 Oct 2014 06:23:13 +0200
From: Juergen Gross <jgross@...e.com>
To: David Vrabel <david.vrabel@...rix.com>,
linux-kernel@...r.kernel.org, xen-devel@...ts.xensource.com,
konrad.wilk@...cle.com
Subject: Re: [PATCH] xen: avoid race in p2m handling
On 10/16/2014 05:50 PM, David Vrabel wrote:
> On 16/10/14 07:13, Juergen Gross wrote:
>> When a new p2m leaf is allocated this leaf is linked into the p2m tree
>> via cmpxchg. Unfortunately the compare value for checking the success
>> of the update is read after checking for the need of a new leaf. It is
>> possible that a new leaf has been linked into the tree concurrently
>> in between. This could lead to a leaked memory page and to the loss of
>> some p2m entries.
>>
>> Avoid the race by using the read compare value for checking the need
>> of a new p2m leaf.
> [...]
>> @@ -579,11 +580,10 @@ static bool alloc_p2m(unsigned long pfn)
>> }
>> }
>>
>> - if (p2m_top[topidx][mididx] == p2m_identity ||
>> - p2m_top[topidx][mididx] == p2m_missing) {
>> + p2m_orig = p2m_top[topidx][mididx];
>
> Do you need to use ACCESS_ONCE() here?
Yes, you are probably right. Should I send a new patch or do you want
to modify it?
Juergen
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists