diff --git a/kernel/bits.c b/kernel/bits.c index 0ccb267..bfec25f 100644 --- a/kernel/bits.c +++ b/kernel/bits.c @@ -14,7 +14,7 @@ void bit_set_range(unsigned long *bitfield, usize first, usize count) /* test if the entire bit range is contained within this longword */ if (bit + count < LONG_BIT) { unsigned long low_mask = (1lu << bit) - 1; /* 0b000..011 */ - unsigned long high_mask = ~0lu ^ ((1lu << (bit + count)) - 1); /* 0b110..000 */ + unsigned long high_mask = ~( (1lu << (bit + count)) - 1 ); /* 0b110..000 */ *bitfield |= ~(low_mask | high_mask); } else { /* if the first bit isn't longword aligned, manually set the upper @@ -47,7 +47,7 @@ void bit_clr_range(unsigned long *bitfield, usize first, usize count) if (bit + count < LONG_BIT) { unsigned long low_mask = (1lu << bit) - 1; - unsigned long high_mask = ~0lu ^ ((1lu << (bit + count)) - 1); + unsigned long high_mask = ~( (1lu << (bit + count)) - 1 ); *bitfield &= low_mask | high_mask; } else { if (bit != 0) {