]> nv-tegra.nvidia Code Review - linux-3.10.git/blobdiff - kernel/kexec.c
sparse pointer use of zero as null
[linux-3.10.git] / kernel / kexec.c
index 67828befbfc341627c246b449c944aeabb6eda9b..e9f1b4ea504d920bd514deb8868536fd10de77bb 100644 (file)
@@ -38,8 +38,8 @@ note_buf_t* crash_notes;
 /* vmcoreinfo stuff */
 unsigned char vmcoreinfo_data[VMCOREINFO_BYTES];
 u32 vmcoreinfo_note[VMCOREINFO_NOTE_SIZE/4];
-unsigned int vmcoreinfo_size = 0;
-unsigned int vmcoreinfo_max_size = sizeof(vmcoreinfo_data);
+size_t vmcoreinfo_size;
+size_t vmcoreinfo_max_size = sizeof(vmcoreinfo_data);
 
 /* Location of the reserved area for the crash kernel */
 struct resource crashk_res = {
@@ -785,7 +785,7 @@ static int kimage_load_normal_segment(struct kimage *image,
                size_t uchunk, mchunk;
 
                page = kimage_alloc_page(image, GFP_HIGHUSER, maddr);
-               if (page == 0) {
+               if (!page) {
                        result  = -ENOMEM;
                        goto out;
                }
@@ -844,7 +844,7 @@ static int kimage_load_crash_segment(struct kimage *image,
                size_t uchunk, mchunk;
 
                page = pfn_to_page(maddr >> PAGE_SHIFT);
-               if (page == 0) {
+               if (!page) {
                        result  = -ENOMEM;
                        goto out;
                }
@@ -1153,7 +1153,7 @@ void crash_save_vmcoreinfo(void)
        if (!vmcoreinfo_size)
                return;
 
-       vmcoreinfo_append_str("CRASHTIME=%d", xtime.tv_sec);
+       vmcoreinfo_append_str("CRASHTIME=%ld", get_seconds());
 
        buf = (u32 *)vmcoreinfo_note;
 
@@ -1195,48 +1195,50 @@ unsigned long __attribute__ ((weak)) paddr_vmcoreinfo_note(void)
 
 static int __init crash_save_vmcoreinfo_init(void)
 {
-       vmcoreinfo_append_str("OSRELEASE=%s\n", UTS_RELEASE);
-       vmcoreinfo_append_str("PAGESIZE=%d\n", PAGE_SIZE);
+       vmcoreinfo_append_str("OSRELEASE=%s\n", init_uts_ns.name.release);
+       vmcoreinfo_append_str("PAGESIZE=%ld\n", PAGE_SIZE);
 
-       SYMBOL(init_uts_ns);
-       SYMBOL(node_online_map);
-       SYMBOL(swapper_pg_dir);
-       SYMBOL(_stext);
+       VMCOREINFO_SYMBOL(init_uts_ns);
+       VMCOREINFO_SYMBOL(node_online_map);
+       VMCOREINFO_SYMBOL(swapper_pg_dir);
+       VMCOREINFO_SYMBOL(_stext);
 
 #ifndef CONFIG_NEED_MULTIPLE_NODES
-       SYMBOL(mem_map);
-       SYMBOL(contig_page_data);
+       VMCOREINFO_SYMBOL(mem_map);
+       VMCOREINFO_SYMBOL(contig_page_data);
 #endif
 #ifdef CONFIG_SPARSEMEM
-       SYMBOL(mem_section);
-       LENGTH(mem_section, NR_SECTION_ROOTS);
-       SIZE(mem_section);
-       OFFSET(mem_section, section_mem_map);
+       VMCOREINFO_SYMBOL(mem_section);
+       VMCOREINFO_LENGTH(mem_section, NR_SECTION_ROOTS);
+       VMCOREINFO_SIZE(mem_section);
+       VMCOREINFO_OFFSET(mem_section, section_mem_map);
 #endif
-       SIZE(page);
-       SIZE(pglist_data);
-       SIZE(zone);
-       SIZE(free_area);
-       SIZE(list_head);
-       OFFSET(page, flags);
-       OFFSET(page, _count);
-       OFFSET(page, mapping);
-       OFFSET(page, lru);
-       OFFSET(pglist_data, node_zones);
-       OFFSET(pglist_data, nr_zones);
+       VMCOREINFO_SIZE(page);
+       VMCOREINFO_SIZE(pglist_data);
+       VMCOREINFO_SIZE(zone);
+       VMCOREINFO_SIZE(free_area);
+       VMCOREINFO_SIZE(list_head);
+       VMCOREINFO_TYPEDEF_SIZE(nodemask_t);
+       VMCOREINFO_OFFSET(page, flags);
+       VMCOREINFO_OFFSET(page, _count);
+       VMCOREINFO_OFFSET(page, mapping);
+       VMCOREINFO_OFFSET(page, lru);
+       VMCOREINFO_OFFSET(pglist_data, node_zones);
+       VMCOREINFO_OFFSET(pglist_data, nr_zones);
 #ifdef CONFIG_FLAT_NODE_MEM_MAP
-       OFFSET(pglist_data, node_mem_map);
+       VMCOREINFO_OFFSET(pglist_data, node_mem_map);
 #endif
-       OFFSET(pglist_data, node_start_pfn);
-       OFFSET(pglist_data, node_spanned_pages);
-       OFFSET(pglist_data, node_id);
-       OFFSET(zone, free_area);
-       OFFSET(zone, vm_stat);
-       OFFSET(zone, spanned_pages);
-       OFFSET(free_area, free_list);
-       OFFSET(list_head, next);
-       OFFSET(list_head, prev);
-       LENGTH(zone.free_area, MAX_ORDER);
+       VMCOREINFO_OFFSET(pglist_data, node_start_pfn);
+       VMCOREINFO_OFFSET(pglist_data, node_spanned_pages);
+       VMCOREINFO_OFFSET(pglist_data, node_id);
+       VMCOREINFO_OFFSET(zone, free_area);
+       VMCOREINFO_OFFSET(zone, vm_stat);
+       VMCOREINFO_OFFSET(zone, spanned_pages);
+       VMCOREINFO_OFFSET(free_area, free_list);
+       VMCOREINFO_OFFSET(list_head, next);
+       VMCOREINFO_OFFSET(list_head, prev);
+       VMCOREINFO_LENGTH(zone.free_area, MAX_ORDER);
+       VMCOREINFO_NUMBER(NR_FREE_PAGES);
 
        arch_crash_save_vmcoreinfo();