2013-04-19 03:21:38

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build failure after merge of the net-next tree

Hi all,

After merging the net-next tree, today's linux-next build (x86_64
allmodconfig) failed like this:

net/batman-adv/network-coding.c: In function 'batadv_nc_skb_store_sniffed_unicast':
net/batman-adv/network-coding.c:1487:2: warning: passing argument 1 of 'batadv_is_my_mac' from incompatible pointer type [enabled by default]
net/batman-adv/main.h:168:5: note: expected 'struct batadv_priv *' but argument is of type 'unsigned char *'
net/batman-adv/network-coding.c:1487:2: error: too few arguments to function 'batadv_is_my_mac'
net/batman-adv/main.h:168:5: note: declared here
net/batman-adv/network-coding.c: In function 'batadv_nc_skb_decode_packet':
net/batman-adv/network-coding.c:1540:2: warning: passing argument 1 of 'batadv_is_my_mac' from incompatible pointer type [enabled by default]
net/batman-adv/main.h:168:5: note: expected 'struct batadv_priv *' but argument is of type 'uint8_t *'
net/batman-adv/network-coding.c:1540:2: error: too few arguments to function 'batadv_is_my_mac'
net/batman-adv/main.h:168:5: note: declared here
net/batman-adv/network-coding.c: In function 'batadv_nc_find_decoding_packet':
net/batman-adv/network-coding.c:1611:2: warning: passing argument 1 of 'batadv_is_my_mac' from incompatible pointer type [enabled by default]
net/batman-adv/main.h:168:5: note: expected 'struct batadv_priv *' but argument is of type 'uint8_t *'
net/batman-adv/network-coding.c:1611:2: error: too few arguments to function 'batadv_is_my_mac'
net/batman-adv/main.h:168:5: note: declared here
net/batman-adv/network-coding.c: In function 'batadv_nc_recv_coded_packet':
net/batman-adv/network-coding.c:1678:2: warning: passing argument 1 of 'batadv_is_my_mac' from incompatible pointer type [enabled by default]
net/batman-adv/main.h:168:5: note: expected 'struct batadv_priv *' but argument is of type 'unsigned char *'
net/batman-adv/network-coding.c:1678:2: error: too few arguments to function 'batadv_is_my_mac'
net/batman-adv/main.h:168:5: note: declared here
net/batman-adv/network-coding.c:1679:6: warning: passing argument 1 of 'batadv_is_my_mac' from incompatible pointer type [enabled by default]
net/batman-adv/main.h:168:5: note: expected 'struct batadv_priv *' but argument is of type 'uint8_t *'
net/batman-adv/network-coding.c:1679:6: error: too few arguments to function 'batadv_is_my_mac'
net/batman-adv/main.h:168:5: note: declared here
net/batman-adv/network-coding.c:1683:2: warning: passing argument 1 of 'batadv_is_my_mac' from incompatible pointer type [enabled by default]
net/batman-adv/main.h:168:5: note: expected 'struct batadv_priv *' but argument is of type 'uint8_t *'
net/batman-adv/network-coding.c:1683:2: error: too few arguments to function 'batadv_is_my_mac'
net/batman-adv/main.h:168:5: note: declared here

