This patch removes dead code spotted by the Coverity checker
(look at the "(nbytes >= PATH_MAX)" check).

Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>

---

 kernel/cgroup.c |   18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

--- linux-2.6/kernel/cgroup.c.old       2007-10-23 18:37:43.000000000 +0200
+++ linux-2.6/kernel/cgroup.c   2007-10-23 18:39:15.000000000 +0200
@@ -1320,90 +1320,88 @@ static ssize_t cgroup_common_file_write(
 
        if (nbytes >= PATH_MAX)
                return -E2BIG;
 
        /* +1 for nul-terminator */
        buffer = kmalloc(nbytes + 1, GFP_KERNEL);
        if (buffer == NULL)
                return -ENOMEM;
 
        if (copy_from_user(buffer, userbuf, nbytes)) {
                retval = -EFAULT;
                goto out1;
        }
        buffer[nbytes] = 0;     /* nul-terminate */
 
        mutex_lock(&cgroup_mutex);
 
        if (cgroup_is_removed(cgrp)) {
                retval = -ENODEV;
                goto out2;
        }
 
        switch (type) {
        case FILE_TASKLIST:
                retval = attach_task_by_pid(cgrp, buffer);
                break;
        case FILE_NOTIFY_ON_RELEASE:
                clear_bit(CGRP_RELEASABLE, &cgrp->flags);
                if (simple_strtoul(buffer, NULL, 10) != 0)
                        set_bit(CGRP_NOTIFY_ON_RELEASE, &cgrp->flags);
                else
                        clear_bit(CGRP_NOTIFY_ON_RELEASE, &cgrp->flags);
                break;
        case FILE_RELEASE_AGENT:
        {
                struct cgroupfs_root *root = cgrp->root;
                /* Strip trailing newline */
                if (nbytes && (buffer[nbytes-1] == '\n')) {
                        buffer[nbytes-1] = 0;
                }
-               if (nbytes < sizeof(root->release_agent_path)) {
-                       /* We never write anything other than '\0'
-                        * into the last char of release_agent_path,
-                        * so it always remains a NUL-terminated
-                        * string */
-                       strncpy(root->release_agent_path, buffer, nbytes);
-                       root->release_agent_path[nbytes] = 0;
-               } else {
-                       retval = -ENOSPC;
-               }
+
+               /* We never write anything other than '\0'
+                * into the last char of release_agent_path,
+                * so it always remains a NUL-terminated
+                * string */
+               strncpy(root->release_agent_path, buffer, nbytes);
+               root->release_agent_path[nbytes] = 0;
+
                break;
        }
        default:
                retval = -EINVAL;
                goto out2;
        }
 
        if (retval == 0)
                retval = nbytes;
 out2:
        mutex_unlock(&cgroup_mutex);
 out1:
        kfree(buffer);
        return retval;
 }
 
 static ssize_t cgroup_file_write(struct file *file, const char __user *buf,
                                                size_t nbytes, loff_t *ppos)
 {
        struct cftype *cft = __d_cft(file->f_dentry);
        struct cgroup *cgrp = __d_cgrp(file->f_dentry->d_parent);
 
        if (!cft)
                return -ENODEV;
        if (cft->write)
                return cft->write(cgrp, cft, file, buf, nbytes, ppos);
        if (cft->write_uint)
                return cgroup_write_uint(cgrp, cft, file, buf, nbytes, ppos);
        return -EINVAL;
 }
 
 static ssize_t cgroup_read_uint(struct cgroup *cgrp, struct cftype *cft,
                                   struct file *file,
                                   char __user *buf, size_t nbytes,
                                   loff_t *ppos)
 {
        char tmp[64];
        u64 val = cft->read_uint(cgrp, cft);
        int len = sprintf(tmp, "%llu\n", (unsigned long long) val);
 

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to