From owner-cvs-src@FreeBSD.ORG Sun Jun 18 08:18:08 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C53C116A474; Sun, 18 Jun 2006 08:18:08 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 783F743D45; Sun, 18 Jun 2006 08:18:08 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id 4111446C9C; Sun, 18 Jun 2006 04:18:05 -0400 (EDT) Date: Sun, 18 Jun 2006 09:18:05 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Maxim Konovalov In-Reply-To: <20060618101345.V10122@mp2.macomnet.net> Message-ID: <20060618091643.C67789@fledge.watson.org> References: <200606171732.k5HHWdl9086272@repoman.freebsd.org> <20060618013509.M67789@fledge.watson.org> <20060618101345.V10122@mp2.macomnet.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, Andre Oppermann , cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/netinet tcp_input.c tcp_syncache.c tcp_var.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Jun 2006 08:18:08 -0000 On Sun, 18 Jun 2006, Maxim Konovalov wrote: > On Sun, 18 Jun 2006, 01:37+0100, Robert Watson wrote: > >> On Sat, 17 Jun 2006, Andre Oppermann wrote: >> >>> Revision Changes Path >>> 1.299 +9 -6 src/sys/netinet/tcp_input.c >>> 1.87 +286 -255 src/sys/netinet/tcp_syncache.c >>> 1.130 +9 -6 src/sys/netinet/tcp_var.h >> >> This change appears to have broken world on all architectures by exposing >> the mutex data structure to usr.bin/netstat/inet.c via tcp_var.h. I'm not >> quite sure what the "right" solution is, but if > > usr.bin/systat/netstat.c and usr.bin/netstat/inet.c > contrib/bsnmp/snmp_mibII/mibII_tcp.c as well. > > +#include fixes the build. But is increasing the exposure of kernel data structures to user space apps the right fix, or decreasing them? Andre fell into this trap precisely because of the leakage of kernel types into user space, and that's just one of several good reasons not to do it where it can possibly be avoided. Robert N M Watson Computer Laboratory University of Cambridge