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: > > 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