From: Marcel Holtmann <marcel@holtmann.org>
To: Michael Buesch <mb@bu3sch.de>
Cc: Martin Langer <martin-langer@gmx.de>,
Arjan van de Ven <arjan@infradead.org>,
linux-kernel@vger.kernel.org, bcm43xx-dev@lists.berlios.de
Subject: Re: [RFC][PATCH 1/2] firmware version management: add firmware_version()
Date: Sun, 09 Jul 2006 16:57:02 +0200 [thread overview]
Message-ID: <1152457022.4573.10.camel@localhost> (raw)
In-Reply-To: <200607091644.53285.mb@bu3sch.de>
Hi Michael,
> > > > > It would be good if a driver knows which firmware version will be
> > > > > written to the hardware. I'm talking about external firmware files
> > > > > claimed by request_firmware().
> > > > >
> > > > > We know so many different firmware files for bcm43xx and it becomes
> > > > > more and more complicated without some firmware version management.
> > > > >
> > > > > This patch can create the md5sum of a firmware file. Then it looks into
> > > > > a table to figure out which version number is assigned to the hashcode.
> > > > > That table is placed in the driver code and an example for bcm43xx comes
> > > > > in my next mail. Any comments?
> > > >
> > > > why does this have to happen on the kernel side? Isn't it a lot easier
> > > > and better to let the userspace side of things do this work, and even
> > > > have a userspace file with the md5->version mapping? Or are there some
> > > > practical considerations that make that hard to impossible?
> > >
> > > I fully agree that we shouldn't put firmware versioning into the kernel
> > > drivers. The pattern you give to request_firmware() can be mapped to any
> > > file on the file system. And you also have the link to the device object
> > > and I prefer you export a sysfs file for the version so that the helper
> > > application loading the firmware can pick the right file.
> >
> > Bcm43xx has no helper application to upload the firmware. This is done
> > in the driver. It's RAM based hardware without a Flash-ROM. The driver
> > has to upload the firmware in the init phase after each reset.
> >
> > The driver gets a firmware file from /lib/firmware/ without knowing
> > which version this is. It's not possible to say enable this in the
> > driver if you find a firmware x and disable that if it's only version
> > y. That was my motivation to start thinking about firmware versioning.
> >
> > But in the meantime I think it's a security issue, too. A driver
> > should only accept firmware files with certified checksums. I guess it
> > would be really difficult to enter a machine by firmware hijacking. So,
> > I'm still in hope that this is only a paranoia on my side. But it's
> > worth to think about it.
>
> I really think drivers should only allow firmware files that are known
> to work. This should be verified by a hardcoded checksum in the driver.
> I support Martin's patch.
this should be done in the driver. So why do you try to enhance the
firmware_class to do this job. If your driver has special requirements
for firmware checks, then implement them. I don't see any advantage of
doing this kind of stuff in firmware_class at the moment.
Regards
Marcel
next prev parent reply other threads:[~2006-07-09 15:02 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-08 13:09 [RFC][PATCH 1/2] firmware version management: add firmware_version() Martin Langer
2006-07-08 13:31 ` Arjan van de Ven
2006-07-08 13:49 ` Marcel Holtmann
2006-07-09 12:21 ` Martin Langer
2006-07-09 13:25 ` Marcel Holtmann
2006-07-09 14:44 ` Michael Buesch
2006-07-09 14:57 ` Marcel Holtmann [this message]
2006-07-09 15:00 ` Jon Smirl
2006-07-09 14:51 ` Jon Smirl
2006-07-09 15:01 ` Arjan van de Ven
2006-07-09 15:25 ` Martin Langer
2006-07-09 19:09 ` Michael Buesch
2006-07-09 21:07 ` Arjan van de Ven
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1152457022.4573.10.camel@localhost \
--to=marcel@holtmann.org \
--cc=arjan@infradead.org \
--cc=bcm43xx-dev@lists.berlios.de \
--cc=linux-kernel@vger.kernel.org \
--cc=martin-langer@gmx.de \
--cc=mb@bu3sch.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.