From nobody Mon Mar 3 21:53:41 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z6CHp1sG5z5nnM5; Mon, 03 Mar 2025 21:53:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6CHp10Wkz3TSJ; Mon, 03 Mar 2025 21:53:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741038822; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=REHjZAU2mmp9RXDNRHWIeT4/U9CPa/9jDMWdE7IHBvo=; b=yIL5YXyvTOz/iVLJxOGrAylOL7PqZppFhDTraR+r9DW5onDTUgODxRKg3ANymf5NWQgs80 SwQY6jZ5CzjIdnTiPKzlXkAOun22CMbntbLdn5ODa/CRTwn74k2JbxwZe1NntcOYfxxLRl jsIHo1rByfk1zusrPAwY8jwfZ5bptVEsKEZ9YApmq0OF7ivH1ixCtASq9wYwqhxCfytnus 5uEiqeMOK79BMd4O5W7qxCgafJEIo3OlrsJiPnKZCZhodUTF6l7XLCgt3ZGUtEjzsepvt7 0Ufyb6pvrCq3U0Nfc7Zpwz8oekAEFPBgABZcRaXqKFjMlKTvbg384hjy3slmdA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741038822; a=rsa-sha256; cv=none; b=HTaGxZP7duuvlEYqvIw2bXJQGY2A6GmIAg1TgPmO9ol873qfPne5+vEEMf5/havdHFRy+M pNuvJdUUfNuyAuvGRk3fEX8EwD63vb8KSzj9/Twf3O+/xs38od10L4qvxaYLzxyl5eBctb x8ZKEIf+ZpVOZp5iff9A9l5mEQwy73oQj7L1FKTLgxmqteFWbpfGrmxQlQX2Gygqr9Q2U+ Khr+R2qdcpiusQLnZviigdYscy6VIpdVKLGg8zu7gEIuEntL0k4+CakzHeUkvkJLybA8F1 rXOGuSQvKzf4QjMGcQnNBSVeyTmXC/oa35A0UDNETAEdNHAYMt+W5KrfR/5joQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741038822; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=REHjZAU2mmp9RXDNRHWIeT4/U9CPa/9jDMWdE7IHBvo=; b=LbXXQg5l8GTdBiaPGaRwu/IBkD6DqZa+Vh27KC3pTp6c0GUfXqF5dy8hrza/UgpXybjTXN aocG9qgFfQ5AhegDjemor4p8XoupkAG+Sg2oDX4gx1sSkPTxEmuHRVhspsWcPjX9SUfOk4 lFpvBQ+PkkJHtG+SWIFXgzL8yUoIF2u8GieBZiUHA0j6W8shJP4uRoHaW21VRx5OIET4cM 7r1I02pGJxcLDVboAq3Xc48KjvLgYPD1TmKqKxF0ks8CrN0nfD7TLoYtUFPc17o7O8zqYj ZwXzspsIWaS6Lx0X0cx+VZkd9m8L0kJleSgsvLY5qHt7JpUIr65SYUJPW+yVhw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6CHp0bXjz14k8; Mon, 03 Mar 2025 21:53:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 523Lrfpi042788; Mon, 3 Mar 2025 21:53:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523LrfpL042785; Mon, 3 Mar 2025 21:53:41 GMT (envelope-from git) Date: Mon, 3 Mar 2025 21:53:41 GMT Message-Id: <202503032153.523LrfpL042785@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Toomas Soome Subject: git: ccf7b62bd88c - main - loader: allow fs modules to use ioctl() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tsoome X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ccf7b62bd88c6c8beba915eab058f99212a32d35 Auto-Submitted: auto-generated The branch main has been updated by tsoome: URL: https://cgit.FreeBSD.org/src/commit/?id=ccf7b62bd88c6c8beba915eab058f99212a32d35 commit ccf7b62bd88c6c8beba915eab058f99212a32d35 Author: Toomas Soome AuthorDate: 2025-03-03 21:52:55 +0000 Commit: Toomas Soome CommitDate: 2025-03-03 21:52:55 +0000 loader: allow fs modules to use ioctl() Currently only directly opened disk device is allowed to access ioctl() - that is, when file has F_RAW flag set. The problem is, file systems might need to determine the device parameters, and we could use already opened device descriptor to communicate this information. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D49077 --- stand/libsa/ioctl.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/stand/libsa/ioctl.c b/stand/libsa/ioctl.c index 0c8613499ceb..cc592a454812 100644 --- a/stand/libsa/ioctl.c +++ b/stand/libsa/ioctl.c @@ -70,12 +70,12 @@ ioctl(int fd, u_long cmd, void *arg) errno = EBADF; return (-1); } - if (f->f_flags & F_RAW) { + if (f->f_dev == NULL) + errno = EIO; + else errno = (f->f_dev->dv_ioctl)(f, cmd, arg); - if (errno) - return (-1); - return (0); - } - errno = EIO; - return (-1); + + if (errno != 0) + return (-1); + return (0); }