]> err.no Git - linux-2.6/blobdiff - net/ax25/ax25_out.c
[PATCH] fix BUG_ON(!PageSlab) from fallback_alloc
[linux-2.6] / net / ax25 / ax25_out.c
index d7736e58533656f32979ad81d3f17fc3747bf166..f84047d1e8ce1760f35ae81e3b24c1e3448f1be4 100644 (file)
@@ -70,11 +70,11 @@ ax25_cb *ax25_send_frame(struct sk_buff *skb, int paclen, ax25_address *src, ax2
        ax25->dest_addr   = *dest;
 
        if (digi != NULL) {
-               if ((ax25->digipeat = kmalloc(sizeof(ax25_digi), GFP_ATOMIC)) == NULL) {
+               ax25->digipeat = kmemdup(digi, sizeof(*digi), GFP_ATOMIC);
+               if (ax25->digipeat == NULL) {
                        ax25_cb_put(ax25);
                        return NULL;
                }
-               memcpy(ax25->digipeat, digi, sizeof(ax25_digi));
        }
 
        switch (ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]) {