diff options
author | Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | 2019-12-20 15:33:18 -0500 |
---|---|---|
committer | Shuah Khan <skhan@linuxfoundation.org> | 2019-12-23 10:52:41 -0700 |
commit | 2a1f40adfb54ca65dc4c93bad444dd23b800a76e (patch) | |
tree | 284abbc081e5c549f99e3a1cec4eec74549ef8d5 /kernel/hung_task.c | |
parent | 8df34c56321479bfa1ec732c675b686c2b4df412 (diff) | |
download | linux-2a1f40adfb54ca65dc4c93bad444dd23b800a76e.tar.bz2 |
rseq/selftests: Clarify rseq_prepare_unload() helper requirements
The rseq.h UAPI now documents that the rseq_cs field must be cleared
before reclaiming memory that contains the targeted struct rseq_cs, but
also that the rseq_cs field must be cleared before reclaiming memory of
the code pointed to by the rseq_cs start_ip and post_commit_offset
fields.
While we can expect that use of dlclose(3) will typically unmap
both struct rseq_cs and its associated code at once, nothing would
theoretically prevent a JIT from reclaiming the code without
reclaiming the struct rseq_cs, which would erroneously allow the
kernel to consider new code which is not a rseq critical section
as a rseq critical section following a code reclaim.
Suggested-by: Florian Weimer <fw@deneb.enyo.de>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Shuah Khan <skhan@linuxfoundation.org>
Cc: Florian Weimer <fw@deneb.enyo.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: "Paul E. McKenney" <paulmck@linux.ibm.com>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: "H . Peter Anvin" <hpa@zytor.com>
Cc: Paul Turner <pjt@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Diffstat (limited to 'kernel/hung_task.c')
0 files changed, 0 insertions, 0 deletions