[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1446136250-11507-1-git-send-email-vkuznets@redhat.com>
Date: Thu, 29 Oct 2015 17:30:46 +0100
From: Vitaly Kuznetsov <vkuznets@...hat.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Rasmus Villemoes <linux@...musvillemoes.dk>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Ulf Hansson <ulf.hansson@...aro.org>,
James Bottomley <JBottomley@...n.com>,
Kees Cook <keescook@...omium.org>, linux-kernel@...r.kernel.org
Subject: [PATCH v3 0/4] lib/string_helpers: fix precision issues and introduce tests
Linux always lies about your storage size when it has 4k sectors and its
size is big enough. E.g. a device with 8192 4k sectors will be reported as
"32.7 MB/32 MiB" while "33.5 MB/32 MiB" is expected. This series is
supposed to fix the issue by fixing calculation precision in
string_get_size() for all possible inputs.
PATCH 1/4 is a preparatory change, PATCH 2/4 adds additional protection
against blk_size=0 (nobody is supposed to call string_get_size() with
with blk_size=0, but better safe than sorry), PATCH 3/4 re-factors
string_get_size() fixing the issue, PATCH 4/4 introduces tests for
string_get_size().
PATCH 4/4 was previously sent as part of "lib/string_helpers.c: fix
infinite loop in string_get_size()" series but it is still not merged
upstream. In this submission I improve it and add additional tests to it.
Changes since v2:
- Separate blk_size check from Patch 3/4 to new Patch 2/4 [Andy Shevchenko]
- Slightly change the algorithm in Patch 3/4 [Rasmus Villemoes]
Vitaly Kuznetsov (4):
lib/string_helpers: change blk_size to u32 for string_get_size()
interface
lib/string_helpers.c: protect string_get_size() against blk_size=0
lib/string_helpers.c: don't lose precision in string_get_size()
lib/test-string_helpers.c: add string_get_size() tests
include/linux/string_helpers.h | 2 +-
lib/string_helpers.c | 38 ++++++++++++++-------------
lib/test-string_helpers.c | 58 ++++++++++++++++++++++++++++++++++++++++++
3 files changed, 79 insertions(+), 19 deletions(-)
--
2.4.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists