Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aligned all kernel patches to get the BPI-M2U to the updated 3.10.105 release. #2

Closed
wants to merge 26 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
d49a800
updated to 3.10.77 working kernel+module
dan-and Dec 15, 2016
6fe6ca8
update to 3.10.82
dan-and Dec 16, 2016
9fc173a
updated to 3.10.83, but reverted commit https://git.kernel.org/cgit/l…
dan-and Dec 19, 2016
4e90707
updated to 3.10.86
dan-and Dec 19, 2016
b4f3efe
updated to 3.10.94
dan-and Dec 19, 2016
4a5e2ba
updated to 3.10.99
dan-and Dec 19, 2016
22f3383
3.10.100
dan-and Dec 19, 2016
5625cfc
updated to 3.10.101
dan-and Dec 20, 2016
0a76cf8
updated to 3.10.104 ... Yeah!
dan-and Dec 20, 2016
7c03c74
added gcc6 support
dan-and Dec 20, 2016
1cab77c
Added REQUIREMENTS.md
Dec 21, 2016
07813f5
Updated REQUIREMENTS.MD
dan-and Dec 21, 2016
336be0c
Update REQUIREMENTS.md
dan-and Dec 21, 2016
2a61088
fixed Makefile / build.sh
Dec 22, 2016
0eda792
Update REQUIREMENTS.md
dan-and Dec 22, 2016
36f6cae
Added missing rootfs files
Dec 22, 2016
75deb8e
Merge branch 'master' of https://github.com/dan-and/BPI-M2U-bsp
Dec 22, 2016
fa284ae
removed binary
dan-and Apr 19, 2017
854ff7e
Merge branch 'master' of https://github.com/BPI-SINOVOIP/BPI-M2U-bsp …
dan-and Apr 19, 2017
c4b7b81
Merge branch 'BPI-SINOVOIP-master'
dan-and Apr 19, 2017
c0d929a
Updated to Kernel 3.10.105
May 12, 2017
42e5b65
fixed merge conflict with sunxi-pack/allwinner/azalea-common/bin/u-bo…
May 12, 2017
5c82465
Merge pull request #3 from BPI-SINOVOIP/master
dan-and May 17, 2017
1ddc492
updated to 3.10.106
Jun 16, 2017
3ba49ac
updated to 3.10.106
Jun 16, 2017
18aceca
updated and aligned with 3.10.106 to work on all gcc's
Jun 23, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
include chosen_board.mk

SUDO=sudo
CROSS_COMPILE=arm-linux-gnueabi-
CROSS_COMPILE=arm-linux-gnueabihf-
U_CROSS_COMPILE=$(CROSS_COMPILE)
K_CROSS_COMPILE=$(CROSS_COMPILE)

Expand Down
85 changes: 85 additions & 0 deletions REQUIREMENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@

#Build and Usage-Requirements

Author: Daniel Andersen - http://www.Dan-And.de

Contributors:


##Intro:

Using the original SINOVOIP Package was quite painful as there is basically no documentation at all. So I tried to align the packages
as good as possible to get that stuff running until the Allwinner R40 and SINOVOIP BananaPI Ultra M2 board is available in the mainline
Kernel and mainline U-Boot repository.


###WARNING:
There are (at least for me) unknown binaries which you need to use. I haven't found any source code for it and they are provided as compiled 32-Bit (!) binaries only.

See: https://github.com/BPI-SINOVOIP/BPI-M2U-bsp/tree/master/out/host/bin

