Live data from Hacker News

Task_t considered harmful

googleprojectzero.blogspot.com

11–20 of 89 posts

Re: Task_t considered harmful

#11
Copying my comment from the earlier submission that didn't gain much traction here:

What an absolutely amazing tour-de-force of a devastating design flaw in all versions of macOS and iOS and tvOS and watchOS!

The negotiations detailed in the bug report timeline about meetings between "senior apple and google leadership" for keeping this secret past the general deadline really underlines that.

Re: Task_t considered harmful

#12
post #11

Copying my comment from the earlier submission that didn't gain much traction here: What an absolutely amazing tour-de-force of a devastating design flaw in all versions of macOS and iOS and tvOS and watchOS! The negotiations detailed in the bug report timeline about meetings between "senior apple and google leadership" for keeping this secret past the general deadline really underlines that.

Yeah - the failed mitigations followed by a "long term" fix was interesting as well. Apple literally had to change execve() this late in the OS's development cycle to allocate new task and thread structs(that's two extra allocations and copies in hot path!) to fix it for good. That this design problem lingered around for so long doesn't look good for Apple - it's one thing for a use after free bug in obscure piece of code to linger but bad design affecting a ton of their own frequently used code to stand so long is somewhat brown bag category!

I wonder what other fallout we might experience from this.

Re: Task_t considered harmful

#14
post #3
post #2

Ever since installing 10.12.1, I've been having a bunch of processes randomly entering a quasi-paused SIGSTOP-ish state (neither closable, apps not "bouncing" (loading) and just not responding. Running Instruments, correlating logs and such doesn't identify any clear cause. I'm having to `sudo kill -CONT -1` in order to get things moving again. I'm wondering if it's related to XNU mitigations or just some spurious "s…

Nice use of -1 there.

Thx. For an encore:

    /* must be run as root */
    #include 
    main(){for(;;){kill(-1,SIGCONT);sleep(10);}}

and a .plist. Temporary hackaround.

Re: Task_t considered harmful

#16
post #14
post #3

Earlier quoted context omitted.

Nice use of -1 there.

Thx. For an encore: /* must be run as root */ #include main(){for(;;){kill(-1,SIGCONT);sleep(10);}} and a .plist. Temporary hackaround.

What does -1 do, send that signal to all processes?

Re: Task_t considered harmful

#18
post #14

Earlier quoted context omitted.

Thx. For an encore: /* must be run as root */ #include main(){for(;;){kill(-1,SIGCONT);sleep(10);}} and a .plist. Temporary hackaround.

What does -1 do, send that signal to all processes?

To all with a PID > -1

Re: Task_t considered harmful

#19
post #14

Earlier quoted context omitted.

Thx. For an encore: /* must be run as root */ #include main(){for(;;){kill(-1,SIGCONT);sleep(10);}} and a .plist. Temporary hackaround.

What does -1 do, send that signal to all processes?

Yup. From man kill:

    -1

    All processes with pid larger than 1 will be signaled.

Re: Task_t considered harmful

#20
post #14

Earlier quoted context omitted.

Thx. For an encore: /* must be run as root */ #include main(){for(;;){kill(-1,SIGCONT);sleep(10);}} and a .plist. Temporary hackaround.

What does -1 do, send that signal to all processes?

Yes, but not for the current process and init
Post reply on HN