Given a running program or an OS kernel, if we can locate its function pointers, we would have been able to check their integrity and detect the control flow violations.
current practice to locate a pointer in memory requires the data structure knowledge of the corresponding program.