All of lore.kernel.org
 help / color / mirror / Atom feed
From: Suresh Jayaraman <sjayaraman-l3A5Bk7waGM@public.gmane.org>
To: Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: smfrench-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] cifs: just ignore extra junk at the end of the SMB
Date: Mon, 10 Jan 2011 10:13:34 +0530	[thread overview]
Message-ID: <4D2A8E76.2090405@suse.de> (raw)
In-Reply-To: <20110107083429.7f52b14d-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>

On 01/07/2011 07:04 PM, Jeff Layton wrote:
> On Fri, 07 Jan 2011 11:22:35 +0530
> Suresh Jayaraman <sjayaraman-l3A5Bk7waGM@public.gmane.org> wrote:
> 
>> On 12/22/2010 07:09 PM, Jeff Layton wrote:
>>> If the server sends us a RFC1001 length that's larger than the SMB,
>>> then there's no reason to get our panties in a bunch and spew printk's,
>>> and there's certainly no reason just ignore the response completely like
>>> we do today. Just ignore the extra stuff on the end.
>>>
>>> This fixes:
>>>
>>>     https://bugzilla.samba.org/show_bug.cgi?id=7860
>>>
>>> Reported-by: Marcus Schopen <marcus-dLPT46B32WUjnolme5KbmQ@public.gmane.org>
>>> Tested-by: Burkhard Obergoeker <burkhard.obergoeker-VYBfkVvgaNUmRHQWxfeBDQ@public.gmane.org>
>>> Signed-off-by: Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
>>> ---
>>>  fs/cifs/misc.c |   25 ++++++-------------------
>>>  1 files changed, 6 insertions(+), 19 deletions(-)
>>>
>>> diff --git a/fs/cifs/misc.c b/fs/cifs/misc.c
>>> index 43f1028..b3df037 100644
>>> --- a/fs/cifs/misc.c
>>> +++ b/fs/cifs/misc.c
>>> @@ -465,26 +465,13 @@ checkSMB(struct smb_hdr *smb, __u16 mid, unsigned int length)
>>>  			if (((4 + len) & 0xFFFF) == (clc_len & 0xFFFF))
>>>  				return 0; /* bcc wrapped */
>>>  		}
>>> -		cFYI(1, "Calculated size %d vs length %d mismatch for mid %d",
>>> +
>>> +		/*
>>> +		 * We allow the server to send us an arbitrary amount of junk
>>> +		 * at the end of the SMB. Just ignore it.
>>> +		 */
>>> +		cFYI(1, "Calculated size %u vs length %u mismatch for mid %u",
>>>  				clc_len, 4 + len, smb->Mid);
>>> -		/* Windows XP can return a few bytes too much, presumably
>>> -		an illegal pad, at the end of byte range lock responses
>>> -		so we allow for that three byte pad, as long as actual
>>> -		received length is as long or longer than calculated length */
>>> -		/* We have now had to extend this more, since there is a
>>> -		case in which it needs to be bigger still to handle a
>>> -		malformed response to transact2 findfirst from WinXP when
>>> -		access denied is returned and thus bcc and wct are zero
>>> -		but server says length is 0x21 bytes too long as if the server
>>> -		forget to reset the smb rfc1001 length when it reset the
>>> -		wct and bcc to minimum size and drop the t2 parms and data */
>>> -		if ((4+len > clc_len) && (len <= clc_len + 512))
>>> -			return 0;
>>> -		else {
>>> -			cERROR(1, "RFC1001 size %d bigger than SMB for Mid=%d",
>>> -					len, smb->Mid);
>>> -			return 1;
>>> -		}
>>>  	}
>>>  	return 0;
>>>  }
>>
>> Where do we stand w.r.t this patch? Though it looks OK to me, IIRC,
>> Steve had some concerns in make the checks less stricter. Steve?
>>
>>
> 
> Ahh, I haven't see where Steve commented on this patch...

Not on this patch, but elsewhere while discussing an identical issue -
http://thread.gmane.org/gmane.network.samba.general/117198/focus=1986


-- 
Suresh Jayaraman

  parent reply	other threads:[~2011-01-10  4:43 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-22 13:39 [PATCH] cifs: just ignore extra junk at the end of the SMB Jeff Layton
     [not found] ` <1293025147-11338-1-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2011-01-07  5:52   ` Suresh Jayaraman
     [not found]     ` <4D26AA23.9040603-l3A5Bk7waGM@public.gmane.org>
2011-01-07 13:34       ` Jeff Layton
     [not found]         ` <20110107083429.7f52b14d-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2011-01-10  4:43           ` Suresh Jayaraman [this message]
2011-01-24 19:31   ` Jeff Layton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D2A8E76.2090405@suse.de \
    --to=sjayaraman-l3a5bk7wagm@public.gmane.org \
    --cc=jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=smfrench-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.