diff options
Diffstat (limited to 'arch/ia64/kernel/perfmon.c')
| -rw-r--r-- | arch/ia64/kernel/perfmon.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c index 1650353e3f77..d71731ee5b61 100644 --- a/arch/ia64/kernel/perfmon.c +++ b/arch/ia64/kernel/perfmon.c | |||
| @@ -574,7 +574,7 @@ pfm_protect_ctx_ctxsw(pfm_context_t *x) | |||
| 574 | return 0UL; | 574 | return 0UL; |
| 575 | } | 575 | } |
| 576 | 576 | ||
| 577 | static inline unsigned long | 577 | static inline void |
| 578 | pfm_unprotect_ctx_ctxsw(pfm_context_t *x, unsigned long f) | 578 | pfm_unprotect_ctx_ctxsw(pfm_context_t *x, unsigned long f) |
| 579 | { | 579 | { |
| 580 | spin_unlock(&(x)->ctx_lock); | 580 | spin_unlock(&(x)->ctx_lock); |
| @@ -2218,12 +2218,13 @@ static void | |||
| 2218 | pfm_free_fd(int fd, struct file *file) | 2218 | pfm_free_fd(int fd, struct file *file) |
| 2219 | { | 2219 | { |
| 2220 | struct files_struct *files = current->files; | 2220 | struct files_struct *files = current->files; |
| 2221 | struct fdtable *fdt = files_fdtable(files); | 2221 | struct fdtable *fdt; |
| 2222 | 2222 | ||
| 2223 | /* | 2223 | /* |
| 2224 | * there ie no fd_uninstall(), so we do it here | 2224 | * there ie no fd_uninstall(), so we do it here |
| 2225 | */ | 2225 | */ |
| 2226 | spin_lock(&files->file_lock); | 2226 | spin_lock(&files->file_lock); |
| 2227 | fdt = files_fdtable(files); | ||
| 2227 | rcu_assign_pointer(fdt->fd[fd], NULL); | 2228 | rcu_assign_pointer(fdt->fd[fd], NULL); |
| 2228 | spin_unlock(&files->file_lock); | 2229 | spin_unlock(&files->file_lock); |
| 2229 | 2230 | ||
