copy_to_user/ copy_from_user、get_user/put_user関数がこの目的のためのものであることは知っています。
私の質問は、ユーザー空間のアドレス/ポインターが与えられた場合、一般に、カーネルからアドレスが指すデータにどのようにアクセスできますか?
最初に、含まれているページが (ディスクではなく) 物理メモリにあることを確認する必要があると想像できます。
次のステップは何ですか?*pどこかのユーザー空間データを指しているポインターを使用pして、データを直接参照できますか?
それとも、最初に呼び出しkmapて、含まれている物理ページ フレームをカーネルの仮想アドレス空間にマップする必要がありますか? なんで?