]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - kernel/extable.c
Merge tag 'stable/for-linus-3.10-rc0-tag' of git://git.kernel.org/pub/scm/linux/kerne...
[karo-tx-linux.git] / kernel / extable.c
index 5339705b82410515dcadce220ef997930dd3247c..fe35a634bf7695efd26856cf53e5d9bd9e14c357 100644 (file)
@@ -35,10 +35,16 @@ DEFINE_MUTEX(text_mutex);
 extern struct exception_table_entry __start___ex_table[];
 extern struct exception_table_entry __stop___ex_table[];
 
+/* Cleared by build time tools if the table is already sorted. */
+u32 __initdata main_extable_sort_needed = 1;
+
 /* Sort the kernel's built-in exception table */
 void __init sort_main_extable(void)
 {
-       sort_extable(__start___ex_table, __stop___ex_table);
+       if (main_extable_sort_needed)
+               sort_extable(__start___ex_table, __stop___ex_table);
+       else
+               pr_notice("__ex_table already sorted, skipping sort\n");
 }
 
 /* Given an address, look for it in the exception tables. */