diff options
Diffstat (limited to 'Kernel/StdLib.h')
-rw-r--r-- | Kernel/StdLib.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Kernel/StdLib.h b/Kernel/StdLib.h index 129cb1d470..c00447b8b1 100644 --- a/Kernel/StdLib.h +++ b/Kernel/StdLib.h @@ -102,6 +102,26 @@ template<typename T> return copy_from_user(dest, src.unsafe_userspace_ptr(), sizeof(T)); } +#define DEPRECATE_COPY_FROM_USER_TYPE(T, REPLACEMENT) \ + template<> \ + [[nodiscard]] inline __attribute__((deprecated("use " #REPLACEMENT " instead"))) bool copy_from_user<T>(T*, const T*) \ + { \ + VERIFY_NOT_REACHED(); \ + } \ + template<> \ + [[nodiscard]] inline __attribute__((deprecated("use " #REPLACEMENT " instead"))) bool copy_from_user<T>(T*, Userspace<const T*>) \ + { \ + VERIFY_NOT_REACHED(); \ + } \ + template<> \ + [[nodiscard]] inline __attribute__((deprecated("use " #REPLACEMENT " instead"))) bool copy_from_user<T>(T*, Userspace<T*>) \ + { \ + VERIFY_NOT_REACHED(); \ + } + +DEPRECATE_COPY_FROM_USER_TYPE(timespec, copy_time_from_user) +DEPRECATE_COPY_FROM_USER_TYPE(timeval, copy_time_from_user) + template<typename T> [[nodiscard]] inline bool copy_to_user(Userspace<T*> dest, const T* src) { |