Commit 1d0c392
committed
ext4: fix potential race between online resizing and write operations
During an online resize an array of pointers to buffer heads gets
replaced so it can get enlarged. If there is a racing block
allocation or deallocation which uses the old array, and the old array
has gotten reused this can lead to a GPF or some other random kernel
memory getting modified.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=206443
Link: https://lore.kernel.org/r/20200221053458.730016-2-tytso@mit.edu
Reported-by: Suraj Jitindar Singh <surajjs@amazon.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org1 parent 9424ef5 commit 1d0c392
4 files changed
Lines changed: 97 additions & 25 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
270 | 270 | | |
271 | 271 | | |
272 | 272 | | |
| 273 | + | |
273 | 274 | | |
274 | 275 | | |
275 | 276 | | |
| |||
280 | 281 | | |
281 | 282 | | |
282 | 283 | | |
283 | | - | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
284 | 292 | | |
285 | 293 | | |
286 | 294 | | |
287 | 295 | | |
288 | 296 | | |
289 | 297 | | |
290 | 298 | | |
291 | | - | |
| 299 | + | |
292 | 300 | | |
293 | 301 | | |
294 | | - | |
| 302 | + | |
295 | 303 | | |
296 | 304 | | |
297 | 305 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1400 | 1400 | | |
1401 | 1401 | | |
1402 | 1402 | | |
1403 | | - | |
| 1403 | + | |
1404 | 1404 | | |
1405 | 1405 | | |
1406 | 1406 | | |
| |||
1576 | 1576 | | |
1577 | 1577 | | |
1578 | 1578 | | |
| 1579 | + | |
| 1580 | + | |
| 1581 | + | |
| 1582 | + | |
| 1583 | + | |
| 1584 | + | |
| 1585 | + | |
| 1586 | + | |
| 1587 | + | |
| 1588 | + | |
| 1589 | + | |
| 1590 | + | |
| 1591 | + | |
| 1592 | + | |
| 1593 | + | |
| 1594 | + | |
| 1595 | + | |
1579 | 1596 | | |
1580 | 1597 | | |
1581 | 1598 | | |
| |||
2730 | 2747 | | |
2731 | 2748 | | |
2732 | 2749 | | |
| 2750 | + | |
2733 | 2751 | | |
2734 | 2752 | | |
2735 | 2753 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
20 | 47 | | |
21 | 48 | | |
22 | 49 | | |
| |||
542 | 569 | | |
543 | 570 | | |
544 | 571 | | |
545 | | - | |
546 | | - | |
| 572 | + | |
| 573 | + | |
547 | 574 | | |
548 | 575 | | |
549 | 576 | | |
| |||
860 | 887 | | |
861 | 888 | | |
862 | 889 | | |
863 | | - | |
| 890 | + | |
| 891 | + | |
864 | 892 | | |
865 | 893 | | |
| 894 | + | |
866 | 895 | | |
867 | | - | |
| 896 | + | |
868 | 897 | | |
869 | | - | |
| 898 | + | |
870 | 899 | | |
871 | 900 | | |
872 | 901 | | |
| |||
909 | 938 | | |
910 | 939 | | |
911 | 940 | | |
912 | | - | |
| 941 | + | |
| 942 | + | |
913 | 943 | | |
914 | 944 | | |
| 945 | + | |
915 | 946 | | |
916 | 947 | | |
917 | 948 | | |
| |||
922 | 953 | | |
923 | 954 | | |
924 | 955 | | |
925 | | - | |
| 956 | + | |
926 | 957 | | |
927 | | - | |
| 958 | + | |
928 | 959 | | |
929 | 960 | | |
930 | 961 | | |
| |||
1188 | 1219 | | |
1189 | 1220 | | |
1190 | 1221 | | |
1191 | | - | |
| 1222 | + | |
| 1223 | + | |
1192 | 1224 | | |
1193 | 1225 | | |
1194 | 1226 | | |
| |||
1270 | 1302 | | |
1271 | 1303 | | |
1272 | 1304 | | |
1273 | | - | |
| 1305 | + | |
1274 | 1306 | | |
1275 | 1307 | | |
1276 | 1308 | | |
| |||
1497 | 1529 | | |
1498 | 1530 | | |
1499 | 1531 | | |
1500 | | - | |
| 1532 | + | |
| 1533 | + | |
1501 | 1534 | | |
1502 | 1535 | | |
1503 | 1536 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1014 | 1014 | | |
1015 | 1015 | | |
1016 | 1016 | | |
| 1017 | + | |
1017 | 1018 | | |
1018 | 1019 | | |
1019 | 1020 | | |
| |||
1046 | 1047 | | |
1047 | 1048 | | |
1048 | 1049 | | |
| 1050 | + | |
| 1051 | + | |
1049 | 1052 | | |
1050 | | - | |
1051 | | - | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
1052 | 1056 | | |
1053 | 1057 | | |
1054 | 1058 | | |
| |||
3634 | 3638 | | |
3635 | 3639 | | |
3636 | 3640 | | |
3637 | | - | |
| 3641 | + | |
3638 | 3642 | | |
3639 | 3643 | | |
3640 | 3644 | | |
| |||
4290 | 4294 | | |
4291 | 4295 | | |
4292 | 4296 | | |
4293 | | - | |
4294 | | - | |
4295 | | - | |
| 4297 | + | |
| 4298 | + | |
| 4299 | + | |
| 4300 | + | |
4296 | 4301 | | |
4297 | 4302 | | |
4298 | 4303 | | |
| |||
4308 | 4313 | | |
4309 | 4314 | | |
4310 | 4315 | | |
| 4316 | + | |
| 4317 | + | |
4311 | 4318 | | |
4312 | | - | |
4313 | | - | |
| 4319 | + | |
| 4320 | + | |
4314 | 4321 | | |
4315 | 4322 | | |
4316 | 4323 | | |
4317 | 4324 | | |
4318 | 4325 | | |
| 4326 | + | |
| 4327 | + | |
| 4328 | + | |
4319 | 4329 | | |
4320 | 4330 | | |
4321 | 4331 | | |
| |||
4717 | 4727 | | |
4718 | 4728 | | |
4719 | 4729 | | |
| 4730 | + | |
| 4731 | + | |
4720 | 4732 | | |
4721 | | - | |
4722 | | - | |
| 4733 | + | |
| 4734 | + | |
| 4735 | + | |
4723 | 4736 | | |
4724 | 4737 | | |
4725 | 4738 | | |
| |||
0 commit comments