aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMimi Zohar <zohar@linux.vnet.ibm.com>2013-02-24 23:42:37 -0500
committerJames Morris <james.l.morris@oracle.com>2013-02-25 11:10:52 -0500
commit446d64e3e1154806092ac27de198dff1225797d9 (patch)
tree6ae7509b776f88bf7c28254e63ba34ddcd091a92
parenta2c2c3a71c25627e4840795b3c269918d0e71b28 (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.h10
-rw-r--r--security/integrity/ima/ima_policy.c11
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
234static 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
234static inline int disk_max_parts(struct gendisk *disk) 240static 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
727static 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);