Joel Fernandes <joel@xxxxxxxxxxxxxxxxx> writes: > On Tue, Apr 25, 2023 at 6:58 AM Zhouyi Zhou <zhouzhouyi@xxxxxxxxx> wrote: ... > > Out of curiosity for PPC folks, why cannot 64-bit PPC use per-task > canary? Michael, is this an optimization? Adding Christophe as well > since it came in a few years ago via the following commit: I think Christophe also answered these in his reply. We do use a per-task canary, but because we don't have "current" in a register, we can't use the value in current for GCC. In one of my replies I said a possible solution would be to keep current in a register on 64-bit, but we'd need to do that in addition to the paca, so that would consume another GPR which we'd need to think hard about. There's another reason to have it in the paca, which is that the paca is always accessible, even when the MMU is off, whereas current isn't (in some situations). In general we don't want to use stack protector in code that runs with the MMU off, but if the canary wasn't in the paca then we'd have a hard requirement to not use stack protector in that code. cheers