Re: [PATCH v4 4/8] arm64: uaccess: Add additional userspace GCS accessors
From: Catalin Marinas <catalin.marinas@arm.com>
Date: 2025-07-23 09:50:39
Also in:
linux-arm-kernel, linux-perf-users, lkml
From: Catalin Marinas <catalin.marinas@arm.com>
Date: 2025-07-23 09:50:39
Also in:
linux-arm-kernel, linux-perf-users, lkml
On Fri, Jul 18, 2025 at 11:37:36PM -0500, Jeremy Linton wrote:
+/* + * Unlike put_user_gcs() above, the use of copy_from_user() may provide + * an opening for non GCS pages to be used to source data. Therefore this + * should only be used in contexts where that is acceptable. + */
Even in user space, the GCS pages can be read with normal loads, so already usable as a data source if one wants to (not that it's of much use). So not sure the comment here is needed.
+static inline u64 load_user_gcs(unsigned long __user *addr, int *err)
Nitpick: name this get_user_gcs() for symmetry with put_user_gcs().
+{
+ unsigned long ret;
+ u64 load = 0;
+
+ gcsb_dsync();Might be worth a comment here, see the one in gcs_restore_signal().
+ ret = copy_from_user(&load, addr, sizeof(load)); + if (ret != 0) + *err = ret; + return load; +}
Otherwise the patch looks fine: Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>