projects
/
platform
/
adaptation
/
renesas_rcar
/
renesas_kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
autofs4: fix pending checks
[platform/adaptation/renesas_rcar/renesas_kernel.git]
/
fs
/
compat.c
diff --git
a/fs/compat.c
b/fs/compat.c
index
2ce4456
..
106eba2
100644
(file)
--- a/
fs/compat.c
+++ b/
fs/compat.c
@@
-24,6
+24,7
@@
#include <linux/fcntl.h>
#include <linux/namei.h>
#include <linux/file.h>
#include <linux/fcntl.h>
#include <linux/namei.h>
#include <linux/file.h>
+#include <linux/fdtable.h>
#include <linux/vfs.h>
#include <linux/ioctl.h>
#include <linux/init.h>
#include <linux/vfs.h>
#include <linux/ioctl.h>
#include <linux/init.h>
@@
-196,8
+197,8
@@
static int put_compat_statfs(struct compat_statfs __user *ubuf, struct kstatfs *
{
if (sizeof ubuf->f_blocks == 4) {
{
if (sizeof ubuf->f_blocks == 4) {
- if ((kbuf->f_blocks | kbuf->f_bfree | kbuf->f_bavail
) &
- 0xffffffff00000000ULL)
+ if ((kbuf->f_blocks | kbuf->f_bfree | kbuf->f_bavail
|
+
kbuf->f_bsize | kbuf->f_frsize) &
0xffffffff00000000ULL)
return -EOVERFLOW;
/* f_files and f_ffree may be -1; it's okay
* to stuff that into 32 bits */
return -EOVERFLOW;
/* f_files and f_ffree may be -1; it's okay
* to stuff that into 32 bits */
@@
-270,8
+271,8
@@
out:
static int put_compat_statfs64(struct compat_statfs64 __user *ubuf, struct kstatfs *kbuf)
{
if (sizeof ubuf->f_blocks == 4) {
static int put_compat_statfs64(struct compat_statfs64 __user *ubuf, struct kstatfs *kbuf)
{
if (sizeof ubuf->f_blocks == 4) {
- if ((kbuf->f_blocks | kbuf->f_bfree | kbuf->f_bavail
) &
- 0xffffffff00000000ULL)
+ if ((kbuf->f_blocks | kbuf->f_bfree | kbuf->f_bavail
|
+
kbuf->f_bsize | kbuf->f_frsize) &
0xffffffff00000000ULL)
return -EOVERFLOW;
/* f_files and f_ffree may be -1; it's okay
* to stuff that into 32 bits */
return -EOVERFLOW;
/* f_files and f_ffree may be -1; it's okay
* to stuff that into 32 bits */
@@
-1404,7
+1405,7
@@
int compat_do_execve(char * filename,
/* execve success */
security_bprm_free(bprm);
acct_update_integrals(current);
/* execve success */
security_bprm_free(bprm);
acct_update_integrals(current);
-
kfree
(bprm);
+
free_bprm
(bprm);
return retval;
}
return retval;
}
@@
-1423,7
+1424,7
@@
out_file:
}
out_kfree:
}
out_kfree:
-
kfree
(bprm);
+
free_bprm
(bprm);
out_ret:
return retval;
out_ret:
return retval;
@@
-1634,7
+1635,7
@@
sticky:
return ret;
}
return ret;
}
-#ifdef
TIF
_RESTORE_SIGMASK
+#ifdef
HAVE_SET
_RESTORE_SIGMASK
asmlinkage long compat_sys_pselect7(int n, compat_ulong_t __user *inp,
compat_ulong_t __user *outp, compat_ulong_t __user *exp,
struct compat_timespec __user *tsp, compat_sigset_t __user *sigmask,
asmlinkage long compat_sys_pselect7(int n, compat_ulong_t __user *inp,
compat_ulong_t __user *outp, compat_ulong_t __user *exp,
struct compat_timespec __user *tsp, compat_sigset_t __user *sigmask,
@@
-1720,7
+1721,7
@@
sticky:
if (sigmask) {
memcpy(¤t->saved_sigmask, &sigsaved,
sizeof(sigsaved));
if (sigmask) {
memcpy(¤t->saved_sigmask, &sigsaved,
sizeof(sigsaved));
- set_
thread_flag(TIF_RESTORE_SIGMASK
);
+ set_
restore_sigmask(
);
}
} else if (sigmask)
sigprocmask(SIG_SETMASK, &sigsaved, NULL);
}
} else if (sigmask)
sigprocmask(SIG_SETMASK, &sigsaved, NULL);
@@
-1791,7
+1792,7
@@
asmlinkage long compat_sys_ppoll(struct pollfd __user *ufds,
if (sigmask) {
memcpy(¤t->saved_sigmask, &sigsaved,
sizeof(sigsaved));
if (sigmask) {
memcpy(¤t->saved_sigmask, &sigsaved,
sizeof(sigsaved));
- set_
thread_flag(TIF_RESTORE_SIGMASK
);
+ set_
restore_sigmask(
);
}
ret = -ERESTARTNOHAND;
} else if (sigmask)
}
ret = -ERESTARTNOHAND;
} else if (sigmask)
@@
-1825,7
+1826,7
@@
sticky:
return ret;
}
return ret;
}
-#endif /*
TIF
_RESTORE_SIGMASK */
+#endif /*
HAVE_SET
_RESTORE_SIGMASK */
#if defined(CONFIG_NFSD) || defined(CONFIG_NFSD_MODULE)
/* Stuff for NFS server syscalls... */
#if defined(CONFIG_NFSD) || defined(CONFIG_NFSD_MODULE)
/* Stuff for NFS server syscalls... */
@@
-2080,7
+2081,7
@@
long asmlinkage compat_sys_nfsservctl(int cmd, void *notused, void *notused2)
#ifdef CONFIG_EPOLL
#ifdef CONFIG_EPOLL
-#ifdef
TIF
_RESTORE_SIGMASK
+#ifdef
HAVE_SET
_RESTORE_SIGMASK
asmlinkage long compat_sys_epoll_pwait(int epfd,
struct compat_epoll_event __user *events,
int maxevents, int timeout,
asmlinkage long compat_sys_epoll_pwait(int epfd,
struct compat_epoll_event __user *events,
int maxevents, int timeout,
@@
-2117,22
+2118,22
@@
asmlinkage long compat_sys_epoll_pwait(int epfd,
if (err == -EINTR) {
memcpy(¤t->saved_sigmask, &sigsaved,
sizeof(sigsaved));
if (err == -EINTR) {
memcpy(¤t->saved_sigmask, &sigsaved,
sizeof(sigsaved));
- set_
thread_flag(TIF_RESTORE_SIGMASK
);
+ set_
restore_sigmask(
);
} else
sigprocmask(SIG_SETMASK, &sigsaved, NULL);
}
return err;
}
} else
sigprocmask(SIG_SETMASK, &sigsaved, NULL);
}
return err;
}
-#endif /*
TIF
_RESTORE_SIGMASK */
+#endif /*
HAVE_SET
_RESTORE_SIGMASK */
#endif /* CONFIG_EPOLL */
#ifdef CONFIG_SIGNALFD
#endif /* CONFIG_EPOLL */
#ifdef CONFIG_SIGNALFD
-asmlinkage long compat_sys_signalfd(int ufd,
- const compat_sigset_t __user *sigmask,
-
compat_size_t sigsetsize
)
+asmlinkage long compat_sys_signalfd
4
(int ufd,
+
const compat_sigset_t __user *sigmask,
+
compat_size_t sigsetsize, int flags
)
{
compat_sigset_t ss32;
sigset_t tmp;
{
compat_sigset_t ss32;
sigset_t tmp;
@@
-2147,9
+2148,15
@@
asmlinkage long compat_sys_signalfd(int ufd,
if (copy_to_user(ksigmask, &tmp, sizeof(sigset_t)))
return -EFAULT;
if (copy_to_user(ksigmask, &tmp, sizeof(sigset_t)))
return -EFAULT;
- return sys_signalfd
(ufd, ksigmask, sizeof(sigset_t)
);
+ return sys_signalfd
4(ufd, ksigmask, sizeof(sigset_t), flags
);
}
}
+asmlinkage long compat_sys_signalfd(int ufd,
+ const compat_sigset_t __user *sigmask,
+ compat_size_t sigsetsize)
+{
+ return compat_sys_signalfd4(ufd, sigmask, sigsetsize, 0);
+}
#endif /* CONFIG_SIGNALFD */
#ifdef CONFIG_TIMERFD
#endif /* CONFIG_SIGNALFD */
#ifdef CONFIG_TIMERFD