> From: Dan Magenheimer > Sent: Tuesday, September 13, 2011 2:56 PM > To: Seth Jennings; [email protected] > Cc: [email protected]; [email protected]; [email protected]; > [email protected]; > [email protected] > Subject: RE: [PATCH] staging: zcache: fix cleancache crash > > > From: Seth Jennings [mailto:[email protected]] > > Sent: Tuesday, September 13, 2011 1:19 PM > > To: [email protected] > > Cc: [email protected]; [email protected]; [email protected]; > > [email protected]; > > [email protected]; Dan Magenheimer; Seth Jennings > > Subject: [PATCH] staging: zcache: fix cleancache crash > > > > After commit, c5f5c4db, cleancache crashes on the first > > successful get. This was caused by a remaining virt_to_page() > > call in zcache_pampd_get_data_and_free() that only gets > > run in the cleancache path. > > > > The patch converts the virt_to_page() to struct page > > casting like was done for other instances in c5f5c4db. > > > > Based on 3.1-rc4 > > > > Signed-off-by: Seth Jennings <[email protected]> > > Yep, this appears to fix it! Hopefully Francis can confirm. > > Greg, ideally apply this additional fix rather than do the revert > of the original patch suggested in https://lkml.org/lkml/2011/9/13/234 > > Acked-by: Dan Magenheimer <[email protected]>
Greg, Francis has confirmed offlist that Seth's fix below has fixed his issue as well. Please apply, hopefully as soon as possible and before 3.1 goes final! Thanks, Dan > > --- > > drivers/staging/zcache/zcache-main.c | 2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > diff --git a/drivers/staging/zcache/zcache-main.c > > b/drivers/staging/zcache/zcache-main.c > > index a3f5162..462fbc2 100644 > > --- a/drivers/staging/zcache/zcache-main.c > > +++ b/drivers/staging/zcache/zcache-main.c > > @@ -1242,7 +1242,7 @@ static int zcache_pampd_get_data_and_free(char *data, > > size_t *bufsize, bool > raw, > > int ret = 0; > > > > BUG_ON(!is_ephemeral(pool)); > > - zbud_decompress(virt_to_page(data), pampd); > > + zbud_decompress((struct page *)(data), pampd); > > zbud_free_and_delist((struct zbud_hdr *)pampd); > > atomic_dec(&zcache_curr_eph_pampd_count); > > return ret; > > -- > > 1.7.4.1 > > _______________________________________________ devel mailing list [email protected] http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
