Yes, despite of fs pointing to wrong place. There are
functions somewhere in the kernel named put_fs and get_fs.
Using these functions you should place KERNEL_DS in fs.
And after syscall restore it, certainly. You can avoid it
if you don't pass user space pointers a paramters, IMHO.