On Thu, Oct 31, 2019 at 01:44:10PM +0000, Lee Jones wrote: > On Sun, 20 Oct 2019, Jeff LaBundy wrote: > > + * Author: Jeff LaBundy <jeff@xxxxxxxxxxx> > > + * > > + * These devices rely on application-specific register settings and calibration > > + * data developed in and exported from a suite of GUIs offered by the vendor. A > > + * separate tool converts the GUIs' ASCII-based output into a standard firmware > > + * file parsed by the driver. > > This troubles me somewhat. So here we take a C header file which is > the output of a vendor supplied configuration tool, convert it to a > bespoke file format using a Python script authored by yourself, which > we masquerade as Linux firmware in order to set-up the hardware. > > Is that correct? > > What is preventing a very naughty person from providing their own > register map (firmware) in order to read/write unsuitable registers > from kernel context for their own gains; simply by swapping out a file > contained in userspace? How is it different from, let's say, Intel WiFi firmware that you load into the kernel and then into the card every time you boot up your laptop? Thanks. -- Dmitry