Re: [PATCH 4/4] linux-user: drop conditionals for obsolete kernel header versions

2022-10-21 Thread Laurent Vivier

Le 04/10/2022 à 11:32, Daniel P. Berrangé a écrit :

Given our newly enforced 4.18 baseline for the kernel headers version,
we can drop any conditional checks for older versions.

Signed-off-by: Daniel P. Berrangé 
---
  linux-user/linux_loop.h|  4 
  linux-user/syscall.c   | 14 ++
  tests/tcg/i386/test-i386.c | 10 +++---
  3 files changed, 5 insertions(+), 23 deletions(-)

diff --git a/linux-user/linux_loop.h b/linux-user/linux_loop.h
index f80b96f1ff..5a9e0edef2 100644
--- a/linux-user/linux_loop.h
+++ b/linux-user/linux_loop.h
@@ -31,10 +31,6 @@ enum {
  #include /* for __kernel_old_dev_t */
  #include   /* for __u64 */
  
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) /* This is a guess.  */

-#define __kernel_old_dev_t __kernel_dev_t
-#endif
-
  /* Backwards compatibility version */
  struct loop_info {
intlo_number;   /* ioctl r/o */
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index f6a15df69d..377867907a 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -2540,16 +2540,12 @@ set_timeout:
  case NETLINK_DROP_MEMBERSHIP:
  case NETLINK_BROADCAST_ERROR:
  case NETLINK_NO_ENOBUFS:
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
  case NETLINK_LISTEN_ALL_NSID:
  case NETLINK_CAP_ACK:
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
  case NETLINK_EXT_ACK:
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) */
  #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
  case NETLINK_GET_STRICT_CHK:
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) */
+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) */
  break;
  default:
  goto unimplemented;
@@ -2918,16 +2914,12 @@ get_timeout:
  case NETLINK_PKTINFO:
  case NETLINK_BROADCAST_ERROR:
  case NETLINK_NO_ENOBUFS:
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
  case NETLINK_LISTEN_ALL_NSID:
  case NETLINK_CAP_ACK:
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
  case NETLINK_EXT_ACK:
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) */
  #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
  case NETLINK_GET_STRICT_CHK:
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) */
+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) */
  if (get_user_u32(len, optlen)) {
  return -TARGET_EFAULT;
  }
@@ -2944,7 +2936,6 @@ get_timeout:
  return -TARGET_EFAULT;
  }
  break;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
  case NETLINK_LIST_MEMBERSHIPS:
  {
  uint32_t *results;
@@ -2975,7 +2966,6 @@ get_timeout:
  unlock_user(results, optval_addr, 0);
  break;
  }
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) */
  default:
  goto unimplemented;
  }
diff --git a/tests/tcg/i386/test-i386.c b/tests/tcg/i386/test-i386.c
index 864c4e620d..881b45cd19 100644
--- a/tests/tcg/i386/test-i386.c
+++ b/tests/tcg/i386/test-i386.c
@@ -1224,10 +1224,6 @@ static inline int modify_ldt(int func, void * ptr, 
unsigned long bytecount)
  return syscall(__NR_modify_ldt, func, ptr, bytecount);
  }
  
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 66)

-#define modify_ldt_ldt_s user_desc
-#endif
-
  #define MK_SEL(n) (((n) << 3) | 7)
  
  uint8_t seg_data1[4096];

