File tree Expand file tree Collapse file tree 2 files changed +5
-6
lines changed Expand file tree Collapse file tree 2 files changed +5
-6
lines changed Original file line number Diff line number Diff line change 1+ #include <linux/capability.h>
12#include <linux/compiler.h>
23#include <linux/fs.h>
34#include <linux/gfp.h>
@@ -64,12 +65,14 @@ static void remove_uid_from_arr(uid_t uid)
6465
6566static void init_default_profiles ()
6667{
68+ kernel_cap_t full_cap = CAP_FULL_SET ;
69+
6770 default_root_profile .uid = 0 ;
6871 default_root_profile .gid = 0 ;
6972 default_root_profile .groups_count = 1 ;
7073 default_root_profile .groups [0 ] = 0 ;
71- memset (& default_root_profile .capabilities , 0xff ,
72- sizeof (default_root_profile .capabilities ));
74+ memcpy (& default_root_profile .capabilities . effective , & full_cap ,
75+ sizeof (default_root_profile .capabilities . effective ));
7376 default_root_profile .namespaces = 0 ;
7477 strcpy (default_root_profile .selinux_domain , KSU_DEFAULT_SELINUX_DOMAIN );
7578
Original file line number Diff line number Diff line change @@ -166,14 +166,10 @@ void escape_to_root(void)
166166 profile -> capabilities .effective | CAP_DAC_READ_SEARCH ;
167167 memcpy (& cred -> cap_effective , & cap_for_ksud ,
168168 sizeof (cred -> cap_effective ));
169- memcpy (& cred -> cap_inheritable , & profile -> capabilities .effective ,
170- sizeof (cred -> cap_inheritable ));
171169 memcpy (& cred -> cap_permitted , & profile -> capabilities .effective ,
172170 sizeof (cred -> cap_permitted ));
173171 memcpy (& cred -> cap_bset , & profile -> capabilities .effective ,
174172 sizeof (cred -> cap_bset ));
175- memcpy (& cred -> cap_ambient , & profile -> capabilities .effective ,
176- sizeof (cred -> cap_ambient ));
177173
178174 setup_groups (profile , cred );
179175
You can’t perform that action at this time.
0 commit comments