From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:52498 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1031831AbeBPQc5 (ORCPT ); Fri, 16 Feb 2018 11:32:57 -0500 Date: Fri, 16 Feb 2018 17:32:57 +0100 From: Greg Kroah-Hartman To: Joel Fernandes Cc: linux-kernel@vger.kernel.org, Todd Kjos , Arve Hjonnevag , Greg Hackmann , stable@vger.kernel.org Subject: Re: [PATCH] staging: ashmem: Fix lockdep issue during llseek Message-ID: <20180216163257.GA7752@kroah.com> References: <20180213010125.174811-1-joelaf@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180213010125.174811-1-joelaf@google.com> Sender: stable-owner@vger.kernel.org List-ID: On Mon, Feb 12, 2018 at 05:01:25PM -0800, Joel Fernandes wrote: > ashmem_mutex create a chain of dependencies like so: > > (1) > mmap syscall -> > mmap_sem -> (acquired) > ashmem_mmap > ashmem_mutex (try to acquire) > (block) > > (2) > llseek syscall -> > ashmem_llseek -> > ashmem_mutex -> (acquired) > inode_lock -> > inode->i_rwsem (try to acquire) > (block) > > (3) > getdents -> > iterate_dir -> > inode_lock -> > inode->i_rwsem (acquired) > copy_to_user -> > mmap_sem (try to acquire) > > There is a lock ordering created between mmap_sem and inode->i_rwsem > causing a lockdep splat [2] during a syzcaller test, this patch fixes > the issue by unlocking the mutex earlier. Functionally that's Ok since > we don't need to protect vfs_llseek. > > [1] https://patchwork.kernel.org/patch/10185031/ > [2] https://lkml.org/lkml/2018/1/10/48 > > Cc: Todd Kjos > Cc: Arve Hjonnevag > Cc: Greg Hackmann > Cc: Greg Kroah-Hartman > Cc: stable@vger.kernel.org > Reported-by: syzbot+8ec30bb7bf1a981a2012@syzkaller.appspotmail.com > Signed-off-by: Joel Fernandes > --- > drivers/staging/android/ashmem.c | 15 +++++++-------- > 1 file changed, 7 insertions(+), 8 deletions(-) Please always properly version your patches, and put what changed below the --- line, so I have a hint as to which patch to apply. Documentation/SubmittingPatches has the full details of how to do this. Can you resend me the "latest" version of this patch, so I have a chance of getting it right? :) thanks, greg k-h