2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-29 07:34:06 +08:00
linux-next/net/atm
Dan Rosenberg 71338aa7d0 net: convert %p usage to %pK
The %pK format specifier is designed to hide exposed kernel pointers,
specifically via /proc interfaces.  Exposing these pointers provides an
easy target for kernel write vulnerabilities, since they reveal the
locations of writable structures containing easily triggerable function
pointers.  The behavior of %pK depends on the kptr_restrict sysctl.

If kptr_restrict is set to 0, no deviation from the standard %p behavior
occurs.  If kptr_restrict is set to 1, the default, if the current user
(intended to be a reader via seq_printf(), etc.) does not have CAP_SYSLOG
(currently in the LSM tree), kernel pointers using %pK are printed as 0's.
 If kptr_restrict is set to 2, kernel pointers using %pK are printed as
0's regardless of privileges.  Replacing with 0's was chosen over the
default "(null)", which cannot be parsed by userland %p, which expects
"(nil)".

The supporting code for kptr_restrict and %pK are currently in the -mm
tree.  This patch converts users of %p in net/ to %pK.  Cases of printing
pointers to the syslog are not covered, since this would eliminate useful
information for postmortem debugging and the reading of the syslog is
already optionally protected by the dmesg_restrict sysctl.

Signed-off-by: Dan Rosenberg <drosenberg@vsecurity.com>
Cc: James Morris <jmorris@namei.org>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Thomas Graf <tgraf@infradead.org>
Cc: Eugene Teo <eugeneteo@kernel.org>
Cc: Kees Cook <kees.cook@canonical.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: David S. Miller <davem@davemloft.net>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Eric Paris <eparis@parisplace.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-05-24 01:13:12 -04:00
..
addr.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
addr.h atm: use const where reasonable 2008-06-17 16:20:06 -07:00
atm_misc.c net/atm/atm_misc.c: checkpatch cleanups 2010-01-26 21:15:57 -08:00
atm_sysfs.c atm: correct sysfs 'device' link creation and parent relationships 2010-12-10 15:45:05 -08:00
br2684.c Fix common misspellings 2011-03-31 11:26:23 -03:00
clip.c ipv4: Create and use route lookup helpers. 2011-03-12 15:08:42 -08:00
common.c atm/solos-pci: Don't flap VCs when carrier state changes 2011-03-30 16:53:38 -07:00
common.h net: Make setsockopt() optlen be unsigned. 2009-09-30 16:12:20 -07:00
ioctl.c net/atm/ioctl.c: checkpatch cleanups 2010-01-26 21:15:59 -08:00
Kconfig [ATM]: atm is no longer experimental 2008-01-28 15:00:11 -08:00
lec_arpc.h [ATM]: [lec] add reference counting to lec_arp entries 2006-09-29 17:16:48 -07:00
lec.c atm: lec: Fix set-but-unused variables. 2011-04-17 00:48:36 -07:00
lec.h Fix common misspellings 2011-03-31 11:26:23 -03:00
Makefile [ATM]: Kill ipcommon.[ch] 2006-12-02 21:32:08 -08:00
mpc.c net: kill unused macros 2010-12-19 21:59:35 -08:00
mpc.h atm: convert mpc device to using netdev_ops 2009-03-21 19:19:12 -07:00
mpoa_caches.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
mpoa_caches.h [NET] ATM: Fix whitespace errors. 2007-02-10 23:19:16 -08:00
mpoa_proc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pppoatm.c ppp: make channel_ops const 2010-08-04 21:53:17 -07:00
proc.c net: convert %p usage to %pK 2011-05-24 01:13:12 -04:00
protocols.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pvc.c net/atm/pvc.c: checkpatch cleanups 2010-01-26 21:16:02 -08:00
raw.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
resources.c atm: correct sysfs 'device' link creation and parent relationships 2010-12-10 15:45:05 -08:00
resources.h atm: correct sysfs 'device' link creation and parent relationships 2010-12-10 15:45:05 -08:00
signaling.c net: sk_sleep() helper 2010-04-20 16:37:13 -07:00
signaling.h [NET] ATM: Fix whitespace errors. 2007-02-10 23:19:16 -08:00
svc.c net: sk_sleep() helper 2010-04-20 16:37:13 -07:00