Thanks Gleb. I do not believe this path can triggered by an incoming frame. I am planning on adding a KASSERT here to get a core when we exercise this code in our debug images.
-Juan On Mon, Apr 22, 2013 at 5:57 AM, Gleb Smirnoff <gleb...@freebsd.org> wrote: > On Wed, Apr 17, 2013 at 08:46:42AM -0400, Juan Mojica wrote: > J> We manage to hit the following message with some regularity. > J> > J> arprequest: cannot find matching address > J> > J> The code shows a printf: > J> > J> printf("%s: cannot find matching address\n", __func__); > J> > J> > J> Any reason this is a printf and not a > J> > J> log(LOG_ERR, > J> > J> The only things I can come up with are: > J> > J> a) it is a really severe and should be printed out, which if that is the > J> case why isn't there an assert there? > J> b) whoops, that should probably be a log(LOG_ERR, > J> On our end we need to figure out exactly why we're intermittently > hitting > J> this patch of code. > > Can you please try this patch? Let's see what's going on. > > printf()ing in kernel is especially unsafe when the event can be triggered > remotely. The arprequest() is called on output path of a packet, however > I'm not sure that it can't be triggered by incoming packet. > > -- > Totus tuus, Glebius. > -- Juan Mojica Email: jmoj...@gmail.com _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"