Smatch has a new check for Rosenberg type information leaks where structs are copied to the user with uninitialized stack data in them. The issue here is that struct uinput_ff_upload_compat has a hole in it. struct uinput_ff_upload_compat { int request_id; /* 0 4 */ int retval; /* 4 4 */ struct ff_effect_compat effect; /* 8 0 */ /* XXX 44 bytes hole, try to pack */ struct ff_effect_compat old; /* 52 0 */ Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c index 7360568..40e2ba4 100644 --- a/drivers/input/misc/uinput.c +++ b/drivers/input/misc/uinput.c @@ -528,6 +528,8 @@ static int uinput_ff_upload_to_user(char __user *buffer, if (INPUT_COMPAT_TEST) { struct uinput_ff_upload_compat ff_up_compat; + memset(&ff_up_compat, 0, sizeof(ff_up_compat)); + ff_up_compat.request_id = ff_up->request_id; ff_up_compat.retval = ff_up->retval; /* -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html