diff options
author | Mike Frysinger <vapier.adi@gmail.com> | 2008-11-18 04:48:21 -0500 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2008-11-18 04:48:21 -0500 |
commit | dce783c5e400d6a470c86ccb5a7fdeabf27afbf4 (patch) | |
tree | a33bd6aa60514620856b473ece56af91190c4015 /arch | |
parent | 8624991187c365779f101b926662950794a6bfbe (diff) |
Blackfin arch: add BUG_ON() checks to make sure we dont overflow the cplb tables
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/blackfin/kernel/cplb-nompu/cplbinit.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/blackfin/kernel/cplb-nompu/cplbinit.c b/arch/blackfin/kernel/cplb-nompu/cplbinit.c index afef5c740aa4..e14c37e98ed5 100644 --- a/arch/blackfin/kernel/cplb-nompu/cplbinit.c +++ b/arch/blackfin/kernel/cplb-nompu/cplbinit.c | |||
@@ -420,8 +420,17 @@ void __init generate_cplb_tables_cpu(unsigned int cpu) | |||
420 | } | 420 | } |
421 | } | 421 | } |
422 | 422 | ||
423 | /* close tables */ | 423 | /* make sure we locked the kernel start */ |
424 | BUG_ON(cplb.init_i.pos < 2 + cplb_data[ZERO_P].valid); | ||
425 | BUG_ON(cplb.init_d.pos < 1 + cplb_data[ZERO_P].valid + cplb_data[L1D_MEM].valid); | ||
426 | |||
427 | /* make sure we didnt overflow the table */ | ||
428 | BUG_ON(cplb.init_i.size <= cplb.init_i.pos); | ||
429 | BUG_ON(cplb.init_d.size <= cplb.init_d.pos); | ||
430 | BUG_ON(cplb.switch_i.size <= cplb.switch_i.pos); | ||
431 | BUG_ON(cplb.switch_d.size <= cplb.switch_d.pos); | ||
424 | 432 | ||
433 | /* close tables */ | ||
425 | close_cplbtab(&cplb.init_i); | 434 | close_cplbtab(&cplb.init_i); |
426 | close_cplbtab(&cplb.init_d); | 435 | close_cplbtab(&cplb.init_d); |
427 | 436 | ||