All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@osdl.org>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: davej@redhat.com, linux-kernel@vger.kernel.org,
	sekharan@us.ibm.com, Rusty Russell <rusty@rustcorp.com.au>,
	"Randy.Dunlap" <rdunlap@xenotime.net>,
	Sam Ravnborg <sam@ravnborg.org>
Subject: Re: 2.6.17-mm2
Date: Sun, 25 Jun 2006 03:22:43 -0700	[thread overview]
Message-ID: <20060625032243.fcce9e2e.akpm@osdl.org> (raw)
In-Reply-To: <200606251051.55355.rjw@sisk.pl>

On Sun, 25 Jun 2006 10:51:55 +0200
"Rafael J. Wysocki" <rjw@sisk.pl> wrote:

> > > 
> > 
> > My guess would be that cpufreq_register_driver() is being called after it
> > has been unloaded from the kernel.
> > 
> > Do you have CONFIG_CPU_FREQ=y?
> 
> Yes.
> 
> > Does removal of the __cpuinit from cpufreq_register_driver() fix it (or
> > move the crash elsewhere)?
> 
> Yes (makes it go away).

Well it would appear that the new __cpuinit on cpufreq_register_driver() is
causing the problem, although I'm surprised that you don't have
CONFIG_HOTPLUG_CPU set, if it's a swsusp requirement??

> > Do you get any section mismatch warnings at build-time?
> 
> Only this one:
> WARNING: drivers/acpi/processor.o - Section mismatch: reference to .init.data: from .text between 'acpi_processor_power_init' (at offset 0x1164) and 'acpi_processor_power_exit'
> 

That's a false-positive - the code in there is, I think, OK:

	static int first_run;

	...

	if (!first_run) {
		dmi_check_system(processor_power_dmi_table);
		...
		first_run++;
	}

The warning is about the reference to processor_power_dmi_table.  But as
long as the first call to acpi_processor_power_init() happens prior to
free_initmem(), we won't actually try to touch the unloaded memory.

It's fragile and nasty though - it'd be nice to sort it out.


Anyway.  It's regrettable that the new section-checking code didn't
complain about the bug.  It looks like this is because the call to
cpufreq_register_driver() happened at modprobe-time, and we don't check for
that.  Which is rather bad.

Sam, would it be possible to check for references from modules into
statically-linked __init code?  It's always wrong...

Rusty/Randy/whoever looks after modules: it also seems wrong that it's
possible to load a module which refers to now-unloaded symbols.  In fact,
it's surprising - sorry if I'm misinterpreting this.  If I'm not, it should
be pretty easy to barf if a module is trying to get at symbols which lie
between __init_begin and __init_end?

Chandra, this is scary stuff.  I'll tempdrop those patches until we can get
the kbuild/modprobe infrastructure in place which will allow us to fully
check your sectioning changes at depmod/modprobe time.

<thinks>

Actually, it should still be possible to do this - simply do a `make
allyesconfig; make' with the patches unapplied, then do it with the patches
applied and then look for the differences in the warnings.

Need to do this with various combinations of CONFIG_MODULES,
CONFIG_HOTPLUG, CONFIG_HOTPLUG_CPU, CONFIG_MEMORY_HOTPLUG,
CONFIG_ACPI_HOTPLUG_MEMORY and CONFIG_ACPI_HOTPLUG_MEMORY_MODULE.

  reply	other threads:[~2006-06-25 10:26 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-24 13:19 2.6.17-mm2 Andrew Morton
2006-06-24 15:53 ` 2.6.17-mm2 Rafael J. Wysocki
2006-06-24 17:20   ` 2.6.17-mm2 Dave Jones
2006-06-24 21:34     ` 2.6.17-mm2 Andrew Morton
2006-06-25  8:51       ` 2.6.17-mm2 Rafael J. Wysocki
2006-06-25 10:22         ` Andrew Morton [this message]
2006-06-25 15:16           ` 2.6.17-mm2 Andrew Morton
2006-06-25 18:23             ` 2.6.17-mm2 Sam Ravnborg
2006-06-25 18:40               ` 2.6.17-mm2 Andrew Morton
2006-06-25 21:21                 ` 2.6.17-mm2 Sam Ravnborg
2006-06-30  7:38             ` 2.6.17-mm2 Randy.Dunlap
2006-07-02 10:11               ` 2.6.17-mm2 Russell King
2006-07-02 18:42                 ` 2.6.17-mm2 Randy.Dunlap
2006-07-02 18:47                   ` 2.6.17-mm2 Arjan van de Ven
2006-07-02 18:47                   ` 2.6.17-mm2 Sam Ravnborg
2006-07-03  5:50                 ` 2.6.17-mm2 Randy.Dunlap
2006-07-03 13:49                   ` 2.6.17-mm2 Russell King
2006-06-25 19:19           ` 2.6.17-mm2 Rafael J. Wysocki
2006-06-26 20:13           ` 2.6.17-mm2 Chandra Seetharaman
2006-06-24 19:41 ` 2.6.17-mm2 Dominik Karall
2006-06-24 21:43   ` 2.6.17-mm2 Andrew Morton
2006-06-25  6:06 ` 2.6.17-mm2 Reuben Farrelly
2006-06-25  9:37   ` 2.6.17-mm2 Barry K. Nathan
2006-06-25 10:29     ` 2.6.17-mm2 Reuben Farrelly
2006-06-25 11:19 ` 2.6.17-mm2 Michal Piotrowski
2006-06-25 11:40   ` 2.6.17-mm2 Andrew Morton
2006-06-25 12:18     ` 2.6.17-mm2 Michal Piotrowski
2006-06-25 16:25 ` 2.6.17-mm2 (NULL pointer dereference) Dominik Karall
2006-06-25 17:18   ` Andrew Morton
2006-06-25 18:11     ` Dominik Karall
2006-06-25 16:47 ` 2.6.17-mm2: no QLA3YYY_NAPI help text Adrian Bunk
2006-06-25 19:32 ` 2.6.17-mm2: BLK_CPQ_CISS_DA=m error Adrian Bunk
2006-06-26  0:41   ` Vivek Goyal
2006-06-25 23:13 ` [-mm patch] make drivers/scsi/pata_it821x.c:it821x_passthru_dev_select() static Adrian Bunk
2006-06-25 23:27   ` Alan Cox
2006-06-27  1:03   ` Jeff Garzik
2006-06-25 23:13 ` [-mm patch] fs/cifs/cifsproto.h: remove #ifdef around small_smb_init_no_tc() prototype Adrian Bunk
2006-06-26  4:05   ` Steven French
2006-06-26 15:17 ` [-mm patch] drivers/scsi/arcmsr/: cleanups Adrian Bunk
2006-06-26 20:27 ` [-mm patch] drivers/md/raid5.c: remove an unused variable Adrian Bunk
2006-06-26 21:41 ` 2.6.17-mm2 hrtimer code wedges at boot? Valdis.Kletnieks
2006-06-26 22:50   ` Valdis.Kletnieks
2006-06-26 23:02   ` john stultz
2006-06-26 23:27   ` Thomas Gleixner
2006-06-27  2:12     ` Valdis.Kletnieks
2006-06-27  5:54       ` Thomas Gleixner
2006-06-27 10:16   ` Roman Zippel
2006-06-27 16:43     ` Valdis.Kletnieks
2006-06-27 17:10       ` Roman Zippel
2006-06-27 17:23         ` Roman Zippel
2006-06-27 19:07           ` Valdis.Kletnieks
2006-06-28  0:07             ` john stultz
2006-06-28 10:35               ` Roman Zippel
2006-06-28 11:44                 ` Roman Zippel
2006-06-29 23:07                   ` Valdis.Kletnieks
2006-06-30 19:26                     ` john stultz
2006-06-30 21:04                       ` Valdis.Kletnieks
2006-07-03  1:13                         ` Roman Zippel
2006-07-03  1:56                           ` Daniel Walker
2006-07-03  2:20                             ` Valdis.Kletnieks
2006-07-03 20:08                               ` john stultz
2006-07-03 19:59                             ` john stultz
2006-07-04 22:21                               ` Valdis.Kletnieks
2006-07-05  4:29                           ` Valdis.Kletnieks
2006-07-06  0:37                             ` Roman Zippel
2006-07-06  0:56                               ` john stultz
2006-07-06  6:38                               ` Valdis.Kletnieks
2006-07-06  0:51                             ` john stultz
2006-07-06  1:12                               ` john stultz
2006-07-06  5:43                                 ` john stultz
2006-07-06 20:33                               ` Roman Zippel
2006-07-06 22:05                                 ` john stultz
2006-07-07 23:16                                   ` Roman Zippel
2006-07-08 20:02                                   ` [PATCH] adjust clock for lost ticks Roman Zippel
2006-07-09 21:25                                     ` john stultz
2006-06-28 23:41                 ` 2.6.17-mm2 hrtimer code wedges at boot? john stultz
2006-06-29 11:24                   ` Roman Zippel
2006-06-28 16:54 ` [-mm patch] include/asm-i386/acpi.h should #include <asm/processor.h> Adrian Bunk
2006-06-28 16:54 ` [-mm patch] fix sgivwfb compile Adrian Bunk
2006-06-28 16:54 ` [-mm patch] arch/i386/mach-visws/setup.c: remove dummy function calls Adrian Bunk
  -- strict thread matches above, loose matches on Subject: below --
