Re: [LEDE-DEV] [PATCH] kernel: backport fix undefined abort

2018-01-30 Thread Jonas Gorski
On 30 January 2018 at 21:04, Andrey Jr. Melnikov  wrote:
> Hauke Mehrtens  wrote:
>
>
>> On 01/30/2018 04:32 PM, Andrey Jr. Melnikov wrote:
>> > Evgeniy Didin  wrote:
>> >
>> >> While building mpi.ko module with stable Linux v4.14.14 an error occured:
>> >>> ERROR: "abort" [lib/mpi/mpi.ko] undefined!
>> >> In upstream Linux 4.15 this issue is fixed:
>> >> Commit 7c2c11b208be ("arch: define weak abort()")
>> >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7c2c11b208be09c156573fc0076b7b3646e05219
>> >
>> >> Commit dc8635b78cd8 ("kernel/exit.c: export abort() to modules")
>> >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=dc8635b78cd8669c37e230058d18c33af7451ab1
>> >
>> >> So lets add backport patches until these fixes
>> >> are not applied in stable version.
>> >
>> >> Signed-off-by: Evgeniy Didin 
>> >> Cc: Alexey Brodkin 
>> >> CC: John Crispin 
>> >> CC: Hauke Mehrtens 
>> >
>> > Copy this description into commit comments. After next patch rebase - it 
>> > lost.
>
>> The patch already contain the full commit message and the hash so it is
>> pretty easy to find where they are from. I think this patch looks good.
>> I still hope that this will go into the 4.14 stable tree and we do not
>> have to maintain this any more.
> Original commit message not explaining WHY and FOR WHAT this patch added in
> openwrt tree.

That's what the commit message of the commit adding these patches is for.

Patches taken from upstream/submitted to upstream need to keep their
original commit message intact.

This is needed to identify the source of the patch.

> When adding new kernel and rebase patches - you and other developers COPY
> patches across new directory and losing history - why this patch landed
> in tree.
> Try understand why 650-pppoe_header_pad.patch here?
> Or 680-NET-skip-GRO-for-foreign-MAC-addresses.patch ?

"git log --follow" is your friend.

# git log --follow target/linux/generic/pending-4.4/650-pppoe_header_pad.patch
...
commit 6517a757ec711fc3354b857e273e2621042f3c7a
Author: Felix Fietkau 
Date:   Mon Jun 29 21:54:11 2009 +

pppoe: add extra padding for the header (useful for drivers that
need headroom)

SVN-Revision: 16628

# git log --follow
target/linux/generic/pending-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
...
commit b011293d0be54dc724039acb0450dc8aba32
Author: Felix Fietkau 
Date:   Wed Mar 18 18:22:41 2015 +

kernel: replace GRO optimization patch with a new one that
supports VLANs/bridges with different MAC addresses

Signed-off-by: Felix Fietkau 

SVN-Revision: 44877


Regards
Jonas

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


Re: [LEDE-DEV] [PATCH] kernel: backport fix undefined abort

2018-01-30 Thread Andrey Jr. Melnikov
Hauke Mehrtens  wrote:


> On 01/30/2018 04:32 PM, Andrey Jr. Melnikov wrote:
> > Evgeniy Didin  wrote:
> > 
> >> While building mpi.ko module with stable Linux v4.14.14 an error occured:
> >>> ERROR: "abort" [lib/mpi/mpi.ko] undefined!
> >> In upstream Linux 4.15 this issue is fixed:
> >> Commit 7c2c11b208be ("arch: define weak abort()")
> >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7c2c11b208be09c156573fc0076b7b3646e05219
> > 
> >> Commit dc8635b78cd8 ("kernel/exit.c: export abort() to modules")
> >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=dc8635b78cd8669c37e230058d18c33af7451ab1
> > 
> >> So lets add backport patches until these fixes
> >> are not applied in stable version.
> > 
> >> Signed-off-by: Evgeniy Didin 
> >> Cc: Alexey Brodkin 
> >> CC: John Crispin 
> >> CC: Hauke Mehrtens 
> > 
> > Copy this description into commit comments. After next patch rebase - it 
> > lost.

