linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "Knut Petersen" <Knut_Petersen@t-online.de>,
	"Ingo Molnar" <mingo@kernel.org>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Paul McKenney" <paulmck@linux.vnet.ibm.com>,
	"Frédéric Weisbecker" <fweisbec@gmail.com>,
	"Viresh Kumar" <viresh.kumar@linaro.org>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Greg KH" <greg@kroah.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	cpufreq@vger.kernel.org,
	"Linux PM list" <linux-pm@vger.kernel.org>
Subject: Re: [BUG 3.12.rc4] Oops: unable to handle kernel paging request during shutdown
Date: Fri, 25 Oct 2013 11:51:40 +0200	[thread overview]
Message-ID: <1483174.NsuFf8aJk6@vostro.rjw.lan> (raw)
In-Reply-To: <2582195.phiuskXt0x@vostro.rjw.lan>

On Friday, October 25, 2013 11:28:02 AM Rafael J. Wysocki wrote:
> On Friday, October 25, 2013 10:02:22 AM Linus Torvalds wrote:
> > Adding more people, so quoting the whole email for them.
> > 
> > We definitely have some module unload issues. Guys, try the following
> > a few times to unload modules:
> > 
> >     lsmod | grep ' 0 '| cut -d' ' -f1 | xargs sudo rmmod
> > 
> > (a few times because unloading one module will then potentially make
> > other modules unloadable).
> > 
> > On my machine, I can trigger this, for example:
> > 
> >   ------------[ cut here ]------------
> >   WARNING: CPU: 0 PID: 3217 at fs/sysfs/file.c:498 sysfs_attr_ns+0x91/0xa0()
> >   sysfs: kobject (null) without dirent
> >   Modules linked in: fuse nf_conntrack_broadcast ipt_MASQUERADE ip6t_REJECT xt_$
> >   CPU: 0 PID: 3217 Comm: rmmod Not tainted 3.12.0-rc6-00284-ge6036c0b8896 #19
> >   Hardware name: Sony Corporation SVP11213CXB/VAIO, BIOS R0270V7 05/17/2013
> >    0000000000000009 ffff8800aca35df8 ffffffff8160aab5 ffff8800aca35e40
> >    ffff8800aca35e30 ffffffff810514b8 ffffffffa013f080 ffff8801194a6040
> >    0000000000000800 0000000000000000 0000000000c5b3e0 ffff8800aca35e90
> >   Call Trace:
> >    [<ffffffff8160aab5>] dump_stack+0x45/0x56
> >    [<ffffffff810514b8>] warn_slowpath_common+0x78/0xa0
> >    [<ffffffff81051527>] warn_slowpath_fmt+0x47/0x50
> >    [<ffffffff810b5960>] ? module_refcount+0xb0/0xb0
> >    [<ffffffff811e5c61>] sysfs_attr_ns+0x91/0xa0
> >    [<ffffffff811e5d2a>] sysfs_remove_file+0x1a/0x50
> >    [<ffffffff814c88a3>] cpufreq_sysfs_remove_file+0x13/0x30
> >    [<ffffffffa013d350>] acpi_cpufreq_exit+0x2e/0xcde [acpi_cpufreq]
> >    [<ffffffff810b7d1d>] SyS_delete_module+0x15d/0x2c0
> >    [<ffffffff81002929>] ? do_notify_resume+0x59/0x90
> >    [<ffffffff81618f62>] system_call_fastpath+0x16/0x1b
> >   ---[ end trace f887112caaa5c4ab ]---
> > 
> > so at least we have a cpufreq/sysfs interaction bug. There may be others.
> > 
> > This particular cpufreq issue may be triggered by the fact that
> > acpi-cpufreq isn't actually in use (pstate is). Or it might be some
> > generic cpufreq/sysfs bug. Rafael, Greg, ideas?
> 
> I *think* that this indeed is related to acpi-cpufreq being unused.  That said,
> we've been fixing sysfs-related bugs in cpufreq recently and we may have
> overlooked something.
> 
> I'll have a deeper look at that.

Well, if the ACPI cpufreq driver is not registered, the exit function of the
module shouldn't try to unregister it, so I have the appended patch (untested)
to fix that particular thing.

Rafael


---
 drivers/cpufreq/acpi-cpufreq.c |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

