]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
staging: android: logger: clarify non-update of w_off in do_write_log_from_user
authorTim Bird <tim.bird@am.sony.com>
Wed, 8 Feb 2012 02:34:28 +0000 (18:34 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Feb 2012 00:52:45 +0000 (16:52 -0800)
Add comment to explain when w_off is not updated in case of failed second
fragment copy to buffer.

Signed-off-by: Tim Bird <tim.bird@am.sony.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/android/logger.c

index 6d92b7ef0a550fc2f10b1fa5c54c772ee81d6b15..0d2367f2c15f5eb30bfedc64deaaf7ad6eebc228 100644 (file)
@@ -330,6 +330,12 @@ static ssize_t do_write_log_from_user(struct logger_log *log,
 
        if (count != len)
                if (copy_from_user(log->buffer, buf + len, count - len))
+                       /*
+                        * Note that by not updating w_off, this abandons the
+                        * portion of the new entry that *was* successfully
+                        * copied, just above.  This is intentional to avoid
+                        * message corruption from missing fragments.
+                        */
                        return -EFAULT;
 
        log->w_off = logger_offset(log, log->w_off + count);