HID: core: remove one more kmemdup on .probe()
authorBenjamin Tissoires <bentiss@kernel.org>
Tue, 1 Oct 2024 14:30:07 +0000 (16:30 +0200)
committerBenjamin Tissoires <bentiss@kernel.org>
Fri, 4 Oct 2024 14:10:39 +0000 (16:10 +0200)
commit7316fef4b993c4435f9fe55e7f2590baf25621ec
tree230e62f26c73c83d189549d7493bc8eb676406e9
parent52cd1906ef6b93d638a78a34765c38c7edadd2ff
HID: core: remove one more kmemdup on .probe()

That last kmemdup while opening the report descriptor was required to
have a common kfree() on it.

Move that kmemdup in the only special case it's required (if there is a
.report_fixup()), and add a more elaborated check before freeing
hdev->rdesc, to avoid a double free.

Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Link: https://patch.msgid.link/20241001-hid-bpf-hid-generic-v3-3-2ef1019468df@kernel.org
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
drivers/hid/hid-core.c