```
BPI-M2U-bsp/out/host/bin# file *
AwPluginVector.dll: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
config.dll: PE32 executable (DLL) (GUI) Intel 80386, for MS Windows
dragon: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=694c09489e8ca9a2ab6fa3168cebe93697eded28, not stripped
dragonsecboot: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.24, BuildID[sha1]=01cf8aba45296ed37a8ff8415724922ad6c091fe, not stripped
fsbuild: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.9, not stripped
FSProcess.dll: PE32 executable (DLL) (GUI) Intel 80386, for MS Windows
fstool.dll: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
ImageBuilder.dll: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=26ef821d21ee90c3c5c046e94d205309bcb47dff, not stripped
IniParasPlg.dll: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
IniParasPlgex.dll: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=a86726716141bfd5ccb4e6e7a21f8fbc48afb54b, not stripped
plgvector.dll: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=e23d4679cc40924b30f7916f3fd2345b2ce85b60, not stripped
RAMPart.dll: PE32 executable (DLL) (GUI) Intel 80386, for MS Windows
script: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.15, BuildID[sha1]=d9de39e5335569a9b98b879b84c62811a43177b1, not stripped
ScriptParser.dll: PE32 executable (DLL) (GUI) Intel 80386, for MS Windows
u_boot_env_gen: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.15, BuildID[sha1]=7bc95164072c8c83c55138507a73dadda21509e7, stripped
update_boot0: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=345304d3467c455b2f5c3e6a4e6cfba1e74dbd13, not stripped
update_fes1: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.15, BuildID[sha1]=18600c480fea97af58c3c05f81f057b936e14b59, not stripped
update_mbr: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.15, BuildID[sha1]=23acde6f21548cc19f9e1805014bb14930655f6e, not stripped
update_uboot: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.24, BuildID[sha1]=600eb8f2669a19c7fa6882cdd429f24f214f8a5c, not stripped
update_uboot_fdt: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.24, BuildID[sha1]=6e70f48bf894fac773d7ee3b9a50d32b0bd437ba, not stripped
```

It is required to use dragon and fsbuild, which are 32-Bit Linux executables. The other executables are 64-Bit Linux executables. You can ignore the Windows binaries (Phew!).

If you know where to get the original source-code (and what kind of licence these files have!), please get in touch with me: https://github.com/dan-and/


##Installation:

It should be possible to use any kind of Linux Distribution, but I would recommend Ubuntu 16.04 (NOT 16.10 for now, because they upgraded GCC).
you

Distribution: UBUNTU Linux 16.04: 64 Bit version only.
```
sudo apt install bc make git gcc gcc-arm-linux-gnueabihf u-boot-tools ncurses-devel
```
Due to the unsafe binary tool mentioned abouve, you are required to install 32-Bit in your 64-Bit environment. You can do it as following:
```
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
```

## Build:
```
git clone <LINK-TO-GITHUB-REPO>
cd BPI-M2U-bsp
./build.sh
```

## Files:

You will find the results at: SD/

