On Thu, Jan 06, 2022 at 07:44:25PM +0800, Xiong。 wrote: > Dear sir: > I want to hook mmap system call in qemu, and I use > libvirt to passthrough the environment argument like this: > <qemu:commandline> > <qemu:env name='LD_PRELOAD' value='/glibcHookMMAP.so'/> > </qemu:commandline> > But it failed. I can hardly find out what is the matter! > The log in libvirt like this:ERROR: ld.so: object > '/glibcHookMMAP.so' from LD_PRELOAD cannot be preloaded > (cannot open shared object file): ignored. Firstly, > I think it's the problem of authority. But the file > glibcHookMMAP.so has been done with command `chmod 777`. > My environment is as follows: Ubuntu 18.04.2 Linux > 5.4.0-92 libvirt 4.0.0 qemu 2.11.1 Aside from normal file permissions, the other likely problem on Ubuntu will be AppArmor policy. It likely won't allow QEMU to load files from the / directory - if you put your .so in /usr/local/lib it might work. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|