linux/arch/mips
Vincent Bernat d59577b6ff sk-filter: Add ability to lock a socket filter program
While a privileged program can open a raw socket, attach some
restrictive filter and drop its privileges (or send the socket to an
unprivileged program through some Unix socket), the filter can still
be removed or modified by the unprivileged program. This commit adds a
socket option to lock the filter (SO_LOCK_FILTER) preventing any
modification of a socket filter program.

This is similar to OpenBSD BIOCLOCK ioctl on bpf sockets, except even
root is not allowed change/drop the filter.

The state of the lock can be read with getsockopt(). No error is
triggered if the state is not changed. -EPERM is returned when a user
tries to remove the lock or to change/remove the filter while the lock
is active. The check is done directly in sk_attach_filter() and
sk_detach_filter() and does not affect only setsockopt() syscall.

Signed-off-by: Vincent Bernat <bernat@luffy.cx>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-01-17 03:21:25 -05:00
..
alchemy MIPS: Alchemy: Make 32kHz and r4k timer coexist peacefully 2012-12-27 16:27:35 +01:00
ar7 MIPS: AR7: use part_probe_types to specificy the partition parser to use 2012-12-13 18:15:23 +01:00
ath79 USB: EHCI: remove ehci_port_power() routine 2012-10-31 12:48:07 -07:00
bcm47xx Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2012-12-14 14:27:45 -08:00
bcm63xx MIPS: BCM63XX: fix nvram checksum calculation 2012-12-12 18:57:49 +01:00
boot MIPS: Alchemy: Single kernel for DB1200/1300/1550 2012-10-11 11:11:20 +02:00
cavium-octeon MIPS: drivers: remove __dev* attributes. 2013-01-03 15:57:09 -08:00
cobalt
configs Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2012-12-14 14:27:45 -08:00
dec MIPS: DEC: use IS_ENABLED() 2012-07-23 13:55:54 +01:00
emma Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
fw MIPS: Kconfig: Rename several firmware related config symbols. 2012-12-13 17:02:14 +01:00
include sk-filter: Add ability to lock a socket filter program 2013-01-17 03:21:25 -05:00
jazz Merge branch 'next/generic' into mips-for-linux-next 2012-01-11 15:41:47 +01:00
jz4740 MIPS: JZ4740: Forward declare struct uart_port in header. 2012-10-17 17:00:50 +02:00
kernel Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2013-01-07 07:50:41 -08:00
lantiq MIPS: drivers: remove __dev* attributes. 2013-01-03 15:57:09 -08:00
lasat Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
lib MIPS: Fix crash that occurs when function tracing is enabled 2012-11-23 18:44:38 +01:00
loongson MIPS: Loongson 2: Sort out clock managment. 2012-08-01 18:10:06 +02:00
loongson1 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2012-12-14 14:27:45 -08:00
math-emu MIPS: Fix for warning from FPU emulation code 2012-12-13 18:15:27 +01:00
mm MIPS: Fix modpost error in modules attepting to use virt_addr_valid(). 2012-12-28 17:04:31 +01:00
mti-malta MIPS: Malta: Fix interupt number of CBUS UART. 2012-11-13 14:50:15 +01:00
mti-sead3 MIPS: drivers: remove __dev* attributes. 2013-01-03 15:57:09 -08:00
netlogic Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2012-12-14 14:27:45 -08:00
oprofile Merge branch 'mips-next' of http://dev.phrozen.org/githttp/mips-next into mips-for-linux-next 2012-12-13 19:40:13 +01:00
pci MIPS: drivers: remove __dev* attributes. 2013-01-03 15:57:09 -08:00
pmc-sierra MIPS: PMC-Sierra Yosemite: Remove support. 2012-12-13 18:15:30 +01:00
pnx833x MIPS: PNX833x: use IS_ENABLED() macro 2012-07-23 13:55:53 +01:00
pnx8550 MIPS: PNX8550: use OHCI platform driver 2012-10-22 11:24:11 -07:00
power MIPS: Switch remaining assembler PAGE_SIZE users to <asm/asm-offsets.h>. 2012-12-28 17:04:16 +01:00
powertv MIPS: PowerTV: Fix build. 2012-12-13 18:15:28 +01:00
rb532 MIPS: RB532: Fix build of prom code. 2012-12-13 18:15:28 +01:00
sgi-ip22 MIPS: IP22/IP28: Fix build of EISA code. 2012-12-13 18:15:28 +01:00
sgi-ip27 mips: zero out pg_data_t when it's allocated 2012-07-31 18:42:49 -07:00
sgi-ip32 Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
sibyte MIPS: Kconfig: Rename several firmware related config symbols. 2012-12-13 17:02:14 +01:00
sni MIPS: drivers: remove __dev* attributes. 2013-01-03 15:57:09 -08:00
txx9 MIPS: drivers: remove __dev* attributes. 2013-01-03 15:57:09 -08:00
vr41xx Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
wrppmc MIPS: wrppmc: Fix build of PCI code. 2012-12-13 18:15:29 +01:00
Kbuild
Kbuild.platforms Merge branch 'ralf-3.7' of git://git.linux-mips.org/pub/scm/sjhill/linux-sjhill into mips-for-linux-next 2012-09-28 16:29:55 +02:00
Kconfig MIPS: 64-bit: Fix build if !CONFIG_MODULES 2013-01-03 00:03:08 +01:00
Kconfig.debug Fix typo in various Kconfig file 2012-04-16 14:40:08 +02:00
Makefile MIPS: PMC-Sierra Yosemite: Remove support. 2012-12-13 18:15:30 +01:00