forked from luck/tmp_suning_uos_patched
nds32: fix logic for module
This bug is report by Dan Carpenter. We shall use ~loc_mask instead of
!loc_mask because we need to and(&) the bits of ~loc_mask.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Fixes: c9a4a8da6b
("nds32: Loadable modules")
Signed-off-by: Greentime Hu <greentime@andestech.com>
This commit is contained in:
parent
57361846b5
commit
1dfdf99106
|
@ -40,7 +40,7 @@ void do_reloc16(unsigned int val, unsigned int *loc, unsigned int val_mask,
|
|||
|
||||
tmp2 = tmp & loc_mask;
|
||||
if (partial_in_place) {
|
||||
tmp &= (!loc_mask);
|
||||
tmp &= (~loc_mask);
|
||||
tmp =
|
||||
tmp2 | ((tmp + ((val & val_mask) >> val_shift)) & val_mask);
|
||||
} else {
|
||||
|
@ -70,7 +70,7 @@ void do_reloc32(unsigned int val, unsigned int *loc, unsigned int val_mask,
|
|||
|
||||
tmp2 = tmp & loc_mask;
|
||||
if (partial_in_place) {
|
||||
tmp &= (!loc_mask);
|
||||
tmp &= (~loc_mask);
|
||||
tmp =
|
||||
tmp2 | ((tmp + ((val & val_mask) >> val_shift)) & val_mask);
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue
Block a user