Skip to contentSkip to conversation

compile warnings due to change of pci resource element type

KJ Stephen Biggs 5 participants 8 messages Mar 4, 2005 – Mar 5, 2005 Kernel janitors

lore
Share & tools
lore
#0 lore raw

Trying to comple the latest version (2.6.11-rc5-mm1) gives a huge amount of warnings in a lot of files due to printf formats (and a couple of other minor issues) that have %lx instead of %llx for the "start" element in the pci_resource struct whose type was changed from u32 to u64.

These are relatively easy to fix and need to be fixed because of potential stack issues with var arg functions like printk and friends.

My question is: should I do this or is someone else working on this, perhaps a better fix than simply changing the majority of occurrences of "%lx" to "%llx"?

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors

#1 lore raw
Quoted 11 lines · Stephen Biggs

Trying to comple the latest version (2.6.11-rc5-mm1) gives a huge amount of warnings in a lot of files due to printf formats (and a couple of other minor issues) that have %lx instead of %llx for the "start" element in the pci_resource struct whose type was changed from u32 to u64.

These are relatively easy to fix and need to be fixed because of potential stack issues with var arg functions like printk and friends.

My question is: should I do this or is someone else working on this, perhaps a better fix than simply changing the majority of occurrences of "%lx" to "%llx"?

I read messages on lkml that the pci resource patch was being dropped temporarily to fix some issues.... Perhaps its patch submitter will be fixing those, I dunno.

Signature · 5 lines
~Randy
_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors
#2 lore raw
In reply to Stephen Biggs
Quoted 9 lines · Randy.Dunlap
Quoted 8 lines · Stephen Biggs

Trying to comple the latest version (2.6.11-rc5-mm1) gives a huge amount of warnings in a lot of files due to printf formats (and a couple of other minor issues) that have %lx instead of %llx for the "start" element in the pci_resource struct whose type was changed from u32 to u64.

These are relatively easy to fix and need to be fixed because of potential stack issues with var arg functions like printk and friends.

Quoted 7 lines
Quoted 3 lines

My question is: should I do this or is someone else working on this, perhaps a better fix than simply changing the majority of occurrences of "%lx" to "%llx"?

I read messages on lkml that the pci resource patch was being dropped temporarily to fix some issues.... Perhaps its patch submitter will be fixing those, I dunno.

