Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp11453633ybi; Thu, 25 Jul 2019 16:56:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqz2Oz7NN8rncQ+PYz+5e1LOH/zlAX8GCpPfySgz6xOI3eR/RUxEtXCGexTl3ahdzvdlSmaV X-Received: by 2002:a17:902:543:: with SMTP id 61mr93190484plf.20.1564099005419; Thu, 25 Jul 2019 16:56:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564099005; cv=none; d=google.com; s=arc-20160816; b=cR2fw4p1fpwTsGzRiCMZX+2hP85c2P+floiu/NoiSAiAKTB+pfkS70P3dGjXrGitvl 8t5BE2i2PPODUQS1BQxsyvtwdyHunxKlq8I2zGDAhTLmWUCqqsafvWVlwVQJI+HoiRkZ 1UQyHbZ+pG0UmzCnLDuTQBiKXrYuoeeuDSSNSwgOfyldhmo+/DkEOmYHzN1v9Ui7mebV ztp504nqrD9bDWbIstPdGBRj8Gg0C9p3JwKq6z1x7wPlk6o3BIF+q695oEEmI6ZmPgSB M2WwridF0oWfc+aVT858ChU5b5T6WXiQaIl/zf9K7mSoBc65+NX461FSWN6UWNDS/hPM sVWg== 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:message-id:subject:cc :to:from:date; bh=PlL+rSwVrrH3t42ZvC3FCevY9yrYj5kwb82m43pzfvI=; b=I8yXgjuLrEXwPYAZ7tKcgPLkFXGZCzf28OO3Ihx4dfgn8bGEwXtMXKAzU7JULfU4Sk 3vuI4ReovuPmz3Vx3i2uq375beL/atyjguWqD04baCjUN7xmS7PC1hM54rFjt9GCXQd5 sedTqxxEyH5IzLSn/2fwSd/PtT/YQh17IOS6dvWyibfWAixlaZi3Y3EVid2oqj5s05OV 7yMaNw9UYF74afV6t9vxlXow73nr2URVOgM9Q6vJTRMvaY8Jdkh2fP8rFc9pz3xdAx0s qQrQxLxUVJaXK6mpQyDfJnalYN8ktOOu4O2T5NkeK9rlgGHVoI1GhKz4+51RgQfbRJqN sHdg== ARC-Authentication-Results: i=1; mx.google.com; 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 o12si17675673pgn.390.2019.07.25.16.56.30; Thu, 25 Jul 2019 16:56:45 -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; 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 S1727081AbfGYXzY (ORCPT + 99 others); Thu, 25 Jul 2019 19:55:24 -0400 Received: from zeniv.linux.org.uk ([195.92.253.2]:57542 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726380AbfGYXzX (ORCPT ); Thu, 25 Jul 2019 19:55:23 -0400 Received: from viro by ZenIV.linux.org.uk with local (Exim 4.92 #3 (Red Hat Linux)) id 1hqnZe-0004a0-QJ; Thu, 25 Jul 2019 23:55:02 +0000 Date: Fri, 26 Jul 2019 00:55:02 +0100 From: Al Viro To: Logan Gunthorpe Cc: Matthew Wilcox , Sagi Grimberg , Greg Kroah-Hartman , Jens Axboe , Chaitanya Kulkarni , linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org, Stephen Bates , linux-block@vger.kernel.org, Keith Busch , linux-fsdevel@vger.kernel.org, Max Gurtovoy , Christoph Hellwig Subject: Re: [PATCH v6 02/16] chardev: introduce cdev_get_by_path() Message-ID: <20190725235502.GJ1131@ZenIV.linux.org.uk> References: <20190725172335.6825-3-logang@deltatee.com> <20190725174032.GA27818@kroah.com> <682ff89f-04e0-7a94-5aeb-895ac65ee7c9@deltatee.com> <20190725180816.GA32305@kroah.com> <20190725182701.GA11547@kroah.com> <20190725190024.GD30641@bombadil.infradead.org> <27943e06-a503-162e-356b-abb9e106ab2e@grimberg.me> <20190725191124.GE30641@bombadil.infradead.org> <425dd2ac-333d-a8c4-ce49-870c8dadf436@deltatee.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <425dd2ac-333d-a8c4-ce49-870c8dadf436@deltatee.com> User-Agent: Mutt/1.12.0 (2019-05-25) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 25, 2019 at 01:24:22PM -0600, Logan Gunthorpe wrote: > > > On 2019-07-25 1:11 p.m., Matthew Wilcox wrote: > > On Thu, Jul 25, 2019 at 12:05:29PM -0700, Sagi Grimberg wrote: > >> > >>>>> NVMe-OF is configured using configfs. The target is specified by the > >>>>> user writing a path to a configfs attribute. This is the way it works > >>>>> today but with blkdev_get_by_path()[1]. For the passthru code, we need > >>>>> to get a nvme_ctrl instead of a block_device, but the principal is the same. > >>>> > >>>> Why isn't a fd being passed in there instead of a random string? > >>> > >>> I suppose we could echo a string of the file descriptor number there, > >>> and look up the fd in the process' file descriptor table ... > >> > >> Assuming that there is a open handle somewhere out there... > > Yes, that would be a step backwards from an interface. The user would > then need a special process to open the fd and pass it through configfs. > They couldn't just do it with basic bash commands. First of all, they can, but... WTF not have filp_open() done right there? Yes, by name. With permission checks done. And pick your object from the sodding struct file you'll get. What's the problem? Why do you need cdev lookups, etc., when you are dealing with files under your full control? Just open them and use ->private_data or whatever you set in ->open() to access the damn thing. All there is to it...