Fix spl_kmem_init_kallsyms_lookup() panic

Due to I/O buffering the helper may return successfully before
the proc handler has a chance to execute.  To catch this case
wait up to 1 second to verify spl_kallsyms_lookup_name_fn was
updated to a non SYMBOL_POISON value.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes zfsonlinux/zfs#699
Closes zfsonlinux/zfs#859
This commit is contained in:
Brian Behlendorf
2012-12-18 17:02:27 -08:00
parent 30196bfd42
commit 034f1b331e
3 changed files with 22 additions and 0 deletions
+1
View File
@@ -34,6 +34,7 @@
#else
extern wait_queue_head_t spl_kallsyms_lookup_name_waitq;
typedef unsigned long (*kallsyms_lookup_name_t)(const char *);
extern kallsyms_lookup_name_t spl_kallsyms_lookup_name_fn;
#define spl_kallsyms_lookup_name(name) spl_kallsyms_lookup_name_fn(name)