Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2611137yba; Mon, 22 Apr 2019 09:47:46 -0700 (PDT) X-Google-Smtp-Source: APXvYqx4kgDLHMBmEFfoSoHND0drxsBMSonmsCkpZXW9Nld8RxYhJjnYgc8MiNYdIf4qAW1yxMED X-Received: by 2002:a63:10c:: with SMTP id 12mr20546181pgb.276.1555951666257; Mon, 22 Apr 2019 09:47:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555951666; cv=none; d=google.com; s=arc-20160816; b=Poapdj1/FxDxQ5RgxN1Z6hH7axPdlsWu36MsP7JTEFgHd/sjmp0PV7n2YiAhEEkbwl L8mkjYyi45UuNLAGZcL3c5amY5SRjxKbxe+9ZuxmfsP5fLGKjRlYi4HiOJIPpylaRoYc NSBBV1OD55BQBYWakpoyifsTQmp0Eu3fkC1VlK025uSs3gV4/cKzpsqz0WKYDkPlR41C lFwDA9uQ8QzVcb4nWN+6iO2HXO+bxDNZsEAX0FM8ai4n0Gxdrt4yeF4jorZMKwf9smqI ohGS4nD3Xuhm5/GAM8MVH9NsEdT/TmQdvb/K3J70WgjaVWj5bFDY7rmzjO9tjk9dRd2q K/Ew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=T5gNEUpY6UvQF7xoppj/WgrZVl4YlLjgakn5tQ80U34=; b=ablPkqx1QAYTOewxlW7eiro3YmUtdxQ/SkXL1bSRt0lJOgu9TNmSUuPUirINGcfql/ pctOYCBczrV20XxWsK4JVFESOSRLDKHpJZ5bXDn/wDVH2ZE8vxi93H9rwp/pmlE3ywqx PrNOjKsWy53BN5aa0zKso8hbk+uMia8b1qDRO994AIW7wFlgqs6wwxTPVygVIMGqt7bG 6GnOm4zqg/mu1oUX6OuwdH050kFpI4pXINzPy9gHxQCmmaBafAFD1m3Cym0w90cpSREV R2xwFjSmmDvvqx0/EloOIX/oTTTjCXEagnP1dTP56+4yA96sfxWkx3dDIHb0NFBKq+Nm 1jGA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=1NfduaH9; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g189si14382745pfb.289.2019.04.22.09.47.30; Mon, 22 Apr 2019 09:47:46 -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-dk.20150623.gappssmtp.com header.s=20150623 header.b=1NfduaH9; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728266AbfDVQcg (ORCPT + 99 others); Mon, 22 Apr 2019 12:32:36 -0400 Received: from mail-it1-f171.google.com ([209.85.166.171]:39434 "EHLO mail-it1-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728242AbfDVQcf (ORCPT ); Mon, 22 Apr 2019 12:32:35 -0400 Received: by mail-it1-f171.google.com with SMTP id 139so19087136ita.4 for ; Mon, 22 Apr 2019 09:32:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=T5gNEUpY6UvQF7xoppj/WgrZVl4YlLjgakn5tQ80U34=; b=1NfduaH9VjN3m+4+TDMr2Esgd93LfzIGD1ebDYHdg0xah9blEqq3DkBt5X1LB3LPm4 gnQ3uQCDLS65yNQ7l3IZdAyuXGSOeRw344Jh5yL8os5Xq1PE66QB5AdCZLJUTvhsX+XQ PwZTKw95HUbxnRBdYbnqunfFh7gOyKOlVFd90IOX6Rnq5/At0ikw64deMHiXe8zqGgI6 JYPEbn4/nKnfjJFtMkuQcV8GGmqhA4Yjgy/vAqeTtpE+VQ41UUnU6gFPolNxSqRenSSy nJxxXeC0qK4eEtX6aeurfLSqUATKd2wm0DElL2XUfMKoXr7uOFBqpg/2hIAUbRZOIF73 mqJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=T5gNEUpY6UvQF7xoppj/WgrZVl4YlLjgakn5tQ80U34=; b=gHyUihOuvjI3TSrVAPIhNWPkW/4Wl7YQ/FKJ7W7ysZT6SdyOLQk1mXi5qpbtzlgU51 pcJfpw9K1kjEeMdgloGltU6gWPqDNLsdK73luyvulNwNcsQSATNjnr6Vdwzrq9u+oEav NGFRt99nBo1UEsQlu3UcFg+hqOfCdeZZQdX0tMRfS289N7ii+qQrpXAR24ePZ0kF7dm/ M6Xwo2Qqw1pr/MUALHcTi0uwjO1x3reb/rjoHmcoLmSrlokpDHmxkkzm0KyO6cXikdsM oOB/tD7YDKmQD4bKbIQmk3c+7TsTUQ1ZyJ3r8xza7qhYC0x1LbmUjyT4pjUjFxa06wgD 3jxQ== X-Gm-Message-State: APjAAAWEPX/ts0z+8QqqoNdssReYUOedsLy/FP8D5tMU0v6kIhq4IelW kCBEstMyon6/QsFeiYE8tGPmdw== X-Received: by 2002:a24:2244:: with SMTP id o65mr13582805ito.126.1555950754781; Mon, 22 Apr 2019 09:32:34 -0700 (PDT) Received: from [192.168.1.158] ([216.160.245.98]) by smtp.gmail.com with ESMTPSA id 64sm6111169ite.42.2019.04.22.09.32.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Apr 2019 09:32:33 -0700 (PDT) Subject: Re: WARNING in percpu_ref_kill_and_confirm To: Linus Torvalds Cc: syzbot , Arnd Bergmann , Borislav Petkov , "Darrick J. Wong" , Greg Kroah-Hartman , Peter Anvin , Linux API , linux-arch , linux-block , linux-fsdevel , Linux List Kernel Mailing , Andrew Lutomirski , Mathieu Desnoyers , Ingo Molnar , Michael Ellerman , syzkaller-bugs , Thomas Gleixner , Al Viro , the arch/x86 maintainers References: <00000000000043fe9c058720a5d3@google.com> From: Jens Axboe Message-ID: <53a17444-9539-5810-82a0-ceeefa742508@kernel.dk> Date: Mon, 22 Apr 2019 10:32:31 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 4/22/19 10:27 AM, Linus Torvalds wrote: > [ Crossed emails ] > > On Mon, Apr 22, 2019 at 9:23 AM Jens Axboe wrote: >> >> I think the below should fix this. Very early versions of io_uring didn't >> have this issue, since we did the percpu ref tryget for io_uring_register(). > > Ok, so I like your patch better than mine, but note how syzbot > bisected this to the initial merge of the io_uring code. Yes, I did think about that too... > I agree that code shouldn't have had this particular issue, but it > looks like it does. > > Is there some way to race with io_ring_ctx_wait_and_kill(), which > _also_ does that ref_kill() thing? I'm not seeing how that could > happen, but maybe if the file ref counts get screwed up you have > ->release() called early.. I just tried on the current code and it triggers easily, but that's with that mutex patch in there. I agree it should not trigger before that, unless something is wonky. I'll try and play around with it a bit and see what is going on (or if I can trigger it at all with the mutex change reverted). -- Jens Axboe