* [PATCH 2/2] elf: print userspace address with %lx
@ 2019-03-14 20:45 Alexey Dobriyan
2019-03-15 6:53 ` Michal Hocko
0 siblings, 1 reply; 4+ messages in thread
From: Alexey Dobriyan @ 2019-03-14 20:45 UTC (permalink / raw)
To: akpm; +Cc: linux-kernel, mhocko
Use %lx, save a cast.
"addr" is userspace address so using (and mangling) pointer was never
necessary.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
---
fs/binfmt_elf.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -376,8 +376,8 @@ static unsigned long elf_map(struct file *filep, unsigned long addr,
map_addr = vm_mmap(filep, addr, size, prot, type, off);
if ((type & MAP_FIXED_NOREPLACE) && map_addr == -EEXIST)
- pr_info("%d (%s): Uhuuh, elf segment at %px requested but the memory is mapped already\n",
- task_pid_nr(current), current->comm, (void *)addr);
+ pr_info("%d (%s): Uhuuh, elf segment at %lx requested but the memory is mapped already\n",
+ task_pid_nr(current), current->comm, addr);
return(map_addr);
}
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] elf: print userspace address with %lx
2019-03-14 20:45 [PATCH 2/2] elf: print userspace address with %lx Alexey Dobriyan
@ 2019-03-15 6:53 ` Michal Hocko
2019-03-15 16:06 ` Alexey Dobriyan
0 siblings, 1 reply; 4+ messages in thread
From: Michal Hocko @ 2019-03-15 6:53 UTC (permalink / raw)
To: Alexey Dobriyan; +Cc: akpm, linux-kernel
On Thu 14-03-19 23:45:48, Alexey Dobriyan wrote:
> Use %lx, save a cast.
>
> "addr" is userspace address so using (and mangling) pointer was never
> necessary.
There shouldn't be any mangling AFAIU. Documentation for pointer()
says
* - 'x' For printing the address. Equivalent to "%lx".
>
> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
> ---
>
> fs/binfmt_elf.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> --- a/fs/binfmt_elf.c
> +++ b/fs/binfmt_elf.c
> @@ -376,8 +376,8 @@ static unsigned long elf_map(struct file *filep, unsigned long addr,
> map_addr = vm_mmap(filep, addr, size, prot, type, off);
>
> if ((type & MAP_FIXED_NOREPLACE) && map_addr == -EEXIST)
> - pr_info("%d (%s): Uhuuh, elf segment at %px requested but the memory is mapped already\n",
> - task_pid_nr(current), current->comm, (void *)addr);
> + pr_info("%d (%s): Uhuuh, elf segment at %lx requested but the memory is mapped already\n",
> + task_pid_nr(current), current->comm, addr);
>
> return(map_addr);
> }
--
Michal Hocko
SUSE Labs
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] elf: print userspace address with %lx
2019-03-15 6:53 ` Michal Hocko
@ 2019-03-15 16:06 ` Alexey Dobriyan
2019-03-16 8:28 ` Michal Hocko
0 siblings, 1 reply; 4+ messages in thread
From: Alexey Dobriyan @ 2019-03-15 16:06 UTC (permalink / raw)
To: Michal Hocko; +Cc: akpm, linux-kernel
On Fri, Mar 15, 2019 at 07:53:27AM +0100, Michal Hocko wrote:
> On Thu 14-03-19 23:45:48, Alexey Dobriyan wrote:
> > Use %lx, save a cast.
> >
> > "addr" is userspace address so using (and mangling) pointer was never
> > necessary.
>
> There shouldn't be any mangling AFAIU. Documentation for pointer()
> says
>
> * - 'x' For printing the address. Equivalent to "%lx".
The implication of using %p/%px is that the address is kernel pointer
which should or should not be mangled. But "map_addr" is not a kernel
pointer. And it saves a cast.
> > --- a/fs/binfmt_elf.c
> > +++ b/fs/binfmt_elf.c
> > @@ -376,8 +376,8 @@ static unsigned long elf_map(struct file *filep, unsigned long addr,
> > map_addr = vm_mmap(filep, addr, size, prot, type, off);
> >
> > if ((type & MAP_FIXED_NOREPLACE) && map_addr == -EEXIST)
> > - pr_info("%d (%s): Uhuuh, elf segment at %px requested but the memory is mapped already\n",
> > - task_pid_nr(current), current->comm, (void *)addr);
> > + pr_info("%d (%s): Uhuuh, elf segment at %lx requested but the memory is mapped already\n",
> > + task_pid_nr(current), current->comm, addr);
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] elf: print userspace address with %lx
2019-03-15 16:06 ` Alexey Dobriyan
@ 2019-03-16 8:28 ` Michal Hocko
0 siblings, 0 replies; 4+ messages in thread
From: Michal Hocko @ 2019-03-16 8:28 UTC (permalink / raw)
To: Alexey Dobriyan; +Cc: akpm, linux-kernel
On Fri 15-03-19 19:06:56, Alexey Dobriyan wrote:
> On Fri, Mar 15, 2019 at 07:53:27AM +0100, Michal Hocko wrote:
> > On Thu 14-03-19 23:45:48, Alexey Dobriyan wrote:
> > > Use %lx, save a cast.
> > >
> > > "addr" is userspace address so using (and mangling) pointer was never
> > > necessary.
> >
> > There shouldn't be any mangling AFAIU. Documentation for pointer()
> > says
> >
> > * - 'x' For printing the address. Equivalent to "%lx".
>
> The implication of using %p/%px is that the address is kernel pointer
> which should or should not be mangled.
And px is not mangled AFAICS.
> But "map_addr" is not a kernel pointer.
Which should be irrelevant. It is a pointer and my understanding is that
%p$FOO should be used preferably for any pointers.
> And it saves a cast.
Is this really such an improvement? Why?
> > > --- a/fs/binfmt_elf.c
> > > +++ b/fs/binfmt_elf.c
> > > @@ -376,8 +376,8 @@ static unsigned long elf_map(struct file *filep, unsigned long addr,
> > > map_addr = vm_mmap(filep, addr, size, prot, type, off);
> > >
> > > if ((type & MAP_FIXED_NOREPLACE) && map_addr == -EEXIST)
> > > - pr_info("%d (%s): Uhuuh, elf segment at %px requested but the memory is mapped already\n",
> > > - task_pid_nr(current), current->comm, (void *)addr);
> > > + pr_info("%d (%s): Uhuuh, elf segment at %lx requested but the memory is mapped already\n",
> > > + task_pid_nr(current), current->comm, addr);
--
Michal Hocko
SUSE Labs
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-03-16 8:28 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-14 20:45 [PATCH 2/2] elf: print userspace address with %lx Alexey Dobriyan
2019-03-15 6:53 ` Michal Hocko
2019-03-15 16:06 ` Alexey Dobriyan
2019-03-16 8:28 ` Michal Hocko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).