From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Fengguang Wu <fengguang.wu@intel.com>, David Airlie <airlied@linux.ie>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
xen-devel@lists.xenproject.org,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: [xen] double fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
Date: Tue, 8 Oct 2013 09:06:25 +0100 [thread overview]
Message-ID: <20131008080625.GA25034@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20131008021452.GA6456@localhost>
On Tue, Oct 08, 2013 at 10:14:52AM +0800, Fengguang Wu wrote:
> [ 2.785188] kobject: 'drm' (ffff880006dae048): kobject_release, parent ffff880000189648 (delayed)
> [ 2.787362] kobject: 'drm' (ffff880006dafe00): kobject_release, parent (null) (delayed)
> [ 2.789674] [drm] radeon kernel modesetting enabled.
> [ 2.791798] [drm:drm_proc_init] *ERROR* Cannot create /proc/dri/0
> [ 2.793280] [drm:drm_get_minor] *ERROR* DRM: Failed to initialize /proc/dri.
> [ 2.795591] kobject: 'controlD64' (ffff880006dc3820): kobject_release, parent (null) (delayed)
> [ 2.797988] cirrus: probe of 0000:00:02.0 failed with error -1
> [ 2.799675] usbcore: registered new interface driver udl
> [ 2.802167] parport_pc 00:04: reported by Plug and Play ACPI
> [ 2.803818] parport0: PC-style at 0x378, irq 7 [PCSPP(,...)]
> [ 2.806035] kobject: 'parport_pc.956' (ffff880006dc3820): kobject_release, parent (null) (delayed)
Look very carefully at the above addresses of the controlD64 object and
the parport_pc.956 object. They're both the same - and the first hasn't
been run yet. It's a double addition because the culpret is not parport_pc,
but is controlD64 instead.
And here we have it:
int drm_put_minor(struct drm_minor **minor_p)
{
...
drm_sysfs_device_remove(minor);
...
kfree(minor);
}
void drm_sysfs_device_remove(struct drm_minor *minor)
{
if (minor->kdev.parent)
device_unregister(&minor->kdev);
minor->kdev.parent = NULL;
}
I think David Arlie also needs a quiet talking to about how to use the
device model:
int drm_sysfs_device_add(struct drm_minor *minor)
{
minor->kdev.release = drm_sysfs_device_release;
...
err = device_register(&minor->kdev);
}
static void drm_sysfs_device_release(struct device *dev)
{
memset(dev, 0, sizeof(struct device));
return;
}
Since when has that been acceptable in a release function?
next prev parent reply other threads:[~2013-10-08 8:06 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-06 8:23 [xen] double fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC Fengguang Wu
2013-10-06 17:26 ` Linus Torvalds
2013-10-07 2:11 ` Fengguang Wu
2013-10-07 5:10 ` Fengguang Wu
2013-10-07 8:12 ` Linus Torvalds
[not found] ` <20131007083505.GA22585@localhost>
2013-10-07 22:14 ` Linus Torvalds
2013-10-07 22:29 ` Russell King - ARM Linux
2013-10-07 23:33 ` Russell King - ARM Linux
2013-10-07 23:47 ` Linus Torvalds
2013-10-08 2:09 ` Fengguang Wu
2013-10-08 2:14 ` Fengguang Wu
2013-10-08 2:36 ` Fengguang Wu
2013-10-08 3:07 ` Linus Torvalds
2013-10-08 2:51 ` Linus Torvalds
2013-10-08 3:11 ` Fengguang Wu
2013-10-08 3:29 ` Linus Torvalds
2013-10-08 3:35 ` Fengguang Wu
2013-10-08 4:35 ` [DRM_CURRUS_QEMU/timer] WARNING: CPU: 0 PID: 1 at debug_print_object() Fengguang Wu
2013-10-08 12:17 ` [xen] double fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC Fengguang Wu
2013-10-08 22:14 ` Russell King - ARM Linux
2013-10-08 22:48 ` Greg Kroah-Hartman
2013-10-09 0:45 ` Linus Torvalds
2013-10-09 1:18 ` Dave Jones
2013-10-09 1:26 ` [PATCH] kobject: show debug info on delayed kobject release Fengguang Wu
2013-10-09 14:47 ` Russell King - ARM Linux
2013-10-09 14:12 ` [xen] double fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC Josh Boyer
2013-10-09 0:46 ` Fengguang Wu
2013-10-08 8:06 ` Russell King - ARM Linux [this message]
2013-10-10 2:23 ` Dave Airlie
2013-10-10 2:38 ` Linus Torvalds
2013-10-10 9:19 ` Russell King - ARM Linux
2013-10-10 10:53 ` Russell King - ARM Linux
2013-10-11 3:55 ` Dave Airlie
2013-10-11 4:28 ` Dave Airlie
2013-10-11 5:14 ` Fengguang Wu
2013-10-23 11:20 ` Xiong Zhou
2013-10-08 2:43 ` Linus Torvalds
2013-10-08 7:58 ` Ingo Molnar
2013-10-08 8:20 ` Fengguang Wu
2013-10-08 8:26 ` Ingo Molnar
2013-10-08 9:34 ` Ingo Molnar
-- strict thread matches above, loose matches on Subject: below --
2013-10-06 22:14 Boris Ostrovsky
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=20131008080625.GA25034@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=airlied@linux.ie \
--cc=fengguang.wu@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=xen-devel@lists.xenproject.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;
as well as URLs for NNTP newsgroup(s).