Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update From Base #11

Merged
merged 84 commits into from
Jan 29, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
838cda3
x86/PCI: Enable AMD 64-bit window on resume
Jan 16, 2018
cc01572
xfrm: Add SA to hardware at the end of xfrm_state_construct()
Jan 17, 2018
f61145f
drm/vc4: Flush the caches before the bin jobs, as well.
anholt Dec 21, 2017
17b11b7
drm/vc4: Fix NULL pointer dereference in vc4_save_hang_state()
Jan 18, 2018
aa5dd6f
xfrm: fix error flow in case of add state fails
aviadye Jan 18, 2018
f30fefd
Input: stmfts,s6sy671 - add SPDX identifier
Jan 22, 2018
e5c9c6a
Input: xpad - add support for PDP Xbox One controllers
TheUbuntuGuy Jan 22, 2018
f5d07b9
Input: trackpoint - force 3 buttons if 0 button is reported
pyma1 Jan 19, 2018
2a924d7
Input: trackpoint - only expose supported controls for Elan, ALPS and…
dtor Jan 5, 2018
5efec5c
xfrm: Fix eth_hdr(skb)->h_proto to reflect inner IP version
Jan 22, 2018
545d8ae
xfrm: fix boolean assignment in xfrm_get_type_offload
GustavoARSilva Jan 22, 2018
e2ac83d
x86/ftrace: Fix ORC unwinding from ftrace handlers
jpoimboe Jan 23, 2018
1f07476
Merge tag 'pci-v4.15-fixes-3' of git://git.kernel.org/pub/scm/linux/k…
torvalds Jan 23, 2018
6be7fa3
ftrace, orc, x86: Handle ftrace dynamically allocated trampolines
rostedt Jan 23, 2018
2ee5b92
tracing: Update stack trace skipping for ORC unwinder
rostedt Jan 23, 2018
02612bb
pppoe: take ->needed_headroom of lower device into account on xmit
Jan 22, 2018
e9191ff
ipv6: Fix getsockopt() for sockets with default IPV6_AUTOFLOWLABEL
bwh-ct Jan 22, 2018
848b159
vmxnet3: repair memory leak
nhorman Jan 22, 2018
a97cb0e
futex: Fix OWNER_DEAD fixup
Jan 22, 2018
88f1c87
locking/lockdep: Avoid triggering hardlockup from debug_show_all_locks()
htejun Jan 22, 2018
ce48c14
sched/core: Fix cpu.max vs. cpuhotplug deadlock
Jan 22, 2018
1df3738
x86/retpoline: Remove the esp/rsp thunk
Waiman-Long Jan 22, 2018
40d4071
perf/x86/amd/power: Do not load AMD power module on !AMD platforms
liangxiao1 Jan 22, 2018
7e702d1
x86/microcode/intel: Extend BDW late-loading further with LLC size check
jiazhang0 Jan 23, 2018
1d080f0
x86/microcode: Fix again accessing initrd after having been freed
suryasaimadhu Jan 23, 2018
1de1ea7
KVM: s390: add proper locking for CMMA migration bitmap
borntraeger Dec 22, 2017
bda646d
Merge tag 'kvm-s390-master-4.15-3' of git://git.kernel.org/pub/scm/li…
rkrcmar Jan 24, 2018
97edf7c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/gi…
davem330 Jan 24, 2018
1ecdaea
mlxsw: spectrum_router: Don't log an error on missing neighbor
Jan 24, 2018
5132ede
Revert "module: Add retpoline tag to VERMAGIC"
gregkh Jan 24, 2018
ce30f26
MAINTAINERS: clarify that only verified bugs should be submitted to s…
wtarreau Jan 4, 2018
03fae44
Merge tag 'trace-v4.15-rc9' of git://git.kernel.org/pub/scm/linux/ker…
torvalds Jan 24, 2018
e4fd493
Btrfs: fix stale entries in readdir
Jan 23, 2018
560a660
net: sched: em_nbyte: don't add the data offset twice
Blub Jan 18, 2018
d3303a6
net: sched: fix TCF_LAYER_LINK case in tcf_get_base_ptr
Blub Jan 18, 2018
3eab2ad
MAINTAINERS: update email address for James Morris
Jan 24, 2018
581e722
kcm: Only allow TCP sockets to be attached to a KCM mux
Jan 24, 2018
e557124
kcm: Check if sk_user_data already set in kcm_attach
Jan 24, 2018
88d1d76
Merge branch 'kcm-fix-two-syzcaller-issues'
davem330 Jan 24, 2018
4de4947
qed: Remove reserveration of dpi for kernel
mkalderon Jan 23, 2018
1fe280a
qed: Free reserved MR tid
mkalderon Jan 23, 2018
ee45bea
Merge branch 'qed-rdma-bug-fixes'
davem330 Jan 24, 2018
aebb48f
sparc64: fix typo in CONFIG_CRYPTO_DES_SPARC64 => CONFIG_CRYPTO_CAMEL…
montjoie Jan 23, 2018
b7051cb
i40e: flower: check if TC offload is enabled on a netdev
Jan 23, 2018
e9cb423
vhost: use mutex_lock_nested() in vhost_dev_lock_vqs()
jasowang Jan 23, 2018
6f3180a
vhost: do not try to access device IOTLB when not initialized
jasowang Jan 23, 2018
060403f
Revert "Input: synaptics_rmi4 - use devm_device_add_group() for attri…
ndyer Jan 24, 2018
45d6e54
net/ibm/emac: add 8192 rx/tx fifo size
Jan 24, 2018
624ca9c
net/ibm/emac: wrong bit is used for STA control register write
Jan 24, 2018
f165495
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
torvalds Jan 24, 2018
5b7d279
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
torvalds Jan 25, 2018
7e3f8e9
Merge tag 'drm-misc-fixes-2018-01-24' of git://anongit.freedesktop.or…
airlied Jan 25, 2018
82d9485
perf/core: Fix lock inversion between perf,trace,cpuhp
Jan 9, 2018
43fa87f
perf/core: Fix another perf,trace,cpuhp lock inversion
Jan 9, 2018
0c7296c
perf/core: Fix ctx::mutex deadlock
Jan 9, 2018
efe951d
perf/x86: Fix perf,x86,cpuhp deadlock
Jan 10, 2018
4ee806d
net: tcp: close sock if net namespace is exiting
ddstreet Jan 18, 2018
525273f
Merge tag 'for-4.15-tag' of git://git.kernel.org/pub/scm/linux/kernel…
torvalds Jan 25, 2018
6e20630
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
torvalds Jan 25, 2018
f15ca72
net: don't call update_pmtu unconditionally
NicolasDichtel Jan 25, 2018
0fd189a
drm/nouveau: Move irq setup/teardown to pci ctor/dtor
Lyude Jan 25, 2018
6793f1c
orangefs: fix deadlock; do not write i_size in read_iter
Jan 26, 2018
993ca20
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
torvalds Jan 26, 2018
a78e936
r8169: fix memory corruption on retrieval of hardware statistics.
Jan 26, 2018
1e19c4d
net: vrf: Add support for sends to local broadcast address
dsahern Jan 25, 2018
baa35cc
Merge branch 'linux-4.15' of git://github.com/skeggsb/linux into drm-…
airlied Jan 26, 2018
5beda7d
x86/mm/64: Fix vmapped stack syncing on very-large-memory 4-level sys…
amluto Jan 25, 2018
36b3a77
x86/mm/64: Tighten up vmalloc_fault() sanity checks on 5-level kernels
amluto Jan 25, 2018
6572cc2
Update the RISC-V MAINTAINERS file
palmer-dabbelt Jan 24, 2018
dd5684e
dccp: don't restart ccid2_hc_tx_rto_expire() if sk in closed state
akodanev Jan 26, 2018
ba3169f
VSOCK: set POLLOUT | POLLWRNORM for TCP_CLOSING
stefanhaRH Jan 26, 2018
db21854
Merge tag 'drm-fixes-for-v4.15-rc10-2' of git://people.freedesktop.or…
torvalds Jan 26, 2018
ba804bb
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
torvalds Jan 26, 2018
c4e0ca7
Merge tag 'riscv-for-linus-4.15-maintainers' of git://git.kernel.org/…
torvalds Jan 26, 2018
8a95b74
x86: Mark hpa as a "Designated Reviewer" for the time being
Jan 25, 2018
d5421ea
hrtimer: Reset hrtimer cpu base proper on CPU hotplug
KAGA-KOKO Jan 26, 2018
dd08516
x86/ftrace: Add one more ENDPROC annotation
jpoimboe Jan 28, 2018
8c76e31
Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/s…
torvalds Jan 28, 2018
39e3836
Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/…
torvalds Jan 28, 2018
6244419
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm…
torvalds Jan 28, 2018
07b0137
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/sc…
torvalds Jan 28, 2018
32c6cdf
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/l…
torvalds Jan 28, 2018
24b1ccc
Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linu…
torvalds Jan 28, 2018
d8a5b80
Linux 4.15
torvalds Jan 28, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 13 additions & 15 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,15 @@ trivial patch so apply some common sense.

