lkml.org 
[lkml]   [2004]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: in cifssmb.c add copy_from_user return value check and do minor formatting/whitespace cleanups.
    On 22/12/04 00:33 +0100, Jesper Juhl wrote:
    >
    > Hi,
    >
    > Seeing this warning :
    >
    > fs/cifs/cifssmb.c:902: warning: ignoring return value of `copy_from_user', declared with attribute warn_unused_result
    >
    > lead to the following patch.
    >
    > The patch adds a check of the copy_from_user return value and returns
    > -EFAULT if the call fails. In addition to that I did some
    > formatting/whitespace changes - the code uses primarily tabs for
    > indentation, but this little bit used spaces, so I changed that to tabs; I
    > also added a few curly braces {} for a few if statements, in the same
    > area, that seemed to be becomming quite hard to read without.
    >
    > Patch has been compile tested, but I have no real way to test it properly
    > beyond that.
    > I hope the patch is acceptable and mergable :)
    >
    > Btw, I'm only subscribed to LKML, so please keep me on CC.
    >
    >
    > Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
    >
    > diff -up linux-2.6.10-rc3-bk13-orig/fs/cifs/cifssmb.c linux-2.6.10-rc3-bk13/fs/cifs/cifssmb.c
    > --- linux-2.6.10-rc3-bk13-orig/fs/cifs/cifssmb.c 2004-12-20 22:19:42.000000000 +0100
    > +++ linux-2.6.10-rc3-bk13/fs/cifs/cifssmb.c 2004-12-22 00:21:38.000000000 +0100
    > @@ -895,14 +895,19 @@ CIFSSMBWrite(const int xid, struct cifsT
    > bytes_sent = count;
    > pSMB->DataLengthHigh = 0;
    > pSMB->DataOffset =
    > - cpu_to_le16(offsetof(struct smb_com_write_req,Data) - 4);
    > - if(buf)
    > - memcpy(pSMB->Data,buf,bytes_sent);
    > - else if(ubuf)
    > - copy_from_user(pSMB->Data,ubuf,bytes_sent);
    > - else {
    > + cpu_to_le16(offsetof(struct smb_com_write_req,Data) - 4);
    > +
    > + if (buf) {
    > + memcpy(pSMB->Data,buf,bytes_sent);
    > + } else if (ubuf) {
    > + if (copy_from_user(pSMB->Data,ubuf,bytes_sent)) {
    > + if (pSMB)

    How can this be NULL, and code not Oopsing?

    > + cifs_buf_release(pSMB);
    > + return -EFAULT;
    > + }
    > + } else {
    > /* No buffer */
    > - if(pSMB)
    > + if (pSMB)

    Same here.

    > cifs_buf_release(pSMB);
    > return -EINVAL;
    > }
    >
    >
    >
    > -
    > 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/
    -
    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: 2005-03-22 14:08    [W:0.046 / U:0.228 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site