summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-11-12 09:36:18 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-11-13 14:10:35 +0100
commit760e894d54b5aadb204fa221e532ae49b8f10a86 (patch)
treeabf43ec147ee3f5b403031e1139a2b13cd336bfd
parent0d48d6ede42251307252a46a86e129899eea2f35 (diff)
downloadrtems-libbsd-760e894d54b5aadb204fa221e532ae49b8f10a86.tar.bz2
NETISR(9): Fix NULL pointer access
-rw-r--r--freebsd/sys/net/netisr.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/freebsd/sys/net/netisr.c b/freebsd/sys/net/netisr.c
index c8a4d7b5..8bd4d087 100644
--- a/freebsd/sys/net/netisr.c
+++ b/freebsd/sys/net/netisr.c
@@ -1042,7 +1042,11 @@ netisr_dispatch_src(u_int proto, uintptr_t source, struct mbuf *m)
* to always being forced to directly dispatch.
*/
if (dispatch_policy == NETISR_DISPATCH_DIRECT) {
+#ifndef __rtems__
nwsp = DPCPU_PTR(nws);
+#else /* __rtems__ */
+ nwsp = &rtems_bsd_nws;
+#endif /* __rtems__ */
npwp = &nwsp->nws_work[proto];
npwp->nw_dispatched++;
npwp->nw_handled++;
@@ -1071,7 +1075,11 @@ netisr_dispatch_src(u_int proto, uintptr_t source, struct mbuf *m)
KASSERT(!CPU_ABSENT(cpuid), ("%s: CPU %u absent", __func__, cpuid));
if (cpuid != curcpu)
goto queue_fallback;
+#ifndef __rtems__
nwsp = DPCPU_PTR(nws);
+#else /* __rtems__ */
+ nwsp = &rtems_bsd_nws;
+#endif /* __rtems__ */
npwp = &nwsp->nws_work[proto];
/*-