lpt.c (7483d45f0aee3afc0646d185cabd4af9f6cab58c) | lpt.c (7c46d0ae29ba880963db283706950de7aa86c0a0) |
---|---|
1/* 2 * This file is part of UBIFS. 3 * 4 * Copyright (C) 2006-2008 Nokia Corporation. 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License version 2 as published by 8 * the Free Software Foundation. --- 912 unchanged lines hidden (view full) --- 921 uint16_t crc, calc_crc; 922 923 crc = ubifs_unpack_bits(&addr, &pos, UBIFS_LPT_CRC_BITS); 924 calc_crc = crc16(-1, buf + UBIFS_LPT_CRC_BYTES, 925 len - UBIFS_LPT_CRC_BYTES); 926 if (crc != calc_crc) { 927 ubifs_err("invalid crc in LPT node: crc %hx calc %hx", crc, 928 calc_crc); | 1/* 2 * This file is part of UBIFS. 3 * 4 * Copyright (C) 2006-2008 Nokia Corporation. 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License version 2 as published by 8 * the Free Software Foundation. --- 912 unchanged lines hidden (view full) --- 921 uint16_t crc, calc_crc; 922 923 crc = ubifs_unpack_bits(&addr, &pos, UBIFS_LPT_CRC_BITS); 924 calc_crc = crc16(-1, buf + UBIFS_LPT_CRC_BYTES, 925 len - UBIFS_LPT_CRC_BYTES); 926 if (crc != calc_crc) { 927 ubifs_err("invalid crc in LPT node: crc %hx calc %hx", crc, 928 calc_crc); |
929 dbg_dump_stack(); | 929 dump_stack(); |
930 return -EINVAL; 931 } 932 return 0; 933} 934 935/** 936 * check_lpt_type - check LPT node type is correct. 937 * @c: UBIFS file-system description object --- 6 unchanged lines hidden (view full) --- 944static int check_lpt_type(uint8_t **addr, int *pos, int type) 945{ 946 int node_type; 947 948 node_type = ubifs_unpack_bits(addr, pos, UBIFS_LPT_TYPE_BITS); 949 if (node_type != type) { 950 ubifs_err("invalid type (%d) in LPT node type %d", node_type, 951 type); | 930 return -EINVAL; 931 } 932 return 0; 933} 934 935/** 936 * check_lpt_type - check LPT node type is correct. 937 * @c: UBIFS file-system description object --- 6 unchanged lines hidden (view full) --- 944static int check_lpt_type(uint8_t **addr, int *pos, int type) 945{ 946 int node_type; 947 948 node_type = ubifs_unpack_bits(addr, pos, UBIFS_LPT_TYPE_BITS); 949 if (node_type != type) { 950 ubifs_err("invalid type (%d) in LPT node type %d", node_type, 951 type); |
952 dbg_dump_stack(); | 952 dump_stack(); |
953 return -EINVAL; 954 } 955 return 0; 956} 957 958/** 959 * unpack_pnode - unpack a pnode. 960 * @c: UBIFS file-system description object --- 281 unchanged lines hidden (view full) --- 1242 nnode->level = c->lpt_hght; 1243 } 1244 nnode->parent = parent; 1245 nnode->iip = iip; 1246 return 0; 1247 1248out: 1249 ubifs_err("error %d reading nnode at %d:%d", err, lnum, offs); | 953 return -EINVAL; 954 } 955 return 0; 956} 957 958/** 959 * unpack_pnode - unpack a pnode. 960 * @c: UBIFS file-system description object --- 281 unchanged lines hidden (view full) --- 1242 nnode->level = c->lpt_hght; 1243 } 1244 nnode->parent = parent; 1245 nnode->iip = iip; 1246 return 0; 1247 1248out: 1249 ubifs_err("error %d reading nnode at %d:%d", err, lnum, offs); |
1250 dbg_dump_stack(); | 1250 dump_stack(); |
1251 kfree(nnode); 1252 return err; 1253} 1254 1255/** 1256 * read_pnode - read a pnode from flash and link it to the tree in memory. 1257 * @c: UBIFS file-system description object 1258 * @parent: parent nnode --- 49 unchanged lines hidden (view full) --- 1308 pnode->iip = iip; 1309 set_pnode_lnum(c, pnode); 1310 c->pnodes_have += 1; 1311 return 0; 1312 1313out: 1314 ubifs_err("error %d reading pnode at %d:%d", err, lnum, offs); 1315 dbg_dump_pnode(c, pnode, parent, iip); | 1251 kfree(nnode); 1252 return err; 1253} 1254 1255/** 1256 * read_pnode - read a pnode from flash and link it to the tree in memory. 1257 * @c: UBIFS file-system description object 1258 * @parent: parent nnode --- 49 unchanged lines hidden (view full) --- 1308 pnode->iip = iip; 1309 set_pnode_lnum(c, pnode); 1310 c->pnodes_have += 1; 1311 return 0; 1312 1313out: 1314 ubifs_err("error %d reading pnode at %d:%d", err, lnum, offs); 1315 dbg_dump_pnode(c, pnode, parent, iip); |
1316 dbg_dump_stack(); | 1316 dump_stack(); |
1317 dbg_msg("calc num: %d", calc_pnode_num_from_parent(c, parent, iip)); 1318 kfree(pnode); 1319 return err; 1320} 1321 1322/** 1323 * read_ltab - read LPT's own lprops table. 1324 * @c: UBIFS file-system description object --- 954 unchanged lines hidden --- | 1317 dbg_msg("calc num: %d", calc_pnode_num_from_parent(c, parent, iip)); 1318 kfree(pnode); 1319 return err; 1320} 1321 1322/** 1323 * read_ltab - read LPT's own lprops table. 1324 * @c: UBIFS file-system description object --- 954 unchanged lines hidden --- |