[PATCH v2 1/2] Input: evdev: propagate EVIOCSFF copy errors correctly

From: Iván Ezequiel Rodriguez

Date: Mon Aug 31 2026 - 18:17:05 EST


Return the error from input_ff_effect_from_user() instead of always
mapping failures to -EFAULT, so wrong buffer sizes surface as -EINVAL.

Signed-off-by: Iván Ezequiel Rodriguez <ivanrwcm25@xxxxxxxxx>
---
drivers/input/evdev.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
index 3a718d600006..27bcf4f099be 100644
--- a/drivers/input/evdev.c
+++ b/drivers/input/evdev.c
@@ -1180,8 +1180,9 @@ static long evdev_do_ioctl(struct file *file, unsigned int cmd,
return str_to_user(dev->uniq, size, p);

case EVIOC_MASK_SIZE(EVIOCSFF):
- if (input_ff_effect_from_user(p, size, &effect))
- return -EFAULT;
+ error = input_ff_effect_from_user(p, size, &effect);
+ if (error)
+ return error;

error = input_ff_upload(dev, &effect, file);
if (error)
--
2.43.0