Showing error 1232

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: arch/x86/kernel/machine_kexec_64.c
Line in file: 236
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-21 20:30:05 UTC


Source:

206        page_list[VA_PTE_0] = (unsigned long)kexec_pte0;
207        page_list[PA_PUD_1] = virt_to_phys(&kexec_pud1);
208        page_list[VA_PUD_1] = (unsigned long)kexec_pud1;
209        page_list[PA_PMD_1] = virt_to_phys(&kexec_pmd1);
210        page_list[VA_PMD_1] = (unsigned long)kexec_pmd1;
211        page_list[PA_PTE_1] = virt_to_phys(&kexec_pte1);
212        page_list[VA_PTE_1] = (unsigned long)kexec_pte1;
213
214        page_list[PA_TABLE_PAGE] =
215          (unsigned long)__pa(page_address(image->control_code_page));
216
217        /* The segment registers are funny things, they have both a
218         * visible and an invisible part.  Whenever the visible part is
219         * set to a specific selector, the invisible part is loaded
220         * with from a table in memory.  At no other time is the
221         * descriptor table in memory accessed.
222         *
223         * I take advantage of this here by force loading the
224         * segments, before I zap the gdt with an invalid value.
225         */
226        load_segments();
227        /* The gdt & idt are now invalid.
228         * If you want to load them you must set up your own idt & gdt.
229         */
230        set_gdt(phys_to_virt(0),0);
231        set_idt(phys_to_virt(0),0);
232
233        /* now call it */
234        relocate_kernel((unsigned long)image->head, (unsigned long)page_list,
235                        image->start);
236}
237
238void arch_crash_save_vmcoreinfo(void)
239{
240        VMCOREINFO_SYMBOL(phys_base);
241        VMCOREINFO_SYMBOL(init_level4_pgt);
242
243#ifdef CONFIG_NUMA
244        VMCOREINFO_SYMBOL(node_data);
245        VMCOREINFO_LENGTH(node_data, MAX_NUMNODES);
246#endif
Show full sources