lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 19 Dec 2018 09:36:17 -0600
From:   "Gustavo A. R. Silva" <gustavo@...eddedor.com>
To:     Hannes Reinecke <hare@...e.com>
Cc:     "James E.J. Bottomley" <jejb@...ux.ibm.com>,
        "Martin K. Petersen" <martin.petersen@...cle.com>,
        linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 05/41] scsi: aic7xxx: aic79xx: mark expected switch
 fall-through

Hi,

Friendly ping:

Who can ack or review this patch, please?

Thanks
--
Gustavo

On 11/27/18 10:26 PM, Gustavo A. R. Silva wrote:
> In preparation to enabling -Wimplicit-fallthrough, mark switch cases
> where we are expecting to fall through.
> 
> Notice that, in some cases, I replaced "FALLTHROUGH" with a "fall through"
> annotation and then placed it at the bottom of the corresponding switch
> case, which is what GCC is expecting to find.
> 
> Addresses-Coverity-ID: 114961 ("Missing break in switch")
> Addresses-Coverity-ID: 114962 ("Missing break in switch")
> Addresses-Coverity-ID: 114963 ("Missing break in switch")
> Addresses-Coverity-ID: 114964 ("Missing break in switch")
> Signed-off-by: Gustavo A. R. Silva <gustavo@...eddedor.com>
> ---
>   drivers/scsi/aic7xxx/aic79xx_core.c | 14 +++++++++-----
>   1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/scsi/aic7xxx/aic79xx_core.c b/drivers/scsi/aic7xxx/aic79xx_core.c
> index 9ee75c9a9aa1..7e5044bf05c0 100644
> --- a/drivers/scsi/aic7xxx/aic79xx_core.c
> +++ b/drivers/scsi/aic7xxx/aic79xx_core.c
> @@ -2285,6 +2285,7 @@ ahd_handle_seqint(struct ahd_softc *ahd, u_int intstat)
>   			switch (scb->hscb->task_management) {
>   			case SIU_TASKMGMT_ABORT_TASK:
>   				tag = SCB_GET_TAG(scb);
> +				/* fall through */
>   			case SIU_TASKMGMT_ABORT_TASK_SET:
>   			case SIU_TASKMGMT_CLEAR_TASK_SET:
>   				lun = scb->hscb->lun;
> @@ -2295,6 +2296,7 @@ ahd_handle_seqint(struct ahd_softc *ahd, u_int intstat)
>   				break;
>   			case SIU_TASKMGMT_LUN_RESET:
>   				lun = scb->hscb->lun;
> +				/* fall through */
>   			case SIU_TASKMGMT_TARGET_RESET:
>   			{
>   				struct ahd_devinfo devinfo;
> @@ -6550,8 +6552,8 @@ ahd_fini_scbdata(struct ahd_softc *ahd)
>   			kfree(sns_map);
>   		}
>   		ahd_dma_tag_destroy(ahd, scb_data->sense_dmat);
> -		/* FALLTHROUGH */
>   	}
> +		/* fall through */
>   	case 6:
>   	{
>   		struct map_node *sg_map;
> @@ -6565,8 +6567,8 @@ ahd_fini_scbdata(struct ahd_softc *ahd)
>   			kfree(sg_map);
>   		}
>   		ahd_dma_tag_destroy(ahd, scb_data->sg_dmat);
> -		/* FALLTHROUGH */
>   	}
> +		/* fall through */
>   	case 5:
>   	{
>   		struct map_node *hscb_map;
> @@ -7209,6 +7211,7 @@ ahd_init(struct ahd_softc *ahd)
>   		case FLX_CSTAT_OVER:
>   		case FLX_CSTAT_UNDER:
>   			warn_user++;
> +			/* fall through */
>   		case FLX_CSTAT_INVALID:
>   		case FLX_CSTAT_OKAY:
>   			if (warn_user == 0 && bootverbose == 0)
> @@ -8413,7 +8416,7 @@ ahd_search_scb_list(struct ahd_softc *ahd, int target, char channel,
>   			if ((scb->flags & SCB_ACTIVE) == 0)
>   				printk("Inactive SCB in Waiting List\n");
>   			ahd_done_with_status(ahd, scb, status);
> -			/* FALLTHROUGH */
> +			/* fall through */
>   		case SEARCH_REMOVE:
>   			ahd_rem_wscb(ahd, scbid, prev, next, tid);
>   			*list_tail = prev;
> @@ -8422,6 +8425,7 @@ ahd_search_scb_list(struct ahd_softc *ahd, int target, char channel,
>   			break;
>   		case SEARCH_PRINT:
>   			printk("0x%x ", scbid);
> +			/* fall through */
>   		case SEARCH_COUNT:
>   			prev = scbid;
>   			break;
> @@ -9547,8 +9551,8 @@ ahd_download_instr(struct ahd_softc *ahd, u_int instrptr, uint8_t *dconsts)
>   	{
>   		fmt3_ins = &instr.format3;
>   		fmt3_ins->address = ahd_resolve_seqaddr(ahd, fmt3_ins->address);
> -		/* FALLTHROUGH */
>   	}
> +		/* fall through */
>   	case AIC_OP_OR:
>   	case AIC_OP_AND:
>   	case AIC_OP_XOR:
> @@ -9559,7 +9563,7 @@ ahd_download_instr(struct ahd_softc *ahd, u_int instrptr, uint8_t *dconsts)
>   			fmt1_ins->immediate = dconsts[fmt1_ins->immediate];
>   		}
>   		fmt1_ins->parity = 0;
> -		/* FALLTHROUGH */
> +		/* fall through */
>   	case AIC_OP_ROL:
>   	{
>   		int i, count;
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