diff options
author | Pradeep Tewani <pradeep.d.tewani@intel.com> | 2017-07-25 09:29:46 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-07-26 15:03:32 +0300 |
commit | 82444cdb4673c146d43f3f5ff3baf582d4f4cb41 (patch) | |
tree | 613282ebc784bf496498d105d928eae8fb544f66 /sound/soc/intel/boards/bxt_rt298.c | |
parent | 669eb871c440e19351c2d476d1837ed8a62afe16 (diff) | |
download | linux-82444cdb4673c146d43f3f5ff3baf582d4f4cb41.tar.xz |
ASoC: Intel: board: Fix missing sentinel for bxt_board_id
Without a sentinel in the array of platform devices, we can get a panic
so add a sentinel. Full stack dump below:
[ 231.564705] BUG: KASAN: global-out-of-bounds in platform_match+0xb0/0x146
[ 231.565500] Read of size 1 at addr ffffffff8380a1a0 by task swapper/0/1
[ 231.566280]
[ 231.566594] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.12.0-00289-g152771f #1
[ 231.567526] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
[ 231.568730] Call Trace:
[ 231.569128] dump_stack+0xf8/0x14a
[ 231.569615] print_address_description+0x57/0x1e4
[ 231.570216] ? driver_probe_device+0x814/0x814
[ 231.570798] kasan_report+0x1cb/0x1eb
[ 231.571302] ? platform_match+0xb0/0x146
[ 231.571833] __asan_load1+0x45/0x47
[ 231.572324] platform_match+0xb0/0x146
[ 231.572843] ? platform_uevent+0x73/0x73
[ 231.573370] __driver_attach+0x47/0x16a
[ 231.573890] bus_for_each_dev+0x11a/0x15c
[ 231.574422] ? bus_remove_file+0x57/0x57
[ 231.574951] ? do_raw_spin_unlock+0xc3/0xe0
[ 231.575501] driver_attach+0x2b/0x2e
[ 231.576002] bus_add_driver+0x25e/0x3c5
[ 231.576520] ? set_debug_rodata+0x20/0x20
[ 231.584776] driver_register+0x13e/0x19d
[ 231.585305] __platform_driver_register+0x6c/0x71
[ 231.585908] ? skl_driver_init+0x20/0x20
[ 231.586436] broxton_audio_init+0x17/0x19
[ 231.586976] do_one_initcall+0x11a/0x221
[ 231.587499] ? start_kernel+0x525/0x525
[ 231.588020] ? lock_downgrade+0x281/0x2ec
[ 231.588557] ? trace_hardirqs_on_caller+0x223/0x267
[ 231.589169] ? _raw_spin_unlock_irqrestore+0x49/0x55
[ 231.589791] ? set_debug_rodata+0x20/0x20
[ 231.590324] kernel_init_freeable+0x1fd/0x2b0
[ 231.590891] ? rest_init+0x17c/0x17c
[ 231.591384] kernel_init+0x11/0x157
[ 231.591876] ? rest_init+0x17c/0x17c
[ 231.592371] ret_from_fork+0x2a/0x40
[ 231.592865]
[ 231.593166] The buggy address belongs to the variable:
[ 231.593806] bxt_board_ids+0x40/0x9e0
Fixes: 152771fbc3 ("ASoC: Intel: board: Add Geminilake platform support")
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Pradeep Tewani <pradeep.d.tewani@intel.com>
Acked-By: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel/boards/bxt_rt298.c')
-rw-r--r-- | sound/soc/intel/boards/bxt_rt298.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/soc/intel/boards/bxt_rt298.c b/sound/soc/intel/boards/bxt_rt298.c index a4b5bcb1f6f8..7843104fadcb 100644 --- a/sound/soc/intel/boards/bxt_rt298.c +++ b/sound/soc/intel/boards/bxt_rt298.c @@ -595,6 +595,7 @@ static const struct platform_device_id bxt_board_ids[] = { (unsigned long)&broxton_rt298 }, { .name = "glk_alc298s_i2s", .driver_data = (unsigned long)&geminilake_rt298 }, + {} }; static struct platform_driver broxton_audio = { |