Date: Sun, 13 Aug 2000 10:44:07 -0700 (PDT) From: John Polstra <jdp@polstra.com> To: alpha@freebsd.org Cc: mjl12@waikato.ac.nz Subject: Re: kernel modules/unaligned access fault Message-ID: <200008131744.KAA01718@vashon.polstra.com> In-Reply-To: <45E87454FFC2D211AD9800508B650094BA4E3E@stu-ex1.waikato.ac.nz> References: <45E87454FFC2D211AD9800508B650094BA4E3E@stu-ex1.waikato.ac.nz>
next in thread | previous in thread | raw e-mail | index | archive | help
In article <45E87454FFC2D211AD9800508B650094BA4E3E@stu-ex1.waikato.ac.nz>,
MATTHEW JOHN,LUCKIE <mjl12@waikato.ac.nz> wrote:
>
> I am running into problems with the timestamping, whereby i am getting an
> unaligned access fault panic.
> I am making a call to getnanotime, with the results getting copied into a
> bit of data in the mbuf that is offset 48 bytes in the packet
[...]
> m->m_data += 4; /* 44 bytes offset */
> pr = mtod(m, struct pathrecord *pr);
> pr->ip = 0;
> getnanotime(&ts);
> ts.ts_sec = htonl(ts.ts_sec);
> ts.ts_nsec = htonl(ts.ts_nsec);
> pr->ts = ts; /* crashes in this line, 44 bytes offset from m_data */
Instead of assigning it directly like that, use bcopy() to copy it
into place.
bcopy(&ts, &pr->ts, sizeof ts);
John
--
John Polstra jdp@polstra.com
John D. Polstra & Co., Inc. Seattle, Washington USA
"Disappointment is a good sign of basic intelligence." -- Chögyam Trungpa
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200008131744.KAA01718>
