cifs: Fix validation of signed data in smb2
authorPaulo Alcantara <paulo@paulo.ac>
Sat, 23 Jun 2018 17:52:24 +0000 (14:52 -0300)
committerSteve French <stfrench@microsoft.com>
Thu, 5 Jul 2018 18:48:24 +0000 (13:48 -0500)
commit8de8c4608fe9edc046c31bf82b2b7ebc1daae015
tree98f7e9f04c5334b100524ae59a89f864c9e805fe
parent27c32b49c3dbfe1e5f57d2b61823bf9474ae0875
cifs: Fix validation of signed data in smb2

Fixes: c713c8770fa5 ("cifs: push rfc1002 generation down the stack")

We failed to validate signed data returned by the server because
__cifs_calc_signature() now expects to sign the actual data in iov but
we were also passing down the rfc1002 length.

Fix smb3_calc_signature() to calculate signature of rfc1002 length prior
to passing only the actual data iov[1-N] to __cifs_calc_signature(). In
addition, there are a few cases where no rfc1002 length is passed so we
make sure there's one (iov_len == 4).

Signed-off-by: Paulo Alcantara <palcantara@suse.de>
Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/smb2transport.c