> The patch already contain the full commit message and the hash so it is
> pretty easy to find where they are from. I think this patch looks good.
> I still hope that this will go into the 4.14 stable tree and we do not
> have to maintain this any more.
Original commit message not explaining WHY and FOR WHAT this patch added in
openwrt tree.

When adding new kernel and rebase patches - you and other developers COPY
patches across new directory and losing history - why this patch landed
in tree. 
Try understand why 650-pppoe_header_pad.patch here? 
Or 680-NET-skip-GRO-for-foreign-MAC-addresses.patch ?

[...]


___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


Re: [LEDE-DEV] [PATCH] kernel: backport fix undefined abort

2018-01-30 Thread Hauke Mehrtens


On 01/30/2018 04:32 PM, Andrey Jr. Melnikov wrote:
> Evgeniy Didin  wrote:
> 
>> While building mpi.ko module with stable Linux v4.14.14 an error occured:
>>> ERROR: "abort" [lib/mpi/mpi.ko] undefined!
>> In upstream Linux 4.15 this issue is fixed:
>> Commit 7c2c11b208be ("arch: define weak abort()")
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7c2c11b208be09c156573fc0076b7b3646e05219
> 
>> Commit dc8635b78cd8 ("kernel/exit.c: export abort() to modules")
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=dc8635b78cd8669c37e230058d18c33af7451ab1
> 
>> So lets add backport patches until these fixes
>> are not applied in stable version.
> 
>> Signed-off-by: Evgeniy Didin 
>> Cc: Alexey Brodkin 
>> CC: John Crispin 
>> CC: Hauke Mehrtens 
> 
> Copy this description into commit comments. After next patch rebase - it lost.

The patch already contain the full commit message and the hash so it is
pretty easy to find where they are from. I think this patch looks good.
I still hope that this will go into the 4.14 stable tree and we do not
have to maintain this any more.

Hauke

