ea.c (14da17f9c4a880e3418f7f04071df3cb2e8636e8) | ea.c (a19189e5535ed8fd191d8989fc39da1637cfa224) |
---|---|
1/* 2 * linux/fs/hpfs/ea.c 3 * 4 * Mikulas Patocka (mikulas@artax.karlin.mff.cuni.cz), 1998-1999 5 * 6 * handling extended attributes 7 */ 8 --- 37 unchanged lines hidden (view full) --- 46 } 47 } 48} 49 50static char *get_indirect_ea(struct super_block *s, int ano, secno a, int size) 51{ 52 char *ret; 53 if (!(ret = kmalloc(size + 1, GFP_NOFS))) { | 1/* 2 * linux/fs/hpfs/ea.c 3 * 4 * Mikulas Patocka (mikulas@artax.karlin.mff.cuni.cz), 1998-1999 5 * 6 * handling extended attributes 7 */ 8 --- 37 unchanged lines hidden (view full) --- 46 } 47 } 48} 49 50static char *get_indirect_ea(struct super_block *s, int ano, secno a, int size) 51{ 52 char *ret; 53 if (!(ret = kmalloc(size + 1, GFP_NOFS))) { |
54 pr_warn("out of memory for EA\n"); | 54 pr_err("out of memory for EA\n"); |
55 return NULL; 56 } 57 if (hpfs_ea_read(s, a, ano, 0, size, ret)) { 58 kfree(ret); 59 return NULL; 60 } 61 ret[size] = 0; 62 return ret; --- 71 unchanged lines hidden (view full) --- 134 secno a; 135 struct extended_attribute *ea; 136 struct extended_attribute *ea_end = fnode_end_ea(fnode); 137 for (ea = fnode_ea(fnode); ea < ea_end; ea = next_ea(ea)) 138 if (!strcmp(ea->name, key)) { 139 if (ea_indirect(ea)) 140 return get_indirect_ea(s, ea_in_anode(ea), ea_sec(ea), *size = ea_len(ea)); 141 if (!(ret = kmalloc((*size = ea_valuelen(ea)) + 1, GFP_NOFS))) { | 55 return NULL; 56 } 57 if (hpfs_ea_read(s, a, ano, 0, size, ret)) { 58 kfree(ret); 59 return NULL; 60 } 61 ret[size] = 0; 62 return ret; --- 71 unchanged lines hidden (view full) --- 134 secno a; 135 struct extended_attribute *ea; 136 struct extended_attribute *ea_end = fnode_end_ea(fnode); 137 for (ea = fnode_ea(fnode); ea < ea_end; ea = next_ea(ea)) 138 if (!strcmp(ea->name, key)) { 139 if (ea_indirect(ea)) 140 return get_indirect_ea(s, ea_in_anode(ea), ea_sec(ea), *size = ea_len(ea)); 141 if (!(ret = kmalloc((*size = ea_valuelen(ea)) + 1, GFP_NOFS))) { |
142 pr_warn("out of memory for EA\n"); | 142 pr_err("out of memory for EA\n"); |
143 return NULL; 144 } 145 memcpy(ret, ea_data(ea), ea_valuelen(ea)); 146 ret[ea_valuelen(ea)] = 0; 147 return ret; 148 } 149 a = le32_to_cpu(fnode->ea_secno); 150 len = le32_to_cpu(fnode->ea_size_l); --- 9 unchanged lines hidden (view full) --- 160 } 161 if (hpfs_ea_read(s, a, ano, pos, 4, ex)) return NULL; 162 if (hpfs_ea_read(s, a, ano, pos + 4, ea->namelen + 1 + (ea_indirect(ea) ? 8 : 0), ex + 4)) 163 return NULL; 164 if (!strcmp(ea->name, key)) { 165 if (ea_indirect(ea)) 166 return get_indirect_ea(s, ea_in_anode(ea), ea_sec(ea), *size = ea_len(ea)); 167 if (!(ret = kmalloc((*size = ea_valuelen(ea)) + 1, GFP_NOFS))) { | 143 return NULL; 144 } 145 memcpy(ret, ea_data(ea), ea_valuelen(ea)); 146 ret[ea_valuelen(ea)] = 0; 147 return ret; 148 } 149 a = le32_to_cpu(fnode->ea_secno); 150 len = le32_to_cpu(fnode->ea_size_l); --- 9 unchanged lines hidden (view full) --- 160 } 161 if (hpfs_ea_read(s, a, ano, pos, 4, ex)) return NULL; 162 if (hpfs_ea_read(s, a, ano, pos + 4, ea->namelen + 1 + (ea_indirect(ea) ? 8 : 0), ex + 4)) 163 return NULL; 164 if (!strcmp(ea->name, key)) { 165 if (ea_indirect(ea)) 166 return get_indirect_ea(s, ea_in_anode(ea), ea_sec(ea), *size = ea_len(ea)); 167 if (!(ret = kmalloc((*size = ea_valuelen(ea)) + 1, GFP_NOFS))) { |
168 pr_warn("out of memory for EA\n"); | 168 pr_err("out of memory for EA\n"); |
169 return NULL; 170 } 171 if (hpfs_ea_read(s, a, ano, pos + 4 + ea->namelen + 1, ea_valuelen(ea), ret)) { 172 kfree(ret); 173 return NULL; 174 } 175 ret[ea_valuelen(ea)] = 0; 176 return ret; --- 191 unchanged lines hidden --- | 169 return NULL; 170 } 171 if (hpfs_ea_read(s, a, ano, pos + 4 + ea->namelen + 1, ea_valuelen(ea), ret)) { 172 kfree(ret); 173 return NULL; 174 } 175 ret[ea_valuelen(ea)] = 0; 176 return ret; --- 191 unchanged lines hidden --- |