Skip to content

Commit 7ec4621

Browse files
committed
Merge tag 'pull-work.unaligned' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull generic unaligned.h cleanups from Al Viro: "Get rid of architecture-specific <asm/unaligned.h> includes, replacing them with a single generic <linux/unaligned.h> header file. It's the second largest (after asm/io.h) class of asm/* includes, and all but two architectures actually end up using exact same file. Massage the remaining two (arc and parisc) to do the same and just move the thing to from asm-generic/unaligned.h to linux/unaligned.h" [ This is one of those things that we're better off doing outside the merge window, and would only cause extra conflict noise if it was in linux-next for the next release due to all the trivial #include line updates. Rip off the band-aid. - Linus ] * tag 'pull-work.unaligned' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: move asm/unaligned.h to linux/unaligned.h arc: get rid of private asm/unaligned.h parisc: get rid of private asm/unaligned.h
2 parents f23aa4c + 5f60d5f commit 7ec4621

File tree

854 files changed

+876
-890
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

854 files changed

+876
-890
lines changed

Documentation/arch/arm/mem_alignment.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ones.
1212

1313
Of course this is a bad idea to rely on the alignment trap to perform
1414
unaligned memory access in general. If those access are predictable, you
15-
are better to use the macros provided by include/asm/unaligned.h. The
15+
are better to use the macros provided by include/linux/unaligned.h. The
1616
alignment trap can fixup misaligned access for the exception cases, but at
1717
a high performance cost. It better be rare.
1818

Documentation/core-api/unaligned-memory-access.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ Avoiding unaligned accesses
203203
===========================
204204

205205
The easiest way to avoid unaligned access is to use the get_unaligned() and
206-
put_unaligned() macros provided by the <asm/unaligned.h> header file.
206+
put_unaligned() macros provided by the <linux/unaligned.h> header file.
207207

208208
Going back to an earlier example of code that potentially causes unaligned
209209
access::

Documentation/translations/zh_CN/core-api/unaligned-memory-access.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ field2会导致非对齐访问,这并不是不合理的。你会期望field2
175175
避免非对齐访问
176176
==============
177177

178-
避免非对齐访问的最简单方法是使用<asm/unaligned.h>头文件提供的get_unaligned()和
178+
避免非对齐访问的最简单方法是使用<linux/unaligned.h>头文件提供的get_unaligned()和
179179
put_unaligned()宏。
180180

181181
回到前面的一个可能导致非对齐访问的代码例子::

arch/alpha/kernel/traps.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
#include <asm/gentrap.h>
2424
#include <linux/uaccess.h>
25-
#include <asm/unaligned.h>
25+
#include <linux/unaligned.h>
2626
#include <asm/sysinfo.h>
2727
#include <asm/hwrpb.h>
2828
#include <asm/mmu_context.h>

arch/arc/include/asm/io.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#include <linux/types.h>
1010
#include <asm/byteorder.h>
1111
#include <asm/page.h>
12-
#include <asm/unaligned.h>
12+
#include <linux/unaligned.h>
1313

1414
#ifdef CONFIG_ISA_ARCV2
1515
#include <asm/barrier.h>

arch/arc/include/asm/mmu.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ typedef struct {
1414
unsigned long asid[NR_CPUS]; /* 8 bit MMU PID + Generation cycle */
1515
} mm_context_t;
1616

17+
struct pt_regs;
1718
extern void do_tlb_overlap_fault(unsigned long, unsigned long, struct pt_regs *);
1819

1920
#endif

arch/arc/include/asm/unaligned.h

Lines changed: 0 additions & 27 deletions
This file was deleted.

arch/arc/kernel/traps.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@
1818
#include <linux/kgdb.h>
1919
#include <asm/entry.h>
2020
#include <asm/setup.h>
21-
#include <asm/unaligned.h>
21+
#include <linux/unaligned.h>
2222
#include <asm/kprobes.h>
23+
#include "unaligned.h"
2324

2425
void die(const char *str, struct pt_regs *regs, unsigned long address)
2526
{

arch/arc/kernel/unaligned.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include <linux/ptrace.h>
1313
#include <linux/uaccess.h>
1414
#include <asm/disasm.h>
15+
#include "unaligned.h"
1516

1617
#ifdef CONFIG_CPU_BIG_ENDIAN
1718
#define BE 1

arch/arc/kernel/unaligned.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
struct pt_regs;
2+
struct callee_regs;
3+
4+
#ifdef CONFIG_ARC_EMUL_UNALIGNED
5+
int misaligned_fixup(unsigned long address, struct pt_regs *regs,
6+
struct callee_regs *cregs);
7+
#else
8+
static inline int
9+
misaligned_fixup(unsigned long address, struct pt_regs *regs,
10+
struct callee_regs *cregs)
11+
{
12+
/* Not fixed */
13+
return 1;
14+
}
15+
#endif
16+

arch/arc/kernel/unwind.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#include <linux/uaccess.h>
2020
#include <linux/ptrace.h>
2121
#include <asm/sections.h>
22-
#include <asm/unaligned.h>
22+
#include <linux/unaligned.h>
2323
#include <asm/unwind.h>
2424

2525
extern char __start_unwind[], __end_unwind[];

arch/arm/crypto/aes-ce-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#include <asm/hwcap.h>
99
#include <asm/neon.h>
1010
#include <asm/simd.h>
11-
#include <asm/unaligned.h>
11+
#include <linux/unaligned.h>
1212
#include <crypto/aes.h>
1313
#include <crypto/ctr.h>
1414
#include <crypto/internal/simd.h>

arch/arm/crypto/crc32-ce-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
#include <asm/hwcap.h>
1919
#include <asm/neon.h>
2020
#include <asm/simd.h>
21-
#include <asm/unaligned.h>
21+
#include <linux/unaligned.h>
2222

2323
#define PMULL_MIN_LEN 64L /* minimum size of buffer
2424
* for crc32_pmull_le_16 */

arch/arm/crypto/ghash-ce-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#include <asm/hwcap.h>
1010
#include <asm/neon.h>
1111
#include <asm/simd.h>
12-
#include <asm/unaligned.h>
12+
#include <linux/unaligned.h>
1313
#include <crypto/aes.h>
1414
#include <crypto/gcm.h>
1515
#include <crypto/b128ops.h>

arch/arm/crypto/poly1305-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#include <asm/hwcap.h>
99
#include <asm/neon.h>
1010
#include <asm/simd.h>
11-
#include <asm/unaligned.h>
11+
#include <linux/unaligned.h>
1212
#include <crypto/algapi.h>
1313
#include <crypto/internal/hash.h>
1414
#include <crypto/internal/poly1305.h>

arch/arm/crypto/sha2-ce-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#include <asm/hwcap.h>
1717
#include <asm/simd.h>
1818
#include <asm/neon.h>
19-
#include <asm/unaligned.h>
19+
#include <linux/unaligned.h>
2020

2121
#include "sha256_glue.h"
2222

arch/arm/include/asm/uaccess.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
#include <linux/string.h>
1313
#include <asm/page.h>
1414
#include <asm/domain.h>
15-
#include <asm/unaligned.h>
15+
#include <linux/unaligned.h>
1616
#include <asm/unified.h>
1717
#include <asm/pgtable.h>
1818
#include <asm/proc-fns.h>

arch/arm/mm/alignment.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
#include <asm/cp15.h>
2424
#include <asm/system_info.h>
25-
#include <asm/unaligned.h>
25+
#include <linux/unaligned.h>
2626
#include <asm/opcodes.h>
2727

2828
#include "fault.h"

arch/arm64/crypto/aes-ce-ccm-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
*/
1010

1111
#include <asm/neon.h>
12-
#include <asm/unaligned.h>
12+
#include <linux/unaligned.h>
1313
#include <crypto/aes.h>
1414
#include <crypto/scatterwalk.h>
1515
#include <crypto/internal/aead.h>

arch/arm64/crypto/aes-ce-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#include <asm/neon.h>
99
#include <asm/simd.h>
10-
#include <asm/unaligned.h>
10+
#include <linux/unaligned.h>
1111
#include <crypto/aes.h>
1212
#include <crypto/algapi.h>
1313
#include <crypto/internal/simd.h>

arch/arm64/crypto/ghash-ce-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#include <asm/neon.h>
99
#include <asm/simd.h>
10-
#include <asm/unaligned.h>
10+
#include <linux/unaligned.h>
1111
#include <crypto/aes.h>
1212
#include <crypto/gcm.h>
1313
#include <crypto/algapi.h>

arch/arm64/crypto/poly1305-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#include <asm/hwcap.h>
99
#include <asm/neon.h>
1010
#include <asm/simd.h>
11-
#include <asm/unaligned.h>
11+
#include <linux/unaligned.h>
1212
#include <crypto/algapi.h>
1313
#include <crypto/internal/hash.h>
1414
#include <crypto/internal/poly1305.h>

arch/arm64/crypto/sha1-ce-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#include <asm/neon.h>
99
#include <asm/simd.h>
10-
#include <asm/unaligned.h>
10+
#include <linux/unaligned.h>
1111
#include <crypto/internal/hash.h>
1212
#include <crypto/internal/simd.h>
1313
#include <crypto/sha1.h>

arch/arm64/crypto/sha2-ce-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#include <asm/neon.h>
99
#include <asm/simd.h>
10-
#include <asm/unaligned.h>
10+
#include <linux/unaligned.h>
1111
#include <crypto/internal/hash.h>
1212
#include <crypto/internal/simd.h>
1313
#include <crypto/sha2.h>

arch/arm64/crypto/sha3-ce-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
#include <asm/hwcap.h>
1313
#include <asm/neon.h>
1414
#include <asm/simd.h>
15-
#include <asm/unaligned.h>
15+
#include <linux/unaligned.h>
1616
#include <crypto/internal/hash.h>
1717
#include <crypto/internal/simd.h>
1818
#include <crypto/sha3.h>

arch/arm64/crypto/sha512-ce-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
#include <asm/neon.h>
1313
#include <asm/simd.h>
14-
#include <asm/unaligned.h>
14+
#include <linux/unaligned.h>
1515
#include <crypto/internal/hash.h>
1616
#include <crypto/internal/simd.h>
1717
#include <crypto/sha2.h>

arch/arm64/crypto/sm3-ce-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#include <asm/neon.h>
99
#include <asm/simd.h>
10-
#include <asm/unaligned.h>
10+
#include <linux/unaligned.h>
1111
#include <crypto/internal/hash.h>
1212
#include <crypto/internal/simd.h>
1313
#include <crypto/sm3.h>

arch/arm64/crypto/sm3-neon-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#include <asm/neon.h>
99
#include <asm/simd.h>
10-
#include <asm/unaligned.h>
10+
#include <linux/unaligned.h>
1111
#include <crypto/internal/hash.h>
1212
#include <crypto/internal/simd.h>
1313
#include <crypto/sm3.h>

arch/loongarch/crypto/crc32-loongarch.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#include <crypto/internal/hash.h>
1414

1515
#include <asm/cpu-features.h>
16-
#include <asm/unaligned.h>
16+
#include <linux/unaligned.h>
1717

1818
#define _CRC32(crc, value, size, type) \
1919
do { \

arch/microblaze/include/asm/flat.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#ifndef _ASM_MICROBLAZE_FLAT_H
99
#define _ASM_MICROBLAZE_FLAT_H
1010

11-
#include <asm/unaligned.h>
11+
#include <linux/unaligned.h>
1212

1313
/*
1414
* Microblaze works a little differently from other arches, because

arch/mips/boot/compressed/decompress.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#include <linux/libfdt.h>
1717

1818
#include <asm/addrspace.h>
19-
#include <asm/unaligned.h>
19+
#include <linux/unaligned.h>
2020
#include <asm-generic/vmlinux.lds.h>
2121

2222
#include "decompress.h"

arch/mips/crypto/crc32-mips.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#include <linux/module.h>
1515
#include <linux/string.h>
1616
#include <asm/mipsregs.h>
17-
#include <asm/unaligned.h>
17+
#include <linux/unaligned.h>
1818

1919
#include <crypto/internal/hash.h>
2020

arch/mips/crypto/poly1305-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* Copyright (C) 2019 Linaro Ltd. <[email protected]>
66
*/
77

8-
#include <asm/unaligned.h>
8+
#include <linux/unaligned.h>
99
#include <crypto/algapi.h>
1010
#include <crypto/internal/hash.h>
1111
#include <crypto/internal/poly1305.h>

arch/nios2/kernel/misaligned.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
#include <linux/seq_file.h>
2424

2525
#include <asm/traps.h>
26-
#include <asm/unaligned.h>
26+
#include <linux/unaligned.h>
2727

2828
/* instructions we emulate */
2929
#define INST_LDHU 0x0b

arch/parisc/boot/compressed/misc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
#include <linux/uaccess.h>
88
#include <linux/elf.h>
9-
#include <asm/unaligned.h>
9+
#include <linux/unaligned.h>
1010
#include <asm/page.h>
1111
#include "sizes.h"
1212

arch/parisc/include/asm/unaligned.h

Lines changed: 0 additions & 11 deletions
This file was deleted.

arch/parisc/kernel/traps.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
#include <asm/io.h>
3737
#include <asm/irq.h>
3838
#include <asm/traps.h>
39-
#include <asm/unaligned.h>
39+
#include <linux/unaligned.h>
4040
#include <linux/atomic.h>
4141
#include <asm/smp.h>
4242
#include <asm/pdc.h>
@@ -47,6 +47,8 @@
4747
#include <linux/kgdb.h>
4848
#include <linux/kprobes.h>
4949

50+
#include "unaligned.h"
51+
5052
#if defined(CONFIG_LIGHTWEIGHT_SPINLOCK_CHECK)
5153
#include <asm/spinlock.h>
5254
#endif

arch/parisc/kernel/unaligned.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@
1212
#include <linux/ratelimit.h>
1313
#include <linux/uaccess.h>
1414
#include <linux/sysctl.h>
15-
#include <asm/unaligned.h>
15+
#include <linux/unaligned.h>
1616
#include <asm/hardirq.h>
1717
#include <asm/traps.h>
18+
#include "unaligned.h"
1819

1920
/* #define DEBUG_UNALIGNED 1 */
2021

arch/parisc/kernel/unaligned.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
struct pt_regs;
2+
void handle_unaligned(struct pt_regs *regs);
3+
int check_unaligned(struct pt_regs *regs);

arch/powerpc/crypto/aes-gcm-p10-glue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* Copyright 2022- IBM Inc. All rights reserved
66
*/
77

8-
#include <asm/unaligned.h>
8+
#include <linux/unaligned.h>
99
#include <asm/simd.h>
1010
#include <asm/switch_to.h>
1111
#include <crypto/aes.h>

0 commit comments

Comments
 (0)