Thread (3 messages) 3 messages, 3 authors, 2012-07-23

How can I change cr0 register in redhat system

From: Ram Tummala <hidden>
Date: 2012-07-23 17:38:16

Possibly related (same subject, not in this thread)

On Jul 23, 2012, at 7:08 PM, Fan Yang [off-list ref] wrote:



2012/7/23 Ram Tummala [off-list ref]
On Jul 23, 2012, at 9:32 AM, Fan Yang [off-list ref] wrote:
quoted
hi all:
       when I change the cr0 register I get a "Segmentation fault (core
dumped)".
quoted
       my code is :


.data
.text
.global _start
_start:
        movl %eax, %cr0

      this code can work well in ubuntu system when I use root to run
it. So what can I do to work it in redhat system?

Changing a control register is a privileged operation. You can't do it
from the user space. You can only do it from ring 0.

Venkatram Tummala
quoted
     thanks

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies at kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
May be I can work it by adding a new syscall in the kernel, right?

Yes you can add a syscall in the kernel or can use procfs or sysfs but you
should fully understand the consequences. The code will never be accepted
by the kernel community. Exporting such functionality to the user space is
recipe for disaster. It would open up a simple DOS attack and that is just
a start.

Hardware Control registers are just not supposed to be handled by the user
space.

Venkatram Tummala
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120723/455da509/attachment.html 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help