linux-stable/firmware
Jari Ruusu 8021ccd34a Fix built-in early-load Intel microcode alignment
commit f5ae2ea634 upstream.

Intel Software Developer's Manual, volume 3, chapter 9.11.6 says:

 "Note that the microcode update must be aligned on a 16-byte boundary
  and the size of the microcode update must be 1-KByte granular"

When early-load Intel microcode is loaded from initramfs, userspace tool
'iucode_tool' has already 16-byte aligned those microcode bits in that
initramfs image.  Image that was created something like this:

 iucode_tool --write-earlyfw=FOO.cpio microcode-files...

However, when early-load Intel microcode is loaded from built-in
firmware BLOB using CONFIG_EXTRA_FIRMWARE= kernel config option, that
16-byte alignment is not guaranteed.

Fix this by forcing all built-in firmware BLOBs to 16-byte alignment.

[ If we end up having other firmware with much bigger alignment
  requirements, we might need to introduce some method for the firmware
  to specify it, this is the minimal "just increase the alignment a bit
  to account for this one special case" patch    - Linus ]

Signed-off-by: Jari Ruusu <jari.ruusu@gmail.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-01-23 08:19:38 +01:00
..
3com tokenring: delete all remaining driver support 2012-05-15 20:23:16 -04:00
acenic
adaptec
advansys
av7110
bnx2 bnx2: Update firmware and version 2011-03-14 15:00:12 -07:00
bnx2x bnx2x: Update firmware to 6.2.9 2011-03-31 17:03:36 -07:00
cis pcnet_cs: add cis of KTI PE520 pcmcia network card 2010-01-06 20:37:58 -08:00
cpia2
cxgb3 firmware: Remove obsolete Chelsio cxgb3 firmware 2012-08-02 06:23:25 -06:00
dsp56k
e100
edgeport
emi26
emi62 USB: emi62: Provide the correct bitstream firmware 2013-12-10 22:38:45 -08:00
ess
kaweth
keyspan
keyspan_pda Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
korg
matrox
myricom
ositech
qlogic firmware,IB/qib: revert firmware file move 2013-04-05 12:19:39 -07:00
r128
radeon
sb16
sun
tehuti
tigon
ttusb-budget
vicam
yam
yamaha
.gitignore
Makefile Fix built-in early-load Intel microcode alignment 2020-01-23 08:19:38 +01:00
README.AddingFirmware firmware: Update information in linux.git about adding firmware 2015-05-07 09:48:42 -06:00
WHENCE WHENCE: use https://linuxtv.org for LinuxTV URLs 2015-12-04 10:35:11 -02:00
atmsar11.HEX
ihex2fw.c firmware/ihex2fw.c: restore missing default in switch statement 2015-04-17 09:03:56 -04:00
mts_cdma.fw.ihex
mts_edge.fw.ihex
mts_gsm.fw.ihex
ti_3410.fw.ihex
ti_5052.fw.ihex
whiteheat.HEX
whiteheat_loader.HEX
whiteheat_loader_debug.HEX

README.AddingFirmware

	DO NOT ADD FIRMWARE TO THIS DIRECTORY.
	======================================

This directory is only here to contain firmware images extracted from old
device drivers which predate the common use of request_firmware().

As we update those drivers to use request_firmware() and keep a clean
separation between code and firmware, we put the extracted firmware
here.

This directory is _NOT_ for adding arbitrary new firmware images. The
place to add those is the separate linux-firmware repository:

    git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

That repository contains all these firmware images which have been
extracted from older drivers, as well various new firmware images which
we were never permitted to include in a GPL'd work, but which we _have_
been permitted to redistribute under separate cover.

To submit firmware to that repository, please send either a git binary
diff or preferably a git pull request to:
      linux-firmware@kernel.org
and also cc: to related mailing lists.

Your commit should include an update to the WHENCE file clearly
identifying the licence under which the firmware is available, and
that it is redistributable. If the licence is long and involved, it's
permitted to include it in a separate file and refer to it from the
WHENCE file.
And if it were possible, a changelog of the firmware itself.

Ideally, your commit should contain a Signed-Off-By: from someone
authoritative on the licensing of the firmware in question (i.e. from
within the company that owns the code).


WARNING:
=======

Don't send any "CONFIDENTIALITY STATEMENT" in your e-mail, patch or
request. Otherwise your firmware _will never be accepted_.

Maintainers are really busy, so don't expect a prompt reply.