Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 310071
b: refs/heads/master
c: 754421c
h: refs/heads/master
i:
  310069: 5a6df52
  310067: f645dff
  310063: 25f7410
v: v3
  • Loading branch information
Al Viro committed Jun 1, 2012
1 parent 4bea61b commit 7499255
Show file tree
Hide file tree
Showing 233 changed files with 3,121 additions and 6,665 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1193755ac6328ad240ba987e6ec41d5e8baf0680
refs/heads/master: 754421c8cab1a568be844a7069fe04c1cf6391b8
3 changes: 0 additions & 3 deletions trunk/Documentation/filesystems/Locking
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ ata *);
ssize_t (*listxattr) (struct dentry *, char *, size_t);
int (*removexattr) (struct dentry *, const char *);
int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, u64 len);
void (*update_time)(struct inode *, struct timespec *, int);

locking rules:
all may block
Expand All @@ -88,8 +87,6 @@ getxattr: no
listxattr: no
removexattr: yes
fiemap: no
update_time: no

Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on
victim.
cross-directory ->rename() has (per-superblock) ->s_vfs_rename_sem.
Expand Down
4 changes: 0 additions & 4 deletions trunk/Documentation/filesystems/vfs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,6 @@ struct inode_operations {
ssize_t (*getxattr) (struct dentry *, const char *, void *, size_t);
ssize_t (*listxattr) (struct dentry *, char *, size_t);
int (*removexattr) (struct dentry *, const char *);
void (*update_time)(struct inode *, struct timespec *, int);
};

Again, all methods are called without any locks being held, unless
Expand Down Expand Up @@ -472,9 +471,6 @@ otherwise noted.
removexattr: called by the VFS to remove an extended attribute from
a file. This method is called by removexattr(2) system call.

update_time: called by the VFS to update a specific time or the i_version of
an inode. If this is not defined the VFS will update the inode itself
and call mark_inode_dirty_sync.

The Address Space Object
========================
Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/alpha/include/asm/posix_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
typedef unsigned int __kernel_ino_t;
#define __kernel_ino_t __kernel_ino_t

typedef unsigned int __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t

typedef unsigned long __kernel_sigset_t; /* at least 32 bits */

#include <asm-generic/posix_types.h>
Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/arm/include/asm/posix_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@
typedef unsigned short __kernel_mode_t;
#define __kernel_mode_t __kernel_mode_t

typedef unsigned short __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t

typedef unsigned short __kernel_ipc_pid_t;
#define __kernel_ipc_pid_t __kernel_ipc_pid_t

Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/avr32/include/asm/posix_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
typedef unsigned short __kernel_mode_t;
#define __kernel_mode_t __kernel_mode_t

typedef unsigned short __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t

typedef unsigned short __kernel_ipc_pid_t;
#define __kernel_ipc_pid_t __kernel_ipc_pid_t

Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/blackfin/include/asm/posix_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
typedef unsigned short __kernel_mode_t;
#define __kernel_mode_t __kernel_mode_t

typedef unsigned short __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t

typedef unsigned int __kernel_ipc_pid_t;
#define __kernel_ipc_pid_t __kernel_ipc_pid_t

Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/cris/include/asm/posix_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
typedef unsigned short __kernel_mode_t;
#define __kernel_mode_t __kernel_mode_t

typedef unsigned short __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t

typedef unsigned short __kernel_ipc_pid_t;
#define __kernel_ipc_pid_t __kernel_ipc_pid_t

Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/frv/include/asm/posix_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
typedef unsigned short __kernel_mode_t;
#define __kernel_mode_t __kernel_mode_t

typedef unsigned short __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t

typedef unsigned short __kernel_ipc_pid_t;
#define __kernel_ipc_pid_t __kernel_ipc_pid_t

Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/h8300/include/asm/posix_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
typedef unsigned short __kernel_mode_t;
#define __kernel_mode_t __kernel_mode_t

typedef unsigned short __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t

typedef unsigned short __kernel_ipc_pid_t;
#define __kernel_ipc_pid_t __kernel_ipc_pid_t

Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/ia64/include/asm/posix_types.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
#ifndef _ASM_IA64_POSIX_TYPES_H
#define _ASM_IA64_POSIX_TYPES_H

typedef unsigned int __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t

typedef unsigned long __kernel_sigset_t; /* at least 32 bits */

#include <asm-generic/posix_types.h>
Expand Down
10 changes: 8 additions & 2 deletions trunk/arch/ia64/kernel/perfmon.c
Original file line number Diff line number Diff line change
Expand Up @@ -604,6 +604,12 @@ pfm_unprotect_ctx_ctxsw(pfm_context_t *x, unsigned long f)
spin_unlock(&(x)->ctx_lock);
}

static inline unsigned long
pfm_get_unmapped_area(struct file *file, unsigned long addr, unsigned long len, unsigned long pgoff, unsigned long flags, unsigned long exec)
{
return get_unmapped_area(file, addr, len, pgoff, flags);
}

/* forward declaration */
static const struct dentry_operations pfmfs_dentry_operations;

