Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4671629pxj; Tue, 25 May 2021 13:32:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxgoDRnup/yyiUu6sHd0JoJfRdsB9je1v6N+PCuKyZrs8nJOA5XkcRaiT7ghk4FqyczMepl X-Received: by 2002:a5e:8c11:: with SMTP id n17mr22646088ioj.53.1621974746554; Tue, 25 May 2021 13:32:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621974746; cv=none; d=google.com; s=arc-20160816; b=zGrXQ1JvR1eJJ2Zpr6jMx9NGURF28ajoaQhZoJRyEha7caJUlKLL5Z0G7Fmex7iafT a6w7eTYomIU+02Z0rsFQWycMjK1QDsMPpIhpAO19OYE/Qw9oMq+8eFfEbOU+EY3cmbXa GovfVPSfsXsbm16kfic5/he4mlEreiRXc2/p3vVASPkJpPitkyfd/ucYgDNl9tC6S27Z t2ijU/GUOQGSYyCdkLs32qbQ2qBtAgKz2GLwFnpfHZ4TP9GVh5rxebs82aX6R58GLS5Y JL2fRTYOa9BGOhNrJ03J0J+kuUfbevJsG96SgRrIjZ3WJZ00bhMPzEC8uyEQUt/eYAgP Yq+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=3xFB9Dz2ZAmXHUoF8Rj8G9koPEat6EV2vr6iz7O9JLM=; b=GdHjUO/FivVl+orZxqrhkK7kfMXXzIBz3W/40xXeKsTppByNAoRpDRrT7Sda5tq36n wGLVmjJ26vHqaEQyQJYTs6nL5hFzYM7hIGikz4aEBGGdsQCmBrMUClf/vc2pMyPF2rFN eBuW5D/OKn1lOM+PxVtRUxv6vgQlCG0KAVkRVLozMvvM1TYIrW+0oAOzdCoTyCTpjJF7 Drc8M8Fl85TGzfmE+3piDP25JsVZeTQegHovoLNfu0WVVOjzZJ2tzinXtJNnt7aixZD2 pqwfuL8tyK8HYduPp19eOG2d5RMun7o31v89ItoQLLRnCKb4EIWSaV4S87h6Nwl5QOt8 tCiA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z13si18375302ioi.0.2021.05.25.13.32.11; Tue, 25 May 2021 13:32:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231289AbhEYPEP convert rfc822-to-8bit (ORCPT + 99 others); Tue, 25 May 2021 11:04:15 -0400 Received: from us-smtp-delivery-44.mimecast.com ([207.211.30.44]:41318 "EHLO us-smtp-delivery-44.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230290AbhEYPEO (ORCPT ); Tue, 25 May 2021 11:04:14 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-533-7C9pcnqfPDeWOuR97G3bxA-1; Tue, 25 May 2021 11:02:38 -0400 X-MC-Unique: 7C9pcnqfPDeWOuR97G3bxA-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 37E97192CC41; Tue, 25 May 2021 15:02:37 +0000 (UTC) Received: from bahia.lan (ovpn-113-46.ams2.redhat.com [10.36.113.46]) by smtp.corp.redhat.com (Postfix) with ESMTP id 449495D75A; Tue, 25 May 2021 15:02:31 +0000 (UTC) From: Greg Kurz To: Miklos Szeredi Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, Vivek Goyal , virtio-fs@redhat.com, Greg Kurz Subject: [PATCH 0/4] fuse: Some fixes for submounts Date: Tue, 25 May 2021 17:02:26 +0200 Message-Id: <20210525150230.157586-1-groug@kaod.org> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: kaod.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org While working on adding syncfs() support in FUSE, I've hit some severe bugs with submounts (a crash and an infinite loop). The fix for the crash is straightforward (patch 1), but the fix for the infinite loop is more invasive : as suggested by Miklos, a simple bug fix is applied first (patch 2) and the final fix (patch 3) is applied on top. Greg Kurz (4): fuse: Fix crash in fuse_dentry_automount() error path fuse: Fix infinite loop in sget_fc() fuse: Call vfs_get_tree() for submounts fuse: Make fuse_fill_super_submount() static fs/fuse/dir.c | 46 ++++++++++--------------------------------- fs/fuse/fuse_i.h | 9 +++------ fs/fuse/inode.c | 48 +++++++++++++++++++++++++++++++++++++++++++-- fs/fuse/virtio_fs.c | 3 +++ 4 files changed, 62 insertions(+), 44 deletions(-) -- 2.31.1