From 90674f0fce81f3fea1d15a9c2588427dd5e4cd9c Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Tue, 13 Dec 2011 13:18:47 +0100 Subject: [PATCH] s3:smbd/oplock: pass sconn as private_data to process_kernel_oplock_break() metze --- source3/smbd/oplock.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c index b23df3fdfa2..067681e0f94 100644 --- a/source3/smbd/oplock.c +++ b/source3/smbd/oplock.c @@ -594,10 +594,16 @@ static void process_kernel_oplock_break(struct messaging_context *msg_ctx, struct server_id src, DATA_BLOB *data) { - struct smbd_server_connection *sconn; struct file_id id; unsigned long file_id; files_struct *fsp; + struct smbd_server_connection *sconn = + talloc_get_type(private_data, + struct smbd_server_connection); + + if (sconn == NULL) { + return; + } if (data->data == NULL) { DEBUG(0, ("Got NULL buffer\n")); @@ -609,12 +615,6 @@ static void process_kernel_oplock_break(struct messaging_context *msg_ctx, return; } - sconn = msg_ctx_to_sconn(msg_ctx); - if (sconn == NULL) { - DEBUG(1, ("could not find sconn\n")); - return; - } - /* Pull the data from the message. */ pull_file_id_24((char *)data->data, &id); file_id = (unsigned long)IVAL(data->data, 24); @@ -943,7 +943,7 @@ bool init_oplocks(struct smbd_server_connection *sconn) process_oplock_async_level2_break_message); messaging_register(sconn->msg_ctx, sconn, MSG_SMB_BREAK_RESPONSE, process_oplock_break_response); - messaging_register(sconn->msg_ctx, NULL, MSG_SMB_KERNEL_BREAK, + messaging_register(sconn->msg_ctx, sconn, MSG_SMB_KERNEL_BREAK, process_kernel_oplock_break); messaging_register(sconn->msg_ctx, NULL, MSG_SMB_OPEN_RETRY, process_open_retry_message); -- 2.34.1