]> err.no Git - linux-2.6/blobdiff - fs/gfs2/ops_fstype.c
[IA64] SN2: security hole in sn2_ptc_proc_write
[linux-2.6] / fs / gfs2 / ops_fstype.c
index 63d5fd203d3f6866c2c7bc8cdb8a5fe9052f1043..b2028c82e8d1ae53fc04672303ce4e14fa3d7276 100644 (file)
@@ -142,8 +142,8 @@ static int init_names(struct gfs2_sbd *sdp, int silent)
        if (!table[0])
                table = sdp->sd_vfs->s_id;
 
-       snprintf(sdp->sd_proto_name, GFS2_FSNAME_LEN, "%s", proto);
-       snprintf(sdp->sd_table_name, GFS2_FSNAME_LEN, "%s", table);
+       strlcpy(sdp->sd_proto_name, proto, GFS2_FSNAME_LEN);
+       strlcpy(sdp->sd_table_name, table, GFS2_FSNAME_LEN);
 
        table = sdp->sd_table_name;
        while ((table = strchr(table, '/')))
@@ -723,7 +723,7 @@ static int gfs2_lm_mount(struct gfs2_sbd *sdp, int silent)
 {
        char *proto = sdp->sd_proto_name;
        char *table = sdp->sd_table_name;
-       int flags = 0;
+       int flags = LM_MFLAG_CONV_NODROP;
        int error;
 
        if (sdp->sd_args.ar_spectator)
@@ -998,7 +998,6 @@ static int gfs2_get_sb_meta(struct file_system_type *fs_type, int flags,
                error = PTR_ERR(new);
                goto error;
        }
-       module_put(fs_type->owner);
        new->s_flags = flags;
        strlcpy(new->s_id, sb->s_id, sizeof(new->s_id));
        sb_set_blocksize(new, sb->s_blocksize);