Lines Matching refs:sup

74 	struct ubifs_sb_node *sup;
160 sup = kzalloc(ALIGN(UBIFS_SB_NODE_SZ, c->min_io_size), GFP_KERNEL);
167 if (!sup || !mst || !idx || !ino || !cs) {
182 sup->hash_algo = cpu_to_le16(c->auth_hash_algo);
183 err = ubifs_hmac_wkm(c, sup->hmac_wkm);
187 sup->hash_algo = cpu_to_le16(0xffff);
190 sup->ch.node_type = UBIFS_SB_NODE;
191 sup->key_hash = UBIFS_KEY_HASH_R5;
192 sup->flags = cpu_to_le32(sup_flags);
193 sup->min_io_size = cpu_to_le32(c->min_io_size);
194 sup->leb_size = cpu_to_le32(c->leb_size);
195 sup->leb_cnt = cpu_to_le32(c->leb_cnt);
196 sup->max_leb_cnt = cpu_to_le32(c->max_leb_cnt);
197 sup->max_bud_bytes = cpu_to_le64(tmp64);
198 sup->log_lebs = cpu_to_le32(log_lebs);
199 sup->lpt_lebs = cpu_to_le32(lpt_lebs);
200 sup->orph_lebs = cpu_to_le32(orph_lebs);
201 sup->jhead_cnt = cpu_to_le32(DEFAULT_JHEADS_CNT);
202 sup->fanout = cpu_to_le32(DEFAULT_FANOUT);
203 sup->lsave_cnt = cpu_to_le32(c->lsave_cnt);
204 sup->fmt_version = cpu_to_le32(ubifs_default_version);
205 sup->time_gran = cpu_to_le32(DEFAULT_TIME_GRAN);
207 sup->default_compr = cpu_to_le16(c->mount_opts.compr_type);
209 sup->default_compr = cpu_to_le16(get_default_compressor(c));
211 generate_random_uuid(sup->uuid);
217 sup->rp_size = cpu_to_le64(tmp64);
218 sup->ro_compat_version = cpu_to_le32(UBIFS_RO_COMPAT_VERSION);
319 err = ubifs_write_node_hmac(c, sup, UBIFS_SB_NODE_SZ, 0, 0,
357 kfree(sup);
369 * @sup: superblock node
371 * This function validates superblock node @sup. Since most of data was read
376 static int validate_sb(struct ubifs_info *c, struct ubifs_sb_node *sup)
386 if (sup->key_fmt != UBIFS_SIMPLE_KEY_FMT) {
391 if (le32_to_cpu(sup->min_io_size) != c->min_io_size) {
393 le32_to_cpu(sup->min_io_size), c->min_io_size);
397 if (le32_to_cpu(sup->leb_size) != c->leb_size) {
399 le32_to_cpu(sup->leb_size), c->leb_size);
486 if (le32_to_cpu(sup->time_gran) > 1000000000 ||
487 le32_to_cpu(sup->time_gran) < 1) {
506 ubifs_dump_node(c, sup, ALIGN(UBIFS_SB_NODE_SZ, c->min_io_size));
520 struct ubifs_sb_node *sup;
523 sup = kmalloc(ALIGN(UBIFS_SB_NODE_SZ, c->min_io_size), GFP_NOFS);
524 if (!sup)
527 err = ubifs_read_node(c, sup, UBIFS_SB_NODE, UBIFS_SB_NODE_SZ,
530 kfree(sup);
534 return sup;
538 const struct ubifs_sb_node *sup)
540 unsigned int sup_flags = le32_to_cpu(sup->flags);
565 hash_algo = le16_to_cpu(sup->hash_algo);
584 if (ubifs_hmac_zero(c, sup->hmac)) {
585 err = ubifs_sb_verify_signature(c, sup);
590 if (ubifs_check_hmac(c, hmac_wkm, sup->hmac_wkm)) {
594 err = ubifs_node_verify_hmac(c, sup, sizeof(*sup),
608 * @sup: superblock node read with 'ubifs_read_sb_node()'
612 int ubifs_write_sb_node(struct ubifs_info *c, struct ubifs_sb_node *sup)
617 err = ubifs_prepare_node_hmac(c, sup, UBIFS_SB_NODE_SZ,
622 return ubifs_leb_change(c, UBIFS_SB_LNUM, sup, len);
636 struct ubifs_sb_node *sup;
644 sup = ubifs_read_sb_node(c);
645 if (IS_ERR(sup))
646 return PTR_ERR(sup);
648 c->sup_node = sup;
650 c->fmt_version = le32_to_cpu(sup->fmt_version);
651 c->ro_compat_version = le32_to_cpu(sup->ro_compat_version);
688 switch (sup->key_hash) {
700 c->key_fmt = sup->key_fmt;
712 c->leb_cnt = le32_to_cpu(sup->leb_cnt);
713 c->max_leb_cnt = le32_to_cpu(sup->max_leb_cnt);
714 c->max_bud_bytes = le64_to_cpu(sup->max_bud_bytes);
715 c->log_lebs = le32_to_cpu(sup->log_lebs);
716 c->lpt_lebs = le32_to_cpu(sup->lpt_lebs);
717 c->orph_lebs = le32_to_cpu(sup->orph_lebs);
718 c->jhead_cnt = le32_to_cpu(sup->jhead_cnt) + NONDATA_JHEADS_CNT;
719 c->fanout = le32_to_cpu(sup->fanout);
720 c->lsave_cnt = le32_to_cpu(sup->lsave_cnt);
721 c->rp_size = le64_to_cpu(sup->rp_size);
722 c->rp_uid = make_kuid(&init_user_ns, le32_to_cpu(sup->rp_uid));
723 c->rp_gid = make_kgid(&init_user_ns, le32_to_cpu(sup->rp_gid));
724 sup_flags = le32_to_cpu(sup->flags);
726 c->default_compr = le16_to_cpu(sup->default_compr);
728 c->vfs_sb->s_time_gran = le32_to_cpu(sup->time_gran);
729 memcpy(&c->uuid, &sup->uuid, 16);
735 err = authenticate_sb_node(c, sup);
758 sup->leb_cnt = cpu_to_le32(c->leb_cnt);
776 err = validate_sb(c, sup);
906 struct ubifs_sb_node *sup = c->sup_node;
919 sup->flags &= cpu_to_le32(~UBIFS_FLG_SPACE_FIXUP);
930 struct ubifs_sb_node *sup = c->sup_node;
946 sup->flags |= cpu_to_le32(UBIFS_FLG_ENCRYPTION);
948 err = ubifs_write_sb_node(c, sup);