> Subject: [EXT] Re: [PATCH v7,net-next,07/13] crypto: octeontx2: load microcode > and create engine groups > > External Email > > ---------------------------------------------------------------------- > On Mon, 12 Oct 2020 16:27:13 +0530 Srujana Challa wrote: > > +/* tar header as defined in POSIX 1003.1-1990. */ > > +struct tar_hdr_t { > > + char name[100]; > > + char mode[8]; > > + char uid[8]; > > + char gid[8]; > > + char size[12]; > > + char mtime[12]; > > + char chksum[8]; > > + char typeflag; > > + char linkname[100]; > > + char magic[6]; > > + char version[2]; > > + char uname[32]; > > + char gname[32]; > > + char devmajor[8]; > > + char devminor[8]; > > + char prefix[155]; > > +}; > > + > > +struct tar_blk_t { > > + union { > > + struct tar_hdr_t hdr; > > + char block[TAR_BLOCK_LEN]; > > + }; > > +}; > > In networking we've been pushing back on parsing firmware files > in the kernel. Why do you need to parse tar archives? We have 3 variants of crypto engines and each uses a different firmware file. So instead of 3 independent files in /lib/firmware, we have a consolidated tar file. The tar file is a container. Minimal parsing of firmware file is required to ensure parity between engine, firmware and driver. For example we verify version compatibility.