driver address space
Hello,
I have a small query about kernel image organization. i am
using
2.4.7 kernel version.Is there any data structure in kernel which will give information about _all_ kernel symbols? i could get the data structure which gives _exported_ symbols only. But not all symbols. Using this structure i want to access information about functions present in a driver, which can be used to find out address range(_start_address_ & _end_address_) of the driver in kernel address space.
It is possible to get this information about functions in a
driver
using System.map. to get this information into kernel can we push the content of this file into kernel image? i think this can be done either by putting it at specific address or appending the image. Will it be OK to access System.map(all kernel symbols) in this way from kernel? Could this cause any security or some other problems?
Or apart from this is there any other way to find out driver's
address range in the kernel?
I hope this not something totally out of context. Thank You.
Regards,
Nitin
Quoted 27 lines · nitin kumbhar
Hello,
I have a small query about kernel image organization. i am
using
2.4.7 kernel version.Is there any data structure in kernel which will give
information about _all_ kernel symbols? i could get the data structure
which gives _exported_ symbols only. But not all symbols. Using this
structure i want to access information about functions present in a driver,
which can be used to find out addressrange(_start_address_ & _end_address_)of the driver in kernel address space.
It is possible to get this information about functions in a
driver
using System.map. to get this information into kernel can we push the
content of this file into kernel image? i think this can be done either by
putting it at specific address or appending the image. Will it be OK to
accessSystem.map(all kernel symbols)in this way from kernel? Could
this cause any security or some other problems?
Or apart from this is there any other way to find out driver's
address range in the kernel?
Quoted 5 lines
I hope this not something totally out of context. Thank You.
Regards,
Nitin
Since it's dynamic, i.e., the addresses depends upon other drivers/modules being loaded before yours, you just make an ioctl() that returns anything you want, including the virtual or even physical address of anything in your driver.
That said, if you need to know where the driver is located in the kernel, then something is definitely broken. Perhaps you are trying to follow a panic() and want to see if it came from some specific driver?
Cheers,
Dick Johnson
Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips). Why is the government concerned about the lunatic fringe? Think about it.