Re: Broken suspend-resume (suspend to RAM) with enabled INVARIANTS on 11-CURRENT - with workaround

From: Oliver Pinter <oliver.pinter_at_hardenedbsd.org>
Date: Sun, 7 Feb 2016 22:59:48 +0100
On 2/6/16, Konstantin Belousov <kostikbel_at_gmail.com> wrote:
> On Fri, Feb 05, 2016 at 07:34:02PM +0100, Oliver Pinter wrote:
>> Not yet tested, but possible fix:
>>
>> diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c
>> index cb952da..25bae84 100644
>> --- a/sys/kern/init_main.c
>> +++ b/sys/kern/init_main.c
>> _at__at_ -482,7 +482,7 _at__at_ proc0_init(void *dummy __unused)
>>         session0.s_leader = p;
>>
>>         p->p_sysent = &null_sysvec;
>> -       p->p_flag = P_SYSTEM | P_INMEM;
>> +       p->p_flag = P_SYSTEM | P_INMEM | P_KTHREAD;
>>         p->p_flag2 = 0;
>>         p->p_state = PRS_NORMAL;
> So did you tested this ?  Did you do an audit to see whether P_KTHREAD
> other usages possibly conflict with the proc0 specifics ?

Tested and working as expected.
Other uses would not conflict, since the codes already checks for
P_SYSTEM and the P_KTHREAD flag is almost kern_kthread.c's "private"
flag.

And this change probably fixes one issue with hwpmc too, in the kernel case:

--
dev/hwpmc/hwpmc_mod.c-
dev/hwpmc/hwpmc_mod.c-  /* issue an attach event to a configured log file */
dev/hwpmc/hwpmc_mod.c-  if (pm->pm_owner->po_flags & PMC_PO_OWNS_LOGFILE) {
dev/hwpmc/hwpmc_mod.c:          if (p->p_flag & P_KTHREAD) {
dev/hwpmc/hwpmc_mod.c-                  fullpath = kernelname;
dev/hwpmc/hwpmc_mod.c-                  freepath = NULL;
dev/hwpmc/hwpmc_mod.c-          } else {
dev/hwpmc/hwpmc_mod.c-                  pmc_getfilename(p->p_textvp,
&fullpath, &freepath);
dev/hwpmc/hwpmc_mod.c-                  pmclog_process_pmcattach(pm,
p->p_pid, fullpath);
dev/hwpmc/hwpmc_mod.c-          }


If you want to commit this change, then please add this line: "This
work was sponsored by HardenedBSD."

>
>>  #ifdef PAX
>
Received on Sun Feb 07 2016 - 20:59:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:02 UTC