I'll suggest a few things for you.
cd to your linux tree and 'make modules'
Look at the gcc compile string there.
Try to copy it closely.
I added -I/path/to/linux/include and -D__KERNEL__
and compiled your module with no problem.
If you had included the complete messages, we could have
seen that it was using /usr/include/linux for header files
instead of header files from linux/include/* .
(at least that's what it did on my system)
David CM Weber wrote:
> Attached is the file I"m having problems with. I'm compiling it w/
> gcc -O3 -c main.c
> Thanks in advance,
> Dave Weber
> Backbone Security, Inc.
> > -----Original Message-----
> > From: David CM Weber
> > Sent: Friday, July 20, 2001 12:45 PM
> > To: firstname.lastname@example.org
> > Subject: Simple LKM & copy_from_user question
> > Hello all. I've been lurking for a while, and I have a quick
> > question.
> > I'm in the process of writing my first LKM to mess with the
> > sys_socketcall function. I'm looking at the original one for
> > guidance,
> > and it makes a call to copy_from_user() to get some
> > socket-related data.
> > So, to use copy_from_user(), I've gathered that I need to #include
> > <asm/uaccess.h>, so I do so.
> > After including this file, I'm getting the following errors:
> > .../linux/timer.h:21: field 'vec' has incomplete type
> > .../asm/uaccess.h::63: dereferencing pointer to incomplete type
> > (This is not a full list of the error message that it's reporting)
> > Am I not setting a define correctly?
> > I'm using Redhat 7.1, on an Intel P3 system. It's the latest stable
> > release (2.4.x ??) of the kernel.
> > If you need more information, please let me know. This has been
> > troubling me for several days now..
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to email@example.com
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/