[NET] rtnetlink.c: remove no longer used functions

This patch removes the following no longer used functions:
- rtattr_parse()
- rtattr_strlcpy()
- __rtattr_parse_nested_compat()

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by Adrian Bunk and committed by David S. Miller 03245ce2 8cf22943

-56
-12
include/linux/rtnetlink.h
··· 602 602 603 603 #include <linux/mutex.h> 604 604 605 - extern size_t rtattr_strlcpy(char *dest, const struct rtattr *rta, size_t size); 606 605 static __inline__ int rtattr_strcmp(const struct rtattr *rta, const char *str) 607 606 { 608 607 int len = strlen(str) + 1; 609 608 return len > rta->rta_len || memcmp(RTA_DATA(rta), str, len); 610 609 } 611 - 612 - extern int rtattr_parse(struct rtattr *tb[], int maxattr, struct rtattr *rta, int len); 613 - extern int __rtattr_parse_nested_compat(struct rtattr *tb[], int maxattr, 614 - struct rtattr *rta, int len); 615 - 616 - #define rtattr_parse_nested(tb, max, rta) \ 617 - rtattr_parse((tb), (max), RTA_DATA((rta)), RTA_PAYLOAD((rta))) 618 - 619 - #define rtattr_parse_nested_compat(tb, max, rta, data, len) \ 620 - ({ data = RTA_PAYLOAD(rta) >= len ? RTA_DATA(rta) : NULL; \ 621 - __rtattr_parse_nested_compat(tb, max, rta, len); }) 622 610 623 611 extern int rtnetlink_send(struct sk_buff *skb, struct net *net, u32 pid, u32 group, int echo); 624 612 extern int rtnl_unicast(struct sk_buff *skb, struct net *net, u32 pid);
-44
net/core/rtnetlink.c
··· 82 82 return mutex_trylock(&rtnl_mutex); 83 83 } 84 84 85 - int rtattr_parse(struct rtattr *tb[], int maxattr, struct rtattr *rta, int len) 86 - { 87 - memset(tb, 0, sizeof(struct rtattr*)*maxattr); 88 - 89 - while (RTA_OK(rta, len)) { 90 - unsigned flavor = rta->rta_type; 91 - if (flavor && flavor <= maxattr) 92 - tb[flavor-1] = rta; 93 - rta = RTA_NEXT(rta, len); 94 - } 95 - return 0; 96 - } 97 - 98 - int __rtattr_parse_nested_compat(struct rtattr *tb[], int maxattr, 99 - struct rtattr *rta, int len) 100 - { 101 - if (RTA_PAYLOAD(rta) < len) 102 - return -1; 103 - if (RTA_PAYLOAD(rta) >= RTA_ALIGN(len) + sizeof(struct rtattr)) { 104 - rta = RTA_DATA(rta) + RTA_ALIGN(len); 105 - return rtattr_parse_nested(tb, maxattr, rta); 106 - } 107 - memset(tb, 0, sizeof(struct rtattr *) * maxattr); 108 - return 0; 109 - } 110 - 111 85 static struct rtnl_link *rtnl_msg_handlers[NPROTO]; 112 86 113 87 static inline int rtm_msgindex(int msgtype) ··· 414 440 rta->rta_len = size; 415 441 memcpy(RTA_DATA(rta), data, attrlen); 416 442 memset(RTA_DATA(rta) + attrlen, 0, RTA_ALIGN(size) - size); 417 - } 418 - 419 - size_t rtattr_strlcpy(char *dest, const struct rtattr *rta, size_t size) 420 - { 421 - size_t ret = RTA_PAYLOAD(rta); 422 - char *src = RTA_DATA(rta); 423 - 424 - if (ret > 0 && src[ret - 1] == '\0') 425 - ret--; 426 - if (size > 0) { 427 - size_t len = (ret >= size) ? size - 1 : ret; 428 - memset(dest, 0, size); 429 - memcpy(dest, src, len); 430 - } 431 - return ret; 432 443 } 433 444 434 445 int rtnetlink_send(struct sk_buff *skb, struct net *net, u32 pid, unsigned group, int echo) ··· 1370 1411 } 1371 1412 1372 1413 EXPORT_SYMBOL(__rta_fill); 1373 - EXPORT_SYMBOL(rtattr_strlcpy); 1374 - EXPORT_SYMBOL(rtattr_parse); 1375 - EXPORT_SYMBOL(__rtattr_parse_nested_compat); 1376 1414 EXPORT_SYMBOL(rtnetlink_put_metrics); 1377 1415 EXPORT_SYMBOL(rtnl_lock); 1378 1416 EXPORT_SYMBOL(rtnl_trylock);