The style script

From Crashcourse Wiki

Jump to: navigation, search

Contents

[edit] Places where you might use ARRAY_SIZE()

Places where you can take advantage of the macro:

#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
./include/video/sgivw.h:679:#define DBE_VT_SIZE  (sizeof(dbeVTimings)/sizeof(dbeVTimings[0]))
./include/acpi/actypes.h:454:#define ACPI_ARRAY_LENGTH(x)            (sizeof(x) / sizeof((x)[0]))
./include/linux/kernel.h:46:#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
./include/linux/sh_intc.h:66:#define _INTC_ARRAY(a) a, sizeof(a)/sizeof(*a)
./arch/ia64/kvm/kvm-ia64.c:500:		sizeof(kvm_vti_exit_handlers)/sizeof(*kvm_vti_exit_handlers);
./arch/ia64/xen/xen_pv_ops.c:1156:		sizeof(xen_branch_target) / sizeof(xen_branch_target[0]);
./arch/powerpc/boot/dtc-src/dtc.h:83:#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
./arch/powerpc/boot/types.h:4:#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
./arch/powerpc/boot/libfdt/fdt_strerror.c:80:#define FDT_ERRTABSIZE	(sizeof(fdt_errtable) / sizeof(fdt_errtable[0]))
./arch/um/include/shared/user.h:17:#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
./arch/um/kernel/config.c.in:17:	for (i = 0; i < sizeof(config)/sizeof(config[0]); i++)
./arch/parisc/include/asm/mmzone.h:54:	BUG_ON(i >= sizeof(pfnnid_map) / sizeof(pfnnid_map[0]));
./arch/x86/boot/compressed/relocs.c:13:#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
./arch/x86/boot/boot.h:33:#define ARRAY_SIZE(x) (sizeof(x) / sizeof(*(x)))
./arch/mips/sgi-ip22/ip28-berr.c:415:	for (i = 0; i < sizeof(hpc3)/sizeof(struct hpc3_stat); ++i) {
./arch/mips/sgi-ip22/ip28-berr.c:424:	if (i < sizeof(hpc3)/sizeof(struct hpc3_stat)) {
./scripts/mod/file2alias.c:520:#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
./scripts/mod/modpost.c:903:	int elems = sizeof(sectioncheck) / sizeof(struct sectioncheck);
./scripts/genksyms/genksyms.c:314:#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
./scripts/selinux/mdp/mdp.c:147:	for (i=0; i< sizeof(common)/sizeof(struct common); i++) {
./scripts/selinux/mdp/mdp.c:165:			for (j=0; j < sizeof(av_inherit)/sizeof(struct av_inherit); j++)
./scripts/selinux/mdp/mdp.c:169:			for (j=0; j < sizeof(av_perms)/sizeof(struct av_perms); j++) {
./fs/ocfs2/stack_o2cb.c:156:	BUG_ON(status > (sizeof(status_map) / sizeof(status_map[0])));
./drivers/scsi/libfc/fc_lport.c:1206:	i = sizeof(lps->ff_type_map) / sizeof(lps->ff_type_map[0]);
./drivers/scsi/libfc/fc_exch.c:190:#define FC_TABLE_SIZE(x)   (sizeof(x) / sizeof(x[0]))
./drivers/isdn/hardware/eicon/message.c:555:      i<(sizeof(ftable)/sizeof(struct _ftable));
./drivers/ata/sata_mv.c:2181:	err = mv_send_fis(ap, fis, sizeof(fis) / sizeof(fis[0]));
./drivers/zorro/names.c:51:#define MANUF( manuf, name )		{ 0x##manuf, sizeof(__prods_##manuf) / sizeof(struct zorro_prod_info), __manufstr_##manuf, __prods_##manuf },
./drivers/media/video/gspca/sunplus.c:846:		cam->nmodes = sizeof vga_mode / sizeof vga_mode[0];
./drivers/media/video/gspca/sunplus.c:850:		cam->nmodes = sizeof custom_mode / sizeof custom_mode[0];
./drivers/media/video/gspca/sunplus.c:854:		cam->nmodes = sizeof vga_mode2 / sizeof vga_mode2[0];
./drivers/media/video/gspca/zc3xx.c:7573:	.nctrls = sizeof sd_ctrls / sizeof sd_ctrls[0],
./drivers/media/video/gspca/spca501.c:1926:	cam->nmodes = sizeof vga_mode / sizeof vga_mode[0];
./drivers/media/video/gspca/conex.c:823:	cam->nmodes = sizeof vga_mode / sizeof vga_mode[0];
./drivers/media/video/gspca/etoms.c:638:		cam->nmodes = sizeof sif_mode / sizeof sif_mode[0];
./drivers/media/video/gspca/etoms.c:641:		cam->nmodes = sizeof vga_mode / sizeof vga_mode[0];
./drivers/media/video/gspca/spca506.c:289:	cam->nmodes = sizeof vga_mode / sizeof vga_mode[0];
./drivers/media/video/mxb.c:834:	.num_stds	= sizeof(standard)/sizeof(struct saa7146_standard),
./drivers/media/video/tveeprom.c:54:	(i < sizeof(array) / sizeof(char *) ? array[i] : "unknown")
./drivers/pcmcia/i82365.c:230:#define PCIC_COUNT	(sizeof(pcic)/sizeof(pcic_t))
./drivers/staging/poch/poch.c:1184:		nattrs = sizeof(poch_class_attrs)/sizeof(poch_class_attrs[0]);
./drivers/staging/poch/poch.c:1228:		nattrs = sizeof(poch_class_attrs)/sizeof(poch_class_attrs[0]);
./drivers/staging/comedi/drivers/poc.c:103:#define n_boards (sizeof(boards)/sizeof(boards[0]))
./drivers/staging/comedi/drivers/ni_pcimio.c:1208:#define n_pcimio_boards ((sizeof(ni_boards)/sizeof(ni_boards[0])))
./drivers/staging/comedi/drivers/ni_660x.c:447:#define n_ni_660x_boards (sizeof(ni_660x_boards)/sizeof(ni_660x_boards[0]))
./drivers/staging/comedi/drivers/amplc_pci230.c:513:#define n_pci230_boards (sizeof(pci230_boards)/sizeof(pci230_boards[0]))
./drivers/staging/comedi/drivers/amplc_pci230.c:613:      num_names:sizeof(pci230_boards) / sizeof(pci230_boards[0]),
./drivers/staging/comedi/drivers/ni_stc.h:1087:	if (((unsigned)i) >= sizeof(offset) / sizeof(offset[0])) {
./drivers/staging/comedi/drivers/ni_stc.h:1101:	if (((unsigned)channel) >= sizeof(offset) / sizeof(offset[0])) {
./drivers/staging/comedi/drivers/cb_das16_cs.c:80:#define n_boards (sizeof(das16cs_boards)/sizeof(das16cs_boards[0]))
./drivers/staging/comedi/drivers/ni_atmio16d.c:123:#define n_atmio16_boards sizeof(atmio16_boards)/sizeof(atmio16_boards[0])
./drivers/staging/comedi/drivers/rtd520.c:760:		for(i = 0; i < sizeof(rtd520Boards) / sizeof(rtd520Boards[0]); ++i)
./drivers/staging/comedi/drivers/ni_65xx.c:243:#define n_ni_65xx_boards (sizeof(ni_65xx_boards)/sizeof(ni_65xx_boards[0]))
./drivers/staging/comedi/drivers/ni_6527.c:104:#define n_ni6527_boards (sizeof(ni6527_boards)/sizeof(ni6527_boards[0]))
./drivers/staging/comedi/drivers/ni_pcidio.c:374:#define n_nidio_boards (sizeof(nidio_boards)/sizeof(nidio_boards[0]))
./drivers/staging/comedi/drivers/rti800.c:203:				sizeof(gaindelay) / sizeof(gaindelay[0]));
./drivers/staging/comedi/drivers/ni_670x.c:112:#define n_ni_670x_boards (sizeof(ni_670x_boards)/sizeof(ni_670x_boards[0]))
./drivers/staging/comedi/drivers/s626.c:2376:	for (i = 0; i < (sizeof(trimchan) / sizeof(trimchan[0])); i++)
./drivers/staging/comedi/drivers/pcmad.c:71:#define n_pcmad_boards (sizeof(pcmad_boards)/sizeof(pcmad_boards[0]))
./drivers/staging/comedi/drivers.c:856:	return comedi_auto_config(&pcidev->dev, board_name, options, sizeof(options) / sizeof(options[0]));
./drivers/staging/rtl8187se/r8180_wx.c:33:#define RATE_COUNT (sizeof(rtl8180_rates)/sizeof(rtl8180_rates[0]))
./drivers/staging/rt2870/tmp60:3222:#define	N(a)	(sizeof (a) / sizeof (a[0]))
./drivers/staging/rt2870/tmp60:5645:				wrq->u.data.length = sizeof(privtab) / sizeof(privtab[0]);
./drivers/staging/rt2870/sta_ioctl.c:3237:#define	N(a)	(sizeof (a) / sizeof (a[0]))
./drivers/staging/rt2870/sta_ioctl.c:5676:				wrq->u.data.length = sizeof(privtab) / sizeof(privtab[0]);
./drivers/staging/rt2870/tmp61:3222:#define	N(a)	(sizeof (a) / sizeof (a[0]))
./drivers/staging/rt2870/tmp61:5645:				wrq->u.data.length = sizeof(privtab) / sizeof(privtab[0]);
./drivers/staging/rt2860/sta_ioctl.c:3220:#define	N(a)	(sizeof (a) / sizeof (a[0]))
./drivers/staging/rt2860/sta_ioctl.c:5654:				wrq->u.data.length = sizeof(privtab) / sizeof(privtab[0]);
./drivers/staging/rt3070/sta_ioctl.c:3167:#define	N(a)	(sizeof (a) / sizeof (a[0]))
./drivers/staging/rt3070/sta_ioctl.c:5590:				wrq->u.data.length = sizeof(privtab) / sizeof(privtab[0]);
./drivers/staging/epl/proc_fs.c:199:	    (sizeof(aatmDbgTracePoint_l) / sizeof(aatmDbgTracePoint_l[0]))) {
./drivers/staging/epl/EplInc.h:236:#define tabentries(a)   (sizeof(a)/sizeof(*(a)))
./drivers/staging/otus/hal/hpmain.c:427:    entries = sizeof(ar5416Modes) / sizeof(*ar5416Modes);
./drivers/staging/otus/hal/hpmain.c:493:    entries = sizeof(ar5416Common) / sizeof(*ar5416Common);
./drivers/staging/otus/hal/hpmain.c:503:    entries = sizeof(ar5416BB_RfGain) / sizeof(*ar5416BB_RfGain);
./drivers/staging/otus/hal/hpmain.c:981:    entries = sizeof(otusBank) / sizeof(*otusBank);
./drivers/staging/otus/hal/hpmain.c:988:    entries = sizeof(ar5416Bank0) / sizeof(*ar5416Bank0);
./drivers/staging/otus/hal/hpmain.c:994:    entries = sizeof(ar5416Bank1) / sizeof(*ar5416Bank1);
./drivers/staging/otus/hal/hpmain.c:1000:    entries = sizeof(ar5416Bank2) / sizeof(*ar5416Bank2);
./drivers/staging/otus/hal/hpmain.c:1006:    entries = sizeof(ar5416Bank3) / sizeof(*ar5416Bank3);
./drivers/staging/otus/hal/hpmain.c:1015:    entries = sizeof(ar5416Bank6) / sizeof(*ar5416Bank6);
./drivers/staging/otus/hal/hpmain.c:1021:    entries = sizeof(ar5416Bank7) / sizeof(*ar5416Bank7);
./drivers/staging/otus/hal/hpreg.c:33:#define	N(a)	(sizeof (a) / sizeof (a[0]))
./drivers/staging/otus/hal/hpani.c:75:#define N(a)     (sizeof(a) / sizeof(a[0]))
./drivers/staging/otus/hal/hpani.c:140:#define N(a) (sizeof(a)/sizeof(a[0]))
./drivers/staging/line6/driver.c:685:	for (devtype = sizeof(line6_id_table) / sizeof(line6_id_table[0]) - 1; devtype--;)
./drivers/staging/winbond/reg.c:1059:		number = sizeof(max2825_rf_data)/sizeof(max2825_rf_data[0]);
./drivers/staging/winbond/reg.c:1068:		number = sizeof(max2827_rf_data)/sizeof(max2827_rf_data[0]);
./drivers/staging/winbond/reg.c:1077:		number = sizeof(max2828_rf_data)/sizeof(max2828_rf_data[0]);
./drivers/staging/winbond/reg.c:1086:		number = sizeof(max2829_rf_data)/sizeof(max2829_rf_data[0]);
./drivers/staging/winbond/reg.c:1095:		number = sizeof(al2230_rf_data)/sizeof(al2230_rf_data[0]);
./drivers/staging/winbond/reg.c:1104:		number = sizeof(al2230s_rf_data)/sizeof(al2230s_rf_data[0]);
./drivers/staging/winbond/reg.c:1120:		number = sizeof(al7230_rf_data_24)/sizeof(al7230_rf_data_24[0]);
./drivers/staging/winbond/reg.c:1126:		number = sizeof(w89rf242_rf_data)/sizeof(w89rf242_rf_data[0]);
./drivers/staging/winbond/reg.c:1249:			number = sizeof(al7230_rf_data_50)/sizeof(al7230_rf_data_50[0]);
./drivers/staging/winbond/reg.c:1972:				count = sizeof(max2829_channel_data_50) / sizeof(max2829_channel_data_50[0]);
./drivers/staging/winbond/reg.c:2024:					number = sizeof(al7230_rf_data_24)/sizeof(al7230_rf_data_24[0]);
./drivers/staging/winbond/reg.c:2032:					number = sizeof(al7230_rf_data_50)/sizeof(al7230_rf_data_50[0]);
./drivers/staging/winbond/reg.c:2063:				count = sizeof(al7230_channel_data_5) / sizeof(al7230_channel_data_5[0]);
./drivers/staging/winbond/reg.c:2240:	count = sizeof(al2230_txvga_data) / sizeof(al2230_txvga_data[0]);
./drivers/staging/winbond/reg.c:2260:	count = sizeof(al7230_txvga_data) / sizeof(al7230_txvga_data[0]);
./drivers/staging/winbond/reg.c:2278:	count = sizeof(w89rf242_txvga_data) / sizeof(w89rf242_txvga_data[0]);
./drivers/staging/winbond/reg.c:2458:			for( j=0; j<(sizeof(w89rf242_txvga_old_mapping)/sizeof(w89rf242_txvga_old_mapping[0])); j++ )
./drivers/staging/winbond/reg.c:2467:			if( j == (sizeof(w89rf242_txvga_old_mapping)/sizeof(w89rf242_txvga_old_mapping[0])) )
./drivers/staging/meilhaus/me6000_device.h:106:#define ME6000_DEVICE_VERSIONS (sizeof(me6000_versions) / sizeof(me6000_version_t) - 1)	/**< Returns the number of entries in #me6000_versions. */
./drivers/staging/meilhaus/me0600_device.h:57:#define ME0600_DEVICE_VERSIONS (sizeof(me0600_versions) / sizeof(me0600_version_t) - 1)	/**< Returns the number of entries in #me0600_versions. */
./drivers/staging/meilhaus/me0900_device.h:56:#define ME0900_DEVICE_VERSIONS (sizeof(me0900_versions) / sizeof(me0900_version_t) - 1)	/**< Returns the number of entries in #me0900_versions. */
./drivers/staging/meilhaus/me1400_device.h:63:#define ME1400_DEVICE_VERSIONS (sizeof(me1400_versions) / sizeof(me1400_version_t) - 1)	/**< Returns the number of entries in #me1400_versions. */
./drivers/staging/meilhaus/me4600_device.h:83:#define ME4600_DEVICE_VERSIONS (sizeof(me4600_versions) / sizeof(me4600_version_t) - 1)	/**< Returns the number of entries in #me4600_versions. */
./drivers/staging/meilhaus/metempl_device.h:53:#define METEMPL_DEVICE_VERSIONS (sizeof(metempl_versions) / sizeof(metempl_version_t) - 1) /**< Returns the number of entries in #metempl_versions. */
./drivers/staging/meilhaus/me8100_device.h:56:#define ME8100_DEVICE_VERSIONS (sizeof(me8100_versions) / sizeof(me8100_version_t) - 1)	/**< Returns the number of entries in #me8100_versions. */
./drivers/staging/meilhaus/me8200_device.h:56:#define ME8200_DEVICE_VERSIONS (sizeof(me8200_versions) / sizeof(me8200_version_t) - 1)	/**< Returns the number of entries in #me8200_versions. */
./drivers/gpu/drm/i915/intel_tv.c:899:#define NUM_TV_MODES sizeof(tv_modes) / sizeof (tv_modes[0])
./drivers/gpu/drm/i915/intel_tv.c:1061:	for (i = 0; i < sizeof(tv_modes) / sizeof (tv_modes[0]); i++) {
./drivers/gpu/drm/i915/intel_tv.c:1509:	for (j = 0; j < sizeof(input_res_table) / sizeof(input_res_table[0]);
./drivers/gpu/drm/i915/intel_sdvo.c:281:	for (i = 0; i < sizeof(sdvo_cmd_names) / sizeof(sdvo_cmd_names[0]); i++) {
./drivers/gpu/drm/i915/intel_sdvo.c:287:	if (i == sizeof(sdvo_cmd_names)/ sizeof(sdvo_cmd_names[0]))
./drivers/char/synclink_gt.c:4771:	static unsigned int count = sizeof(patterns)/sizeof(patterns[0]);
./drivers/serial/68328serial.c:156:#define BAUD_TABLE_SIZE (sizeof(baud_table)/sizeof(baud_table[0]))
./drivers/serial/68328serial.c:1409:	for (i = 0; i < sizeof(baud_table) / sizeof(baud_table[0]); i++)
./drivers/serial/68328serial.c:1412:	if (i >= sizeof(baud_table) / sizeof(baud_table[0])) {
./kernel/time/timecompare.c:59:	if (num_samples > sizeof(buffer)/sizeof(buffer[0])) {
./kernel/time/timecompare.c:63:			num_samples = sizeof(buffer)/sizeof(buffer[0]);
./kernel/compat.c:745:		for (j = 0; j < sizeof(m)/sizeof(um); j++) {
./kernel/compat.c:786:		for (j = 0; j < sizeof(m)/sizeof(um); j++) {
./Documentation/zh_CN/CodingStyle:647:  #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
./Documentation/CodingStyle:760:  #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
./Documentation/timers/hpet.txt:95:	for (i = 0; i < (sizeof (hpet_command) / sizeof (hpet_command[0])); i++)
./Documentation/spi/spidev_test.c:24:#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))

[edit] Places where you might use FIELD_SIZE()

Places where you can take advantage of the macro:

#define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f))
./include/net/sctp/sctp.h:610:		    sizeof(((struct sk_buff *)0)->cb),
./include/linux/kernel.h:48:#define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f))
./arch/m68k/kernel/signal.c:57:  [1]	= -1, /* sizeof(((struct frame *)0)->un.fmt1), */
./arch/m68k/kernel/signal.c:58:  [2]	= sizeof(((struct frame *)0)->un.fmt2),
./arch/m68k/kernel/signal.c:59:  [3]	= sizeof(((struct frame *)0)->un.fmt3),
./arch/m68k/kernel/signal.c:60:  [4]	= sizeof(((struct frame *)0)->un.fmt4),
./arch/m68k/kernel/signal.c:61:  [5]	= -1, /* sizeof(((struct frame *)0)->un.fmt5), */
./arch/m68k/kernel/signal.c:62:  [6]	= -1, /* sizeof(((struct frame *)0)->un.fmt6), */
./arch/m68k/kernel/signal.c:63:  [7]	= sizeof(((struct frame *)0)->un.fmt7),
./arch/m68k/kernel/signal.c:64:  [8]	= -1, /* sizeof(((struct frame *)0)->un.fmt8), */
./arch/m68k/kernel/signal.c:65:  [9]	= sizeof(((struct frame *)0)->un.fmt9),
./arch/m68k/kernel/signal.c:66:  [10]	= sizeof(((struct frame *)0)->un.fmta),
./arch/m68k/kernel/signal.c:67:  [11]	= sizeof(((struct frame *)0)->un.fmtb),
./arch/m68k/kernel/signal.c:68:  [12]	= -1, /* sizeof(((struct frame *)0)->un.fmtc), */
./arch/m68k/kernel/signal.c:69:  [13]	= -1, /* sizeof(((struct frame *)0)->un.fmtd), */
./arch/m68k/kernel/signal.c:70:  [14]	= -1, /* sizeof(((struct frame *)0)->un.fmte), */
./arch/m68k/kernel/signal.c:71:  [15]	= -1, /* sizeof(((struct frame *)0)->un.fmtf), */
./fs/mbcache.c:261:	   indexes_count * sizeof(((struct mb_cache_entry *) 0)->e_indexes[0]))
./fs/ext4/xattr.c:1582:		sizeof(((struct mb_cache_entry *) 0)->e_indexes[0]), 1, 6);
./fs/ext2/xattr.c:1021:		sizeof(((struct mb_cache_entry *) 0)->e_indexes[0]), 1, 6);
./fs/btrfs/struct-funcs.c:55:	    offset + sizeof(((type *)0)->member) <= eb->map_start +	\
./fs/btrfs/struct-funcs.c:69:				sizeof(((type *)0)->member),		\
./fs/btrfs/struct-funcs.c:92:	    offset + sizeof(((type *)0)->member) <= eb->map_start +	\
./fs/btrfs/struct-funcs.c:106:				sizeof(((type *)0)->member),		\
./fs/btrfs/ctree.h:1074:			   sizeof(((type *)0)->member)))
./fs/btrfs/ctree.h:1080:			   sizeof(((type *)0)->member)))
./fs/ext3/xattr.c:1315:		sizeof(((struct mb_cache_entry *) 0)->e_indexes[0]), 1, 6);
./drivers/usb/atm/usbatm.c:1351:	if (sizeof(struct usbatm_control) > sizeof(((struct sk_buff *) 0)->cb)) {
./drivers/usb/serial/io_usbvend.h:517:#define	MANUF_SERNUM_LENGTH		sizeof(((struct edge_manuf_descriptor *)0)->SerialNumber)
./drivers/usb/serial/io_usbvend.h:518:#define	MANUF_ASSYNUM_LENGTH		sizeof(((struct edge_manuf_descriptor *)0)->AssemblyNumber)
./drivers/usb/serial/io_usbvend.h:519:#define	MANUF_OEMASSYNUM_LENGTH		sizeof(((struct edge_manuf_descriptor *)0)->OemAssyNumber)
./drivers/usb/serial/io_usbvend.h:520:#define	MANUF_MANUFDATE_LENGTH		sizeof(((struct edge_manuf_descriptor *)0)->ManufDate)
./drivers/media/video/v4l2-ioctl.c:1779:			sizeof(((struct v4l2_##type *)0)->field);
./drivers/net/igbvf/ethtool.c:48:		sizeof(((struct igbvf_adapter *)0)->current), \
./drivers/net/e1000e/ethtool.c:44:#define E1000_STAT(m) sizeof(((struct e1000_adapter *)0)->m), \
./drivers/net/usb/cdc_ether.c:584:	BUILD_BUG_ON((sizeof(((struct usbnet *)0)->data)
./drivers/net/usb/usbnet.c:1315:	BUILD_BUG_ON (sizeof (((struct sk_buff *)0)->cb)
./drivers/net/ixgbe/ixgbe_ethtool.c:49:#define IXGBE_STAT(m) sizeof(((struct ixgbe_adapter *)0)->m), \
./drivers/net/ixgbe/ixgbe_ethtool.c:103:                 (sizeof(((struct ixgbe_adapter *)0)->stats.pxonrxc) + \
./drivers/net/ixgbe/ixgbe_ethtool.c:104:                  sizeof(((struct ixgbe_adapter *)0)->stats.pxontxc) + \
./drivers/net/ixgbe/ixgbe_ethtool.c:105:                  sizeof(((struct ixgbe_adapter *)0)->stats.pxoffrxc) + \
./drivers/net/ixgbe/ixgbe_ethtool.c:106:                  sizeof(((struct ixgbe_adapter *)0)->stats.pxofftxc)) \
./drivers/net/atlx/atl1.c:3153:	sizeof(((struct atl1_adapter *)0)->m), offsetof(struct atl1_adapter, m)
./drivers/net/netxen/netxen_nic_ethtool.c:49:#define NETXEN_NIC_STAT(m) sizeof(((struct netxen_adapter *)0)->m), \
./drivers/net/benet/be.h:273:			amap_mask(sizeof(((_struct *)0)->field)),	\
./drivers/net/benet/be.h:286:			amap_mask(sizeof(((_struct *)0)->field)),	\
./drivers/staging/sxg/sxg_ethtool.c:63:#define SXG_NIC_STATS(m) sizeof(((struct adapter_t *)0)->m), \
./Documentation/zh_CN/CodingStyle:651:  #define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f))
./Documentation/CodingStyle:764:  #define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f))

[edit] Unnecessary casting of k[cmz]alloc() calls

The return value of any of those calls does not need to be cast.

./include/net/sctp/sctp.h:548:#define t_new(type, flags)	(type *)kmalloc(sizeof(type), flags)
./arch/powerpc/mm/pgtable_32.c:79:	ret = (pgd_t *)kzalloc(1 << PGDIR_ORDER, GFP_KERNEL);
./arch/cris/arch-v32/mm/intmem.c:37:		  (struct intmem_allocation*)kmalloc(sizeof *alloc, GFP_KERNEL);
./drivers/message/i2o/i2o_config.c:1054:	    (struct i2o_cfg_info *)kmalloc(sizeof(struct i2o_cfg_info),
./drivers/media/dvb/dvb-core/dvb_frontend.c:1411:		tvp = (struct dtv_property *) kmalloc(tvps->num *
./drivers/media/dvb/dvb-core/dvb_frontend.c:1444:		tvp = (struct dtv_property *) kmalloc(tvps->num *
./drivers/net/wireless/zd1211rw/zd_chip.c:119:	a16 = (zd_addr_t *) kmalloc(count16 * (sizeof(zd_addr_t) + sizeof(u16)),
./drivers/net/wireless/ipw2x00/ipw2100.c:3387:	    (struct ipw2100_tx_packet *)kmalloc(IPW_COMMAND_POOL_SIZE *
./drivers/net/wireless/ipw2x00/ipw2100.c:4419:	    (struct ipw2100_tx_packet *)kmalloc(TX_PENDED_QUEUE_LENGTH *
./drivers/mtd/maps/tqm8xxl.c:142:		map_banks[idx]->name = (char *)kmalloc(16, GFP_KERNEL);
./drivers/staging/et131x/et1310_tx.c:130:	adapter->TxRing.MpTcbMem = (MP_TCB *) kcalloc(NUM_TCB, sizeof(MP_TCB),
./drivers/staging/comedi/drivers/unioxx5.c:278:	if ((usp = (struct unioxx5_subd_priv *) kzalloc(sizeof(*usp),
./drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c:2187:			*challenge = (u8*)kmalloc(*chlen, GFP_ATOMIC);
./drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c:3938:	param = (struct ieee_param *)kmalloc(p->length, GFP_KERNEL);
./drivers/staging/rt2870/tmp60:1420:		pSsidString = (CHAR *) kmalloc(MAX_LEN_OF_SSID+1, MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp60:3405:	                	pSsidString = (CHAR *) kmalloc(MAX_LEN_OF_SSID+1, MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp60:4366:				MLME_QUEUE_ELEM *MsgElem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp60:4804:            pLinkStatus = (RT_802_11_LINK_STATUS *) kmalloc(sizeof(RT_802_11_LINK_STATUS), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp60:4824:            pConfiguration = (NDIS_802_11_CONFIGURATION *) kmalloc(sizeof(NDIS_802_11_CONFIGURATION), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp60:4890:            pStatistics = (NDIS_802_11_STATISTICS *) kmalloc(sizeof(NDIS_802_11_STATISTICS), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp60:4945:            pStaConfig = (RT_802_11_STA_CONFIG *) kmalloc(sizeof(RT_802_11_STA_CONFIG), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp60:5145:            pHTPhyMode = (OID_SET_HT_PHYMODE *) kmalloc(sizeof(OID_SET_HT_PHYMODE), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp60:5182:            pHTPhyMode = (OID_SET_HT_PHYMODE *) kmalloc(sizeof(OID_SET_HT_PHYMODE), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp60:5369:				pChListBuf = (RT_CHANNEL_LIST_INFO *) kmalloc(sizeof(RT_CHANNEL_LIST_INFO), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/rt_main_dev.c:274:			MLME_QUEUE_ELEM *MsgElem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/rt_main_dev.c:1641:    dev = (struct net_device *) kmalloc(alloc_size, GFP_KERNEL);
./drivers/staging/rt2870/common/cmm_info.c:2337:	msg = (CHAR *) kmalloc(sizeof(CHAR)*(MAX_LEN_OF_MAC_TABLE*MAC_LINE_LEN), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/common/cmm_data.c:1651:		   MLME_QUEUE_ELEM *Elem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/common/ba_action.c:891:			MLME_QUEUE_ELEM *Elem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/common/ba_action.c:924:		MLME_QUEUE_ELEM *Elem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/common/ba_action.c:985:		MLME_QUEUE_ELEM *Elem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/sta_ioctl.c:1420:		pSsidString = (CHAR *) kmalloc(MAX_LEN_OF_SSID+1, MEM_ALLOC_FLAG);
./drivers/staging/rt2870/sta_ioctl.c:3420:	                	pSsidString = (CHAR *) kmalloc(MAX_LEN_OF_SSID+1, MEM_ALLOC_FLAG);
./drivers/staging/rt2870/sta_ioctl.c:4397:				MLME_QUEUE_ELEM *MsgElem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/sta_ioctl.c:4835:            pLinkStatus = (RT_802_11_LINK_STATUS *) kmalloc(sizeof(RT_802_11_LINK_STATUS), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/sta_ioctl.c:4855:            pConfiguration = (NDIS_802_11_CONFIGURATION *) kmalloc(sizeof(NDIS_802_11_CONFIGURATION), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/sta_ioctl.c:4921:            pStatistics = (NDIS_802_11_STATISTICS *) kmalloc(sizeof(NDIS_802_11_STATISTICS), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/sta_ioctl.c:4976:            pStaConfig = (RT_802_11_STA_CONFIG *) kmalloc(sizeof(RT_802_11_STA_CONFIG), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/sta_ioctl.c:5176:            pHTPhyMode = (OID_SET_HT_PHYMODE *) kmalloc(sizeof(OID_SET_HT_PHYMODE), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/sta_ioctl.c:5213:            pHTPhyMode = (OID_SET_HT_PHYMODE *) kmalloc(sizeof(OID_SET_HT_PHYMODE), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/sta_ioctl.c:5400:				pChListBuf = (RT_CHANNEL_LIST_INFO *) kmalloc(sizeof(RT_CHANNEL_LIST_INFO), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp61:1420:		pSsidString = (CHAR *) kmalloc(MAX_LEN_OF_SSID+1, MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp61:3405:	                	pSsidString = (CHAR *) kmalloc(MAX_LEN_OF_SSID+1, MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp61:4366:				MLME_QUEUE_ELEM *MsgElem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp61:4804:            pLinkStatus = (RT_802_11_LINK_STATUS *) kmalloc(sizeof(RT_802_11_LINK_STATUS), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp61:4824:            pConfiguration = (NDIS_802_11_CONFIGURATION *) kmalloc(sizeof(NDIS_802_11_CONFIGURATION), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp61:4890:            pStatistics = (NDIS_802_11_STATISTICS *) kmalloc(sizeof(NDIS_802_11_STATISTICS), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp61:4945:            pStaConfig = (RT_802_11_STA_CONFIG *) kmalloc(sizeof(RT_802_11_STA_CONFIG), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp61:5145:            pHTPhyMode = (OID_SET_HT_PHYMODE *) kmalloc(sizeof(OID_SET_HT_PHYMODE), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp61:5182:            pHTPhyMode = (OID_SET_HT_PHYMODE *) kmalloc(sizeof(OID_SET_HT_PHYMODE), MEM_ALLOC_FLAG);
./drivers/staging/rt2870/tmp61:5369:				pChListBuf = (RT_CHANNEL_LIST_INFO *) kmalloc(sizeof(RT_CHANNEL_LIST_INFO), MEM_ALLOC_FLAG);
./drivers/staging/rt2860/rt_main_dev.c:269:			MLME_QUEUE_ELEM *MsgElem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt2860/common/cmm_info.c:2041:	msg = (CHAR *) kmalloc(sizeof(CHAR)*(MAX_LEN_OF_MAC_TABLE*MAC_LINE_LEN), MEM_ALLOC_FLAG);
./drivers/staging/rt2860/common/cmm_data.c:2408:		   MLME_QUEUE_ELEM *Elem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt2860/common/ba_action.c:895:			MLME_QUEUE_ELEM *Elem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt2860/common/ba_action.c:928:		MLME_QUEUE_ELEM *Elem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt2860/common/ba_action.c:989:		MLME_QUEUE_ELEM *Elem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt2860/sta_ioctl.c:1424:		pSsidString = (CHAR *) kmalloc(MAX_LEN_OF_SSID+1, MEM_ALLOC_FLAG);
./drivers/staging/rt2860/sta_ioctl.c:3402:	                	pSsidString = (CHAR *) kmalloc(MAX_LEN_OF_SSID+1, MEM_ALLOC_FLAG);
./drivers/staging/rt2860/sta_ioctl.c:4370:				MLME_QUEUE_ELEM *MsgElem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt2860/sta_ioctl.c:4808:            pLinkStatus = (RT_802_11_LINK_STATUS *) kmalloc(sizeof(RT_802_11_LINK_STATUS), MEM_ALLOC_FLAG);
./drivers/staging/rt2860/sta_ioctl.c:4828:            pConfiguration = (NDIS_802_11_CONFIGURATION *) kmalloc(sizeof(NDIS_802_11_CONFIGURATION), MEM_ALLOC_FLAG);
./drivers/staging/rt2860/sta_ioctl.c:4894:            pStatistics = (NDIS_802_11_STATISTICS *) kmalloc(sizeof(NDIS_802_11_STATISTICS), MEM_ALLOC_FLAG);
./drivers/staging/rt2860/sta_ioctl.c:4949:            pStaConfig = (RT_802_11_STA_CONFIG *) kmalloc(sizeof(RT_802_11_STA_CONFIG), MEM_ALLOC_FLAG);
./drivers/staging/rt2860/sta_ioctl.c:5149:            pHTPhyMode = (OID_SET_HT_PHYMODE *) kmalloc(sizeof(OID_SET_HT_PHYMODE), MEM_ALLOC_FLAG);
./drivers/staging/rt2860/sta_ioctl.c:5186:            pHTPhyMode = (OID_SET_HT_PHYMODE *) kmalloc(sizeof(OID_SET_HT_PHYMODE), MEM_ALLOC_FLAG);
./drivers/staging/rt2860/sta_ioctl.c:5378:				pChListBuf = (RT_CHANNEL_LIST_INFO *) kmalloc(sizeof(RT_CHANNEL_LIST_INFO), MEM_ALLOC_FLAG);
./drivers/staging/rt3070/rt_main_dev.c:286:			MLME_QUEUE_ELEM *MsgElem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt3070/rt_main_dev.c:1626:    dev = (struct net_device *) kmalloc(alloc_size, GFP_KERNEL);
./drivers/staging/rt3070/common/cmm_info.c:2017:	msg = (CHAR *) kmalloc(sizeof(CHAR)*(MAX_LEN_OF_MAC_TABLE*MAC_LINE_LEN), MEM_ALLOC_FLAG);
./drivers/staging/rt3070/common/cmm_data.c:1753:		   MLME_QUEUE_ELEM *Elem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt3070/common/ba_action.c:884:			MLME_QUEUE_ELEM *Elem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt3070/common/ba_action.c:917:		MLME_QUEUE_ELEM *Elem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt3070/common/ba_action.c:978:		MLME_QUEUE_ELEM *Elem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt3070/sta_ioctl.c:1441:		pSsidString = (CHAR *) kmalloc(MAX_LEN_OF_SSID+1, MEM_ALLOC_FLAG);
./drivers/staging/rt3070/sta_ioctl.c:3349:	                	pSsidString = (CHAR *) kmalloc(MAX_LEN_OF_SSID+1, MEM_ALLOC_FLAG);
./drivers/staging/rt3070/sta_ioctl.c:4310:				MLME_QUEUE_ELEM *MsgElem = (MLME_QUEUE_ELEM *) kmalloc(sizeof(MLME_QUEUE_ELEM), MEM_ALLOC_FLAG);
./drivers/staging/rt3070/sta_ioctl.c:4748:            pLinkStatus = (RT_802_11_LINK_STATUS *) kmalloc(sizeof(RT_802_11_LINK_STATUS), MEM_ALLOC_FLAG);
./drivers/staging/rt3070/sta_ioctl.c:4768:            pConfiguration = (NDIS_802_11_CONFIGURATION *) kmalloc(sizeof(NDIS_802_11_CONFIGURATION), MEM_ALLOC_FLAG);
./drivers/staging/rt3070/sta_ioctl.c:4834:            pStatistics = (NDIS_802_11_STATISTICS *) kmalloc(sizeof(NDIS_802_11_STATISTICS), MEM_ALLOC_FLAG);
./drivers/staging/rt3070/sta_ioctl.c:4889:            pStaConfig = (RT_802_11_STA_CONFIG *) kmalloc(sizeof(RT_802_11_STA_CONFIG), MEM_ALLOC_FLAG);
./drivers/staging/rt3070/sta_ioctl.c:5089:            pHTPhyMode = (OID_SET_HT_PHYMODE *) kmalloc(sizeof(OID_SET_HT_PHYMODE), MEM_ALLOC_FLAG);
./drivers/staging/rt3070/sta_ioctl.c:5126:            pHTPhyMode = (OID_SET_HT_PHYMODE *) kmalloc(sizeof(OID_SET_HT_PHYMODE), MEM_ALLOC_FLAG);
./drivers/staging/rt3070/sta_ioctl.c:5313:				pChListBuf = (RT_CHANNEL_LIST_INFO *) kmalloc(sizeof(RT_CHANNEL_LIST_INFO), MEM_ALLOC_FLAG);

[edit] kcalloc(1, ...) calls that can be simplified to kzalloc(...)

./sound/pci/hda/patch_realtek.c:12228:	spec = kcalloc(1, sizeof(*spec), GFP_KERNEL);
./sound/isa/msnd/msnd_midi.c:165:	mpu = kcalloc(1, sizeof(*mpu), GFP_KERNEL);
./drivers/block/aoe/aoedev.c:213:	d = kcalloc(1, sizeof *d, GFP_ATOMIC);
./drivers/block/aoe/aoecmd.c:945:	t = kcalloc(1, sizeof *t, GFP_ATOMIC);
./drivers/net/cxgb3/cxgb3_offload.c:1237:	t = kcalloc(1, sizeof(*t), GFP_KERNEL);
./drivers/gpu/drm/drm_gem.c:136:	obj = kcalloc(1, sizeof(*obj), GFP_KERNEL);

[edit] People who seem to be redefining MAX() or MIN()

./include/linux/kernel.h:552:#define min(x, y) ({				\
./include/linux/kernel.h:558:#define max(x, y) ({				\
./arch/powerpc/boot/types.h:15:#define min(x,y) ({ \
./arch/powerpc/boot/types.h:21:#define max(x,y) ({ \
./arch/blackfin/mach-bf537/boards/stamp.c:408:#define MAX(x, y) (x > y ? x : y)
./arch/um/drivers/mconsole_user.c:76:#define MIN(a,b) ((a)<(b) ? (a):(b))
./scripts/kconfig/lxdialog/dialog.h:62:#define MIN(x,y) (x < y ? x : y)
./scripts/kconfig/lxdialog/dialog.h:63:#define MAX(x,y) (x > y ? x : y)
./fs/xfs/linux-2.6/xfs_linux.h:153:#define MIN(a,b)	(min(a,b))
./fs/xfs/linux-2.6/xfs_linux.h:154:#define MAX(a,b)	(max(a,b))
./drivers/scsi/ips.h:92:      #define min(x,y) ((x) < (y) ? x : y)
./drivers/media/dvb/siano/smscoreapi.h:46:#define min(a, b) (((a) < (b)) ? (a) : (b))
./drivers/net/tehuti.h:79:#define MIN(x, y)  ((x) < (y) ? (x) : (y))
./drivers/staging/comedi/drivers/pcmda12.c:58:#define MIN(a,b) ( ((a) < (b)) ? (a) : (b) )
./drivers/staging/comedi/drivers/pcmmio.c:79:#define MIN(a,b) ( ((a) < (b)) ? (a) : (b) )
./drivers/staging/comedi/drivers/pcmuio.c:82:#define MIN(a,b) ( ((a) < (b)) ? (a) : (b) )
./drivers/staging/sxg/sxg.h:430:#define MIN(a, b) ((u32)(a) < (u32)(b) ? (a) : (b))
./drivers/staging/sxg/sxg.h:431:#define MAX(a, b) ((u32)(a) > (u32)(b) ? (a) : (b))
./drivers/staging/rt2870/rtmp.h:715:#define min(_a, _b)     (((_a) < (_b)) ? (_a) : (_b))
./drivers/staging/rt2870/rtmp.h:719:#define max(_a, _b)     (((_a) > (_b)) ? (_a) : (_b))
./drivers/staging/rt2860/rtmp.h:785:#define min(_a, _b)     (((_a) < (_b)) ? (_a) : (_b))
./drivers/staging/rt2860/rtmp.h:789:#define max(_a, _b)     (((_a) > (_b)) ? (_a) : (_b))
./drivers/staging/rt3070/rtmp.h:762:#define min(_a, _b)     (((_a) < (_b)) ? (_a) : (_b))
./drivers/staging/rt3070/rtmp.h:766:#define max(_a, _b)     (((_a) > (_b)) ? (_a) : (_b))
./drivers/staging/epl/EplDllkCal.c:94:#define min(a,b)            (((a) < (b)) ? (a) : (b))
./net/9p/protocol.c:38:#define MIN(a, b) (((a) < (b)) ? (a) : (b))
./net/9p/protocol.c:42:#define MAX(a, b) (((a) > (b)) ? (a) : (b))

[edit] Testing for power of 2 or a single bit set

Be careful with this -- these constructs could be testing whether something is a power or two, OR whether a single bit is set. While mathematically those are the same things, semantically we should distinguish between them.

./mm/debug-pagealloc.c:57:	return error && !(error & (error - 1));
./mm/bootmem.c:441:	BUG_ON(align & (align - 1));
./mm/slab.c:1806:		if (!(error & (error - 1))) {
./mm/slub.c:3059:		(KMALLOC_MIN_SIZE & (KMALLOC_MIN_SIZE - 1)));
./mm/dmapool.c:138:	} else if (align & (align - 1)) {
./mm/dmapool.c:155:	} else if ((boundary < size) || (boundary & (boundary - 1))) {
./include/sound/pcm_params.h:173:		if (mask->bits[i] & (mask->bits[i] - 1))
./include/linux/log2.h:54:	return (n != 0 && ((n & (n - 1)) == 0));
./include/linux/bitops.h:38:	if (count & (count - 1))
./arch/sparc/mm/srmmu.c:352:	if (size & (size-1)) {
./arch/sparc/math-emu/math_64.c:109:		if((eflag & (eflag - 1)) != 0) {
./arch/sparc/math-emu/math_32.c:224:		if ((eflag & (eflag - 1)) != 0) {
./arch/powerpc/sysdev/ppc4xx_pci.c:171:	if ((size & (size - 1)) != 0  ||
./arch/powerpc/mm/ppc_mmu_32.c:216:	if (n_hpteg & (n_hpteg - 1)) {
./arch/powerpc/boot/cuboot-pq2.c:176:	if (mem->size[1] & (mem->size[1] - 1))
./arch/powerpc/boot/cuboot-pq2.c:178:	if (io->size[1] & (io->size[1] - 1))
./arch/powerpc/lib/rheap.c:258:	if ((alignment & (alignment - 1)) != 0)
./arch/powerpc/lib/rheap.c:307:	if ((alignment & (alignment - 1)) != 0)
./arch/powerpc/lib/rheap.c:450:	if (size <= 0 || (alignment & (alignment - 1)) != 0)
./arch/blackfin/include/asm/ipipe.h:175:			if (__pending && (__pending & (__pending - 1)) == 0) \
./arch/blackfin/kernel/irqchip.c:163:	other_ints = pending & (pending - 1);
./arch/arm/include/asm/div64.h:77:	    (__LINUX_ARM_ARCH__ < 4 && (__b & (__b - 1)) != 0)) {	\
./arch/arm/include/asm/div64.h:80:	} else if ((__b & (__b - 1)) == 0) {				\
./fs/ext4/super.c:1482:			if (option & (option - 1)) {
./fs/ext4/super.c:2095:	if (t & (t-1))
./fs/nfs/internal.h:226:	if ((bsize & (bsize - 1)) || nrbitsp) {
./fs/ntfs/logfile.c:68:			logfile_log_page_size & (logfile_log_page_size - 1)) {
./fs/ntfs/inode.c:1573:	if (ni->itype.index.block_size & (ni->itype.index.block_size - 1)) {
./fs/hfs/mdb.c:109:	while (size & (size - 1))
./drivers/video/uvesafb.c:1580:			while (temp_size & (temp_size - 1))
./drivers/video/vesafb.c:424:			while (temp_size & (temp_size - 1))
./drivers/scsi/esp_scsi.c:1131:		if (!bits || (bits & (bits - 1)))
./drivers/input/mouse/elantech.c:628:		etd->parity[i] = etd->parity[i & (i - 1)] ^ 1;
./drivers/virtio/virtio_ring.c:293:	if (num & (num - 1)) {
./drivers/usb/storage/alauda.c:230:		parity[i] = (parity[i&(i-1)] ^ 1);
./drivers/usb/storage/sddr09.c:203:		parity[i] = (parity[i&(i-1)] ^ 1);
./drivers/media/video/cx88/cx88-alsa.c:391:	BUG_ON(chip->num_periods & (chip->num_periods-1));
./drivers/net/3c503.c:217:    if (   (iobase_reg  & (iobase_reg - 1))
./drivers/net/3c503.c:218:	|| (membase_reg & (membase_reg - 1))) {
./drivers/net/chelsio/cxgb2.c:654:		if (cmd->advertising & (cmd->advertising - 1))
./drivers/net/cpmac.c:1246:	if (mask & (mask - 1)) {
./drivers/net/wireless/iwlwifi/iwl-tx.c:358:	BUILD_BUG_ON(TFD_QUEUE_SIZE_MAX & (TFD_QUEUE_SIZE_MAX - 1));
./drivers/net/benet/be.h:226:	BUG_ON(limit & (limit - 1));
./drivers/pcmcia/i82365.c:718:	tmp = tmp & (tmp-1);
./drivers/pcmcia/i82365.c:719:	if ((tmp & (tmp-1)) == 0)
./drivers/pcmcia/tcic.c:334:	base = base & (base-1);
./drivers/pcmcia/tcic.c:490:    scan = (mask & (mask-1));
./drivers/pcmcia/tcic.c:491:    if (((scan & (scan-1)) == 0) && (poll_interval == 0))
./drivers/infiniband/hw/ipath/ipath_iba7220.c:2115:		    !(val & (val - 1)))
./drivers/md/raid5.c:5165:		if (new_chunk & (new_chunk-1))
./drivers/md/raid5.c:5203:		if (new_chunk & (new_chunk-1))
./drivers/mtd/nand/davinci_nand.c:205:		} else if (!(diff & (diff - 1))) {
./drivers/staging/comedi/drivers/amplc_pci224.c:790:	if ((cmd->start_src & (cmd->start_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_pci224.c:792:	if ((cmd->scan_begin_src & (cmd->scan_begin_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_pci224.c:794:	if ((cmd->convert_src & (cmd->convert_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_pci224.c:796:	if ((cmd->scan_end_src & (cmd->scan_end_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_pci224.c:798:	if ((cmd->stop_src & (cmd->stop_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_pci230.c:1274:	if ((cmd->start_src & (cmd->start_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_pci230.c:1276:	if ((cmd->scan_begin_src & (cmd->scan_begin_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_pci230.c:1278:	if ((cmd->convert_src & (cmd->convert_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_pci230.c:1280:	if ((cmd->scan_end_src & (cmd->scan_end_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_pci230.c:1282:	if ((cmd->stop_src & (cmd->stop_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_pci230.c:1710:	if ((cmd->start_src & (cmd->start_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_pci230.c:1712:	if ((cmd->scan_begin_src & (cmd->scan_begin_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_pci230.c:1714:	if ((cmd->convert_src & (cmd->convert_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_pci230.c:1716:	if ((cmd->scan_end_src & (cmd->scan_end_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_pci230.c:1718:	if ((cmd->stop_src & (cmd->stop_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_dio200.c:843:	if ((cmd->start_src & (cmd->start_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_dio200.c:845:	if ((cmd->scan_begin_src & (cmd->scan_begin_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_dio200.c:847:	if ((cmd->convert_src & (cmd->convert_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_dio200.c:849:	if ((cmd->scan_end_src & (cmd->scan_end_src - 1)) != 0)
./drivers/staging/comedi/drivers/amplc_dio200.c:851:	if ((cmd->stop_src & (cmd->stop_src - 1)) != 0)
./drivers/staging/comedi/drivers/pcmmio.c:1123:	if ((cmd->start_src & (cmd->start_src - 1)) != 0)
./drivers/staging/comedi/drivers/pcmmio.c:1125:	if ((cmd->scan_begin_src & (cmd->scan_begin_src - 1)) != 0)
./drivers/staging/comedi/drivers/pcmmio.c:1127:	if ((cmd->convert_src & (cmd->convert_src - 1)) != 0)
./drivers/staging/comedi/drivers/pcmmio.c:1129:	if ((cmd->scan_end_src & (cmd->scan_end_src - 1)) != 0)
./drivers/staging/comedi/drivers/pcmmio.c:1131:	if ((cmd->stop_src & (cmd->stop_src - 1)) != 0)
./drivers/staging/comedi/drivers/pcmuio.c:1033:	if ((cmd->start_src & (cmd->start_src - 1)) != 0)
./drivers/staging/comedi/drivers/pcmuio.c:1035:	if ((cmd->scan_begin_src & (cmd->scan_begin_src - 1)) != 0)
./drivers/staging/comedi/drivers/pcmuio.c:1037:	if ((cmd->convert_src & (cmd->convert_src - 1)) != 0)
./drivers/staging/comedi/drivers/pcmuio.c:1039:	if ((cmd->scan_end_src & (cmd->scan_end_src - 1)) != 0)
./drivers/staging/comedi/drivers/pcmuio.c:1041:	if ((cmd->stop_src & (cmd->stop_src - 1)) != 0)
./drivers/gpu/drm/i915/i915_gem_tiling.c:248:	if (stride & (stride - 1))
./drivers/gpu/drm/drm_bufs.c:1665:	if (size & (size - 1))
./drivers/s390/cio/device.c:1173:	if ((sch->schib.pmcw.pim & (sch->schib.pmcw.pim - 1)) != 0)
./net/decnet/dn_route.c:1768:		while(dn_rt_hash_mask & (dn_rt_hash_mask - 1))
./kernel/kfifo.c:77:	if (size & (size - 1)) {
./drivers/net/wireless/rt2x00/rt2x00reg.h:174:#define is_power_of_two(x)	( !((x) & ((x)-1)) )

[edit] Testing for "(unsigned long)__builtin_return_address(0)" simplification

Where the simplification macros are defined:

include/linux/ftrace.h:#  define CALLER_ADDR0 ((unsigned long)__builtin_return_address(0))
include/linux/ftrace.h:#  define CALLER_ADDR0 ((unsigned long)__builtin_return_address(0))
include/linux/kernel.h:#define _RET_IP_		(unsigned long)__builtin_return_address(0)

Uses of _RET_IP_:

include/linux/lockdep.h:		lock_contended(&(_lock)->dep_map, _RET_IP_);	\
include/linux/lockdep.h:	lock_acquired(&(_lock)->dep_map, _RET_IP_);			\
include/linux/kernel.h:#define _RET_IP_		(unsigned long)__builtin_return_address(0)
include/linux/slab.h:	__kmalloc_track_caller(size, flags, _RET_IP_)
include/linux/slab.h:			_RET_IP_)
kernel/rwsem.c:	rwsem_acquire_read(&sem->dep_map, 0, 0, _RET_IP_);
kernel/rwsem.c:		rwsem_acquire_read(&sem->dep_map, 0, 1, _RET_IP_);
kernel/rwsem.c:	rwsem_acquire(&sem->dep_map, 0, 0, _RET_IP_);
kernel/rwsem.c:		rwsem_acquire(&sem->dep_map, 0, 1, _RET_IP_);
kernel/rwsem.c:	rwsem_release(&sem->dep_map, 1, _RET_IP_);
kernel/rwsem.c:	rwsem_release(&sem->dep_map, 1, _RET_IP_);
kernel/rwsem.c:	rwsem_acquire_read(&sem->dep_map, subclass, 0, _RET_IP_);
kernel/rwsem.c:	rwsem_acquire(&sem->dep_map, subclass, 0, _RET_IP_);
kernel/spinlock.c:		spin_acquire(&lock->dep_map, 0, 1, _RET_IP_);
kernel/spinlock.c:		rwlock_acquire_read(&lock->dep_map, 0, 1, _RET_IP_);
kernel/spinlock.c:		rwlock_acquire(&lock->dep_map, 0, 1, _RET_IP_);
kernel/spinlock.c:	rwlock_acquire_read(&lock->dep_map, 0, 0, _RET_IP_);
kernel/spinlock.c:	spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
kernel/spinlock.c:	spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
kernel/spinlock.c:	spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
kernel/spinlock.c:	rwlock_acquire_read(&lock->dep_map, 0, 0, _RET_IP_);
kernel/spinlock.c:	rwlock_acquire_read(&lock->dep_map, 0, 0, _RET_IP_);
kernel/spinlock.c:	rwlock_acquire_read(&lock->dep_map, 0, 0, _RET_IP_);
kernel/spinlock.c:	rwlock_acquire(&lock->dep_map, 0, 0, _RET_IP_);
kernel/spinlock.c:	rwlock_acquire(&lock->dep_map, 0, 0, _RET_IP_);
kernel/spinlock.c:	rwlock_acquire(&lock->dep_map, 0, 0, _RET_IP_);
kernel/spinlock.c:	spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
kernel/spinlock.c:	rwlock_acquire(&lock->dep_map, 0, 0, _RET_IP_);
kernel/spinlock.c:	spin_acquire(&lock->dep_map, subclass, 0, _RET_IP_);
kernel/spinlock.c:	spin_acquire(&lock->dep_map, subclass, 0, _RET_IP_);
kernel/spinlock.c:	spin_acquire_nest(&lock->dep_map, 0, 0, nest_lock, _RET_IP_);
kernel/spinlock.c:	spin_release(&lock->dep_map, 1, _RET_IP_);
kernel/spinlock.c:	rwlock_release(&lock->dep_map, 1, _RET_IP_);
kernel/spinlock.c:	rwlock_release(&lock->dep_map, 1, _RET_IP_);
kernel/spinlock.c:	spin_release(&lock->dep_map, 1, _RET_IP_);
kernel/spinlock.c:	spin_release(&lock->dep_map, 1, _RET_IP_);
kernel/spinlock.c:	spin_release(&lock->dep_map, 1, _RET_IP_);
kernel/spinlock.c:	rwlock_release(&lock->dep_map, 1, _RET_IP_);
kernel/spinlock.c:	rwlock_release(&lock->dep_map, 1, _RET_IP_);
kernel/spinlock.c:	rwlock_release(&lock->dep_map, 1, _RET_IP_);
kernel/spinlock.c:	rwlock_release(&lock->dep_map, 1, _RET_IP_);
kernel/spinlock.c:	rwlock_release(&lock->dep_map, 1, _RET_IP_);
kernel/spinlock.c:	rwlock_release(&lock->dep_map, 1, _RET_IP_);
kernel/spinlock.c:		spin_acquire(&lock->dep_map, 0, 1, _RET_IP_);
kernel/mutex.c:	__mutex_lock_common(lock, TASK_UNINTERRUPTIBLE, subclass, _RET_IP_);
kernel/mutex.c:	return __mutex_lock_common(lock, TASK_KILLABLE, subclass, _RET_IP_);
kernel/mutex.c:				   subclass, _RET_IP_);
kernel/mutex.c:	mutex_release(&lock->dep_map, nested, _RET_IP_);
kernel/mutex.c:	__mutex_lock_common(lock, TASK_UNINTERRUPTIBLE, 0, _RET_IP_);
kernel/mutex.c:	return __mutex_lock_common(lock, TASK_KILLABLE, 0, _RET_IP_);
kernel/mutex.c:	return __mutex_lock_common(lock, TASK_INTERRUPTIBLE, 0, _RET_IP_);
kernel/mutex.c:		mutex_acquire(&lock->dep_map, 0, 1, _RET_IP_);
kernel/lockdep.c:	print_lock_contention_bug(curr, lock, _RET_IP_);
kernel/sched.c:	lock_set_subclass(&this_rq->lock.dep_map, 0, _RET_IP_);
kernel/trace/trace_events_stage_3.h: *	event_trace_printk(_RET_IP_, "<call>: " <fmt>);
kernel/trace/trace_events_stage_3.h:	event_trace_printk(_RET_IP_, #call ": " fmt);			\
mm/slab.c:	trace_kmem_cache_alloc(_RET_IP_, ret,
mm/slab.c:	trace_kmem_cache_alloc_node(_RET_IP_, ret,
mm/slab.c:	trace_kmem_cache_free(_RET_IP_, objp);
mm/slab.c:	trace_kfree(_RET_IP_, objp);
mm/slub.c:	void *ret = slab_alloc(s, gfpflags, -1, _RET_IP_);
mm/slub.c:	trace_kmem_cache_alloc(_RET_IP_, ret, s->objsize, s->size, gfpflags);
mm/slub.c:	return slab_alloc(s, gfpflags, -1, _RET_IP_);
mm/slub.c:	void *ret = slab_alloc(s, gfpflags, node, _RET_IP_);
mm/slub.c:	trace_kmem_cache_alloc_node(_RET_IP_, ret,
mm/slub.c:	return slab_alloc(s, gfpflags, node, _RET_IP_);
mm/slub.c:	slab_free(s, page, x, _RET_IP_);
mm/slub.c:	trace_kmem_cache_free(_RET_IP_, x);
mm/slub.c:	ret = slab_alloc(s, flags, -1, _RET_IP_);
mm/slub.c:	trace_kmalloc(_RET_IP_, ret, size, s->size, flags);
mm/slub.c:		trace_kmalloc_node(_RET_IP_, ret,
mm/slub.c:	ret = slab_alloc(s, flags, node, _RET_IP_);
mm/slub.c:	trace_kmalloc_node(_RET_IP_, ret, size, s->size, flags, node);
mm/slub.c:	trace_kfree(_RET_IP_, x);
mm/slub.c:	slab_free(page->slab, page, object, _RET_IP_);
mm/slob.c:		trace_kmalloc_node(_RET_IP_, ret,
mm/slob.c:		trace_kmalloc_node(_RET_IP_, ret,
mm/slob.c:	trace_kfree(_RET_IP_, block);
mm/slob.c:		trace_kmem_cache_alloc_node(_RET_IP_, b, c->size,
mm/slob.c:		trace_kmem_cache_alloc_node(_RET_IP_, b, c->size,
mm/slob.c:	trace_kmem_cache_free(_RET_IP_, b);
net/core/sock.c:		mutex_acquire(&sk->sk_lock.dep_map, 0, 1, _RET_IP_);
net/core/sock.c:		mutex_release(&sk->sk_lock.dep_map, 1, _RET_IP_);
net/core/sock.c:	mutex_acquire(&sk->sk_lock.dep_map, subclass, 0, _RET_IP_);
net/core/sock.c:	mutex_release(&sk->sk_lock.dep_map, 1, _RET_IP_);

Uses of CALLER_ADDR0:

include/linux/ftrace.h:#  define CALLER_ADDR0 ((unsigned long)__builtin_return_address(0))
include/linux/ftrace.h:#  define CALLER_ADDR0 ((unsigned long)__builtin_return_address(0))
kernel/softirq.c:		trace_preempt_off(CALLER_ADDR0, get_parent_ip(CALLER_ADDR1));
kernel/lockdep.c:	time_hardirqs_on(CALLER_ADDR0, ip);
kernel/lockdep.c:	trace_hardirqs_on_caller(CALLER_ADDR0);
kernel/lockdep.c:	time_hardirqs_off(CALLER_ADDR0, ip);
kernel/lockdep.c:	trace_hardirqs_off_caller(CALLER_ADDR0);
kernel/sched.c:		trace_preempt_off(CALLER_ADDR0, get_parent_ip(CALLER_ADDR1));
kernel/sched.c:		trace_preempt_on(CALLER_ADDR0, get_parent_ip(CALLER_ADDR1));
kernel/trace/trace_sched_wakeup.c:	trace_function(wakeup_trace, CALLER_ADDR0, CALLER_ADDR1, flags, pc);
kernel/trace/trace_irqsoff.c:	trace_function(tr, CALLER_ADDR0, parent_ip, flags, pc);
kernel/trace/trace_irqsoff.c:	trace_function(tr, CALLER_ADDR0, parent_ip, flags, pc);
kernel/trace/trace_irqsoff.c:		start_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
kernel/trace/trace_irqsoff.c:		stop_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
kernel/trace/trace_irqsoff.c:		stop_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
kernel/trace/trace_irqsoff.c:		start_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
kernel/trace/trace_irqsoff.c:		stop_critical_timing(CALLER_ADDR0, caller_addr);
kernel/trace/trace_irqsoff.c:		start_critical_timing(CALLER_ADDR0, caller_addr);

Continuing uses of (unsigned long)__builtin_return_address(0):

arch/parisc/kernel/stacktrace.c:		r.gr[2] = (unsigned long)__builtin_return_address(0);
arch/parisc/kernel/traps.c:			r.gr[2] = (unsigned long)__builtin_return_address(0);
arch/arm/kernel/stacktrace.c:		frame.lr = (unsigned long)__builtin_return_address(0);
arch/arm/kernel/unwind.c:		frame.lr = (unsigned long)__builtin_return_address(0);
drivers/mtd/nand/nand_base.c:	is_module_text_address((unsigned long)__builtin_return_address(0))
fs/gfs2/glock.c:	gh->gh_ip = (unsigned long)__builtin_return_address(0);
fs/gfs2/glock.c:	gh->gh_ip = (unsigned long)__builtin_return_address(0);
fs/gfs2/trans.c:	tr->tr_ip = (unsigned long)__builtin_return_address(0);
fs/gfs2/glops.c:	tr.tr_ip = (unsigned long)__builtin_return_address(0);
include/linux/kernel.h:#define _RET_IP_		(unsigned long)__builtin_return_address(0)
include/linux/ftrace.h:#  define CALLER_ADDR0 ((unsigned long)__builtin_return_address(0))
include/linux/ftrace.h:#  define CALLER_ADDR0 ((unsigned long)__builtin_return_address(0))
kernel/spinlock.c:	local_bh_enable_ip((unsigned long)__builtin_return_address(0));
kernel/spinlock.c:	local_bh_enable_ip((unsigned long)__builtin_return_address(0));
kernel/spinlock.c:	local_bh_enable_ip((unsigned long)__builtin_return_address(0));
kernel/spinlock.c:	local_bh_enable_ip((unsigned long)__builtin_return_address(0));
kernel/softirq.c:	__local_bh_disable((unsigned long)__builtin_return_address(0));
kernel/softirq.c:		trace_softirqs_on((unsigned long)__builtin_return_address(0));
kernel/softirq.c:	_local_bh_enable_ip((unsigned long)__builtin_return_address(0));
kernel/softirq.c:	__local_bh_disable((unsigned long)__builtin_return_address(0));
kernel/panic.c:		caller = (unsigned long)__builtin_return_address(0);
kernel/panic.c:	unsigned long caller = (unsigned long)__builtin_return_address(0);

Questionable (long) casts of __builtin_return_address(0):

lib/smp_processor_id.c:	print_symbol("caller is %s\n", (long)__builtin_return_address(0));

Return to Kernel_cleanup page.

Personal tools