aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2006-11-24 20:14:51 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-12-03 00:30:30 -0500
commit4a89c2562cb81c24c515b9de041aced4d21cb6d1 (patch)
tree9c4610a00e49f2318601122a4634a8ee78764a75 /include/net
parentb020b942cdc238e9761cb38598eda6691c366d68 (diff)
[DECNET] address: Convert to new netlink interface
Extends the netlink interface to support the __le16 type and converts address addition, deletion and, dumping to use the new netlink interface. Fixes multiple occasions of possible illegal memory references due to not validated netlink attributes. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/netlink.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/net/netlink.h b/include/net/netlink.h
index 30021339157c..fd75fd65d59e 100644
--- a/include/net/netlink.h
+++ b/include/net/netlink.h
@@ -829,6 +829,9 @@ static inline int nla_put_msecs(struct sk_buff *skb, int attrtype,
829#define NLA_PUT_U16(skb, attrtype, value) \ 829#define NLA_PUT_U16(skb, attrtype, value) \
830 NLA_PUT_TYPE(skb, u16, attrtype, value) 830 NLA_PUT_TYPE(skb, u16, attrtype, value)
831 831
832#define NLA_PUT_LE16(skb, attrtype, value) \
833 NLA_PUT_TYPE(skb, __le16, attrtype, value)
834
832#define NLA_PUT_U32(skb, attrtype, value) \ 835#define NLA_PUT_U32(skb, attrtype, value) \
833 NLA_PUT_TYPE(skb, u32, attrtype, value) 836 NLA_PUT_TYPE(skb, u32, attrtype, value)
834 837
@@ -875,6 +878,15 @@ static inline u16 nla_get_u16(struct nlattr *nla)
875} 878}
876 879
877/** 880/**
881 * nla_get_le16 - return payload of __le16 attribute
882 * @nla: __le16 netlink attribute
883 */
884static inline __le16 nla_get_le16(struct nlattr *nla)
885{
886 return *(__le16 *) nla_data(nla);
887}
888
889/**
878 * nla_get_u8 - return payload of u8 attribute 890 * nla_get_u8 - return payload of u8 attribute
879 * @nla: u8 netlink attribute 891 * @nla: u8 netlink attribute
880 */ 892 */