Hi, Will Thanks for your reply! There are absolutely privileged registers, and seriously expose the interface directly! However, these interfaces (/dev/cpu/<N>/msr) need permissions to access, so there should be few security issues. In addition, it may be due to my unclear description above. This driver is mainly a debugging tool. It make developers can easily get the values of some system registers without modifying the kernel. In fact, we first considered the /dev/mem solution, but it seems that /dev/mem can map peripheral or IO registers, but not system registers.
> 2020年12月1日 上午1:57,Will Deacon <w...@kernel.org> 写道: > > On Tue, Dec 01, 2020 at 01:48:30AM +0800, Rongwei Wang wrote: >> MSR ARM driver aims to provide interfacs for user to read or write data to >> all >> system registers. Its functions is same as MSR driver (x86 platform). It >> mainly >> depends on kprobe and undef exception to read or write system registers >> dynamicly. > > ... but why? These are privileged registers for a reason, and giving > userspace access to them is bound to cause serious problems. Why can't we > do whatever it is that userspace is trying to do by poking these things in > the kernel instead? This interface is a bit like using /dev/mem instead of > writing a proper device driver. > > Thanks, > > Will