Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: ppp: use {get,put}_unaligned_be{16,32}

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Reviewed-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Changli Gao and committed by
David S. Miller
96545aeb d7b92aff

+18 -20
+5 -5
drivers/net/ppp_async.c
··· 32 32 #include <linux/init.h> 33 33 #include <linux/jiffies.h> 34 34 #include <linux/slab.h> 35 + #include <asm/unaligned.h> 35 36 #include <asm/uaccess.h> 36 37 #include <asm/string.h> 37 38 ··· 543 542 data = ap->tpkt->data; 544 543 count = ap->tpkt->len; 545 544 fcs = ap->tfcs; 546 - proto = (data[0] << 8) + data[1]; 545 + proto = get_unaligned_be16(data); 547 546 548 547 /* 549 548 * LCP packets with code values between 1 (configure-reqest) ··· 964 963 code = data[0]; 965 964 if (code != CONFACK && code != CONFREQ) 966 965 return; 967 - dlen = (data[2] << 8) + data[3]; 966 + dlen = get_unaligned_be16(data + 2); 968 967 if (len < dlen) 969 968 return; /* packet got truncated or length is bogus */ 970 969 ··· 998 997 while (dlen >= 2 && dlen >= data[1] && data[1] >= 2) { 999 998 switch (data[0]) { 1000 999 case LCP_MRU: 1001 - val = (data[2] << 8) + data[3]; 1000 + val = get_unaligned_be16(data + 2); 1002 1001 if (inbound) 1003 1002 ap->mru = val; 1004 1003 else 1005 1004 ap->chan.mtu = val; 1006 1005 break; 1007 1006 case LCP_ASYNCMAP: 1008 - val = (data[2] << 24) + (data[3] << 16) 1009 - + (data[4] << 8) + data[5]; 1007 + val = get_unaligned_be32(data + 2); 1010 1008 if (inbound) 1011 1009 ap->raccm = val; 1012 1010 else
+4 -5
drivers/net/ppp_deflate.c
··· 41 41 #include <linux/ppp-comp.h> 42 42 43 43 #include <linux/zlib.h> 44 + #include <asm/unaligned.h> 44 45 45 46 /* 46 47 * State for a Deflate (de)compressor. ··· 233 232 */ 234 233 wptr[0] = PPP_ADDRESS(rptr); 235 234 wptr[1] = PPP_CONTROL(rptr); 236 - wptr[2] = PPP_COMP >> 8; 237 - wptr[3] = PPP_COMP; 235 + put_unaligned_be16(PPP_COMP, wptr + 2); 238 236 wptr += PPP_HDRLEN; 239 - wptr[0] = state->seqno >> 8; 240 - wptr[1] = state->seqno; 237 + put_unaligned_be16(state->seqno, wptr); 241 238 wptr += DEFLATE_OVHD; 242 239 olen = PPP_HDRLEN + DEFLATE_OVHD; 243 240 state->strm.next_out = wptr; ··· 450 451 } 451 452 452 453 /* Check the sequence number. */ 453 - seq = (ibuf[PPP_HDRLEN] << 8) + ibuf[PPP_HDRLEN+1]; 454 + seq = get_unaligned_be16(ibuf + PPP_HDRLEN); 454 455 if (seq != (state->seqno & 0xffff)) { 455 456 if (state->debug) 456 457 printk(KERN_DEBUG "z_decompress%d: bad seq # %d, expected %d\n",
+4 -5
drivers/net/ppp_generic.c
··· 46 46 #include <linux/device.h> 47 47 #include <linux/mutex.h> 48 48 #include <linux/slab.h> 49 + #include <asm/unaligned.h> 49 50 #include <net/slhc_vj.h> 50 51 #include <asm/atomic.h> 51 52 ··· 211 210 }; 212 211 213 212 /* Get the PPP protocol number from a skb */ 214 - #define PPP_PROTO(skb) (((skb)->data[0] << 8) + (skb)->data[1]) 213 + #define PPP_PROTO(skb) get_unaligned_be16((skb)->data) 215 214 216 215 /* We limit the length of ppp->file.rq to this (arbitrary) value */ 217 216 #define PPP_MAX_RQLEN 32 ··· 965 964 966 965 pp = skb_push(skb, 2); 967 966 proto = npindex_to_proto[npi]; 968 - pp[0] = proto >> 8; 969 - pp[1] = proto; 967 + put_unaligned_be16(proto, pp); 970 968 971 969 netif_stop_queue(dev); 972 970 skb_queue_tail(&ppp->file.xq, skb); ··· 1473 1473 q = skb_put(frag, flen + hdrlen); 1474 1474 1475 1475 /* make the MP header */ 1476 - q[0] = PPP_MP >> 8; 1477 - q[1] = PPP_MP; 1476 + put_unaligned_be16(PPP_MP, q); 1478 1477 if (ppp->flags & SC_MP_XSHORTSEQ) { 1479 1478 q[2] = bits + ((ppp->nxseq >> 8) & 0xf); 1480 1479 q[3] = ppp->nxseq;
+3 -4
drivers/net/ppp_mppe.c
··· 55 55 #include <linux/ppp_defs.h> 56 56 #include <linux/ppp-comp.h> 57 57 #include <linux/scatterlist.h> 58 + #include <asm/unaligned.h> 58 59 59 60 #include "ppp_mppe.h" 60 61 ··· 396 395 */ 397 396 obuf[0] = PPP_ADDRESS(ibuf); 398 397 obuf[1] = PPP_CONTROL(ibuf); 399 - obuf[2] = PPP_COMP >> 8; /* isize + MPPE_OVHD + 1 */ 400 - obuf[3] = PPP_COMP; /* isize + MPPE_OVHD + 2 */ 398 + put_unaligned_be16(PPP_COMP, obuf + 2); 401 399 obuf += PPP_HDRLEN; 402 400 403 401 state->ccount = (state->ccount + 1) % MPPE_CCOUNT_SPACE; 404 402 if (state->debug >= 7) 405 403 printk(KERN_DEBUG "mppe_compress[%d]: ccount %d\n", state->unit, 406 404 state->ccount); 407 - obuf[0] = state->ccount >> 8; 408 - obuf[1] = state->ccount & 0xff; 405 + put_unaligned_be16(state->ccount, obuf); 409 406 410 407 if (!state->stateful || /* stateless mode */ 411 408 ((state->ccount & 0xff) == 0xff) || /* "flag" packet */
+2 -1
drivers/net/ppp_synctty.c
··· 45 45 #include <linux/completion.h> 46 46 #include <linux/init.h> 47 47 #include <linux/slab.h> 48 + #include <asm/unaligned.h> 48 49 #include <asm/uaccess.h> 49 50 50 51 #define PPP_VERSION "2.4.2" ··· 564 563 int islcp; 565 564 566 565 data = skb->data; 567 - proto = (data[0] << 8) + data[1]; 566 + proto = get_unaligned_be16(data); 568 567 569 568 /* LCP packets with codes between 1 (configure-request) 570 569 * and 7 (code-reject) must be sent as though no options