Francesco Ruggeri
8ce5ae6912
netfilter: compat: initialize all fields in xt_init
...
commit 8d29d16d21342a0c86405d46de0c4ac5daf1760f upstream
If a non zero value happens to be in xt[NFPROTO_BRIDGE].cur at init
time, the following panic can be caused by running
% ebtables -t broute -F BROUTING
from a 32-bit user level on a 64-bit kernel. This patch replaces
kmalloc_array with kcalloc when allocating xt.
[ 474.680846] BUG: unable to handle kernel paging request at 0000000009600920
[ 474.687869] PGD 2037006067 P4D 2037006067 PUD 2038938067 PMD 0
[ 474.693838] Oops: 0000 [#1 ] SMP
[ 474.697055] CPU: 9 PID: 4662 Comm: ebtables Kdump: loaded Not tainted 4.19.17-11302235.AroraKernelnext.fc18.x86_64 #1
[ 474.707721] Hardware name: Supermicro X9DRT/X9DRT, BIOS 3.0 06/28/2013
[ 474.714313] RIP: 0010:xt_compat_calc_jump+0x2f/0x63 [x_tables]
[ 474.720201] Code: 40 0f b6 ff 55 31 c0 48 6b ff 70 48 03 3d dc 45 00 00 48 89 e5 8b 4f 6c 4c 8b 47 60 ff c9 39 c8 7f 2f 8d 14 08 d1 fa 48 63 fa <41> 39 34 f8 4c 8d 0c fd 00 00 00 00 73 05 8d 42 01 eb e1 76 05 8d
[ 474.739023] RSP: 0018:ffffc9000943fc58 EFLAGS: 00010207
[ 474.744296] RAX: 0000000000000000 RBX: ffffc90006465000 RCX: 0000000002580249
[ 474.751485] RDX: 00000000012c0124 RSI: fffffffff7be17e9 RDI: 00000000012c0124
[ 474.758670] RBP: ffffc9000943fc58 R08: 0000000000000000 R09: ffffffff8117cf8f
[ 474.765855] R10: ffffc90006477000 R11: 0000000000000000 R12: 0000000000000001
[ 474.773048] R13: 0000000000000000 R14: ffffc9000943fcb8 R15: ffffc9000943fcb8
[ 474.780234] FS: 0000000000000000(0000) GS:ffff88a03f840000(0063) knlGS:00000000f7ac7700
[ 474.788612] CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033
[ 474.794632] CR2: 0000000009600920 CR3: 0000002037422006 CR4: 00000000000606e0
[ 474.802052] Call Trace:
[ 474.804789] compat_do_replace+0x1fb/0x2a3 [ebtables]
[ 474.810105] compat_do_ebt_set_ctl+0x69/0xe6 [ebtables]
[ 474.815605] ? try_module_get+0x37/0x42
[ 474.819716] compat_nf_setsockopt+0x4f/0x6d
[ 474.824172] compat_ip_setsockopt+0x7e/0x8c
[ 474.828641] compat_raw_setsockopt+0x16/0x3a
[ 474.833220] compat_sock_common_setsockopt+0x1d/0x24
[ 474.838458] __compat_sys_setsockopt+0x17e/0x1b1
[ 474.843343] ? __check_object_size+0x76/0x19a
[ 474.847960] __ia32_compat_sys_socketcall+0x1cb/0x25b
[ 474.853276] do_fast_syscall_32+0xaf/0xf6
[ 474.857548] entry_SYSENTER_compat+0x6b/0x7a
Signed-off-by: Francesco Ruggeri <fruggeri@arista.com>
Acked-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Zubin Mithra <zsm@chromium.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-05-16 19:45:05 +02:00
..
2018-10-10 08:52:04 +02:00
2019-04-27 09:33:58 +02:00
2018-04-13 19:50:25 +02:00
2019-04-27 09:33:59 +02:00
2019-04-27 09:33:59 +02:00
2019-02-23 09:05:14 +01:00
2019-03-23 08:44:17 +01:00
2019-05-16 19:45:04 +02:00
2019-05-16 19:44:57 +02:00
2018-09-05 09:18:34 +02:00
2019-02-06 19:43:04 +01:00
2019-03-23 08:44:18 +01:00
2019-05-16 19:44:52 +02:00
2018-09-19 22:48:58 +02:00
2019-04-03 06:23:25 +02:00
2018-02-25 11:03:38 +01:00
2018-07-22 14:25:54 +02:00
2019-02-20 10:13:15 +01:00
2017-02-18 16:39:27 +01:00
2019-03-23 08:44:31 +01:00
2019-02-08 11:25:32 +01:00
2019-05-16 19:44:59 +02:00
2019-05-16 19:45:05 +02:00
2017-05-25 14:30:13 +02:00
2018-09-15 09:40:40 +02:00
2018-11-10 07:41:35 -08:00
2018-06-16 09:54:25 +02:00
2019-03-23 08:44:29 +01:00
2015-10-07 04:27:43 -07:00
2018-12-01 09:46:34 +01:00
2019-04-27 09:34:02 +02:00
2018-09-09 20:04:32 +02:00
2018-03-11 16:19:47 +01:00
2019-05-16 19:45:05 +02:00
2018-10-20 09:52:36 +02:00
2018-08-09 12:19:28 +02:00
2019-02-06 19:43:06 +01:00
2019-03-23 08:44:22 +01:00
2019-04-27 09:33:54 +02:00
2019-05-16 19:45:00 +02:00
2019-03-23 08:44:34 +01:00
2019-04-27 09:33:54 +02:00
2018-05-16 10:06:51 +02:00
2019-04-03 06:23:25 +02:00
2018-04-13 19:50:23 +02:00
2019-02-06 19:43:03 +01:00
2019-04-27 09:33:55 +02:00
2019-05-16 19:44:44 +02:00
2016-06-24 10:18:16 -07:00
2019-05-16 19:44:52 +02:00
2019-03-23 08:44:31 +01:00
2019-02-23 09:05:13 +01:00
2015-08-09 22:43:52 -07:00
2019-04-03 06:23:25 +02:00
2019-03-23 08:44:30 +01:00
2019-02-20 10:13:20 +01:00
2019-01-13 10:05:28 +01:00
2018-02-25 11:03:37 +01:00
2015-09-29 20:40:32 -07:00
2019-03-23 08:44:21 +01:00
2016-09-15 08:27:50 +02:00