lkml.org 
[lkml]   [2012]   [Mar]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 2/2] selinux:avc:remove the useless fields in avc_add_callback
    On 03/22/2012 07:58 AM, Wanlong Gao wrote:

    > Any comments?


    Ping?

    >
    >
    >> avc_add_callback now just used for registering reset functions
    >> in initcalls, and the callback functions just did reset operations.
    >> So, reducing the arguments to only one event is enough now.
    >>
    >> Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
    >> ---
    >> security/selinux/avc.c | 32 ++++++--------------------------
    >> security/selinux/include/avc.h | 6 +-----
    >> security/selinux/netif.c | 6 ++----
    >> security/selinux/netnode.c | 6 ++----
    >> security/selinux/netport.c | 6 ++----
    >> security/selinux/ss/services.c | 6 ++----
    >> 6 files changed, 15 insertions(+), 47 deletions(-)
    >>
    >> diff --git a/security/selinux/avc.c b/security/selinux/avc.c
    >> index c301679..fc8acaa 100644
    >> --- a/security/selinux/avc.c
    >> +++ b/security/selinux/avc.c
    >> @@ -65,14 +65,8 @@ struct avc_cache {
    >> };
    >>
    >> struct avc_callback_node {
    >> - int (*callback) (u32 event, u32 ssid, u32 tsid,
    >> - u16 tclass, u32 perms,
    >> - u32 *out_retained);
    >> + int (*callback) (u32 event);
    >> u32 events;
    >> - u32 ssid;
    >> - u32 tsid;
    >> - u16 tclass;
    >> - u32 perms;
    >> struct avc_callback_node *next;
    >> };
    >>
    >> @@ -546,22 +540,12 @@ int avc_audit(u32 ssid, u32 tsid,
    >> * avc_add_callback - Register a callback for security events.
    >> * @callback: callback function
    >> * @events: security events
    >> - * @ssid: source security identifier or %SECSID_WILD
    >> - * @tsid: target security identifier or %SECSID_WILD
    >> - * @tclass: target security class
    >> - * @perms: permissions
    >> *
    >> - * Register a callback function for events in the set @events
    >> - * related to the SID pair (@ssid, @tsid)
    >> - * and the permissions @perms, interpreting
    >> - * @perms based on @tclass. Returns %0 on success or
    >> - * -%ENOMEM if insufficient memory exists to add the callback.
    >> + * Register a callback function for events in the set @events.
    >> + * Returns %0 on success or -%ENOMEM if insufficient memory
    >> + * exists to add the callback.
    >> */
    >> -int __init avc_add_callback(int (*callback)(u32 event, u32 ssid, u32 tsid,
    >> - u16 tclass, u32 perms,
    >> - u32 *out_retained),
    >> - u32 events, u32 ssid, u32 tsid,
    >> - u16 tclass, u32 perms)
    >> +int __init avc_add_callback(int (*callback)(u32 event), u32 events)
    >> {
    >> struct avc_callback_node *c;
    >> int rc = 0;
    >> @@ -574,9 +558,6 @@ int __init avc_add_callback(int (*callback)(u32 event, u32 ssid, u32 tsid,
    >>
    >> c->callback = callback;
    >> c->events = events;
    >> - c->ssid = ssid;
    >> - c->tsid = tsid;
    >> - c->perms = perms;
    >> c->next = avc_callbacks;
    >> avc_callbacks = c;
    >> out:
    >> @@ -716,8 +697,7 @@ int avc_ss_reset(u32 seqno)
    >>
    >> for (c = avc_callbacks; c; c = c->next) {
    >> if (c->events & AVC_CALLBACK_RESET) {
    >> - tmprc = c->callback(AVC_CALLBACK_RESET,
    >> - 0, 0, 0, 0, NULL);
    >> + tmprc = c->callback(AVC_CALLBACK_RESET);
    >> /* save the first error encountered for the return
    >> value and continue processing the callbacks */
    >> if (!rc)
    >> diff --git a/security/selinux/include/avc.h b/security/selinux/include/avc.h
    >> index 47fda96..0ac5c26 100644
    >> --- a/security/selinux/include/avc.h
    >> +++ b/security/selinux/include/avc.h
    >> @@ -88,11 +88,7 @@ u32 avc_policy_seqno(void);
    >> #define AVC_CALLBACK_AUDITDENY_ENABLE 64
    >> #define AVC_CALLBACK_AUDITDENY_DISABLE 128
    >>
    >> -int avc_add_callback(int (*callback)(u32 event, u32 ssid, u32 tsid,
    >> - u16 tclass, u32 perms,
    >> - u32 *out_retained),
    >> - u32 events, u32 ssid, u32 tsid,
    >> - u16 tclass, u32 perms);
    >> +int avc_add_callback(int (*callback)(u32 event), u32 events);
    >>
    >> /* Exported to selinuxfs */
    >> int avc_get_hash_stats(char *page);
    >> diff --git a/security/selinux/netif.c b/security/selinux/netif.c
    >> index 326f22c..47a49d1 100644
    >> --- a/security/selinux/netif.c
    >> +++ b/security/selinux/netif.c
    >> @@ -252,8 +252,7 @@ static void sel_netif_flush(void)
    >> spin_unlock_bh(&sel_netif_lock);
    >> }
    >>
    >> -static int sel_netif_avc_callback(u32 event, u32 ssid, u32 tsid,
    >> - u16 class, u32 perms, u32 *retained)
    >> +static int sel_netif_avc_callback(u32 event)
    >> {
    >> if (event == AVC_CALLBACK_RESET) {
    >> sel_netif_flush();
    >> @@ -292,8 +291,7 @@ static __init int sel_netif_init(void)
    >>
    >> register_netdevice_notifier(&sel_netif_netdev_notifier);
    >>
    >> - err = avc_add_callback(sel_netif_avc_callback, AVC_CALLBACK_RESET,
    >> - SECSID_NULL, SECSID_NULL, SECCLASS_NULL, 0);
    >> + err = avc_add_callback(sel_netif_avc_callback, AVC_CALLBACK_RESET);
    >> if (err)
    >> panic("avc_add_callback() failed, error %d\n", err);
    >>
    >> diff --git a/security/selinux/netnode.c b/security/selinux/netnode.c
    >> index 8636585..28f911c 100644
    >> --- a/security/selinux/netnode.c
    >> +++ b/security/selinux/netnode.c
    >> @@ -297,8 +297,7 @@ static void sel_netnode_flush(void)
    >> spin_unlock_bh(&sel_netnode_lock);
    >> }
    >>
    >> -static int sel_netnode_avc_callback(u32 event, u32 ssid, u32 tsid,
    >> - u16 class, u32 perms, u32 *retained)
    >> +static int sel_netnode_avc_callback(u32 event)
    >> {
    >> if (event == AVC_CALLBACK_RESET) {
    >> sel_netnode_flush();
    >> @@ -320,8 +319,7 @@ static __init int sel_netnode_init(void)
    >> sel_netnode_hash[iter].size = 0;
    >> }
    >>
    >> - ret = avc_add_callback(sel_netnode_avc_callback, AVC_CALLBACK_RESET,
    >> - SECSID_NULL, SECSID_NULL, SECCLASS_NULL, 0);
    >> + ret = avc_add_callback(sel_netnode_avc_callback, AVC_CALLBACK_RESET);
    >> if (ret != 0)
    >> panic("avc_add_callback() failed, error %d\n", ret);
    >>
    >> diff --git a/security/selinux/netport.c b/security/selinux/netport.c
    >> index 7b9eb1f..d353797 100644
    >> --- a/security/selinux/netport.c
    >> +++ b/security/selinux/netport.c
    >> @@ -234,8 +234,7 @@ static void sel_netport_flush(void)
    >> spin_unlock_bh(&sel_netport_lock);
    >> }
    >>
    >> -static int sel_netport_avc_callback(u32 event, u32 ssid, u32 tsid,
    >> - u16 class, u32 perms, u32 *retained)
    >> +static int sel_netport_avc_callback(u32 event)
    >> {
    >> if (event == AVC_CALLBACK_RESET) {
    >> sel_netport_flush();
    >> @@ -257,8 +256,7 @@ static __init int sel_netport_init(void)
    >> sel_netport_hash[iter].size = 0;
    >> }
    >>
    >> - ret = avc_add_callback(sel_netport_avc_callback, AVC_CALLBACK_RESET,
    >> - SECSID_NULL, SECSID_NULL, SECCLASS_NULL, 0);
    >> + ret = avc_add_callback(sel_netport_avc_callback, AVC_CALLBACK_RESET);
    >> if (ret != 0)
    >> panic("avc_add_callback() failed, error %d\n", ret);
    >>
    >> diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c
    >> index 185f849..08123cd 100644
    >> --- a/security/selinux/ss/services.c
    >> +++ b/security/selinux/ss/services.c
    >> @@ -3018,8 +3018,7 @@ out:
    >>
    >> static int (*aurule_callback)(void) = audit_update_lsm_rules;
    >>
    >> -static int aurule_avc_callback(u32 event, u32 ssid, u32 tsid,
    >> - u16 class, u32 perms, u32 *retained)
    >> +static int aurule_avc_callback(u32 event)
    >> {
    >> int err = 0;
    >>
    >> @@ -3032,8 +3031,7 @@ static int __init aurule_init(void)
    >> {
    >> int err;
    >>
    >> - err = avc_add_callback(aurule_avc_callback, AVC_CALLBACK_RESET,
    >> - SECSID_NULL, SECSID_NULL, SECCLASS_NULL, 0);
    >> + err = avc_add_callback(aurule_avc_callback, AVC_CALLBACK_RESET);
    >> if (err)
    >> panic("avc_add_callback() failed, error %d\n", err);
    >>
    >
    >
    >




    \
     
     \ /
      Last update: 2012-03-26 16:35    [W:0.043 / U:30.356 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site