Date: Mon, 26 Aug 2013 18:35:21 +0000 (UTC) From: Mark Murray <markm@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r254928 - in projects/random_number_generator/sys: kern net netgraph sys Message-ID: <201308261835.r7QIZL4j045530@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308261835.r7QIZL4j045530>