Date: Wed, 3 Sep 2014 00:04:40 +0900 From: =?UTF-8?B?SGlyb28gT25vICjlsI/ph47lr5vnlJ8p?= <hiroo.ono+freebsd@gmail.com> To: Garrett Cooper <yaneurabeya@gmail.com> Cc: freebsd-current Current <freebsd-current@freebsd.org> Subject: Re: Kernel page fault with non-sleepable locks held error with kernel r270837 Message-ID: <CANtk6Si62F7yNsD1wX3p3H%2Ba3Tkf4oNnBqFbQuWaNdbnTjbmVA@mail.gmail.com> In-Reply-To: <F0DB579E-63F1-4AEB-847A-4E375528C835@gmail.com> References: <CANtk6SjbySdLt6m2zmkDSSeU3Hhisd-mzGKVaSSMOZJfUtnFXA@mail.gmail.com> <F0DB579E-63F1-4AEB-847A-4E375528C835@gmail.com>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] Thank you! The attached patch to sys/kern/uipc_socket.c worked. I will file a bug report later. 2014-09-02 9:49 GMT+09:00 Garrett Cooper <yaneurabeya@gmail.com>: > Is bpf built into the kernel, or is it built and loaded as a module. I'm wondering because an issue with vimage and socket "hook" support was resolved in an earlier revision, but this might not have been caught: > http://svnweb.freebsd.org/base?view=revision&revision=270318 > Cheers, > -Garrett [-- Attachment #2 --] Index: uipc_socket.c =================================================================== --- uipc_socket.c (revision 270837) +++ uipc_socket.c (working copy) @@ -3265,9 +3265,11 @@ return 1; } + CURVNET_SET(so->so_vnet); if (V_socket_hhh[HHOOK_FILT_SOREAD]->hhh_nhooks > 0) /* This hook returning non-zero indicates an event, not error */ return (hhook_run_socket(so, NULL, HHOOK_FILT_SOREAD)); + CURVNET_RESTORE(); return (0); } @@ -3294,8 +3296,10 @@ SOCKBUF_LOCK_ASSERT(&so->so_snd); kn->kn_data = sbspace(&so->so_snd); + CURVNET_SET(so->so_vnet); if (V_socket_hhh[HHOOK_FILT_SOWRITE]->hhh_nhooks > 0) hhook_run_socket(so, kn, HHOOK_FILT_SOWRITE); + CURVNET_RESTORE(); if (so->so_snd.sb_state & SBS_CANTSENDMORE) { kn->kn_flags |= EV_EOF;help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANtk6Si62F7yNsD1wX3p3H%2Ba3Tkf4oNnBqFbQuWaNdbnTjbmVA>
