From: Dan Carpenter <dan.carpenter@oracle.com>
To: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>,
Mauro Carvalho Chehab <mchehab+samsung@kernel.org>,
ksummit <ksummit-discuss@lists.linuxfoundation.org>
Subject: Re: [Ksummit-discuss] [MAINTAINERS SUMMIT] Pull network and Patch Acceptance Consistency
Date: Fri, 14 Jun 2019 12:08:44 +0300 [thread overview]
Message-ID: <20190614090807.GJ1893@kadam> (raw)
In-Reply-To: <yq18su51q92.fsf@oracle.com>
On Thu, Jun 13, 2019 at 11:03:53AM -0400, Martin K. Petersen wrote:
>
> James,
>
> > It depends: every patch you do to an old driver comes with a risk of
> > breakage. What we've found is even apparently sane patches cause
> > breakage which isn't discovered until months later when someone with
> > the hardware actually tests.
>
> My pet peeve is with the constant stream of seemingly innocuous
> helper-interface-of-the-week changes. Such as "Use kzfoobar() instead of
> kfoobar() + memset()". And then a year later somebody decides kzfoobar()
> had a subtle adverse side-effect and now we all need to switch to
> kpzfoobar().
>
> I appreciate that some of these helpers may have merit in terms of
> facilitating static code checkers, etc. But other than that, I really
> fail to see the value of this constant churn.
>
> The devil is always in the details. It's almost inevitably these obvious
> five-liners that cause regressions down the line.
>
> So why do we keep doing this?
>
You haven't provided any specifics so it's hard to discuss this... The
only example I can think of are the memdup_user() conversions where
the function uses "goto out;" error handling.
out:
kfree(ptr);
return ret;
The problem is that in the original code if kmalloc() fails and we goto
out then kfree(NULL) is a no-op but in the new code if memdup_user()
fails "ptr" is an error pointer and kfree(ERR_PTR(-EFAULT)) is an Oops.
As a reviewer, any time I see a "goto out;" that raises a red flag for
me because this style of error handling tends to be more buggy. Choose
a better label name and don't free stuff that wasn't allocated.
The good news is that static analysis will find these bugs so it's
probably been a couple years since one of these have made it to a
released kernel.
regards,
dan carpenter
next prev parent reply other threads:[~2019-06-14 9:09 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-06 15:48 [Ksummit-discuss] [MAINTAINERS SUMMIT] Pull network and Patch Acceptance Consistency James Bottomley
2019-06-06 15:58 ` Greg KH
2019-06-06 16:24 ` James Bottomley
2019-06-13 13:59 ` Mauro Carvalho Chehab
2019-06-14 10:12 ` Laurent Pinchart
2019-06-14 13:24 ` Mauro Carvalho Chehab
2019-06-14 13:31 ` Laurent Pinchart
2019-06-14 13:54 ` Mauro Carvalho Chehab
2019-06-14 14:08 ` Laurent Pinchart
2019-06-14 14:56 ` Mark Brown
2019-06-14 13:58 ` Greg KH
2019-06-14 15:11 ` Mauro Carvalho Chehab
2019-06-14 15:23 ` James Bottomley
2019-06-14 15:43 ` Mauro Carvalho Chehab
2019-06-14 15:49 ` James Bottomley
2019-06-14 16:04 ` Mauro Carvalho Chehab
2019-06-14 16:16 ` James Bottomley
2019-06-14 17:48 ` Mauro Carvalho Chehab
2019-06-17 7:01 ` Geert Uytterhoeven
2019-06-17 13:31 ` Mauro Carvalho Chehab
2019-06-17 14:26 ` Takashi Iwai
2019-06-19 7:53 ` Dan Carpenter
2019-06-19 8:13 ` [Ksummit-discuss] [kbuild] " Philip Li
2019-06-19 8:33 ` [Ksummit-discuss] " Daniel Vetter
2019-06-19 14:39 ` Mauro Carvalho Chehab
2019-06-19 14:48 ` [Ksummit-discuss] [media-submaintainers] " Laurent Pinchart
2019-06-19 15:19 ` Mauro Carvalho Chehab
2019-06-19 15:46 ` James Bottomley
2019-06-19 16:23 ` Mark Brown
2019-06-20 12:24 ` Geert Uytterhoeven
2019-06-20 10:36 ` Jani Nikula
2019-06-19 15:56 ` Mark Brown
2019-06-19 16:09 ` Laurent Pinchart
2019-06-15 10:55 ` [Ksummit-discuss] " Daniel Vetter
2019-06-14 20:52 ` Vlastimil Babka
2019-06-15 11:01 ` Laurent Pinchart
2019-06-17 11:03 ` Mauro Carvalho Chehab
2019-06-17 12:28 ` Mark Brown
2019-06-17 16:48 ` Tim.Bird
2019-06-17 17:23 ` Geert Uytterhoeven
2019-06-17 23:13 ` Mauro Carvalho Chehab
2019-06-17 14:18 ` Laurent Pinchart
2019-06-06 16:29 ` James Bottomley
2019-06-06 18:26 ` Dan Williams
2019-06-07 20:14 ` Martin K. Petersen
2019-06-13 13:49 ` Mauro Carvalho Chehab
2019-06-13 14:35 ` James Bottomley
2019-06-13 15:03 ` Martin K. Petersen
2019-06-13 15:21 ` Bart Van Assche
2019-06-13 15:27 ` James Bottomley
2019-06-13 15:35 ` Guenter Roeck
2019-06-13 15:39 ` Bart Van Assche
2019-06-14 11:53 ` Leon Romanovsky
2019-06-14 17:06 ` Bart Van Assche
2019-06-15 7:20 ` Leon Romanovsky
2019-06-13 15:39 ` James Bottomley
2019-06-13 15:42 ` Takashi Iwai
2019-06-13 19:28 ` James Bottomley
2019-06-14 9:08 ` Dan Carpenter [this message]
2019-06-14 9:43 ` Dan Carpenter
2019-06-14 13:27 ` Dan Carpenter
2019-06-13 17:27 ` Mauro Carvalho Chehab
2019-06-13 18:41 ` James Bottomley
2019-06-13 19:11 ` Mauro Carvalho Chehab
2019-06-13 19:20 ` Joe Perches
2019-06-14 2:21 ` Mauro Carvalho Chehab
2019-06-13 19:57 ` Martin K. Petersen
2019-06-13 14:53 ` Martin K. Petersen
2019-06-13 17:09 ` Mauro Carvalho Chehab
2019-06-14 3:03 ` Martin K. Petersen
2019-06-14 3:35 ` Mauro Carvalho Chehab
2019-06-14 7:31 ` Joe Perches
2019-06-13 13:28 ` Mauro Carvalho Chehab
2019-06-06 16:18 ` Bart Van Assche
2019-06-14 19:53 ` Bjorn Helgaas
2019-06-14 23:21 ` Bjorn Helgaas
2019-06-17 10:35 ` Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190614090807.GJ1893@kadam \
--to=dan.carpenter@oracle.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=ksummit-discuss@lists.linuxfoundation.org \
--cc=martin.petersen@oracle.com \
--cc=mchehab+samsung@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox