lkml.org 
[lkml]   [2016]   [Feb]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [V4.4-rc6 Regression] af_unix: Revert 'lock_interruptible' in stream receive code
    From
    Date
    On Fri, 2016-02-05 at 21:44 +0000, Rainer Weikusat wrote:
    > The present unix_stream_read_generic contains various code sequences of
    > the form
    >
    > err = -EDISASTER;
    > if (<test>)
    > goto out;
    >
    > This has the unfortunate side effect of possibly causing the error code
    > to bleed through to the final
    >
    > out:
    > return copied ? : err;
    >
    > and then to be wrongly returned if no data was copied because the caller
    > didn't supply a data buffer, as demonstrated by the program available at
    >
    > http://pad.lv/1540731
    >
    > Change it such that err is only set if an error condition was detected.


    Well, if you replace the traditional flow

    err = -XXXX;
    if (test)
    goto out;

    Then please add unlikely() to at least give a hint to the compiler.

    if (unlikely(test)) {
    err = -XXX;
    goto out;
    }

    And please add a 'Fixes: .... ' tag for bug fixes.

    Thanks.





    \
     
     \ /
      Last update: 2016-02-06 00:21    [W:6.267 / U:0.228 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site