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

Commit c9a3072d authored by WANG Cong's avatar WANG Cong Committed by Linus Torvalds
Browse files

uml: code tidying under arch/um/os-Linux



This patch contains varied fixes and improvements for some files under
arch/um/os-Linux/, such as a typo fix in a perror message, a missing
argument fix for a printf, some constifying for pointers and so on.

[ jdike - made sigprocmask failure return -errno instead of -1 ]

Signed-off-by: default avatarWANG Cong <xiyou.wangcong@gmail.com>
Signed-off-by: default avatarJeff Dike <jdike@linux.intel.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 4d18de45
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -137,24 +137,24 @@ extern int os_set_owner(int fd, int pid);
extern int os_mode_fd(int fd, int mode);

extern int os_seek_file(int fd, unsigned long long offset);
extern int os_open_file(char *file, struct openflags flags, int mode);
extern int os_open_file(const char *file, struct openflags flags, int mode);
extern int os_read_file(int fd, void *buf, int len);
extern int os_write_file(int fd, const void *buf, int count);
extern int os_file_size(char *file, unsigned long long *size_out);
extern int os_file_modtime(char *file, unsigned long *modtime);
extern int os_file_size(const char *file, unsigned long long *size_out);
extern int os_file_modtime(const char *file, unsigned long *modtime);
extern int os_pipe(int *fd, int stream, int close_on_exec);
extern int os_set_fd_async(int fd, int owner);
extern int os_clear_fd_async(int fd);
extern int os_set_fd_block(int fd, int blocking);
extern int os_accept_connection(int fd);
extern int os_create_unix_socket(char *file, int len, int close_on_exec);
extern int os_create_unix_socket(const char *file, int len, int close_on_exec);
extern int os_shutdown_socket(int fd, int r, int w);
extern void os_close_file(int fd);
extern int os_rcv_fd(int fd, int *helper_pid_out);
extern int create_unix_socket(char *file, int len, int close_on_exec);
extern int os_connect_socket(char *name);
extern int os_connect_socket(const char *name);
extern int os_file_type(char *file);
extern int os_file_mode(char *file, struct openflags *mode_out);
extern int os_file_mode(const char *file, struct openflags *mode_out);
extern int os_lock_file(int fd, int excl);
extern void os_flush_stdout(void);
extern int os_stat_filesystem(char *path, long *bsize_out,
+7 −7
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@
#include "user.h"
#include "kern_util.h"

static void copy_stat(struct uml_stat *dst, struct stat64 *src)
static void copy_stat(struct uml_stat *dst, const struct stat64 *src)
{
	*dst = ((struct uml_stat) {
		.ust_dev     = src->st_dev,     /* device */
@@ -168,7 +168,7 @@ int os_file_type(char *file)
	else return OS_TYPE_FILE;
}

int os_file_mode(char *file, struct openflags *mode_out)
int os_file_mode(const char *file, struct openflags *mode_out)
{
	int err;

@@ -189,7 +189,7 @@ int os_file_mode(char *file, struct openflags *mode_out)
	return err;
}

int os_open_file(char *file, struct openflags flags, int mode)
int os_open_file(const char *file, struct openflags flags, int mode)
{
	int fd, err, f = 0;

@@ -216,7 +216,7 @@ int os_open_file(char *file, struct openflags flags, int mode)
	return fd;
}

int os_connect_socket(char *name)
int os_connect_socket(const char *name)
{
	struct sockaddr_un sock;
	int fd, err;
@@ -277,7 +277,7 @@ int os_write_file(int fd, const void *buf, int len)
	return n;
}

int os_file_size(char *file, unsigned long long *size_out)
int os_file_size(const char *file, unsigned long long *size_out)
{
	struct uml_stat buf;
	int err;
@@ -314,7 +314,7 @@ int os_file_size(char *file, unsigned long long *size_out)
	return 0;
}

int os_file_modtime(char *file, unsigned long *modtime)
int os_file_modtime(const char *file, unsigned long *modtime)
{
	struct uml_stat buf;
	int err;
@@ -514,7 +514,7 @@ int os_rcv_fd(int fd, int *helper_pid_out)
	return new;
}

int os_create_unix_socket(char *file, int len, int close_on_exec)
int os_create_unix_socket(const char *file, int len, int close_on_exec)
{
	struct sockaddr_un addr;
	int sock, err;
+8 −4
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ static void install_fatal_handler(int sig)
	action.sa_handler = last_ditch_exit;
	if (sigaction(sig, &action, NULL) < 0) {
		printf("failed to install handler for signal %d - errno = %d\n",
		       errno);
		       sig, errno);
		exit(1);
	}
}
@@ -92,7 +92,8 @@ static void setup_env_path(void)
	 * just use the default + /usr/lib/uml
	 */
	if (!old_path || (path_len = strlen(old_path)) == 0) {
		putenv("PATH=:/bin:/usr/bin/" UML_LIB_PATH);
		if (putenv("PATH=:/bin:/usr/bin/" UML_LIB_PATH))
			perror("couldn't putenv");
		return;
	}

@@ -100,11 +101,14 @@ static void setup_env_path(void)
	path_len += strlen("PATH=" UML_LIB_PATH) + 1;
	new_path = malloc(path_len);
	if (!new_path) {
		perror("coudn't malloc to set a new PATH");
		perror("couldn't malloc to set a new PATH");
		return;
	}
	snprintf(new_path, path_len, "PATH=%s" UML_LIB_PATH, old_path);
	putenv(new_path);
	if (putenv(new_path)) {
		perror("couldn't putenv to set a new PATH");
		free(new_path);
	}
}

extern int uml_exitcode;
+4 −1
Original line number Diff line number Diff line
@@ -172,13 +172,15 @@ int __init make_tempfile(const char *template, char **out_tempname,

	which_tmpdir();
	tempname = malloc(MAXPATHLEN);
	if (!tempname)
		goto out;

	find_tempdir();
	if (template[0] != '/')
		strcpy(tempname, tempdir);
	else
		tempname[0] = '\0';
	strcat(tempname, template);
	strncat(tempname, template, MAXPATHLEN-1-strlen(tempname));
	fd = mkstemp(tempname);
	if(fd < 0){
		fprintf(stderr, "open - cannot create %s: %s\n", tempname,
@@ -268,6 +270,7 @@ void __init check_tmpexec(void)
	if(addr == MAP_FAILED){
		err = errno;
		perror("failed");
		close(fd);
		if(err == EPERM)
			printf("%s must be not mounted noexec\n",tempdir);
		exit(1);
+2 −1
Original line number Diff line number Diff line
@@ -183,7 +183,8 @@ int change_sig(int signal, int on)

	sigemptyset(&sigset);
	sigaddset(&sigset, signal);
	sigprocmask(on ? SIG_UNBLOCK : SIG_BLOCK, &sigset, &old);
	if (sigprocmask(on ? SIG_UNBLOCK : SIG_BLOCK, &sigset, &old) < 0)
		return -errno;
	return !sigismember(&old, signal);
}

Loading