Linux カーネル用の新しいシステムコールを開発しようとしています。この syscall は、引数として取得されるユーザー バッファーに情報を書き込みます。たとえば、次のようになります。
asmlinkage int new_syscall(..., char *buffer,...){...}
ユーザー空間では、このバッファーは次のように静的に割り当てられます。
char buffer[10000];
(ユーザーレベルの sizeof() として) バッファサイズ全体 (この場合は 10000) を知る方法はありますか? 試してみstrlen_user(buffer)
ましたが、現在バッファに入っている文字列の長さを返すので、バッファが空の場合は 0 を返します。