2008-08-26 09:37:55

by Rufus & Azrael

[permalink] [raw]
Subject: [2.6.27-rc4-git4] compilation warnings

Hello all,

Fresh 2.6.27-rc4-git4 causes these compilation warnings on my amd64 box
with gcc-4.3.1 :

drivers/pci/search.c: In function ‘pci_get_dev_by_id’:
drivers/pci/search.c:284: attention : passing argument 1 of
‘pci_dev_put’ discards qualifiers from pointer target type

following this commit : ebca4f1bce1eb7b91a63c515db66316db9391221
PCI: fix reference leak in pci_get_dev_by_id()
---
drivers/video/aty/aty128fb.c: In function ‘aty128_decode_var’:
drivers/video/aty/aty128fb.c:1520: attention : ‘pll.post_divider’ may be
used uninitialized in this function

Regards.


2008-08-26 15:23:48

by Greg KH

[permalink] [raw]
Subject: Re: [2.6.27-rc4-git4] compilation warnings

On Tue, Aug 26, 2008 at 11:37:46AM +0200, Rufus & Azrael wrote:
> Hello all,
>
> Fresh 2.6.27-rc4-git4 causes these compilation warnings on my amd64 box
> with gcc-4.3.1 :
>
> drivers/pci/search.c: In function ‘pci_get_dev_by_id’:
> drivers/pci/search.c:284: attention : passing argument 1 of
> ‘pci_dev_put’ discards qualifiers from pointer target type
>
> following this commit : ebca4f1bce1eb7b91a63c515db66316db9391221 PCI: fix
> reference leak in pci_get_dev_by_id()

Ick, sorry about that, I said my fix was not even build tested :)

Here's a fix for this, Jesse, care to forward this on?

thanks,

greg k-h

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

From: Greg Kroah-Hartman <[email protected]>
Subject: PCI: fix compiler warnings in pci_get_subsys()

From: Greg Kroah-Hartman <[email protected]>

pci_get_subsys() changed in 2.6.26 so that the from pointer is modified when
the call is being invoked, so fix up the 'const' marking of it that the
compiler is complaining about.

Reported-by: Rufus & Azrael <[email protected]>
Cc: Jesse Barnes <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/pci/search.c | 6 +++---
include/linux/pci.h | 8 ++++----
2 files changed, 7 insertions(+), 7 deletions(-)

--- a/drivers/pci/search.c
+++ b/drivers/pci/search.c
@@ -162,7 +162,7 @@ EXPORT_SYMBOL(pci_find_slot);
* time.
*/
struct pci_dev *pci_find_device(unsigned int vendor, unsigned int device,
- const struct pci_dev *from)
+ struct pci_dev *from)
{
struct pci_dev *pdev;

@@ -263,7 +263,7 @@ static int match_pci_dev_by_id(struct de
* this file.
*/
static struct pci_dev *pci_get_dev_by_id(const struct pci_device_id *id,
- const struct pci_dev *from)
+ struct pci_dev *from)
{
struct device *dev;
struct device *dev_start = NULL;
@@ -303,7 +303,7 @@ static struct pci_dev *pci_get_dev_by_id
*/
struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device,
unsigned int ss_vendor, unsigned int ss_device,
- const struct pci_dev *from)
+ struct pci_dev *from)
{
struct pci_dev *pdev;
struct pci_device_id *id;
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -534,7 +534,7 @@ extern void pci_sort_breadthfirst(void);
#ifdef CONFIG_PCI_LEGACY
struct pci_dev __deprecated *pci_find_device(unsigned int vendor,
unsigned int device,
- const struct pci_dev *from);
+ struct pci_dev *from);
struct pci_dev __deprecated *pci_find_slot(unsigned int bus,
unsigned int devfn);
#endif /* CONFIG_PCI_LEGACY */
@@ -550,7 +550,7 @@ struct pci_dev *pci_get_device(unsigned
struct pci_dev *from);
struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device,
unsigned int ss_vendor, unsigned int ss_device,
- const struct pci_dev *from);
+ struct pci_dev *from);
struct pci_dev *pci_get_slot(struct pci_bus *bus, unsigned int devfn);
struct pci_dev *pci_get_bus_and_slot(unsigned int bus, unsigned int devfn);
struct pci_dev *pci_get_class(unsigned int class, struct pci_dev *from);
@@ -816,7 +816,7 @@ _PCI_NOP_ALL(write,)

