diff options
author | Mimi Zohar <zohar@linux.vnet.ibm.com> | 2013-02-24 23:42:37 -0500 |
---|---|---|
committer | James Morris <james.l.morris@oracle.com> | 2013-02-25 11:10:52 -0500 |
commit | 446d64e3e1154806092ac27de198dff1225797d9 (patch) | |
tree | 6ae7509b776f88bf7c28254e63ba34ddcd091a92 | |
parent | a2c2c3a71c25627e4840795b3c269918d0e71b28 (diff) |
block: fix part_pack_uuid() build error
Commit "85865c1 ima: add policy support for file system uuid"
introduced a CONFIG_BLOCK dependency. This patch defines a
wrapper called blk_part_pack_uuid(), which returns -EINVAL,
when CONFIG_BLOCK is not defined.
security/integrity/ima/ima_policy.c:538:4: error: implicit declaration
of function 'part_pack_uuid' [-Werror=implicit-function-declaration]
Changelog v2:
- Reference commit number in patch description
Changelog v1:
- rename ima_part_pack_uuid() to blk_part_pack_uuid()
- resolve scripts/checkpatch.pl warnings
Changelog v0:
- fix UUID scripts/Lindent msgs
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: David Rientjes <rientjes@google.com>
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Acked-by: David Rientjes <rientjes@google.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: James Morris <james.l.morris@oracle.com>
-rw-r--r-- | include/linux/genhd.h | 10 | ||||
-rw-r--r-- | security/integrity/ima/ima_policy.c | 11 |
2 files changed, 16 insertions, 5 deletions
diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 79b8bba19363..9f3c275e053e 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h | |||
@@ -231,6 +231,12 @@ static inline void part_pack_uuid(const u8 *uuid_str, u8 *to) | |||
231 | } | 231 | } |
232 | } | 232 | } |
233 | 233 | ||
234 | static inline int blk_part_pack_uuid(const u8 *uuid_str, u8 *to) | ||
235 | { | ||
236 | part_pack_uuid(uuid_str, to); | ||
237 | return 0; | ||
238 | } | ||
239 | |||
234 | static inline int disk_max_parts(struct gendisk *disk) | 240 | static inline int disk_max_parts(struct gendisk *disk) |
235 | { | 241 | { |
236 | if (disk->flags & GENHD_FL_EXT_DEVT) | 242 | if (disk->flags & GENHD_FL_EXT_DEVT) |
@@ -718,6 +724,10 @@ static inline dev_t blk_lookup_devt(const char *name, int partno) | |||
718 | return devt; | 724 | return devt; |
719 | } | 725 | } |
720 | 726 | ||
727 | static inline int blk_part_pack_uuid(const u8 *uuid_str, u8 *to) | ||
728 | { | ||
729 | return -EINVAL; | ||
730 | } | ||
721 | #endif /* CONFIG_BLOCK */ | 731 | #endif /* CONFIG_BLOCK */ |
722 | 732 | ||
723 | #endif /* _LINUX_GENHD_H */ | 733 | #endif /* _LINUX_GENHD_H */ |
diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c index b27535a13a79..399433ad614e 100644 --- a/security/integrity/ima/ima_policy.c +++ b/security/integrity/ima/ima_policy.c | |||
@@ -176,7 +176,7 @@ static bool ima_match_rules(struct ima_rule_entry *rule, | |||
176 | && rule->fsmagic != inode->i_sb->s_magic) | 176 | && rule->fsmagic != inode->i_sb->s_magic) |
177 | return false; | 177 | return false; |
178 | if ((rule->flags & IMA_FSUUID) && | 178 | if ((rule->flags & IMA_FSUUID) && |
179 | memcmp(rule->fsuuid, inode->i_sb->s_uuid, sizeof(rule->fsuuid))) | 179 | memcmp(rule->fsuuid, inode->i_sb->s_uuid, sizeof(rule->fsuuid))) |
180 | return false; | 180 | return false; |
181 | if ((rule->flags & IMA_UID) && !uid_eq(rule->uid, cred->uid)) | 181 | if ((rule->flags & IMA_UID) && !uid_eq(rule->uid, cred->uid)) |
182 | return false; | 182 | return false; |
@@ -530,14 +530,15 @@ static int ima_parse_rule(char *rule, struct ima_rule_entry *entry) | |||
530 | ima_log_string(ab, "fsuuid", args[0].from); | 530 | ima_log_string(ab, "fsuuid", args[0].from); |
531 | 531 | ||
532 | if (memchr_inv(entry->fsuuid, 0x00, | 532 | if (memchr_inv(entry->fsuuid, 0x00, |
533 | sizeof(entry->fsuuid))) { | 533 | sizeof(entry->fsuuid))) { |
534 | result = -EINVAL; | 534 | result = -EINVAL; |
535 | break; | 535 | break; |
536 | } | 536 | } |
537 | 537 | ||
538 | part_pack_uuid(args[0].from, entry->fsuuid); | 538 | result = blk_part_pack_uuid(args[0].from, |
539 | entry->flags |= IMA_FSUUID; | 539 | entry->fsuuid); |
540 | result = 0; | 540 | if (!result) |
541 | entry->flags |= IMA_FSUUID; | ||
541 | break; | 542 | break; |
542 | case Opt_uid: | 543 | case Opt_uid: |
543 | ima_log_string(ab, "uid", args[0].from); | 544 | ima_log_string(ab, "uid", args[0].from); |