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 6d92b7e..0d2367f 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);