public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Manfred Spraul <manfred@colorfullife.com>
To: Linus Torvalds <torvalds@transmeta.com>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] 3 one-liner bugfixes
Date: Sat, 05 May 2001 01:58:51 +0200	[thread overview]
Message-ID: <3AF3423B.33A3C3AE@colorfullife.com> (raw)
In-Reply-To: <Pine.LNX.4.31.0105041518080.1059-100000@penguin.transmeta.com> <3AF33A76.32C22DA1@colorfullife.com>

[-- Attachment #1: Type: text/plain, Size: 234 bytes --]

Manfred Spraul wrote:
> 
> +       else
> +               fl->fl_type & ~F_INPROGRESS;
               ^^^^^^
> +       unlock_kernel();
> +       return ret;
>  }

The last patch was incorrect. Corrected version attached.

--
	Manfred

[-- Attachment #2: patch-fcntl --]
[-- Type: text/plain, Size: 1925 bytes --]

// $Header$
// Kernel Version:
//  VERSION = 2
//  PATCHLEVEL = 4
//  SUBLEVEL = 4
//  EXTRAVERSION =
--- 2.4/fs/fcntl.c	Thu Nov 16 07:50:25 2000
+++ build-2.4/fs/fcntl.c	Sat May  5 00:32:17 2001
@@ -338,7 +338,6 @@
 	if (!filp)
 		goto out;
 
-	lock_kernel();
 	switch (cmd) {
 		case F_GETLK64:
 			err = fcntl_getlk64(fd, (struct flock64 *) arg);
@@ -353,7 +352,6 @@
 			err = do_fcntl(fd, cmd, arg, filp);
 			break;
 	}
-	unlock_kernel();
 	fput(filp);
 out:
 	return err;
--- 2.4/fs/locks.c	Sun Apr 22 13:21:33 2001
+++ build-2.4/fs/locks.c	Sat May  5 01:54:59 2001
@@ -1157,11 +1157,16 @@
 int fcntl_getlease(struct file *filp)
 {
 	struct file_lock *fl;
-	
+	int ret;
+
+	lock_kernel();
 	fl = filp->f_dentry->d_inode->i_flock;
 	if ((fl == NULL) || ((fl->fl_flags & FL_LEASE) == 0))
-		return F_UNLCK;
-	return fl->fl_type & ~F_INPROGRESS;
+		ret = F_UNLCK;
+	else
+		ret = fl->fl_type & ~F_INPROGRESS;
+	unlock_kernel();
+	return ret;
 }
 
 /* We already had a lease on this file; just change its type */
@@ -1357,7 +1362,9 @@
 		goto out_putf;
 
 	if (filp->f_op && filp->f_op->lock) {
+		lock_kernel();
 		error = filp->f_op->lock(filp, F_GETLK, &file_lock);
+		unlock_kernel();
 		if (error < 0)
 			goto out_putf;
 		else if (error == LOCK_USE_CLNT)
@@ -1481,7 +1488,9 @@
 	}
 
 	if (filp->f_op && filp->f_op->lock != NULL) {
+		lock_kernel();
 		error = filp->f_op->lock(filp, cmd, file_lock);
+		unlock_kernel();
 		if (error < 0)
 			goto out_putf;
 	}
@@ -1522,7 +1531,9 @@
 		goto out_putf;
 
 	if (filp->f_op && filp->f_op->lock) {
+		lock_kernel();
 		error = filp->f_op->lock(filp, F_GETLK, &file_lock);
+		unlock_kernel();
 		if (error < 0)
 			goto out_putf;
 		else if (error == LOCK_USE_CLNT)
@@ -1619,7 +1630,9 @@
 	}
 
 	if (filp->f_op && filp->f_op->lock != NULL) {
+		lock_kernel();
 		error = filp->f_op->lock(filp, cmd, file_lock);
+		unlock_kernel();
 		if (error < 0)
 			goto out_putf;
 	}

      reply	other threads:[~2001-05-04 23:59 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-04 22:08 [PATCH] 3 one-liner bugfixes Manfred Spraul
2001-05-04 22:20 ` Linus Torvalds
2001-05-04 23:25   ` Manfred Spraul
2001-05-04 23:58     ` Manfred Spraul [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3AF3423B.33A3C3AE@colorfullife.com \
    --to=manfred@colorfullife.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox