From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761081AbcLVBb3 (ORCPT ); Wed, 21 Dec 2016 20:31:29 -0500 Received: from mail-pg0-f66.google.com ([74.125.83.66]:33929 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755555AbcLVBb1 (ORCPT ); Wed, 21 Dec 2016 20:31:27 -0500 Date: Thu, 22 Dec 2016 10:31:34 +0900 From: Sergey Senozhatsky To: Minchan Kim Cc: Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Sergey Senozhatsky , Takashi Iwai , Hyeoncheol Lee , yjay.kim@lge.com, Sangseok Lee , Hugh Dickins , "[4.7+]" Subject: Re: [PATCH v4 3/3] zram: support BDI_CAP_STABLE_WRITES Message-ID: <20161222013134.GC644@jagdpanzerIV.localdomain> References: <1482366980-3782-1-git-send-email-minchan@kernel.org> <1482366980-3782-4-git-send-email-minchan@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1482366980-3782-4-git-send-email-minchan@kernel.org> User-Agent: Mutt/1.7.2 (2016-11-26) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On (12/22/16 09:36), Minchan Kim wrote: > zram has used per-cpu stream feature from v4.7. > It aims for increasing cache hit ratio of scratch buffer for > compressing. Downside of that approach is that zram should ask > memory space for compressed page in per-cpu context which requires > stricted gfp flag which could be failed. If so, it retries to > allocate memory space out of per-cpu context so it could get memory > this time and compress the data again, copies it to the memory space. > > In this scenario, zram assumes the data should never be changed > but it is not true without stable page support. So, If the data is > changed under us, zram can make buffer overrun so that zsmalloc > free object chain is broken so system goes crash like below > https://bugzilla.suse.com/show_bug.cgi?id=997574 > > This patch adds BDI_CAP_STABLE_WRITES to zram for declaring > "I am block device needing *stable write*". > > Fixes: da9556a2367c ("zram: user per-cpu compression streams") > Cc: [4.7+] > Signed-off-by: Minchan Kim Reviewed-by: Sergey Senozhatsky -ss