From faced58827ce7026aebfc41b9afb987aef6301c9 Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Sat, 4 Aug 2012 20:26:13 +0000 Subject: [PATCH] --- yaml --- r: 327385 b: refs/heads/master c: d25398df59b561a26cb4000ceb4dea8a3ff94d22 h: refs/heads/master i: 327383: 0937c921085cf5e1ccdd32acbe54f62fb5e2d04a v: v3 --- [refs] | 2 +- trunk/include/net/snmp.h | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 3aada10795c2..177a0c5e78ba 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9eb43e765368f835d92c93844ebce30da7efeb84 +refs/heads/master: d25398df59b561a26cb4000ceb4dea8a3ff94d22 diff --git a/trunk/include/net/snmp.h b/trunk/include/net/snmp.h index 0147b901e79c..71596261fa99 100644 --- a/trunk/include/net/snmp.h +++ b/trunk/include/net/snmp.h @@ -154,13 +154,15 @@ struct linux_xfrm_mib { */ #define SNMP_UPD_PO_STATS(mib, basefield, addend) \ do { \ - this_cpu_inc(mib[0]->mibs[basefield##PKTS]); \ - this_cpu_add(mib[0]->mibs[basefield##OCTETS], addend); \ + __typeof__(*mib[0]->mibs) *ptr = mib[0]->mibs; \ + this_cpu_inc(ptr[basefield##PKTS]); \ + this_cpu_add(ptr[basefield##OCTETS], addend); \ } while (0) #define SNMP_UPD_PO_STATS_BH(mib, basefield, addend) \ do { \ - __this_cpu_inc(mib[0]->mibs[basefield##PKTS]); \ - __this_cpu_add(mib[0]->mibs[basefield##OCTETS], addend); \ + __typeof__(*mib[0]->mibs) *ptr = mib[0]->mibs; \ + __this_cpu_inc(ptr[basefield##PKTS]); \ + __this_cpu_add(ptr[basefield##OCTETS], addend); \ } while (0)