Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp27302rwe; Wed, 31 Aug 2022 15:41:35 -0700 (PDT) X-Google-Smtp-Source: AA6agR5aVM1PjR4o+FXTsJLQa1kYi3nJDE6l0MNg7+lAEqhM4UVA6I2sfLmHFAKFd3iBLTW2YSj0 X-Received: by 2002:a17:902:bd41:b0:172:74c9:2a08 with SMTP id b1-20020a170902bd4100b0017274c92a08mr27572371plx.9.1661985695748; Wed, 31 Aug 2022 15:41:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661985695; cv=none; d=google.com; s=arc-20160816; b=mY6TZ2R6W3CPzzuAhmSJR8NkOjK/mSmtuxApBTHJOLnw9j+SCpHmtznm5uLvcLdfSQ wK1FVazQPcbO7ZsY2PECqIER0XlssAOEae0nynbf1ry4Bdh6LniAsELjZramPQiZv2YO RTufr9DYe33H8qDby6QqgHb6/5nTsi4Al8ScQrN93jheF/9Ti5RbCQsbPzdYaVOvvUaj /4CmvlTwqstT3lm7BzZqVGBzob2NK+z2pbcHjE+zDcvkSwPGKD4OyIdpY2uh4HX8zFfl quRCLjU7c9pWpUOtivm+82rj9xxTStmM7+ndsrdwJKFHfVA8/tjT55xrsiul/qvfTC+g rTMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=rKIZ2WTLtQjucL02x9Nc2ffupTcwbvlTRvUJuSYdwkI=; b=skcjdQlFfmD+/tw9n1HL/sL7FZTx9gueAw+TBL4IzqmFRrgBxLIWo9xvWCX97khYVd cL6RRm3GtiEfsFFJMDZBqXiKGQalFrukyy/XFo0okvbcIakK393opTFQTvpE3dKjwCMS o49sPAkn4NULFZGGKLmAUOJJGegatKVbcm24RpzrO+sbH4ckDxwd9kWpoYxRZBuZsnAJ aPl0F17BgLcSldLETyLNWKXD6yXifoedOxpi3WDFiLfXwS0GrSYKBek3PrDhtNreYy+w rkx56EAX4n7oavrxUV08qc8yALstLzow9PFD1n/DR+k+z0zQKuEwlSkzJ4eySO+HpxfP 2UwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=VTk5emfg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id lk11-20020a17090b33cb00b001fd9be4fb6csi3544467pjb.39.2022.08.31.15.41.22; Wed, 31 Aug 2022 15:41:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=VTk5emfg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232282AbiHaWT6 (ORCPT + 99 others); Wed, 31 Aug 2022 18:19:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46786 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232286AbiHaWTz (ORCPT ); Wed, 31 Aug 2022 18:19:55 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2281564DF for ; Wed, 31 Aug 2022 15:19:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1661984390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=rKIZ2WTLtQjucL02x9Nc2ffupTcwbvlTRvUJuSYdwkI=; b=VTk5emfgK/Ef0UOFdo3O5WFqlDZdLk/ULvDTWTce37X5dvl6YlYFToNA2BAsTjwJY0+i2K 3adyocRV1LgDKScdc1CNknCrNqy+JAgKFovcICuCZhji+6K/MKKVh9Ae4UsEMkt19Nl5xJ ydxNcpFF/ZJqN92eW1vrtPv6HNH3YDc= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-67-uaDSlbJCOzS39kahpTWe3g-1; Wed, 31 Aug 2022 18:19:44 -0400 X-MC-Unique: uaDSlbJCOzS39kahpTWe3g-1 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 163F038164CD; Wed, 31 Aug 2022 22:19:44 +0000 (UTC) Received: from madcap2.tricolour.ca (unknown [10.22.48.5]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CDF0B492C3B; Wed, 31 Aug 2022 22:19:42 +0000 (UTC) Date: Wed, 31 Aug 2022 18:19:40 -0400 From: Richard Guy Briggs To: Steve Grubb Cc: Paul Moore , Linux-Audit Mailing List , LKML , linux-fsdevel@vger.kernel.org, Eric Paris , Jan Kara , Amir Goldstein Subject: Re: [PATCH v4 3/4] fanotify,audit: Allow audit to use the full permission event response Message-ID: References: <12063373.O9o76ZdvQC@x2> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <12063373.O9o76ZdvQC@x2> X-Scanned-By: MIMEDefang 2.85 on 10.11.54.9 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2022-08-31 17:25, Steve Grubb wrote: > On Wednesday, August 31, 2022 5:07:25 PM EDT Richard Guy Briggs wrote: > > > > diff --git a/kernel/auditsc.c b/kernel/auditsc.c > > > > index 433418d73584..f000fec52360 100644 > > > > --- a/kernel/auditsc.c > > > > +++ b/kernel/auditsc.c > > > > @@ -64,6 +64,7 @@ > > > > #include > > > > #include > > > > #include // struct open_how > > > > +#include > > > > > > > > #include "audit.h" > > > > > > > > @@ -2899,10 +2900,34 @@ void __audit_log_kern_module(char *name) > > > > context->type = AUDIT_KERN_MODULE; > > > > } > > > > > > > > -void __audit_fanotify(u32 response) > > > > +void __audit_fanotify(u32 response, size_t len, char *buf) > > > > { > > > > - audit_log(audit_context(), GFP_KERNEL, > > > > - AUDIT_FANOTIFY, "resp=%u", response); > > > > + struct fanotify_response_info_audit_rule *friar; > > > > + size_t c = len; > > > > + char *ib = buf; > > > > + > > > > + if (!(len && buf)) { > > > > + audit_log(audit_context(), GFP_KERNEL, AUDIT_FANOTIFY, > > > > + "resp=%u fan_type=0 fan_info=?", response); > > > > + return; > > > > + } > > > > + while (c >= sizeof(struct fanotify_response_info_header)) { > > > > + friar = (struct fanotify_response_info_audit_rule > > > > *)buf; > > > > > > Since the only use of this at the moment is the > > > fanotify_response_info_rule, why not pass the > > > fanotify_response_info_rule struct directly into this function? We > > > can always change it if we need to in the future without affecting > > > userspace, and it would simplify the code. > > > > Steve, would it make any sense for there to be more than one > > FAN_RESPONSE_INFO_AUDIT_RULE header in a message? Could there be more > > than one rule that contributes to a notify reason? If not, would it be > > reasonable to return -EINVAL if there is more than one? > > I don't see a reason for sending more than one header. What is more probable > is the need to send additional data in that header. I was thinking of maybe > bit mapping it in the rule number. But I'd suggest padding the struct just in > case it needs expanding some day. This doesn't exactly answer my question about multiple rules contributing to one decision. The need for more as yet undefined information sounds like a good reason to define a new header if that happens. At this point, is it reasonable to throw an error if more than one RULE header appears in a message? The way I had coded this last patchset was to allow for more than one RULE header and each one would get its own record in the event. How many rules total are likely to exist? > -Steev - RGB -- Richard Guy Briggs Sr. S/W Engineer, Kernel Security, Base Operating Systems Remote, Ottawa, Red Hat Canada IRC: rgb, SunRaycer Voice: +1.647.777.2635, Internal: (81) 32635