projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'arc-v3.9-rc1-late' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
[firefly-linux-kernel-4.4.55.git]
/
ipc
/
shm.c
diff --git
a/ipc/shm.c
b/ipc/shm.c
index be3ec9ae454e5b9bf5fa0d84bacd6337d57daeaa..cb858df061d37185cf96b7dadd6fe8d5d3e2b869 100644
(file)
--- a/
ipc/shm.c
+++ b/
ipc/shm.c
@@
-193,7
+193,7
@@
static void shm_destroy(struct ipc_namespace *ns, struct shmid_kernel *shp)
if (!is_file_hugepages(shp->shm_file))
shmem_lock(shp->shm_file, 0, shp->mlock_user);
else if (shp->mlock_user)
if (!is_file_hugepages(shp->shm_file))
shmem_lock(shp->shm_file, 0, shp->mlock_user);
else if (shp->mlock_user)
- user_shm_unlock(
shp->shm_file->f_path.dentry->d_inode
->i_size,
+ user_shm_unlock(
file_inode(shp->shm_file)
->i_size,
shp->mlock_user);
fput (shp->shm_file);
security_shm_free(shp);
shp->mlock_user);
fput (shp->shm_file);
security_shm_free(shp);
@@
-529,7
+529,7
@@
static int newseg(struct ipc_namespace *ns, struct ipc_params *params)
* shmid gets reported as "inode#" in /proc/pid/maps.
* proc-ps tools use this. Changing this will break them.
*/
* shmid gets reported as "inode#" in /proc/pid/maps.
* proc-ps tools use this. Changing this will break them.
*/
- file
->f_dentry->d_inode
->i_ino = shp->shm_perm.id;
+ file
_inode(file)
->i_ino = shp->shm_perm.id;
ns->shm_tot += numpages;
error = shp->shm_perm.id;
ns->shm_tot += numpages;
error = shp->shm_perm.id;
@@
-678,7
+678,7
@@
static void shm_add_rss_swap(struct shmid_kernel *shp,
{
struct inode *inode;
{
struct inode *inode;
- inode =
shp->shm_file->f_path.dentry->d_inode
;
+ inode =
file_inode(shp->shm_file)
;
if (is_file_hugepages(shp->shm_file)) {
struct address_space *mapping = inode->i_mapping;
if (is_file_hugepages(shp->shm_file)) {
struct address_space *mapping = inode->i_mapping;
@@
-1042,7
+1042,8
@@
long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr,
is_file_hugepages(shp->shm_file) ?
&shm_file_operations_huge :
&shm_file_operations);
is_file_hugepages(shp->shm_file) ?
&shm_file_operations_huge :
&shm_file_operations);
- if (!file)
+ err = PTR_ERR(file);
+ if (IS_ERR(file))
goto out_free;
file->private_data = sfd;
goto out_free;
file->private_data = sfd;
@@
-1175,7
+1176,7
@@
SYSCALL_DEFINE1(shmdt, char __user *, shmaddr)
(vma->vm_start - addr)/PAGE_SIZE == vma->vm_pgoff) {
(vma->vm_start - addr)/PAGE_SIZE == vma->vm_pgoff) {
- size =
vma->vm_file->f_path.dentry->d_inode
->i_size;
+ size =
file_inode(vma->vm_file)
->i_size;
do_munmap(mm, vma->vm_start, vma->vm_end - vma->vm_start);
/*
* We discovered the size of the shm segment, so
do_munmap(mm, vma->vm_start, vma->vm_end - vma->vm_start);
/*
* We discovered the size of the shm segment, so