User: | Jiri Slaby |
Error type: | Invalid Pointer Dereference |
Error type description: | A pointer which is invalid is being dereferenced |
File location: | arch/x86/kernel/genx2apic_uv_x.c |
Line in file: | 455 |
Project: | Linux Kernel |
Project version: | 2.6.28 |
Tools: |
Stanse
(1.2)
Smatch (1.59) |
Entered: | 2011-11-07 22:22:22 UTC |
425 node_id.v = uv_read_local_mmr(UVH_NODE_ID); 426 gnode_upper = (((unsigned long)node_id.s.node_id) & 427 ~((1 << n_val) - 1)) << m_val; 428 429 uv_bios_init(); 430 uv_bios_get_sn_info(0, &uv_type, &sn_partition_id, 431 &uv_coherency_id, &uv_region_size); 432 uv_rtc_init(); 433 434 for_each_present_cpu(cpu) { 435 nid = cpu_to_node(cpu); 436 pnode = uv_apicid_to_pnode(per_cpu(x86_cpu_to_apicid, cpu)); 437 blade = boot_pnode_to_blade(pnode); 438 lcpu = uv_blade_info[blade].nr_possible_cpus; 439 uv_blade_info[blade].nr_possible_cpus++; 440 441 uv_cpu_hub_info(cpu)->lowmem_remap_base = lowmem_redir_base; 442 uv_cpu_hub_info(cpu)->lowmem_remap_top = 443 lowmem_redir_base + lowmem_redir_size; 444 uv_cpu_hub_info(cpu)->m_val = m_val; 445 uv_cpu_hub_info(cpu)->n_val = m_val; 446 uv_cpu_hub_info(cpu)->numa_blade_id = blade; 447 uv_cpu_hub_info(cpu)->blade_processor_id = lcpu; 448 uv_cpu_hub_info(cpu)->pnode = pnode; 449 uv_cpu_hub_info(cpu)->pnode_mask = (1 << n_val) - 1; 450 uv_cpu_hub_info(cpu)->gpa_mask = (1 << (m_val + n_val)) - 1; 451 uv_cpu_hub_info(cpu)->gnode_upper = gnode_upper; 452 uv_cpu_hub_info(cpu)->global_mmr_base = mmr_base; 453 uv_cpu_hub_info(cpu)->coherency_domain_number = uv_coherency_id; 454 uv_node_to_blade[nid] = blade; 455 uv_cpu_to_blade[cpu] = blade; 456 max_pnode = max(pnode, max_pnode); 457 458 printk(KERN_DEBUG "UV: cpu %d, apicid 0x%x, pnode %d, nid %d, " 459 "lcpu %d, blade %d\n", 460 cpu, per_cpu(x86_cpu_to_apicid, cpu), pnode, nid, 461 lcpu, blade); 462 } 463 464 map_gru_high(max_pnode); 465 map_mmr_high(max_pnode);