Index: linux-pm/drivers/cpufreq/acpi-cpufreq.c
===================================================================
--- linux-pm.orig/drivers/cpufreq/acpi-cpufreq.c
+++ linux-pm/drivers/cpufreq/acpi-cpufreq.c
@@ -982,6 +982,8 @@ static void __exit acpi_cpufreq_boost_ex
 	}
 }
 
+static bool driver_registered;
+
 static int __init acpi_cpufreq_init(void)
 {
 	int ret;
@@ -1021,10 +1023,12 @@ static int __init acpi_cpufreq_init(void
 #endif
 
 	ret = cpufreq_register_driver(&acpi_cpufreq_driver);
-	if (ret)
+	if (ret) {
 		free_acpi_perf_data();
-	else
+	} else {
 		acpi_cpufreq_boost_init();
+		driver_registered = true;
+	}
 
 	return ret;
 }
@@ -1032,6 +1036,8 @@ static int __init acpi_cpufreq_init(void
 static void __exit acpi_cpufreq_exit(void)
 {
 	pr_debug("acpi_cpufreq_exit\n");
+	if (!driver_registered)
+		return;
 
 	acpi_cpufreq_boost_exit();
 


  reply	other threads:[~2013-10-25  9:39 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <525BD08C.2080101@t-online.de>
2013-10-14 17:53 ` [BUG 3.12.rc4] Oops: unable to handle kernel paging request during shutdown Linus Torvalds
2013-10-14 21:28   ` Paul E. McKenney
2013-10-14 21:51     ` Frederic Weisbecker
2013-10-14 22:31       ` Knut Petersen
2013-10-14 22:43         ` Frederic Weisbecker
2013-10-15  6:40       ` Ingo Molnar
2013-10-15  7:53         ` Knut Petersen
2013-10-17 14:25         ` Frederic Weisbecker
2013-10-18  6:30           ` Ingo Molnar
2013-10-14 21:52     ` Knut Petersen
2013-10-14 23:16       ` Paul E. McKenney
2013-10-15  0:59         ` Paul E. McKenney
2013-10-15  8:06           ` Knut Petersen
2013-10-25  8:38   ` Linus Torvalds
2013-10-25  9:02     ` Linus Torvalds
2013-10-25  9:08       ` Paul E. McKenney
2013-10-25  9:17         ` Greg Kroah-Hartman
2013-10-25  9:13       ` Greg Kroah-Hartman
2013-10-25  9:28       ` Rafael J. Wysocki
2013-10-25  9:51         ` Rafael J. Wysocki [this message]
2013-10-25  9:54           ` Viresh Kumar
2013-10-25 10:10           ` Rafael J. Wysocki
2013-10-25 10:00             ` Viresh Kumar
2013-10-25 10:07             ` Linus Torvalds
2013-10-25 11:10               ` Rafael J. Wysocki
2013-10-25 13:49                 ` Viresh Kumar
2013-10-25 14:21                   ` Rafael J. Wysocki
2013-10-28 15:02       ` Knut Petersen
2013-10-25 10:23     ` Thomas Gleixner
2013-10-25 10:48       ` Linus Torvalds
2013-10-26 11:43         ` Ingo Molnar
2013-10-28 14:50           ` Knut Petersen
2013-10-28 15:01             ` Ingo Molnar
2013-10-28 15:16               ` Ingo Molnar
2013-10-28 15:45                 ` Knut Petersen
2013-10-27 20:20         ` Linus Torvalds
2013-10-27 20:39           ` Linus Torvalds
2013-10-27 21:13             ` Linus Torvalds
2013-10-27 21:24               ` Greg Kroah-Hartman
2013-10-28 17:23                 ` Bjorn Helgaas
2013-10-28 17:30                   ` Veaceslav Falico
2013-10-28 17:35                     ` Bjorn Helgaas
2013-10-28 17:39                       ` Veaceslav Falico
2013-10-28 18:52                   ` Greg Kroah-Hartman
2013-10-30 18:04             ` Pablo Neira Ayuso

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=1483174.NsuFf8aJk6@vostro.rjw.lan \
    --to=rjw@rjwysocki.net \
    --cc=Knut_Petersen@t-online.de \
    --cc=cpufreq@vger.kernel.org \
    --cc=fweisbec@gmail.com \
    --cc=greg@kroah.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=viresh.kumar@linaro.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).