lkml.org 
[lkml]   [2015]   [Apr]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [patch] seccomp.2: Note that memory area is read-only
On 19 April 2015 at 01:37, Kees Cook <keescook@chromium.org> wrote:
> On Mon, Apr 6, 2015 at 8:29 AM, Michael Kerrisk (man-pages)
> <mtk.manpages@gmail.com> wrote:
>> Hi Kees,
>>
>> I recently was asked about the point below, and had to go check the code
>> to be sure, since the man page said nothing. It would be good to have
>> a confirmation: the seccomp_data buffer supplied to a seccomp BPF program
>> is read-only, right? (That is, one can't write to the buffer in order to
>> change the arguments that a system call actually receives.)
>
> That's correct. If BPF even allows changing the data, it's not copied
> back to the syscall when it runs. Anything wanting to do things like
> that would need to use ptrace to catch the call an directly modify the
> registers before continuing with the call.
>
>>
>> A small man page patch below.
>
> Looks good, thanks!

Thanks, Kees!

Cheers,

Michael


>> --- a/man2/seccomp.2
>> +++ b/man2/seccomp.2
>> @@ -232,15 +232,15 @@ struct sock_filter { /* Filter block */
>> };
>> .fi
>> .in
>>
>> When executing the instructions, the BPF program operates on the
>> system call information made available (i.e., use the
>> .BR BPF_ABS
>> -addressing mode) as a buffer of the following form:
>> +addressing mode) as a (read-only) buffer of the following form:
>>
>> .in +4n
>> .nf
>> struct seccomp_data {
>> int nr; /* System call number */
>> __u32 arch; /* AUDIT_ARCH_* value
>> (see <linux/audit.h>) */
>>
>>
>> --
>> Michael Kerrisk
>> Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
>> Linux/UNIX System Programming Training: http://man7.org/training/
>
>
>
> --
> Kees Cook
> Chrome OS Security



--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/


\
 
 \ /
  Last update: 2015-04-19 10:01    [W:0.434 / U:0.420 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site