summaryrefslogtreecommitdiffstats
path: root/sys/dev/snp
diff options
context:
space:
mode:
authordd <dd@FreeBSD.org>2001-11-24 15:59:46 +0000
committerdd <dd@FreeBSD.org>2001-11-24 15:59:46 +0000
commit419c6f0b7b9ee9fc42003e916b8dd3d4687aa195 (patch)
tree9b523f22cda1ff6a503ead39130f7184af34e801 /sys/dev/snp
parent65ce48703377a0df80064004e290fe94597973fb (diff)
downloadFreeBSD-src-419c6f0b7b9ee9fc42003e916b8dd3d4687aa195.zip
FreeBSD-src-419c6f0b7b9ee9fc42003e916b8dd3d4687aa195.tar.gz
Check the return value of tsleep() in snpread(). This may be
important, since our sleep is interruptable (PCATCH flag). PR: 30985 Discovered by: Vladimir Jakovenko <vovik@lucky.net> Submitted by: Valentin Nechayev <netch@segfault.kiev.ua>
Diffstat (limited to 'sys/dev/snp')
-rw-r--r--sys/dev/snp/snp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/snp/snp.c b/sys/dev/snp/snp.c
index 0b45047..8c900d8 100644
--- a/sys/dev/snp/snp.c
+++ b/sys/dev/snp/snp.c
@@ -256,7 +256,10 @@ snpread(dev, uio, flag)
if (flag & IO_NDELAY)
return (EWOULDBLOCK);
snp->snp_flags |= SNOOP_RWAIT;
- tsleep((caddr_t)snp, (PZERO + 1) | PCATCH, "snprd", 0);
+ error = tsleep((caddr_t)snp, (PZERO + 1) | PCATCH,
+ "snprd", 0);
+ if (error != 0)
+ return (error);
}
} while (snp->snp_len == 0);
OpenPOWER on IntegriCloud