*/
 
 #include <linux/types.h>
+#include <linux/sizes.h>
 #include <linux/errno.h>
 #include <linux/init.h>
 #include <linux/module.h>
 
 static DEFINE_SEMAPHORE(efivars_lock);
 
-efi_status_t check_var_size(u32 attributes, unsigned long size)
+static efi_status_t check_var_size(u32 attributes, unsigned long size)
 {
        const struct efivar_operations *fops;
 
        fops = __efivars->ops;
 
        if (!fops->query_variable_store)
-               return EFI_UNSUPPORTED;
+               return (size <= SZ_64K) ? EFI_SUCCESS : EFI_OUT_OF_RESOURCES;
 
        return fops->query_variable_store(attributes, size, false);
 }
-EXPORT_SYMBOL_NS_GPL(check_var_size, EFIVAR);
 
+static
 efi_status_t check_var_size_nonblocking(u32 attributes, unsigned long size)
 {
        const struct efivar_operations *fops;
        fops = __efivars->ops;
 
        if (!fops->query_variable_store)
-               return EFI_UNSUPPORTED;
+               return (size <= SZ_64K) ? EFI_SUCCESS : EFI_OUT_OF_RESOURCES;
 
        return fops->query_variable_store(attributes, size, true);
 }
-EXPORT_SYMBOL_NS_GPL(check_var_size_nonblocking, EFIVAR);
 
 /**
  * efivars_kobject - get the kobject for the registered efivars
 
        if (err)
                return err;
 
-       /*
-        * Ensure that the available space hasn't shrunk below the safe level
-        */
-       status = check_var_size(attributes, *size + ucs2_strsize(name, 1024));
-       if (status != EFI_SUCCESS) {
-               if (status != EFI_UNSUPPORTED) {
-                       err = efi_status_to_err(status);
-                       goto out;
-               }
-
-               if (*size > 65536) {
-                       err = -ENOSPC;
-                       goto out;
-               }
-       }
-
        status = efivar_set_variable_locked(name, vendor, attributes, *size,
                                            data, false);
        if (status != EFI_SUCCESS) {
 
 efi_status_t efivar_set_variable(efi_char16_t *name, efi_guid_t *vendor,
                                 u32 attr, unsigned long data_size, void *data);
 
-efi_status_t check_var_size(u32 attributes, unsigned long size);
-efi_status_t check_var_size_nonblocking(u32 attributes, unsigned long size);
-
 #if IS_ENABLED(CONFIG_EFI_CAPSULE_LOADER)
 extern bool efi_capsule_pending(int *reset_type);