Date: Wed, 14 Jul 2010 15:49:05 +0400 From: Andrey Zonov <andrey.zonov@gmail.com> To: freebsd-hackers@freebsd.org Subject: Re: How change process flags from userland? Message-ID: <AANLkTik5-O1UDrunEps0x5TAxtpnLYvAzob9Xw_nguxd@mail.gmail.com> In-Reply-To: <4C2AE37C.5060000@gmail.com> References: <4C2AE37C.5060000@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, I resolve this problem (thanks Julian Elischer for his thoughts): === int fd; int cnt; off_t off; void *p; kvm_t *kd; struct kinfo_proc *kip; struct proc *p_mmap; kd = kvm_open(NULL, _PATH_MEM, NULL, O_RDONLY, NULL); kip = kvm_getprocs(kd, KERN_PROC_PID, pid, &cnt); fd = open(_PATH_KMEM, O_RDWR, 0); off = (off_t)((uintptr_t)kip->ki_paddr); p = mmap(0, sizeof(struct proc), PROT_READ | PROT_WRITE, MAP_SHARED, fd, off); p_mmap = (struct proc *)p; p_mmap->p_flag |= P_PROTECTED; ... === I wrote daemon [1] that set P_PROTECTED flag for applications. May be it useful for someone. [1] http://zonov.pp.ru/pprotectd/pprotectd.tbz -- Andrey Zonov 2010/6/30 Andrey Zonov <andrey.zonov@gmail.com>: > Hi, > > I want to set P_PROTECTED flag for some daemons after it start, without > patching application and kernel. > It possible?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTik5-O1UDrunEps0x5TAxtpnLYvAzob9Xw_nguxd>