From nobody Wed Sep 30 10:41:33 2026 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 4hvs6Q3myxz6vDQj for ; Wed, 30 Sep 2026 10:41:34 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hvs6Q0jRXz4N7w for ; Wed, 30 Sep 2026 10:41:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1790764894; 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=o46FIcVqPQYRzs7JDBC0wch1A9QJkIq+31Zn3gVZh2M=; b=r1vykY/xnrnjApqeGuIrXiTRdGl5txqyDQyO1qyGHZSDfkE3YtGe1f7f4WvUle3e0t9uJ3 5GU9iwTlhkw6CvmWcR8UpIVZV1QD6GM2R9FgQr9NvmhvAQ13SM0tPRbQv2tlCMifn6Xmyi UPW64Yk1nfNNiRjmH1RMsEgk+3F1aN0P1eTsC6GOu4SxFgJWm/UErBBoElucs1gA+R0btI UY58uuwVpYFRkOimbuyGecGH0CiBX9ph39IQ7BvaM1M7SD3D22qIDvOJLd/YK9Ap7HXolv tTY0E2VFfeVgDctmI5/HBeg/yXd4yvQaP0DtsRI7OOJpMPqrSvJsdBHmuGDRxQ== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1790764894; b=j22auiglAvzbso4X0iDu4/TJcQ+ZC2q0Y6mkXJoEY/bgFNQZ84KMaRUqPLvZH9xrA6+OwT 9xGgtNzcQNKM/GM2DC5R0BAX/SNSQIXjDM0oyf7slJdgea48Q9VPtuUFxZPM9i/5anIoWR c9/oQ4mSYGJgXdzKgVesR6TjEAtcHkjO2lS/871XFBi5vylqmVo8W6X/qLLIqZsVtWLGHx hoFZ1ix/5ZSGaoPeJPIL9uTijQKOlphEhZ9oQjpWv/bEyc4lgbj95kV9m0dHBGFUitpMBW bK249IiyuveIb5R+KA42M1ojjG9AcN+/DpwRnJf9JT2YUa0oqNujtjjexRF2wA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1790764894; 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=o46FIcVqPQYRzs7JDBC0wch1A9QJkIq+31Zn3gVZh2M=; b=cKtGs9op3/QO9bfWRBuXVjUEV5jtVpG+KjO0aR11R3RX1NVTHEDFlGfgwW9XXAsYO3Dtyz 5N2JNn3brffD89I6Zp8Lujh3DXO9J8HSiWqGk6aFIN3hMdXgZhPNPH6FKpPdVl/BSdQuiW 6qoLCXv53bYooX4VLomDVJr2NtggNTN9Cb+5+PQoE2YeHyBJrNSFqOu2opFZYDpRkC4+SR 1nxaeMiu7UC/AQCwHXP7nae0CQl5r/f5k2hQyURu+5tqq/eJgsz8vKFYNkytfJdxfuEr4/ ZiPH7dxet7LkIx3+RV7lOYUtKR6FO2T6F/FMbmRrLn53JVe7Nk5PpKvZqaSqrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hvs6P6j3BzhsS for ; Wed, 30 Sep 2026 10:41:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39c7f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 30 Sep 2026 10:41:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Sumit Saxena Subject: git: 2d5cdcc14fa9 - stable/15 - bnxt: Fix up ioctl opcodes to support IOC_VOID along with IOC_IN 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 List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ssaxena X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2d5cdcc14fa91cc1c9e0d69298d36b04f75a646a Auto-Submitted: auto-generated Date: Wed, 30 Sep 2026 10:41:33 +0000 Message-Id: <6abce75d.39c7f.499934@gitrepo.freebsd.org> The branch stable/15 has been updated by ssaxena: URL: https://cgit.FreeBSD.org/src/commit/?id=2d5cdcc14fa91cc1c9e0d69298d36b04f75a646a commit 2d5cdcc14fa91cc1c9e0d69298d36b04f75a646a Author: Sumit Saxena AuthorDate: 2026-01-09 10:28:53 +0000 Commit: Sumit Saxena CommitDate: 2026-09-30 10:39:31 +0000 bnxt: Fix up ioctl opcodes to support IOC_VOID along with IOC_IN The driver and applications currently use hard-coded numeric ioctl command opcodes. These opcodes are interpreted as having the IOC_IN direction (data copied from the user application to the driver), regardless of the actual packet size. Consequently, when the packet size is zero and the direction is set to IOC_IN, the kernel fails these ioctls if COMPAT is disabled. While the driver and applications should ideally set the direction correctly— for example, using IOC_VOID when the packet size is zero—the driver will now be updated to define ioctl opcodes using the _IOC macro to support both IOC_VOID and IOC_IN. This change ensures backward compatibility with older applications that exclusively use IOC_IN. Reviewed by: gallatin Differential Revision: https://reviews.freebsd.org/D54601 MFC after: 3 days (cherry picked from commit d53d7b466016408229491cfd2f8bdc742ff642e3) --- sys/dev/bnxt/bnxt_en/bnxt_mgmt.c | 9 ++++++--- sys/dev/bnxt/bnxt_en/bnxt_mgmt.h | 11 ++++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_mgmt.c b/sys/dev/bnxt/bnxt_en/bnxt_mgmt.c index bbc12b96d8c6..98ae9848c42b 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_mgmt.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_mgmt.c @@ -387,15 +387,18 @@ bnxt_mgmt_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, int ret = 0; switch(cmd) { - case BNXT_MGMT_OPCODE_GET_DEV_INFO: + case IO_BNXT_MGMT_OPCODE_GET_DEV_INFO: + case IOW_BNXT_MGMT_OPCODE_GET_DEV_INFO: ret = bnxt_mgmt_get_dev_info(dev, cmd, data, flag, td); break; - case BNXT_MGMT_OPCODE_PASSTHROUGH_HWRM: + case IO_BNXT_MGMT_OPCODE_PASSTHROUGH_HWRM: + case IOW_BNXT_MGMT_OPCODE_PASSTHROUGH_HWRM: mtx_lock(&mgmt_lock); ret = bnxt_mgmt_process_hwrm(dev, cmd, data, flag, td); mtx_unlock(&mgmt_lock); break; - case BNXT_MGMT_OPCODE_DCB_OPS: + case IO_BNXT_MGMT_OPCODE_DCB_OPS: + case IOW_BNXT_MGMT_OPCODE_DCB_OPS: ret = bnxt_mgmt_process_dcb(dev, cmd, data, flag, td); break; default: diff --git a/sys/dev/bnxt/bnxt_en/bnxt_mgmt.h b/sys/dev/bnxt/bnxt_en/bnxt_mgmt.h index 8489a223adef..5b94184b1646 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_mgmt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt_mgmt.h @@ -39,9 +39,14 @@ #define DRIVER_NAME "if_bnxt" -#define BNXT_MGMT_OPCODE_GET_DEV_INFO 0x80000000 -#define BNXT_MGMT_OPCODE_PASSTHROUGH_HWRM 0x80000001 -#define BNXT_MGMT_OPCODE_DCB_OPS 0x80000002 + +#define IOW_BNXT_MGMT_OPCODE_GET_DEV_INFO _IOW(0, 0, 0) +#define IOW_BNXT_MGMT_OPCODE_PASSTHROUGH_HWRM _IOW(0, 1, 0) +#define IOW_BNXT_MGMT_OPCODE_DCB_OPS _IOW(0, 2, 0) + +#define IO_BNXT_MGMT_OPCODE_GET_DEV_INFO _IO(0, 0) +#define IO_BNXT_MGMT_OPCODE_PASSTHROUGH_HWRM _IO(0, 1) +#define IO_BNXT_MGMT_OPCODE_DCB_OPS _IO(0, 2) #define BNXT_MGMT_MAX_HWRM_REQ_LENGTH HWRM_MAX_REQ_LEN #define BNXT_MGMT_MAX_HWRM_RESP_LENGTH (512)