Messages in this thread | | | Date | Sun, 28 Nov 2004 20:39:34 +0100 (CET) | From | Jesper Juhl <> | Subject | Re: [PATCH][2/2] ide-tape: small cleanups - handle copy_to|from_user() failures |
| |
On Sun, 28 Nov 2004, Alan Cox wrote:
> On Sul, 2004-11-28 at 16:32, Jesper Juhl wrote: > > #endif /* IDETAPE_DEBUG_BUGS */ > > count = min((unsigned int)(bh->b_size - atomic_read(&bh->b_count)), (unsigned int)n); > > - copy_from_user(bh->b_data + atomic_read(&bh->b_count), buf, count); > > + if (copy_from_user(bh->b_data + atomic_read(&bh->b_count), buf, count)) > > + return -EFAULT; > > n -= count; > > atomic_add(count, &bh->b_count); > > buf += count; > > If you do this then you don't fix up tape->bh for further operations.
True, if copy_from_user fails it just bails out, I didn't see anything really bad that could happen from that, but I'm an idiot, looking at it again I guess it could probably mess up tape->bh pretty bad. Guess I need to go back and look at this in greater detail. Thank you for looking at it.
> Have you tested these changes including the I/O errors ? > As I noted in the [0/2] mail I don't have hardware to test these patches, so they need to be reviewed.
-- Jesper Juhl
- 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/
| |