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

Minchan Kim minchan at kernel.org
Thu Aug 23 20:56:48 UTC 2012


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
> 



More information about the devel mailing list