net: rmnet_data: Fix comments on code review
- Remove redundant checks in tx / rx fixup.
- Remove debug aggregation counter
- Remove unused recycle handler
- Add CAP_NET_ADMIN checks for set IOCTLs
- Simplify the packet deliver code
CRs-Fixed: 2111801
Change-Id: I14c02462c27b319f7517caa178f25a8efa22abeb
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
diff --git a/net/rmnet_data/rmnet_data_vnd.c b/net/rmnet_data/rmnet_data_vnd.c
index 72f3c3b..c4ef460 100644
--- a/net/rmnet_data/rmnet_data_vnd.c
+++ b/net/rmnet_data/rmnet_data_vnd.c
@@ -101,55 +101,6 @@
}
}
-/* RX/TX Fixup */
-
-/* rmnet_vnd_rx_fixup() - Virtual Network Device receive fixup hook
- * @skb: Socket buffer ("packet") to modify
- * @dev: Virtual network device
- *
- * Additional VND specific packet processing for ingress packets
- *
- * Return:
- * - RX_HANDLER_PASS if packet should continue to process in stack
- * - RX_HANDLER_CONSUMED if packet should not be processed in stack
- *
- */
-int rmnet_vnd_rx_fixup(struct sk_buff *skb, struct net_device *dev)
-{
- if (unlikely(!dev || !skb))
- return RX_HANDLER_CONSUMED;
-
- dev->stats.rx_packets++;
- dev->stats.rx_bytes += skb->len;
-
- return RX_HANDLER_PASS;
-}
-
-/* rmnet_vnd_tx_fixup() - Virtual Network Device transmic fixup hook
- * @skb: Socket buffer ("packet") to modify
- * @dev: Virtual network device
- *
- * Additional VND specific packet processing for egress packets
- *
- * Return:
- * - RX_HANDLER_PASS if packet should continue to be transmitted
- * - RX_HANDLER_CONSUMED if packet should not be transmitted by stack
- */
-int rmnet_vnd_tx_fixup(struct sk_buff *skb, struct net_device *dev)
-{
- struct rmnet_vnd_private_s *dev_conf;
-
- dev_conf = (struct rmnet_vnd_private_s *)netdev_priv(dev);
-
- if (unlikely(!dev || !skb))
- return RX_HANDLER_CONSUMED;
-
- dev->stats.tx_packets++;
- dev->stats.tx_bytes += skb->len;
-
- return RX_HANDLER_PASS;
-}
-
/* Network Device Operations */
/* rmnet_vnd_start_xmit() - Transmit NDO callback
@@ -220,12 +171,16 @@
switch (cmd) {
case RMNET_IOCTL_SET_QOS_ENABLE:
+ if (!capable(CAP_NET_ADMIN))
+ return -EPERM;
LOGM("RMNET_IOCTL_SET_QOS_ENABLE on %s", dev->name);
if (!dev_conf->qos_version)
dev_conf->qos_version = RMNET_IOCTL_QOS_MODE_6;
break;
case RMNET_IOCTL_SET_QOS_DISABLE:
+ if (!capable(CAP_NET_ADMIN))
+ return -EPERM;
LOGM("RMNET_IOCTL_SET_QOS_DISABLE on %s", dev->name);
dev_conf->qos_version = 0;
break;
@@ -240,6 +195,8 @@
break;
case RMNET_IOCTL_FLOW_ENABLE:
+ if (!capable(CAP_NET_ADMIN))
+ return -EPERM;
LOGL("RMNET_IOCTL_FLOW_ENABLE on %s", dev->name);
if (copy_from_user(&ioctl_data, ifr->ifr_ifru.ifru_data,
sizeof(struct rmnet_ioctl_data_s))) {
@@ -252,6 +209,8 @@
break;
case RMNET_IOCTL_FLOW_DISABLE:
+ if (!capable(CAP_NET_ADMIN))
+ return -EPERM;
LOGL("RMNET_IOCTL_FLOW_DISABLE on %s", dev->name);
if (copy_from_user(&ioctl_data, ifr->ifr_ifru.ifru_data,
sizeof(struct rmnet_ioctl_data_s))) {
@@ -367,6 +326,8 @@
break;
case RMNET_IOCTL_SET_QOS_VERSION:
+ if (!capable(CAP_NET_ADMIN))
+ return -EPERM;
if (ext_cmd.u.data == RMNET_IOCTL_QOS_MODE_6 ||
ext_cmd.u.data == RMNET_IOCTL_QOS_MODE_8 ||
ext_cmd.u.data == 0) {