現在サポートしているカーネル拡張では、ソケットを使用してユーザー空間と通信します。したがって、いくつかのコールバックをサブスクライブし、それらを正しく処理します
reg.ctl_send = ctl_handle_send;
reg.ctl_getopt = ctl_handle_getopt;
reg.ctl_setopt = ctl_handle_setopt;
reg.ctl_connect = ctl_handle_connect;
reg.ctl_disconnect = ctl_handle_disconnect;
すべてが期待どおりに機能します。1 つだけ問題があります - 接続されているユーザー空間クライアントがある場合、カーネル拡張機能をアンロードできません (ctl_deregister(kctlref) がエラーを返します)。
カーネル拡張機能でそれをオーバーライドする方法はありますか? すべてのクライアントから切断し、自分自身を正常に登録解除したい