3
Linuxカーネルは、ユーザー空間アプリケーションと同じように、モジュールリリース後のカーネルモジュールのメモリでkmallocされ、kfreeされませんか?Linuxカーネルメモリ管理
Linuxカーネルは、ユーザー空間アプリケーションと同じように、モジュールリリース後のカーネルモジュールのメモリでkmallocされ、kfreeされませんか?Linuxカーネルメモリ管理
カーネルはモジュールのガベージコレクションを行いません。モジュールkmalloc
がメモリのチャンクであり、モジュールがアンロードされる前にそれがkfree
でなければ、そのチャンクは割り当てられたままであり、次回の再起動時にはアクセスできなくなります。
カーネルはガベージコレクションを行わず、モジュールが終了するとメモリを解放しません。後者は、ユーザスペースプロセスとの主要な違いです。ユーザスペースプロセスは、終了時にメモリがシステムに返されるすべてのプロセスを含みます。 – mpe
'dlopen()'を使ってロードされたモジュールを書くと、全く同じことがuserspaceに適用されることに注意してください。 – caf