Re: [PATCH v8 27/32] fanotify: Report fid info for file related file system errors

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

 



On Mon 18-10-21 21:00:10, Gabriel Krisman Bertazi wrote:
> Plumb the pieces to add a FID report to error records.  Since all error
> event memory must be pre-allocated, we pre-allocate the maximum file
> handle size possible, such that it should always fit.
> 
> For errors that don't expose a file handle report it with an invalid
> FID.
> 
> Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxx>

...

> diff --git a/fs/notify/fanotify/fanotify.c b/fs/notify/fanotify/fanotify.c
> index 45df610debbe..335ce8f88eb8 100644
> --- a/fs/notify/fanotify/fanotify.c
> +++ b/fs/notify/fanotify/fanotify.c
> @@ -609,7 +609,9 @@ static struct fanotify_event *fanotify_alloc_error_event(
>  {
>  	struct fs_error_report *report =
>  			fsnotify_data_error_report(data, data_type);
> +	struct inode *inode = report->inode;
>  	struct fanotify_error_event *fee;
> +	int fh_len;
>  
>  	if (WARN_ON_ONCE(!report))
>  		return NULL;

This WARN_ON_ONCE is now pointless since you dereference report->inode
above... So I guess move the dereference after WARN?

> @@ -267,6 +274,10 @@ static inline int fanotify_event_dir_fh_len(struct fanotify_event *event)
>  
>  static inline bool fanotify_event_has_object_fh(struct fanotify_event *event)
>  {
> +
> +	/* For error events, even zeroed fh are reported. */
> +	if (event->type == FANOTIFY_EVENT_TYPE_FS_ERROR)
> +		return true;
>  	if (fanotify_event_object_fh_len(event) > 0)
>  		return true;

This hunk belongs into patch 25. With these fixed feel free to add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

								Honza

-- 
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux