Hello Ecrypt FS People, Al Viro has a patch in linux-next and it upsets Smatch: The patch 72c2d5319200: "file->f_op is never NULL..." from Sep 22, 2013, leads to the following static checker warning: "fs/ecryptfs/file.c:320 ecryptfs_unlocked_ioctl() error: potential NULL dereference 'lower_file'." fs/ecryptfs/file.c 312 static long 313 ecryptfs_unlocked_ioctl(struct file *file, unsigned int cmd, unsigned long arg) 314 { 315 struct file *lower_file = NULL; 316 long rc = -ENOTTY; 317 318 if (ecryptfs_file_to_private(file)) 319 lower_file = ecryptfs_file_to_lower(file); 320 if (lower_file->f_op && lower_file->f_op->unlocked_ioctl) 321 rc = lower_file->f_op->unlocked_ioctl(lower_file, cmd, arg); If there is no file->private_data then "lower_file" is NULL. However, I think file->private_data is always set to a valid pointer in ecryptfs_open() so really we should just remove the "if (ecryptfs_file_to_private(file))" check. Is that right, or am I missing something. 322 return rc; 323 } 324 325 #ifdef CONFIG_COMPAT 326 static long 327 ecryptfs_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg) 328 { 329 struct file *lower_file = NULL; 330 long rc = -ENOIOCTLCMD; 331 332 if (ecryptfs_file_to_private(file)) 333 lower_file = ecryptfs_file_to_lower(file); 334 if (lower_file->f_op && lower_file->f_op->compat_ioctl) 335 rc = lower_file->f_op->compat_ioctl(lower_file, cmd, arg); Same things. 336 return rc; 337 } 338 #endif regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe ecryptfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html