18c2ecf20Sopenharmony_ciDo the ax25_list_lock, ax25_dev_lock, linkfail_lockreally, ax25_frag_lock and 28c2ecf20Sopenharmony_cilisten_lock have to be bh-safe? 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ciDo the netrom and rose locks have to be bh-safe? 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ciA device might be deleted after lookup in the SIOCADDRT ioctl but before it's 78c2ecf20Sopenharmony_cibeing used. 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ciRoutes to a device being taken down might be deleted by ax25_rt_device_down 108c2ecf20Sopenharmony_cibut added by somebody else before the device has been deleted fully. 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciThe ax25_rt_find_route synopsys is pervert but I somehow had to deal with 138c2ecf20Sopenharmony_cithe race caused by the static variable in it's previous implementation. 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciImplement proper socket locking in netrom and rose. 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciCheck socket locking when ax25_rcv is sending to raw sockets. In particular 188c2ecf20Sopenharmony_ciax25_send_to_raw() seems fishy. Heck - ax25_rcv is fishy. 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciHandle XID and TEST frames properly. 21