[PATCH] s3: vfs: time_audit: fix handling of token_blob in smb_time_audit_offload_read_recv()
Jeremy Allison
jra at samba.org
Mon Aug 13 17:45:12 UTC 2018
On Fri, Aug 10, 2018 at 02:35:41PM -0700, Christof Schmitt via samba-technical wrote:
> > > vfs_time_audit? Are there any reasons why we shouldn't add
> > > vfs_time_audit to the other test environments too?
> >
> > The initial goal was to simply load the modules somewhere to trigger the
> > smb_vfs_assert_all_fns check. We can probably just load them everywhere.
> > I am running the attached patches through a gitlab pipeline now to see
> > if anything else shows up:
> > https://gitlab.com/samba-team/devel/samba/pipelines/27670843
>
> Now with attached patches.
LGTM. RB+ and pushed, thanks !
Jeremy.
> From 045ae93ef7d1ec98136d169054779f10d70b0e86 Mon Sep 17 00:00:00 2001
> From: Ralph Wuerthner <ralph.wuerthner at de.ibm.com>
> Date: Wed, 8 Aug 2018 17:42:18 +0200
> Subject: [PATCH 1/2] s3: vfs: time_audit: fix handling of token_blob in
> smb_time_audit_offload_read_recv()
>
> BUG: https://bugzilla.samba.org/show_bug.cgi?id=13568
>
> Signed-off-by: Ralph Wuerthner <ralph.wuerthner at de.ibm.com>
> Reviewed-by: Christof Schmitt <cs at samba.org>
> ---
> source3/modules/vfs_time_audit.c | 12 +++---------
> 1 file changed, 3 insertions(+), 9 deletions(-)
>
> diff --git a/source3/modules/vfs_time_audit.c b/source3/modules/vfs_time_audit.c
> index 64e1f5d..aefea33 100644
> --- a/source3/modules/vfs_time_audit.c
> +++ b/source3/modules/vfs_time_audit.c
> @@ -1988,13 +1988,12 @@ static NTSTATUS smb_time_audit_offload_read_recv(
> struct tevent_req *req,
> struct vfs_handle_struct *handle,
> TALLOC_CTX *mem_ctx,
> - DATA_BLOB *_token_blob)
> + DATA_BLOB *token_blob)
> {
> struct time_audit_offload_read_state *state = tevent_req_data(
> req, struct time_audit_offload_read_state);
> struct timespec ts_recv;
> double timediff;
> - DATA_BLOB token_blob;
> NTSTATUS status;
>
> clock_gettime_mono(&ts_recv);
> @@ -2008,13 +2007,8 @@ static NTSTATUS smb_time_audit_offload_read_recv(
> return status;
> }
>
> - token_blob = data_blob_talloc(mem_ctx,
> - state->token_blob.data,
> - state->token_blob.length);
> - if (token_blob.data == NULL) {
> - tevent_req_received(req);
> - return NT_STATUS_NO_MEMORY;
> - }
> + token_blob->length = state->token_blob.length;
> + token_blob->data = talloc_move(mem_ctx, &state->token_blob.data);
>
> tevent_req_received(req);
> return NT_STATUS_OK;
> --
> 1.8.3.1
>
>
> From df7b9df2dad6f7b08a41e6a85cf03e6e7c31d95e Mon Sep 17 00:00:00 2001
> From: Christof Schmitt <cs at samba.org>
> Date: Fri, 10 Aug 2018 10:38:28 -0700
> Subject: [PATCH 2/2] selftest: Load time_audit and full_audit modules for all
> tests
>
> Previously the only test was to load these modules to trigger the
> smb_vfs_assert_all_fns check. As these modules just pass through the
> calls, they can be loaded for all tests to ensure that the codepaths are
> exercised. This would have found the problem in
> smb_time_audit_offload_read_recv.
>
> BUG: https://bugzilla.samba.org/show_bug.cgi?id=13568
>
> Signed-off-by: Christof Schmitt <cs at samba.org>
> ---
> selftest/target/Samba3.pm | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
> index 447c1e8..d90c8f7 100755
> --- a/selftest/target/Samba3.pm
> +++ b/selftest/target/Samba3.pm
> @@ -762,14 +762,10 @@ sub setup_simpleserver
> my $simpleserver_options = "
> lanman auth = yes
> ntlm auth = yes
> - vfs objects = xattr_tdb streams_depot time_audit full_audit
> + vfs objects = xattr_tdb streams_depot
> change notify = no
> smb encrypt = off
>
> - full_audit:syslog = no
> - full_audit:success = none
> - full_audit:failure = none
> -
> [vfs_aio_pthread]
> path = $prefix_abs/share
> read only = no
> @@ -1766,7 +1762,11 @@ sub provision($$$$$$$$$)
> dos filemode = yes
> strict rename = yes
> strict sync = yes
> - vfs objects = acl_xattr fake_acls xattr_tdb streams_depot
> + vfs objects = acl_xattr fake_acls xattr_tdb streams_depot time_audit full_audit
> +
> + full_audit:syslog = no
> + full_audit:success = none
> + full_audit:failure = none
>
> printing = vlp
> print command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb print %p %s
> --
> 1.8.3.1
>
More information about the samba-technical
mailing list