Jaegeuk Kim
afd4669f0a
ANDROID: vfs/ext4,f2fs: finish umount(2) in time with filesystem work
...
This patch changes umount(2) flow to wait for delayed fput/mntput. Meanwhile,
we can still see unclosed name spaces which can trigger filesystem panic due
to released device illustrated below. (i.e., ext4 with errors=panic)
So, it introduces fs->umount_end() to change filesystem behavior like
error=remount-ro in ext4.
WARN: DO NOT upstream!
This is only related to Android reboot procedure, and resolves the below
issue where a kernel panic happens when a living filesystem tries to access
dead block device after device_shutdown done by kernel_restart.
Term: namespace(mnt_get_count())
1. create_new_namespaces() creates ns1 and ns2,
/data(1) ns1(1) ns2(1)
| | |
---------------------
|
sb->s_active = 3
2. after binder_proc_clear_zombies() for ns2 and ns1 triggers
- delayed_fput()
- delayed_mntput_work(ns2)
/data(1) ns1(1)
| |
----------
|
sb->s_active = 2
3. umount() for /data is successed.
ns1(1)
|
sb->s_active = 1
4. device_shutdown() by init
5. - delayed_mntput_work(ns1)
- put_super(), since sb->s_active = 0
- -EIO
Bug: 63981945
Bug: 65481582
Bug: 72236603
Change-Id: I7db02f480cc839bf9c245e078164a8168ea0d88b
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org >
2023-03-26 12:09:04 +01:00
..
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2022-06-25 11:45:01 +02:00
2023-01-07 12:07:10 +01:00
2022-02-23 22:14:25 +01:00
2019-09-10 10:31:03 +01:00
2020-03-26 23:09:16 +05:30
2022-02-23 22:14:25 +01:00
2023-03-26 12:09:00 +01:00
2022-02-23 22:14:25 +01:00
2018-08-24 13:12:40 +02:00
2019-12-05 15:34:25 +01:00
2022-02-23 22:14:25 +01:00
2019-08-07 15:49:43 +08:00
2022-02-23 22:14:25 +01:00
2018-05-10 00:13:37 +05:30
2023-03-26 12:09:00 +01:00
2018-04-13 19:48:19 +02:00
2022-03-16 12:49:00 +01:00
2022-02-23 22:14:25 +01:00
2023-03-26 12:09:00 +01:00
2022-02-23 22:14:25 +01:00
2023-03-26 12:09:00 +01:00
2018-10-13 09:18:58 +02:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2023-03-26 12:09:00 +01:00
2020-06-30 15:38:42 -04:00
2020-07-17 00:22:05 -07:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2023-03-26 12:09:00 +01:00
2022-02-23 22:14:25 +01:00
2018-02-26 23:47:34 -08:00
2023-03-26 12:09:00 +01:00
2022-02-23 22:14:25 +01:00
2021-02-23 13:59:14 +01:00
2023-03-26 12:09:00 +01:00
2021-01-23 15:38:17 +01:00
2020-01-12 11:24:13 +01:00
2022-02-23 22:14:25 +01:00
2022-04-12 08:16:55 +02:00
2017-10-20 13:56:53 -07:00
2022-10-26 13:15:43 +02:00
2019-12-21 10:41:44 +01:00
2018-06-25 00:07:14 -07:00
2019-06-13 14:55:13 +08:00
2023-03-26 12:09:00 +01:00
2018-05-02 17:19:36 +05:30
2018-09-26 08:55:20 +05:30
2019-08-07 15:49:43 +08:00
2020-01-29 10:24:41 +01:00
2020-06-30 15:38:29 -04:00
2019-04-17 08:36:46 +02:00
2019-05-14 19:19:34 +02:00
2022-02-23 22:14:25 +01:00
2023-03-26 12:09:00 +01:00
2020-05-20 08:15:31 +02:00
2019-08-07 11:06:30 +08:00
2018-12-08 13:05:10 +01:00
2019-12-12 15:48:18 -08:00
2022-08-25 12:09:51 +02:00
2022-09-15 12:39:45 +02:00
2023-03-26 12:09:00 +01:00
2022-01-11 13:38:12 +01:00
2023-03-26 12:09:00 +01:00
2018-01-31 12:55:51 +01:00
2020-05-20 08:15:32 +02:00
2018-02-28 15:09:58 -08:00
2023-03-26 12:09:00 +01:00
2023-03-26 12:09:00 +01:00
2018-02-07 10:37:41 -08:00
2017-12-16 12:33:02 +05:30
2017-12-16 12:33:02 +05:30
2018-01-24 16:34:44 -07:00
2019-02-27 10:07:01 +01:00
2019-08-06 18:29:38 +02:00
2019-08-06 18:29:38 +02:00
2021-02-03 23:19:49 +01:00
2019-01-31 08:36:51 +01:00
2022-03-11 10:03:32 +01:00
2019-01-31 08:12:35 +01:00
2021-10-06 10:40:17 +02:00
2021-05-26 11:29:08 +02:00
2021-11-26 11:48:25 +01:00
2018-02-02 11:02:24 +08:00
2023-03-26 12:09:00 +01:00
2019-11-25 09:52:44 +01:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2019-03-07 01:13:18 +00:00
2019-04-26 13:08:21 +08:00
2023-03-26 12:09:00 +01:00
2018-06-25 03:39:06 -07:00
2021-10-06 10:23:43 +02:00
2018-09-26 08:44:01 +02:00
2018-02-28 10:18:33 +01:00
2022-02-23 22:14:48 +01:00
2019-07-31 21:36:38 -07:00
2023-03-26 12:09:00 +01:00
2019-03-22 14:08:39 -07:00
2022-02-23 22:14:25 +01:00
2020-05-11 14:05:41 +08:00
2018-04-11 13:28:37 -07:00
2023-03-26 12:09:00 +01:00
2023-03-26 12:09:00 +01:00
2020-04-20 17:09:10 +05:30
2022-02-23 22:14:25 +01:00
2018-10-31 17:08:44 +08:00
2018-04-03 15:07:46 +05:30
2022-06-25 11:45:19 +02:00
2020-01-12 11:24:13 +01:00
2022-10-26 13:15:43 +02:00
2019-11-25 09:52:59 +01:00
2021-03-11 13:48:03 +01:00
2020-09-03 11:21:19 +02:00
2018-11-10 07:42:48 -08:00
2017-11-15 19:00:12 +05:30
2021-10-27 09:34:00 +02:00
2020-06-30 15:38:29 -04:00
2022-02-23 22:14:25 +01:00
2022-04-27 13:14:10 +02:00
2023-01-07 12:07:15 +01:00
2018-09-12 13:53:41 +05:30
2022-02-23 22:14:25 +01:00
2019-05-08 21:47:04 -07:00
2020-01-06 18:07:05 +08:00
2018-02-13 12:36:00 +01:00
2017-12-10 17:14:07 +01:00
2023-03-26 12:09:04 +01:00
2021-11-26 12:41:38 +01:00
2020-10-14 09:48:14 +02:00
2018-01-17 09:38:58 +01:00
2023-03-26 12:09:04 +01:00
2018-01-10 09:29:52 +01:00
2022-02-23 22:14:48 +01:00
2022-02-23 22:14:48 +01:00
2022-02-23 22:14:48 +01:00
2022-02-23 22:14:48 +01:00
2018-03-28 18:39:23 +02:00
2022-02-23 22:14:25 +01:00
2018-02-02 19:49:15 -08:00
2021-02-23 14:46:12 +01:00
2021-02-03 23:19:50 +01:00
2019-12-05 15:35:02 +01:00
2023-03-26 12:09:00 +01:00
2019-02-12 19:44:56 +01:00
2019-12-06 20:09:55 +08:00
2022-02-23 22:14:25 +01:00
2019-09-10 10:31:00 +01:00
2019-01-25 09:00:54 +05:30
2019-02-15 08:07:39 +01:00
2023-03-26 12:09:00 +01:00
2017-11-07 18:14:30 +08:00
2020-11-10 10:24:00 +01:00
2022-02-23 22:14:25 +01:00
2020-03-12 15:59:20 +08:00
2018-10-20 09:51:31 +02:00
2018-06-28 19:14:04 +05:30
2021-09-22 11:43:08 +02:00
2022-06-25 11:45:10 +02:00
2017-10-27 10:38:08 +02:00
2020-09-23 08:46:15 +02:00
2018-11-21 09:26:01 +01:00
2021-03-03 17:44:46 +01:00
2020-09-12 11:47:36 +02:00
2021-03-30 14:41:41 +02:00
2020-05-12 09:06:10 +08:00
2017-10-16 22:14:22 -07:00
2020-01-12 11:24:25 +01:00
2021-03-30 14:41:40 +02:00
2019-08-11 15:30:44 +02:00
2020-12-11 13:37:58 +01:00
2018-01-10 19:42:37 -07:00
2019-03-07 13:35:38 +05:30
2022-02-23 22:14:25 +01:00
2022-09-25 21:44:07 +01:00
2018-12-01 09:44:26 +01:00
2021-02-03 23:19:51 +01:00
2018-03-19 04:18:31 -07:00
2020-07-31 16:44:05 +02:00
2019-07-04 21:35:35 -07:00
2018-04-23 11:32:20 -07:00
2019-08-06 11:26:57 +05:30
2018-03-05 22:34:59 -08:00
2019-11-01 13:24:56 -07:00
2019-03-07 17:38:06 +08:00
2021-12-08 08:45:05 +01:00
2020-06-13 00:13:15 +05:30
2023-03-26 12:09:00 +01:00
2018-08-24 11:13:08 +05:30
2019-04-05 22:29:12 +02:00
2019-12-21 10:41:37 +01:00
2018-10-10 08:53:18 +02:00
2018-02-22 15:43:55 +01:00
2019-05-08 07:46:34 +02:00
2018-11-23 08:20:35 +01:00
2018-11-28 23:43:53 -08:00
2018-05-30 07:50:26 +02:00
2017-12-18 15:21:35 -08:00
2021-01-09 13:35:50 +01:00
2018-08-02 09:46:04 +05:30
2022-05-12 12:14:54 +02:00
2019-03-22 14:15:31 -07:00
2022-07-02 16:17:16 +02:00
2017-10-30 09:27:09 +01:00
2020-06-20 10:24:16 +02:00
2020-10-14 09:48:17 +02:00
2020-01-14 20:04:25 +01:00
2021-12-08 08:45:06 +01:00
2021-01-05 16:00:48 +00:00
2021-06-16 11:36:35 +02:00
2018-01-22 15:58:17 +05:30
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2018-06-08 11:54:52 -07:00
2021-11-26 11:48:18 +01:00
2022-02-23 22:12:15 +01:00
2019-06-11 12:22:42 +02:00
2020-02-28 15:42:30 +01:00
2019-05-21 19:03:22 +02:00
2018-04-08 12:12:50 +02:00
2020-09-12 11:47:34 +02:00
2023-03-26 12:09:00 +01:00
2017-10-27 10:38:08 +02:00
2021-10-09 13:25:58 +02:00
2018-02-07 02:30:22 -08:00
2023-03-26 12:09:00 +01:00
2019-11-28 18:28:51 +01:00
2019-12-10 12:32:46 +05:30
2018-06-28 19:14:03 +05:30
2022-06-25 11:45:10 +02:00
2018-06-04 15:58:48 +05:30
2019-12-16 10:44:38 +08:00
2023-03-26 12:09:00 +01:00
2017-12-20 10:07:29 +01:00
2021-07-11 12:46:40 +02:00
2017-12-14 09:28:16 +01:00
2023-03-26 12:09:00 +01:00
2020-06-22 13:43:46 +08:00
2023-03-26 12:09:00 +01:00
2018-02-28 15:09:58 -08:00
2021-08-26 08:37:24 -04:00
2017-12-01 16:53:39 -08:00
2017-10-26 18:22:37 +08:00
2017-11-22 14:12:10 -08:00
2017-11-13 15:44:01 -08:00
2018-08-02 13:41:17 +05:30
2020-02-19 11:48:32 -08:00
2018-02-09 13:59:19 -08:00
2018-02-10 03:43:20 -08:00
2019-12-19 12:23:02 +05:30
2017-11-29 10:52:52 +05:30
2017-12-18 21:32:49 -08:00
2018-03-27 18:44:10 +05:30
2022-06-25 11:44:58 +02:00
2022-05-18 09:15:42 +02:00
2023-03-26 12:09:00 +01:00
2022-06-14 16:52:40 +02:00
2018-05-22 16:58:02 +02:00
2023-03-26 12:09:00 +01:00
2022-02-23 22:14:25 +01:00
2017-12-14 09:28:16 +01:00
2022-06-25 11:44:58 +02:00
2018-11-14 14:28:47 +05:30
2020-10-29 10:17:40 +01:00
2020-05-27 16:41:52 +02:00
2019-11-14 14:28:42 +08:00
2023-03-26 12:09:00 +01:00
2018-07-08 17:24:08 -07:00
2022-02-23 22:14:25 +01:00
2022-08-25 11:09:24 +02:00
2018-02-25 11:05:51 +01:00
2021-09-22 11:43:10 +02:00
2020-04-24 07:59:12 +02:00
2018-01-05 15:46:35 +01:00
2023-03-26 12:09:00 +01:00
2018-09-06 19:00:52 +05:30
2018-12-01 09:44:25 +01:00
2020-03-20 09:07:43 +01:00
2019-09-03 13:45:29 -07:00
2019-06-11 12:22:45 +02:00
2020-05-20 08:15:36 +02:00
2020-01-23 08:19:33 +01:00
2020-05-20 08:15:32 +02:00
2018-11-10 07:43:01 -08:00
2022-02-23 22:14:25 +01:00
2022-06-25 11:45:14 +02:00
2017-11-15 15:53:17 +01:00
2022-02-23 22:14:25 +01:00
2019-09-03 13:43:55 -07:00
2019-03-23 13:19:50 +01:00
2018-04-20 08:21:05 +02:00
2022-06-10 13:31:32 -07:00
2022-06-10 13:31:32 -07:00
2019-01-09 16:16:42 +01:00
2022-06-14 16:52:28 +02:00
2019-08-07 16:30:28 +08:00
2019-03-17 21:39:44 -07:00
2018-04-24 10:17:48 -07:00
2020-01-04 13:40:50 +01:00
2019-12-21 10:42:08 +01:00
2023-03-26 12:09:00 +01:00
2022-07-02 16:17:14 +02:00
2022-01-27 08:47:42 +01:00
2022-01-27 08:47:42 +01:00
2020-02-28 15:42:30 +01:00
2018-09-21 15:09:04 -07:00
2019-08-04 09:33:19 +02:00
2018-05-31 03:23:27 -07:00
2019-04-05 22:29:06 +02:00
2019-12-05 15:34:07 +01:00
2018-12-08 13:05:09 +01:00
2018-04-24 13:28:12 -07:00
2018-10-18 09:13:25 +02:00
2019-04-05 22:29:05 +02:00
2023-03-26 12:09:00 +01:00
2022-02-23 22:14:25 +01:00
2019-01-08 16:14:39 +08:00
2023-03-26 12:09:00 +01:00
2017-11-30 14:49:45 -08:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2018-05-22 16:58:01 +02:00
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2023-03-26 12:09:00 +01:00
2020-04-02 17:20:39 +02:00
2020-12-29 13:44:59 +01:00
2020-10-01 20:40:04 +02:00
2022-09-28 11:12:52 +02:00
2018-01-17 09:38:53 +01:00
2021-12-08 08:45:05 +01:00
2020-01-29 10:24:30 +01:00
2022-06-25 11:45:14 +02:00
2023-03-26 12:09:00 +01:00
2018-10-03 17:01:50 -07:00
2019-05-31 06:48:17 -07:00
2023-03-26 12:09:00 +01:00
2022-02-23 22:14:25 +01:00
2022-06-25 11:45:14 +02:00
2020-01-20 14:46:02 +08:00
2018-10-31 17:25:20 +08:00
2021-06-30 08:49:13 -04:00
2022-02-23 22:14:25 +01:00
2018-05-14 16:15:00 +00:00
2019-09-03 13:45:40 -07:00
2018-10-31 17:25:20 +08:00
2021-03-07 11:40:25 +01:00
2018-11-13 11:17:02 -08:00
2022-10-26 13:28:31 +02:00
2018-02-21 15:40:43 +00:00
2022-02-23 22:14:25 +01:00
2021-03-24 11:32:14 +01:00
2020-11-18 18:26:23 +01:00
2019-12-21 10:42:25 +01:00
2017-11-29 13:44:16 -08:00
2018-01-18 07:01:08 -08:00
2023-01-07 12:07:13 +01:00
2022-06-25 11:45:13 +02:00
2020-03-12 15:39:56 +08:00
2020-12-29 13:44:59 +01:00
2020-08-21 11:01:56 +02:00
2021-05-22 10:40:24 +02:00
2022-07-29 17:05:47 +02:00
2023-03-26 12:09:00 +01:00
2021-03-30 14:41:39 +02:00
2020-09-12 11:47:35 +02:00
2018-04-05 18:53:25 +05:30
2022-02-23 22:14:25 +01:00
2022-02-23 22:14:25 +01:00
2023-03-26 12:09:00 +01:00
2022-02-23 22:14:25 +01:00
2022-06-25 11:45:10 +02:00
2022-02-23 22:14:25 +01:00
2018-09-10 09:20:19 +02:00
2018-01-31 12:55:52 +01:00
2019-04-17 08:36:47 +02:00
2021-03-25 02:06:20 +00:00
2018-05-01 15:13:05 -07:00
2018-11-07 13:12:46 +08:00
2018-09-19 22:47:17 +02:00
2020-05-11 17:25:31 +08:00
2019-07-21 09:06:03 +02:00
2020-04-02 17:20:39 +02:00
2021-12-14 10:04:48 +01:00
2022-02-23 22:14:25 +01:00
2019-01-14 12:05:45 +05:30
2022-06-25 11:45:09 +02:00
2019-05-21 17:01:55 +08:00
2020-08-21 11:01:55 +02:00
2018-08-23 12:05:06 -07:00
2021-03-07 11:40:25 +01:00
2018-08-23 12:05:06 -07:00