Hi! Attached find a patch that fixes another case where oparms.mode is uninitialized. This patch fixes it with a struct assignment, relying on the implicit initialization of unmentioned fields. Please note that the assignment does not explicitly mention "reconnect" anymore, relying on the implicit "false" value. Is this kernel-style? Shall we just go through all of the oparms initializations, there are quite a few other cases that might have the mode uninitialized. Regards, Volker
From 848e2d42a731ed0612a5c5de188659b98734edce Mon Sep 17 00:00:00 2001 From: Volker Lendecke <vl@xxxxxxxxx> Date: Wed, 11 Jan 2023 12:37:58 +0100 Subject: [PATCH] cifs: Fix uninitialized memory read in smb3_qfs_tcon() Signed-off-by: Volker Lendecke <vl@xxxxxxxxx> --- fs/cifs/smb2ops.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c index e6bcd2baf446..34c2ff0247db 100644 --- a/fs/cifs/smb2ops.c +++ b/fs/cifs/smb2ops.c @@ -729,12 +729,13 @@ smb3_qfs_tcon(const unsigned int xid, struct cifs_tcon *tcon, struct cifs_fid fid; struct cached_fid *cfid = NULL; - oparms.tcon = tcon; - oparms.desired_access = FILE_READ_ATTRIBUTES; - oparms.disposition = FILE_OPEN; - oparms.create_options = cifs_create_options(cifs_sb, 0); - oparms.fid = &fid; - oparms.reconnect = false; + oparms = (struct cifs_open_parms) { + .tcon = tcon, + .desired_access = FILE_READ_ATTRIBUTES, + .disposition = FILE_OPEN, + .create_options = cifs_create_options(cifs_sb, 0), + .fid = &fid, + }; rc = open_cached_dir(xid, tcon, "", cifs_sb, false, &cfid); if (rc == 0) -- 2.30.2