diff options
Diffstat (limited to 'hid-tminit.c')
| -rw-r--r-- | hid-tminit.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/hid-tminit.c b/hid-tminit.c index 1538bab..59905d9 100644 --- a/hid-tminit.c +++ b/hid-tminit.c @@ -15,8 +15,15 @@ #include <linux/input.h> #include <linux/slab.h> #include <linux/module.h> +#include <linux/version.h> #include "hid-tminit.h" +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,1) + #define KFREE(ptr) kfree_sensitive(ptr) +#else + #define KFREE(ptr) kzfree(ptr) +#endif + /** * On some setups initializing the T300RS crashes the kernel, * these interrupts fix that particular issue. So far they haven't caused any @@ -54,7 +61,7 @@ static void tminit_interrupts(struct hid_device *hdev){ } } - kzfree(send_buf); + KFREE(send_buf); } static void tminit_change_handler(struct urb *urb) @@ -135,10 +142,10 @@ static void tminit_remove(struct hid_device *hdev) usb_kill_urb(tm_wheel->urb); - kzfree(tm_wheel->response); - kzfree(tm_wheel->model_request); + KFREE(tm_wheel->response); + KFREE(tm_wheel->model_request); usb_free_urb(tm_wheel->urb); - kzfree(tm_wheel); + KFREE(tm_wheel); hid_hw_stop(hdev); } @@ -227,10 +234,10 @@ static int tminit_probe(struct hid_device *hdev, const struct hid_device_id *id) return ret; -error5: kzfree(tm_wheel->response); -error4: kzfree(tm_wheel->model_request); +error5: KFREE(tm_wheel->response); +error4: KFREE(tm_wheel->model_request); error3: usb_free_urb(tm_wheel->urb); -error2: kzfree(tm_wheel); +error2: KFREE(tm_wheel); error1: hid_hw_stop(hdev); error0: return ret; |
