On Tue Jan 22 13, Jerry Snitselaar wrote: > Hi Greg and James, > > I discussed this with Tejun late last week, and the mutex can't be > held in devcgroup_css_free. Since there shouldn't be any references > when css_free is called the mutex shouldn't need to be held anyways. I've > just sent him an email asking if the proper thing to do here is add > the list cleanup code back in that was factored out into > dev_exception_clean. Then the other calls to dev_exception_clean will > still hit the assert, and the list will still be cleaned up in > devcgroup_css_free. > > So drop this patch from stable, and I will get the correct fix for > upstream and a fix for stable to you. > > Jerry >
Looking at 3.7 stable it doesn't have the lockdep assert in dev_exception_clean() so a fix isn't needed here. Jerry > > On Tue Jan 22 13, [email protected] wrote: > > > > This is a note to let you know that I've just added the patch titled > > > > security/device_cgroup: lock assert fails in dev_exception_clean() > > > > to the 3.7-stable tree which can be found at: > > > > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary > > > > The filename of the patch is: > > security-device_cgroup-lock-assert-fails-in-dev_exception_clean.patch > > and it can be found in the queue-3.7 subdirectory. > > > > If you, or anyone else, feels it should not be added to the stable tree, > > please let <[email protected]> know about it. > > > > > > From 103a197c0c4ec936f5a243b5b092e4e49213f569 Mon Sep 17 00:00:00 2001 > > From: Jerry Snitselaar <[email protected]> > > Date: Thu, 17 Jan 2013 01:04:14 -0700 > > Subject: security/device_cgroup: lock assert fails in dev_exception_clean() > > > > From: Jerry Snitselaar <[email protected]> > > > > commit 103a197c0c4ec936f5a243b5b092e4e49213f569 upstream. > > > > devcgroup_css_free() calls dev_exception_clean() without the > > devcgroup_mutex being locked. > > > > Shutting down a kvm virt was giving me the following trace: > > > > [36280.732764] ------------[ cut here ]------------ > > [36280.732778] WARNING: at > > /home/snits/dev/linux/security/device_cgroup.c:172 > > dev_exception_clean+0xa9/0xc0() > > [36280.732782] Hardware name: Studio XPS 8100 > > [36280.732785] Modules linked in: xt_REDIRECT fuse ebtable_nat ebtables > > ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat xt_CHECKSUM iptable_mangle > > bridge stp llc nf_conntrack_ipv4 ip6t_REJECT nf_conntrack_ipv6 > > nf_defrag_ipv6 nf_defrag_ipv4 ip6table_filter it87 hwmon_vid xt_state > > nf_conntrack ip6_tables snd_hda_codec_hdmi snd_hda_codec_realtek > > snd_hda_intel snd_hda_codec snd_hwdep snd_seq coretemp snd_seq_device > > crc32c_intel snd_pcm snd_page_alloc snd_timer snd broadcom tg3 serio_raw > > i7core_edac edac_core ptp pps_core lpc_ich pcspkr mfd_core soundcore > > microcode i2c_i801 nfsd auth_rpcgss nfs_acl lockd vhost_net sunrpc tun > > macvtap macvlan kvm_intel kvm uinput binfmt_misc autofs4 usb_storage > > firewire_ohci firewire_core crc_itu_t radeon drm_kms_helper ttm > > [36280.732921] Pid: 933, comm: libvirtd Tainted: G W > > 3.8.0-rc3-00307-g4c217de #1 > > [36280.732922] Call Trace: > > [36280.732927] [<ffffffff81044303>] warn_slowpath_common+0x93/0xc0 > > [36280.732930] [<ffffffff8104434a>] warn_slowpath_null+0x1a/0x20 > > [36280.732932] [<ffffffff812deaf9>] dev_exception_clean+0xa9/0xc0 > > [36280.732934] [<ffffffff812deb2a>] devcgroup_css_free+0x1a/0x30 > > [36280.732938] [<ffffffff810ccd76>] cgroup_diput+0x76/0x210 > > [36280.732941] [<ffffffff8119eac0>] d_delete+0x120/0x180 > > [36280.732943] [<ffffffff81195cff>] vfs_rmdir+0xef/0x130 > > [36280.732945] [<ffffffff81195e47>] do_rmdir+0x107/0x1c0 > > [36280.732949] [<ffffffff8132d17e>] ? trace_hardirqs_on_thunk+0x3a/0x3f > > [36280.732951] [<ffffffff81198646>] sys_rmdir+0x16/0x20 > > [36280.732954] [<ffffffff8173bd82>] system_call_fastpath+0x16/0x1b > > [36280.732956] ---[ end trace ca39dced899a7d9f ]--- > > > > Signed-off-by: Jerry Snitselaar <[email protected]> > > Signed-off-by: James Morris <[email protected]> > > Signed-off-by: Greg Kroah-Hartman <[email protected]> > > > > --- > > security/device_cgroup.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > --- a/security/device_cgroup.c > > +++ b/security/device_cgroup.c > > @@ -207,7 +207,9 @@ static void devcgroup_destroy(struct cgr > > struct dev_cgroup *dev_cgroup; > > > > dev_cgroup = cgroup_to_devcgroup(cgroup); > > + mutex_lock(&devcgroup_mutex); > > dev_exception_clean(dev_cgroup); > > + mutex_unlock(&devcgroup_mutex); > > kfree(dev_cgroup); > > } > > > > > > > > Patches currently in stable-queue which might be from > > [email protected] are > > > > queue-3.7/security-device_cgroup-lock-assert-fails-in-dev_exception_clean.patch -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
