Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752013AbbDSHcj (ORCPT ); Sun, 19 Apr 2015 03:32:39 -0400 Received: from mail-lb0-f177.google.com ([209.85.217.177]:33821 "EHLO mail-lb0-f177.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751158AbbDSHch (ORCPT ); Sun, 19 Apr 2015 03:32:37 -0400 MIME-Version: 1.0 Reply-To: mtk.manpages@gmail.com In-Reply-To: References: <5522A66F.9060606@gmail.com> From: "Michael Kerrisk (man-pages)" Date: Sun, 19 Apr 2015 09:32:16 +0200 Message-ID: Subject: Re: [patch] seccomp.2: Note that memory area is read-only To: Kees Cook Cc: "linux-man@vger.kernel.org" , lkml , Pierre Chifflier Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2164 Lines: 71 On 19 April 2015 at 01:37, Kees Cook wrote: > On Mon, Apr 6, 2015 at 8:29 AM, Michael Kerrisk (man-pages) > 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 ) */ >> >> >> -- >> 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/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/