]> git.baikalelectronics.ru Git - kernel.git/commit
selinux: Fix the NetLabel glue code for setsockopt()
authorPaul Moore <paul.moore@hp.com>
Fri, 20 Feb 2009 21:33:02 +0000 (16:33 -0500)
committerJames Morris <jmorris@namei.org>
Sun, 22 Feb 2009 23:05:55 +0000 (10:05 +1100)
commitefd9b31bc25343e4ba6d73037b6d6f388bc01339
treed97bcaf9544e58a8a6bc6aeb40ca9793411d3e79
parent3a858cb07348dacccba779914ca2c7cbcc96fc69
selinux: Fix the NetLabel glue code for setsockopt()

At some point we (okay, I) managed to break the ability for users to use the
setsockopt() syscall to set IPv4 options when NetLabel was not active on the
socket in question.  The problem was noticed by someone trying to use the
"-R" (record route) option of ping:

 # ping -R 10.0.0.1
 ping: record route: No message of desired type

The solution is relatively simple, we catch the unlabeled socket case and
clear the error code, allowing the operation to succeed.  Please note that we
still deny users the ability to override IPv4 options on socket's which have
NetLabel labeling active; this is done to ensure the labeling remains intact.

Signed-off-by: Paul Moore <paul.moore@hp.com>
Signed-off-by: James Morris <jmorris@namei.org>
security/selinux/netlabel.c