Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e6084d4a authored by Mike Frysinger's avatar Mike Frysinger Committed by Linus Torvalds
Browse files

binfmt_misc: clean up code style a bit



Clean up various coding style issues that checkpatch complains about.
No functional changes here.

Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Joe Perches <joe@perches.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 6b899c4e
Loading
Loading
Loading
Loading
+145 −148
Original line number Diff line number Diff line
@@ -4,16 +4,7 @@
 * Copyright (C) 1997 Richard Günther
 *
 * binfmt_misc detects binaries via a magic or filename extension and invokes
 *  a specified wrapper. This should obsolete binfmt_java, binfmt_em86 and
 *  binfmt_mz.
 *
 *  1997-04-25 first version
 *  [...]
 *  1997-05-19 cleanup
 *  1997-06-26 hpa: pass the real filename rather than argv[0]
 *  1997-06-30 minor cleanup
 *  1997-08-09 removed extension stripping, locking cleanup
 *  2001-02-28 AV: rewritten into something that resembles C. Original didn't.
 * a specified wrapper. See Documentation/binfmt_misc.txt for more details.
 */

#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
@@ -142,7 +133,7 @@ static int load_misc_binary(struct linux_binprm *bprm)

	retval = -ENOEXEC;
	if (!enabled)
		goto _ret;
		goto ret;

	/* to keep locking time low, we copy the interpreter string */
	read_lock(&entries_lock);
@@ -151,23 +142,24 @@ static int load_misc_binary(struct linux_binprm *bprm)
		strlcpy(iname, fmt->interpreter, BINPRM_BUF_SIZE);
	read_unlock(&entries_lock);
	if (!fmt)
		goto _ret;
		goto ret;

	if (!(fmt->flags & MISC_FMT_PRESERVE_ARGV0)) {
		retval = remove_arg_zero(bprm);
		if (retval)
			goto _ret;
			goto ret;
	}

	if (fmt->flags & MISC_FMT_OPEN_BINARY) {

		/* if the binary should be opened on behalf of the
		 * interpreter than keep it open and assign descriptor
		 * to it */
		 * to it
		 */
		fd_binary = get_unused_fd_flags(0);
		if (fd_binary < 0) {
			retval = fd_binary;
 			goto _ret;
			goto ret;
		}
		fd_install(fd_binary, bprm->file);

@@ -190,24 +182,24 @@ static int load_misc_binary(struct linux_binprm *bprm)
	/* make argv[1] be the path to the binary */
	retval = copy_strings_kernel(1, &bprm->interp, bprm);
	if (retval < 0)
		goto _error;
		goto error;
	bprm->argc++;

	/* add the interp as argv[0] */
	retval = copy_strings_kernel(1, &iname_addr, bprm);
	if (retval < 0)
		goto _error;
		goto error;
	bprm->argc++;

	/* Update interp in case binfmt_script needs it. */
	retval = bprm_change_interp(iname, bprm);
	if (retval < 0)
		goto _error;
		goto error;

	interp_file = open_exec(iname);
	retval = PTR_ERR(interp_file);
	if (IS_ERR(interp_file))
		goto _error;
		goto error;

	bprm->file = interp_file;
	if (fmt->flags & MISC_FMT_CREDENTIALS) {
@@ -221,20 +213,20 @@ static int load_misc_binary(struct linux_binprm *bprm)
		retval = prepare_binprm(bprm);

	if (retval < 0)
		goto _error;
		goto error;

	retval = search_binary_handler(bprm);
	if (retval < 0)
		goto _error;
		goto error;

_ret:
ret:
	return retval;
_error:
error:
	if (fd_binary > 0)
		sys_close(fd_binary);
	bprm->interp_flags = 0;
	bprm->interp_data = 0;
	goto _ret;
	goto ret;
}

/* Command parsers */
@@ -294,6 +286,7 @@ static char * check_special_flags (char * sfs, Node * e)

	return p;
}

/*
 * This registers a new binary format, it recognises the syntax
 * ':name:type:offset:magic:mask:interpreter:flags'
@@ -323,7 +316,7 @@ static Node *create_entry(const char __user *buffer, size_t count)

	memset(e, 0, sizeof(Node));
	if (copy_from_user(buf, buffer, count))
		goto Efault;
		goto efault;

	del = *p++;	/* delimeter */

@@ -336,13 +329,13 @@ static Node *create_entry(const char __user *buffer, size_t count)
	e->name = p;
	p = strchr(p, del);
	if (!p)
		goto Einval;
		goto einval;
	*p++ = '\0';
	if (!e->name[0] ||
	    !strcmp(e->name, ".") ||
	    !strcmp(e->name, "..") ||
	    strchr(e->name, '/'))
		goto Einval;
		goto einval;

	pr_debug("register: name: {%s}\n", e->name);

