[PATCH v7 2/2] KEYS: Avoid false positive ENOMEM error on key read
    Tetsuo Handa 
    penguin-kernel at I-love.SAKURA.ne.jp
       
    Sun Mar 22 00:31:21 UTC 2020
    
    
  
On 2020/03/22 3:49, Waiman Long wrote:
> +	do {
> +		if (ret > key_data_len) {
> +			if (unlikely(key_data))
> +				__kvzfree(key_data, key_data_len);
> +			key_data_len = ret;
> +			continue;	/* Allocate buffer */
Excuse me, but "continue;" inside "do { ... } while (0);" means "break;"
because "while (0)" is evaluated before continuing the loop.
----------
#include <stdio.h>
int main(int argc, char *argv[])
{
        do {
                printf("step 1\n");
                if (1) {
                        printf("step 2\n");
                        continue;
                }
                printf("step 3\n");
        } while (0);
        printf("step 4\n");
        return 0;
}
----------
----------
step 1
step 2
step 4
----------
> +		}
> +	} while (0);
    
    
More information about the Linux-security-module-archive
mailing list