Issue created by Sang Woo Kim: 
https://gitlab.rtems.org/rtems/pkg/rtems-libbsd/-/work_items/105



## Summary

Affected files: `rtemsbsd/sys/dev/mve/if_mve.c`, `if_mve_nexus.c`
Affected BSP: beatnik (MVME5500/MVME6100)

`BSP_mve_create()` installs `mveth_isr` on a shared vector, but `mve_attach()` 
sets `sc->mp` and `sc->daemonTid` only after it returns. An interrupt in that 
window — another device on the line, or one left pending by the 
MOTLoad-initialized hardware — reaches `mve_isr()` with `sc->mp == NULL` and 
crashes. Guarding the NULL instead would return without acknowledging the 
source: an interrupt storm.

Distinct from #94 (the argument the handler is installed with); that window 
remains once #94 is fixed.

Fix: install the handler from `mve_attach()` once the softc is complete. MR 
follows.

-- 
View it on GitLab: 
https://gitlab.rtems.org/rtems/pkg/rtems-libbsd/-/work_items/105
You're receiving this email because of your account on gitlab.rtems.org. 
Unsubscribe from this thread: 
https://gitlab.rtems.org/-/sent_notifications/4-4kfs1ufp7ryljiw3hoojtsk9o-k/unsubscribe
 | Manage all notifications: https://gitlab.rtems.org/-/profile/notifications | 
Help: https://gitlab.rtems.org/help


_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to