diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-04-28 10:59:20 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-04-28 10:59:20 +0000 | 
| commit | 0c04ef4beefc6c59f51bca1ad20be72190d9c95c (patch) | |
| tree | 21eec72d0942fd094f1579c64dcfd795185309eb | |
| parent | 307307cb478213c7bcbc2d6a6295b7ef3b0d1fef (diff) | |
minor cleanup for packet socket type filter
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15467 3c298f89-4303-0410-b956-a3cf2f4a3e73
| -rw-r--r-- | target/linux/generic-2.6/patches-2.6.28/240-packet_socket_type.patch | 12 | ||||
| -rw-r--r-- | target/linux/generic-2.6/patches-2.6.29/240-packet_socket_type.patch | 12 | 
2 files changed, 12 insertions, 12 deletions
| diff --git a/target/linux/generic-2.6/patches-2.6.28/240-packet_socket_type.patch b/target/linux/generic-2.6/patches-2.6.28/240-packet_socket_type.patch index 741966bc6..710b7c06a 100644 --- a/target/linux/generic-2.6/patches-2.6.28/240-packet_socket_type.patch +++ b/target/linux/generic-2.6/patches-2.6.28/240-packet_socket_type.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>   /* These ones are invisible by user level */   #define PACKET_LOOPBACK		5		/* MC/BRD frame looped back */   #define PACKET_FASTROUTE	6		/* Fastrouted frame	*/ -+#define PACKET_ANY		0xffffffff ++#define PACKET_MASK_ANY		0xffffffff	/* mask for packet type bits */  +   /* Packet socket options */ @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>   	unsigned int		tp_hdrlen;   	unsigned int		tp_reserve;   #endif -+	int			pkt_type; ++	unsigned int		pkt_type;   };   struct packet_skb_cb { @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>   	spin_lock_init(&po->bind_lock);   	mutex_init(&po->pg_vec_lock);   	po->prot_hook.func = packet_rcv; -+	po->pkt_type = PACKET_ANY & ~PACKET_LOOPBACK; ++	po->pkt_type = PACKET_MASK_ANY & ~PACKET_LOOPBACK;   	if (sock->type == SOCK_PACKET)   		po->prot_hook.func = packet_rcv_spkt; @@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>   	}  +	case PACKET_RECV_TYPE:  +	{ -+		int val; ++		unsigned int val;  +		if (optlen != sizeof(val))  +			return -EINVAL;  +		if (copy_from_user(&val, optval, sizeof(val))) @@ -121,8 +121,8 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>   		data = &val;   		break;  +	case PACKET_RECV_TYPE: -+		if (len > sizeof(int)) -+			len = sizeof(int); ++		if (len > sizeof(unsigned int)) ++			len = sizeof(unsigned int);  +		val = po->pkt_type;  +  +		data = &val; diff --git a/target/linux/generic-2.6/patches-2.6.29/240-packet_socket_type.patch b/target/linux/generic-2.6/patches-2.6.29/240-packet_socket_type.patch index 741966bc6..710b7c06a 100644 --- a/target/linux/generic-2.6/patches-2.6.29/240-packet_socket_type.patch +++ b/target/linux/generic-2.6/patches-2.6.29/240-packet_socket_type.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>   /* These ones are invisible by user level */   #define PACKET_LOOPBACK		5		/* MC/BRD frame looped back */   #define PACKET_FASTROUTE	6		/* Fastrouted frame	*/ -+#define PACKET_ANY		0xffffffff ++#define PACKET_MASK_ANY		0xffffffff	/* mask for packet type bits */  +   /* Packet socket options */ @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>   	unsigned int		tp_hdrlen;   	unsigned int		tp_reserve;   #endif -+	int			pkt_type; ++	unsigned int		pkt_type;   };   struct packet_skb_cb { @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>   	spin_lock_init(&po->bind_lock);   	mutex_init(&po->pg_vec_lock);   	po->prot_hook.func = packet_rcv; -+	po->pkt_type = PACKET_ANY & ~PACKET_LOOPBACK; ++	po->pkt_type = PACKET_MASK_ANY & ~PACKET_LOOPBACK;   	if (sock->type == SOCK_PACKET)   		po->prot_hook.func = packet_rcv_spkt; @@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>   	}  +	case PACKET_RECV_TYPE:  +	{ -+		int val; ++		unsigned int val;  +		if (optlen != sizeof(val))  +			return -EINVAL;  +		if (copy_from_user(&val, optval, sizeof(val))) @@ -121,8 +121,8 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>   		data = &val;   		break;  +	case PACKET_RECV_TYPE: -+		if (len > sizeof(int)) -+			len = sizeof(int); ++		if (len > sizeof(unsigned int)) ++			len = sizeof(unsigned int);  +		val = po->pkt_type;  +  +		data = &val; | 
