if (mntfh->size < sizeof(mntfh->data))
                        memset(mntfh->data + mntfh->size, 0,
                               sizeof(mntfh->data) - mntfh->size);
+
+               if (!nfs_verify_server_address((struct sockaddr *) &data->addr))
+                       goto out_no_address;
+
                /*
                 * Translate to nfs_parsed_mount_data, which nfs_fill_super
                 * can deal with.
                if (nfs_parse_mount_options((char *)options, args) == 0)
                        return -EINVAL;
 
+               if (!nfs_verify_server_address((struct sockaddr *)
+                                               &args->nfs_server.address))
+                       goto out_no_address;
+
                c = strchr(dev_name, ':');
                if (c == NULL)
                        return -EINVAL;
                goto out_v3_not_compiled;
 #endif /* !CONFIG_NFS_V3 */
 
-       if (!nfs_verify_server_address((struct sockaddr *)
-                                               &args->nfs_server.address))
-               goto out_no_address;
-
        return 0;
 
 out_no_data: