From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6184 invoked by alias); 24 Jul 2014 14:07:12 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 6162 invoked by uid 89); 24 Jul 2014 14:07:10 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.8 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Thu, 24 Jul 2014 14:07:07 +0000 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s6OE74Yh017283 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 24 Jul 2014 10:07:04 -0400 Received: from barimba (ovpn-113-99.phx2.redhat.com [10.3.113.99]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s6OE73Zf019448 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NO); Thu, 24 Jul 2014 10:07:04 -0400 From: Tom Tromey To: Pedro Alves Cc: Gary Benson , gdb-patches@sourceware.org, Doug Evans Subject: Re: [PATCH 2/3 v4] Remove some GDBSERVER checks from linux-ptrace References: <1406206287-6817-1-git-send-email-gbenson@redhat.com> <1406206287-6817-3-git-send-email-gbenson@redhat.com> <53D108F0.9060100@redhat.com> Date: Thu, 24 Jul 2014 14:09:00 -0000 In-Reply-To: <53D108F0.9060100@redhat.com> (Pedro Alves's message of "Thu, 24 Jul 2014 14:24:00 +0100") Message-ID: <87oaweonp4.fsf@fleche.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2014-07/txt/msg00633.txt.bz2 >>>>> "Pedro" == Pedro Alves writes: >> + current_ptrace_options |= PTRACE_O_TRACECLONE | >> + (additional_flags & ~(PTRACE_O_TRACESYSGOOD >> + | PTRACE_O_TRACEVFORKDONE)); Pedro> This isn't right. That enables e.g., PTRACE_O_TRACEEXIT, for example, Pedro> and possibly invalid flags even. I don't see how that can happen. I think the "&" prevents it. Pedro> Please reverse that and spell out the flags we want here Pedro> explicitly, like: Pedro> current_ptrace_options |= PTRACE_O_TRACECLONE; Pedro> current_ptrace_options |= (additional_flags & (PTRACE_O_TRACEFORK Pedro> | PTRACE_O_TRACEVFORK Pedro> | PTRACE_O_TRACEEXEC)); Though FWIW this does seem clearer. Tom