|
@@ -3620,7 +3620,6 @@ static int smack_getprocattr(struct task_struct *p, char *name, char **value)
|
|
|
|
|
|
/**
|
|
|
* smack_setprocattr - Smack process attribute setting
|
|
|
- * @p: the object task
|
|
|
* @name: the name of the attribute in /proc/.../attr
|
|
|
* @value: the value to set
|
|
|
* @size: the size of the value
|
|
@@ -3630,8 +3629,7 @@ static int smack_getprocattr(struct task_struct *p, char *name, char **value)
|
|
|
*
|
|
|
* Returns the length of the smack label or an error code
|
|
|
*/
|
|
|
-static int smack_setprocattr(struct task_struct *p, char *name,
|
|
|
- void *value, size_t size)
|
|
|
+static int smack_setprocattr(const char *name, void *value, size_t size)
|
|
|
{
|
|
|
struct task_smack *tsp = current_security();
|
|
|
struct cred *new;
|
|
@@ -3639,13 +3637,6 @@ static int smack_setprocattr(struct task_struct *p, char *name,
|
|
|
struct smack_known_list_elem *sklep;
|
|
|
int rc;
|
|
|
|
|
|
- /*
|
|
|
- * Changing another process' Smack value is too dangerous
|
|
|
- * and supports no sane use case.
|
|
|
- */
|
|
|
- if (p != current)
|
|
|
- return -EPERM;
|
|
|
-
|
|
|
if (!smack_privileged(CAP_MAC_ADMIN) && list_empty(&tsp->smk_relabel))
|
|
|
return -EPERM;
|
|
|
|