Hi,
I met a program error when I tried to modify UML kernel. What I did was:
1. added a variable "a" in struct task_struct.
2. I wrote a function that will update the value of "a" in task struct
"current", i.e.,
something like:
foo () {
current->a = xx.
}
3. foo is called at many places.
Now, when I run the kernel, it goes to kernal panic in "start_userspace",
and it
shows error message
"panic - not syncing: start_userspace : expected SIGSTOP, got status = 2943"
I checked the value of status. It means a segv signal. My guess is
foo () was probably called in user address space and since it caused segv
because
it tried to access UML kernel address space. My question is, if it is
possible
such thing happened, i.e., some code in UML kernel may be executed in user
address
space? If not, what could be the cause for such error? The strange thing is,
if I just read value of "a" from "current", kernel runs fine.
Thanks
Haifeng
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
User-mode-linux-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel