Message ID | 20210925131625.29617-2-linkinjeon@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ksmbd: a bunch of patches | expand |
Also reviewed by me, and merged into cifsd-for-next On Sat, Sep 25, 2021 at 8:17 AM Namjae Jeon <linkinjeon@kernel.org> wrote: > > From: Ronnie Sahlberg <lsahlber@redhat.com> > > In smb_common.c you have this function : ksmbd_smb_request() which > is called from connection.c once you have read the initial 4 bytes for > the next length+smb2 blob. > > It checks the first byte of this 4 byte preamble for valid values, > i.e. a NETBIOSoverTCP SESSION_MESSAGE or a SESSION_KEEP_ALIVE. > > We don't need to check this for ksmbd since it only implements SMB2 > over TCP port 445. > The netbios stuff was only used in very old servers when SMB ran over > TCP port 139. > Now that we run over TCP port 445, this is actually not a NB header anymore > and you can just treat it as a 4 byte length field that must be less > than 16Mbyte. and remove the references to the RFC1002 constants that no > longer applies. > > Cc: Tom Talpey <tom@talpey.com> > Cc: Ronnie Sahlberg <ronniesahlberg@gmail.com> > Cc: Ralph Böhme <slow@samba.org> > Cc: Steve French <smfrench@gmail.com> > Cc: Sergey Senozhatsky <senozhatsky@chromium.org> > Acked-by: Hyunchul Lee <hyc.lee@gmail.com> > Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com> > Signed-off-by: Namjae Jeon <linkinjeon@kernel.org> > --- > fs/ksmbd/smb_common.c | 15 +-------------- > fs/ksmbd/smb_common.h | 8 -------- > 2 files changed, 1 insertion(+), 22 deletions(-) > > diff --git a/fs/ksmbd/smb_common.c b/fs/ksmbd/smb_common.c > index 43d3123d8b62..1da67217698d 100644 > --- a/fs/ksmbd/smb_common.c > +++ b/fs/ksmbd/smb_common.c > @@ -149,20 +149,7 @@ int ksmbd_verify_smb_message(struct ksmbd_work *work) > */ > bool ksmbd_smb_request(struct ksmbd_conn *conn) > { > - int type = *(char *)conn->request_buf; > - > - switch (type) { > - case RFC1002_SESSION_MESSAGE: > - /* Regular SMB request */ > - return true; > - case RFC1002_SESSION_KEEP_ALIVE: > - ksmbd_debug(SMB, "RFC 1002 session keep alive\n"); > - break; > - default: > - ksmbd_debug(SMB, "RFC 1002 unknown request type 0x%x\n", type); > - } > - > - return false; > + return conn->request_buf[0] == 0; > } > > static bool supported_protocol(int idx) > diff --git a/fs/ksmbd/smb_common.h b/fs/ksmbd/smb_common.h > index 57c667c1be06..d7df19c97c4c 100644 > --- a/fs/ksmbd/smb_common.h > +++ b/fs/ksmbd/smb_common.h > @@ -48,14 +48,6 @@ > #define CIFS_DEFAULT_IOSIZE (64 * 1024) > #define MAX_CIFS_SMALL_BUFFER_SIZE 448 /* big enough for most */ > > -/* RFC 1002 session packet types */ > -#define RFC1002_SESSION_MESSAGE 0x00 > -#define RFC1002_SESSION_REQUEST 0x81 > -#define RFC1002_POSITIVE_SESSION_RESPONSE 0x82 > -#define RFC1002_NEGATIVE_SESSION_RESPONSE 0x83 > -#define RFC1002_RETARGET_SESSION_RESPONSE 0x84 > -#define RFC1002_SESSION_KEEP_ALIVE 0x85 > - > /* Responses when opening a file. */ > #define F_SUPERSEDED 0 > #define F_OPENED 1 > -- > 2.25.1 >
diff --git a/fs/ksmbd/smb_common.c b/fs/ksmbd/smb_common.c index 43d3123d8b62..1da67217698d 100644 --- a/fs/ksmbd/smb_common.c +++ b/fs/ksmbd/smb_common.c @@ -149,20 +149,7 @@ int ksmbd_verify_smb_message(struct ksmbd_work *work) */ bool ksmbd_smb_request(struct ksmbd_conn *conn) { - int type = *(char *)conn->request_buf; - - switch (type) { - case RFC1002_SESSION_MESSAGE: - /* Regular SMB request */ - return true; - case RFC1002_SESSION_KEEP_ALIVE: - ksmbd_debug(SMB, "RFC 1002 session keep alive\n"); - break; - default: - ksmbd_debug(SMB, "RFC 1002 unknown request type 0x%x\n", type); - } - - return false; + return conn->request_buf[0] == 0; } static bool supported_protocol(int idx) diff --git a/fs/ksmbd/smb_common.h b/fs/ksmbd/smb_common.h index 57c667c1be06..d7df19c97c4c 100644 --- a/fs/ksmbd/smb_common.h +++ b/fs/ksmbd/smb_common.h @@ -48,14 +48,6 @@ #define CIFS_DEFAULT_IOSIZE (64 * 1024) #define MAX_CIFS_SMALL_BUFFER_SIZE 448 /* big enough for most */ -/* RFC 1002 session packet types */ -#define RFC1002_SESSION_MESSAGE 0x00 -#define RFC1002_SESSION_REQUEST 0x81 -#define RFC1002_POSITIVE_SESSION_RESPONSE 0x82 -#define RFC1002_NEGATIVE_SESSION_RESPONSE 0x83 -#define RFC1002_RETARGET_SESSION_RESPONSE 0x84 -#define RFC1002_SESSION_KEEP_ALIVE 0x85 - /* Responses when opening a file. */ #define F_SUPERSEDED 0 #define F_OPENED 1