Tejun Heo
e605b36575
cgroup: fix cgroup_subsys_state leak for seq_files
...
If a cgroup file implements either read_map() or read_seq_string(),
such file is served using seq_file by overriding file->f_op to
cgroup_seqfile_operations, which also overrides the release method to
single_release() from cgroup_file_release().
Because cgroup_file_open() didn't use to acquire any resources, this
used to be fine, but since f7d58818ba42 ("cgroup: pin
cgroup_subsys_state when opening a cgroupfs file"), cgroup_file_open()
pins the css (cgroup_subsys_state) which is put by
cgroup_file_release(). The patch forgot to update the release path
for seq_files and each open/release cycle leaks a css reference.
Fix it by updating cgroup_file_release() to also handle seq_files and
using it for seq_file release path too.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: stable@vger.kernel.org # v3.12
2013-11-27 18:16:21 -05:00
..
2013-09-25 14:07:49 +02:00
2013-10-03 18:47:54 +02:00
2013-11-13 12:09:23 +09:00
2013-11-13 12:09:34 +09:00
2013-11-19 10:40:00 -08:00
2013-11-13 13:50:17 +01:00
2013-11-19 01:07:08 +01:00
2013-11-13 12:09:14 +09:00
2013-11-16 12:23:18 -08:00
2013-11-13 13:33:55 +01:00
2013-11-12 10:36:00 +09:00
2013-11-16 12:23:18 -08:00
2013-04-22 07:09:06 -07:00
2013-05-04 14:57:58 -04:00
2013-03-12 13:59:14 -07:00
2013-06-12 16:29:46 -07:00
2013-01-11 14:54:55 -08:00
2013-11-21 19:18:14 -08:00
2013-11-05 11:15:03 -05:00
2013-11-05 11:09:16 -05:00
2013-11-06 11:47:24 -05:00
2013-11-19 14:20:12 -08:00
2013-09-09 11:19:09 -07:00
2013-08-08 20:11:27 -04:00
2013-11-27 18:16:21 -05:00
2013-05-01 07:21:43 -07:00
2013-05-01 17:29:18 -04:00
2013-10-09 12:36:13 +02:00
2013-11-14 16:55:11 +09:00
2013-11-27 13:52:47 -05:00
2012-12-18 10:55:28 -08:00
2013-11-13 12:09:12 +09:00
2013-11-09 00:16:23 -05:00
2013-07-09 10:33:26 -07:00
2013-09-11 15:58:25 -07:00
2013-11-15 09:32:15 +09:00
2013-07-30 14:05:06 +02:00
2013-02-23 18:50:11 -08:00
2013-11-06 09:23:59 +01:00
2013-08-30 23:44:11 -07:00
2013-07-14 19:36:59 -04:00
2013-11-15 13:51:36 +09:00
2013-02-05 00:48:46 +01:00
2013-10-19 19:45:35 -04:00
2013-04-15 15:17:26 +09:30
2012-12-20 17:40:19 -08:00
2013-11-15 09:32:22 +09:00
2013-05-28 08:50:00 +02:00
2013-11-15 16:47:22 -08:00
2013-09-30 14:31:02 -07:00
2013-11-13 12:09:26 +09:00
2013-09-12 15:38:03 -07:00
2013-11-13 12:08:59 +09:00
2013-11-21 19:46:00 -08:00
2013-10-25 17:15:18 -04:00
2013-09-25 17:17:01 +01:00
2013-11-15 13:27:50 +09:00
2013-09-07 14:35:32 -07:00
2013-08-29 14:37:59 +10:00
2013-11-13 12:09:35 +09:00
2013-09-28 12:35:52 -07:00
2013-10-24 23:43:29 -04:00
2013-09-30 14:31:03 -07:00
2013-07-03 16:54:42 +02:00
2013-04-18 12:51:19 +02:00
2013-07-14 19:36:59 -04:00
2013-11-13 12:09:33 +09:00
2013-06-18 11:32:10 -05:00
2013-09-24 17:00:26 -07:00
2013-07-14 19:36:59 -04:00
2013-09-12 15:38:02 -07:00
2013-07-03 16:08:06 -07:00
2013-03-26 11:07:19 +11:00
2013-11-09 00:16:29 -05:00
2013-11-15 09:32:22 +09:00
2013-07-14 19:36:59 -04:00
2013-11-15 09:32:22 +09:00
2013-11-11 12:43:38 +01:00
2013-05-09 13:46:38 -04:00
2013-11-13 12:09:13 +09:00
2013-11-13 12:09:33 +09:00
2013-11-14 16:30:30 +09:00
2013-10-30 12:58:00 +00:00
2013-09-25 17:17:01 +01:00
2013-09-11 15:58:27 -07:00
2013-11-19 16:39:05 -05:00
2013-04-29 18:28:42 -07:00
2013-06-19 12:58:42 +02:00
2013-02-16 23:17:25 +01:00
2013-09-25 14:07:32 +02:00
2013-04-29 13:55:38 -07:00
2013-01-27 19:23:31 +01:00
2013-08-30 23:44:11 -07:00
2013-11-15 09:32:22 +09:00
2013-09-24 10:35:19 +01:00
2013-02-27 19:10:24 -08:00
2013-09-24 10:35:19 +01:00
2013-02-27 19:10:22 -08:00
2013-08-30 23:44:11 -07:00
2013-09-24 17:00:25 -07:00
2013-06-19 12:58:42 +02:00
2013-09-06 09:36:28 -07:00