From db8d757d6ee12397cc54df29e4b571a436240b52 Mon Sep 17 00:00:00 2001 From: Tim Bird Date: Tue, 7 Feb 2012 18:34:28 -0800 Subject: [PATCH] --- yaml --- r: 288919 b: refs/heads/master c: 350a1955957d73352c043d0f948e3f28bb118c57 h: refs/heads/master i: 288917: 689268835d8675d30ef00fe9b2a6ee0fa91ad2e5 288915: 81912960491ddebececf49d2768acbb323cd2629 288911: 10b753f0c19bc8b0b5762ffb50edad0075323aa2 v: v3 --- [refs] | 2 +- trunk/drivers/staging/android/logger.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 16787dca0f1e..47acd240dedc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 169c843afffcb328390ef39ff95227596d6f63c4 +refs/heads/master: 350a1955957d73352c043d0f948e3f28bb118c57 diff --git a/trunk/drivers/staging/android/logger.c b/trunk/drivers/staging/android/logger.c index 6d92b7ef0a55..0d2367f2c15f 100644 --- a/trunk/drivers/staging/android/logger.c +++ b/trunk/drivers/staging/android/logger.c @@ -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);