Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp2183424ybg; Thu, 30 Jul 2020 12:30:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyFWbW+PA8bSCc2gCgJ9UKWHmyoNN5gZuspa/bxyt3qFlyMbdBELE9+29nxsCWUAdZqisgp X-Received: by 2002:a50:baea:: with SMTP id x97mr513868ede.337.1596137441331; Thu, 30 Jul 2020 12:30:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596137441; cv=none; d=google.com; s=arc-20160816; b=EAGjPtZi0iqcbeBsQl9UTQRtarq0TuNfm647pKCPegVDOrhmCl6/ZEoHYlrpzOeo7C skmrZ2hmKQjlp5b9IVWtVnHNkWoHkKk3TP9WbMN1UIn0D7zYCgRntaIOgpA0ziO491bd gfqEqzTHVjHqaXLoeDxnJsxt4CaXJwJ9bo9MmxKCX+ws5hKFAX9y7/BLVzxtDwScd/8E TmRsMt/vBxr/AFJhebvirV1YerOOZ9xweD3DrjLpdZdzykW8O08zE7/JcAWNXgVWOz+w ExMei1JDkboqpKjmDloaCFmsHPh1bRRFX4TMlPVKnxVY3qjN2vu5FMpo9J8P1dROB5Bq v3CA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date; bh=wfdA5/Us/0F4pzPbrf/lR+0U4QRrhv2lMvRJIjBxhm8=; b=CNYddmnHJ+3s0PvmlvuLfGB1hz0iBFSmQ1fx0btCyxA4/ZrtGp/6mOIsx8n9gQs22B ZT5iAXYcF8f9pwFZbLUpHzXkXER56YStfTYznU7zQKFK5fmrG2bqK0Litw1OhzhnbWYi fI0tSRgAf/AMuT3DiiWcQz1/P/ESktJPBRTqZenslGJ/PTEnNdESm3rn0ZsuEd8J1vmK SGMPPyjnD0OHGjB3BMel80aV7XfqHvSn7rIKSp0u8R+/KtkcaMIRmDXv9jO5//meIvrH 1JbClHRkaltsyFMIRUi+8cyjEqJ5gmLSNXGf7XnnGcPxS2fEoz8Xa6sy27/aUaHnuKfV WCDA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cw11si3451465ejb.6.2020.07.30.12.30.18; Thu, 30 Jul 2020 12:30:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730434AbgG3T31 convert rfc822-to-8bit (ORCPT + 99 others); Thu, 30 Jul 2020 15:29:27 -0400 Received: from mail.kernel.org ([198.145.29.99]:41434 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726581AbgG3T30 (ORCPT ); Thu, 30 Jul 2020 15:29:26 -0400 Received: from oasis.local.home (cpe-66-24-58-225.stny.res.rr.com [66.24.58.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 2BC522083B; Thu, 30 Jul 2020 19:29:25 +0000 (UTC) Date: Thu, 30 Jul 2020 15:29:23 -0400 From: Steven Rostedt To: peter enderborg Cc: =?UTF-8?B?VGhpw6liYXVk?= Weksteen , Paul Moore , Nick Kralevich , Joel Fernandes , Stephen Smalley , Eric Paris , Ingo Molnar , Mauro Carvalho Chehab , "David S. Miller" , Rob Herring , , Subject: Re: [PATCH] RFC: selinux avc trace Message-ID: <20200730152923.5101346c@oasis.local.home> In-Reply-To: <38053623-2cc0-882d-8578-977ff3f43908@sony.com> References: <20200724091520.880211-1-tweek@google.com> <20200724095232.5f9d3f17@oasis.local.home> <80a23580-5067-93b0-53fa-3bd53253c056@sony.com> <20200730110459.5bf0b0df@oasis.local.home> <6f1262fc-21ad-f872-5460-e78d4685c9c4@sony.com> <20200730120200.1367e1cd@oasis.local.home> <15fcdc87-5e9b-8144-5a6b-34594d1e52ef@sony.com> <20200730131659.7f1d21e8@oasis.local.home> <38053623-2cc0-882d-8578-977ff3f43908@sony.com> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 30 Jul 2020 21:12:39 +0200 peter enderborg wrote: > >> avc:  denied  { find } for interface=vendor.qti.hardware.perf::IPerf sid=u:r:permissioncontroller_app:s0:c230,c256,c512,c768 pid=9164 scontext=u:r:permissioncontroller_app:s0:c230,c256,c512,c768 tcontext=u:object_r:vendor_hal_perf_hwservice:s0 tclass=hwservice_manager permissive=0 > >>  avc:  denied  { execute } for  pid=13914 comm="ScionFrontendAp" path="/data/user_de/0/com.google.android.gms/app_chimera/m/00000002/oat/arm64/DynamiteLoader.odex" dev="sda77" ino=204967 scontext=u:r:platform_app:s0:c512,c768 tcontext=u:object_r:privapp_data_file:s0:c512,c768 tclass=file permissive=0 ppid=788 pcomm="main" pgid=13914 pgcomm="on.updatecenter" > >> > >> It omit the fields that are not used. Some parts are common some are not. So a correct format specification for trace will be problematic if there is no "optional" field indicator. > > That's all quite noisy. What is the object of these changes? What > > exactly are you trying to trace and why? > > It is noisy, and it have to be. it covers a lot of different areas.  One common problem is > to debug userspace applications regarding violations. You get the violation from the logs > and try to figure out what you did to cause it. With a trace point you can do much better > when combine with other traces. Having a the userspace stack is a very good way, > unfortunately  it does not work on that many architectures within trace. > > What exactly are you doing with any trace? You collect data to analyse what's > going on. This is not different. Selinux do a specific thing, but is has lots of parameters. Have you thought of adding multiple trace events with if statements around them to decode each specific type of event? Note, you can have a generic event that gets enabled by all the other events via the "reg" and "unreg" part of TRACE_EVENT_FN(). Say its called trace_avc, make a dummy trace_avc() call hat doesn't even need to be called anywhere, it just needs to exist to get to the other trace events. Then have: if (trace_avc_enabled()) { if (event1) trace_avc_req_event1(); if (event2) trace_avc_req_event2(); [..] } The reason for the trace_avc_enabled() is because that's a static branch, which is a nop when not enabled. When enabled, it is a jump to the out of band if condition block that has all the other trace events. -- Steve