All of lore.kernel.org
 help / color / mirror / Atom feed
From: Olaf Hering <olaf@aepfle.de>
To: Andy Whitcroft <apw@shadowen.org>, sfrench@samba.org
Cc: Linus Torvalds <torvalds@osdl.org>,
	Herbert Poetzl <herbert@13thfloor.at>, Andi Kleen <ak@suse.de>,
	Andrew Morton <akpm@osdl.org>,
	linux-kernel@vger.kernel.org, Steve Fox <drfickle@us.ibm.com>
Subject: Re: 2.6.19-git13: uts banner changes break SLES9 (at least)
Date: Mon, 11 Dec 2006 21:16:11 +0100	[thread overview]
Message-ID: <20061211201611.GA20131@aepfle.de> (raw)
In-Reply-To: <20061211195628.GA19889@aepfle.de>

On Mon, Dec 11, Olaf Hering wrote:

> On Mon, Dec 11, Andy Whitcroft wrote:
> 
> > I am afraid to report that this second version also fails for me, as you 
> > point out CIFS can break us if defined.  In fact we used to get away 
> > with this on my test system due to ordering magic luck, I presume the 
> > move to __initdata has triggered this.  Much as I agree that this is 
> > wrong we are still going to break people with this.
> 
> I'm looking at cifs_strtoUCS and wonder if its safe to check 'len &&
> *from'. IF it really is, the functions could snprintf to the stack and
> pass this to cifs_strtoUCS.
> 
> Quick, compile tested, patch below.
> 
> 
> Index: linux-2.6/fs/cifs/connect.c
> ===================================================================
> --- linux-2.6.orig/fs/cifs/connect.c
> +++ linux-2.6/fs/cifs/connect.c
> @@ -2070,6 +2070,7 @@ CIFSSessSetup(unsigned int xid, struct c
>  	      char session_key[CIFS_SESS_KEY_SIZE],
>  	      const struct nls_table *nls_codepage)
>  {
> +	char banner[2*32+1];
>  	struct smb_hdr *smb_buffer;
>  	struct smb_hdr *smb_buffer_response;
>  	SESSION_SETUP_ANDX *pSMB;
> @@ -2135,6 +2136,8 @@ CIFSSessSetup(unsigned int xid, struct c
>  	memcpy(bcc_ptr, (char *) session_key, CIFS_SESS_KEY_SIZE);
>  	bcc_ptr += CIFS_SESS_KEY_SIZE;
>  
> +	snprintf(banner, sizeof(banner), "%s version %s", utsname()->sysname,
> +		utsname()->release);
>  	if (ses->capabilities & CAP_UNICODE) {
>  		if ((long) bcc_ptr % 2) { /* must be word aligned for Unicode */
>  			*bcc_ptr = 0;
> @@ -2160,12 +2163,8 @@ CIFSSessSetup(unsigned int xid, struct c
>  		bcc_ptr += 2 * bytes_returned;
>  		bcc_ptr += 2;
>  		bytes_returned =
> -		    cifs_strtoUCS((__le16 *) bcc_ptr, "Linux version ",
> -				  32, nls_codepage);
> -		bcc_ptr += 2 * bytes_returned;
> -		bytes_returned =
> -		    cifs_strtoUCS((__le16 *) bcc_ptr, utsname()->release,
> -				  32, nls_codepage);
> +		    cifs_strtoUCS((__le16 *) bcc_ptr, banner,
> +				  64, nls_codepage);
>  		bcc_ptr += 2 * bytes_returned;
>  		bcc_ptr += 2;
>  		bytes_returned =

new_utsname->release is 65 bytes, so with a very long uname -r, the
current code already truncates release.

Steve, is 32 a hard limit in the protocol?

  parent reply	other threads:[~2006-12-11 20:16 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-11 15:11 2.6.19-git13: uts banner changes break SLES9 (at least) Andy Whitcroft
2006-12-11 16:33 ` Olaf Hering
2006-12-11 16:44   ` Linus Torvalds
2006-12-11 16:52     ` Linus Torvalds
2006-12-11 18:04       ` Olaf Hering
2006-12-11 18:18         ` Olaf Hering
2006-12-11 18:26           ` Linus Torvalds
2006-12-11 18:29             ` Herbert Poetzl
2006-12-11 18:43               ` Linus Torvalds
2006-12-11 18:55                 ` Olaf Hering
2006-12-11 19:11                   ` Linus Torvalds
2006-12-11 22:04                     ` Paul Mackerras
2006-12-11 22:04                       ` Paul Mackerras
2006-12-12  0:05                       ` David Miller
2006-12-12  0:05                         ` David Miller
2006-12-12  9:10                         ` Gerd Hoffmann
2006-12-12  9:10                           ` Gerd Hoffmann
2006-12-11 19:20                 ` Andy Whitcroft
2006-12-11 19:36                   ` Linus Torvalds
2006-12-11 22:42                     ` Andy Whitcroft
2006-12-11 19:37                   ` Herbert Poetzl
2006-12-11 19:56                   ` Olaf Hering
2006-12-11 20:05                     ` Linus Torvalds
2006-12-11 20:09                       ` Linus Torvalds
2006-12-11 20:21                       ` Greg KH
2006-12-11 20:16                     ` Olaf Hering [this message]
2006-12-11 20:15                   ` Theodore Tso
2006-12-11 20:23                     ` Arjan van de Ven
2006-12-11 21:16                     ` H. Peter Anvin
2006-12-11 18:49             ` Olaf Hering
2006-12-12 12:23             ` Mach-O binary format support and Darwin syscall personality [Was: uts banner changes] Kyle Moffett
2006-12-12 16:23               ` Linus Torvalds
2006-12-12 17:56                 ` Kyle Moffett
2006-12-12 18:20                   ` Linus Torvalds
2006-12-12 22:34                     ` Kyle Moffett
2006-12-12 22:38                       ` Benjamin Herrenschmidt
2006-12-12 22:57                         ` Linus Torvalds
2006-12-12 22:21                   ` Benjamin Herrenschmidt
2006-12-15 12:53                   ` Pavel Machek
2006-12-11 17:50     ` 2.6.19-git13: uts banner changes break SLES9 (at least) Olaf Hering
2006-12-11 17:57       ` Arjan van de Ven
2006-12-11 18:00         ` Olaf Hering
2006-12-11 18:08           ` Arjan van de Ven
2006-12-11 18:14             ` Olaf Hering
2006-12-11 19:03               ` Arjan van de Ven
2006-12-11 19:37               ` Jan Engelhardt
2006-12-11 18:19       ` Linus Torvalds
2006-12-11 18:40         ` Olaf Hering
2006-12-11 18:52           ` Linus Torvalds
2006-12-11 19:34     ` Jan Engelhardt
2006-12-11 21:15     ` H. Peter Anvin

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=20061211201611.GA20131@aepfle.de \
    --to=olaf@aepfle.de \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=apw@shadowen.org \
    --cc=drfickle@us.ibm.com \
    --cc=herbert@13thfloor.at \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sfrench@samba.org \
    --cc=torvalds@osdl.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.