History

[SCSI] iscsi_tcp: make padbuf non-static

virt_to_page() call should not be used on kernel text and data addresses. virt_to_page() is used by sg_init_one(). So change padbuf to be allocated within iscsi_segment.

Karen Xie committed 17 years ago

Commit 28568301 parent 2f4c7822 files · +2 −2Browse files

Unified · Split

2 files
  1. drivers/scsi/libiscsi_tcp.c +1 −2
  2. include/scsi/libiscsi_tcp.h +1 −0
drivers/scsi/libiscsi_tcp.c+1−2
@@ -177,7 +177,6 @@ int iscsi_tcp_segment_done(struct iscsi_tcp_conn *tcp_conn, · 176 unmodified lines
177177 struct iscsi_segment *segment, int recv,
178178 unsigned copied)
179179 {
180− static unsigned char padbuf[ISCSI_PAD_LEN];
181180 struct scatterlist sg;
182181 unsigned int pad;
183182
@@ -233,7 +232,7 @@ int iscsi_tcp_segment_done(struct iscsi_tcp_conn *tcp_conn, · 49 unmodified lines
233232 debug_tcp("consume %d pad bytes\n", pad);
234233 segment->total_size += pad;
235234 segment->size = pad;
236− segment->data = padbuf;
235+ segment->data = segment->padbuf;
237236 return 0;
238237 }
239238 }
include/scsi/libiscsi_tcp.h+1−0
@@ -39,6 +39,7 @@ struct iscsi_segment { · 38 unmodified lines
3939 unsigned int total_copied;
4040
4141 struct hash_desc *hash;
42+ unsigned char padbuf[ISCSI_PAD_LEN];
4243 unsigned char recv_digest[ISCSI_DIGEST_SIZE];
4344 unsigned char digest[ISCSI_DIGEST_SIZE];
4445 unsigned int digest_len;