The patch titled
     revoke: fix zero-length kmalloc
has been added to the -mm tree.  Its filename is
     revoke-core-code-fix-zero-length-kmalloc.patch

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: revoke: fix zero-length kmalloc
From: Pekka Enberg <[EMAIL PROTECTED]>

Fix a zero-length kmalloc in the case where there is nothing to revoke.

Signed-off-by: Pekka Enberg <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 fs/revoke.c |   21 +++++++++------------
 1 files changed, 9 insertions(+), 12 deletions(-)

diff -puN fs/revoke.c~revoke-core-code-fix-zero-length-kmalloc fs/revoke.c
--- a/fs/revoke.c~revoke-core-code-fix-zero-length-kmalloc
+++ a/fs/revoke.c
@@ -547,22 +547,12 @@ static struct fileset *__alloc_revoke_fs
        return NULL;
 }
 
-static struct fileset *alloc_revoke_fset(struct inode *inode, struct file 
*to_exclude)
-{
-       unsigned long nr_fds;
-
-       read_lock(&tasklist_lock);
-       nr_fds = inode_fds(inode, to_exclude);
-       read_unlock(&tasklist_lock);
-
-       return __alloc_revoke_fset(nr_fds);
-}
-
 static int do_revoke(struct inode *inode, struct file *to_exclude)
 {
        struct revoke_details details;
        struct fileset *fset = NULL;
        struct task_struct *g, *p;
+       unsigned long nr_fds;
        int err = 0;
 
        if (current->fsuid != inode->i_uid && !capable(CAP_FOWNER)) {
@@ -576,11 +566,18 @@ static int do_revoke(struct inode *inode
                goto out;
        }
 
+       read_lock(&tasklist_lock);
+       nr_fds = inode_fds(inode, to_exclude);
+       read_unlock(&tasklist_lock);
+
+       if (!nr_fds)
+               goto out;
+
        /*
         * Pre-allocate memory because the first pass is done under
         * tasklist_lock.
         */
-       fset = alloc_revoke_fset(inode, to_exclude);
+       fset = __alloc_revoke_fset(nr_fds);
        if (!fset) {
                err = -ENOMEM;
                goto out;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
git-unionfs.patch
make-proc-slabinfo-use-seq_list_xxx-helpers.patch
remove-the-deprecated-kmem_cache_t-typedef-from-slabh.patch
slub-use-ilog2-instead-of-series-of-constant-comparisons.patch
revoke-special-mmap-handling.patch
revoke-special-mmap-handling-vs-fault-vs-invalidate.patch
revoke-core-code.patch
revoke-core-code-fix-zero-length-kmalloc.patch
revoke-support-for-ext2-and-ext3.patch
revoke-add-documentation.patch
revoke-wire-up-i386-system-calls.patch
slab-leaks3-default-y.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to