Re: [PATCH][next] bcache: Use struct_size() in kzalloc()

Joe Perches
2020-06-18T05:42:53Z

On Thu, 2020-06-18 at 13:38 +0800, Coly Li wrote:
> On 2020/6/18 06:27, Gustavo A. R. Silva wrote:
> > Make use of the struct_size() helper instead of an open-coded version
> > in order to avoid any potential type mistakes.
[]
> > diff --git a/drivers/md/bcache/writeback.c b/drivers/md/bcache/writeback.c
[]
> > - io = kzalloc(sizeof(struct dirty_io) +
> > - sizeof(struct bio_vec) *
> > - DIV_ROUND_UP(KEY_SIZE(&w->key),
> > - PAGE_SECTORS),
> > + io = kzalloc(struct_size(io, bio.bi_inline_vecs,
> ^^^^^^^^^^^^^^^^^^
> I like this :-)
>
> > + DIV_ROUND_UP(KEY_SIZE(&w->key), PAGE_SECTORS)),
>
> The above line seems too long for 80 characters limitation. Does
> checkpatch.pl complain for this ?

No. checkpatch has changed:

From bdc48fa11e46f867ea4d75fa59ee87a7f48be144 Mon Sep 17 00:00:00 2001
From: Joe Perches <joe@perches.com>
Date: Fri, 29 May 2020 16:12:21 -0700
Subject: [PATCH] checkpatch/coding-style: deprecate 80-column warning

Yes, staying withing 80 columns is certainly still _preferred_. But
it's not the hard limit that the checkpatch warnings imply, and other
concerns can most certainly dominate.

Increase the default limit to 100 characters. Not because 100
characters is some hard limit either, but that's certainly a "what are
you doing" kind of value and less likely to be about the occasional
slightly longer lines.

Miscellanea:

- to avoid unnecessary whitespace changes in files, checkpatch will no
longer emit a warning about line length when scanning files unless
--strict is also used

- Add a bit to coding-style about alignment to open parenthesis

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
>