[bug report] Linux-2.6.12-rc2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi SCSI devs,

The patch 1da177e4c3f4: "Linux-2.6.12-rc2" from Apr 16, 2005, leads
to the following static checker warning:

drivers/scsi/aic7xxx/aic79xx_core.c:6440 ahd_init_scbdata() warn: integer overflow (literal): u32max + 1
drivers/scsi/aic7xxx/aic79xx_core.c:6454 ahd_init_scbdata() warn: integer overflow (literal): u32max + 1
drivers/scsi/aic7xxx/aic79xx_core.c:6473 ahd_init_scbdata() warn: integer overflow (literal): u32max + 1
drivers/scsi/aic7xxx/aic79xx_core.c:7128 ahd_init() warn: integer overflow (literal): u32max + 1
drivers/scsi/aic7xxx/aic7xxx_core.c:4807 ahc_init_scbdata() warn: integer overflow (literal): u32max + 1
drivers/scsi/aic7xxx/aic7xxx_core.c:4839 ahc_init_scbdata() warn: integer overflow (literal): u32max + 1
drivers/scsi/aic7xxx/aic7xxx_core.c:4871 ahc_init_scbdata() warn: integer overflow (literal): u32max + 1
drivers/scsi/aic7xxx/aic7xxx_core.c:5362 ahc_init() warn: integer overflow (literal): u32max + 1

drivers/scsi/aic7xxx/aic79xx_core.c
  6419          /* Determine the number of hardware SCBs and initialize them */
  6420          scb_data->maxhscbs = ahd_probe_scbs(ahd);
  6421          if (scb_data->maxhscbs == 0) {
  6422                  printk("%s: No SCB space found\n", ahd_name(ahd));
  6423                  return (ENXIO);
  6424          }
  6425  
  6426          ahd_initialize_hscbs(ahd);
  6427  
  6428          /*
  6429           * Create our DMA tags.  These tags define the kinds of device
  6430           * accessible memory allocations and memory mappings we will
  6431           * need to perform during normal operation.
  6432           *
  6433           * Unless we need to further restrict the allocation, we rely
  6434           * on the restrictions of the parent dmat, hence the common
  6435           * use of MAXADDR and MAXSIZE.
  6436           */
  6437  
  6438          /* DMA tag for our hardware scb structures */
  6439          if (ahd_dma_tag_create(ahd, ahd->parent_dmat, /*alignment*/1,
  6440                                 /*boundary*/BUS_SPACE_MAXADDR_32BIT + 1,
                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
This is UINT_MAX + 1, and we're passing it to a unsigned int type.  I
have no idea what's going on...  Probably no one cares, but I just
thought I would throw it out there in case anyone knows what was
intended.

  6441                                 /*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
  6442                                 /*highaddr*/BUS_SPACE_MAXADDR,
  6443                                 /*filter*/NULL, /*filterarg*/NULL,
  6444                                 PAGE_SIZE, /*nsegments*/1,
  6445                                 /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
  6446                                 /*flags*/0, &scb_data->hscb_dmat) != 0) {
  6447                  goto error_exit;
  6448          }
  6449  
  6450          scb_data->init_level++;
  6451  
  6452          /* DMA tag for our S/G structures. */
  6453          if (ahd_dma_tag_create(ahd, ahd->parent_dmat, /*alignment*/8,
  6454                                 /*boundary*/BUS_SPACE_MAXADDR_32BIT + 1,
  6455                                 /*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
  6456                                 /*highaddr*/BUS_SPACE_MAXADDR,
  6457                                 /*filter*/NULL, /*filterarg*/NULL,
  6458                                 ahd_sglist_allocsize(ahd), /*nsegments*/1,
  6459                                 /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
  6460                                 /*flags*/0, &scb_data->sg_dmat) != 0) {
  6461                  goto error_exit;
  6462          }

regards,
dan carpenter



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux