Re: 2.6.34-rc2: "ima_dec_counts: open/free imbalance"?

From: Mimi Zohar
Date: Mon Apr 12 2010 - 07:27:15 EST


On Thu, 2010-04-01 at 20:17 +0200, Thomas Meyer wrote:
> Am 01.04.2010 um 04:41 schrieb Eric Paris <eparis@xxxxxxxxxx>:
>
> > On Wed, 2010-03-31 at 16:32 -0700, Andrew Morton wrote:
> >> On Sun, 28 Mar 2010 13:31:49 +0200
> >> Thomas Meyer <thomas@xxxxxxxx> wrote:
> >>
> >>> This warning/error/notice is new in 2.6.34-rc2+:
> >>
> >> Let's add some cc's. It might be a DRM bug.
> >>
> >> I'll ask Rafael and Maciej to track this as a post-2.6.33 regression,
> >> thanks.
> >
> > The IMA code hasn't changed since .33 so my guess is something new the
> > drm code is doing with obj->filp.
> >
> > Thomas, any idea what the newest kernel was that didn't show you this
> > problem?
>
> I first saw this message in 2.6.34-rc2 (+free_init_pages patch), but
> that was also the first bootable kernel for me as I was hit by the
> NO_BOOTMEM bug...
>
> > It might help cut down my search in the morning....
> >
> > -Eric
> >

The call to shmem_file_setup() in drm_gem_object_alloc() should properly
increment the IMA counters and the fput() in
drm_gem_object_free_common() should decrement them.

I noticed the 'bump' comment in 'include/drm/drmP.h' doesn't match the
code, but in fact does the exact opposite. Not sure if this is related.

static inline void
drm_gem_object_handle_unreference(struct drm_gem_object *obj)
{
if (obj == NULL)
return;

/*
* Must bump handle count first as this may be the last
* ref, in which case the object would disappear before we
* checked for a name
*/
kref_put(&obj->handlecount, drm_gem_object_handle_free);
drm_gem_object_unreference(obj);
}

Mimi

--
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/