Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: cprng panic?



(2012/09/08 7:06), Christos Zoulas wrote:
> In article <504A43B2.3090006%execsw.org@localhost>,
> SAITOH Masanobu  <msaitoh%execsw.org@localhost> wrote:
>> My evbarm machine runnning -cuurent panics as follows:
>>
>>> cprng kernel: WARNING pseudorandom rekeying.
>>> panic: kernel diagnostic assertion "(!cpu_intr_p() &&
>> !cpu_softintr_p())" failed: file "../../../../kern/subr_kmem.c", line
>> 307 kmem(9) should not be used from the interrupt context
> 
> Try this:
> 
> christos
> 
> Index: kern/subr_cprng.c
> ===================================================================
> RCS file: /cvsroot/src/sys/kern/subr_cprng.c,v
> retrieving revision 1.11
> diff -u -r1.11 subr_cprng.c
> --- kern/subr_cprng.c 7 Sep 2012 02:42:13 -0000       1.11
> +++ kern/subr_cprng.c 7 Sep 2012 22:05:12 -0000
> @@ -284,7 +284,8 @@
>        * If the generator has just been keyed, perform
>        * the statistical RNG test.
>        */
> -     if (__predict_false(c->drbg.reseed_counter == 1)) {
> +     if (__predict_false(c->drbg.reseed_counter == 1) &&
> +         (flags & FASYNC) == 0) {
>               rngtest_t *rt = kmem_alloc(sizeof(*rt), KM_NOSLEEP);
>  
>               if (rt) {
> Index: netinet/tcp_subr.c
> ===================================================================
> RCS file: /cvsroot/src/sys/netinet/tcp_subr.c,v
> retrieving revision 1.247
> diff -u -r1.247 tcp_subr.c
> --- netinet/tcp_subr.c        22 Mar 2012 20:34:39 -0000      1.247
> +++ netinet/tcp_subr.c        7 Sep 2012 22:05:12 -0000
> @@ -2214,7 +2214,7 @@
>        */
>       if (tcp_iss_gotten_secret == false) {
>               cprng_strong(kern_cprng,
> -                          tcp_iss_secret, sizeof(tcp_iss_secret), 0);
> +                          tcp_iss_secret, sizeof(tcp_iss_secret), FASYNC);
>               tcp_iss_gotten_secret = true;
>       }
>  
> 

 It works for me. Thanks you.

-- 
-----------------------------------------------
                SAITOH Masanobu (msaitoh%execsw.org@localhost
                                 msaitoh%netbsd.org@localhost)


Home | Main Index | Thread Index | Old Index