Re: [BUG, PATCH 03/10] sysfs: added __compat_only_sysfs_link_entry_to_kobj()

From: Jeremiah Mahler
Date: Sat Nov 07 2015 - 13:09:11 EST


Jarkko,

On Sat, Nov 07, 2015 at 01:41:37PM +0200, Jarkko Sakkinen wrote:
> On Sat, Nov 07, 2015 at 12:55:43PM +0200, Jarkko Sakkinen wrote:
> > On Fri, Nov 06, 2015 at 06:55:18PM -0800, Jeremiah Mahler wrote:
> > > Jarkko,
> > >
[...]
> > > > + entry = kernfs_find_and_get(target_kobj->sd, target_name);
> > > > + if (!entry) {
> > > > + kernfs_put(target);
> > > > + return -ENOENT;
> > > > + }
> > > > +
> > >
> > > On an Acer C720 this call to kernfs_find_and_get fails resulting in
> > > a failed resume after suspend.
> > >
> > > Apparently it can't find an object for the name "ppi".
> > >
> > > This bug does not appear until the next patch is applied which
> > > calls __compat_only_sysfs_link_entry_to_kobj.
> >
> > I think I might have found something thanks to your help
> >
> > First I found this old bug:
> >
> > https://bugzilla.redhat.com/show_bug.cgi?id=1096511
> >
> > What is happening is that DSM is not found and therefore tpm_add_ppi()
> > does not add ppi to sysfs groups array.
> >
> > __compat_only_sysfs_link_entry_to_kobj() is called after tpm_add_ppi
> > unconditionally for TPM1.
> >
> > I'll implement a fix for this ASAP.
> >
> > Thank you for great effort on finding tis!
>
> I pushed a fix over here:
>
> https://github.com/jsakkine/linux-tpmdd/tree/fixes
>
This fix does work since it effectively avoids the call to
__compat_only_sysfs_link_entry_to_kobj().

Have you tested cases where __compat_only_sysfs_link_entry_to_kobj()
is actually used?

[...]

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