Commit b0de7fca authored by Josh Triplett's avatar Josh Triplett Committed by Linus Torvalds

[PATCH] efi: add lock annotations for efi_call_phys_prelog and efi_call_phys_epilog

The functions efi_call_phys_prelog and efi_call_phys_epilog in
arch/i386/kernel/efi.c wrap the spinlock efi_rt_lock: efi_call_phys_prelog
returns with the lock held, and efi_call_phys_epilog releases the lock
without acquiring it.  Add lock annotations to these two functions so that
sparse can check callers for lock pairing, and so that sparse will not
complain about these functions since they intentionally use locks in this
manner.
Signed-off-by: default avatarJosh Triplett <josh@freedesktop.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 538d9d53
...@@ -65,7 +65,7 @@ static unsigned long efi_rt_eflags; ...@@ -65,7 +65,7 @@ static unsigned long efi_rt_eflags;
static DEFINE_SPINLOCK(efi_rt_lock); static DEFINE_SPINLOCK(efi_rt_lock);
static pgd_t efi_bak_pg_dir_pointer[2]; static pgd_t efi_bak_pg_dir_pointer[2];
static void efi_call_phys_prelog(void) static void efi_call_phys_prelog(void) __acquires(efi_rt_lock)
{ {
unsigned long cr4; unsigned long cr4;
unsigned long temp; unsigned long temp;
...@@ -109,7 +109,7 @@ static void efi_call_phys_prelog(void) ...@@ -109,7 +109,7 @@ static void efi_call_phys_prelog(void)
load_gdt(cpu_gdt_descr); load_gdt(cpu_gdt_descr);
} }
static void efi_call_phys_epilog(void) static void efi_call_phys_epilog(void) __releases(efi_rt_lock)
{ {
unsigned long cr4; unsigned long cr4;
struct Xgt_desc_struct *cpu_gdt_descr = &per_cpu(cpu_gdt_descr, 0); struct Xgt_desc_struct *cpu_gdt_descr = &per_cpu(cpu_gdt_descr, 0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment