Showing error 766

User: Jiri Slaby
Error type: Invalid Pointer Dereference
Error type description: A pointer which is invalid is being dereferenced
File location: drivers/infiniband/hw/ipath/ipath_mr.c
Line in file: 332
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2011-11-07 22:22:22 UTC


Source:

302                if (!fmr->mr.map[i])
303                        goto bail;
304        }
305        fmr->mr.mapsz = m;
306
307        /*
308         * ib_alloc_fmr() will initialize fmr->ibfmr except for lkey &
309         * rkey.
310         */
311        if (!ipath_alloc_lkey(&to_idev(pd->device)->lk_table, &fmr->mr))
312                goto bail;
313        fmr->ibfmr.rkey = fmr->ibfmr.lkey = fmr->mr.lkey;
314        /*
315         * Resources are allocated but no valid mapping (RKEY can't be
316         * used).
317         */
318        fmr->mr.pd = pd;
319        fmr->mr.user_base = 0;
320        fmr->mr.iova = 0;
321        fmr->mr.length = 0;
322        fmr->mr.offset = 0;
323        fmr->mr.access_flags = mr_access_flags;
324        fmr->mr.max_segs = fmr_attr->max_pages;
325        fmr->page_shift = fmr_attr->page_shift;
326
327        ret = &fmr->ibfmr;
328        goto done;
329
330bail:
331        while (i)
332                kfree(fmr->mr.map[--i]);
333        kfree(fmr);
334        ret = ERR_PTR(-ENOMEM);
335
336done:
337        return ret;
338}
339
340/**
341 * ipath_map_phys_fmr - set up a fast memory region
342 * @ibmfr: the fast memory region to set up
Show full sources