array_index_nospec() should only be used if the upper boundary is a built time constant. Otherwise the boundary could be speculated on as well. While it might be more difficult to control two loads, it doesn't rule out the problem. Adding this to the documentation so people won't mis-use it instead of barrier_nospec(). Jordy Zomer (1): nospec: Add documentation for array_index_nospec Documentation/staging/speculation.rst | 5 +++++ include/linux/nospec.h | 5 +++++ 2 files changed, 10 insertions(+) -- 2.41.0.162.gfafddb0af9-goog