Caused by commits 612d2b4fe0a1 ("batman-adv: network coding - save
overheard and tx packets for decoding") and 2df5278b0267 ("batman-adv:
network coding - receive coded packets and decode them") from the
net-next tree interacting with commit fe8a93b95145 ("batman-adv: make
is_my_mac() check for the current mesh only") from the net tree.

I added the following merge fix patch and can carry it as necessary:

From: Stephen Rothwell <[email protected]>
Date: Fri, 19 Apr 2013 13:13:25 +1000
Subject: [PATCH] batman-adv: merge fix for batadv_is_my_mac() API change

Signed-off-by: Stephen Rothwell <[email protected]>
---
net/batman-adv/network-coding.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/net/batman-adv/network-coding.c b/net/batman-adv/network-coding.c
index 6b9a544..382db5e 100644
--- a/net/batman-adv/network-coding.c
+++ b/net/batman-adv/network-coding.c
@@ -1484,7 +1484,7 @@ void batadv_nc_skb_store_sniffed_unicast(struct batadv_priv *bat_priv,
{
struct ethhdr *ethhdr = (struct ethhdr *)skb_mac_header(skb);

- if (batadv_is_my_mac(ethhdr->h_dest))
+ if (batadv_is_my_mac(bat_priv, ethhdr->h_dest))
return;

/* Set data pointer to MAC header to mimic packets from our tx path */
@@ -1496,6 +1496,7 @@ void batadv_nc_skb_store_sniffed_unicast(struct batadv_priv *bat_priv,
/**
* batadv_nc_skb_decode_packet - decode given skb using the decode data stored
* in nc_packet
+ * @bat_priv: the bat priv with all the soft interface information
* @skb: unicast skb to decode
* @nc_packet: decode data needed to decode the skb
*
@@ -1503,7 +1504,7 @@ void batadv_nc_skb_store_sniffed_unicast(struct batadv_priv *bat_priv,
* in case of an error.
*/
static struct batadv_unicast_packet *
-batadv_nc_skb_decode_packet(struct sk_buff *skb,
+batadv_nc_skb_decode_packet(struct batadv_priv *bat_priv, struct sk_buff *skb,
struct batadv_nc_packet *nc_packet)
{
const int h_size = sizeof(struct batadv_unicast_packet);
@@ -1537,7 +1538,7 @@ batadv_nc_skb_decode_packet(struct sk_buff *skb,
/* Select the correct unicast header information based on the location
* of our mac address in the coded_packet header
*/
- if (batadv_is_my_mac(coded_packet_tmp.second_dest)) {
+ if (batadv_is_my_mac(bat_priv, coded_packet_tmp.second_dest)) {
/* If we are the second destination the packet was overheard,
* so the Ethernet address must be copied to h_dest and
* pkt_type changed from PACKET_OTHERHOST to PACKET_HOST
@@ -1608,7 +1609,7 @@ batadv_nc_find_decoding_packet(struct batadv_priv *bat_priv,

/* Select the correct packet id based on the location of our mac-addr */
dest = ethhdr->h_source;
- if (!batadv_is_my_mac(coded->second_dest)) {
+ if (!batadv_is_my_mac(bat_priv, coded->second_dest)) {
source = coded->second_source;
packet_id = coded->second_crc;
} else {
@@ -1675,12 +1676,12 @@ static int batadv_nc_recv_coded_packet(struct sk_buff *skb,
ethhdr = (struct ethhdr *)skb_mac_header(skb);

/* Verify frame is destined for us */
- if (!batadv_is_my_mac(ethhdr->h_dest) &&
- !batadv_is_my_mac(coded_packet->second_dest))
+ if (!batadv_is_my_mac(bat_priv, ethhdr->h_dest) &&
+ !batadv_is_my_mac(bat_priv, coded_packet->second_dest))
return NET_RX_DROP;

/* Update stat counter */
- if (batadv_is_my_mac(coded_packet->second_dest))
+ if (batadv_is_my_mac(bat_priv, coded_packet->second_dest))
batadv_inc_counter(bat_priv, BATADV_CNT_NC_SNIFFED);

nc_packet = batadv_nc_find_decoding_packet(bat_priv, ethhdr,
@@ -1698,7 +1699,7 @@ static int batadv_nc_recv_coded_packet(struct sk_buff *skb,
goto free_nc_packet;

/* Decode the packet */
- unicast_packet = batadv_nc_skb_decode_packet(skb, nc_packet);
+ unicast_packet = batadv_nc_skb_decode_packet(bat_priv, skb, nc_packet);
if (!unicast_packet) {
batadv_inc_counter(bat_priv, BATADV_CNT_NC_DECODE_FAILED);
goto free_nc_packet;
--
1.8.1

--
Cheers,
Stephen Rothwell [email protected]


Attachments:
(No filename) (6.63 kB)
(No filename) (836.00 B)
Download all attachments

2013-04-19 07:56:24

by Antonio Quartulli

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the net-next tree

Hi Stephen,

On Fri, Apr 19, 2013 at 01:21:27PM +1000, Stephen Rothwell wrote:
>
> Caused by commits 612d2b4fe0a1 ("batman-adv: network coding - save
> overheard and tx packets for decoding") and 2df5278b0267 ("batman-adv:
> network coding - receive coded packets and decode them") from the
> net-next tree interacting with commit fe8a93b95145 ("batman-adv: make
> is_my_mac() check for the current mesh only") from the net tree.
>
> I added the following merge fix patch and can carry it as necessary:


thank you very much for taking care of this.
However, as I wrote to David in the pull request which generated this noise
(http://patchwork.ozlabs.org/patch/237363/), I am now going to send a second
pull request which fixes this problem properly and adds the related kernel doc.

Your patch looks good, but I'd prefer to send my already prepared pull request.

Is it ok with you?

Cheers,




--
Antonio Quartulli

..each of us alone is worth nothing..
Ernesto "Che" Guevara


Attachments:
(No filename) (982.00 B)
signature.asc (836.00 B)
Digital signature
Download all attachments

2013-04-19 08:13:41

by Stephen Rothwell

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the net-next tree

Hi Antonio,

On Fri, 19 Apr 2013 09:34:09 +0200 Antonio Quartulli <[email protected]> wrote:
>
> Your patch looks good, but I'd prefer to send my already prepared pull request.
>
> Is it ok with you?

Its entirely up to Dave how/if he fixes this up. He could just leave it
to Linus, though he would usually pull the net tree into the net-next
tree after Linus merges the net tree - in which case, this should be
fixed in that merge.

i.e. ask Dave :-)
--
Cheers,
Stephen Rothwell [email protected]


Attachments:
(No filename) (525.00 B)
(No filename) (836.00 B)
Download all attachments

2013-04-23 00:39:15

by David Miller

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the net-next tree

From: Stephen Rothwell <[email protected]>
Date: Fri, 19 Apr 2013 13:21:27 +1000

> After merging the net-next tree, today's linux-next build (x86_64
> allmodconfig) failed like this:

I also made sure this got fixed in the merge commit.