static inline struct pci_dev *pci_find_device(unsigned int vendor,
unsigned int device,
- const struct pci_dev *from)
+ struct pci_dev *from)
{
return NULL;
}
@@ -838,7 +838,7 @@ static inline struct pci_dev *pci_get_su
unsigned int device,
unsigned int ss_vendor,
unsigned int ss_device,
- const struct pci_dev *from)
+ struct pci_dev *from)
{
return NULL;
}

2008-08-26 16:08:20

by Jesse Barnes

[permalink] [raw]
Subject: Re: [2.6.27-rc4-git4] compilation warnings

On Tuesday, August 26, 2008 8:20 am Greg KH wrote:
> On Tue, Aug 26, 2008 at 11:37:46AM +0200, Rufus & Azrael wrote:
> > Hello all,
> >
> > Fresh 2.6.27-rc4-git4 causes these compilation warnings on my amd64 box
> > with gcc-4.3.1 :
> >
> > drivers/pci/search.c: In function ‘pci_get_dev_by_id’:
> > drivers/pci/search.c:284: attention : passing argument 1 of
> > ‘pci_dev_put’ discards qualifiers from pointer target type
> >
> > following this commit : ebca4f1bce1eb7b91a63c515db66316db9391221 PCI: fix
> > reference leak in pci_get_dev_by_id()
>
> Ick, sorry about that, I said my fix was not even build tested :)
>
> Here's a fix for this, Jesse, care to forward this on?

Yeah, thanks Greg. Alex and I built & booted it, but obviously I missed the
warning.

Jesse

2008-08-26 16:21:09

by Rufus & Azrael

[permalink] [raw]
Subject: Re: [2.6.27-rc4-git4] compilation warnings

Jesse Barnes wrote:
> On Tuesday, August 26, 2008 8:20 am Greg KH wrote:
>
>> On Tue, Aug 26, 2008 at 11:37:46AM +0200, Rufus& Azrael wrote:
>>
>>> Hello all,
>>>
>>> Fresh 2.6.27-rc4-git4 causes these compilation warnings on my amd64 box
>>> with gcc-4.3.1 :
>>>
>>> drivers/pci/search.c: In function ‘pci_get_dev_by_id’:
>>> drivers/pci/search.c:284: attention : passing argument 1 of
>>> ‘pci_dev_put’ discards qualifiers from pointer target type
>>>
>>> following this commit : ebca4f1bce1eb7b91a63c515db66316db9391221 PCI: fix
>>> reference leak in pci_get_dev_by_id()
>>>
>> Ick, sorry about that, I said my fix was not even build tested :)
>>
>> Here's a fix for this, Jesse, care to forward this on?
>>
>
> Yeah, thanks Greg. Alex and I built& booted it, but obviously I missed the
> warning.
>
> Jesse
>
>
Hello Greg and Jesse,

I have tested this patch which works fine and the warning disappears,
thanks for all.

Regards.

2008-08-27 23:35:47

by Jesse Barnes

[permalink] [raw]
Subject: Re: [2.6.27-rc4-git4] compilation warnings

On Tuesday, August 26, 2008 8:20 am Greg KH wrote:
> On Tue, Aug 26, 2008 at 11:37:46AM +0200, Rufus & Azrael wrote:
> > Hello all,
> >
> > Fresh 2.6.27-rc4-git4 causes these compilation warnings on my amd64 box
> > with gcc-4.3.1 :
> >
> > drivers/pci/search.c: In function ‘pci_get_dev_by_id’:
> > drivers/pci/search.c:284: attention : passing argument 1 of
> > ‘pci_dev_put’ discards qualifiers from pointer target type
> >
> > following this commit : ebca4f1bce1eb7b91a63c515db66316db9391221 PCI: fix
> > reference leak in pci_get_dev_by_id()
>
> Ick, sorry about that, I said my fix was not even build tested :)
>
> Here's a fix for this, Jesse, care to forward this on?

This one's in my linux-next branch now, thanks Greg.

Jesse