Luis Henriques
091784ae97
ceph: fix memory leak in __ceph_setxattr()
...
commit eeca958dce0a9231d1969f86196653eb50fcc9b3 upstream.
The ceph_inode_xattr needs to be released when removing an xattr. Easily
reproducible running the 'generic/020' test from xfstests or simply by
doing:
attr -s attr0 -V 0 /mnt/test && attr -r attr0 /mnt/test
While there, also fix the error path.
Here's the kmemleak splat:
unreferenced object 0xffff88001f86fbc0 (size 64):
comm "attr", pid 244, jiffies 4294904246 (age 98.464s)
hex dump (first 32 bytes):
40 fa 86 1f 00 88 ff ff 80 32 38 1f 00 88 ff ff @........28.....
00 01 00 00 00 00 ad de 00 02 00 00 00 00 ad de ................
backtrace:
[<ffffffff81560199>] kmemleak_alloc+0x49/0xa0
[<ffffffff810f3e5b>] kmem_cache_alloc+0x9b/0xf0
[<ffffffff812b157e>] __ceph_setxattr+0x17e/0x820
[<ffffffff812b1c57>] ceph_set_xattr_handler+0x37/0x40
[<ffffffff8111fb4b>] __vfs_removexattr+0x4b/0x60
[<ffffffff8111fd37>] vfs_removexattr+0x77/0xd0
[<ffffffff8111fdd1>] removexattr+0x41/0x60
[<ffffffff8111fe65>] path_removexattr+0x75/0xa0
[<ffffffff81120aeb>] SyS_lremovexattr+0xb/0x10
[<ffffffff81564b20>] entry_SYSCALL_64_fastpath+0x13/0x94
[<ffffffffffffffff>] 0xffffffffffffffff
Signed-off-by: Luis Henriques <lhenriques@suse.com>
Reviewed-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-05-20 14:28:39 +02:00
..
2017-05-14 14:00:13 +02:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2017-03-15 10:02:44 +08:00
2017-03-15 10:02:44 +08:00
2016-10-15 12:09:13 -07:00
2016-10-10 23:02:51 -04:00
2017-02-14 15:25:40 -08:00
2016-10-10 20:16:43 -07:00
2017-05-20 14:28:39 +02:00
2017-05-08 07:47:55 +02:00
2016-10-10 20:16:43 -07:00
2016-10-10 23:02:51 -04:00
2017-03-31 10:31:46 +02:00
2017-03-15 10:02:44 +08:00
2016-10-10 20:16:43 -07:00
2016-10-10 09:54:00 -05:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-27 18:43:43 -07:00
2016-10-06 09:07:44 -04:00
2016-10-18 11:29:35 +02:00
2017-05-20 14:28:39 +02:00
2017-05-14 14:00:22 +02:00
2017-03-15 10:02:52 +08:00
2017-03-12 06:41:47 +01:00
2017-03-26 13:05:58 +02:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-11-30 10:41:26 -08:00
2017-03-30 09:41:27 +02:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-27 17:47:11 +02:00
2016-10-11 15:06:33 -07:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2017-04-08 09:30:33 +02:00
2017-05-03 08:36:38 -07:00
2016-10-10 20:16:43 -07:00
2017-01-09 08:32:22 +01:00
2016-10-30 13:09:42 -04:00
2017-01-19 20:17:59 +01:00
2016-10-10 20:16:43 -07:00
2016-09-27 21:06:21 -04:00
2017-05-20 14:28:39 +02:00
2016-11-29 10:20:24 +01:00
2017-04-21 09:31:19 +02:00
2016-10-10 20:16:43 -07:00
2016-08-15 17:43:31 +02:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-07 21:48:36 -04:00
2017-04-12 12:41:11 +02:00
2016-10-10 20:16:43 -07:00
2016-09-27 21:06:21 -04:00
2017-04-27 09:10:38 +02:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2017-04-12 12:41:12 +02:00
2016-10-30 13:09:42 -04:00
2016-10-10 20:16:43 -07:00
2017-01-09 08:32:24 +01:00
2016-07-25 16:51:49 +10:00
2016-09-14 21:28:10 +02:00
2016-08-02 19:35:15 -04:00
2016-07-28 13:29:12 +10:00
2016-09-27 21:06:22 -04:00
2017-05-14 14:00:22 +02:00
2016-10-11 15:06:33 -07:00
2016-08-23 22:58:51 -07:00
2016-09-24 09:27:18 +02:00
2016-09-27 21:20:53 -04:00
2016-11-11 08:12:37 -08:00
2017-02-09 08:08:31 +01:00
2017-01-19 20:18:03 +01:00
2016-10-03 20:38:55 -04:00
2017-01-06 10:40:13 +01:00
2016-09-27 18:47:38 -04:00
2016-08-09 19:58:06 -06:00
2016-10-10 20:16:43 -07:00
2016-10-10 13:04:49 -07:00
2016-09-15 13:29:52 -07:00
2017-02-09 08:08:31 +01:00
2016-10-07 18:46:29 -07:00
2016-08-12 16:47:05 +01:00
2016-10-10 20:16:43 -07:00
2016-10-18 12:21:28 +02:00
2016-08-31 11:44:36 -04:00
2017-03-15 10:02:43 +08:00
2016-08-07 14:41:02 -06:00
2017-03-15 10:02:44 +08:00
2017-03-15 10:02:44 +08:00
2016-10-10 20:16:43 -07:00
2016-10-13 20:28:22 -07:00
2016-10-11 15:06:32 -07:00
2017-03-15 10:02:43 +08:00
2017-03-15 10:02:43 +08:00
2017-01-26 08:24:37 +01:00
2016-10-14 20:00:34 -04:00
2016-10-11 15:06:30 -07:00
2016-10-07 18:46:30 -07:00
2017-02-23 17:44:35 +01:00
2017-03-15 10:02:44 +08:00
2017-05-08 07:47:54 +02:00
2016-07-26 16:19:19 -07:00
2016-10-08 11:06:08 -04:00
2017-05-20 14:28:39 +02:00