public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* question about smatch error
@ 2011-01-17  5:02 Roland Dreier
  2011-01-17  5:33 ` David Miller
  2011-01-17  6:06 ` Dan Carpenter
  0 siblings, 2 replies; 3+ messages in thread
From: Roland Dreier @ 2011-01-17  5:02 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: linux-kernel

Hi Dan,

I'm running smatch against some of my code, and I'm seeing the errors

drivers/infiniband/hw/mlx4/main.c +784 mlx4_addrconf_ifid_eui48(5) error: buffer overflow 'eui' 3 <= 3
drivers/infiniband/hw/mlx4/main.c +785 mlx4_addrconf_ifid_eui48(6) error: buffer overflow 'eui' 3 <= 4
drivers/infiniband/hw/mlx4/main.c +787 mlx4_addrconf_ifid_eui48(8) error: buffer overflow 'eui' 3 <= 3
drivers/infiniband/hw/mlx4/main.c +788 mlx4_addrconf_ifid_eui48(9) error: buffer overflow 'eui' 3 <= 4

and I can't understand what smatch is trying to say -- the code in
question is basically

	if (vlan_id < 0x1000) {
		eui[3] = vlan_id >> 8;
		eui[4] = vlan_id & 0xff;
	} else {
		eui[3] = 0xff;
		eui[4] = 0xfe;
	}

where eui is a u8*, and I don't see how smatch even thinks it knows how
big the buffer is in the first place.

This is with up-to-date smatch from git (my tree is at 798c4c13).

Thanks,
  Roland

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

end of thread, other threads:[~2011-01-17  6:06 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-17  5:02 question about smatch error Roland Dreier
2011-01-17  5:33 ` David Miller
2011-01-17  6:06 ` Dan Carpenter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox