lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <52615CC0.7010007@redhat.com> Date: Fri, 18 Oct 2013 11:07:28 -0500 From: Eric Sandeen <sandeen@...hat.com> To: ext4 development <linux-ext4@...r.kernel.org> Subject: [PATCH] e2fsprogs: fix build w/o quota The next branch fails a few ways if quota isn't enabled; for starters, libquota build was turned off after commit 43075b4 quota: fix disabling quota, add quota tests because now we don't build libquota, but still depend on it. Using @QUOTA_CMT@ to comment out those libs fixes things as far as deps, but then all calls to quota functions fail, of course. So this is a very quick & dirty stab at providing stubs for those functions when quota is disabled. Signed-off-by: Eric Sandeen <sandeen@...hat.com> --- Note - Compile-tested only, with & without quota. diff --git a/MCONFIG.in b/MCONFIG.in index fa2b03e..e6be05c 100644 --- a/MCONFIG.in +++ b/MCONFIG.in @@ -93,13 +93,13 @@ LIBCOM_ERR = $(LIB)/libcom_err@..._EXT@ @PRIVATE_LIBS_CMT@ @SEM_INIT_LIB@ LIBE2P = $(LIB)/libe2p@..._EXT@ LIBEXT2FS = $(LIB)/libext2fs@..._EXT@ LIBUUID = @LIBUUID@ @SOCKET_LIB@ -LIBQUOTA = @STATIC_LIBQUOTA@ +@...TA_CMT@...QUOTA = @STATIC_LIBQUOTA@ LIBBLKID = @LIBBLKID@ @PRIVATE_LIBS_CMT@ $(LIBUUID) LIBINTL = @LIBINTL@ DEPLIBSS = $(LIB)/libss@..._EXT@ DEPLIBCOM_ERR = $(LIB)/libcom_err@..._EXT@ DEPLIBUUID = @DEPLIBUUID@ -DEPLIBQUOTA = @DEPSTATIC_LIBQUOTA@ +@...TA_CMT@...LIBQUOTA = @DEPSTATIC_LIBQUOTA@ DEPLIBBLKID = @DEPLIBBLKID@ @PRIVATE_LIBS_CMT@ $(DEPLIBUUID) STATIC_LIBSS = $(LIB)/libss@...TIC_LIB_EXT@ @DLOPEN_LIB@ @@ -107,12 +107,12 @@ STATIC_LIBCOM_ERR = $(LIB)/libcom_err@...TIC_LIB_EXT@ @SEM_INIT_LIB@ STATIC_LIBE2P = $(LIB)/libe2p@...TIC_LIB_EXT@ STATIC_LIBEXT2FS = $(LIB)/libext2fs@...TIC_LIB_EXT@ STATIC_LIBUUID = @STATIC_LIBUUID@ @SOCKET_LIB@ -STATIC_LIBQUOTA = @STATIC_LIBQUOTA@ +@...TA_CMT@...TIC_LIBQUOTA = @STATIC_LIBQUOTA@ STATIC_LIBBLKID = @STATIC_LIBBLKID@ $(STATIC_LIBUUID) DEPSTATIC_LIBSS = $(LIB)/libss@...TIC_LIB_EXT@ DEPSTATIC_LIBCOM_ERR = $(LIB)/libcom_err@...TIC_LIB_EXT@ DEPSTATIC_LIBUUID = @DEPSTATIC_LIBUUID@ -DEPSTATIC_LIBQUOTA = @DEPSTATIC_LIBQUOTA@ +@...TA_CMT@...STATIC_LIBQUOTA = @DEPSTATIC_LIBQUOTA@ DEPSTATIC_LIBBLKID = @DEPSTATIC_LIBBLKID@ $(DEPSTATIC_LIBUUID) PROFILED_LIBSS = $(LIB)/libss@...FILED_LIB_EXT@ @DLOPEN_LIB@ @@ -120,12 +120,12 @@ PROFILED_LIBCOM_ERR = $(LIB)/libcom_err@...FILED_LIB_EXT@ @SEM_INIT_LIB@ PROFILED_LIBE2P = $(LIB)/libe2p@...FILED_LIB_EXT@ PROFILED_LIBEXT2FS = $(LIB)/libext2fs@...FILED_LIB_EXT@ PROFILED_LIBUUID = @PROFILED_LIBUUID@ @SOCKET_LIB@ -PROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@ +@...TA_CMT@...FILED_LIBQUOTA = @PROFILED_LIBQUOTA@ PROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(PROFILED_LIBUUID) DEPPROFILED_LIBSS = $(LIB)/libss@...FILED_LIB_EXT@ DEPPROFILED_LIBCOM_ERR = $(LIB)/libcom_err@...FILED_LIB_EXT@ DEPPROFILED_LIBUUID = @PROFILED_LIBUUID@ -DEPPROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@ +@...TA_CMT@...PROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@ DEPPROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(DEPPROFILED_LIBUUID) # diff --git a/lib/quota/mkquota.h b/lib/quota/mkquota.h index ee15071..2d5d927 100644 --- a/lib/quota/mkquota.h +++ b/lib/quota/mkquota.h @@ -43,6 +43,7 @@ struct quota_ctx { }; /* In mkquota.c */ +#ifdef CONFIG_QUOTA errcode_t quota_init_context(quota_ctx_t *qctx, ext2_filsys fs, int qtype); void quota_data_inodes(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino, int adjust); @@ -60,5 +61,81 @@ int quota_file_exists(ext2_filsys fs, int qtype, int fmt); void quota_set_sb_inum(ext2_filsys fs, ext2_ino_t ino, int qtype); errcode_t quota_compare_and_update(quota_ctx_t qctx, int qtype, int *usage_inconsistent); +#else +static inline +errcode_t quota_init_context(quota_ctx_t *qctx, ext2_filsys fs, int qtype) +{ + return 0; +} +static inline +void quota_data_inodes(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino, + int adjust) +{ + return; +} + +static inline +void quota_data_add(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino, + qsize_t space) +{ + return; +} + +static inline +void quota_data_sub(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino, + qsize_t space) +{ + return; +} + +static inline +errcode_t quota_write_inode(quota_ctx_t qctx, int qtype) +{ + return 0; +} + +static inline +errcode_t quota_update_limits(quota_ctx_t qctx, ext2_ino_t qf_ino, int type) +{ + return 0; +} + +static inline +errcode_t quota_compute_usage(quota_ctx_t qctx) +{ + return 0; +} + +static inline +void quota_release_context(quota_ctx_t *qctx) +{ + return; +} + +static inline +errcode_t quota_remove_inode(ext2_filsys fs, int qtype) +{ + return 0; +} + +static inline +int quota_file_exists(ext2_filsys fs, int qtype, int fmt) +{ + return 0; +} + +static inline +void quota_set_sb_inum(ext2_filsys fs, ext2_ino_t ino, int qtype) +{ + return; +} + +static inline +errcode_t quota_compare_and_update(quota_ctx_t qctx, int qtype, + int *usage_inconsistent) +{ + return 0; +} +#endif #endif /* __QUOTA_QUOTAIO_H__ */ diff --git a/lib/quota/quotaio.h b/lib/quota/quotaio.h index 1c062f1..c2d7a41 100644 --- a/lib/quota/quotaio.h +++ b/lib/quota/quotaio.h @@ -158,8 +158,24 @@ void update_grace_times(struct dquot *q); than maxlen of extensions[] and fmtnames[] (plus 2) found in quotaio.c */ #define QUOTA_NAME_LEN 16 +#ifdef CONFIG_QUOTA const char *quota_get_qf_name(int type, int fmt, char *buf); const char *quota_get_qf_path(const char *mntpt, int qtype, int fmt, char *path_buf, size_t path_buf_size); +#else +static inline +const char *quota_get_qf_name(int type, int fmt, char *buf) +{ + return NULL; +} + +static inline +const char *quota_get_qf_path(const char *mntpt, int qtype, int fmt, + char *path_buf, size_t path_buf_size) +{ + return NULL; +} +#endif + #endif /* GUARD_QUOTAIO_H */ -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists