mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andi Kleen <ak@suse.de>
To: Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
Cc: Andi Kleen <ak@suse.de>, linux-kernel@vger.kernel.org, akpm@osdl.org
Subject: Re: Undefined behaviour with get_cpu_vendor
Date: Wed, 17 Aug 2005 13:50:41 +0200	[thread overview]
Message-ID: <20050817115041.GK3996@wotan.suse.de> (raw)
In-Reply-To: <20050817095423.625.qmail@thales.mathematik.uni-ulm.de>

On Wed, Aug 17, 2005 at 11:54:23AM +0200, Christian Ehrhardt wrote:
> 
> Hi,
> 
> Your Patch at (URL wrapped)
> 
> http://www.kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git; \
> 		a=commit;h=99c6e60afff8a7bc6121aeb847dab27c556cf0c9
> 
> introduced an additional Parameter (int early) to get_cpu_vendor.
> However, the same function is called in arch/i386/kernel/apic.c (via
> an explicit extern declaration that doesn't have the new early parameter.

Sigh. All people adding externs like this should be ...

But it won't change anything - the only difference with
the flag being 0 is to read less fields, but since the function
has been called earlier and the data has not changed
the output is always the same.

Anyways, the correct change is to just remove this call because it's
not needed anymore because of the early CPU detection.

> I don't know if this can cause actual problems but I think something like
> the patch below is needed for correctness.

It's not needed for correctness. 

-Andi

Remove obsolete get_cpu_vendor call.

Since early CPU identify is in this information is already available

Signed-off-by: Andi Kleen <ak@suse.de>


Index: linux-2.6.13-rc6-misc/arch/i386/kernel/apic.c
===================================================================
--- linux-2.6.13-rc6-misc.orig/arch/i386/kernel/apic.c
+++ linux-2.6.13-rc6-misc/arch/i386/kernel/apic.c
@@ -726,15 +726,11 @@ __setup("apic=", apic_set_verbosity);
 static int __init detect_init_APIC (void)
 {
 	u32 h, l, features;
-	extern void get_cpu_vendor(struct cpuinfo_x86*);
 
 	/* Disabled by kernel option? */
 	if (enable_local_apic < 0)
 		return -1;
 
-	/* Workaround for us being called before identify_cpu(). */
-	get_cpu_vendor(&boot_cpu_data);
-
 	switch (boot_cpu_data.x86_vendor) {
 	case X86_VENDOR_AMD:
 		if ((boot_cpu_data.x86 == 6 && boot_cpu_data.x86_model > 1) ||

  parent reply	other threads:[~2005-08-17 11:50 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-17  9:54 Christian Ehrhardt
2005-08-17 10:21 ` Andreas Schwab
2005-08-17 11:50 ` Andi Kleen [this message]
2005-08-17 20:08   ` Horst von Brand

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=20050817115041.GK3996@wotan.suse.de \
    --to=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=ehrhardt@mathematik.uni-ulm.de \
    --cc=linux-kernel@vger.kernel.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

all inboxes | Powered by JetHome®