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