@@ -1265,7 +1261,7 @@ uint8_t seg_data2[4096];
  /* NOTE: we use Linux modify_ldt syscall */
  void test_segs(void)
  {
-struct modify_ldt_ldt_s ldt;
+struct user_desc ldt;
  long long ldt_table[3];
  int res, res2;
  char tmp;
@@ -1367,7 +1363,7 @@ extern char code16_func3;
  
  void test_code16(void)

  {
-struct modify_ldt_ldt_s ldt;
+struct user_desc ldt;
  int res, res2;
  
  /* build a code segment */

@@ -1774,7 +1770,7 @@ void test_exceptions(void)
  }
  
  {

-struct modify_ldt_ldt_s ldt;
+struct user_desc ldt;
  ldt.entry_number = 1;
  ldt.base_addr = (unsigned long)_data1;
  ldt.limit = (sizeof(seg_data1) + 0xfff) >> 12;


Reviewed-by: Laurent Vivier 




[PATCH 4/4] linux-user: drop conditionals for obsolete kernel header versions

2022-10-04 Thread Daniel P . Berrangé
Given our newly enforced 4.18 baseline for the kernel headers version,
we can drop any conditional checks for older versions.

Signed-off-by: Daniel P. Berrangé 
---
 linux-user/linux_loop.h|  4 
 linux-user/syscall.c   | 14 ++
 tests/tcg/i386/test-i386.c | 10 +++---
 3 files changed, 5 insertions(+), 23 deletions(-)

diff --git a/linux-user/linux_loop.h b/linux-user/linux_loop.h
index f80b96f1ff..5a9e0edef2 100644
--- a/linux-user/linux_loop.h
+++ b/linux-user/linux_loop.h
@@ -31,10 +31,6 @@ enum {
 #include/* for __kernel_old_dev_t */
 #include  /* for __u64 */
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) /* This is a guess.  */
-#define __kernel_old_dev_t __kernel_dev_t
-#endif
-
 /* Backwards compatibility version */
 struct loop_info {
intlo_number;   /* ioctl r/o */
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index f6a15df69d..377867907a 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -2540,16 +2540,12 @@ set_timeout:
 case NETLINK_DROP_MEMBERSHIP:
 case NETLINK_BROADCAST_ERROR:
 case NETLINK_NO_ENOBUFS:
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
 case NETLINK_LISTEN_ALL_NSID:
 case NETLINK_CAP_ACK:
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
 case NETLINK_EXT_ACK:
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) */
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
 case NETLINK_GET_STRICT_CHK:
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) */
+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) */
 break;
 default:
 goto unimplemented;
@@ -2918,16 +2914,12 @@ get_timeout:
 case NETLINK_PKTINFO:
 case NETLINK_BROADCAST_ERROR:
 case NETLINK_NO_ENOBUFS:
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
 case NETLINK_LISTEN_ALL_NSID:
 case NETLINK_CAP_ACK:
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
 case NETLINK_EXT_ACK:
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) */
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
 case NETLINK_GET_STRICT_CHK:
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) */
+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) */
 if (get_user_u32(len, optlen)) {
 return -TARGET_EFAULT;
 }
@@ -2944,7 +2936,6 @@ get_timeout:
 return -TARGET_EFAULT;
 }
 break;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
 case NETLINK_LIST_MEMBERSHIPS:
 {
 uint32_t *results;
@@ -2975,7 +2966,6 @@ get_timeout:
 unlock_user(results, optval_addr, 0);
 break;
 }
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) */
 default:
 goto unimplemented;
 }
diff --git a/tests/tcg/i386/test-i386.c b/tests/tcg/i386/test-i386.c
index 864c4e620d..881b45cd19 100644
--- a/tests/tcg/i386/test-i386.c
+++ b/tests/tcg/i386/test-i386.c
@@ -1224,10 +1224,6 @@ static inline int modify_ldt(int func, void * ptr, 
unsigned long bytecount)
 return syscall(__NR_modify_ldt, func, ptr, bytecount);
 }
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 66)
-#define modify_ldt_ldt_s user_desc
-#endif
-
 #define MK_SEL(n) (((n) << 3) | 7)
 
 uint8_t seg_data1[4096];
@@ -1265,7 +1261,7 @@ uint8_t seg_data2[4096];
 /* NOTE: we use Linux modify_ldt syscall */
 void test_segs(void)
 {
-struct modify_ldt_ldt_s ldt;
+struct user_desc ldt;
 long long ldt_table[3];
 int res, res2;
 char tmp;
@@ -1367,7 +1363,7 @@ extern char code16_func3;
 
 void test_code16(void)
 {
-struct modify_ldt_ldt_s ldt;
+struct user_desc ldt;
 int res, res2;
 
 /* build a code segment */
@@ -1774,7 +1770,7 @@ void test_exceptions(void)
 }
 
 {
-struct modify_ldt_ldt_s ldt;
+struct user_desc ldt;
 ldt.entry_number = 1;
 ldt.base_addr = (unsigned long)_data1;
 ldt.limit = (sizeof(seg_data1) + 0xfff) >> 12;
-- 
2.37.3