```
# ls -F SD/
100MB/
3.10.104-BPI-M2U-Kernel.tgz
BOOTLOADER-bpi-m2u.tgz
BPI-BOOT/
BPI-BOOT-bpi-m2u.tgz
BPI-ROOT/
```
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
TARGET_PRODUCT="azalea-m2ultra"
BOARD=BPI_M2U_720P
board="bpi-m2u"
kernel="3.10.65-BPI-M2U-Kernel"
kernel="3.10.104-BPI-M2U-Kernel"
MODE=$1


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ Examples:
clks: ccm@53f80000{
compatible = "fsl,imx31-ccm";
reg = <0x53f80000 0x4000>;
interrupts = <0 31 0x04 0 53 0x04>;
interrupts = <31>, <53>;
#clock-cells = <1>;
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ dma_apbx: dma-apbx@80024000 {
80 81 68 69
70 71 72 73
74 75 76 77>;
interrupt-names = "auart4-rx", "aurat4-tx", "spdif-tx", "empty",
interrupt-names = "auart4-rx", "auart4-tx", "spdif-tx", "empty",
"saif0", "saif1", "i2c0", "i2c1",
"auart0-rx", "auart0-tx", "auart1-rx", "auart1-tx",
"auart2-rx", "auart2-tx", "auart3-rx", "auart3-tx";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,5 +91,5 @@ mpp61 61 gpo, dev(wen1), uart1(txd), audio(rclk)
mpp62 62 gpio, dev(a2), uart1(cts), tdm(drx), pcie(clkreq0),
audio(mclk), uart0(cts)
mpp63 63 gpo, spi0(sck), tclk
mpp64 64 gpio, spi0(miso), spi0-1(cs1)
mpp65 65 gpio, spi0(mosi), spi0-1(cs2)
mpp64 64 gpio, spi0(miso), spi0(cs1)
mpp65 65 gpio, spi0(mosi), spi0(cs2)
Original file line number Diff line number Diff line change
Expand Up @@ -41,37 +41,34 @@ mpp20 20 gpio, ge0(rxd4), ge1(rxd2), lcd(d20), ptp(clk)
mpp21 21 gpio, ge0(rxd5), ge1(rxd3), lcd(d21), mem(bat)
mpp22 22 gpio, ge0(rxd6), ge1(rxctl), lcd(d22), sata0(prsnt)
mpp23 23 gpio, ge0(rxd7), ge1(rxclk), lcd(d23), sata1(prsnt)
mpp24 24 gpio, lcd(hsync), sata1(prsnt), nf(bootcs-re), tdm(rst)
mpp25 25 gpio, lcd(vsync), sata0(prsnt), nf(bootcs-we), tdm(pclk)
mpp26 26 gpio, lcd(clk), tdm(fsync), vdd(cpu1-pd)
mpp24 24 gpio, lcd(hsync), sata1(prsnt), tdm(rst)
mpp25 25 gpio, lcd(vsync), sata0(prsnt), tdm(pclk)
mpp26 26 gpio, lcd(clk), tdm(fsync)
mpp27 27 gpio, lcd(e), tdm(dtx), ptp(trig)
mpp28 28 gpio, lcd(pwm), tdm(drx), ptp(evreq)
mpp29 29 gpio, lcd(ref-clk), tdm(int0), ptp(clk), vdd(cpu0-pd)
mpp29 29 gpio, lcd(ref-clk), tdm(int0), ptp(clk)
mpp30 30 gpio, tdm(int1), sd0(clk)
mpp31 31 gpio, tdm(int2), sd0(cmd), vdd(cpu0-pd)
mpp32 32 gpio, tdm(int3), sd0(d0), vdd(cpu1-pd)
mpp31 31 gpio, tdm(int2), sd0(cmd)
mpp32 32 gpio, tdm(int3), sd0(d0)
mpp33 33 gpio, tdm(int4), sd0(d1), mem(bat)
mpp34 34 gpio, tdm(int5), sd0(d2), sata0(prsnt)
mpp35 35 gpio, tdm(int6), sd0(d3), sata1(prsnt)
mpp36 36 gpio, spi(mosi)
mpp37 37 gpio, spi(miso)
mpp38 38 gpio, spi(sck)
mpp39 39 gpio, spi(cs0)
mpp40 40 gpio, spi(cs1), uart2(cts), lcd(vga-hsync), vdd(cpu1-pd),
pcie(clkreq0)
mpp40 40 gpio, spi(cs1), uart2(cts), lcd(vga-hsync), pcie(clkreq0)
mpp41 41 gpio, spi(cs2), uart2(rts), lcd(vga-vsync), sata1(prsnt),
pcie(clkreq1)
mpp42 42 gpio, uart2(rxd), uart0(cts), tdm(int7), tdm-1(timer),
vdd(cpu0-pd)
mpp43 43 gpio, uart2(txd), uart0(rts), spi(cs3), pcie(rstout),
vdd(cpu2-3-pd){1}
mpp42 42 gpio, uart2(rxd), uart0(cts), tdm(int7), tdm-1(timer)
mpp43 43 gpio, uart2(txd), uart0(rts), spi(cs3), pcie(rstout)
mpp44 44 gpio, uart2(cts), uart3(rxd), spi(cs4), pcie(clkreq2),
mem(bat)
mpp45 45 gpio, uart2(rts), uart3(txd), spi(cs5), sata1(prsnt)
mpp46 46 gpio, uart3(rts), uart1(rts), spi(cs6), sata0(prsnt)
mpp47 47 gpio, uart3(cts), uart1(cts), spi(cs7), pcie(clkreq3),
ref(clkout)
mpp48 48 gpio, tclk, dev(burst/last)
mpp48 48 gpio, dev(clkout), dev(burst/last)

* Marvell Armada XP (mv78260 and mv78460 only)

Expand All @@ -83,9 +80,9 @@ mpp51 51 gpio, dev(ad16)
mpp52 52 gpio, dev(ad17)
mpp53 53 gpio, dev(ad18)
mpp54 54 gpio, dev(ad19)
mpp55 55 gpio, dev(ad20), vdd(cpu0-pd)
mpp56 56 gpio, dev(ad21), vdd(cpu1-pd)
mpp57 57 gpio, dev(ad22), vdd(cpu2-3-pd){1}
mpp55 55 gpio, dev(ad20)
mpp56 56 gpio, dev(ad21)
mpp57 57 gpio, dev(ad22)
mpp58 58 gpio, dev(ad23)
mpp59 59 gpio, dev(ad24)
mpp60 60 gpio, dev(ad25)
Expand All @@ -95,6 +92,3 @@ mpp63 63 gpio, dev(ad28)
mpp64 64 gpio, dev(ad29)
mpp65 65 gpio, dev(ad30)
mpp66 66 gpio, dev(ad31)

Notes:
* {1} vdd(cpu2-3-pd) only available on mv78460.
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ Required properties:
- compatible : "arm,pl022", "arm,primecell"
- reg : Offset and length of the register set for the device
- interrupts : Should contain SPI controller interrupt
- num-cs : total number of chipselects

Optional properties:
- num-cs : total number of chipselects
- cs-gpios : should specify GPIOs used for chipselects.
The gpios will be referred to as reg = <index> in the SPI child nodes.
If unspecified, a single SPI device without a chip select can be used.
Expand Down
7 changes: 7 additions & 0 deletions linux-sunxi/Documentation/filesystems/efivarfs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,10 @@ filesystem.
efivarfs is typically mounted like this,

mount -t efivarfs none /sys/firmware/efi/efivars

Due to the presence of numerous firmware bugs where removing non-standard
UEFI variables causes the system firmware to fail to POST, efivarfs
files that are not well-known standardized variables are created
as immutable files. This doesn't prevent removal - "chattr -i" will work -
but it does prevent this kind of failure from being accomplished
accidentally.
5 changes: 5 additions & 0 deletions linux-sunxi/Documentation/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -955,6 +955,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
When zero, profiling data is discarded and associated
debugfs files are removed at module unload time.

goldfish [X86] Enable the goldfish android emulator platform.
Don't use this when you are not running on the
android emulator

gpt [EFI] Forces disk with valid GPT signature but
invalid Protective MBR to be treated as GPT.

Expand Down Expand Up @@ -1061,6 +1065,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
i8042.notimeout [HW] Ignore timeout condition signalled by controller
i8042.reset [HW] Reset the controller during init and cleanup
i8042.unlock [HW] Unlock (ignore) the keylock
i8042.kbdreset [HW] Reset device connected to KBD port

i810= [HW,DRM]

Expand Down
8 changes: 6 additions & 2 deletions linux-sunxi/Documentation/scsi/scsi_eh.txt
Original file line number Diff line number Diff line change
Expand Up @@ -255,19 +255,23 @@ scmd->allowed.

3. scmd recovered
ACTION: scsi_eh_finish_cmd() is invoked to EH-finish scmd
- shost->host_failed--
- clear scmd->eh_eflags
- scsi_setup_cmd_retry()
- move from local eh_work_q to local eh_done_q
LOCKING: none
CONCURRENCY: at most one thread per separate eh_work_q to
keep queue manipulation lockless

4. EH completes
ACTION: scsi_eh_flush_done_q() retries scmds or notifies upper
layer of failure.
layer of failure. May be called concurrently but must have
a no more than one thread per separate eh_work_q to
manipulate the queue locklessly
- scmd is removed from eh_done_q and scmd->eh_entry is cleared
- if retry is necessary, scmd is requeued using
scsi_queue_insert()
- otherwise, scsi_finish_command() is invoked for scmd
- zero shost->host_failed
LOCKING: queue or finish function performs appropriate locking


Expand Down
23 changes: 23 additions & 0 deletions linux-sunxi/Documentation/sysctl/fs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ Currently, these files are in /proc/sys/fs:
- nr_open
- overflowuid
- overflowgid
- pipe-user-pages-hard
- pipe-user-pages-soft
- protected_hardlinks
- protected_symlinks
- suid_dumpable
Expand Down Expand Up @@ -159,6 +161,27 @@ The default is 65534.

==============================================================

pipe-user-pages-hard:

Maximum total number of pages a non-privileged user may allocate for pipes.
Once this limit is reached, no new pipes may be allocated until usage goes
below the limit again. When set to 0, no limit is applied, which is the default
setting.

==============================================================

pipe-user-pages-soft:

Maximum total number of pages a non-privileged user may allocate for pipes
before the pipe size gets limited to a single page. Once this limit is reached,
new pipes will be limited to a single page in size for this user in order to
limit total memory usage, and trying to increase them using fcntl() will be
denied until usage goes below the limit again. The default value allows to
allocate up to 1024 pipes at their default size. When set to 0, no limit is
applied.

==============================================================

protected_hardlinks:

A long-standing class of security issues is the hardlink-based
Expand Down
4 changes: 2 additions & 2 deletions linux-sunxi/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -3054,8 +3054,8 @@ F: Documentation/x86/efi-stub.txt
F: arch/ia64/kernel/efi.c
F: arch/x86/boot/compressed/eboot.[ch]
F: arch/x86/include/asm/efi.h
F: arch/x86/platform/efi/*
F: drivers/firmware/efi/*
F: arch/x86/platform/efi/
F: drivers/firmware/efi/
F: include/linux/efi*.h

EFI VARIABLE FILESYSTEM
Expand Down
7 changes: 4 additions & 3 deletions linux-sunxi/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
VERSION = 3
PATCHLEVEL = 10
SUBLEVEL = 65
SUBLEVEL = 106
EXTRAVERSION =
NAME = TOSSUG Baby Fish

Expand Down Expand Up @@ -241,7 +241,7 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \

HOSTCC = gcc
HOSTCXX = g++
HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer
HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89
HOSTCXXFLAGS = -O2

# Decide whether to build built-in, modular, or both.
Expand Down Expand Up @@ -373,7 +373,8 @@ KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
-fno-strict-aliasing -fno-common \
-Werror-implicit-function-declaration \
-Wno-format-security \
-fno-delete-null-pointer-checks
-fno-delete-null-pointer-checks \
-std=gnu89
KBUILD_AFLAGS_KERNEL :=
KBUILD_CFLAGS_KERNEL :=
KBUILD_AFLAGS := -D__ASSEMBLY__
Expand Down
19 changes: 8 additions & 11 deletions linux-sunxi/arch/alpha/include/asm/uaccess.h
Original file line number Diff line number Diff line change
Expand Up @@ -371,14 +371,6 @@ __copy_tofrom_user_nocheck(void *to, const void *from, long len)
return __cu_len;
}

extern inline long
__copy_tofrom_user(void *to, const void *from, long len, const void __user *validate)
{
if (__access_ok((unsigned long)validate, len, get_fs()))
len = __copy_tofrom_user_nocheck(to, from, len);
return len;
}

#define __copy_to_user(to,from,n) \
({ \
__chk_user_ptr(to); \
Expand All @@ -393,17 +385,22 @@ __copy_tofrom_user(void *to, const void *from, long len, const void __user *vali
#define __copy_to_user_inatomic __copy_to_user
#define __copy_from_user_inatomic __copy_from_user


extern inline long
copy_to_user(void __user *to, const void *from, long n)
{
return __copy_tofrom_user((__force void *)to, from, n, to);
if (likely(__access_ok((unsigned long)to, n, get_fs())))
n = __copy_tofrom_user_nocheck((__force void *)to, from, n);
return n;
}

extern inline long
copy_from_user(void *to, const void __user *from, long n)
{
return __copy_tofrom_user(to, (__force void *)from, n, from);
if (likely(__access_ok((unsigned long)from, n, get_fs())))
n = __copy_tofrom_user_nocheck(to, (__force void *)from, n);
else
memset(to, 0, n);
return n;
}

extern void __do_clear_user(void);
Expand Down
2 changes: 2 additions & 0 deletions linux-sunxi/arch/alpha/mm/fault.c
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,8 @@ do_page_fault(unsigned long address, unsigned long mmcsr,
if (unlikely(fault & VM_FAULT_ERROR)) {
if (fault & VM_FAULT_OOM)
goto out_of_memory;
else if (fault & VM_FAULT_SIGSEGV)
goto bad_area;
else if (fault & VM_FAULT_SIGBUS)
goto do_sigbus;
BUG();
Expand Down
Loading