forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-09-20 a36159eec6ca17402b0e146b86efaf76568dc353
kernel/arch/hexagon/kernel/vdso.c
....@@ -1,21 +1,8 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * vDSO implementation for Hexagon
34 *
45 * Copyright (c) 2011, The Linux Foundation. All rights reserved.
5
- *
6
- * This program is free software; you can redistribute it and/or modify
7
- * it under the terms of the GNU General Public License version 2 and
8
- * only version 2 as published by the Free Software Foundation.
9
- *
10
- * This program is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- * GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU General Public License
16
- * along with this program; if not, write to the Free Software
17
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18
- * 02110-1301, USA.
196 */
207
218 #include <linux/err.h>
....@@ -65,7 +52,7 @@
6552 unsigned long vdso_base;
6653 struct mm_struct *mm = current->mm;
6754
68
- if (down_write_killable(&mm->mmap_sem))
55
+ if (mmap_write_lock_killable(mm))
6956 return -EINTR;
7057
7158 /* Try to get it loaded right near ld.so/glibc. */
....@@ -89,7 +76,7 @@
8976 mm->context.vdso = (void *)vdso_base;
9077
9178 up_fail:
92
- up_write(&mm->mmap_sem);
79
+ mmap_write_unlock(mm);
9380 return ret;
9481 }
9582