On Mon, Feb 1, 2021 at 4:11 PM Ben Widawsky <ben.widawsky(a)intel.com> wrote:
On 21-02-01 15:58:09, David Rientjes wrote:
> On Mon, 1 Feb 2021, Ben Widawsky wrote:
> > > I haven't seen the update to 184.108.40.206.5 to know yet :)
> > >
> > > You make a good point of at least being able to interact with the driver.
> > > I think you could argue that if the driver binds, then the payload size
> > > accepted, in which case it would be strange to get an EINVAL when using
> > > the ioctl with anything >1MB.
> > >
> > > Concern was that if we mask off the reserved bits from the command
> > > register that we could be masking part of the payload size that is being
> > > passed if the accepted max is >1MB. Idea was to avoid any possibility
> > > this inconsistency. If this is being checked for ioctl, seems like
> > > checking reserved bits.
> > >
> > > But maybe I should just wait for the spec update.
> > Well, I wouldn't hold your breath (it would be an errata in this case
> > My preference would be to just allow allow mailbox payload size to be 2^31 and
> > not deal with this.
> > My question was how strongly do you feel it's an error that should prevent
> > binding.
> I don't have an objection to binding, but doesn't this require that the
> check in cxl_validate_cmd_from_user() guarantees send_cmd->size_in cannot
> be greater than 1MB?
You're correct. I'd need to add:
min_t(size_t, 1 << CXL_GET_FIELD(cap, CXLDEV_MB_CAP_PAYLOAD_SIZE), 1<<20)
nit, use the existing SZ_1M define.