git://git.onelab.eu
/
procprotect.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
3fade9a
)
Rewired registers via which arguments are collected to reflect new interfaces in...
author
Sapan Bhatia
<gwsapan@gmail.com>
Tue, 21 May 2013 20:45:07 +0000
(16:45 -0400)
committer
Sapan Bhatia
<gwsapan@gmail.com>
Tue, 21 May 2013 20:45:07 +0000
(16:45 -0400)
procprotect.c
patch
|
blob
|
history
diff --git
a/procprotect.c
b/procprotect.c
index
1d91401
..
dc2d4e4
100644
(file)
--- a/
procprotect.c
+++ b/
procprotect.c
@@
-95,14
+95,13
@@
static int lookup_fast_entry(struct kretprobe_instance *ri, struct pt_regs *regs
int ret = -1;
struct procprotect_ctx *ctx;
struct nameidata *nd = (struct nameidata *) regs->di;
int ret = -1;
struct procprotect_ctx *ctx;
struct nameidata *nd = (struct nameidata *) regs->di;
- struct qstr *q = (struct qstr *) regs->si;
struct dentry *parent = nd->path.dentry;
struct inode *pinode = parent->d_inode;
if (pinode->i_sb->s_magic == PROC_SUPER_MAGIC
&& current->nsproxy->mnt_ns!=init_task.nsproxy->mnt_ns) {
ctx = (struct procprotect_ctx *) ri->data;
struct dentry *parent = nd->path.dentry;
struct inode *pinode = parent->d_inode;
if (pinode->i_sb->s_magic == PROC_SUPER_MAGIC
&& current->nsproxy->mnt_ns!=init_task.nsproxy->mnt_ns) {
ctx = (struct procprotect_ctx *) ri->data;
- ctx->inode = regs->
c
x;
+ ctx->inode = regs->
d
x;
ctx->flags = nd->flags;
ret = 0;
}
ctx->flags = nd->flags;
ret = 0;
}
@@
-136,8
+135,7
@@
static int lookup_slow_entry(struct kretprobe_instance *ri, struct pt_regs *regs
int ret = -1;
struct procprotect_ctx *ctx;
struct nameidata *nd = (struct nameidata *) regs->di;
int ret = -1;
struct procprotect_ctx *ctx;
struct nameidata *nd = (struct nameidata *) regs->di;
- struct qstr *q = (struct qstr *) regs->si;
- struct path *p = (struct path *) regs->dx;
+ struct path *p = (struct path *) regs->si;
struct dentry *parent = nd->path.dentry;
struct inode *pinode = parent->d_inode;
struct dentry *parent = nd->path.dentry;
struct inode *pinode = parent->d_inode;
@@
-148,7
+146,7
@@
static int lookup_slow_entry(struct kretprobe_instance *ri, struct pt_regs *regs
&& current->nsproxy->mnt_ns!=init_task.nsproxy->mnt_ns) {
ctx = (struct procprotect_ctx *) ri->data;
&& current->nsproxy->mnt_ns!=init_task.nsproxy->mnt_ns) {
ctx = (struct procprotect_ctx *) ri->data;
- ctx->q =
q
;
+ ctx->q =
&nd->last
;
ctx->flags = nd->flags;
ctx->path = p;
ret = 0;
ctx->flags = nd->flags;
ctx->path = p;
ret = 0;