login
Login
/
Register
Search
Search this site:
Forums
News
Blogs
Features
Site
Home
»
Mailing list archives
»
linux-kernel
»
2008
»
August
»
25
Re: [PATCH] devcgroup: fix race against rmdir()
view
thread
Previous message: [
thread
] [
date
] [
author
]
Next message: [thread] [
date
] [
author
]
[view in full thread]
From: Serge E. Hallyn
Subject:
Re: [PATCH] devcgroup: fix race against rmdir()
Date: Monday, August 25, 2008 - 9:43 am
Quoting Li Zefan (
lizf@cn.fujitsu.com
):
quoted text
> During the use of a dev_cgroup, we should guarantee the corresponding > cgroup won't be deleted (i.e. via rmdir). This can be done through > css_get(&dev_cgroup->css), but here we can just get and use the > dev_cgroup under rcu_read_lock. > > And also remove checking NULL dev_cgroup, it won't be NULL since a task > always belongs to a cgroup. > > Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Looks good. Thanks, Li. Acked-by: Serge Hallyn <serue@us.ibm.com>
quoted text
> --- > security/device_cgroup.c | 18 +++++++++--------- > 1 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/security/device_cgroup.c b/security/device_cgroup.c > index 7bd296c..46f2397 100644 > --- a/security/device_cgroup.c > +++ b/security/device_cgroup.c > @@ -508,12 +508,11 @@ int devcgroup_inode_permission(struct inode *inode, int mask) > return 0; > if (!S_ISBLK(inode->i_mode) && !S_ISCHR(inode->i_mode)) > return 0; > - dev_cgroup = css_to_devcgroup(task_subsys_state(current, > - devices_subsys_id)); > - if (!dev_cgroup) > - return 0; > > rcu_read_lock(); > + > + dev_cgroup = task_devcgroup(current); > + > list_for_each_entry_rcu(wh, &dev_cgroup->whitelist, list) { > if (wh->type & DEV_ALL) > goto acc_check; > @@ -533,6 +532,7 @@ acc_check: > rcu_read_unlock(); > return 0; > } > + > rcu_read_unlock(); > > return -EPERM; > @@ -543,12 +543,10 @@ int devcgroup_inode_mknod(int mode, dev_t dev) > struct dev_cgroup *dev_cgroup; > struct dev_whitelist_item *wh; > > - dev_cgroup = css_to_devcgroup(task_subsys_state(current, > - devices_subsys_id)); > - if (!dev_cgroup) > - return 0; > - > rcu_read_lock(); > + > + dev_cgroup = task_devcgroup(current); > + > list_for_each_entry(wh, &dev_cgroup->whitelist, list) { > if (wh->type & DEV_ALL) > goto acc_check; > @@ -566,6 +564,8 @@ acc_check: > rcu_read_unlock(); > return 0; > } > + > rcu_read_unlock(); > + > return -EPERM; > } > -- > 1.5.4.rc3
--
unsubscribe notice
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Previous message: [
thread
] [
date
] [
author
]
Next message: [thread] [
date
] [
author
]
Messages in current thread:
[PATCH] devcgroup: fix race against rmdir()
, Li Zefan
, (Sun Aug 24, 7:22 pm)
Re: [PATCH] devcgroup: fix race against rmdir()
, Serge E. Hallyn
, (Mon Aug 25, 9:43 am)
Navigation
Mailing list archives
Recent posts
Popular discussions
linux-kernel
:
Michael Trimarchi
Re: [PATCH] VFS: make file->f_pos access atomic on 32bit arch
Miklos Szeredi
[patch 14/15] vfs: more path_permission() conversions
Serge E. Hallyn
Re: [RFC v5][PATCH 7/8] Infrastructure for shared objects
Bernd Schmidt
Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3
Takashi Iwai
[PATCH 2/2] input: Add LED support to Synaptics device
git
:
Junio C Hamano
Re: mingw, windows, crlf/lf, and git
Eyvind Bernhardsen
Re: Where has "git ls-remote" reference pattern matching gone?
Shawn O. Pearce
Re: Switching from CVS to GIT
Todd Zullinger
Re: [PATCH 2/2] send-email: rfc2047-quote subject lines with non-ascii characters
Santi Béjar
Re: How to use git-fmt-merge-msg?
linux-netdev
:
Ramkrishna Vepa
[net-2.6 PATCH 1/10] Neterion: New driver: Driver help file
Mark Anthony
invitation / inquiry
Ingo Molnar
Re: [PATCH 08/16] dma-debug: add core checking functions
David Miller
Re: [PATCH 1/3] f_phonet: dev_kfree_skb instead of dev_kfree_skb_any in TX callback
Sascha Hauer
[PATCH 03/12] fec: do not typedef struct types
git-commits-head
:
Linux Kernel Mailing List
amba: struct device - replace bus_id with dev_name(), dev_set_name()
Linux Kernel Mailing List
MIPS: Yosemite: Convert SMP startup lock to arch spinlock.
Linux Kernel Mailing List
ARM: S5PC100: IRQ and timer
Linux Kernel Mailing List
davinci: edma: clear interrupt status for interrupt enabled channels only
Linux Kernel Mailing List
x86, mm, kprobes: fault.c, simplify notify_page_fault()
openbsd-misc
:
Daniel A. Ramaley
Re: [semi-OT] Can anyone recommend an OpenBSD-compatible colour laser printer?
Matthias Kilian
Re: can't get vesa @ 1280x800 or nv
Tobias Ulmer
Re: Problem after upgrade 4.5 to 4.6: ERR M
Philip Guenther
Re: SIGCHLD and libpthread.so
J.C. Roberts
Re: [semi-OT] Can anyone recommend an OpenBSD-compatible colour laser printer?
Colocation donated by:
Syndicate