aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/hypfs/inode.c4
-rw-r--r--arch/s390/kernel/compat_linux.c28
-rw-r--r--arch/s390/kernel/topology.c5
3 files changed, 19 insertions, 18 deletions
diff --git a/arch/s390/hypfs/inode.c b/arch/s390/hypfs/inode.c
index 65e93c7ce784..9d4f8e6c0800 100644
--- a/arch/s390/hypfs/inode.c
+++ b/arch/s390/hypfs/inode.c
@@ -282,8 +282,8 @@ static int hypfs_fill_super(struct super_block *sb, void *data, int silent)
282 if (!sbi) 282 if (!sbi)
283 return -ENOMEM; 283 return -ENOMEM;
284 mutex_init(&sbi->lock); 284 mutex_init(&sbi->lock);
285 sbi->uid = current->uid; 285 sbi->uid = current_uid();
286 sbi->gid = current->gid; 286 sbi->gid = current_gid();
287 sb->s_fs_info = sbi; 287 sb->s_fs_info = sbi;
288 sb->s_blocksize = PAGE_CACHE_SIZE; 288 sb->s_blocksize = PAGE_CACHE_SIZE;
289 sb->s_blocksize_bits = PAGE_CACHE_SHIFT; 289 sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
diff --git a/arch/s390/kernel/compat_linux.c b/arch/s390/kernel/compat_linux.c
index 4646382af34f..6cc87d8c8682 100644
--- a/arch/s390/kernel/compat_linux.c
+++ b/arch/s390/kernel/compat_linux.c
@@ -148,9 +148,9 @@ asmlinkage long sys32_getresuid16(u16 __user *ruid, u16 __user *euid, u16 __user
148{ 148{
149 int retval; 149 int retval;
150 150
151 if (!(retval = put_user(high2lowuid(current->uid), ruid)) && 151 if (!(retval = put_user(high2lowuid(current->cred->uid), ruid)) &&
152 !(retval = put_user(high2lowuid(current->euid), euid))) 152 !(retval = put_user(high2lowuid(current->cred->euid), euid)))
153 retval = put_user(high2lowuid(current->suid), suid); 153 retval = put_user(high2lowuid(current->cred->suid), suid);
154 154
155 return retval; 155 return retval;
156} 156}
@@ -165,9 +165,9 @@ asmlinkage long sys32_getresgid16(u16 __user *rgid, u16 __user *egid, u16 __user
165{ 165{
166 int retval; 166 int retval;
167 167
168 if (!(retval = put_user(high2lowgid(current->gid), rgid)) && 168 if (!(retval = put_user(high2lowgid(current->cred->gid), rgid)) &&
169 !(retval = put_user(high2lowgid(current->egid), egid))) 169 !(retval = put_user(high2lowgid(current->cred->egid), egid)))
170 retval = put_user(high2lowgid(current->sgid), sgid); 170 retval = put_user(high2lowgid(current->cred->sgid), sgid);
171 171
172 return retval; 172 return retval;
173} 173}
@@ -217,20 +217,20 @@ asmlinkage long sys32_getgroups16(int gidsetsize, u16 __user *grouplist)
217 if (gidsetsize < 0) 217 if (gidsetsize < 0)
218 return -EINVAL; 218 return -EINVAL;
219 219
220 get_group_info(current->group_info); 220 get_group_info(current->cred->group_info);
221 i = current->group_info->ngroups; 221 i = current->cred->group_info->ngroups;
222 if (gidsetsize) { 222 if (gidsetsize) {
223 if (i > gidsetsize) { 223 if (i > gidsetsize) {
224 i = -EINVAL; 224 i = -EINVAL;
225 goto out; 225 goto out;
226 } 226 }
227 if (groups16_to_user(grouplist, current->group_info)) { 227 if (groups16_to_user(grouplist, current->cred->group_info)) {
228 i = -EFAULT; 228 i = -EFAULT;
229 goto out; 229 goto out;
230 } 230 }
231 } 231 }
232out: 232out:
233 put_group_info(current->group_info); 233 put_group_info(current->cred->group_info);
234 return i; 234 return i;
235} 235}
236 236
@@ -261,22 +261,22 @@ asmlinkage long sys32_setgroups16(int gidsetsize, u16 __user *grouplist)
261 261
262asmlinkage long sys32_getuid16(void) 262asmlinkage long sys32_getuid16(void)
263{ 263{
264 return high2lowuid(current->uid); 264 return high2lowuid(current->cred->uid);
265} 265}
266 266
267asmlinkage long sys32_geteuid16(void) 267asmlinkage long sys32_geteuid16(void)
268{ 268{
269 return high2lowuid(current->euid); 269 return high2lowuid(current->cred->euid);
270} 270}
271 271
272asmlinkage long sys32_getgid16(void) 272asmlinkage long sys32_getgid16(void)
273{ 273{
274 return high2lowgid(current->gid); 274 return high2lowgid(current->cred->gid);
275} 275}
276 276
277asmlinkage long sys32_getegid16(void) 277asmlinkage long sys32_getegid16(void)
278{ 278{
279 return high2lowgid(current->egid); 279 return high2lowgid(current->cred->egid);
280} 280}
281 281
282/* 282/*
diff --git a/arch/s390/kernel/topology.c b/arch/s390/kernel/topology.c
index 83579ed62933..90e9ba11eba1 100644
--- a/arch/s390/kernel/topology.c
+++ b/arch/s390/kernel/topology.c
@@ -216,7 +216,7 @@ static void update_cpu_core_map(void)
216 cpu_core_map[cpu] = cpu_coregroup_map(cpu); 216 cpu_core_map[cpu] = cpu_coregroup_map(cpu);
217} 217}
218 218
219void arch_update_cpu_topology(void) 219int arch_update_cpu_topology(void)
220{ 220{
221 struct tl_info *info = tl_info; 221 struct tl_info *info = tl_info;
222 struct sys_device *sysdev; 222 struct sys_device *sysdev;
@@ -225,7 +225,7 @@ void arch_update_cpu_topology(void)
225 if (!machine_has_topology) { 225 if (!machine_has_topology) {
226 update_cpu_core_map(); 226 update_cpu_core_map();
227 topology_update_polarization_simple(); 227 topology_update_polarization_simple();
228 return; 228 return 0;
229 } 229 }
230 stsi(info, 15, 1, 2); 230 stsi(info, 15, 1, 2);
231 tl_to_cores(info); 231 tl_to_cores(info);
@@ -234,6 +234,7 @@ void arch_update_cpu_topology(void)
234 sysdev = get_cpu_sysdev(cpu); 234 sysdev = get_cpu_sysdev(cpu);
235 kobject_uevent(&sysdev->kobj, KOBJ_CHANGE); 235 kobject_uevent(&sysdev->kobj, KOBJ_CHANGE);
236 } 236 }
237 return 1;
237} 238}
238 239
239static void topology_work_fn(struct work_struct *work) 240static void topology_work_fn(struct work_struct *work)