aboutsummaryrefslogtreecommitdiff
path: root/sys/compat/linuxkpi/common/include/linux/spinlock.h
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2017-02-21 12:43:02 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2017-02-21 12:43:02 +0000
commit1e3db1de0cf6b904373e0f4c9e738b9713f3e17b (patch)
tree9c3eb36eac0b6065dcb12dfdf875957ee7c51293 /sys/compat/linuxkpi/common/include/linux/spinlock.h
parent27569d019d4edb44094fab5f2fa60ad2b8b03bb7 (diff)
downloadsrc-1e3db1de0cf6b904373e0f4c9e738b9713f3e17b.tar.gz
src-1e3db1de0cf6b904373e0f4c9e738b9713f3e17b.zip
Make the LinuxKPI task struct persistent accross system calls.
A set of helper functions have been added to manage the life of the LinuxKPI task struct. When an external system call or task is invoked, a check is made to create the task struct by demand. A thread destructor callback is registered to free the task struct when a thread exits to avoid memory leaks. This change lays the ground for emulating the Linux kernel more closely which is a dependency by the code using the LinuxKPI APIs. Add new dedicated td_lkpi_task field has been added to struct thread instead of abusing td_retval[1]. Fix some header file inclusions to make LINT kernel build properly after this change. Bump the __FreeBSD_version to force a rebuild of all kernel modules. MFC after: 1 week Sponsored by: Mellanox Technologies
Notes
Notes: svn path=/head/; revision=314040
Diffstat (limited to 'sys/compat/linuxkpi/common/include/linux/spinlock.h')
-rw-r--r--sys/compat/linuxkpi/common/include/linux/spinlock.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/compat/linuxkpi/common/include/linux/spinlock.h b/sys/compat/linuxkpi/common/include/linux/spinlock.h
index 97c83e0ed034..4beb6fe45f2d 100644
--- a/sys/compat/linuxkpi/common/include/linux/spinlock.h
+++ b/sys/compat/linuxkpi/common/include/linux/spinlock.h
@@ -35,9 +35,9 @@
#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/mutex.h>
+#include <sys/libkern.h>
#include <linux/compiler.h>
-#include <linux/kernel.h>
#include <linux/rwlock.h>
typedef struct {