Patch "x86/intel_rdt: Put group node in rdtgroup_kn_unlock" has been added to the 4.10-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
x86/intel_rdt: Put group node in rdtgroup_kn_unlock
to the 4.10-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:
x86-intel_rdt-put-group-node-in-rdtgroup_kn_unlock.patch
and it can be found in the queue-4.10 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
49ec8f5b6ae3ab60385492cad900ffc8a523c895Mon Sep 17 00:00:00 2001
From: Jiri Olsa <[email protected]>
Date: Tue, 14 Mar 2017 15:20:53 +0100
Subject: x86/intel_rdt: Put group node in rdtgroup_kn_unlock
From: Jiri Olsa <[email protected]>
commit 49ec8f5b6ae3ab60385492cad900ffc8a523c895 upstream.
The rdtgroup_kn_unlock waits for the last user to release and put its node. But it's calling kernfs_put on the node which calls the rdtgroup_kn_unlock, which might not be the group's directory node, but another group's file node.
This race could be easily reproduced by running 2 instances of following script:
mount -t resctrl resctrl /sys/fs/resctrl/
pushd /sys/fs/resctrl/
mkdir krava
echo "krava" > krava/schemata
rmdir krava
popd
umount /sys/fs/resctrl
It triggers the slub debug error message with following command line config: slub_debug=,kernfs_node_cache.
Call kernfs_put on the group's node to fix it.
--- arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c +1 -1
@@ -727,7 +727,7 @@ void rdtgroup_kn_unlock(struct kernfs_noif (atomic_dec_and_test (&rdtgrp->waitcount) && (rdtgrp->flags &RDT_DELETED )) {kernfs_unbreak_active_protection (kn); -kernfs_put (kn); +kernfs_put (rdtgrp->kn);kfree (rdtgrp); }else {kernfs_unbreak_active_protection (kn);
Patches currently in stable-queue which might be from [email protected] are
queue-4.10/x86-intel_rdt-put-group-node-in-rdtgroup_kn_unlock.patch