X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=net%2Fcore%2Fflow.c;h=5d25697920b1ae183fe83e627044c601cb845632;hb=c376222960ae91d5ffb9197ee36771aaed1d9f90;hp=d137f971f97db39c702533d54550b68783550364;hpb=6ee7e78e7c78d871409ad4df30551c9355be7d0e;p=powerpc.git diff --git a/net/core/flow.c b/net/core/flow.c index d137f971f9..5d25697920 100644 --- a/net/core/flow.c +++ b/net/core/flow.c @@ -231,22 +231,16 @@ nocache: err = resolver(key, family, dir, &obj, &obj_ref); - if (fle) { - if (err) { - /* Force security policy check on next lookup */ - *head = fle->next; - flow_entry_kill(cpu, fle); - } else { - fle->genid = atomic_read(&flow_cache_genid); - - if (fle->object) - atomic_dec(fle->object_ref); - - fle->object = obj; - fle->object_ref = obj_ref; - if (obj) - atomic_inc(fle->object_ref); - } + if (fle && !err) { + fle->genid = atomic_read(&flow_cache_genid); + + if (fle->object) + atomic_dec(fle->object_ref); + + fle->object = obj; + fle->object_ref = obj_ref; + if (obj) + atomic_inc(fle->object_ref); } local_bh_enable();