Re: [PATCH 1/2] Staging: android: binder: Fix memory leak onthread/process exit

From: Greg KH
Date: Mon Oct 22 2012 - 23:11:44 EST


On Mon, Oct 22, 2012 at 05:58:08PM -0700, Arve Hj?nnev?g wrote:
> On Mon, Oct 22, 2012 at 1:00 PM, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> > On Tue, Oct 16, 2012 at 03:45:20PM -0700, Arve Hj?nnev?g wrote:
> >> On Tue, Oct 16, 2012 at 12:11 AM, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> >> > On Mon, Oct 15, 2012 at 05:32:41PM -0700, Arve Hj?nnev?g wrote:
> >> >> If a thread or process exited while a reply, one-way transaction or
> >> >> death notification was pending, the struct holding the pending work
> >> >> was leaked.
> >> >>
> >> >> Change-Id: I2eaafaba1c0ecda3ec0872d449dc16d0721c21e7
> >> >
> >> > What is this field? Please don't include this in kernel patches, it
> >> > forces me to edit the patch by hand :(
> >> >
> >>
> >> It is a tag generated a git hook to uniquely identify a change through
> >> multiple revisions of that change. If the tag does not already exist
> >> the hook adds it. I removed it from the reposted patches as you
> >> requested, but have you considered leaving it in? It is a useful
> >> search token both for finding different revisions of a patch and for
> >> finding which branch a change has been cherry-picked into.
> >
> > Sorry, I was being facetious, I knew what it really was, but the point
> > was, why would I?
> >
>
> So you can use it. If, for instance, you want to see which branches
> you cherry-picked this change into you can run "git rev-list --all
> --grep I2eaafaba1c0ecda3ec0872d449dc16d0721c21e7 | xargs -rl git
> branch -a --contains". If it was more widely used, it would also be
> useful for finding mailing list discussion of multiple versions of
> patches (even when the title of the patch changes).

Yes, if you want a unique identifier for a patch in order to try to
track it through trees, you can do something like that (hint, see Alan
Stern's patches, he has his own identifier for that.) But don't use the
gerrit id for this, it's not useful and it is confusing. We have
discussed this in the past, see the lkml archives for details.

> > As has been stated before, you can include information like this in your
> > patch, but you MUST reference it properly so that others can be able to
> > figure out what you mean. A random Change-Id value means nothing given
> > that lots of different groups use gerrit. You need a url, or a pointer
> > to which gerrit instance this refers to before you can include it.
> >
>
> There is no single url. The tag was generated by a local git hook
> before it was uploaded anywhere. While gerrit looks for this tag and
> use it when it is there, the same change can be uploaded to different
> gerrit instances. While it would be useful to also include urls to the
> gerrit instance(s) that a patch was discussed on, the Change-Id is
> useful by itself.
>
> > Same goes for bugzilla entries, if you look in the kernel changelog, we
> > reference lots of different ones, but we use urls to determine which one
> > we are talking about (suse, red hat, kernel.org, etc.)
> >
>
> Those IDs appear to be local to a specific server, so the id without
> the url would not be very useful.

Ok, then I don't recommend it be used at all, as we have a unique
identifier, the git commit id in Linus's tree. That id does follow the
patch around if it goes into any stable kernel tree, so let's stick with
it.

thanks,

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/