Re: [PATCH 01/24] kobject: return actual error on kset_create_and_add

From: Greg KH
Date: Tue Jun 17 2014 - 15:22:33 EST


On Tue, Jun 17, 2014 at 08:50:30AM -0700, Greg KH wrote:
> On Tue, Jun 17, 2014 at 10:56:04PM +0800, Jeff Liu wrote:
> >
> > On 06/17/2014 22:42 PM, James Bottomley wrote:
> > > On Tue, 2014-06-17 at 22:25 +0800, Jeff Liu wrote:
> > >> From: Jie Liu <jeff.liu@xxxxxxxxxx>
> > >>
> > >> It's better to return the actual error rather than NULL because
> > >> kset_register() can failed due to other reasons.
> > >>
> > >> Cc: Christoph Lameter <cl@xxxxxxxxxxxxxxxxxxxx>
> > >> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> > >> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > >> Cc: Pekka Enberg <penberg@xxxxxxxxxx>
> > >> Cc: Matt Mackall <mpm@xxxxxxxxxxx>
> > >> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
> > >> Cc: Paul Mackerras <paulus@xxxxxxxxx>
> > >> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
> > >> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
> > >> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
> > >> Cc: David S. Miller <davem@xxxxxxxxxxxxx>
> > >> Cc: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx>
> > >> Cc: Joerg Roedel <joro@xxxxxxxxxx>
> > >> Cc: James E.J. Bottomley <JBottomley@xxxxxxxxxxxxx>
> > >> Cc: Helge Deller <deller@xxxxxx>
> > >> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> > >> Cc: Chris Mason <clm@xxxxxx>
> > >> Cc: Josef Bacik <jbacik@xxxxxx>
> > >> Cc: Steven Whitehouse <swhiteho@xxxxxxxxxx>
> > >> Cc: Boaz Harrosh <bharrosh@xxxxxxxxxxx>
> > >> Cc: Benny Halevy <bhalevy@xxxxxxxxxxxxxxx>
> > >> Cc: Christine Caulfield <ccaulfie@xxxxxxxxxx>
> > >> Cc: David Teigland <teigland@xxxxxxxxxx>
> > >> Cc: Theodore Ts'o <tytso@xxxxxxx>
> > >> Cc: Andreas Dilger <adilger.kernel@xxxxxxxxx>
> > >> Cc: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
> > >> Cc: Changman Lee <cm224.lee@xxxxxxxxxxx>
> > >> Cc: Mark Fasheh <mfasheh@xxxxxxxx>
> > >> Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
> > >> Cc: Casey Schaufler <casey@xxxxxxxxxxxxxxxx>
> > >> Signed-off-by: Jie Liu <jeff.liu@xxxxxxxxxx>
> > >> ---
> > >> lib/kobject.c | 4 ++--
> > >> 1 file changed, 2 insertions(+), 2 deletions(-)
> > >>
> > >> diff --git a/lib/kobject.c b/lib/kobject.c
> > >> index 58751bb..538c617 100644
> > >> --- a/lib/kobject.c
> > >> +++ b/lib/kobject.c
> > >> @@ -919,11 +919,11 @@ struct kset *kset_create_and_add(const char *name,
> > >>
> > >> kset = kset_create(name, uevent_ops, parent_kobj);
> > >> if (!kset)
> > >> - return NULL;
> > >> + return ERR_PTR(-ENOMEM);
> > >> error = kset_register(kset);
> > >> if (error) {
> > >> kfree(kset);
> > >> - return NULL;
> > >> + return ERR_PTR(error);
> > >> }
> > >> return kset;
> > >> }
> > >
> > > This patch series isn't bisectable. When changing an error signal from
> > > NULL to non-NULL, you have to do it as one patch, otherwise if a
> > > bisection lands in here we'll get error returns from all our kobject
> > > kset code and the kernel won't boot.
> >
> > Thanks for pointing this out.
> >
> > > It's fine if you're sending it out as 24 patches for review, but it has
> > > to be applied as a single one.
> >
> > Ok, I'll post the v2 patch as a single one once this series has been reviewed.
>
> Also, now that you sent a bunch of different patches out, some
> maintainers will not realize that this first one has to be applied (i.e.
> you gave them no sense that there was a dependancy.)
>
> You will have to watch very carefully to ensure that those patches do
> not now get accepted, as they will break the existing code.

I've emailed a few responses to the patches that I could find, but
please follow-up and email everyone to not apply the patches as
responses to those patches so that everyone is properly notified.

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/