2012-09-03 19:13:36

by Andi Kleen

[permalink] [raw]
Subject: [PATCH] Remove bogus memcpy in brcm80211 ai_detach

gcc 4.8 warns for this memcpy. While the copy size is correct, the whole
copy seems to be a nop because the destination is never used, and
there's no need to use memcpy to copy pointers anyways. And the
type of the pointer was wrong, but at least those are always the same.

Just remove it.

/backup/lsrc/git/linux-lto-2.6/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c: In function 'ai_detach':
/backup/lsrc/git/linux-lto-2.6/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c:539:32: warning: argument to 'sizeof' in 'memcpy' call is the same pointer type 'struct si_pub **' as the destination; expected 'struct si_pub *' or an explicit length [-Wsizeof-pointer-memaccess]
memcpy(&si_local, &sih, sizeof(struct si_pub **));
^

Signed-off-by: Andi Kleen <[email protected]>

diff --git a/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c b/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c
index 8c9345d..b89f127 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c
+++ b/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c
@@ -535,9 +535,6 @@ void ai_detach(struct si_pub *sih)
{
struct si_info *sii;

- struct si_pub *si_local = NULL;
- memcpy(&si_local, &sih, sizeof(struct si_pub **));
-
sii = container_of(sih, struct si_info, pub);

if (sii == NULL)

--
[email protected] -- Speaking for myself only.


2012-09-03 19:22:53

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH] Remove bogus memcpy in brcm80211 ai_detach

On 09/03/2012 02:13 PM, Andi Kleen wrote:
> gcc 4.8 warns for this memcpy. While the copy size is correct, the whole
> copy seems to be a nop because the destination is never used, and
> there's no need to use memcpy to copy pointers anyways. And the
> type of the pointer was wrong, but at least those are always the same.
>
> Just remove it.

Andi,

Have you compiled all of wireless with gcc 4.8? If so, can I assume that you
will report warnings for other drivers?

Thanks,

Larry



2012-09-03 20:03:51

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH] Remove bogus memcpy in brcm80211 ai_detach

On 09/03/2012 02:57 PM, Andi Kleen wrote:
> On Mon, Sep 03, 2012 at 02:22:48PM -0500, Larry Finger wrote:

>> Have you compiled all of wireless with gcc 4.8? If so, can I assume that
>> you will report warnings for other drivers?
>
> I did 64bit allyesconfig with LTO yes. wireless has very few warnings overall,
> compared to many other subsystems.
>
> I found one other issue in it for which I'm sending a patch.

Thanks for responding, and for doing the cleanup.

Larry




2012-09-03 19:57:00

by Andi Kleen

[permalink] [raw]
Subject: Re: [PATCH] Remove bogus memcpy in brcm80211 ai_detach

On Mon, Sep 03, 2012 at 02:22:48PM -0500, Larry Finger wrote:
> On 09/03/2012 02:13 PM, Andi Kleen wrote:
> >gcc 4.8 warns for this memcpy. While the copy size is correct, the whole
> >copy seems to be a nop because the destination is never used, and
> >there's no need to use memcpy to copy pointers anyways. And the
> >type of the pointer was wrong, but at least those are always the same.
> >
> >Just remove it.
>
> Andi,
>
> Have you compiled all of wireless with gcc 4.8? If so, can I assume that
> you will report warnings for other drivers?

I did 64bit allyesconfig with LTO yes. wireless has very few warnings overall,
compared to many other subsystems.

I found one other issue in it for which I'm sending a patch.

-Andi


--
[email protected] -- Speaking for myself only.