From owner-freebsd-current@FreeBSD.ORG Wed Jun 15 07:49:25 2005 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CB5D416A41C for ; Wed, 15 Jun 2005 07:49:25 +0000 (GMT) (envelope-from silby@silby.com) Received: from relay.pair.com (relay00.pair.com [209.68.1.20]) by mx1.FreeBSD.org (Postfix) with SMTP id 7913043D48 for ; Wed, 15 Jun 2005 07:49:25 +0000 (GMT) (envelope-from silby@silby.com) Received: (qmail 8599 invoked from network); 15 Jun 2005 07:49:24 -0000 Received: from unknown (HELO localhost) (unknown) by unknown with SMTP; 15 Jun 2005 07:49:24 -0000 X-pair-Authenticated: 209.68.2.70 Date: Wed, 15 Jun 2005 02:49:08 -0500 (CDT) From: Mike Silbersack To: current@freebsd.org Message-ID: <20050615024332.V660@odysseus.silby.com> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1652050532-1118821685=:660" Content-ID: <20050615024806.W660@odysseus.silby.com> Cc: Bosko Milekic Subject: UMA mbuf allocator use after free detection X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Jun 2005 07:49:25 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-1652050532-1118821685=:660 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; format=flowed Content-ID: <20050615024806.L660@odysseus.silby.com> The attached patch uses the trash ctor/dtor routines from uma_dbg to help detect use after free conditions for mbufs, and mbuf clusters. It doesn't seem to cause any unexpected problems with xl, ath, or wi, but it does cause issues with iwi. That is good, because iwi has some problems that need to be resolved. I'd appreciate it if people could apply the patch and see if it causes any panics or unexpected behavior on their systems. If all mbuf usage is correct, there should be no visible effect. This code is of course only active when you have INVARIANTS compiled in so that it does not slow down performance otherwise. Thanks, Mike "Silby" Silbersack --0-1652050532-1118821685=:660 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME=kern_mbuf.c-trash.patch Content-Transfer-Encoding: BASE64 Content-ID: <20050615024805.G660@odysseus.silby.com> Content-Description: Content-Disposition: ATTACHMENT; FILENAME=kern_mbuf.c-trash.patch ZGlmZiAtdSAtciAvdXNyL3NyYy9zeXMub2xkL2tlcm4va2Vybl9tYnVmLmMg L3Vzci9zcmMvc3lzL2tlcm4va2Vybl9tYnVmLmMNCi0tLSAvdXNyL3NyYy9z eXMub2xkL2tlcm4va2Vybl9tYnVmLmMJU3VuIEp1biAxMiAxOTo0MzoxMiAy MDA1DQorKysgL3Vzci9zcmMvc3lzL2tlcm4va2Vybl9tYnVmLmMJV2VkIEp1 biAxNSAwMjoyNjo0NSAyMDA1DQpAQCAtNDYsNiArNDYsOCBAQA0KICNpbmNs dWRlIDx2bS92bS5oPg0KICNpbmNsdWRlIDx2bS92bV9wYWdlLmg+DQogI2lu Y2x1ZGUgPHZtL3VtYS5oPg0KKyNpbmNsdWRlIDx2bS91bWFfaW50Lmg+DQor I2luY2x1ZGUgPHZtL3VtYV9kYmcuaD4NCiANCiAvKg0KICAqIEluIEZyZWVC U0QsIE1idWZzIGFuZCBNYnVmIENsdXN0ZXJzIGFyZSBhbGxvY2F0ZWQgZnJv bSBVTUENCkBAIC0xMzQsOSArMTM2LDE3IEBADQogCSAqIENvbmZpZ3VyZSBV TUEgem9uZXMgZm9yIE1idWZzLCBDbHVzdGVycywgYW5kIFBhY2tldHMuDQog CSAqLw0KIAl6b25lX21idWYgPSB1bWFfemNyZWF0ZSgiTWJ1ZiIsIE1TSVpF LCBtYl9jdG9yX21idWYsIG1iX2R0b3JfbWJ1ZiwNCisjaWZkZWYgSU5WQVJJ QU5UUw0KKwkgICAgdHJhc2hfaW5pdCwgdHJhc2hfZmluaSwgTVNJWkUgLSAx LCBVTUFfWk9ORV9NQVhCVUNLRVQpOw0KKyNlbHNlDQogCSAgICBOVUxMLCBO VUxMLCBNU0laRSAtIDEsIFVNQV9aT05FX01BWEJVQ0tFVCk7DQorI2VuZGlm DQogCXpvbmVfY2x1c3QgPSB1bWFfemNyZWF0ZSgiTWJ1ZkNsdXN0IiwgTUNM QllURVMsIG1iX2N0b3JfY2x1c3QsDQorI2lmZGVmIElOVkFSSUFOVFMNCisJ ICAgIG1iX2R0b3JfY2x1c3QsIHRyYXNoX2luaXQsIHRyYXNoX2ZpbmksIFVN QV9BTElHTl9QVFIsIFVNQV9aT05FX1JFRkNOVCk7DQorI2Vsc2UNCiAJICAg IG1iX2R0b3JfY2x1c3QsIE5VTEwsIE5VTEwsIFVNQV9BTElHTl9QVFIsIFVN QV9aT05FX1JFRkNOVCk7DQorI2VuZGlmDQogCWlmIChubWJjbHVzdGVycyA+ IDApDQogCQl1bWFfem9uZV9zZXRfbWF4KHpvbmVfY2x1c3QsIG5tYmNsdXN0 ZXJzKTsNCiAJem9uZV9wYWNrID0gdW1hX3pzZWNvbmRfY3JlYXRlKCJQYWNr ZXQiLCBtYl9jdG9yX3BhY2ssIG1iX2R0b3JfcGFjaywNCkBAIC0xOTAsNiAr MjAwLDkgQEANCiAJaW50IGZsYWdzOw0KIAlzaG9ydCB0eXBlOw0KIA0KKyNp ZmRlZiBJTlZBUklBTlRTDQorCXRyYXNoX2N0b3IobWVtLCBzaXplLCBhcmcs IGhvdyk7DQorI2VuZGlmDQogCW0gPSAoc3RydWN0IG1idWYgKiltZW07DQog CWFyZ3MgPSAoc3RydWN0IG1iX2FyZ3MgKilhcmc7DQogCWZsYWdzID0gYXJn cy0+ZmxhZ3M7DQpAQCAtMjI3LDYgKzI0MCw5IEBADQogCW0gPSAoc3RydWN0 IG1idWYgKiltZW07DQogCWlmICgobS0+bV9mbGFncyAmIE1fUEtUSERSKSAh PSAwKQ0KIAkJbV90YWdfZGVsZXRlX2NoYWluKG0sIE5VTEwpOw0KKyNpZmRl ZiBJTlZBUklBTlRTDQorCXRyYXNoX2R0b3IobWVtLCBzaXplLCBhcmcpOw0K KyNlbmRpZg0KIAltYnN0YXQubV9tYnVmcyAtPSAxOwkvKiBYWFggKi8NCiB9 DQogDQpAQCAtMjM5LDYgKzI1NSw5IEBADQogCW0gPSAoc3RydWN0IG1idWYg KiltZW07DQogCWlmICgobS0+bV9mbGFncyAmIE1fUEtUSERSKSAhPSAwKQ0K IAkJbV90YWdfZGVsZXRlX2NoYWluKG0sIE5VTEwpOw0KKyNpZmRlZiBJTlZB UklBTlRTDQorCXRyYXNoX2R0b3IobS0+bV9leHQuZXh0X2J1ZiwgTUNMQllU RVMsIGFyZyk7DQorI2VuZGlmDQogCW1ic3RhdC5tX21idWZzIC09IDE7CS8q IFhYWCAqLw0KIAltYnN0YXQubV9tY2x1c3RzIC09IDE7CS8qIFhYWCAqLw0K IH0NCkBAIC0yNTQsNiArMjczLDkgQEANCiB7DQogCXN0cnVjdCBtYnVmICpt Ow0KIA0KKyNpZmRlZiBJTlZBUklBTlRTDQorCXRyYXNoX2N0b3IobWVtLCBz aXplLCBhcmcsIGhvdyk7DQorI2VuZGlmDQogCW0gPSAoc3RydWN0IG1idWYg Kilhcmc7DQogCW0tPm1fZXh0LmV4dF9idWYgPSAoY2FkZHJfdCltZW07DQog CW0tPm1fZGF0YSA9IG0tPm1fZXh0LmV4dF9idWY7DQpAQCAtMjcxLDYgKzI5 Myw5IEBADQogc3RhdGljIHZvaWQNCiBtYl9kdG9yX2NsdXN0KHZvaWQgKm1l bSwgaW50IHNpemUsIHZvaWQgKmFyZykNCiB7DQorI2lmZGVmIElOVkFSSUFO VFMNCisJdHJhc2hfZHRvcihtZW0sIHNpemUsIGFyZyk7DQorI2VuZGlmDQog CW1ic3RhdC5tX21jbHVzdHMgLT0gMTsJLyogWFhYICovDQogfQ0KIA0KQEAg LTI4OCw2ICszMTMsOSBAQA0KIAl1bWFfemFsbG9jX2FyZyh6b25lX2NsdXN0 LCBtLCBob3cpOw0KIAlpZiAobS0+bV9leHQuZXh0X2J1ZiA9PSBOVUxMKQ0K IAkJcmV0dXJuIChFTk9NRU0pOw0KKyNpZmRlZiBJTlZBUklBTlRTDQorCXRy YXNoX2luaXQobS0+bV9leHQuZXh0X2J1ZiwgTUNMQllURVMsIGhvdyk7DQor I2VuZGlmDQogCW1ic3RhdC5tX21jbHVzdHMgLT0gMTsJLyogWFhYICovDQog CXJldHVybiAoMCk7DQogfQ0KQEAgLTMwMiw2ICszMzAsOSBAQA0KIAlzdHJ1 Y3QgbWJ1ZiAqbTsNCiANCiAJbSA9IChzdHJ1Y3QgbWJ1ZiAqKW1lbTsNCisj aWZkZWYgSU5WQVJJQU5UUw0KKwl0cmFzaF9maW5pKG0tPm1fZXh0LmV4dF9i dWYsIE1DTEJZVEVTKTsNCisjZW5kaWYNCiAJdW1hX3pmcmVlX2FyZyh6b25l X2NsdXN0LCBtLT5tX2V4dC5leHRfYnVmLCBOVUxMKTsNCiAJbS0+bV9leHQu ZXh0X2J1ZiA9IE5VTEw7DQogCW1ic3RhdC5tX21jbHVzdHMgKz0gMTsJLyog WFhYICovDQpAQCAtMzI2LDYgKzM1Nyw5IEBADQogCWZsYWdzID0gYXJncy0+ ZmxhZ3M7DQogCXR5cGUgPSBhcmdzLT50eXBlOw0KIA0KKyNpZmRlZiBJTlZB UklBTlRTDQorCXRyYXNoX2N0b3IobS0+bV9leHQuZXh0X2J1ZiwgTUNMQllU RVMsIGFyZywgaG93KTsNCisjZW5kaWYNCiAJbS0+bV90eXBlID0gdHlwZTsN CiAJbS0+bV9uZXh0ID0gTlVMTDsNCiAJbS0+bV9uZXh0cGt0ID0gTlVMTDsN Cg== --0-1652050532-1118821685=:660--