Odds are, it will be me :(

So yes, I will gladly take those kinds of patches. But you need to convert:
"%lx", resource_variable
to:
"%llx", (unsigned long long)resource_variable

to make it work on all platforms.

thanks,

greg k-h

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors

#3 lore raw
In reply to Stephen Biggs
Quoted 14 lines · Greg KH
Quoted 13 lines · Randy.Dunlap
Quoted 11 lines · Stephen Biggs

Trying to comple the latest version (2.6.11-rc5-mm1) gives a huge amount of warnings in a lot of files due to printf formats (and a couple of other minor issues) that have %lx instead of %llx for the "start" element in the pci_resource struct whose type was changed from u32 to u64.

These are relatively easy to fix and need to be fixed because of potential stack issues with var arg functions like printk and friends.

My question is: should I do this or is someone else working on this, perhaps a better fix than simply changing the majority of occurrences of "%lx" to "%llx"?

Quoted 7 lines
Quoted 3 lines

I read messages on lkml that the pci resource patch was being dropped temporarily to fix some issues.... Perhaps its patch submitter will be fixing those, I dunno.

Odds are, it will be me :(

So yes, I will gladly take those kinds of patches.

Yes, OK, I'll start working on it soon.

Quick question: I see these problems on 2.6.11-rc5-mm1 but NOT on the mainline kernel of 2.6.11. Also, see my previous email about 2.6.11-kj patch not applying cleanly at all to the rc5-mm1 BUT applies perfectly to the mainline 2.6.11.

Which kernel version should I be working with? Since there is now a release of 2.6.11, isn't the proper version for us now 2.6.12-rc1, as soon as it's created??

I am confused.

Quoted 6 lines

But you need to convert:
"%lx", resource_variable
to:
"%llx", (unsigned long long)resource_variable

to make it work on all platforms.

Shouldn't it be (u64) instead of (unsigned long long)?

Quoted 5 lines

thanks,

greg k-h

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors

#4 lore raw
In reply to Stephen Biggs
Quoted 8 lines · Stephen Biggs
Quoted 6 lines

But you need to convert:
"%lx", resource_variable
to:
"%llx", (unsigned long long)resource_variable

to make it work on all platforms.

Shouldn't it be (u64) instead of (unsigned long long)?

No. Otherwise it will generate warnings on 64-bit machines. Ie:

drivers/block/aoe/aoeblk.c:245: warning: long long unsigned int format, u64 arg (arg 2) drivers/block/aoe/aoeblk.c:31: warning: long long unsigned int format, u64 arg (arg 4)

Alexey

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors

#5 lore raw
In reply to Stephen Biggs
Quoted 31 lines · Stephen Biggs
Quoted 14 lines · Greg KH
Quoted 13 lines · Randy.Dunlap
Quoted 11 lines · Stephen Biggs

Trying to comple the latest version (2.6.11-rc5-mm1) gives a huge amount of warnings in a lot of files due to printf formats (and a couple of other minor issues) that have %lx instead of %llx for the "start" element in the pci_resource struct whose type was changed from u32 to u64.

These are relatively easy to fix and need to be fixed because of potential stack issues with var arg functions like printk and friends.

My question is: should I do this or is someone else working on this, perhaps a better fix than simply changing the majority of occurrences of "%lx" to "%llx"?

Quoted 7 lines
Quoted 3 lines

I read messages on lkml that the pci resource patch was being dropped temporarily to fix some issues.... Perhaps its patch submitter will be fixing those, I dunno.

Odds are, it will be me :(

So yes, I will gladly take those kinds of patches.

Yes, OK, I'll start working on it soon.

Quick question: I see these problems on 2.6.11-rc5-mm1 but NOT on the mainline kernel of 2.6.11. Also, see my previous email about 2.6.11-kj patch not applying cleanly at all to the rc5-mm1 BUT applies perfectly to the mainline 2.6.11.

Quoted 5 lines

Which kernel version should I be working with? Since there is now a release of 2.6.11, isn't the proper version for us now 2.6.12-rc1, as soon as it's created??

I am confused.

I am not sure why you would think 2.6.11-kj would apply to anything except 2.6.11. That's why it's *2.6.11*-kj not 2.6.11-rc5-mm1-kj. That's the whole point of labelling the releases that way.

So, if you want to apply -kj, you apply to it's prefix. Sometimes, admittedly, it will apply with fuzz to other trees, but that's incidental.

Also, please read the threads regarding the new kernel naming procedure. You should apply your patches against mainline (currently 2.6.11), unless the issue only exists in -mm and the patch which causes the issue is also only in -mm.

Thanks,
Nish

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors

#6 lore raw
In reply to Stephen Biggs
Quoted 37 lines · Nish Aravamudan
Quoted 35 lines · Stephen Biggs
Quoted 14 lines · Greg KH
Quoted 13 lines · Randy.Dunlap
Quoted 11 lines · Stephen Biggs

Trying to comple the latest version (2.6.11-rc5-mm1) gives a huge amount of warnings in a lot of files due to printf formats (and a couple of other minor issues) that have %lx instead of %llx for the "start" element in the pci_resource struct whose type was changed from u32 to u64.

These are relatively easy to fix and need to be fixed because of potential stack issues with var arg functions like printk and friends.

My question is: should I do this or is someone else working on this, perhaps a better fix than simply changing the majority of occurrences of "%lx" to "%llx"?

Quoted 7 lines
Quoted 3 lines

I read messages on lkml that the pci resource patch was being dropped temporarily to fix some issues.... Perhaps its patch submitter will be fixing those, I dunno.

Odds are, it will be me :(

So yes, I will gladly take those kinds of patches.

Yes, OK, I'll start working on it soon.

Quick question: I see these problems on 2.6.11-rc5-mm1 but NOT on the mainline kernel of 2.6.11. Also, see my previous email about 2.6.11-kj patch not applying cleanly at all to the rc5-mm1 BUT applies perfectly to the mainline 2.6.11.

Which kernel version should I be working with? Since there is now a release of 2.6.11, isn't the proper version for us now 2.6.12-rc1, as soon as it's created??

Quoted 5 lines
Quoted 1 line

I am confused.

I am not sure why you would think 2.6.11-kj would apply to anything except 2.6.11. That's why it's *2.6.11*-kj not 2.6.11-rc5-mm1-kj. That's the whole point of labelling the releases that way.

Yes, thanks for the clear explanation.

Quoted 4 lines

So, if you want to apply -kj, you apply to it's prefix. Sometimes, admittedly, it will apply with fuzz to other trees, but that's incidental.

Ok, this I can understand and accept.

Quoted 5 lines

Also, please read the threads regarding the new kernel naming procedure. You should apply your patches against mainline (currently 2.6.11), unless the issue only exists in -mm and the patch which causes the issue is also only in -mm.

Here is the source of my confusion:
http://lists.osdl.org/pipermail/kernel-janitors/2005-February/003315.html

... wherein Jim Nelson says, in part: "Work off of -mm, since most of the janitorial work will go through Andrew Morton's series for awhile before being pushed into mainline."

Can you please send me links to the threads you are referring to so I can read them for myself and get a grip on this?

However, even with the naming issues cleared up in my head, I am still confused by the other issue. I am assuming that the pci resource retype is only in -mm? If so, I am still confused about which version to work off of. That is, if I apply the -kj patch to the mainline, I should then apply the -mm patch that just now appeared in Andrew Morton's directore for the mainline?

Maybe this is moot right now, since I see that this particular patch WAS in 2.6.11-rc5-mm1, but is not in 2.6.11-mm1. Guess I'll wait until this is placed back in.

Quoted 4 lines

Thanks,
Nish

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors

#7 lore raw
In reply to Stephen Biggs
Quoted 68 lines · Stephen Biggs
Quoted 41 lines · Nish Aravamudan
Quoted 38 lines · Stephen Biggs
Quoted 16 lines · Greg KH
Quoted 14 lines · Randy.Dunlap
Quoted 11 lines · Stephen Biggs

Trying to comple the latest version (2.6.11-rc5-mm1) gives a huge amount of warnings in a lot of files due to printf formats (and a couple of other minor issues) that have %lx instead of %llx for the "start" element in the pci_resource struct whose type was changed from u32 to u64.

These are relatively easy to fix and need to be fixed because of potential stack issues with var arg functions like printk and friends.

My question is: should I do this or is someone else working on this, perhaps a better fix than simply changing the majority of occurrences of "%lx" to "%llx"?

Quoted 7 lines
Quoted 3 lines

I read messages on lkml that the pci resource patch was being dropped temporarily to fix some issues.... Perhaps its patch submitter will be fixing those, I dunno.

Odds are, it will be me :(

So yes, I will gladly take those kinds of patches.

Yes, OK, I'll start working on it soon.

Quick question: I see these problems on 2.6.11-rc5-mm1 but NOT on the mainline kernel of 2.6.11. Also, see my previous email about 2.6.11-kj patch not applying cleanly at all to the rc5-mm1 BUT applies perfectly to the mainline 2.6.11.

Which kernel version should I be working with? Since there is now a release of 2.6.11, isn't the proper version for us now 2.6.12-rc1, as soon as it's created??

Quoted 5 lines
Quoted 1 line

I am confused.

I am not sure why you would think 2.6.11-kj would apply to anything except 2.6.11. That's why it's *2.6.11*-kj not 2.6.11-rc5-mm1-kj. That's the whole point of labelling the releases that way.

Yes, thanks for the clear explanation.

Quoted 3 lines

So, if you want to apply -kj, you apply to it's prefix. Sometimes, admittedly, it will apply with fuzz to other trees, but that's incidental.

Ok, this I can understand and accept.

Quoted 4 lines

Also, please read the threads regarding the new kernel naming procedure. You should apply your patches against mainline (currently 2.6.11), unless the issue only exists in -mm and the patch which causes the issue is also only in -mm.

Quoted 6 lines

Here is the source of my confusion:
http://lists.osdl.org/pipermail/kernel-janitors/2005-February/003315.html

... wherein Jim Nelson says, in part: "Work off of -mm, since most of the janitorial work will go through Andrew Morton's series for awhile before being pushed into mainline."

This is the problem, then. Most developers work off of Linus's tree (bk or bk snapshots) as a base. Even Andrew suggests doing that unless the code that you are patching is only in -mm. Andrew must work 20 hours/day, because he is willing to convert patches to merge into his -mm patchset.

Quoted 10 lines

Can you please send me links to the threads you are referring to so I can read them for myself and get a grip on this?

However, even with the naming issues cleared up in my head, I am still confused by the other issue. I am assuming that the pci resource retype is only in -mm? If so, I am still confused about which version to work off of. That is, if I apply the -kj patch to the mainline, I should then apply the -mm patch that just now appeared in Andrew Morton's directore for the mainline?

Quoted 3 lines

Maybe this is moot right now, since I see that this particular patch WAS in 2.6.11-rc5-mm1, but is not in 2.6.11-mm1. Guess I'll wait until this is placed back in.

or find the most recent version of that patch (from 2.6.11-rc5-mm1), apply it to 2.6.11-linus, and start making fixes to it. Post the updates to lkml and linux-pci mailing list and cc:
Greg on them.

Signature · 5 lines
~Randy
_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors