drivers/net: Remove IRQF_SAMPLE_RANDOM flag from network drivers
Javier Martinez Canillas authored

The IRQF_SAMPLE_RANDOM flag is marked as deprecated and will be removed.

Every input point to the kernel's entropy pool have to better document the
type of entropy source it is.

drivers/char/random.c now implements a set of interfaces that can be used for
devices to collect enviromental noise. IRQF_SAMPLE_RANDOM will be replaced
with these add_*_randomness exported functions.

Network drivers are not a good source of entropy. They use as a source of
entropy essentially a remote host. Which means that the source of entropy can
be potentially controlled by an attacker. Also, with heavy workloads the
entropy decreases due to less hardware interrupts happening thanks to irq
mitigation and NAPI.

If a system relies in its network interface as a entropy source it has a false
sense of security. Systems that don't have devices whose drivers are good
sources of entropy, should either use a hardware random number generator or
feed the kernel's entropy pool from userspace using other sources of entropy
such as EGD, video_entropyd, timer_entropyd and audio-entropyd.
Signed-off-by: default avatarJavier Martinez Canillas <martinez.javier@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
ab392d2d
Name Last commit Last update
..
accessibility drop explicit include of autoconf.h
acpi acpi: Remove sysfs_create_link from video driver
amba ARM: 6758/1: amba: support pm ops
ata Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
atm atm/solos-pci: Don't flap VCs when carrier state changes
auxdisplay auxdisplay: section cleanup in cfag12864bfb driver
base Introduce ARCH_NO_SYSDEV_OPS config option (v2)
block drbd: fix up merge error
bluetooth Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
cdrom gdrom,viocd: Convert to bdops->check_events()
char char/tpm: Fix unitialized usage of data buffer
clk ARM: 6483/1: arm & sh: factorised duplicated clkdev.c
clocksource drivers/clocksource/tcb_clksrc.c: fix init sequence
connector connector: convert to synchronous netlink message processing
cpufreq cpufreq: Use syscore_ops for boot CPU suspend/resume (v2)
cpuidle Merge branch 'master' into for-next
crypto Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6
dca drivers/dca/dca-core.c: use list_move() instead of list_del()/list_add() combination
dio m68k: don't export static inline functions
dma Merge branch 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
edac amd64_edac: Fix potential memleak
eisa eisa: fix coding style for eisa bus code
firewire Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6
firmware sigma-firmware: loader for Analog Devices' SigmaStudio
gpio gpio: ab8500: Mark broken
gpu
hid
hwmon
hwspinlock
i2c
ide
idle
ieee802154
infiniband
input
isdn
leds
lguest
macintosh
mca
md
media
memstick
message
mfd
misc
mmc
mtd
net
nfc
nubus
of
oprofile
parisc
parport
pci
pcmcia
platform
pnp
power
pps
ps3
rapidio
regulator
rtc
s390
sbus
scsi
sfi
sh
sn
spi
ssb
staging
target
tc
telephony
thermal
tty
uio
usb
uwb
vhost
video
virtio
vlynq
w1
watchdog
xen
zorro
Kconfig
Makefile