On Tue, Jun 01, 2021 at 11:23:07PM +0300, Dan Carpenter wrote:
The problem is not the Sparse warning, the problem is that this code is
a mess. It used to very clearly buggy and I reported the bug. I think
Arnd found the bug again independently and fixed it.
A couple weeks ago Al Viro looked at this code. Here is his write up:
https://www.spinics.net/lists/kernel/msg3952745.html
It shouldn't take Al Viro dozens of pages of detailed analysis to try
figure out if the code is safe or not. Your idea silences the warning
but would make the code even more subtle and complicated.
The right thing to do is to re-write the code to be simpler.
regards,
dan carpenter
Thank you for the prompt reply and the link, it was very insightful. You
are right, I was definitely going about this the wrong way and missing
the larger picture. I'll spend some time trying to understand this
codebase as I think that'd be a good start to understand how stuff works in
the kernel (even though some of the things in this driver are anti patterns)
and hopefully get some ideas on ways to clean this up.
Anyways, thanks again for the help, cheers!
Ojaswin