diff options
author | coderkaka <zhangziongxingzhe@gmail.com> | 2016-05-03 16:33:32 +0800 |
---|---|---|
committer | coderkaka <zhangziongxingzhe@gmail.com> | 2016-05-03 16:40:46 +0800 |
commit | 0a7ee7d0d7d68d89009c81955002e582d2d37dff (patch) | |
tree | 07fda87ff202ce0a535b96edf12b3aeabb6319cb | |
parent | 7a41714d7d6f9d4e2298b10020367a810a08c03f (diff) | |
download | ldd3-0a7ee7d0d7d68d89009c81955002e582d2d37dff.tar.gz |
Fix failure to compile the scull. The return value of current_xid() has changed in kernel of version 4.6.0
-rw-r--r-- | scull/access.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/scull/access.c b/scull/access.c index 96b1c6b..6e20f8a 100644 --- a/scull/access.c +++ b/scull/access.c @@ -105,15 +105,15 @@ static int scull_u_open(struct inode *inode, struct file *filp) spin_lock(&scull_u_lock); if (scull_u_count && - (scull_u_owner != current_uid()) && /* allow user */ - (scull_u_owner != current_euid()) && /* allow whoever did su */ + (scull_u_owner != current_uid().val) && /* allow user */ + (scull_u_owner != current_euid().val) && /* allow whoever did su */ !capable(CAP_DAC_OVERRIDE)) { /* still allow root */ spin_unlock(&scull_u_lock); return -EBUSY; /* -EPERM would confuse the user */ } if (scull_u_count == 0) - scull_u_owner = current_uid(); /* grab it */ + scull_u_owner = current_uid().val; /* grab it */ scull_u_count++; spin_unlock(&scull_u_lock); @@ -164,8 +164,8 @@ static DEFINE_SPINLOCK(scull_w_lock); static inline int scull_w_available(void) { return scull_w_count == 0 || - scull_w_owner == current_uid() || - scull_w_owner == current_euid() || + scull_w_owner == current_uid().val || + scull_w_owner == current_euid().val || capable(CAP_DAC_OVERRIDE); } @@ -183,7 +183,7 @@ static int scull_w_open(struct inode *inode, struct file *filp) spin_lock(&scull_w_lock); } if (scull_w_count == 0) - scull_w_owner = current_uid(); /* grab it */ + scull_w_owner = current_uid().val; /* grab it */ scull_w_count++; spin_unlock(&scull_w_lock); |