Skip to content

Commit f7a4c78

Browse files
lag-linaroBenjamin Tissoires
authored andcommitted
HID: logitech-hidpp: Prevent use-after-free on force feedback initialisation failure
Presently, if the force feedback initialisation fails when probing the Logitech G920 Driving Force Racing Wheel for Xbox One, an error number will be returned and propagated before the userspace infrastructure (sysfs and /dev/input) has been torn down. If userspace ignores the errors and continues to use its references to these dangling entities, a UAF will promptly follow. We have 2 options; continue to return the error, but ensure that all of the infrastructure is torn down accordingly or continue to treat this condition as a warning by emitting the message but returning success. It is thought that the original author's intention was to emit the warning but keep the device functional, less the force feedback feature, so let's go with that. Signed-off-by: Lee Jones <[email protected]> Reviewed-by: Günther Noack <[email protected]> Signed-off-by: Benjamin Tissoires <[email protected]>
1 parent 2b658c1 commit f7a4c78

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

drivers/hid/hid-logitech-hidpp.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4487,10 +4487,12 @@ static int hidpp_probe(struct hid_device *hdev, const struct hid_device_id *id)
44874487
if (!ret)
44884488
ret = hidpp_ff_init(hidpp, &data);
44894489

4490-
if (ret)
4490+
if (ret) {
44914491
hid_warn(hidpp->hid_dev,
44924492
"Unable to initialize force feedback support, errno %d\n",
44934493
ret);
4494+
ret = 0;
4495+
}
44944496
}
44954497

44964498
/*

0 commit comments

Comments
 (0)