On Wed, Mar 01, 2017 at 08:54:26PM +0800, Fengguang Wu wrote:
Hi all,

Is it BPF triggering BUGs all over the places?

It looks so, and here is a fix.

1e74a2eb1f  Merge tag 'gcc-plugins-v4.11-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
005c3490e9  Revert "ath10k: Search SMBIOS for OEM board file extension"
3051bf36c2  Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
+-------------------------------------------------------+------------+------------+------------+
|                                                       | 1e74a2eb1f | 
005c3490e9 | 3051bf36c2 |
+-------------------------------------------------------+------------+------------+------------+
| boot_successes                                        | 1223       | 1098     
  | 242        |
| boot_failures                                         | 1          | 126      
  | 72         |
| BUG:unable_to_handle_kernel                           | 1          | 117      
  | 69         |
| Oops                                                  | 1          | 126      
  | 72         |
| EIP:perf_callchain_user                               | 1          |          
  |            |
| Kernel_panic-not_syncing:Fatal_exception              | 1          | 121      
  | 67         |
| EIP:netlink_release                                   | 0          | 20       
  | 3          |
| EIP:bpf_prog_free                                     | 0          | 22       
  | 3          |
| EIP:filp_close                                        | 0          | 64       
  | 23         |
| EIP:netlink_update_listeners                          | 0          | 10       
  | 9          |
| EIP:security_inode_getattr                            | 0          | 2        
  |            |
| EIP:__lock_acquire                                    | 0          | 1        
  | 11         |
| Kernel_panic-not_syncing:Fatal_exception_in_interrupt | 0          | 5        
  | 4          |
| EIP:__rcu_process_callbacks                           | 0          | 2        
  |            |
| EIP:__fget_light                                      | 0          | 1        
  |            |
| EIP:__unix_remove_socket                              | 0          | 0        
  | 13         |
| INFO:trying_to_register_non-static_key                | 0          | 0        
  | 2          |
| EIP:mnt_want_write_file                               | 0          | 0        
  | 1          |
| EIP:skb_dequeue                                       | 0          | 0        
  | 1          |
| EIP:strlen                                            | 0          | 0        
  | 1          |
| EIP:__netlink_lookup                                  | 0          | 0        
  | 2          |
| EIP:vfs_fsync_range                                   | 0          | 0        
  | 1          |
| EIP:__unix_find_socket_byname                         | 0          | 0        
  | 1          |
| EIP:release_sock                                      | 0          | 0        
  | 1          |
+-------------------------------------------------------+------------+------------+------------+

I confirm that the below patch provided by Daniel fixes the above
issues on mainline kernel, too. Where should this patch be sent to?
It'd be very noisy if all these Oops hit the upcoming RC1 kernel.

Daniel thinks there may be deeper problem in i386 set_memory_rw().
However that could take much longer time to debug.

Thanks,
Fengguang
---

Re: [bpf] 9d876e79df:  BUG: unable to handle kernel paging request at 653a8346

On Tue, Feb 28, 2017 at 04:39:36PM +0100, Daniel Borkmann wrote:

I have a rough feeling what it is, but I didn't have cycles to work on
it yet (due to travel, sorry about that). The issue is likely shut down
by just doing:

---
arch/x86/Kconfig |    2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- linux.orig/arch/x86/Kconfig 2017-03-03 03:44:35.962022996 +0800
+++ linux/arch/x86/Kconfig      2017-03-03 03:44:35.962022996 +0800
@@ -54,7 +54,7 @@ config X86
        select ARCH_HAS_KCOV                    if X86_64
        select ARCH_HAS_MMIO_FLUSH
        select ARCH_HAS_PMEM_API                if X86_64
-       select ARCH_HAS_SET_MEMORY
+       select ARCH_HAS_SET_MEMORY              if X86_64
        select ARCH_HAS_SG_CHAIN
        select ARCH_HAS_STRICT_KERNEL_RWX
        select ARCH_HAS_STRICT_MODULE_RWX

Reply via email to