aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/solaris
diff options
context:
space:
mode:
authorDave Jones <davej@redhat.com>2006-12-12 17:41:41 -0500
committerDave Jones <davej@redhat.com>2006-12-12 17:41:41 -0500
commitc4366889dda8110247be59ca41fddb82951a8c26 (patch)
tree705c1a996bed8fd48ce94ff33ec9fd00f9b94875 /arch/sparc64/solaris
parentdb2fb9db5735cc532fd4fc55e94b9a3c3750378e (diff)
parente1036502e5263851259d147771226161e5ccc85a (diff)
Merge ../linus
Conflicts: drivers/cpufreq/cpufreq.c
Diffstat (limited to 'arch/sparc64/solaris')
-rw-r--r--arch/sparc64/solaris/fs.c4
-rw-r--r--arch/sparc64/solaris/ioctl.c6
-rw-r--r--arch/sparc64/solaris/misc.c6
-rw-r--r--arch/sparc64/solaris/socksys.c14
-rw-r--r--arch/sparc64/solaris/timod.c10
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) &&