Exceptions and copy_user stuff.

David Woodhouse (dwmw2@cam.ac.uk)
Tue, 04 Nov 1997 03:16:44 +0000


What's changed between 2.1.59-vger and 2.1.62 regarding the above?

Specifically, why the does following code, when run under 2.1.62, give lots of
"Ugh at c0130907" (in sys_dup2 apparently) messages before locking the machine
completely?
The code works perfectly in 2.1.59-vger, and used to work in the real 2.1
series the last time I was using them (about 2.1.4x I think).

#ifndef VGER
static ssize_t mono_write(struct file * file, const char * buf, size_t count,
lo
ff_t *ppos)
#else
static long mono_write(struct inode * inode, struct file * file, const char *
bu
f, unsigned long count)
#endif
{
int i;
const char *temp = buf;
char c;

for (i=0; i<count; i++)
{
#ifdef KERNEL21
get_user(c,temp++);
#else
c = get_fs_byte(temp++);
#endif
mono_write_char(c);
}
return count;
}

I was attempting to return to the fold, but it doesn't work, so I'm staying
with the CVS snapshot for now.