From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com ([134.134.136.31]:40101 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726680AbeHHIHj (ORCPT ); Wed, 8 Aug 2018 04:07:39 -0400 Subject: Re: [PATCH] dm-bufio: adjust the reserved buffer for dm-verify-target. To: Greg KH References: <1533704823-5448-1-git-send-email-jin.xiao@intel.com> <20180808052514.GA20034@kroah.com> Cc: agk@redhat.com, snitzer@redhat.com, dm-devel@redhat.com, linux-kernel@vger.kernel.org, stable@vger.kernel.org, yanmin.zhang@intel.com From: xiaojin Message-ID: <5B6A84E4.2020805@intel.com> Date: Wed, 8 Aug 2018 13:51:32 +0800 MIME-Version: 1.0 In-Reply-To: <20180808052514.GA20034@kroah.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org List-ID: On 2018年08月08日 13:25, Greg KH wrote: > On Wed, Aug 08, 2018 at 01:07:03PM +0800, xiao jin wrote: >> We hit the BUG() report at include/linux/scatterlist.h:144! >> The callback is as bellow: >> => verity_work >> => verity_hash_for_block >> => verity_verify_level >> => verity_hash >> => verity_hash_update >> => sg_init_one >> => sg_set_buf >> >> More debug shows the root cause. When creating dufio client it >> uses the __vmalloc() to allocate the buffer data for the reserved >> dm_buffer. The buffer that allocated by the __vmalloc() is invalid >> according to the __virt_addr_valid(). >> >> Mostly the reserved dm_buffer is not touched. But occasionally >> it might fail to allocate the dm_buffer data when we try to >> allocate in the __alloc_buffer_wait_no_callback(). Then it has >> to take the reserved dm_buffer for usage. Finally it reports the >> BUG() as virt_addr_valid() detects the buffer data address is invalid. >> >> The patch is to adjust the reserved buffer for dm-verity-target. We >> allocated two dm_buffers into the reserved buffers list when creating >> the buffer interface. The first dm_buffer in the reserved buffer list >> is allocated by the __vmalloc(), it's not used after that. The second >> dm_buffer in the reserved buffer list is allocated by the >> __get_free_pages() which can be consumed after that. >> >> Signed-off-by: xiao jin >> --- >> drivers/md/dm-bufio.c | 4 ++-- >> drivers/md/dm-verity-target.c | 2 +- >> 2 files changed, 3 insertions(+), 3 deletions(-) >> > > > This is not the correct way to submit patches for inclusion in the > stable kernel tree. Please read: > https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html > for how to do this properly. > > Thanks, I will resend to review without the stable mail list.