summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Nault <g.nault@alphalink.fr>2018-08-10 13:22:02 +0200
committerDavid S. Miller <davem@davemloft.net>2018-08-11 12:13:49 -0700
commit7390ed8a405013d0a7e1f4dc8ac495e0ac04996f (patch)
treec3682c22665ea9033c29abc543eb6ca3030c8a7b
parentb0e29063dcb3bf14f515f95e748b60e4bab45e7c (diff)
l2tp: zero out stats in pppol2tp_copy_stats()
Integrate memset(0) in pppol2tp_copy_stats() to avoid calling it manually every time. While there, constify 'stats'. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/l2tp/l2tp_ppp.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/net/l2tp/l2tp_ppp.c b/net/l2tp/l2tp_ppp.c
index bdfbd3ed7e14..e2eea60bf875 100644
--- a/net/l2tp/l2tp_ppp.c
+++ b/net/l2tp/l2tp_ppp.c
@@ -1026,8 +1026,10 @@ end:
****************************************************************************/
static void pppol2tp_copy_stats(struct pppol2tp_ioc_stats *dest,
- struct l2tp_stats *stats)
+ const struct l2tp_stats *stats)
{
+ memset(dest, 0, sizeof(*dest));
+
dest->tx_packets = atomic_long_read(&stats->tx_packets);
dest->tx_bytes = atomic_long_read(&stats->tx_bytes);
dest->tx_errors = atomic_long_read(&stats->tx_errors);
@@ -1044,7 +1046,6 @@ static int pppol2tp_tunnel_copy_stats(struct pppol2tp_ioc_stats *stats,
struct l2tp_session *session;
if (!stats->session_id) {
- memset(stats, 0, sizeof(*stats));
pppol2tp_copy_stats(stats, &tunnel->stats);
return 0;
}
@@ -1061,7 +1062,6 @@ static int pppol2tp_tunnel_copy_stats(struct pppol2tp_ioc_stats *stats,
return -EBADR;
}
- memset(stats, 0, sizeof(*stats));
pppol2tp_copy_stats(stats, &session->stats);
l2tp_session_dec_refcount(session);
@@ -1126,7 +1126,6 @@ static int pppol2tp_ioctl(struct socket *sock, unsigned int cmd,
stats.session_id = session_id;
} else {
- memset(&stats, 0, sizeof(stats));
pppol2tp_copy_stats(&stats, &session->stats);
stats.session_id = session->session_id;
}