Spam:****, Re: [patch 5/5] kexec fix ppc64 device-tree mem node

Milton Miller miltonm at bga.com
Tue May 8 10:57:13 EDT 2007


On May 8, 2007, at 1:14 AM, Simon Horman wrote:

> X-SpamDetect-Info: ------------- Start ASpam results ---------------
> X-SpamDetect-Info: This message may be spam. This message BODY has 
> been altered to show you the spam information
> X-SpamDetect: ****: 4.500000 From3consonants=0.5, GreyPassed=1.0, 
> DodgySource=2.0, SPF Default Fail=1.0
> X-SpamDetect-Info: ------------- End ASpam results -----------------
>
> On Mon, May 07, 2007 at 05:03:04PM -0700, Geoff Levand wrote:
>> Change the ppc64 device-tree memory node name spec to match the 
>> allowable names
>> specified in the booting-without-of document.
>>
>> Signed-off-by: Geoff Levand <geoffrey.levand at am.sony.com>
>
> Again, this seems fine to me, but I'm not an expert on the device tree.
> Milton, how does this change sit with you?

[several cases of]
>> -		if (strncmp(dentry->d_name, "memory@", 7))
>> +		if (strncmp(dentry->d_name, "memory", 6))

Thinking about it a bit, this makes the check too generic.   There are
firmware platforms that generate /memory-controller nodes which should
not be found.   While we really should be looking for the device type,
for now the simplest would be to accept ether memory@ or memory\0.  The
one counting the nodes could remain memory, since we are just sizing an
allocation.


>
>> ---
>>  kexec/arch/ppc64/crashdump-ppc64.c |    2 +-
>>  kexec/arch/ppc64/kexec-ppc64.c     |   10 +++++-----
>>  2 files changed, 6 insertions(+), 6 deletions(-)
>>
>> --- kexec-tools-hacked.orig/kexec/arch/ppc64/crashdump-ppc64.c
>> +++ kexec-tools-hacked/kexec/arch/ppc64/crashdump-ppc64.c
>> @@ -129,7 +129,7 @@ static int get_crash_memory_ranges(struc
>>  		goto err;
>>  	}
>>  	while ((dentry = readdir(dir)) != NULL) {
>> -		if (strncmp(dentry->d_name, "memory@", 7))
>> +		if (strncmp(dentry->d_name, "memory", 6))
>>  			continue;
>>  		strcpy(fname, device_tree);
>>  		strcat(fname, dentry->d_name);
>> --- kexec-tools-hacked.orig/kexec/arch/ppc64/kexec-ppc64.c
>> +++ kexec-tools-hacked/kexec/arch/ppc64/kexec-ppc64.c
>> @@ -98,7 +98,7 @@ err1:
>>  }
>>
>>  /*
>> - * Count the memory@ nodes under /proc/device-tree and populate the
>> + * Count the memory nodes under /proc/device-tree and populate the
>>   * max_memory_ranges variable. This variable replaces 
>> MAX_MEMORY_RANGES
>>   * macro used earlier.
>>   */
>> @@ -114,7 +114,7 @@ static int count_memory_ranges(void)
>>  	}
>>
>>  	while ((dentry = readdir(dir)) != NULL) {
>> -		if (strncmp(dentry->d_name, "memory@", 7) &&
>> +		if (strncmp(dentry->d_name, "memory", 6) &&
>>  		    strncmp(dentry->d_name, "pci@", 4))
>>  			continue;
>>  		max_memory_ranges++;
>> @@ -170,7 +170,7 @@ static int get_base_ranges(void)
>>  		return -1;
>>  	}
>>  	while ((dentry = readdir(dir)) != NULL) {
>> -		if (strncmp(dentry->d_name, "memory@", 7))
>> +		if (strncmp(dentry->d_name, "memory", 6))
>>  			continue;
>>  		strcpy(fname, device_tree);
>>  		strcat(fname, dentry->d_name);
>> @@ -272,7 +272,7 @@ static int get_devtree_details(unsigned
>>
>>  	while ((dentry = readdir(dir)) != NULL) {
>>  		if (strncmp(dentry->d_name, "chosen", 6) &&
>> -			strncmp(dentry->d_name, "memory at 0", 8) &&
>> +			strncmp(dentry->d_name, "memory", 6) &&
>>  			strncmp(dentry->d_name, "pci@", 4) &&
>>  			strncmp(dentry->d_name, "rtas", 4))
>>  			continue;
>> @@ -452,7 +452,7 @@ static int get_devtree_details(unsigned
>>  				add_usable_mem_rgns(rtas_base, rtas_size);
>>  		} /* rtas */
>>
>> -		if (strncmp(dentry->d_name, "memory at 0", 8) == 0) {
>> +		if (strncmp(dentry->d_name, "memory", 6) == 0) {
>>  			strcat(fname, "/reg");
>>  			if ((file = fopen(fname, "r")) == NULL) {
>>  				perror(fname);
>>
>> -- 
>>
>>
>>
>> _______________________________________________
>> kexec mailing list
>> kexec at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/kexec
>
> -- 
> Horms
>   H: http://www.vergenet.net/~horms/
>   W: http://www.valinux.co.jp/en/
>




More information about the kexec mailing list