From owner-p4-projects@FreeBSD.ORG Mon Feb 5 12:34:25 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AD13516A4E8; Mon, 5 Feb 2007 12:34:24 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 94FD916A4D1 for ; Mon, 5 Feb 2007 12:34:23 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 42F2913C4D9 for ; Mon, 5 Feb 2007 12:34:16 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l15CYGRc023844 for ; Mon, 5 Feb 2007 12:34:16 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l15CYGRl023840 for perforce@freebsd.org; Mon, 5 Feb 2007 12:34:16 GMT (envelope-from piso@freebsd.org) Date: Mon, 5 Feb 2007 12:34:16 GMT Message-Id: <200702051234.l15CYGRl023840@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 114047 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Feb 2007 12:34:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=114047 Change 114047 by piso@piso_newluxor on 2007/02/05 12:33:47 o always mtod() before accessing data. o reuse the *mbuf passed as input parameter. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#20 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#20 (text+ko) ==== @@ -179,48 +179,42 @@ #ifdef _KERNEL #define PULLUP_IPHDR(pip, ptr) do { \ - struct mbuf *m; \ - m = m_pullup((ptr), sizeof(struct ip)); \ - (pip) = mtod(m, struct ip *); \ + ptr = m_pullup((ptr), sizeof(struct ip)); \ + (pip) = mtod((struct mbuf *)ptr, struct ip *); \ } while (0) #define PULLUP_UDPHDR(pip, ptr) do { \ - struct mbuf *m; \ - pip = ptr; \ - m = m_pullup((ptr), (pip->ip_hl << 2) + sizeof(struct udphdr)); \ - (pip) = mtod(m, struct ip *); \ + pip = mtod((struct mbuf *)ptr, struct ip *); \ + ptr = m_pullup((ptr), (pip->ip_hl << 2) + sizeof(struct udphdr)); \ + (pip) = mtod((struct mbuf *)ptr, struct ip *); \ } while (0) #define PULLUP_TCPHDR(pip, ptr) do { \ - struct mbuf *m; \ - pip = ptr; \ - m = m_pullup((ptr), (pip->ip_hl << 2) + sizeof(struct tcphdr)); \ - (pip) = mtod(m, struct ip *); \ + pip = mtod((struct mbuf *)ptr, struct ip *); \ + ptr = m_pullup((ptr), (pip->ip_hl << 2) + sizeof(struct tcphdr)); \ + (pip) = mtod((struct mbuf *)ptr, struct ip *); \ } while (0) #define PULLUP_ICMPHDR(pip, ptr) do { \ - struct mbuf *m; \ - pip = (struct ip *)ptr; \ - m = m_pullup((ptr), (pip->ip_hl << 2) + sizeof(struct icmp)); \ - (pip) = mtod(m, struct ip *); \ + pip = mtod((struct mbuf *)ptr, struct ip *); \ + ptr = m_pullup((ptr), (pip->ip_hl << 2) + sizeof(struct icmp)); \ + (pip) = mtod((struct mbuf *)ptr, struct ip *); \ } while (0) #define PULLUP_ICMPIP64(pip, ptr, ic) do { \ - struct mbuf *m; \ int s; \ - pip = ptr; \ + pip = mtod((struct mbuf *)ptr, struct ip *); \ s = (pip->ip_hl << 2) + sizeof(struct icmp) + \ (ic->icmp_ip.ip_hl << 2) - sizeof(struct ip) + 8; \ - m = m_pullup((ptr), s); \ - (pip) = mtod(m, struct ip *); \ + ptr = m_pullup((ptr), s); \ + (pip) = mtod((struct mbuf *)ptr, struct ip *); \ } while (0) #define PULLUP_IPTCPHDR(pip, ptr) do { \ - struct mbuf *m; \ - m = m_pullup((ptr), sizeof(struct ip)); \ - (pip) = mtod(m, struct ip *); \ - m = m_pullup((ptr), (pip->ip_hl << 2) + sizeof(struct tcphdr)); \ - (pip) = mtod(m, struct ip *); \ + ptr = m_pullup((ptr), sizeof(struct ip)); \ + (pip) = mtod((struct mbuf *)ptr, struct ip *); \ + ptr = m_pullup((ptr), (pip->ip_hl << 2) + sizeof(struct tcphdr)); \ + (pip) = mtod((struct mbuf *)ptr, struct ip *); \ } while (0) #else