mirror of https://gitee.com/openkylin/linux.git
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: WANG Cong <xiyou.wangcong@gmail.com> Signed-off-by: Jeff Dike <jdike@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
4d18de45fa
commit
c9a3072d13
|
@ -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_mode_fd(int fd, int mode);
|
||||||
|
|
||||||
extern int os_seek_file(int fd, unsigned long long offset);
|
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_read_file(int fd, void *buf, int len);
|
||||||
extern int os_write_file(int fd, const void *buf, int count);
|
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_size(const char *file, unsigned long long *size_out);
|
||||||
extern int os_file_modtime(char *file, unsigned long *modtime);
|
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_pipe(int *fd, int stream, int close_on_exec);
|
||||||
extern int os_set_fd_async(int fd, int owner);
|
extern int os_set_fd_async(int fd, int owner);
|
||||||
extern int os_clear_fd_async(int fd);
|
extern int os_clear_fd_async(int fd);
|
||||||
extern int os_set_fd_block(int fd, int blocking);
|
extern int os_set_fd_block(int fd, int blocking);
|
||||||
extern int os_accept_connection(int fd);
|
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 int os_shutdown_socket(int fd, int r, int w);
|
||||||
extern void os_close_file(int fd);
|
extern void os_close_file(int fd);
|
||||||
extern int os_rcv_fd(int fd, int *helper_pid_out);
|
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 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_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 int os_lock_file(int fd, int excl);
|
||||||
extern void os_flush_stdout(void);
|
extern void os_flush_stdout(void);
|
||||||
extern int os_stat_filesystem(char *path, long *bsize_out,
|
extern int os_stat_filesystem(char *path, long *bsize_out,
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
#include "user.h"
|
#include "user.h"
|
||||||
#include "kern_util.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) {
|
*dst = ((struct uml_stat) {
|
||||||
.ust_dev = src->st_dev, /* device */
|
.ust_dev = src->st_dev, /* device */
|
||||||
|
@ -168,7 +168,7 @@ int os_file_type(char *file)
|
||||||
else return OS_TYPE_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;
|
int err;
|
||||||
|
|
||||||
|
@ -189,7 +189,7 @@ int os_file_mode(char *file, struct openflags *mode_out)
|
||||||
return err;
|
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;
|
int fd, err, f = 0;
|
||||||
|
|
||||||
|
@ -216,7 +216,7 @@ int os_open_file(char *file, struct openflags flags, int mode)
|
||||||
return fd;
|
return fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
int os_connect_socket(char *name)
|
int os_connect_socket(const char *name)
|
||||||
{
|
{
|
||||||
struct sockaddr_un sock;
|
struct sockaddr_un sock;
|
||||||
int fd, err;
|
int fd, err;
|
||||||
|
@ -277,7 +277,7 @@ int os_write_file(int fd, const void *buf, int len)
|
||||||
return n;
|
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;
|
struct uml_stat buf;
|
||||||
int err;
|
int err;
|
||||||
|
@ -314,7 +314,7 @@ int os_file_size(char *file, unsigned long long *size_out)
|
||||||
return 0;
|
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;
|
struct uml_stat buf;
|
||||||
int err;
|
int err;
|
||||||
|
@ -514,7 +514,7 @@ int os_rcv_fd(int fd, int *helper_pid_out)
|
||||||
return new;
|
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;
|
struct sockaddr_un addr;
|
||||||
int sock, err;
|
int sock, err;
|
||||||
|
|
|
@ -73,7 +73,7 @@ static void install_fatal_handler(int sig)
|
||||||
action.sa_handler = last_ditch_exit;
|
action.sa_handler = last_ditch_exit;
|
||||||
if (sigaction(sig, &action, NULL) < 0) {
|
if (sigaction(sig, &action, NULL) < 0) {
|
||||||
printf("failed to install handler for signal %d - errno = %d\n",
|
printf("failed to install handler for signal %d - errno = %d\n",
|
||||||
errno);
|
sig, errno);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -92,7 +92,8 @@ static void setup_env_path(void)
|
||||||
* just use the default + /usr/lib/uml
|
* just use the default + /usr/lib/uml
|
||||||
*/
|
*/
|
||||||
if (!old_path || (path_len = strlen(old_path)) == 0) {
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,11 +101,14 @@ static void setup_env_path(void)
|
||||||
path_len += strlen("PATH=" UML_LIB_PATH) + 1;
|
path_len += strlen("PATH=" UML_LIB_PATH) + 1;
|
||||||
new_path = malloc(path_len);
|
new_path = malloc(path_len);
|
||||||
if (!new_path) {
|
if (!new_path) {
|
||||||
perror("coudn't malloc to set a new PATH");
|
perror("couldn't malloc to set a new PATH");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
snprintf(new_path, path_len, "PATH=%s" UML_LIB_PATH, old_path);
|
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;
|
extern int uml_exitcode;
|
||||||
|
|
|
@ -172,13 +172,15 @@ int __init make_tempfile(const char *template, char **out_tempname,
|
||||||
|
|
||||||
which_tmpdir();
|
which_tmpdir();
|
||||||
tempname = malloc(MAXPATHLEN);
|
tempname = malloc(MAXPATHLEN);
|
||||||
|
if (!tempname)
|
||||||
|
goto out;
|
||||||
|
|
||||||
find_tempdir();
|
find_tempdir();
|
||||||
if (template[0] != '/')
|
if (template[0] != '/')
|
||||||
strcpy(tempname, tempdir);
|
strcpy(tempname, tempdir);
|
||||||
else
|
else
|
||||||
tempname[0] = '\0';
|
tempname[0] = '\0';
|
||||||
strcat(tempname, template);
|
strncat(tempname, template, MAXPATHLEN-1-strlen(tempname));
|
||||||
fd = mkstemp(tempname);
|
fd = mkstemp(tempname);
|
||||||
if(fd < 0){
|
if(fd < 0){
|
||||||
fprintf(stderr, "open - cannot create %s: %s\n", tempname,
|
fprintf(stderr, "open - cannot create %s: %s\n", tempname,
|
||||||
|
@ -268,6 +270,7 @@ void __init check_tmpexec(void)
|
||||||
if(addr == MAP_FAILED){
|
if(addr == MAP_FAILED){
|
||||||
err = errno;
|
err = errno;
|
||||||
perror("failed");
|
perror("failed");
|
||||||
|
close(fd);
|
||||||
if(err == EPERM)
|
if(err == EPERM)
|
||||||
printf("%s must be not mounted noexec\n",tempdir);
|
printf("%s must be not mounted noexec\n",tempdir);
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|
|
@ -183,7 +183,8 @@ int change_sig(int signal, int on)
|
||||||
|
|
||||||
sigemptyset(&sigset);
|
sigemptyset(&sigset);
|
||||||
sigaddset(&sigset, signal);
|
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);
|
return !sigismember(&old, signal);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ static int ptrace_child(void)
|
||||||
_exit(ret);
|
_exit(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void fatal_perror(char *str)
|
static void fatal_perror(const char *str)
|
||||||
{
|
{
|
||||||
perror(str);
|
perror(str);
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|
Loading…
Reference in New Issue