Expand Down Expand Up @@ -2327,8 +2333,8 @@ pfm_smpl_buffer_alloc(struct task_struct *task, struct file *filp, pfm_context_t
down_write(&task->mm->mmap_sem);

/* find some free area in address space, must have mmap sem held */
vma->vm_start = get_unmapped_area(NULL, 0, size, 0, MAP_PRIVATE|MAP_ANONYMOUS);
if (IS_ERR_VALUE(vma->vm_start)) {
vma->vm_start = pfm_get_unmapped_area(NULL, 0, size, 0, MAP_PRIVATE|MAP_ANONYMOUS, 0);
if (vma->vm_start == 0UL) {
DPRINT(("Cannot find unmapped area for size %ld\n", size));
up_write(&task->mm->mmap_sem);
goto error;
Expand Down
19 changes: 16 additions & 3 deletions trunk/arch/ia64/kernel/sys_ia64.c
Original file line number Diff line number Diff line change
Expand Up @@ -171,9 +171,22 @@ asmlinkage unsigned long
ia64_mremap (unsigned long addr, unsigned long old_len, unsigned long new_len, unsigned long flags,
unsigned long new_addr)
{
addr = sys_mremap(addr, old_len, new_len, flags, new_addr);
if (!IS_ERR((void *) addr))
force_successful_syscall_return();
extern unsigned long do_mremap (unsigned long addr,
unsigned long old_len,
unsigned long new_len,
unsigned long flags,
unsigned long new_addr);

down_write(&current->mm->mmap_sem);
{
addr = do_mremap(addr, old_len, new_len, flags, new_addr);
}
up_write(&current->mm->mmap_sem);

if (IS_ERR((void *) addr))
return addr;

force_successful_syscall_return();
return addr;
}

Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/m32r/include/asm/posix_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
typedef unsigned short __kernel_mode_t;
#define __kernel_mode_t __kernel_mode_t

typedef unsigned short __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t

typedef unsigned short __kernel_ipc_pid_t;
#define __kernel_ipc_pid_t __kernel_ipc_pid_t

Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/m68k/include/asm/posix_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
typedef unsigned short __kernel_mode_t;
#define __kernel_mode_t __kernel_mode_t

typedef unsigned short __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t

typedef unsigned short __kernel_ipc_pid_t;
#define __kernel_ipc_pid_t __kernel_ipc_pid_t

Expand Down
5 changes: 5 additions & 0 deletions trunk/arch/mips/include/asm/posix_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@
* assume GCC is being used.
*/

#if (_MIPS_SZLONG == 64)
typedef unsigned int __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t
#endif

typedef long __kernel_daddr_t;
#define __kernel_daddr_t __kernel_daddr_t

Expand Down
6 changes: 3 additions & 3 deletions trunk/arch/mips/include/asm/stat.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ struct stat {
long st_pad1[3]; /* Reserved for network id */
ino_t st_ino;
mode_t st_mode;
__u32 st_nlink;
nlink_t st_nlink;
uid_t st_uid;
gid_t st_gid;
unsigned st_rdev;
Expand Down Expand Up @@ -55,7 +55,7 @@ struct stat64 {
unsigned long long st_ino;

mode_t st_mode;
__u32 st_nlink;
nlink_t st_nlink;

uid_t st_uid;
gid_t st_gid;
Expand Down Expand Up @@ -96,7 +96,7 @@ struct stat {
unsigned long st_ino;

mode_t st_mode;
__u32 st_nlink;
nlink_t st_nlink;

uid_t st_uid;
gid_t st_gid;
Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/mn10300/include/asm/posix_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@
typedef unsigned short __kernel_mode_t;
#define __kernel_mode_t __kernel_mode_t

typedef unsigned short __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t

typedef unsigned short __kernel_ipc_pid_t;
#define __kernel_ipc_pid_t __kernel_ipc_pid_t

Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/parisc/include/asm/posix_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
typedef unsigned short __kernel_mode_t;
#define __kernel_mode_t __kernel_mode_t

typedef unsigned short __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t

typedef unsigned short __kernel_ipc_pid_t;
#define __kernel_ipc_pid_t __kernel_ipc_pid_t

Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/parisc/include/asm/stat.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ struct stat {
unsigned int st_dev; /* dev_t is 32 bits on parisc */
ino_t st_ino; /* 32 bits */
mode_t st_mode; /* 16 bits */
unsigned short st_nlink; /* 16 bits */
nlink_t st_nlink; /* 16 bits */
unsigned short st_reserved1; /* old st_uid */
unsigned short st_reserved2; /* old st_gid */
unsigned int st_rdev;
Expand Down Expand Up @@ -42,7 +42,7 @@ struct hpux_stat64 {
unsigned int st_dev; /* dev_t is 32 bits on parisc */
ino_t st_ino; /* 32 bits */
mode_t st_mode; /* 16 bits */
unsigned short st_nlink; /* 16 bits */
nlink_t st_nlink; /* 16 bits */
unsigned short st_reserved1; /* old st_uid */
unsigned short st_reserved2; /* old st_gid */
unsigned int st_rdev;
Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/powerpc/include/asm/posix_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ typedef int __kernel_ssize_t;
typedef long __kernel_ptrdiff_t;
#define __kernel_size_t __kernel_size_t

typedef unsigned short __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t

typedef short __kernel_ipc_pid_t;
#define __kernel_ipc_pid_t __kernel_ipc_pid_t
#endif
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/powerpc/include/asm/stat.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ struct stat {
unsigned long st_dev;
ino_t st_ino;
#ifdef __powerpc64__
unsigned short st_nlink;
nlink_t st_nlink;
mode_t st_mode;
#else
mode_t st_mode;
unsigned short st_nlink;
nlink_t st_nlink;
#endif
uid_t st_uid;
gid_t st_gid;
Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/s390/include/asm/posix_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ typedef unsigned short __kernel_old_dev_t;

typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
typedef unsigned short __kernel_ipc_pid_t;
typedef unsigned short __kernel_uid_t;
typedef unsigned short __kernel_gid_t;
Expand All @@ -34,6 +35,7 @@ typedef int __kernel_ptrdiff_t;

typedef unsigned int __kernel_ino_t;
typedef unsigned int __kernel_mode_t;
typedef unsigned int __kernel_nlink_t;
typedef int __kernel_ipc_pid_t;
typedef unsigned int __kernel_uid_t;
typedef unsigned int __kernel_gid_t;
Expand All @@ -45,6 +47,7 @@ typedef unsigned long __kernel_sigset_t; /* at least 32 bits */

#define __kernel_ino_t __kernel_ino_t
#define __kernel_mode_t __kernel_mode_t
#define __kernel_nlink_t __kernel_nlink_t
#define __kernel_ipc_pid_t __kernel_ipc_pid_t
#define __kernel_uid_t __kernel_uid_t
#define __kernel_gid_t __kernel_gid_t
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/sh/include/asm/posix_types_32.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@

typedef unsigned short __kernel_mode_t;
#define __kernel_mode_t __kernel_mode_t
typedef unsigned short __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t
typedef unsigned short __kernel_ipc_pid_t;
#define __kernel_ipc_pid_t __kernel_ipc_pid_t
typedef unsigned short __kernel_uid_t;
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/sh/include/asm/posix_types_64.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@

typedef unsigned short __kernel_mode_t;
#define __kernel_mode_t __kernel_mode_t
typedef unsigned short __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t
typedef unsigned short __kernel_ipc_pid_t;
#define __kernel_ipc_pid_t __kernel_ipc_pid_t
typedef unsigned short __kernel_uid_t;
Expand Down
5 changes: 5 additions & 0 deletions trunk/arch/sparc/include/asm/posix_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@

#if defined(__sparc__) && defined(__arch64__)
/* sparc 64 bit */
typedef unsigned int __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t

typedef unsigned short __kernel_old_uid_t;
typedef unsigned short __kernel_old_gid_t;
Expand Down Expand Up @@ -36,6 +38,9 @@ typedef unsigned short __kernel_gid_t;
typedef unsigned short __kernel_mode_t;
#define __kernel_mode_t __kernel_mode_t

typedef short __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t

typedef long __kernel_daddr_t;
#define __kernel_daddr_t __kernel_daddr_t

Expand Down
11 changes: 9 additions & 2 deletions trunk/arch/sparc/kernel/sys_sparc_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -580,9 +580,16 @@ SYSCALL_DEFINE5(64_mremap, unsigned long, addr, unsigned long, old_len,
unsigned long, new_len, unsigned long, flags,
unsigned long, new_addr)
{
unsigned long ret = -EINVAL;

if (test_thread_flag(TIF_32BIT))
return -EINVAL;
return sys_mremap(addr, old_len, new_len, flags, new_addr);
goto out;

down_write(&current->mm->mmap_sem);
ret = do_mremap(addr, old_len, new_len, flags, new_addr);
up_write(&current->mm->mmap_sem);
out:
return ret;
}

/* we come to here via sys_nis_syscall so it can setup the regs argument */
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/tile/include/asm/compat.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ typedef __kernel_uid32_t __compat_gid32_t;
typedef __kernel_mode_t compat_mode_t;
typedef __kernel_dev_t compat_dev_t;
typedef __kernel_loff_t compat_loff_t;
typedef __kernel_nlink_t compat_nlink_t;
typedef __kernel_ipc_pid_t compat_ipc_pid_t;
typedef __kernel_daddr_t compat_daddr_t;
typedef __kernel_fsid_t compat_fsid_t;
Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/x86/include/asm/posix_types_32.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
typedef unsigned short __kernel_mode_t;
#define __kernel_mode_t __kernel_mode_t

typedef unsigned short __kernel_nlink_t;
#define __kernel_nlink_t __kernel_nlink_t

typedef unsigned short __kernel_ipc_pid_t;
#define __kernel_ipc_pid_t __kernel_ipc_pid_t

Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/base/soc.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ struct device *soc_device_to_device(struct soc_device *soc_dev)
return &soc_dev->dev;
}

static umode_t soc_attribute_mode(struct kobject *kobj,
static mode_t soc_attribute_mode(struct kobject *kobj,
struct attribute *attr,
int index)
{
Expand Down
Loading

0 comments on commit 7499255

Please sign in to comment.