2

Linux Kernel 3.x に隠れているカーネル モジュールで遊んでいます。/sys/module からモジュールを非表示にして回復しようとしています。カーネル バージョン 3.0 および 3.2.6 ではすべて正常に動作します。モジュールをロードおよびアンロードし、非表示および再表示できます。カーネル 3.6.6 でモジュールをアンロードすると、次のエラーが発生します。

rmmod: エラー: '/sys/module/xxx/holders' を開けませんでした: そのようなファイルまたはディレクトリはありません rmmod: エラー: モジュール xxx は使用中です

エラーなしでアンロードできるように、モジュールの struct kobject *holders_dir を復元する方法を知っている人はいますか?

これが私のコードです:

/* hide from /sys/module */ 
kobject_del(&__this_module.mkobj.kobj);
list_del(&__this_module.mkobj.kobj.entry);

/* add to /sys/module */    
kobject_add(&__this_module.mkobj.kobj,__this_module.mkobj.kobj.parent,"xxx");
4

0 に答える 0