All of lore.kernel.org
 help / color / mirror / Atom feed
* arcnet: protocol is buggy messages in 3.0 kernel, not in 2.33 kernel
@ 2012-05-03 12:21 Rob Janssen
  2012-05-03 13:25 ` Rob Janssen
  2012-05-03 23:23 ` Francois Romieu
  0 siblings, 2 replies; 4+ messages in thread
From: Rob Janssen @ 2012-05-03 12:21 UTC (permalink / raw)
  To: netdev

Hello all

Since we've moved from the 2.33 kernel to the 3.0 kernel, we see the
following kernel messages in dmesg:

protocol 001a is buggy, dev arc0 skb=c702e2f4

The device involved is an arcnet device.
The warning is logged by dev.c, see the following code snippet:

if (skb_network_header(skb2) < skb2->data ||
			    skb2->network_header > skb2->tail) {
				if (net_ratelimit())
					printk(KERN_CRIT "protocol %04x is "
					       "buggy, dev %s skb=%04x\n",
					       ntohs(skb2->protocol),
					       dev->name, skb_network_header(skb2));
				skb_reset_network_header(skb2);
			}
I added some logging, and it appears that skb2->network_header is
placed in memory beyond skb2->tail (the second check).

Does anyone have what causes this message in the 3.0 kernel and/or how
to fix this ?

Thanks in advance,

Rob Janssen

^ permalink raw reply	[flat|nested] 4+ messages in thread

* arcnet: protocol is buggy messages in 3.0 kernel, not in 2.33 kernel
  2012-05-03 12:21 arcnet: protocol is buggy messages in 3.0 kernel, not in 2.33 kernel Rob Janssen
@ 2012-05-03 13:25 ` Rob Janssen
  2012-05-03 23:23 ` Francois Romieu
  1 sibling, 0 replies; 4+ messages in thread
From: Rob Janssen @ 2012-05-03 13:25 UTC (permalink / raw)
  To: linux-kernel

Hello all

Since we've moved from the 2.33 kernel to the 3.0 kernel, we see the
following kernel messages in dmesg:

protocol 001a is buggy, dev arc0 skb=c702e2f4

The device involved is an arcnet device.
The warning is logged by dev.c, see the following code snippet:

if (skb_network_header(skb2) < skb2->data ||
                           skb2->network_header > skb2->tail) {
                               if (net_ratelimit())
                                       printk(KERN_CRIT "protocol %04x is "
                                              "buggy, dev %s skb=%04x\n",
                                              ntohs(skb2->protocol),
                                              dev->name,
skb_network_header(skb2));
                               skb_reset_network_header(skb2);
                       }
I added some logging, and it appears that skb2->network_header is
placed in memory beyond skb2->tail (the second check).

Does anyone have what causes this message in the 3.0 kernel and/or how
to fix this ?

Thanks in advance,

Rob Janssen

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: arcnet: protocol is buggy messages in 3.0 kernel, not in 2.33 kernel
  2012-05-03 12:21 arcnet: protocol is buggy messages in 3.0 kernel, not in 2.33 kernel Rob Janssen
  2012-05-03 13:25 ` Rob Janssen
@ 2012-05-03 23:23 ` Francois Romieu
  2012-05-22 13:01   ` Rob Janssen
  1 sibling, 1 reply; 4+ messages in thread
From: Francois Romieu @ 2012-05-03 23:23 UTC (permalink / raw)
  To: Rob Janssen; +Cc: netdev

Rob Janssen <rob.janssen76@gmail.com> :
[...]
> Does anyone have what causes this message in the 3.0 kernel and/or how
> to fix this ?

Wild guess: hard_header_len is sizeof(struct archdr). archdr embeds a huge
ethhdr but the header build helper only accounts for ARC_HDR_SIZE +
RFC1201_HDR_SIZE.

-- 
Ueimor

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: arcnet: protocol is buggy messages in 3.0 kernel, not in 2.33 kernel
  2012-05-03 23:23 ` Francois Romieu
@ 2012-05-22 13:01   ` Rob Janssen
  0 siblings, 0 replies; 4+ messages in thread
From: Rob Janssen @ 2012-05-22 13:01 UTC (permalink / raw)
  To: netdev

On Fri, May 4, 2012 at 1:23 AM, Francois Romieu <romieu@fr.zoreil.com> wrote:
> Rob Janssen <rob.janssen76@gmail.com> :
> [...]
>> Does anyone have what causes this message in the 3.0 kernel and/or how
>> to fix this ?
>
> Wild guess: hard_header_len is sizeof(struct archdr). archdr embeds a huge
> ethhdr but the header build helper only accounts for ARC_HDR_SIZE +
> RFC1201_HDR_SIZE.
>
> --
> Ueimor

I solved the problem:
The socket was opened with the wrong protocol: ETH_P_ALL instead of
ETH_P_ARCNET.
This causes arcnet messages to be sent to all network devices.
I don't know why older kernel versions didn't complain..

Rob

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-05-22 13:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-03 12:21 arcnet: protocol is buggy messages in 3.0 kernel, not in 2.33 kernel Rob Janssen
2012-05-03 13:25 ` Rob Janssen
2012-05-03 23:23 ` Francois Romieu
2012-05-22 13:01   ` Rob Janssen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.