Messages in this thread | | | Date | Mon, 18 Apr 2016 09:16:50 -0700 | From | Davidlohr Bueso <> | Subject | Re: [PATCH -tip 3/3] locking/pvqspinlock: Robustify init_qspinlock_stat() |
| |
On Sun, 17 Apr 2016, Davidlohr Bueso wrote:
>diff --git a/kernel/locking/qspinlock_stat.h b/kernel/locking/qspinlock_stat.h >index 72722334237a..ddcd653c942c 100644 >--- a/kernel/locking/qspinlock_stat.h >+++ b/kernel/locking/qspinlock_stat.h >@@ -225,12 +225,18 @@ static int __init init_qspinlock_stat(void) > * performance. > */ > for (i = 0; i < qstat_num; i++) >- debugfs_create_file(qstat_names[i], 0400, d_qstat, >- (void *)(long)i, &fops_qstat); >+ if (!debugfs_create_file(qstat_names[i], 0400, d_qstat, >+ (void *)(long)i, &fops_qstat)) >+ goto fail; >+ >+ if (!debugfs_create_file(qstat_names[qstat_reset_cnts], 0200, d_qstat, >+ (void *)(long)qstat_reset_cnts, &fops_qstat)) >+ goto fail; > >- debugfs_create_file(qstat_names[qstat_reset_cnts], 0200, d_qstat, >- (void *)(long)qstat_reset_cnts, &fops_qstat); > return 0; >+fail: >+ debugfs_remove_recursive(d_qstat); >+ return 1;
Hmm actually if debugfs_create_dir() fails firstly, we still return 0, Waiman, did you mean 1 there, no?
Thanks, Davidlohr
| |