7. When sending security related changes or reports to a maintainer
please Cc: [email protected], especially if the maintainer
does not respond.
does not respond. Please keep in mind that the security team is
a small set of people who can be efficient only when working on
verified bugs. Please only Cc: this list when you have identified
that the bug would present a short-term risk to other users if it
were publicly disclosed. For example, reports of address leaks do
not represent an immediate threat and are better handled publicly,
and ideally, should come with a patch proposal. Please do not send
automated reports to this list either. Such bugs will be handled
better and faster in the usual public places.

8. Happy hacking.

Expand Down Expand Up @@ -6609,16 +6617,6 @@ L: [email protected]
S: Maintained
F: drivers/i2c/i2c-stub.c

i386 BOOT CODE
M: "H. Peter Anvin" <[email protected]>
S: Maintained
F: arch/x86/boot/

i386 SETUP CODE / CPU ERRATA WORKAROUNDS
M: "H. Peter Anvin" <[email protected]>
T: git git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup.git
S: Maintained

IA64 (Itanium) PLATFORM
M: Tony Luck <[email protected]>
M: Fenghua Yu <[email protected]>
Expand Down Expand Up @@ -11651,8 +11649,8 @@ F: drivers/mtd/nand/r852.h
RISC-V ARCHITECTURE
M: Palmer Dabbelt <[email protected]>
M: Albert Ou <[email protected]>
L: [email protected].org
T: git https://github.com/riscv/riscv-linux
L: [email protected].org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux.git
S: Supported
F: arch/riscv/
K: riscv
Expand Down Expand Up @@ -12233,7 +12231,7 @@ M: Security Officers <[email protected]>
S: Supported

