[PATCH] packet_sendmsg_spkt incorrectly truncates an interface name

From: MAEDA Naoaki
Date: Tue Feb 10 2004 - 02:32:00 EST


Hi,

When I renamed a network interface name with long name such as heartbeat.eth1,
DHCP client failed to assign an IP address to the interface.

Problem is that packet_sendmsg_spkt() truncates an interface name
by 12 characters. That is why the following dev_get_by_name() fails to find
the corresponding net_device structure.

Obviously, max name length of a network interface name is IFNAMESIZ-1,
which is 15. I can not come up with any reasonable reason that
packet_sendmsg_spkt() should truncate the interface name by 12.
I guess it is just a trivial bug.

The following patch fix the problem.

Thanks,
Naoaki

diff -Naur linux-2.6.2.org/net/packet/af_packet.c linux-2.6.2/net/packet/af_packet.c
--- linux-2.6.2.org/net/packet/af_packet.c 2004-02-10 15:29:14.160320269 +0900
+++ linux-2.6.2/net/packet/af_packet.c 2004-02-10 15:29:52.656413548 +0900
@@ -311,7 +311,7 @@
* Find the device first to size check it
*/

- saddr->spkt_device[13] = 0;
+ saddr->spkt_device[IFNAMSIZ-1] = 0;
dev = dev_get_by_name(saddr->spkt_device);
err = -ENODEV;
if (dev == NULL)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/