]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dmaengine: idxd: Fix ->poll() return value
authorDave Jiang <dave.jiang@intel.com>
Thu, 8 May 2025 17:05:48 +0000 (10:05 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 May 2025 09:13:56 +0000 (11:13 +0200)
[ Upstream commit ae74cd15ade833adc289279b5c6f12e78f64d4d7 ]

The fix to block access from different address space did not return a
correct value for ->poll() change.  kernel test bot reported that a
return value of type __poll_t is expected rather than int. Fix to return
POLLNVAL to indicate invalid request.

Fixes: 8dfa57aabff6 ("dmaengine: idxd: Fix allowing write() from different address spaces")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202505081851.rwD7jVxg-lkp@intel.com/
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/20250508170548.2747425-1-dave.jiang@intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/dma/idxd/cdev.c

index b847b74949f1945a299fe027b13d86c1e4424670..cd57067e8218025571140a347e6351f8c236a508 100644 (file)
@@ -500,7 +500,7 @@ static __poll_t idxd_cdev_poll(struct file *filp,
        __poll_t out = 0;
 
        if (current->mm != ctx->mm)
-               return -EPERM;
+               return POLLNVAL;
 
        poll_wait(filp, &wq->err_queue, wait);
        spin_lock(&idxd->dev_lock);