CC: kbuild-...@lists.01.org
In-Reply-To: 
<161799186664.847742.14555840742293852768.st...@warthog.procyon.org.uk>
References: 
<161799186664.847742.14555840742293852768.st...@warthog.procyon.org.uk>
TO: David Howells <dhowe...@redhat.com>

Hi David,

[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on next-20210409]
[cannot apply to linus/master v5.12-rc6 v5.12-rc5 v5.12-rc4 v5.12-rc6]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/0day-ci/linux/commits/David-Howells/iov_iter-Remove-iov_iter_for_each_range/20210410-021151
base:    e99d8a8495175df8cb8b739f8cf9b0fc9d0cd3b5
:::::: branch date: 5 hours ago
:::::: commit date: 5 hours ago
config: microblaze-randconfig-s031-20210409 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 9.3.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-279-g6d5d9b42-dirty
        # 
https://github.com/0day-ci/linux/commit/3a86123438f2aac6764901c8462752f378c958c0
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
David-Howells/iov_iter-Remove-iov_iter_for_each_range/20210410-021151
        git checkout 3a86123438f2aac6764901c8462752f378c958c0
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=microblaze 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>


sparse warnings: (new ones prefixed by >>)
>> lib/iov_iter.c:1481:9: sparse: sparse: context imbalance in 
>> 'iov_iter_get_pages' - different lock contexts for basic block
>> lib/iov_iter.c:1607:9: sparse: sparse: context imbalance in 
>> 'iov_iter_get_pages_alloc' - different lock contexts for basic block
   lib/iov_iter.c: note: in included file:
   include/net/checksum.h:31:39: sparse: sparse: incorrect type in argument 3 
(different base types) @@     expected restricted __wsum [usertype] sum @@     
got unsigned int @@
   include/net/checksum.h:31:39: sparse:     expected restricted __wsum 
[usertype] sum
   include/net/checksum.h:31:39: sparse:     got unsigned int
   include/net/checksum.h:39:45: sparse: sparse: incorrect type in argument 3 
(different base types) @@     expected restricted __wsum [usertype] sum @@     
got unsigned int @@
   include/net/checksum.h:39:45: sparse:     expected restricted __wsum 
[usertype] sum
   include/net/checksum.h:39:45: sparse:     got unsigned int
>> lib/iov_iter.c:1818:5: sparse: sparse: context imbalance in 
>> 'iov_iter_npages' - different lock contexts for basic block

vim +/iov_iter_get_pages +1481 lib/iov_iter.c

