Received: by 2002:a05:7412:31a9:b0:e2:908c:2ebd with SMTP id et41csp4020269rdb; Thu, 14 Sep 2023 09:23:17 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEskJqoPLjwztDD1aZAI8fE/JFujgAPXGgKpE6ikqSLBVv5tjCJmYiX3YgH0SM2rvMQ/3kG X-Received: by 2002:a17:90b:3112:b0:268:b682:23da with SMTP id gc18-20020a17090b311200b00268b68223damr5581903pjb.34.1694708597604; Thu, 14 Sep 2023 09:23:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694708597; cv=none; d=google.com; s=arc-20160816; b=F+i8YIpEcqdyUvyrZ3GC+4uXR21DlbGohViIF4qKnukBQIU7Scwuv5aUZlEpVnO07T XsKfU5LbFEQvQuuowrqZk6Qc+RvZnuY5lAlA9a5ySIvOB8HTh8T0L3RD7KPA+LmdG+st LijJaJaCzig0Fmb6XIV54wB8rC0xhDKGoxZly38hrVJCf5/fAFN858qMQt1V2YG0JUUG NnqACaAihIquM+dMTfi/4J/ltB2c5UXUziH+GdYH1F4wunzEpP8rgO8XJkxQxRO5juKQ RvwGlEbZY0q7tzjjCSLeg+3K7oTrdyx4e6T6Kt9MBH87tTZBH8dMYG6vCy5ODTXSIDSX w5kA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=If2+Px/j1i2usZxS7gF0O94KGwHevrnZjdMBKU2+tpg=; fh=tNPVIpDuMzZ+wnaM5UV5oAYrLoL63yc7V6774nRfcEo=; b=cp+HQXiJ+aMG3nbSl/Sfoa+k6XLF5pt+/btIgiIEuqipizIQcVcIauuN/bcds0jdsY AfkUuOKm4md8ORrHteEHsq6EOcX1cTKEDkfHsxOWIJsP2krYBI2Kp9h/zZj2k8qaaJFQ E50xwyQ3twZdtAbTmm6i4ifel5iesXybcYW6kiejdBNqRqw0KEJMaoY4ZYH6HeA6NdjY UxB4/aAtBgdwjIhNGtp0GCHy0fLPnFv9SN/qVEmKKv08SmrPcxCijrCts3pvQ7nWIEQZ 0iVPSLadH26JSLVn5iaTt9ng+i7nKfy4cjw2jEkZgCh/dQW3Mpuq/2aPzbOxrrXKKgAd 1MLw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@szeredi.hu header.s=google header.b=jIQ2VYXg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=szeredi.hu Return-Path: Received: from morse.vger.email (morse.vger.email. [23.128.96.31]) by mx.google.com with ESMTPS id mn20-20020a17090b189400b002631e44f48csi1822833pjb.179.2023.09.14.09.23.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Sep 2023 09:23:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) client-ip=23.128.96.31; Authentication-Results: mx.google.com; dkim=pass header.i=@szeredi.hu header.s=google header.b=jIQ2VYXg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=szeredi.hu Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id 7D0FB80C5A1F; Thu, 14 Sep 2023 01:50:29 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236018AbjINIuX (ORCPT + 99 others); Thu, 14 Sep 2023 04:50:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37620 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236088AbjINIuW (ORCPT ); Thu, 14 Sep 2023 04:50:22 -0400 Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com [IPv6:2a00:1450:4864:20::62b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D1D851FC8 for ; Thu, 14 Sep 2023 01:50:17 -0700 (PDT) Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-9adb9fa7200so90068066b.0 for ; Thu, 14 Sep 2023 01:50:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=szeredi.hu; s=google; t=1694681416; x=1695286216; darn=vger.kernel.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=If2+Px/j1i2usZxS7gF0O94KGwHevrnZjdMBKU2+tpg=; b=jIQ2VYXgZuR/ZKNRr4CLdrhSJts6SWFagvZvk7PCo5Q20GmK8DcL8veOTRYLtyx3ee NJFySQfrltJJ8Sy8s8D41pV2nX6zr1ctRMrWuViEfU0jyPoMe069b6hSIQavd5LOn2WA Tn9KP5PgOFnjYXlFX/5wC6Aw8C64/lmxRv+0U= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694681416; x=1695286216; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=If2+Px/j1i2usZxS7gF0O94KGwHevrnZjdMBKU2+tpg=; b=LEIvzVUw+8mgJqT1X0Z1VN9iXK3cqQy0jgPj8iF52tQkmOgRrxcLlKBXOkEt0qXEn2 Bwvh1A+nmwcR7OObkVHBkrGfRCULmx+ObiE3cjCxRvGwudiH030lfUw9V204E/++WH2e 404sbPOBWPaMebsZDfG7mGlxg9hCMToxVhHtw0S6mRGjOnskrxj6aJyn8Vlork4vujwb f0+c0ktdeHFL2DhMpq/jYQ/eNljCMjTd+MHhKoaVyQuOz5C5p3RjeN5Xt7yGaed4gWQa yYC/4rAHFQGXOPDo9L4ZRjX88CRvhXQQkl0qQBzJDTKkwssWiZX9Yc74hYKH2eIlAzlQ kLrA== X-Gm-Message-State: AOJu0YzEqBtPpp3svb+K3kDmXqfpfHECmC+LUorMU3qeegur1OoB01T4 Tg/QErLUph9anxh4AbAktLNVn77g7K4xeALKUIqR5A== X-Received: by 2002:a17:906:cc16:b0:9a5:a543:2744 with SMTP id ml22-20020a170906cc1600b009a5a5432744mr1507370ejb.33.1694681416107; Thu, 14 Sep 2023 01:50:16 -0700 (PDT) MIME-Version: 1.0 References: <20230913152238.905247-1-mszeredi@redhat.com> <20230913152238.905247-4-mszeredi@redhat.com> In-Reply-To: From: Miklos Szeredi Date: Thu, 14 Sep 2023 10:50:04 +0200 Message-ID: Subject: Re: [RFC PATCH 3/3] add listmnt(2) syscall To: Amir Goldstein Cc: Miklos Szeredi , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-api@vger.kernel.org, linux-man@vger.kernel.org, linux-security-module@vger.kernel.org, Karel Zak , Ian Kent , David Howells , Linus Torvalds , Al Viro , Christian Brauner Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Thu, 14 Sep 2023 01:50:29 -0700 (PDT) X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email On Thu, 14 Sept 2023 at 08:00, Amir Goldstein wrote: > > + if (ctr >= bufsize) > > + return -EOVERFLOW; > > + if (put_user(r->mnt_id_unique, buf + ctr)) > > + return -EFAULT; > > + ctr++; > > + if (ctr < 0) > > + return -ERANGE; > > I think it'd be good for userspace to be able to query required > bufsize with NULL buf, listattr style, rather than having to > guess and re-guess on EOVERFLOW. The getxattr/listxattr style encourages the following code: size = get(NULL, 0); buf = alloc(size); err = get(buf, size); if (err) /* failure */ Which is wrong, since the needed buffer size could change between the two calls. Doing it iteratively is the only correct way, and then adding complexity to both userspace and the kernel for *optimizing* the iteration is not really worth it, IMO. Thanks, Miklos