From: zhenyu.z.wang@intel.com
Fix oops from nonlinear skb usage.
Signed-off-by: Alex Aizman <itn780@yahoo.com>
Signed-off-by: Dmitry Yusupov <dmitry_yus@yahoo.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
 {
        int rc;
        struct iscsi_conn *conn = rd_desc->arg.data;
-       int start = skb_headlen(skb);
        int processed;
        char pad[ISCSI_PAD_LEN];
        struct scatterlist sg;
         * Save current SKB and its offset in the corresponding
         * connection context.
         */
-       conn->in.copy = start - offset;
+       conn->in.copy = skb->len - offset;
        conn->in.offset = offset;
        conn->in.skb = skb;
        conn->in.len = conn->in.copy;