> From: Jason Gunthorpe <jgg@xxxxxxxxxx> > Sent: Tuesday, September 21, 2021 9:45 PM > > On Sun, Sep 19, 2021 at 02:38:28PM +0800, Liu Yi L wrote: > > Linux now includes multiple device-passthrough frameworks (e.g. VFIO > and > > vDPA) to manage secure device access from the userspace. One critical > task > > of those frameworks is to put the assigned device in a secure, IOMMU- > > protected context so user-initiated DMAs are prevented from doing harm > to > > the rest of the system. > > Some bot will probably send this too, but it has compile warnings and > needs to be rebased to 5.15-rc1 thanks Jason, will fix the warnings. yeah, I was using 5.14 in the test, will rebase to 5.15-rc# in next version. Regards, Yi Liu > drivers/iommu/iommufd/iommufd.c:269:6: warning: variable 'ret' is used > uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] > if (refcount_read(&ioas->refs) > 1) { > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/iommu/iommufd/iommufd.c:277:9: note: uninitialized use occurs > here > return ret; > ^~~ > drivers/iommu/iommufd/iommufd.c:269:2: note: remove the 'if' if its > condition is always true > if (refcount_read(&ioas->refs) > 1) { > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/iommu/iommufd/iommufd.c:253:17: note: initialize the variable 'ret' > to silence this warning > int ioasid, ret; > ^ > = 0 > drivers/iommu/iommufd/iommufd.c:727:7: warning: variable 'ret' is used > uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] > if (idev->dev == dev || idev->dev_cookie == dev_cookie) { > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/iommu/iommufd/iommufd.c:767:17: note: uninitialized use occurs > here > return ERR_PTR(ret); > ^~~ > drivers/iommu/iommufd/iommufd.c:727:3: note: remove the 'if' if its > condition is always false > if (idev->dev == dev || idev->dev_cookie == dev_cookie) { > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/iommu/iommufd/iommufd.c:727:7: warning: variable 'ret' is used > uninitialized whenever '||' condition is true [-Wsometimes-uninitialized] > if (idev->dev == dev || idev->dev_cookie == dev_cookie) { > ^~~~~~~~~~~~~~~~ > drivers/iommu/iommufd/iommufd.c:767:17: note: uninitialized use occurs > here > return ERR_PTR(ret); > ^~~ > drivers/iommu/iommufd/iommufd.c:727:7: note: remove the '||' if its > condition is always false > if (idev->dev == dev || idev->dev_cookie == dev_cookie) { > ^~~~~~~~~~~~~~~~~~~ > drivers/iommu/iommufd/iommufd.c:717:9: note: initialize the variable 'ret' > to silence this warning > int ret; > ^ > = 0 > > Jason