Linux Documentation
 help / color / mirror / Atom feed
From: Matthew Wilcox <willy@infradead.org>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>
Cc: Danielle Ratson <danieller@nvidia.com>,
	netdev@vger.kernel.org, davem@davemloft.net, edumazet@google.com,
	kuba@kernel.org, pabeni@redhat.com, corbet@lwn.net,
	sdf@google.com, kory.maincent@bootlin.com,
	maxime.chevallier@bootlin.com, vladimir.oltean@nxp.com,
	przemyslaw.kitszel@intel.com, ahmed.zaki@intel.com,
	richardcochran@gmail.com, shayagr@amazon.com,
	paul.greenwalt@intel.com, jiri@resnulli.us,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	mlxsw@nvidia.com, petrm@nvidia.com, idosch@nvidia.com
Subject: Re: [PATCH net-next 07/10] ethtool: cmis_cdb: Add a layer for supporting CDB commands
Date: Mon, 8 Apr 2024 17:10:07 +0100	[thread overview]
Message-ID: <ZhQW3wxgv_lJF8Ep@casper.infradead.org> (raw)
In-Reply-To: <ZhQFV7I3EwW7FV+H@shell.armlinux.org.uk>

On Mon, Apr 08, 2024 at 03:55:19PM +0100, Russell King (Oracle) wrote:
> On Mon, Apr 08, 2024 at 03:53:37PM +0300, Danielle Ratson wrote:
> > +/**
> > + * struct ethtool_cmis_cdb_request - CDB commands request fields as decribed in
> > + *				the CMIS standard
> > + * @id: Command ID.
> > + * @epl_len: EPL memory length.
> > + * @lpl_len: LPL memory length.
> > + * @chk_code: Check code for the previous field and the payload.
> > + * @resv1: Added to match the CMIS standard request continuity.
> > + * @resv2: Added to match the CMIS standard request continuity.
> > + * @payload: Payload for the CDB commands.
> > + */
> > +struct ethtool_cmis_cdb_request {
> > +	__be16 id;
> > +	struct_group(body,
> > +		u16 epl_len;
> 
> u16 with a struct that also uses __be16 looks suspicious.

I'd understand if it were the other way around.  The command ID isn't a
_number_, it's an ID.  You can't add 1 to it and get a meaningful requilt;
all you can do is check it for equality, so a u16 makes sense for an ID.
That's what I did in NVMe; command_id is typed as a __u16.

But a 'length' field is obviously a number.  You can meaningfully add
and subtract numbers to it.  If there's an endian consideration, that's
where you'd expect to see it.

So I concur, this is supicious.

(Oh, you might wonder why namespace ID (nsid) in the NVMe command is
an le32 rather than a u32, since it is also an ID.  And that's because
it's an ID which is exposed to userspace.  You wouldn't want to have big
endian systems call the namespace 16777216 and little endian systems
call it 1)


  reply	other threads:[~2024-04-08 16:10 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-08 12:53 [PATCH net-next 00/10] Add ability to flash modules' firmware Danielle Ratson
2024-04-08 12:53 ` [PATCH net-next 01/10] ethtool: Add ethtool operation to write to a transceiver module EEPROM Danielle Ratson
2024-04-08 12:53 ` [PATCH net-next 02/10] mlxsw: Implement " Danielle Ratson
2024-04-08 12:53 ` [PATCH net-next 03/10] ethtool: Add an interface for flashing transceiver modules' firmware Danielle Ratson
2024-04-08 12:53 ` [PATCH net-next 04/10] ethtool: Add flashing transceiver modules' firmware notifications ability Danielle Ratson
2024-04-08 12:53 ` [PATCH net-next 05/10] include: netdevice: Add module firmware flashing in progress flag to net_device Danielle Ratson
2024-04-08 12:53 ` [PATCH net-next 06/10] net: sfp: Add more extended compliance codes Danielle Ratson
2024-04-08 12:53 ` [PATCH net-next 07/10] ethtool: cmis_cdb: Add a layer for supporting CDB commands Danielle Ratson
2024-04-08 14:55   ` Russell King (Oracle)
2024-04-08 16:10     ` Matthew Wilcox [this message]
2024-04-09 10:58       ` Danielle Ratson
2024-04-09 13:34     ` Danielle Ratson
2024-04-14  8:20       ` Danielle Ratson
2024-04-08 12:53 ` [PATCH net-next 08/10] ethtool: cmis_fw_update: add a layer for supporting firmware update using CDB Danielle Ratson
2024-04-08 12:53 ` [PATCH net-next 09/10] ethtool: Add ability to flash transceiver modules' firmware Danielle Ratson
2024-04-08 12:53 ` [PATCH net-next 10/10] ethtool: Veto some operations during firmware flashing process Danielle Ratson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZhQW3wxgv_lJF8Ep@casper.infradead.org \
    --to=willy@infradead.org \
    --cc=ahmed.zaki@intel.com \
    --cc=corbet@lwn.net \
    --cc=danieller@nvidia.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=idosch@nvidia.com \
    --cc=jiri@resnulli.us \
    --cc=kory.maincent@bootlin.com \
    --cc=kuba@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=maxime.chevallier@bootlin.com \
    --cc=mlxsw@nvidia.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=paul.greenwalt@intel.com \
    --cc=petrm@nvidia.com \
    --cc=przemyslaw.kitszel@intel.com \
    --cc=richardcochran@gmail.com \
    --cc=sdf@google.com \
    --cc=shayagr@amazon.com \
    --cc=vladimir.oltean@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox