mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
Misc fixes/updates:
- Fix static keys usage in module __init sections - Add separate MAINTAINERS entry for static branches/calls - Fix lockdep splat with CONFIG_PREEMPTIRQ_EVENTS=y tracing Signed-off-by: Ingo Molnar <mingo@kernel.org> -----BEGIN PGP SIGNATURE----- iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAl/oWJ0RHG1pbmdvQGtl cm5lbC5vcmcACgkQEnMQ0APhK1hdtRAAsmmi7b8Di3ANfkJPRWyikPETdOn2bZA6 dNaXSmRC0vPrngfoPgJ1A0iqIMgnZyeZs907qeB/vV9/EXa9zkFRzLvYL307lVnN sJo5kx7PLOGdGtQ1jcbDO2QC4INPD0PLlMr3wnAVF5EycX+geux/Vc/R2ZLB1pkC BzrA4u2V1P+DCbstNAX4b0SwAGSdvBWLFNSpXBbQrPMd9umdoL6uS9mF+zOf/0+q 5r7Hc+41t7COBpHumiPdF7IrLTKP8bostMQalUu41GkD5G4vhoQUGw2edRirHE3X GGZbDmXo1FqU9q6qHaWhwugYbMoaMH3LTyOYTpW5xnDH1huXyXhaX2385V+aT/Ts g64SrLrAwJ9lokZwDUqORfxi6pi8mfNzwCQ49fKKjBC606bEKE1tjW1b7KkHxIWe wLCcdhZA4QuSN5F9XT3NyiQQgDLcReSA3WjA6T6QF26q5x5hmvuQqP+gmoqRthw1 YXQ9lox3u4bLfqlvBMpJFhrCGBC2afyQyH18Xy7lsI1qfoktwvgoUEsObpb52U/G v/Y4sl6MnZJHJPik3yTdD+/EtdLPvMRPn9b/wMS3B+JSlP1pv1L03Nklz82tcMs/ BoeKtdynRlKd3Sw4o3K44c8WjJ1ARXtDhLVUMDiILYnOVsT0B1xkdJkwLGOlhe3A hMuhh41TFtI= =fG6D -----END PGP SIGNATURE----- Merge tag 'locking-urgent-2020-12-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull locking fixes from Ingo Molnar: "Misc fixes/updates: - Fix static keys usage in module __init sections - Add separate MAINTAINERS entry for static branches/calls - Fix lockdep splat with CONFIG_PREEMPTIRQ_EVENTS=y tracing" * tag 'locking-urgent-2020-12-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: softirq: Avoid bad tracing / lockdep interaction jump_label/static_call: Add MAINTAINERS jump_label: Fix usage in module __init
This commit is contained in:
commit
6be5f58215
16
MAINTAINERS
16
MAINTAINERS
@ -16917,6 +16917,22 @@ M: Ion Badulescu <ionut@badula.org>
|
||||
S: Odd Fixes
|
||||
F: drivers/net/ethernet/adaptec/starfire*
|
||||
|
||||
STATIC BRANCH/CALL
|
||||
M: Peter Zijlstra <peterz@infradead.org>
|
||||
M: Josh Poimboeuf <jpoimboe@redhat.com>
|
||||
M: Jason Baron <jbaron@akamai.com>
|
||||
R: Steven Rostedt <rostedt@goodmis.org>
|
||||
R: Ard Biesheuvel <ardb@kernel.org>
|
||||
S: Supported
|
||||
F: arch/*/include/asm/jump_label*.h
|
||||
F: arch/*/include/asm/static_call*.h
|
||||
F: arch/*/kernel/jump_label.c
|
||||
F: arch/*/kernel/static_call.c
|
||||
F: include/linux/jump_label*.h
|
||||
F: include/linux/static_call*.h
|
||||
F: kernel/jump_label.c
|
||||
F: kernel/static_call.c
|
||||
|
||||
STEC S1220 SKD DRIVER
|
||||
M: Damien Le Moal <Damien.LeMoal@wdc.com>
|
||||
L: linux-block@vger.kernel.org
|
||||
|
@ -793,6 +793,7 @@ int jump_label_text_reserved(void *start, void *end)
|
||||
static void jump_label_update(struct static_key *key)
|
||||
{
|
||||
struct jump_entry *stop = __stop___jump_table;
|
||||
bool init = system_state < SYSTEM_RUNNING;
|
||||
struct jump_entry *entry;
|
||||
#ifdef CONFIG_MODULES
|
||||
struct module *mod;
|
||||
@ -804,15 +805,16 @@ static void jump_label_update(struct static_key *key)
|
||||
|
||||
preempt_disable();
|
||||
mod = __module_address((unsigned long)key);
|
||||
if (mod)
|
||||
if (mod) {
|
||||
stop = mod->jump_entries + mod->num_jump_entries;
|
||||
init = mod->state == MODULE_STATE_COMING;
|
||||
}
|
||||
preempt_enable();
|
||||
#endif
|
||||
entry = static_key_entries(key);
|
||||
/* if there are no users, entry can be NULL */
|
||||
if (entry)
|
||||
__jump_label_update(key, entry, stop,
|
||||
system_state < SYSTEM_RUNNING);
|
||||
__jump_label_update(key, entry, stop, init);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_STATIC_KEYS_SELFTEST
|
||||
|
@ -186,7 +186,7 @@ void __local_bh_enable_ip(unsigned long ip, unsigned int cnt)
|
||||
* Keep preemption disabled until we are done with
|
||||
* softirq processing:
|
||||
*/
|
||||
preempt_count_sub(cnt - 1);
|
||||
__preempt_count_sub(cnt - 1);
|
||||
|
||||
if (unlikely(!in_interrupt() && local_softirq_pending())) {
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user