ユーザースペースプログラムから動的に変更(追加および削除)されたノードのリンクリストがあります。ノードの割り当てが常にユーザースペースにある可能性はどのくらいありますか?
通常のリンクリストノード、
struct node {
int x;
struct node *next;
};
リストをトラバースすると、カーネルSIGSEGV
がこのユーザースペースプロセスにシグナルを送信するため、この質問があります。また、新しいノードを作成するたびにNULLポインターチェックを実行しました。
SIGSEGV
また、プロセスがカーネルメモリにアクセスしようとすると、カーネルがシグナルを送信することも知っています。