I am trying to dump some kernel data structure (walk e.g. task or file data structure on x86_64 arch). Sometime accessing through a pointer, pointer may not be NULL, but pointing to invalid address due to garbage value.What I am looking for is range of address which are valid for kernel data structure. Is it correct to say following address are valid ?- Bit 0 - 47 are considered- Between FFFF8000'00000000 through FFFFFFFF'FFFFFFFF
Will this cover all situations
if (long_ptr > 0x1000)
{tmp_long_ptr = ((long_ptr & 0x800000000000) ? (long_ptr | 0xffff800000000000) : (long_ptr & 0xFFFFFFFFFFFF));
printf("tmp_long_ptr :0x%llx\n", (long long int) tmp_long_ptr);
if ((long_ptr == tmp_long_ptr) & (long_ptr >= 0x30000000))
printf("valid 64 addr\n");
}
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies