How to mark suspicious code?

Greg KH greg at kroah.com
Fri Nov 6 00:02:58 EST 2015


On Fri, Nov 06, 2015 at 10:28:31AM +0700, Ivan Safonov wrote:
> On 11/06/2015 08:58 AM, Greg KH wrote:
> >On Fri, Nov 06, 2015 at 08:45:46AM +0700, Ivan Safonov wrote:
> >>Hi all!
> >>
> >>How can I mark suspicious code, if I can not fix it?
> >What do you mean by "mark"?
> Leave a comment in the code, write a letter to maintainer, etc.
> What to do?
> >And also what do you mean by "suspicious"?
> This is the wrong code that needs to be corrected.
> >And why can't you fix it?
> >
> >we need more details.
> >
> >thanks,
> >
> >greg k-h
> Correction of the code will change the behavior of the program.
> For example:
> 
>     while (1) {
>         if (down_interruptible(&pcmdpriv->cmd_queue_sema))
>             break;
> 
>         if (padapter->bDriverStopped || padapter->bSurpriseRemoved) {
>             ...
>             break;
>         }
> _next:
>         if (padapter->bDriverStopped || padapter->bSurpriseRemoved) {
>             ...
>             break;
>         }
>         ...
>         if (!pcmd)
>             continue;
>         ...
>         goto _next;
>     }
>     ...
>     up(&pcmdpriv->terminate_cmdthread_sema);
> 
> Here down_interruptible(sem) in the loop but up(sem) only after the loop.
> Corrected example below:
> 
>     if (down_interruptible(&pcmdpriv->cmd_queue_sema)) {
>         ...
>     }
>     while (1) {
>         if (padapter->bDriverStopped || padapter->bSurpriseRemoved) {
>             ...
>             break;
>         }
> _next:
>         if (padapter->bDriverStopped || padapter->bSurpriseRemoved) {
>             ...
>             break;
>         }
>         ...
>         if (!pcmd)
>             continue;
>         ...
>         goto _next;
>     }
>     ...
>     }
>     up(&pcmdpriv->terminate_cmdthread_sema);
> 
> I can not test the corrected code on the device.

Make a patch, send it to the people and mailing list that
get_maintainer.pl shows and the developers will take it from there.




More information about the Kernelnewbies mailing list