Message ID | 20200615040212.3681503-1-yanaijie@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | f2fs: Eliminate usage of uninitialized_var() macro | expand |
On 2020/6/15 12:02, Jason Yan wrote: > This is an effort to eliminate the uninitialized_var() macro[1]. > > The use of this macro is the wrong solution because it forces off ANY > analysis by the compiler for a given variable. It even masks "unused > variable" warnings. > > Quoted from Linus[2]: > > "It's a horrible thing to use, in that it adds extra cruft to the > source code, and then shuts up a compiler warning (even the _reliable_ > warnings from gcc)." > > The gcc option "-Wmaybe-uninitialized" has been disabled and this change > will not produce any warnnings even with "make W=1". > > [1] https://github.com/KSPP/linux/issues/81 > [2] https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yVJu65TpLgN_ybYNv0VEOKA@mail.gmail.com/ > > Cc: Kees Cook <keescook@chromium.org> > Signed-off-by: Jason Yan <yanaijie@huawei.com> > --- > fs/f2fs/data.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c > index 326c63879ddc..e6ec61274d76 100644 > --- a/fs/f2fs/data.c > +++ b/fs/f2fs/data.c > @@ -2856,7 +2856,7 @@ static int f2fs_write_cache_pages(struct address_space *mapping, > }; > #endif > int nr_pages; > - pgoff_t uninitialized_var(writeback_index); > + pgoff_t writeback_index; I suggest to delete this variable directly, as we did for mm in commit 28659cc8cc87 (mm/page-writeback.c: remove unused variable). Thanks, > pgoff_t index; > pgoff_t end; /* Inclusive */ > pgoff_t done_index; >
在 2020/6/15 16:26, Chao Yu 写道: > On 2020/6/15 12:02, Jason Yan wrote: >> This is an effort to eliminate the uninitialized_var() macro[1]. >> >> The use of this macro is the wrong solution because it forces off ANY >> analysis by the compiler for a given variable. It even masks "unused >> variable" warnings. >> >> Quoted from Linus[2]: >> >> "It's a horrible thing to use, in that it adds extra cruft to the >> source code, and then shuts up a compiler warning (even the _reliable_ >> warnings from gcc)." >> >> The gcc option "-Wmaybe-uninitialized" has been disabled and this change >> will not produce any warnnings even with "make W=1". >> >> [1] https://github.com/KSPP/linux/issues/81 >> [2] https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yVJu65TpLgN_ybYNv0VEOKA@mail.gmail.com/ >> >> Cc: Kees Cook <keescook@chromium.org> >> Signed-off-by: Jason Yan <yanaijie@huawei.com> >> --- >> fs/f2fs/data.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c >> index 326c63879ddc..e6ec61274d76 100644 >> --- a/fs/f2fs/data.c >> +++ b/fs/f2fs/data.c >> @@ -2856,7 +2856,7 @@ static int f2fs_write_cache_pages(struct address_space *mapping, >> }; >> #endif >> int nr_pages; >> - pgoff_t uninitialized_var(writeback_index); >> + pgoff_t writeback_index; > > I suggest to delete this variable directly, as we did for mm in > commit 28659cc8cc87 (mm/page-writeback.c: remove unused variable). > Good suggestion, I will send v2. Thanks, Jason > Thanks, > >> pgoff_t index; >> pgoff_t end; /* Inclusive */ >> pgoff_t done_index; >> > > . >
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 326c63879ddc..e6ec61274d76 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -2856,7 +2856,7 @@ static int f2fs_write_cache_pages(struct address_space *mapping, }; #endif int nr_pages; - pgoff_t uninitialized_var(writeback_index); + pgoff_t writeback_index; pgoff_t index; pgoff_t end; /* Inclusive */ pgoff_t done_index;
This is an effort to eliminate the uninitialized_var() macro[1]. The use of this macro is the wrong solution because it forces off ANY analysis by the compiler for a given variable. It even masks "unused variable" warnings. Quoted from Linus[2]: "It's a horrible thing to use, in that it adds extra cruft to the source code, and then shuts up a compiler warning (even the _reliable_ warnings from gcc)." The gcc option "-Wmaybe-uninitialized" has been disabled and this change will not produce any warnnings even with "make W=1". [1] https://github.com/KSPP/linux/issues/81 [2] https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yVJu65TpLgN_ybYNv0VEOKA@mail.gmail.com/ Cc: Kees Cook <keescook@chromium.org> Signed-off-by: Jason Yan <yanaijie@huawei.com> --- fs/f2fs/data.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)