linux-mips
[Top] [All Lists]

Re: [PATCH] small time list process error in prom_getenv()

To: Freddy Spierenburg <freddy@dusktilldawn.nl>
Subject: Re: [PATCH] small time list process error in prom_getenv()
From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Date: Thu, 30 Mar 2006 19:02:36 +0400
Cc: linux-mips@linux-mips.org
In-reply-to: <4427A31F.9080801@ru.mvista.com>
Organization: MontaVista Software Inc.
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20060327074352.GC4781@dusktilldawn.nl> <4427A31F.9080801@ru.mvista.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (X11; U; Linux i686; rv:1.7.2) Gecko/20040803
Hello.

Sergei Shtylylov wrote:

I found a small time bug in prom_getenv() for which I like to
share the fix with y'all.

prom_envp is an array with two elements per environment variable.
So for instance element 0 is memsize and element 1 is 0x08000000
for the environment variable memsize=0x08000000.

The code for prom_getenv() only skips one element when it's in
search for the next environment variable. It should of course
step two elements.

I found this error in two files and for both I include a patch to
fix the problem.

------------------------------------------------------------------------

diff -Naur linux.orig/arch/mips/philips/pnx8550/common/prom.c linux/arch/mips/philips/pnx8550/common/prom.c --- linux.orig/arch/mips/philips/pnx8550/common/prom.c 2006-03-22 15:25:58.000000000 +0000 +++ linux/arch/mips/philips/pnx8550/common/prom.c 2006-03-22 15:25:23.000000000 +0000
@@ -70,7 +70,7 @@
         if(strncmp(envname, env->name, i) == 0) {
             return(env->name + strlen(envname) + 1);
         }
-        env++;
+        env+=2;
     }
     return(NULL);
 }

   Not sure what loader the Philips target uses...

It uses some kind of Philips' own loader, so this code should be better left alone...

WBR, Sergei

<Prev in Thread] Current Thread [Next in Thread>