@@ -357,10 +350,10 @@ static Node *create_entry(const char __user *buffer, size_t count)
		e->flags = (1 << Enabled) | (1 << Magic);
		break;
	default:
		goto Einval;
		goto einval;
	}
	if (*p++ != del)
		goto Einval;
		goto einval;

	if (test_bit(Magic, &e->flags)) {
		/* Handle the 'M' (magic) format. */
@@ -369,21 +362,21 @@ static Node *create_entry(const char __user *buffer, size_t count)
		/* Parse the 'offset' field. */
		s = strchr(p, del);
		if (!s)
			goto Einval;
			goto einval;
		*s++ = '\0';
		e->offset = simple_strtoul(p, &p, 10);
		if (*p++)
			goto Einval;
			goto einval;
		pr_debug("register: offset: %#x\n", e->offset);

		/* Parse the 'magic' field. */
		e->magic = p;
		p = scanarg(p, del);
		if (!p)
			goto Einval;
			goto einval;
		p[-1] = '\0';
		if (p == e->magic)
			goto Einval;
			goto einval;
		if (USE_DEBUG)
			print_hex_dump_bytes(
				KBUILD_MODNAME ": register: magic[raw]: ",
@@ -393,7 +386,7 @@ static Node *create_entry(const char __user *buffer, size_t count)
		e->mask = p;
		p = scanarg(p, del);
		if (!p)
			goto Einval;
			goto einval;
		p[-1] = '\0';
		if (p == e->mask) {
			e->mask = NULL;
@@ -412,9 +405,9 @@ static Node *create_entry(const char __user *buffer, size_t count)
		e->size = string_unescape_inplace(e->magic, UNESCAPE_HEX);
		if (e->mask &&
		    string_unescape_inplace(e->mask, UNESCAPE_HEX) != e->size)
			goto Einval;
			goto einval;
		if (e->size + e->offset > BINPRM_BUF_SIZE)
			goto Einval;
			goto einval;
		pr_debug("register: magic/mask length: %i\n", e->size);
		if (USE_DEBUG) {
			print_hex_dump_bytes(
@@ -446,23 +439,23 @@ static Node *create_entry(const char __user *buffer, size_t count)
		/* Skip the 'offset' field. */
		p = strchr(p, del);
		if (!p)
			goto Einval;
			goto einval;
		*p++ = '\0';

		/* Parse the 'magic' field. */
		e->magic = p;
		p = strchr(p, del);
		if (!p)
			goto Einval;
			goto einval;
		*p++ = '\0';
		if (!e->magic[0] || strchr(e->magic, '/'))
			goto Einval;
			goto einval;
		pr_debug("register: extension: {%s}\n", e->magic);

		/* Skip the 'mask' field. */
		p = strchr(p, del);
		if (!p)
			goto Einval;
			goto einval;
		*p++ = '\0';
	}

@@ -470,10 +463,10 @@ static Node *create_entry(const char __user *buffer, size_t count)
	e->interpreter = p;
	p = strchr(p, del);
	if (!p)
		goto Einval;
		goto einval;
	*p++ = '\0';
	if (!e->interpreter[0])
		goto Einval;
		goto einval;
	pr_debug("register: interpreter: {%s}\n", e->interpreter);

	/* Parse the 'flags' field. */
@@ -481,16 +474,17 @@ static Node *create_entry(const char __user *buffer, size_t count)
	if (*p == '\n')
		p++;
	if (p != buf + count)
		goto Einval;
		goto einval;

	return e;

out:
	return ERR_PTR(err);

Efault:
efault:
	kfree(e);
	return ERR_PTR(-EFAULT);
Einval:
einval:
	kfree(e);
	return ERR_PTR(-EINVAL);
}
@@ -542,18 +536,14 @@ static void entry_status(Node *e, char *page)
	/* print the special flags */
	sprintf(dp, "%s", flags);
	dp += strlen(flags);
	if (e->flags & MISC_FMT_PRESERVE_ARGV0) {
	if (e->flags & MISC_FMT_PRESERVE_ARGV0)
		*dp++ = 'P';
	}
	if (e->flags & MISC_FMT_OPEN_BINARY) {
	if (e->flags & MISC_FMT_OPEN_BINARY)
		*dp++ = 'O';
	}
	if (e->flags & MISC_FMT_CREDENTIALS) {
	if (e->flags & MISC_FMT_CREDENTIALS)
		*dp++ = 'C';
	}
	*dp++ = '\n';


	if (!test_bit(Magic, &e->flags)) {
		sprintf(dp, "extension .%s\n", e->magic);
	} else {
@@ -626,7 +616,8 @@ bm_entry_read(struct file * file, char __user * buf, size_t nbytes, loff_t *ppos
	ssize_t res;
	char *page;

	if (!(page = (char*) __get_free_page(GFP_KERNEL)))
	page = (char *) __get_free_page(GFP_KERNEL);
	if (!page)
		return -ENOMEM;

	entry_status(e, page);
@@ -663,8 +654,10 @@ static ssize_t bm_entry_write(struct file *file, const char __user *buffer,
		mutex_unlock(&root->d_inode->i_mutex);
		dput(root);
		break;
		default: return res;
	default:
		return res;
	}

	return count;
}

@@ -778,8 +771,10 @@ static ssize_t bm_status_write(struct file * file, const char __user * buffer,
		mutex_unlock(&root->d_inode->i_mutex);
		dput(root);
		break;
		default: return res;
	default:
		return res;
	}

	return count;
}

@@ -798,12 +793,14 @@ static const struct super_operations s_ops = {

static int bm_fill_super(struct super_block *sb, void *data, int silent)
{
	int err;
	static struct tree_descr bm_files[] = {
		[2] = {"status", &bm_status_operations, S_IWUSR|S_IRUGO},
		[3] = {"register", &bm_register_operations, S_IWUSR},
		/* last one */ {""}
	};
	int err = simple_fill_super(sb, BINFMTFS_MAGIC, bm_files);

	err = simple_fill_super(sb, BINFMTFS_MAGIC, bm_files);
	if (!err)
		sb->s_op = &s_ops;
	return err;