lkml.org 
[lkml]   [2007]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] 2.6.20-rc4: force fcntl(..., FASYNC) to return -EINVAL when f_op->fasync is NULL
    Hello,

    this is a proposal fix needed to receive an error when the user requests
    'fcntl(fd, F_SETFL, FASYNC)' but lower levels are too poor to handle this.

    Dmitry

    --- .orig-2.6.20-rc4/fs/fcntl.c 2007-01-12 08:27:10.000000000 +0300
    +++ 2.6.20-rc4/fs/fcntl.c 2007-01-12 09:56:14.000000000 +0300
    @@ -236,11 +236,11 @@

    lock_kernel();
    if ((arg ^ filp->f_flags) & FASYNC) {
    - if (filp->f_op && filp->f_op->fasync) {
    + error = -EINVAL;
    + if (filp->f_op && filp->f_op->fasync)
    error = filp->f_op->fasync(fd, filp, (arg & FASYNC) != 0);
    - if (error < 0)
    - goto out;
    - }
    + if (error < 0)
    + goto out;
    }

    filp->f_flags = (arg & SETFL_MASK) | (filp->f_flags & ~SETFL_MASK);
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2007-01-12 12:01    [W:0.019 / U:0.732 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site