> > I think there is one question of Kannan unanswered: CS has attribute > > of "READ-ONLY", and DS has attribute of "READ-WRITE". And we all know > > that CS and DS point to the same address range (they have the same > > base address of 0, and same size of 4GB). So they overlap, but how can > > we still write data in DS segment? Writing to DS, so we write to CS, > > but CS is READ-ONLY, so the problem would occur, right ?? > > The read-only flag is on the descriptor, *NOT* the memory! > > You *don't* write to CS. You write to memory, that can be accessed > by CS. But you don't write to it through CS. CS does not apply. > > It's in fact the same with pages. There can be two linear addresses, > that point to the same physical address -- and each of them can have > different access permissions. what a great explaination. thank you all :-) best, AQ -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/