Skip site navigation (1)Skip section navigation (2)
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>