}
EXPORT_SYMBOL(ddi_copyout);
+#ifndef HAVE_PUT_TASK_STRUCT
+/*
+ * This is only a stub function which should never be used. The SPL should
+ * never be putting away the last reference on a task structure so this will
+ * not be called. However, we still need to define it so the module does not
+ * have undefined symbol at load time. That all said if this impossible
+ * thing does somehow happen SBUG() immediately so we know about it.
+ */
+void
+__put_task_struct(struct task_struct *t)
+{
+ SBUG();
+}
+EXPORT_SYMBOL(__put_task_struct);
+#endif /* HAVE_PUT_TASK_STRUCT */
+
struct new_utsname *__utsname(void)
{
#ifdef HAVE_INIT_UTSNAME