Skip to content

Commit

Permalink
ncpfs: remove compat functionality
Browse files Browse the repository at this point in the history
Now that ncpfs is gone from the tree, no need to have the compatibility
thunking layer around, it will not actually go anywhere :)

So delete that logic from fs/compat.c, it is no longer needed.

Signed-off-by: Greg Kroah-Hartman <[email protected]>
  • Loading branch information
gregkh committed Jun 5, 2018
1 parent bd32895 commit f0ac2ab
Showing 1 changed file with 1 addition and 71 deletions.
72 changes: 1 addition & 71 deletions fs/compat.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,79 +16,12 @@
*/

#include <linux/compat.h>
#include <linux/ncp_mount.h>
#include <linux/nfs4_mount.h>
#include <linux/syscalls.h>
#include <linux/slab.h>
#include <linux/uaccess.h>
#include "internal.h"

struct compat_ncp_mount_data {
compat_int_t version;
compat_uint_t ncp_fd;
__compat_uid_t mounted_uid;
compat_pid_t wdog_pid;
unsigned char mounted_vol[NCP_VOLNAME_LEN + 1];
compat_uint_t time_out;
compat_uint_t retry_count;
compat_uint_t flags;
__compat_uid_t uid;
__compat_gid_t gid;
compat_mode_t file_mode;
compat_mode_t dir_mode;
};

struct compat_ncp_mount_data_v4 {
compat_int_t version;
compat_ulong_t flags;
compat_ulong_t mounted_uid;
compat_long_t wdog_pid;
compat_uint_t ncp_fd;
compat_uint_t time_out;
compat_uint_t retry_count;
compat_ulong_t uid;
compat_ulong_t gid;
compat_ulong_t file_mode;
compat_ulong_t dir_mode;
};

static void *do_ncp_super_data_conv(void *raw_data)
{
int version = *(unsigned int *)raw_data;

if (version == 3) {
struct compat_ncp_mount_data *c_n = raw_data;
struct ncp_mount_data *n = raw_data;

n->dir_mode = c_n->dir_mode;
n->file_mode = c_n->file_mode;
n->gid = c_n->gid;
n->uid = c_n->uid;
memmove (n->mounted_vol, c_n->mounted_vol, (sizeof (c_n->mounted_vol) + 3 * sizeof (unsigned int)));
n->wdog_pid = c_n->wdog_pid;
n->mounted_uid = c_n->mounted_uid;
} else if (version == 4) {
struct compat_ncp_mount_data_v4 *c_n = raw_data;
struct ncp_mount_data_v4 *n = raw_data;

n->dir_mode = c_n->dir_mode;
n->file_mode = c_n->file_mode;
n->gid = c_n->gid;
n->uid = c_n->uid;
n->retry_count = c_n->retry_count;
n->time_out = c_n->time_out;
n->ncp_fd = c_n->ncp_fd;
n->wdog_pid = c_n->wdog_pid;
n->mounted_uid = c_n->mounted_uid;
n->flags = c_n->flags;
} else if (version != 5) {
return NULL;
}

return raw_data;
}


struct compat_nfs_string {
compat_uint_t len;
compat_uptr_t data;
Expand Down Expand Up @@ -154,7 +87,6 @@ static int do_nfs4_super_data_conv(void *raw_data)
return 0;
}

#define NCPFS_NAME "ncpfs"
#define NFS4_NAME "nfs4"

COMPAT_SYSCALL_DEFINE5(mount, const char __user *, dev_name,
Expand Down Expand Up @@ -183,9 +115,7 @@ COMPAT_SYSCALL_DEFINE5(mount, const char __user *, dev_name,
goto out2;

if (kernel_type && options) {
if (!strcmp(kernel_type, NCPFS_NAME)) {
do_ncp_super_data_conv(options);
} else if (!strcmp(kernel_type, NFS4_NAME)) {
if (!strcmp(kernel_type, NFS4_NAME)) {
retval = -EINVAL;
if (do_nfs4_super_data_conv(options))
goto out3;
Expand Down

0 comments on commit f0ac2ab

Please sign in to comment.