Re: [PATCH 0/2] revert changes to zcache_do_preload()

From: Minchan Kim
Date: Thu Aug 23 2012 - 16:56:58 EST


Hi Seth,

On Thu, Aug 23, 2012 at 10:33:09AM -0500, Seth Jennings wrote:
> This patchset fixes a regression in 3.6 by reverting two dependent
> commits that made changes to zcache_do_preload().
>
> The commits undermine an assumption made by tmem_put() in
> the cleancache path that preemption is disabled. This change
> introduces a race condition that can result in the wrong page
> being returned by tmem_get(), causing assorted errors (segfaults,
> apparent file corruption, etc) in userspace.
>
> The corruption was discussed in this thread:
> https://lkml.org/lkml/2012/8/17/494

I think changelog isn't enough to explain what's the race.
Could you write it down in detail?

And you should Cc'ed Xiao who is author of reverted patch.

>
> Please apply this patchset to 3.6. This problem didn't exist
> in previous releases so nothing need be done for the stable trees.
>
> Seth Jennings (2):
> Revert "staging: zcache: cleanup zcache_do_preload and
> zcache_put_page"
> Revert "staging: zcache: optimize zcache_do_preload"
>
> drivers/staging/zcache/zcache-main.c | 54 +++++++++++++++++++---------------
> 1 file changed, 31 insertions(+), 23 deletions(-)
>
> --
> 1.7.9.5
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/