rpms/kernel/devel kernel-2.6.spec, 1.2655, 1.2656 linux-2.6-iscsi-update-to-2-6-19-rc1.upstream.patch, 1.1, 1.2
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Fri Sep 15 20:02:19 UTC 2006
Author: mchristi
Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv28753
Modified Files:
kernel-2.6.spec
linux-2.6-iscsi-update-to-2-6-19-rc1.upstream.patch
Log Message:
update iscsi 2.6.19 patch to fix slab corruption when qla4xxx runs but iscsid is not running
Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.2655
retrieving revision 1.2656
diff -u -r1.2655 -r1.2656
--- kernel-2.6.spec 15 Sep 2006 12:32:45 -0000 1.2655
+++ kernel-2.6.spec 15 Sep 2006 20:02:16 -0000 1.2656
@@ -1892,6 +1892,9 @@
%endif
%changelog
+* Fri Sep 15 2006 Mike Christie <mchristie at redhat.com>
+- fix slab corruption when starting qla4xxx with iscsid not started.
+
* Thu Sep 14 2006 Don Zickus <dzickus at redhat.com>
- add include/asm-x86_64/const.h to exported header file list
used by the x86 relocatable patch (inside include/asm-x86_64/page.h)
linux-2.6-iscsi-update-to-2-6-19-rc1.upstream.patch:
drivers/infiniband/ulp/iser/iscsi_iser.c | 18
drivers/infiniband/ulp/iser/iscsi_iser.h | 1
drivers/scsi/iscsi_tcp.c | 776 +++++++++++--------------------
drivers/scsi/iscsi_tcp.h | 40 -
drivers/scsi/libiscsi.c | 144 ++++-
drivers/scsi/scsi_transport_iscsi.c | 248 ---------
include/scsi/libiscsi.h | 6
include/scsi/scsi_transport_iscsi.h | 4
8 files changed, 456 insertions(+), 781 deletions(-)
Index: linux-2.6-iscsi-update-to-2-6-19-rc1.upstream.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-iscsi-update-to-2-6-19-rc1.upstream.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-iscsi-update-to-2-6-19-rc1.upstream.patch 5 Sep 2006 21:24:43 -0000 1.1
+++ linux-2.6-iscsi-update-to-2-6-19-rc1.upstream.patch 15 Sep 2006 20:02:17 -0000 1.2
@@ -1,10 +1,9 @@
This update did not make it into 2.6.18. It is in the scsi maintainer's
tree for 2.6.19-rc1 when that window opens.
-
-diff -aurp linux-2.6.17.noarch/drivers/infiniband/ulp/iser/iscsi_iser.c linux-2.6.17.noarch.work/drivers/infiniband/ulp/iser/iscsi_iser.c
---- linux-2.6.17.noarch/drivers/infiniband/ulp/iser/iscsi_iser.c 2006-09-01 05:08:20.000000000 -0500
-+++ linux-2.6.17.noarch.work/drivers/infiniband/ulp/iser/iscsi_iser.c 2006-09-01 05:10:11.000000000 -0500
+diff -aurp linux-2.6.17.noarch/drivers/infiniband/ulp/iser/iscsi_iser.c linux-2.6.17.noarch.update/drivers/infiniband/ulp/iser/iscsi_iser.c
+--- linux-2.6.17.noarch/drivers/infiniband/ulp/iser/iscsi_iser.c 2006-09-15 13:28:25.000000000 -0500
++++ linux-2.6.17.noarch.update/drivers/infiniband/ulp/iser/iscsi_iser.c 2006-09-15 13:28:15.000000000 -0500
@@ -141,18 +141,11 @@ iscsi_iser_cmd_init(struct iscsi_cmd_tas
if (sc->sc_data_direction == DMA_TO_DEVICE) {
@@ -42,9 +41,9 @@
debug_scsi("Sending data-out: itt 0x%x, data count %d\n",
hdr.itt, ctask->data_count);
-diff -aurp linux-2.6.17.noarch/drivers/infiniband/ulp/iser/iscsi_iser.h linux-2.6.17.noarch.work/drivers/infiniband/ulp/iser/iscsi_iser.h
---- linux-2.6.17.noarch/drivers/infiniband/ulp/iser/iscsi_iser.h 2006-09-01 05:08:20.000000000 -0500
-+++ linux-2.6.17.noarch.work/drivers/infiniband/ulp/iser/iscsi_iser.h 2006-09-01 05:10:11.000000000 -0500
+diff -aurp linux-2.6.17.noarch/drivers/infiniband/ulp/iser/iscsi_iser.h linux-2.6.17.noarch.update/drivers/infiniband/ulp/iser/iscsi_iser.h
+--- linux-2.6.17.noarch/drivers/infiniband/ulp/iser/iscsi_iser.h 2006-09-15 13:28:25.000000000 -0500
++++ linux-2.6.17.noarch.update/drivers/infiniband/ulp/iser/iscsi_iser.h 2006-09-15 13:28:15.000000000 -0500
@@ -257,7 +257,6 @@ struct iscsi_iser_conn {
struct iscsi_iser_cmd_task {
struct iser_desc desc;
@@ -53,9 +52,9 @@
enum iser_task_status status;
int command_sent; /* set if command sent */
int dir[ISER_DIRS_NUM]; /* set if dir use*/
-diff -aurp linux-2.6.17.noarch/drivers/scsi/iscsi_tcp.c linux-2.6.17.noarch.work/drivers/scsi/iscsi_tcp.c
---- linux-2.6.17.noarch/drivers/scsi/iscsi_tcp.c 2006-09-01 05:08:21.000000000 -0500
-+++ linux-2.6.17.noarch.work/drivers/scsi/iscsi_tcp.c 2006-09-01 05:10:11.000000000 -0500
+diff -aurp linux-2.6.17.noarch/drivers/scsi/iscsi_tcp.c linux-2.6.17.noarch.update/drivers/scsi/iscsi_tcp.c
+--- linux-2.6.17.noarch/drivers/scsi/iscsi_tcp.c 2006-09-15 13:28:25.000000000 -0500
++++ linux-2.6.17.noarch.update/drivers/scsi/iscsi_tcp.c 2006-09-15 13:28:15.000000000 -0500
@@ -109,7 +109,7 @@ iscsi_hdr_digest(struct iscsi_conn *conn
struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
@@ -1178,9 +1177,9 @@
tcp_conn->sendpage = conn->datadgst_en ?
sock_no_sendpage : tcp_conn->sock->ops->sendpage;
break;
-diff -aurp linux-2.6.17.noarch/drivers/scsi/iscsi_tcp.h linux-2.6.17.noarch.work/drivers/scsi/iscsi_tcp.h
---- linux-2.6.17.noarch/drivers/scsi/iscsi_tcp.h 2006-09-01 05:08:21.000000000 -0500
-+++ linux-2.6.17.noarch.work/drivers/scsi/iscsi_tcp.h 2006-09-01 05:10:11.000000000 -0500
+diff -aurp linux-2.6.17.noarch/drivers/scsi/iscsi_tcp.h linux-2.6.17.noarch.update/drivers/scsi/iscsi_tcp.h
+--- linux-2.6.17.noarch/drivers/scsi/iscsi_tcp.h 2006-09-15 13:28:25.000000000 -0500
++++ linux-2.6.17.noarch.update/drivers/scsi/iscsi_tcp.h 2006-09-15 13:28:15.000000000 -0500
@@ -31,23 +31,21 @@
#define IN_PROGRESS_DDIGEST_RECV 0x3
@@ -1261,9 +1260,9 @@
};
#endif /* ISCSI_H */
-diff -aurp linux-2.6.17.noarch/drivers/scsi/libiscsi.c linux-2.6.17.noarch.work/drivers/scsi/libiscsi.c
---- linux-2.6.17.noarch/drivers/scsi/libiscsi.c 2006-09-01 05:08:22.000000000 -0500
-+++ linux-2.6.17.noarch.work/drivers/scsi/libiscsi.c 2006-09-01 05:10:11.000000000 -0500
+diff -aurp linux-2.6.17.noarch/drivers/scsi/libiscsi.c linux-2.6.17.noarch.update/drivers/scsi/libiscsi.c
+--- linux-2.6.17.noarch/drivers/scsi/libiscsi.c 2006-09-15 13:28:25.000000000 -0500
++++ linux-2.6.17.noarch.update/drivers/scsi/libiscsi.c 2006-09-15 13:28:15.000000000 -0500
@@ -68,8 +68,7 @@ iscsi_check_assign_cmdsn(struct iscsi_se
EXPORT_SYMBOL_GPL(iscsi_check_assign_cmdsn);
@@ -1591,9 +1590,9 @@
spin_lock_bh(&session->lock);
conn->c_stage = ISCSI_CONN_STARTED;
session->state = ISCSI_STATE_LOGGED_IN;
-diff -aurp linux-2.6.17.noarch/drivers/scsi/scsi_transport_iscsi.c linux-2.6.17.noarch.work/drivers/scsi/scsi_transport_iscsi.c
---- linux-2.6.17.noarch/drivers/scsi/scsi_transport_iscsi.c 2006-09-01 05:08:22.000000000 -0500
-+++ linux-2.6.17.noarch.work/drivers/scsi/scsi_transport_iscsi.c 2006-09-01 05:10:30.000000000 -0500
+diff -aurp linux-2.6.17.noarch/drivers/scsi/scsi_transport_iscsi.c linux-2.6.17.noarch.update/drivers/scsi/scsi_transport_iscsi.c
+--- linux-2.6.17.noarch/drivers/scsi/scsi_transport_iscsi.c 2006-09-15 13:28:25.000000000 -0500
++++ linux-2.6.17.noarch.update/drivers/scsi/scsi_transport_iscsi.c 2006-09-15 13:28:19.000000000 -0500
@@ -21,7 +21,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
@@ -1757,7 +1756,7 @@
free_conn:
kfree(conn);
return NULL;
-@@ -599,81 +496,33 @@ iscsi_if_transport_lookup(struct iscsi_t
+@@ -599,81 +496,31 @@ iscsi_if_transport_lookup(struct iscsi_t
return NULL;
}
@@ -1807,7 +1806,6 @@
rc = netlink_broadcast(nls, skb, 0, 1, gfp);
if (rc < 0) {
- mempool_free(skb, zone->pool);
-+ kfree_skb(skb);
printk(KERN_ERR "iscsi: can not broadcast skb (%d)\n", rc);
return rc;
}
@@ -1830,7 +1828,6 @@
rc = netlink_unicast(nls, skb, pid, MSG_DONTWAIT);
if (rc < 0) {
- mempool_free(skb, zone->pool);
-+ kfree_skb(skb);
printk(KERN_ERR "iscsi: can not unicast skb (%d)\n", rc);
return rc;
}
@@ -1843,7 +1840,7 @@
return 0;
}
-@@ -692,9 +541,7 @@ int iscsi_recv_pdu(struct iscsi_cls_conn
+@@ -692,9 +539,7 @@ int iscsi_recv_pdu(struct iscsi_cls_conn
if (!priv)
return -EINVAL;
@@ -1854,7 +1851,7 @@
if (!skb) {
iscsi_conn_error(conn, ISCSI_ERR_CONN_FAILED);
dev_printk(KERN_ERR, &conn->dev, "iscsi: can not deliver "
-@@ -707,15 +554,13 @@ int iscsi_recv_pdu(struct iscsi_cls_conn
+@@ -707,15 +552,13 @@ int iscsi_recv_pdu(struct iscsi_cls_conn
memset(ev, 0, sizeof(*ev));
ev->transport_handle = iscsi_handle(conn->transport);
ev->type = ISCSI_KEVENT_RECV_PDU;
@@ -1871,7 +1868,7 @@
}
EXPORT_SYMBOL_GPL(iscsi_recv_pdu);
-@@ -731,9 +576,7 @@ void iscsi_conn_error(struct iscsi_cls_c
+@@ -731,9 +574,7 @@ void iscsi_conn_error(struct iscsi_cls_c
if (!priv)
return;
@@ -1882,7 +1879,7 @@
if (!skb) {
dev_printk(KERN_ERR, &conn->dev, "iscsi: gracefully ignored "
"conn error (%d)\n", error);
-@@ -744,13 +587,11 @@ void iscsi_conn_error(struct iscsi_cls_c
+@@ -744,13 +585,11 @@ void iscsi_conn_error(struct iscsi_cls_c
ev = NLMSG_DATA(nlh);
ev->transport_handle = iscsi_handle(conn->transport);
ev->type = ISCSI_KEVENT_CONN_ERROR;
@@ -1897,7 +1894,7 @@
dev_printk(KERN_INFO, &conn->dev, "iscsi: detected conn error (%d)\n",
error);
-@@ -767,9 +608,7 @@ iscsi_if_send_reply(int pid, int seq, in
+@@ -767,9 +606,7 @@ iscsi_if_send_reply(int pid, int seq, in
int flags = multi ? NLM_F_MULTI : 0;
int t = done ? NLMSG_DONE : type;
@@ -1908,7 +1905,7 @@
/*
* FIXME:
* user is supposed to react on iferror == -ENOMEM;
-@@ -780,7 +619,7 @@ iscsi_if_send_reply(int pid, int seq, in
+@@ -780,7 +617,7 @@ iscsi_if_send_reply(int pid, int seq, in
nlh = __nlmsg_put(skb, pid, seq, t, (len - sizeof(*nlh)), 0);
nlh->nlmsg_flags = flags;
memcpy(NLMSG_DATA(nlh), payload, size);
@@ -1917,7 +1914,7 @@
}
static int
-@@ -810,9 +649,7 @@ iscsi_if_get_stats(struct iscsi_transpor
+@@ -810,9 +647,7 @@ iscsi_if_get_stats(struct iscsi_transpor
do {
int actual_size;
@@ -1928,7 +1925,7 @@
if (!skbstat) {
dev_printk(KERN_ERR, &conn->dev, "iscsi: can not "
"deliver stats: OOM\n");
-@@ -825,8 +662,6 @@ iscsi_if_get_stats(struct iscsi_transpor
+@@ -825,8 +660,6 @@ iscsi_if_get_stats(struct iscsi_transpor
memset(evstat, 0, sizeof(*evstat));
evstat->transport_handle = iscsi_handle(conn->transport);
evstat->type = nlh->nlmsg_type;
@@ -1937,7 +1934,7 @@
evstat->u.get_stats.cid =
ev->u.get_stats.cid;
evstat->u.get_stats.sid =
-@@ -845,7 +680,7 @@ iscsi_if_get_stats(struct iscsi_transpor
+@@ -845,7 +678,7 @@ iscsi_if_get_stats(struct iscsi_transpor
skb_trim(skbstat, NLMSG_ALIGN(actual_size));
nlhstat->nlmsg_len = actual_size;
@@ -1946,7 +1943,7 @@
} while (err < 0 && err != -ECONNREFUSED);
return err;
-@@ -876,9 +711,7 @@ int iscsi_if_destroy_session_done(struct
+@@ -876,9 +709,7 @@ int iscsi_if_destroy_session_done(struct
session = iscsi_dev_to_session(conn->dev.parent);
shost = iscsi_session_to_shost(session);
@@ -1957,7 +1954,7 @@
if (!skb) {
dev_printk(KERN_ERR, &conn->dev, "Cannot notify userspace of "
"session creation event\n");
-@@ -896,7 +729,7 @@ int iscsi_if_destroy_session_done(struct
+@@ -896,7 +727,7 @@ int iscsi_if_destroy_session_done(struct
* this will occur if the daemon is not up, so we just warn
* the user and when the daemon is restarted it will handle it
*/
@@ -1966,7 +1963,7 @@
if (rc < 0)
dev_printk(KERN_ERR, &conn->dev, "Cannot notify userspace of "
"session destruction event. Check iscsi daemon\n");
-@@ -939,9 +772,7 @@ int iscsi_if_create_session_done(struct
+@@ -939,9 +770,7 @@ int iscsi_if_create_session_done(struct
session = iscsi_dev_to_session(conn->dev.parent);
shost = iscsi_session_to_shost(session);
@@ -1977,7 +1974,7 @@
if (!skb) {
dev_printk(KERN_ERR, &conn->dev, "Cannot notify userspace of "
"session creation event\n");
-@@ -959,7 +790,7 @@ int iscsi_if_create_session_done(struct
+@@ -959,7 +788,7 @@ int iscsi_if_create_session_done(struct
* this will occur if the daemon is not up, so we just warn
* the user and when the daemon is restarted it will handle it
*/
@@ -1986,7 +1983,7 @@
if (rc < 0)
dev_printk(KERN_ERR, &conn->dev, "Cannot notify userspace of "
"session creation event. Check iscsi daemon\n");
-@@ -1278,9 +1109,6 @@ iscsi_if_rx(struct sock *sk, int len)
+@@ -1278,9 +1107,6 @@ iscsi_if_rx(struct sock *sk, int len)
err = iscsi_if_send_reply(
NETLINK_CREDS(skb)->pid, nlh->nlmsg_seq,
nlh->nlmsg_type, 0, 0, ev, sizeof(*ev));
@@ -1996,7 +1993,7 @@
} while (err < 0 && err != -ECONNREFUSED);
skb_pull(skb, rlen);
}
-@@ -1584,32 +1412,6 @@ int iscsi_unregister_transport(struct is
+@@ -1584,32 +1410,6 @@ int iscsi_unregister_transport(struct is
}
EXPORT_SYMBOL_GPL(iscsi_unregister_transport);
@@ -2029,7 +2026,7 @@
static __init int iscsi_transport_init(void)
{
int err;
-@@ -1633,25 +1435,15 @@ static __init int iscsi_transport_init(v
+@@ -1633,25 +1433,15 @@ static __init int iscsi_transport_init(v
if (err)
goto unregister_conn_class;
@@ -2057,7 +2054,7 @@
unregister_session_class:
transport_class_unregister(&iscsi_session_class);
unregister_conn_class:
-@@ -1665,9 +1457,7 @@ unregister_transport_class:
+@@ -1665,9 +1455,7 @@ unregister_transport_class:
static void __exit iscsi_transport_exit(void)
{
@@ -2067,9 +2064,9 @@
transport_class_unregister(&iscsi_connection_class);
transport_class_unregister(&iscsi_session_class);
transport_class_unregister(&iscsi_host_class);
-diff -aurp linux-2.6.17.noarch/include/scsi/libiscsi.h linux-2.6.17.noarch.work/include/scsi/libiscsi.h
---- linux-2.6.17.noarch/include/scsi/libiscsi.h 2006-09-01 05:08:29.000000000 -0500
-+++ linux-2.6.17.noarch.work/include/scsi/libiscsi.h 2006-09-01 05:10:11.000000000 -0500
+diff -aurp linux-2.6.17.noarch/include/scsi/libiscsi.h linux-2.6.17.noarch.update/include/scsi/libiscsi.h
+--- linux-2.6.17.noarch/include/scsi/libiscsi.h 2006-09-15 13:28:25.000000000 -0500
++++ linux-2.6.17.noarch.update/include/scsi/libiscsi.h 2006-09-15 13:28:15.000000000 -0500
@@ -102,6 +102,8 @@ struct iscsi_cmd_task {
uint32_t unsol_datasn;
int imm_count; /* imm-data (bytes) */
@@ -2097,9 +2094,9 @@
extern int iscsi_conn_send_pdu(struct iscsi_cls_conn *, struct iscsi_hdr *,
char *, uint32_t);
extern int iscsi_complete_pdu(struct iscsi_conn *, struct iscsi_hdr *,
-diff -aurp linux-2.6.17.noarch/include/scsi/scsi_transport_iscsi.h linux-2.6.17.noarch.work/include/scsi/scsi_transport_iscsi.h
---- linux-2.6.17.noarch/include/scsi/scsi_transport_iscsi.h 2006-09-01 05:08:29.000000000 -0500
-+++ linux-2.6.17.noarch.work/include/scsi/scsi_transport_iscsi.h 2006-09-01 05:10:39.000000000 -0500
+diff -aurp linux-2.6.17.noarch/include/scsi/scsi_transport_iscsi.h linux-2.6.17.noarch.update/include/scsi/scsi_transport_iscsi.h
+--- linux-2.6.17.noarch/include/scsi/scsi_transport_iscsi.h 2006-09-15 13:28:25.000000000 -0500
++++ linux-2.6.17.noarch.update/include/scsi/scsi_transport_iscsi.h 2006-09-15 13:28:15.000000000 -0500
@@ -29,7 +29,6 @@
struct scsi_transport_template;
struct iscsi_transport;
More information about the fedora-cvs-commits
mailing list