* Security: Replace dac_mmap_min_addr to mmap_min_addr in cap_file_mmap()
@ 2010-04-14 2:48 wzt.wzt
2010-04-14 3:02 ` Eric Paris
0 siblings, 1 reply; 4+ messages in thread
From: wzt.wzt @ 2010-04-14 2:48 UTC (permalink / raw)
To: linux-kernel; +Cc: linux-security-module, jmorris
cap_file_mmap() comments said "If the process is attempting to map
memory below mmap_min_addr", if CONFIG_LSM_MMAP_MIN_ADDR is set,
dac_mmap_min_addr is not equal mmap_min_addr, so replace dac_mmap_min_addr
to mmap_min_addr seems to be better.
Signed-off-by: Zhitong Wang <zhitong.wangzt@alibaba-inc.com>
---
include/linux/security.h | 1 +
security/commoncap.c | 2 +-
2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/include/linux/security.h b/include/linux/security.h
index 233d20b..61fd9e7 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
@@ -101,6 +101,7 @@ void reset_security_ops(void);
extern unsigned long mmap_min_addr;
extern unsigned long dac_mmap_min_addr;
#else
+#define mmap_min_addr 0UL
#define dac_mmap_min_addr 0UL
#endif
diff --git a/security/commoncap.c b/security/commoncap.c
index 6166973..878cf89 100644
--- a/security/commoncap.c
+++ b/security/commoncap.c
@@ -942,7 +942,7 @@ int cap_file_mmap(struct file *file, unsigned long reqprot,
{
int ret = 0;
- if (addr < dac_mmap_min_addr) {
+ if (addr < mmap_min_addr) {
ret = cap_capable(current, current_cred(), CAP_SYS_RAWIO,
SECURITY_CAP_AUDIT);
/* set PF_SUPERPRIV if it turns out we allow the low mmap */
--
1.6.5.3
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Security: Replace dac_mmap_min_addr to mmap_min_addr in cap_file_mmap()
2010-04-14 2:48 Security: Replace dac_mmap_min_addr to mmap_min_addr in cap_file_mmap() wzt.wzt
@ 2010-04-14 3:02 ` Eric Paris
2010-04-14 5:50 ` wzt wzt
0 siblings, 1 reply; 4+ messages in thread
From: Eric Paris @ 2010-04-14 3:02 UTC (permalink / raw)
To: wzt.wzt; +Cc: linux-kernel, linux-security-module, jmorris
NAK NAK NAK
go back and reread the whole purpose for the separation.
-Eric
On Tue, Apr 13, 2010 at 10:48 PM, <wzt.wzt@gmail.com> wrote:
> cap_file_mmap() comments said "If the process is attempting to map
> memory below mmap_min_addr", if CONFIG_LSM_MMAP_MIN_ADDR is set,
> dac_mmap_min_addr is not equal mmap_min_addr, so replace dac_mmap_min_addr
> to mmap_min_addr seems to be better.
>
> Signed-off-by: Zhitong Wang <zhitong.wangzt@alibaba-inc.com>
>
> ---
> include/linux/security.h | 1 +
> security/commoncap.c | 2 +-
> 2 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/include/linux/security.h b/include/linux/security.h
> index 233d20b..61fd9e7 100644
> --- a/include/linux/security.h
> +++ b/include/linux/security.h
> @@ -101,6 +101,7 @@ void reset_security_ops(void);
> extern unsigned long mmap_min_addr;
> extern unsigned long dac_mmap_min_addr;
> #else
> +#define mmap_min_addr 0UL
> #define dac_mmap_min_addr 0UL
> #endif
>
> diff --git a/security/commoncap.c b/security/commoncap.c
> index 6166973..878cf89 100644
> --- a/security/commoncap.c
> +++ b/security/commoncap.c
> @@ -942,7 +942,7 @@ int cap_file_mmap(struct file *file, unsigned long reqprot,
> {
> int ret = 0;
>
> - if (addr < dac_mmap_min_addr) {
> + if (addr < mmap_min_addr) {
> ret = cap_capable(current, current_cred(), CAP_SYS_RAWIO,
> SECURITY_CAP_AUDIT);
> /* set PF_SUPERPRIV if it turns out we allow the low mmap */
> --
> 1.6.5.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Security: Replace dac_mmap_min_addr to mmap_min_addr in cap_file_mmap()
2010-04-14 3:02 ` Eric Paris
@ 2010-04-14 5:50 ` wzt wzt
2010-04-14 7:35 ` Amerigo Wang
0 siblings, 1 reply; 4+ messages in thread
From: wzt wzt @ 2010-04-14 5:50 UTC (permalink / raw)
To: Eric Paris; +Cc: linux-kernel, linux-security-module, jmorris
still not understand, if CONFIG_LSM_MMAP_MIN_ADDR is not set,
mmap_min_addr is equal dac_mmap_min_addr, right?
if not, mmap_min_addr is set as CONFIG_LSM_MMAP_MIN_ADDR. what's the
effect of mmap_min_addr? except round_hint_to_min() will use
mmap_min_addr, any other functions will call it?
Anyway, the comments need change mmap_min_addr as dac_mmap_min_addr,
right? If i'm wrong, please point it, thanks.
/*
* If the process is attempting to map memory below mmap_min_addr they need |{
* CAP_SYS_RAWIO.
*/
On Wed, Apr 14, 2010 at 11:02 AM, Eric Paris <eparis@parisplace.org> wrote:
> NAK NAK NAK
>
> go back and reread the whole purpose for the separation.
>
> -Eric
>
> On Tue, Apr 13, 2010 at 10:48 PM, <wzt.wzt@gmail.com> wrote:
>> cap_file_mmap() comments said "If the process is attempting to map
>> memory below mmap_min_addr", if CONFIG_LSM_MMAP_MIN_ADDR is set,
>> dac_mmap_min_addr is not equal mmap_min_addr, so replace dac_mmap_min_addr
>> to mmap_min_addr seems to be better.
>>
>> Signed-off-by: Zhitong Wang <zhitong.wangzt@alibaba-inc.com>
>>
>> ---
>> include/linux/security.h | 1 +
>> security/commoncap.c | 2 +-
>> 2 files changed, 2 insertions(+), 1 deletions(-)
>>
>> diff --git a/include/linux/security.h b/include/linux/security.h
>> index 233d20b..61fd9e7 100644
>> --- a/include/linux/security.h
>> +++ b/include/linux/security.h
>> @@ -101,6 +101,7 @@ void reset_security_ops(void);
>> extern unsigned long mmap_min_addr;
>> extern unsigned long dac_mmap_min_addr;
>> #else
>> +#define mmap_min_addr 0UL
>> #define dac_mmap_min_addr 0UL
>> #endif
>>
>> diff --git a/security/commoncap.c b/security/commoncap.c
>> index 6166973..878cf89 100644
>> --- a/security/commoncap.c
>> +++ b/security/commoncap.c
>> @@ -942,7 +942,7 @@ int cap_file_mmap(struct file *file, unsigned long reqprot,
>> {
>> int ret = 0;
>>
>> - if (addr < dac_mmap_min_addr) {
>> + if (addr < mmap_min_addr) {
>> ret = cap_capable(current, current_cred(), CAP_SYS_RAWIO,
>> SECURITY_CAP_AUDIT);
>> /* set PF_SUPERPRIV if it turns out we allow the low mmap */
>> --
>> 1.6.5.3
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Security: Replace dac_mmap_min_addr to mmap_min_addr in cap_file_mmap()
2010-04-14 5:50 ` wzt wzt
@ 2010-04-14 7:35 ` Amerigo Wang
0 siblings, 0 replies; 4+ messages in thread
From: Amerigo Wang @ 2010-04-14 7:35 UTC (permalink / raw)
To: wzt wzt; +Cc: Eric Paris, linux-kernel, linux-security-module, jmorris
On Wed, Apr 14, 2010 at 01:50:40PM +0800, wzt wzt wrote:
>still not understand, if CONFIG_LSM_MMAP_MIN_ADDR is not set,
>mmap_min_addr is equal dac_mmap_min_addr, right?
>if not, mmap_min_addr is set as CONFIG_LSM_MMAP_MIN_ADDR. what's the
>effect of mmap_min_addr? except round_hint_to_min() will use
>mmap_min_addr, any other functions will call it?
round_hint_to_min() will be called by mmap().
As the names tell you, mmap_min_addr will be checked by mmap(),
dac_mmap_min_addr will be checked for CAP_SYS_RAWIO.
Please check commit 788084ab, as Eric suggested.
>Anyway, the comments need change mmap_min_addr as dac_mmap_min_addr,
>right? If i'm wrong, please point it, thanks.
>/*
> * If the process is attempting to map memory below mmap_min_addr they need |{
> * CAP_SYS_RAWIO.
> */
>
Yes, I think the comment needs to be fixed.
Thanks.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-04-14 7:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-04-14 2:48 Security: Replace dac_mmap_min_addr to mmap_min_addr in cap_file_mmap() wzt.wzt
2010-04-14 3:02 ` Eric Paris
2010-04-14 5:50 ` wzt wzt
2010-04-14 7:35 ` Amerigo Wang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®