On 3/2/2016 3:37 PM, Peter Zijlstra wrote:
On Wed, Mar 02, 2016 at 03:09:31PM -0500, Chris Metcalf wrote:
+void task_isolation_debug(int cpu)
+{
+       struct task_struct *p;
+
+       if (!task_isolation_possible(cpu))
+               return;
+
+       rcu_read_lock();
+       p = cpu_curr(cpu);
+       get_task_struct(p);
As I think Oleg keeps reminding me, this is not actually a safe thing to
do.

So what's the right solution?  The fast path in task_isolation_debug_task 
basically
just uses the new "task_isolation_flags", and "pid" and "comm".  I would think 
those
would all have to be safe because of the get_task_struct().

The piece that might be problematic is the eventual call to send_sig_info() 
using the
task_struct pointer (called via task_isolation_debug_task -> 
task_isolation_interrupt).
Clearly this is safe at some level, since that's more or less what sys_kill() 
does and the
process could similarly evaporate half way through sending the signal.

Suggestions?  Thanks!

--
Chris Metcalf, Mellanox Technologies
http://www.mellanox.com

--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to