Showing error 1534

User: Jiri Slaby
Error type: Leaving function in locked state
Error type description: Some lock is not unlocked on all paths of a function, so it is leaked
File location: net/netfilter/ipvs/ip_vs_app.c
Line in file: 498
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-21 20:30:05 UTC


Source:

468        if (app->pkt_in == NULL)
469                return 1;
470
471        return app->pkt_in(app, cp, skb, NULL);
472}
473
474
475#ifdef CONFIG_PROC_FS
476/*
477 *        /proc/net/ip_vs_app entry function
478 */
479
480static struct ip_vs_app *ip_vs_app_idx(loff_t pos)
481{
482        struct ip_vs_app *app, *inc;
483
484        list_for_each_entry(app, &ip_vs_app_list, a_list) {
485                list_for_each_entry(inc, &app->incs_list, a_list) {
486                        if (pos-- == 0)
487                                return inc;
488                }
489        }
490        return NULL;
491
492}
493
494static void *ip_vs_app_seq_start(struct seq_file *seq, loff_t *pos)
495{
496        mutex_lock(&__ip_vs_app_mutex);
497
498        return *pos ? ip_vs_app_idx(*pos - 1) : SEQ_START_TOKEN;
499}
500
501static void *ip_vs_app_seq_next(struct seq_file *seq, void *v, loff_t *pos)
502{
503        struct ip_vs_app *inc, *app;
504        struct list_head *e;
505
506        ++*pos;
507        if (v == SEQ_START_TOKEN)
508                return ip_vs_app_idx(0);
Show full sources