diff options
| author | Peter K. Moss <peter@moss.dk> | 2021-01-08 23:50:24 +0100 |
|---|---|---|
| committer | Peter K. Moss <peter@moss.dk> | 2021-01-08 23:50:24 +0100 |
| commit | c4c82a8d8017495e8183e083e1ba26b0fc2eb2eb (patch) | |
| tree | 6b5797eda20e764a05c53f02417b96840ee48162 | |
| parent | 7d10d3ee6a7c8722bac60775d66be6cb8b38b9dd (diff) | |
| download | hid-tminit-c4c82a8d8017495e8183e083e1ba26b0fc2eb2eb.tar.gz hid-tminit-c4c82a8d8017495e8183e083e1ba26b0fc2eb2eb.zip | |
Using kfree_sensitive over kzfree for kernels >= 5.9-rc1
This modification is needed for the newer kernels as per https://github.com/torvalds/linux/commit/453431a54934d917153c65211b2dabf45562ca88
| -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; |
