aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hid-tminit.c21
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;