linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Christoph Hellwig <hch@infradead.org>,
	Andrew Morton <akpm@osdl.org>,
	"Michael S. Tsirkin" <mst@mellanox.co.il>,
	linux-kernel@vger.kernel.org
Subject: Re: 2.6.10-mm1
Date: Mon, 3 Jan 2005 13:21:25 +0000	[thread overview]
Message-ID: <20050103132125.GA19379@infradead.org> (raw)
In-Reply-To: <20050103102535.GB17856@infradead.org>

On Mon, Jan 03, 2005 at 10:25:35AM +0000, Christoph Hellwig wrote:
> > -ioctl-cleanup.patch
> > -unlocked_ioctl.patch
> > +ioctl-rework.patch
> > 
> >  New version of the dont-hold-BKL-across-ioctl patch.
> 
> For the native case the new naming is stupid.  The old ioctl_unlocked
> made perfect sense while ioctl_native doesn't - after all ->ioctl is
> native aswell.  Also this still has the useless inode * paramater in
> the method signature.

Here's a better and much simpler patch:

 - add ->unlocked_ioctl method and a do_ioctl wrapper in ioctl.c so all
   places calling ->ioctl get it.
 - add ->compat_ioctl method and call it in compat_sys_ioctl before doing
   the hash lookup for registered handlers.
 - streamline compat_sys_ioctl and move the complex error reporting into
   a function of it's own


--- 1.52/Documentation/filesystems/Locking	2004-10-25 11:41:20 +02:00
+++ edited/Documentation/filesystems/Locking	2005-01-03 12:23:34 +01:00
@@ -350,6 +350,8 @@
 	unsigned int (*poll) (struct file *, struct poll_table_struct *);
 	int (*ioctl) (struct inode *, struct file *, unsigned int,
 			unsigned long);
+	long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
+	long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
 	int (*mmap) (struct file *, struct vm_area_struct *);
 	int (*open) (struct inode *, struct file *);
 	int (*flush) (struct file *);
@@ -383,6 +385,8 @@
 readdir: 		no
 poll:			no
 ioctl:			yes	(see below)
+unlocked_ioctl:		no	(see below)
+compat_ioctl:		no
 mmap:			no
 open:			maybe	(see below)
 flush:			no
@@ -427,6 +431,9 @@
 ->ioctl() or kill the latter completely. One of the problems is that for
 anything that resembles union-mount we won't have a struct file for all
 components. And there are other reasons why the current interface is a mess...
+
+->ioctl() on regular files is superceded by the ->unlocked_ioctl() that
+doesn't take the BKL.
 
 ->read on directories probably must go away - we should just enforce -EISDIR
 in sys_read() and friends.
--- 1.47/fs/compat.c	2004-12-10 18:57:46 +01:00
+++ edited/fs/compat.c	2005-01-03 13:58:00 +01:00
@@ -397,77 +397,87 @@
 }
 EXPORT_SYMBOL(unregister_ioctl32_conversion); 
 
