一つ前のエントリで動かなかったサンプルが,動くようになりました.カーネルパニックが起こっていたので,static int __init bobulsm_init(void)を中心に調べて行きました.
結局,security_module_enable()を呼び出していなかったのが原因でした.初期化の段階で既に読み込まれているかチェックするために,register_security(&bobulsm_ops)の前に呼び出さなければならないようです.
カーネルパラメータにsecurity=bobulsmを追加する(grepの設定ファイルを修正,または起動時にshift押しっぱなし)と正しく動きました.mkdirが呼ばれる度に,メッセージが増えていく様子が確認出来ました.
$ dmesg | grep bobulsm [ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.8.8 root=UUID=b5af552c-3516-48dc-8175-b7ce91be3e60 ro crashkernel=384M-2G:64M,2G-:128M security=bobulsm [ 0.004045] bobulsm: registered surely. [ 0.170644] bobulsm: inode_mkdir called. [ 0.170664] bobulsm: inode_mkdir called. [ 0.170997] bobulsm: inode_mkdir called.
参考: https://www.kernel.org/doc/htmldocs/kernel-api/API-security-module-enable.html