[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 00/32] Introduce flexible array struct memcpy() helpers
 
- To: Kees Cook <keescook@xxxxxxxxxxxx>
 
- From: David Howells <dhowells@xxxxxxxxxx>
 
- Date: Thu, 12 May 2022 22:47:31 +0100
 
- Authentication-results: relay.mimecast.com;	auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dhowells@xxxxxxxxxx
 
- Cc: Alexei Starovoitov <ast@xxxxxxxxxx>, alsa-devel@xxxxxxxxxxxxxxxx,    Al Viro <viro@xxxxxxxxxxxxxxxxxx>,    Andrew Gabbasov <andrew_gabbasov@xxxxxxxxxx>,    Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,    Andy Gross <agross@xxxxxxxxxx>, Andy Lavr <andy.lavr@xxxxxxxxx>,    Arend van Spriel <aspriel@xxxxxxxxx>,    Baowen Zheng <baowen.zheng@xxxxxxxxxxxx>,    Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>,    Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>,    Bradley Grove <linuxdrivers@xxxxxxxxxxxx>,    brcm80211-dev-list.pdl@xxxxxxxxxxxx,    Christian Brauner <brauner@xxxxxxxxxx>,    Christian Göttsche <cgzones@xxxxxxxxxxxxxx>,    Christian Lamparter <chunkeey@xxxxxxxxxxxxxx>,    Chris Zankel <chris@xxxxxxxxxx>, Cong Wang <cong.wang@xxxxxxxxxxxxx>,    Daniel Axtens <dja@xxxxxxxxxx>,    Daniel Vetter <daniel.vetter@xxxxxxxx>,    Dan Williams <dan.j.williams@xxxxxxxxx>,    David Gow <davidgow@xxxxxxxxxx>, David Howells <dhowells@xxxxxxxxxx>,    "David S. Miller" <davem@xxxxxxxxxxxxx>,    Dennis Dalessandro <dennis.dalessandro@xxxxxxxxxxxxxxxxxxxx>,    devicetree@xxxxxxxxxxxxxxx, Dexuan Cui <decui@xxxxxxxxxxxxx>,    Dmitry Kasatkin <dmitry.kasatkin@xxxxxxxxx>,    Eli Cohen <elic@xxxxxxxxxx>, Eric Dumazet <edumazet@xxxxxxxxxx>,    Eric Paris <eparis@xxxxxxxxxxxxxx>,    Eugeniu Rosca <erosca@xxxxxxxxxxxxxx>,    Felipe Balbi <balbi@xxxxxxxxxx>,    Francis Laniel <laniel_francis@xxxxxxxxxxxxxxxxxxx>,    Frank Rowand <frowand.list@xxxxxxxxx>,    Franky Lin <franky.lin@xxxxxxxxxxxx>,    Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>,    Gregory Greenman <gregory.greenman@xxxxxxxxx>,    Guenter Roeck <linux@xxxxxxxxxxxx>,    Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>,    Hante Meuleman <hante.meuleman@xxxxxxxxxxxx>,    Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>,    Hulk Robot <hulkci@xxxxxxxxxx>, Jakub Kicinski <kuba@xxxxxxxxxx>,    "James E.J. Bottomley" <jejb@xxxxxxxxxxxxx>,    James Morris <jmorris@xxxxxxxxx>,    Jarkko Sakkinen <jarkko@xxxxxxxxxx>,    Jaroslav Kysela <perex@xxxxxxxx>, Jason Gunthorpe <jgg@xxxxxxxx>,    Jens Axboe <axboe@xxxxxxxxx>,    Johan Hedberg <johan.hedberg@xxxxxxxxx>,    Johannes Berg <johannes.berg@xxxxxxxxx>,    Johannes Berg <johannes@xxxxxxxxxxxxxxxx>,    John Keeping <john@xxxxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>,    Kalle Valo <kvalo@xxxxxxxxxx>, Keith Packard <keithp@xxxxxxxxxx>,    keyrings@xxxxxxxxxxxxxxx, kunit-dev@xxxxxxxxxxxxxxxx,    Kuniyuki Iwashima <kuniyu@xxxxxxxxxxxx>,    "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx>,    Lars-Peter Clausen <lars@xxxxxxxxxx>,    Lee Jones <lee.jones@xxxxxxxxxx>, Leon Romanovsky <leon@xxxxxxxxxx>,    Liam Girdwood <lgirdwood@xxxxxxxxx>,    linux1394-devel@xxxxxxxxxxxxxxxxxxxxx, linux-afs@xxxxxxxxxxxxxxxxxxx,    linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,    linux-bluetooth@xxxxxxxxxxxxxxx, linux-hardening@xxxxxxxxxxxxxxx,    linux-hyperv@xxxxxxxxxxxxxxx, linux-integrity@xxxxxxxxxxxxxxx,    linux-rdma@xxxxxxxxxxxxxxx, linux-scsi@xxxxxxxxxxxxxxx,    linux-security-module@xxxxxxxxxxxxxxx, linux-usb@xxxxxxxxxxxxxxx,    linux-wireless@xxxxxxxxxxxxxxx, linux-xtensa@xxxxxxxxxxxxxxxx,    llvm@xxxxxxxxxxxxxxx, Loic Poulain <loic.poulain@xxxxxxxxxx>,    Louis Peens <louis.peens@xxxxxxxxxxxx>,    Luca Coelho <luciano.coelho@xxxxxxxxx>,    Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx>,    Marc Dionne <marc.dionne@xxxxxxxxxxxx>,    Marcel Holtmann <marcel@xxxxxxxxxxxx>,    Mark Brown <broonie@xxxxxxxxxx>,    "Martin K. Petersen" <martin.petersen@xxxxxxxxxx>,    Max Filippov <jcmvbkbc@xxxxxxxxx>, Mimi Zohar <zohar@xxxxxxxxxxxxx>,    Muchun Song <songmuchun@xxxxxxxxxxxxx>,    Nathan Chancellor <nathan@xxxxxxxxxx>, netdev@xxxxxxxxxxxxxxx,    Nick Desaulniers <ndesaulniers@xxxxxxxxxx>,    Nuno Sá <nuno.sa@xxxxxxxxxx>,    Paolo Abeni <pabeni@xxxxxxxxxx>, Paul Moore <paul@xxxxxxxxxxxxxx>,    Rich Felker <dalias@xxxxxxxxxx>, Rob Herring <robh+dt@xxxxxxxxxx>,    Russell King <linux@xxxxxxxxxxxxxxx>, selinux@xxxxxxxxxxxxxxx,    "Serge E. Hallyn" <serge@xxxxxxxxxx>,    SHA-cyfmac-dev-list@xxxxxxxxxxxx,    Simon Horman <simon.horman@xxxxxxxxxxxx>,    Stefano Stabellini <sstabellini@xxxxxxxxxx>,    Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx>,    Steffen Klassert <steffen.klassert@xxxxxxxxxxx>,    Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>,    Stephen Smalley <stephen.smalley.work@xxxxxxxxx>,    Tadeusz Struk <tadeusz.struk@xxxxxxxxxx>,    Takashi Iwai <tiwai@xxxxxxxx>, Tom Rix <trix@xxxxxxxxxx>,    Udipto Goswami <quic_ugoswami@xxxxxxxxxxx>,    Vincenzo Frascino <vincenzo.frascino@xxxxxxx>,    wcn36xx@xxxxxxxxxxxxxxxxxxx, Wei Liu <wei.liu@xxxxxxxxxx>,    xen-devel@xxxxxxxxxxxxxxxxxxxx,    Xiu Jianfeng <xiujianfeng@xxxxxxxxxx>,    Yang Yingliang <yangyingliang@xxxxxxxxxx>
 
- Delivery-date: Fri, 13 May 2022 05:34:26 +0000
 
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
 
 
 
Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> I'm happy to also point out that the conversions (patches 5+) are actually
> a net reduction in lines of code:
>  49 files changed, 154 insertions(+), 244 deletions(-)
That doesn't mean that it's actually code that's clearer to read.  I would say
that it's actually less clear.  In a bunch of places, you've done something
like:
-       e = kmalloc(...);
-       if (!e)
+       if (__mem_to_flex_dup(&e, ...))
The problem is that, to me at least, it looks like:
-       e = kmalloc(...);
-       if (kmalloc failed)
+       if (__mem_to_flex_dup(&e, ...) succeeded)
David
 
 
    
     |