Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1278606 > unrolled thread
| Started by | Rasmus Villemoes <linux@rasmusvillemoes.dk> |
|---|---|
| First post | 2015-11-27 09:20 +0100 |
| Last post | 2015-11-27 10:40 +0100 |
| Articles | 5 — 4 participants |
Back to article view | Back to linux.kernel
[PATCH] btrfs: use kbasename in btrfsic_mount Rasmus Villemoes <linux@rasmusvillemoes.dk> - 2015-11-27 09:20 +0100
Re: [PATCH] btrfs: use kbasename in btrfsic_mount kbuild test robot <lkp@intel.com> - 2015-11-27 09:40 +0100
Re: [PATCH] btrfs: use kbasename in btrfsic_mount Rasmus Villemoes <linux@rasmusvillemoes.dk> - 2015-11-27 09:40 +0100
Re: [PATCH] btrfs: use kbasename in btrfsic_mount David Sterba <dsterba@suse.cz> - 2015-11-27 09:40 +0100
Re: [PATCH] btrfs: use kbasename in btrfsic_mount Andy Shevchenko <andy.shevchenko@gmail.com> - 2015-11-27 10:40 +0100
| From | Rasmus Villemoes <linux@rasmusvillemoes.dk> |
|---|---|
| Date | 2015-11-27 09:20 +0100 |
| Subject | [PATCH] btrfs: use kbasename in btrfsic_mount |
| Message-ID | <qzmq5-ij-5@gated-at.bofh.it> |
This is more readable.
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
---
I think the following strlcpy may be somewhat fragile since obviously
ds->name and p overlap. It certainly relies on strlcpy doing a forward
copy, and since different architectures can have their own strlcpy,
that's hard to verify (and also won't necessarily continue to hold).
Maybe
if (p != ds->name)
memmove(ds->name, p, strlen(p)+1);
instead.
fs/btrfs/check-integrity.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/fs/btrfs/check-integrity.c b/fs/btrfs/check-integrity.c
index 0340c57bf377..55a5cff390b9 100644
--- a/fs/btrfs/check-integrity.c
+++ b/fs/btrfs/check-integrity.c
@@ -95,6 +95,7 @@
#include <linux/genhd.h>
#include <linux/blkdev.h>
#include <linux/vmalloc.h>
+#include <linux/string.h>
#include "ctree.h"
#include "disk-io.h"
#include "hash.h"
@@ -3136,11 +3137,7 @@ int btrfsic_mount(struct btrfs_root *root,
ds->state = state;
bdevname(ds->bdev, ds->name);
ds->name[BDEVNAME_SIZE - 1] = '\0';
- for (p = ds->name; *p != '\0'; p++);
- while (p > ds->name && *p != '/')
- p--;
- if (*p == '/')
- p++;
+ p = kbasename(ds->name);
strlcpy(ds->name, p, sizeof(ds->name));
btrfsic_dev_state_hashtable_add(ds,
&btrfsic_dev_state_hashtable);
--
2.6.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | kbuild test robot <lkp@intel.com> |
|---|---|
| Date | 2015-11-27 09:40 +0100 |
| Message-ID | <qzmJs-pZ-7@gated-at.bofh.it> |
| In reply to | #1278606 |
[Multipart message — attachments visible in raw view] — view raw
Hi Rasmus,
[auto build test WARNING on: v4.4-rc2]
[also build test WARNING on: next-20151127]
url: https://github.com/0day-ci/linux/commits/Rasmus-Villemoes/btrfs-use-kbasename-in-btrfsic_mount/20151127-161249
config: i386-randconfig-s1-201547 (attached as .config)
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All warnings (new ones prefixed by >>):
fs/btrfs/check-integrity.c: In function 'btrfsic_mount':
>> fs/btrfs/check-integrity.c:3140:5: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
p = kbasename(ds->name);
^
vim +/const +3140 fs/btrfs/check-integrity.c
3124 char *p;
3125
3126 if (!device->bdev || !device->name)
3127 continue;
3128
3129 ds = btrfsic_dev_state_alloc();
3130 if (NULL == ds) {
3131 printk(KERN_INFO
3132 "btrfs check-integrity: kmalloc() failed!\n");
3133 mutex_unlock(&btrfsic_mutex);
3134 return -1;
3135 }
3136 ds->bdev = device->bdev;
3137 ds->state = state;
3138 bdevname(ds->bdev, ds->name);
3139 ds->name[BDEVNAME_SIZE - 1] = '\0';
> 3140 p = kbasename(ds->name);
3141 strlcpy(ds->name, p, sizeof(ds->name));
3142 btrfsic_dev_state_hashtable_add(ds,
3143 &btrfsic_dev_state_hashtable);
3144 }
3145
3146 ret = btrfsic_process_superblock(state, fs_devices);
3147 if (0 != ret) {
3148 mutex_unlock(&btrfsic_mutex);
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[toc] | [prev] | [next] | [standalone]
| From | Rasmus Villemoes <linux@rasmusvillemoes.dk> |
|---|---|
| Date | 2015-11-27 09:40 +0100 |
| Message-ID | <qzmJt-pZ-25@gated-at.bofh.it> |
| In reply to | #1278621 |
On Fri, Nov 27 2015, kbuild test robot <lkp@intel.com> wrote: > Hi Rasmus, > > [auto build test WARNING on: v4.4-rc2] > [also build test WARNING on: next-20151127] > > url: https://github.com/0day-ci/linux/commits/Rasmus-Villemoes/btrfs-use-kbasename-in-btrfsic_mount/20151127-161249 > config: i386-randconfig-s1-201547 (attached as .config) > reproduce: > # save the attached .config to linux build tree > make ARCH=i386 > > All warnings (new ones prefixed by >>): > > fs/btrfs/check-integrity.c: In function 'btrfsic_mount': >>> fs/btrfs/check-integrity.c:3140:5: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] > p = kbasename(ds->name); > ^ > Baah. Ok, that's easy to fix. Sorry for not compile-testing this myself. Rasmus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | David Sterba <dsterba@suse.cz> |
|---|---|
| Date | 2015-11-27 09:40 +0100 |
| Message-ID | <qzmJt-pZ-29@gated-at.bofh.it> |
| In reply to | #1278606 |
On Fri, Nov 27, 2015 at 09:11:31AM +0100, Rasmus Villemoes wrote: > This is more readable. > > Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Reviewed-by: David Sterba <dsterba@suse.com> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Andy Shevchenko <andy.shevchenko@gmail.com> |
|---|---|
| Date | 2015-11-27 10:40 +0100 |
| Message-ID | <qznFw-11n-11@gated-at.bofh.it> |
| In reply to | #1278606 |
On Fri, Nov 27, 2015 at 10:11 AM, Rasmus Villemoes <linux@rasmusvillemoes.dk> wrote: > This is more readable. Actually, Rasmus, a bit of offtopic here, but I would like to have your opinion for that clean up: http://www.spinics.net/lists/kernel/msg1411600.html -- With Best Regards, Andy Shevchenko -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web