Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs

Pull quota, ext2, isofs and udf fixes from Jan Kara:

 - two small quota error handling fixes

 - two isofs fixes for architectures with signed char

 - several udf block number overflow and signedness fixes

 - ext2 rework of mount option handling to avoid GFP_KERNEL allocation
   with spinlock held

 - ... it also contains a patch to implement auditing of responses to
   fanotify permission events. That should have been in the fanotify
   pull request but I mistakenly merged that patch into a wrong branch
   and noticed only now at which point I don't think it's worth rebasing
   and redoing.

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
  quota: be aware of error from dquot_initialize
  quota: fix potential infinite loop
  isofs: use unsigned char types consistently
  isofs: fix timestamps beyond 2027
  udf: Fix some sign-conversion warnings
  udf: Fix signed/unsigned format specifiers
  udf: Fix 64-bit sign extension issues affecting blocks > 0x7FFFFFFF
  udf: Remove some outdate references from documentation
  udf: Avoid overflow when session starts at large offset
  ext2: Fix possible sleep in atomic during mount option parsing
  ext2: Parse mount options into a dedicated structure
  audit: Record fanotify access control decisions
This commit is contained in:
Linus Torvalds
2017-11-14 14:13:11 -08:00
27 changed files with 366 additions and 314 deletions

View File

@@ -73,41 +73,41 @@ static inline struct iso_inode_info *ISOFS_I(struct inode *inode)
return container_of(inode, struct iso_inode_info, vfs_inode);
}
static inline int isonum_711(char *p)
static inline int isonum_711(u8 *p)
{
return *(u8 *)p;
return *p;
}
static inline int isonum_712(char *p)
static inline int isonum_712(s8 *p)
{
return *(s8 *)p;
return *p;
}
static inline unsigned int isonum_721(char *p)
static inline unsigned int isonum_721(u8 *p)
{
return get_unaligned_le16(p);
}
static inline unsigned int isonum_722(char *p)
static inline unsigned int isonum_722(u8 *p)
{
return get_unaligned_be16(p);
}
static inline unsigned int isonum_723(char *p)
static inline unsigned int isonum_723(u8 *p)
{
/* Ignore bigendian datum due to broken mastering programs */
return get_unaligned_le16(p);
}
static inline unsigned int isonum_731(char *p)
static inline unsigned int isonum_731(u8 *p)
{
return get_unaligned_le32(p);
}
static inline unsigned int isonum_732(char *p)
static inline unsigned int isonum_732(u8 *p)
{
return get_unaligned_be32(p);
}
static inline unsigned int isonum_733(char *p)
static inline unsigned int isonum_733(u8 *p)
{
/* Ignore bigendian datum due to broken mastering programs */
return get_unaligned_le32(p);
}
extern int iso_date(char *, int);
extern int iso_date(u8 *, int);
struct inode; /* To make gcc happy */