Commit d98c9e8
kasan: fix crashes on access to memory mapped by vm_map_ram()
With CONFIG_KASAN_VMALLOC=y any use of memory obtained via vm_map_ram()
will crash because there is no shadow backing that memory.
Instead of sprinkling additional kasan_populate_vmalloc() calls all over
the vmalloc code, move it into alloc_vmap_area(). This will fix
vm_map_ram() and simplify the code a bit.
[aryabinin@virtuozzo.com: v2]
Link: http://lkml.kernel.org/r/20191205095942.1761-1-aryabinin@virtuozzo.comLink: http://lkml.kernel.org/r/20191204204534.32202-1-aryabinin@virtuozzo.com
Fixes: 3c5c3cf ("kasan: support backing vmalloc space with real shadow memory")
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Reviewed-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
Cc: Daniel Axtens <dja@axtens.net>
Cc: Alexander Potapenko <glider@google.com>
Cc: Daniel Axtens <dja@axtens.net>
Cc: Qian Cai <cai@lca.pw>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>1 parent 2187f21 commit d98c9e8
3 files changed
+67
-60
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
205 | 205 | | |
206 | 206 | | |
207 | 207 | | |
208 | | - | |
209 | | - | |
210 | | - | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
211 | 211 | | |
212 | 212 | | |
213 | 213 | | |
214 | 214 | | |
215 | | - | |
216 | | - | |
| 215 | + | |
| 216 | + | |
217 | 217 | | |
218 | 218 | | |
219 | 219 | | |
220 | 220 | | |
221 | | - | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
222 | 225 | | |
223 | 226 | | |
224 | 227 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
778 | 778 | | |
779 | 779 | | |
780 | 780 | | |
781 | | - | |
| 781 | + | |
782 | 782 | | |
783 | 783 | | |
784 | 784 | | |
785 | 785 | | |
786 | | - | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
787 | 790 | | |
788 | | - | |
789 | | - | |
| 791 | + | |
790 | 792 | | |
791 | 793 | | |
792 | 794 | | |
| |||
797 | 799 | | |
798 | 800 | | |
799 | 801 | | |
800 | | - | |
801 | | - | |
802 | | - | |
803 | | - | |
804 | 802 | | |
805 | 803 | | |
806 | 804 | | |
| |||
843 | 841 | | |
844 | 842 | | |
845 | 843 | | |
846 | | - | |
| 844 | + | |
847 | 845 | | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
848 | 849 | | |
849 | 850 | | |
850 | 851 | | |
851 | 852 | | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
852 | 861 | | |
853 | 862 | | |
854 | 863 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1061 | 1061 | | |
1062 | 1062 | | |
1063 | 1063 | | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
1064 | 1084 | | |
1065 | 1085 | | |
1066 | 1086 | | |
| |||
1073 | 1093 | | |
1074 | 1094 | | |
1075 | 1095 | | |
| 1096 | + | |
1076 | 1097 | | |
1077 | 1098 | | |
1078 | 1099 | | |
| |||
1139 | 1160 | | |
1140 | 1161 | | |
1141 | 1162 | | |
| 1163 | + | |
1142 | 1164 | | |
1143 | 1165 | | |
1144 | 1166 | | |
| |||
1147 | 1169 | | |
1148 | 1170 | | |
1149 | 1171 | | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
1150 | 1178 | | |
1151 | 1179 | | |
1152 | 1180 | | |
| |||
1185 | 1213 | | |
1186 | 1214 | | |
1187 | 1215 | | |
1188 | | - | |
1189 | | - | |
1190 | | - | |
1191 | | - | |
1192 | | - | |
1193 | | - | |
1194 | | - | |
1195 | | - | |
1196 | | - | |
1197 | | - | |
1198 | | - | |
1199 | | - | |
1200 | | - | |
1201 | | - | |
1202 | | - | |
1203 | | - | |
1204 | | - | |
1205 | | - | |
1206 | | - | |
1207 | | - | |
1208 | 1216 | | |
1209 | 1217 | | |
1210 | 1218 | | |
| |||
1771 | 1779 | | |
1772 | 1780 | | |
1773 | 1781 | | |
| 1782 | + | |
| 1783 | + | |
1774 | 1784 | | |
1775 | 1785 | | |
1776 | 1786 | | |
| |||
1821 | 1831 | | |
1822 | 1832 | | |
1823 | 1833 | | |
| 1834 | + | |
| 1835 | + | |
| 1836 | + | |
1824 | 1837 | | |
1825 | 1838 | | |
1826 | 1839 | | |
| |||
2075 | 2088 | | |
2076 | 2089 | | |
2077 | 2090 | | |
| 2091 | + | |
2078 | 2092 | | |
2079 | 2093 | | |
2080 | 2094 | | |
| |||
2098 | 2112 | | |
2099 | 2113 | | |
2100 | 2114 | | |
2101 | | - | |
| 2115 | + | |
2102 | 2116 | | |
2103 | | - | |
2104 | | - | |
2105 | | - | |
2106 | | - | |
2107 | | - | |
2108 | | - | |
2109 | | - | |
2110 | | - | |
2111 | | - | |
2112 | | - | |
2113 | | - | |
2114 | | - | |
2115 | | - | |
2116 | | - | |
2117 | | - | |
| 2117 | + | |
2118 | 2118 | | |
2119 | 2119 | | |
2120 | 2120 | | |
| |||
2293 | 2293 | | |
2294 | 2294 | | |
2295 | 2295 | | |
2296 | | - | |
2297 | | - | |
| 2296 | + | |
2298 | 2297 | | |
2299 | 2298 | | |
2300 | 2299 | | |
| |||
2539 | 2538 | | |
2540 | 2539 | | |
2541 | 2540 | | |
2542 | | - | |
| 2541 | + | |
2543 | 2542 | | |
2544 | 2543 | | |
2545 | 2544 | | |
| |||
2548 | 2547 | | |
2549 | 2548 | | |
2550 | 2549 | | |
2551 | | - | |
2552 | | - | |
2553 | | - | |
2554 | | - | |
2555 | | - | |
2556 | 2550 | | |
2557 | 2551 | | |
2558 | 2552 | | |
| |||
3437 | 3431 | | |
3438 | 3432 | | |
3439 | 3433 | | |
3440 | | - | |
| 3434 | + | |
| 3435 | + | |
3441 | 3436 | | |
3442 | 3437 | | |
3443 | 3438 | | |
| |||
0 commit comments