afs: Move init_hckernel_init to osi_Init
authorAndrew Deason <adeason@sinenomine.net>
Thu, 25 Sep 2014 17:34:18 +0000 (12:34 -0500)
committerJeffrey Altman <jaltman@your-file-system.com>
Fri, 26 Sep 2014 14:12:58 +0000 (10:12 -0400)
commita27bed59cae1a4244429c752edfde0a8363c8a3b
tree7c719cb92a66e865515287b0172a9186c0857632
parentcdfa21ad5e86184f822496c1a9aa769fa98a8bb1
afs: Move init_hckernel_init to osi_Init

Currently we call init_hckernel_init inside afs_InitSetup, to
initialize the hcrypto mutex. However, we use the hcrypto mutex in the
AFSOP_SEED_ENTROPY syscall, which afsd calls before any syscall that
cals afs_InitSetup. This means we crash on trying to
AFSOP_SEED_ENTROPY.

To avoid this, just call init_hckernel_init inside osi_Init instead,
which is called when our kernel module itself is initialized. This
ensures that the mutex is initialized early on, regardless of what
happens with afsd and the startup syscalls.

Change-Id: Ib6cbed7abcfd8f9a61685f613a848e9f36d6050d
Reviewed-on: http://gerrit.openafs.org/11509
Tested-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
src/afs/afs_call.c
src/afs/afs_osi.c