Amir Goldstein
8a8908cb82
fuse: fix live lock in fuse_iget()
...
commit 775c5033a0d164622d9d10dd0f0a5531639ed3ed upstream.
Commit 5d069dbe8aaf ("fuse: fix bad inode") replaced make_bad_inode()
in fuse_iget() with a private implementation fuse_make_bad().
The private implementation fails to remove the bad inode from inode
cache, so the retry loop with iget5_locked() finds the same bad inode
and marks it bad forever.
kmsg snip:
[ ] rcu: INFO: rcu_sched self-detected stall on CPU
...
[ ] ? bit_wait_io+0x50/0x50
[ ] ? fuse_init_file_inode+0x70/0x70
[ ] ? find_inode.isra.32+0x60/0xb0
[ ] ? fuse_init_file_inode+0x70/0x70
[ ] ilookup5_nowait+0x65/0x90
[ ] ? fuse_init_file_inode+0x70/0x70
[ ] ilookup5.part.36+0x2e/0x80
[ ] ? fuse_init_file_inode+0x70/0x70
[ ] ? fuse_inode_eq+0x20/0x20
[ ] iget5_locked+0x21/0x80
[ ] ? fuse_inode_eq+0x20/0x20
[ ] fuse_iget+0x96/0x1b0
Fixes: 5d069dbe8aaf ("fuse: fix bad inode")
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-27 09:04:34 +01:00
..
2020-11-05 11:08:53 +01:00
2019-08-06 19:06:49 +02:00
2021-03-04 09:39:55 +01:00
2021-06-30 08:48:14 -04:00
2019-12-13 08:51:01 +01:00
2018-12-01 09:37:27 +01:00
2022-01-27 09:04:27 +01:00
2020-11-05 11:08:54 +01:00
2021-09-26 13:39:48 +02:00
2021-10-06 15:31:10 +02:00
2019-08-06 19:06:51 +02:00
2021-07-20 16:15:57 +02:00
2018-11-13 11:08:55 -08:00
2021-09-22 11:47:56 +02:00
2019-05-08 07:21:48 +02:00
2019-03-23 20:09:59 +01:00
2022-01-27 09:04:23 +01:00
2021-05-26 11:48:34 +02:00
2020-12-02 08:48:12 +01:00
2019-12-05 09:20:32 +01:00
2020-01-27 14:50:02 +01:00
2021-10-09 14:11:03 +02:00
2022-01-27 09:04:31 +01:00
2022-01-27 09:04:15 +01:00
2020-06-22 09:05:08 +02:00
2021-09-22 11:48:02 +02:00
2022-01-27 09:04:34 +01:00
2021-12-08 08:50:11 +01:00
2021-07-31 08:22:38 +02:00
2021-05-22 10:59:45 +02:00
2021-06-03 08:38:12 +02:00
2021-11-12 14:40:50 +01:00
2020-09-03 11:24:24 +02:00
2022-01-27 09:04:26 +01:00
2021-11-26 11:36:12 +01:00
2019-12-13 08:52:43 +01:00
2020-12-30 11:25:59 +01:00
2020-08-21 11:05:38 +02:00
2021-12-08 08:50:11 +01:00
2020-12-30 11:26:02 +01:00
2021-12-22 09:19:01 +01:00
2021-09-26 13:39:49 +02:00
2020-06-30 23:17:00 -04:00
2021-07-20 16:15:39 +02:00
2021-11-26 11:35:57 +01:00
2022-01-27 09:04:13 +01:00
2021-12-22 09:19:04 +01:00
2021-12-01 09:27:39 +01:00
2021-03-04 09:39:54 +01:00
2021-10-06 15:31:20 +02:00
2021-11-26 11:36:03 +01:00
2020-10-30 10:38:21 +01:00
2021-08-12 13:19:44 +02:00
2020-08-26 10:30:59 +02:00
2021-05-22 10:59:45 +02:00
2021-03-07 12:19:01 +01:00
2018-12-17 09:24:30 +01:00
2021-12-14 10:18:07 +01:00
2022-01-27 09:04:30 +01:00
2021-11-26 11:36:23 +01:00
2020-08-21 11:05:38 +02:00
2022-01-11 13:58:49 +01:00
2021-12-14 10:18:07 +01:00
2021-10-06 15:31:24 +02:00
2019-07-03 13:14:44 +02:00
2021-03-17 16:43:51 +01:00
2019-11-06 13:05:37 +01:00
2021-05-22 10:59:49 +02:00
2020-11-05 11:08:46 +01:00
2020-01-14 20:06:57 +01:00
2020-01-09 10:19:07 +01:00
2020-05-14 07:57:21 +02:00
2020-03-05 16:42:12 +01:00
2020-11-05 11:08:35 +01:00
2021-04-14 08:22:32 +02:00
2020-01-12 12:17:20 +01:00
2020-02-11 04:34:08 -08:00
2020-10-07 08:00:09 +02:00
2021-10-27 09:53:13 +02:00
2021-09-22 11:47:50 +02:00
2021-12-08 08:50:13 +01:00
2021-12-08 08:50:13 +01:00
2020-04-17 10:48:51 +02:00
2021-07-20 16:15:52 +02:00
2020-03-25 08:06:14 +01:00
2019-05-31 06:46:05 -07:00
2018-11-21 09:19:14 +01:00
2021-05-22 10:59:50 +02:00
2020-11-24 13:27:23 +01:00
2020-01-09 10:19:00 +01:00
2020-03-05 16:42:20 +01:00
2021-08-26 08:36:49 -04:00
2019-05-25 18:23:26 +02:00
2020-03-18 07:14:21 +01:00
2021-08-12 13:19:43 +02:00
2020-05-02 17:26:01 +02:00
2019-12-01 09:17:04 +01:00
2021-04-28 13:16:50 +02:00
2021-03-24 11:07:37 +01:00
2021-07-20 16:16:16 +02:00
2021-12-14 10:18:07 +01:00
2019-12-17 20:35:43 +01:00
2019-10-11 18:21:39 +02:00
2020-11-24 13:27:20 +01:00
2021-09-22 11:48:02 +02:00
2020-08-11 15:32:34 +02:00