Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Mar 2002 20:26:00 +0900 (JST)
From:      Naoya Nishimura <nishinao@m3.kcn.ne.jp>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   kern/36532: ar_buf because it is too short, it makes "Trap 12" by cases.
Message-ID:  <20020329.202600.74758594.nishinao@m3.kcn.ne.jp>

next in thread | raw e-mail | index | archive | help

>Number:         36532
>Category:       kern
>Synopsis:       ar_buf because it is too short, it makes "Trap 12" by cases.
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Mar 30 05:20:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Naoya Nishimura
>Release:        FreeBSD 5.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD 5.0-CURRENT #0: Mon Mar 18 19:36:16 JST 2002 i386

>Description:
arstrategy allocates memory for "struct ar_buf", and calls adstrategy
with its pointer as "struct bio *". adstrategy calls bioqdisksort.
bioqdisksort casts that pointer to "struct buf *" if the condition is
equal it is.

        if (td && td->td_ksegrp->kg_nice > 0) {
                TAILQ_FOREACH(bn, &bioq->queue, bio_queue)
                        if (BIOTOBUF(bp)->b_vp != BIOTOBUF(bn)->b_vp)
			   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It makes Trap12 because "struct buf" is larger than "struct ar_buf".

Please change ar_buf's fisrt member to "struct buf bp".

>How-To-Repeat:
None.

>Fix:

----Next_Part(Fri_Mar_29_20:26:00_2002_364)--
Content-Type: Application/Octet-Stream
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ar_diff.gz"

H4sICLFBpDwCA2FyX2RpZmYA1Vjrb9pIEP9s/oqpTopwjBMwj/AIUUghFVITKsJdLz2dLINNsOJg
ZJtUvQv3t9/srm3W9ppH++GukYIfOzuP387+ZtaqqoIRGKrhOGezM9ezn6Rbz4Y7w4NKHcqNdrXe
rtdBK5e1gqIoW1lpsraYWAsqzXa90q40mNj1NajVZqkBCv5ewPV1AX6xlzNnbVpw6X/zz19cc+1Y
Z4ur9MB07Yve2i55q6Rl5wLZF/TNnQkGTOvVnll+YASCQfyfBQ4ZUEM4TNt/jvC4c5cs0CaUa+2K
1q43k3gw4Swg1QsOkDoFpC4E5NnylpZzTDjHYCJGdeYuRcI0Fg4Iz7DNg4Fgwikgaq12tcwB0aBA
NIRArDxhtP8dDNRj7aKEe0Gpak1yJV5LmwLgLxqqQBeYe0Xf/sty50U/8NazAAxPx2G5BHd6b0x+
70efe8MJvOHtl8F4JHcKKlWgXk1XZxiIvpo6z0sX9TlTo1NQuEEdw8xKgGTPoVhkYqZnv1o4Ynqv
MlxBWUbtgH8iC0oXPHOlXrnzuW8FGT9mGI7lkcCKr65twqmM0hmp6cxdLwMUmi3Wy2c4hf7gN/3m
YfhlkBE1MTeIa3jJGnsxcWiK3oRPGYm5Yzz5nAx9ztpwlyR8RJ3cEfiS0acgTEMgQjsHB5HoLjBE
8glEhLazsIjEcrARmkwBBKGM6z1RBR2a0f5XO5gtoEjBYdpPoNgb67f6uDfslzF944dK9PDwqXcv
y/B3SHQV3NrIdFq4wyUJzRObxelKJnYlzwrW3pLckjXaiDIV6Rq96vX1h9Ht5D1zh+xJ/w8u3f+U
8cZ6zV/s47QwdzCih8m4Nxl8eCxGexl14eqTOXIkNvUs45lgxqpdo9Qi5e4CLyzmdIzsSjYst6jQ
7cLNcKSPB70+wU+V+C2d3LSXGGV6NJXUl8QwMQN5oZ45hh/oyB6gkkA/jUe/D++Gk0cZ3t6Idcij
jCtiHXZuqasjrCtZ69Hkd7mzo3TEqf1bfXT/cXg/wLQ7OdlnWKGvv9pmsMjTwpax1SxpZB1bLXJl
C0kh/169XGDF5J5iu2hw8+vwY394/+EHw8AdOB5QHbsW8ZJxHtaqZx07IS+gm3bvwoqnhc7ugGc3
JtJhgEhwoPYEBNJx8UvfETyhT+3I4s/oT8JqsfpGt3GJGNZKIJwdSVPXXmzPcz3C1DghHtCSAxV+
IOoI+P5AgW0OdShQTJZnXQrI9nWCS9mKEJYUc6qW5VRJ2smoWhhljp4tZXTZurJE1TItDau8Hbaa
CaF05Y8kwwTeRDeW41sc4PvhQ9nNT1rDmLd7aborbh+3WB+tJX8xEkUVJNOaG2snaFNirtGDpFKr
tsKegvz9WKtCVcwM39q+b6dfUjVtBIuW7fU81ZKe0No9GI9HY8YjCbFki5aSBQFyaV7rwj88b0YY
ITmQM4v9pM8WxvLJMgkAJeA6E6IKuzquI4S37tZ+h0Faa1BIaxdRm0bnRp1aqIMqJUlONgdtULIW
PMvH5ljtAo8Qa4i5rN45IdlGd/hmSTATmyY83vB9ZdJbGl69VtJqGF+9Tq4kQNHqVsRrnkidny4B
iBei0trrP3JNJh+OoBVVJHE0AlGuE9hGERVOypVyxKsJWs1l1TQbC2ep6VIWJ9oh9JvmTcH8+GyV
3U9CeSusw+VO1FJlwDvKpTwlO/3Km8Q5FwK8s0bIsdj2HCNt9qTO5/FwMjgwd2LZdPLEOXuDOdsf
3Q/ClJWOIp394lnK4ZzOI5x8jgy7AEo9eBisVJF68DSI15hbCY1uIM2lh+GZkdwDaSwbdocnJ3iu
ysFXjheBmxEJYuGIJeM4ozIt7H/+z5Uh8VFzccxHzUX2o2aZ+7rbJB87lGb0yWNDe5hEN08WnHYt
8U5DL1cdSTo/hZe1j28smNse3liO9WItg3dwel5Q+Cnr+SFTIG3lFOPvJF4zj6RTttThmL0MMMEp
BXUK/wJicKlZFhgAAA==

----Next_Part(Fri_Mar_29_20:26:00_2002_364)----
>Release-Note:
>Audit-Trail:
>Unformatted:
 ----Next_Part(Fri_Mar_29_20:26:00_2002_364)--
 Content-Type: Text/Plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit
 

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020329.202600.74758594.nishinao>