Re: linux-next: Tree for September 3

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Alan Cox
Date: Thursday, September 4, 2008 - 7:35 am

> I cannot revert tty-kref-get-current-tty and I can't immediately spot

Nailed it; magic ingredient is SELinux inclusion which then triggers a
leak on a flush unauthorized

diff --git a/drivers/s390/char/fs3270.c b/drivers/s390/char/fs3270.c
index d18e6d2..3ef5425 100644
--- a/drivers/s390/char/fs3270.c
+++ b/drivers/s390/char/fs3270.c
@@ -430,11 +430,12 @@ fs3270_open(struct inode *inode, struct file *filp)
 		mutex_lock(&tty_mutex);
 		tty = get_current_tty();
 		if (!tty || tty->driver->major != IBM_TTY3270_MAJOR) {
-			mutex_unlock(&tty_mutex);
+			tty_kref_put(tty);
 			rc = -ENODEV;
 			goto out;
 		}
 		minor = tty->index + RAW3270_FIRSTMINOR;
+		tty_kref_put(tty);
 		mutex_unlock(&tty_mutex);
 	}
 	/* Check if some other program is already using fullscreen mode. */
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
index 03fc6a8..c856db8 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -2122,6 +2122,7 @@ static inline void flush_unauthorized_files(struct files_struct *files)
 
 	mutex_lock(&tty_mutex);
 	tty = get_current_tty();
+	mutex_unlock(&tty_mutex);
 	if (tty) {
 		file_list_lock();
 		file = list_entry(tty->tty_files.next, typeof(*file), f_u.fu_list);
@@ -2138,8 +2139,8 @@ static inline void flush_unauthorized_files(struct files_struct *files)
 			}
 		}
 		file_list_unlock();
+		tty_kref_put(tty);
 	}
-	mutex_unlock(&tty_mutex);
 	/* Reset controlling tty. */
 	if (drop_tty)
 		no_tty();
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
linux-next: Tree for September 3, Stephen Rothwell, (Wed Sep 3, 2:16 am)
[PATCH] hid: fix gyration build error, Randy Dunlap, (Wed Sep 3, 7:32 pm)
Re: linux-next: Tree for September 3, Andrew Morton, (Wed Sep 3, 9:42 pm)
Re: linux-next: Tree for September 3, Andrew Morton, (Wed Sep 3, 9:46 pm)
Re: linux-next: Tree for September 3, Andrew Morton, (Wed Sep 3, 9:54 pm)
Re: linux-next: Tree for September 3, Stephen Rothwell, (Wed Sep 3, 9:57 pm)
Re: linux-next: Tree for September 3, Stephen Rothwell, (Wed Sep 3, 10:00 pm)
Re: linux-next: Tree for September 3, Andrew Morton, (Wed Sep 3, 10:05 pm)
Re: linux-next: Tree for September 3, Stephen Rothwell, (Wed Sep 3, 10:20 pm)
Re: linux-next: Tree for September 3, Linus Torvalds, (Wed Sep 3, 10:21 pm)
Re: linux-next: Tree for September 3, Linus Torvalds, (Wed Sep 3, 10:26 pm)
Re: linux-next: Tree for September 3, Andrew Morton, (Wed Sep 3, 10:33 pm)
Re: linux-next: Tree for September 3, Andrew Morton, (Wed Sep 3, 10:42 pm)
Re: linux-next: Tree for September 3, Andrew Morton, (Wed Sep 3, 11:01 pm)
Re: [PATCH] hid: fix gyration build error, Jiri Slaby, (Wed Sep 3, 11:52 pm)
Re: linux-next: Tree for September 3, Yinghai Lu, (Thu Sep 4, 12:14 am)
Re: linux-next: Tree for September 3, Andrew Morton, (Thu Sep 4, 12:15 am)
Re: linux-next: Tree for September 3, Stephen Rothwell, (Thu Sep 4, 12:48 am)
Re: linux-next: Tree for September 3, Andrew Morton, (Thu Sep 4, 1:00 am)
Re: linux-next: Tree for September 3, Linus Torvalds, (Thu Sep 4, 1:02 am)
Re: [PATCH] hid: fix gyration build error, Jiri Kosina, (Thu Sep 4, 1:06 am)
Re: linux-next: Tree for September 3, Linus Torvalds, (Thu Sep 4, 1:23 am)
Re: linux-next: Tree for September 3, Andrew Morton, (Thu Sep 4, 1:25 am)
Re: linux-next: Tree for September 3, Andrew Morton, (Thu Sep 4, 1:37 am)
Re: linux-next: Tree for September 3, Linus Torvalds, (Thu Sep 4, 1:50 am)
Re: linux-next: Tree for September 3, Andrew Morton, (Thu Sep 4, 1:57 am)
Re: linux-next: Tree for September 3, Linus Torvalds, (Thu Sep 4, 2:03 am)
Re: linux-next: Tree for September 3, Linus Torvalds, (Thu Sep 4, 2:07 am)
Re: linux-next: Tree for September 3, Alan Cox, (Thu Sep 4, 2:19 am)
Re: linux-next: Tree for September 3, Alan Cox, (Thu Sep 4, 2:21 am)
Re: linux-next: Tree for September 3, Alan Cox, (Thu Sep 4, 4:01 am)
Re: linux-next: Tree for September 3, Alan Cox, (Thu Sep 4, 7:35 am)
Re: linux-next: Tree for September 3, Andrew Morton, (Thu Sep 4, 10:45 am)
Re: linux-next: Tree for September 3, Linus Torvalds, (Thu Sep 4, 11:05 am)
Re: linux-next: Tree for September 3, Andrew Morton, (Thu Sep 4, 11:34 am)
Re: linux-next: Tree for September 3, Eric W. Biederman, (Thu Sep 4, 1:31 pm)
Re: linux-next: Tree for September 3, Andrew Morton, (Thu Sep 4, 1:41 pm)
Re: linux-next: Tree for September 3, Eric W. Biederman, (Thu Sep 4, 2:03 pm)
Re: linux-next: Tree for September 3, Andrew Morton, (Thu Sep 4, 3:22 pm)
Re: linux-next: Tree for September 3, Thomas Gleixner, (Thu Sep 4, 3:45 pm)
Re: linux-next: Tree for September 3, Linus Torvalds, (Thu Sep 4, 4:17 pm)
Re: linux-next: Tree for September 3, Andrew Morton, (Thu Sep 4, 4:17 pm)
Re: linux-next: Tree for September 3, Linus Torvalds, (Thu Sep 4, 4:25 pm)
Re: linux-next: Tree for September 3, Thomas Gleixner, (Thu Sep 4, 4:27 pm)
Re: linux-next: Tree for September 3, Arjan van de Ven, (Thu Sep 4, 10:39 pm)
Re: linux-next: Tree for September 3, Ingo Molnar, (Fri Sep 5, 4:04 am)
Re: linux-next: Tree for September 3, Andrew Morton, (Fri Sep 5, 10:49 am)
Re: linux-next: Tree for September 3, Jesse Barnes, (Mon Sep 8, 9:39 pm)