summaryrefslogtreecommitdiffstats
path: root/net/netlink/netlink_dev.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-07-15 03:32:22 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-07-15 03:32:22 +0000
commitf1da2c3860e301527d56a1ef0b56c649ee7c4b1b (patch)
tree562b5d2e8b9cb62eb983d78ff6bcf9789e08fcf6 /net/netlink/netlink_dev.c
parent00f11569ac8ca73cbcdef8822de1583e79aee571 (diff)
Merge with Linux 2.4.0-test5-pre1. This works again on Origin UP.
The IP22 cache bugs which are plaguing some machines are still unfixed.
Diffstat (limited to 'net/netlink/netlink_dev.c')
-rw-r--r--net/netlink/netlink_dev.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/netlink/netlink_dev.c b/net/netlink/netlink_dev.c
index d0e187aee..bc1b378fc 100644
--- a/net/netlink/netlink_dev.c
+++ b/net/netlink/netlink_dev.c
@@ -26,6 +26,7 @@
#include <linux/poll.h>
#include <linux/init.h>
#include <linux/devfs_fs_kernel.h>
+#include <linux/smp_lock.h>
#include <asm/system.h>
#include <asm/uaccess.h>
@@ -138,10 +139,13 @@ out:
static int netlink_release(struct inode * inode, struct file * file)
{
unsigned int minor = MINOR(inode->i_rdev);
- struct socket *sock = netlink_user[minor];
+ struct socket *sock;
+ lock_kernel();
+ sock = netlink_user[minor];
netlink_user[minor] = NULL;
open_map &= ~(1<<minor);
+ unlock_kernel();
sock_release(sock);
return 0;
}