diff options
| author | Takashi Iwai <tiwai@suse.de> | 2011-08-15 12:47:19 +0200 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2011-08-15 12:47:19 +0200 |
| commit | 2d9f8a6e73ef2ec8ecaa24ca98e7010d6edd089f (patch) | |
| tree | 9ea035b696137b345c69532a318f55502f530558 /include/linux/device_cgroup.h | |
| parent | ecf726f5414489fe749477eb77d6cb12bb93c8bc (diff) | |
| parent | eade7b281c9fc18401b989c77d5e5e660b25a3b7 (diff) | |
Merge branch 'fix/hda' into topic/hda
Diffstat (limited to 'include/linux/device_cgroup.h')
| -rw-r--r-- | include/linux/device_cgroup.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/include/linux/device_cgroup.h b/include/linux/device_cgroup.h index 0b0d9c39ed67..7aad1f440867 100644 --- a/include/linux/device_cgroup.h +++ b/include/linux/device_cgroup.h @@ -2,8 +2,16 @@ #include <linux/fs.h> #ifdef CONFIG_CGROUP_DEVICE -extern int devcgroup_inode_permission(struct inode *inode, int mask); +extern int __devcgroup_inode_permission(struct inode *inode, int mask); extern int devcgroup_inode_mknod(int mode, dev_t dev); +static inline int devcgroup_inode_permission(struct inode *inode, int mask) +{ + if (likely(!inode->i_rdev)) + return 0; + if (!S_ISBLK(inode->i_mode) && !S_ISCHR(inode->i_mode)) + return 0; + return __devcgroup_inode_permission(inode, mask); +} #else static inline int devcgroup_inode_permission(struct inode *inode, int mask) { return 0; } |
