On Fri, Feb 08, 2013 at 01:00:54PM -0800, John Johansen wrote:
>  /**
> + * __lookup_replace - lookup replacement information for a profile
> + * @ns - namespace the lookup occurs in
> + * @new - profile to lookup who it is replacing
> + * @noreplace - true if not replacing an existing profile
> + * @old - Returns: pointer to profile to replace (NO REFCOUNT)
> + * @rename - Returns: pointer to profile to rename (NO REFCOUNT)

old and rename do appear to be refcounted:

> ...
> +     if (r_old)
> +             *r_old = aa_get_profile(old);
> +     if (r_rename)
> +             *r_rename = aa_get_profile(rename);




> @@ -622,29 +623,40 @@ fail:
>  /**
>   * verify_head - unpack serialized stream header
>   * @e: serialized data read head (NOT NULL)
> + * @required: whether the header is required or optional
>   * @ns: Returns - namespace if one is specified else NULL (NOT NULL)
>   *
>   * Returns: error or 0 if header is good
>   */
> -static int verify_header(struct aa_ext *e, const char **ns)
> +static int verify_header(struct aa_ext *e, int required, const char **ns)
>  {
>       int error = -EPROTONOSUPPORT;
> +     const char *name = NULL;
> +     *ns = NULL;
> +
>       /* get the interface version */
>       if (!unpack_u32(e, &e->version, "version")) {
> -             audit_iface(NULL, NULL, "invalid profile format", e, error);
> -             return error;
> -     }
> +             if (required) {
> +                     audit_iface(NULL, NULL, "invalid profile format", e, 
> error);
> +                     return error;
> +             }

I know the message hasn't changed, but it feels like it could be more
specific about an expected version packet that was not found -- it might
make future debugging easier to have a more specific message.

Thanks

Attachment: signature.asc
Description: Digital signature

-- 
AppArmor mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/apparmor

Reply via email to