diff options
author | Dave Jones <davej@redhat.com> | 2006-12-12 17:41:41 -0500 |
---|---|---|
committer | Dave Jones <davej@redhat.com> | 2006-12-12 17:41:41 -0500 |
commit | c4366889dda8110247be59ca41fddb82951a8c26 (patch) | |
tree | 705c1a996bed8fd48ce94ff33ec9fd00f9b94875 /arch/sparc64/solaris | |
parent | db2fb9db5735cc532fd4fc55e94b9a3c3750378e (diff) | |
parent | e1036502e5263851259d147771226161e5ccc85a (diff) |
Merge ../linus
Conflicts:
drivers/cpufreq/cpufreq.c
Diffstat (limited to 'arch/sparc64/solaris')
-rw-r--r-- | arch/sparc64/solaris/fs.c | 4 | ||||
-rw-r--r-- | arch/sparc64/solaris/ioctl.c | 6 | ||||
-rw-r--r-- | arch/sparc64/solaris/misc.c | 6 | ||||
-rw-r--r-- | arch/sparc64/solaris/socksys.c | 14 | ||||
-rw-r--r-- | arch/sparc64/solaris/timod.c | 10 |
5 files changed, 19 insertions, 21 deletions
diff --git a/arch/sparc64/solaris/fs.c b/arch/sparc64/solaris/fs.c index 12a940cc791f..61be597bf430 100644 --- a/arch/sparc64/solaris/fs.c +++ b/arch/sparc64/solaris/fs.c | |||
@@ -449,7 +449,7 @@ asmlinkage int solaris_fstatvfs(unsigned int fd, u32 buf) | |||
449 | error = -EBADF; | 449 | error = -EBADF; |
450 | file = fget(fd); | 450 | file = fget(fd); |
451 | if (file) { | 451 | if (file) { |
452 | error = report_statvfs(file->f_vfsmnt, file->f_dentry->d_inode, buf); | 452 | error = report_statvfs(file->f_path.mnt, file->f_path.dentry->d_inode, buf); |
453 | fput(file); | 453 | fput(file); |
454 | } | 454 | } |
455 | 455 | ||
@@ -481,7 +481,7 @@ asmlinkage int solaris_fstatvfs64(unsigned int fd, u32 buf) | |||
481 | file = fget(fd); | 481 | file = fget(fd); |
482 | if (file) { | 482 | if (file) { |
483 | lock_kernel(); | 483 | lock_kernel(); |
484 | error = report_statvfs64(file->f_vfsmnt, file->f_dentry->d_inode, buf); | 484 | error = report_statvfs64(file->f_path.mnt, file->f_path.dentry->d_inode, buf); |
485 | unlock_kernel(); | 485 | unlock_kernel(); |
486 | fput(file); | 486 | fput(file); |
487 | } | 487 | } |
diff --git a/arch/sparc64/solaris/ioctl.c b/arch/sparc64/solaris/ioctl.c index be0a054e3ed6..330743c5b3d8 100644 --- a/arch/sparc64/solaris/ioctl.c +++ b/arch/sparc64/solaris/ioctl.c | |||
@@ -299,8 +299,8 @@ static inline int solaris_sockmod(unsigned int fd, unsigned int cmd, u32 arg) | |||
299 | rcu_read_lock(); | 299 | rcu_read_lock(); |
300 | fdt = files_fdtable(current->files); | 300 | fdt = files_fdtable(current->files); |
301 | if (! fdt->fd[fd] || | 301 | if (! fdt->fd[fd] || |
302 | ! fdt->fd[fd]->f_dentry || | 302 | ! fdt->fd[fd]->f_path.dentry || |
303 | ! (ino = fdt->fd[fd]->f_dentry->d_inode) || | 303 | ! (ino = fdt->fd[fd]->f_path.dentry->d_inode) || |
304 | ! S_ISSOCK(ino->i_mode)) { | 304 | ! S_ISSOCK(ino->i_mode)) { |
305 | rcu_read_unlock(); | 305 | rcu_read_unlock(); |
306 | return TBADF; | 306 | return TBADF; |
@@ -480,7 +480,7 @@ static inline int solaris_S(struct file *filp, unsigned int fd, unsigned int cmd | |||
480 | struct sol_socket_struct *sock; | 480 | struct sol_socket_struct *sock; |
481 | struct module_info *mi; | 481 | struct module_info *mi; |
482 | 482 | ||
483 | ino = filp->f_dentry->d_inode; | 483 | ino = filp->f_path.dentry->d_inode; |
484 | if (!S_ISSOCK(ino->i_mode)) | 484 | if (!S_ISSOCK(ino->i_mode)) |
485 | return -EBADF; | 485 | return -EBADF; |
486 | sock = filp->private_data; | 486 | sock = filp->private_data; |
diff --git a/arch/sparc64/solaris/misc.c b/arch/sparc64/solaris/misc.c index 9ed997982f8d..bca16e8c95c3 100644 --- a/arch/sparc64/solaris/misc.c +++ b/arch/sparc64/solaris/misc.c | |||
@@ -77,7 +77,7 @@ static u32 do_solaris_mmap(u32 addr, u32 len, u32 prot, u32 flags, u32 fd, u64 o | |||
77 | if (!file) | 77 | if (!file) |
78 | goto out; | 78 | goto out; |
79 | else { | 79 | else { |
80 | struct inode * inode = file->f_dentry->d_inode; | 80 | struct inode * inode = file->f_path.dentry->d_inode; |
81 | if(imajor(inode) == MEM_MAJOR && | 81 | if(imajor(inode) == MEM_MAJOR && |
82 | iminor(inode) == 5) { | 82 | iminor(inode) == 5) { |
83 | flags |= MAP_ANONYMOUS; | 83 | flags |= MAP_ANONYMOUS; |
@@ -423,9 +423,7 @@ asmlinkage int solaris_procids(int cmd, s32 pid, s32 pgid) | |||
423 | Solaris setpgrp and setsid? */ | 423 | Solaris setpgrp and setsid? */ |
424 | ret = sys_setpgid(0, 0); | 424 | ret = sys_setpgid(0, 0); |
425 | if (ret) return ret; | 425 | if (ret) return ret; |
426 | mutex_lock(&tty_mutex); | 426 | proc_clear_tty(current); |
427 | current->signal->tty = NULL; | ||
428 | mutex_unlock(&tty_mutex); | ||
429 | return process_group(current); | 427 | return process_group(current); |
430 | } | 428 | } |
431 | case 2: /* getsid */ | 429 | case 2: /* getsid */ |
diff --git a/arch/sparc64/solaris/socksys.c b/arch/sparc64/solaris/socksys.c index 7c90e41fd3be..89a4757f192f 100644 --- a/arch/sparc64/solaris/socksys.c +++ b/arch/sparc64/solaris/socksys.c | |||
@@ -96,13 +96,13 @@ static int socksys_open(struct inode * inode, struct file * filp) | |||
96 | * No shit. WTF is it supposed to do, anyway? | 96 | * No shit. WTF is it supposed to do, anyway? |
97 | * | 97 | * |
98 | * Try instead: | 98 | * Try instead: |
99 | * d_delete(filp->f_dentry), then d_instantiate with sock inode | 99 | * d_delete(filp->f_path.dentry), then d_instantiate with sock inode |
100 | */ | 100 | */ |
101 | dentry = filp->f_dentry; | 101 | dentry = filp->f_path.dentry; |
102 | filp->f_dentry = dget(fcheck(fd)->f_dentry); | 102 | filp->f_path.dentry = dget(fcheck(fd)->f_path.dentry); |
103 | filp->f_dentry->d_inode->i_rdev = inode->i_rdev; | 103 | filp->f_path.dentry->d_inode->i_rdev = inode->i_rdev; |
104 | filp->f_dentry->d_inode->i_flock = inode->i_flock; | 104 | filp->f_path.dentry->d_inode->i_flock = inode->i_flock; |
105 | SOCKET_I(filp->f_dentry->d_inode)->file = filp; | 105 | SOCKET_I(filp->f_path.dentry->d_inode)->file = filp; |
106 | filp->f_op = &socksys_file_ops; | 106 | filp->f_op = &socksys_file_ops; |
107 | sock = (struct sol_socket_struct*) | 107 | sock = (struct sol_socket_struct*) |
108 | mykmalloc(sizeof(struct sol_socket_struct), GFP_KERNEL); | 108 | mykmalloc(sizeof(struct sol_socket_struct), GFP_KERNEL); |
@@ -148,7 +148,7 @@ static unsigned int socksys_poll(struct file * filp, poll_table * wait) | |||
148 | struct inode *ino; | 148 | struct inode *ino; |
149 | unsigned int mask = 0; | 149 | unsigned int mask = 0; |
150 | 150 | ||
151 | ino=filp->f_dentry->d_inode; | 151 | ino=filp->f_path.dentry->d_inode; |
152 | if (ino && S_ISSOCK(ino->i_mode)) { | 152 | if (ino && S_ISSOCK(ino->i_mode)) { |
153 | struct sol_socket_struct *sock; | 153 | struct sol_socket_struct *sock; |
154 | sock = (struct sol_socket_struct*)filp->private_data; | 154 | sock = (struct sol_socket_struct*)filp->private_data; |
diff --git a/arch/sparc64/solaris/timod.c b/arch/sparc64/solaris/timod.c index b84e5456b025..a9d32ceabf26 100644 --- a/arch/sparc64/solaris/timod.c +++ b/arch/sparc64/solaris/timod.c | |||
@@ -147,7 +147,7 @@ static void timod_wake_socket(unsigned int fd) | |||
147 | 147 | ||
148 | SOLD("wakeing socket"); | 148 | SOLD("wakeing socket"); |
149 | fdt = files_fdtable(current->files); | 149 | fdt = files_fdtable(current->files); |
150 | sock = SOCKET_I(fdt->fd[fd]->f_dentry->d_inode); | 150 | sock = SOCKET_I(fdt->fd[fd]->f_path.dentry->d_inode); |
151 | wake_up_interruptible(&sock->wait); | 151 | wake_up_interruptible(&sock->wait); |
152 | read_lock(&sock->sk->sk_callback_lock); | 152 | read_lock(&sock->sk->sk_callback_lock); |
153 | if (sock->fasync_list && !test_bit(SOCK_ASYNC_WAITDATA, &sock->flags)) | 153 | if (sock->fasync_list && !test_bit(SOCK_ASYNC_WAITDATA, &sock->flags)) |
@@ -361,7 +361,7 @@ int timod_putmsg(unsigned int fd, char __user *ctl_buf, int ctl_len, | |||
361 | 361 | ||
362 | fdt = files_fdtable(current->files); | 362 | fdt = files_fdtable(current->files); |
363 | filp = fdt->fd[fd]; | 363 | filp = fdt->fd[fd]; |
364 | ino = filp->f_dentry->d_inode; | 364 | ino = filp->f_path.dentry->d_inode; |
365 | sock = (struct sol_socket_struct *)filp->private_data; | 365 | sock = (struct sol_socket_struct *)filp->private_data; |
366 | SOLD("entry"); | 366 | SOLD("entry"); |
367 | if (get_user(ret, (int __user *)A(ctl_buf))) | 367 | if (get_user(ret, (int __user *)A(ctl_buf))) |
@@ -644,7 +644,7 @@ int timod_getmsg(unsigned int fd, char __user *ctl_buf, int ctl_maxlen, s32 __us | |||
644 | SOLDD(("%u %p %d %p %p %d %p %d\n", fd, ctl_buf, ctl_maxlen, ctl_len, data_buf, data_maxlen, data_len, *flags_p)); | 644 | SOLDD(("%u %p %d %p %p %d %p %d\n", fd, ctl_buf, ctl_maxlen, ctl_len, data_buf, data_maxlen, data_len, *flags_p)); |
645 | fdt = files_fdtable(current->files); | 645 | fdt = files_fdtable(current->files); |
646 | filp = fdt->fd[fd]; | 646 | filp = fdt->fd[fd]; |
647 | ino = filp->f_dentry->d_inode; | 647 | ino = filp->f_path.dentry->d_inode; |
648 | sock = (struct sol_socket_struct *)filp->private_data; | 648 | sock = (struct sol_socket_struct *)filp->private_data; |
649 | SOLDD(("%p %p\n", sock->pfirst, sock->pfirst ? sock->pfirst->next : NULL)); | 649 | SOLDD(("%p %p\n", sock->pfirst, sock->pfirst ? sock->pfirst->next : NULL)); |
650 | if ( ctl_maxlen > 0 && !sock->pfirst && SOCKET_I(ino)->type == SOCK_STREAM | 650 | if ( ctl_maxlen > 0 && !sock->pfirst && SOCKET_I(ino)->type == SOCK_STREAM |
@@ -865,7 +865,7 @@ asmlinkage int solaris_getmsg(unsigned int fd, u32 arg1, u32 arg2, u32 arg3) | |||
865 | filp = fdt->fd[fd]; | 865 | filp = fdt->fd[fd]; |
866 | if(!filp) goto out; | 866 | if(!filp) goto out; |
867 | 867 | ||
868 | ino = filp->f_dentry->d_inode; | 868 | ino = filp->f_path.dentry->d_inode; |
869 | if (!ino || !S_ISSOCK(ino->i_mode)) | 869 | if (!ino || !S_ISSOCK(ino->i_mode)) |
870 | goto out; | 870 | goto out; |
871 | 871 | ||
@@ -933,7 +933,7 @@ asmlinkage int solaris_putmsg(unsigned int fd, u32 arg1, u32 arg2, u32 arg3) | |||
933 | filp = fdt->fd[fd]; | 933 | filp = fdt->fd[fd]; |
934 | if(!filp) goto out; | 934 | if(!filp) goto out; |
935 | 935 | ||
936 | ino = filp->f_dentry->d_inode; | 936 | ino = filp->f_path.dentry->d_inode; |
937 | if (!ino) goto out; | 937 | if (!ino) goto out; |
938 | 938 | ||
939 | if (!S_ISSOCK(ino->i_mode) && | 939 | if (!S_ISSOCK(ino->i_mode) && |