Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp975203ybh; Tue, 21 Jul 2020 12:31:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx8UZQh5GE0oEpE4nyq/mOXhIylPn62PjocMMXh8cThn4cfY7enT16dmuyB46kX9lGotuYu X-Received: by 2002:a17:906:4c48:: with SMTP id d8mr25706434ejw.331.1595359907390; Tue, 21 Jul 2020 12:31:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595359907; cv=none; d=google.com; s=arc-20160816; b=b05WFZAbaCSKO0qxSncfzhZ6sbTRFcO5gZGsxjNrTvQD/QlsdHS4zrQ4rB+Q2w+93Q PEa0Qmb/QkzrcV0GL2tJqNfnSrNmqH3dtX979jIPUz8yHC3uL8k2QjHiDR2V4S8rOY+s 8Vpnx5gX/mzN57HJ8GkMgGmnRIKK+Zv0KVETrbPUl1RGxjqb5J0lLxEpImK0JcBXpfnL VJLDzWcgqK4/UOm3aj6xN3bw8bRS5QE5nu7ZLTKMRFBhwUmwRdAj++51TOewsKIi5dVW cCFsF6iK4rPiNMzVcj5kE0U7yQ60hpcZDRBXXxOQQR83nSI/3wZ2cg8jIJFhk9aL5AFJ qbag== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:organization:autocrypt:from:references:cc:to:subject; bh=VIRKsqtiXuCgBRTJBOxCIDO5WEZWoBwEFJqjbhpjigE=; b=dbILzsWLKi3VXAsBhIcXxHVUXYg4bDvvhr5w4XuX9b3p8DUY/qPvHzdg0JpiHF2E8L pl954UK5vDRgmu1VMtJAWlkaqsYhFKp1ZBRlrNXMHuO1jdRVuZVs8DOvRD3n2NhCneFm i3sTW4MS+b/E9wsYRohT8aRgv0DBmpZ+Y1uZowvDg1+wz3NMhQMYqGf3kq3Qx5hTQ1Nv X/IyKyI7ZbOe4gTtkIg7X1mJRX5eMe/6VOy6Uv8zoIGcHmsvl5iF79tl09J49YUpclft FltWaPCmgNUwmRm7iXgpRI4pkrFXSv29KX2urafKhcpwskrEkg4pdpAm4uNyA63YW8T5 /Nng== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w24si12761995edv.318.2020.07.21.12.31.23; Tue, 21 Jul 2020 12:31:47 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730258AbgGUTbE (ORCPT + 99 others); Tue, 21 Jul 2020 15:31:04 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:35305 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728691AbgGUTbE (ORCPT ); Tue, 21 Jul 2020 15:31:04 -0400 Received: from static-50-53-54-182.bvtn.or.frontiernet.net ([50.53.54.182] helo=[192.168.192.153]) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jxxye-0008ES-4v; Tue, 21 Jul 2020 19:31:00 +0000 Subject: Re: [PATCH ghak84 v4] audit: purge audit_log_string from the intra-kernel audit API To: Paul Moore , Richard Guy Briggs Cc: Linux-Audit Mailing List , LKML , Linux Security Module list , Eric Paris References: <6effbbd4574407d6af21162e57d9102d5f8b02ed.1594664015.git.rgb@redhat.com> <20200714174353.ds7lj3iisy67t2zu@madcap2.tricolour.ca> <20200714210027.me2ieywjfcsf4v5r@madcap2.tricolour.ca> From: John Johansen Autocrypt: addr=john.johansen@canonical.com; prefer-encrypt=mutual; keydata= LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUlOQkU1bXJQb0JFQURB azE5UHNnVmdCS2tJbW1SMmlzUFE2bzdLSmhUVEtqSmR3VmJrV1NuTm4rbzZVcDVrCm5LUDFm NDlFQlFsY2VXZzF5cC9Od2JSOGFkK2VTRU8vdW1hL0srUHFXdkJwdEtDOVNXRDk3Rkc0dUI0 L2Nhb20KTEVVOTdzTFFNdG52R1dkeHJ4VlJHTTRhbnpXWU1neno1VFptSWlWVFo0M091NVZw YVMxVnoxWlN4UDNoL3hLTgpaci9UY1c1V1FhaTh1M1BXVm5ia2poU1pQSHYxQmdoTjY5cXhF UG9tckpCbTFnbXR4M1ppVm1GWGx1d1RtVGdKCk9rcEZvbDduYkowaWxuWUhyQTdTWDNDdFIx dXBlVXBNYS9XSWFuVk85NldkVGpISElhNDNmYmhtUXViZTR0eFMKM0ZjUUxPSlZxUXN4NmxF OUI3cUFwcG05aFExMHFQV3dkZlB5LyswVzZBV3ROdTVBU2lHVkNJbld6bDJIQnFZZAovWmxs OTN6VXErTklvQ244c0RBTTlpSCt3dGFHRGNKeXdJR0luK2VkS050SzcyQU1nQ2hUZy9qMVpv V0g2WmVXClBqdVVmdWJWelp0bzFGTW9HSi9TRjRNbWRRRzFpUU50ZjRzRlpiRWdYdXk5Y0dp MmJvbUYwenZ5QkpTQU5weGwKS05CRFlLek42S3owOUhVQWtqbEZNTmdvbUwvY2pxZ0FCdEF4 NTlMK2RWSVpmYUYyODFwSWNVWnp3dmg1K0pvRwplT1c1dUJTTWJFN0wzOG5zem9veWtJSjVY ckFjaGtKeE5mejdrK0ZuUWVLRWtOekVkMkxXYzNRRjRCUVpZUlQ2ClBISGdhM1JneWtXNSsx d1RNcUpJTGRtdGFQYlhyRjNGdm5WMExSUGN2NHhLeDdCM2ZHbTd5Z2Rvb3dBUkFRQUIKdEIx S2IyaHVJRXB2YUdGdWMyVnVJRHhxYjJodVFHcHFiWGd1Ym1WMFBva0NPZ1FUQVFvQUpBSWJB d1VMQ1FnSApBd1VWQ2drSUN3VVdBZ01CQUFJZUFRSVhnQVVDVG8wWVZ3SVpBUUFLQ1JBRkx6 WndHTlhEMkx4SkQvOVRKWkNwCndsbmNUZ1llcmFFTWVEZmtXdjhjMUlzTTFqMEFtRTRWdEwr ZkU3ODBaVlA5Z2tqZ2tkWVN4dDdlY0VUUFRLTWEKWlNpc3JsMVJ3cVUwb29nWGRYUVNweHJH SDAxaWN1LzJuMGpjWVNxWUtnZ1B4eTc4QkdzMkxacTRYUGZKVFptSApaR25YR3EvZURyL21T bmowYWF2QkptTVo2amJpUHo2eUh0QllQWjlmZG84YnRjendQNDFZZVdvSXUyNi84SUk2CmYw WG0zVkM1b0FhOHY3UmQrUldaYThUTXdsaHpIRXh4ZWwzanRJN0l6ek9zbm1FOS84RG0wQVJE NWlUTENYd1IKMWN3SS9KOUJGL1MxWHY4UE4xaHVUM0l0Q05kYXRncDh6cW9Ka2dQVmptdnlM NjRRM2ZFa1liZkhPV3NhYmE5LwprQVZ0Qk56OVJURmg3SUhEZkVDVmFUb3VqQmQ3QnRQcXIr cUlqV0ZhZEpEM0k1ZUxDVkp2VnJyb2xyQ0FUbEZ0Ck4zWWtRczZKbjFBaUlWSVUzYkhSOEdq ZXZnejVMbDZTQ0dIZ1Jya3lScG5TWWFVL3VMZ24zN042QVl4aS9RQUwKK2J5M0N5RUZManpX QUV2eVE4YnEzSXVjbjdKRWJoUy9KLy9kVXFMb2VVZjh0c0dpMDB6bXJJVFpZZUZZQVJoUQpN dHNmaXpJclZEdHoxaVBmL1pNcDVnUkJuaXlqcFhuMTMxY20zTTNndjZIclFzQUdubjhBSnJ1 OEdEaTVYSllJCmNvLzEreC9xRWlOMm5DbGFBT3BiaHpOMmVVdlBEWTVXMHEzYkEvWnAybWZH NTJ2YlJJK3RRMEJyMUhkL3ZzbnQKVUhPOTAzbU1aZXAyTnpOM0JaNXFFdlB2RzRyVzVacTJE cHliV2JRclNtOW9iaUJLYjJoaGJuTmxiaUE4YW05bwpiaTVxYjJoaGJuTmxia0JqWVc1dmJt bGpZV3d1WTI5dFBva0NOd1FUQVFvQUlRVUNUbzBYV2dJYkF3VUxDUWdICkF3VVZDZ2tJQ3dV V0FnTUJBQUllQVFJWGdBQUtDUkFGTHpad0dOWEQySXRNRC85anliYzg3ZE00dUFIazZ5Tk0K TjBZL0JGbW10VFdWc09CaHFPbm9iNGkzOEJyRE8yQzFoUUNQQ1FlNExMczEvNHB0ZW92UXQ4 QjJGeXJQVmp3Zwo3alpUSE5LNzRyNmxDQ1Z4eDN5dTFCN1U5UG80VlRrY3NsVmIxL3FtV3V4 OFhXY040eXZrVHFsTCtHeHB5Sm45CjlaWmZmWEpjNk9oNlRtT2ZiS0d2TXV1djVhclNJQTNK SEZMZjlhTHZadEExaXNKVXI3cFM5YXBnOXVUVUdVcDcKd2ZWMFdUNlQzZUczbXRVVTJ1cDVK VjQ4NTBMMDVqSFM2dVdpZS9ZK3lmSk9iaXlyeE4vNlpxVzVHb25oTEJxLwptc3pjVjV2QlQz QkRWZTNSdkY2WGRNOU9oUG4xK1k4MXg1NCt2UTExM044aUx3RjdHR2ExNFp5SVZBTlpEMEkw CkhqUnZhMmsvUnFJUlR6S3l1UEg1cGtsY0tIVlBFRk1tT3pNVCtGT294Tmp2Uys3K3dHMktN RFlFbUhQcjFQSkIKWlNaZUh6SzE5dGZhbFBNcHBGeGkrc3lZTGFnTjBtQjdKSFF3WTdjclV1 T0RoeWNxNjBZVnoxdGFFeWd1M1l2MgoyL0kxRUNHSHZLSEc2d2M5MG80M0MvZWxIRUNYbkVo N3RLcGxEY3BJQytPQ21NeEtIaFI0NitYY1p2Z3c0RGdiCjdjYTgzZVFSM0NHODlMdlFwVzJM TEtFRUJEajdoWmhrTGJra1BSWm0zdzhKWTQ0YXc4VnRneFdkblNFTUNMeEwKSU9OaDZ1Wjcv L0RZVnRjSWFNSllrZWJhWnRHZENwMElnVVpiMjQvVmR2WkNZYk82MkhrLzNWbzFuWHdIVUVz Mwo2RC92MWJUMFJaRmk2OUxnc0NjT2N4NGdZTGtDRFFST1pxejZBUkFBb3F3NmtrQmhXeU0x ZnZnYW1BVmplWjZuCktFZm5SV2JrQzk0TDFFc0pMdXAzV2IyWDBBQk5PSFNrYlNENHBBdUMy dEtGL0VHQnQ1Q1A3UWRWS1JHY1F6QWQKNmIyYzFJZHk5Ukx3Nnc0Z2krbm4vZDFQbTFra1lo a1NpNXpXYUlnMG01UlFVaytFbDh6a2Y1dGNFLzFOMFo1TwpLMkpoandGdTViWDBhMGw0Y0ZH V1ZRRWNpVk1ES1J0eE1qRXRrM1N4RmFsbTZaZFEycHAyODIyY2xucTR6WjltCld1MWQyd2F4 aXorYjVJYTR3ZURZYTduNDFVUmNCRVViSkFnbmljSmtKdENUd3lJeElXMktuVnlPcmp2a1F6 SUIKdmFQMEZkUDJ2dlpvUE1kbENJek9sSWtQTGd4RTBJV3VlVFhlQkpoTnMwMXBiOGJMcW1U SU1sdTRMdkJFTEEvdgplaWFqajVzOHk1NDJIL2FIc2ZCZjRNUVVoSHhPL0JaVjdoMDZLU1Vm SWFZN09nQWdLdUdOQjNVaWFJVVM1K2E5CmduRU9RTER4S1J5L2E3UTF2OVMrTnZ4KzdqOGlI M2prUUpoeFQ2WkJoWkdSeDBna0gzVCtGMG5ORG01TmFKVXMKYXN3Z0pycUZaa1VHZDJNcm0x cW5Ld1hpQXQ4U0ljRU5kcTMzUjBLS0tSQzgwWGd3ajhKbjMwdlhMU0crTk8xRwpIMFVNY0F4 TXd5L3B2azZMVTVKR2paUjczSjVVTFZoSDRNTGJEZ2dEM21QYWlHOCtmb3RUckpVUHFxaGc5 aHlVCkVQcFlHN3NxdDc0WG43OStDRVpjakxIenlsNnZBRkUyVzBreGxMdFF0VVpVSE8zNmFm RnY4cUdwTzNacVB2akIKVXVhdFhGNnR2VVFDd2YzSDZYTUFFUUVBQVlrQ0h3UVlBUW9BQ1FV Q1RtYXMrZ0liREFBS0NSQUZMelp3R05YRAoyRC9YRC8wZGRNLzRhaTFiK1RsMWp6bkthalgz a0crTWVFWWVJNGY0MHZjbzNyT0xyblJHRk9jYnl5ZlZGNjlNCktlcGllNE93b0kxamNUVTBB RGVjbmJXbkROSHByMFNjenhCTXJvM2Juckxoc212anVuVFlJdnNzQlp0QjRhVkoKanVMSUxQ VWxuaEZxYTdmYlZxMFpRamJpVi9ydDJqQkVOZG05cGJKWjZHam5wWUljQWJQQ0NhL2ZmTDQv U1FSUwpZSFhvaEdpaVM0eTVqQlRtSzVsdGZld0xPdzAyZmtleEgrSUpGcnJHQlhEU2c2bjJT Z3hubisrTkYzNGZYY205CnBpYXczbUtzSUNtKzBoZE5oNGFmR1o2SVdWOFBHMnRlb29WRHA0 ZFlpaCsreFgvWFM4ekJDYzFPOXc0bnpsUDIKZ0t6bHFTV2JoaVdwaWZSSkJGYTRXdEFlSlRk WFlkMzdqL0JJNFJXV2hueXc3YUFQTkdqMzN5dEdITlVmNlJvMgovanRqNHRGMXkvUUZYcWpK Ry93R2pwZHRSZmJ0VWpxTEhJc3ZmUE5OSnEvOTU4cDc0bmRBQ2lkbFdTSHpqK09wCjI2S3Bi Rm5td05PMHBzaVVzbmh2SEZ3UE8vdkFibDNSc1I1KzBSbytodnMyY0VtUXV2OXIvYkRsQ2Zw enAydDMKY0srcmh4VXFpc094OERaZnoxQm5rYW9DUkZidnZ2ays3TC9mb21QbnRHUGtxSmNp WUU4VEdIa1p3MWhPa3UrNApPb00yR0I1bkVEbGorMlRGL2pMUStFaXBYOVBrUEpZdnhmUmxD NmRLOFBLS2ZYOUtkZm1BSWNnSGZuVjFqU24rCjh5SDJkakJQdEtpcVcwSjY5YUlzeXg3aVYv MDNwYVBDakpoN1hxOXZBenlkTjVVL1VBPT0KPTZQL2IKLS0tLS1FTkQgUEdQIFBVQkxJQyBL RVkgQkxPQ0stLS0tLQo= Organization: Canonical Message-ID: Date: Tue, 21 Jul 2020 12:30:57 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 7/21/20 8:19 AM, Paul Moore wrote: > On Tue, Jul 14, 2020 at 5:00 PM Richard Guy Briggs wrote: >> On 2020-07-14 16:29, Paul Moore wrote: >>> On Tue, Jul 14, 2020 at 1:44 PM Richard Guy Briggs wrote: >>>> On 2020-07-14 12:21, Paul Moore wrote: >>>>> On Mon, Jul 13, 2020 at 3:52 PM Richard Guy Briggs wrote: >>>>>> >>>>>> audit_log_string() was inteded to be an internal audit function and >>>>>> since there are only two internal uses, remove them. Purge all external >>>>>> uses of it by restructuring code to use an existing audit_log_format() >>>>>> or using audit_log_format(). >>>>>> >>>>>> Please see the upstream issue >>>>>> https://github.com/linux-audit/audit-kernel/issues/84 >>>>>> >>>>>> Signed-off-by: Richard Guy Briggs >>>>>> --- >>>>>> Passes audit-testsuite. >>>>>> >>>>>> Changelog: >>>>>> v4 >>>>>> - use double quotes in all replaced audit_log_string() calls >>>>>> >>>>>> v3 >>>>>> - fix two warning: non-void function does not return a value in all control paths >>>>>> Reported-by: kernel test robot >>>>>> >>>>>> v2 >>>>>> - restructure to piggyback on existing audit_log_format() calls, checking quoting needs for each. >>>>>> >>>>>> v1 Vlad Dronov >>>>>> - https://github.com/nefigtut/audit-kernel/commit/dbbcba46335a002f44b05874153a85b9cc18aebf >>>>>> >>>>>> include/linux/audit.h | 5 ----- >>>>>> kernel/audit.c | 4 ++-- >>>>>> security/apparmor/audit.c | 10 ++++------ >>>>>> security/apparmor/file.c | 25 +++++++------------------ >>>>>> security/apparmor/ipc.c | 46 +++++++++++++++++++++++----------------------- >>>>>> security/apparmor/net.c | 14 ++++++++------ >>>>>> security/lsm_audit.c | 4 ++-- >>>>>> 7 files changed, 46 insertions(+), 62 deletions(-) >>>>> >>>>> Thanks for restoring the quotes, just one question below ... >>>>> >>>>>> diff --git a/security/apparmor/ipc.c b/security/apparmor/ipc.c >>>>>> index 4ecedffbdd33..fe36d112aad9 100644 >>>>>> --- a/security/apparmor/ipc.c >>>>>> +++ b/security/apparmor/ipc.c >>>>>> @@ -20,25 +20,23 @@ >>>>>> >>>>>> /** >>>>>> * audit_ptrace_mask - convert mask to permission string >>>>>> - * @buffer: buffer to write string to (NOT NULL) >>>>>> * @mask: permission mask to convert >>>>>> + * >>>>>> + * Returns: pointer to static string >>>>>> */ >>>>>> -static void audit_ptrace_mask(struct audit_buffer *ab, u32 mask) >>>>>> +static const char *audit_ptrace_mask(u32 mask) >>>>>> { >>>>>> switch (mask) { >>>>>> case MAY_READ: >>>>>> - audit_log_string(ab, "read"); >>>>>> - break; >>>>>> + return "read"; >>>>>> case MAY_WRITE: >>>>>> - audit_log_string(ab, "trace"); >>>>>> - break; >>>>>> + return "trace"; >>>>>> case AA_MAY_BE_READ: >>>>>> - audit_log_string(ab, "readby"); >>>>>> - break; >>>>>> + return "readby"; >>>>>> case AA_MAY_BE_TRACED: >>>>>> - audit_log_string(ab, "tracedby"); >>>>>> - break; >>>>>> + return "tracedby"; >>>>>> } >>>>>> + return ""; >>>>> >>>>> Are we okay with this returning an empty string ("") in this case? >>>>> Should it be a question mark ("?")? >>>>> >>>>> My guess is that userspace parsing should be okay since it still has >>>>> quotes, I'm just not sure if we wanted to use a question mark as we do >>>>> in other cases where the field value is empty/unknown. >>>> >>>> Previously, it would have been an empty value, not even double quotes. >>>> "?" might be an improvement. >>> >>> Did you want to fix that now in this patch, or leave it to later? As >>> I said above, I'm not too bothered by it with the quotes so either way >>> is fine by me. >> >> I'd defer to Steve, otherwise I'd say leave it, since there wasn't >> anything there before and this makes that more evident. >> >>> John, I'm assuming you are okay with this patch? > > With no comments from John or Steve in the past week, I've gone ahead > and merged the patch into audit/next. > sorry, for some reason I thought a new iteration of this was coming. the patch is fine, the empty unknown value should be possible here so changing it to "?" won't affect anything.