Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201711010836.4ZY112Qv%fengguang.wu@intel.com>
Date: Wed, 1 Nov 2017 08:50:02 +0800
From: kbuild test robot <lkp@...el.com>
To: "Tobin C. Harding" <me@...in.cc>
Cc: kbuild-all@...org, kernel-hardening@...ts.openwall.com,
	"Tobin C. Harding" <me@...in.cc>,
	"Jason A. Donenfeld" <Jason@...c4.com>,
	Theodore Ts'o <tytso@....edu>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	Kees Cook <keescook@...omium.org>,
	Paolo Bonzini <pbonzini@...hat.com>,
	Tycho Andersen <tycho@...ker.com>,
	"Roberts, William C" <william.c.roberts@...el.com>,
	Tejun Heo <tj@...nel.org>,
	Jordan Glover <Golden_Miller83@...tonmail.ch>,
	Greg KH <gregkh@...uxfoundation.org>,
	Petr Mladek <pmladek@...e.com>, Joe Perches <joe@...ches.com>,
	Ian Campbell <ijc@...lion.org.uk>,
	Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
	Catalin Marinas <catalin.marinas@....com>,
	Will Deacon <wilal.deacon@....com>,
	Steven Rostedt <rostedt@...dmis.org>,
	Chris Fries <cfries@...gle.com>, Dave Weinstein <olorin@...gle.com>,
	Daniel Micay <danielmicay@...il.com>,
	Djalal Harouni <tixxdz@...il.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH V9] printk: hash addresses printed with %p

Hi Tobin,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.14-rc7 next-20171018]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Tobin-C-Harding/printk-hash-addresses-printed-with-p/20171101-080718
config: i386-tinyconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   lib/vsprintf.c: In function 'kernel_pointer':
>> lib/vsprintf.c:1359:10: error: 'kptr_restrict' undeclared (first use in this function)
     switch (kptr_restrict) {
             ^~~~~~~~~~~~~
   lib/vsprintf.c:1359:10: note: each undeclared identifier is reported only once for each function it appears in

vim +/kptr_restrict +1359 lib/vsprintf.c

  1347	
  1348	static noinline_for_stack
  1349	char *kernel_pointer(char *buf, char *end, const void *ptr,
  1350			     struct printf_spec spec)
  1351	{
  1352		spec.base = 16;
  1353		spec.flags |= SMALL;
  1354		if (spec.field_width == -1) {
  1355			spec.field_width = 2 * sizeof(void *);
  1356			spec.flags |= ZEROPAD;
  1357		}
  1358	
> 1359		switch (kptr_restrict) {
  1360		case 0:
  1361			/* Always print %pK values */
  1362			break;
  1363		case 1: {
  1364			const struct cred *cred;
  1365	
  1366			/*
  1367			 * kptr_restrict==1 cannot be used in IRQ context
  1368			 * because its test for CAP_SYSLOG would be meaningless.
  1369			 */
  1370			if (in_irq() || in_serving_softirq() || in_nmi())
  1371				return string(buf, end, "pK-error", spec);
  1372	
  1373			/*
  1374			 * Only print the real pointer value if the current
  1375			 * process has CAP_SYSLOG and is running with the
  1376			 * same credentials it started with. This is because
  1377			 * access to files is checked at open() time, but %pK
  1378			 * checks permission at read() time. We don't want to
  1379			 * leak pointer values if a binary opens a file using
  1380			 * %pK and then elevates privileges before reading it.
  1381			 */
  1382			cred = current_cred();
  1383			if (!has_capability_noaudit(current, CAP_SYSLOG) ||
  1384			    !uid_eq(cred->euid, cred->uid) ||
  1385			    !gid_eq(cred->egid, cred->gid))
  1386				ptr = NULL;
  1387			break;
  1388		}
  1389		case 2:
  1390		default:
  1391			/* Always print 0's for %pK */
  1392			ptr = NULL;
  1393			break;
  1394		}
  1395	
  1396		return number(buf, end, (unsigned long)ptr, spec);
  1397	}
  1398	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (6685 bytes)

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.