public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] rework bitmap_parselist
@ 2018-12-23  9:44 Yuri Norov
  2018-12-23  9:44 ` [PATCH 1/4] bitmap_parselist: don't calculate length of the input string Yuri Norov
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Yuri Norov @ 2018-12-23  9:44 UTC (permalink / raw)
  To: Andrew Morton, Andy Shevchenko, Rasmus Villemoes, Arnd Bergmann,
	Kees Cook, Matthew Wilcox, Tetsuo Handa
  Cc: Yuri Norov, linux-kernel@vger.kernel.org

bitmap_parselist evolved from a pretty simple idea for long and now lacks
for refactoring. It is not structured, has nested loops and a set of
opaque-named variables. All this leads to extremely hard understanding
of the code. Once during the optimization of it I missed a scenario which
leads to kernel hangup. Tetsuo Handa spotted this and found it simpler to
rewrite the code instead fixing it. (Though, that attempt had some flaws.)
https://lkml.org/lkml/2018/4/1/93

Things are more complicated than they may be because bitmap_parselist()
is part of user interface, and its behavior should not change.

In this patchset __bitmap_parselist() is split to a set of smaller
functions doing only one thing.

Yury Norov (4):
  bitmap_parselist: don't calculate length of the input string
  bitmap_parselist: move part of logic to helpers
  bitmap_parselist: rework input string parser
  test_bitmap: add testcases for bitmap_parselist

 lib/bitmap.c      | 294 ++++++++++++++++++++++++++++++----------------
 lib/test_bitmap.c |  18 ++-
 2 files changed, 208 insertions(+), 104 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-01-09 17:16 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-23  9:44 [PATCH 0/4] rework bitmap_parselist Yuri Norov
2018-12-23  9:44 ` [PATCH 1/4] bitmap_parselist: don't calculate length of the input string Yuri Norov
2018-12-23  9:44 ` [PATCH 2/4] bitmap_parselist: move part of logic to helpers Yuri Norov
2018-12-23  9:44 ` [PATCH 3/4] bitmap_parselist: rework input string parser Yuri Norov
2018-12-23 13:02   ` kbuild test robot
2019-01-09 16:01   ` Andy Shevchenko
2019-01-09 17:16     ` Yuri Norov
2018-12-23  9:45 ` [PATCH 4/4] test_bitmap: add testcases for bitmap_parselist Yuri Norov
2018-12-23 12:41   ` kbuild test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox