@@ -254,8 +254,8 @@ MODULE_ALIAS_FS("debugfs");
254
254
* @parent: a pointer to the parent dentry of the file.
255
255
*
256
256
* This function will return a pointer to a dentry if it succeeds. If the file
257
- * doesn't exist or an error occurs, %NULL will be returned. The returned
258
- * dentry must be passed to dput() when it is no longer needed.
257
+ * doesn't exist or an error occurs, %ERR_PTR(-ERROR) will be returned. The
258
+ * returned dentry must be passed to dput() when it is no longer needed.
259
259
*
260
260
* If debugfs is not enabled in the kernel, the value -%ENODEV will be
261
261
* returned.
@@ -265,17 +265,17 @@ struct dentry *debugfs_lookup(const char *name, struct dentry *parent)
265
265
struct dentry * dentry ;
266
266
267
267
if (IS_ERR (parent ))
268
- return NULL ;
268
+ return parent ;
269
269
270
270
if (!parent )
271
271
parent = debugfs_mount -> mnt_root ;
272
272
273
273
dentry = lookup_one_len_unlocked (name , parent , strlen (name ));
274
274
if (IS_ERR (dentry ))
275
- return NULL ;
275
+ return dentry ;
276
276
if (!d_really_is_positive (dentry )) {
277
277
dput (dentry );
278
- return NULL ;
278
+ return ERR_PTR ( - EINVAL ) ;
279
279
}
280
280
return dentry ;
281
281
}
@@ -324,7 +324,7 @@ static struct dentry *failed_creating(struct dentry *dentry)
324
324
inode_unlock (d_inode (dentry -> d_parent ));
325
325
dput (dentry );
326
326
simple_release_fs (& debugfs_mount , & debugfs_mount_count );
327
- return NULL ;
327
+ return ERR_PTR ( - ENOMEM ) ;
328
328
}
329
329
330
330
static struct dentry * end_creating (struct dentry * dentry )
@@ -347,7 +347,7 @@ static struct dentry *__debugfs_create_file(const char *name, umode_t mode,
347
347
dentry = start_creating (name , parent );
348
348
349
349
if (IS_ERR (dentry ))
350
- return NULL ;
350
+ return dentry ;
351
351
352
352
inode = debugfs_get_inode (dentry -> d_sb );
353
353
if (unlikely (!inode ))
@@ -386,7 +386,8 @@ static struct dentry *__debugfs_create_file(const char *name, umode_t mode,
386
386
* This function will return a pointer to a dentry if it succeeds. This
387
387
* pointer must be passed to the debugfs_remove() function when the file is
388
388
* to be removed (no automatic cleanup happens if your module is unloaded,
389
- * you are responsible here.) If an error occurs, %NULL will be returned.
389
+ * you are responsible here.) If an error occurs, %ERR_PTR(-ERROR) will be
390
+ * returned.
390
391
*
391
392
* If debugfs is not enabled in the kernel, the value -%ENODEV will be
392
393
* returned.
@@ -464,7 +465,8 @@ EXPORT_SYMBOL_GPL(debugfs_create_file_unsafe);
464
465
* This function will return a pointer to a dentry if it succeeds. This
465
466
* pointer must be passed to the debugfs_remove() function when the file is
466
467
* to be removed (no automatic cleanup happens if your module is unloaded,
467
- * you are responsible here.) If an error occurs, %NULL will be returned.
468
+ * you are responsible here.) If an error occurs, %ERR_PTR(-ERROR) will be
469
+ * returned.
468
470
*
469
471
* If debugfs is not enabled in the kernel, the value -%ENODEV will be
470
472
* returned.
@@ -495,7 +497,8 @@ EXPORT_SYMBOL_GPL(debugfs_create_file_size);
495
497
* This function will return a pointer to a dentry if it succeeds. This
496
498
* pointer must be passed to the debugfs_remove() function when the file is
497
499
* to be removed (no automatic cleanup happens if your module is unloaded,
498
- * you are responsible here.) If an error occurs, %NULL will be returned.
500
+ * you are responsible here.) If an error occurs, %ERR_PTR(-ERROR) will be
501
+ * returned.
499
502
*
500
503
* If debugfs is not enabled in the kernel, the value -%ENODEV will be
501
504
* returned.
@@ -506,7 +509,7 @@ struct dentry *debugfs_create_dir(const char *name, struct dentry *parent)
506
509
struct inode * inode ;
507
510
508
511
if (IS_ERR (dentry ))
509
- return NULL ;
512
+ return dentry ;
510
513
511
514
inode = debugfs_get_inode (dentry -> d_sb );
512
515
if (unlikely (!inode ))
@@ -545,7 +548,7 @@ struct dentry *debugfs_create_automount(const char *name,
545
548
struct inode * inode ;
546
549
547
550
if (IS_ERR (dentry ))
548
- return NULL ;
551
+ return dentry ;
549
552
550
553
inode = debugfs_get_inode (dentry -> d_sb );
551
554
if (unlikely (!inode ))
@@ -581,8 +584,8 @@ EXPORT_SYMBOL(debugfs_create_automount);
581
584
* This function will return a pointer to a dentry if it succeeds. This
582
585
* pointer must be passed to the debugfs_remove() function when the symbolic
583
586
* link is to be removed (no automatic cleanup happens if your module is
584
- * unloaded, you are responsible here.) If an error occurs, %NULL will be
585
- * returned.
587
+ * unloaded, you are responsible here.) If an error occurs, %ERR_PTR(-ERROR)
588
+ * will be returned.
586
589
*
587
590
* If debugfs is not enabled in the kernel, the value -%ENODEV will be
588
591
* returned.
@@ -594,12 +597,12 @@ struct dentry *debugfs_create_symlink(const char *name, struct dentry *parent,
594
597
struct inode * inode ;
595
598
char * link = kstrdup (target , GFP_KERNEL );
596
599
if (!link )
597
- return NULL ;
600
+ return ERR_PTR ( - ENOMEM ) ;
598
601
599
602
dentry = start_creating (name , parent );
600
603
if (IS_ERR (dentry )) {
601
604
kfree (link );
602
- return NULL ;
605
+ return dentry ;
603
606
}
604
607
605
608
inode = debugfs_get_inode (dentry -> d_sb );
@@ -827,7 +830,9 @@ struct dentry *debugfs_rename(struct dentry *old_dir, struct dentry *old_dentry,
827
830
if (dentry && !IS_ERR (dentry ))
828
831
dput (dentry );
829
832
unlock_rename (new_dir , old_dir );
830
- return NULL ;
833
+ if (IS_ERR (dentry ))
834
+ return dentry ;
835
+ return ERR_PTR (- EINVAL );
831
836
}
832
837
EXPORT_SYMBOL_GPL (debugfs_rename );
833
838
0 commit comments