X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=net%2Fsched%2Fem_meta.c;h=3da4129b89d1e179bf679ba108c943f97f602746;hb=c970d5a32ae1a90fba89892cc3432cf0b408cb8b;hp=2a7e648fbcf44edd7ce7944fee7627f3590d434a;hpb=3e6bdf473f489664dac4d7511d26c7ac3dfdc748;p=~andy%2Flinux diff --git a/net/sched/em_meta.c b/net/sched/em_meta.c index 2a7e648fbcf..3da4129b89d 100644 --- a/net/sched/em_meta.c +++ b/net/sched/em_meta.c @@ -687,8 +687,8 @@ static inline struct meta_type_ops * meta_type_ops(struct meta_value *v) * Core **************************************************************************/ -static inline int meta_get(struct sk_buff *skb, struct tcf_pkt_info *info, - struct meta_value *v, struct meta_obj *dst) +static int meta_get(struct sk_buff *skb, struct tcf_pkt_info *info, + struct meta_value *v, struct meta_obj *dst) { int err = 0; @@ -733,13 +733,15 @@ static int em_meta_match(struct sk_buff *skb, struct tcf_ematch *m, return 0; } -static inline void meta_delete(struct meta_match *meta) +static void meta_delete(struct meta_match *meta) { - struct meta_type_ops *ops = meta_type_ops(&meta->lvalue); + if (meta) { + struct meta_type_ops *ops = meta_type_ops(&meta->lvalue); - if (ops && ops->destroy) { - ops->destroy(&meta->lvalue); - ops->destroy(&meta->rvalue); + if (ops && ops->destroy) { + ops->destroy(&meta->lvalue); + ops->destroy(&meta->rvalue); + } } kfree(meta);