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:
f70c77a
)
Extra checks
author
Sapan Bhatia
<gwsapan@gmail.com>
Fri, 23 Aug 2013 19:43:03 +0000
(15:43 -0400)
committer
Sapan Bhatia
<gwsapan@gmail.com>
Fri, 23 Aug 2013 19:43:03 +0000
(15:43 -0400)
procprotect.c
patch
|
blob
|
history
diff --git
a/procprotect.c
b/procprotect.c
index
f8ab6e6
..
741a799
100644
(file)
--- a/
procprotect.c
+++ b/
procprotect.c
@@
-91,8
+91,14
@@
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 dentry *parent = nd->path.dentry;
- struct inode *pinode = parent->d_inode;
+ struct dentry *parent;
+ struct inode *pinode;
+
+ if (!nd) return;
+ parent = nd->path.dentry;
+
+ if (!parent) return;
+ pinode = parent->d_inode;
if (pinode->i_sb->s_magic == PROC_SUPER_MAGIC
&& current->nsproxy->mnt_ns!=init_task.nsproxy->mnt_ns) {
if (pinode->i_sb->s_magic == PROC_SUPER_MAGIC
&& current->nsproxy->mnt_ns!=init_task.nsproxy->mnt_ns) {
@@
-132,9
+138,13
@@
static int lookup_slow_entry(struct kretprobe_instance *ri, struct pt_regs *regs
struct procprotect_ctx *ctx;
struct nameidata *nd = (struct nameidata *) regs->di;
struct path *p = (struct path *) regs->si;
struct procprotect_ctx *ctx;
struct nameidata *nd = (struct nameidata *) regs->di;
struct path *p = (struct path *) regs->si;
+ struct dentry *parent;
+ struct inode *pinode;
- struct dentry *parent = nd->path.dentry;
- struct inode *pinode = parent->d_inode;
+ if (!nd) return;
+ parent = nd->path.dentry;
+ if (!parent) return;
+ pinode= parent->d_inode;
if (pinode->i_sb->s_magic == PROC_SUPER_MAGIC
&& current->nsproxy->mnt_ns!=init_task.nsproxy->mnt_ns) {
if (pinode->i_sb->s_magic == PROC_SUPER_MAGIC
&& current->nsproxy->mnt_ns!=init_task.nsproxy->mnt_ns) {