+static void compat_ioctl_error(struct file *filp, unsigned int fd,
+		unsigned int cmd, unsigned long arg)
+{
+	char buf[10];
+	char *fn = "?";
+	char *path;
+
+	/* find the name of the device. */
+	path = (char *)__get_free_page(GFP_KERNEL);
+	if (path) {
+		fn = d_path(filp->f_dentry, filp->f_vfsmnt, path, PAGE_SIZE);
+		if (IS_ERR(fn))
+			fn = "?";
+	}
+
+	sprintf(buf,"'%c'", (cmd>>24) & 0x3f);
+	if (!isprint(buf[1]))
+		sprintf(buf, "%02x", buf[1]);
+	printk("ioctl32(%s:%d): Unknown cmd fd(%d) "
+			"cmd(%08x){%s} arg(%08x) on %s\n",
+			current->comm, current->pid,
+			(int)fd, (unsigned int)cmd, buf,
+			(unsigned int)arg, fn);
+	
+	if (path)
+		free_page((unsigned long)path);
+}
+
 asmlinkage long compat_sys_ioctl(unsigned int fd, unsigned int cmd,
 				unsigned long arg)
 {
-	struct file * filp;
+	struct file *filp;
 	int error = -EBADF;
 	struct ioctl_trans *t;
 
 	filp = fget(fd);
-	if(!filp)
-		goto out2;
-
-	if (!filp->f_op || !filp->f_op->ioctl) {
-		error = sys_ioctl (fd, cmd, arg);
+	if (!filp)
 		goto out;
+
+	if (!filp->f_op) {
+		if (!filp->f_op->ioctl)
+			goto do_ioctl;
+	} else if (filp->f_op->compat_ioctl) {
+		error = filp->f_op->compat_ioctl(filp, cmd, arg);
+		goto out_fput;
 	}
 
 	down_read(&ioctl32_sem);
+	for (t = ioctl32_hash_table[ioctl32_hash(cmd)]; t; t = t->next) {
+		if (t->cmd == cmd)
+			goto found_handler;
+	}
+	up_read(&ioctl32_sem);
 
-	t = ioctl32_hash_table[ioctl32_hash (cmd)];
-
-	while (t && t->cmd != cmd)
-		t = t->next;
-	if (t) {
-		if (t->handler) { 
-			lock_kernel();
-			error = t->handler(fd, cmd, arg, filp);
-			unlock_kernel();
-			up_read(&ioctl32_sem);
-		} else {
-			up_read(&ioctl32_sem);
-			error = sys_ioctl(fd, cmd, arg);
-		}
+	if (cmd >= SIOCDEVPRIVATE && cmd <= (SIOCDEVPRIVATE + 15)) {
+		error = siocdevprivate_ioctl(fd, cmd, arg);
 	} else {
+		static int count;
+
+		if (++count <= 50)
+			compat_ioctl_error(filp, fd, cmd, arg);
+		error = -EINVAL;
+	}
+
+	goto out_fput;
+
+ found_handler:
+	if (t->handler) { 
+		lock_kernel();
+		error = t->handler(fd, cmd, arg, filp);
+		unlock_kernel();
 		up_read(&ioctl32_sem);
-		if (cmd >= SIOCDEVPRIVATE && cmd <= (SIOCDEVPRIVATE + 15)) {
-			error = siocdevprivate_ioctl(fd, cmd, arg);
-		} else {
-			static int count;
-			if (++count <= 50) {
-				char buf[10];
-				char *fn = "?";
-				char *path;
-
-				path = (char *)__get_free_page(GFP_KERNEL);
-
-				/* find the name of the device. */
-				if (path) {
-			       		fn = d_path(filp->f_dentry,
-						filp->f_vfsmnt, path,
-						PAGE_SIZE);
-					if (IS_ERR(fn))
-						fn = "?";
-				}
-
-				sprintf(buf,"'%c'", (cmd>>24) & 0x3f);
-				if (!isprint(buf[1]))
-				    sprintf(buf, "%02x", buf[1]);
-				printk("ioctl32(%s:%d): Unknown cmd fd(%d) "
-					"cmd(%08x){%s} arg(%08x) on %s\n",
-					current->comm, current->pid,
-					(int)fd, (unsigned int)cmd, buf,
-					(unsigned int)arg, fn);
-				if (path)
-					free_page((unsigned long)path);
-			}
-			error = -EINVAL;
-		}
+		goto out_fput;
 	}
-out:
+
+	up_read(&ioctl32_sem);
+ do_ioctl:
+	error = sys_ioctl(fd, cmd, arg);
+ out_fput:
 	fput(filp);
-out2:
+ out:
 	return error;
 }
 
--- 1.14/fs/ioctl.c	2004-10-19 07:26:38 +02:00
+++ edited/fs/ioctl.c	2005-01-03 14:01:24 +01:00
@@ -16,7 +16,29 @@
 #include <asm/uaccess.h>
 #include <asm/ioctls.h>
 
-static int file_ioctl(struct file *filp,unsigned int cmd,unsigned long arg)
+static long do_ioctl(struct file *filp, unsigned int cmd,
+		unsigned long arg)
+{
+	int error = -ENOTTY;
+
+	if (!filp->f_op)
+		goto out;
+
+	if (filp->f_op->unlocked_ioctl) {
+		error = filp->f_op->unlocked_ioctl(filp, cmd, arg);
+	} else if (filp->f_op->ioctl) {
+		lock_kernel();
+		error = filp->f_op->ioctl(filp->f_dentry->d_inode,
+					  filp, cmd, arg);
+		unlock_kernel();
+	}
+
+ out:
+	return error;
+}
+
+static int file_ioctl(struct file *filp, unsigned int cmd,
+		unsigned long arg)
 {
 	int error;
 	int block;
@@ -36,7 +58,9 @@
 			if ((error = get_user(block, p)) != 0)
 				return error;
 
+			lock_kernel();
 			res = mapping->a_ops->bmap(mapping, block);
+			unlock_kernel();
 			return put_user(res, p);
 		}
 		case FIGETBSZ:
@@ -46,14 +70,13 @@
 		case FIONREAD:
 			return put_user(i_size_read(inode) - filp->f_pos, p);
 	}
-	if (filp->f_op && filp->f_op->ioctl)
-		return filp->f_op->ioctl(inode, filp, cmd, arg);
-	return -ENOTTY;
+
+	return do_ioctl(filp, cmd, arg);
 }
 
 
 asmlinkage long sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
