From: Cyrill Gorcunov Date: Thu, 29 Nov 2012 03:19:19 +0000 (+1100) Subject: fs, exportfs: escape nil dereference if no s_export_op present X-Git-Tag: next-20121205~1^2~10 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=d6fe8445a47bde2b99163cb12e0b1a33fec1eb37;p=karo-tx-linux.git fs, exportfs: escape nil dereference if no s_export_op present This routine will be used to generate a file handle in fdinfo output for inotify subsystem, where if no s_export_op present the general export_encode_fh should be used. Thus add a test if s_export_op present inside exportfs_encode_fh itself. Signed-off-by: Cyrill Gorcunov Acked-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Andrey Vagin Cc: Al Viro Cc: Alexey Dobriyan Cc: James Bottomley Cc: "Aneesh Kumar K.V" Cc: Alexey Dobriyan Cc: Matthew Helsley Cc: "J. Bruce Fields" Cc: "Aneesh Kumar K.V" Cc: Tvrtko Ursulin Signed-off-by: Andrew Morton --- diff --git a/fs/exportfs/expfs.c b/fs/exportfs/expfs.c index f1f1c59c2966..7fb6b190d75b 100644 --- a/fs/exportfs/expfs.c +++ b/fs/exportfs/expfs.c @@ -357,7 +357,7 @@ int exportfs_encode_fh(struct dentry *dentry, struct fid *fid, int *max_len, */ parent = p->d_inode; } - if (nop->encode_fh) + if (nop && nop->encode_fh) error = nop->encode_fh(inode, fid->raw, max_len, parent); else error = export_encode_fh(inode, fid, max_len, parent);