The following commit has been merged in the linux branch:
commit f601f54446c9a8842f21f2dc07e62c8387b8f733
Author: Sven Eckelmann <sven.eckelmann(a)gmx.de>
Date: Mon Jan 25 10:09:46 2010 +0100
batman-adv: depend on NET instead of PACKET in Kconfig
The code which uses the raw packet sockets was removed. The only related
dependencies are the skb and netdev handling code. This is provided by
NET in Kconfig.
Signed-off-by: Sven Eckelmann <sven.eckelmann(a)gmx.de>
diff --git a/drivers/staging/batman-adv/Kconfig b/drivers/staging/batman-adv/Kconfig
index 69e8fb0..1e7e0a8 100644
--- a/drivers/staging/batman-adv/Kconfig
+++ b/drivers/staging/batman-adv/Kconfig
@@ -4,7 +4,7 @@
config BATMAN_ADV
tristate "B.A.T.M.A.N. Advanced Meshing Protocol"
- depends on PROC_FS && PACKET
+ depends on PROC_FS && NET
default n
---help---
--
batman-adv
Author: marek
Date: 2010-01-25 09:42:15 +0100 (Mon, 25 Jan 2010)
New Revision: 1564
Modified:
trunk/batman-adv-kernelland/routing.c
Log:
batman-adv: Fix skbuff leak in VIS code.
The vis code takes a copy of the data inside the skbuf if it is interesting
for us, so we always need to release the skbuf.
Reported-by: Linus L?\195?\188ssing <linus.luessing(a)web.de>
Signed-off-by: Andrew Lunn <andrew(a)lunn.ch>
Modified: trunk/batman-adv-kernelland/routing.c
===================================================================
--- trunk/batman-adv-kernelland/routing.c 2010-01-23 08:58:22 UTC (rev 1563)
+++ trunk/batman-adv-kernelland/routing.c 2010-01-25 08:42:15 UTC (rev 1564)
@@ -1116,7 +1116,6 @@
struct vis_packet *vis_packet;
struct ethhdr *ethhdr;
int hdr_size = sizeof(struct vis_packet);
- int ret;
if (skb_headlen(skb) < hdr_size)
return NET_RX_DROP;
@@ -1139,18 +1138,18 @@
case VIS_TYPE_SERVER_SYNC:
/* TODO: handle fragmented skbs properly */
receive_server_sync_packet(vis_packet, skb_headlen(skb));
- ret = NET_RX_SUCCESS;
break;
case VIS_TYPE_CLIENT_UPDATE:
/* TODO: handle fragmented skbs properly */
receive_client_update_packet(vis_packet, skb_headlen(skb));
- ret = NET_RX_SUCCESS;
break;
default: /* ignore unknown packet */
- ret = NET_RX_DROP;
break;
}
- return ret;
+
+ /* We take a copy of the data in the packet, so we should
+ always free the skbuf. */
+ return NET_RX_DROP;
}
Author: marek
Date: 2010-01-23 09:08:03 +0100 (Sat, 23 Jan 2010)
New Revision: 1562
Modified:
trunk/batman-adv-kernelland/gateway_common.c
Log:
batman-adv: gateway class is an unsigned value - treat it as such
Signed-off-by: Marek Lindner <lindner_marek(a)yahoo.de>
Modified: trunk/batman-adv-kernelland/gateway_common.c
===================================================================
--- trunk/batman-adv-kernelland/gateway_common.c 2010-01-23 05:12:19 UTC (rev 1561)
+++ trunk/batman-adv-kernelland/gateway_common.c 2010-01-23 08:08:03 UTC (rev 1562)
@@ -85,7 +85,7 @@
switch (*gw_mode_tmp) {
case GW_MODE_CLIENT:
- ret = strict_strtol(tokptr, 10, gw_clnt_class_tmp);
+ ret = strict_strtoul(tokptr, 10, gw_clnt_class_tmp);
if (ret) {
printk(KERN_ERR "Client class of gateway mode invalid: %s\n",
tokptr);
@@ -104,7 +104,7 @@
if (slash_ptr)
*slash_ptr = 0;
- ret = strict_strtol(tokptr, 10, down);
+ ret = strict_strtoul(tokptr, 10, down);
if (ret) {
printk(KERN_ERR "Download speed of gateway mode invalid: %s\n",
tokptr);
@@ -121,7 +121,7 @@
/* we also got some upload info */
if (slash_ptr) {
- ret = strict_strtol(slash_ptr + 1, 10, up);
+ ret = strict_strtoul(slash_ptr + 1, 10, up);
if (ret) {
printk(KERN_ERR "Upload speed of gateway mode invalid: %s\n",
slash_ptr + 1);