Re: [PATCH 04/36] x86/pci: add cap_resource

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/21/2010 07:49 AM, Linus Torvalds wrote:
> 
> 
> On Wed, 20 Jan 2010, Yinghai Lu wrote:
>>
>> -v2: hpa said we should compare with (resource_size_t)~0
> 
> Hmm. Some of these look dubious.
> 
>> diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c
>> index f939d60..b267919 100644
>> --- a/arch/x86/pci/bus_numa.c
>> +++ b/arch/x86/pci/bus_numa.c
>> @@ -60,6 +60,9 @@ void __devinit update_res(struct pci_root_info *info, size_t start,
>>  	if (start > end)
>>  		return;
>>  
>> +	if (start == (resource_size_t)~0)
>> +		return;
> 
> Here, 'start' isn't a resource_size_t. It's a regular size_t. And if 
> resource_size_t is u64, and size_t is u32, this test can never be true.
> 
> Maybe that is intentional, but if looks odd/wrong. Needs a comment if 
> right, needs fixing if wrong.

you are right, there are two patches about that already went into pci/linux-next

will ask Jesse to drop them from pci tree.

so could make them go via tip/x86

http://git.kernel.org/?p=linux/kernel/git/jbarnes/pci-2.6.git;a=commitdiff;h=f84fe8aef6e4b23ab58175a15dd12c197c993f81
http://git.kernel.org/?p=linux/kernel/git/jbarnes/pci-2.6.git;a=commitdiff;h=693f084f82a38fc1b01e3b05664a6fe014a3488a

or later may have merge problem.


> 
>> +static inline resource_size_t cap_resource(u64 val)
>> +{
>> +	if (val > (resource_size_t)~0)
>> +		return (resource_size_t)~0;
>> +	else
>> +		return val;
>> +}
>>  #endif
> 
> And this just looks odd. I'd suggest just doing
> 
> 	#define MAX_RESOURCE ((resource_size_t)~0)
> 
> 	static inline resource_size_t cap_resource(u64 val)
> 	{
> 		if (val > MAX_RESOURCE)
> 			val = MAX_RESOURCE;
> 		return val;
> 	}
> 
> instead, which looks a whole lot more natural. No?

OK

Yinghai
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux