Loading include/linux/xfrm.h +7 −14 Original line number Diff line number Diff line Loading @@ -243,17 +243,6 @@ enum xfrm_ae_ftype_t { #define XFRM_AE_MAX (__XFRM_AE_MAX - 1) }; /* SAD Table filter flags */ enum xfrm_sad_ftype_t { XFRM_SAD_UNSPEC, XFRM_SAD_HMASK=1, XFRM_SAD_HMAX=2, XFRM_SAD_CNT=4, __XFRM_SAD_MAX #define XFRM_SAD_MAX (__XFRM_SAD_MAX - 1) }; struct xfrm_userpolicy_type { __u8 type; __u16 reserved1; Loading Loading @@ -287,14 +276,18 @@ enum xfrm_attr_type_t { enum xfrm_sadattr_type_t { XFRMA_SAD_UNSPEC, XFRMA_SADHMASK, XFRMA_SADHMAX, XFRMA_SADCNT, XFRMA_SAD_CNT, XFRMA_SAD_HINFO, __XFRMA_SAD_MAX #define XFRMA_SAD_MAX (__XFRMA_SAD_MAX - 1) }; struct xfrmu_sadhinfo { __u32 sadhcnt; /* current hash bkts */ __u32 sadhmcnt; /* max allowed hash bkts */ }; /* SPD Table filter flags */ enum xfrm_spd_ftype_t { XFRM_SPD_UNSPEC, Loading include/net/xfrm.h +8 −9 Original line number Diff line number Diff line Loading @@ -416,14 +416,6 @@ struct xfrm_audit u32 secid; }; /* SAD metadata, add more later */ struct xfrm_sadinfo { u32 sadhcnt; /* current hash bkts */ u32 sadhmcnt; /* max allowed hash bkts */ u32 sadcnt; /* current running count */ }; struct xfrm_spdinfo { u32 incnt; Loading Loading @@ -964,10 +956,17 @@ static inline int xfrm_state_sort(struct xfrm_state **dst, struct xfrm_state **s return -ENOSYS; } #endif struct xfrmk_sadinfo { u32 sadhcnt; /* current hash bkts */ u32 sadhmcnt; /* max allowed hash bkts */ u32 sadcnt; /* current running count */ }; extern struct xfrm_state *xfrm_find_acq_byseq(u32 seq); extern int xfrm_state_delete(struct xfrm_state *x); extern void xfrm_state_flush(u8 proto, struct xfrm_audit *audit_info); extern void xfrm_sad_getinfo(struct xfrm_sadinfo *si); extern void xfrm_sad_getinfo(struct xfrmk_sadinfo *si); extern void xfrm_spd_getinfo(struct xfrm_spdinfo *si); extern int xfrm_replay_check(struct xfrm_state *x, __be32 seq); extern void xfrm_replay_advance(struct xfrm_state *x, __be32 seq); Loading net/xfrm/xfrm_state.c +1 −1 Original line number Diff line number Diff line Loading @@ -421,7 +421,7 @@ void xfrm_state_flush(u8 proto, struct xfrm_audit *audit_info) } EXPORT_SYMBOL(xfrm_state_flush); void xfrm_sad_getinfo(struct xfrm_sadinfo *si) void xfrm_sad_getinfo(struct xfrmk_sadinfo *si) { spin_lock_bh(&xfrm_state_lock); si->sadcnt = xfrm_state_num; Loading net/xfrm/xfrm_user.c +9 −13 Original line number Diff line number Diff line Loading @@ -749,7 +749,8 @@ static int xfrm_get_spdinfo(struct sk_buff *skb, struct nlmsghdr *nlh, static int build_sadinfo(struct sk_buff *skb, u32 pid, u32 seq, u32 flags) { struct xfrm_sadinfo si; struct xfrmk_sadinfo si; struct xfrmu_sadhinfo sh; struct nlmsghdr *nlh; u32 *f; Loading @@ -761,12 +762,11 @@ static int build_sadinfo(struct sk_buff *skb, u32 pid, u32 seq, u32 flags) *f = flags; xfrm_sad_getinfo(&si); if (flags & XFRM_SAD_HMASK) NLA_PUT_U32(skb, XFRMA_SADHMASK, si.sadhcnt); if (flags & XFRM_SAD_HMAX) NLA_PUT_U32(skb, XFRMA_SADHMAX, si.sadhmcnt); if (flags & XFRM_SAD_CNT) NLA_PUT_U32(skb, XFRMA_SADCNT, si.sadcnt); sh.sadhmcnt = si.sadhmcnt; sh.sadhcnt = si.sadhcnt; NLA_PUT_U32(skb, XFRMA_SAD_CNT, si.sadcnt); NLA_PUT(skb, XFRMA_SAD_HINFO, sizeof(sh), &sh); return nlmsg_end(skb, nlh); Loading @@ -784,11 +784,7 @@ static int xfrm_get_sadinfo(struct sk_buff *skb, struct nlmsghdr *nlh, u32 seq = nlh->nlmsg_seq; int len = NLMSG_LENGTH(sizeof(u32)); if (*flags & XFRM_SAD_HMASK) len += RTA_SPACE(sizeof(u32)); if (*flags & XFRM_SAD_HMAX) len += RTA_SPACE(sizeof(u32)); if (*flags & XFRM_SAD_CNT) len += RTA_SPACE(sizeof(struct xfrmu_sadhinfo)); len += RTA_SPACE(sizeof(u32)); r_skb = alloc_skb(len, GFP_ATOMIC); Loading Loading
include/linux/xfrm.h +7 −14 Original line number Diff line number Diff line Loading @@ -243,17 +243,6 @@ enum xfrm_ae_ftype_t { #define XFRM_AE_MAX (__XFRM_AE_MAX - 1) }; /* SAD Table filter flags */ enum xfrm_sad_ftype_t { XFRM_SAD_UNSPEC, XFRM_SAD_HMASK=1, XFRM_SAD_HMAX=2, XFRM_SAD_CNT=4, __XFRM_SAD_MAX #define XFRM_SAD_MAX (__XFRM_SAD_MAX - 1) }; struct xfrm_userpolicy_type { __u8 type; __u16 reserved1; Loading Loading @@ -287,14 +276,18 @@ enum xfrm_attr_type_t { enum xfrm_sadattr_type_t { XFRMA_SAD_UNSPEC, XFRMA_SADHMASK, XFRMA_SADHMAX, XFRMA_SADCNT, XFRMA_SAD_CNT, XFRMA_SAD_HINFO, __XFRMA_SAD_MAX #define XFRMA_SAD_MAX (__XFRMA_SAD_MAX - 1) }; struct xfrmu_sadhinfo { __u32 sadhcnt; /* current hash bkts */ __u32 sadhmcnt; /* max allowed hash bkts */ }; /* SPD Table filter flags */ enum xfrm_spd_ftype_t { XFRM_SPD_UNSPEC, Loading
include/net/xfrm.h +8 −9 Original line number Diff line number Diff line Loading @@ -416,14 +416,6 @@ struct xfrm_audit u32 secid; }; /* SAD metadata, add more later */ struct xfrm_sadinfo { u32 sadhcnt; /* current hash bkts */ u32 sadhmcnt; /* max allowed hash bkts */ u32 sadcnt; /* current running count */ }; struct xfrm_spdinfo { u32 incnt; Loading Loading @@ -964,10 +956,17 @@ static inline int xfrm_state_sort(struct xfrm_state **dst, struct xfrm_state **s return -ENOSYS; } #endif struct xfrmk_sadinfo { u32 sadhcnt; /* current hash bkts */ u32 sadhmcnt; /* max allowed hash bkts */ u32 sadcnt; /* current running count */ }; extern struct xfrm_state *xfrm_find_acq_byseq(u32 seq); extern int xfrm_state_delete(struct xfrm_state *x); extern void xfrm_state_flush(u8 proto, struct xfrm_audit *audit_info); extern void xfrm_sad_getinfo(struct xfrm_sadinfo *si); extern void xfrm_sad_getinfo(struct xfrmk_sadinfo *si); extern void xfrm_spd_getinfo(struct xfrm_spdinfo *si); extern int xfrm_replay_check(struct xfrm_state *x, __be32 seq); extern void xfrm_replay_advance(struct xfrm_state *x, __be32 seq); Loading
net/xfrm/xfrm_state.c +1 −1 Original line number Diff line number Diff line Loading @@ -421,7 +421,7 @@ void xfrm_state_flush(u8 proto, struct xfrm_audit *audit_info) } EXPORT_SYMBOL(xfrm_state_flush); void xfrm_sad_getinfo(struct xfrm_sadinfo *si) void xfrm_sad_getinfo(struct xfrmk_sadinfo *si) { spin_lock_bh(&xfrm_state_lock); si->sadcnt = xfrm_state_num; Loading
net/xfrm/xfrm_user.c +9 −13 Original line number Diff line number Diff line Loading @@ -749,7 +749,8 @@ static int xfrm_get_spdinfo(struct sk_buff *skb, struct nlmsghdr *nlh, static int build_sadinfo(struct sk_buff *skb, u32 pid, u32 seq, u32 flags) { struct xfrm_sadinfo si; struct xfrmk_sadinfo si; struct xfrmu_sadhinfo sh; struct nlmsghdr *nlh; u32 *f; Loading @@ -761,12 +762,11 @@ static int build_sadinfo(struct sk_buff *skb, u32 pid, u32 seq, u32 flags) *f = flags; xfrm_sad_getinfo(&si); if (flags & XFRM_SAD_HMASK) NLA_PUT_U32(skb, XFRMA_SADHMASK, si.sadhcnt); if (flags & XFRM_SAD_HMAX) NLA_PUT_U32(skb, XFRMA_SADHMAX, si.sadhmcnt); if (flags & XFRM_SAD_CNT) NLA_PUT_U32(skb, XFRMA_SADCNT, si.sadcnt); sh.sadhmcnt = si.sadhmcnt; sh.sadhcnt = si.sadhcnt; NLA_PUT_U32(skb, XFRMA_SAD_CNT, si.sadcnt); NLA_PUT(skb, XFRMA_SAD_HINFO, sizeof(sh), &sh); return nlmsg_end(skb, nlh); Loading @@ -784,11 +784,7 @@ static int xfrm_get_sadinfo(struct sk_buff *skb, struct nlmsghdr *nlh, u32 seq = nlh->nlmsg_seq; int len = NLMSG_LENGTH(sizeof(u32)); if (*flags & XFRM_SAD_HMASK) len += RTA_SPACE(sizeof(u32)); if (*flags & XFRM_SAD_HMAX) len += RTA_SPACE(sizeof(u32)); if (*flags & XFRM_SAD_CNT) len += RTA_SPACE(sizeof(struct xfrmu_sadhinfo)); len += RTA_SPACE(sizeof(u32)); r_skb = alloc_skb(len, GFP_ATOMIC); Loading