Re: [PATCH 1/5] mlx5: Use NULL instead of 0 to represent a pointer

Bart Van Assche
2016-12-06T16:29:56Z

On 12/06/2016 05:59 AM, Leon Romanovsky wrote:
> On Mon, Dec 05, 2016 at 05:18:08PM -0800, Bart Van Assche wrote:
>> Detected by sparse.
>>
>> Signed-off-by: Bart Van Assche <bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
>> Cc: Eli Cohen <eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
>> ---
>> drivers/infiniband/hw/mlx5/main.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
>> index 32b09f059c84..abd200e3e299 100644
>> --- a/drivers/infiniband/hw/mlx5/main.c
>> +++ b/drivers/infiniband/hw/mlx5/main.c
>> @@ -127,7 +127,7 @@ static int mlx5_netdev_event(struct notifier_block *this,
>>
>> if ((upper == ndev || (!upper && ndev == ibdev->roce.netdev))
>> && ibdev->ib_active) {
>> - struct ib_event ibev = {0};
>> + struct ib_event ibev = { NULL };
>
> I afraid that it is sparse anomality and because NULL==0, the ibev.event
> will be initialized to zero, but it is a matter of time when the sparse
> will complain about wrong initialization again.

Hello Leon,

The first member of struct ib_event is a pointer so I think the sparse
complaint is correct. Anyway, how about one of the following two
alternatives:
* Change {0} into { }.
* Use memset() instead of an initializer.

Bart.