2010-08-11 09:28:11

by Jiri Slaby

[permalink] [raw]
Subject: [PATCH 1/1] AppArmor: fix task_setrlimit prototype

After rlimits tree was merged we get the following errors:
security/apparmor/lsm.c:663:2: warning: initialization from incompatible pointer type

It is because AppArmor was merged in the meantime, but uses the old
prototype. So fix it by adding struct task_struct as a first parameter
of apparmor_task_setrlimit.

NOTE that this is ONLY a compilation warning fix (and crashes caused
by that). It needs proper handling in AppArmor depending on who is the
'task'.

Signed-off-by: Jiri Slaby <[email protected]>
Cc: John Johansen <[email protected]>
Cc: James Morris <[email protected]>
---
security/apparmor/lsm.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
index 8db33a8..06f4d02 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -607,8 +607,8 @@ static int apparmor_setprocattr(struct task_struct *task, char *name,
return error;
}

-static int apparmor_task_setrlimit(unsigned int resource,
- struct rlimit *new_rlim)
+static int apparmor_task_setrlimit(struct task_struct *task,
+ unsigned int resource, struct rlimit *new_rlim)
{
struct aa_profile *profile = aa_current_profile();
int error = 0;
--
1.7.2.1


2010-08-11 13:17:20

by John Johansen

[permalink] [raw]
Subject: Re: [PATCH 1/1] AppArmor: fix task_setrlimit prototype

On 08/11/2010 05:28 AM, Jiri Slaby wrote:
> After rlimits tree was merged we get the following errors:
> security/apparmor/lsm.c:663:2: warning: initialization from incompatible pointer type
>
> It is because AppArmor was merged in the meantime, but uses the old
> prototype. So fix it by adding struct task_struct as a first parameter
> of apparmor_task_setrlimit.
>
> NOTE that this is ONLY a compilation warning fix (and crashes caused
> by that). It needs proper handling in AppArmor depending on who is the
> 'task'.
>
> Signed-off-by: Jiri Slaby <[email protected]>
> Cc: John Johansen <[email protected]>
> Cc: James Morris <[email protected]>
> ---
> security/apparmor/lsm.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
> index 8db33a8..06f4d02 100644
> --- a/security/apparmor/lsm.c
> +++ b/security/apparmor/lsm.c
> @@ -607,8 +607,8 @@ static int apparmor_setprocattr(struct task_struct *task, char *name,
> return error;
> }
>
> -static int apparmor_task_setrlimit(unsigned int resource,
> - struct rlimit *new_rlim)
> +static int apparmor_task_setrlimit(struct task_struct *task,
> + unsigned int resource, struct rlimit *new_rlim)
> {
> struct aa_profile *profile = aa_current_profile();
> int error = 0;

thanks Jiri, I'll get an update for apparmor handling task part out today.

Signed-off-by: John Johansen <[email protected]>

2010-08-15 23:22:04

by James Morris

[permalink] [raw]
Subject: Re: [PATCH 1/1] AppArmor: fix task_setrlimit prototype

On Wed, 11 Aug 2010, John Johansen wrote:

> > -static int apparmor_task_setrlimit(unsigned int resource,
> > - struct rlimit *new_rlim)
> > +static int apparmor_task_setrlimit(struct task_struct *task,
> > + unsigned int resource, struct rlimit *new_rlim)
> > {
> > struct aa_profile *profile = aa_current_profile();
> > int error = 0;
>
> thanks Jiri, I'll get an update for apparmor handling task part out today.
>
> Signed-off-by: John Johansen <[email protected]>

I added my own merge fix for this before seeing this email -- please send
me an update against

git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6#next


--
James Morris
<[email protected]>