Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3462032d authored by Jonathan Corbet's avatar Jonathan Corbet
Browse files

divamnt: BKL pushdown



Put explicit lock_kernel() calls into maint_open().

Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
parent a237f3bb
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/poll.h>
#include <linux/smp_lock.h>
#include <asm/uaccess.h>

#include "platform.h"
@@ -127,14 +128,19 @@ static unsigned int maint_poll(struct file *file, poll_table * wait)

static int maint_open(struct inode *ino, struct file *filep)
{
	int ret;

	lock_kernel();
	/* only one open is allowed, so we test
	   it atomically */
	if (test_and_set_bit(0, &opened))
		return (-EBUSY);

		ret = -EBUSY;
	else {
		filep->private_data = NULL;

	return nonseekable_open(ino, filep);
		ret = nonseekable_open(ino, filep);
	}
	unlock_kernel();
	return ret;
}

static int maint_close(struct inode *ino, struct file *filep)