From: Daniel Souza <thehazard@gmail.com>
To: Igor Shmukler <igor.shmukler@gmail.com>
Cc: Arjan van de Ven <arjan@infradead.org>, linux-kernel@vger.kernel.org
Subject: Re: intercepting syscalls
Date: Fri, 15 Apr 2005 13:10:49 -0700 [thread overview]
Message-ID: <e1e1d5f40504151310467d16bd@mail.gmail.com> (raw)
In-Reply-To: <6533c1c905041512594bb7abb4@mail.gmail.com>
You're welcome, Igor. I needed to intercept syscalls in a little
project that I were implementing, to keep track of filesystem changes,
and others. I use that way, but I know that it's a ugly hack that can
work only under x86. Overwrite syscalls can slow down the whole
system, and a improper wrapper can freeze the system and behave in a
unexpected way (imagine a non-freed memory allocation in a sys_read
wrapper...), and others. I never planned to use it at production.
If you're trying to do something to be public and widely used, I
believe that a better approach is to create a layer to be used in
syscalls operations, or something like that (stills ugly, but now it's
a "good-programming-practice" thing).
For example, from a kernel to other, the way that sys_write works
internally may change, and your code can mess with the whole thing.
Trap system calls are not a portable and clean way to reach your
goals. In fact, there's not a reliable way yet. (that I know)
I agree that a mechanism to wrap system calls can be very useful.
--
# (perl -e "while (1) { print "\x90"; }") | dd of=/dev/evil
next prev parent reply other threads:[~2005-04-15 20:10 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-15 18:04 intercepting syscalls Igor Shmukler
2005-04-15 18:11 ` Arjan van de Ven
2005-04-15 19:41 ` Igor Shmukler
2005-04-15 19:51 ` Daniel Souza
2005-04-15 19:59 ` Igor Shmukler
2005-04-15 20:10 ` Daniel Souza [this message]
2005-04-15 20:13 ` Arjan van de Ven
2005-04-15 20:19 ` Daniel Souza
2005-04-15 20:25 ` Chris Wright
2005-04-15 20:38 ` Richard B. Johnson
2005-04-15 21:00 ` Daniel Souza
2005-04-15 20:55 ` Steven Rostedt
2005-04-18 11:54 ` Rik van Riel
2005-04-18 14:48 ` Igor Shmukler
2005-04-18 14:59 ` Arjan van de Ven
2005-04-18 15:06 ` Igor Shmukler
2005-04-18 15:20 ` Arjan van de Ven
2005-04-18 18:56 ` Terje Malmedal
2005-04-18 19:19 ` Timur Tabi
2005-04-18 19:40 ` Arjan van de Ven
2005-04-19 8:32 ` Terje Malmedal
2005-04-18 15:17 ` Randy.Dunlap
2005-04-18 16:20 ` Igor Shmukler
2005-04-18 16:26 ` Christoph Hellwig
2005-04-15 20:03 ` Randy.Dunlap
2005-04-15 18:12 ` Chris Wright
2005-04-15 18:16 ` Timur Tabi
2005-04-15 19:27 ` Zan Lynx
2005-04-15 20:25 ` Petr Baudis
[not found] <3TDqB-32g-21@gated-at.bofh.it>
[not found] ` <3TDAk-38r-23@gated-at.bofh.it>
[not found] ` <3TEZl-4eW-23@gated-at.bofh.it>
[not found] ` <3TF9b-4lu-25@gated-at.bofh.it>
[not found] ` <3TFiG-4Cc-11@gated-at.bofh.it>
[not found] ` <3TFsj-4HP-3@gated-at.bofh.it>
[not found] ` <3TFsl-4HP-17@gated-at.bofh.it>
[not found] ` <3TFC7-4Og-29@gated-at.bofh.it>
[not found] ` <3TFVm-50J-5@gated-at.bofh.it>
2005-04-15 23:05 ` Bodo Eggert <harvested.in.lkml@posting.7eggert.dyndns.org>
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e1e1d5f40504151310467d16bd@mail.gmail.com \
--to=thehazard@gmail.com \
--cc=arjan@infradead.org \
--cc=igor.shmukler@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.