kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
* how to get filename of execve() system call from kernel module which install hook to syscall table to intercept original syscall in kernels before 4.2 and atter 4.2 ? X86_64
@ 2017-03-06  7:18 Lev Olshvang
  2017-03-07 19:22 ` Greg KH
  0 siblings, 1 reply; 6+ messages in thread
From: Lev Olshvang @ 2017-03-06  7:18 UTC (permalink / raw)
  To: kernelnewbies

Hello all,

 In kernels 3.X up to 4.2 execve(|) system call was  for x86_64 architecture the the system call was made through some 
magic ( I can't say I understand it ) assembly stub in arch/x86/kernel/entry_64.S
so up to kernel 4.2 it was possble to patch this assembly to install the hook, ex. see 
http://stackoverflow.com/questions/8372912/hooking-sys-execve-on-linux-3-x/9672512#9672512

But this hook still can't access  in a proper way filename argument, althouth I tried to do it with in the same way as 
fs/exec.c does : using  kernel's getname() function (which I was need to find through kallsyms_lookup_name() 
 
In kernels 4.2 and up, the arch/x86/kernel/entry_64.S is gone, and I still dont' have a clue what to do to get filename as a char string.


Please advise.
Lev.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-03-08 19:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-06  7:18 how to get filename of execve() system call from kernel module which install hook to syscall table to intercept original syscall in kernels before 4.2 and atter 4.2 ? X86_64 Lev Olshvang
2017-03-07 19:22 ` Greg KH
2017-03-07 20:00   ` valdis.kletnieks at vt.edu
2017-03-08 12:20   ` Lev Olshvang
2017-03-08 12:33     ` Greg KH
2017-03-08 19:15     ` valdis.kletnieks at vt.edu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).