On Mon, Jul 2, 2018 at 7:01 PM Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> wrote: > > One thing to consider is how we will implement the load of that pointer > on the kernel side. Use "get_user()". It works for 64-bit objects too, and it will be atomic in the 32-bit sub-parts on a 32-bit architecture. Again: there is no point in trying to be atomic in the full 64 bits (when you're running on 32-bit). The upper bits don't have to "match" the lower bits. They just have to be zero. So doing it as two loads is fine - the same way it's perfectly fine to do it as two stores (since the store to the upper bits will always be zero). Linus -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html