Messages in this thread | | | From | Linus Torvalds <> | Date | Tue, 3 Sep 2019 09:12:43 -0700 | Subject | Re: [RFC PATCH 1/3] Fix: sched: task_rcu_dereference: check probe_kernel_address return value |
| |
On Tue, Sep 3, 2019 at 9:00 AM Mathieu Desnoyers <mathieu.desnoyers@efficios.com> wrote: > > probe_kernel_address can return -EFAULT on error, which leads to use of > an uninitialized or partially initialized sighand variable.
I think this comment and this code is actively misleading.
There is no "uninitialized or partially initialized sighand variable". That's completely wrong.
The sighand variable is always completely initialized. It's just that the check for "is it initialized" is _not_ the return value from probe_kernel_address(), because that return value is simply not sufficient.
So this is just wrong. Don't do it. You're just confusing the issue, and you're making statments that aren't true in the commit message, and making the code do a pointless and odd check.
If you want to change this code for legibility, you should just add a comment above the probe_kernel_address() about why the return value is ignored, and why the check _below_ that code verifies the value of sighand with a different check.
Linus
| |