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 *);
next prev parent 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).