I am working on a device driver for a 2.4.14 kernel.
In my standard read function I use copy_to_user(buff,&reloc,count);
buff is the buffer passed from the read function, reloc is a char, and
count is the size_t count paramenter from the read function.
as long as I pass it count it works fine, however if I replace count
with a constant 1 I get a seg fault.
if I set count=1 I get a seg fault.
and finally and weirdest of all, if I do an if(count==1) I get a seg
fault.
has anyone seen anything like this before, what could possibly be
causing this?