Changeset 55953 in vbox
- Timestamp:
- May 19, 2015 11:58:02 PM (9 years ago)
- File:
-
- 1 edited
-
trunk/include/VBox/vmm/pdmnetinline.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/pdmnetinline.h
r44529 r55953 68 68 PDMNETWORKGSOTYPE enmType; 69 69 70 if (RT_ UNLIKELY(cbGsoMax <sizeof(*pGso)))71 return false;70 if (RT_LIKELY(cbGsoMax >= sizeof(*pGso))) 71 { /* likely */ } else return false; 72 72 73 73 enmType = (PDMNETWORKGSOTYPE)pGso->u8Type; 74 if (RT_ UNLIKELY( enmType <= PDMNETWORKGSOTYPE_INVALID || enmType >=PDMNETWORKGSOTYPE_END ))75 return false;74 if (RT_LIKELY( enmType > PDMNETWORKGSOTYPE_INVALID && enmType < PDMNETWORKGSOTYPE_END )) 75 { /* likely */ } else return false; 76 76 77 77 /* all types requires both headers. */ 78 if (RT_ UNLIKELY( pGso->offHdr1 <sizeof(RTNETETHERHDR) ))79 return false;80 if (RT_ UNLIKELY( pGso->offHdr2 <=pGso->offHdr1 ))81 return false;82 if (RT_ UNLIKELY( pGso->cbHdrsTotal <=pGso->offHdr2 ))83 return false;78 if (RT_LIKELY( pGso->offHdr1 >= sizeof(RTNETETHERHDR) )) 79 { /* likely */ } else return false; 80 if (RT_LIKELY( pGso->offHdr2 < pGso->offHdr1 )) 81 { /* likely */ } else return false; 82 if (RT_LIKELY( pGso->cbHdrsTotal > pGso->offHdr2 )) 83 { /* likely */ } else return false; 84 84 85 85 /* min size of the 1st header(s). */ … … 88 88 case PDMNETWORKGSOTYPE_IPV4_TCP: 89 89 case PDMNETWORKGSOTYPE_IPV4_UDP: 90 if (RT_ UNLIKELY( (unsigned)pGso->offHdr2 - pGso->offHdr1 <RTNETIPV4_MIN_LEN ))91 return false;90 if (RT_LIKELY( (unsigned)pGso->offHdr2 - pGso->offHdr1 >= RTNETIPV4_MIN_LEN )) 91 { /* likely */ } else return false; 92 92 break; 93 93 case PDMNETWORKGSOTYPE_IPV6_TCP: 94 94 case PDMNETWORKGSOTYPE_IPV6_UDP: 95 if (RT_ UNLIKELY( (unsigned)pGso->offHdr2 - pGso->offHdr1 <RTNETIPV6_MIN_LEN ))96 return false;95 if (RT_LIKELY( (unsigned)pGso->offHdr2 - pGso->offHdr1 >= RTNETIPV6_MIN_LEN )) 96 { /* likely */ } else return false; 97 97 break; 98 98 case PDMNETWORKGSOTYPE_IPV4_IPV6_TCP: 99 99 case PDMNETWORKGSOTYPE_IPV4_IPV6_UDP: 100 if (RT_ UNLIKELY( (unsigned)pGso->offHdr2 - pGso->offHdr1 <RTNETIPV4_MIN_LEN + RTNETIPV6_MIN_LEN ))101 return false;100 if (RT_LIKELY( (unsigned)pGso->offHdr2 - pGso->offHdr1 >= RTNETIPV4_MIN_LEN + RTNETIPV6_MIN_LEN )) 101 { /* likely */ } else return false; 102 102 break; 103 103 case PDMNETWORKGSOTYPE_INVALID: … … 113 113 case PDMNETWORKGSOTYPE_IPV6_TCP: 114 114 case PDMNETWORKGSOTYPE_IPV4_IPV6_TCP: 115 if (RT_ UNLIKELY( (unsigned)pGso->cbHdrsTotal - pGso->offHdr2 <RTNETTCP_MIN_LEN ))116 return false;115 if (RT_LIKELY( (unsigned)pGso->cbHdrsTotal - pGso->offHdr2 >= RTNETTCP_MIN_LEN )) 116 { /* likely */ } else return false; 117 117 break; 118 118 case PDMNETWORKGSOTYPE_IPV4_UDP: 119 119 case PDMNETWORKGSOTYPE_IPV6_UDP: 120 120 case PDMNETWORKGSOTYPE_IPV4_IPV6_UDP: 121 if (RT_ UNLIKELY( (unsigned)pGso->cbHdrsTotal - pGso->offHdr2 <RTNETUDP_MIN_LEN ))122 return false;121 if (RT_LIKELY( (unsigned)pGso->cbHdrsTotal - pGso->offHdr2 >= RTNETUDP_MIN_LEN )) 122 { /* likely */ } else return false; 123 123 break; 124 124 case PDMNETWORKGSOTYPE_INVALID: … … 129 129 130 130 /* There must be at more than one segment. */ 131 if (RT_ UNLIKELY( cbFrame <=pGso->cbHdrsTotal ))132 return false;133 if (RT_ UNLIKELY( cbFrame - pGso->cbHdrsTotal <pGso->cbMaxSeg ))134 return false;131 if (RT_LIKELY( cbFrame > pGso->cbHdrsTotal )) 132 { /* likely */ } else return false; 133 if (RT_LIKELY( cbFrame - pGso->cbHdrsTotal >= pGso->cbMaxSeg )) 134 { /* likely */ } else return false; 135 135 136 136 return true;
Note:
See TracChangeset
for help on using the changeset viewer.