788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1480  
62a8067a7f35db mm/iov_iter.c  Al Viro        2014-04-04 @1481  ssize_t 
iov_iter_get_pages(struct iov_iter *i,
2c80929c4c4d54 mm/iov_iter.c  Miklos Szeredi 2014-09-24  1482              
struct page **pages, size_t maxsize, unsigned maxpages,
62a8067a7f35db mm/iov_iter.c  Al Viro        2014-04-04  1483              
size_t *start)
62a8067a7f35db mm/iov_iter.c  Al Viro        2014-04-04  1484  {
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1485   if (maxsize > 
i->count)
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1486           maxsize 
= i->count;
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1487  
00e23707442a75 lib/iov_iter.c David Howells  2018-10-22  1488   if 
(unlikely(iov_iter_is_pipe(i)))
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1489           return 
pipe_get_pages(i, pages, maxsize, maxpages, start);
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1490   if 
(unlikely(iov_iter_is_xarray(i)))
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1491           return 
iter_xarray_get_pages(i, pages, maxsize, maxpages, start);
9ea9ce0427aab0 lib/iov_iter.c David Howells  2018-10-20  1492   if 
(unlikely(iov_iter_is_discard(i)))
9ea9ce0427aab0 lib/iov_iter.c David Howells  2018-10-20  1493           return 
-EFAULT;
9ea9ce0427aab0 lib/iov_iter.c David Howells  2018-10-20  1494  
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1495   
iterate_all_kinds(i, maxsize, v, ({
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1496           
unsigned long addr = (unsigned long)v.iov_base;
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1497           size_t 
len = v.iov_len + (*start = addr & (PAGE_SIZE - 1));
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1498           int n;
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1499           int res;
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1500  
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1501           if (len 
> maxpages * PAGE_SIZE)
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1502                   
len = maxpages * PAGE_SIZE;
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1503           addr &= 
~(PAGE_SIZE - 1);
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1504           n = 
DIV_ROUND_UP(len, PAGE_SIZE);
73b0140bf0fe9d lib/iov_iter.c Ira Weiny      2019-05-13  1505           res = 
get_user_pages_fast(addr, n,
73b0140bf0fe9d lib/iov_iter.c Ira Weiny      2019-05-13  1506                   
        iov_iter_rw(i) != WRITE ?  FOLL_WRITE : 0,
73b0140bf0fe9d lib/iov_iter.c Ira Weiny      2019-05-13  1507                   
        pages);
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1508           if 
(unlikely(res < 0))
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1509                   
return res;
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1510           return 
(res == n ? len : res * PAGE_SIZE) - *start;
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1511   0;}),({
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1512           /* 
can't be more than PAGE_SIZE */
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1513           *start 
= v.bv_offset;
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1514           
get_page(*pages = v.bv_page);
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1515           return 
v.bv_len;
a280455fa87053 mm/iov_iter.c  Al Viro        2014-11-27  1516   }),({
a280455fa87053 mm/iov_iter.c  Al Viro        2014-11-27  1517           return 
-EFAULT;
3a86123438f2aa lib/iov_iter.c David Howells  2021-04-09  1518   })
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1519   )
e5393fae3b49e8 mm/iov_iter.c  Al Viro        2014-11-27  1520   return 0;
62a8067a7f35db mm/iov_iter.c  Al Viro        2014-04-04  1521  }
62a8067a7f35db mm/iov_iter.c  Al Viro        2014-04-04  1522  
EXPORT_SYMBOL(iov_iter_get_pages);
62a8067a7f35db mm/iov_iter.c  Al Viro        2014-04-04  1523  
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1524  static struct 
page **get_pages_array(size_t n)
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1525  {
752ade68cbd81d lib/iov_iter.c Michal Hocko   2017-05-08  1526   return 
kvmalloc_array(n, sizeof(struct page *), GFP_KERNEL);
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1527  }
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1528  
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1529  static ssize_t 
pipe_get_pages_alloc(struct iov_iter *i,
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1530              
struct page ***pages, size_t maxsize,
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1531              
size_t *start)
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1532  {
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1533   struct page **p;
8cefc107ca54c8 lib/iov_iter.c David Howells  2019-11-15  1534   unsigned int 
iter_head, npages;
d7760d638b140d lib/iov_iter.c Ilya Dryomov   2018-05-02  1535   ssize_t n;
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1536  
33844e665104b1 lib/iov_iter.c Al Viro        2016-12-21  1537   if (!maxsize)
33844e665104b1 lib/iov_iter.c Al Viro        2016-12-21  1538           return 
0;
33844e665104b1 lib/iov_iter.c Al Viro        2016-12-21  1539  
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1540   if (!sanity(i))
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1541           return 
-EFAULT;
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1542  
8cefc107ca54c8 lib/iov_iter.c David Howells  2019-11-15  1543   data_start(i, 
&iter_head, start);
8cefc107ca54c8 lib/iov_iter.c David Howells  2019-11-15  1544   /* Amount of 
free space: some of this one + all after this one */
8cefc107ca54c8 lib/iov_iter.c David Howells  2019-11-15  1545   npages = 
pipe_space_for_user(iter_head, i->pipe->tail, i->pipe);
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1546   n = npages * 
PAGE_SIZE - *start;
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1547   if (maxsize > n)
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1548           maxsize 
= n;
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1549   else
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1550           npages 
= DIV_ROUND_UP(maxsize + *start, PAGE_SIZE);
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1551   p = 
get_pages_array(npages);
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1552   if (!p)
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1553           return 
-ENOMEM;
8cefc107ca54c8 lib/iov_iter.c David Howells  2019-11-15  1554   n = 
__pipe_get_pages(i, maxsize, p, iter_head, start);
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1555   if (n > 0)
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1556           *pages 
= p;
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1557   else
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1558           
kvfree(p);
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1559   return n;
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1560  }
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1561  
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1562  static ssize_t 
iter_xarray_get_pages_alloc(struct iov_iter *i,
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1563                   
                   struct page ***pages, size_t maxsize,
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1564                   
                   size_t *_start_offset)
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1565  {
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1566   struct page **p;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1567   unsigned nr, 
offset;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1568   pgoff_t index, 
count;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1569   size_t size = 
maxsize, actual;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1570   loff_t pos;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1571  
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1572   if (!size)
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1573           return 
0;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1574  
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1575   pos = 
i->xarray_start + i->iov_offset;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1576   index = pos >> 
PAGE_SHIFT;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1577   offset = pos & 
~PAGE_MASK;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1578   *_start_offset 
= offset;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1579  
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1580   count = 1;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1581   if (size > 
PAGE_SIZE - offset) {
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1582           size -= 
PAGE_SIZE - offset;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1583           count 
+= size >> PAGE_SHIFT;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1584           size &= 
~PAGE_MASK;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1585           if 
(size)
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1586                   
count++;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1587   }
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1588  
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1589   p = 
get_pages_array(count);
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1590   if (!p)
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1591           return 
-ENOMEM;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1592   *pages = p;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1593  
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1594   nr = 
iter_xarray_copy_pages(p, i->xarray, index, count);
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1595   if (nr == 0)
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1596           return 
0;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1597  
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1598   actual = 
PAGE_SIZE * nr;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1599   actual -= 
offset;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1600   if (nr == count 
&& size > 0) {
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1601           
unsigned last_offset = (nr > 1) ? 0 : offset;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1602           actual 
-= PAGE_SIZE - (last_offset + size);
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1603   }
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1604   return actual;
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1605  }
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1606  
62a8067a7f35db mm/iov_iter.c  Al Viro        2014-04-04 @1607  ssize_t 
iov_iter_get_pages_alloc(struct iov_iter *i,
62a8067a7f35db mm/iov_iter.c  Al Viro        2014-04-04  1608              
struct page ***pages, size_t maxsize,
62a8067a7f35db mm/iov_iter.c  Al Viro        2014-04-04  1609              
size_t *start)
62a8067a7f35db mm/iov_iter.c  Al Viro        2014-04-04  1610  {
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1611   struct page **p;
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1612  
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1613   if (maxsize > 
i->count)
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1614           maxsize 
= i->count;
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1615  
00e23707442a75 lib/iov_iter.c David Howells  2018-10-22  1616   if 
(unlikely(iov_iter_is_pipe(i)))
241699cd72a848 lib/iov_iter.c Al Viro        2016-09-22  1617           return 
pipe_get_pages_alloc(i, pages, maxsize, start);
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1618   if 
(unlikely(iov_iter_is_xarray(i)))
788abcfb66c10d lib/iov_iter.c David Howells  2020-02-10  1619           return 
iter_xarray_get_pages_alloc(i, pages, maxsize, start);
9ea9ce0427aab0 lib/iov_iter.c David Howells  2018-10-20  1620   if 
(unlikely(iov_iter_is_discard(i)))
9ea9ce0427aab0 lib/iov_iter.c David Howells  2018-10-20  1621           return 
-EFAULT;
9ea9ce0427aab0 lib/iov_iter.c David Howells  2018-10-20  1622  
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1623   
iterate_all_kinds(i, maxsize, v, ({
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1624           
unsigned long addr = (unsigned long)v.iov_base;
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1625           size_t 
len = v.iov_len + (*start = addr & (PAGE_SIZE - 1));
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1626           int n;
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1627           int res;
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1628  
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1629           addr &= 
~(PAGE_SIZE - 1);
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1630           n = 
DIV_ROUND_UP(len, PAGE_SIZE);
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1631           p = 
get_pages_array(n);
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1632           if (!p)
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1633                   
return -ENOMEM;
73b0140bf0fe9d lib/iov_iter.c Ira Weiny      2019-05-13  1634           res = 
get_user_pages_fast(addr, n,
73b0140bf0fe9d lib/iov_iter.c Ira Weiny      2019-05-13  1635                   
        iov_iter_rw(i) != WRITE ?  FOLL_WRITE : 0, p);
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1636           if 
(unlikely(res < 0)) {
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1637                   
kvfree(p);
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1638                   
return res;
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1639           }
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1640           *pages 
= p;
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1641           return 
(res == n ? len : res * PAGE_SIZE) - *start;
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1642   0;}),({
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1643           /* 
can't be more than PAGE_SIZE */
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1644           *start 
= v.bv_offset;
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1645           *pages 
= p = get_pages_array(1);
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1646           if (!p)
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1647                   
return -ENOMEM;
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1648           
get_page(*p = v.bv_page);
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1649           return 
v.bv_len;
a280455fa87053 mm/iov_iter.c  Al Viro        2014-11-27  1650   }),({
a280455fa87053 mm/iov_iter.c  Al Viro        2014-11-27  1651           return 
-EFAULT;
3a86123438f2aa lib/iov_iter.c David Howells  2021-04-09  1652   })
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1653   )
1b17f1f2e56a09 mm/iov_iter.c  Al Viro        2014-11-27  1654   return 0;
62a8067a7f35db mm/iov_iter.c  Al Viro        2014-04-04  1655  }
62a8067a7f35db mm/iov_iter.c  Al Viro        2014-04-04  1656  
EXPORT_SYMBOL(iov_iter_get_pages_alloc);
62a8067a7f35db mm/iov_iter.c  Al Viro        2014-04-04  1657  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to