Fix ima_policy.c sparse "warning: dereference of noderef expression" message, by accessing cred->uid using current_cred(). Changelog v1: - Change __cred to just cred (based on David Howell's comment)
Unified · Split
| @@ -99,6 +99,7 @@ static bool ima_match_rules(struct ima_measure_rule_entry *rule, · 98 unmodified lines | ||
| 99 | 99 | struct inode *inode, enum ima_hooks func, int mask) |
| 100 | 100 | { |
| 101 | 101 | struct task_struct *tsk = current; |
| 102 | + const struct cred *cred = current_cred(); | |
| 102 | 103 | int i; |
| 103 | 104 | |
| 104 | 105 | if ((rule->flags & IMA_FUNC) && rule->func != func) |
| @@ -108,7 +109,7 @@ static bool ima_match_rules(struct ima_measure_rule_entry *rule, · 3 unmodified lines | ||
| 108 | 109 | if ((rule->flags & IMA_FSMAGIC) |
| 109 | 110 | && rule->fsmagic != inode->i_sb->s_magic) |
| 110 | 111 | return false; |
| 111 | − if ((rule->flags & IMA_UID) && rule->uid != tsk->cred->uid) | |
| 112 | + if ((rule->flags & IMA_UID) && rule->uid != cred->uid) | |
| 112 | 113 | return false; |
| 113 | 114 | for (i = 0; i < MAX_LSM_RULES; i++) { |
| 114 | 115 | int rc = 0; |