Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: set_fs() preemption safety? [was sys_fs() safety oops !] | Date | Sun, 4 Jul 2004 16:53:52 +0200 |
| |
On Sonntag, 4. Juli 2004 16:36, BAIN wrote: > is the following block safe to be used in preemptible kernels? > > old_fs = get_fs(); > set_fs(KERNEL_DS); > > do_your_things here; (usually call sys calls stuff from kernel space) > > set_fs(old_fs);
On most architectures, this should not be a problem, because set_fs() only modifies the state of the current task, not any actual processor registers as the name suggests.
However, on s390 the state is actually kept in cpu control register cr7 and not in the task_struct. Martin, can you comment on how this is maintained over a schedule() or if this is a real bug?
Arnd <>< [unhandled content-type:application/pgp-signature] | |