I want to retrieve the sessionid of the current process in linux kernel (Kernel Space). I saw task_struct
has a field sessionid
but it is defined only when the macro CONFIG_AUDITSYSCALL
is ON. So i tried to build the kernel with this macro ON but still i was not getting the result. Also I tried getting its value from function with CONFIG_AUDITSYSCALL
on audit_get_sessionid(current)
but was getting either -1 or junk value ( different from getsid(0)
method in user space).
I am struck at this point. Any suggestion would be of great help.
pid_vnr(task_session(current)); would do what u want!!
You can take a look at the
getsid
syscall at here: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=kernel/sys.c#l1106Which suggest you can use the kernel function task_session() to get the session id.