-{	
+{
 	struct file * filp;
 	unsigned int flag;
 	int on, error = -EBADF;
@@ -63,12 +86,9 @@
 		goto out;
 
 	error = security_file_ioctl(filp, cmd, arg);
-	if (error) {
-                fput(filp);
-                goto out;
-        }
+	if (error)
+		goto out_fput;
 
-	lock_kernel();
 	switch (cmd) {
 		case FIOCLEX:
 			set_close_on_exec(fd, 1);
@@ -100,8 +120,11 @@
 
 			/* Did FASYNC state change ? */
 			if ((flag ^ filp->f_flags) & FASYNC) {
-				if (filp->f_op && filp->f_op->fasync)
+				if (filp->f_op && filp->f_op->fasync) {
+					lock_kernel();
 					error = filp->f_op->fasync(fd, filp, on);
+					unlock_kernel();
+				}
 				else error = -ENOTTY;
 			}
 			if (error != 0)
@@ -124,16 +147,15 @@
 				error = -ENOTTY;
 			break;
 		default:
-			error = -ENOTTY;
 			if (S_ISREG(filp->f_dentry->d_inode->i_mode))
 				error = file_ioctl(filp, cmd, arg);
-			else if (filp->f_op && filp->f_op->ioctl)
-				error = filp->f_op->ioctl(filp->f_dentry->d_inode, filp, cmd, arg);
+			else
+				error = do_ioctl(filp, cmd, arg);
+			break;
 	}
-	unlock_kernel();
+ out_fput:
 	fput(filp);
-
-out:
+ out:
 	return error;
 }
 
--- 1.362/include/linux/fs.h	2004-10-29 10:14:03 +02:00
+++ edited/include/linux/fs.h	2005-01-03 11:38:01 +01:00
@@ -902,8 +902,8 @@
 
 /*
  * NOTE:
- * read, write, poll, fsync, readv, writev can be called
- *   without the big kernel lock held in all filesystems.
+ * read, write, poll, fsync, readv, writev, unlocked_ioctl and compat_ioctl
+ * can be called without the big kernel lock held in all filesystems.
  */
 struct file_operations {
 	struct module *owner;
@@ -915,6 +915,8 @@
 	int (*readdir) (struct file *, void *, filldir_t);
 	unsigned int (*poll) (struct file *, struct poll_table_struct *);
 	int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
+	long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
+	long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
 	int (*mmap) (struct file *, struct vm_area_struct *);
 	int (*open) (struct inode *, struct file *);
 	int (*flush) (struct file *);

  reply	other threads:[~2005-01-03 13:22 UTC|newest]

Thread overview: 252+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-15  6:56 unregister_ioctl32_conversion and modules. ioctl32 revisited Andi Kleen
2004-12-15  7:46 ` Michael S. Tsirkin
2004-12-15  8:00   ` Andi Kleen
2004-12-15  8:21     ` Michael S. Tsirkin
2004-12-15  8:29       ` Andi Kleen
2004-12-15 11:42         ` Michael S. Tsirkin
2004-12-15 13:46           ` Arnd Bergmann
2004-12-15 16:12             ` Andi Kleen
2004-12-15 16:45               ` Arnd Bergmann
2004-12-15 16:57                 ` Andi Kleen
2004-12-15 17:47                   ` Arnd Bergmann
2004-12-15 17:59                     ` Andi Kleen
2004-12-15 18:21                     ` Michael S. Tsirkin
2004-12-16  4:06                       ` Andi Kleen
2004-12-26 22:26                         ` Chris Wedgwood
2004-12-26 22:49                           ` [discuss] " Arnd Bergmann
2004-12-27 11:49                             ` [discuss] Re: unregister_ioctl32_conversion and modules. ioct l32 revisited Michael S. Tsirkin
2005-01-05 15:25                             ` Michael S. Tsirkin
2005-01-05 16:07                               ` Arnd Bergmann
2004-12-15 18:20   ` unregister_ioctl32_conversion and modules. ioctl32 revisited Takashi Iwai
2004-12-15 18:30     ` Lee Revell
2004-12-15 19:34       ` Michael S. Tsirkin
2004-12-16  5:03       ` [discuss] " Andi Kleen
2004-12-16  7:53         ` Ingo Molnar
2004-12-16  8:09           ` Andi Kleen
2004-12-16  8:25             ` Andrew Morton
2004-12-16  8:30               ` Michael S. Tsirkin
2004-12-16  8:38               ` Andi Kleen
2004-12-17  1:43 ` [PATCH] " Michael S. Tsirkin
2004-12-16 16:08   ` Christoph Hellwig
2005-01-03  9:11   ` 2.6.10-mm1 Andrew Morton
2005-01-03 10:07     ` 2.6.10-mm1 Christoph Hellwig
2005-01-03 17:19       ` 2.6.10-mm1 Jesse Barnes
2005-01-03 23:29         ` 2.6.10-mm1 [failure on AMD64] Rafael J. Wysocki
2005-01-03 23:30           ` Jesse Barnes
2005-01-04 11:23           ` Thomas Molina
2005-01-04 13:22             ` Rafael J. Wysocki
2005-01-04 12:22           ` Andi Kleen
2005-01-04 21:05             ` Rafael J. Wysocki
2005-01-06 11:32       ` 2.6.10-mm1 Christoph Hellwig
2005-01-06 13:04       ` 2.6.10-mm1 David Howells
2005-01-06 13:06         ` 2.6.10-mm1 Christoph Hellwig
2005-01-03 10:25     ` 2.6.10-mm1 Christoph Hellwig
2005-01-03 13:21       ` Christoph Hellwig [this message]
2005-01-03 13:35       ` 2.6.10-mm1 Michael S. Tsirkin
2005-01-03 11:48     ` 2.6.10-mm1 Christoph Hellwig
2005-01-05 17:27       ` 2.6.10-mm1 Hans Reiser
2005-01-06 13:52         ` 2.6.10-mm1 Vladimir Saveliev
2005-01-07 14:46           ` 2.6.10-mm1 Christoph Hellwig
2005-01-07 17:16             ` [RFC] per thread page reservation patch Vladimir Saveliev
2005-01-07 18:48               ` Andrew Morton
2005-01-07 20:21                 ` Nikita Danilov
2005-01-07 19:05               ` Christoph Hellwig
2005-01-07 19:12                 ` Christoph Hellwig
2005-01-07 19:21                 ` Robert Love
2005-01-07 20:48                 ` Nikita Danilov
2005-01-07 20:54                   ` Christoph Hellwig
2005-01-07 21:00                     ` Nikita Danilov
2005-01-07 21:07                       ` Christoph Hellwig
2005-01-07 19:14               ` Paulo Marques
2005-01-07 19:32                 ` Christoph Hellwig
2005-01-07 19:42                   ` Andi Kleen
2005-01-07 20:55                 ` Nikita Danilov
2005-01-07 21:24                   ` Andrew Morton
2005-01-07 21:24                     ` Andi Kleen
2005-01-07 22:12                     ` Nikita Danilov
2005-01-07 23:03                       ` Andrew Morton
2005-01-07 23:17                         ` Nikita Danilov
2005-01-07 23:43                           ` Andrew Morton
2005-01-08 12:44                             ` Nikita Danilov
2005-01-08 13:43                               ` Hugh Dickins
2005-01-09 11:35                             ` Marcelo Tosatti
2005-01-09 18:16                               ` Nikita Danilov
2005-01-25 16:39                     ` reiser4 core patches: [Was: [RFC] per thread page reservation patch] Vladimir Saveliev
2005-01-27 10:37                       ` Adrian Bunk
2005-01-27 11:01                       ` Christoph Hellwig
2005-01-03 11:51     ` 2.6.10-mm1 Christoph Hellwig
2005-01-04  9:04       ` 2.6.10-mm1 Ingo Molnar
2005-01-04  9:26         ` 2.6.10-mm1 Christoph Hellwig
2005-01-04  9:33           ` 2.6.10-mm1 Ingo Molnar
2005-01-03 15:13     ` 2.6.10-mm1 William Lee Irwin III
2005-01-03 17:17     ` 2.6.10-mm1 Jesse Barnes
2005-01-05 22:38       ` 2.6.10-mm1 Matthew Dobson
2005-01-03 20:42     ` [PATCH] pktcdvd: make two functions static Peter Osterlund
2005-01-03 20:45       ` [PATCH] pktcdvd: grep-friendly function prototypes Peter Osterlund
2005-01-03 20:47         ` [PATCH] pktcdvd: Small documentation update Peter Osterlund
2005-01-03 20:53           ` [PATCH] isofs: Remove useless include Peter Osterlund
2005-01-03 20:58             ` [PATCH] synaptics: Remove unused struct member variable Peter Osterlund
2005-01-03 22:25       ` [PATCH] pktcdvd: make two functions static Bartlomiej Zolnierkiewicz
2005-01-04  9:08     ` 2.6.10-mm1 Ingo Molnar
2005-01-05 14:40     ` [PATCH] deprecate (un)register_ioctl32_conversion Michael S. Tsirkin
2005-01-05 14:46       ` Christoph Hellwig
2005-01-05 15:03         ` Michael S. Tsirkin
2005-01-05 15:11           ` Christoph Hellwig
2005-01-05 21:33           ` Andrew Morton
2005-01-06 14:41             ` Michael S. Tsirkin
2005-01-06 14:55               ` Christoph Hellwig
2005-01-06 15:22                 ` Michael S. Tsirkin
2005-01-06 15:30                   ` Christoph Hellwig
2005-01-06 15:56                     ` Michael S. Tsirkin
2005-01-05 15:19         ` Andi Kleen
2005-01-05 15:55           ` Christoph Hellwig
2005-01-05 18:23       ` Takashi Iwai
2005-01-05 21:34         ` Andrew Morton
2005-01-06  8:22           ` 2.6.10-mm2 Andrew Morton
2005-01-06  8:39             ` 2.6.10-mm2 Nick Piggin
2005-01-06  9:11             ` 2.6.10-mm2 Eyal Lebedinsky
2005-01-06  9:24               ` 2.6.10-mm2 Andrew Morton
2005-01-06  9:27               ` 2.6.10-mm2 Christoph Hellwig
2005-01-06 10:17             ` 2.6.10-mm2 Juri Prokofjev
2005-01-06 14:54               ` 2.6.10-mm2 Dave Airlie
2005-01-06 10:17             ` [PATCH 2.6.10-mm2] m32r: build fix Hirokazu Takata
2005-01-06 10:47             ` 2.6.10-mm2 Christoph Hellwig
2005-01-06 11:19             ` 2.6.10-mm2 error: redefinition of `struct cfq_io_context' Helge Hafting
2005-01-06 14:21               ` Helge Hafting
2005-01-06 12:06             ` 2.6.10-mm2 Marcos D. Marado Torres
2005-01-11 14:08               ` acpi_power_off on 2.6.10-mm3 WAS: 2.6.10-mm2 Marcos D. Marado Torres
2005-01-06 12:48             ` 2.6.10-mm2 Sam Ravnborg
2005-01-06 18:15               ` 2.6.10-mm2 Felipe Alfaro Solana
2005-01-06 14:51             ` [PATCH] fget_light/fput_light for ioctls Michael S. Tsirkin
2005-01-06 16:18               ` [PATCH] fget_light/fput_light for ioctls (fixed) Michael S. Tsirkin
2005-01-06 15:00             ` [patch] 2.6.10-mm2: remove umsdos MAINTAINERS entry Adrian Bunk
2005-01-06 15:03             ` [patch] 2.6.10-mm2: fix MTD_BLOCK2MTD dependency Adrian Bunk
2005-01-08 20:18               ` Jörn Engel
2005-01-06 17:11             ` 2.6.10-mm2 Alexander Gran
2005-01-06 17:55               ` 2.6.10-mm2 Diego Calleja
2005-01-06 18:17                 ` 2.6.10-mm2 Marc Ballarin
2005-01-06 17:48             ` 2.6.10-mm2: swsusp regression Rafael J. Wysocki
2005-01-06 22:52               ` Pavel Machek
2005-01-06 23:41                 ` Rafael J. Wysocki
2005-01-06 23:48                   ` Pavel Machek
2005-01-07  0:24                     ` Nigel Cunningham
2005-01-07  0:29                       ` Pavel Machek
2005-01-07  0:45                         ` Nigel Cunningham
2005-01-07 12:45                     ` Rafael J. Wysocki
2005-01-07 22:12                       ` Nigel Cunningham
2005-01-08  0:56                         ` Rafael J. Wysocki
2005-01-08  9:49                           ` 2.6.10-mm2: swsusp regression [update] Rafael J. Wysocki
2005-01-08  9:56                             ` Nigel Cunningham
2005-01-08 13:19                             ` Pavel Machek
2005-01-08 15:10                               ` Rafael J. Wysocki
2005-01-08 15:44                                 ` Pavel Machek
2005-01-12 18:51                                   ` Rafael J. Wysocki
2005-01-12 21:01                                     ` Pavel Machek
2005-01-12 22:44                                       ` Rafael J. Wysocki
2005-01-12 22:46                                         ` Pavel Machek
2005-01-12 22:58                                           ` Nigel Cunningham
2005-01-12 23:02                                           ` Rafael J. Wysocki
2005-01-12 23:28                                             ` Nigel Cunningham
2005-01-13  0:59                                               ` [PATCH] Fix a bug in timer_suspend() on x86_64 Rafael J. Wysocki
2005-01-13 10:08                                                 ` Pavel Machek
2005-01-13 10:14                                                   ` Nigel Cunningham
2005-01-13 19:47                                                 ` Andi Kleen
2005-01-08 17:22                                 ` 2.6.10-mm2: swsusp regression [update] Barry K. Nathan
2005-01-06 17:57             ` [patch] 2.6.10-mm2: move CPUSETS above EMBEDDED Adrian Bunk
2005-01-07  6:20               ` Paul Jackson
2005-01-06 18:15             ` [2.6 patch] 2.6.10-mm2: let I2C_ALGO_SGI depend on MIPS Adrian Bunk
     [not found]               ` <20050106192701.GA13955@linux-mips.org>
2005-01-06 19:35                 ` Ilya A. Volynets-Evenbakh
2005-01-06 19:46                   ` Greg KH
2005-01-07  9:12                     ` Ladislav Michl
2005-01-07 19:14                       ` Greg KH
2005-01-06 20:30             ` 2.6.10-mm2 Ramón Rey Vicente
2005-01-07  9:39             ` 2.6.10-mm2 Benoit Boissinot
2005-01-07 13:13               ` 2.6.10-mm2 Brice Goglin
2005-01-09  1:26                 ` 2.6.10-mm2 Dave Airlie
2005-01-09  8:55                   ` 2.6.10-mm2 Brice Goglin
2005-01-08  2:43               ` 2.6.10-mm2 Dave Airlie
2005-01-08 12:27                 ` 2.6.10-mm2 Benoit Boissinot
2005-01-08 13:42                   ` 2.6.10-mm2 Dave Airlie
2005-01-08 14:18                     ` 2.6.10-mm2 Marc Ballarin
2005-01-09  1:23                       ` 2.6.10-mm2 Dave Airlie
2005-01-08 16:46                     ` 2.6.10-mm2 Mike Werner
2005-01-08 13:48                   ` 2.6.10-mm2 Dave Airlie
2005-01-08 15:41                     ` 2.6.10-mm2 Benoit Boissinot
2005-01-09  1:38                       ` 2.6.10-mm2 Dave Airlie
2005-01-09 14:09                         ` 2.6.10-mm2 Benoit Boissinot
2005-01-09 14:15                           ` 2.6.10-mm2 Brice Goglin
2005-01-10  7:40                             ` 2.6.10-mm2 Dave Airlie
2005-01-10  7:49                               ` 2.6.10-mm2 Brice Goglin
     [not found]                                 ` <21d7e9970501100101353cf602@mail.gmail.com>
2005-01-10 10:14                                   ` 2.6.10-mm2 solved Brice Goglin
2005-01-10 16:41                                     ` Brice Goglin
2005-01-08  1:31             ` AGP Oops (was Re: 2.6.10-mm2) Sean Neakums
2005-01-08  1:36               ` Andrew Morton
2005-01-08 13:01                 ` Sean Neakums
2005-01-06 14:06           ` [PATCH] macros to detect existance of unlocked_ioctl and ioctl_compat Michael S. Tsirkin
2005-01-06 14:53             ` Christoph Hellwig
2005-01-06 15:09               ` Andi Kleen
2005-01-06 15:14                 ` Christoph Hellwig
2005-01-06 15:22                   ` Lee Revell
2005-01-06 15:31                     ` Christoph Hellwig
2005-01-06 15:38                       ` Lee Revell
2005-01-06 19:03                       ` Catalin Marinas
2005-01-06 15:37                   ` Andi Kleen
2005-01-06 16:58                   ` Petr Vandrovec
2005-01-06 16:35               ` Petr Vandrovec
2005-01-06 16:39                 ` Christoph Hellwig
2005-01-06 16:57                 ` Andi Kleen
2005-01-06 17:26                   ` Petr Vandrovec
2005-01-06 17:53                     ` Andi Kleen
2005-01-06 18:19                       ` Petr Vandrovec
2005-01-06 19:35                       ` Greg KH
2005-01-06 19:51                         ` Andi Kleen
2005-01-06 19:59                           ` David S. Miller
2005-01-06 20:44                             ` Andi Kleen
2005-01-06 21:09                               ` Petr Vandrovec
2005-01-06 21:24                                 ` Greg KH
2005-01-06 21:59                                   ` [linux-usb-devel] " David Brownell
2005-01-06 22:48                                     ` Greg KH
2005-01-07 11:49                       ` [discuss] " Arnd Bergmann
2005-01-07 12:30                         ` Andi Kleen
2005-01-06 22:34                 ` Pavel Machek
2005-01-12 20:36             ` [PATCH] fix: macros to detect existance of unlocked_ioctl and compat_ioctl Michael S. Tsirkin
2005-01-12 21:29               ` Greg KH
2005-01-12 21:43                 ` Andi Kleen
2005-01-12 22:52                   ` Greg KH
2005-01-12 23:10                     ` Andrew Morton
2005-01-12 23:16                       ` Greg KH
2005-01-16  5:38                         ` Werner Almesberger
2005-01-20  5:38                       ` 2.6.11-rc1-mm2 Andrew Morton
2005-01-20  6:53                         ` 2.6.11-rc1-mm2: CONFIG_SMP=n compile error Adrian Bunk
2005-01-20  7:12                           ` Andrew Morton
2005-01-20 17:44                             ` Rafael J. Wysocki
2005-01-20  9:57                         ` 2.6.11-rc1-mm2 Steffen Klassert
2005-01-20 10:39                           ` 2.6.11-rc1-mm2 Christoph Hellwig
2005-01-20 11:40                         ` 2.6.11-rc1-mm2 Benoit Boissinot
2005-01-20 11:49                           ` 2.6.11-rc1-mm2 Benoit Boissinot
2005-01-20 11:58                         ` 2.6.11-rc1-mm2 Christoph Hellwig
2005-01-21  0:09                         ` security hook missing in compat ioctl in 2.6.11-rc1-mm2 Michael S. Tsirkin
2005-01-21  0:10                           ` Chris Wright
2005-01-21  1:26                           ` [PATCH] compat ioctl security hook fixup Chris Wright
2005-01-21  4:19                             ` Andi Kleen
2005-01-21  5:51                               ` Chris Wright
2005-01-21  6:11                                 ` Andi Kleen
2005-01-21  6:35                                   ` [PATCH] compat ioctl security hook fixup (take2) Chris Wright
2005-01-21  8:06                         ` 2.6.11-rc1-mm2 Con Kolivas
2005-01-21  8:30                           ` 2.6.11-rc1-mm2 Andrew Morton
2005-01-21  8:34                           ` 2.6.11-rc1-mm2 Andrew Morton
2005-01-21  8:37                             ` 2.6.11-rc1-mm2 Con Kolivas
2005-01-21 12:48                           ` 2.6.11-rc1-mm2 Adrian Bunk
2005-01-21 22:29                             ` 2.6.11-rc1-mm2 Con Kolivas
2005-01-21 22:43                         ` [PATCH] sched: account rt_tasks as iso_ticks Con Kolivas
2005-02-01  0:34                         ` 2.6.11-rc1-mm2 Ed Tomlinson
2005-02-03 16:36                           ` 2.6.11-rc1-mm2 Alexander Nyberg
2005-01-12 22:13                 ` [PATCH] fix: macros to detect existance of unlocked_ioctl and compat_ioctl Andreas Dilger
2005-01-12 22:58                   ` Greg KH
2005-01-13 10:57                     ` Takashi Iwai
2005-01-03 23:07 2.6.10-mm1 Mark_H_Johnson
2005-01-03 23:15 ` 2.6.10-mm1 Andrew Morton
2005-01-04 16:42 2.6.10-mm1 Paul Blazejowski
2005-01-06 16:32 2.6.10-mm1 Mark_H_Johnson
2005-01-07 19:21 ` 2.6.10-mm1 Greg KH
2005-01-10 11:59 ` 2.6.10-mm1 David Howells

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=20050103132125.GA19379@infradead.org \
    --to=hch@infradead.org \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mst@mellanox.co.il \
    /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;
as well as URLs for NNTP newsgroup(s).