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) ||
next prev 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®