Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp237050ybp; Thu, 3 Oct 2019 12:49:30 -0700 (PDT) X-Google-Smtp-Source: APXvYqxW2r47LZyY47gh4y5LoahUsDDEGxohgGN5DU0+MUjULsXzLg6YfjC+i+rfwIoT/19St1NT X-Received: by 2002:a50:c2c2:: with SMTP id u2mr11260962edf.220.1570132170050; Thu, 03 Oct 2019 12:49:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570132170; cv=none; d=google.com; s=arc-20160816; b=Q0CW2eUPwgPadAXFRV+eOanaurRwohyXuUSWq/TaX/oBOpvjTfajjo7NGrznQUS8N3 zwHYt9W6spqv84Fmzl11dL9zL+dIHf4C6cWrw2D8T/VQ+igEx+Mgxk5KwbJApk8ICcO0 /+y+PzNmXeC4JLCH1FTY/lUVRCc+yRDM/KrUAhC6FNHr/2m8IIHdfDseKvzivKg/F5bu QPx9TZdEqSqWnjFZCqgbPikLjaw2m761AnW+45cDM3IrWafGdh34tggZYhSPu/CVxw7d eAdJ7qK7QcC+uzvG89d3AoUsakmNZSRjkEbGvd4ki8eb3S8GRInxuB8v78OGlypOSr4Q 2v4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:mail-followup-to :message-id:subject:cc:to:from:date:dkim-signature; bh=bSwp/SzJmWaBWUo18aRYs4jN/Y7FoeSEm1oGmenLUco=; b=Yhnwr16/bpJ/eaZSTOUDu1kWT2s/i6i045HsB61JVGVEFiH/QuV3ioc3c3u74ozn1T 6XZb9Fbps9+zzieVYBmlIPJlNh10IfbVKZvKmE8sC1jt5v9cbdDe2nwWapBljvO+AvS5 sozmQ4ew6wdZDu4EDjf9FIOmmidVJKZnJrUWxe9dr/7L5Ylc8ZOc/VoVBmz2EtRZnR3+ 7WMFzq163jCrRpvOoMfPOIQxZ+iko/kvA7gRvV2jyoxy+FgLoIgd5i590PorWn5JKU4m pkMscYB/FUSbOGqIJb1b/MmlZ8By8sfADHEmNvkcZ7Dg1RxjQfpTpKmRh2mL/y6X6Wdw HB5g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=0yK46MgQ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id qh16si1691051ejb.349.2019.10.03.12.49.05; Thu, 03 Oct 2019 12:49:30 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=0yK46MgQ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731568AbfJCTsm (ORCPT + 99 others); Thu, 3 Oct 2019 15:48:42 -0400 Received: from mail.kernel.org ([198.145.29.99]:34164 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730313AbfJCTsm (ORCPT ); Thu, 3 Oct 2019 15:48:42 -0400 Received: from gmail.com (unknown [104.132.1.77]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 027E2207FF; Thu, 3 Oct 2019 19:48:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570132121; bh=7KnGrY3edgCuzPOLxlDb4V9WqO8qVeaOWYXjcMJiAkU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=0yK46MgQnh4dKlaP50jmm/Y5o/s+oHQoFyWWZHKDYjtWAj7Hsh9W6Vs0qACedjEC/ gh/am9KHY7de4Y8/vXGEXnbxhAhrfhFbuG9seU80pVGXz26DdykmbtuQpBrvSUtNCi vmK5VGd3j6LkNghAy+rz3Dw3Li70TVmj58oRrwrQ= Date: Thu, 3 Oct 2019 12:48:39 -0700 From: Eric Biggers To: Greg Kroah-Hartman Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org, syzbot+af05535bb79520f95431@syzkaller.appspotmail.com, syzbot+d86c4426a01f60feddc7@syzkaller.appspotmail.com, Christoph Hellwig , Miklos Szeredi , Sasha Levin Subject: Re: [PATCH 4.19 209/211] fuse: fix deadlock with aio poll and fuse_iqueue::waitq.lock Message-ID: <20191003194838.GA6620@gmail.com> Mail-Followup-To: Greg Kroah-Hartman , linux-kernel@vger.kernel.org, stable@vger.kernel.org, syzbot+af05535bb79520f95431@syzkaller.appspotmail.com, syzbot+d86c4426a01f60feddc7@syzkaller.appspotmail.com, Christoph Hellwig , Miklos Szeredi , Sasha Levin References: <20191003154447.010950442@linuxfoundation.org> <20191003154530.645657617@linuxfoundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191003154530.645657617@linuxfoundation.org> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Oct 03, 2019 at 05:54:35PM +0200, Greg Kroah-Hartman wrote: > > static void queue_interrupt(struct fuse_iqueue *fiq, struct fuse_req *req) > { > - spin_lock(&fiq->waitq.lock); > + spin_lock(&fiq->lock); > if (test_bit(FR_FINISHED, &req->flags)) { > - spin_unlock(&fiq->waitq.lock); > + spin_unlock(&fiq->lock); > return; > } > if (list_empty(&req->intr_entry)) { > list_add_tail(&req->intr_entry, &fiq->interrupts); > wake_up_locked(&fiq->waitq); > } > - spin_unlock(&fiq->waitq.lock); > + spin_unlock(&fiq->lock); > kill_fasync(&fiq->fasync, SIGIO, POLL_IN); > } This isn't backported correctly. wake_up_locked() needs to be changed to wake_up(). diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index c0d59a86ada2e..6d39143cfa094 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -434,7 +434,7 @@ static void queue_interrupt(struct fuse_iqueue *fiq, struct fuse_req *req) } if (list_empty(&req->intr_entry)) { list_add_tail(&req->intr_entry, &fiq->interrupts); - wake_up_locked(&fiq->waitq); + wake_up(&fiq->waitq); } spin_unlock(&fiq->lock); kill_fasync(&fiq->fasync, SIGIO, POLL_IN);