SECURITY SUBSYSTEM
M: James Morris <[email protected]>
M: James Morris <[email protected]>
M: "Serge E. Hallyn" <[email protected]>
L: [email protected] (suggested Cc:)
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security.git
Expand Down Expand Up @@ -14858,7 +14856,7 @@ F: net/x25/
X86 ARCHITECTURE (32-BIT AND 64-BIT)
M: Thomas Gleixner <[email protected]>
M: Ingo Molnar <[email protected]>
M: "H. Peter Anvin" <[email protected]>
R: "H. Peter Anvin" <[email protected]>
M: [email protected]
L: [email protected]
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/core
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
VERSION = 4
PATCHLEVEL = 15
SUBLEVEL = 0
EXTRAVERSION = -rc9
EXTRAVERSION =
NAME = Fearless Coyote

# *DOCUMENTATION*
Expand Down
18 changes: 11 additions & 7 deletions arch/s390/kvm/kvm-s390.c
Original file line number Diff line number Diff line change
Expand Up @@ -769,7 +769,7 @@ static void kvm_s390_sync_request_broadcast(struct kvm *kvm, int req)

/*
* Must be called with kvm->srcu held to avoid races on memslots, and with
* kvm->lock to avoid races with ourselves and kvm_s390_vm_stop_migration.
* kvm->slots_lock to avoid races with ourselves and kvm_s390_vm_stop_migration.
*/
static int kvm_s390_vm_start_migration(struct kvm *kvm)
{
Expand Down Expand Up @@ -825,7 +825,7 @@ static int kvm_s390_vm_start_migration(struct kvm *kvm)
}

