[CC += linux-...@vger.kernel.org]
Since this is a kernel-user-space API change, please CC linux-api@.
The kernel source file Documentation/SubmitChecklist notes that all
Linux kernel patches that change userspace interfaces should be CCed
to linux-...@vger.kernel.org, so that the various parties
On Tue, May 05, 2015 at 08:40:55AM +0800, Nicolas Iooss wrote:
> On 05/05/2015 04:33 AM, Paul E. McKenney wrote:
> > On Sun, May 03, 2015 at 12:27:02PM -0700, Josh Triplett wrote:
> >> On Sun, May 03, 2015 at 05:57:53PM +0800, Nicolas Iooss wrote:
> >>> Commit 11bbb235c26f ("rcu: Use
On Mon, May 04, 2015 at 04:53:16PM -0400, Rik van Riel wrote:
> On 05/04/2015 04:38 PM, Paul E. McKenney wrote:
> > On Mon, May 04, 2015 at 04:13:50PM -0400, Rik van Riel wrote:
> >> On 05/04/2015 04:02 PM, Paul E. McKenney wrote:
>
> >>> Hmmm... But didn't earlier performance measurements show
On 5/4/15 9:41 PM, Wang Nan wrote:
That's great. Could you please append the description of 'llvm -s' into your
README
or comments? It has cost me a lot of time for dumping eBPF instructions so I
decide to
add it into perf...
sure. it's just -filetype=asm flag to llc instead of
On Tue, May 05, 2015 at 01:37:33AM +0200, Rafael J. Wysocki wrote:
> On Saturday, May 02, 2015 11:27:32 PM Marian Marinov wrote:
> > Hi guys,
> > I have Lenovo T520 with one SSD and one SATA drive.
> >
> > I tried to upgrade to Linux 4.0 and found that after suspend and resume I
> > can't access
From: Al Viro
Signed-off-by: Al Viro
---
fs/ext2/inode.c | 1 +
fs/ext2/namei.c | 3 ++-
fs/ext2/symlink.c | 10 +-
3 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c
index f460ae3..5c09776 100644
--- a/fs/ext2/inode.c
+++
From: Al Viro
Signed-off-by: Al Viro
---
fs/ufs/inode.c | 5 +++--
fs/ufs/namei.c | 3 ++-
fs/ufs/symlink.c | 13 +
3 files changed, 6 insertions(+), 15 deletions(-)
diff --git a/fs/ufs/inode.c b/fs/ufs/inode.c
index be7d42c..99aaf5c 100644
--- a/fs/ufs/inode.c
+++
From: Al Viro
Signed-off-by: Al Viro
---
fs/ubifs/dir.c | 1 +
fs/ubifs/file.c | 11 +--
fs/ubifs/super.c | 1 +
3 files changed, 3 insertions(+), 10 deletions(-)
diff --git a/fs/ubifs/dir.c b/fs/ubifs/dir.c
index 27060fc..5c27c66 100644
--- a/fs/ubifs/dir.c
+++ b/fs/ubifs/dir.c
From: Al Viro
Signed-off-by: Al Viro
---
fs/ext3/inode.c | 1 +
fs/ext3/namei.c | 3 ++-
fs/ext3/symlink.c | 10 +-
3 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c
index 2ee2dc4..6c7e546 100644
--- a/fs/ext3/inode.c
+++
From: Al Viro
Signed-off-by: Al Viro
---
fs/jfs/inode.c | 3 ++-
fs/jfs/namei.c | 5 ++---
fs/jfs/symlink.c | 10 +-
3 files changed, 5 insertions(+), 13 deletions(-)
diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c
index 070dc4b..6f1cb2b 100644
--- a/fs/jfs/inode.c
+++
From: NeilBrown
No ->inode_follow_link() methods use the nameidata arg, and
it is about to become private to namei.c.
So remove from all inode_follow_link() functions.
Signed-off-by: NeilBrown
Signed-off-by: Al Viro
---
fs/namei.c | 2 +-
include/linux/security.h | 9 +++--
From: Al Viro
Signed-off-by: Al Viro
---
fs/logfs/dir.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/logfs/dir.c b/fs/logfs/dir.c
index 4cf38f1..f9b45d4 100644
--- a/fs/logfs/dir.c
+++ b/fs/logfs/dir.c
@@ -779,6 +779,7 @@ fail:
const struct inode_operations logfs_symlink_iops = {
From: Al Viro
... it does nothing if nd->last_type is LAST_BIND.
Signed-off-by: Al Viro
---
fs/namei.c | 10 +++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index ea528ca..d6235ea 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1789,7 +1789,11 @@
From: Al Viro
Signed-off-by: Al Viro
---
fs/namei.c | 40 +---
1 file changed, 17 insertions(+), 23 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index 3c622ad..723dead 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1818,23 +1818,6 @@ Walked:
From: Al Viro
Signed-off-by: Al Viro
---
fs/namei.c | 62 ++
1 file changed, 30 insertions(+), 32 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index a13e47d..7537ae0 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -668,8 +668,6 @@
From: Al Viro
absolutely straightforward now - the only variables we need to preserve
across the recursive call are name, link and cookie, and recursion depth
is limited (and can is equal to nd->depth). So arrange an array of
triples to hold instances of those and be done with that.
From: Al Viro
when we go for on-demand allocation of saved state in
link_path_walk(), we'll want nameidata to stay around
for all 3 calls of path_mountpoint().
Signed-off-by: Al Viro
---
fs/namei.c | 28 +---
1 file changed, 13 insertions(+), 15 deletions(-)
diff
From: Al Viro
it's a convenient helper, but we'll want to shift nameidata
down the call chain, so it won't be available there...
Signed-off-by: Al Viro
---
fs/namei.c | 20 +---
1 file changed, 5 insertions(+), 15 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index
From: Al Viro
When O_PATH is present, O_CREAT isn't, so symlink_ok is always equal to
(open_flags & O_PATH) && !(nd->flags & LOOKUP_FOLLOW).
Signed-off-by: Al Viro
---
fs/namei.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index
From: Al Viro
... and strip __always_inline from follow_link() - remaining callers
don't need that.
Now link_path_walk() recursion is a direct one.
Signed-off-by: Al Viro
---
fs/namei.c | 26 ++
1 file changed, 22 insertions(+), 4 deletions(-)
diff --git a/fs/namei.c
From: Al Viro
Split a piece of fs/namei.c:follow_link() that does obtaining the link
body into a separate function. follow_link() itself is converted to
calling get_link() and then doing the body traversal (if any).
The next step will expand follow_link() call in link_path_walk()
and this
From: Al Viro
With LOOKUP_FOLLOW we unlazy and return 1; without it we either
fail with ELOOP or, for O_PATH opens, succeed. No need to mix
those cases...
Signed-off-by: Al Viro
---
fs/namei.c | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/fs/namei.c
From: Al Viro
shares space with nameidata->next, walk_component() et.al. store
the struct path of symlink instead of returning it into a variable
passed by caller.
Signed-off-by: Al Viro
---
fs/namei.c | 62 ++
1 file changed, 34
From: Al Viro
Deal with skipping leading slashes before what used to be the
recursive call. That way we can get rid of that goto completely.
Signed-off-by: Al Viro
---
fs/namei.c | 9 ++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index
From: Al Viro
Signed-off-by: Al Viro
---
fs/namei.c | 27 ---
1 file changed, 12 insertions(+), 15 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index 026d7df..9822b37 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -891,16 +891,10 @@ const char *get_link(struct
From: Al Viro
Signed-off-by: Al Viro
---
fs/namei.c | 21 -
1 file changed, 8 insertions(+), 13 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index e6d54ec..22256ef 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1963,14 +1963,15 @@ static void path_cleanup(struct
On Mon, 2015-05-04 at 16:31 +0200, Sascha Hauer wrote:
> On Fri, May 01, 2015 at 03:43:29PM +0800, Yingjoe Chen wrote:
> > Add arch timer node to enable arch-timer support. MT8135 firmware
> > doesn't correctly setup arch-timer frequency and CNTVOFF, add
> > properties to workaround this.
> >
> >
On Tue, 2015-05-05 at 02:16 +0100, Ben Hutchings wrote:
> 3.2.69-rc1 review patch. If anyone has any objections, please let me know.
Perhaps you should also consider including commit 0a280962 along with
this one.
>
> --
>
> From: Sasha Levin
>
> commit
2015-05-05 0:22 GMT+09:00 Laurentiu Palcu :
> Hi Anda,
>
> Can you please use a decent mail client to reply to emails? It was
> really hard for me to figure out which were my comments and which were
> yours... And I tested 3 different clients: mutt, evolution and
> outlook(the web app).
>
> More
From: Al Viro
make get_link() increment nd->depth on successful exit
Signed-off-by: Al Viro
---
fs/namei.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index 51bcbec..f81a029 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -918,8 +918,10 @@
From: Al Viro
collapse adjacent increment/decrement pairs.
Signed-off-by: Al Viro
---
fs/namei.c | 8
1 file changed, 8 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index da23835..d8ad004 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1824,8 +1824,6 @@ Walked:
From: Al Viro
Signed-off-by: Al Viro
---
fs/namei.c | 25 +
1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index 22256ef..f0066785 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -718,12 +718,13 @@ void nd_jump_link(struct nameidata
From: Al Viro
all calls are preceded by decrement of nd->depth; move it into
put_link() itself.
Signed-off-by: Al Viro
---
fs/namei.c | 18 --
1 file changed, 4 insertions(+), 14 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index b7b1c2b..0713961 100644
--- a/fs/namei.c
From: Al Viro
Pull the block after the if-else in the end of what used to be do-while
body into all branches there. We are almost done with the massage...
Signed-off-by: Al Viro
---
fs/namei.c | 19 +--
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/fs/namei.c
From: Al Viro
get rid of orig_depth - we only use it on error exit to tell whether
to stop doing put_link() when depth reaches 0 (call from path_init())
or when it reaches 1 (call from trailing_symlink()). However, in
the latter case the caller would immediately follow with one more
put_link().
From: Al Viro
remove decrement/increment surrounding nd_alloc_stack(), adjust the
test in it.
Signed-off-by: Al Viro
---
fs/namei.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index d8ad004..0d1fcaf 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@
From: Al Viro
move decrement of nd->depth on successful returns into the callers.
Signed-off-by: Al Viro
---
fs/namei.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index f81a029..b7b1c2b 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@
From: Al Viro
Make link_path_walk() work with any value of nd->depth on entry -
memorize it and use it in tests instead of comparing with 1.
Don't bother with increment/decrement in path_init().
Signed-off-by: Al Viro
---
fs/namei.c | 10 --
1 file changed, 4 insertions(+), 6
From: Al Viro
Get rid of orig_depth checks in OK: logics. If nd->depth is
zero, we had been called from path_init() and we are done.
If it is greater than 1, we are not done, whether we'd been
called from path_init() or trailing_symlink(). And in
case when it's 1, we might have been called
From: Al Viro
Signed-off-by: Al Viro
---
fs/namei.c | 25 +++--
1 file changed, 11 insertions(+), 14 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index e53f146..76bf620 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1579,20 +1579,16 @@ static int walk_component(struct
From: Al Viro
follow_dotdot_rcu() does an equivalent of terminate_walk() on failure;
shifting it into callers makes for simpler rules and those callers
already have terminate_walk() on other failure exits.
Signed-off-by: Al Viro
---
fs/namei.c | 19 ++-
1 file changed, 10
From: Al Viro
The only reason why we needed one more was that purely nested
MAXSYMLINKS symlinks could lead to path_init() using that many
entries in addition to nd->stack[0] which it left unused.
That can't happen now - path_init() starts with entry 0 (and
trailing_symlink() is called only
From: Al Viro
rationale: we'll need to have terminate_walk() do put_link() on
everything, which will mean that in some cases ..._last() will do
put_link() anyway. Easier to have them do it in all cases.
Signed-off-by: Al Viro
---
fs/namei.c | 34 +-
1 file
From: Al Viro
All callers of terminate_walk() are followed by more or less
open-coded eqiuvalent of "do put_link() on everything left
in nd->stack". Better done in terminate_walk() itself, and
when we go for RCU symlink traversal we'll have to do it
there anyway.
Signed-off-by: Al Viro
---
From: Al Viro
Signed-off-by: Al Viro
---
drivers/staging/lustre/lustre/llite/symlink.c | 15 +++
1 file changed, 3 insertions(+), 12 deletions(-)
diff --git a/drivers/staging/lustre/lustre/llite/symlink.c
b/drivers/staging/lustre/lustre/llite/symlink.c
index e488cb3..da6d9d1
From: Al Viro
fewer labels that way; in particular, resuming after the end of
nested symlink is straight-line.
Signed-off-by: Al Viro
---
fs/namei.c | 30 +++---
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index
From: Al Viro
instead of a single flag (!= 0 => we want to follow symlinks) pass
two bits - WALK_GET (want to follow symlinks) and WALK_PUT (put_link()
once we are done looking at the name). The latter matters only for
success exits - on failure the caller will discard everything anyway.
From: Al Viro
Signed-off-by: Al Viro
---
fs/namei.c | 9 -
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index 76bf620..f7bce07 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -892,7 +892,6 @@ const char *get_link(struct nameidata *nd)
From: Al Viro
... if it decides to follow, that is.
Signed-off-by: Al Viro
---
fs/namei.c | 63 +-
1 file changed, 34 insertions(+), 29 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index 5eb8b0c..026d7df 100644
--- a/fs/namei.c
From: Al Viro
Signed-off-by: Al Viro
---
fs/namei.c | 45 +
1 file changed, 33 insertions(+), 12 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index 98e932c..eb3f7d9 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -538,10 +538,18 @@ static void
From: Al Viro
now that it gets nameidata, no reason to have setting LOOKUP_JUMPED on
mountpoint crossing and calling path_put_conditional() on failures
done in every caller.
Signed-off-by: Al Viro
---
fs/namei.c | 32 ++--
1 file changed, 10 insertions(+), 22
From: NeilBrown
task_struct currently contains two ad-hoc members for use by the VFS:
link_count and total_link_count. These are only interesting to fs/namei.c,
so exposing them explicitly is poor layering. Incidentally, link_count
isn't used anymore, so it can just die.
This patches replaces
From: Al Viro
its only use is getting passed to nd_jump_link(), which can obtain
it from current->nameidata
Signed-off-by: Al Viro
---
Documentation/filesystems/Locking | 2 +-
Documentation/filesystems/vfs.txt | 2 +-
drivers/staging/lustre/lustre/llite/symlink.c |
From: Al Viro
one potentially subtle point: may_follow_link() kludge rejecting symlink
traversal in RCU mode is handled by returning -ECHILD and repeating
everything in non-RCU mode. Reason: audit_log_link_denied() won't work
in RCU mode.
Signed-off-by: Al Viro
---
fs/namei.c | 86
From: Al Viro
we have a lot of places where we open-code the check that dentry->d_seq
matches nameidata...
Signed-off-by: Al Viro
---
fs/namei.c | 15 ++-
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index eb3f7d9..cf8f2de 100644
---
From: Al Viro
Signed-off-by: Al Viro
---
fs/ceph/inode.c | 11 ++-
1 file changed, 2 insertions(+), 9 deletions(-)
diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c
index e876e19..571acd8 100644
--- a/fs/ceph/inode.c
+++ b/fs/ceph/inode.c
@@ -6,7 +6,6 @@
#include
#include
#include
Okash Khawaja writes:
> On Mon, May 04, 2015 at 03:42:04PM +0300, Kalle Valo wrote:
>> Okash Khawaja writes:
>>
>> > This patch fixes the checkpatch.pl error:
>> >
>> > ERROR: trailing statements should be on next line
>> >
>> > More specifically, the fix has been applied to the four
From: Al Viro
Signed-off-by: Al Viro
---
fs/jffs2/dir.c | 1 +
fs/jffs2/fs.c | 1 +
fs/jffs2/symlink.c | 45 +
3 files changed, 3 insertions(+), 44 deletions(-)
diff --git a/fs/jffs2/dir.c b/fs/jffs2/dir.c
index 1ba5c97..8118002 100644
From: Al Viro
Signed-off-by: Al Viro
---
fs/freevxfs/vxfs_extern.h | 3 ---
fs/freevxfs/vxfs_immed.c | 34 --
fs/freevxfs/vxfs_inode.c | 7 +--
3 files changed, 5 insertions(+), 39 deletions(-)
diff --git a/fs/freevxfs/vxfs_extern.h
From: Al Viro
Signed-off-by: Al Viro
---
fs/exofs/Kbuild| 2 +-
fs/exofs/exofs.h | 4
fs/exofs/inode.c | 9 +
fs/exofs/namei.c | 5 +++--
fs/exofs/symlink.c | 55 --
5 files changed, 9 insertions(+), 66 deletions(-)
From: Al Viro
We copy there a kmalloc'ed string and proceed to kfree that string immediately
after that. Easier to just feed that string to nd_set_link() and _not_
kfree it until ->put_link() (which becomes kfree_put_link() in that case).
Signed-off-by: Al Viro
---
fs/9p/v9fs.h |
From: Al Viro
Signed-off-by: Al Viro
---
fs/sysv/Makefile | 2 +-
fs/sysv/inode.c | 5 +++--
fs/sysv/symlink.c | 20
fs/sysv/sysv.h| 1 -
4 files changed, 4 insertions(+), 24 deletions(-)
delete mode 100644 fs/sysv/symlink.c
diff --git a/fs/sysv/Makefile
From: Al Viro
Signed-off-by: Al Viro
---
mm/shmem.c | 9 ++---
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/mm/shmem.c b/mm/shmem.c
index de98137..7f6e2f8 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -2451,6 +2451,7 @@ static int shmem_symlink(struct inode *dir, struct
From: Al Viro
The only restriction is that on the total amount of symlinks
crossed; how they are nested does not matter
Signed-off-by: Al Viro
---
fs/namei.c| 66 ---
include/linux/namei.h | 2 ++
2 files changed, 54 insertions(+),
From: Al Viro
same story as the previous commit
---
fs/namei.c | 45 +
1 file changed, 21 insertions(+), 24 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index f0066785..8fd8ccb 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -843,27 +843,33 @@
From: Al Viro
move increment of ->depth to the point where we'd discovered
that get_link() has not returned an error, adjust exits
accordingly.
Signed-off-by: Al Viro
---
fs/namei.c | 15 ++-
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
From: Al Viro
What we do after the second walk_component() + put_link() + depth
decrement in there is exactly equivalent to what's done right
after the first walk_component(). Easy to verify and not at all
surprising, seeing that there we have just walked the last
component of nested symlink.
From: Al Viro
All remaining callers of the former are preceded by the latter
Signed-off-by: Al Viro
---
fs/namei.c | 21 ++---
1 file changed, 6 insertions(+), 15 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index 2243d18..a13e47d 100644
--- a/fs/namei.c
+++ b/fs/namei.c
From: Al Viro
Signed-off-by: Al Viro
---
fs/namei.c | 11 +--
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index 955dc7f..308f325 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -3052,6 +3052,11 @@ finish_lookup:
}
From: Al Viro
nd->stack[0] is unused until the handling of trailing symlinks and
we want to get rid of that. Having fucked that transformation up
several times, I went for bloody pedantic series of provably equivalent
transformations. Sorry.
Step 1: keep nd->depth higher by one in
From: Al Viro
seriously improves the stack *and* I-cache footprint...
Signed-off-by: Al Viro
---
fs/namei.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index cd0ffc9f18..955dc7f 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1561,8 +1561,7 @@
From: Al Viro
with new calling conventions it's trivial
Signed-off-by: Al Viro
Conflicts:
fs/namei.c
---
fs/namei.c | 20 +---
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index 5f2c986..dbcbe42 100644
--- a/fs/namei.c
+++
From: Al Viro
that avoids having nameidata on stack during the calls of
->rmdir()/->unlink() and *two* of those during the calls
of ->rename().
Signed-off-by: Al Viro
---
fs/namei.c | 124 +
1 file changed, 67 insertions(+), 57
From: Al Viro
a) instead of storing the symlink body (via nd_set_link()) and returning
an opaque pointer later passed to ->put_link(), ->follow_link() _stores_
that opaque pointer (into void * passed by address by caller) and returns
the symlink body. Returning ERR_PTR() on error, NULL on jump
From: Al Viro
We used to need it to feed to follow_link(). No more...
Signed-off-by: Al Viro
---
fs/namei.c | 50 +-
1 file changed, 25 insertions(+), 25 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index 72a6130..c5d5e9e 100644
---
From: Al Viro
Signed-off-by: Al Viro
---
fs/befs/linuxvfs.c | 24 +---
1 file changed, 5 insertions(+), 19 deletions(-)
diff --git a/fs/befs/linuxvfs.c b/fs/befs/linuxvfs.c
index 7943533..172e306 100644
--- a/fs/befs/linuxvfs.c
+++ b/fs/befs/linuxvfs.c
@@ -43,7 +43,6 @@
From: Al Viro
Signed-off-by: Al Viro
---
fs/namei.c | 61 +++--
1 file changed, 23 insertions(+), 38 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index c5d5e9e..fae70a4 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1605,43 +1605,6 @@
From: Al Viro
lift increment/decrement into link_path_walk() callers.
Signed-off-by: Al Viro
---
fs/namei.c | 10 ++
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index 0d1fcaf..800cf7e 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1755,7 +1755,6
From: Al Viro
reduce the number of returns in there - turn all places
where it returns zero into goto OK and places where it
returns non-zero into goto Err. The only non-trivial
detail is that all breaks in the loop are guaranteed
to be with non-zero err.
Signed-off-by: Al Viro
---
From: Al Viro
If we get ERR_PTR() from get_link(), we are guaranteed to get err != 0
when we break out of do-while, so we are going to hit if (err) return err;
shortly after it. Pull that into the if (IS_ERR(s)) body.
Signed-off-by: Al Viro
---
fs/namei.c | 4 +++-
1 file changed, 3
From: Al Viro
Signed-off-by: Al Viro
---
fs/namei.c | 61 -
1 file changed, 32 insertions(+), 29 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index d6235ea..d46df22 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1767,6 +1767,10 @@
From: Al Viro
Array of MAX_NESTED_LINKS + 1 elements put into nameidata;
what used to be a local array in link_path_walk() occupies
entries 1 .. MAX_NESTED_LINKS in it, link and cookie from
the trailing symlink handling loops - entry 0.
This is _not_ the final arrangement; just an easily
From: Al Viro
Signed-off-by: Al Viro
---
fs/9p/vfs_inode.c | 26 +-
1 file changed, 5 insertions(+), 21 deletions(-)
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
index 703342e..cda68f7 100644
--- a/fs/9p/vfs_inode.c
+++ b/fs/9p/vfs_inode.c
@@ -1370,6 +1370,8 @@
From: Al Viro
for fast symlinks only, of course...
Signed-off-by: Al Viro
---
fs/ext4/inode.c | 1 +
fs/ext4/namei.c | 4 +++-
fs/ext4/symlink.c | 9 +
3 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index a320558..aba562b 100644
From: Al Viro
Signed-off-by: Al Viro
---
fs/debugfs/file.c | 12
fs/debugfs/inode.c | 6 +++---
include/linux/debugfs.h | 1 -
3 files changed, 3 insertions(+), 16 deletions(-)
diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c
index 830a7e7..284f9aa 100644
---
From: Al Viro
let "fast" symlinks store the pointer to the body into ->i_link and
use simple_follow_link for ->follow_link()
Signed-off-by: Al Viro
---
fs/inode.c | 1 +
fs/libfs.c | 13 +
include/linux/fs.h | 3 +++
3 files changed, 17 insertions(+)
diff --git
From: NeilBrown
ovl_follow_link current calls ->put_link on an error path.
However ->put_link is about to change in a way that it will be
impossible to call it from ovl_follow_link.
So rearrange the code to avoid the need for that error path.
Specifically: move the kmalloc() call before the
From: Al Viro
Signed-off-by: Al Viro
---
fs/ext4/ext4.h| 1 +
fs/ext4/inode.c | 10 --
fs/ext4/namei.c | 9 +
fs/ext4/symlink.c | 30 ++
4 files changed, 24 insertions(+), 26 deletions(-)
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index
My apologies for the patchbomb from hell, but I really think
it needs a public review.
There are several things in that queue; most of it is fs/namei.c
rewrite and closer to the end we get
* non-recursive link_path_walk()
* the only symlink-related limitation is
On Mon, May 04, 2015 at 03:42:04PM +0300, Kalle Valo wrote:
> Okash Khawaja writes:
>
> > This patch fixes the checkpatch.pl error:
> >
> > ERROR: trailing statements should be on next line
> >
> > More specifically, the fix has been applied to the four occurances of the
> > error listed below.
On Sat, May 02, 2015 at 04:57:38PM -0700, Kenneth Westfield wrote:
> On Thu, Apr 30, 2015 at 06:16:53PM +0100, Srinivas Kandagatla wrote:
> > This patch tries to make the lpass driver more generic by moving the
> > ipq806x specific bits out of the cpu and platform driver, also allows
> the
> > SOC
I mistakenly only included David in the original patch email so I have
added the other people from get_maintainer.pl. I believe this patch
could be fixing a rather significant problem (a potential kernel panic)
so some feedback would be appreciated.
Thanks,
Matt
On Thu, 2015-04-30 at 11:48
On 05/01/15 21:44, William Cohen wrote:
On 04/29/2015 06:23 AM, Will Deacon wrote:
On Tue, Apr 28, 2015 at 03:58:21AM +0100, William Cohen wrote:
Hi All,
Hi Will,
I have been experimenting with the patches for arm64 kprobes support.
On occasion the kernel gets stuck in a loop printing
Hi all,
Changes since 20150504:
New tree: coresight
Non-merge commits (relative to Linus' tree): 1771
1812 files changed, 92548 insertions(+), 38087 deletions(-)
I have created today's linux-next tree at
git
Peter,
On Mon, May 04, 2015 at 06:31:44PM -0400, Peter Hurley wrote:
> > You say it is a diagnostics message that indicates a misspelling.
> > I fail to see what is misspelled, so what does it diagnose?
>
> Ok, so this is only about the diagnostic message, and not about some
> other failure.
>
On 05/04/2015 06:16 PM, Ben Hutchings wrote:
This is the start of the stable review cycle for the 3.2.69 release.
There are 221 patches in this series, which will be posted as responses
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made
On 05/03/2015 12:54 PM, Guenter Roeck wrote:
On 05/02/2015 12:02 PM, Greg Kroah-Hartman wrote:
This is the start of the stable review cycle for the 3.14.41 release.
There are 92 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being
On 05/03/2015 05:14 PM, Guenter Roeck wrote:
On 05/02/2015 11:58 AM, Greg Kroah-Hartman wrote:
This is the start of the stable review cycle for the 4.0.2 release.
There are 220 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being
On 05/03/2015 09:40 PM, Guenter Roeck wrote:
On 05/03/2015 12:49 PM, Guenter Roeck wrote:
On 05/02/2015 12:03 PM, Greg Kroah-Hartman wrote:
This is the start of the stable review cycle for the 3.10.77 release.
There are 65 patches in this series, all will be posted as a response
to this one.
On 2015/5/5 11:02, Alexei Starovoitov wrote:
> On 5/2/15 12:19 AM, Wang Nan wrote:
>>
>> I'd like to do following works in the next version (based on my experience
>> and feedbacks):
>>
>> 1. Safely clean up kprobe points after unloading;
>>
>> 2. Add subcommand space to 'perf bpf'. Current staff
1 - 100 of 2456 matches
Mail list logo