> 
>> ---
>>  .../080-v4.15-0001-arch-define-weak-abort.patch| 51 +++
>>  ...002-kernel-exit.c-export-abort-to-modules.patch | 74 
>> ++
>>  2 files changed, 125 insertions(+)
>>  create mode 100644 
>> target/linux/generic/backport-4.14/080-v4.15-0001-arch-define-weak-abort.patch
>>  create mode 100644 
>> target/linux/generic/backport-4.14/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch
> 
>> diff --git 
>> a/target/linux/generic/backport-4.14/080-v4.15-0001-arch-define-weak-abort.patch
>>  
>> b/target/linux/generic/backport-4.14/080-v4.15-0001-arch-define-weak-abort.patch
>> new file mode 100644
>> index 00..2d247a39e4
>> --- /dev/null
>> +++ 
>> b/target/linux/generic/backport-4.14/080-v4.15-0001-arch-define-weak-abort.patch
>> @@ -0,0 +1,51 @@
>> +From 7c2c11b208be09c156573fc0076b7b3646e05219 Mon Sep 17 00:00:00 2001
>> +From: Sudip Mukherjee 
>> +Date: Thu, 14 Dec 2017 15:33:19 -0800
>> +Subject: [PATCH] arch: define weak abort()
>> +
>> +gcc toggle -fisolate-erroneous-paths-dereference (default at -O2
>> +onwards) isolates faulty code paths such as null pointer access, divide
>> +by zero etc.  If gcc port doesnt implement __builtin_trap, an abort() is
>> +generated which causes kernel link error.
>> +
>> +In this case, gcc is generating abort due to 'divide by zero' in
>> +lib/mpi/mpih-div.c.
>> +
>> +Currently 'frv' and 'arc' are failing.  Previously other arch was also
>> +broken like m32r was fixed by commit d22e3d69ee1a ("m32r: fix build
>> +failure").
>> +
>> +Let's define this weak function which is common for all arch and fix the
>> +problem permanently.  We can even remove the arch specific 'abort' after
>> +this is done.
>> +
>> +Link: 
>> http://lkml.kernel.org/r/1513118956-8718-1-git-send-email-sudipm.mukher...@gmail.com
>> +Signed-off-by: Sudip Mukherjee 
>> +Cc: Alexey Brodkin 
>> +Cc: Vineet Gupta 
>> +Cc: Sudip Mukherjee 
>> +Signed-off-by: Andrew Morton 
>> +Signed-off-by: Linus Torvalds 
>> +---
>> + kernel/exit.c | 8 
>> + 1 file changed, 8 insertions(+)
>> +
>> +diff --git a/kernel/exit.c b/kernel/exit.c
>> +index 6b4298a41167..df0c91d5606c 100644
>> +--- a/kernel/exit.c
>>  b/kernel/exit.c
>> +@@ -1755,3 +1755,11 @@ COMPAT_SYSCALL_DEFINE5(waitid,
>> +   return -EFAULT;
>> + }
>> + #endif
>> ++
>> ++__weak void abort(void)
>> ++{
>> ++  BUG();
>> ++
>> ++  /* if that doesn't kill us, halt */
>> ++  panic("Oops failed to kill thread");
>> ++}
>> +-- 
>> +2.11.0
>> +
>> diff --git 
>> a/target/linux/generic/backport-4.14/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch
>>  
>> b/target/linux/generic/backport-4.14/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch
>> new file mode 100644
>> index 00..5b95b6798d
>> --- /dev/null
>> +++ 
>> b/target/linux/generic/backport-4.14/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch
>> @@ -0,0 +1,74 @@
>> +From dc8635b78cd8669c37e230058d18c33af7451ab1 Mon Sep 17 00:00:00 2001
>> +From: Andrew Morton 
>> +Date: Thu, 4 Jan 2018 16:17:56 -0800
>> +Subject: [PATCH] kernel/exit.c: export abort() to modules
>> +
>> +gcc -fisolate-erroneous-paths-dereference can generate calls to abort()
>> +from modular code too.
>> +
>> +[a...@arndb.de: drop duplicate exports of abort()]
>> +  Link: http://lkml.kernel.org/r/20180102103311.706364-1-a...@arndb.de
>> +Reported-by: Vineet Gupta 
>> +Cc: Sudip Mukherjee 
>> +Cc: Arnd Bergmann 
>> +Cc: Alexey Brodkin 
>> +Cc: Russell King 
>> +Cc: Jose Abreu 
>> +Signed-off-by: Andrew Morton 
>> +Signed-off-by: Arnd Bergmann 
>> +Signed-off-by: Linus Torvalds 
>> +---
>> + arch/arm/kernel/traps.c   | 1 -
>> + arch/m32r/kernel/traps.c  | 1 -
>> + arch/unicore32/kernel/traps.c | 1 -
>> + kernel/exit.c | 1 +
>> + 4 files changed, 1 insertion(+), 3 dele

Re: [LEDE-DEV] [PATCH] kernel: backport fix undefined abort

2018-01-30 Thread Andrey Jr. Melnikov
Evgeniy Didin  wrote:

> While building mpi.ko module with stable Linux v4.14.14 an error occured:
> >ERROR: "abort" [lib/mpi/mpi.ko] undefined!
> In upstream Linux 4.15 this issue is fixed:
> Commit 7c2c11b208be ("arch: define weak abort()")
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7c2c11b208be09c156573fc0076b7b3646e05219

> Commit dc8635b78cd8 ("kernel/exit.c: export abort() to modules")
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=dc8635b78cd8669c37e230058d18c33af7451ab1

> So lets add backport patches until these fixes
> are not applied in stable version.

> Signed-off-by: Evgeniy Didin 
> Cc: Alexey Brodkin 
> CC: John Crispin 
> CC: Hauke Mehrtens 

Copy this description into commit comments. After next patch rebase - it lost.

> ---
>  .../080-v4.15-0001-arch-define-weak-abort.patch| 51 +++
>  ...002-kernel-exit.c-export-abort-to-modules.patch | 74 
> ++
>  2 files changed, 125 insertions(+)
>  create mode 100644 
> target/linux/generic/backport-4.14/080-v4.15-0001-arch-define-weak-abort.patch
>  create mode 100644 
> target/linux/generic/backport-4.14/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch

> diff --git 
> a/target/linux/generic/backport-4.14/080-v4.15-0001-arch-define-weak-abort.patch
>  
> b/target/linux/generic/backport-4.14/080-v4.15-0001-arch-define-weak-abort.patch
> new file mode 100644
> index 00..2d247a39e4
> --- /dev/null
> +++ 
> b/target/linux/generic/backport-4.14/080-v4.15-0001-arch-define-weak-abort.patch
> @@ -0,0 +1,51 @@
> +From 7c2c11b208be09c156573fc0076b7b3646e05219 Mon Sep 17 00:00:00 2001
> +From: Sudip Mukherjee 
> +Date: Thu, 14 Dec 2017 15:33:19 -0800
> +Subject: [PATCH] arch: define weak abort()
> +
> +gcc toggle -fisolate-erroneous-paths-dereference (default at -O2
> +onwards) isolates faulty code paths such as null pointer access, divide
> +by zero etc.  If gcc port doesnt implement __builtin_trap, an abort() is
> +generated which causes kernel link error.
> +
> +In this case, gcc is generating abort due to 'divide by zero' in
> +lib/mpi/mpih-div.c.
> +
> +Currently 'frv' and 'arc' are failing.  Previously other arch was also
> +broken like m32r was fixed by commit d22e3d69ee1a ("m32r: fix build
> +failure").
> +
> +Let's define this weak function which is common for all arch and fix the
> +problem permanently.  We can even remove the arch specific 'abort' after
> +this is done.
> +
> +Link: 
> http://lkml.kernel.org/r/1513118956-8718-1-git-send-email-sudipm.mukher...@gmail.com
> +Signed-off-by: Sudip Mukherjee 
> +Cc: Alexey Brodkin 
> +Cc: Vineet Gupta 
> +Cc: Sudip Mukherjee 
> +Signed-off-by: Andrew Morton 
> +Signed-off-by: Linus Torvalds 
> +---
> + kernel/exit.c | 8 
> + 1 file changed, 8 insertions(+)
> +
> +diff --git a/kernel/exit.c b/kernel/exit.c
> +index 6b4298a41167..df0c91d5606c 100644
> +--- a/kernel/exit.c
>  b/kernel/exit.c
> +@@ -1755,3 +1755,11 @@ COMPAT_SYSCALL_DEFINE5(waitid,
> +   return -EFAULT;
> + }
> + #endif
> ++
> ++__weak void abort(void)
> ++{
> ++  BUG();
> ++
> ++  /* if that doesn't kill us, halt */
> ++  panic("Oops failed to kill thread");
> ++}
> +-- 
> +2.11.0
> +
> diff --git 
> a/target/linux/generic/backport-4.14/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch
>  
> b/target/linux/generic/backport-4.14/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch
> new file mode 100644
> index 00..5b95b6798d
> --- /dev/null
> +++ 
> b/target/linux/generic/backport-4.14/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch
> @@ -0,0 +1,74 @@
> +From dc8635b78cd8669c37e230058d18c33af7451ab1 Mon Sep 17 00:00:00 2001
> +From: Andrew Morton 
> +Date: Thu, 4 Jan 2018 16:17:56 -0800
> +Subject: [PATCH] kernel/exit.c: export abort() to modules
> +
> +gcc -fisolate-erroneous-paths-dereference can generate calls to abort()
> +from modular code too.
> +
> +[a...@arndb.de: drop duplicate exports of abort()]
> +  Link: http://lkml.kernel.org/r/20180102103311.706364-1-a...@arndb.de
> +Reported-by: Vineet Gupta 
> +Cc: Sudip Mukherjee 
> +Cc: Arnd Bergmann 
> +Cc: Alexey Brodkin 
> +Cc: Russell King 
> +Cc: Jose Abreu 
> +Signed-off-by: Andrew Morton 
> +Signed-off-by: Arnd Bergmann 
> +Signed-off-by: Linus Torvalds 
> +---
> + arch/arm/kernel/traps.c   | 1 -
> + arch/m32r/kernel/traps.c  | 1 -
> + arch/unicore32/kernel/traps.c | 1 -
> + kernel/exit.c | 1 +
> + 4 files changed, 1 insertion(+), 3 deletions(-)
> +
> +diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
> +index 5cf04888c581..3e26c6f7a191 100644
> +--- a/arch/arm/kernel/traps.c
>  b/arch/arm/kernel/traps.c
> +@@ -793,7 +793,6 @@ void abort(void)
> +   /* if that doesn't kill us, halt */
> +   panic("Oops failed to kill thread");
> + }
> +-EXPORT_SYMBOL(abort);
> + 
> + void __init trap_init(void)
> + {
> +diff --git a/arch/m32r/kernel/traps.c b/arch/m3

[LEDE-DEV] [PATCH] kernel: backport fix undefined abort

2018-01-30 Thread Evgeniy Didin
While building mpi.ko module with stable Linux v4.14.14 an error occured:
>ERROR: "abort" [lib/mpi/mpi.ko] undefined!
In upstream Linux 4.15 this issue is fixed:
Commit 7c2c11b208be ("arch: define weak abort()")
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7c2c11b208be09c156573fc0076b7b3646e05219

Commit dc8635b78cd8 ("kernel/exit.c: export abort() to modules")
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=dc8635b78cd8669c37e230058d18c33af7451ab1

So lets add backport patches until these fixes
are not applied in stable version.

Signed-off-by: Evgeniy Didin 
Cc: Alexey Brodkin 
CC: John Crispin 
CC: Hauke Mehrtens 
---
 .../080-v4.15-0001-arch-define-weak-abort.patch| 51 +++
 ...002-kernel-exit.c-export-abort-to-modules.patch | 74 ++
 2 files changed, 125 insertions(+)
 create mode 100644 
target/linux/generic/backport-4.14/080-v4.15-0001-arch-define-weak-abort.patch
 create mode 100644 
target/linux/generic/backport-4.14/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch

diff --git 
a/target/linux/generic/backport-4.14/080-v4.15-0001-arch-define-weak-abort.patch
 
b/target/linux/generic/backport-4.14/080-v4.15-0001-arch-define-weak-abort.patch
new file mode 100644
index 00..2d247a39e4
--- /dev/null
+++ 
b/target/linux/generic/backport-4.14/080-v4.15-0001-arch-define-weak-abort.patch
@@ -0,0 +1,51 @@
+From 7c2c11b208be09c156573fc0076b7b3646e05219 Mon Sep 17 00:00:00 2001
+From: Sudip Mukherjee 
+Date: Thu, 14 Dec 2017 15:33:19 -0800
+Subject: [PATCH] arch: define weak abort()
+
+gcc toggle -fisolate-erroneous-paths-dereference (default at -O2
+onwards) isolates faulty code paths such as null pointer access, divide
+by zero etc.  If gcc port doesnt implement __builtin_trap, an abort() is
+generated which causes kernel link error.
+
+In this case, gcc is generating abort due to 'divide by zero' in
+lib/mpi/mpih-div.c.
+
+Currently 'frv' and 'arc' are failing.  Previously other arch was also
+broken like m32r was fixed by commit d22e3d69ee1a ("m32r: fix build
+failure").
+
+Let's define this weak function which is common for all arch and fix the
+problem permanently.  We can even remove the arch specific 'abort' after
+this is done.
+
+Link: 
http://lkml.kernel.org/r/1513118956-8718-1-git-send-email-sudipm.mukher...@gmail.com
+Signed-off-by: Sudip Mukherjee 
+Cc: Alexey Brodkin 
+Cc: Vineet Gupta 
+Cc: Sudip Mukherjee 
+Signed-off-by: Andrew Morton 
+Signed-off-by: Linus Torvalds 
+---
+ kernel/exit.c | 8 
+ 1 file changed, 8 insertions(+)
+
+diff --git a/kernel/exit.c b/kernel/exit.c
+index 6b4298a41167..df0c91d5606c 100644
+--- a/kernel/exit.c
 b/kernel/exit.c
+@@ -1755,3 +1755,11 @@ COMPAT_SYSCALL_DEFINE5(waitid,
+   return -EFAULT;
+ }
+ #endif
++
++__weak void abort(void)
++{
++  BUG();
++
++  /* if that doesn't kill us, halt */
++  panic("Oops failed to kill thread");
++}
+-- 
+2.11.0
+
diff --git 
a/target/linux/generic/backport-4.14/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch
 
b/target/linux/generic/backport-4.14/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch
new file mode 100644
index 00..5b95b6798d
--- /dev/null
+++ 
b/target/linux/generic/backport-4.14/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch
@@ -0,0 +1,74 @@
+From dc8635b78cd8669c37e230058d18c33af7451ab1 Mon Sep 17 00:00:00 2001
+From: Andrew Morton 
+Date: Thu, 4 Jan 2018 16:17:56 -0800
+Subject: [PATCH] kernel/exit.c: export abort() to modules
+
+gcc -fisolate-erroneous-paths-dereference can generate calls to abort()
+from modular code too.
+
+[a...@arndb.de: drop duplicate exports of abort()]
+  Link: http://lkml.kernel.org/r/20180102103311.706364-1-a...@arndb.de
+Reported-by: Vineet Gupta 
+Cc: Sudip Mukherjee 
+Cc: Arnd Bergmann 
+Cc: Alexey Brodkin 
+Cc: Russell King 
+Cc: Jose Abreu 
+Signed-off-by: Andrew Morton 
+Signed-off-by: Arnd Bergmann 
+Signed-off-by: Linus Torvalds 
+---
+ arch/arm/kernel/traps.c   | 1 -
+ arch/m32r/kernel/traps.c  | 1 -
+ arch/unicore32/kernel/traps.c | 1 -
+ kernel/exit.c | 1 +
+ 4 files changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
+index 5cf04888c581..3e26c6f7a191 100644
+--- a/arch/arm/kernel/traps.c
 b/arch/arm/kernel/traps.c
+@@ -793,7 +793,6 @@ void abort(void)
+   /* if that doesn't kill us, halt */
+   panic("Oops failed to kill thread");
+ }
+-EXPORT_SYMBOL(abort);
+ 
+ void __init trap_init(void)
+ {
+diff --git a/arch/m32r/kernel/traps.c b/arch/m32r/kernel/traps.c
+index cb79fba79d43..b88a8dd14933 100644
+--- a/arch/m32r/kernel/traps.c
 b/arch/m32r/kernel/traps.c
+@@ -122,7 +122,6 @@ void abort(void)
+   /* if that doesn't kill us, halt */
+   panic("Oops failed to kill thread");
+ }
+-EXPORT_SYMBOL(abort);
+ 
+ void __init trap_init(void)
+ {
+diff --git a/arch/unicore32/kernel/traps.c b/arch/unico