Update to 3.4-final.
[linux-flexiantxendom0-3.2.10.git] / fs / dcookies.c
index a21cabd..17c7799 100644 (file)
@@ -13,7 +13,7 @@
  */
 
 #include <linux/syscalls.h>
-#include <linux/module.h>
+#include <linux/export.h>
 #include <linux/slab.h>
 #include <linux/list.h>
 #include <linux/mount.h>
@@ -178,6 +178,8 @@ SYSCALL_DEFINE(lookup_dcookie)(u64 cookie64, char __user * buf, size_t len)
        /* FIXME: (deleted) ? */
        path = d_path(&dcs->path, kbuf, PAGE_SIZE);
 
+       mutex_unlock(&dcookie_mutex);
+
        if (IS_ERR(path)) {
                err = PTR_ERR(path);
                goto out_free;
@@ -194,6 +196,7 @@ SYSCALL_DEFINE(lookup_dcookie)(u64 cookie64, char __user * buf, size_t len)
 
 out_free:
        kfree(kbuf);
+       return err;
 out:
        mutex_unlock(&dcookie_mutex);
        return err;