@@ -226,26 +226,18 @@ bool efivarfs_variable_is_present(efi_char16_t *variable_name,
226
226
return dentry != NULL ;
227
227
}
228
228
229
- static int efivarfs_callback (efi_char16_t * name16 , efi_guid_t vendor ,
230
- unsigned long name_size , void * data )
229
+ static int efivarfs_create_dentry (struct super_block * sb , efi_char16_t * name16 ,
230
+ unsigned long name_size , efi_guid_t vendor ,
231
+ char * name )
231
232
{
232
- struct super_block * sb = (struct super_block * )data ;
233
233
struct efivar_entry * entry ;
234
- struct inode * inode = NULL ;
234
+ struct inode * inode ;
235
235
struct dentry * dentry , * root = sb -> s_root ;
236
236
unsigned long size = 0 ;
237
- char * name ;
238
237
int len ;
239
238
int err = - ENOMEM ;
240
239
bool is_removable = false;
241
240
242
- if (guid_equal (& vendor , & LINUX_EFI_RANDOM_SEED_TABLE_GUID ))
243
- return 0 ;
244
-
245
- name = efivar_get_utf8name (name16 , & vendor );
246
- if (!name )
247
- return err ;
248
-
249
241
/* length of the variable name itself: remove GUID and separator */
250
242
len = strlen (name ) - EFI_VARIABLE_GUID_LEN - 1 ;
251
243
@@ -289,6 +281,22 @@ static int efivarfs_callback(efi_char16_t *name16, efi_guid_t vendor,
289
281
return err ;
290
282
}
291
283
284
+ static int efivarfs_callback (efi_char16_t * name16 , efi_guid_t vendor ,
285
+ unsigned long name_size , void * data )
286
+ {
287
+ struct super_block * sb = (struct super_block * )data ;
288
+ char * name ;
289
+
290
+ if (guid_equal (& vendor , & LINUX_EFI_RANDOM_SEED_TABLE_GUID ))
291
+ return 0 ;
292
+
293
+ name = efivar_get_utf8name (name16 , & vendor );
294
+ if (!name )
295
+ return - ENOMEM ;
296
+
297
+ return efivarfs_create_dentry (sb , name16 , name_size , vendor , name );
298
+ }
299
+
292
300
enum {
293
301
Opt_uid , Opt_gid ,
294
302
};
0 commit comments