Date: Wed, 16 Apr 2003 16:39:02 +0200 (CEST) From: Magnus B{ckstr|m <b@etek.chalmers.se> To: freebsd-current@freebsd.org Subject: [fix] Stack smasher in ACPI. Message-ID: <Pine.BSF.4.44.0304161624270.54843-200000@scrooge.etek.chalmers.se>
next in thread | raw e-mail | index | archive | help
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-218796958-1050503942=:54843 Content-Type: TEXT/PLAIN; charset=US-ASCII I'm attempting to make -CURRENT work on a compaq evo N800c, and am hitting some issues. (1) The Intel ACPICA contains a potential memory-corruption bug. (2): The N800c AML uses idioms defined in ACPI 2.0 which the FreeBSD implementation isn't aware of, and which interacts with (1) so as to corrupt the stack and cause a panic. Specifically, some objects report their _CID in the form of a Package with multiple Integers in it (ACPI 2.0 specification p.154 section 6.1.2). (3): Compaq has defined _HIDs *with* leading asterisks in direct violation of ACPI 2.0 p.156 section 6.1.4. Growl. The attached patch is a suggestion for a fix of (1) and the part of (2) that interacts with (1). I'm working on the rest of (2) and a workaround for (3). -- B --0-218796958-1050503942=:54843 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="acpi_stacksmash.diff" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.BSF.4.44.0304161639020.54843@scrooge.etek.chalmers.se> Content-Description: ACPI stack smasher fix Content-Disposition: attachment; filename="acpi_stacksmash.diff" SW5kZXg6IHNyYy9zeXMvY29udHJpYi9kZXYvYWNwaWNhL3V0YWxsb2MuYw0K ZGlmZiAtdSBzcmMvc3lzL2NvbnRyaWIvZGV2L2FjcGljYS91dGFsbG9jLmM6 MS4xLjEuMSBzcmMvc3lzL2NvbnRyaWIvZGV2L2FjcGljYS91dGFsbG9jLmM6 MS4xLjEuMS40LjENCi0tLSBzcmMvc3lzL2NvbnRyaWIvZGV2L2FjcGljYS91 dGFsbG9jLmM6MS4xLjEuMQlUdWUgSnVsICA5IDE5OjUxOjMwIDIwMDINCisr KyBzcmMvc3lzL2NvbnRyaWIvZGV2L2FjcGljYS91dGFsbG9jLmMJV2VkIEFw ciAxNiAxNjowNjoyMCAyMDAzDQpAQCAtMzg2LDYgKzM4Niw3IEBADQogICAg ICAgICAvKiBDbGVhciB0aGUgYnVmZmVyICovDQogDQogICAgICAgICBBQ1BJ X01FTVNFVCAoQnVmZmVyLT5Qb2ludGVyLCAwLCBSZXF1aXJlZExlbmd0aCk7 DQorICAgICAgICBCdWZmZXItPkxlbmd0aCA9IFJlcXVpcmVkTGVuZ3RoOw0K ICAgICAgICAgYnJlYWs7DQogDQogDQpAQCAtNDAyLDYgKzQwMyw3IEBADQog ICAgICAgICAvKiBDbGVhciB0aGUgYnVmZmVyICovDQogDQogICAgICAgICBB Q1BJX01FTVNFVCAoQnVmZmVyLT5Qb2ludGVyLCAwLCBSZXF1aXJlZExlbmd0 aCk7DQorICAgICAgICBCdWZmZXItPkxlbmd0aCA9IFJlcXVpcmVkTGVuZ3Ro Ow0KICAgICAgICAgYnJlYWs7DQogDQogDQpAQCAtNDEyLDYgKzQxNCw3IEBA DQogICAgICAgICBpZiAoQnVmZmVyLT5MZW5ndGggPCBSZXF1aXJlZExlbmd0 aCkNCiAgICAgICAgIHsNCiAgICAgICAgICAgICBTdGF0dXMgPSBBRV9CVUZG RVJfT1ZFUkZMT1c7DQorICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICB9 DQogDQogICAgICAgICAvKiBDbGVhciB0aGUgYnVmZmVyICovDQpAQCAtNDIw LDcgKzQyMyw2IEBADQogICAgICAgICBicmVhazsNCiAgICAgfQ0KIA0KLSAg ICBCdWZmZXItPkxlbmd0aCA9IFJlcXVpcmVkTGVuZ3RoOw0KICAgICByZXR1 cm4gKFN0YXR1cyk7DQogfQ0KIA0KSW5kZXg6IHNyYy9zeXMvZGV2L2FjcGlj YS9hY3BpLmMNCmRpZmYgLXUgc3JjL3N5cy9kZXYvYWNwaWNhL2FjcGkuYzox LjEuMS42IHNyYy9zeXMvZGV2L2FjcGljYS9hY3BpLmM6MS4xLjEuNi4yLjEN Ci0tLSBzcmMvc3lzL2Rldi9hY3BpY2EvYWNwaS5jOjEuMS4xLjYJRnJpIE1h ciAgNyAxNTo0MDo1OSAyMDAzDQorKysgc3JjL3N5cy9kZXYvYWNwaWNhL2Fj cGkuYwlXZWQgQXByIDE2IDE2OjA2OjIwIDIwMDMNCkBAIC0xMTI5LDE0ICsx MTI5LDE1IEBADQogICAgICAqIFRoaXMgaXMgYSBoYWNrLg0KICAgICAgKi8N CiAgICAgaWYgKGVycm9yID09IEFFX0JVRkZFUl9PVkVSRkxPVykgew0KLQlp ZiAoKGJ1Zi5Qb2ludGVyID0gQWNwaU9zQWxsb2NhdGUoYnVmLkxlbmd0aCkp ID09IE5VTEwpIHsNCi0JICAgIGVycm9yID0gQUVfTk9fTUVNT1JZOw0KLQl9 IGVsc2Ugew0KLQkgICAgaWYgKEFDUElfU1VDQ0VTUyhlcnJvciA9IEFjcGlF dmFsdWF0ZU9iamVjdChoYW5kbGUsIHBhdGgsIE5VTEwsICZidWYpKSkgew0K KwlidWYuUG9pbnRlciA9IE5VTEw7DQorCWJ1Zi5MZW5ndGggPSBBQ1BJX0FM TE9DQVRFX0JVRkZFUjsNCisNCisJaWYgKEFDUElfU1VDQ0VTUyhlcnJvciA9 IEFjcGlFdmFsdWF0ZU9iamVjdChoYW5kbGUsIHBhdGgsIE5VTEwsICZidWYp KSkgew0KIAkJZXJyb3IgPSBhY3BpX0NvbnZlcnRCdWZmZXJUb0ludGVnZXIo JmJ1ZiwgbnVtYmVyKTsNCi0JICAgIH0NCiAJfQ0KLQlBY3BpT3NGcmVlKGJ1 Zi5Qb2ludGVyKTsNCisNCisJaWYgKGJ1Zi5Qb2ludGVyKQ0KKwkgICAgQWNw aU9zRnJlZShidWYuUG9pbnRlcik7DQogICAgIH0NCiAgICAgcmV0dXJuKGVy cm9yKTsNCiB9DQo= --0-218796958-1050503942=:54843--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.44.0304161624270.54843-200000>