Thread (28 messages) 28 messages, 5 authors, 2022-09-13

Re: [PATCH v6 1/5] iommu: Return -EMEDIUMTYPE for incompatible domain and device/group

From: Jason Gunthorpe <jgg@nvidia.com>
Date: 2022-09-07 13:47:46
Also in: asahi, kvm, linux-arm-kernel, linux-arm-msm, linux-iommu, linux-s390, lkml

On Wed, Sep 07, 2022 at 02:41:54PM +0200, Joerg Roedel wrote:
On Mon, Aug 15, 2022 at 11:14:33AM -0700, Nicolin Chen wrote:
quoted
Provide a dedicated errno from the IOMMU driver during attach that the
reason attached failed is because of domain incompatability. EMEDIUMTYPE
is chosen because it is never used within the iommu subsystem today and
evokes a sense that the 'medium' aka the domain is incompatible.
I am not a fan of re-using EMEDIUMTYPE or any other special value. What
is needed here in EINVAL, but with a way to tell the caller which of the
function parameters is actually invalid.
Using errnos to indicate the nature of failure is a well established
unix practice, it is why we have hundreds of error codes and don't
just return -EINVAL for everything.

What don't you like about it?

Would you be happier if we wrote it like

 #define IOMMU_EINCOMPATIBLE_DEVICE xx

Which tells "which of the function parameters is actually invalid" ?
For that I prefer adding an additional pointer parameter to the attach
functions in which the reason for the failure can be communicated up the
chain.
That sounds like OS/2 :\

Jason
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help