https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193649
Bug ID: 193649
Summary: ring->nr_buf_size will be calculated wrongly on PPC
machine
Product: Base System
Version: 10.0-STABLE
Hardware: ppc
OS: Any
Status: Needs Triage
Severity: Affects Some People
Priority: ---
Component: kern
Assignee: [email protected]
Reporter: [email protected]
Created attachment 147337
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=147337&action=edit
the first part log contains the bug with TX nr_buf_size = 0x8000000, the second
part log is the correct one without bug
When run netmap APP pkt-gen on PPC machine, say Freescale P4080, the buf size
of ring ring->nr_buf_size in "netmap_mem2.c, netmap_mem_rings_create()". The
declaration of nr_buf_size in struct netmap_ring is uint32_t, however it is
changed to uint16_t as following:
*(uint16_t *)(uintptr_t)&ring->nr_buf_size =
NETMAP_BDG_BUF_SIZE(na->nm_mem);
Thus buffer size will be different as the desired, and will cause
Segmentation fault. after changing it as:
*(uint32_t *)(uintptr_t)&ring->nr_buf_size =
NETMAP_BDG_BUF_SIZE(na->nm_mem);
it works well on PPC。
The log is attached, please find it, pay attention to the buf_nr_size value
between the two parts log section.
--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"