/*
* Must be called with kvm->lock to avoid races with ourselves and
* Must be called with kvm->slots_lock to avoid races with ourselves and
* kvm_s390_vm_start_migration.
*/
static int kvm_s390_vm_stop_migration(struct kvm *kvm)
Expand All @@ -840,6 +840,8 @@ static int kvm_s390_vm_stop_migration(struct kvm *kvm)

if (kvm->arch.use_cmma) {
kvm_s390_sync_request_broadcast(kvm, KVM_REQ_STOP_MIGRATION);
/* We have to wait for the essa emulation to finish */
synchronize_srcu(&kvm->srcu);
vfree(mgs->pgste_bitmap);
}
kfree(mgs);
Expand All @@ -849,22 +851,20 @@ static int kvm_s390_vm_stop_migration(struct kvm *kvm)
static int kvm_s390_vm_set_migration(struct kvm *kvm,
struct kvm_device_attr *attr)
{
int idx, res = -ENXIO;
int res = -ENXIO;

mutex_lock(&kvm->lock);
mutex_lock(&kvm->slots_lock);
switch (attr->attr) {
case KVM_S390_VM_MIGRATION_START:
idx = srcu_read_lock(&kvm->srcu);
res = kvm_s390_vm_start_migration(kvm);
srcu_read_unlock(&kvm->srcu, idx);
break;
case KVM_S390_VM_MIGRATION_STOP:
res = kvm_s390_vm_stop_migration(kvm);
break;
default:
break;
}
mutex_unlock(&kvm->lock);
mutex_unlock(&kvm->slots_lock);

return res;
}
Expand Down Expand Up @@ -1754,7 +1754,9 @@ long kvm_arch_vm_ioctl(struct file *filp,
r = -EFAULT;
if (copy_from_user(&args, argp, sizeof(args)))
break;
mutex_lock(&kvm->slots_lock);
r = kvm_s390_get_cmma_bits(kvm, &args);
mutex_unlock(&kvm->slots_lock);
if (!r) {
r = copy_to_user(argp, &args, sizeof(args));
if (r)
Expand All @@ -1768,7 +1770,9 @@ long kvm_arch_vm_ioctl(struct file *filp,
r = -EFAULT;
if (copy_from_user(&args, argp, sizeof(args)))
break;
mutex_lock(&kvm->slots_lock);
r = kvm_s390_set_cmma_bits(kvm, &args);
mutex_unlock(&kvm->slots_lock);
break;
}
default:
Expand Down
2 changes: 1 addition & 1 deletion arch/sparc/crypto/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ obj-$(CONFIG_CRYPTO_MD5_SPARC64) += md5-sparc64.o

obj-$(CONFIG_CRYPTO_AES_SPARC64) += aes-sparc64.o
obj-$(CONFIG_CRYPTO_DES_SPARC64) += des-sparc64.o
obj-$(CONFIG_CRYPTO_DES_SPARC64) += camellia-sparc64.o
obj-$(CONFIG_CRYPTO_CAMELLIA_SPARC64) += camellia-sparc64.o

obj-$(CONFIG_CRYPTO_CRC32C_SPARC64) += crc32c-sparc64.o

Expand Down
2 changes: 1 addition & 1 deletion arch/x86/events/amd/power.c
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ static int __init amd_power_pmu_init(void)
int ret;

if (!x86_match_cpu(cpu_match))
return 0;
return -ENODEV;

if (!boot_cpu_has(X86_FEATURE_ACC_POWER))
return -ENODEV;
Expand Down
33 changes: 18 additions & 15 deletions arch/x86/events/intel/ds.c
Original file line number Diff line number Diff line change
Expand Up @@ -372,10 +372,9 @@ static int alloc_pebs_buffer(int cpu)
static void release_pebs_buffer(int cpu)
{
struct cpu_hw_events *hwev = per_cpu_ptr(&cpu_hw_events, cpu);
struct debug_store *ds = hwev->ds;
void *cea;

if (!ds || !x86_pmu.pebs)
if (!x86_pmu.pebs)
return;

kfree(per_cpu(insn_buffer, cpu));
Expand All @@ -384,7 +383,6 @@ static void release_pebs_buffer(int cpu)
/* Clear the fixmap */
cea = &get_cpu_entry_area(cpu)->cpu_debug_buffers.pebs_buffer;
ds_clear_cea(cea, x86_pmu.pebs_buffer_size);
ds->pebs_buffer_base = 0;
dsfree_pages(hwev->ds_pebs_vaddr, x86_pmu.pebs_buffer_size);
hwev->ds_pebs_vaddr = NULL;
}
Expand Down Expand Up @@ -419,16 +417,14 @@ static int alloc_bts_buffer(int cpu)
static void release_bts_buffer(int cpu)
{
struct cpu_hw_events *hwev = per_cpu_ptr(&cpu_hw_events, cpu);
struct debug_store *ds = hwev->ds;
void *cea;

if (!ds || !x86_pmu.bts)
if (!x86_pmu.bts)
return;

/* Clear the fixmap */
cea = &get_cpu_entry_area(cpu)->cpu_debug_buffers.bts_buffer;
ds_clear_cea(cea, BTS_BUFFER_SIZE);
ds->bts_buffer_base = 0;
dsfree_pages(hwev->ds_bts_vaddr, BTS_BUFFER_SIZE);
hwev->ds_bts_vaddr = NULL;
}
Expand All @@ -454,16 +450,22 @@ void release_ds_buffers(void)
if (!x86_pmu.bts && !x86_pmu.pebs)
return;

get_online_cpus();
for_each_online_cpu(cpu)
for_each_possible_cpu(cpu)
release_ds_buffer(cpu);

for_each_possible_cpu(cpu) {
/*
* Again, ignore errors from offline CPUs, they will no longer
* observe cpu_hw_events.ds and not program the DS_AREA when
* they come up.
*/
fini_debug_store_on_cpu(cpu);
}

for_each_possible_cpu(cpu) {
release_pebs_buffer(cpu);
release_bts_buffer(cpu);
release_ds_buffer(cpu);
}
put_online_cpus();
}

void reserve_ds_buffers(void)
Expand All @@ -483,8 +485,6 @@ void reserve_ds_buffers(void)
if (!x86_pmu.pebs)
pebs_err = 1;

get_online_cpus();

for_each_possible_cpu(cpu) {
if (alloc_ds_buffer(cpu)) {
bts_err = 1;
Expand Down Expand Up @@ -521,11 +521,14 @@ void reserve_ds_buffers(void)
if (x86_pmu.pebs && !pebs_err)
x86_pmu.pebs_active = 1;

for_each_online_cpu(cpu)
for_each_possible_cpu(cpu) {
/*
* Ignores wrmsr_on_cpu() errors for offline CPUs they
* will get this call through intel_pmu_cpu_starting().
*/
init_debug_store_on_cpu(cpu);
}
}

put_online_cpus();
}

/*
Expand Down
1 change: 0 additions & 1 deletion arch/x86/include/asm/asm-prototypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,4 @@ INDIRECT_THUNK(dx)
INDIRECT_THUNK(si)
INDIRECT_THUNK(di)
INDIRECT_THUNK(bp)
INDIRECT_THUNK(sp)
#endif /* CONFIG_RETPOLINE */
5 changes: 4 additions & 1 deletion arch/x86/kernel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,13 @@ KASAN_SANITIZE_stacktrace.o := n
KASAN_SANITIZE_paravirt.o := n

OBJECT_FILES_NON_STANDARD_relocate_kernel_$(BITS).o := y
OBJECT_FILES_NON_STANDARD_ftrace_$(BITS).o := y
OBJECT_FILES_NON_STANDARD_test_nx.o := y
OBJECT_FILES_NON_STANDARD_paravirt_patch_$(BITS).o := y

ifdef CONFIG_FRAME_POINTER
OBJECT_FILES_NON_STANDARD_ftrace_$(BITS).o := y
endif

# If instrumentation of this dir is enabled, boot hangs during first second.
# Probably could be more selective here, but note that files related to irqs,
# boot, dumpstack/stacktrace, etc are either non-interesting or can lead to
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/kernel/cpu/microcode/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ static int __init save_microcode_in_initrd(void)
break;
case X86_VENDOR_AMD:
if (c->x86 >= 0x10)
return save_microcode_in_initrd_amd(cpuid_eax(1));
ret = save_microcode_in_initrd_amd(cpuid_eax(1));
break;
default:
break;
Expand Down
20 changes: 18 additions & 2 deletions arch/x86/kernel/cpu/microcode/intel.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ static const char ucode_path[] = "kernel/x86/microcode/GenuineIntel.bin";
/* Current microcode patch used in early patching on the APs. */
static struct microcode_intel *intel_ucode_patch;

/* last level cache size per core */
static int llc_size_per_core;

static inline bool cpu_signatures_match(unsigned int s1, unsigned int p1,
unsigned int s2, unsigned int p2)
{
Expand Down Expand Up @@ -912,12 +915,14 @@ static bool is_blacklisted(unsigned int cpu)

/*
* Late loading on model 79 with microcode revision less than 0x0b000021
* may result in a system hang. This behavior is documented in item
* BDF90, #334165 (Intel Xeon Processor E7-8800/4800 v4 Product Family).
* and LLC size per core bigger than 2.5MB may result in a system hang.
* This behavior is documented in item BDF90, #334165 (Intel Xeon
* Processor E7-8800/4800 v4 Product Family).
*/
if (c->x86 == 6 &&
c->x86_model == INTEL_FAM6_BROADWELL_X &&
c->x86_mask == 0x01 &&
llc_size_per_core > 2621440 &&
c->microcode < 0x0b000021) {
pr_err_once("Erratum BDF90: late loading with revision < 0x0b000021 (0x%x) disabled.\n", c->microcode);
pr_err_once("Please consider either early loading through initrd/built-in or a potential BIOS update.\n");
Expand Down Expand Up @@ -975,6 +980,15 @@ static struct microcode_ops microcode_intel_ops = {
.apply_microcode = apply_microcode_intel,
};

static int __init calc_llc_size_per_core(struct cpuinfo_x86 *c)
{
u64 llc_size = c->x86_cache_size * 1024;

do_div(llc_size, c->x86_max_cores);

return (int)llc_size;
}

struct microcode_ops * __init init_intel_microcode(void)
{
struct cpuinfo_x86 *c = &boot_cpu_data;
Expand All @@ -985,5 +999,7 @@ struct microcode_ops * __init init_intel_microcode(void)
return NULL;
}

llc_size_per_core = calc_llc_size_per_core(c);

return &microcode_intel_ops;
}
Loading