Linus, Attached is a patch against 2.4.0-test10-pre6. I went the ultra-safe route and put parentheses around every macro arg. Compiles ok for me here... If you were wondering if we can remove wrapper.h altogether, IMHO no, there are too many users (43) right now.. Changes: * add lots of parens * line up vm_xxx and mem_map_xxx nicely with tabs * remove unused: wait_handle file_handle inode_handle select_table_handle vm_area_handle connect_wrapper current_got_fatal_signal current_set_timeout module_interruptible_sleep_on module_select_wait module_wake_up module_register_chrdev module_unregister_chrdev module_register_blkdev module_unregister_blkdev inode_get_rdev file_get_flags mem_map_inc_count mem_map_dec_count -- Jeff Garzik | "Mind if I drive?" -Sam Building 1024 | "Not if you don't mind me clawing at the MandrakeSoft | dash and shrieking like a cheerleader." | -Max Kevin Lawton wrote: > > Listed in 2.4 headers as: > > #define mem_map_reserve(p) set_bit(PG_reserved, &p->flags) > #define mem_map_unreserve(p) clear_bit(PG_reserved, &p->flags) > > ...but should be: > > #define mem_map_reserve(p) set_bit(PG_reserved, &((p)->flags)) > #define mem_map_unreserve(p) clear_bit(PG_reserved, &((p)->flags)) > > Because of the 'void *' nature of the 2nd parameter to set_bit/clear_bit, > the compiler is not picking up this error. Either expression generates > a pointer, but not the same values. > > Might as well also wrap the parameter 'p' with parentheses in the > subsequent macros, mem_map_inc_count() and mem_map_dec_count(), > for clarity. > > CC me if needed. I'm not on this list. > > -Kevin Lawton > Plex86 project > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > Please read the FAQ at http://www.tux.org/lkml/