lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <524f69650806101014r6a068a7dvacb7fba58a230a63@mail.gmail.com>
Date:	Tue, 10 Jun 2008 12:14:26 -0500
From:	"Steve French" <smfrench@...il.com>
To:	"Jeff Layton" <jlayton@...hat.com>, marcin.slusarz@...il.com,
	"Andrew Morton" <akpm@...ux-foundation.org>,
	LKML <linux-kernel@...r.kernel.org>
Subject: Fwd: [patch (for 2.6.26?) 1/1] cifs: fix oops on mount when CONFIG_CIFS_DFS_UPCALL is enabled

I don't have the original note (ie patch without whitespace mangled by
the mailers) that I can ack to Linus on this but would like it merged
into mainline as an individual patch (my cifs-2.6.git tree has
additional patches in it that I don't want to merged into
linux-2.6.git yet).


---------- Forwarded message ----------
From: Steve French <smfrench@...il.com>
Date: Tue, Jun 10, 2008 at 11:47 AM
Subject: Re: [patch (for 2.6.26?) 1/1] cifs: fix oops on mount when
CONFIG_CIFS_DFS_UPCALL is enabled
To: akpm@...ux-foundation.org
Cc: sfrench@...ibm.com, marcin.slusarz@...il.com, sfrench@...ba.org,
stable@...nel.org


ACK

On Mon, Jun 9, 2008 at 6:48 PM,  <akpm@...ux-foundation.org> wrote:
> From: Marcin Slusarz <marcin.slusarz@...il.com>
>
> simple "mount -t cifs //xxx /mnt" oopsed on strlen of options
> http://kerneloops.org/guilty.php?guilty=cifs_get_sb&version=2.6.25-release&start=1671168&end=1703935&class=oops
>
> Signed-off-by: Marcin Slusarz <marcin.slusarz@...il.com>
> Cc: Steve French <sfrench@...ba.org>
> Cc: <stable@...nel.org>
> Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
> ---
>
>  fs/cifs/cifsfs.c |   21 ++++++++++-----------
>  1 file changed, 10 insertions(+), 11 deletions(-)
>
> diff -puN fs/cifs/cifsfs.c~cifs-fix-oops-on-mount-when-config_cifs_dfs_upcall-is-enabled fs/cifs/cifsfs.c
> --- a/fs/cifs/cifsfs.c~cifs-fix-oops-on-mount-when-config_cifs_dfs_upcall-is-enabled
> +++ a/fs/cifs/cifsfs.c
> @@ -124,9 +124,6 @@ cifs_read_super(struct super_block *sb,
>  {
>        struct inode *inode;
>        struct cifs_sb_info *cifs_sb;
> -#ifdef CONFIG_CIFS_DFS_UPCALL
> -       int len;
> -#endif
>        int rc = 0;
>
>        /* BB should we make this contingent on mount parm? */
> @@ -144,15 +141,17 @@ cifs_read_super(struct super_block *sb,
>         * complex operation (mount), and in case of fail
>         * just exit instead of doing mount and attempting
>         * undo it if this copy fails?*/
> -       len = strlen(data);
> -       cifs_sb->mountdata = kzalloc(len + 1, GFP_KERNEL);
> -       if (cifs_sb->mountdata == NULL) {
> -               kfree(sb->s_fs_info);
> -               sb->s_fs_info = NULL;
> -               return -ENOMEM;
> +       if (data) {
> +               int len = strlen(data);
> +               cifs_sb->mountdata = kzalloc(len + 1, GFP_KERNEL);
> +               if (cifs_sb->mountdata == NULL) {
> +                       kfree(sb->s_fs_info);
> +                       sb->s_fs_info = NULL;
> +                       return -ENOMEM;
> +               }
> +               strncpy(cifs_sb->mountdata, data, len + 1);
> +               cifs_sb->mountdata[len] = '\0';
>        }
> -       strncpy(cifs_sb->mountdata, data, len + 1);
> -       cifs_sb->mountdata[len] = '\0';
>  #endif
>
>        rc = cifs_mount(sb, cifs_sb, data, devname);
> _
>



--
Thanks,

Steve



-- 
Thanks,

Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