svn commit: r254928 - in projects/random_number_generator/sys: kern net netgraph sys
Mark Murray
markm at FreeBSD.org
Mon Aug 26 18:35:22 UTC 2013
Author: markm
Date: Mon Aug 26 18:35:21 2013
New Revision: 254928
URL: http://svnweb.freebsd.org/changeset/base/254928
Log:
Snapshot; Do some running repairs on entropy harvesting. More needs to follow.
Modified:
projects/random_number_generator/sys/kern/kern_intr.c
projects/random_number_generator/sys/net/if_ethersubr.c
projects/random_number_generator/sys/net/if_tun.c
projects/random_number_generator/sys/netgraph/ng_iface.c
projects/random_number_generator/sys/sys/random.h
Modified: projects/random_number_generator/sys/kern/kern_intr.c
==============================================================================
--- projects/random_number_generator/sys/kern/kern_intr.c Mon Aug 26 18:29:51 2013 (r254927)
+++ projects/random_number_generator/sys/kern/kern_intr.c Mon Aug 26 18:35:21 2013 (r254928)
@@ -1147,7 +1147,7 @@ swi_sched(void *cookie, int flags)
entropy.event = (uintptr_t)ih;
entropy.td = curthread;
random_harvest(&entropy, sizeof(entropy), 1, 0,
- RANDOM_INTERRUPT);
+ RANDOM_SWI);
}
/*
Modified: projects/random_number_generator/sys/net/if_ethersubr.c
==============================================================================
--- projects/random_number_generator/sys/net/if_ethersubr.c Mon Aug 26 18:29:51 2013 (r254927)
+++ projects/random_number_generator/sys/net/if_ethersubr.c Mon Aug 26 18:35:21 2013 (r254928)
@@ -638,9 +638,8 @@ ether_input_internal(struct ifnet *ifp,
m->m_flags |= M_PROMISC;
}
- /* First chunk of an mbuf contains good entropy */
if (harvest.ethernet)
- random_harvest(m, 16, 3, 0, RANDOM_NET);
+ random_harvest(&(m->m_data), 12, 3, 0, RANDOM_NET_ETHER);
ether_demux(ifp, m);
CURVNET_RESTORE();
Modified: projects/random_number_generator/sys/net/if_tun.c
==============================================================================
--- projects/random_number_generator/sys/net/if_tun.c Mon Aug 26 18:29:51 2013 (r254927)
+++ projects/random_number_generator/sys/net/if_tun.c Mon Aug 26 18:35:21 2013 (r254928)
@@ -922,9 +922,8 @@ tunwrite(struct cdev *dev, struct uio *u
m_freem(m);
return (EAFNOSUPPORT);
}
- /* First chunk of an mbuf contains good junk */
if (harvest.point_to_point)
- random_harvest(m, 16, 3, 0, RANDOM_NET);
+ random_harvest(&(m->m_data), 12, 3, 0, RANDOM_NET_TUN);
ifp->if_ibytes += m->m_pkthdr.len;
ifp->if_ipackets++;
CURVNET_SET(ifp->if_vnet);
Modified: projects/random_number_generator/sys/netgraph/ng_iface.c
==============================================================================
--- projects/random_number_generator/sys/netgraph/ng_iface.c Mon Aug 26 18:29:51 2013 (r254927)
+++ projects/random_number_generator/sys/netgraph/ng_iface.c Mon Aug 26 18:35:21 2013 (r254928)
@@ -774,9 +774,8 @@ ng_iface_rcvdata(hook_p hook, item_p ite
m_freem(m);
return (EAFNOSUPPORT);
}
- /* First chunk of an mbuf contains good junk */
if (harvest.point_to_point)
- random_harvest(m, 16, 3, 0, RANDOM_NET);
+ random_harvest(&(m->m_data), 12, 3, 0, RANDOM_NET_NG);
M_SETFIB(m, ifp->if_fib);
netisr_dispatch(isr, m);
return (0);
Modified: projects/random_number_generator/sys/sys/random.h
==============================================================================
--- projects/random_number_generator/sys/sys/random.h Mon Aug 26 18:29:51 2013 (r254927)
+++ projects/random_number_generator/sys/sys/random.h Mon Aug 26 18:35:21 2013 (r254928)
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 2000 Mark R. V. Murray
+ * Copyright (c) 2000-2013 Mark R. V. Murray
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -42,8 +42,11 @@ enum esource {
RANDOM_WRITE = 0,
RANDOM_KEYBOARD,
RANDOM_MOUSE,
- RANDOM_NET,
+ RANDOM_NET_TUN,
+ RANDOM_NET_ETHER,
+ RANDOM_NET_NG,
RANDOM_INTERRUPT,
+ RANDOM_SWI,
RANDOM_PURE,
ENTROPYSOURCE
};
@@ -57,6 +60,7 @@ struct harvest_select {
int point_to_point;
int interrupt;
int swi;
+ int namei;
};
extern struct harvest_select harvest;
More information about the svn-src-projects
mailing list