Author: jhb
Date: Thu Dec 17 20:28:53 2020
New Revision: 368738
URL: https://svnweb.freebsd.org/changeset/base/368738

Log:
  Cleanups to *ERR* compat shims.
  
  - Use [u]intptr_t casts to convert pointers to integers.
  
  - Change IS_ERR* to return bool instead of long.
  
  Reviewed by:  manu
  Obtained from:        CheriBSD
  Sponsored by: DARPA
  Differential Revision:        https://reviews.freebsd.org/D27577

Modified:
  head/sys/compat/linuxkpi/common/include/linux/err.h

Modified: head/sys/compat/linuxkpi/common/include/linux/err.h
==============================================================================
--- head/sys/compat/linuxkpi/common/include/linux/err.h Thu Dec 17 20:11:31 
2020        (r368737)
+++ head/sys/compat/linuxkpi/common/include/linux/err.h Thu Dec 17 20:28:53 
2020        (r368738)
@@ -37,30 +37,30 @@
 
 #define MAX_ERRNO      4095
 
-#define IS_ERR_VALUE(x) unlikely((x) >= (unsigned long)-MAX_ERRNO)
+#define IS_ERR_VALUE(x) unlikely((x) >= (uintptr_t)-MAX_ERRNO)
 
 static inline void *
 ERR_PTR(long error)
 {
-       return (void *)error;
+       return (void *)(intptr_t)error;
 }
 
 static inline long
 PTR_ERR(const void *ptr)
 {
-       return (long)ptr;
+       return (intptr_t)ptr;
 }
 
-static inline long
+static inline bool
 IS_ERR(const void *ptr)
 {
-       return IS_ERR_VALUE((unsigned long)ptr);
+       return IS_ERR_VALUE((uintptr_t)ptr);
 }
 
-static inline long
+static inline bool
 IS_ERR_OR_NULL(const void *ptr)
 {
-       return !ptr || IS_ERR_VALUE((unsigned long)ptr);
+       return !ptr || IS_ERR_VALUE((uintptr_t)ptr);
 }
 
 static inline void *
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to