[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. Signed-off-by: Karen Xie <kxie@chelsio.com> Acked-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
Родитель
2f4c782c2e
Коммит
2856830bd3
|
@ -177,7 +177,6 @@ int iscsi_tcp_segment_done(struct iscsi_tcp_conn *tcp_conn,
|
|||
struct iscsi_segment *segment, int recv,
|
||||
unsigned copied)
|
||||
{
|
||||
static unsigned char padbuf[ISCSI_PAD_LEN];
|
||||
struct scatterlist sg;
|
||||
unsigned int pad;
|
||||
|
||||
|
@ -233,7 +232,7 @@ int iscsi_tcp_segment_done(struct iscsi_tcp_conn *tcp_conn,
|
|||
debug_tcp("consume %d pad bytes\n", pad);
|
||||
segment->total_size += pad;
|
||||
segment->size = pad;
|
||||
segment->data = padbuf;
|
||||
segment->data = segment->padbuf;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,6 +39,7 @@ struct iscsi_segment {
|
|||
unsigned int total_copied;
|
||||
|
||||
struct hash_desc *hash;
|
||||
unsigned char padbuf[ISCSI_PAD_LEN];
|
||||
unsigned char recv_digest[ISCSI_DIGEST_SIZE];
|
||||
unsigned char digest[ISCSI_DIGEST_SIZE];
|
||||
unsigned int digest_len;
|
||||
|
|
Загрузка…
Ссылка в новой задаче