Page MenuHomeFreeBSD

D18536.1789631991.diff
No OneTemporary

Size
859 B
Referenced Files
None
Subscribers
None

D18536.1789631991.diff

Index: sys/dev/tws/tws_user.c
===================================================================
--- sys/dev/tws/tws_user.c
+++ sys/dev/tws/tws_user.c
@@ -92,9 +92,13 @@
struct tws_request *req;
struct tws_ioctl_no_data_buf *ubuf = (struct tws_ioctl_no_data_buf *)buf;
int error;
+ u_int32_t buffer_length;
u_int16_t lun4;
-
+ buffer_length = roundup2(ubuf->driver_pkt.buffer_length, 512);
+ if ( buffer_length > TWS_MAX_IO_SIZE ) {
+ return(EINVAL);
+ }
if ( tws_get_state(sc) != TWS_ONLINE) {
return(EBUSY);
}
@@ -118,7 +122,7 @@
}
} while(1);
- req->length = (ubuf->driver_pkt.buffer_length + 511) & ~511;
+ req->length = buffer_length;
TWS_TRACE_DEBUG(sc, "datal,rid", req->length, req->request_id);
if ( req->length ) {
req->data = sc->ioctl_data_mem;

File Metadata

Mime Type
text/plain
Expires
Thu, Sep 17, 7:59 AM (1 h, 15 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29724069
Default Alt Text
D18536.1789631991.diff (859 B)

Event Timeline