diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index c39d745..0dcc06f 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -5361,7 +5361,7 @@ static const int libxl__xc_version_wrap(libxl__gc *gc, libxl_version_info *info,
     r = xc_version(CTX->xch, XENVER_build_id, build);
     switch (r) {
     case -EPERM:
-    case -ENODATA:
+    case -ENOENT:
     case 0:
         info->build_id = libxl__strdup(NOGC, "");
         break;
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 8cb6e9e..980b4a1 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1274,14 +1274,14 @@ static int hvm_load_cpu_xsave_states(struct domain *d, hvm_domain_context_t *h)
         printk(XENLOG_G_WARNING
                "HVM%d.%d restore: not enough data left to read xsave descriptor\n",
                d->domain_id, vcpuid);
-        return -ENODATA;
+        return -ENOENT;
     }
     if ( desc->length + sizeof (*desc) > h->size - h->cur)
     {
         printk(XENLOG_G_WARNING
                "HVM%d.%d restore: not enough data left to read %u xsave bytes\n",
                d->domain_id, vcpuid, desc->length);
-        return -ENODATA;
+        return -ENOENT;
     }
     if ( desc->length < offsetof(struct hvm_hw_cpu_xsave, save_area) +
                         XSTATE_AREA_MIN_SIZE )
@@ -1402,14 +1402,14 @@ static int hvm_load_cpu_msrs(struct domain *d, hvm_domain_context_t *h)
         printk(XENLOG_G_WARNING
                "HVM%d.%d restore: not enough data left to read MSR descriptor\n",
                d->domain_id, vcpuid);
-        return -ENODATA;
+        return -ENOENT;
     }
     if ( desc->length + sizeof (*desc) > h->size - h->cur)
     {
         printk(XENLOG_G_WARNING
                "HVM%d.%d restore: not enough data left to read %u MSR bytes\n",
                d->domain_id, vcpuid, desc->length);
-        return -ENODATA;
+        return -ENOENT;
     }
     if ( desc->length < HVM_CPU_MSR_SIZE(1) )
     {
diff --git a/xen/arch/x86/microcode_amd.c b/xen/arch/x86/microcode_amd.c
index a61c926..ca1a026 100644
--- a/xen/arch/x86/microcode_amd.c
+++ b/xen/arch/x86/microcode_amd.c
@@ -342,7 +342,7 @@ static int container_fast_forward(const void *data, size_t size_left, size_t *of
         *offset += size;
 
         if ( !size_left )
-            return -ENODATA;
+            return -ENOENT;
     }
 
     return 0;
@@ -454,7 +454,7 @@ static int cpu_request_microcode(unsigned int cpu, const void *buf,
             break;
 
         error = container_fast_forward(buf, bufsize - offset, &offset);
-        if ( error == -ENODATA )
+        if ( error == -ENOENT )
         {
             ASSERT(offset == bufsize);
             break;
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index 4e06c13..6ce76e2 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -3729,7 +3729,7 @@ int shadow_track_dirty_vram(struct domain *d,
         dirty_vram->last_dirty = NOW();
 
         /* Tell the caller that this time we could not track dirty bits. */
-        rc = -ENODATA;
+        rc = -ENOENT;
     }
     else if (dirty_vram->last_dirty == -1)
         /* still completely clean, just copy our empty bitmap */
diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 0ed86a7..9d1896e 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -204,7 +204,7 @@ int dt_property_read_string(const struct dt_device_node *np,
     if ( !pp )
         return -EINVAL;
     if ( !pp->value )
-        return -ENODATA;
+        return -ENOENT;
     if ( strnlen(pp->value, pp->length) >= pp->length )
         return -EILSEQ;
 
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index e43904e..d07114a 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -901,7 +901,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
              v == current ) /* no vcpu_pause() */
             goto getvcpucontext_out;
 
-        ret = -ENODATA;
+        ret = -ENOENT;
         if ( !v->is_initialised )
             goto getvcpucontext_out;
 
diff --git a/xen/common/version.c b/xen/common/version.c
index 0f96849..1bffb3e 100644
--- a/xen/common/version.c
+++ b/xen/common/version.c
@@ -74,7 +74,7 @@ static unsigned int build_id_len __read_mostly;
 int xen_build_id(const void **p, unsigned int *len)
 {
     if ( !build_id_len )
-        return -ENODATA;
+        return -ENOENT;
 
     *len = build_id_len;
     *p = build_id_p;
@@ -91,7 +91,7 @@ int xen_build_id_check(const Elf_Note *n, unsigned int n_sz,
 {
     /* Check if we really have a build-id. */
     if ( NT_GNU_BUILD_ID != n->type )
-        return -ENODATA;
+        return -ENOENT;
 
     if ( n_sz <= sizeof(*n) )
         return -EINVAL;
@@ -107,7 +107,7 @@ int xen_build_id_check(const Elf_Note *n, unsigned int n_sz,
 
     /* Sanity check, name should be "GNU" for ld-generated build-id. */
     if ( strncmp(ELFNOTE_NAME(n), "GNU", n->namesz) != 0 )
-        return -ENODATA;
+        return -ENOENT;
 
     if ( len )
         *len = n->descsz;
@@ -124,11 +124,11 @@ static int __init xen_build_init(void)
 
     /* --build-id invoked with wrong parameters. */
     if ( __note_gnu_build_id_end <= &n[0] )
-        return -ENODATA;
+        return -ENOENT;
 
     /* Check for full Note header. */
     if ( &n[1] > __note_gnu_build_id_end )
-        return -ENODATA;;
+        return -ENOENT;
 
     sz = (void *)__note_gnu_build_id_end - (void *)n;
 
diff --git a/xen/drivers/acpi/pmstat.c b/xen/drivers/acpi/pmstat.c
index 892260d..7ed59b0 100644
--- a/xen/drivers/acpi/pmstat.c
+++ b/xen/drivers/acpi/pmstat.c
@@ -95,7 +95,7 @@ int do_get_pm_info(struct xen_sysctl_get_pmstat *op)
         if ( !pxpt || !pxpt->u.pt || !pxpt->u.trans_pt )
         {
             spin_unlock(cpufreq_statistic_lock);
-            return -ENODATA;
+            return -ENOENT;
         }
 
         pxpt->u.usable = pmpt->perf.state_count - pmpt->perf.platform_limit;
diff --git a/xen/drivers/acpi/tables.c b/xen/drivers/acpi/tables.c
index dd2031f..685c2cd 100644
--- a/xen/drivers/acpi/tables.c
+++ b/xen/drivers/acpi/tables.c
@@ -319,7 +319,7 @@ acpi_parse_entries(char *id, unsigned long table_size,
 		if (entry->length < sizeof(*entry)) {
 			printk(KERN_ERR PREFIX "[%4.4s:%#x] Invalid length\n",
 			       id, entry_id);
-			return -ENODATA;
+			return -ENOENT;
 		}
 
 		if (entry->type == entry_id
diff --git a/xen/include/public/errno.h b/xen/include/public/errno.h
index ebb853a..070f834 100644
--- a/xen/include/public/errno.h
+++ b/xen/include/public/errno.h
@@ -93,7 +93,6 @@ XEN_ERRNO(ENAMETOOLONG,	36)	/* File name too long */
 XEN_ERRNO(ENOLCK,	37)	/* No record locks available */
 XEN_ERRNO(ENOTEMPTY,	39)	/* Directory not empty */
 XEN_ERRNO(ENOSYS,	38)	/* Function not implemented */
-XEN_ERRNO(ENODATA,	61)	/* No data available */
 XEN_ERRNO(ETIME,	62)	/* Timer expired */
 XEN_ERRNO(EBADMSG,	74)	/* Not a data message */
 XEN_ERRNO(EOVERFLOW,	75)	/* Value too large for defined data type */