2006-06-24 15:41 2.6.17-mm2 Martin J. Bligh
2006-06-26 14:48 ` 2.6.17-mm2 Martin J. Bligh
2006-06-27 15:37   ` 2.6.17-mm2 Martin J. Bligh
2006-06-27 15:37     ` 2.6.17-mm2 Martin J. Bligh
2006-06-28 10:42     ` 2.6.17-mm2 Andrew Morton
2006-06-28 10:42       ` 2.6.17-mm2 Andrew Morton
2006-06-28 10:47       ` 2.6.17-mm2 Andrew Morton
2006-06-28 14:43         ` 2.6.17-mm2 Martin J. Bligh
2006-06-28 14:43           ` 2.6.17-mm2 Martin J. Bligh
2006-06-28 15:06           ` 2.6.17-mm2 Andy Whitcroft
2006-06-28 15:06             ` 2.6.17-mm2 Andy Whitcroft
2006-06-28 19:11           ` 2.6.17-mm2 Andrew Morton
2006-06-28 19:11             ` 2.6.17-mm2 Andrew Morton
2006-06-28 19:22             ` 2.6.17-mm2 Jeremy Fitzhardinge
2006-06-28 19:22               ` 2.6.17-mm2 Jeremy Fitzhardinge
2006-06-28 19:49               ` 2.6.17-mm2 Andrew Morton
2006-06-28 19:49                 ` 2.6.17-mm2 Andrew Morton
2006-06-28 19:36             ` 2.6.17-mm2 Martin Bligh
2006-06-28 19:36               ` 2.6.17-mm2 Martin Bligh
2006-06-29  0:17               ` 2.6.17-mm2 Martin J. Bligh
2006-06-29  0:17                 ` 2.6.17-mm2 Martin J. Bligh
2006-06-28 15:43       ` 2.6.17-mm2 Jeremy Fitzhardinge
2006-06-28 15:43         ` 2.6.17-mm2 Jeremy Fitzhardinge

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=20060625032243.fcce9e2e.akpm@osdl.org \
    --to=akpm@osdl.org \
    --cc=davej@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rdunlap@xenotime.net \
    --cc=rjw@sisk.pl \
    --cc=rusty@rustcorp.com.au \
    --cc=sam@ravnborg.org \
    --cc=sekharan@us.ibm.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.