From owner-svn-src-all@freebsd.org Sun Mar 15 00:49:08 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C47FA268C7A; Sun, 15 Mar 2020 00:49:08 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48g15v1Wbnz4KWM; Sun, 15 Mar 2020 00:49:07 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EA4F62776F; Sun, 15 Mar 2020 00:49:06 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02F0n6d6076617; Sun, 15 Mar 2020 00:49:06 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02F0n67t076614; Sun, 15 Mar 2020 00:49:06 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <202003150049.02F0n67t076614@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Sun, 15 Mar 2020 00:49:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359005 - head/usr.bin/calendar/calendars X-SVN-Group: head X-SVN-Commit-Author: pfg X-SVN-Commit-Paths: head/usr.bin/calendar/calendars X-SVN-Commit-Revision: 359005 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2020 00:49:08 -0000 Author: pfg Date: Sun Mar 15 00:49:06 2020 New Revision: 359005 URL: https://svnweb.freebsd.org/changeset/base/359005 Log: calendar(1): Updates and corrections for some calendar files. These have an educational value and are, no doubt, an integral part of the fun behind running the BSDs. PR: 242909, 242918 MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D23581 Modified: head/usr.bin/calendar/calendars/calendar.birthday head/usr.bin/calendar/calendars/calendar.history head/usr.bin/calendar/calendars/calendar.music Modified: head/usr.bin/calendar/calendars/calendar.birthday ============================================================================== --- head/usr.bin/calendar/calendars/calendar.birthday Sat Mar 14 22:07:11 2020 (r359004) +++ head/usr.bin/calendar/calendars/calendar.birthday Sun Mar 15 00:49:06 2020 (r359005) @@ -5,7 +5,7 @@ */ #ifndef _calendar_birthday_ -#define _calendar_birthday_ +#define _calendar_birthday_ #undef unix 01/01 J.D. Salinger born, 1919 @@ -15,22 +15,26 @@ 01/04 Jakob Grimm born, 1785 01/04 Wilhelm Beer born, 1797, first astronomer to map Mars 01/05 DeWitt B. Brace born, 1859, inventor of spectrophotometer +01/06 Millard Fillmore's birthday (let's party!) +01/07 Nikola Tesla died in the Hotel New Yorker room 3327, 1943 01/10 Ethan Allen born, 1738 01/11 Alexander Hamilton born in Nevis, British West Indies, 1757? 01/12 "Long" John Baldry is born in London, 1941 -01/13 Horatio Alger born, 1834 +01/13 Horatio Alger born, 1832 01/13 Sophie Tucker born, 1884 01/13 Wilhelm Wien born, 1864, Nobel prize for blackbody radiation laws 01/14 Albert Schweitzer born, 1875 -01/15 Martin Luther King, Jr. born +01/15 Martin Luther King, Jr. born, 1929 01/17 Benjamin Franklin born in Boston, 1706 01/19 Edgar Allan Poe born in Boston, 1809 01/19 Robert Edward Lee born in Stratford Estate, Virginia, 1807 -01/20 George Burns born, 1898 +01/20 George Burns born, 1896 +01/20 Dr. Mendeleev died with a pen in his hand, 1907 01/21 Lenin died, 1924 01/21 Thomas Jonathan "Stonewall" Jackson born in Clarksburg, VA, 1824 01/22 Sir Francis Bacon born, 1561 01/23 Ernst Abbe born, 1840, formulated diffraction theory +01/23 Grigori Yefimovich Rasputin born, 1869 01/23 Humphrey Bogart born in New York City, 1899 01/23 John Hancock born, 1737 01/23 Joseph Hewes born, 1730 @@ -48,26 +52,28 @@ 02/06 King George VI of UK dies; his daughter becomes Elizabeth II, 1952 02/07 Sinclair Lewis born, 1885 02/08 Friedleib F. Runge born, 1795, father of paper chromatography +02/08 John von Neumann died, 1957 02/08 Jules Verne born in Nantes, France, 1828 02/09 George Hartmann born, 1489, designed astrolabes, timepieces, etc. 02/10 Charles Lamb born, 1775 02/10 William Allen White born, 1868 -02/11 Thos. Edison born, 1847 +02/11 Thomas Edison born, 1847 02/11 William Henry Fox Talbot (photographic pioneer) born, 1800 02/12 Abraham Lincoln born, 1809 02/12 Charles Darwin born in Shrewsbury, England, 1809 02/15 Galileo Galilei born in Pisa, Italy, 1564 02/15 Susan B. Anthony born, 1820 02/16 Pierre Bouguer born, 1698, founder of photometry -02/17 Federick Eugene Ives born, 1856, pioneer of halftone +02/17 Frederic Eugene Ives born, 1856, pioneer of halftone 02/17 Marion Anderson born, 1902 02/17 T. J. Watson, Sr. born, 1874 02/18 Ernst Mach born, 1838, philosopher & optics pioneer +02/18 Michelangelo Buonarroti dies in Rome, Italy, 1564 02/19 Nicolas Copernicus born in Thorn, Poland, 1473 -02/20 Ludwig Boltzmann born, 1838, atomic physics pioneer +02/20 Ludwig Boltzmann born, 1844, atomic physics pioneer 02/21 Alexis De Rochon born, 1838, developed the spyglass 02/22 George Washington born, 1732 -02/22 Pierre Jules Cesar Janssen born, 1838, found hydrogen in the sun +02/22 Pierre Jules Cesar Janssen born, 1824, found hydrogen in the sun 02/23 W.E.B. DuBois born, 1868 02/24 Winslow Homer born, 1836 02/24 Steve Jobs born, 1955 @@ -81,30 +87,41 @@ 03/02 Dr. Seuss born, 1904 03/04 Casimir Pulaski born, 1747 03/05 John Belushi dies in Los Angeles, 1982 +03/05 Joseph Stalin died in Moscow, 1953 +03/06 Michelangelo Buonarroti born in Caprese, Italy, 1475 +03/07 Aristotle died, 322BC 03/07 Sir John Frederick William Herschel born, 1792, astronomer 03/08 Alvan Clark born, 1804, astronomer & lens manufacturer 03/08 Howard Aiken born, 1900 03/11 Robert Treat Paine born, 1737 03/11 Vannevar Bush born, 1890 +03/11 Douglas Adams born in Cambridge, England, 1952 03/12 Gustav Robert Kirchhoff born, 1824, physicist +03/12 Terry Pratchett (Sir) dies, 2015, author 03/14 Albert Einstein born, 1879 03/14 Casey Jones born, 1864 03/14 Giovanni Virginia Schiaparelli born, 1835, astronomer; named Mars "canals" 03/14 Jean Baptiste Joseph Fourier born, 1768, mathematician & physicist +03/14 Karl Marx died, 1883 03/15 Andrew "Old Hickory" Jackson, 7th President of the United States, born in Waxhaw, South Carolina, 1767 03/15 J.J. Robert's Birthday in Liberia 03/16 George Clymer born, 1739 03/16 James Madison, 4th President of the United States, born in King George County, Virginia, 1751 +03/19 Arthur C. Clarke died in Colombo, Sri Lanka, 2008 03/21 NetBSD project born, 1993 +03/23 Pierre Simon de Laplace born, 1749, mathematician & astronomer 03/24 Harry Houdini born, 1874 03/26 Benjamin Thompson born, 1753, Count Rumford; physicist 03/26 David Packard died, 1996; age of 83 +03/27 Maurits Cornelis Escher died, 1972 +03/27 Stanislaw Lem died, 2006 03/27 Wilhelm Conrad Roentgen born, 1845, discoverer of X-rays 03/28 Pierre Simon de Laplace born, 1749, mathematician & astronomer 03/30 Francisco Jose de Goya born, 1746 +03/30 Queen Elizabeth, the Queen Mother, died at the age of 101, 2002 03/30 Sean O'Casey born, 1880 03/30 Vincent Van Gogh born, 1853 03/31 Rene Descartes born, 1596, mathematician & philosopher @@ -123,11 +140,17 @@ 04/14 Christiaan Huygens born, 1629, physicist & astronomer; discovered Saturn's rings 04/15 Leonardo da Vinci born, 1452 +04/15 Leonhard Euler born in Basel, 1707 04/16 Charles (Charlie) Chaplin (Sir) born in London, 1889 +04/20 Adolf Hitler born, 1889 04/22 Kant born, 1724 +04/22 Lenin born, the best friend of all the children, 1870 +04/23 William Shakespeare died, 1616 +04/26 William Shakespeare baptised, 1564 04/27 Louis Victor de Broglie born, 1774, physicist 04/28 James Monroe, 5th President of the United States, born in Westmoreland County, Viriginia, 1758 +04/28 Terry Pratchett (Sir) born, 1948, author 04/29 Jules Henri Poincare born, 1854, founder of topology 04/29 William Randolph Hearst born in San Francisco, 1863 04/30 Karl Friedrich Gauss born, 1777, mathematician & astronomer @@ -136,6 +159,7 @@ 05/02 Dr. Benjamin Spock born, 1903 05/04 Alice Liddell born, 1852, Alice's Adventures in Wonderland & Through the Looking-Glass +05/05 Karl Marx born, 1818 05/09 Pinza died, 1957 05/10 Fred Astaire (Frederick Austerlitz) born in Omaha, Nebraska, 1899 05/11 Johnny Appleseed born, 1768 @@ -153,7 +177,7 @@ 05/29 Patrick Henry born, 1736 05/30 Mel (Melvin Jerome) Blanc born in San Francisco, 1908 06/01 Brigham Young born, 1801 -06/01 Marilyn Monroe born, 1928 +06/01 Marilyn Monroe born, 1926 06/02 Edward Elgar (Sir) born in Worcester, England, 1857 06/03 Henry James born, 1811 06/07 (Eugene Henri) Paul Gaugin born, 1848 @@ -167,7 +191,7 @@ 06/19 FreeBSD project born, 1993 06/22 Carl Hubbell born, 1903 06/22 Meryl Streep born in Summit, New Jersey, 1949 -06/22 Konrad Zuse born in Berlin, 1919 +06/22 Konrad Zuse born in Berlin, 1910 06/23 Alan Mathison Turing born, 1912 06/25 Eric Arthur Blair (a.k.a. George Orwell) born, 1903 06/27 Helen Keller born, 1880 @@ -179,24 +203,30 @@ 07/07 P.T. Barnum dies, 1891 07/08 Count Ferdinand von Zeppelin born, 1838 07/10 John Calvin born, 1509 +07/10 Nikola Tesla born, 1856 07/11 John Quincy Adams, 6th President of the United States, born in Braintree, Massachusetts, 1767 07/12 Henry David Thoreau born, 1817 07/15 Clement Clarke Moore born, 1779, author of "A Visit from Saint Nicholas" 07/18 Brian Auger is born in London, 1939 +07/20 Alexander the Great born, 356 BC +07/20 Bruce Lee died in Hong Kong, 1973 +07/25 Robert Morris is born in Boston, 1932 07/25 Steve Goodman is born in Chicago, 1948 07/29 Mussolini born, 1883 07/30 Emily Bronte born, 1818 07/30 Henry Ford born, 1863 08/01 Herman Melville born, 1819 08/03 Lenny Bruce dies of a morphine overdose, 1966 +08/05 Friedrich Engels died, 1895 +08/06 Edsger Wybe Dijkstra died after a long struggle with cancer, 2002 08/06 Jonathan B. Postel is born in Altadena, California, 1943 08/08 Dustin Hoffman born in Los Angeles, 1937 08/12 Thomas Mann's Death, 1955 08/13 Alfred Hitchcock born, 1899 08/13 Annie Oakley born, 1860 -08/13 Fidel Castro born, 1927 +08/13 Fidel Castro born, 1926 08/17 Mae West born, 1892 08/18 Meriwether Lewis born, 1774 08/20 Leon Trotsky assassinated, 1940 @@ -207,6 +237,7 @@ 08/27 Lyndon B. Johnson born, 1908 08/29 Oliver Wendell Holmes born, 1809, physician & father of the jurist 08/30 John W. Mauchly born, 1907 +09/02 J.R.R. Tolkien died, 1973 09/05 King Louis XIV of France born, 1638 09/05 Raquel Welch born, 1942 09/06 Word is received that Perry has reached the North Pole and died, 1909 @@ -217,11 +248,17 @@ 09/09 Chinese Communist Party Chairman Mao Tse-Tung dies at age 82, 1976 09/09 Dennis MacAlistair Ritchie, creator of C, born, 1941 09/12 Jesse Owens born, 1913 +09/12 Stanislaw Lem born in Lwow, Poland, 1921 09/13 Walter Reed born, 1851 09/15 Agatha Christie born in Torquay, England, 1890 09/16 Allen Funt born in Brooklyn, NY, 1914 +09/17 Ken Kesey born in La Junta, CO, 1935 +09/18 Konstantin Eduardovich Tsiolkovsky born, 1857, father of rocket flight 09/18 Greta Garbo born, 1905 09/18 Jimi Hendrix dies from an overdose, 1970 +09/18 Leonhard Euler died in St. Petersburg, 1783 +09/19 President Garfield dies of wounds in Elberon, N.J., 1881 +09/19 Konstantin Eduardovich Tsiolkovsky died, Russian SFSR, 1935 09/20 Upton (Beall) Sinclair born, 1878 09/21 H.G. (Herbert George) Wells born in Bromley, England, 1866 09/21 Louis Joliet born, 1645 @@ -264,12 +301,14 @@ Massachusetts 1735. 10/31 Chiang Kai-Shek born, 1887 10/31 Dale Evans born, 1912 +11/01 Joseph Stalin's burial, 1961 11/02 Daniel Boone born near Reading, PA, 1734 11/04 King William III of Orange born, 1650 11/05 Roy Rogers born, 1912 11/09 Carl Sagan born, 1934 11/10 Martin Luther born in Eisleben, Germany, 1483 11/10 Soviet President Leonid Brezhnev dies at age 75, 1982 +11/11 Fyodor Mikhailovich Dostoevsky born in Moscow, Russia, 1821 11/11 Kurt Vonnegut, Jr, born in Indianapolis, 1922 11/13 Robert Louis Stevenson born, 1850 11/13 St. Augustine of Hippo born in Numidia, Algeria, 354 @@ -278,9 +317,12 @@ 11/20 Robert Francis Kennedy (RFK) born in Boston, Massachusetts, 1925 11/26 Charles Schulz born in Minneapolis, 1922 11/26 Norbert Wiener born in Columbia, Missouri, 1894 +11/27 Bruce Lee born in San Francisco, 1940 +11/28 Friedrich Engels born, 1820 +11/28 Joe Ossanna died, 1977 11/29 John Mayall is born in Cheshire, England, 1933 11/30 Cleopatra died, 30 BC -11/30 Mark Twain (Samuel Clemmens) born in Florida, Missouri, 1835 +11/30 Mark Twain (Samuel Clemens) born in Florida, Missouri, 1835 12/01 Woody Allen (Allen Stuart Konigsberg) born in Brooklyn, NY, 1935 12/04 Tommy Bolin dies of a heroin overdose in Miami, 1976 12/05 Martin Van Buren, 8th President of the United States, born in @@ -288,17 +330,21 @@ 12/05 Walt (Walter Elias) Disney born in Chicago, 1901 12/08 Horace (Quintus Horatius Flaccus) born in Venosa (Italy), 65BC 12/08 James (Grover) Thurber born in Columbus, Ohio, 1894 -12/10 Emily Dickenson born, 1830 +12/10 Emily Dickinson born, 1830 12/12 E.G. Robinson born, 1893 12/14 George Washington dies, 1799 +12/16 Arthur C. Clarke born in Somerset, England, 1917 12/17 William Safire (Safir) born, 1929 12/18 Konrad Zuse died in Hünfeld, 1995 12/20 Carl Sagan died, 1996 12/21 Benjamin Disraeli born, 1804 12/22 Giacomo Puccini born, 1858 +12/22 Joseph Vissarionnovich Djugashvili (Stalin) born, 1879 +12/22 Samuel Beckett dies in Paris, 1989 12/23 Joseph Smith born, 1805 12/25 Isaac Newton (Sir) born in Grantham, England, 1642 12/26 Chas. Babbage born, 1791 12/28 John von Neumann born, 1903 +12/29 Grigori Yefimovich Rasputin assasinated, 1916 #endif /* !_calendar_birthday_ */ Modified: head/usr.bin/calendar/calendars/calendar.history ============================================================================== --- head/usr.bin/calendar/calendars/calendar.history Sat Mar 14 22:07:11 2020 (r359004) +++ head/usr.bin/calendar/calendars/calendar.history Sun Mar 15 00:49:06 2020 (r359005) @@ -5,18 +5,27 @@ */ #ifndef _calendar_history_ -#define _calendar_history_ +#define _calendar_history_ 01/01 Anniversary of the Triumph of the Revolution in Cuba 01/01 Castro expels Cuban President Batista, 1959 01/01 Churchill delivers his "Iron Curtain" speech, 1947 01/01 First Rose Bowl; Michigan 49 - Stanford 0, 1902 +01/02 Canada and the United States agree on a plan to preserve + Niagara Falls, 1929 +01/03 Benito Mussolini announces he is taking dictatorial powers + over Italy, 1925 +01/03 Margaret Thatcher becomes the longest-serving British + Prime Minister in the 20th Century, 1988 +01/04 Burma becomes independent from United Kingdom, 1948 01/04 Quadrantid meteor shower (look north) 01/05 -50 degrees F, Strawberry UT, 1913 01/05 The FCC hears the first demonstration of FM radio, 1940 01/05 Twelfth night -01/06 Millard Fillmore's birthday (let's party!) +01/06 Maria Montessori opens her first school in Rome, 1907 +01/07 First transatlantic telephone call, 1927 01/08 Battle of New Orleans +01/08 Monaco gains its independence, 1297 01/09 Plough Monday 01/10 First meeting of United Nations General Assembly in London, 1946 01/10 Thomas Paine's Common Sense published, 1776 @@ -26,12 +35,28 @@ 01/11 Prithvi Jayanti in Nepal 01/11 Surgeon General condemned cigarettes, 1964 01/11 The Whiskey-A-Go-Go opens on Sunset Boulevard in Los Angeles, 1963 +01/12 Batman the TV series debuts on ABC, 1966 +01/13 Mickey Mouse comic strip makes its first appearance, 1930 01/14 The first "Be-In" is held in Golden Gate Park, 1967 +01/15 Angola becomes an independent state, 1975 01/16 Prohibition begins, 1920 +01/16 The Medici family are made official bankers of the Papacy, 1412 +01/17 Captain James Cook becomes the first explorer to cross the + Antarctic Circle, 1773 01/18 Grey whale migration, California +01/18 The X-ray machine is exhibited for the first time, 1896 +01/19 The last Volkswagen Beetle made in Germany leaves VW's plant, 1978 01/20 St. Agnes Eve (Ah, bitter chill it was...) +01/21 First commercial flight with a Concorde, 1976 +01/22 British colonists reach New Zealand, 1840 +01/23 The Royal Exchange opens in London, 1571 +01/23 The Union of Utrecht forms a Protestant republic in + the Netherlands, 1579 01/24 Eskimo Pie patented by Christian Nelson, 1922 01/24 Gold discovered in California at Sutter's Mill, 1848 +01/24 Robert Baden-Powell begins the Boy Scout movement, 1908 +01/25 The British Parliament passes the Constitutional Act of 1791 and splits + the old province of Quebec into Upper and Lower Canada, 1791 01/26 Sydney, New South Wales settled, 1788 01/27 Grissom, White and Chaffe burned to death in Apollo 1, 1967 01/27 Vietnam War cease-fire signed, 1973 @@ -39,111 +64,207 @@ 01/28 Space Shuttle Challenger (51-L) explodes 74 seconds after liftoff killing Scobee, Smith, McNair, Resnick, Jarvis, Onizuka and McAuliffe, 1986 +01/28 The first locomotive runs from the Atlantic to the Pacific on the + Panama Railway, 1855 +01/29 Liliuokalani is proclaimed Queen of Hawaii, the last monarch of + Hawaii, 1891 01/30 Mohandas Gandhi assassinated in New Delhi by Hindu fanatic, 1948 01/30 Tet Offensive, 1968 01/31 "Ham" the chimpanzee soars into space aboard Mercury-Redstone 2, 1961 +01/31 Dmitry Mendeleev established optimal alcohol-water mixture ratio + in his PhD work on alcohol-water mixtures, 1865 01/31 Explorer I launched, 1958. Van Allen Belt discovered -01/31 Irving Langmuir, 1881, invented tungsten filament lamp +01/31 Irving Langmuir invented tungsten filament lamp, 1881 02/01 First TV soap: Secret Storm, 1954 02/01 Forces led by Khomeini take over Iran, 1979 02/01 Space Shuttle Columbia (STS-107) disintegrates 15 minutes before landing killing Husband, McCool, Chawla, Clark, Ramon, Brown, and Anderson, 2003 +02/02 Adolf Hitler dissolves the German Parliament, 1933 +02/03 The first commercial cheese factory is founded in Switzerland, 1815 02/04 Cybernet inaugurated, 1969 02/04 Patricia Hearst kidnapped by Symbionese Liberation Army, 1974 +02/05 Gamel Abdel Nasser is nominated to be the first president of + the United Arab Republic, 1958 +02/06 Signing of the Treaty of Waitangi, founding document of New Zealand, 1840 +02/07 The British Labour Party is formed, 1900 02/08 1963 Revolution Anniversary in Iraq 02/09 -51 degrees F, Vanderbilt MI, 1934 -02/12 US President Abraham Lincoln's real birthday +02/09 Gregory XV becomes Pope, the last Pope elected by acclamation, 1621 +02/10 New Delhi becomes the capital of India, 1931 +02/11 Norway's independence is proclaimed, marking the ultimate end of + the Kalmar Union, 1814 +02/12 China adopts the Gregorian calendar, 1912 02/12 Santa Barbara oil leak, 1969 +02/13 France tests its first atomic bomb in Algeria, 1960 02/14 Bombing of Dresden, 1945 02/15 Chicago Seven convicted, 1970 02/16 Nylon patented, 1937 02/16 Stephen Decatur burns US frigate in Tripoli, 1804 +02/17 The first ship passes through the Suez Canal, 1867 +02/18 Joseph Goebbels delivers the Sportpalast speech, 1943 02/18 Pluto discovered by Clyde Tombaugh, Lowell Observatory, AZ, 1930 +02/19 Serfdom is abolished in Russia, 1861 02/19 US Marines land on Iwo Jima, 1945 +02/20 FBI agent Robert Hanssen is arrested and charged with spying for Russia + for 15 years, 2001 02/20 John Glenn orbits the Earth 3 times, 1962 02/21 Battle of Verdun begins, 1916 1M casualties 02/21 First telephone directory, New Haven, Connecticut, 1878 02/21 Malcom X shot to death in Harlem, 1965 +02/22 Start of the Czechoslovak Revolution, 1948 02/23 Lt. Calley confesses, implicates Cpt. Medina, 1971 02/24 Impeachment proceedings against Andrew Johnson begin, 1868 +02/25 The Democratic Republic of Georgia occupied by Bolshevist Russia, 1921 +02/26 Final radio broadcast of Dragnet, 1957 +02/27 The Lionheart crowned, 1189 02/28 The "French Connection" drug bust occurs in Marseilles, 1972 02/29 French and Indian raid on Deerfield MA, 1704 03/01 Sarah Goode, Sarah Osborne, and Tituba arrested for witchcraft in Salem, Massachusetts, 1692 +03/01 The city of Rio de Janeiro is founded, 1565 03/02 Blackthorn winds (New England) -03/04 First meeting of Congress, 1789, in N.Y.C. +03/02 Ho Chi Minh is elected the President of North Vietnam, 1946 +03/03 Bulgaria regains its independence from Ottoman Empire, 1878 +03/04 Emile Berliner invents the microphone, 1877 +03/04 First meeting of Congress in N.Y.C., 1789 +03/05 Samuel Colt makes the first production-model revolver, 1836 +03/06 The aspirin is registered as a trademark of Bayer, 1899 +03/07 Mass protest outside the National Assembly of Kuwait building for + women's voting rights in Kuwait, 2005 +03/08 The first case of Spanish flu occurs, killing 50 million to 100 million + people worldwide, 1918 +03/09 The Barbie doll debuts, 1959 +03/10 Republic of Cote d'Ivoire becomes a colony of France, 1893 +03/11 Ceasefire declared in the war between Iran and Irak, 1988 +03/12 The first bottles of Coca Cola were sold, 1894 03/13 "Striptease" introduced, Paris, 1894 03/14 Teddy Roosevelt excludes Japanese laborers from continental US, 1907 -03/15 Day of the 1848 revolution in Hungary +03/14 The kingdom of Cyprus is sold by the ruling Queen to Venice, 1489 03/15 Buzzards return to Hinckley OH +03/15 Day of the 1848 revolution in Hungary 03/15 France assumes protectorate over Vietnam, 1874 03/15 Watts, Los Angeles, riots kill two, injure 25, 1966 03/15 Ides of March. Gaius Julius Caesar assassinated by senators, including adoptive son Marcus Junius Brutus Caepio, 44BC +03/15 Julius Caesar, Dictator of the Roman Republic, is stabbed to death by + several senators, 44BC +03/15 Watts, Los Angeles, riots kill two, injure 25, 1966 +03/16 Largest coordinated worldwide vigil against the Iraq War, 2003 03/16 MyLai Massacre; 300 non-combatant villagers killed by US infantrymen 03/16 Robert Goddard launches first liquid-fueled rocket, Auburn MA, 1926 +03/17 Invention of the rubber band, 1845 +03/17 Ukrainian Nationalist Republic declared, 1917 03/17 Vanguard I launched, 1958. Earth proved pear-shaped 03/18 Aleksei Leonov performs first spacewalk, 1965 +03/18 In the Pyramid of Cheops a 4.400 year old mummy is found, 1989 03/19 Swallows return to Capistrano 03/20 Radio Caroline, the original British pirate radio station, sinks, 1980 +03/21 Henry V becomes the king of England, 1413 +03/22 First motion picture displayed by Auguste and Louis Lumière, 1895 +03/22 World Day for Water +03/23 The first Islamic republic in the world is Pakistan, 1956 03/24 Construction of New York subway system begins, 1900 +03/25 The first Bed-In for Peace by John Lennon and Yoko Ono, 1969 03/25 Triangle Shirt Waist Fire, 1911 03/26 Popeye statue unveiled, Crystal City TX Spinach Festival, 1937 +03/26 The driving test is introduced, in the United Kingdom, 1934 03/27 Khrushchev becomes Premier of Soviet Union, 1958 03/28 Three Mile Island releases radioactive gas, 1979 03/29 Swedish settled Christiana (Wilmington) DE, 1638 +03/29 The Republic of Ireland bans smoking in all work places, 2004 03/30 Alaska purchased from Russia for $7.2 million, 1867 03/30 Five rings around Uranus discovered, 1977 03/30 Pencil with eraser patented, 1858 +03/31 The Eiffel Tower is inaugurated, 1889 04/01 People of superb intelligence, savoir-faire, etc. born this day. +04/02 Haile Selassie is proclaimed emperor of Ethiopia, 1930 +04/03 First publication of the newspaper La Gazzetta dello Sport, 1896 04/04 Martin Luther King assassinated in Memphis, Tennessee, 1968 -04/04 NATO Established, 1949 +04/04 NATO established, 1949 +04/05 Pocahontas marries English colonist John Rolfe in Virginia, 1614 04/06 Joseph Smith founds Mormon Church, 1830 04/07 Alewives run, Cape Cod 04/08 Matthew Flinders and Nicolas Baudin meet in Encounter Bay, 1802 +04/08 The Venus de Milo is found on the island of Melos, 1820 04/09 Lee surrenders to Grant at Appomattox Courthouse, 1865 +04/09 The first public exhibition of art opens in Paris, 1667 +04/10 The Belfast Agreement is signed, on Good Friday, 1998 +04/11 The Shogunate is abolished in Japan, 1868 04/12 Confederate troops fire first shots of Civil War at Ft Sumter, 1861 +04/12 Great Britain adopts the Union Jack as their national flag, 1606 04/12 Space Shuttle Columbia launched, 1981 04/12 Yuri Gagarin becomes the first man in space, 1961 04/13 Laotian New Year (3 days) in Laos 04/14 US President Abraham Lincoln shot in Ford's Theatre by John Wilkes Booth, 1865 04/14 Titanic hits iceberg and sinks, 1912 +04/15 Insulin first becomes generally available for use by diabetics, 1923 04/15 US President Abraham Lincoln dies, 1865 04/15 Ray Kroc opens first McDonalds in Des Plaines, IL, 1955 +04/16 Syria becomes an independent Republic, 1946 04/17 Bay of Pigs invasion crushed by Castro forces, 1961 04/18 Einstein's Death, 1955 04/18 First Laundromat opens, Fort Worth Texas, 1934 04/18 San Francisco earthquake, 1906 +04/18 The League of Nations is dissolved after 27 years, 1946 04/19 Landing of the "33" in Uruguay 04/19 Warsaw Ghetto uprising, 1943 +04/20 In Bulgaria, the April Uprising takes place, 1876 04/20 Supreme Court unanimously rules in favor of busing, 1971 04/21 Lyrid meteor shower +04/21 Rome is founded by Romulus and Remus, 753BC +04/22 Portuguese navigator Pedro Alvares Cabral becomes the first European to + sight Brazil, 1500 +04/22 The first Earth Day is celebrated, 1970 04/22 Vladimir Ilich Ulyanov, called Lenin, Russian political leader, born in Simbirsk, 1870 +04/23 Bavarian co-rulers Duke Wilhelm IV and Duke Ludwig X proclaimed the + weighty and consequential Bavarian Beer Purity Law + (later Reinheitsgebot), 1516 04/23 Hank Aaron hits his first home run, 1954 +04/24 The Greek enter Troy with the Trojan Horse, 1184BC +04/25 Integrated circuit patented by Robert Noyce, 1961 04/26 William Shakespeare baptized in Stratford-on-Avon, England, 1564, - birthdate unknown + birthdate less certain 04/27 Magellan killed in Philippines, 1521 +04/28 President of France, Charles de Gaulle resigns, 1969 04/29 Zipper patented by Gideon Sindback, 1913 +04/30 Adolf Hitler and Eva Braun commit suicide, 1945 05/01 Beltaine; Feast of the god Bel, sun god +05/01 Adam Weishaupt founded the Illuminati of Bavaria, 1776 +05/02 The first modern sighting of the Loch Ness monster is reported, 1933 05/03 Anti-war protest disrupts business in Washington, 1971 +05/03 Jamaica is spotted by Christopher Columbus, 1494 +05/04 Christopher Columbus sets foot on Jamaica, 1494 05/04 Four Kent State students are shot down by the National Guard, 1970 05/05 John Scopes arrested for teaching evolution, Dayton, TN, 1925 +05/05 Kublai Khan becomes ruler of the Mongol Empire, 1260 05/06 Hindenburg explodes and burns upon landing at Lakehurst, NJ, 1937 -05/07 Germany surrenders after WWII, 1945 +05/07 Germany surrenders after World War II, 1945 05/08 Beginning of ostrich mating season +05/08 Herbert Akroyd Stuart patented the first "diesel" engine, 1890 05/08 US institutes mining of Haiphong Harbor, 1972 05/09 94 degrees, New York, 1979 +05/09 The first parliament of Australia opens in Melbourne, 1901 05/10 Germany invades Low Countries, 1940 05/10 Nazi bookburning, 1933 +05/11 Thailand is no longer known as Siam, 1949 +05/12 Tunisia becomes a French protectorate, 1881 +05/13 Dutch statesman Johan van Oldenbarnevelt is executed in The Hague after + having been accused of treason, 1619 05/14 Beginning of Lewis and Clark Expedition, 1804 05/14 Nation of Israel proclaimed, 1948 05/15 Asylum for Inebriates founded, Binghamton NY, 1854 +05/15 The civil war in Finland ends, 1918 +05/16 Root beer invented by Charles Elmer Hires, 1866 05/17 24" rain in 11 hours, Pearl River, S. China, 1982 05/17 Six SLA members killed in televised gun fight, 1974 05/18 Battle of Las Piedras in Uruguay 05/18 Napoleon crowned Emperor, 1804 +05/19 The Legion d'Honneur is founded by Napoleon Bonaparte, 1802 +05/20 The first modern atlas issued by Abraham Ortelius, 1570 05/21 Battle of Iquique in Chile 05/21 US explodes first hydrogen bomb, 1956 +05/22 The transporting of British convicts to the New South Wales colony, + is abolished, 1840 05/22 US Civil War ends, 1865 05/23 Israeli raid into Argentina to capture Adolf Eichmann, 1960 05/23 Two Yetis sighted, Mt. Everest, 1953 @@ -152,19 +273,35 @@ 05/25 Oral Roberts sees 900 foot tall Jesus Christ, Tulsa OK, 1980 05/25 Successful test of the limelight in Purfleet, England, 1830 05/26 Congress sets first immigration quotas, 1924 +05/26 John Calvin and his followers are expelled from Geneva, 1538 05/27 Golden Gate Bridge opens, 1937 +05/27 The pop-up toaster patented by Charles Strite, 1919 +05/28 Alan Turing submits On Computable Numbers for publication, 1936 05/29 Edmund Hillary and Tenzing Norkay climb Mt. Everest, 1953 05/29 First food stamps issued, 1961 05/30 US Marines sent to Nicaragua, 1912 +05/30 Beginning of the civil war over Biafra, 1967 +05/31 Yom Kippur War comes to an end by the signing of a disengagement + agreement by Syria and Israel, 1974 +06/01 In a referendum the Dutch reject the European Constitution, 2005 +06/02 Denmark rejects the Maastricht Treaty in a close-call referendum, 1992 06/02 Native Americans "granted" citizenship, 1924 +06/03 Edward White becomes the first American to perform a "Space Walk", 1965 +06/03 Last Star Trek episode first aired ("Turnabout Intruder"), 1969 06/04 Roquefort cheese developed, 1070 06/05 Robert Kennedy assassinated, 1968 +06/05 Titus and his Roman legions breach the middle wall of Jerusalem, 70 06/05 US leaves the Gold Standard, 1933 06/06 First drive-in movie, 1933 06/06 Normandy landing, 1944 +06/07 The first act of civil disobedience by Gandhi, 1893 +06/08 The Canadian Parliament meets for the first time in Ottawa, 1866 +06/09 The Roman Emperor Nero commits suicide, 68 06/10 Death of Alexander the Great, 323 B.C. 06/10 Denver police tear gas Jethro Tull and 2000 fans at Red Rocks, 1971 06/11 Greeks seize Troy, 1184BC +06/12 Nelson Mandela is sentenced to life in prison, 1964 +06/13 Much of Vancouver, British Columbia, is devastated by a fire, 1886 06/13 Pioneer flies past Neptune, and therefore out of the Solar System 06/14 Sandpaper invented by I. Fischer, Jr., 1834 06/15 Ben Franklin's kite experiment, 1752 @@ -173,16 +310,21 @@ that all the hooves of a horse are off the ground during the gallop, 1878 06/16 "The Blues Brothers" premieres in Chicago, 1980 +06/16 Henry Ford launched the Ford Motor Company, 1903 06/17 China explodes its first Hydrogen bomb, 1967 06/17 Watergate Democratic National Committee break-in, 1972 +06/18 Winston Churchill delivers his "Finest Hour" speech, 1940 06/19 Julius and Ethel Rosenberg are executed in Sing-Sing prison, 1953 06/19 Lizzie Bordon acquitted, 1893 06/20 Victoria crowned, 1837 06/21 Berlin airlift begins, 1948 06/21 Sun rises over Heelstone at Stonehenge 06/22 Civil rights workers disappear in Mississippi, 1964 +06/22 The June Days Uprising in Paris begins, 1848 +06/23 Harriet, Darwin's turtle died at the age of 176 years, 2006 06/23 Slavery abolished in England, 1772 06/24 Senate repeals Gulf of Tonkin resolution, 1970 +06/24 The capital of Jamaica, Kingston, is founded, 1664 06/25 Custer's Last Stand at Little Big Horn, 1876 06/25 North Korea invades South Korea, 1950 06/26 Battle of Gettysburg, 1863 @@ -190,47 +332,83 @@ 06/26 Toothbrush invented, 1498 06/27 100 degrees, Fort Yukon, 1915 06/27 Bill Graham closes the Fillmore East, 1971 +06/27 The world's first ATM is installed in Enfield, London, 1967 +06/28 Archduke Franz Ferdinand of Austria assassinated in Sarajevo, + marking the beginning of World War I, 1914 06/28 Supreme Court decides in favor of Allan Bakke, 1978 -06/30 "That" explosion in Siberia, 1908 +06/28 World War I ended with the signing of the Treaty of Versailles, 1919 +06/29 The Seychelles gains independence from the United Kingdom, 1976 +06/30 "That" explosion in Siberia at 7:17 local time, 1908 +06/30 Albert Einstein published his theory of special relativity, 1905 06/30 China and Soviet Union announce split over ideology, 1960 07/01 Battle of Gettysburg begins, 1863 +07/01 Hong Kong becomes a special administrative region of the People's + Republic of China, 1997 +07/01 The first day on the Somme marked the beginning of the + Battle of the Somme, 1916 +07/01 Warsaw Pact officially dissolved, 1991 +07/02 Vermont abolishes slavery, as the first state, 1777 07/03 Dog days begin 07/04 Battles of Vicksburg and Gettysburg won by Union forces, 1863 07/04 Cloudy, 76 degrees, Philadelphia PA, 1776 07/04 New York abstains on Declaration of Independence vote, 1776 07/04 Thoreau enters woods, 1845 +07/05 Bikini demonstrated for the first time, 1946 07/06 First `talkie' (talking motion picture) premiere in New York, 1928 07/06 Lawrence of Arabia captures Aqaba, 1917 07/07 First radio broadcast of "Dragnet", 1949 07/07 Terrorists detonate four bombs on London public transport, 2005 +07/08 A UFO is believed to have crashed near Roswell, New Mexico, 1947 07/08 First public reading of the Declaration of Independence, 1776 07/08 Liberty Bell cracks while being rung at funeral of John Marshall, 1835 07/09 10-hour working day set by law, NH, 1847 +07/09 The African Union gets established, 2002 07/10 134 degrees in Death Valley, 1913 +07/10 Most of London gets burned down in a severe fire, 1212 +07/11 Mongolia gains independence from China, 1921 07/12 Minimum wages established: 40 cents/hour, 1933 07/13 Women first compete in Olympic games, 1908 +07/14 Storming of the Bastille by the citizens of Paris, 1789 +07/15 First item sold via Amazon.com, 1995 07/16 Detonation of the first atomic bomb at Alamagordo, NM, 1945 +07/16 End of the civil war in Rwanda, 1994 07/17 Disneyland opens, 1955 +07/18 "Mein Kampf" is published, 1925 07/18 Ty Cobb gets 4000th base hit, 1927 07/19 Five Massachusetts women executed for witchcraft, 1692 +07/19 France declares war on Prussia, marking the beginning of the + Franco-Prussian war, 1870 07/20 Armstrong and Aldrin land on moon, 1969 +07/20 Ford Motor Company ships their car, 1903 07/21 First Train Robbery, Jesse James gets $3000 near Adair, Iowa, 1873 07/21 Vietnam divided at 17th parallel, 1954 +07/22 Wiley Post becomes the first person to fly around the world, 1933 07/23 Ice cream cone introduced, St. Louis MO, 1904 07/24 Scopes Monkey Trial, 1925 +07/25 First test-tube baby born, 1978 +07/26 Potsdam Declaration signed, 1945 +07/27 The last Citroen 2CV made, 1990 +07/28 Potato introduced in Europe by Sir Thomas Harriot, 1586 +07/29 Inauguration of the Arc de Triomphe in Paris, 1836 07/30 "In God We Trust" made US motto, 1956 +07/30 Elvis Presley performs for the first time in public, 1954 +07/31 First U.S. patent issued, 1790 07/31 Harry S. Truman dedicates N.Y. Int'l Airport @ Idlewild Field, 1948, later JFK 08/01 Lughnasa; Feast of the god Lugh, a 30 day Celtic feast centers on this day +08/02 Hitler becomes the Fuehrer of Germany, 1934 08/03 Columbus sets sail for Cathay, 1492 08/03 USS Nautilus crosses under north polar ice cap, 1958 08/04 Axe murder of Andrew and Abbey Borden, 1892 08/04 Bombing of N. Vietnam begins, 1964 08/04 Britain declares war on Germany starting World War I, 1914 +08/05 Nelson Mandela is jailed, 1962 08/06 Atomic bomb dropped on Hiroshima, 1945 08/06 Caricom in Barbados 08/06 Cy Young pitches first game, 1890 +08/07 Jack the Ripper makes his first kill, 1888 +08/08 Atomic bomb dropped on Nagasaki, 1945 08/08 Montenegro declares war on Germany, 1914 08/08 Richard Nixon resigns the US presidency, 1974 08/08 The Great Train Robbery -- $7,368,000, 1963 @@ -240,23 +418,32 @@ 08/09 Atomic bomb dropped on Nagasaki, 1945 08/09 Singapore secedes from Malaysia, 1965 08/10 Chicago incorporated as a village of 300 people, 1833 +08/10 Major terrorist plot to destroy aircraft disrupted by + Scotland Yard, 2006 08/10 US and Panama agree to transfer the canal in the year 2000, 1977 08/11 Dog days end 08/11 France Ends War in Indochina, 1954 08/11 Perseid meteor shower (look north; three days) +08/12 Cleopatra commits suicide, 30BC 08/12 First test flight of Space Shuttle "Enterprise" from 747, 1977 08/12 Last US ground troops out of Vietnam, 1972 08/13 Berlin wall erected, 1961 08/13 Li'l Abner debut, 1934 +08/14 France introduces motor vehicle registration, 1893 08/14 Social Security begins in US, 1935 08/15 Gandhi's movement obtains independence for Pakistan and India, 1947 08/15 Hurricane hits Plymouth Plantation, 1635 08/16 Roller Coaster patented, 1898 08/17 First public bath opened in N.Y., 1891 +08/17 Indonesian Declaration of Independence, 1945 08/18 Anti-Cigarette League of America formed +08/18 Power blackout on Java, Indonesia, affects almost + 100 million people, 2005 08/19 Air Force cargo plane snares payload from Discoverer 14 spy satellite, marking start of practical military reconnaissance from space, 1960 08/19 Gail Borden patents condensed milk, 1856 +08/20 First commercial radio station airs in Detroit, Michigan, 1920 +08/21 Louvre employee steals the "Mona Lisa", 1911 08/22 Death of King Richard III, 1485, Last of the Plantagenets 08/22 Joe Walker sets X-15 all time altitude mark (67 miles), 1963 08/22 St. Columbia reports seeing monster in Loch Ness, 565 @@ -264,11 +451,14 @@ 08/24 "Alice's Restaurant" premieres in New York and Los Angeles, 1969 08/24 -126.9 F at Vostok, Antarctica, 1960 08/24 British troops burn Washington, 1814 -08/25 Gen. De Gaulle leads French forces into Paris, 1944 +08/25 General de Gaulle leads French forces into Paris, 1944 08/26 19th amendment of US constitution gives women the vote, 1920 +08/26 Women get the vote, 1920 08/27 "Tarzan of the Apes" published, 1912 08/27 Krakatoa, Java explodes with a force of 1,300 megatons, 1883 +08/28 Henry Hudson discovers Delaware Bay, 1609 08/28 Martin Luther King leads over 200,000 in civil rights rally in Washington, DC, 1963 +08/29 Michael Faraday discovers electromagnetic induction, 1831 08/29 Star in Cygnus goes nova and becomes 4th brightest in sky, 1975; Nova Cygni 1975. 08/30 75 cents a pound tariff set on opium, 1842 @@ -279,26 +469,32 @@ 08/31 Mary Anne Nichols becomes Jack the Ripper's first victim, 1888 08/31 Non-aggression pact signed by USSR and Afghanistan, 1926 08/31 Federation of Malaya gains independence from Great Britain, 1957 +08/31 Independent union "Solidarnosc" born, Gdansk, 1980 09/01 Bobby Fischer defeats Boris Spassky in World Chess Match, 1972 09/01 Joshua A. Norton proclaims himself 'Emperor Norton I', 1859 09/02 Great Britain adopts Gregorian Calendar, 1752 09/02 Japan signs unconditional surrender on US battleship `Missouri', 1945 09/03 Richard ``the Lionheart'' crowned king of England, 1189 09/03 Anniversary of the Founding of the Republic in San Marino +09/04 Napoleon III is deposed and the Third Republic is declared, 1870 09/05 US President Kennedy orders resumption of underground nuclear tests, 1961 +09/05 St. Gotthard Tunnel opens in Switzerland, 1980 09/05 The first Continental Congress was convened in Philadelphia, 1774 09/06 149 Pilgrims set forth from England aboard the Mayflower, 1620 09/06 First Star Trek episode (The Man Trap) aired 1966 09/06 US President McKinley shot, 1901 09/06 Somhlolo in Swaziland +09/07 Brazil declares its independence from Portugal, 1822 09/08 "Star Trek" debuts on NBC (1966) 09/08 Jack the Ripper kills again, Annie Chapman is second victim, 1888 09/08 US President Ford pardons Richard M. Nixon, 1974 09/09 California becomes the 31st state of the USA, 1850 +09/09 John Herschel takes the first glass plate photograph, 1839 09/09 United Colonies is renamed the United States, 1776 09/10 Mountain Meadows Massacre. Mormons kill Gentile wagon train, 1857 09/11 CIA-sponsored terrorists overthrow Chilean government, murder President Allende, 1973 09/11 Terrorists destroy World Trade Center in New York, 2001 +09/11 World Wide Fund (WWF) founded, 1961 09/12 German paratroopers rescue Mussolini from captivity in Rome, 1943 09/12 Germany annexes Sudetenland, 1938 09/13 58 °C (136.4 °F) measured at el Azizia, Libya, 1922 @@ -310,24 +506,33 @@ 09/14 The US Selective Service Act establishes the first peacetime draft, 1940 09/15 Soviet Premier Nikita Khrushchev begins his 13 day tour of the US, 1959 09/15 The US Foreign Affairs Dept. becomes the US State Department, 1789 +09/15 The Nazis adopt a new national flag with the swastika, 1935 +09/16 General Motors is founded, 1908 09/16 The village of Shawmut, Massachusetts, becomes the city of Boston, 1630 09/16 Malaya, Sabah, Sarawak and Singapore unite to become Malaysia, 1963 09/17 Battle of Antietam, 1862 +09/17 Joshua A. Norton proclaims himself 'Emperor Norton I', 1859 09/18 Victory of Uprona in Burundi 09/19 New Zealand women get the right to vote, 1893 +09/19 Walt Disney releases Steamboat Willie, 1928 09/20 Equal Rights Party nominates Belva Lockwood for US President, 1884 09/20 First meeting of the American Association for the Advancement of Science, 1848 09/20 First meeting of the US National Research Council, 1916 09/20 Magellan leaves Spain on the first Round the World passage, 1519 09/20 The Roxy Theater opens in Hollywood, 1973 +09/21 J. R. R. Tolkien's The Hobbit is published, 1937 +09/22 Allied forces form the independent nation West Germany, 1953 09/22 US President Lincoln issues the Emancipation Proclamation, 1862 09/22 Special prosecutor Leon Jeworski subpoenas US President Nixon, 1974 09/22 The first Soviet atomic bomb explodes, 1949 09/23 Philippine President Ferdinand Marcos declares martial law, 1972 09/23 The New York Knickerbockers becomes the first US Baseball club, 1845 09/23 US Vice President Nixon denies campaign fund fraud with his "Checkers" speech, 1952 +09/24 The Netherlands surrenders New Amsterdam to England, 1664 +09/25 Battle of Stamford Bridge marks the end of the Viking era, 1066 09/25 Sandra Day O'Connor becomes first woman on US Supreme Court, 1981 +09/26 Concorde makes its first non-stop crossing of the Atlantic, 1973 09/27 The first passenger was hauled in a locomotive in England, 1825 09/28 "Pilgrim's Progress" published, 1678 09/28 A Greek soldier runs 26+ miles after the Persian defeat at Marathon, @@ -336,10 +541,14 @@ 1888 09/30 The first tooth is extracted under anesthesia in Charleston, Mass, 1846 09/30 The verdicts of the Nuremberg trials are announced, 1946 +10/01 Austria issues the world's first postcards, 1869 10/01 NASA officially begins operations, 1958 +10/02 Jacques Cartier discovers Montreal, Quebec, 1535 10/02 Thurgood Marshall sworn as the first black Supreme Court Justice, 1967 +10/03 O. J. Simpson is found not guilty of murder, 1995 10/04 Crimean war begins, 1853 10/04 First space vehicle, Sputnik I, launched, 1957 +10/05 Portugal declares itself a republic, 1910 10/06 Antioch College is the first public school to admit men and women, 1853 10/06 Egyptian President Anwar es-Sadat is assassinated in Cairo, 1981 10/06 Israel is attacked by the alliance of Egypt and Syria, 1973 @@ -349,6 +558,7 @@ 10/07 Mother Teresa of Calcutta awarded the Nobel Peace Prize, 1979 10/07 Police stop Wilbur Mills car, Fanne Fox jumps into water, 1974 10/08 Great Chicago Fire, 1871 +10/08 San Marino adopts its written constitution, 1600 10/09 First two-way telephone conversation, 1876 10/10 Beginning of the Wars for Independence in Cuba 10/10 Foundation of the Workers Party in North Korea @@ -360,6 +570,8 @@ 10/11 The second Vatican Ecumenical Council opens in Rome, 1962 10/11 First broadcast of Saturday Night Live, 1975 10/12 Bahama Natives discover Columbus of Europe lost on their shores, 1492 +10/12 Bavarian Crown Prince Ludwig married Princess Therese of + Saxony-Hildburghausen, Oktoberfest, 1810 10/12 Khrushchev pounds his desk with shoe during a speech to the UN, 1960 10/12 Man O'War's last race, 1920 10/12 Native Americans discover Columbus of Europe lost on their shores, 1492 @@ -367,29 +579,42 @@ 10/13 US Navy born, 1775, authorized by the Second Continental Congress 10/14 Battle of Hastings won by William the Conqueror and the Normans, 1066 10/14 Chuck Yeager breaks sound barrier, 1947 +10/15 Edison Electric Light Company begins operation, 1878 10/15 First draft card burned, 1965 +10/16 The Walt Disney Company is founded by Walt Disney + and his brother, Roy Disney, 1923 +10/17 Al Capone convicted of income tax evasion, 1931 10/18 Boston Shoemakers form first US labor org., 1648 10/18 Soviets announce their probe took photos of the Moon's far side, 1959 +10/18 The Grand Ole Opry opens its doors, 1925 10/19 Mao Tse-tung establishes the People's Republic of China, 1949 10/19 Napoleon's beaten army begins the long retreat from Moscow, 1812 10/20 "Saturday Night Massacre", 1973 10/20 OPEC embargo, 1973 10/21 Edison makes the first practical incandescent lamp, 1879 10/21 Guggenheim Museum opens, 1959 +10/22 Laos gains independence from France, 1953 10/23 Battle of Leyte Gulf begins, 1944 10/23 Day of the 1956 revolution in Hungary 10/23 Earth created at 6:30 AM, 4004BC. +10/23 South African troops invade Angola in support of UNITA and FNLA, 1975 10/23 Swallows leave Capistrano +10/24 Founding of the United Nations, 1945 10/25 The UN removes Taiwan and admits the People's Republic of China, 1971 10/26 UN's World Health Organization declares smallpox eradicated, 1978 10/27 New York's Boss Tweed is arrested on fraud charges, 1871 10/27 The first New York Subway is opened, 1904 +10/27 Stock markets around the world crash because of fears of + a global economic meltdown, 1997 10/28 Columbus discovers Cuba, 1492 10/28 Constantine's army defeats forces of Maxentius at Mulvian Bridge, 312 10/28 Harvard was founded in Massachusetts, 1636 10/28 Statue of Liberty was dedicated on Bedloe's Island, 1886 +10/29 Leibniz makes the first use of the "long s" for integral, 1675 10/29 Stock Market Crash, 1929 +10/30 Communist Party of Australia founded in Sydney, 1920 10/30 Orson Welles' "War of the Worlds" broadcast, 1938 +10/31 First hydrogen bomb blasts Enewetak, 1952 10/31 Luther nails 95 Theses to door of Castle Church, Wittenberg, 1517 11/01 Austria-Hungary become two separate nations, 1918 11/01 Puerto Rican nationalists try to kill Truman at the Blair House, 1950 @@ -401,8 +626,11 @@ 11/04 Iranian militants seize US embassy personnel in Teheran, 1979 11/04 Soviet forces crush the anti-communist revolt in Hungary, 1956 11/05 Guy Fawkes' Plot, 1605 +11/06 Anniversary of the October Socialist Revolution (2 days) in U.S.S.R. 11/07 Abolitionist newspaperman Elijah P. Lovejoy murdered by mob, 1837 11/07 Lewis and Clark Expedition in sight of the Pacific Ocean, 1805 +11/08 Invasion of Sweden by Danish forces results in the + Stockholm Bloodbath, 1520 11/09 Blackout of New York, New England, and Eastern Canada, 1965 11/09 Giant panda discovered (?!), China, 1927 11/09 Jack the Ripper kills fifth and final victim, Jane Kelly, 1888 @@ -411,65 +639,104 @@ 11/10 41 Women arrested in suffragette demonstrations near White House, 1917 11/10 Cpt. Wirz, commandant of Andersonville Prison hanged, 1865 11/10 Henry Stanley asks David Livingstone, "Dr. Livingstone, I presume?", 1871 +11/11 First broadcast of Sesame Street, 1970 11/11 Washington becomes the 42nd state, 1889 11/12 Dr. Sun Yat-sen's Birthday in Taiwan 11/12 USA first exports oil to Europe, 1861 +11/13 St. Brice's Day massacre by order of Ethelred, king of England, 1002 +11/14 Czechoslovakia becomes a republic, 1918 11/14 Quarter Pounder price raised from $0.53 to $0.55 in violation of Nixon price controls (but okayed by Price Commission after formal request from McDonald's), 1971 +11/15 First assembly of the League of Nations is held in Geneva, 1920 11/15 Niagara Falls power plant startup, 1896 11/16 Opening of the Suez Canal, 1869 11/16 Albert Hofmann synthesizes LSD in Switzerland, 1938 11/17 46,000 meteoroids fall over AZ in 20 minutes, 1966 +11/17 Elizabeth I of England succeeds Queen Mary I of England, 1558 11/17 Richard Nixon says "I am not a crook.", 1973 11/18 First hydrogen bomb blasts Enewetok, 1952 11/18 Local standard time zones established for US, 1883 11/19 Gettysburg Address delivered, 1863 +11/19 Samuel Goldwyn and Edgar Selwyn establish Goldwyn Company, 1916 +11/20 Nuremberg Trials against 24 Nazi war criminals begin, 1945 11/21 Announcement of 18 1/2 minute gap on Watergate tape, 1973 +11/21 Birmingham Pub Bombings by the IRA kill 21 people, 1974 +11/22 John F. Kennedy is assassinated in Dallas, Texas, 1963 11/22 Kennedy shot in Dallas, Texas by Lee Harvey Oswald, 1963 11/23 First broadcast of Dr. Who (longest running TV series), 1963 +11/23 The first edition of Life is published. 1936 +11/24 Alleged assassin Lee Harvey Oswald is killed by + Jack Ruby in Dallas, Texas, 1963 11/24 Lee Harvey Oswald killed by Jack Ruby, 1963 11/25 Alfred Nobel invents dynamite, 1867 +11/26 Last flight ever with a Concorde made over Bristol, UK, 2003 11/27 Alfred Nobel establishes Nobel Prize, 1895 -11/27 Friction match invented, England, 1826 +11/27 Friction match invented by englishman John Walker, Sweden, 1826 11/27 Hoosac Railroad Tunnel completed, 1873, in NW Massachusetts +11/28 Albania declares its independence from the Ottoman Empire, 1912 11/29 King Tut's tomb opened, 1922 12/01 First national corn-husking championship, Alleman IA, 1924 +12/01 Ford Motor Company introduces the first moving assembly line, 1913 12/01 Martin Luther King Jr., leads black boycott of Montgomery buses, 1955 12/01 Rosa Parks refuses to move to back of the bus (Montgomery, AL), 1953 +12/02 Napoleon III becomes Emperor of the French, 1852 12/03 First neon light display, Paris, 1910 12/03 First successful human heart transplant led by Dr. Barnard, 1967 12/03 The Montreux Casino burns down during a Frank Zappa concert, 1971 +12/04 People's Republic of China adopts its current constitution, 1982 12/04 Washington takes leave of his officers at Fraunce's Tavern, NYC, 1783 12/05 End of Prohibition, 1933 (at least the alcohol part) 12/05 Phi Beta Kappa founded, 1776 12/05 The Eighteenth Amendment repealed, ending Prohibition, 1933 +12/06 London becomes the world's first city with motorised cabs, 1897 12/07 Japan bombs Pearl Harbor, 1941 12/08 Japan enters Second World War with invasion of Pantai Sabak, Kelantan, 1941 +12/08 Romanian Constitution is adopted in a referendum, 1991 12/09 Ball-bearing roller skates patented, 1884 12/10 Metric system established in France, 1799 12/10 Nobel Peace Prize awarded each year +12/11 The British Parliament enacts the Statute of Westminster, 1931 12/12 First wireless message sent across Atlantic by Marconi, 1901 12/13 Apollo 17 leaves the moon, with "last" men to walk on moon aboard, 1972 12/13 Dartmouth College chartered, 1769 12/13 Geminid meteor shower (look south) +12/14 Portugal joins the United Nations, 1955 12/15 Argo Merchant oil spill, 1976 12/15 Bill of Rights adopted, 1791 12/15 James Naismith invents basketball, Canada, 1891 12/15 Sitting Bull shot in head while submitting to arrest, 1890 +12/16 Pokemon episode (Electric Soldier Porygon) triggers attacks of + photosensitive epilepsy in hundreds of Japanese children, 1997 +12/17 Charles Dickens' A Christmas Carol is first published, 1843 +12/18 Indonesia invades Netherlands New Guinea, 1961 +12/19 Hitler becomes Supreme Commander-in-Chief of the + German Army, 1941 +12/20 Cheka founded, 1917 12/20 US buys ~1,000,000 sq. miles of Louisiana for ~$20/sq.mi. +12/21 Charles de Gaulle is elected President of France, 1958 12/21 Phileas Fogg completes his trip around the world in less than 80 days 12/21 Women gain the right to vote in South Australia, 1894 12/21 Women gain the right to hold political office in South Australia, 1894 +12/22 First freight train is operated in Roorkee in India, 1851 +12/23 The transistor is first demonstrated at Bell Laboratories, 1947 +12/24 Hong Kong falls to the Japanese Imperial Army, 1941 12/24 KKK formed in Pulaski, Tenn, 1865 +12/25 Christmas Island founded and named by Captain William Mynors, 1643 12/26 DPMA founded, 1951 12/27 APT report published, 1956 12/27 Ether first used as anesthetic in childbirth, 1845 12/28 Comet Kohoutek at perihelion, 1973 12/28 Proclamation of the Province of South Australia, 1836 +12/28 Spain recognizes independence of Mexico, 1836 12/29 Battle of Wounded knee, 1890 +12/29 Edison receives patent for Radio, 1891 12/30 First Los Angeles freeway dedicated, 1940 +12/30 Israel and the Vatican establish diplomatic relations, 1993 +12/30 Soviet Ukrainian Republic declared, 1917 12/31 St. Sylvester in Switzerland +12/31 First supersonic commercial flight by Tu-144, 1968 +12/31 Windows tax in England, 1695 12/31 Winterland closes its doors, 1978 #endif /* !_calendar_history_ */ Modified: head/usr.bin/calendar/calendars/calendar.music ============================================================================== --- head/usr.bin/calendar/calendars/calendar.music Sat Mar 14 22:07:11 2020 (r359004) +++ head/usr.bin/calendar/calendars/calendar.music Sun Mar 15 00:49:06 2020 (r359005) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Sun Mar 15 02:39:13 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3407326CC27; Sun, 15 Mar 2020 02:39:13 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-oi1-f176.google.com (mail-oi1-f176.google.com [209.85.167.176]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48g3Xw5zWSz4lqZ; Sun, 15 Mar 2020 02:39:12 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-oi1-f176.google.com with SMTP id v19so13978409oic.12; Sat, 14 Mar 2020 19:39:12 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=4dEdAJXHyT/xMJsbtcgzMDxGbWZ8TcExof3gdr/O9cE=; b=EYjqHO7hM2n1gLI5XSRQEEYdvXdzn8aqp5yKkbe0padIMYXU51KvebjAfButmhejzF GSzDEI1tUpX/k6OBAifqqmQh2r1Zt9FJAHGe2XxZatzp9+9WYSSaIM8SJNARDYGd9UQv Hl3CfV2CzU55BtxqQj+1sbyX56EwP7QKcqdkpqp1R9aJEVn2xAXP/b3q3jM2hbASzdnI /S1XD8PhA1pJn4UT3H3YOytJtBwC7hlaVK5Wdrb4sy2D1xnGz6QiLCKMkHvv6mwjFqYf 5swjcobwpfNaLZ7JvblhCrSVaH/SMLuJrL1gf1feEx7HrI1EHE1wQMaY/RcovKSLJSOq mfpw== X-Gm-Message-State: ANhLgQ0DuA366ctKObThgpnTKIp5Ih6lZ60W1DJD9gREQgRQFqQIMHKr NTVq3he3y1vwY5rsqj6RAor6WLZN X-Google-Smtp-Source: ADFU+vsm3Cxx0US8gXa6UdPHUfqbgHWpYcPTAUW1wfOnCpKOjlwXF6/u9St1j+UiR5Bixm/4FcRkIw== X-Received: by 2002:a05:6808:2ce:: with SMTP id a14mr1716439oid.175.1584239950305; Sat, 14 Mar 2020 19:39:10 -0700 (PDT) Received: from mail-ot1-f48.google.com (mail-ot1-f48.google.com. [209.85.210.48]) by smtp.gmail.com with ESMTPSA id j132sm6808287oih.1.2020.03.14.19.39.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 14 Mar 2020 19:39:10 -0700 (PDT) Received: by mail-ot1-f48.google.com with SMTP id k26so14392221otr.2; Sat, 14 Mar 2020 19:39:09 -0700 (PDT) X-Received: by 2002:a9d:7695:: with SMTP id j21mr11096626otl.157.1584239949582; Sat, 14 Mar 2020 19:39:09 -0700 (PDT) MIME-Version: 1.0 References: <202003150049.02F0n67t076614@repo.freebsd.org> In-Reply-To: <202003150049.02F0n67t076614@repo.freebsd.org> Reply-To: cem@freebsd.org From: Conrad Meyer Date: Sat, 14 Mar 2020 19:38:58 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359005 - head/usr.bin/calendar/calendars To: "Pedro F. Giffuni" Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48g3Xw5zWSz4lqZ X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2020 02:39:13 -0000 On Sat, Mar 14, 2020 at 5:49 PM Pedro F. Giffuni wrote: > > Author: pfg > Date: Sun Mar 15 00:49:06 2020 > New Revision: 359005 > URL: https://svnweb.freebsd.org/changeset/base/359005 > > Log: > calendar(1): Updates and corrections for some calendar files. > > These have an educational value and are, no doubt, an integral part of the fun > behind running the BSDs. Hmm. I don't believe calendar(1) has education value (or to the extent it has quantifiable value, N <= 0). Nor does it have more subjective "fun" value. It certainly isn't integral to the system. It's a toy of a certain era that has aged poorly. It belongs with other fun and non-integral components, like sopwith(6), in ports. Best, Conrad P.S., calendar(1) is not ncal(1). Sometimes the similar names are confusing. From owner-svn-src-all@freebsd.org Sun Mar 15 03:03:02 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6C28426EE4D; Sun, 15 Mar 2020 03:03:02 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48g44Q1v6Fz4THv; Sun, 15 Mar 2020 03:03:02 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 398AB12DE; Sun, 15 Mar 2020 03:03:02 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02F332qx061387; Sun, 15 Mar 2020 03:03:02 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02F3326Z061386; Sun, 15 Mar 2020 03:03:02 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003150303.02F3326Z061386@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sun, 15 Mar 2020 03:03:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359006 - head/sys/dev/usb/net X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/dev/usb/net X-SVN-Commit-Revision: 359006 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2020 03:03:02 -0000 Author: emaste Date: Sun Mar 15 03:03:01 2020 New Revision: 359006 URL: https://svnweb.freebsd.org/changeset/base/359006 Log: muge: enable RXCSUM as it now works MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Modified: head/sys/dev/usb/net/if_muge.c Modified: head/sys/dev/usb/net/if_muge.c ============================================================================== --- head/sys/dev/usb/net/if_muge.c Sun Mar 15 00:49:06 2020 (r359005) +++ head/sys/dev/usb/net/if_muge.c Sun Mar 15 03:03:01 2020 (r359006) @@ -54,9 +54,7 @@ __FBSDID("$FreeBSD$"); * A number of features supported by the lan78xx are not yet implemented in * this driver: * - * - RX/TX checksum offloading: Nothing has been implemented yet for - * TX checksumming. RX checksumming works with ICMP messages, but is broken - * for TCP/UDP packets. + * - TX checksum offloading: Nothing has been implemented yet. * - Direct address translation filtering: Implemented but untested. * - VLAN tag removal. * - Support for USB interrupt endpoints. @@ -128,7 +126,6 @@ SYSCTL_INT(_hw_usb_muge, OID_AUTO, debug, CTLFLAG_RWTU "Debug level"); #endif -#define MUGE_DEFAULT_RX_CSUM_ENABLE (false) #define MUGE_DEFAULT_TX_CSUM_ENABLE (false) #define MUGE_DEFAULT_TSO_CSUM_ENABLE (false) @@ -1616,8 +1613,7 @@ muge_attach_post_sub(struct usb_ether *ue) */ ifp->if_capabilities |= IFCAP_VLAN_MTU; ifp->if_hwassist = 0; - if (MUGE_DEFAULT_RX_CSUM_ENABLE) - ifp->if_capabilities |= IFCAP_RXCSUM; + ifp->if_capabilities |= IFCAP_RXCSUM; if (MUGE_DEFAULT_TX_CSUM_ENABLE) ifp->if_capabilities |= IFCAP_TXCSUM; From owner-svn-src-all@freebsd.org Sun Mar 15 03:32:40 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 86DE427195C; Sun, 15 Mar 2020 03:32:40 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48g4kc244Nz4K9R; Sun, 15 Mar 2020 03:32:40 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 31DE61862; Sun, 15 Mar 2020 03:32:40 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02F3Wedx079301; Sun, 15 Mar 2020 03:32:40 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02F3WeKs079300; Sun, 15 Mar 2020 03:32:40 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003150332.02F3WeKs079300@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sun, 15 Mar 2020 03:32:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359007 - head/sys/dev/usb/net X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/dev/usb/net X-SVN-Commit-Revision: 359007 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2020 03:32:40 -0000 Author: emaste Date: Sun Mar 15 03:32:39 2020 New Revision: 359007 URL: https://svnweb.freebsd.org/changeset/base/359007 Log: muge: drop CSUM from MUGE_DEFAULT_TSO_CSUM_ENABLE TSO is independent of checksum offload Modified: head/sys/dev/usb/net/if_muge.c Modified: head/sys/dev/usb/net/if_muge.c ============================================================================== --- head/sys/dev/usb/net/if_muge.c Sun Mar 15 03:03:01 2020 (r359006) +++ head/sys/dev/usb/net/if_muge.c Sun Mar 15 03:32:39 2020 (r359007) @@ -127,7 +127,7 @@ SYSCTL_INT(_hw_usb_muge, OID_AUTO, debug, CTLFLAG_RWTU #endif #define MUGE_DEFAULT_TX_CSUM_ENABLE (false) -#define MUGE_DEFAULT_TSO_CSUM_ENABLE (false) +#define MUGE_DEFAULT_TSO_ENABLE (false) /* Supported Vendor and Product IDs. */ static const struct usb_device_id lan78xx_devs[] = { @@ -1623,7 +1623,7 @@ muge_attach_post_sub(struct usb_ether *ue) * here, that's something related to socket buffers used in Linux. * FreeBSD doesn't have that as an interface feature. */ - if (MUGE_DEFAULT_TSO_CSUM_ENABLE) + if (MUGE_DEFAULT_TSO_ENABLE) ifp->if_capabilities |= IFCAP_TSO4 | IFCAP_TSO6; #if 0 From owner-svn-src-all@freebsd.org Sun Mar 15 17:40:15 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7740C274B51; Sun, 15 Mar 2020 17:40:15 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48gRXb0cdFz4L4q; Sun, 15 Mar 2020 17:40:15 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DF677B34F; Sun, 15 Mar 2020 17:40:14 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02FHeEvn086726; Sun, 15 Mar 2020 17:40:14 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02FHeE0v086725; Sun, 15 Mar 2020 17:40:14 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202003151740.02FHeE0v086725@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sun, 15 Mar 2020 17:40:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359008 - head/sys/modules/cam X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/modules/cam X-SVN-Commit-Revision: 359008 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2020 17:40:15 -0000 Author: imp Date: Sun Mar 15 17:40:14 2020 New Revision: 359008 URL: https://svnweb.freebsd.org/changeset/base/359008 Log: We don't need $M/$M in the path anymore. Now that machdep files are gone, we don't need $S/$M/$M in the path to find them. Modified: head/sys/modules/cam/Makefile Modified: head/sys/modules/cam/Makefile ============================================================================== --- head/sys/modules/cam/Makefile Sun Mar 15 03:32:39 2020 (r359007) +++ head/sys/modules/cam/Makefile Sun Mar 15 17:40:14 2020 (r359008) @@ -2,7 +2,7 @@ S= ${SRCTOP}/sys -.PATH: $S/cam $S/cam/scsi $S/cam/ata $S/cam/nvme $S/dev/nvme $S/${MACHINE}/${MACHINE} +.PATH: $S/cam $S/cam/scsi $S/cam/ata $S/cam/nvme $S/dev/nvme KMOD= cam From owner-svn-src-all@freebsd.org Sun Mar 15 18:59:13 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3C42A27622E; Sun, 15 Mar 2020 18:59:13 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48gTHh6Gpcz4Xb2; Sun, 15 Mar 2020 18:59:12 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from [192.168.0.6] (unknown [181.52.72.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: pfg) by smtp.freebsd.org (Postfix) with ESMTPSA id 2EF15B357; Sun, 15 Mar 2020 18:59:12 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Subject: Re: svn commit: r359005 - head/usr.bin/calendar/calendars To: cem@freebsd.org Cc: src-committers , svn-src-all , svn-src-head References: <202003150049.02F0n67t076614@repo.freebsd.org> From: Pedro Giffuni Organization: FreeBSD Message-ID: Date: Sun, 15 Mar 2020 13:59:10 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2020 18:59:13 -0000 On 14/03/2020 21:38, Conrad Meyer wrote: > On Sat, Mar 14, 2020 at 5:49 PM Pedro F. Giffuni wrote: >> Author: pfg >> Date: Sun Mar 15 00:49:06 2020 >> New Revision: 359005 >> URL: https://svnweb.freebsd.org/changeset/base/359005 >> >> Log: >> calendar(1): Updates and corrections for some calendar files. >> >> These have an educational value and are, no doubt, an integral part of the fun >> behind running the BSDs. > Hmm. I don't believe calendar(1) has education value (or to the > extent it has quantifiable value, N <= 0). Nor does it have more > subjective "fun" value. It certainly isn't integral to the system. Some cultures despise the value of history and things like education and maps and degenerate accordingly [1]: this tool helps by hinting curiosity. Of course if the database is not populated or people don't use calendar(1) it won't be effective at all. > It's a toy of a certain era that has aged poorly. Some quite long lasting institutions like the Roman Catholic Church, which will likely outlive me and you, use it extensively: http://www.romcal.net/output/2020.htm > It belongs with other fun and non-integral components, like > sopwith(6), in ports. Ultimately that's one of the reasons why there is interest in a packaged base. There are plenty of tools  in base that people don't commonly use; we have to find consensus instead of imposing our own limited views. Pedro. [1] https://youtu.be/lj3iNxZ8Dww From owner-svn-src-all@freebsd.org Sun Mar 15 21:47:17 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A8D90279CDC; Sun, 15 Mar 2020 21:47:17 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48gY1d2s0Gz4cJs; Sun, 15 Mar 2020 21:47:17 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 09F18E375; Sun, 15 Mar 2020 21:47:17 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02FLlGHa037271; Sun, 15 Mar 2020 21:47:16 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02FLlGxd037270; Sun, 15 Mar 2020 21:47:16 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003152147.02FLlGxd037270@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sun, 15 Mar 2020 21:47:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359009 - head/sys/dev/usb/net X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/dev/usb/net X-SVN-Commit-Revision: 359009 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2020 21:47:17 -0000 Author: emaste Date: Sun Mar 15 21:47:16 2020 New Revision: 359009 URL: https://svnweb.freebsd.org/changeset/base/359009 Log: if_muge: whitespace and style cleanup Submitted by: clang-format (in part) Sponsored by: The FreeBSD Foundation Modified: head/sys/dev/usb/net/if_muge.c Modified: head/sys/dev/usb/net/if_muge.c ============================================================================== --- head/sys/dev/usb/net/if_muge.c Sun Mar 15 17:40:14 2020 (r359008) +++ head/sys/dev/usb/net/if_muge.c Sun Mar 15 21:47:16 2020 (r359009) @@ -656,8 +656,8 @@ lan78xx_set_rx_max_frame_length(struct muge_softc *sc, * 0 is returned. */ static int -lan78xx_miibus_readreg(device_t dev, int phy, int reg) { - +lan78xx_miibus_readreg(device_t dev, int phy, int reg) +{ struct muge_softc *sc = device_get_softc(dev); int locked; uint32_t addr, val; @@ -1178,7 +1178,6 @@ muge_bulk_read_callback(struct usb_xfer *xfer, usb_err switch (USB_GET_STATE(xfer)) { case USB_ST_TRANSFERRED: - /* * There is always a zero length frame after bringing the * interface up. @@ -1195,7 +1194,6 @@ muge_bulk_read_callback(struct usb_xfer *xfer, usb_err off = 0; while (off < actlen) { - /* The frame header is aligned on a 4 byte boundary. */ off = ((off + 0x3) & ~0x3); @@ -1206,7 +1204,6 @@ muge_bulk_read_callback(struct usb_xfer *xfer, usb_err off += (sizeof(rx_cmd_a)); rx_cmd_a = le32toh(rx_cmd_a); - /* Extract RX CMD B. */ if (off + sizeof(rx_cmd_b) > actlen) goto tr_setup; @@ -1214,7 +1211,6 @@ muge_bulk_read_callback(struct usb_xfer *xfer, usb_err off += (sizeof(rx_cmd_b)); rx_cmd_b = le32toh(rx_cmd_b); - /* Extract RX CMD C. */ if (off + sizeof(rx_cmd_c) > actlen) goto tr_setup; @@ -1302,7 +1298,7 @@ muge_bulk_read_callback(struct usb_xfer *xfer, usb_err * be in host network order. */ m->m_pkthdr.csum_data = - ntohs(0xffff); + ntohs(0xffff); muge_dbg_printf(sc, "RX checksum offloaded (0x%04x)\n", @@ -1325,7 +1321,6 @@ muge_bulk_read_callback(struct usb_xfer *xfer, usb_err */ off += pktlen; } - /* FALLTHROUGH */ case USB_ST_SETUP: tr_setup: @@ -1333,7 +1328,6 @@ tr_setup: usbd_transfer_submit(xfer); uether_rxflush(ue); return; - default: if (error != USB_ERR_CANCELLED) { muge_warn_printf(sc, "bulk read error, %s\n", @@ -1374,7 +1368,7 @@ muge_bulk_write_callback(struct usb_xfer *xfer, usb_er muge_dbg_printf(sc, "USB TRANSFER status: USB_ST_SETUP\n"); tr_setup: if ((sc->sc_flags & MUGE_FLAG_LINK) == 0 || - (ifp->if_drv_flags & IFF_DRV_OACTIVE) != 0) { + (ifp->if_drv_flags & IFF_DRV_OACTIVE) != 0) { muge_dbg_printf(sc, "sc->sc_flags & MUGE_FLAG_LINK: %d\n", (sc->sc_flags & MUGE_FLAG_LINK)); @@ -1389,8 +1383,9 @@ tr_setup: */ return; } - for (nframes = 0; nframes < 16 && - !IFQ_DRV_IS_EMPTY(&ifp->if_snd); nframes++) { + for (nframes = 0; + nframes < 16 && !IFQ_DRV_IS_EMPTY(&ifp->if_snd); + nframes++) { IFQ_DRV_DEQUEUE(&ifp->if_snd, m); if (m == NULL) break; @@ -1636,9 +1631,9 @@ muge_attach_post_sub(struct usb_ether *ue) ifp->if_capenable = ifp->if_capabilities; mtx_lock(&Giant); - error = mii_attach(ue->ue_dev, &ue->ue_miibus, ifp, - uether_ifmedia_upd, ue->ue_methods->ue_mii_sts, - BMSR_DEFCAPMASK, sc->sc_phyno, MII_OFFSET_ANY, 0); + error = mii_attach(ue->ue_dev, &ue->ue_miibus, ifp, uether_ifmedia_upd, + ue->ue_methods->ue_mii_sts, BMSR_DEFCAPMASK, sc->sc_phyno, + MII_OFFSET_ANY, 0); mtx_unlock(&Giant); return (0); @@ -1696,7 +1691,7 @@ muge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data /* Modify the RX CSUM enable bits. */ if ((mask & IFCAP_RXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_RXCSUM) != 0) { + (ifp->if_capabilities & IFCAP_RXCSUM) != 0) { ifp->if_capenable ^= IFCAP_RXCSUM; if (ifp->if_drv_flags & IFF_DRV_RUNNING) { @@ -1708,7 +1703,6 @@ muge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data MUGE_UNLOCK(sc); if (reinit) uether_init(ue); - } else { rc = uether_ioctl(ifp, cmd, data); } @@ -1894,7 +1888,7 @@ muge_setmulti(struct usb_ether *ue) MUGE_LOCK_ASSERT(sc, MA_OWNED); sc->sc_rfe_ctl &= ~(ETH_RFE_CTL_UCAST_EN_ | ETH_RFE_CTL_MCAST_EN_ | - ETH_RFE_CTL_DA_PERFECT_ | ETH_RFE_CTL_MCAST_HASH_); + ETH_RFE_CTL_DA_PERFECT_ | ETH_RFE_CTL_MCAST_HASH_); /* Initialize hash filter table. */ for (i = 0; i < ETH_DP_SEL_VHF_HASH_LEN; i++) @@ -1902,8 +1896,7 @@ muge_setmulti(struct usb_ether *ue) /* Initialize perfect filter table. */ for (i = 1; i < MUGE_NUM_PFILTER_ADDRS_; i++) { - sc->sc_pfilter_table[i][0] = - sc->sc_pfilter_table[i][1] = 0; + sc->sc_pfilter_table[i][0] = sc->sc_pfilter_table[i][1] = 0; } sc->sc_rfe_ctl |= ETH_RFE_CTL_BCAST_EN_; @@ -1911,7 +1904,7 @@ muge_setmulti(struct usb_ether *ue) if (ifp->if_flags & IFF_PROMISC) { muge_dbg_printf(sc, "promiscuous mode enabled\n"); sc->sc_rfe_ctl |= ETH_RFE_CTL_MCAST_EN_ | ETH_RFE_CTL_UCAST_EN_; - } else if (ifp->if_flags & IFF_ALLMULTI){ + } else if (ifp->if_flags & IFF_ALLMULTI) { muge_dbg_printf(sc, "receive all multicast enabled\n"); sc->sc_rfe_ctl |= ETH_RFE_CTL_MCAST_EN_; } else { @@ -1957,7 +1950,8 @@ muge_setpromisc(struct usb_ether *ue) * RETURNS: * Returns 0 on success or a negative error code. */ -static int muge_sethwcsum(struct muge_softc *sc) +static int +muge_sethwcsum(struct muge_softc *sc) { struct ifnet *ifp = uether_getifp(&sc->sc_ue); int err; From owner-svn-src-all@freebsd.org Sun Mar 15 22:12:14 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 42F7B27A468; Sun, 15 Mar 2020 22:12:14 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-oi1-f178.google.com (mail-oi1-f178.google.com [209.85.167.178]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48gYZP707Wz4Mcb; Sun, 15 Mar 2020 22:12:13 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-oi1-f178.google.com with SMTP id k18so15752824oib.3; Sun, 15 Mar 2020 15:12:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=y6azxu8OxOkSryKmzq76I+qix1RNe5WuHa1inF9CXt4=; b=KWk60E99kPx6xxN2qYKJeIb7SdZ/EDSC6M2a//Y81WgSfLLGCE4+ZZd+IRxiSABkv2 CQAXEFV364Sky3s0mFTyOkYFq+JwH7NGO4o5kyMZV7z5lMPHpaJCSxITyxVUFKyQP/UJ NZRrg5NiUVJXnxUnieSELI7lK6rkZeamweiC6/OydDtz/uLE+UH78dX2OGEnSyJEWVW5 he1jbA1r0VnKMLNVd/4cwq+n4xCJFD5CK1cpe7QeLuKzF4/kS4bGAcDd1R1Ex8HqaqlA DXkUgtaK81ywymQp/ozq9jjNFJxoetcJdAAss3DrK7JeW/nuO0k+/DdyDH4FNxNS8fN+ KL5w== X-Gm-Message-State: ANhLgQ1i05SVIPE3yPibYG7G6sE8w2ZPVL9CqPGSnw2anPDvQppXAdmq YJeva53UGQ63dkXwJF3F71hV+tDW X-Google-Smtp-Source: ADFU+vv/ApYRGDa8enJl3Xi9YrxyK10H3TyenezT76PiTAJHnFJ17u43WDL1SESNF8mxVOaLgnCpKA== X-Received: by 2002:a05:6808:c8:: with SMTP id t8mr2043491oic.3.1584310332163; Sun, 15 Mar 2020 15:12:12 -0700 (PDT) Received: from mail-oi1-f174.google.com (mail-oi1-f174.google.com. [209.85.167.174]) by smtp.gmail.com with ESMTPSA id e22sm22577387ote.32.2020.03.15.15.12.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 15 Mar 2020 15:12:11 -0700 (PDT) Received: by mail-oi1-f174.google.com with SMTP id r7so15770461oij.0; Sun, 15 Mar 2020 15:12:11 -0700 (PDT) X-Received: by 2002:aca:4303:: with SMTP id q3mr1961910oia.81.1584310331323; Sun, 15 Mar 2020 15:12:11 -0700 (PDT) MIME-Version: 1.0 References: <202003150049.02F0n67t076614@repo.freebsd.org> In-Reply-To: Reply-To: cem@freebsd.org From: Conrad Meyer Date: Sun, 15 Mar 2020 15:12:00 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359005 - head/usr.bin/calendar/calendars To: Pedro Giffuni Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48gYZP707Wz4Mcb X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-5.78 / 15.00]; NEURAL_HAM_MEDIUM(-0.78)[-0.783,0]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2020 22:12:14 -0000 Pedro, It seems like you are attempting to belittle me, and perhaps the entire USA, by intentionally conflating the calendar(1) program with the entire concept of written records and education. Stop it. I know you're smart and have been around FreeBSD long enough to understand that in context, 'calendar(1)' referred to /usr/bin/calendar; pretending to misunderstand in order to respond to a straw man does not persuade. It's also just not a great way to treat fellow project contributors, even if you disagree with my opinion. Sarcasm doesn't work on the internet. Especially not among colleagues. Please try to speak directly and advocate for your viewpoints without resorting to it, or sweeping attacks on my person and/or "culture." Thank you, Conrad On Sun, Mar 15, 2020 at 11:59 AM Pedro Giffuni wrote: > Some cultures despise the value of history and things like education and > maps and degenerate accordingly [1]: this tool helps by hinting > curiosity. Of course if the database is not populated or people don't > use calendar(1) it won't be effective at all. > > > [calendar(1)]'s a toy of a certain era that has aged poorly. > > Some quite long lasting institutions like the Roman Catholic Church, > which will likely outlive me and you, use it extensively: > > http://www.romcal.net/output/2020.htm > > > [calendar(1)] belongs with other fun and non-integral components, like > > sopwith(6), in ports. > > Ultimately that's one of the reasons why there is interest in a packaged > base. There are plenty of tools in base that people don't commonly use; > we have to find consensus instead of imposing our own limited views. > > Pedro. > > [1] https://youtu.be/lj3iNxZ8Dww From owner-svn-src-all@freebsd.org Sun Mar 15 22:52:04 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6BF1C27B092; Sun, 15 Mar 2020 22:52:04 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48gZSN0v3Jz47hV; Sun, 15 Mar 2020 22:52:04 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from [192.168.0.6] (unknown [181.52.72.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: pfg) by smtp.freebsd.org (Postfix) with ESMTPSA id 7677FCFA6; Sun, 15 Mar 2020 22:52:03 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Subject: Re: svn commit: r359005 - head/usr.bin/calendar/calendars To: cem@freebsd.org Cc: src-committers , svn-src-all , svn-src-head References: <202003150049.02F0n67t076614@repo.freebsd.org> From: Pedro Giffuni Organization: FreeBSD Message-ID: <814739f4-0e58-9c2c-5cfb-518d3ab608dc@FreeBSD.org> Date: Sun, 15 Mar 2020 17:52:02 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2020 22:52:04 -0000 On 15/03/2020 17:12, Conrad Meyer wrote: > Pedro, > > It seems like you are attempting to belittle me, and perhaps the > entire USA, by intentionally conflating the calendar(1) program with > the entire concept of written records and education. Stop it. I know > you're smart and have been around FreeBSD long enough to understand > that in context, 'calendar(1)' referred to /usr/bin/calendar; > pretending to misunderstand in order to respond to a straw man does > not persuade. For all I know the calendar(1) utility comes from Berkeley, it was included in the CSRG BSD distribution and was written from someone in the US. From my personal point of view, I believe my most important contribution to FreeBSD as a whole was r321834, which added the Catholic holidays, followed in many countries, to calendar(1). For non-catholics it is surely unimportant and a culture/religion uniqueness thing but I've always thought FreeBSD had such interest in culture diversity. Yes, for you calendar is something accidental that shouldn't be there, for me it's a differentiating factor. > It's also just not a great way to treat fellow project contributors, > even if you disagree with my opinion. That was not at all my intention. > Sarcasm doesn't work on the internet. Especially not among > colleagues. Please try to speak directly and advocate for your > viewpoints without resorting to it, or sweeping attacks on my person > and/or "culture." Please excuse me if you felt I meant anything personal against you or your way of thinking. I was trying to show you how someone else, like me, really sees somethings different. It is more that just code. Now, if we can just go on with the regular programming, and leave calendar(1) as it is. Pedro. From owner-svn-src-all@freebsd.org Sun Mar 15 23:34:19 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id ACB9A27C04A for ; Sun, 15 Mar 2020 23:34:19 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound3d.ore.mailhop.org (outbound3d.ore.mailhop.org [54.186.57.195]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48gbP65YbWz3G2s for ; Sun, 15 Mar 2020 23:34:18 +0000 (UTC) (envelope-from ian@freebsd.org) ARC-Seal: i=1; a=rsa-sha256; t=1584315256; cv=none; d=outbound.mailhop.org; s=arc-outbound20181012; b=ADxxZRdn5w1HmrzpY9ijl4rrfPxU5OVyTDLraSx7eUZ/dhKLkotdE5LwDi+kxiPDZVh72F5yK08NC CI0RXmCcvNMhfP91QBkiGbQddjBuvI4265iIl5AI9Rp4zVAbUU9O6Z75A105NeXBWeQd1W9KWFZU2h 9iKxoPa4trOWMzAMGp+Zw7FE7U5K3M8pudD3eRtZeh5XpSHvRbhq0mK/iwThRaLAVwZQjyUApRDZ4b 2PY7PHY5LmuK31Uv6YgIgVb+xB4g+smjc2lWmuEfXWrt+hjQp4b5vZkendFqIJ6kGuVyYEjVO/dKln vyyrbBZ6p0LN6KFJ69UVsyW7xrFs4uQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=arc-outbound20181012; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:dkim-signature:from; bh=Lq77cxavgjQHlsfOyqA45G4+XmTYFDIU74G1n4RswT0=; b=QU3rZoDzEwvZwFbGwQrEsXboZ9C4Nqk8v2knI+f0ds0iuaZb7NsmQw/yJuerGMxl+vFwL7GW3XTZ/ 9yokgeI7QGwuXVT29rk/iN+tNY/X2eOI6ldFo5zX2Ix/qPyhG7PHxWnHeX8WFx7tLH+W2lAJ003ANY ZwT6kehYofhW6/TcBFWs0HVsrRFw2kiAYPL+D4wim/mIbSVJy2zNYzNPkquyvAzcEHoJxJNKLy/VQF pXHz7bg4W1A8yB/VNYCZxUoN4eVg5+sLWkK3jKrIHQKClQeLKE+zE+YVyf1WTqxlsDMHMXixuMLSEA acUqRPVdeedRIbkhOtIhZZsjIGxPR9g== ARC-Authentication-Results: i=1; outbound3.ore.mailhop.org; spf=softfail smtp.mailfrom=freebsd.org smtp.remote-ip=67.177.211.60; dmarc=none header.from=freebsd.org; arc=none header.oldest-pass=0; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=dkim-high; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:from; bh=Lq77cxavgjQHlsfOyqA45G4+XmTYFDIU74G1n4RswT0=; b=oOzwDKPuwuEoRRVNngb+C/T0m4v0oqbobko+KRQUloZyZ+3f8B9dZj+yUOewKeryu+bS3GoIGUTsY ZwIfJ3Yi8KE9WmsKgGfk0WUUVkZJUlmFkPlg/sc16aS1v2B/9R9bJ23oHF7MUMRhLiuEGIZ2ZamldT fEkhvvh0ViZdvB7+r7+2pEa5PTusEodmad+MyOvWNcwAx76tzlfeS2nHWO7G5ogmDVGLDpFF5ASqjE pekn7b3zEUbxK6PYL98F564OOb8Y1Fq+ozwSySrpuhLuXodEpOq5N1UdJRdk+Mo10Z1vU2nSNdxYfi Tx2q86yogB6laBg9E2YsEDNbWJgo3QA== X-MHO-RoutePath: aGlwcGll X-MHO-User: 7ab6b4a6-6715-11ea-b80e-052b4a66b6b2 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 67.177.211.60 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [67.177.211.60]) by outbound3.ore.mailhop.org (Halon) with ESMTPSA id 7ab6b4a6-6715-11ea-b80e-052b4a66b6b2; Sun, 15 Mar 2020 23:34:14 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id 02FNYDJG066081; Sun, 15 Mar 2020 17:34:13 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <2870c2b46eab83e6976ba1915fdf723b790d81fc.camel@freebsd.org> Subject: Re: svn commit: r359005 - head/usr.bin/calendar/calendars From: Ian Lepore To: cem@freebsd.org, Pedro Giffuni Cc: src-committers , svn-src-all , svn-src-head Date: Sun, 15 Mar 2020 17:34:13 -0600 In-Reply-To: References: <202003150049.02F0n67t076614@repo.freebsd.org> Content-Type: text/plain; charset="ASCII" X-Mailer: Evolution 3.28.5 FreeBSD GNOME Team Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 48gbP65YbWz3G2s X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-0.15 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_HAM_LONG(-0.95)[-0.954,0]; NEURAL_SPAM_MEDIUM(0.81)[0.806,0]; ASN(0.00)[asn:16509, ipnet:54.186.0.0/15, country:US] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2020 23:34:19 -0000 On Sun, 2020-03-15 at 15:12 -0700, Conrad Meyer wrote: [...] > Sarcasm doesn't work on the internet. Do you mean things like... > URL: https://svnweb.freebsd.org/changeset/base/358562 > > Log: > Add extremely useful calendar(1) application to FreeBSD > > It does extremely useful things like execute sendmail and spew dubiously > accurate factoids. > > From the feedback, it seems like it is an essential utility in a modern unix > and not at all a useless bikeshed. How do those Linux people live without it? > Reverts r358561. Because I have to agree, that sure didn't work for me. Neither do hypocritical holier-than-thou proclamations, or attempts to wrap one's self in the mantle of victimhood after having behaved as a confrontational aggressor. -- Ian From owner-svn-src-all@freebsd.org Sun Mar 15 23:56:38 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3063227C4A3 for ; Sun, 15 Mar 2020 23:56:38 +0000 (UTC) (envelope-from email@email.com) Received: from mail.gipermarket.kg (mail.gipermarket.kg [212.112.116.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48gbtr2YWKz3JKQ for ; Sun, 15 Mar 2020 23:56:36 +0000 (UTC) (envelope-from email@email.com) Received: from localhost (localhost [127.0.0.1]) by mail.gipermarket.kg (Postfix) with ESMTP id 4E3E69C61AE45 for ; Mon, 16 Mar 2020 05:29:37 +0600 (+06) Received: from mail.gipermarket.kg ([127.0.0.1]) by localhost (mail.gipermarket.kg [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id mjnvkaFZAJ1O for ; Mon, 16 Mar 2020 05:29:37 +0600 (+06) Received: from localhost (localhost [127.0.0.1]) by mail.gipermarket.kg (Postfix) with ESMTP id 62A84F029F for ; Mon, 16 Mar 2020 04:58:00 +0600 (+06) X-Virus-Scanned: amavisd-new at mail.gipermarket.kg Received: from mail.gipermarket.kg ([127.0.0.1]) by localhost (mail.gipermarket.kg [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 2DnPHdhnyjcO for ; Mon, 16 Mar 2020 04:58:00 +0600 (+06) Received: from email.com (unknown [108.62.118.161]) by mail.gipermarket.kg (Postfix) with ESMTPA id 7DAFE8A42BB98 for ; Mon, 16 Mar 2020 04:29:25 +0600 (+06) From: freebsd.org To: svn-src-all@freebsd.org Subject: You failed email deliveries Date: 15 Mar 2020 15:29:22 -0700 Message-ID: <20200315152922.066A606654D81EFC@email.com> X-Rspamd-Queue-Id: 48gbtr2YWKz3JKQ X-Spamd-Bar: +++++++++ Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=fail (mx1.freebsd.org: domain of email@email.com does not designate 212.112.116.229 as permitted sender) smtp.mailfrom=email@email.com X-Spamd-Result: default: False [9.80 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; FREEMAIL_FROM(0.00)[email.com]; TO_DN_NONE(0.00)[]; PHISHED_PHISHTANK(2.10)[hp http://www.phishtank.com/phish_detail.php?phish_id=6442871]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:~]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[email.com]; ASN(0.00)[asn:12764, ipnet:212.112.116.0/24, country:KG]; MID_RHS_MATCH_FROM(0.00)[]; ARC_NA(0.00)[]; R_SPF_FAIL(1.00)[-all:c]; RCVD_COUNT_FIVE(0.00)[6]; RSPAMD_URIBL(4.50)[firebasestorage.googleapis.com]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; IP_SCORE_FREEMAIL(0.00)[]; IP_SCORE(0.00)[ip: (5.91), ipnet: 212.112.116.0/24(2.96), asn: 12764(2.22), country: KG(0.08)]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; NEURAL_SPAM_MEDIUM(1.00)[1.000,0]; RCPT_COUNT_ONE(0.00)[1]; RCVD_TLS_LAST(0.00)[]; NEURAL_SPAM_LONG(1.00)[1.000,0]; RCVD_IN_DNSWL_NONE(0.00)[229.116.112.212.list.dnswl.org : 127.0.10.0]; MIME_HTML_ONLY(0.20)[]; DMARC_NA(0.00)[email.com]; GREYLIST(0.00)[pass,body] X-Spam: Yes MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2020 23:56:38 -0000 From owner-svn-src-all@freebsd.org Mon Mar 16 05:13:39 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8DFEE25A058; Mon, 16 Mar 2020 05:13:39 +0000 (UTC) (envelope-from chuq@chuq.com) Received: from vc.chuq.com (vc.chuq.com [166.84.7.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Chuck Silvers", Issuer "Chuck Silvers" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 48gkwd5z57z4LWm; Mon, 16 Mar 2020 05:13:37 +0000 (UTC) (envelope-from chuq@chuq.com) Received: from spathi.chuq.com (unknown [24.4.24.36]) by vc169.vc.panix.com (Postfix) with ESMTPS id 0D04F3B5D78; Sun, 15 Mar 2020 22:13:31 -0700 (PDT) (envelope-from chuq@chuq.com) Received: by spathi.chuq.com (Postfix, from userid 1022) id D853E3CFFA23; Sun, 15 Mar 2020 22:13:29 -0700 (PDT) Date: Sun, 15 Mar 2020 22:13:29 -0700 From: Chuck Silvers To: Mark Johnston Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, glebius@freebsd.org Subject: Re: svn commit: r358597 - head/sys/kern Message-ID: <20200316051329.GA4598@spathi.chuq.com> References: <202003040022.0240Mpm6074186@repo.freebsd.org> <20200313234817.GA10027@spy> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200313234817.GA10027@spy> X-Rspamd-Queue-Id: 48gkwd5z57z4LWm X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of chuq@chuq.com designates 166.84.7.169 as permitted sender) smtp.mailfrom=chuq@chuq.com X-Spamd-Result: default: False [-4.43 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.99)[-0.987,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[chuq.com]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCPT_COUNT_FIVE(0.00)[5]; IP_SCORE(-2.14)[ip: (-3.35), ipnet: 166.84.0.0/16(-4.06), asn: 2033(-3.25), country: US(-0.05)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:2033, ipnet:166.84.0.0/16, country:US]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; RECEIVED_SPAMHAUS_PBL(0.00)[36.24.4.24.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.10] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 05:13:39 -0000 On Fri, Mar 13, 2020 at 07:48:17PM -0400, Mark Johnston wrote: > On Wed, Mar 04, 2020 at 12:22:51AM +0000, Chuck Silvers wrote: > > Author: chs > > Date: Wed Mar 4 00:22:50 2020 > > New Revision: 358597 > > URL: https://svnweb.freebsd.org/changeset/base/358597 > > > > Log: > > if vm_pager_get_pages_async() returns an error, release the sfio->nios > > refcount that we took earlier that represents the I/O that ended up > > not being started. > > I think a larger bug is that getpages_async is not consistent about > whether it invokes the completion callback in synchronous error cases. > For instance, vop_stdgetpages_async() always calls it, as does > ffs_getpages_async() when the filesystem fragment size is larger than > the page size. But vnode_pager_generic_getpages() does not. So if one > is using sendfile on a filesystem that does not implement > getpages_async, an error will cause sendfile_swapin() to unbusy the > input pages multiple times, and release the sfio refcount twice when it > should be done just once. ah yes, you're right. I was only looking at the path we actually hit. I think the simplest way to resolve this would be to change vnode_pager_generic_getpages() in the async case to always call the iodone callback and always return 0. (in the sync case vnode_pager_generic_getpages() would continue to return an error code if an error is encountered.) vm_pager_get_pages_async() could then be changed to return void since after the avoid changes it would always return 0. swap_pager_getpages_async() already always calls the iodone callback but it would return void too after the above changes. If that is agreeable to you and Gleb then I'll make the changes. -Chuck From owner-svn-src-all@freebsd.org Mon Mar 16 08:44:47 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 892A325F013; Mon, 16 Mar 2020 08:44:47 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48gqcH0BQHz4Wpn; Mon, 16 Mar 2020 08:44:47 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EE0241DE70; Mon, 16 Mar 2020 08:44:46 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02G8ikew032843; Mon, 16 Mar 2020 08:44:46 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02G8ikoq032842; Mon, 16 Mar 2020 08:44:46 GMT (envelope-from kp@FreeBSD.org) Message-Id: <202003160844.02G8ikoq032842@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Mon, 16 Mar 2020 08:44:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359010 - head/tests/sys/net X-SVN-Group: head X-SVN-Commit-Author: kp X-SVN-Commit-Paths: head/tests/sys/net X-SVN-Commit-Revision: 359010 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 08:44:47 -0000 Author: kp Date: Mon Mar 16 08:44:46 2020 New Revision: 359010 URL: https://svnweb.freebsd.org/changeset/base/359010 Log: bridge tests: Basic span test Reviewed by: philip, emaste (previous version) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D23961 Modified: head/tests/sys/net/if_bridge_test.sh Modified: head/tests/sys/net/if_bridge_test.sh ============================================================================== --- head/tests/sys/net/if_bridge_test.sh Sun Mar 15 21:47:16 2020 (r359009) +++ head/tests/sys/net/if_bridge_test.sh Mon Mar 16 08:44:46 2020 (r359010) @@ -191,9 +191,64 @@ static_cleanup() vnet_cleanup } +atf_test_case "span" "cleanup" +span_head() +{ + atf_set descr 'Bridge span test' + atf_set require.user root +} + +span_body() +{ + set -x + vnet_init + + epair=$(vnet_mkepair) + epair_span=$(vnet_mkepair) + bridge=$(vnet_mkbridge) + + vnet_mkjail one ${bridge} ${epair}a ${epair_span}a + + ifconfig ${epair}b up + ifconfig ${epair_span}b up + + jexec one ifconfig ${bridge} up + jexec one ifconfig ${epair}a up + jexec one ifconfig ${epair_span}a up + jexec one ifconfig ${bridge} addm ${epair}a + + jexec one ifconfig ${bridge} span ${epair_span}a + jexec one ifconfig ${bridge} 192.0.2.1/24 + + # Send some traffic through the span + jexec one ping -c 1 -t 1 192.0.2.2 + + # Check that we see the traffic on the span interface + atf_check -s exit:0 \ + $(atf_get_srcdir)/../netpfil/common/pft_ping.py \ + --sendif ${epair}b \ + --to 192.0.2.2 \ + --recvif ${epair_span}b + + jexec one ifconfig ${bridge} -span ${epair_span}a + + # And no more traffic after we remove the span + atf_check -s exit:1 \ + $(atf_get_srcdir)/../netpfil/common/pft_ping.py \ + --sendif ${epair}b \ + --to 192.0.2.2 \ + --recvif ${epair_span}b +} + +span_cleanup() +{ + vnet_cleanup +} + atf_init_test_cases() { atf_add_test_case "bridge_transmit_ipv4_unicast" atf_add_test_case "stp" atf_add_test_case "static" + atf_add_test_case "span" } From owner-svn-src-all@freebsd.org Mon Mar 16 11:38:27 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7C6D52636C4; Mon, 16 Mar 2020 11:38:27 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48gvSg1C14z42Hb; Mon, 16 Mar 2020 11:38:27 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F1D441FDE6; Mon, 16 Mar 2020 11:38:26 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GBcQOW034925; Mon, 16 Mar 2020 11:38:26 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GBcQkm034924; Mon, 16 Mar 2020 11:38:26 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003161138.02GBcQkm034924@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 16 Mar 2020 11:38:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359011 - stable/12/sys/kern X-SVN-Group: stable-12 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: stable/12/sys/kern X-SVN-Commit-Revision: 359011 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 11:38:27 -0000 Author: kib Date: Mon Mar 16 11:38:26 2020 New Revision: 359011 URL: https://svnweb.freebsd.org/changeset/base/359011 Log: MFC r358816: Style. Modified: stable/12/sys/kern/sys_pipe.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/kern/sys_pipe.c ============================================================================== --- stable/12/sys/kern/sys_pipe.c Mon Mar 16 08:44:46 2020 (r359010) +++ stable/12/sys/kern/sys_pipe.c Mon Mar 16 11:38:26 2020 (r359011) @@ -509,8 +509,8 @@ retry: error = vm_map_find(pipe_map, NULL, 0, (vm_offset_t *)&buffer, size, 0, VMFS_ANY_SPACE, VM_PROT_RW, VM_PROT_RW, 0); if (error != KERN_SUCCESS) { - if ((cpipe->pipe_buffer.buffer == NULL) && - (size > SMALL_PIPE_SIZE)) { + if (cpipe->pipe_buffer.buffer == NULL && + size > SMALL_PIPE_SIZE) { size = SMALL_PIPE_SIZE; pipefragretry++; goto retry; @@ -557,7 +557,7 @@ pipespace(struct pipe *cpipe, int size) { KASSERT(cpipe->pipe_state & PIPE_LOCKFL, - ("Unlocked pipe passed to pipespace")); + ("Unlocked pipe passed to pipespace")); return (pipespace_new(cpipe, size)); } @@ -662,10 +662,10 @@ pipe_read(struct file *fp, struct uio *uio, struct ucr goto locked_error; #endif if (amountpipekva > (3 * maxpipekva) / 4) { - if (!(rpipe->pipe_state & PIPE_DIRECTW) && - (rpipe->pipe_buffer.size > SMALL_PIPE_SIZE) && - (rpipe->pipe_buffer.cnt <= SMALL_PIPE_SIZE) && - (piperesizeallowed == 1)) { + if ((rpipe->pipe_state & PIPE_DIRECTW) == 0 && + rpipe->pipe_buffer.size > SMALL_PIPE_SIZE && + rpipe->pipe_buffer.cnt <= SMALL_PIPE_SIZE && + piperesizeallowed == 1) { PIPE_UNLOCK(rpipe); pipespace(rpipe, SMALL_PIPE_SIZE); PIPE_LOCK(rpipe); @@ -1013,10 +1013,9 @@ static int pipe_write(struct file *fp, struct uio *uio, struct ucred *active_cred, int flags, struct thread *td) { - int error = 0; - int desiredsize; - ssize_t orig_resid; struct pipe *wpipe, *rpipe; + ssize_t orig_resid; + int desiredsize, error; rpipe = fp->f_data; wpipe = PIPE_PEER(rpipe); @@ -1058,15 +1057,15 @@ pipe_write(struct file *fp, struct uio *uio, struct uc } /* Choose a smaller size if we're in a OOM situation */ - if ((amountpipekva > (3 * maxpipekva) / 4) && - (wpipe->pipe_buffer.size > SMALL_PIPE_SIZE) && - (wpipe->pipe_buffer.cnt <= SMALL_PIPE_SIZE) && - (piperesizeallowed == 1)) + if (amountpipekva > (3 * maxpipekva) / 4 && + wpipe->pipe_buffer.size > SMALL_PIPE_SIZE && + wpipe->pipe_buffer.cnt <= SMALL_PIPE_SIZE && + piperesizeallowed == 1) desiredsize = SMALL_PIPE_SIZE; /* Resize if the above determined that a new size was necessary */ - if ((desiredsize != wpipe->pipe_buffer.size) && - ((wpipe->pipe_state & PIPE_DIRECTW) == 0)) { + if (desiredsize != wpipe->pipe_buffer.size && + (wpipe->pipe_state & PIPE_DIRECTW) == 0) { PIPE_UNLOCK(wpipe); pipespace(wpipe, desiredsize); PIPE_LOCK(wpipe); From owner-svn-src-all@freebsd.org Mon Mar 16 11:41:00 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A15A72637D2; Mon, 16 Mar 2020 11:41:00 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48gvWc1tG4z48BC; Mon, 16 Mar 2020 11:41:00 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 07D5B1FE16; Mon, 16 Mar 2020 11:41:00 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GBexdw035127; Mon, 16 Mar 2020 11:40:59 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GBexlw035124; Mon, 16 Mar 2020 11:40:59 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003161140.02GBexlw035124@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 16 Mar 2020 11:40:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359012 - in stable/12/sys: fs/fifofs kern sys X-SVN-Group: stable-12 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in stable/12/sys: fs/fifofs kern sys X-SVN-Commit-Revision: 359012 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 11:41:00 -0000 Author: kib Date: Mon Mar 16 11:40:59 2020 New Revision: 359012 URL: https://svnweb.freebsd.org/changeset/base/359012 Log: MFC r358825: Preallocate pipe buffers on pipe creation. Modified: stable/12/sys/fs/fifofs/fifo_vnops.c stable/12/sys/kern/sys_pipe.c stable/12/sys/sys/pipe.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/fs/fifofs/fifo_vnops.c ============================================================================== --- stable/12/sys/fs/fifofs/fifo_vnops.c Mon Mar 16 11:38:26 2020 (r359011) +++ stable/12/sys/fs/fifofs/fifo_vnops.c Mon Mar 16 11:40:59 2020 (r359012) @@ -150,7 +150,9 @@ fifo_open(ap) if (fp == NULL || (ap->a_mode & FEXEC) != 0) return (EINVAL); if ((fip = vp->v_fifoinfo) == NULL) { - pipe_named_ctor(&fpipe, td); + error = pipe_named_ctor(&fpipe, td); + if (error != 0) + return (error); fip = malloc(sizeof(*fip), M_VNODE, M_WAITOK); fip->fi_pipe = fpipe; fpipe->pipe_wgen = fip->fi_readers = fip->fi_writers = 0; Modified: stable/12/sys/kern/sys_pipe.c ============================================================================== --- stable/12/sys/kern/sys_pipe.c Mon Mar 16 11:38:26 2020 (r359011) +++ stable/12/sys/kern/sys_pipe.c Mon Mar 16 11:40:59 2020 (r359012) @@ -226,8 +226,8 @@ SYSCTL_INT(_kern_ipc, OID_AUTO, piperesizeallowed, CTL static void pipeinit(void *dummy __unused); static void pipeclose(struct pipe *cpipe); static void pipe_free_kmem(struct pipe *cpipe); -static void pipe_create(struct pipe *pipe, int backing); -static void pipe_paircreate(struct thread *td, struct pipepair **p_pp); +static int pipe_create(struct pipe *pipe, bool backing); +static int pipe_paircreate(struct thread *td, struct pipepair **p_pp); static __inline int pipelock(struct pipe *cpipe, int catch); static __inline void pipeunlock(struct pipe *cpipe); #ifndef PIPE_NODIRECT @@ -335,11 +335,12 @@ pipe_zone_fini(void *mem, int size) mtx_destroy(&pp->pp_mtx); } -static void +static int pipe_paircreate(struct thread *td, struct pipepair **p_pp) { struct pipepair *pp; struct pipe *rpipe, *wpipe; + int error; *p_pp = pp = uma_zalloc(pipe_zone, M_WAITOK); #ifdef MAC @@ -357,22 +358,44 @@ pipe_paircreate(struct thread *td, struct pipepair **p knlist_init_mtx(&rpipe->pipe_sel.si_note, PIPE_MTX(rpipe)); knlist_init_mtx(&wpipe->pipe_sel.si_note, PIPE_MTX(wpipe)); - /* Only the forward direction pipe is backed by default */ - pipe_create(rpipe, 1); - pipe_create(wpipe, 0); + /* + * Only the forward direction pipe is backed by big buffer by + * default. + */ + error = pipe_create(rpipe, true); + if (error != 0) + goto fail; + error = pipe_create(wpipe, false); + if (error != 0) { + pipe_free_kmem(rpipe); + goto fail; + } rpipe->pipe_state |= PIPE_DIRECTOK; wpipe->pipe_state |= PIPE_DIRECTOK; + return (0); + +fail: + knlist_destroy(&rpipe->pipe_sel.si_note); + knlist_destroy(&wpipe->pipe_sel.si_note); +#ifdef MAC + mac_pipe_destroy(pp); +#endif + return (error); } -void +int pipe_named_ctor(struct pipe **ppipe, struct thread *td) { struct pipepair *pp; + int error; - pipe_paircreate(td, &pp); + error = pipe_paircreate(td, &pp); + if (error != 0) + return (error); pp->pp_rpipe.pipe_state |= PIPE_NAMED; *ppipe = &pp->pp_rpipe; + return (0); } void @@ -404,7 +427,9 @@ kern_pipe(struct thread *td, int fildes[2], int flags, struct pipepair *pp; int fd, fflags, error; - pipe_paircreate(td, &pp); + error = pipe_paircreate(td, &pp); + if (error != 0) + return (error); rpipe = &pp->pp_rpipe; wpipe = &pp->pp_wpipe; error = falloc_caps(td, &rf, &fd, flags, fcaps1); @@ -618,25 +643,16 @@ pipeselwakeup(struct pipe *cpipe) * Initialize and allocate VM and memory for pipe. The structure * will start out zero'd from the ctor, so we just manage the kmem. */ -static void -pipe_create(struct pipe *pipe, int backing) +static int +pipe_create(struct pipe *pipe, bool large_backing) { + int error; - if (backing) { - /* - * Note that these functions can fail if pipe map is exhausted - * (as a result of too many pipes created), but we ignore the - * error as it is not fatal and could be provoked by - * unprivileged users. The only consequence is worse performance - * with given pipe. - */ - if (amountpipekva > maxpipekva / 2) - (void)pipespace_new(pipe, SMALL_PIPE_SIZE); - else - (void)pipespace_new(pipe, PIPE_SIZE); - } - - pipe->pipe_ino = alloc_unr64(&pipeino_unr); + error = pipespace_new(pipe, !large_backing || amountpipekva > + maxpipekva / 2 ? SMALL_PIPE_SIZE : PIPE_SIZE); + if (error == 0) + pipe->pipe_ino = alloc_unr64(&pipeino_unr); + return (error); } /* ARGSUSED */ @@ -1070,17 +1086,7 @@ pipe_write(struct file *fp, struct uio *uio, struct uc pipespace(wpipe, desiredsize); PIPE_LOCK(wpipe); } - if (wpipe->pipe_buffer.size == 0) { - /* - * This can only happen for reverse direction use of pipes - * in a complete OOM situation. - */ - error = ENOMEM; - --wpipe->pipe_busy; - pipeunlock(wpipe); - PIPE_UNLOCK(wpipe); - return (error); - } + MPASS(wpipe->pipe_buffer.size != 0); pipeunlock(wpipe); Modified: stable/12/sys/sys/pipe.h ============================================================================== --- stable/12/sys/sys/pipe.h Mon Mar 16 11:38:26 2020 (r359011) +++ stable/12/sys/sys/pipe.h Mon Mar 16 11:40:59 2020 (r359012) @@ -142,6 +142,6 @@ struct pipepair { #define PIPE_LOCK_ASSERT(pipe, type) mtx_assert(PIPE_MTX(pipe), (type)) void pipe_dtor(struct pipe *dpipe); -void pipe_named_ctor(struct pipe **ppipe, struct thread *td); +int pipe_named_ctor(struct pipe **ppipe, struct thread *td); void pipeselwakeup(struct pipe *cpipe); #endif /* !_SYS_PIPE_H_ */ From owner-svn-src-all@freebsd.org Mon Mar 16 11:42:04 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 931F326398F; Mon, 16 Mar 2020 11:42:04 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48gvXr3K0Wz4Bv8; Mon, 16 Mar 2020 11:42:04 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5760F1FE72; Mon, 16 Mar 2020 11:42:04 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GBg4t7040466; Mon, 16 Mar 2020 11:42:04 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GBg4ol040465; Mon, 16 Mar 2020 11:42:04 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003161142.02GBg4ol040465@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 16 Mar 2020 11:42:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359013 - stable/12/sys/kern X-SVN-Group: stable-12 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: stable/12/sys/kern X-SVN-Commit-Revision: 359013 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 11:42:04 -0000 Author: kib Date: Mon Mar 16 11:42:03 2020 New Revision: 359013 URL: https://svnweb.freebsd.org/changeset/base/359013 Log: MFC r358827: pipe: explain why not deallocating inode number is fine. Modified: stable/12/sys/kern/sys_pipe.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/kern/sys_pipe.c ============================================================================== --- stable/12/sys/kern/sys_pipe.c Mon Mar 16 11:40:59 2020 (r359012) +++ stable/12/sys/kern/sys_pipe.c Mon Mar 16 11:42:03 2020 (r359013) @@ -367,6 +367,15 @@ pipe_paircreate(struct thread *td, struct pipepair **p goto fail; error = pipe_create(wpipe, false); if (error != 0) { + /* + * This cleanup leaves the pipe inode number for rpipe + * still allocated, but never used. We do not free + * inode numbers for opened pipes, which is required + * for correctness because numbers must be unique. + * But also it avoids any memory use by the unr + * allocator, so stashing away the transient inode + * number is reasonable. + */ pipe_free_kmem(rpipe); goto fail; } From owner-svn-src-all@freebsd.org Mon Mar 16 11:55:37 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BEEA9263ED5; Mon, 16 Mar 2020 11:55:37 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from zxy.spb.ru (zxy.spb.ru [195.70.199.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48gvrR4cMJz3JPL; Mon, 16 Mar 2020 11:55:35 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from slw by zxy.spb.ru with local (Exim 4.86 (FreeBSD)) (envelope-from ) id 1jDoL9-0001wD-Ew; Mon, 16 Mar 2020 14:55:27 +0300 Date: Mon, 16 Mar 2020 14:55:27 +0300 From: Slawa Olhovchenkov To: Patrick Kelsey Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r358995 - head/sys/net Message-ID: <20200316115527.GL8028@zxy.spb.ru> References: <202003141943.02EJhixQ093985@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202003141943.02EJhixQ093985@repo.freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: slw@zxy.spb.ru X-SA-Exim-Scanned: No (on zxy.spb.ru); SAEximRunCond expanded to false X-Rspamd-Queue-Id: 48gvrR4cMJz3JPL X-Spamd-Bar: + Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of slw@zxy.spb.ru has no SPF policy when checking 195.70.199.98) smtp.mailfrom=slw@zxy.spb.ru X-Spamd-Result: default: False [1.65 / 15.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[zxy.spb.ru]; TO_DN_SOME(0.00)[]; NEURAL_SPAM_MEDIUM(0.14)[0.143,0]; AUTH_NA(1.00)[]; IP_SCORE(0.08)[asn: 5495(0.38), country: RU(0.01)]; NEURAL_SPAM_LONG(0.53)[0.530,0]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:5495, ipnet:195.70.192.0/19, country:RU]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 11:55:37 -0000 On Sat, Mar 14, 2020 at 07:43:44PM +0000, Patrick Kelsey wrote: > Author: pkelsey > Date: Sat Mar 14 19:43:44 2020 > New Revision: 358995 > URL: https://svnweb.freebsd.org/changeset/base/358995 > > Log: > Fix iflib freelist state corruption > > This fixes a bug in iflib freelist management that breaks the required > correspondence between freelist indexes and driver ring slots. > > PR: 243126, 243392, 240628 Are you sure? Bug 240628 - sysutils/zfsnap2: Completion script link for zsh has wrong path > Reported by: avg, alexandr.oleynikov@gmail.com, Harald Schmalzbauer > Reviewed by: avg, gallatin > MFC after: 1 week > Differential Revision: https://reviews.freebsd.org/D23943 Very interesting. Is this related to my problem? I am have trouble w/ netmap: 1. netmap reported RX slots filled all ring (tail == head-1) 2. application processed all RX slots and reported to nemap (head == tail) 3. RX stuck. workaround: report on step 2 head = tail-1 (one RX slots left unprocessed). Also I am have trouble w/ TX, similar. From owner-svn-src-all@freebsd.org Mon Mar 16 12:33:58 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BB8CA265A11; Mon, 16 Mar 2020 12:33:58 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48gwhk3dfCz4Ccr; Mon, 16 Mar 2020 12:33:58 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6BCA6208F1; Mon, 16 Mar 2020 12:33:58 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GCXwsN070769; Mon, 16 Mar 2020 12:33:58 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GCXwMD070768; Mon, 16 Mar 2020 12:33:58 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202003161233.02GCXwMD070768@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 16 Mar 2020 12:33:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359014 - head/sys/ofed/drivers/infiniband/ulp/ipoib X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/sys/ofed/drivers/infiniband/ulp/ipoib X-SVN-Commit-Revision: 359014 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 12:33:58 -0000 Author: hselasky Date: Mon Mar 16 12:33:57 2020 New Revision: 359014 URL: https://svnweb.freebsd.org/changeset/base/359014 Log: Fix for double unlock in ipoib. The ipoib_unicast_send() function is not supposed to unlock the priv lock. MFC after: 3 days Sponsored by: Mellanox Technologies Modified: head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Modified: head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c ============================================================================== --- head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Mon Mar 16 11:42:03 2020 (r359013) +++ head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Mon Mar 16 12:33:57 2020 (r359014) @@ -731,7 +731,6 @@ ipoib_unicast_send(struct mbuf *mb, struct ipoib_dev_p } if (!path->query && path_rec_start(priv, path)) { - spin_unlock_irqrestore(&priv->lock, flags); if (new_path) ipoib_path_free(priv, path); return; From owner-svn-src-all@freebsd.org Mon Mar 16 13:46:43 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B6E90266D18; Mon, 16 Mar 2020 13:46:43 +0000 (UTC) (envelope-from pkelsey@gmail.com) Received: from mail-io1-f48.google.com (mail-io1-f48.google.com [209.85.166.48]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48gyJc4F2qz3Nl5; Mon, 16 Mar 2020 13:46:40 +0000 (UTC) (envelope-from pkelsey@gmail.com) Received: by mail-io1-f48.google.com with SMTP id h131so17196311iof.1; Mon, 16 Mar 2020 06:46:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ceEJnNFoeHcdoqoNMp3EVLqaBMfP/Xg0qWnfouvdXUo=; b=Yctv4NQu0zY1ahvJJbiKMvE0o/awj/7seFAFQV15/frE/5tXdQ6UVIQeihqBGNS7OF FGpjWmVRNIFLlFtnjaJol2tHyc2SXFffUD/4FKl+wawzgPovuKHRVOUkj0wn4vGCoVcW UGObJ4wM9c34s8tyQzEAsWvxcRtzVDXaE8gfiGI2tLEDNVz2as1z12Q1XRuZyh7CgPnE O73OBDL/jUULswhxJ2dQo8/h1xpaLziqjGVhpE3iMSOI67J+VZ4qZ7EVkCJyQooCvTL5 Uyfs/pqHcyb3HVrtwA1P0ksI8vC1bDrYeksAKn93dzmvngk0fHXNozFbfRMcdzC2wnDd S0Jg== X-Gm-Message-State: ANhLgQ3FE8mxmaOSMgWcaILJ6mOXJ3KmhEbqk0c7Ce7+vdizfFL6Bn+Y gUDhm5xLxB+ALTs260/YiubrjjzriD0M1e9nJHLtsw== X-Google-Smtp-Source: ADFU+vsq2UbJoPyBDXjSmtySUm3WMjgKUrq5yEd7LPlsKtnnO9gSkcw4SiPF8yr+R5H1PQflKotF//NGuXnAo43sFEs= X-Received: by 2002:a6b:e806:: with SMTP id f6mr23939658ioh.52.1584366398905; Mon, 16 Mar 2020 06:46:38 -0700 (PDT) MIME-Version: 1.0 References: <202003141943.02EJhixQ093985@repo.freebsd.org> <20200316115527.GL8028@zxy.spb.ru> In-Reply-To: <20200316115527.GL8028@zxy.spb.ru> From: Patrick Kelsey Date: Mon, 16 Mar 2020 09:46:27 -0400 Message-ID: Subject: Re: svn commit: r358995 - head/sys/net To: Slawa Olhovchenkov Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org X-Rspamd-Queue-Id: 48gyJc4F2qz3Nl5 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of pkelsey@gmail.com designates 209.85.166.48 as permitted sender) smtp.mailfrom=pkelsey@gmail.com X-Spamd-Result: default: False [-4.24 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; DMARC_NA(0.00)[freebsd.org]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[48.166.85.209.list.dnswl.org : 127.0.5.0]; IP_SCORE(-2.24)[ip: (-6.54), ipnet: 209.85.128.0/17(-2.97), asn: 15169(-1.65), country: US(-0.05)]; FORGED_SENDER(0.30)[pkelsey@freebsd.org,pkelsey@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[48.166.85.209.rep.mailspike.net : 127.0.0.17]; MIME_TRACE(0.00)[0:+,1:+,2:~]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[pkelsey@freebsd.org,pkelsey@gmail.com]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 13:46:43 -0000 On Mon, Mar 16, 2020 at 7:55 AM Slawa Olhovchenkov wrote: > On Sat, Mar 14, 2020 at 07:43:44PM +0000, Patrick Kelsey wrote: > > > Author: pkelsey > > Date: Sat Mar 14 19:43:44 2020 > > New Revision: 358995 > > URL: https://svnweb.freebsd.org/changeset/base/358995 > > > > Log: > > Fix iflib freelist state corruption > > > > This fixes a bug in iflib freelist management that breaks the required > > correspondence between freelist indexes and driver ring slots. > > > > PR: 243126, 243392, 240628 > > Are you sure? > Bug 240628 - sysutils/zfsnap2: Completion script link for zsh has > wrong path > > Unfortunately, that should be 240608, not 240628. > > Reported by: avg, alexandr.oleynikov@gmail.com, Harald > Schmalzbauer > > Reviewed by: avg, gallatin > > MFC after: 1 week > > Differential Revision: https://reviews.freebsd.org/D23943 > > Very interesting. > Is this related to my problem? > I am have trouble w/ netmap: > > 1. netmap reported RX slots filled all ring (tail == head-1) > 2. application processed all RX slots and reported to nemap (head == tail) > 3. RX stuck. > > workaround: report on step 2 head = tail-1 (one RX slots left > unprocessed). > > Also I am have trouble w/ TX, similar. > This commit changes code that netmap does not use. netmap freelist refill is handled via netmap_fl_refill() in iflib.c, and that was not examined as part of this work. -Patrick From owner-svn-src-all@freebsd.org Mon Mar 16 13:53:31 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8AA3226704A; Mon, 16 Mar 2020 13:53:31 +0000 (UTC) (envelope-from alfredo@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48gySV1x4Rz42TT; Mon, 16 Mar 2020 13:53:30 +0000 (UTC) (envelope-from alfredo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A91F121773; Mon, 16 Mar 2020 13:53:29 +0000 (UTC) (envelope-from alfredo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GDrT1w018237; Mon, 16 Mar 2020 13:53:29 GMT (envelope-from alfredo@FreeBSD.org) Received: (from alfredo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GDrTuJ018236; Mon, 16 Mar 2020 13:53:29 GMT (envelope-from alfredo@FreeBSD.org) Message-Id: <202003161353.02GDrTuJ018236@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alfredo set sender to alfredo@FreeBSD.org using -f From: "Alfredo Dal'Ava Junior" Date: Mon, 16 Mar 2020 13:53:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359015 - head/sys/dev/usb/input X-SVN-Group: head X-SVN-Commit-Author: alfredo X-SVN-Commit-Paths: head/sys/dev/usb/input X-SVN-Commit-Revision: 359015 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 13:53:31 -0000 Author: alfredo Date: Mon Mar 16 13:53:29 2020 New Revision: 359015 URL: https://svnweb.freebsd.org/changeset/base/359015 Log: atp: fix mouse attachment on PowerBook5,6 (G4) Skip device mode switch step on Fountain-based devices as they don't support RAW_SENSOR_MODE command, so failing to attach. This was reproduced on PowerBook G4 (model PowerBook5,6) equipped with product ID 0x020e Reviewed by: hselasky Approved by: jhibbits (mentor) Differential Revision: https://reviews.freebsd.org/D24005 Modified: head/sys/dev/usb/input/atp.c Modified: head/sys/dev/usb/input/atp.c ============================================================================== --- head/sys/dev/usb/input/atp.c Mon Mar 16 12:33:57 2020 (r359014) +++ head/sys/dev/usb/input/atp.c Mon Mar 16 13:53:29 2020 (r359015) @@ -2219,6 +2219,9 @@ atp_attach(device_t dev) return (ENXIO); } + di = USB_GET_DRIVER_INFO(uaa); + sc->sc_family = DECODE_FAMILY_FROM_DRIVER_INFO(di); + /* * By default the touchpad behaves like an HID device, sending * packets with reportID = 2. Such reports contain only @@ -2227,17 +2230,18 @@ atp_attach(device_t dev) * sensors. The device input mode can be switched from HID * reports to raw sensor data using vendor-specific USB * control commands. + * FOUNTAIN devices will give an error when trying to switch + * input mode, so we skip this command */ - if ((err = atp_set_device_mode(sc, RAW_SENSOR_MODE)) != 0) { + if ((sc->sc_family == TRACKPAD_FAMILY_FOUNTAIN_GEYSER) && + (DECODE_PRODUCT_FROM_DRIVER_INFO(di) == FOUNTAIN)) + DPRINTF("device mode switch skipped: Fountain device\n"); + else if ((err = atp_set_device_mode(sc, RAW_SENSOR_MODE)) != 0) { DPRINTF("failed to set mode to 'RAW_SENSOR' (%d)\n", err); return (ENXIO); } mtx_init(&sc->sc_mutex, "atpmtx", NULL, MTX_DEF | MTX_RECURSE); - - di = USB_GET_DRIVER_INFO(uaa); - - sc->sc_family = DECODE_FAMILY_FROM_DRIVER_INFO(di); switch(sc->sc_family) { case TRACKPAD_FAMILY_FOUNTAIN_GEYSER: From owner-svn-src-all@freebsd.org Mon Mar 16 14:03:28 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2D903267421; Mon, 16 Mar 2020 14:03:28 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48gygz6J8bz4BmY; Mon, 16 Mar 2020 14:03:27 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D37A1219A5; Mon, 16 Mar 2020 14:03:27 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GE3RUw024203; Mon, 16 Mar 2020 14:03:27 GMT (envelope-from gallatin@FreeBSD.org) Received: (from gallatin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GE3Rse024202; Mon, 16 Mar 2020 14:03:27 GMT (envelope-from gallatin@FreeBSD.org) Message-Id: <202003161403.02GE3Rse024202@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gallatin set sender to gallatin@FreeBSD.org using -f From: Andrew Gallatin Date: Mon, 16 Mar 2020 14:03:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359016 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: gallatin X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 359016 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 14:03:28 -0000 Author: gallatin Date: Mon Mar 16 14:03:27 2020 New Revision: 359016 URL: https://svnweb.freebsd.org/changeset/base/359016 Log: Avoid a cache miss accessing an mbuf ext_pgs pointer when doing SW kTLS. For a Netflix 90Gb/s 100% TLS software kTLS workload, this reduces the CPI of tcp_m_copym() from ~3.5 to ~2.5 as reported by vtune. Reviewed by: jtl, rrs Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D23998 Modified: head/sys/netinet/tcp_output.c Modified: head/sys/netinet/tcp_output.c ============================================================================== --- head/sys/netinet/tcp_output.c Mon Mar 16 13:53:29 2020 (r359015) +++ head/sys/netinet/tcp_output.c Mon Mar 16 14:03:27 2020 (r359016) @@ -1907,7 +1907,7 @@ tcp_m_copym(struct mbuf *m, int32_t off0, int32_t *ple top = NULL; pkthdrlen = NULL; #ifdef KERN_TLS - if (m->m_flags & M_NOMAP) + if (hw_tls && (m->m_flags & M_NOMAP)) tls = m->m_ext.ext_pgs->tls; else tls = NULL; From owner-svn-src-all@freebsd.org Mon Mar 16 16:17:59 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C4DAC269D66; Mon, 16 Mar 2020 16:17:59 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48h1gC3FVxz4SKt; Mon, 16 Mar 2020 16:17:59 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CA7E723179; Mon, 16 Mar 2020 16:17:58 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GGHwxT001560; Mon, 16 Mar 2020 16:17:58 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GGHwEM001559; Mon, 16 Mar 2020 16:17:58 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <202003161617.02GGHwEM001559@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Mon, 16 Mar 2020 16:17:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359017 - head/sys/fs/autofs X-SVN-Group: head X-SVN-Commit-Author: trasz X-SVN-Commit-Paths: head/sys/fs/autofs X-SVN-Commit-Revision: 359017 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 16:17:59 -0000 Author: trasz Date: Mon Mar 16 16:17:58 2020 New Revision: 359017 URL: https://svnweb.freebsd.org/changeset/base/359017 Log: Make autofs(5) timeout messages include affected process name and PID. MFC after: 2 weeks Sponsored by: DARPA, AFRL Modified: head/sys/fs/autofs/autofs.c Modified: head/sys/fs/autofs/autofs.c ============================================================================== --- head/sys/fs/autofs/autofs.c Mon Mar 16 14:03:27 2020 (r359016) +++ head/sys/fs/autofs/autofs.c Mon Mar 16 16:17:58 2020 (r359017) @@ -468,8 +468,9 @@ autofs_trigger_one(struct autofs_node *anp, request_error = ar->ar_error; if (request_error != 0) { - AUTOFS_WARN("request for %s completed with error %d", - ar->ar_path, request_error); + AUTOFS_WARN("request for %s completed with error %d, " + "pid %d (%s)", ar->ar_path, request_error, + curproc->p_pid, curproc->p_comm); } wildcards = ar->ar_wildcards; From owner-svn-src-all@freebsd.org Mon Mar 16 19:03:11 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7209B26CEB9; Mon, 16 Mar 2020 19:03:11 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48h5Kq2QlTz3LVP; Mon, 16 Mar 2020 19:03:11 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4DC1725127; Mon, 16 Mar 2020 19:03:11 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GJ3BsU002791; Mon, 16 Mar 2020 19:03:11 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GJ3BhB002790; Mon, 16 Mar 2020 19:03:11 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202003161903.02GJ3BhB002790@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Mon, 16 Mar 2020 19:03:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359018 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head X-SVN-Commit-Author: mav X-SVN-Commit-Paths: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Commit-Revision: 359018 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 19:03:11 -0000 Author: mav Date: Mon Mar 16 19:03:10 2020 New Revision: 359018 URL: https://svnweb.freebsd.org/changeset/base/359018 Log: Fix infinite scan on a pool with only special allocations Attempt to run scrub or resilver on a new pool containing only special allocations (special vdev added on creation) caused infinite loop because of dsl_scan_should_clear() limiting memory usage to 5% of pool size, which it calculated accounting only normal allocation class. Addition of special and just in case dedup classes fixes the issue. Reviewed-by: Brian Behlendorf Signed-off-by: Alexander Motin Sponsored-By: iXsystems, Inc. Closes #10106 Closes #8694 openzfs/zfs@fa130e010c2ff9b33aba11d2699b667e454b3ccb Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Mon Mar 16 16:17:58 2020 (r359017) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Mon Mar 16 19:03:10 2020 (r359018) @@ -1105,10 +1105,13 @@ scan_ds_queue_sync(dsl_scan_t *scn, dmu_tx_t *tx) static boolean_t dsl_scan_should_clear(dsl_scan_t *scn) { + spa_t *spa = scn->scn_dp->dp_spa; vdev_t *rvd = scn->scn_dp->dp_spa->spa_root_vdev; - uint64_t mlim_hard, mlim_soft, mused; - uint64_t alloc = metaslab_class_get_alloc(spa_normal_class( - scn->scn_dp->dp_spa)); + uint64_t alloc, mlim_hard, mlim_soft, mused; + + alloc = metaslab_class_get_alloc(spa_normal_class(spa)); + alloc += metaslab_class_get_alloc(spa_special_class(spa)); + alloc += metaslab_class_get_alloc(spa_dedup_class(spa)); mlim_hard = MAX((physmem / zfs_scan_mem_lim_fact) * PAGESIZE, zfs_scan_mem_lim_min); From owner-svn-src-all@freebsd.org Mon Mar 16 19:33:51 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B525B26D8D3; Mon, 16 Mar 2020 19:33:51 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48h61C3CWMz422w; Mon, 16 Mar 2020 19:33:51 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DCA8E256B1; Mon, 16 Mar 2020 19:33:50 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GJXoPZ020714; Mon, 16 Mar 2020 19:33:50 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GJXoe1020713; Mon, 16 Mar 2020 19:33:50 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003161933.02GJXoe1020713@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 16 Mar 2020 19:33:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359019 - stable/12/sys/sys X-SVN-Group: stable-12 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/12/sys/sys X-SVN-Commit-Revision: 359019 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 19:33:51 -0000 Author: emaste Date: Mon Mar 16 19:33:50 2020 New Revision: 359019 URL: https://svnweb.freebsd.org/changeset/base/359019 Log: elf_common.h: sync ELF feature control note bits with HEAD Modified: stable/12/sys/sys/elf_common.h Modified: stable/12/sys/sys/elf_common.h ============================================================================== --- stable/12/sys/sys/elf_common.h Mon Mar 16 19:03:10 2020 (r359018) +++ stable/12/sys/sys/elf_common.h Mon Mar 16 19:33:50 2020 (r359019) @@ -786,7 +786,9 @@ typedef struct { /* NT_FREEBSD_FEATURE_CTL desc[0] bits */ #define NT_FREEBSD_FCTL_ASLR_DISABLE 0x00000001 +#define NT_FREEBSD_FCTL_PROTMAX_DISABLE 0x00000002 #define NT_FREEBSD_FCTL_STKGAP_DISABLE 0x00000004 +#define NT_FREEBSD_FCTL_WXNEEDED 0x00000008 /* Values for n_type. Used in core files. */ #define NT_PRSTATUS 1 /* Process status. */ From owner-svn-src-all@freebsd.org Mon Mar 16 21:12:33 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DEA3F26FB1E; Mon, 16 Mar 2020 21:12:33 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48h8C54bMLz3KQP; Mon, 16 Mar 2020 21:12:33 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6884E26914; Mon, 16 Mar 2020 21:12:33 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GLCXIq080550; Mon, 16 Mar 2020 21:12:33 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GLCX22080549; Mon, 16 Mar 2020 21:12:33 GMT (envelope-from bz@FreeBSD.org) Message-Id: <202003162112.02GLCX22080549@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Mon, 16 Mar 2020 21:12:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359020 - stable/11/sys/kern X-SVN-Group: stable-11 X-SVN-Commit-Author: bz X-SVN-Commit-Paths: stable/11/sys/kern X-SVN-Commit-Revision: 359020 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 21:12:34 -0000 Author: bz Date: Mon Mar 16 21:12:32 2020 New Revision: 359020 URL: https://svnweb.freebsd.org/changeset/base/359020 Log: MFC r358992: kern_jail: missing \0 termination check on osrelease parameter If a user spplies a non-\0 terminated osrelease parameter reading it back may disclose kernel memory. This is a problem in case of nested jails (children.max > 0, which is not the default). Otherwise root outside the jail has access to kernel memory by other means and root inside a jail cannot create a child jail. Add the proper \0 check at the end of a supplied osrelease parameter and make sure any copies of the field will be \0-terminated. Submitted by: Hans Christian Woithe (chwoithe yahoo.com) Modified: stable/11/sys/kern/kern_jail.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/kern/kern_jail.c ============================================================================== --- stable/11/sys/kern/kern_jail.c Mon Mar 16 19:33:50 2020 (r359019) +++ stable/11/sys/kern/kern_jail.c Mon Mar 16 21:12:32 2020 (r359020) @@ -881,8 +881,12 @@ kern_jail_set(struct thread *td, struct uio *optuio, i "osrelease cannot be changed after creation"); goto done_errmsg; } - if (len == 0 || len >= OSRELEASELEN) { + if (len == 0 || osrelstr[len - 1] != '\0') { error = EINVAL; + goto done_free; + } + if (len >= OSRELEASELEN) { + error = ENAMETOOLONG; vfs_opterror(opts, "osrelease string must be 1-%d bytes long", OSRELEASELEN - 1); @@ -1272,9 +1276,11 @@ kern_jail_set(struct thread *td, struct uio *optuio, i pr->pr_osreldate = osreldt ? osreldt : ppr->pr_osreldate; if (osrelstr == NULL) - strcpy(pr->pr_osrelease, ppr->pr_osrelease); + strlcpy(pr->pr_osrelease, ppr->pr_osrelease, + sizeof(pr->pr_osrelease)); else - strcpy(pr->pr_osrelease, osrelstr); + strlcpy(pr->pr_osrelease, osrelstr, + sizeof(pr->pr_osrelease)); LIST_INIT(&pr->pr_children); mtx_init(&pr->pr_mtx, "jail mutex", NULL, MTX_DEF | MTX_DUPOK); From owner-svn-src-all@freebsd.org Mon Mar 16 21:12:47 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 406D526FB69; Mon, 16 Mar 2020 21:12:47 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48h8CL6d60z3KvK; Mon, 16 Mar 2020 21:12:46 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B215F26918; Mon, 16 Mar 2020 21:12:46 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GLCkaT080603; Mon, 16 Mar 2020 21:12:46 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GLCkEO080602; Mon, 16 Mar 2020 21:12:46 GMT (envelope-from bz@FreeBSD.org) Message-Id: <202003162112.02GLCkEO080602@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Mon, 16 Mar 2020 21:12:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359021 - stable/12/sys/kern X-SVN-Group: stable-12 X-SVN-Commit-Author: bz X-SVN-Commit-Paths: stable/12/sys/kern X-SVN-Commit-Revision: 359021 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 21:12:47 -0000 Author: bz Date: Mon Mar 16 21:12:46 2020 New Revision: 359021 URL: https://svnweb.freebsd.org/changeset/base/359021 Log: MFC r358992: kern_jail: missing \0 termination check on osrelease parameter If a user spplies a non-\0 terminated osrelease parameter reading it back may disclose kernel memory. This is a problem in case of nested jails (children.max > 0, which is not the default). Otherwise root outside the jail has access to kernel memory by other means and root inside a jail cannot create a child jail. Add the proper \0 check at the end of a supplied osrelease parameter and make sure any copies of the field will be \0-terminated. Submitted by: Hans Christian Woithe (chwoithe yahoo.com) Modified: stable/12/sys/kern/kern_jail.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/kern/kern_jail.c ============================================================================== --- stable/12/sys/kern/kern_jail.c Mon Mar 16 21:12:32 2020 (r359020) +++ stable/12/sys/kern/kern_jail.c Mon Mar 16 21:12:46 2020 (r359021) @@ -862,8 +862,12 @@ kern_jail_set(struct thread *td, struct uio *optuio, i "osrelease cannot be changed after creation"); goto done_errmsg; } - if (len == 0 || len >= OSRELEASELEN) { + if (len == 0 || osrelstr[len - 1] != '\0') { error = EINVAL; + goto done_free; + } + if (len >= OSRELEASELEN) { + error = ENAMETOOLONG; vfs_opterror(opts, "osrelease string must be 1-%d bytes long", OSRELEASELEN - 1); @@ -1253,9 +1257,11 @@ kern_jail_set(struct thread *td, struct uio *optuio, i pr->pr_osreldate = osreldt ? osreldt : ppr->pr_osreldate; if (osrelstr == NULL) - strcpy(pr->pr_osrelease, ppr->pr_osrelease); + strlcpy(pr->pr_osrelease, ppr->pr_osrelease, + sizeof(pr->pr_osrelease)); else - strcpy(pr->pr_osrelease, osrelstr); + strlcpy(pr->pr_osrelease, osrelstr, + sizeof(pr->pr_osrelease)); LIST_INIT(&pr->pr_children); mtx_init(&pr->pr_mtx, "jail mutex", NULL, MTX_DEF | MTX_DUPOK); From owner-svn-src-all@freebsd.org Mon Mar 16 22:25:26 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 568D1271D9E; Mon, 16 Mar 2020 22:25:26 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48h9qB0XVwz4Wrt; Mon, 16 Mar 2020 22:25:26 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8C123275FE; Mon, 16 Mar 2020 22:25:25 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GMPP24022424; Mon, 16 Mar 2020 22:25:25 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GMPPZS022423; Mon, 16 Mar 2020 22:25:25 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202003162225.02GMPPZS022423@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Mon, 16 Mar 2020 22:25:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359022 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359022 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 22:25:26 -0000 Author: cem Date: Mon Mar 16 22:25:25 2020 New Revision: 359022 URL: https://svnweb.freebsd.org/changeset/base/359022 Log: Remove misleading / redundant bzero in callout_callwheel_init The intent seems to be zeroing all of the cc_cpu array, or its singleton on such platforms. The assumption made is that the BSP is always zero. The code smell was introduced in r326218, which changed the prior explicit zero to 'curcpu'. The change is only valid if curcpu continues to be zero, contrary to the aim expressed in that commit message. So, more succinctly, the expression could be: memset(cc_cpu,0,sizeof(cc_cpu)). However, there's no point. cc_cpu lives in the data section and has a zero initial value already. So this revision just removes the problematic statement. No functional change. Appeases a (false positive, ish) Coverity CID. CID: 1383567 Reported by: Puneeth Jothaiah Reviewed by: kib Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D24089 Modified: head/sys/kern/kern_timeout.c Modified: head/sys/kern/kern_timeout.c ============================================================================== --- head/sys/kern/kern_timeout.c Mon Mar 16 21:12:46 2020 (r359021) +++ head/sys/kern/kern_timeout.c Mon Mar 16 22:25:25 2020 (r359022) @@ -285,7 +285,6 @@ callout_callwheel_init(void *dummy) * XXX: Clip callout to result of previous function of maxusers * maximum 384. This is still huge, but acceptable. */ - memset(CC_CPU(curcpu), 0, sizeof(cc_cpu)); ncallout = imin(16 + maxproc + maxfiles, 18508); TUNABLE_INT_FETCH("kern.ncallout", &ncallout); From owner-svn-src-all@freebsd.org Mon Mar 16 23:09:26 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A016C273169; Mon, 16 Mar 2020 23:09:26 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hBny32tXz4DLD; Mon, 16 Mar 2020 23:09:26 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4972A27D7B; Mon, 16 Mar 2020 23:09:26 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GN9QoW046997; Mon, 16 Mar 2020 23:09:26 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GN9POr046995; Mon, 16 Mar 2020 23:09:25 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202003162309.02GN9POr046995@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Mon, 16 Mar 2020 23:09:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359023 - stable/12/sys/net X-SVN-Group: stable-12 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: stable/12/sys/net X-SVN-Commit-Revision: 359023 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 23:09:26 -0000 Author: brooks Date: Mon Mar 16 23:09:25 2020 New Revision: 359023 URL: https://svnweb.freebsd.org/changeset/base/359023 Log: MFC r358592: Expose ifr_buffer_get_(buffer|length) outside if.c. This is a preparatory commit for D23933. Reviewed by: jhb Obtained from: CheriBSD Sponsored by: DARPA Modified: stable/12/sys/net/if.c stable/12/sys/net/if_var.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/net/if.c ============================================================================== --- stable/12/sys/net/if.c Mon Mar 16 22:25:25 2020 (r359022) +++ stable/12/sys/net/if.c Mon Mar 16 23:09:25 2020 (r359023) @@ -2483,7 +2483,7 @@ ifunit(const char *name) return (ifp); } -static void * +void * ifr_buffer_get_buffer(void *data) { union ifreq_union *ifrup; @@ -2511,7 +2511,7 @@ ifr_buffer_set_buffer_null(void *data) ifrup->ifr.ifr_ifru.ifru_buffer.buffer = NULL; } -static size_t +size_t ifr_buffer_get_length(void *data) { union ifreq_union *ifrup; Modified: stable/12/sys/net/if_var.h ============================================================================== --- stable/12/sys/net/if_var.h Mon Mar 16 22:25:25 2020 (r359022) +++ stable/12/sys/net/if_var.h Mon Mar 16 23:09:25 2020 (r359023) @@ -763,6 +763,8 @@ int if_hw_tsomax_update(if_t ifp, struct ifnet_hw_tsom /* accessors for struct ifreq */ void *ifr_data_get_ptr(void *ifrp); +void *ifr_buffer_get_buffer(void *data); +size_t ifr_buffer_get_length(void *data); int ifhwioctl(u_long, struct ifnet *, caddr_t, struct thread *); From owner-svn-src-all@freebsd.org Mon Mar 16 23:15:21 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 95F4B2733DD; Mon, 16 Mar 2020 23:15:21 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hBwn35Zhz4TcV; Mon, 16 Mar 2020 23:15:21 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 471A127F3E; Mon, 16 Mar 2020 23:15:21 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GNFK7v052754; Mon, 16 Mar 2020 23:15:20 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GNFKvb052752; Mon, 16 Mar 2020 23:15:20 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202003162315.02GNFKvb052752@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Mon, 16 Mar 2020 23:15:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359024 - stable/11/sys/net X-SVN-Group: stable-11 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: stable/11/sys/net X-SVN-Commit-Revision: 359024 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 23:15:21 -0000 Author: brooks Date: Mon Mar 16 23:15:20 2020 New Revision: 359024 URL: https://svnweb.freebsd.org/changeset/base/359024 Log: MFC r358592: Expose ifr_buffer_get_(buffer|length) outside if.c. This is a preparatory commit for D23933. Reviewed by: jhb Obtained from: CheriBSD Sponsored by: DARPA Modified: stable/11/sys/net/if.c stable/11/sys/net/if_var.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net/if.c ============================================================================== --- stable/11/sys/net/if.c Mon Mar 16 23:09:25 2020 (r359023) +++ stable/11/sys/net/if.c Mon Mar 16 23:15:20 2020 (r359024) @@ -2422,7 +2422,7 @@ ifunit(const char *name) return (ifp); } -static void * +void * ifr_buffer_get_buffer(void *data) { union ifreq_union *ifrup; @@ -2450,7 +2450,7 @@ ifr_buffer_set_buffer_null(void *data) ifrup->ifr.ifr_ifru.ifru_buffer.buffer = NULL; } -static size_t +size_t ifr_buffer_get_length(void *data) { union ifreq_union *ifrup; Modified: stable/11/sys/net/if_var.h ============================================================================== --- stable/11/sys/net/if_var.h Mon Mar 16 23:09:25 2020 (r359023) +++ stable/11/sys/net/if_var.h Mon Mar 16 23:15:20 2020 (r359024) @@ -667,6 +667,8 @@ int if_hw_tsomax_update(if_t ifp, struct ifnet_hw_tsom /* accessors for struct ifreq */ void *ifr_data_get_ptr(void *ifrp); +void *ifr_buffer_get_buffer(void *data); +size_t ifr_buffer_get_length(void *data); int ifhwioctl(u_long, struct ifnet *, caddr_t, struct thread *); From owner-svn-src-all@freebsd.org Mon Mar 16 23:20:57 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 28AFA2734E7; Mon, 16 Mar 2020 23:20:57 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hC3D6Cphz3FxB; Mon, 16 Mar 2020 23:20:56 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 949EC27F78; Mon, 16 Mar 2020 23:20:56 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GNKuxo056060; Mon, 16 Mar 2020 23:20:56 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GNKu7t056059; Mon, 16 Mar 2020 23:20:56 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202003162320.02GNKu7t056059@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Mon, 16 Mar 2020 23:20:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359025 - stable/12/sys/dev/bnxt X-SVN-Group: stable-12 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: stable/12/sys/dev/bnxt X-SVN-Commit-Revision: 359025 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 23:20:57 -0000 Author: brooks Date: Mon Mar 16 23:20:56 2020 New Revision: 359025 URL: https://svnweb.freebsd.org/changeset/base/359025 Log: MFC r358630: bnxt(4): Fix ioctls when user addresses are inaccessable. Check copyin's error code (differ adding copyout checks at this time). Don't directly access user memory in the switch statement. Since bnxt_ioctl_data isn't all that big, use a stack allocation. Reviewed by: jhb Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D23933 Modified: stable/12/sys/dev/bnxt/if_bnxt.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/bnxt/if_bnxt.c ============================================================================== --- stable/12/sys/dev/bnxt/if_bnxt.c Mon Mar 16 23:15:20 2020 (r359024) +++ stable/12/sys/dev/bnxt/if_bnxt.c Mon Mar 16 23:20:56 2020 (r359025) @@ -1638,25 +1638,26 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t { struct bnxt_softc *softc = iflib_get_softc(ctx); struct ifreq *ifr = (struct ifreq *)data; - struct ifreq_buffer *ifbuf = &ifr->ifr_ifru.ifru_buffer; - struct bnxt_ioctl_header *ioh = - (struct bnxt_ioctl_header *)(ifbuf->buffer); + struct bnxt_ioctl_header *ioh; + size_t iol; int rc = ENOTSUP; - struct bnxt_ioctl_data *iod = NULL; + struct bnxt_ioctl_data iod_storage, *iod = &iod_storage; + switch (command) { case SIOCGPRIVATE_0: if ((rc = priv_check(curthread, PRIV_DRIVER)) != 0) goto exit; - iod = malloc(ifbuf->length, M_DEVBUF, M_NOWAIT | M_ZERO); - if (!iod) { - rc = ENOMEM; + ioh = ifr_buffer_get_buffer(ifr); + iol = ifr_buffer_get_length(ifr); + if (iol > sizeof(iod_storage)) + return (EINVAL); + + if ((rc = copyin(ioh, iod, iol)) != 0) goto exit; - } - copyin(ioh, iod, ifbuf->length); - switch (ioh->type) { + switch (iod->hdr.type) { case BNXT_HWRM_NVM_FIND_DIR_ENTRY: { struct bnxt_ioctl_hwrm_nvm_find_dir_entry *find = @@ -1674,7 +1675,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1714,7 +1715,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t remain -= csize; } if (iod->hdr.rc == 0) - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); iflib_dma_free(&dma_data); rc = 0; @@ -1734,7 +1735,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1754,7 +1755,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1776,7 +1777,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1795,7 +1796,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1815,7 +1816,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1842,7 +1843,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t copyout(dma_data.idi_vaddr, get->data, get->entry_length * get->entries); iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } iflib_dma_free(&dma_data); @@ -1863,7 +1864,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1885,7 +1886,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1904,7 +1905,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1925,7 +1926,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1946,7 +1947,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1957,8 +1958,6 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } exit: - if (iod) - free(iod, M_DEVBUF); return rc; } From owner-svn-src-all@freebsd.org Mon Mar 16 23:29:04 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1232A27377F; Mon, 16 Mar 2020 23:29:04 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hCDb5jKlz46lB; Mon, 16 Mar 2020 23:29:03 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BD2C219A; Mon, 16 Mar 2020 23:29:03 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GNT38l058672; Mon, 16 Mar 2020 23:29:03 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GNT3Yp058671; Mon, 16 Mar 2020 23:29:03 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202003162329.02GNT3Yp058671@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Mon, 16 Mar 2020 23:29:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359026 - stable/11/sys/dev/bnxt X-SVN-Group: stable-11 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: stable/11/sys/dev/bnxt X-SVN-Commit-Revision: 359026 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 23:29:04 -0000 Author: brooks Date: Mon Mar 16 23:29:03 2020 New Revision: 359026 URL: https://svnweb.freebsd.org/changeset/base/359026 Log: MFC r358630: bnxt(4): Fix ioctls when user addresses are inaccessable. Check copyin's error code (differ adding copyout checks at this time). Don't directly access user memory in the switch statement. Since bnxt_ioctl_data isn't all that big, use a stack allocation. Reviewed by: jhb Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D23933 Modified: stable/11/sys/dev/bnxt/if_bnxt.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/bnxt/if_bnxt.c ============================================================================== --- stable/11/sys/dev/bnxt/if_bnxt.c Mon Mar 16 23:20:56 2020 (r359025) +++ stable/11/sys/dev/bnxt/if_bnxt.c Mon Mar 16 23:29:03 2020 (r359026) @@ -1636,25 +1636,26 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t { struct bnxt_softc *softc = iflib_get_softc(ctx); struct ifreq *ifr = (struct ifreq *)data; - struct ifreq_buffer *ifbuf = &ifr->ifr_ifru.ifru_buffer; - struct bnxt_ioctl_header *ioh = - (struct bnxt_ioctl_header *)(ifbuf->buffer); + struct bnxt_ioctl_header *ioh; + size_t iol; int rc = ENOTSUP; - struct bnxt_ioctl_data *iod = NULL; + struct bnxt_ioctl_data iod_storage, *iod = &iod_storage; + switch (command) { case SIOCGPRIVATE_0: if ((rc = priv_check(curthread, PRIV_DRIVER)) != 0) goto exit; - iod = malloc(ifbuf->length, M_DEVBUF, M_NOWAIT | M_ZERO); - if (!iod) { - rc = ENOMEM; + ioh = ifr_buffer_get_buffer(ifr); + iol = ifr_buffer_get_length(ifr); + if (iol > sizeof(iod_storage)) + return (EINVAL); + + if ((rc = copyin(ioh, iod, iol)) != 0) goto exit; - } - copyin(ioh, iod, ifbuf->length); - switch (ioh->type) { + switch (iod->hdr.type) { case BNXT_HWRM_NVM_FIND_DIR_ENTRY: { struct bnxt_ioctl_hwrm_nvm_find_dir_entry *find = @@ -1672,7 +1673,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1712,7 +1713,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t remain -= csize; } if (iod->hdr.rc == 0) - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); iflib_dma_free(&dma_data); rc = 0; @@ -1732,7 +1733,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1752,7 +1753,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1774,7 +1775,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1793,7 +1794,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1813,7 +1814,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1840,7 +1841,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t copyout(dma_data.idi_vaddr, get->data, get->entry_length * get->entries); iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } iflib_dma_free(&dma_data); @@ -1861,7 +1862,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1883,7 +1884,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1902,7 +1903,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1923,7 +1924,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1944,7 +1945,7 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } else { iod->hdr.rc = 0; - copyout(iod, ioh, ifbuf->length); + copyout(iod, ioh, iol); } rc = 0; @@ -1955,8 +1956,6 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t } exit: - if (iod) - free(iod, M_DEVBUF); return rc; } From owner-svn-src-all@freebsd.org Mon Mar 16 23:36:33 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C2D4B273980; Mon, 16 Mar 2020 23:36:33 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hCPF2pnVz4S46; Mon, 16 Mar 2020 23:36:33 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3EE07392; Mon, 16 Mar 2020 23:36:33 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GNaXmC064580; Mon, 16 Mar 2020 23:36:33 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GNaXnE064579; Mon, 16 Mar 2020 23:36:33 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202003162336.02GNaXnE064579@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Mon, 16 Mar 2020 23:36:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359027 - stable/12/sys/dev/mxge X-SVN-Group: stable-12 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: stable/12/sys/dev/mxge X-SVN-Commit-Revision: 359027 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 23:36:33 -0000 Author: brooks Date: Mon Mar 16 23:36:32 2020 New Revision: 359027 URL: https://svnweb.freebsd.org/changeset/base/359027 Log: MFC r358593: Use ifr_data_get_ptr() consistently. Obtained from: CheriBSD Sponsored by: DARPA Modified: stable/12/sys/dev/mxge/if_mxge.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/mxge/if_mxge.c ============================================================================== --- stable/12/sys/dev/mxge/if_mxge.c Mon Mar 16 23:29:03 2020 (r359026) +++ stable/12/sys/dev/mxge/if_mxge.c Mon Mar 16 23:36:32 2020 (r359027) @@ -4349,7 +4349,7 @@ mxge_ioctl(struct ifnet *ifp, u_long command, caddr_t err = mxge_fetch_i2c(sc, &i2c); mtx_unlock(&sc->driver_mtx); if (err == 0) - err = copyout(&i2c, ifr->ifr_ifru.ifru_data, + err = copyout(&i2c, ifr_data_get_ptr(ifr), sizeof(i2c)); break; default: From owner-svn-src-all@freebsd.org Mon Mar 16 23:37:58 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8EB74273A3C; Mon, 16 Mar 2020 23:37:58 +0000 (UTC) (envelope-from salvadore@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hCQt1sc9z4W62; Mon, 16 Mar 2020 23:37:58 +0000 (UTC) (envelope-from salvadore@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 19D99393; Mon, 16 Mar 2020 23:37:58 +0000 (UTC) (envelope-from salvadore@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02GNbv9Y064692; Mon, 16 Mar 2020 23:37:57 GMT (envelope-from salvadore@FreeBSD.org) Received: (from salvadore@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02GNbvKp064691; Mon, 16 Mar 2020 23:37:57 GMT (envelope-from salvadore@FreeBSD.org) Message-Id: <202003162337.02GNbvKp064691@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: salvadore set sender to salvadore@FreeBSD.org using -f From: Lorenzo Salvadore Date: Mon, 16 Mar 2020 23:37:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359028 - head/share/misc X-SVN-Group: head X-SVN-Commit-Author: salvadore X-SVN-Commit-Paths: head/share/misc X-SVN-Commit-Revision: 359028 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 23:37:58 -0000 Author: salvadore (ports committer) Date: Mon Mar 16 23:37:57 2020 New Revision: 359028 URL: https://svnweb.freebsd.org/changeset/base/359028 Log: Add tcberner as co-mentor for salvadore Approved by: gerald (mentor) Modified: head/share/misc/committers-ports.dot Modified: head/share/misc/committers-ports.dot ============================================================================== --- head/share/misc/committers-ports.dot Mon Mar 16 23:36:32 2020 (r359027) +++ head/share/misc/committers-ports.dot Mon Mar 16 23:37:57 2020 (r359028) @@ -743,6 +743,7 @@ tcberner -> kai tcberner -> lbartoletti tcberner -> pkubaj tcberner -> rigoletto +tcberner -> salvadore tcberner -> yuri thierry -> jadawin From owner-svn-src-all@freebsd.org Mon Mar 16 23:53:09 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8ADF0273F01; Mon, 16 Mar 2020 23:53:09 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com [IPv6:2607:f8b0:4864:20::634]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hCmM14Mwz4Cv8; Mon, 16 Mar 2020 23:53:06 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: by mail-pl1-x634.google.com with SMTP id t3so8739879plz.9; Mon, 16 Mar 2020 16:53:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=0QYYQGsqMuWwhLQ0extNaqPVADTADANUnNtIlY2ctBk=; b=Uy4aCySA4i8R39PEatI3BHhL0gpmObLUZZQ18ezA/8yAuWdGPWSDxzo3NLT4aODwCk qsQXPUVGo6aCxUYhbTS5x/KtIduCRug//Mz2A9/1JGcgWpj9VcevY7Em/VczlBZXYWL1 9ECF2LSoSQBYfHMmViNdZk0lQhwa7dy7JBLF5baRVuq5lkU8v/QHxWTg+l7LlkvwEBIi llnMHENDDwfq7eK3X0UoN5JZ9tQ+hF7ARDpdVkGjikai25XZCbwctg+Br+1qi7Ue9W/z N8tE1v0s3nX6alZ2ds4whFu1zavInddmeVc2HtIk3Dg40EVQBnSEnV17wsAC/T1KGSxt lsUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to; bh=0QYYQGsqMuWwhLQ0extNaqPVADTADANUnNtIlY2ctBk=; b=NZQM78MN4gcTUzDGjKi4ipZfKf3deK925fTu3QqM9sKXV++qyB8390Mmtlf+bJTMdb /xxN/uZLYPTSzqemWkT87RPzOvGS1GyN95D61mHv2lK4whWPR1ZoF9SYspRGiBq2m2Eb WXhYINg8Me8eai/Zw8fzxaMhhiQHu4JOOcaeQvkwu0SV0FOkvo/f9kwpVbLX89V1kUx5 YQyq3pZWxGfbJiYyydMWvJGG9COBx4w9Gw8Q+BRMLWAeSz/A1yYCmanzrgIULT9CjUPV ftFWpdCXU0rdOQhD+QqJ5mhBtuvLNiREox4rqAtYOQzs5uNsqICAQ8uy/MP7yrjfRGN1 iJUw== X-Gm-Message-State: ANhLgQ2R4x8HfwNnSJbPBfrSCDdHAHb/OAUELv2nthaOUbO/zULGyVwB +TY2L6vSHVwf7byTx+Wgm0RQVV+Z X-Google-Smtp-Source: ADFU+vszROCw0fJPhBx19wmaQWrR5aPOr5oDwjwpitxbTfVsBDOmIcCA2uEJflTKuodtTv3+rTIzWw== X-Received: by 2002:a17:902:d705:: with SMTP id w5mr1657716ply.68.1584402785257; Mon, 16 Mar 2020 16:53:05 -0700 (PDT) Received: from spy (d23-16-86-169.bchsia.telus.net. [23.16.86.169]) by smtp.gmail.com with ESMTPSA id 67sm891030pfe.168.2020.03.16.16.53.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Mar 2020 16:53:04 -0700 (PDT) Sender: Mark Johnston Date: Mon, 16 Mar 2020 19:52:59 -0400 From: Mark Johnston To: Chuck Silvers Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, glebius@freebsd.org Subject: Re: svn commit: r358597 - head/sys/kern Message-ID: <20200316235259.GA7120@spy> References: <202003040022.0240Mpm6074186@repo.freebsd.org> <20200313234817.GA10027@spy> <20200316051329.GA4598@spathi.chuq.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200316051329.GA4598@spathi.chuq.com> X-Rspamd-Queue-Id: 48hCmM14Mwz4Cv8 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=Uy4aCySA; dmarc=none; spf=pass (mx1.freebsd.org: domain of markjdb@gmail.com designates 2607:f8b0:4864:20::634 as permitted sender) smtp.mailfrom=markjdb@gmail.com X-Spamd-Result: default: False [-4.15 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; NEURAL_HAM_MEDIUM(-1.00)[-0.996,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; MIME_TRACE(0.00)[0:+]; DMARC_NA(0.00)[freebsd.org]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; RCVD_IN_DNSWL_NONE(0.00)[4.3.6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(-2.45)[ip: (-8.71), ipnet: 2607:f8b0::/32(-1.85), asn: 15169(-1.65), country: US(-0.05)]; FORGED_SENDER(0.30)[markj@freebsd.org,markjdb@gmail.com]; RECEIVED_SPAMHAUS_PBL(0.00)[169.86.16.23.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.11]; MID_RHS_NOT_FQDN(0.50)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[markj@freebsd.org,markjdb@gmail.com]; RCVD_TLS_ALL(0.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 23:53:09 -0000 On Sun, Mar 15, 2020 at 10:13:29PM -0700, Chuck Silvers wrote: > On Fri, Mar 13, 2020 at 07:48:17PM -0400, Mark Johnston wrote: > > On Wed, Mar 04, 2020 at 12:22:51AM +0000, Chuck Silvers wrote: > > > Author: chs > > > Date: Wed Mar 4 00:22:50 2020 > > > New Revision: 358597 > > > URL: https://svnweb.freebsd.org/changeset/base/358597 > > > > > > Log: > > > if vm_pager_get_pages_async() returns an error, release the sfio->nios > > > refcount that we took earlier that represents the I/O that ended up > > > not being started. > > > > I think a larger bug is that getpages_async is not consistent about > > whether it invokes the completion callback in synchronous error cases. > > For instance, vop_stdgetpages_async() always calls it, as does > > ffs_getpages_async() when the filesystem fragment size is larger than > > the page size. But vnode_pager_generic_getpages() does not. So if one > > is using sendfile on a filesystem that does not implement > > getpages_async, an error will cause sendfile_swapin() to unbusy the > > input pages multiple times, and release the sfio refcount twice when it > > should be done just once. > > > ah yes, you're right. I was only looking at the path we actually hit. > > I think the simplest way to resolve this would be to change > vnode_pager_generic_getpages() in the async case to always > call the iodone callback and always return 0. (in the sync case > vnode_pager_generic_getpages() would continue to return an error code > if an error is encountered.) vm_pager_get_pages_async() could then > be changed to return void since after the avoid changes it would > always return 0. swap_pager_getpages_async() already always calls > the iodone callback but it would return void too after the above changes. Looking at the existing error handling in sendfile, I think there is a complication: in the case of a synchronous error, vn_sendfile() has to unwire the input pages; in the case of an asynchronous error, vn_sendfile() will have bound the pages to mbufs in the socket's send buffer, and the unwiring will happen in sendfile_free_mext() when the buffer is drained as a result of a connection abort. In other words, sendfile_iodone() has to be able to distinguish between synchronous and asynchronous error cases in order to correctly release resources, so the proposed solution doesn't seem quite sufficient. > If that is agreeable to you and Gleb then I'll make the changes. > > -Chuck From owner-svn-src-all@freebsd.org Tue Mar 17 03:32:13 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D0938258806; Tue, 17 Mar 2020 03:32:13 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hJd95FSmz46p9; Tue, 17 Mar 2020 03:32:13 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AF4333054; Tue, 17 Mar 2020 03:32:13 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02H3WDBn008662; Tue, 17 Mar 2020 03:32:13 GMT (envelope-from pkelsey@FreeBSD.org) Received: (from pkelsey@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02H3WDxk008661; Tue, 17 Mar 2020 03:32:13 GMT (envelope-from pkelsey@FreeBSD.org) Message-Id: <202003170332.02H3WDxk008661@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pkelsey set sender to pkelsey@FreeBSD.org using -f From: Patrick Kelsey Date: Tue, 17 Mar 2020 03:32:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359029 - head/sys/dev/vmware/vmxnet3 X-SVN-Group: head X-SVN-Commit-Author: pkelsey X-SVN-Commit-Paths: head/sys/dev/vmware/vmxnet3 X-SVN-Commit-Revision: 359029 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 03:32:13 -0000 Author: pkelsey Date: Tue Mar 17 03:32:13 2020 New Revision: 359029 URL: https://svnweb.freebsd.org/changeset/base/359029 Log: Restore power-of-2 queue count constraint from r290948 When vmx(4) was converted to an iflib driver in r343291, the power-of-2 queue count constraint was removed as it appeared that current implementations of the VMXNET3 virtual device no longer required that constraint. It turns out that some of the implementations still do, and on such systems, the device will fail to initialize when configured with a non-power-of-2 RX or TX queue count. PR: 237321 Reported by: ncrogers@gmail.com MFC after: 1 week Modified: head/sys/dev/vmware/vmxnet3/if_vmx.c Modified: head/sys/dev/vmware/vmxnet3/if_vmx.c ============================================================================== --- head/sys/dev/vmware/vmxnet3/if_vmx.c Mon Mar 16 23:37:57 2020 (r359028) +++ head/sys/dev/vmware/vmxnet3/if_vmx.c Tue Mar 17 03:32:13 2020 (r359029) @@ -321,6 +321,13 @@ vmxnet3_register(device_t dev) } static int +trunc_powerof2(int val) +{ + + return (1U << (fls(val) - 1)); +} + +static int vmxnet3_attach_pre(if_ctx_t ctx) { device_t dev; @@ -349,12 +356,16 @@ vmxnet3_attach_pre(if_ctx_t ctx) /* If 0, the iflib tunable was not set, so set to the default */ if (scctx->isc_nrxqsets == 0) scctx->isc_nrxqsets = VMXNET3_DEF_RX_QUEUES; + scctx->isc_nrxqsets = trunc_powerof2(scctx->isc_nrxqsets); scctx->isc_nrxqsets_max = min(VMXNET3_MAX_RX_QUEUES, mp_ncpus); + scctx->isc_nrxqsets_max = trunc_powerof2(scctx->isc_nrxqsets_max); /* If 0, the iflib tunable was not set, so set to the default */ if (scctx->isc_ntxqsets == 0) scctx->isc_ntxqsets = VMXNET3_DEF_TX_QUEUES; + scctx->isc_ntxqsets = trunc_powerof2(scctx->isc_ntxqsets); scctx->isc_ntxqsets_max = min(VMXNET3_MAX_TX_QUEUES, mp_ncpus); + scctx->isc_ntxqsets_max = trunc_powerof2(scctx->isc_ntxqsets_max); /* * Enforce that the transmit completion queue descriptor count is From owner-svn-src-all@freebsd.org Tue Mar 17 05:33:06 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C7CB225B474; Tue, 17 Mar 2020 05:33:06 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hMJf2pdqz3yMC; Tue, 17 Mar 2020 05:33:06 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4DDC248C2; Tue, 17 Mar 2020 05:33:06 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02H5X6tu080360; Tue, 17 Mar 2020 05:33:06 GMT (envelope-from kevlo@FreeBSD.org) Received: (from kevlo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02H5X6Iv080359; Tue, 17 Mar 2020 05:33:06 GMT (envelope-from kevlo@FreeBSD.org) Message-Id: <202003170533.02H5X6Iv080359@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevlo set sender to kevlo@FreeBSD.org using -f From: Kevin Lo Date: Tue, 17 Mar 2020 05:33:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359030 - head/share/man/man4 X-SVN-Group: head X-SVN-Commit-Author: kevlo X-SVN-Commit-Paths: head/share/man/man4 X-SVN-Commit-Revision: 359030 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 05:33:06 -0000 Author: kevlo Date: Tue Mar 17 05:33:05 2020 New Revision: 359030 URL: https://svnweb.freebsd.org/changeset/base/359030 Log: Convert to the standard section 4 SYNOPSIS layout. Modified: head/share/man/man4/tun.4 Modified: head/share/man/man4/tun.4 ============================================================================== --- head/share/man/man4/tun.4 Tue Mar 17 03:32:13 2020 (r359029) +++ head/share/man/man4/tun.4 Tue Mar 17 05:33:05 2020 (r359030) @@ -2,14 +2,26 @@ .\" $FreeBSD$ .\" Based on PR#2411 .\" -.Dd April 29, 2019 +.Dd March 17, 2020 .Dt TUN 4 .Os .Sh NAME .Nm tun .Nd tunnel software network interface .Sh SYNOPSIS -.Cd device tuntap +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device tuntap" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following lines in +.Xr loader.conf 5 : +.Bd -literal -offset indent +if_tuntap_load="YES" +.Ed .Sh DESCRIPTION The .Nm From owner-svn-src-all@freebsd.org Tue Mar 17 09:12:48 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3D89525F9B6; Tue, 17 Mar 2020 09:12:48 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hSB80tMqz45mR; Tue, 17 Mar 2020 09:12:48 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 18CD07073; Tue, 17 Mar 2020 09:12:48 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02H9ClPf011527; Tue, 17 Mar 2020 09:12:47 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02H9ClBG011526; Tue, 17 Mar 2020 09:12:47 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202003170912.02H9ClBG011526@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Tue, 17 Mar 2020 09:12:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359031 - in head/sys/dev/usb: . serial X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in head/sys/dev/usb: . serial X-SVN-Commit-Revision: 359031 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 09:12:48 -0000 Author: hselasky Date: Tue Mar 17 09:12:47 2020 New Revision: 359031 URL: https://svnweb.freebsd.org/changeset/base/359031 Log: Add new USB device ID to u3g driver. Submitted by: super_gromit@hotmail.com PR: 244798 MFC after: 3 days Sponsored by: Mellanox Technologies Modified: head/sys/dev/usb/serial/u3g.c head/sys/dev/usb/usbdevs Modified: head/sys/dev/usb/serial/u3g.c ============================================================================== --- head/sys/dev/usb/serial/u3g.c Tue Mar 17 05:33:05 2020 (r359030) +++ head/sys/dev/usb/serial/u3g.c Tue Mar 17 09:12:47 2020 (r359031) @@ -239,6 +239,8 @@ static const STRUCT_USB_HOST_ID u3g_devs[] = { U3G_DEV(DLINK, DWR510, 0), U3G_DEV(DLINK, DWM157_CD, U3GINIT_SCSIEJECT), U3G_DEV(DLINK, DWM157, 0), + U3G_DEV(DLINK, DWM157_CD_2, U3GINIT_SCSIEJECT), + U3G_DEV(DLINK, DWM157_2, 0), U3G_DEV(DLINK, DWM222_CD, U3GINIT_SCSIEJECT), U3G_DEV(DLINK, DWM222, 0), U3G_DEV(DLINK3, DWM652, 0), Modified: head/sys/dev/usb/usbdevs ============================================================================== --- head/sys/dev/usb/usbdevs Tue Mar 17 05:33:05 2020 (r359030) +++ head/sys/dev/usb/usbdevs Tue Mar 17 09:12:47 2020 (r359031) @@ -1735,8 +1735,10 @@ product DLINK DSB650TX3 0x400b 10/100 Ethernet product DLINK DSB650TX2 0x4102 10/100 Ethernet product DLINK DUB1312 0x4a00 10/100/1000 Ethernet product DLINK DWM157 0x7d02 DWM-157 +product DLINK DWM157_2 0x7d0e DWM-157 product DLINK DWR510 0x7e12 DWR-510 product DLINK DWM222 0x7e35 DWM-222 +product DLINK DWM157_CD_2 0xa407 DWM-157 CD-ROM Mode product DLINK DWM157_CD 0xa707 DWM-157 CD-ROM Mode product DLINK DWR510_CD 0xa805 DWR-510 CD-ROM Mode product DLINK DWM222_CD 0xab00 DWM-222 CD-ROM Mode From owner-svn-src-all@freebsd.org Tue Mar 17 10:02:59 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C5923260F08; Tue, 17 Mar 2020 10:02:59 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hTJ34n0fz4SC6; Tue, 17 Mar 2020 10:02:59 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 862F879BE; Tue, 17 Mar 2020 10:02:59 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HA2xEj041551; Tue, 17 Mar 2020 10:02:59 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HA2xOY041550; Tue, 17 Mar 2020 10:02:59 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202003171002.02HA2xOY041550@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Tue, 17 Mar 2020 10:02:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359032 - head/usr.bin/units X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/usr.bin/units X-SVN-Commit-Revision: 359032 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 10:02:59 -0000 Author: 0mp (doc,ports committer) Date: Tue Mar 17 10:02:59 2020 New Revision: 359032 URL: https://svnweb.freebsd.org/changeset/base/359032 Log: Tell the world how to convert gigabytes to bytes with units(1) easily It turns out that units(1) is not as horrible to use in scripts as I initially thought. When the --terse flag is combined with an appropriate output format (set via --output-format), units(1) is actually capable of producing very nice results. For example: units -o %0.f -t '4 gigabytes' bytes is is just going to print out the expected value of 4294967296. There is no time to waste. People have to know about it. I am adding an example for this at the top of the examples section because this is what users are most likely looking for. Approved by: bcr (mentor) Differential Revision: https://reviews.freebsd.org/D24096 Modified: head/usr.bin/units/units.1 Modified: head/usr.bin/units/units.1 ============================================================================== --- head/usr.bin/units/units.1 Tue Mar 17 09:12:47 2020 (r359031) +++ head/usr.bin/units/units.1 Tue Mar 17 10:02:59 2020 (r359032) @@ -1,5 +1,5 @@ .\" $FreeBSD$ -.Dd February 3, 2020 +.Dd March 17, 2020 .Dt UNITS 1 .Os .Sh NAME @@ -232,8 +232,21 @@ The standard units file. .Ex -std .Sh EXAMPLES .Bl -tag -width 0n -.It Sy Example 1 : No Interactive usage +.It Sy Example 1 : No Simple conversion of units .Pp +This example shows how to do simple conversions, for example from gigabytes +to bytes: +.Bd -literal -offset 2n +.Li $ Ic units -o %0.f -t '4 gigabytes' bytes +4294967296 +.Ed +.Pp +The +.Fl o Cm %0.f +part of the command is required to print the result in a non-scientific +notation (e.g, 4294967296 instead of 4.29497e+09). +.It Sy Example 2 : No Interactive usage +.Pp Here is an example of an interactive session where the user is prompted for units: .Bd -literal -offset 2n @@ -261,7 +274,7 @@ units: .Li You want : Ic degC 29.444444 .Ed -.It Sy Example 2 : No Difference between Do Ic \&| Dc No and Do Ic / Dc No division +.It Sy Example 3 : No Difference between Do Ic \&| Dc No and Do Ic / Dc No division .Pp The following command shows how to convert half a meter to centimeters. .Bd -literal -offset 2n @@ -293,7 +306,7 @@ as .Dq Ic 0.5/meter , which is not conformable to .Dq Ic cm . -.It Sy Example 3 : No Simple units file +.It Sy Example 4 : No Simple units file Here is an example of a short units file that defines some basic units: .Pp @@ -307,7 +320,7 @@ units: .It "ft 12 inches" .It "mile 5280 ft" .El -.It Sy Example 4 : No Viewing units and conversions of the default units file +.It Sy Example 5 : No Viewing units and conversions of the default units file The following shell one-liner allows the user to view the contents of the default units file: .Bd -literal -offset 2n From owner-svn-src-all@freebsd.org Tue Mar 17 11:59:41 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 305A7263034; Tue, 17 Mar 2020 11:59:41 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hWtj0LZPz4Mxl; Tue, 17 Mar 2020 11:59:41 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 047C68DDB; Tue, 17 Mar 2020 11:59:41 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HBxe4e008053; Tue, 17 Mar 2020 11:59:40 GMT (envelope-from arichardson@FreeBSD.org) Received: (from arichardson@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HBxeRp008052; Tue, 17 Mar 2020 11:59:40 GMT (envelope-from arichardson@FreeBSD.org) Message-Id: <202003171159.02HBxeRp008052@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: arichardson set sender to arichardson@FreeBSD.org using -f From: Alex Richardson Date: Tue, 17 Mar 2020 11:59:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359033 - head/sys/mips/nlm X-SVN-Group: head X-SVN-Commit-Author: arichardson X-SVN-Commit-Paths: head/sys/mips/nlm X-SVN-Commit-Revision: 359033 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 11:59:41 -0000 Author: arichardson Date: Tue Mar 17 11:59:40 2020 New Revision: 359033 URL: https://svnweb.freebsd.org/changeset/base/359033 Log: Fix build of XLP MIPS kernel with clang Clang does not recognize some of the GCC optimization options that are used to compile ucore_app.bin. This is required to switch MIPS to compile with LLVM by default (D23204). Reviewed By: imp Differential Revision: https://reviews.freebsd.org/D24092 Modified: head/sys/mips/nlm/files.xlp Modified: head/sys/mips/nlm/files.xlp ============================================================================== --- head/sys/mips/nlm/files.xlp Tue Mar 17 10:02:59 2020 (r359032) +++ head/sys/mips/nlm/files.xlp Tue Mar 17 11:59:40 2020 (r359033) @@ -23,7 +23,7 @@ mips/nlm/dev/net/sgmii.c optional xlpge mips/nlm/dev/net/xaui.c optional xlpge mips/nlm/dev/net/xlpge.c optional xlpge ucore_app.bin optional xlpge \ - compile-with "${CC} -EB -march=mips32 -mabi=32 -msoft-float -I. -I$S -O3 -funroll-loops -finline-limit=20000 -fno-tree-loop-optimize -fomit-frame-pointer -mno-branch-likely -fno-pic -mno-abicalls -ffunction-sections -fdata-sections -G0 -Wall -Werror -c $S/$M/nlm/dev/net/ucore/crt0_basic.S $S/$M/nlm/dev/net/ucore/ucore_app.c && ${LD} -melf32btsmip_fbsd -d -warn-common -T$S/$M/nlm/dev/net/ucore/ld.ucore.S crt0_basic.o ucore_app.o -o ucore_app && ${OBJCOPY} -S -O binary -R .note -R .comment ucore_app ${.TARGET}" \ + compile-with "${CC} -EB -march=mips32 -mabi=32 -msoft-float -I. -I$S -O3 -funroll-loops -fomit-frame-pointer -Qunused-arguments -mno-branch-likely -fno-pic -mno-abicalls -ffunction-sections -fdata-sections -G0 -Wall -Werror -c $S/$M/nlm/dev/net/ucore/crt0_basic.S $S/$M/nlm/dev/net/ucore/ucore_app.c && ${LD} -melf32btsmip_fbsd -d -warn-common -T$S/$M/nlm/dev/net/ucore/ld.ucore.S crt0_basic.o ucore_app.o -o ucore_app && ${OBJCOPY} -S -O binary -R .note -R .comment ucore_app ${.TARGET}" \ no-obj no-implicit-rule before-depend \ clean "crt0_basic.o ucore_app.o ucore_app ucore_app.bin" ucore_app_bin.h optional xlpge \ From owner-svn-src-all@freebsd.org Tue Mar 17 11:59:46 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1DCB0263059; Tue, 17 Mar 2020 11:59:46 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hWtp02ySz4N33; Tue, 17 Mar 2020 11:59:46 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EF7B88DDC; Tue, 17 Mar 2020 11:59:45 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HBxj1b008107; Tue, 17 Mar 2020 11:59:45 GMT (envelope-from arichardson@FreeBSD.org) Received: (from arichardson@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HBxjL5008106; Tue, 17 Mar 2020 11:59:45 GMT (envelope-from arichardson@FreeBSD.org) Message-Id: <202003171159.02HBxjL5008106@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: arichardson set sender to arichardson@FreeBSD.org using -f From: Alex Richardson Date: Tue, 17 Mar 2020 11:59:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359034 - head/sys/contrib/octeon-sdk X-SVN-Group: head X-SVN-Commit-Author: arichardson X-SVN-Commit-Paths: head/sys/contrib/octeon-sdk X-SVN-Commit-Revision: 359034 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 11:59:46 -0000 Author: arichardson Date: Tue Mar 17 11:59:45 2020 New Revision: 359034 URL: https://svnweb.freebsd.org/changeset/base/359034 Log: Fix misleading indentation warning in OCTEON1 kernel This is required to switch MIPS to compile with LLVM by default (D23204). Reviewed By: brooks Differential Revision: https://reviews.freebsd.org/D24091 Modified: head/sys/contrib/octeon-sdk/cvmx-dpi-defs.h Modified: head/sys/contrib/octeon-sdk/cvmx-dpi-defs.h ============================================================================== --- head/sys/contrib/octeon-sdk/cvmx-dpi-defs.h Tue Mar 17 11:59:40 2020 (r359033) +++ head/sys/contrib/octeon-sdk/cvmx-dpi-defs.h Tue Mar 17 11:59:45 2020 (r359034) @@ -408,11 +408,12 @@ static inline uint64_t CVMX_DPI_SLI_PRTX_ERR(unsigned case OCTEON_CN68XX & OCTEON_FAMILY_MASK: if (OCTEON_IS_MODEL(OCTEON_CN68XX_PASS1)) - if ((offset <= 1)) - return CVMX_ADD_IO_SEG(0x0001DF0000000928ull) + ((offset) & 1) * 8; + if ((offset <= 1)) + return CVMX_ADD_IO_SEG(0x0001DF0000000928ull) + ((offset) & 1) * 8; if (OCTEON_IS_MODEL(OCTEON_CN68XX_PASS2)) + if ((offset <= 1)) + return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + ((offset) & 1) * 8; if ((offset <= 1)) - return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + ((offset) & 1) * 8; if ((offset <= 1)) return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + ((offset) & 1) * 8; break; case OCTEON_CN63XX & OCTEON_FAMILY_MASK: From owner-svn-src-all@freebsd.org Tue Mar 17 14:12:20 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A0F922679EF; Tue, 17 Mar 2020 14:12:20 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hZqm2GsXz4ZBg; Tue, 17 Mar 2020 14:12:20 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E29C4A758; Tue, 17 Mar 2020 14:12:19 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HECJqv091155; Tue, 17 Mar 2020 14:12:19 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HECJkI091154; Tue, 17 Mar 2020 14:12:19 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003171412.02HECJkI091154@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Tue, 17 Mar 2020 14:12:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359035 - head X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 359035 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 14:12:20 -0000 Author: emaste Date: Tue Mar 17 14:12:19 2020 New Revision: 359035 URL: https://svnweb.freebsd.org/changeset/base/359035 Log: Makefile.inc1: add a note when deleting stale dependencies We have ad-hoc stale dependency handling in Makefile.inc1 to handle the cases where file extensions change, but it appears that some cases are not functional. Add a note when about to clean stale deps to help when investigating failure reports. Sponsored by: The FreeBSD Foundation Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Tue Mar 17 11:59:45 2020 (r359034) +++ head/Makefile.inc1 Tue Mar 17 14:12:19 2020 (r359035) @@ -922,6 +922,7 @@ _sanity_check: .PHONY .MAKE # tree changes, particularly with respect to removing source files and # replacing generated files. Handle these cases here in an ad-hoc fashion. _cleanobj_fast_depend_hack: .PHONY + @echo ">>> Deleting stale dependencies..."; # Date SVN Rev Syscalls/Changes # 20200310 r358851 rename of openmp's ittnotify_static.c to .cpp .for f in ittnotify_static From owner-svn-src-all@freebsd.org Tue Mar 17 14:59:25 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4CDBA268F38; Tue, 17 Mar 2020 14:59:25 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hbt50lvGz4bjG; Tue, 17 Mar 2020 14:59:25 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C73A3AECD; Tue, 17 Mar 2020 14:59:24 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HExOw7015319; Tue, 17 Mar 2020 14:59:24 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HExOlh015318; Tue, 17 Mar 2020 14:59:24 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003171459.02HExOlh015318@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Tue, 17 Mar 2020 14:59:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359036 - stable/12/share/man/man7 X-SVN-Group: stable-12 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/12/share/man/man7 X-SVN-Commit-Revision: 359036 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 14:59:25 -0000 Author: emaste Date: Tue Mar 17 14:59:24 2020 New Revision: 359036 URL: https://svnweb.freebsd.org/changeset/base/359036 Log: MFC r358898: arch.7: remove extraneous markup from header table sizing Modified: stable/12/share/man/man7/arch.7 Directory Properties: stable/12/ (props changed) Modified: stable/12/share/man/man7/arch.7 ============================================================================== --- stable/12/share/man/man7/arch.7 Tue Mar 17 14:12:19 2020 (r359035) +++ stable/12/share/man/man7/arch.7 Tue Mar 17 14:59:24 2020 (r359036) @@ -88,7 +88,7 @@ This table shows the first release to support each architecture, and, for discontinued architectures, the final release. .Pp -.Bl -column -offset indent "Sy Architecture" "Sy Initial Release" "Sy Final Release" +.Bl -column -offset indent "Architecture" "Initial Release" "Final Release" .It Sy Architecture Ta Sy Initial Release Ta Sy Final Release .It aarch64 Ta 11.0 .It alpha Ta 3.2 Ta 6.4 @@ -151,7 +151,7 @@ execution environment is accompanied by the .Dv ILP32 environment, which was the historical 32-bit predecessor for 64-bit evolution. Examples are: -.Bl -column -offset indent "Dv powerpc64" "Sy ILP32 counterpart" +.Bl -column -offset indent "powerpc64" "ILP32 counterpart" .It Sy LP64 Ta Sy ILP32 counterpart .It Dv amd64 Ta Dv i386 .It Dv powerpc64 Ta Dv powerpc @@ -186,7 +186,7 @@ Most ILP32 ABIs, except require only 4-byte alignment for 64-bit integers. .Pp Machine-dependent type sizes: -.Bl -column -offset indent "Sy Architecture" "Sy void *" "Sy long double" "Sy time_t" +.Bl -column -offset indent "Architecture" "void *" "long double" "time_t" .It Sy Architecture Ta Sy void * Ta Sy long double Ta Sy time_t .It aarch64 Ta 8 Ta 16 Ta 8 .It amd64 Ta 8 Ta 16 Ta 8 @@ -213,7 +213,7 @@ Machine-dependent type sizes: .Sy time_t is 8 bytes on all supported architectures except i386. .Ss Endianness and Char Signedness -.Bl -column -offset indent "Sy Architecture" "Sy Endianness" "Sy char Signedness" +.Bl -column -offset indent "Architecture" "Endianness" "char Signedness" .It Sy Architecture Ta Sy Endianness Ta Sy char Signedness .It aarch64 Ta little Ta unsigned .It amd64 Ta little Ta signed @@ -238,7 +238,7 @@ is 8 bytes on all supported architectures except i386. .It sparc64 Ta big Ta signed .El .Ss Page Size -.Bl -column -offset indent "Sy Architecture" "Sy Page Sizes" +.Bl -column -offset indent "Architecture" "Page Sizes" .It Sy Architecture Ta Sy Page Sizes .It aarch64 Ta 4K, 2M, 1G .It amd64 Ta 4K, 2M, 1G @@ -263,7 +263,7 @@ is 8 bytes on all supported architectures except i386. .It sparc64 Ta 8K .El .Ss Floating Point -.Bl -column -offset indent "Sy Architecture" "Sy float, double" "Sy long double" +.Bl -column -offset indent "Architecture" "float, double" "long double" .It Sy Architecture Ta Sy float, double Ta Sy long double .It aarch64 Ta hard Ta soft, quad precision .It amd64 Ta hard Ta hard, 80 bit @@ -305,7 +305,7 @@ and Binutils .Xr ld 1 , or an external toolchain compiler and linker provided by a port or package. This table shows the default tool chain for each architecture. -.Bl -column -offset indent "Sy Architecture" "Sy Compiler" "Sy Linker" +.Bl -column -offset indent "Architecture" "Compiler" "Linker" .It Sy Architecture Ta Sy Compiler Ta Sy Linker .It aarch64 Ta Clang Ta lld .It amd64 Ta Clang Ta lld @@ -348,7 +348,7 @@ cc -x c -dM -E /dev/null .Ed .Pp Common type size and endianness macros: -.Bl -column -offset indent "BYTE_ORDER" "Sy Meaning" +.Bl -column -offset indent "BYTE_ORDER" "Meaning" .It Sy Macro Ta Sy Meaning .It Dv __LP64__ Ta 64-bit (8-byte) long and pointer, 32-bit (4-byte) int .It Dv __ILP32__ Ta 32-bit (4-byte) int, long and pointer @@ -359,7 +359,7 @@ is not used on .El .Pp Architecture-specific macros: -.Bl -column -offset indent "Sy Architecture" "Sy Predefined macros" +.Bl -column -offset indent "Architecture" "Predefined macros" .It Sy Architecture Ta Sy Predefined macros .It aarch64 Ta Dv __aarch64__ .It amd64 Ta Dv __amd64__, Dv __x86_64__ From owner-svn-src-all@freebsd.org Tue Mar 17 15:57:26 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4D3DC26A34B; Tue, 17 Mar 2020 15:57:26 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hd914hW2z3KXp; Tue, 17 Mar 2020 15:57:25 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 946D8B9C1; Tue, 17 Mar 2020 15:57:25 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HFvPjT050880; Tue, 17 Mar 2020 15:57:25 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HFvPIL050879; Tue, 17 Mar 2020 15:57:25 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003171557.02HFvPIL050879@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Tue, 17 Mar 2020 15:57:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359037 - head/sbin/ldconfig X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sbin/ldconfig X-SVN-Commit-Revision: 359037 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 15:57:26 -0000 Author: emaste Date: Tue Mar 17 15:57:25 2020 New Revision: 359037 URL: https://svnweb.freebsd.org/changeset/base/359037 Log: ldconfig: add aout deprecation notice aout support in ldconfig hasn't been required since FreeBSD 2.x. Anyone still using FreeBSD 2 shared libraries can also use a FreeBSD 2 ldconfig to generate aout ldconfig hints. Sponsored by: The FreeBSD Foundation Modified: head/sbin/ldconfig/ldconfig.8 head/sbin/ldconfig/ldconfig.c Modified: head/sbin/ldconfig/ldconfig.8 ============================================================================== --- head/sbin/ldconfig/ldconfig.8 Tue Mar 17 14:59:24 2020 (r359036) +++ head/sbin/ldconfig/ldconfig.8 Tue Mar 17 15:57:25 2020 (r359037) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 6, 2018 +.Dd March 17, 2020 .Dt LDCONFIG 8 .Os .Sh NAME @@ -111,6 +111,8 @@ Generate the hints for 32-bit ABI shared libraries on 64-bit systems that support running 32-bit binaries. .It Fl aout Generate the hints for a.out format shared libraries. +This option is deprecated and is not present in +.Fx 13 . .It Fl elf Generate the hints for ELF format shared libraries. .It Fl R Modified: head/sbin/ldconfig/ldconfig.c ============================================================================== --- head/sbin/ldconfig/ldconfig.c Tue Mar 17 14:59:24 2020 (r359036) +++ head/sbin/ldconfig/ldconfig.c Tue Mar 17 15:57:25 2020 (r359037) @@ -118,6 +118,7 @@ main(int argc, char **argv) while (argc > 1) { if (strcmp(argv[1], "-aout") == 0) { + warnx("aout support is deprecated"); is_aout = 1; argc--; argv++; From owner-svn-src-all@freebsd.org Tue Mar 17 16:42:26 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F077926B693; Tue, 17 Mar 2020 16:42:26 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hf8x6Y6hz48by; Tue, 17 Mar 2020 16:42:25 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 86676C470; Tue, 17 Mar 2020 16:42:25 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HGgPcK080051; Tue, 17 Mar 2020 16:42:25 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HGgPxI080050; Tue, 17 Mar 2020 16:42:25 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003171642.02HGgPxI080050@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Tue, 17 Mar 2020 16:42:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359038 - head/usr.bin/ldd X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/usr.bin/ldd X-SVN-Commit-Revision: 359038 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 16:42:27 -0000 Author: emaste Date: Tue Mar 17 16:42:25 2020 New Revision: 359038 URL: https://svnweb.freebsd.org/changeset/base/359038 Log: ldd: add aout deprecation notice Reported by: kib Modified: head/usr.bin/ldd/ldd.c Modified: head/usr.bin/ldd/ldd.c ============================================================================== --- head/usr.bin/ldd/ldd.c Tue Mar 17 15:57:25 2020 (r359037) +++ head/usr.bin/ldd/ldd.c Tue Mar 17 16:42:25 2020 (r359038) @@ -311,6 +311,7 @@ is_executable(const char *fname, int fd, int *is_shlib return (0); } *type = TYPE_AOUT; + warnx("%s: aout support is deprecated", fname); return (1); } #endif From owner-svn-src-all@freebsd.org Tue Mar 17 16:48:56 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5C6C426B7C7; Tue, 17 Mar 2020 16:48:56 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hfJS0tFKz4RGm; Tue, 17 Mar 2020 16:48:56 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E7BE7C481; Tue, 17 Mar 2020 16:48:55 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HGmtYn080421; Tue, 17 Mar 2020 16:48:55 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HGmq7m080404; Tue, 17 Mar 2020 16:48:52 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202003171648.02HGmq7m080404@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Tue, 17 Mar 2020 16:48:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r359039 - in vendor/lutok: . dist dist/admin dist/examples dist/include dist/include/lutok dist/m4 X-SVN-Group: vendor X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: in vendor/lutok: . dist dist/admin dist/examples dist/include dist/include/lutok dist/m4 X-SVN-Commit-Revision: 359039 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 16:48:56 -0000 Author: brooks Date: Tue Mar 17 16:48:52 2020 New Revision: 359039 URL: https://svnweb.freebsd.org/changeset/base/359039 Log: Import lutok, a Lightweight C++ API for Lua. This a snapshot of the latest version with git hash: 8f8eaef. Obtained from: https://github.com/jmmv/lutok Sponsored by: DARPA Added: vendor/lutok/ vendor/lutok/dist/ vendor/lutok/dist/.gitignore vendor/lutok/dist/.travis.yml vendor/lutok/dist/AUTHORS vendor/lutok/dist/COPYING vendor/lutok/dist/Doxyfile.in (contents, props changed) vendor/lutok/dist/INSTALL vendor/lutok/dist/Kyuafile vendor/lutok/dist/Makefile.am (contents, props changed) vendor/lutok/dist/NEWS vendor/lutok/dist/README vendor/lutok/dist/admin/ vendor/lutok/dist/admin/.gitignore vendor/lutok/dist/admin/clean-all.sh (contents, props changed) vendor/lutok/dist/admin/travis-build.sh (contents, props changed) vendor/lutok/dist/admin/travis-install-deps.sh (contents, props changed) vendor/lutok/dist/c_gate.cpp (contents, props changed) vendor/lutok/dist/c_gate.hpp vendor/lutok/dist/c_gate_test.cpp (contents, props changed) vendor/lutok/dist/configure.ac vendor/lutok/dist/debug.cpp (contents, props changed) vendor/lutok/dist/debug.hpp vendor/lutok/dist/debug_test.cpp (contents, props changed) vendor/lutok/dist/examples/ vendor/lutok/dist/examples/Makefile (contents, props changed) vendor/lutok/dist/examples/bindings.cpp (contents, props changed) vendor/lutok/dist/examples/hello.cpp (contents, props changed) vendor/lutok/dist/examples/interpreter.cpp (contents, props changed) vendor/lutok/dist/examples/raii.cpp (contents, props changed) vendor/lutok/dist/examples_test.sh (contents, props changed) vendor/lutok/dist/exceptions.cpp (contents, props changed) vendor/lutok/dist/exceptions.hpp vendor/lutok/dist/exceptions_test.cpp (contents, props changed) vendor/lutok/dist/include/ vendor/lutok/dist/include/lutok/ vendor/lutok/dist/include/lutok/README vendor/lutok/dist/include/lutok/c_gate.hpp vendor/lutok/dist/include/lutok/debug.hpp vendor/lutok/dist/include/lutok/exceptions.hpp vendor/lutok/dist/include/lutok/operations.hpp vendor/lutok/dist/include/lutok/stack_cleaner.hpp vendor/lutok/dist/include/lutok/state.hpp vendor/lutok/dist/include/lutok/state.ipp vendor/lutok/dist/lutok.pc.in (contents, props changed) vendor/lutok/dist/m4/ vendor/lutok/dist/m4/.gitignore vendor/lutok/dist/m4/compiler-features.m4 vendor/lutok/dist/m4/compiler-flags.m4 vendor/lutok/dist/m4/developer-mode.m4 vendor/lutok/dist/m4/doxygen.m4 vendor/lutok/dist/m4/lua.m4 vendor/lutok/dist/operations.cpp (contents, props changed) vendor/lutok/dist/operations.hpp vendor/lutok/dist/operations_test.cpp (contents, props changed) vendor/lutok/dist/stack_cleaner.cpp (contents, props changed) vendor/lutok/dist/stack_cleaner.hpp vendor/lutok/dist/stack_cleaner_test.cpp (contents, props changed) vendor/lutok/dist/state.cpp (contents, props changed) vendor/lutok/dist/state.hpp vendor/lutok/dist/state.ipp vendor/lutok/dist/state_test.cpp (contents, props changed) vendor/lutok/dist/test_utils.hpp Added: vendor/lutok/dist/.gitignore ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lutok/dist/.gitignore Tue Mar 17 16:48:52 2020 (r359039) @@ -0,0 +1,21 @@ +*.la +*.lo +*.o +*_test + +.deps +.libs +Doxyfile +Makefile +Makefile.in +aclocal.m4 +api-docs +autom4te.cache +config.h +config.h.in +config.log +config.status +configure +libtool +lutok.pc +stamp-h1 Added: vendor/lutok/dist/.travis.yml ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lutok/dist/.travis.yml Tue Mar 17 16:48:52 2020 (r359039) @@ -0,0 +1,25 @@ +language: cpp + +compiler: + - gcc + - clang + +before_install: + - ./admin/travis-install-deps.sh + +env: + - ARCH=amd64 AS_ROOT=no + - ARCH=amd64 AS_ROOT=yes + - ARCH=i386 AS_ROOT=no + +matrix: + exclude: + - compiler: clang + env: ARCH=i386 AS_ROOT=no + +script: + - ./admin/travis-build.sh + +notifications: + email: + - lutok-log@googlegroups.com Added: vendor/lutok/dist/AUTHORS ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lutok/dist/AUTHORS Tue Mar 17 16:48:52 2020 (r359039) @@ -0,0 +1 @@ +* Julio Merino Added: vendor/lutok/dist/COPYING ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lutok/dist/COPYING Tue Mar 17 16:48:52 2020 (r359039) @@ -0,0 +1,27 @@ +Copyright 2011, 2012 Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of Google Inc. nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Added: vendor/lutok/dist/Doxyfile.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lutok/dist/Doxyfile.in Tue Mar 17 16:48:52 2020 (r359039) @@ -0,0 +1,53 @@ +# Copyright 2010 Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Google Inc. nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +BUILTIN_STL_SUPPORT = YES +ENABLE_PREPROCESSING = YES +EXTRACT_ANON_NSPACES = YES +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +EXPAND_ONLY_PREDEF = YES +FILE_PATTERNS = *.cpp *.hpp *.ipp +GENERATE_LATEX = NO +GENERATE_TAGFILE = @top_builddir@/api-docs/api-docs.tag +INPUT = @top_srcdir@ +INPUT_ENCODING = ISO-8859-1 +JAVADOC_AUTOBRIEF = YES +MACRO_EXPANSION = YES +OUTPUT_DIRECTORY = @top_builddir@/api-docs +OUTPUT_LANGUAGE = English +PREDEFINED = "UTILS_UNUSED_PARAM(name)=unused_ ## name" +PROJECT_NAME = "@PACKAGE_NAME@" +PROJECT_NUMBER = @VERSION@ +QUIET = YES +RECURSIVE = NO +SHORT_NAMES = YES # Cope with gnutar limitations during 'make dist'. +SORT_BY_SCOPE_NAME = YES +SORT_MEMBERS_CTORS_1ST = YES +WARN_NO_PARAMDOC = YES Added: vendor/lutok/dist/INSTALL ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lutok/dist/INSTALL Tue Mar 17 16:48:52 2020 (r359039) @@ -0,0 +1,181 @@ +Introduction +============ + +Lutok uses the GNU Automake, GNU Autoconf and GNU Libtool utilities as +its build system. These are used only when compiling the library from +the source code package. If you want to install Lutok from a binary +package, you do not need to read this document. + +For the impatient: + + $ ./configure + $ make + $ make check + Gain root privileges + # make install + Drop root privileges + $ make installcheck + +Or alternatively, install as a regular user into your home directory: + + $ ./configure --prefix ~/local + $ make + $ make check + $ make install + $ make installcheck + + +Dependencies +============ + +To build and use Lutok successfully you need: + +* A standards-compliant C++ complier. +* Lua 5.1 or greater. +* pkg-config. + +Optionally, if you want to build and run the tests (recommended), you +need: + +* Kyua 0.5 or greater. +* ATF 0.15 or greater. + +If you are building Lutok from the code on the repository, you will also +need the following tools: + +* GNU Autoconf. +* GNU Automake. +* GNU Libtool. + + +Regenerating the build system +============================= + +This is not necessary if you are building from a formal release +distribution file. + +On the other hand, if you are building Lutok from code extracted from +the repository, you must first regenerate the files used by the build +system. You will also need to do this if you modify configure.ac, +Makefile.am or any of the other build system files. To do this, simply +run: + + $ autoreconf -i -s + +If ATF is installed in a different prefix than Autoconf, you will also +need to tell autoreconf where the ATF M4 macros are located. Otherwise, +the configure script will be incomplete and will show confusing syntax +errors mentioning, for example, ATF_CHECK_SH. To fix this, you have +to run autoreconf in the following manner, replacing '' with +the appropriate path: + + $ autoreconf -i -s -I /share/aclocal + + +General build procedure +======================= + +To build and install the source package, you must follow these steps: + +1. Configure the sources to adapt to your operating system. This is + done using the 'configure' script located on the sources' top + directory, and it is usually invoked without arguments unless you + want to change the installation prefix. More details on this + procedure are given on a later section. + +2. Build the sources to generate the binaries and scripts. Simply run + 'make' on the sources' top directory after configuring them. No + problems should arise. + +3. Install the library by running 'make install'. You may need to + become root to issue this step. + +4. Issue any manual installation steps that may be required. These are + described later in their own section. + +5. Check that the installed library works by running 'make + installcheck'. You do not need to be root to do this. + + +Configuration flags +=================== + +The most common, standard flags given to 'configure' are: + +* --prefix=directory + Possible values: Any path + Default: /usr/local + + Specifies where the library (binaries and all associated files) will + be installed. + +* --help + Shows information about all available flags and exits immediately, + without running any configuration tasks. + +The following flags are specific to Lutok's 'configure' script: + +* --enable-developer + Possible values: yes, no + Default: 'yes' in Git HEAD builds; 'no' in formal releases. + + Enables several features useful for development, such as the inclusion + of debugging symbols in all objects or the enforcement of compilation + warnings. + + The compiler will be executed with an exhaustive collection of warning + detection features regardless of the value of this flag. However, such + warnings are only fatal when --enable-developer is 'yes'. + +* --with-atf + Possible values: yes, no, auto. + Default: auto. + + Enables usage of ATF to build (and later install) the tests. + + Setting this to 'yes' causes the configure script to look for ATF + unconditionally and abort if not found. Setting this to 'auto' lets + configure perform the best decision based on availability of ATF. + Setting this to 'no' explicitly disables ATF usage. + + When support for tests is enabled, the build process will generate the + test programs and will later install them into the tests tree. + Running 'make check' or 'make installcheck' from within the source + directory will cause these tests to be run with Kyua (assuming it is + also installed). + +* --with-doxygen + Possible values: yes, no, auto or a path. + Default: auto. + + Enables usage of Doxygen to generate documentation for internal APIs. + + Setting this to 'yes' causes the configure script to look for Doxygen + unconditionally and abort if not found. Setting this to 'auto' lets + configure perform the best decision based on availability of Doxygen. + Setting this to 'no' explicitly disables Doxygen usage. And, lastly, + setting this to a path forces configure to use a specific Doxygen + binary, which must exist. + + When support for Doxygen is enabled, the build process will generate + HTML documentation for the Lutok API. This documentation will later + be installed in the HTML directory specified by the configure script. + You can change the location of the HTML documents by providing your + desired override with the '--htmldir' flag to the configure script. + + +Run the tests! +============== + +Lastly, after a successful installation (and assuming you built the +sources with support for ATF), you should periodically run the tests +from the final location to ensure things remain stable. Do so as +follows: + + $ kyua test -k /usr/local/tests/lutok/Kyuafile + +And if you see any tests fail, do not hesitate to report them in: + + https://github.com/jmmv/lutok/issues/ + +Thank you! Added: vendor/lutok/dist/Kyuafile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lutok/dist/Kyuafile Tue Mar 17 16:48:52 2020 (r359039) @@ -0,0 +1,11 @@ +syntax("kyuafile", 1) + +test_suite("lutok") + +atf_test_program{name="c_gate_test"} +atf_test_program{name="debug_test"} +atf_test_program{name="examples_test"} +atf_test_program{name="exceptions_test"} +atf_test_program{name="operations_test"} +atf_test_program{name="stack_cleaner_test"} +atf_test_program{name="state_test"} Added: vendor/lutok/dist/Makefile.am ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lutok/dist/Makefile.am Tue Mar 17 16:48:52 2020 (r359039) @@ -0,0 +1,221 @@ +# Copyright 2010 Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Google Inc. nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +ACLOCAL_AMFLAGS = -I m4 + +doc_DATA = AUTHORS COPYING NEWS README +noinst_DATA = INSTALL README +EXTRA_DIST = $(doc_DATA) INSTALL README + +LUTOK_CFLAGS = -I$(srcdir)/include $(LUA_CFLAGS) +LUTOK_LIBS = liblutok.la $(LUA_LIBS) + +pkginclude_HEADERS = c_gate.hpp +pkginclude_HEADERS += debug.hpp +pkginclude_HEADERS += exceptions.hpp +pkginclude_HEADERS += operations.hpp +pkginclude_HEADERS += stack_cleaner.hpp +pkginclude_HEADERS += state.hpp +pkginclude_HEADERS += state.ipp +pkginclude_HEADERS += test_utils.hpp + +EXTRA_DIST += include/lutok/README +EXTRA_DIST += include/lutok/c_gate.hpp +EXTRA_DIST += include/lutok/debug.hpp +EXTRA_DIST += include/lutok/exceptions.hpp +EXTRA_DIST += include/lutok/operations.hpp +EXTRA_DIST += include/lutok/stack_cleaner.hpp +EXTRA_DIST += include/lutok/state.hpp +EXTRA_DIST += include/lutok/state.ipp + +lib_LTLIBRARIES = liblutok.la +liblutok_la_SOURCES = c_gate.cpp +liblutok_la_SOURCES += c_gate.hpp +liblutok_la_SOURCES += debug.cpp +liblutok_la_SOURCES += debug.hpp +liblutok_la_SOURCES += exceptions.cpp +liblutok_la_SOURCES += exceptions.hpp +liblutok_la_SOURCES += operations.cpp +liblutok_la_SOURCES += operations.hpp +liblutok_la_SOURCES += stack_cleaner.cpp +liblutok_la_SOURCES += stack_cleaner.hpp +liblutok_la_SOURCES += state.cpp +liblutok_la_SOURCES += state.hpp +liblutok_la_SOURCES += state.ipp +liblutok_la_SOURCES += test_utils.hpp +liblutok_la_CPPFLAGS = $(LUTOK_CFLAGS) +liblutok_la_LDFLAGS = -version-info 3:0:0 +liblutok_la_LIBADD = $(LUA_LIBS) + +pkgconfig_DATA = lutok.pc +CLEANFILES = lutok.pc +EXTRA_DIST += lutok.pc.in +lutok.pc: $(srcdir)/lutok.pc.in Makefile + $(AM_V_GEN)sed -e 's#__INCLUDEDIR__#$(includedir)#g' \ + -e 's#__LIBDIR__#$(libdir)#g' \ + -e 's#__LUA_CFLAGS__#$(LUA_CFLAGS)#g' \ + -e 's#__LUA_LIBS__#$(LUA_LIBS)#g' \ + -e 's#__VERSION__#$(PACKAGE_VERSION)#g' \ + <$(srcdir)/lutok.pc.in >lutok.pc.tmp; \ + mv lutok.pc.tmp lutok.pc + +CLEAN_TARGETS = +DIST_HOOKS = +PHONY_TARGETS = + +examplesdir = $(docdir)/examples +examples_DATA = examples/Makefile +examples_DATA += examples/bindings.cpp +examples_DATA += examples/hello.cpp +examples_DATA += examples/interpreter.cpp +examples_DATA += examples/raii.cpp +EXTRA_DIST += $(examples_DATA) + +if WITH_ATF +tests_DATA = Kyuafile +EXTRA_DIST += $(tests_DATA) + +tests_PROGRAMS = c_gate_test +c_gate_test_SOURCES = c_gate_test.cpp test_utils.hpp +c_gate_test_CXXFLAGS = $(LUTOK_CFLAGS) $(ATF_CXX_CFLAGS) +c_gate_test_LDADD = $(LUTOK_LIBS) $(ATF_CXX_LIBS) + +tests_PROGRAMS += debug_test +debug_test_SOURCES = debug_test.cpp test_utils.hpp +debug_test_CXXFLAGS = $(LUTOK_CFLAGS) $(ATF_CXX_CFLAGS) +debug_test_LDADD = $(LUTOK_LIBS) $(ATF_CXX_LIBS) + +tests_SCRIPTS = examples_test +CLEANFILES += examples_test +EXTRA_DIST += examples_test.sh +examples_test: $(srcdir)/examples_test.sh + $(AM_V_GEN)sed -e 's,__ATF_SH__,$(ATF_SH),g' \ + -e 's,__CXX__,$(CXX),g' \ + -e 's,__EXAMPLESDIR__,$(examplesdir),g' \ + -e 's,__LIBDIR__,$(libdir),g' \ + <$(srcdir)/examples_test.sh >examples_test.tmp; \ + chmod +x examples_test.tmp; \ + rm -f examples_test; \ + mv examples_test.tmp examples_test + +tests_PROGRAMS += exceptions_test +exceptions_test_SOURCES = exceptions_test.cpp +exceptions_test_CXXFLAGS = $(LUTOK_CFLAGS) $(ATF_CXX_CFLAGS) +exceptions_test_LDADD = $(LUTOK_LIBS) $(ATF_CXX_LIBS) + +tests_PROGRAMS += operations_test +operations_test_SOURCES = operations_test.cpp test_utils.hpp +operations_test_CXXFLAGS = $(LUTOK_CFLAGS) $(ATF_CXX_CFLAGS) +operations_test_LDADD = $(LUTOK_LIBS) $(ATF_CXX_LIBS) + +tests_PROGRAMS += stack_cleaner_test +stack_cleaner_test_SOURCES = stack_cleaner_test.cpp test_utils.hpp +stack_cleaner_test_CXXFLAGS = $(LUTOK_CFLAGS) $(ATF_CXX_CFLAGS) +stack_cleaner_test_LDADD = $(LUTOK_LIBS) $(ATF_CXX_LIBS) + +tests_PROGRAMS += state_test +state_test_SOURCES = state_test.cpp test_utils.hpp +state_test_CXXFLAGS = $(LUTOK_CFLAGS) $(ATF_CXX_CFLAGS) +state_test_LDADD = $(LUTOK_LIBS) $(ATF_CXX_LIBS) + +if HAVE_KYUA +check-local: check-kyua +PHONY_TARGETS += check-kyua +check-kyua: + $(TESTS_ENVIRONMENT) kyua test \ + --kyuafile='$(top_srcdir)/Kyuafile' --build-root='$(top_builddir)' + +installcheck-local: installcheck-kyua +PHONY_TARGETS += installcheck-kyua +installcheck-kyua: + cd $(testsdir) && $(TESTS_ENVIRONMENT) kyua test +endif +else +DIST_HOOKS += dist-no-atf +PHONY_TARGETS += dist-no-atf +dist-no-atf: + @echo "Sorry; cannot build a distfile without atf" + @false +endif + +if WITH_DOXYGEN +# This should probably be html-local, but it seems better to generate the +# documentation in all cases to get warnings about missing documentation every +# time the code is modified. (And, after all, the documentation is not +# installed so generating it unconditionally is not a big problem.) +all-local: api-docs/api-docs.tag + +api-docs/api-docs.tag: $(builddir)/Doxyfile $(SOURCES) + $(AM_V_GEN)rm -rf api-docs; \ + mkdir -p api-docs; \ + ${DOXYGEN} $(builddir)/Doxyfile 2>&1 | tee api-docs/warnings; \ + rm -f api-docs/html/installdox +api-docs/html: api-docs/api-docs.tag + +CLEAN_TARGETS += clean-api-docs +clean-api-docs: + rm -rf api-docs + +EXTRA_DIST += api-docs/html +else +DIST_HOOKS += dist-no-doxygen +PHONY_TARGETS += dist-no-doxygen +dist-no-doxygen: + @echo "Sorry; cannot build a distfile without Doxygen" + @false +endif + +install-data-local: install-api-docs +install-api-docs: install-docDATA + @echo "Installing HTML documentation into $(DESTDIR)$(htmldir)" + @if [ -d api-docs/html ]; then \ + test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"; \ + ( cd api-docs/html && tar cf - . ) | \ + ( cd "$(DESTDIR)$(htmldir)" && tar xf - ); \ + elif [ -d "$(srcdir)/api-docs/html" ]; then \ + test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"; \ + ( cd "$(srcdir)/api-docs/html" && tar cf - . ) | \ + ( cd "$(DESTDIR)$(htmldir)" && tar xf - ); \ + else \ + echo "Doxygen not installed and prebuilt documents not found"; \ + fi + +uninstall-local: uninstall-api-docs +uninstall-api-docs: + find "$(DESTDIR)$(htmldir)" -type d -exec chmod 755 {} \; + rm -rf "$(DESTDIR)$(htmldir)" + +clean-local: $(CLEAN_TARGETS) + +PHONY_TARGETS += clean-all +clean-all: + GIT="$(GIT)" $(SH) $(srcdir)/admin/clean-all.sh + +dist-hook: $(DIST_HOOKS) + +.PHONY: ${PHONY_TARGETS} Added: vendor/lutok/dist/NEWS ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lutok/dist/NEWS Tue Mar 17 16:48:52 2020 (r359039) @@ -0,0 +1,68 @@ +Changes in version 0.4 +====================== + +Released on 2013/12/07. + +* Cope with the lack of AM_PROG_AR in configure.ac, which first + appeared in Automake 1.11.2. Fixes a problem in Ubuntu 10.04 + LTS, which appears stuck in 1.11.1. + +* Stopped shipping an Atffile. The only supported way to run the tests + is via Kyua. + +Interface changes: + +* Issue 5: New methods added to the state class: open_all. + +* Removed default parameter values from all state methods and all + standalone operations. It is often unclear what the default value is + given that it depends on the specific Lua operation. Being explicit + on the caller side is clearer. + +* Modified operations do_file and do_string to support passing a number + of arguments to the loaded chunks and an error handler to the backing + pcall call. + + +Changes in version 0.3 +====================== + +Released on 2013/06/14. + +* Issue 1: Added support for Lua 5.2 while maintaining support for Lua + 5.1. Applications using Lutok can be modified to use the new + interface in this new version and thus support both Lua releases. + However, because of incompatible changes to the Lua API, this release + of Lutok is incompatible with previous releases as well. + +* Issue 3: Tweaked configure to look for Lua using the pkg-config names + lua-5.2 and lua-5.1. These are the names used by FreeBSD. + +Interface changes: + +* New global constants: registry_index. + +* New methods added to the state class: get_global_table. + +* Removed global constants: globals_index. + + +Changes in version 0.2 +====================== + +Released on 2012/05/30. + +* New global constants: globals_index. + +* New methods added to the state class: get_metafield, get_metatable, + insert, push_value, raw_get and raw_set. + +* Acknowledged that Lua 5.2 is currently not supported. + + +Changes in version 0.1 +====================== + +Released on 2012/01/29. + +* This is the first public release of the Lutok package. Added: vendor/lutok/dist/README ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lutok/dist/README Tue Mar 17 16:48:52 2020 (r359039) @@ -0,0 +1,27 @@ +Lutok is a lightweight C++ API library for Lua. + +Lutok provides thin C++ wrappers around the Lua C API to ease the +interaction between C++ and Lua. These wrappers make intensive use of +RAII to prevent resource leakage, expose C++-friendly data types, report +errors by means of exceptions and ensure that the Lua stack is always +left untouched in the face of errors. The library also provides a small +subset of miscellaneous utility functions built on top of the wrappers. + +Lutok focuses on providing a clean and safe C++ interface; the drawback +is that it is not suitable for performance-critical environments. In +order to implement error-safe C++ wrappers on top of a Lua C binary +library, Lutok adds several layers or abstraction and error checking +that go against the original spirit of the Lua C API and thus degrade +performance. + +For further information on the contents of this distribution file, +please refer to the following other documents: + +* AUTHORS: List of authors and contributors to this project. +* COPYING: License information. +* INSTALL: Compilation and installation instructions. +* NEWS: List of major changes between formal releases. + +For general project information, please visit: + + https://github.com/jmmv/lutok/ Added: vendor/lutok/dist/admin/.gitignore ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lutok/dist/admin/.gitignore Tue Mar 17 16:48:52 2020 (r359039) @@ -0,0 +1,8 @@ +ar-lib +compile +config.guess +config.sub +depcomp +install-sh +ltmain.sh +missing Added: vendor/lutok/dist/admin/clean-all.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lutok/dist/admin/clean-all.sh Tue Mar 17 16:48:52 2020 (r359039) @@ -0,0 +1,90 @@ +#! /bin/sh +# Copyright 2010 Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Google Inc. nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Prog_Name=${0##*/} + +if [ ! -f ./state.hpp ]; then + echo "${Prog_Name}: must be run from the source top directory" 1>&2 + exit 1 +fi + +if [ ! -f configure ]; then + echo "${Prog_Name}: configure not found; nothing to clean?" 1>&2 + exit 1 +fi + +[ -f Makefile ] || ./configure +make distclean + +# Top-level directory. +rm -f Makefile.in +rm -f aclocal.m4 +rm -rf autom4te.cache +rm -f config.h.in +rm -f configure +rm -f mkinstalldirs +rm -f lutok-*.tar.gz + +# admin directory. +rm -f admin/compile +rm -f admin/config.guess +rm -f admin/config.sub +rm -f admin/depcomp +rm -f admin/install-sh +rm -f admin/ltmain.sh +rm -f admin/mdate-sh +rm -f admin/missing +rm -f admin/texinfo.tex + +# bootstrap directory. +rm -f bootstrap/package.m4 +rm -f bootstrap/testsuite + +# doc directory. +rm -f doc/*.info +rm -f doc/stamp-vti +rm -f doc/version.texi + +# m4 directory. +rm -f m4/libtool.m4 +rm -f m4/lt*.m4 + +# Files and directories spread all around the tree. +find . -name '#*' | xargs rm -rf +find . -name '*~' | xargs rm -rf +find . -name .deps | xargs rm -rf +find . -name .gdb_history | xargs rm -rf +find . -name .libs | xargs rm -rf +find . -name .tmp | xargs rm -rf + +# Show remaining files. +if [ -n "${GIT}" ]; then + echo ">>> untracked and ignored files" + "${GIT}" status --porcelain --ignored | grep -E '^(\?\?|!!)' || true +fi Added: vendor/lutok/dist/admin/travis-build.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lutok/dist/admin/travis-build.sh Tue Mar 17 16:48:52 2020 (r359039) @@ -0,0 +1,51 @@ +#! /bin/sh +# Copyright 2014 Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Google Inc. nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +set -e -x + +if [ -d /usr/local/share/aclocal ]; then + autoreconf -isv -I/usr/local/share/aclocal +else + autoreconf -isv +fi +./configure + +archflags= +[ "${ARCH?}" != i386 ] || archflags=-m32 + +f= +f="${f} CPPFLAGS='-I/usr/local/include'" +f="${f} CXX='${CXX} ${archflags}'" +f="${f} LDFLAGS='-L/usr/local/lib -Wl,-R/usr/local/lib'" +f="${f} PKG_CONFIG_PATH='/usr/local/lib/pkgconfig'" +if [ "${AS_ROOT:-no}" = yes ]; then + sudo -H PATH="${PATH}" make distcheck DISTCHECK_CONFIGURE_FLAGS="${f}" +else + make distcheck DISTCHECK_CONFIGURE_FLAGS="${f}" +fi Added: vendor/lutok/dist/admin/travis-install-deps.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lutok/dist/admin/travis-install-deps.sh Tue Mar 17 16:48:52 2020 (r359039) @@ -0,0 +1,109 @@ +#! /bin/sh +# Copyright 2014 Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Google Inc. nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +set -e -x + +install_deps() { + sudo apt-get update -qq + + local pkgsuffix= + local packages= + if [ "${ARCH?}" = i386 ]; then + pkgsuffix=:i386 + packages="${packages} gcc-multilib" + packages="${packages} g++-multilib" + fi + packages="${packages} doxygen" + packages="${packages} gdb" + packages="${packages} liblua5.2-0${pkgsuffix}" + packages="${packages} liblua5.2-dev${pkgsuffix}" + packages="${packages} libsqlite3-0${pkgsuffix}" + packages="${packages} libsqlite3-dev${pkgsuffix}" + packages="${packages} pkg-config${pkgsuffix}" + packages="${packages} sqlite3" + sudo apt-get install -y ${packages} +} + +install_from_github() { + local project="${1}"; shift + local name="${1}"; shift + local release="${1}"; shift + + local distname="${name}-${release}" + + local baseurl="https://github.com/jmmv/${project}" + wget --no-check-certificate \ + "${baseurl}/releases/download/${distname}/${distname}.tar.gz" + tar -xzvf "${distname}.tar.gz" + + local archflags= + [ "${ARCH?}" != i386 ] || archflags=-m32 + + cd "${distname}" + ./configure \ + --disable-developer \ + --without-atf \ + --without-doxygen \ + CFLAGS="${archflags}" \ + CPPFLAGS="-I/usr/local/include" \ + CXXFLAGS="${archflags}" \ + LDFLAGS="-L/usr/local/lib -Wl,-R/usr/local/lib" \ + PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" + make + sudo make install + cd - + + rm -rf "${distname}" "${distname}.tar.gz" +} + +install_from_bintray() { + case "${ARCH?}" in + amd64) + name="20160204-usr-local-kyua-ubuntu-12-04-amd64-${CC?}.tar.gz" + ;; + i386) + name="20160714-usr-local-kyua-ubuntu-12-04-i386-${CC?}.tar.gz" + ;; + *) + echo "ERROR: Unknown ARCH value ${ARCH}" 1>&2 + exit 1 + ;; + esac + wget "http://dl.bintray.com/jmmv/kyua/${name}" || return 1 + sudo tar -xzvp -C / -f "${name}" + rm -f "${name}" +} + +install_deps +if ! install_from_bintray; then + install_from_github atf atf 0.20 + install_from_github lutok lutok 0.4 + install_from_github kyua kyua-testers 0.2 + install_from_github kyua kyua-cli 0.8 +fi Added: vendor/lutok/dist/c_gate.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lutok/dist/c_gate.cpp Tue Mar 17 16:48:52 2020 (r359039) @@ -0,0 +1,76 @@ +// Copyright 2011 Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of Google Inc. nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#include "c_gate.hpp" +#include "state.ipp" + + +/// Creates a new gateway to an existing C++ Lua state. +/// +/// \param state_ The state to connect to. This object must remain alive while +/// the newly-constructed state_c_gate is alive. +lutok::state_c_gate::state_c_gate(state& state_) : + _state(state_) +{ +} + + +/// Destructor. +/// +/// Destroying this object has no implications on the life cycle of the Lua +/// state. Only the corresponding state object controls when the Lua state is +/// closed. +lutok::state_c_gate::~state_c_gate(void) +{ +} + + +/// Creates a C++ state for a C Lua state. +/// +/// \warning The created state object does NOT own the C state. You must take +/// care to properly destroy the input lua_State when you are done with it to +/// not leak resources. +/// +/// \param raw_state The raw state to wrap temporarily. +/// +/// \return The wrapped state without strong ownership on the input state. +lutok::state *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Tue Mar 17 16:50:01 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 109F226B9F9; Tue, 17 Mar 2020 16:50:01 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hfKh4y54z4TCF; Tue, 17 Mar 2020 16:50:00 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 268A3C486; Tue, 17 Mar 2020 16:50:00 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HGo07J080565; Tue, 17 Mar 2020 16:50:00 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HGo0CC080557; Tue, 17 Mar 2020 16:50:00 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202003171650.02HGo0CC080557@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Tue, 17 Mar 2020 16:50:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r359040 - vendor/lutok/0.4-8f8eaef X-SVN-Group: vendor X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: vendor/lutok/0.4-8f8eaef X-SVN-Commit-Revision: 359040 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 16:50:01 -0000 Author: brooks Date: Tue Mar 17 16:49:59 2020 New Revision: 359040 URL: https://svnweb.freebsd.org/changeset/base/359040 Log: Tag import of lutok-0.4 plus accumulated changes at 8f8eaef. Added: vendor/lutok/0.4-8f8eaef/ - copied from r359039, vendor/lutok/dist/ From owner-svn-src-all@freebsd.org Tue Mar 17 16:56:33 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4861A26BD09; Tue, 17 Mar 2020 16:56:33 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hfTF04j7z3H5X; Tue, 17 Mar 2020 16:56:33 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C4A88C645; Tue, 17 Mar 2020 16:56:32 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HGuWd8086480; Tue, 17 Mar 2020 16:56:32 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HGuWhF086479; Tue, 17 Mar 2020 16:56:32 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202003171656.02HGuWhF086479@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Tue, 17 Mar 2020 16:56:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org Subject: svn commit: r359041 - svnadmin/conf X-SVN-Group: svnadmin X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: svnadmin/conf X-SVN-Commit-Revision: 359041 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 16:56:33 -0000 Author: brooks Date: Tue Mar 17 16:56:32 2020 New Revision: 359041 URL: https://svnweb.freebsd.org/changeset/base/359041 Log: Add to list for kyua import. Modified: svnadmin/conf/sizelimit.conf Modified: svnadmin/conf/sizelimit.conf ============================================================================== --- svnadmin/conf/sizelimit.conf Tue Mar 17 16:49:59 2020 (r359040) +++ svnadmin/conf/sizelimit.conf Tue Mar 17 16:56:32 2020 (r359041) @@ -16,6 +16,7 @@ # First field is username, second field is the raised limit required. achim bapt +brooks davidcs dim 20480000 imp From owner-svn-src-all@freebsd.org Tue Mar 17 16:56:53 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9332F26BD45; Tue, 17 Mar 2020 16:56:53 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hfTd2yyWz3Hpt; Tue, 17 Mar 2020 16:56:53 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E2679C646; Tue, 17 Mar 2020 16:56:52 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HGuqoa086549; Tue, 17 Mar 2020 16:56:52 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HGuoNJ086537; Tue, 17 Mar 2020 16:56:50 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202003171656.02HGuoNJ086537@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Tue, 17 Mar 2020 16:56:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r359042 - in vendor/kyua: . dist dist/admin dist/bootstrap dist/cli dist/doc dist/drivers dist/engine dist/examples dist/integration dist/integration/helpers dist/m4 dist/misc dist/mode... X-SVN-Group: vendor X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: in vendor/kyua: . dist dist/admin dist/bootstrap dist/cli dist/doc dist/drivers dist/engine dist/examples dist/integration dist/integration/helpers dist/m4 dist/misc dist/model dist/store dist/utils d... X-SVN-Commit-Revision: 359042 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 16:56:53 -0000 Author: brooks Date: Tue Mar 17 16:56:50 2020 New Revision: 359042 URL: https://svnweb.freebsd.org/changeset/base/359042 Log: Import the kyua testing framework for infrastructure software Imported at 0.13 plus assumulated changes to git hash a685f91. Obtained from: https://github.com/jmmv/kyua Sponsored by: DARPA Added: vendor/kyua/ vendor/kyua/dist/ vendor/kyua/dist/.gitignore vendor/kyua/dist/.travis.yml vendor/kyua/dist/AUTHORS vendor/kyua/dist/CONTRIBUTING.md vendor/kyua/dist/CONTRIBUTORS vendor/kyua/dist/Doxyfile.in (contents, props changed) vendor/kyua/dist/INSTALL.md vendor/kyua/dist/Kyuafile vendor/kyua/dist/LICENSE vendor/kyua/dist/Makefile.am (contents, props changed) vendor/kyua/dist/NEWS.md vendor/kyua/dist/README.md vendor/kyua/dist/admin/ vendor/kyua/dist/admin/.gitignore vendor/kyua/dist/admin/Makefile.am.inc (contents, props changed) vendor/kyua/dist/admin/build-bintray-dist.sh (contents, props changed) vendor/kyua/dist/admin/check-api-docs.awk (contents, props changed) vendor/kyua/dist/admin/check-style-common.awk (contents, props changed) vendor/kyua/dist/admin/check-style-cpp.awk (contents, props changed) vendor/kyua/dist/admin/check-style-make.awk (contents, props changed) vendor/kyua/dist/admin/check-style-man.awk (contents, props changed) vendor/kyua/dist/admin/check-style-shell.awk (contents, props changed) vendor/kyua/dist/admin/check-style.sh (contents, props changed) vendor/kyua/dist/admin/clean-all.sh (contents, props changed) vendor/kyua/dist/admin/travis-build.sh (contents, props changed) vendor/kyua/dist/admin/travis-install-deps.sh (contents, props changed) vendor/kyua/dist/bootstrap/ vendor/kyua/dist/bootstrap/.gitignore vendor/kyua/dist/bootstrap/Kyuafile vendor/kyua/dist/bootstrap/Makefile.am.inc (contents, props changed) vendor/kyua/dist/bootstrap/atf_helpers.cpp (contents, props changed) vendor/kyua/dist/bootstrap/plain_helpers.cpp (contents, props changed) vendor/kyua/dist/bootstrap/testsuite.at vendor/kyua/dist/cli/ vendor/kyua/dist/cli/Kyuafile vendor/kyua/dist/cli/Makefile.am.inc (contents, props changed) vendor/kyua/dist/cli/cmd_about.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_about.hpp vendor/kyua/dist/cli/cmd_about_test.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_config.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_config.hpp vendor/kyua/dist/cli/cmd_config_test.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_db_exec.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_db_exec.hpp vendor/kyua/dist/cli/cmd_db_exec_test.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_db_migrate.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_db_migrate.hpp vendor/kyua/dist/cli/cmd_debug.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_debug.hpp vendor/kyua/dist/cli/cmd_debug_test.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_help.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_help.hpp vendor/kyua/dist/cli/cmd_help_test.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_list.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_list.hpp vendor/kyua/dist/cli/cmd_list_test.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_report.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_report.hpp vendor/kyua/dist/cli/cmd_report_html.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_report_html.hpp vendor/kyua/dist/cli/cmd_report_junit.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_report_junit.hpp vendor/kyua/dist/cli/cmd_test.cpp (contents, props changed) vendor/kyua/dist/cli/cmd_test.hpp vendor/kyua/dist/cli/cmd_test_test.cpp (contents, props changed) vendor/kyua/dist/cli/common.cpp (contents, props changed) vendor/kyua/dist/cli/common.hpp vendor/kyua/dist/cli/common.ipp vendor/kyua/dist/cli/common_test.cpp (contents, props changed) vendor/kyua/dist/cli/config.cpp (contents, props changed) vendor/kyua/dist/cli/config.hpp vendor/kyua/dist/cli/config_test.cpp (contents, props changed) vendor/kyua/dist/cli/main.cpp (contents, props changed) vendor/kyua/dist/cli/main.hpp vendor/kyua/dist/cli/main_test.cpp (contents, props changed) vendor/kyua/dist/configure.ac vendor/kyua/dist/doc/ vendor/kyua/dist/doc/.gitignore vendor/kyua/dist/doc/Kyuafile vendor/kyua/dist/doc/Makefile.am.inc (contents, props changed) vendor/kyua/dist/doc/build-root.mdoc vendor/kyua/dist/doc/kyua-about.1.in (contents, props changed) vendor/kyua/dist/doc/kyua-config.1.in (contents, props changed) vendor/kyua/dist/doc/kyua-db-exec.1.in (contents, props changed) vendor/kyua/dist/doc/kyua-db-migrate.1.in (contents, props changed) vendor/kyua/dist/doc/kyua-debug.1.in (contents, props changed) vendor/kyua/dist/doc/kyua-help.1.in (contents, props changed) vendor/kyua/dist/doc/kyua-list.1.in (contents, props changed) vendor/kyua/dist/doc/kyua-report-html.1.in (contents, props changed) vendor/kyua/dist/doc/kyua-report-junit.1.in (contents, props changed) vendor/kyua/dist/doc/kyua-report.1.in (contents, props changed) vendor/kyua/dist/doc/kyua-test.1.in (contents, props changed) vendor/kyua/dist/doc/kyua.1.in (contents, props changed) vendor/kyua/dist/doc/kyua.conf.5.in (contents, props changed) vendor/kyua/dist/doc/kyuafile.5.in (contents, props changed) vendor/kyua/dist/doc/manbuild.sh (contents, props changed) vendor/kyua/dist/doc/manbuild_test.sh (contents, props changed) vendor/kyua/dist/doc/results-file-flag-read.mdoc vendor/kyua/dist/doc/results-file-flag-write.mdoc vendor/kyua/dist/doc/results-files-report-example.mdoc vendor/kyua/dist/doc/results-files.mdoc vendor/kyua/dist/doc/test-filters.mdoc vendor/kyua/dist/doc/test-isolation.mdoc vendor/kyua/dist/drivers/ vendor/kyua/dist/drivers/Kyuafile vendor/kyua/dist/drivers/Makefile.am.inc (contents, props changed) vendor/kyua/dist/drivers/debug_test.cpp (contents, props changed) vendor/kyua/dist/drivers/debug_test.hpp vendor/kyua/dist/drivers/list_tests.cpp (contents, props changed) vendor/kyua/dist/drivers/list_tests.hpp vendor/kyua/dist/drivers/list_tests_helpers.cpp (contents, props changed) vendor/kyua/dist/drivers/list_tests_test.cpp (contents, props changed) vendor/kyua/dist/drivers/report_junit.cpp (contents, props changed) vendor/kyua/dist/drivers/report_junit.hpp vendor/kyua/dist/drivers/report_junit_test.cpp (contents, props changed) vendor/kyua/dist/drivers/run_tests.cpp (contents, props changed) vendor/kyua/dist/drivers/run_tests.hpp vendor/kyua/dist/drivers/scan_results.cpp (contents, props changed) vendor/kyua/dist/drivers/scan_results.hpp vendor/kyua/dist/drivers/scan_results_test.cpp (contents, props changed) vendor/kyua/dist/engine/ vendor/kyua/dist/engine/Kyuafile vendor/kyua/dist/engine/Makefile.am.inc (contents, props changed) vendor/kyua/dist/engine/atf.cpp (contents, props changed) vendor/kyua/dist/engine/atf.hpp vendor/kyua/dist/engine/atf_helpers.cpp (contents, props changed) vendor/kyua/dist/engine/atf_list.cpp (contents, props changed) vendor/kyua/dist/engine/atf_list.hpp vendor/kyua/dist/engine/atf_list_test.cpp (contents, props changed) vendor/kyua/dist/engine/atf_result.cpp (contents, props changed) vendor/kyua/dist/engine/atf_result.hpp vendor/kyua/dist/engine/atf_result_fwd.hpp vendor/kyua/dist/engine/atf_result_test.cpp (contents, props changed) vendor/kyua/dist/engine/atf_test.cpp (contents, props changed) vendor/kyua/dist/engine/config.cpp (contents, props changed) vendor/kyua/dist/engine/config.hpp vendor/kyua/dist/engine/config_fwd.hpp vendor/kyua/dist/engine/config_test.cpp (contents, props changed) vendor/kyua/dist/engine/exceptions.cpp (contents, props changed) vendor/kyua/dist/engine/exceptions.hpp vendor/kyua/dist/engine/exceptions_test.cpp (contents, props changed) vendor/kyua/dist/engine/filters.cpp (contents, props changed) vendor/kyua/dist/engine/filters.hpp vendor/kyua/dist/engine/filters_fwd.hpp vendor/kyua/dist/engine/filters_test.cpp (contents, props changed) vendor/kyua/dist/engine/kyuafile.cpp (contents, props changed) vendor/kyua/dist/engine/kyuafile.hpp vendor/kyua/dist/engine/kyuafile_fwd.hpp vendor/kyua/dist/engine/kyuafile_test.cpp (contents, props changed) vendor/kyua/dist/engine/plain.cpp (contents, props changed) vendor/kyua/dist/engine/plain.hpp vendor/kyua/dist/engine/plain_helpers.cpp (contents, props changed) vendor/kyua/dist/engine/plain_test.cpp (contents, props changed) vendor/kyua/dist/engine/requirements.cpp (contents, props changed) vendor/kyua/dist/engine/requirements.hpp vendor/kyua/dist/engine/requirements_test.cpp (contents, props changed) vendor/kyua/dist/engine/scanner.cpp (contents, props changed) vendor/kyua/dist/engine/scanner.hpp vendor/kyua/dist/engine/scanner_fwd.hpp vendor/kyua/dist/engine/scanner_test.cpp (contents, props changed) vendor/kyua/dist/engine/scheduler.cpp (contents, props changed) vendor/kyua/dist/engine/scheduler.hpp vendor/kyua/dist/engine/scheduler_fwd.hpp vendor/kyua/dist/engine/scheduler_test.cpp (contents, props changed) vendor/kyua/dist/engine/tap.cpp (contents, props changed) vendor/kyua/dist/engine/tap.hpp vendor/kyua/dist/engine/tap_helpers.cpp (contents, props changed) vendor/kyua/dist/engine/tap_parser.cpp (contents, props changed) vendor/kyua/dist/engine/tap_parser.hpp vendor/kyua/dist/engine/tap_parser_fwd.hpp vendor/kyua/dist/engine/tap_parser_test.cpp (contents, props changed) vendor/kyua/dist/engine/tap_test.cpp (contents, props changed) vendor/kyua/dist/examples/ vendor/kyua/dist/examples/Kyuafile vendor/kyua/dist/examples/Kyuafile.top vendor/kyua/dist/examples/Makefile.am.inc (contents, props changed) vendor/kyua/dist/examples/kyua.conf (contents, props changed) vendor/kyua/dist/examples/syntax_test.cpp (contents, props changed) vendor/kyua/dist/integration/ vendor/kyua/dist/integration/Kyuafile vendor/kyua/dist/integration/Makefile.am.inc (contents, props changed) vendor/kyua/dist/integration/cmd_about_test.sh (contents, props changed) vendor/kyua/dist/integration/cmd_config_test.sh (contents, props changed) vendor/kyua/dist/integration/cmd_db_exec_test.sh (contents, props changed) vendor/kyua/dist/integration/cmd_db_migrate_test.sh (contents, props changed) vendor/kyua/dist/integration/cmd_debug_test.sh (contents, props changed) vendor/kyua/dist/integration/cmd_help_test.sh (contents, props changed) vendor/kyua/dist/integration/cmd_list_test.sh (contents, props changed) vendor/kyua/dist/integration/cmd_report_html_test.sh (contents, props changed) vendor/kyua/dist/integration/cmd_report_junit_test.sh (contents, props changed) vendor/kyua/dist/integration/cmd_report_test.sh (contents, props changed) vendor/kyua/dist/integration/cmd_test_test.sh (contents, props changed) vendor/kyua/dist/integration/global_test.sh (contents, props changed) vendor/kyua/dist/integration/helpers/ vendor/kyua/dist/integration/helpers/.gitignore vendor/kyua/dist/integration/helpers/Makefile.am.inc (contents, props changed) vendor/kyua/dist/integration/helpers/bad_test_program.cpp (contents, props changed) vendor/kyua/dist/integration/helpers/bogus_test_cases.cpp (contents, props changed) vendor/kyua/dist/integration/helpers/config.cpp (contents, props changed) vendor/kyua/dist/integration/helpers/dump_env.cpp (contents, props changed) vendor/kyua/dist/integration/helpers/expect_all_pass.cpp (contents, props changed) vendor/kyua/dist/integration/helpers/expect_some_fail.cpp (contents, props changed) vendor/kyua/dist/integration/helpers/interrupts.cpp (contents, props changed) vendor/kyua/dist/integration/helpers/metadata.cpp (contents, props changed) vendor/kyua/dist/integration/helpers/race.cpp (contents, props changed) vendor/kyua/dist/integration/helpers/simple_all_pass.cpp (contents, props changed) vendor/kyua/dist/integration/helpers/simple_some_fail.cpp (contents, props changed) vendor/kyua/dist/integration/utils.sh (contents, props changed) vendor/kyua/dist/m4/ vendor/kyua/dist/m4/ax_cxx_compile_stdcxx.m4 vendor/kyua/dist/m4/compiler-features.m4 vendor/kyua/dist/m4/compiler-flags.m4 vendor/kyua/dist/m4/developer-mode.m4 vendor/kyua/dist/m4/doxygen.m4 vendor/kyua/dist/m4/fs.m4 vendor/kyua/dist/m4/getopt.m4 vendor/kyua/dist/m4/memory.m4 vendor/kyua/dist/m4/signals.m4 vendor/kyua/dist/m4/uname.m4 vendor/kyua/dist/main.cpp (contents, props changed) vendor/kyua/dist/misc/ vendor/kyua/dist/misc/Makefile.am.inc (contents, props changed) vendor/kyua/dist/misc/context.html (contents, props changed) vendor/kyua/dist/misc/index.html (contents, props changed) vendor/kyua/dist/misc/report.css (contents, props changed) vendor/kyua/dist/misc/test_result.html (contents, props changed) vendor/kyua/dist/model/ vendor/kyua/dist/model/Kyuafile vendor/kyua/dist/model/Makefile.am.inc (contents, props changed) vendor/kyua/dist/model/README vendor/kyua/dist/model/context.cpp (contents, props changed) vendor/kyua/dist/model/context.hpp vendor/kyua/dist/model/context_fwd.hpp vendor/kyua/dist/model/context_test.cpp (contents, props changed) vendor/kyua/dist/model/exceptions.cpp (contents, props changed) vendor/kyua/dist/model/exceptions.hpp vendor/kyua/dist/model/exceptions_test.cpp (contents, props changed) vendor/kyua/dist/model/metadata.cpp (contents, props changed) vendor/kyua/dist/model/metadata.hpp vendor/kyua/dist/model/metadata_fwd.hpp vendor/kyua/dist/model/metadata_test.cpp (contents, props changed) vendor/kyua/dist/model/test_case.cpp (contents, props changed) vendor/kyua/dist/model/test_case.hpp vendor/kyua/dist/model/test_case_fwd.hpp vendor/kyua/dist/model/test_case_test.cpp (contents, props changed) vendor/kyua/dist/model/test_program.cpp (contents, props changed) vendor/kyua/dist/model/test_program.hpp vendor/kyua/dist/model/test_program_fwd.hpp vendor/kyua/dist/model/test_program_test.cpp (contents, props changed) vendor/kyua/dist/model/test_result.cpp (contents, props changed) vendor/kyua/dist/model/test_result.hpp vendor/kyua/dist/model/test_result_fwd.hpp vendor/kyua/dist/model/test_result_test.cpp (contents, props changed) vendor/kyua/dist/model/types.hpp vendor/kyua/dist/store/ vendor/kyua/dist/store/Kyuafile vendor/kyua/dist/store/Makefile.am.inc (contents, props changed) vendor/kyua/dist/store/dbtypes.cpp (contents, props changed) vendor/kyua/dist/store/dbtypes.hpp vendor/kyua/dist/store/dbtypes_test.cpp (contents, props changed) vendor/kyua/dist/store/exceptions.cpp (contents, props changed) vendor/kyua/dist/store/exceptions.hpp vendor/kyua/dist/store/exceptions_test.cpp (contents, props changed) vendor/kyua/dist/store/layout.cpp (contents, props changed) vendor/kyua/dist/store/layout.hpp vendor/kyua/dist/store/layout_fwd.hpp vendor/kyua/dist/store/layout_test.cpp (contents, props changed) vendor/kyua/dist/store/metadata.cpp (contents, props changed) vendor/kyua/dist/store/metadata.hpp vendor/kyua/dist/store/metadata_fwd.hpp vendor/kyua/dist/store/metadata_test.cpp (contents, props changed) vendor/kyua/dist/store/migrate.cpp (contents, props changed) vendor/kyua/dist/store/migrate.hpp vendor/kyua/dist/store/migrate_test.cpp (contents, props changed) vendor/kyua/dist/store/migrate_v1_v2.sql vendor/kyua/dist/store/migrate_v2_v3.sql vendor/kyua/dist/store/read_backend.cpp (contents, props changed) vendor/kyua/dist/store/read_backend.hpp vendor/kyua/dist/store/read_backend_fwd.hpp vendor/kyua/dist/store/read_backend_test.cpp (contents, props changed) vendor/kyua/dist/store/read_transaction.cpp (contents, props changed) vendor/kyua/dist/store/read_transaction.hpp vendor/kyua/dist/store/read_transaction_fwd.hpp vendor/kyua/dist/store/read_transaction_test.cpp (contents, props changed) vendor/kyua/dist/store/schema_inttest.cpp (contents, props changed) vendor/kyua/dist/store/schema_v1.sql vendor/kyua/dist/store/schema_v2.sql vendor/kyua/dist/store/schema_v3.sql vendor/kyua/dist/store/testdata_v1.sql vendor/kyua/dist/store/testdata_v2.sql vendor/kyua/dist/store/testdata_v3_1.sql vendor/kyua/dist/store/testdata_v3_2.sql vendor/kyua/dist/store/testdata_v3_3.sql vendor/kyua/dist/store/testdata_v3_4.sql vendor/kyua/dist/store/transaction_test.cpp (contents, props changed) vendor/kyua/dist/store/write_backend.cpp (contents, props changed) vendor/kyua/dist/store/write_backend.hpp vendor/kyua/dist/store/write_backend_fwd.hpp vendor/kyua/dist/store/write_backend_test.cpp (contents, props changed) vendor/kyua/dist/store/write_transaction.cpp (contents, props changed) vendor/kyua/dist/store/write_transaction.hpp vendor/kyua/dist/store/write_transaction_fwd.hpp vendor/kyua/dist/store/write_transaction_test.cpp (contents, props changed) vendor/kyua/dist/utils/ vendor/kyua/dist/utils/.gitignore vendor/kyua/dist/utils/Kyuafile vendor/kyua/dist/utils/Makefile.am.inc (contents, props changed) vendor/kyua/dist/utils/auto_array.hpp vendor/kyua/dist/utils/auto_array.ipp vendor/kyua/dist/utils/auto_array_fwd.hpp vendor/kyua/dist/utils/auto_array_test.cpp (contents, props changed) vendor/kyua/dist/utils/cmdline/ vendor/kyua/dist/utils/cmdline/Kyuafile vendor/kyua/dist/utils/cmdline/Makefile.am.inc (contents, props changed) vendor/kyua/dist/utils/cmdline/base_command.cpp (contents, props changed) vendor/kyua/dist/utils/cmdline/base_command.hpp vendor/kyua/dist/utils/cmdline/base_command.ipp vendor/kyua/dist/utils/cmdline/base_command_fwd.hpp vendor/kyua/dist/utils/cmdline/base_command_test.cpp (contents, props changed) vendor/kyua/dist/utils/cmdline/commands_map.hpp vendor/kyua/dist/utils/cmdline/commands_map.ipp vendor/kyua/dist/utils/cmdline/commands_map_fwd.hpp vendor/kyua/dist/utils/cmdline/commands_map_test.cpp (contents, props changed) vendor/kyua/dist/utils/cmdline/exceptions.cpp (contents, props changed) vendor/kyua/dist/utils/cmdline/exceptions.hpp vendor/kyua/dist/utils/cmdline/exceptions_test.cpp (contents, props changed) vendor/kyua/dist/utils/cmdline/globals.cpp (contents, props changed) vendor/kyua/dist/utils/cmdline/globals.hpp vendor/kyua/dist/utils/cmdline/globals_test.cpp (contents, props changed) vendor/kyua/dist/utils/cmdline/options.cpp (contents, props changed) vendor/kyua/dist/utils/cmdline/options.hpp vendor/kyua/dist/utils/cmdline/options_fwd.hpp vendor/kyua/dist/utils/cmdline/options_test.cpp (contents, props changed) vendor/kyua/dist/utils/cmdline/parser.cpp (contents, props changed) vendor/kyua/dist/utils/cmdline/parser.hpp vendor/kyua/dist/utils/cmdline/parser.ipp vendor/kyua/dist/utils/cmdline/parser_fwd.hpp vendor/kyua/dist/utils/cmdline/parser_test.cpp (contents, props changed) vendor/kyua/dist/utils/cmdline/ui.cpp (contents, props changed) vendor/kyua/dist/utils/cmdline/ui.hpp vendor/kyua/dist/utils/cmdline/ui_fwd.hpp vendor/kyua/dist/utils/cmdline/ui_mock.cpp (contents, props changed) vendor/kyua/dist/utils/cmdline/ui_mock.hpp vendor/kyua/dist/utils/cmdline/ui_test.cpp (contents, props changed) vendor/kyua/dist/utils/config/ vendor/kyua/dist/utils/config/Kyuafile vendor/kyua/dist/utils/config/Makefile.am.inc (contents, props changed) vendor/kyua/dist/utils/config/exceptions.cpp (contents, props changed) vendor/kyua/dist/utils/config/exceptions.hpp vendor/kyua/dist/utils/config/exceptions_test.cpp (contents, props changed) vendor/kyua/dist/utils/config/keys.cpp (contents, props changed) vendor/kyua/dist/utils/config/keys.hpp vendor/kyua/dist/utils/config/keys_fwd.hpp vendor/kyua/dist/utils/config/keys_test.cpp (contents, props changed) vendor/kyua/dist/utils/config/lua_module.cpp (contents, props changed) vendor/kyua/dist/utils/config/lua_module.hpp vendor/kyua/dist/utils/config/lua_module_test.cpp (contents, props changed) vendor/kyua/dist/utils/config/nodes.cpp (contents, props changed) vendor/kyua/dist/utils/config/nodes.hpp vendor/kyua/dist/utils/config/nodes.ipp vendor/kyua/dist/utils/config/nodes_fwd.hpp vendor/kyua/dist/utils/config/nodes_test.cpp (contents, props changed) vendor/kyua/dist/utils/config/parser.cpp (contents, props changed) vendor/kyua/dist/utils/config/parser.hpp vendor/kyua/dist/utils/config/parser_fwd.hpp vendor/kyua/dist/utils/config/parser_test.cpp (contents, props changed) vendor/kyua/dist/utils/config/tree.cpp (contents, props changed) vendor/kyua/dist/utils/config/tree.hpp vendor/kyua/dist/utils/config/tree.ipp vendor/kyua/dist/utils/config/tree_fwd.hpp vendor/kyua/dist/utils/config/tree_test.cpp (contents, props changed) vendor/kyua/dist/utils/datetime.cpp (contents, props changed) vendor/kyua/dist/utils/datetime.hpp vendor/kyua/dist/utils/datetime_fwd.hpp vendor/kyua/dist/utils/datetime_test.cpp (contents, props changed) vendor/kyua/dist/utils/defs.hpp.in (contents, props changed) vendor/kyua/dist/utils/env.cpp (contents, props changed) vendor/kyua/dist/utils/env.hpp vendor/kyua/dist/utils/env_test.cpp (contents, props changed) vendor/kyua/dist/utils/format/ vendor/kyua/dist/utils/format/Kyuafile vendor/kyua/dist/utils/format/Makefile.am.inc (contents, props changed) vendor/kyua/dist/utils/format/containers.hpp vendor/kyua/dist/utils/format/containers.ipp vendor/kyua/dist/utils/format/containers_test.cpp (contents, props changed) vendor/kyua/dist/utils/format/exceptions.cpp (contents, props changed) vendor/kyua/dist/utils/format/exceptions.hpp vendor/kyua/dist/utils/format/exceptions_test.cpp (contents, props changed) vendor/kyua/dist/utils/format/formatter.cpp (contents, props changed) vendor/kyua/dist/utils/format/formatter.hpp vendor/kyua/dist/utils/format/formatter.ipp vendor/kyua/dist/utils/format/formatter_fwd.hpp vendor/kyua/dist/utils/format/formatter_test.cpp (contents, props changed) vendor/kyua/dist/utils/format/macros.hpp vendor/kyua/dist/utils/fs/ vendor/kyua/dist/utils/fs/Kyuafile vendor/kyua/dist/utils/fs/Makefile.am.inc (contents, props changed) vendor/kyua/dist/utils/fs/auto_cleaners.cpp (contents, props changed) vendor/kyua/dist/utils/fs/auto_cleaners.hpp vendor/kyua/dist/utils/fs/auto_cleaners_fwd.hpp vendor/kyua/dist/utils/fs/auto_cleaners_test.cpp (contents, props changed) vendor/kyua/dist/utils/fs/directory.cpp (contents, props changed) vendor/kyua/dist/utils/fs/directory.hpp vendor/kyua/dist/utils/fs/directory_fwd.hpp vendor/kyua/dist/utils/fs/directory_test.cpp (contents, props changed) vendor/kyua/dist/utils/fs/exceptions.cpp (contents, props changed) vendor/kyua/dist/utils/fs/exceptions.hpp vendor/kyua/dist/utils/fs/exceptions_test.cpp (contents, props changed) vendor/kyua/dist/utils/fs/lua_module.cpp (contents, props changed) vendor/kyua/dist/utils/fs/lua_module.hpp vendor/kyua/dist/utils/fs/lua_module_test.cpp (contents, props changed) vendor/kyua/dist/utils/fs/operations.cpp (contents, props changed) vendor/kyua/dist/utils/fs/operations.hpp vendor/kyua/dist/utils/fs/operations_test.cpp (contents, props changed) vendor/kyua/dist/utils/fs/path.cpp (contents, props changed) vendor/kyua/dist/utils/fs/path.hpp vendor/kyua/dist/utils/fs/path_fwd.hpp vendor/kyua/dist/utils/fs/path_test.cpp (contents, props changed) vendor/kyua/dist/utils/logging/ vendor/kyua/dist/utils/logging/Kyuafile vendor/kyua/dist/utils/logging/Makefile.am.inc (contents, props changed) vendor/kyua/dist/utils/logging/macros.hpp vendor/kyua/dist/utils/logging/macros_test.cpp (contents, props changed) vendor/kyua/dist/utils/logging/operations.cpp (contents, props changed) vendor/kyua/dist/utils/logging/operations.hpp vendor/kyua/dist/utils/logging/operations_fwd.hpp vendor/kyua/dist/utils/logging/operations_test.cpp (contents, props changed) vendor/kyua/dist/utils/memory.cpp (contents, props changed) vendor/kyua/dist/utils/memory.hpp vendor/kyua/dist/utils/memory_test.cpp (contents, props changed) vendor/kyua/dist/utils/noncopyable.hpp vendor/kyua/dist/utils/optional.hpp vendor/kyua/dist/utils/optional.ipp vendor/kyua/dist/utils/optional_fwd.hpp vendor/kyua/dist/utils/optional_test.cpp (contents, props changed) vendor/kyua/dist/utils/passwd.cpp (contents, props changed) vendor/kyua/dist/utils/passwd.hpp vendor/kyua/dist/utils/passwd_fwd.hpp vendor/kyua/dist/utils/passwd_test.cpp (contents, props changed) vendor/kyua/dist/utils/process/ vendor/kyua/dist/utils/process/.gitignore vendor/kyua/dist/utils/process/Kyuafile vendor/kyua/dist/utils/process/Makefile.am.inc (contents, props changed) vendor/kyua/dist/utils/process/child.cpp (contents, props changed) vendor/kyua/dist/utils/process/child.hpp vendor/kyua/dist/utils/process/child.ipp vendor/kyua/dist/utils/process/child_fwd.hpp vendor/kyua/dist/utils/process/child_test.cpp (contents, props changed) vendor/kyua/dist/utils/process/deadline_killer.cpp (contents, props changed) vendor/kyua/dist/utils/process/deadline_killer.hpp vendor/kyua/dist/utils/process/deadline_killer_fwd.hpp vendor/kyua/dist/utils/process/deadline_killer_test.cpp (contents, props changed) vendor/kyua/dist/utils/process/exceptions.cpp (contents, props changed) vendor/kyua/dist/utils/process/exceptions.hpp vendor/kyua/dist/utils/process/exceptions_test.cpp (contents, props changed) vendor/kyua/dist/utils/process/executor.cpp (contents, props changed) vendor/kyua/dist/utils/process/executor.hpp vendor/kyua/dist/utils/process/executor.ipp vendor/kyua/dist/utils/process/executor_fwd.hpp vendor/kyua/dist/utils/process/executor_test.cpp (contents, props changed) vendor/kyua/dist/utils/process/fdstream.cpp (contents, props changed) vendor/kyua/dist/utils/process/fdstream.hpp vendor/kyua/dist/utils/process/fdstream_fwd.hpp vendor/kyua/dist/utils/process/fdstream_test.cpp (contents, props changed) vendor/kyua/dist/utils/process/helpers.cpp (contents, props changed) vendor/kyua/dist/utils/process/isolation.cpp (contents, props changed) vendor/kyua/dist/utils/process/isolation.hpp vendor/kyua/dist/utils/process/isolation_test.cpp (contents, props changed) vendor/kyua/dist/utils/process/operations.cpp (contents, props changed) vendor/kyua/dist/utils/process/operations.hpp vendor/kyua/dist/utils/process/operations_fwd.hpp vendor/kyua/dist/utils/process/operations_test.cpp (contents, props changed) vendor/kyua/dist/utils/process/status.cpp (contents, props changed) vendor/kyua/dist/utils/process/status.hpp vendor/kyua/dist/utils/process/status_fwd.hpp vendor/kyua/dist/utils/process/status_test.cpp (contents, props changed) vendor/kyua/dist/utils/process/system.cpp (contents, props changed) vendor/kyua/dist/utils/process/system.hpp vendor/kyua/dist/utils/process/systembuf.cpp (contents, props changed) vendor/kyua/dist/utils/process/systembuf.hpp vendor/kyua/dist/utils/process/systembuf_fwd.hpp vendor/kyua/dist/utils/process/systembuf_test.cpp (contents, props changed) vendor/kyua/dist/utils/sanity.cpp (contents, props changed) vendor/kyua/dist/utils/sanity.hpp vendor/kyua/dist/utils/sanity_fwd.hpp vendor/kyua/dist/utils/sanity_test.cpp (contents, props changed) vendor/kyua/dist/utils/signals/ vendor/kyua/dist/utils/signals/Kyuafile vendor/kyua/dist/utils/signals/Makefile.am.inc (contents, props changed) vendor/kyua/dist/utils/signals/exceptions.cpp (contents, props changed) vendor/kyua/dist/utils/signals/exceptions.hpp vendor/kyua/dist/utils/signals/exceptions_test.cpp (contents, props changed) vendor/kyua/dist/utils/signals/interrupts.cpp (contents, props changed) vendor/kyua/dist/utils/signals/interrupts.hpp vendor/kyua/dist/utils/signals/interrupts_fwd.hpp vendor/kyua/dist/utils/signals/interrupts_test.cpp (contents, props changed) vendor/kyua/dist/utils/signals/misc.cpp (contents, props changed) vendor/kyua/dist/utils/signals/misc.hpp vendor/kyua/dist/utils/signals/misc_test.cpp (contents, props changed) vendor/kyua/dist/utils/signals/programmer.cpp (contents, props changed) vendor/kyua/dist/utils/signals/programmer.hpp vendor/kyua/dist/utils/signals/programmer_fwd.hpp vendor/kyua/dist/utils/signals/programmer_test.cpp (contents, props changed) vendor/kyua/dist/utils/signals/timer.cpp (contents, props changed) vendor/kyua/dist/utils/signals/timer.hpp vendor/kyua/dist/utils/signals/timer_fwd.hpp vendor/kyua/dist/utils/signals/timer_test.cpp (contents, props changed) vendor/kyua/dist/utils/sqlite/ vendor/kyua/dist/utils/sqlite/Kyuafile vendor/kyua/dist/utils/sqlite/Makefile.am.inc (contents, props changed) vendor/kyua/dist/utils/sqlite/c_gate.cpp (contents, props changed) vendor/kyua/dist/utils/sqlite/c_gate.hpp vendor/kyua/dist/utils/sqlite/c_gate_fwd.hpp vendor/kyua/dist/utils/sqlite/c_gate_test.cpp (contents, props changed) vendor/kyua/dist/utils/sqlite/database.cpp (contents, props changed) vendor/kyua/dist/utils/sqlite/database.hpp vendor/kyua/dist/utils/sqlite/database_fwd.hpp vendor/kyua/dist/utils/sqlite/database_test.cpp (contents, props changed) vendor/kyua/dist/utils/sqlite/exceptions.cpp (contents, props changed) vendor/kyua/dist/utils/sqlite/exceptions.hpp vendor/kyua/dist/utils/sqlite/exceptions_test.cpp (contents, props changed) vendor/kyua/dist/utils/sqlite/statement.cpp (contents, props changed) vendor/kyua/dist/utils/sqlite/statement.hpp vendor/kyua/dist/utils/sqlite/statement.ipp vendor/kyua/dist/utils/sqlite/statement_fwd.hpp vendor/kyua/dist/utils/sqlite/statement_test.cpp (contents, props changed) vendor/kyua/dist/utils/sqlite/test_utils.hpp vendor/kyua/dist/utils/sqlite/transaction.cpp (contents, props changed) vendor/kyua/dist/utils/sqlite/transaction.hpp vendor/kyua/dist/utils/sqlite/transaction_fwd.hpp vendor/kyua/dist/utils/sqlite/transaction_test.cpp (contents, props changed) vendor/kyua/dist/utils/stacktrace.cpp (contents, props changed) vendor/kyua/dist/utils/stacktrace.hpp vendor/kyua/dist/utils/stacktrace_helper.cpp (contents, props changed) vendor/kyua/dist/utils/stacktrace_test.cpp (contents, props changed) vendor/kyua/dist/utils/stream.cpp (contents, props changed) vendor/kyua/dist/utils/stream.hpp vendor/kyua/dist/utils/stream_test.cpp (contents, props changed) vendor/kyua/dist/utils/test_utils.ipp vendor/kyua/dist/utils/text/ vendor/kyua/dist/utils/text/Kyuafile vendor/kyua/dist/utils/text/Makefile.am.inc (contents, props changed) vendor/kyua/dist/utils/text/exceptions.cpp (contents, props changed) vendor/kyua/dist/utils/text/exceptions.hpp vendor/kyua/dist/utils/text/exceptions_test.cpp (contents, props changed) vendor/kyua/dist/utils/text/operations.cpp (contents, props changed) vendor/kyua/dist/utils/text/operations.hpp vendor/kyua/dist/utils/text/operations.ipp vendor/kyua/dist/utils/text/operations_test.cpp (contents, props changed) vendor/kyua/dist/utils/text/regex.cpp (contents, props changed) vendor/kyua/dist/utils/text/regex.hpp vendor/kyua/dist/utils/text/regex_fwd.hpp vendor/kyua/dist/utils/text/regex_test.cpp (contents, props changed) vendor/kyua/dist/utils/text/table.cpp (contents, props changed) vendor/kyua/dist/utils/text/table.hpp vendor/kyua/dist/utils/text/table_fwd.hpp vendor/kyua/dist/utils/text/table_test.cpp (contents, props changed) vendor/kyua/dist/utils/text/templates.cpp (contents, props changed) vendor/kyua/dist/utils/text/templates.hpp vendor/kyua/dist/utils/text/templates_fwd.hpp vendor/kyua/dist/utils/text/templates_test.cpp (contents, props changed) vendor/kyua/dist/utils/units.cpp (contents, props changed) vendor/kyua/dist/utils/units.hpp vendor/kyua/dist/utils/units_fwd.hpp vendor/kyua/dist/utils/units_test.cpp (contents, props changed) Added: vendor/kyua/dist/.gitignore ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/kyua/dist/.gitignore Tue Mar 17 16:56:50 2020 (r359042) @@ -0,0 +1,23 @@ +*.a +*.o +*_helpers +*_inttest +*_test +*~ + +.deps +.dirstamp +Doxyfile +Makefile +Makefile.in +aclocal.m4 +api-docs +autom4te.cache +config.h +config.h.in +config.log +config.status +configure +kyua +local-kyua +stamp-h1 Added: vendor/kyua/dist/.travis.yml ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/kyua/dist/.travis.yml Tue Mar 17 16:56:50 2020 (r359042) @@ -0,0 +1,49 @@ +language: cpp +sudo: required + +before_install: + - ./admin/travis-install-deps.sh + +matrix: + include: + - os: linux + dist: xenial + compiler: clang + env: ARCH=amd64 DO=distcheck AS_ROOT=no + - os: linux + dist: xenial + compiler: gcc + env: ARCH=amd64 DO=distcheck AS_ROOT=no + - os: linux + dist: xenial + compiler: clang + env: ARCH=amd64 DO=apidocs + - os: linux + dist: xenial + compiler: clang + env: ARCH=amd64 DO=style + - os: linux + dist: xenial + compiler: clang + env: ARCH=amd64 DO=distcheck AS_ROOT=yes UNPRIVILEGED_USER=no + - os: linux + dist: xenial + compiler: clang + env: ARCH=amd64 DO=distcheck AS_ROOT=yes UNPRIVILEGED_USER=yes + # TODO(ngie): reenable i386; the libraries were not available in the + # Ubuntu Xenial x86_64 docker image. + #- os: linux + # dist: xenial + # compiler: clang + # env: ARCH=i386 DO=distcheck AS_ROOT=no + #- os: linux + # dist: xenial + # compiler: gcc + # env: ARCH=i386 DO=distcheck AS_ROOT=no + +script: + - ./admin/travis-build.sh + +notifications: + email: + - kyua-log@googlegroups.com Added: vendor/kyua/dist/AUTHORS ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/kyua/dist/AUTHORS Tue Mar 17 16:56:50 2020 (r359042) @@ -0,0 +1,11 @@ +# This is the official list of Kyua authors for copyright purposes. +# +# This file is distinct from the CONTRIBUTORS files; see the latter for +# an explanation. +# +# Names are sorted alphabetically and should be added to this file as: +# +# * Name +# * Organization + +* Google Inc. Added: vendor/kyua/dist/CONTRIBUTING.md ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/kyua/dist/CONTRIBUTING.md Tue Mar 17 16:56:50 2020 (r359042) @@ -0,0 +1,173 @@ +Contributing code to Kyua +========================= + +Want to contribute? Great! But first, please take a few minutes to read this +document in full. Doing so upfront will minimize the turnaround time required +to get your changes incorporated. + + +Legal notes +----------- + +* Before we can use your code, you must sign the + [Google Individual Contributor License + Agreement](https://developers.google.com/open-source/cla/individual), + also known as the CLA, which you can easily do online. The CLA is necessary + mainly because you own the copyright to your changes, even after your + contribution becomes part of our codebase, so we need your permission to use + and distribute your code. We also need to be sure of various other + things--for instance that you will tell us if you know that your code + infringes on other people's patents. You do not have to sign the CLA until + after you have submitted your code for review and a member has approved it, + but you must do it before we can put your code into our codebase. + +* Contributions made by corporations are covered by a different agreement than + the one above: the + [Google Software Grant and Corporate Contributor License + Agreement](https://developers.google.com/open-source/cla/corporate). + Please get your company to sign this agreement instead if your contribution is + on their behalf. + +* Unless you have a strong reason not to, please assign copyright of your + changes to Google Inc. and use the 3-clause BSD license text included + throughout the codebase (see [LICENSE](LICENSE)). Keeping the whole project + owned by a single entity is important, particularly to avoid the problem of + having to replicate potentially hundreds of different copyright notes in + documentation materials, etc. + + +Communication +------------- + +* Before you start working on a larger contribution, you should get in touch + with us first through the + [kyua-discuss mailing + list](https://groups.google.com/forum/#!forum/kyua-discuss) + with your idea so that we can help out and possibly guide you. Coordinating + upfront makes it much easier to avoid frustration later on. + +* Subscribe to the + [kyua-log mailing list](https://groups.google.com/forum/#!forum/kyua-log) to + get notifications on new commits, Travis CI results, or changes to bugs. + + +Git workflow +------------ + +* Always work on a non-master branch. + +* Make sure the history of your branch is clean. (Ab)use `git rebase -i master` + to ensure the sequence of commits you want pulled is easy to follow and that + every commit does one (and only one) thing. In particular, commits of the + form `Fix previous` or `Fix build` should never ever exist; merge those fixes + into the relevant commits so that the history is clean at pull time. + +* Always trigger Travis CI builds for your changes (hence why working on a + branch is important). Push your branch to GitHub so that Travis CI picks it + up and performs a build. If you have forked the repository, you may need to + enable Travis CI builds on your end. Wait for a green result. + +* It is OK and expected for you to `git push --force` on **non-master** + branches. This is required if you need to go through the commit/test cycle + more than once for any given branch after you have "fixed-up" commits to + correct problems spotted in earlier builds. + +* Do not send pull requests that subsume other/older pull requests. Each major + change being submitted belongs in a different pull request, which is trivial + to achieve if you use one branch per change as requested in this workflow. + + +Code reviews +------------ + +* All changes will be subject to code reviews pre-merge time. In other words: + all pull requests will be carefully inspected before being accepted and they + will be returned to you with comments if there are issues to be fixed. + +* Be careful of stylistic errors in your code (see below for style guidelines). + Style violations hinder the review process and distract from the actual code. + By keeping your code clean of style issues upfront, you will speed up the + review process and avoid frustration along the way. + +* Whenever you are ready to submit a pull request, review the *combined diff* + you are requesting to be pulled and look for issues. This is the diff that + will be subject to review, not necessarily the individual commits. You can + view this diff in GitHub at the bottom of the `Open a pull request` form that + appears when you click the button to file a pull request, or you can see the + diff by typing `git diff master`. + + +Commit messages +--------------- + +* Follow standard Git commit message guidelines. The first line has a maximum + length of 50 characters, does not terminate in a period, and has to summarize + the whole commit. Then a blank line comes, and then multiple plain-text + paragraphs provide details on the commit if necessary with a maximum length of + 72-75 characters per line. Vim has syntax highlighting for Git commit + messages and will let you know when you go above the maximum line lengths. + +* Use the imperative tense. Say `Add foo-bar` or `Fix baz` instead of `Adding + blah`, `Adds bleh`, or `Added bloh`. + + +Handling bug tracker issues +--------------------------- + +* All changes pushed to `master` should cross-reference one or more issues in + the bug tracker. This is particularly important for bug fixes, but also + applies to major feature improvements. + +* Unless you have a good reason to do otherwise, name your branch `issue-N` + where `N` is the number of the issue being fixed. + +* If the fix to the issue can be done *in a single commit*, terminate the commit + message with `Fixes #N.` where `N` is the number of the issue being fixed and + include a note in `NEWS` about the issue in the same commit. Such fixes can + be merged onto master using fast-forward (the default behavior of `git + merge`). + +* If the fix to the issue requires *more than one commit*, do **not** include + `Fixes #N.` in any of the individual commit messages of the branch nor include + any changes to the `NEWS` file in those commits. These "announcement" changes + belong in the merge commit onto `master`, which is done by `git merge --no-ff + --no-commit your-branch`, followed by an edit of `NEWS`, and terminated with a + `git commit -a` with the proper note on the bug being fixed. + + +Style guide +----------- + +These notes are generic and certainly *non-exhaustive*: + +* Respect formatting of existing files. Note where braces are placed, number of + blank lines between code chunks, how continuation lines are indented, how + docstrings are typed, etc. + +* Indentation is *always* done using spaces, not tabs. The only exception is in + `Makefile`s, where any continuation line within a target must be prefixed by a + *single tab*. + +* [Be mindful of spelling and + grammar.](http://julipedia.meroh.net/2013/06/readability-mind-your-typos-and-grammar.html) + Mistakes of this kind are enough of a reason to return a pull request. + +* Use proper punctuation for all sentences. Always start with a capital letter + and terminate with a period. + +* Respect lexicographical sorting wherever possible. + +* Lines must not be over 80 characters. + +* No trailing whitespace. + +* Two spaces after end-of-sentence periods. + +* Two blank lines between functions. If there are two blank lines among code + blocks, they usually exist for a reason: keep them. + +* In C++ code, prefix all C identifiers (those coming from `extern "C"` + includes) with `::`. + +* Getter functions/methods only need to be documented via `\return`. A + redundant summary is not necessary. Added: vendor/kyua/dist/CONTRIBUTORS ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/kyua/dist/CONTRIBUTORS Tue Mar 17 16:56:50 2020 (r359042) @@ -0,0 +1,20 @@ +# This is the list of people who have agreed to one of the CLAs and can +# contribute patches to the Kyua project. +# +# The AUTHORS file lists the copyright holders; this file lists people. +# For example: Google employees are listed here but not in AUTHORS +# because Google holds the copyright. +# +# See the following links for details on the CLA: +# +# https://developers.google.com/open-source/cla/individual +# https://developers.google.com/open-source/cla/corporate +# +# Names are sorted by last name and should be added as: +# +# * Name + +* Sergey Bronnikov +* Enji Cooper +* Julio Merino +* Craig Rodrigues Added: vendor/kyua/dist/Doxyfile.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/kyua/dist/Doxyfile.in Tue Mar 17 16:56:50 2020 (r359042) @@ -0,0 +1,59 @@ +# Copyright 2010 The Kyua Authors. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Google Inc. nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +BUILTIN_STL_SUPPORT = YES +ENABLE_PREPROCESSING = YES +EXCLUDE_SYMBOLS = "ATF_TC*" +EXTRACT_ANON_NSPACES = YES +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +EXPAND_ONLY_PREDEF = YES +EXTENSION_MAPPING = ipp = C++ +FILE_PATTERNS = *.c *.h *.cpp *.hpp *.ipp +GENERATE_LATEX = NO +GENERATE_TAGFILE = @top_builddir@/api-docs/api-docs.tag +HIDE_FRIEND_COMPOUNDS = YES +INPUT = @top_srcdir@ +INPUT_ENCODING = ISO-8859-1 +JAVADOC_AUTOBRIEF = YES +MACRO_EXPANSION = YES +OUTPUT_DIRECTORY = @top_builddir@/api-docs +OUTPUT_LANGUAGE = English +PREDEFINED += "KYUA_DEFS_NORETURN=" +PREDEFINED += "KYUA_DEFS_FORMAT_PRINTF(x, y)=" +PROJECT_NAME = "@PACKAGE_NAME@" +PROJECT_NUMBER = @VERSION@ +QUIET = YES +RECURSIVE = YES +SORT_BY_SCOPE_NAME = YES +SORT_MEMBERS_CTORS_1ST = YES +WARN_IF_DOC_ERROR = YES +WARN_IF_UNDOCUMENTED = YES +WARN_NO_PARAMDOC = YES +WARNINGS = YES Added: vendor/kyua/dist/INSTALL.md ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/kyua/dist/INSTALL.md Tue Mar 17 16:56:50 2020 (r359042) @@ -0,0 +1,268 @@ +Installation instructions +========================= + +Kyua uses the GNU Automake, GNU Autoconf and GNU Libtool utilities as +its build system. These are used only when compiling the application +from the source code package. If you want to install Kyua from a binary +package, you do not need to read this document. + +For the impatient: + + $ ./configure + $ make + $ make check + Gain root privileges + # make install + Drop root privileges + $ make installcheck + +Or alternatively, install as a regular user into your home directory: + + $ ./configure --prefix ~/local + $ make + $ make check + $ make install + $ make installcheck + + +Dependencies +------------ + +To build and use Kyua successfully you need: + +* A standards-compliant C and C++ complier. +* Lutok 0.4. +* pkg-config. +* SQLite 3.6.22. + +To build the Kyua tests, you optionally need: + +* The Automated Testing Framework (ATF), version 0.15 or greater. This + is required if you want to create a distribution file. + +If you are building Kyua from the code on the repository, you will also +need the following tools: + +* GNU Autoconf. +* GNU Automake. +* GNU Libtool. + + +Regenerating the build system +----------------------------- + +This is not necessary if you are building from a formal release +distribution file. + +On the other hand, if you are building Kyua from code extracted from the +repository, you must first regenerate the files used by the build +system. You will also need to do this if you modify `configure.ac`, +`Makefile.am` or any of the other build system files. To do this, simply +run: + + $ autoreconf -i -s + +If ATF is installed in a different prefix than Autoconf, you will also +need to tell autoreconf where the ATF M4 macros are located. Otherwise, +the configure script will be incomplete and will show confusing syntax +errors mentioning, for example, `ATF_CHECK_SH`. To fix this, you have +to run autoreconf in the following manner, replacing `` with +the appropriate path: + + $ autoreconf -i -s -I /share/aclocal + + +General build procedure +----------------------- + +To build and install the source package, you must follow these steps: + +1. Configure the sources to adapt to your operating system. This is + done using the `configure` script located on the sources' top + directory, and it is usually invoked without arguments unless you + want to change the installation prefix. More details on this + procedure are given on a later section. + +2. Build the sources to generate the binaries and scripts. Simply run + `make` on the sources' top directory after configuring them. No + problems should arise. + +3. Check that the built programs work by running `make check`. You do + not need to be root to do this, but if you are not, some checks will + be skipped. + +4. Install the program by running `make install`. You may need to + become root to issue this step. + +5. Issue any manual installation steps that may be required. These are + described later in their own section. + +6. Check that the installed programs work by running `make + installcheck`. You do not need to be root to do this, but if you are + not, some checks will be skipped. + + +Configuration flags +------------------- + +The most common, standard flags given to `configure` are: + +* `--prefix=directory`: + **Possible values:** Any path. + **Default:** `/usr/local`. + + Specifies where the program (binaries and all associated files) will + be installed. + +* `--sysconfdir=directory`: + **Possible values:** Any path. + **Default:** `/usr/local/etc`. + + Specifies where the installed programs will look for configuration + files. `/kyua` will be appended to the given path unless + `KYUA_CONFSUBDIR` is redefined as explained later on. + +* `--help`: + + Shows information about all available flags and exits immediately, + without running any configuration tasks. + +The following environment variables are specific to Kyua's `configure` +script: + +* `GDB`: + **Possible values:** empty, absolute path to GNU GDB. + **Default:** empty. + + Specifies the path to the GNU GDB binary that Kyua will use to gather a + stack trace of a crashing test program. If empty, the configure script + will try to find a suitable binary for you and, if not found, Kyua will + attempt to do the search at run time. + +* `KYUA_ARCHITECTURE`: + **Possible values:** name of a CPU architecture (e.g. `x86_64`, `powerpc`). + **Default:** autodetected; typically the output of `uname -p`. + + Specifies the name of the CPU architecture on which Kyua will run. + This value is used at run-time to determine tests that are not + applicable to the host system. + +* `KYUA_CONFSUBDIR`: + **Possible values:** empty, a relative path. + **Default:** `kyua`. + + Specifies the subdirectory of the configuration directory (given by + the `--sysconfdir` argument) under which Kyua will search for its + configuration files. + +* `KYUA_CONFIG_FILE_FOR_CHECK`: + **Possible values:** none, an absolute path to an existing file. + **Default:** none. + + Specifies the `kyua.conf` configuration file to use when running any + of the `check`, `installcheck` or `distcheck` targets on this source + tree. This setting is exclusively used to customize the test runs of + Kyua itself and has no effect whatsoever on the built product. + +* `KYUA_MACHINE`: + **Possible values:** name of a machine type (e.g. `amd64`, `macppc`). + **Default:** autodetected; typically the output of `uname -m`. + + Specifies the name of the machine type on which Kyua will run. This + value is used at run-time to determine tests that are not applicable + to the host system. + +* `KYUA_TMPDIR`: + **Possible values:** an absolute path to a temporary directory. + **Default:** `/tmp`. + + Specifies the path that Kyua will use to create temporary directories + in by default. + +The following flags are specific to Kyua's `configure` script: + +* `--enable-developer`: + **Possible values:** `yes`, `no`. + **Default:** `yes` in Git `HEAD` builds; `no` in formal releases. + + Enables several features useful for development, such as the inclusion + of debugging symbols in all objects or the enforcement of compilation + warnings. + + The compiler will be executed with an exhaustive collection of warning + detection features regardless of the value of this flag. However, such + warnings are only fatal when `--enable-developer` is `yes`. + +* `--with-atf`: + **Possible values:** `yes`, `no`, `auto`. + **Default:** `auto`. + + Enables usage of ATF to build (and later install) the tests. + + Setting this to `yes` causes the configure script to look for ATF + unconditionally and abort if not found. Setting this to `auto` lets + configure perform the best decision based on availability of ATF. + Setting this to `no` explicitly disables ATF usage. + + When support for tests is enabled, the build process will generate the + test programs and will later install them into the tests tree. + Running `make check` or `make installcheck` from within the source + directory will cause these tests to be run with Kyua. + +* `--with-doxygen`: + **Possible values:** `yes`, `no`, `auto` or a path. + **Default:** `auto`. + + Enables usage of Doxygen to generate documentation for internal APIs. + This documentation is *not* installed and is only provided to help the + developer of this package. Therefore, enabling or disabling Doxygen + causes absolutely no differences on the files installed by this + package. + + Setting this to `yes` causes the configure script to look for Doxygen + unconditionally and abort if not found. Setting this to `auto` lets + configure perform the best decision based on availability of Doxygen. + Setting this to `no` explicitly disables Doxygen usage. And, lastly, + setting this to a path forces configure to use a specific Doxygen + binary, which must exist. + + +Post-installation steps +----------------------- + +Copy the `Kyuafile.top` file installed in the examples directory to the +root of your tests hierarchy and name it `Kyuafile`. For example: + + # cp /usr/local/share/kyua/examples/Kyuafile.top \ + /usr/local/tests/Kyuafile + +This will allow you to simply go into `/usr/tests` and run the tests +from there. + + +Run the tests! +-------------- + +Lastly, after a successful installation, you should periodically run the +tests from the final location to ensure things remain stable. Do so as +follows: + + $ cd /usr/local/kyua && kyua test + +The following configuration variables are specific to the 'kyua' test +suite and can be given to Kyua with arguments of the form +`-v test_suites.kyua.=`: + +* `run_coredump_tests`: + **Possible values:** `true` or `false`. + **Default:** `true`. + + Avoids running tests that crash subprocesses on purpose to make them + dump core. Such tests are particularly slow on macOS, and it is + sometimes handy to disable them for quicker development iteration. + +If you see any tests fail, do not hesitate to report them in: + + https://github.com/jmmv/kyua/issues/ + +Thank you! Added: vendor/kyua/dist/Kyuafile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/kyua/dist/Kyuafile Tue Mar 17 16:56:50 2020 (r359042) @@ -0,0 +1,18 @@ +syntax(2) + +test_suite("kyua") + +include("bootstrap/Kyuafile") +include("cli/Kyuafile") +if fs.exists("doc/Kyuafile") then + -- The tests for the docs are not installed because they only cover the + -- build-time process of the manual pages. + include("doc/Kyuafile") +end +include("drivers/Kyuafile") +include("engine/Kyuafile") +include("examples/Kyuafile") +include("integration/Kyuafile") +include("model/Kyuafile") +include("store/Kyuafile") +include("utils/Kyuafile") Added: vendor/kyua/dist/LICENSE ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/kyua/dist/LICENSE Tue Mar 17 16:56:50 2020 (r359042) @@ -0,0 +1,27 @@ +Copyright 2010-2015 The Kyua Authors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of Google Inc. nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Added: vendor/kyua/dist/Makefile.am ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/kyua/dist/Makefile.am Tue Mar 17 16:56:50 2020 (r359042) @@ -0,0 +1,186 @@ +# Copyright 2010 The Kyua Authors. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Google Inc. nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +ACLOCAL_AMFLAGS = -I m4 + +CHECK_BOOTSTRAP_DEPS = +CHECK_KYUA_DEPS = +CHECK_LOCAL = +CLEAN_TARGETS = +DIST_HOOKS = +PHONY_TARGETS = +CLEANFILES = + +EXTRA_DIST = +noinst_DATA = +noinst_LIBRARIES = +noinst_SCRIPTS = + +doc_DATA = AUTHORS CONTRIBUTING.md CONTRIBUTORS LICENSE NEWS.md +noinst_DATA += INSTALL.md README.md +EXTRA_DIST += $(doc_DATA) INSTALL.md README.md + +if WITH_ATF +tests_topdir = $(pkgtestsdir) + +tests_top_DATA = Kyuafile +EXTRA_DIST += $(tests_top_DATA) +endif + +include admin/Makefile.am.inc +include bootstrap/Makefile.am.inc +include cli/Makefile.am.inc +include doc/Makefile.am.inc +include drivers/Makefile.am.inc +include engine/Makefile.am.inc +include examples/Makefile.am.inc +include integration/Makefile.am.inc +include misc/Makefile.am.inc +include model/Makefile.am.inc +include store/Makefile.am.inc +include utils/Makefile.am.inc + +bin_PROGRAMS = kyua +kyua_SOURCES = main.cpp +kyua_CXXFLAGS = $(CLI_CFLAGS) $(ENGINE_CFLAGS) $(UTILS_CFLAGS) +kyua_LDADD = $(CLI_LIBS) $(ENGINE_LIBS) $(UTILS_LIBS) + +CHECK_ENVIRONMENT = KYUA_CONFDIR="/non-existent" \ + KYUA_DOCDIR="$(abs_top_srcdir)" \ + KYUA_EXAMPLESDIR="$(abs_top_srcdir)/examples" \ + KYUA_MISCDIR="$(abs_top_srcdir)/misc" \ + KYUA_STOREDIR="$(abs_top_srcdir)/store" \ + KYUA_STORETESTDATADIR="$(abs_top_srcdir)/store" \ + PATH="$(abs_top_builddir):$${PATH}" +INSTALLCHECK_ENVIRONMENT = KYUA_CONFDIR="/non-existent" \ + PATH="$(prefix)/bin:$${PATH}" + +# Generate local-kyua, a wrapper shell script to run the just-built 'kyua' +# binary by pointing it to the possibly not-yet-installed data files in the +# build tree. +noinst_SCRIPTS += local-kyua +CLEANFILES += local-kyua local-kyua.tmp +local-kyua: Makefile + $(AM_V_GEN)echo '#!/bin/sh' >local-kyua.tmp; \ + echo 'env $(CHECK_ENVIRONMENT) $(TESTS_ENVIRONMENT)' \ + '"$(abs_top_builddir)/kyua" \ + --config='$(KYUA_CONFIG_FILE_FOR_CHECK)' \ + "$${@}"' >>local-kyua.tmp; \ + chmod +x local-kyua.tmp; \ + mv -f local-kyua.tmp local-kyua + +if WITH_ATF +CHECK_LOCAL += dump-ulimits check-kyua +PHONY_TARGETS += check-kyua +check-kyua: $(CHECK_KYUA_DEPS) + @failed=no; \ + ./local-kyua test \ + --kyuafile='$(top_srcdir)/Kyuafile' --build-root='$(top_builddir)' \ + || failed=yes; \ + if [ "$${failed}" = yes ]; then \ + ./local-kyua report --results-file='$(abs_top_srcdir)' \ + --verbose --results-filter=broken,failed; \ + exit 1; \ + fi + +installcheck-local: dump-ulimits installcheck-kyua +PHONY_TARGETS += installcheck-kyua +installcheck-kyua: + @failed=no; \ + cd $(pkgtestsdir) && $(INSTALLCHECK_ENVIRONMENT) $(TESTS_ENVIRONMENT) \ + kyua --config='$(KYUA_CONFIG_FILE_FOR_CHECK)' test \ + || failed=yes; \ + if [ "$${failed}" = yes ]; then \ + cd $(pkgtestsdir) && $(INSTALLCHECK_ENVIRONMENT) \ + $(TESTS_ENVIRONMENT) \ + kyua --config='$(KYUA_CONFIG_FILE_FOR_CHECK)' report \ + --verbose --results-filter=broken,failed; \ + exit 1; \ + fi + +# TODO(jmmv): kyua should probably be recording this information itself as part +# of the execution context, just as we record environment variables. +PHONY_TARGETS += dump-ulimits +dump-ulimits: + @echo "Resource limits:" + @{ \ + ulimit -a | sed -e 's,$$, (soft),'; \ + ulimit -a -H | sed -e 's,$$, (hard),'; \ + } | sort | sed -e 's,^, ,' + @echo +else +DIST_HOOKS += forbid-dist +PHONY_TARGETS += forbid-dist +forbid-dist: + @echo "Sorry; cannot make dist without atf." + @false +endif +check-local: $(CHECK_LOCAL) + +if WITH_DOXYGEN +# Runs doxygen on the source tree and validates the contents of the docstrings. +# We do not do this by default, even if doxygen has been enabled, because this +# step takes a long time. Instead, we just rely on a Travis CI build to catch +# inconsistencies. +PHONY_TARGETS += check-api-docs +check-api-docs: api-docs/api-docs.tag + @$(AWK) -f $(srcdir)/admin/check-api-docs.awk api-docs/doxygen.out + +api-docs/api-docs.tag: $(builddir)/Doxyfile $(SOURCES) + @$(MKDIR_P) api-docs + @rm -f api-docs/doxygen.out api-docs/doxygen.out.tmp + $(AM_V_GEN)$(DOXYGEN) $(builddir)/Doxyfile \ + >api-docs/doxygen.out.tmp 2>&1 && \ + mv api-docs/doxygen.out.tmp api-docs/doxygen.out + +CLEAN_TARGETS += clean-api-docs +clean-api-docs: + rm -rf api-docs +endif + +# Replace Automake's builtin check-news functionality so that we can validate +# the NEWS.md file instead of NEWS. +DIST_HOOKS += check-news +PHONY_TARGETS += check-news +check-news: + @case "$$(sed 15q "$(srcdir)/NEWS.md")" in \ + *"$(VERSION)"*) : ;; \ + *) \ + echo "NEWS.md not updated; not releasing" 1>&2; \ + exit 1 \ + ;; \ + esac + +clean-local: $(CLEAN_TARGETS) +dist-hook: $(DIST_HOOKS) + +PHONY_TARGETS += clean-all +clean-all: + GIT="$(GIT)" $(SH) $(srcdir)/admin/clean-all.sh + +.PHONY: $(PHONY_TARGETS) Added: vendor/kyua/dist/NEWS.md ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/kyua/dist/NEWS.md Tue Mar 17 16:56:50 2020 (r359042) @@ -0,0 +1,622 @@ +Major changes between releases +============================== + + +Changes in version 0.14 +----------------------- + +**NOT RELEASED YET; STILL UNDER DEVELOPMENT.** + +* Explicitly require C++11 language features when compiling Kyua. + + +Changes in version 0.13 +----------------------- + +**Released on August 26th, 2016.** + +* Fixed execution of test cases as an unprivileged user, at least under + NetBSD 7.0. Kyua-level failures were probably a regression introduced + in Kyua 0.12, but the underlying may have existed for much longer: + test cases might have previously failed for mysterious reasons when + running under an unprivileged user. + +* Issue #134: Fixed metadata test broken on 32-bit platforms. + +* Issue #139: Added per-test case start/end timestamps to all reports. + +* Issue #156: Fixed crashes due to the invalid handling of cleanup + routine data and triggered by the reuse of PIDs in long-running Kyua + instances. + +* Issue #159: Fixed TAP parser to ignore case while matching `TODO` and + `SKIP` directives, and to also recognize `Skipped`. + +* Fixed potential crash due to a race condition in the unprogramming of + timers to control test deadlines. + + +Changes in version 0.12 +----------------------- + +**Released on November 22nd, 2015.** + +This is a huge release and marks a major milestone for Kyua as it finally +implements a long-standing feature request: the ability to execute test +cases in parallel. This is a big deal because test cases are rarely +CPU-bound: running them in parallel yields much faster execution times for +large test suites, allowing faster iteration of changes during development. + +As an example: the FreeBSD test suite as of this date contains 3285 test +cases. With sequential execution, a full test suite run takes around 12 +minutes to complete, whereas on a 4-core machine with a high level of +parallelism it takes a little over 1 minute. + +Implementing parallel execution required rewriting most of Kyua's core and +partly explains explains why there has not been a new release for over a +year. The current implementation is purely subprocess-based, which works +but has some limitations and has resulted in a core that is really complex +and difficult to understand. Future versions will investigate the use of +threads instead for a simplified programming model and additional +parallelization possibilities. + +* Issue #2: Implemented support to execute test cases in parallel when + invoking `kyua test`. Parallel execution is *only* enabled when the new + `parallelism` configuration variable is set to a value greater than `1`. + The default behavior is still to run tests sequentially because some test + suites contain test cases with side-effects that might fail when run in + parallel. To resolve this, the new metadata property `is_exclusive` can + be set to `true` on a test basis to indicate that the test must be run on + its own. + +* Known regression: Running `kyua debug` on a TAP-based test program does + not currently report the output in real time. The output will only be + displayed once the test program completes. This is a shortcoming of + the new parallel execution engine and will be resolved. + +* Removed the external C-based testers code in favor of the new built-in + implementations. The new approach feels significantly faster than the + previous one. + +* Fixed the handling of relative paths in the `fs.*` functions available + in `Kyuafile`s. All paths are now resolved relative to the location of + the caller `Kyuafile`. `Kyuafile.top` has been updated with these + changes and you should update custom copies of this file with the new + version. + +* Changed temporary directory creation to always grant search + permissions on temporary directories. This is to prevent potential + problems when running Kyua as root and executing test cases that require + dropping privileges (as they may later be unable to use absolute paths + that point inside their work directory). + +* The cleanup of work directories does not longer attempt to deal with + mount points. If a test case mounts a file system and forgets to unmount + it, the mount point will be left behind. It is now the responsibility of + the test case to clean after itself. The reasons for this change are + simplicity and clarity: there are many more things that a test case can + do that have side-effects on the system and Kyua cannot protect against + them all, so it is better to just have the test undo anything it might + have done. + +* Improved `kyua report --verbose` to properly handle environment + variables with continuation lines in them, and fixed the integration + tests for this command to avoid false negatives. + +* Changed the configuration file format to accept the definition of + unknown variables without declaring them local. The syntax version + number remains at 2. This is to allow configuration files for newer Kyua + versions to work on older Kyua versions, as there is no reason to forbid + this. + +* Fixed stacktrace gathering with FreeBSD's ancient version of GDB. + GDB 6.1.1 (circa 2004) does not have the `-ex` flag so we need to + generate a temporary GDB script and feed it to GDB with `-x` instead. + +* Issue #136: Fixed the XML escaping in the JUnit output so that + non-printable characters are properly handled when they appear in the + process's stdout or stderr. + +* Issue #141: Improved reporting of errors triggered by sqlite3. In + particular, all error messages are now tagged with their corresponding + database filename and, if they are API-level errors, the name of the + sqlite3 function that caused them. + +* Issue #144: Improved documentation on the support for custom properties + in the test metadata. + +* Converted the `INSTALL`, `NEWS`, and `README` distribution documents to + Markdown for better formatting online. + + +Changes in version 0.11 +----------------------- *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Tue Mar 17 16:58:15 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4FAB326BE28; Tue, 17 Mar 2020 16:58:15 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hfWB2s30z3LCt; Tue, 17 Mar 2020 16:58:14 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E5229C648; Tue, 17 Mar 2020 16:58:13 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HGwD99086646; Tue, 17 Mar 2020 16:58:13 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HGwDXC086645; Tue, 17 Mar 2020 16:58:13 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202003171658.02HGwDXC086645@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Tue, 17 Mar 2020 16:58:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r359043 - vendor/kyua/0.13-a685f91 X-SVN-Group: vendor X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: vendor/kyua/0.13-a685f91 X-SVN-Commit-Revision: 359043 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 16:58:15 -0000 Author: brooks Date: Tue Mar 17 16:58:13 2020 New Revision: 359043 URL: https://svnweb.freebsd.org/changeset/base/359043 Log: Tag import of kyua 0.13 plus changes to a685f91. Sponsored by: DARPA Added: vendor/kyua/0.13-a685f91/ - copied from r359042, vendor/kyua/dist/ From owner-svn-src-all@freebsd.org Tue Mar 17 17:03:25 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 50B3426C135; Tue, 17 Mar 2020 17:03:25 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hfd91Rygz3RCP; Tue, 17 Mar 2020 17:03:25 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2D0E3C81A; Tue, 17 Mar 2020 17:03:25 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HH3PmG092634; Tue, 17 Mar 2020 17:03:25 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HH3PnE092633; Tue, 17 Mar 2020 17:03:25 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202003171703.02HH3PnE092633@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Tue, 17 Mar 2020 17:03:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org Subject: svn commit: r359044 - svnadmin/conf X-SVN-Group: svnadmin X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: svnadmin/conf X-SVN-Commit-Revision: 359044 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 17:03:25 -0000 Author: brooks Date: Tue Mar 17 17:03:24 2020 New Revision: 359044 URL: https://svnweb.freebsd.org/changeset/base/359044 Log: Import complete. Modified: svnadmin/conf/sizelimit.conf Modified: svnadmin/conf/sizelimit.conf ============================================================================== --- svnadmin/conf/sizelimit.conf Tue Mar 17 16:58:13 2020 (r359043) +++ svnadmin/conf/sizelimit.conf Tue Mar 17 17:03:24 2020 (r359044) @@ -16,7 +16,6 @@ # First field is username, second field is the raised limit required. achim bapt -brooks davidcs dim 20480000 imp From owner-svn-src-all@freebsd.org Tue Mar 17 17:28:14 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D2E7826C79A; Tue, 17 Mar 2020 17:28:14 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hg9p4Fkjz3wjL; Tue, 17 Mar 2020 17:28:14 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D6182CBC8; Tue, 17 Mar 2020 17:28:13 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HHSDsk005273; Tue, 17 Mar 2020 17:28:13 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HHSC4F005268; Tue, 17 Mar 2020 17:28:12 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202003171728.02HHSC4F005268@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Tue, 17 Mar 2020 17:28:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359045 - in head: . lib lib/liblua libexec/flua share/mk X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: in head: . lib lib/liblua libexec/flua share/mk X-SVN-Commit-Revision: 359045 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 17:28:14 -0000 Author: brooks Date: Tue Mar 17 17:28:12 2020 New Revision: 359045 URL: https://svnweb.freebsd.org/changeset/base/359045 Log: Add an internal liblua and use it in flua. The new liblua will be used in a forthcoming import of kyua. Reviewed by: kevans Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24090 Added: head/lib/liblua/ head/lib/liblua/Makefile - copied, changed from r359037, head/libexec/flua/Makefile head/lib/liblua/luaconf.h - copied unchanged from r359044, head/libexec/flua/luaconf.h Deleted: head/libexec/flua/luaconf.h Modified: head/Makefile.inc1 head/lib/Makefile head/libexec/flua/Makefile head/share/mk/src.libnames.mk Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Tue Mar 17 17:03:24 2020 (r359044) +++ head/Makefile.inc1 Tue Mar 17 17:28:12 2020 (r359045) @@ -2165,7 +2165,8 @@ ${_bt}-lib/libdwarf: ${_bt_m4_depend} # 13.0-CURRENT cycle, thus needs to be built on -older releases and stable # branches. .if ${BOOTSTRAPPING} < 1300059 -_flua= libexec/flua +${_bt}-libexec/flua: ${_bt}-lib/liblua +_flua= lib/liblua libexec/flua .endif # r245440 mtree -N support added Modified: head/lib/Makefile ============================================================================== --- head/lib/Makefile Tue Mar 17 17:03:24 2020 (r359044) +++ head/lib/Makefile Tue Mar 17 17:28:12 2020 (r359045) @@ -61,6 +61,7 @@ SUBDIR= ${SUBDIR_BOOTSTRAP} \ libjail \ libkiconv \ libkvm \ + liblua \ liblzma \ libmemstat \ libmd \ Copied and modified: head/lib/liblua/Makefile (from r359037, head/libexec/flua/Makefile) ============================================================================== --- head/libexec/flua/Makefile Tue Mar 17 15:57:25 2020 (r359037, copy source) +++ head/lib/liblua/Makefile Tue Mar 17 17:28:12 2020 (r359045) @@ -1,11 +1,10 @@ #! $FreeBSD$ -.include - LUASRC?= ${SRCTOP}/contrib/lua/src .PATH: ${LUASRC} -PROG= flua +LIB= lua +INTERNALLIB= WARNS?= 2 MAN= # No manpage; this is internal. @@ -14,9 +13,9 @@ CWARNFLAGS.gcc+= -Wno-format-nonliteral LIBADD= m # Core functions -SRCS= lapi.c lcode.c lctype.c ldebug.c ldo.c ldump.c lfunc.c lgc.c llex.c \ - lmem.c lobject.c lopcodes.c lparser.c lstate.c lstring.c ltable.c \ - ltm.c lundump.c lvm.c lzio.c +SRCS= lapi.c lcode.c lctype.c ldebug.c ldo.c ldump.c lfunc.c lgc.c linit.c \ + llex.c lmem.c lobject.c lopcodes.c lparser.c lstate.c lstring.c \ + ltable.c ltm.c lundump.c lvm.c lzio.c # Library functions; any change to these likely needs an accompanying change # in our custom linit_flua.c. We use our custom linit.c to make it easier to @@ -24,15 +23,7 @@ SRCS= lapi.c lcode.c lctype.c ldebug.c ldo.c ldump.c l SRCS+= lauxlib.c lbaselib.c lbitlib.c lcorolib.c ldblib.c liolib.c \ lmathlib.c loslib.c lstrlib.c ltablib.c lutf8lib.c loadlib.c -# Entry point -SRCS+= lua.c - -# FreeBSD Extensions -.PATH: ${.CURDIR}/modules -SRCS+= linit_flua.c -SRCS+= lfs.c lposix.c - CFLAGS+= -I${.CURDIR} -I${.CURDIR}/modules -I${LUASRC} CFLAGS+= -DLUA_PROGNAME="\"${PROG}\"" -.include +.include Copied: head/lib/liblua/luaconf.h (from r359044, head/libexec/flua/luaconf.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/liblua/luaconf.h Tue Mar 17 17:28:12 2020 (r359045, copy of r359044, head/libexec/flua/luaconf.h) @@ -0,0 +1,795 @@ +/* $FreeBSD$ */ +/* +** $Id: luaconf.h,v 1.259.1.1 2017/04/19 17:29:57 roberto Exp $ +** Configuration file for Lua +** See Copyright Notice in lua.h +*/ + + +#ifndef luaconf_h +#define luaconf_h + +#include +#include + + +/* +** =================================================================== +** Search for "@@" to find all configurable definitions. +** =================================================================== +*/ + + +/* +** {==================================================================== +** System Configuration: macros to adapt (if needed) Lua to some +** particular platform, for instance compiling it with 32-bit numbers or +** restricting it to C89. +** ===================================================================== +*/ + +/* +@@ LUA_32BITS enables Lua with 32-bit integers and 32-bit floats. You +** can also define LUA_32BITS in the make file, but changing here you +** ensure that all software connected to Lua will be compiled with the +** same configuration. +*/ +/* #define LUA_32BITS */ + + +/* +@@ LUA_USE_C89 controls the use of non-ISO-C89 features. +** Define it if you want Lua to avoid the use of a few C99 features +** or Windows-specific features on Windows. +*/ +/* #define LUA_USE_C89 */ + + +/* +** By default, Lua on Windows use (some) specific Windows features +*/ +#if !defined(LUA_USE_C89) && defined(_WIN32) && !defined(_WIN32_WCE) +#define LUA_USE_WINDOWS /* enable goodies for regular Windows */ +#endif + + +#if defined(LUA_USE_WINDOWS) +#define LUA_DL_DLL /* enable support for DLL */ +#define LUA_USE_C89 /* broadly, Windows is C89 */ +#endif + + +#if defined(LUA_USE_LINUX) +#define LUA_USE_POSIX +#define LUA_USE_DLOPEN /* needs an extra library: -ldl */ +#define LUA_USE_READLINE /* needs some extra libraries */ +#endif + + +#if defined(LUA_USE_MACOSX) +#define LUA_USE_POSIX +#define LUA_USE_DLOPEN /* MacOS does not need -ldl */ +#define LUA_USE_READLINE /* needs an extra library: -lreadline */ +#endif + +/* Local modifications: need io.popen */ +#ifdef __FreeBSD__ +#define LUA_USE_POSIX +#endif + +/* +@@ LUA_C89_NUMBERS ensures that Lua uses the largest types available for +** C89 ('long' and 'double'); Windows always has '__int64', so it does +** not need to use this case. +*/ +#if defined(LUA_USE_C89) && !defined(LUA_USE_WINDOWS) +#define LUA_C89_NUMBERS +#endif + + + +/* +@@ LUAI_BITSINT defines the (minimum) number of bits in an 'int'. +*/ +/* avoid undefined shifts */ +#if ((INT_MAX >> 15) >> 15) >= 1 +#define LUAI_BITSINT 32 +#else +/* 'int' always must have at least 16 bits */ +#define LUAI_BITSINT 16 +#endif + + +/* +@@ LUA_INT_TYPE defines the type for Lua integers. +@@ LUA_FLOAT_TYPE defines the type for Lua floats. +** Lua should work fine with any mix of these options (if supported +** by your C compiler). The usual configurations are 64-bit integers +** and 'double' (the default), 32-bit integers and 'float' (for +** restricted platforms), and 'long'/'double' (for C compilers not +** compliant with C99, which may not have support for 'long long'). +*/ + +/* predefined options for LUA_INT_TYPE */ +#define LUA_INT_INT 1 +#define LUA_INT_LONG 2 +#define LUA_INT_LONGLONG 3 + +/* predefined options for LUA_FLOAT_TYPE */ +#define LUA_FLOAT_FLOAT 1 +#define LUA_FLOAT_DOUBLE 2 +#define LUA_FLOAT_LONGDOUBLE 3 + +#if defined(LUA_32BITS) /* { */ +/* +** 32-bit integers and 'float' +*/ +#if LUAI_BITSINT >= 32 /* use 'int' if big enough */ +#define LUA_INT_TYPE LUA_INT_INT +#else /* otherwise use 'long' */ +#define LUA_INT_TYPE LUA_INT_LONG +#endif +#define LUA_FLOAT_TYPE LUA_FLOAT_FLOAT + +#elif defined(LUA_C89_NUMBERS) /* }{ */ +/* +** largest types available for C89 ('long' and 'double') +*/ +#define LUA_INT_TYPE LUA_INT_LONG +#define LUA_FLOAT_TYPE LUA_FLOAT_DOUBLE + +#endif /* } */ + + +/* +** default configuration for 64-bit Lua ('long long' and 'double') +*/ +#if !defined(LUA_INT_TYPE) +#define LUA_INT_TYPE LUA_INT_LONGLONG +#endif + +#if !defined(LUA_FLOAT_TYPE) +#define LUA_FLOAT_TYPE LUA_FLOAT_DOUBLE +#endif + +/* }================================================================== */ + + + + +/* +** {================================================================== +** Configuration for Paths. +** =================================================================== +*/ + +/* +** LUA_PATH_SEP is the character that separates templates in a path. +** LUA_PATH_MARK is the string that marks the substitution points in a +** template. +** LUA_EXEC_DIR in a Windows path is replaced by the executable's +** directory. +*/ +#define LUA_PATH_SEP ";" +#define LUA_PATH_MARK "?" +#define LUA_EXEC_DIR "!" + + +/* +@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for +** Lua libraries. +@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for +** C libraries. +** CHANGE them if your machine has a non-conventional directory +** hierarchy or if you want to install your libraries in +** non-conventional directories. +*/ +#define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR +#if defined(_WIN32) /* { */ +/* +** In Windows, any exclamation mark ('!') in the path is replaced by the +** path of the directory of the executable file of the current process. +*/ +#define LUA_LDIR "!\\lua\\" +#define LUA_CDIR "!\\" +#define LUA_SHRDIR "!\\..\\share\\lua\\" LUA_VDIR "\\" +#define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua;" \ + LUA_SHRDIR"?.lua;" LUA_SHRDIR"?\\init.lua;" \ + ".\\?.lua;" ".\\?\\init.lua" +#define LUA_CPATH_DEFAULT \ + LUA_CDIR"?.dll;" \ + LUA_CDIR"..\\lib\\lua\\" LUA_VDIR "\\?.dll;" \ + LUA_CDIR"loadall.dll;" ".\\?.dll" + +#else /* }{ */ + +#define LUA_ROOT "/usr/local/" +#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/" +#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/" +#define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \ + "./?.lua;" "./?/init.lua" +#define LUA_CPATH_DEFAULT \ + LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so" +#endif /* } */ + + +/* +@@ LUA_DIRSEP is the directory separator (for submodules). +** CHANGE it if your machine does not use "/" as the directory separator +** and is not Windows. (On Windows Lua automatically uses "\".) +*/ +#if defined(_WIN32) +#define LUA_DIRSEP "\\" +#else +#define LUA_DIRSEP "/" +#endif + +/* }================================================================== */ + + +/* +** {================================================================== +** Marks for exported symbols in the C code +** =================================================================== +*/ + +/* +@@ LUA_API is a mark for all core API functions. +@@ LUALIB_API is a mark for all auxiliary library functions. +@@ LUAMOD_API is a mark for all standard library opening functions. +** CHANGE them if you need to define those functions in some special way. +** For instance, if you want to create one Windows DLL with the core and +** the libraries, you may want to use the following definition (define +** LUA_BUILD_AS_DLL to get it). +*/ +#if defined(LUA_BUILD_AS_DLL) /* { */ + +#if defined(LUA_CORE) || defined(LUA_LIB) /* { */ +#define LUA_API __declspec(dllexport) +#else /* }{ */ +#define LUA_API __declspec(dllimport) +#endif /* } */ + +#else /* }{ */ + +#define LUA_API extern + +#endif /* } */ + + +/* more often than not the libs go together with the core */ +#define LUALIB_API LUA_API +#define LUAMOD_API LUALIB_API + + +/* +@@ LUAI_FUNC is a mark for all extern functions that are not to be +** exported to outside modules. +@@ LUAI_DDEF and LUAI_DDEC are marks for all extern (const) variables +** that are not to be exported to outside modules (LUAI_DDEF for +** definitions and LUAI_DDEC for declarations). +** CHANGE them if you need to mark them in some special way. Elf/gcc +** (versions 3.2 and later) mark them as "hidden" to optimize access +** when Lua is compiled as a shared library. Not all elf targets support +** this attribute. Unfortunately, gcc does not offer a way to check +** whether the target offers that support, and those without support +** give a warning about it. To avoid these warnings, change to the +** default definition. +*/ +#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ + defined(__ELF__) /* { */ +#define LUAI_FUNC __attribute__((visibility("hidden"))) extern +#else /* }{ */ +#define LUAI_FUNC extern +#endif /* } */ + +#define LUAI_DDEC LUAI_FUNC +#define LUAI_DDEF /* empty */ + +/* }================================================================== */ + + +/* +** {================================================================== +** Compatibility with previous versions +** =================================================================== +*/ + +/* +@@ LUA_COMPAT_5_2 controls other macros for compatibility with Lua 5.2. +@@ LUA_COMPAT_5_1 controls other macros for compatibility with Lua 5.1. +** You can define it to get all options, or change specific options +** to fit your specific needs. +*/ +#if defined(LUA_COMPAT_5_2) /* { */ + +/* +@@ LUA_COMPAT_MATHLIB controls the presence of several deprecated +** functions in the mathematical library. +*/ +#define LUA_COMPAT_MATHLIB + +/* +@@ LUA_COMPAT_BITLIB controls the presence of library 'bit32'. +*/ +#define LUA_COMPAT_BITLIB + +/* +@@ LUA_COMPAT_IPAIRS controls the effectiveness of the __ipairs metamethod. +*/ +#define LUA_COMPAT_IPAIRS + +/* +@@ LUA_COMPAT_APIINTCASTS controls the presence of macros for +** manipulating other integer types (lua_pushunsigned, lua_tounsigned, +** luaL_checkint, luaL_checklong, etc.) +*/ +#define LUA_COMPAT_APIINTCASTS + +#endif /* } */ + + +#if defined(LUA_COMPAT_5_1) /* { */ + +/* Incompatibilities from 5.2 -> 5.3 */ +#define LUA_COMPAT_MATHLIB +#define LUA_COMPAT_APIINTCASTS + +/* +@@ LUA_COMPAT_UNPACK controls the presence of global 'unpack'. +** You can replace it with 'table.unpack'. +*/ +#define LUA_COMPAT_UNPACK + +/* +@@ LUA_COMPAT_LOADERS controls the presence of table 'package.loaders'. +** You can replace it with 'package.searchers'. +*/ +#define LUA_COMPAT_LOADERS + +/* +@@ macro 'lua_cpcall' emulates deprecated function lua_cpcall. +** You can call your C function directly (with light C functions). +*/ +#define lua_cpcall(L,f,u) \ + (lua_pushcfunction(L, (f)), \ + lua_pushlightuserdata(L,(u)), \ + lua_pcall(L,1,0,0)) + + +/* +@@ LUA_COMPAT_LOG10 defines the function 'log10' in the math library. +** You can rewrite 'log10(x)' as 'log(x, 10)'. +*/ +#define LUA_COMPAT_LOG10 + +/* +@@ LUA_COMPAT_LOADSTRING defines the function 'loadstring' in the base +** library. You can rewrite 'loadstring(s)' as 'load(s)'. +*/ +#define LUA_COMPAT_LOADSTRING + +/* +@@ LUA_COMPAT_MAXN defines the function 'maxn' in the table library. +*/ +#define LUA_COMPAT_MAXN + +/* +@@ The following macros supply trivial compatibility for some +** changes in the API. The macros themselves document how to +** change your code to avoid using them. +*/ +#define lua_strlen(L,i) lua_rawlen(L, (i)) + +#define lua_objlen(L,i) lua_rawlen(L, (i)) + +#define lua_equal(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPEQ) +#define lua_lessthan(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPLT) + +/* +@@ LUA_COMPAT_MODULE controls compatibility with previous +** module functions 'module' (Lua) and 'luaL_register' (C). +*/ +#define LUA_COMPAT_MODULE + +#endif /* } */ + + +/* +@@ LUA_COMPAT_FLOATSTRING makes Lua format integral floats without a +@@ a float mark ('.0'). +** This macro is not on by default even in compatibility mode, +** because this is not really an incompatibility. +*/ +/* #define LUA_COMPAT_FLOATSTRING */ + +/* }================================================================== */ + + + +/* +** {================================================================== +** Configuration for Numbers. +** Change these definitions if no predefined LUA_FLOAT_* / LUA_INT_* +** satisfy your needs. +** =================================================================== +*/ + +/* +@@ LUA_NUMBER is the floating-point type used by Lua. +@@ LUAI_UACNUMBER is the result of a 'default argument promotion' +@@ over a floating number. +@@ l_mathlim(x) corrects limit name 'x' to the proper float type +** by prefixing it with one of FLT/DBL/LDBL. +@@ LUA_NUMBER_FRMLEN is the length modifier for writing floats. +@@ LUA_NUMBER_FMT is the format for writing floats. +@@ lua_number2str converts a float to a string. +@@ l_mathop allows the addition of an 'l' or 'f' to all math operations. +@@ l_floor takes the floor of a float. +@@ lua_str2number converts a decimal numeric string to a number. +*/ + + +/* The following definitions are good for most cases here */ + +#define l_floor(x) (l_mathop(floor)(x)) + +#define lua_number2str(s,sz,n) \ + l_sprintf((s), sz, LUA_NUMBER_FMT, (LUAI_UACNUMBER)(n)) + +/* +@@ lua_numbertointeger converts a float number to an integer, or +** returns 0 if float is not within the range of a lua_Integer. +** (The range comparisons are tricky because of rounding. The tests +** here assume a two-complement representation, where MININTEGER always +** has an exact representation as a float; MAXINTEGER may not have one, +** and therefore its conversion to float may have an ill-defined value.) +*/ +#define lua_numbertointeger(n,p) \ + ((n) >= (LUA_NUMBER)(LUA_MININTEGER) && \ + (n) < -(LUA_NUMBER)(LUA_MININTEGER) && \ + (*(p) = (LUA_INTEGER)(n), 1)) + + +/* now the variable definitions */ + +#if LUA_FLOAT_TYPE == LUA_FLOAT_FLOAT /* { single float */ + +#define LUA_NUMBER float + +#define l_mathlim(n) (FLT_##n) + +#define LUAI_UACNUMBER double + +#define LUA_NUMBER_FRMLEN "" +#define LUA_NUMBER_FMT "%.7g" + +#define l_mathop(op) op##f + +#define lua_str2number(s,p) strtof((s), (p)) + + +#elif LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE /* }{ long double */ + +#define LUA_NUMBER long double + +#define l_mathlim(n) (LDBL_##n) + +#define LUAI_UACNUMBER long double + +#define LUA_NUMBER_FRMLEN "L" +#define LUA_NUMBER_FMT "%.19Lg" + +#define l_mathop(op) op##l + +#define lua_str2number(s,p) strtold((s), (p)) + +#elif LUA_FLOAT_TYPE == LUA_FLOAT_DOUBLE /* }{ double */ + +#define LUA_NUMBER double + +#define l_mathlim(n) (DBL_##n) + +#define LUAI_UACNUMBER double + +#define LUA_NUMBER_FRMLEN "" +#define LUA_NUMBER_FMT "%.14g" + +#define l_mathop(op) op + +#define lua_str2number(s,p) strtod((s), (p)) + +#else /* }{ */ + +#error "numeric float type not defined" + +#endif /* } */ + + + +/* +@@ LUA_INTEGER is the integer type used by Lua. +** +@@ LUA_UNSIGNED is the unsigned version of LUA_INTEGER. +** +@@ LUAI_UACINT is the result of a 'default argument promotion' +@@ over a lUA_INTEGER. +@@ LUA_INTEGER_FRMLEN is the length modifier for reading/writing integers. +@@ LUA_INTEGER_FMT is the format for writing integers. +@@ LUA_MAXINTEGER is the maximum value for a LUA_INTEGER. +@@ LUA_MININTEGER is the minimum value for a LUA_INTEGER. +@@ lua_integer2str converts an integer to a string. +*/ + + +/* The following definitions are good for most cases here */ + +#define LUA_INTEGER_FMT "%" LUA_INTEGER_FRMLEN "d" + +#define LUAI_UACINT LUA_INTEGER + +#define lua_integer2str(s,sz,n) \ + l_sprintf((s), sz, LUA_INTEGER_FMT, (LUAI_UACINT)(n)) + +/* +** use LUAI_UACINT here to avoid problems with promotions (which +** can turn a comparison between unsigneds into a signed comparison) +*/ +#define LUA_UNSIGNED unsigned LUAI_UACINT + + +/* now the variable definitions */ + +#if LUA_INT_TYPE == LUA_INT_INT /* { int */ + +#define LUA_INTEGER int +#define LUA_INTEGER_FRMLEN "" + +#define LUA_MAXINTEGER INT_MAX +#define LUA_MININTEGER INT_MIN + +#elif LUA_INT_TYPE == LUA_INT_LONG /* }{ long */ + +#define LUA_INTEGER long +#define LUA_INTEGER_FRMLEN "l" + +#define LUA_MAXINTEGER LONG_MAX +#define LUA_MININTEGER LONG_MIN + +#elif LUA_INT_TYPE == LUA_INT_LONGLONG /* }{ long long */ + +/* use presence of macro LLONG_MAX as proxy for C99 compliance */ +#if defined(LLONG_MAX) /* { */ +/* use ISO C99 stuff */ + +#define LUA_INTEGER long long +#define LUA_INTEGER_FRMLEN "ll" + +#define LUA_MAXINTEGER LLONG_MAX +#define LUA_MININTEGER LLONG_MIN + +#elif defined(LUA_USE_WINDOWS) /* }{ */ +/* in Windows, can use specific Windows types */ + +#define LUA_INTEGER __int64 +#define LUA_INTEGER_FRMLEN "I64" + +#define LUA_MAXINTEGER _I64_MAX +#define LUA_MININTEGER _I64_MIN + +#else /* }{ */ + +#error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' \ + or '-DLUA_C89_NUMBERS' (see file 'luaconf.h' for details)" + +#endif /* } */ + +#else /* }{ */ + +#error "numeric integer type not defined" + +#endif /* } */ + +/* }================================================================== */ + + +/* +** {================================================================== +** Dependencies with C99 and other C details +** =================================================================== +*/ + +/* +@@ l_sprintf is equivalent to 'snprintf' or 'sprintf' in C89. +** (All uses in Lua have only one format item.) +*/ +#if !defined(LUA_USE_C89) +#define l_sprintf(s,sz,f,i) snprintf(s,sz,f,i) +#else +#define l_sprintf(s,sz,f,i) ((void)(sz), sprintf(s,f,i)) +#endif + + +/* +@@ lua_strx2number converts an hexadecimal numeric string to a number. +** In C99, 'strtod' does that conversion. Otherwise, you can +** leave 'lua_strx2number' undefined and Lua will provide its own +** implementation. +*/ +#if !defined(LUA_USE_C89) +#define lua_strx2number(s,p) lua_str2number(s,p) +#endif + + +/* +@@ lua_pointer2str converts a pointer to a readable string in a +** non-specified way. +*/ +#define lua_pointer2str(buff,sz,p) l_sprintf(buff,sz,"%p",p) + + +/* +@@ lua_number2strx converts a float to an hexadecimal numeric string. +** In C99, 'sprintf' (with format specifiers '%a'/'%A') does that. +** Otherwise, you can leave 'lua_number2strx' undefined and Lua will +** provide its own implementation. +*/ +#if !defined(LUA_USE_C89) +#define lua_number2strx(L,b,sz,f,n) \ + ((void)L, l_sprintf(b,sz,f,(LUAI_UACNUMBER)(n))) +#endif + + +/* +** 'strtof' and 'opf' variants for math functions are not valid in +** C89. Otherwise, the macro 'HUGE_VALF' is a good proxy for testing the +** availability of these variants. ('math.h' is already included in +** all files that use these macros.) +*/ +#if defined(LUA_USE_C89) || (defined(HUGE_VAL) && !defined(HUGE_VALF)) +#undef l_mathop /* variants not available */ +#undef lua_str2number +#define l_mathop(op) (lua_Number)op /* no variant */ +#define lua_str2number(s,p) ((lua_Number)strtod((s), (p))) +#endif + + +/* +@@ LUA_KCONTEXT is the type of the context ('ctx') for continuation +** functions. It must be a numerical type; Lua will use 'intptr_t' if +** available, otherwise it will use 'ptrdiff_t' (the nearest thing to +** 'intptr_t' in C89) +*/ +#define LUA_KCONTEXT ptrdiff_t + +#if !defined(LUA_USE_C89) && defined(__STDC_VERSION__) && \ + __STDC_VERSION__ >= 199901L +#include +#if defined(INTPTR_MAX) /* even in C99 this type is optional */ +#undef LUA_KCONTEXT +#define LUA_KCONTEXT intptr_t +#endif +#endif + + +/* +@@ lua_getlocaledecpoint gets the locale "radix character" (decimal point). +** Change that if you do not want to use C locales. (Code using this +** macro must include header 'locale.h'.) +*/ +#if !defined(lua_getlocaledecpoint) +#define lua_getlocaledecpoint() (localeconv()->decimal_point[0]) +#endif + +/* }================================================================== */ + + +/* +** {================================================================== +** Language Variations +** ===================================================================== +*/ + +/* +@@ LUA_NOCVTN2S/LUA_NOCVTS2N control how Lua performs some +** coercions. Define LUA_NOCVTN2S to turn off automatic coercion from +** numbers to strings. Define LUA_NOCVTS2N to turn off automatic +** coercion from strings to numbers. +*/ +/* #define LUA_NOCVTN2S */ +/* #define LUA_NOCVTS2N */ + + +/* +@@ LUA_USE_APICHECK turns on several consistency checks on the C API. +** Define it as a help when debugging C code. +*/ +#if defined(LUA_USE_APICHECK) +#include +#define luai_apicheck(l,e) assert(e) +#endif + +/* }================================================================== */ + + +/* +** {================================================================== +** Macros that affect the API and must be stable (that is, must be the +** same when you compile Lua and when you compile code that links to +** Lua). You probably do not want/need to change them. +** ===================================================================== +*/ + +/* +@@ LUAI_MAXSTACK limits the size of the Lua stack. +** CHANGE it if you need a different limit. This limit is arbitrary; +** its only purpose is to stop Lua from consuming unlimited stack +** space (and to reserve some numbers for pseudo-indices). +*/ +#if LUAI_BITSINT >= 32 +#define LUAI_MAXSTACK 1000000 +#else +#define LUAI_MAXSTACK 15000 +#endif + + +/* +@@ LUA_EXTRASPACE defines the size of a raw memory area associated with +** a Lua state with very fast access. +** CHANGE it if you need a different size. +*/ +#define LUA_EXTRASPACE (sizeof(void *)) + + +/* +@@ LUA_IDSIZE gives the maximum size for the description of the source +@@ of a function in debug information. +** CHANGE it if you want a different size. +*/ +#define LUA_IDSIZE 60 + + +/* +@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. +** CHANGE it if it uses too much C-stack space. (For long double, +** 'string.format("%.99f", -1e4932)' needs 5034 bytes, so a +** smaller buffer would force a memory allocation for each call to +** 'string.format'.) +*/ +#if LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE +#define LUAL_BUFFERSIZE 8192 +#else +#define LUAL_BUFFERSIZE ((int)(0x80 * sizeof(void*) * sizeof(lua_Integer))) +#endif + +/* }================================================================== */ + + +/* +@@ LUA_QL describes how error messages quote program elements. +** Lua does not use these macros anymore; they are here for +** compatibility only. +*/ +#define LUA_QL(x) "'" x "'" +#define LUA_QS LUA_QL("%s") + + + + +/* =================================================================== */ + +/* +** Local configuration. You can use this space to add your redefinitions +** without modifying the main part of the file. +*/ + + + + + +#endif + Modified: head/libexec/flua/Makefile ============================================================================== --- head/libexec/flua/Makefile Tue Mar 17 17:03:24 2020 (r359044) +++ head/libexec/flua/Makefile Tue Mar 17 17:28:12 2020 (r359045) @@ -11,19 +11,8 @@ MAN= # No manpage; this is internal. CWARNFLAGS.gcc+= -Wno-format-nonliteral -LIBADD= m +LIBADD= lua -# Core functions -SRCS= lapi.c lcode.c lctype.c ldebug.c ldo.c ldump.c lfunc.c lgc.c llex.c \ - lmem.c lobject.c lopcodes.c lparser.c lstate.c lstring.c ltable.c \ - ltm.c lundump.c lvm.c lzio.c - -# Library functions; any change to these likely needs an accompanying change -# in our custom linit_flua.c. We use our custom linit.c to make it easier to -# support bootstrap flua that may not have supporting local libraries. -SRCS+= lauxlib.c lbaselib.c lbitlib.c lcorolib.c ldblib.c liolib.c \ - lmathlib.c loslib.c lstrlib.c ltablib.c lutf8lib.c loadlib.c - # Entry point SRCS+= lua.c @@ -32,7 +21,7 @@ SRCS+= lua.c SRCS+= linit_flua.c SRCS+= lfs.c lposix.c -CFLAGS+= -I${.CURDIR} -I${.CURDIR}/modules -I${LUASRC} +CFLAGS+= -I${SRCTOP}/lib/liblua -I${.CURDIR}/modules -I${LUASRC} CFLAGS+= -DLUA_PROGNAME="\"${PROG}\"" .include Modified: head/share/mk/src.libnames.mk ============================================================================== --- head/share/mk/src.libnames.mk Tue Mar 17 17:03:24 2020 (r359044) +++ head/share/mk/src.libnames.mk Tue Mar 17 17:28:12 2020 (r359045) @@ -41,6 +41,7 @@ _INTERNALLIBS= \ ifconfig \ ipf \ lpr \ + lua \ netbsd \ ntp \ ntpevent \ @@ -293,6 +294,7 @@ _DP_memstat= kvm _DP_magic= z _DP_mt= sbuf bsdxml _DP_ldns= ssl crypto +_DP_lua= m .if ${MK_OPENSSL} != "no" _DP_fetch= ssl crypto .else @@ -467,6 +469,9 @@ _LIB_OBJTOP?= ${OBJTOP} # INTERNALLIB definitions. LIBELFTCDIR= ${_LIB_OBJTOP}/lib/libelftc LIBELFTC?= ${LIBELFTCDIR}/libelftc${PIE_SUFFIX}.a + +LIBLUADIR= ${_LIB_OBJTOP}/lib/liblua +LIBLUA?= ${LIBLUADIR}/liblua${PIE_SUFFIX}.a LIBPEDIR= ${_LIB_OBJTOP}/lib/libpe LIBPE?= ${LIBPEDIR}/libpe${PIE_SUFFIX}.a From owner-svn-src-all@freebsd.org Tue Mar 17 18:17:34 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 01A3126DCFE; Tue, 17 Mar 2020 18:17:34 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hhGj29FJz3H56; Tue, 17 Mar 2020 18:17:33 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 18CD1D53A; Tue, 17 Mar 2020 18:17:33 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HIHW1M035424; Tue, 17 Mar 2020 18:17:32 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HIHWdY035423; Tue, 17 Mar 2020 18:17:32 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202003171817.02HIHWdY035423@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Tue, 17 Mar 2020 18:17:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359046 - head/share/mk X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 359046 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 18:17:34 -0000 Author: brooks Date: Tue Mar 17 18:17:32 2020 New Revision: 359046 URL: https://svnweb.freebsd.org/changeset/base/359046 Log: Support SUBDIR.${MK_FOO}.${MK_BAR} expresssions. This allows simplification of Makefiles where some SUBDIR entries depend on two things (e.g. something that depends on C++ and some other knob). Discussed with: imp, jhb Obtained from: CheriBSD MFC after: 3 days Sponsored by: DARPA Modified: head/share/mk/bsd.subdir.mk Modified: head/share/mk/bsd.subdir.mk ============================================================================== --- head/share/mk/bsd.subdir.mk Tue Mar 17 17:28:12 2020 (r359045) +++ head/share/mk/bsd.subdir.mk Tue Mar 17 18:17:32 2020 (r359046) @@ -16,8 +16,8 @@ # # SUBDIR A list of subdirectories that should be built as well. # Each of the targets will execute the same target in the -# subdirectories. SUBDIR.yes is automatically appended -# to this list. +# subdirectories. SUBDIR.yes and SUBDIR.yes.yes are +# automatically appended to this list. # # +++ targets +++ # @@ -122,8 +122,8 @@ install: beforeinstall realinstall afterinstall # SUBDIR recursing may be disabled for MK_DIRDEPS_BUILD .if !target(_SUBDIR) -.if defined(SUBDIR) || defined(SUBDIR.yes) -SUBDIR:=${SUBDIR} ${SUBDIR.yes} +.if defined(SUBDIR) || defined(SUBDIR.yes) || defined(SUBDIR.yes.yes) +SUBDIR:=${SUBDIR} ${SUBDIR.yes} ${SUBDIR.yes.yes} SUBDIR:=${SUBDIR:u} .endif From owner-svn-src-all@freebsd.org Tue Mar 17 18:44:05 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 82B2F26ECB3; Tue, 17 Mar 2020 18:44:05 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hhsK0l88z3LqX; Tue, 17 Mar 2020 18:44:05 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7C158DAF7; Tue, 17 Mar 2020 18:44:04 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HIi4Cn053170; Tue, 17 Mar 2020 18:44:04 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HIi3rl053168; Tue, 17 Mar 2020 18:44:03 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202003171844.02HIi3rl053168@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Tue, 17 Mar 2020 18:44:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359047 - in head: lib/libsysdecode sys/fs/procfs sys/sys X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: in head: lib/libsysdecode sys/fs/procfs sys/sys X-SVN-Commit-Revision: 359047 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 18:44:05 -0000 Author: jhb Date: Tue Mar 17 18:44:03 2020 New Revision: 359047 URL: https://svnweb.freebsd.org/changeset/base/359047 Log: Mark procfs-based process debugging as deprecated for FreeBSD 13. Attempting to use ioctls on /proc//mem to control a process will trigger warnings on the console. The include file will also now emit a compile-time warning when used from userland. Reviewed by: emaste MFC after: 1 week Relnotes: yes Differential Revision: https://reviews.freebsd.org/D23822 Modified: head/lib/libsysdecode/Makefile head/sys/fs/procfs/procfs_ioctl.c head/sys/sys/pioctl.h Modified: head/lib/libsysdecode/Makefile ============================================================================== --- head/lib/libsysdecode/Makefile Tue Mar 17 18:17:32 2020 (r359046) +++ head/lib/libsysdecode/Makefile Tue Mar 17 18:44:03 2020 (r359047) @@ -121,6 +121,9 @@ CFLAGS.gcc.ioctl.c+= -Wno-redundant-decls CFLAGS.gcc+= ${CFLAGS.gcc.${.IMPSRC}} +# Ignore deprecation warning in +CFLAGS.ioctl.c+= -Wno-\#warnings + DEPENDOBJS+= tables.h tables.h: mktables sh ${.CURDIR}/mktables ${SYSROOT:U${DESTDIR}}${INCLUDEDIR} ${.TARGET} Modified: head/sys/fs/procfs/procfs_ioctl.c ============================================================================== --- head/sys/fs/procfs/procfs_ioctl.c Tue Mar 17 18:17:32 2020 (r359046) +++ head/sys/fs/procfs/procfs_ioctl.c Tue Mar 17 18:44:03 2020 (r359047) @@ -69,10 +69,53 @@ procfs_ioctl(PFS_IOCTL_ARGS) #ifdef COMPAT_FREEBSD6 int ival; #endif + static struct timeval lasttime; + static struct timeval interval = { .tv_sec = 1, .tv_usec = 0 }; KASSERT(p != NULL, ("%s() called without a process", __func__)); PROC_LOCK_ASSERT(p, MA_OWNED); + + switch (cmd) { +#if defined(COMPAT_FREEBSD5) || defined(COMPAT_FREEBSD4) || defined(COMPAT_43) + case _IOC(IOC_IN, 'p', 1, 0): +#endif +#ifdef COMPAT_FREEBSD6 + case _IO('p', 1): +#endif + case PIOCBIS: +#if defined(COMPAT_FREEBSD5) || defined(COMPAT_FREEBSD4) || defined(COMPAT_43) + case _IOC(IOC_IN, 'p', 2, 0): +#endif +#ifdef COMPAT_FREEBSD6 + case _IO('p', 2): +#endif + case PIOCBIC: +#if defined(COMPAT_FREEBSD5) || defined(COMPAT_FREEBSD4) || defined(COMPAT_43) + case _IOC(IOC_IN, 'p', 3, 0): +#endif +#ifdef COMPAT_FREEBSD6 + case _IO('p', 3): +#endif + case PIOCSFL: + case PIOCGFL: + case PIOCWAIT: + case PIOCSTATUS: +#ifdef COMPAT_FREEBSD32 + case PIOCWAIT32: + case PIOCSTATUS32: +#endif +#if defined(COMPAT_FREEBSD5) || defined(COMPAT_FREEBSD4) || defined(COMPAT_43) + case _IOC(IOC_IN, 'p', 5, 0): +#endif +#ifdef COMPAT_FREEBSD6 + case _IO('p', 5): +#endif + case PIOCCONT: + if (ratecheck(&lasttime, &interval) != 0) + gone_in(13, "procfs-based process debugging"); + break; + } error = 0; switch (cmd) { Modified: head/sys/sys/pioctl.h ============================================================================== --- head/sys/sys/pioctl.h Tue Mar 17 18:17:32 2020 (r359046) +++ head/sys/sys/pioctl.h Tue Mar 17 18:44:03 2020 (r359047) @@ -41,6 +41,10 @@ #ifndef _SYS_PIOCTL_H # define _SYS_PIOCTL_H +#ifndef _KERNEL +#warning " is deprecated, ptrace() should be used instead" +#endif + # include struct procfs_status { From owner-svn-src-all@freebsd.org Tue Mar 17 19:06:02 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1971F26FFD5; Tue, 17 Mar 2020 19:06:02 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hjLd6zrRz4Y0K; Tue, 17 Mar 2020 19:06:01 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-8.local (unknown [IPv6:2601:648:8881:1e90:b814:3297:d0a:b7c3]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 92A5E300A; Tue, 17 Mar 2020 19:06:01 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: svn commit: r359047 - in head: lib/libsysdecode sys/fs/procfs sys/sys From: John Baldwin To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202003171844.02HIi3rl053168@repo.freebsd.org> Autocrypt: addr=jhb@FreeBSD.org; keydata= mQGiBETQ+XcRBADMFybiq69u+fJRy/0wzqTNS8jFfWaBTs5/OfcV7wWezVmf9sgwn8TW0Dk0 c9MBl0pz+H01dA2ZSGZ5fXlmFIsee1WEzqeJzpiwd/pejPgSzXB9ijbLHZ2/E0jhGBcVy5Yo /Tw5+U/+laeYKu2xb0XPvM0zMNls1ah5OnP9a6Ql6wCgupaoMySb7DXm2LHD1Z9jTsHcAQMD /1jzh2BoHriy/Q2s4KzzjVp/mQO5DSm2z14BvbQRcXU48oAosHA1u3Wrov6LfPY+0U1tG47X 1BGfnQH+rNAaH0livoSBQ0IPI/8WfIW7ub4qV6HYwWKVqkDkqwcpmGNDbz3gfaDht6nsie5Z pcuCcul4M9CW7Md6zzyvktjnbz61BADGDCopfZC4of0Z3Ka0u8Wik6UJOuqShBt1WcFS8ya1 oB4rc4tXfSHyMF63aPUBMxHR5DXeH+EO2edoSwViDMqWk1jTnYza51rbGY+pebLQOVOxAY7k do5Ordl3wklBPMVEPWoZ61SdbcjhHVwaC5zfiskcxj5wwXd2E9qYlBqRg7QeSm9obiBCYWxk d2luIDxqaGJARnJlZUJTRC5vcmc+iGAEExECACAFAkTQ+awCGwMGCwkIBwMCBBUCCAMEFgID AQIeAQIXgAAKCRBy3lIGd+N/BI6RAJ9S97fvbME+3hxzE3JUyUZ6vTewDACdE1stFuSfqMvM jomvZdYxIYyTUpC5Ag0ERND5ghAIAPwsO0B7BL+bz8sLlLoQktGxXwXQfS5cInvL17Dsgnr3 1AKa94j9EnXQyPEj7u0d+LmEe6CGEGDh1OcGFTMVrof2ZzkSy4+FkZwMKJpTiqeaShMh+Goj XlwIMDxyADYvBIg3eN5YdFKaPQpfgSqhT+7El7w+wSZZD8pPQuLAnie5iz9C8iKy4/cMSOrH YUK/tO+Nhw8Jjlw94Ik0T80iEhI2t+XBVjwdfjbq3HrJ0ehqdBwukyeJRYKmbn298KOFQVHO EVbHA4rF/37jzaMadK43FgJ0SAhPPF5l4l89z5oPu0b/+5e2inA3b8J3iGZxywjM+Csq1tqz hltEc7Q+E08AAwUIAL+15XH8bPbjNJdVyg2CMl10JNW2wWg2Q6qdljeaRqeR6zFus7EZTwtX sNzs5bP8y51PSUDJbeiy2RNCNKWFMndM22TZnk3GNG45nQd4OwYK0RZVrikalmJY5Q6m7Z16 4yrZgIXFdKj2t8F+x613/SJW1lIr9/bDp4U9tw0V1g3l2dFtD3p3ZrQ3hpoDtoK70ioIAjjH aIXIAcm3FGZFXy503DOA0KaTWwvOVdYCFLm3zWuSOmrX/GsEc7ovasOWwjPn878qVjbUKWwx Q4QkF4OhUV9zPtf9tDSAZ3x7QSwoKbCoRCZ/xbyTUPyQ1VvNy/mYrBcYlzHodsaqUDjHuW+I SQQYEQIACQUCRND5ggIbDAAKCRBy3lIGd+N/BCO8AJ9j1dWVQWxw/YdTbEyrRKOY8YZNwwCf afMAg8QvmOWnHx3wl8WslCaXaE8= Message-ID: Date: Tue, 17 Mar 2020 12:06:00 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <202003171844.02HIi3rl053168@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 19:06:02 -0000 On 3/17/20 11:44 AM, John Baldwin wrote: > Author: jhb > Date: Tue Mar 17 18:44:03 2020 > New Revision: 359047 > URL: https://svnweb.freebsd.org/changeset/base/359047 > > Log: > Mark procfs-based process debugging as deprecated for FreeBSD 13. > > Attempting to use ioctls on /proc//mem to control a process will > trigger warnings on the console. The include file will > also now emit a compile-time warning when used from userland. > > Reviewed by: emaste > MFC after: 1 week > Relnotes: yes > Differential Revision: https://reviews.freebsd.org/D23822 Missed: PR: 244383 (exp-run) I also didn't quite say why. My original reason for why is that I have some debugging changes in flight to try to fix spurious EINTR's that break the GDB test suite (and we also have an open bug about spurious errors for gcore and truss). mjg@ wants to do this to remove overhead from the syscall path. Both of these reasons stem from the fact that procfs debugging is not just a layer on top of ptrace but sits beside it requiring duplicate checks in code, etc. They reuse some, but not all, of the same infrastructure. At this point, ptrace() now provides a superset of functionality relative to procfs, and that is only going to continue going forward as only ptrace() based debugging has seen active work in the past several years. -- John Baldwin From owner-svn-src-all@freebsd.org Tue Mar 17 19:20:13 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9BDB9270509; Tue, 17 Mar 2020 19:20:13 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hjg12GwCz49P2; Tue, 17 Mar 2020 19:20:13 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id ECFA6E0A0; Tue, 17 Mar 2020 19:20:12 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HJKCrG072366; Tue, 17 Mar 2020 19:20:12 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HJKCK2072365; Tue, 17 Mar 2020 19:20:12 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <202003171920.02HJKCK2072365@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Tue, 17 Mar 2020 19:20:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359048 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 359048 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 19:20:13 -0000 Author: tuexen Date: Tue Mar 17 19:20:12 2020 New Revision: 359048 URL: https://svnweb.freebsd.org/changeset/base/359048 Log: Handle the timers in a consistent sequence according to the definition of the timer type. Just a cleanup, no functional change intended. MFC after: 1 week Modified: head/sys/netinet/sctputil.c Modified: head/sys/netinet/sctputil.c ============================================================================== --- head/sys/netinet/sctputil.c Tue Mar 17 18:44:03 2020 (r359047) +++ head/sys/netinet/sctputil.c Tue Mar 17 19:20:12 2020 (r359048) @@ -1738,9 +1738,6 @@ sctp_timeout_handler(void *t) /* call the handler for the appropriate timer type */ switch (type) { - case SCTP_TIMER_TYPE_ADDR_WQ: - sctp_handle_addr_wq(); - break; case SCTP_TIMER_TYPE_SEND: if ((stcb == NULL) || (inp == NULL)) { break; @@ -1905,27 +1902,6 @@ sctp_timeout_handler(void *t) #endif sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_SHUT_ACK_TMR, SCTP_SO_NOT_LOCKED); break; - case SCTP_TIMER_TYPE_SHUTDOWNGUARD: - if ((stcb == NULL) || (inp == NULL)) { - break; - } - SCTP_STAT_INCR(sctps_timoshutdownguard); - op_err = sctp_generate_cause(SCTP_BASE_SYSCTL(sctp_diag_info_code), - "Shutdown guard timer expired"); - sctp_abort_an_association(inp, stcb, op_err, SCTP_SO_NOT_LOCKED); - /* no need to unlock on tcb its gone */ - goto out_decr; - case SCTP_TIMER_TYPE_STRRESET: - if ((stcb == NULL) || (inp == NULL)) { - break; - } - if (sctp_strreset_timer(inp, stcb, net)) { - /* no need to unlock on tcb its gone */ - goto out_decr; - } - SCTP_STAT_INCR(sctps_timostrmrst); - sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_STRRST_TMR, SCTP_SO_NOT_LOCKED); - break; case SCTP_TIMER_TYPE_ASCONF: if ((stcb == NULL) || (inp == NULL)) { break; @@ -1940,13 +1916,16 @@ sctp_timeout_handler(void *t) #endif sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_ASCONF_TMR, SCTP_SO_NOT_LOCKED); break; - case SCTP_TIMER_TYPE_PRIM_DELETED: + case SCTP_TIMER_TYPE_SHUTDOWNGUARD: if ((stcb == NULL) || (inp == NULL)) { break; } - sctp_delete_prim_timer(inp, stcb, net); - SCTP_STAT_INCR(sctps_timodelprim); - break; + SCTP_STAT_INCR(sctps_timoshutdownguard); + op_err = sctp_generate_cause(SCTP_BASE_SYSCTL(sctp_diag_info_code), + "Shutdown guard timer expired"); + sctp_abort_an_association(inp, stcb, op_err, SCTP_SO_NOT_LOCKED); + /* no need to unlock on tcb its gone */ + goto out_decr; case SCTP_TIMER_TYPE_AUTOCLOSE: if ((stcb == NULL) || (inp == NULL)) { break; @@ -1956,6 +1935,33 @@ sctp_timeout_handler(void *t) sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_AUTOCLOSE_TMR, SCTP_SO_NOT_LOCKED); did_output = 0; break; + case SCTP_TIMER_TYPE_STRRESET: + if ((stcb == NULL) || (inp == NULL)) { + break; + } + if (sctp_strreset_timer(inp, stcb, net)) { + /* no need to unlock on tcb its gone */ + goto out_decr; + } + SCTP_STAT_INCR(sctps_timostrmrst); + sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_STRRST_TMR, SCTP_SO_NOT_LOCKED); + break; + case SCTP_TIMER_TYPE_INPKILL: + SCTP_STAT_INCR(sctps_timoinpkill); + if (inp == NULL) { + break; + } + /* + * special case, take away our increment since WE are the + * killer + */ + SCTP_INP_DECR_REF(inp); + sctp_timer_stop(SCTP_TIMER_TYPE_INPKILL, inp, NULL, NULL, + SCTP_FROM_SCTPUTIL + SCTP_LOC_3); + sctp_inpcb_free(inp, SCTP_FREE_SHOULD_USE_ABORT, + SCTP_CALLED_FROM_INPKILL_TIMER); + inp = NULL; + goto out_no_decr; case SCTP_TIMER_TYPE_ASOCKILL: if ((stcb == NULL) || (inp == NULL)) { break; @@ -1984,22 +1990,16 @@ sctp_timeout_handler(void *t) */ stcb = NULL; goto out_no_decr; - case SCTP_TIMER_TYPE_INPKILL: - SCTP_STAT_INCR(sctps_timoinpkill); - if (inp == NULL) { + case SCTP_TIMER_TYPE_ADDR_WQ: + sctp_handle_addr_wq(); + break; + case SCTP_TIMER_TYPE_PRIM_DELETED: + if ((stcb == NULL) || (inp == NULL)) { break; } - /* - * special case, take away our increment since WE are the - * killer - */ - SCTP_INP_DECR_REF(inp); - sctp_timer_stop(SCTP_TIMER_TYPE_INPKILL, inp, NULL, NULL, - SCTP_FROM_SCTPUTIL + SCTP_LOC_3); - sctp_inpcb_free(inp, SCTP_FREE_SHOULD_USE_ABORT, - SCTP_CALLED_FROM_INPKILL_TIMER); - inp = NULL; - goto out_no_decr; + sctp_delete_prim_timer(inp, stcb, net); + SCTP_STAT_INCR(sctps_timodelprim); + break; default: SCTPDBG(SCTP_DEBUG_TIMER1, "sctp_timeout_handler:unknown timer %d\n", type); @@ -2059,11 +2059,6 @@ sctp_timer_start(int t_type, struct sctp_inpcb *inp, s return; } switch (t_type) { - case SCTP_TIMER_TYPE_ADDR_WQ: - /* Only 1 tick away :-) */ - tmr = &SCTP_BASE_INFO(addr_wq_timer); - to_ticks = SCTP_ADDRESS_TICK_DELAY; - break; case SCTP_TIMER_TYPE_SEND: /* Here we use the RTO timer */ { @@ -2183,22 +2178,6 @@ sctp_timer_start(int t_type, struct sctp_inpcb *inp, s tmr = &inp->sctp_ep.signature_change; to_ticks = inp->sctp_ep.sctp_timeoutticks[SCTP_TIMER_SIGNATURE]; break; - case SCTP_TIMER_TYPE_ASOCKILL: - if (stcb == NULL) { - return; - } - tmr = &stcb->asoc.strreset_timer; - to_ticks = MSEC_TO_TICKS(SCTP_ASOC_KILL_TIMEOUT); - break; - case SCTP_TIMER_TYPE_INPKILL: - /* - * The inp is setup to die. We re-use the signature_chage - * timer since that has stopped and we are in the GONE - * state. - */ - tmr = &inp->sctp_ep.signature_change; - to_ticks = MSEC_TO_TICKS(SCTP_INP_KILL_TIMEOUT); - break; case SCTP_TIMER_TYPE_PATHMTURAISE: /* * Here we use the value found in the EP for PMTU ususually @@ -2225,6 +2204,21 @@ sctp_timer_start(int t_type, struct sctp_inpcb *inp, s } tmr = &net->rxt_timer; break; + case SCTP_TIMER_TYPE_ASCONF: + /* + * Here the timer comes from the stcb but its value is from + * the net's RTO. + */ + if ((stcb == NULL) || (net == NULL)) { + return; + } + if (net->RTO == 0) { + to_ticks = MSEC_TO_TICKS(stcb->asoc.initial_rto); + } else { + to_ticks = MSEC_TO_TICKS(net->RTO); + } + tmr = &stcb->asoc.asconf_timer; + break; case SCTP_TIMER_TYPE_SHUTDOWNGUARD: /* * Here we use the endpoints shutdown guard timer usually @@ -2240,6 +2234,20 @@ sctp_timer_start(int t_type, struct sctp_inpcb *inp, s } tmr = &stcb->asoc.shut_guard_timer; break; + case SCTP_TIMER_TYPE_AUTOCLOSE: + if (stcb == NULL) { + return; + } + if (stcb->asoc.sctp_autoclose_ticks == 0) { + /* + * Really an error since stcb is NOT set to + * autoclose + */ + return; + } + to_ticks = stcb->asoc.sctp_autoclose_ticks; + tmr = &stcb->asoc.autoclose_timer; + break; case SCTP_TIMER_TYPE_STRRESET: /* * Here the timer comes from the stcb but its value is from @@ -2255,21 +2263,27 @@ sctp_timer_start(int t_type, struct sctp_inpcb *inp, s } tmr = &stcb->asoc.strreset_timer; break; - case SCTP_TIMER_TYPE_ASCONF: + case SCTP_TIMER_TYPE_INPKILL: /* - * Here the timer comes from the stcb but its value is from - * the net's RTO. + * The inp is setup to die. We re-use the signature_chage + * timer since that has stopped and we are in the GONE + * state. */ - if ((stcb == NULL) || (net == NULL)) { + tmr = &inp->sctp_ep.signature_change; + to_ticks = MSEC_TO_TICKS(SCTP_INP_KILL_TIMEOUT); + break; + case SCTP_TIMER_TYPE_ASOCKILL: + if (stcb == NULL) { return; } - if (net->RTO == 0) { - to_ticks = MSEC_TO_TICKS(stcb->asoc.initial_rto); - } else { - to_ticks = MSEC_TO_TICKS(net->RTO); - } - tmr = &stcb->asoc.asconf_timer; + tmr = &stcb->asoc.strreset_timer; + to_ticks = MSEC_TO_TICKS(SCTP_ASOC_KILL_TIMEOUT); break; + case SCTP_TIMER_TYPE_ADDR_WQ: + /* Only 1 tick away :-) */ + tmr = &SCTP_BASE_INFO(addr_wq_timer); + to_ticks = SCTP_ADDRESS_TICK_DELAY; + break; case SCTP_TIMER_TYPE_PRIM_DELETED: if ((stcb == NULL) || (net != NULL)) { return; @@ -2277,20 +2291,6 @@ sctp_timer_start(int t_type, struct sctp_inpcb *inp, s to_ticks = MSEC_TO_TICKS(stcb->asoc.initial_rto); tmr = &stcb->asoc.delete_prim_timer; break; - case SCTP_TIMER_TYPE_AUTOCLOSE: - if (stcb == NULL) { - return; - } - if (stcb->asoc.sctp_autoclose_ticks == 0) { - /* - * Really an error since stcb is NOT set to - * autoclose - */ - return; - } - to_ticks = stcb->asoc.sctp_autoclose_ticks; - tmr = &stcb->asoc.autoclose_timer; - break; default: SCTPDBG(SCTP_DEBUG_TIMER1, "%s: Unknown timer type %d\n", __func__, t_type); @@ -2340,9 +2340,6 @@ sctp_timer_stop(int t_type, struct sctp_inpcb *inp, st SCTP_TCB_LOCK_ASSERT(stcb); } switch (t_type) { - case SCTP_TIMER_TYPE_ADDR_WQ: - tmr = &SCTP_BASE_INFO(addr_wq_timer); - break; case SCTP_TIMER_TYPE_SEND: if ((stcb == NULL) || (net == NULL)) { return; @@ -2387,24 +2384,6 @@ sctp_timer_stop(int t_type, struct sctp_inpcb *inp, st * must assure that we do not kill it by accident. */ break; - case SCTP_TIMER_TYPE_ASOCKILL: - /* - * Stop the asoc kill timer. - */ - if (stcb == NULL) { - return; - } - tmr = &stcb->asoc.strreset_timer; - break; - - case SCTP_TIMER_TYPE_INPKILL: - /* - * The inp is setup to die. We re-use the signature_chage - * timer since that has stopped and we are in the GONE - * state. - */ - tmr = &inp->sctp_ep.signature_change; - break; case SCTP_TIMER_TYPE_PATHMTURAISE: if ((stcb == NULL) || (net == NULL)) { return; @@ -2417,35 +2396,55 @@ sctp_timer_stop(int t_type, struct sctp_inpcb *inp, st } tmr = &net->rxt_timer; break; + case SCTP_TIMER_TYPE_ASCONF: + if (stcb == NULL) { + return; + } + tmr = &stcb->asoc.asconf_timer; + break; case SCTP_TIMER_TYPE_SHUTDOWNGUARD: if (stcb == NULL) { return; } tmr = &stcb->asoc.shut_guard_timer; break; - case SCTP_TIMER_TYPE_STRRESET: + case SCTP_TIMER_TYPE_AUTOCLOSE: if (stcb == NULL) { return; } - tmr = &stcb->asoc.strreset_timer; + tmr = &stcb->asoc.autoclose_timer; break; - case SCTP_TIMER_TYPE_ASCONF: + case SCTP_TIMER_TYPE_STRRESET: if (stcb == NULL) { return; } - tmr = &stcb->asoc.asconf_timer; + tmr = &stcb->asoc.strreset_timer; break; - case SCTP_TIMER_TYPE_PRIM_DELETED: + case SCTP_TIMER_TYPE_INPKILL: + /* + * The inp is setup to die. We re-use the signature_chage + * timer since that has stopped and we are in the GONE + * state. + */ + tmr = &inp->sctp_ep.signature_change; + break; + case SCTP_TIMER_TYPE_ASOCKILL: + /* + * Stop the asoc kill timer. + */ if (stcb == NULL) { return; } - tmr = &stcb->asoc.delete_prim_timer; + tmr = &stcb->asoc.strreset_timer; break; - case SCTP_TIMER_TYPE_AUTOCLOSE: + case SCTP_TIMER_TYPE_ADDR_WQ: + tmr = &SCTP_BASE_INFO(addr_wq_timer); + break; + case SCTP_TIMER_TYPE_PRIM_DELETED: if (stcb == NULL) { return; } - tmr = &stcb->asoc.autoclose_timer; + tmr = &stcb->asoc.delete_prim_timer; break; default: SCTPDBG(SCTP_DEBUG_TIMER1, "%s: Unknown timer type %d\n", From owner-svn-src-all@freebsd.org Tue Mar 17 19:53:04 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8E0F02711CE; Tue, 17 Mar 2020 19:53:04 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hkNw0NWXz4d61; Tue, 17 Mar 2020 19:53:04 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DD8D7E806; Tue, 17 Mar 2020 19:53:03 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HJr3TC096053; Tue, 17 Mar 2020 19:53:03 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HJr3oT096051; Tue, 17 Mar 2020 19:53:03 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003171953.02HJr3oT096051@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Tue, 17 Mar 2020 19:53:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359049 - in stable/12: tools/tools/controlelf usr.bin usr.bin/elfctl X-SVN-Group: stable-12 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: in stable/12: tools/tools/controlelf usr.bin usr.bin/elfctl X-SVN-Commit-Revision: 359049 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 19:53:04 -0000 Author: emaste Date: Tue Mar 17 19:53:03 2020 New Revision: 359049 URL: https://svnweb.freebsd.org/changeset/base/359049 Log: MFC r358512: Move ELF feature note tool to usr.bin/elfctl elfctl is a tool for modifying the NT_FREEBSD_FEATURE_CTL ELF note, which contains a set of flags for enabling or disabling vulnerability mitigations and other features. Also merge follow-on commits: r358518 elfctl: initialize features r358546 elfctl: tiny style(9) cleanup, use bool where appropriate r358622 elfctl: style(9): use C99 uintX_t types r358623 elfctl: check read return value r358889 elfctl: remove memory leak Sponsored by: The FreeBSD Foundation Added: stable/12/usr.bin/elfctl/ - copied from r358512, head/usr.bin/elfctl/ Deleted: stable/12/tools/tools/controlelf/ Modified: stable/12/usr.bin/Makefile stable/12/usr.bin/elfctl/elfctl.c Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.bin/Makefile ============================================================================== --- stable/12/usr.bin/Makefile Tue Mar 17 19:20:12 2020 (r359048) +++ stable/12/usr.bin/Makefile Tue Mar 17 19:53:03 2020 (r359049) @@ -33,6 +33,7 @@ SUBDIR= alias \ dirname \ du \ elf2aout \ + elfctl \ elfdump \ enigma \ env \ Modified: stable/12/usr.bin/elfctl/elfctl.c ============================================================================== --- head/usr.bin/elfctl/elfctl.c Mon Mar 2 02:36:41 2020 (r358512) +++ stable/12/usr.bin/elfctl/elfctl.c Tue Mar 17 19:53:03 2020 (r359049) @@ -48,9 +48,9 @@ __FBSDID("$FreeBSD$"); -static bool convert_to_feature_val(char *, u_int32_t *); +static bool convert_to_feature_val(char *, uint32_t *); static bool edit_file_features(Elf *, int, int, char *); -static bool get_file_features(Elf *, int, int, u_int32_t *, u_int64_t *); +static bool get_file_features(Elf *, int, int, uint32_t *, uint64_t *); static void print_features(void); static bool print_file_features(Elf *, int, int, char *); static void usage(void); @@ -85,13 +85,14 @@ main(int argc, char **argv) GElf_Ehdr ehdr; Elf *elf; Elf_Kind kind; - int ch, fd, editfeatures, retval; + int ch, fd, retval; char *features; - bool lflag; + bool editfeatures, lflag; lflag = 0; - editfeatures = 0; + editfeatures = false; retval = 0; + features = NULL; if (elf_version(EV_CURRENT) == EV_NONE) errx(EXIT_FAILURE, "elf_version error"); @@ -104,7 +105,7 @@ main(int argc, char **argv) break; case 'e': features = optarg; - editfeatures = 1; + editfeatures = true; break; case 'h': default: @@ -205,11 +206,11 @@ usage(void) } static bool -convert_to_feature_val(char *feature_str, u_int32_t *feature_val) +convert_to_feature_val(char *feature_str, uint32_t *feature_val) { char *feature; int i, len; - u_int32_t input; + uint32_t input; char operation; input = 0; @@ -246,8 +247,8 @@ convert_to_feature_val(char *feature_str, u_int32_t *f static bool edit_file_features(Elf *elf, int phcount, int fd, char *val) { - u_int32_t features; - u_int64_t off; + uint32_t features; + uint64_t off; if (!get_file_features(elf, phcount, fd, &features, &off)) { warnx("NT_FREEBSD_FEATURE_CTL note not found"); @@ -280,7 +281,7 @@ print_features(void) static bool print_file_features(Elf *elf, int phcount, int fd, char *filename) { - u_int32_t features; + uint32_t features; unsigned long i; if (!get_file_features(elf, phcount, fd, &features, NULL)) { @@ -301,15 +302,14 @@ print_file_features(Elf *elf, int phcount, int fd, cha } static bool -get_file_features(Elf *elf, int phcount, int fd, u_int32_t *features, - u_int64_t *off) +get_file_features(Elf *elf, int phcount, int fd, uint32_t *features, + uint64_t *off) { GElf_Phdr phdr; Elf_Note note; unsigned long read_total; int namesz, descsz, i; char *name; - ssize_t size; /* * Go through each program header to find one that is of type PT_NOTE @@ -331,9 +331,9 @@ get_file_features(Elf *elf, int phcount, int fd, u_int read_total = 0; while (read_total < phdr.p_filesz) { - size = read(fd, ¬e, sizeof(note)); - if (size < (ssize_t)sizeof(note)) { - warn("read() failed:"); + if (read(fd, ¬e, sizeof(note)) < + (ssize_t)sizeof(note)) { + warnx("elf note header too short"); return (false); } read_total += sizeof(note); @@ -349,7 +349,11 @@ get_file_features(Elf *elf, int phcount, int fd, u_int return (false); } descsz = roundup2(note.n_descsz, 4); - size = read(fd, name, namesz); + if (read(fd, name, namesz) < namesz) { + warnx("elf note name too short"); + free(name); + return (false); + } read_total += namesz; if (note.n_namesz != 8 || @@ -366,7 +370,7 @@ get_file_features(Elf *elf, int phcount, int fd, u_int continue; } - if (note.n_descsz < sizeof(u_int32_t)) { + if (note.n_descsz < sizeof(uint32_t)) { warnx("Feature descriptor can't " "be less than 4 bytes"); free(name); @@ -377,9 +381,14 @@ get_file_features(Elf *elf, int phcount, int fd, u_int * XXX: For now we look at only 4 bytes of the * descriptor. This should respect descsz. */ - if (note.n_descsz > sizeof(u_int32_t)) + if (note.n_descsz > sizeof(uint32_t)) warnx("Feature note is bigger than expected"); - read(fd, features, sizeof(u_int32_t)); + if (read(fd, features, sizeof(uint32_t)) < + (ssize_t)sizeof(uint32_t)) { + warnx("feature note data too short"); + free(name); + return (false); + } if (off != NULL) *off = phdr.p_offset + read_total; free(name); From owner-svn-src-all@freebsd.org Tue Mar 17 21:11:39 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DEACD2728D2; Tue, 17 Mar 2020 21:11:39 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hm7Z5w4Sz4fHt; Tue, 17 Mar 2020 21:11:38 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 876DBF57B; Tue, 17 Mar 2020 21:11:38 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HLBcCO041346; Tue, 17 Mar 2020 21:11:38 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HLBcXA041345; Tue, 17 Mar 2020 21:11:38 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202003172111.02HLBcXA041345@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Tue, 17 Mar 2020 21:11:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359050 - head/tools/build/mk X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/tools/build/mk X-SVN-Commit-Revision: 359050 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 21:11:40 -0000 Author: jhb Date: Tue Mar 17 21:11:38 2020 New Revision: 359050 URL: https://svnweb.freebsd.org/changeset/base/359050 Log: Add missing DTrace files for WITHOUT_CDDL=yes. Reviewed by: dteske MFC after: 1 week Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24037 Modified: head/tools/build/mk/OptionalObsoleteFiles.inc Modified: head/tools/build/mk/OptionalObsoleteFiles.inc ============================================================================== --- head/tools/build/mk/OptionalObsoleteFiles.inc Tue Mar 17 19:53:03 2020 (r359049) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Tue Mar 17 21:11:38 2020 (r359050) @@ -1151,13 +1151,18 @@ OLD_FILES+=usr/lib/dtrace/drti.o OLD_FILES+=usr/lib/dtrace/errno.d OLD_FILES+=usr/lib/dtrace/io.d OLD_FILES+=usr/lib/dtrace/ip.d +OLD_FILES+=usr/lib/dtrace/mbuf.d OLD_FILES+=usr/lib/dtrace/psinfo.d .if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386" OLD_FILES+=usr/lib/dtrace/regs_x86.d .endif +OLD_FILES+=usr/lib/dtrace/sctp.d +OLD_FILES+=usr/lib/dtrace/siftr.d OLD_FILES+=usr/lib/dtrace/signal.d +OLD_FILES+=usr/lib/dtrace/socket.d OLD_FILES+=usr/lib/dtrace/tcp.d OLD_FILES+=usr/lib/dtrace/udp.d +OLD_FILES+=usr/lib/dtrace/udplite.d OLD_FILES+=usr/lib/dtrace/unistd.d OLD_FILES+=usr/lib/libavl.a OLD_FILES+=usr/lib/libavl.so @@ -1205,29 +1210,120 @@ OLD_LIBS+=usr/lib32/libuutil.so.2 OLD_FILES+=usr/lib32/libuutil_p.a .endif OLD_LIBS+=lib/libdtrace.so.2 +OLD_FILES+=usr/libexec/dwatch/chmod +OLD_FILES+=usr/libexec/dwatch/errno +OLD_FILES+=usr/libexec/dwatch/fchmodat +OLD_FILES+=usr/libexec/dwatch/io +OLD_FILES+=usr/libexec/dwatch/io-done +OLD_FILES+=usr/libexec/dwatch/io-start +OLD_FILES+=usr/libexec/dwatch/ip +OLD_FILES+=usr/libexec/dwatch/ip-receive +OLD_FILES+=usr/libexec/dwatch/ip-send +OLD_FILES+=usr/libexec/dwatch/kill +OLD_FILES+=usr/libexec/dwatch/lchmod +OLD_FILES+=usr/libexec/dwatch/nanosleep +OLD_FILES+=usr/libexec/dwatch/open +OLD_FILES+=usr/libexec/dwatch/openat +OLD_FILES+=usr/libexec/dwatch/proc +OLD_FILES+=usr/libexec/dwatch/proc-create +OLD_FILES+=usr/libexec/dwatch/proc-exec +OLD_FILES+=usr/libexec/dwatch/proc-exec-failure +OLD_FILES+=usr/libexec/dwatch/proc-exec-success +OLD_FILES+=usr/libexec/dwatch/proc-exit +OLD_FILES+=usr/libexec/dwatch/proc-signal +OLD_FILES+=usr/libexec/dwatch/proc-signal-clear +OLD_FILES+=usr/libexec/dwatch/proc-signal-discard +OLD_FILES+=usr/libexec/dwatch/proc-signal-send +OLD_FILES+=usr/libexec/dwatch/proc-status +OLD_FILES+=usr/libexec/dwatch/read +OLD_FILES+=usr/libexec/dwatch/recv +OLD_FILES+=usr/libexec/dwatch/recvfrom +OLD_FILES+=usr/libexec/dwatch/recvmsg +OLD_FILES+=usr/libexec/dwatch/rw +OLD_FILES+=usr/libexec/dwatch/sched +OLD_FILES+=usr/libexec/dwatch/sched-change-pri +OLD_FILES+=usr/libexec/dwatch/sched-cpu +OLD_FILES+=usr/libexec/dwatch/sched-dequeue +OLD_FILES+=usr/libexec/dwatch/sched-enqueue +OLD_FILES+=usr/libexec/dwatch/sched-exec +OLD_FILES+=usr/libexec/dwatch/sched-lend-pri +OLD_FILES+=usr/libexec/dwatch/sched-load-change +OLD_FILES+=usr/libexec/dwatch/sched-off-cpu +OLD_FILES+=usr/libexec/dwatch/sched-on-cpu +OLD_FILES+=usr/libexec/dwatch/sched-preempt +OLD_FILES+=usr/libexec/dwatch/sched-pri +OLD_FILES+=usr/libexec/dwatch/sched-queue +OLD_FILES+=usr/libexec/dwatch/sched-remain-cpu +OLD_FILES+=usr/libexec/dwatch/sched-sleep +OLD_FILES+=usr/libexec/dwatch/sched-surrender +OLD_FILES+=usr/libexec/dwatch/sched-tick +OLD_FILES+=usr/libexec/dwatch/sched-wakeup +OLD_FILES+=usr/libexec/dwatch/send +OLD_FILES+=usr/libexec/dwatch/sendmsg +OLD_FILES+=usr/libexec/dwatch/sendrecv +OLD_FILES+=usr/libexec/dwatch/sendto +OLD_FILES+=usr/libexec/dwatch/systop +OLD_FILES+=usr/libexec/dwatch/tcp +OLD_FILES+=usr/libexec/dwatch/tcp-accept +OLD_FILES+=usr/libexec/dwatch/tcp-accept-established +OLD_FILES+=usr/libexec/dwatch/tcp-accept-refused +OLD_FILES+=usr/libexec/dwatch/tcp-connect +OLD_FILES+=usr/libexec/dwatch/tcp-connect-established +OLD_FILES+=usr/libexec/dwatch/tcp-connect-refused +OLD_FILES+=usr/libexec/dwatch/tcp-connect-request +OLD_FILES+=usr/libexec/dwatch/tcp-established +OLD_FILES+=usr/libexec/dwatch/tcp-init +OLD_FILES+=usr/libexec/dwatch/tcp-io +OLD_FILES+=usr/libexec/dwatch/tcp-receive +OLD_FILES+=usr/libexec/dwatch/tcp-refused +OLD_FILES+=usr/libexec/dwatch/tcp-send +OLD_FILES+=usr/libexec/dwatch/tcp-state-change +OLD_FILES+=usr/libexec/dwatch/tcp-status +OLD_FILES+=usr/libexec/dwatch/udp +OLD_FILES+=usr/libexec/dwatch/udp-receive +OLD_FILES+=usr/libexec/dwatch/udp-send +OLD_FILES+=usr/libexec/dwatch/udplite +OLD_FILES+=usr/libexec/dwatch/udplite-receive +OLD_FILES+=usr/libexec/dwatch/udplite-send +OLD_FILES+=usr/libexec/dwatch/vop_create +OLD_FILES+=usr/libexec/dwatch/vop_lookup +OLD_FILES+=usr/libexec/dwatch/vop_mkdir +OLD_FILES+=usr/libexec/dwatch/vop_mknod +OLD_FILES+=usr/libexec/dwatch/vop_readdir +OLD_FILES+=usr/libexec/dwatch/vop_remove +OLD_FILES+=usr/libexec/dwatch/vop_rename +OLD_FILES+=usr/libexec/dwatch/vop_rmdir +OLD_FILES+=usr/libexec/dwatch/vop_symlink +OLD_FILES+=usr/libexec/dwatch/write OLD_FILES+=usr/sbin/dtrace +OLD_FILES+=usr/sbin/dwatch OLD_FILES+=usr/sbin/lockstat OLD_FILES+=usr/sbin/plockstat OLD_FILES+=usr/share/man/man1/dtrace.1.gz OLD_FILES+=usr/share/man/man1/dtruss.1.gz OLD_FILES+=usr/share/man/man1/lockstat.1.gz OLD_FILES+=usr/share/man/man1/plockstat.1.gz +OLD_FILES+=usr/share/dtrace/blocking OLD_FILES+=usr/share/dtrace/disklatency OLD_FILES+=usr/share/dtrace/disklatencycmd OLD_FILES+=usr/share/dtrace/hotopen +OLD_FILES+=usr/share/dtrace/nfsattrstats OLD_FILES+=usr/share/dtrace/nfsclienttime +OLD_FILES+=usr/share/dtrace/siftr OLD_FILES+=usr/share/dtrace/toolkit/execsnoop OLD_FILES+=usr/share/dtrace/toolkit/hotkernel OLD_FILES+=usr/share/dtrace/toolkit/hotuser OLD_FILES+=usr/share/dtrace/toolkit/opensnoop OLD_FILES+=usr/share/dtrace/toolkit/procsystime OLD_FILES+=usr/share/dtrace/tcpconn +OLD_FILES+=usr/share/dtrace/tcpdebug OLD_FILES+=usr/share/dtrace/tcpstate OLD_FILES+=usr/share/dtrace/tcptrack OLD_FILES+=usr/share/dtrace/udptrack OLD_FILES+=usr/share/man/man1/dtrace.1.gz OLD_DIRS+=usr/lib/dtrace OLD_DIRS+=usr/lib32/dtrace +OLD_DIRS+=usr/libexec/dwatch OLD_DIRS+=usr/share/dtrace/toolkit OLD_DIRS+=usr/share/dtrace .endif From owner-svn-src-all@freebsd.org Tue Mar 17 21:28:03 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8A850272DD6; Tue, 17 Mar 2020 21:28:03 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hmVV5sCWz4P47; Tue, 17 Mar 2020 21:28:02 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 11AB8F8AA; Tue, 17 Mar 2020 21:28:02 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HLS2dQ050110; Tue, 17 Mar 2020 21:28:02 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HLRwlk050087; Tue, 17 Mar 2020 21:27:58 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <202003172127.02HLRwlk050087@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Tue, 17 Mar 2020 21:27:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r359051 - in vendor-crypto/openssl/dist: . apps crypto crypto/aes crypto/aes/asm crypto/aria crypto/asn1 crypto/async crypto/async/arch crypto/bf crypto/bf/asm crypto/bio crypto/blake2 ... X-SVN-Group: vendor-crypto X-SVN-Commit-Author: jkim X-SVN-Commit-Paths: in vendor-crypto/openssl/dist: . apps crypto crypto/aes crypto/aes/asm crypto/aria crypto/asn1 crypto/async crypto/async/arch crypto/bf crypto/bf/asm crypto/bio crypto/blake2 crypto/bn crypto/bn/asm c... X-SVN-Commit-Revision: 359051 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 21:28:03 -0000 Author: jkim Date: Tue Mar 17 21:27:57 2020 New Revision: 359051 URL: https://svnweb.freebsd.org/changeset/base/359051 Log: Import OpenSSL 1.1.1e. Added: vendor-crypto/openssl/dist/crypto/aes/aes_local.h vendor-crypto/openssl/dist/crypto/asn1/asn1_local.h vendor-crypto/openssl/dist/crypto/async/async_local.h vendor-crypto/openssl/dist/crypto/bf/bf_local.h vendor-crypto/openssl/dist/crypto/bio/bio_local.h vendor-crypto/openssl/dist/crypto/blake2/blake2_local.h vendor-crypto/openssl/dist/crypto/bn/bn_local.h vendor-crypto/openssl/dist/crypto/camellia/cmll_local.h vendor-crypto/openssl/dist/crypto/cast/cast_local.h vendor-crypto/openssl/dist/crypto/cms/cms_local.h vendor-crypto/openssl/dist/crypto/comp/comp_local.h vendor-crypto/openssl/dist/crypto/conf/conf_local.h vendor-crypto/openssl/dist/crypto/ct/ct_local.h vendor-crypto/openssl/dist/crypto/des/des_local.h vendor-crypto/openssl/dist/crypto/dh/dh_local.h vendor-crypto/openssl/dist/crypto/dsa/dsa_local.h vendor-crypto/openssl/dist/crypto/dso/dso_local.h vendor-crypto/openssl/dist/crypto/ec/curve448/curve448_local.h vendor-crypto/openssl/dist/crypto/ec/ec_local.h vendor-crypto/openssl/dist/crypto/engine/eng_local.h vendor-crypto/openssl/dist/crypto/evp/evp_local.h vendor-crypto/openssl/dist/crypto/hmac/hmac_local.h vendor-crypto/openssl/dist/crypto/idea/idea_local.h vendor-crypto/openssl/dist/crypto/lhash/lhash_local.h vendor-crypto/openssl/dist/crypto/md4/md4_local.h vendor-crypto/openssl/dist/crypto/md5/md5_local.h vendor-crypto/openssl/dist/crypto/modes/modes_local.h vendor-crypto/openssl/dist/crypto/objects/obj_local.h vendor-crypto/openssl/dist/crypto/ocsp/ocsp_local.h vendor-crypto/openssl/dist/crypto/pkcs12/p12_local.h vendor-crypto/openssl/dist/crypto/rand/rand_local.h vendor-crypto/openssl/dist/crypto/rc2/rc2_local.h vendor-crypto/openssl/dist/crypto/rc4/rc4_local.h vendor-crypto/openssl/dist/crypto/rc5/rc5_local.h vendor-crypto/openssl/dist/crypto/ripemd/rmd_local.h vendor-crypto/openssl/dist/crypto/rsa/rsa_local.h vendor-crypto/openssl/dist/crypto/seed/seed_local.h vendor-crypto/openssl/dist/crypto/sha/sha_local.h vendor-crypto/openssl/dist/crypto/sm3/sm3_local.h vendor-crypto/openssl/dist/crypto/store/store_local.h vendor-crypto/openssl/dist/crypto/ts/ts_local.h vendor-crypto/openssl/dist/crypto/ui/ui_local.h vendor-crypto/openssl/dist/crypto/whrlpool/wp_local.h vendor-crypto/openssl/dist/crypto/x509/x509_local.h vendor-crypto/openssl/dist/crypto/x509v3/pcy_local.h vendor-crypto/openssl/dist/doc/man3/EVP_PKEY_size.pod vendor-crypto/openssl/dist/doc/man3/X509_LOOKUP.pod vendor-crypto/openssl/dist/doc/man7/proxy-certificates.pod vendor-crypto/openssl/dist/include/crypto/ vendor-crypto/openssl/dist/include/crypto/__DECC_INCLUDE_EPILOGUE.H vendor-crypto/openssl/dist/include/crypto/__DECC_INCLUDE_PROLOGUE.H vendor-crypto/openssl/dist/include/crypto/aria.h vendor-crypto/openssl/dist/include/crypto/asn1.h vendor-crypto/openssl/dist/include/crypto/async.h vendor-crypto/openssl/dist/include/crypto/bn.h vendor-crypto/openssl/dist/include/crypto/bn_conf.h.in vendor-crypto/openssl/dist/include/crypto/bn_dh.h vendor-crypto/openssl/dist/include/crypto/bn_srp.h vendor-crypto/openssl/dist/include/crypto/chacha.h vendor-crypto/openssl/dist/include/crypto/cryptlib.h vendor-crypto/openssl/dist/include/crypto/ctype.h vendor-crypto/openssl/dist/include/crypto/dso_conf.h.in vendor-crypto/openssl/dist/include/crypto/ec.h vendor-crypto/openssl/dist/include/crypto/engine.h vendor-crypto/openssl/dist/include/crypto/err.h vendor-crypto/openssl/dist/include/crypto/evp.h vendor-crypto/openssl/dist/include/crypto/lhash.h vendor-crypto/openssl/dist/include/crypto/md32_common.h vendor-crypto/openssl/dist/include/crypto/objects.h vendor-crypto/openssl/dist/include/crypto/poly1305.h vendor-crypto/openssl/dist/include/crypto/rand.h vendor-crypto/openssl/dist/include/crypto/sha.h vendor-crypto/openssl/dist/include/crypto/siphash.h vendor-crypto/openssl/dist/include/crypto/sm2.h vendor-crypto/openssl/dist/include/crypto/sm2err.h vendor-crypto/openssl/dist/include/crypto/sm3.h vendor-crypto/openssl/dist/include/crypto/sm4.h vendor-crypto/openssl/dist/include/crypto/store.h vendor-crypto/openssl/dist/include/crypto/x509.h vendor-crypto/openssl/dist/include/internal/constant_time.h vendor-crypto/openssl/dist/ssl/packet_local.h vendor-crypto/openssl/dist/ssl/record/record_local.h vendor-crypto/openssl/dist/ssl/ssl_local.h vendor-crypto/openssl/dist/ssl/statem/statem_local.h Deleted: vendor-crypto/openssl/dist/crypto/aes/aes_locl.h vendor-crypto/openssl/dist/crypto/asn1/asn1_locl.h vendor-crypto/openssl/dist/crypto/async/async_locl.h vendor-crypto/openssl/dist/crypto/bf/bf_locl.h vendor-crypto/openssl/dist/crypto/bio/bio_lcl.h vendor-crypto/openssl/dist/crypto/blake2/blake2_locl.h vendor-crypto/openssl/dist/crypto/bn/bn_lcl.h vendor-crypto/openssl/dist/crypto/camellia/cmll_locl.h vendor-crypto/openssl/dist/crypto/cast/cast_lcl.h vendor-crypto/openssl/dist/crypto/cms/cms_lcl.h vendor-crypto/openssl/dist/crypto/comp/comp_lcl.h vendor-crypto/openssl/dist/crypto/conf/conf_lcl.h vendor-crypto/openssl/dist/crypto/ct/ct_locl.h vendor-crypto/openssl/dist/crypto/des/des_locl.h vendor-crypto/openssl/dist/crypto/dh/dh_locl.h vendor-crypto/openssl/dist/crypto/dsa/dsa_locl.h vendor-crypto/openssl/dist/crypto/dso/dso_locl.h vendor-crypto/openssl/dist/crypto/ec/curve448/curve448_lcl.h vendor-crypto/openssl/dist/crypto/ec/ec_lcl.h vendor-crypto/openssl/dist/crypto/engine/eng_int.h vendor-crypto/openssl/dist/crypto/evp/evp_locl.h vendor-crypto/openssl/dist/crypto/hmac/hmac_lcl.h vendor-crypto/openssl/dist/crypto/idea/idea_lcl.h vendor-crypto/openssl/dist/crypto/include/internal/ vendor-crypto/openssl/dist/crypto/lhash/lhash_lcl.h vendor-crypto/openssl/dist/crypto/md4/md4_locl.h vendor-crypto/openssl/dist/crypto/md5/md5_locl.h vendor-crypto/openssl/dist/crypto/modes/modes_lcl.h vendor-crypto/openssl/dist/crypto/objects/obj_lcl.h vendor-crypto/openssl/dist/crypto/ocsp/ocsp_lcl.h vendor-crypto/openssl/dist/crypto/pkcs12/p12_lcl.h vendor-crypto/openssl/dist/crypto/rand/rand_lcl.h vendor-crypto/openssl/dist/crypto/rc2/rc2_locl.h vendor-crypto/openssl/dist/crypto/rc4/rc4_locl.h vendor-crypto/openssl/dist/crypto/rc5/rc5_locl.h vendor-crypto/openssl/dist/crypto/ripemd/rmd_locl.h vendor-crypto/openssl/dist/crypto/rsa/rsa_locl.h vendor-crypto/openssl/dist/crypto/seed/seed_locl.h vendor-crypto/openssl/dist/crypto/sha/sha_locl.h vendor-crypto/openssl/dist/crypto/sm3/sm3_locl.h vendor-crypto/openssl/dist/crypto/store/store_locl.h vendor-crypto/openssl/dist/crypto/ts/ts_lcl.h vendor-crypto/openssl/dist/crypto/ui/ui_locl.h vendor-crypto/openssl/dist/crypto/whrlpool/wp_locl.h vendor-crypto/openssl/dist/crypto/x509/x509_lcl.h vendor-crypto/openssl/dist/crypto/x509v3/pcy_int.h vendor-crypto/openssl/dist/doc/HOWTO/proxy_certificates.txt vendor-crypto/openssl/dist/include/internal/constant_time_locl.h vendor-crypto/openssl/dist/ssl/packet_locl.h vendor-crypto/openssl/dist/ssl/record/record_locl.h vendor-crypto/openssl/dist/ssl/ssl_locl.h vendor-crypto/openssl/dist/ssl/statem/statem_locl.h Modified: vendor-crypto/openssl/dist/CHANGES vendor-crypto/openssl/dist/CONTRIBUTING vendor-crypto/openssl/dist/Configure vendor-crypto/openssl/dist/FREEBSD-upgrade vendor-crypto/openssl/dist/INSTALL vendor-crypto/openssl/dist/NEWS vendor-crypto/openssl/dist/README vendor-crypto/openssl/dist/apps/apps.c vendor-crypto/openssl/dist/apps/apps.h vendor-crypto/openssl/dist/apps/dgst.c vendor-crypto/openssl/dist/apps/enc.c vendor-crypto/openssl/dist/apps/ocsp.c vendor-crypto/openssl/dist/apps/openssl.c vendor-crypto/openssl/dist/apps/passwd.c vendor-crypto/openssl/dist/apps/pkcs12.c vendor-crypto/openssl/dist/apps/pkeyutl.c vendor-crypto/openssl/dist/apps/req.c vendor-crypto/openssl/dist/apps/s_cb.c vendor-crypto/openssl/dist/apps/s_server.c vendor-crypto/openssl/dist/apps/server.pem vendor-crypto/openssl/dist/apps/speed.c vendor-crypto/openssl/dist/apps/timeouts.h vendor-crypto/openssl/dist/apps/ts.c vendor-crypto/openssl/dist/apps/x509.c vendor-crypto/openssl/dist/appveyor.yml vendor-crypto/openssl/dist/build.info vendor-crypto/openssl/dist/config vendor-crypto/openssl/dist/crypto/LPdir_unix.c vendor-crypto/openssl/dist/crypto/aes/aes_core.c vendor-crypto/openssl/dist/crypto/aes/aes_ecb.c vendor-crypto/openssl/dist/crypto/aes/aes_ige.c vendor-crypto/openssl/dist/crypto/aes/aes_misc.c vendor-crypto/openssl/dist/crypto/aes/aes_x86core.c vendor-crypto/openssl/dist/crypto/aes/asm/aes-armv4.pl vendor-crypto/openssl/dist/crypto/aes/asm/aes-c64xplus.pl vendor-crypto/openssl/dist/crypto/aes/asm/aes-mips.pl vendor-crypto/openssl/dist/crypto/aes/asm/aes-parisc.pl vendor-crypto/openssl/dist/crypto/aes/asm/aes-ppc.pl vendor-crypto/openssl/dist/crypto/aes/asm/aes-s390x.pl vendor-crypto/openssl/dist/crypto/aes/asm/aes-sparcv9.pl vendor-crypto/openssl/dist/crypto/aes/asm/aesfx-sparcv9.pl vendor-crypto/openssl/dist/crypto/aes/asm/aesni-mb-x86_64.pl vendor-crypto/openssl/dist/crypto/aes/asm/aesni-sha1-x86_64.pl vendor-crypto/openssl/dist/crypto/aes/asm/aesni-sha256-x86_64.pl vendor-crypto/openssl/dist/crypto/aes/asm/aesni-x86.pl vendor-crypto/openssl/dist/crypto/aes/asm/aesni-x86_64.pl vendor-crypto/openssl/dist/crypto/aes/asm/aesp8-ppc.pl vendor-crypto/openssl/dist/crypto/aes/asm/aest4-sparcv9.pl vendor-crypto/openssl/dist/crypto/aes/asm/aesv8-armx.pl vendor-crypto/openssl/dist/crypto/aes/asm/bsaes-armv7.pl vendor-crypto/openssl/dist/crypto/aes/asm/vpaes-armv8.pl vendor-crypto/openssl/dist/crypto/aes/asm/vpaes-ppc.pl vendor-crypto/openssl/dist/crypto/aes/asm/vpaes-x86.pl vendor-crypto/openssl/dist/crypto/aes/asm/vpaes-x86_64.pl vendor-crypto/openssl/dist/crypto/aria/aria.c vendor-crypto/openssl/dist/crypto/arm64cpuid.pl vendor-crypto/openssl/dist/crypto/arm_arch.h vendor-crypto/openssl/dist/crypto/armv4cpuid.pl vendor-crypto/openssl/dist/crypto/asn1/a_bitstr.c vendor-crypto/openssl/dist/crypto/asn1/a_d2i_fp.c vendor-crypto/openssl/dist/crypto/asn1/a_gentm.c vendor-crypto/openssl/dist/crypto/asn1/a_int.c vendor-crypto/openssl/dist/crypto/asn1/a_mbstr.c vendor-crypto/openssl/dist/crypto/asn1/a_object.c vendor-crypto/openssl/dist/crypto/asn1/a_print.c vendor-crypto/openssl/dist/crypto/asn1/a_sign.c vendor-crypto/openssl/dist/crypto/asn1/a_strex.c vendor-crypto/openssl/dist/crypto/asn1/a_time.c vendor-crypto/openssl/dist/crypto/asn1/a_type.c vendor-crypto/openssl/dist/crypto/asn1/a_utctm.c vendor-crypto/openssl/dist/crypto/asn1/a_verify.c vendor-crypto/openssl/dist/crypto/asn1/ameth_lib.c vendor-crypto/openssl/dist/crypto/asn1/asn1_lib.c vendor-crypto/openssl/dist/crypto/asn1/asn1_par.c vendor-crypto/openssl/dist/crypto/asn1/asn_mime.c vendor-crypto/openssl/dist/crypto/asn1/asn_moid.c vendor-crypto/openssl/dist/crypto/asn1/charmap.h vendor-crypto/openssl/dist/crypto/asn1/d2i_pr.c vendor-crypto/openssl/dist/crypto/asn1/d2i_pu.c vendor-crypto/openssl/dist/crypto/asn1/f_int.c vendor-crypto/openssl/dist/crypto/asn1/f_string.c vendor-crypto/openssl/dist/crypto/asn1/i2d_pr.c vendor-crypto/openssl/dist/crypto/asn1/p8_pkey.c vendor-crypto/openssl/dist/crypto/asn1/t_pkey.c vendor-crypto/openssl/dist/crypto/asn1/tasn_dec.c vendor-crypto/openssl/dist/crypto/asn1/tasn_enc.c vendor-crypto/openssl/dist/crypto/asn1/tasn_fre.c vendor-crypto/openssl/dist/crypto/asn1/tasn_new.c vendor-crypto/openssl/dist/crypto/asn1/tasn_prn.c vendor-crypto/openssl/dist/crypto/asn1/tasn_scn.c vendor-crypto/openssl/dist/crypto/asn1/tasn_utl.c vendor-crypto/openssl/dist/crypto/asn1/x_algor.c vendor-crypto/openssl/dist/crypto/asn1/x_bignum.c vendor-crypto/openssl/dist/crypto/asn1/x_int64.c vendor-crypto/openssl/dist/crypto/asn1/x_sig.c vendor-crypto/openssl/dist/crypto/async/arch/async_null.c vendor-crypto/openssl/dist/crypto/async/arch/async_posix.c vendor-crypto/openssl/dist/crypto/async/arch/async_posix.h vendor-crypto/openssl/dist/crypto/async/async.c vendor-crypto/openssl/dist/crypto/async/async_wait.c vendor-crypto/openssl/dist/crypto/bf/asm/bf-586.pl vendor-crypto/openssl/dist/crypto/bf/bf_cfb64.c vendor-crypto/openssl/dist/crypto/bf/bf_ecb.c vendor-crypto/openssl/dist/crypto/bf/bf_enc.c vendor-crypto/openssl/dist/crypto/bf/bf_ofb64.c vendor-crypto/openssl/dist/crypto/bf/bf_skey.c vendor-crypto/openssl/dist/crypto/bio/b_addr.c vendor-crypto/openssl/dist/crypto/bio/b_dump.c vendor-crypto/openssl/dist/crypto/bio/b_print.c vendor-crypto/openssl/dist/crypto/bio/b_sock.c vendor-crypto/openssl/dist/crypto/bio/b_sock2.c vendor-crypto/openssl/dist/crypto/bio/bf_buff.c vendor-crypto/openssl/dist/crypto/bio/bf_lbuf.c vendor-crypto/openssl/dist/crypto/bio/bf_nbio.c vendor-crypto/openssl/dist/crypto/bio/bf_null.c vendor-crypto/openssl/dist/crypto/bio/bio_cb.c vendor-crypto/openssl/dist/crypto/bio/bio_lib.c vendor-crypto/openssl/dist/crypto/bio/bio_meth.c vendor-crypto/openssl/dist/crypto/bio/bss_acpt.c vendor-crypto/openssl/dist/crypto/bio/bss_bio.c vendor-crypto/openssl/dist/crypto/bio/bss_conn.c vendor-crypto/openssl/dist/crypto/bio/bss_dgram.c vendor-crypto/openssl/dist/crypto/bio/bss_fd.c vendor-crypto/openssl/dist/crypto/bio/bss_file.c vendor-crypto/openssl/dist/crypto/bio/bss_log.c vendor-crypto/openssl/dist/crypto/bio/bss_mem.c vendor-crypto/openssl/dist/crypto/bio/bss_null.c vendor-crypto/openssl/dist/crypto/bio/bss_sock.c vendor-crypto/openssl/dist/crypto/blake2/blake2b.c vendor-crypto/openssl/dist/crypto/blake2/blake2s.c vendor-crypto/openssl/dist/crypto/blake2/m_blake2b.c vendor-crypto/openssl/dist/crypto/blake2/m_blake2s.c vendor-crypto/openssl/dist/crypto/bn/README.pod vendor-crypto/openssl/dist/crypto/bn/asm/armv4-gf2m.pl vendor-crypto/openssl/dist/crypto/bn/asm/armv4-mont.pl vendor-crypto/openssl/dist/crypto/bn/asm/armv8-mont.pl vendor-crypto/openssl/dist/crypto/bn/asm/bn-586.pl vendor-crypto/openssl/dist/crypto/bn/asm/c64xplus-gf2m.pl vendor-crypto/openssl/dist/crypto/bn/asm/co-586.pl vendor-crypto/openssl/dist/crypto/bn/asm/ia64-mont.pl vendor-crypto/openssl/dist/crypto/bn/asm/mips-mont.pl vendor-crypto/openssl/dist/crypto/bn/asm/mips.pl vendor-crypto/openssl/dist/crypto/bn/asm/parisc-mont.pl vendor-crypto/openssl/dist/crypto/bn/asm/ppc-mont.pl vendor-crypto/openssl/dist/crypto/bn/asm/ppc.pl vendor-crypto/openssl/dist/crypto/bn/asm/ppc64-mont.pl vendor-crypto/openssl/dist/crypto/bn/asm/rsaz-avx2.pl vendor-crypto/openssl/dist/crypto/bn/asm/rsaz-x86_64.pl vendor-crypto/openssl/dist/crypto/bn/asm/s390x-gf2m.pl vendor-crypto/openssl/dist/crypto/bn/asm/s390x-mont.pl vendor-crypto/openssl/dist/crypto/bn/asm/s390x.S vendor-crypto/openssl/dist/crypto/bn/asm/sparct4-mont.pl vendor-crypto/openssl/dist/crypto/bn/asm/sparcv9-gf2m.pl vendor-crypto/openssl/dist/crypto/bn/asm/sparcv9-mont.pl vendor-crypto/openssl/dist/crypto/bn/asm/sparcv9a-mont.pl vendor-crypto/openssl/dist/crypto/bn/asm/via-mont.pl vendor-crypto/openssl/dist/crypto/bn/asm/vis3-mont.pl vendor-crypto/openssl/dist/crypto/bn/asm/x86-gf2m.pl vendor-crypto/openssl/dist/crypto/bn/asm/x86-mont.pl vendor-crypto/openssl/dist/crypto/bn/asm/x86_64-gcc.c vendor-crypto/openssl/dist/crypto/bn/asm/x86_64-gf2m.pl vendor-crypto/openssl/dist/crypto/bn/asm/x86_64-mont.pl vendor-crypto/openssl/dist/crypto/bn/asm/x86_64-mont5.pl vendor-crypto/openssl/dist/crypto/bn/bn_add.c vendor-crypto/openssl/dist/crypto/bn/bn_asm.c vendor-crypto/openssl/dist/crypto/bn/bn_blind.c vendor-crypto/openssl/dist/crypto/bn/bn_ctx.c vendor-crypto/openssl/dist/crypto/bn/bn_depr.c vendor-crypto/openssl/dist/crypto/bn/bn_dh.c vendor-crypto/openssl/dist/crypto/bn/bn_div.c vendor-crypto/openssl/dist/crypto/bn/bn_exp.c vendor-crypto/openssl/dist/crypto/bn/bn_exp2.c vendor-crypto/openssl/dist/crypto/bn/bn_gcd.c vendor-crypto/openssl/dist/crypto/bn/bn_gf2m.c vendor-crypto/openssl/dist/crypto/bn/bn_intern.c vendor-crypto/openssl/dist/crypto/bn/bn_kron.c vendor-crypto/openssl/dist/crypto/bn/bn_lib.c vendor-crypto/openssl/dist/crypto/bn/bn_mod.c vendor-crypto/openssl/dist/crypto/bn/bn_mont.c vendor-crypto/openssl/dist/crypto/bn/bn_mpi.c vendor-crypto/openssl/dist/crypto/bn/bn_mul.c vendor-crypto/openssl/dist/crypto/bn/bn_nist.c vendor-crypto/openssl/dist/crypto/bn/bn_prime.c vendor-crypto/openssl/dist/crypto/bn/bn_prime.h vendor-crypto/openssl/dist/crypto/bn/bn_print.c vendor-crypto/openssl/dist/crypto/bn/bn_rand.c vendor-crypto/openssl/dist/crypto/bn/bn_recp.c vendor-crypto/openssl/dist/crypto/bn/bn_shift.c vendor-crypto/openssl/dist/crypto/bn/bn_sqr.c vendor-crypto/openssl/dist/crypto/bn/bn_sqrt.c vendor-crypto/openssl/dist/crypto/bn/bn_srp.c vendor-crypto/openssl/dist/crypto/bn/bn_word.c vendor-crypto/openssl/dist/crypto/bn/bn_x931p.c vendor-crypto/openssl/dist/crypto/bn/build.info vendor-crypto/openssl/dist/crypto/bn/rsaz_exp.h vendor-crypto/openssl/dist/crypto/c64xpluscpuid.pl vendor-crypto/openssl/dist/crypto/camellia/asm/cmll-x86.pl vendor-crypto/openssl/dist/crypto/camellia/asm/cmll-x86_64.pl vendor-crypto/openssl/dist/crypto/camellia/asm/cmllt4-sparcv9.pl vendor-crypto/openssl/dist/crypto/camellia/camellia.c vendor-crypto/openssl/dist/crypto/camellia/cmll_ecb.c vendor-crypto/openssl/dist/crypto/camellia/cmll_misc.c vendor-crypto/openssl/dist/crypto/cast/asm/cast-586.pl vendor-crypto/openssl/dist/crypto/cast/c_cfb64.c vendor-crypto/openssl/dist/crypto/cast/c_ecb.c vendor-crypto/openssl/dist/crypto/cast/c_enc.c vendor-crypto/openssl/dist/crypto/cast/c_ofb64.c vendor-crypto/openssl/dist/crypto/cast/c_skey.c vendor-crypto/openssl/dist/crypto/chacha/asm/chacha-armv4.pl vendor-crypto/openssl/dist/crypto/chacha/asm/chacha-armv8.pl vendor-crypto/openssl/dist/crypto/chacha/asm/chacha-c64xplus.pl vendor-crypto/openssl/dist/crypto/chacha/asm/chacha-ppc.pl vendor-crypto/openssl/dist/crypto/chacha/asm/chacha-s390x.pl vendor-crypto/openssl/dist/crypto/chacha/asm/chacha-x86.pl vendor-crypto/openssl/dist/crypto/chacha/asm/chacha-x86_64.pl vendor-crypto/openssl/dist/crypto/chacha/chacha_enc.c vendor-crypto/openssl/dist/crypto/cmac/cm_ameth.c vendor-crypto/openssl/dist/crypto/cmac/cm_pmeth.c vendor-crypto/openssl/dist/crypto/cms/cms_asn1.c vendor-crypto/openssl/dist/crypto/cms/cms_att.c vendor-crypto/openssl/dist/crypto/cms/cms_cd.c vendor-crypto/openssl/dist/crypto/cms/cms_dd.c vendor-crypto/openssl/dist/crypto/cms/cms_enc.c vendor-crypto/openssl/dist/crypto/cms/cms_env.c vendor-crypto/openssl/dist/crypto/cms/cms_ess.c vendor-crypto/openssl/dist/crypto/cms/cms_io.c vendor-crypto/openssl/dist/crypto/cms/cms_kari.c vendor-crypto/openssl/dist/crypto/cms/cms_lib.c vendor-crypto/openssl/dist/crypto/cms/cms_pwri.c vendor-crypto/openssl/dist/crypto/cms/cms_sd.c vendor-crypto/openssl/dist/crypto/cms/cms_smime.c vendor-crypto/openssl/dist/crypto/comp/c_zlib.c vendor-crypto/openssl/dist/crypto/comp/comp_lib.c vendor-crypto/openssl/dist/crypto/conf/conf_def.c vendor-crypto/openssl/dist/crypto/conf/conf_def.h vendor-crypto/openssl/dist/crypto/conf/conf_lib.c vendor-crypto/openssl/dist/crypto/conf/conf_mall.c vendor-crypto/openssl/dist/crypto/conf/conf_ssl.c vendor-crypto/openssl/dist/crypto/cryptlib.c vendor-crypto/openssl/dist/crypto/ct/ct_b64.c vendor-crypto/openssl/dist/crypto/ct/ct_oct.c vendor-crypto/openssl/dist/crypto/ct/ct_policy.c vendor-crypto/openssl/dist/crypto/ct/ct_prn.c vendor-crypto/openssl/dist/crypto/ct/ct_sct.c vendor-crypto/openssl/dist/crypto/ct/ct_sct_ctx.c vendor-crypto/openssl/dist/crypto/ct/ct_vfy.c vendor-crypto/openssl/dist/crypto/ct/ct_x509v3.c vendor-crypto/openssl/dist/crypto/ctype.c vendor-crypto/openssl/dist/crypto/des/asm/crypt586.pl vendor-crypto/openssl/dist/crypto/des/asm/des-586.pl vendor-crypto/openssl/dist/crypto/des/asm/des_enc.m4 vendor-crypto/openssl/dist/crypto/des/asm/dest4-sparcv9.pl vendor-crypto/openssl/dist/crypto/des/cbc_cksm.c vendor-crypto/openssl/dist/crypto/des/cfb64ede.c vendor-crypto/openssl/dist/crypto/des/cfb64enc.c vendor-crypto/openssl/dist/crypto/des/cfb_enc.c vendor-crypto/openssl/dist/crypto/des/des_enc.c vendor-crypto/openssl/dist/crypto/des/ecb3_enc.c vendor-crypto/openssl/dist/crypto/des/ecb_enc.c vendor-crypto/openssl/dist/crypto/des/fcrypt.c vendor-crypto/openssl/dist/crypto/des/fcrypt_b.c vendor-crypto/openssl/dist/crypto/des/ncbc_enc.c vendor-crypto/openssl/dist/crypto/des/ofb64ede.c vendor-crypto/openssl/dist/crypto/des/ofb64enc.c vendor-crypto/openssl/dist/crypto/des/ofb_enc.c vendor-crypto/openssl/dist/crypto/des/pcbc_enc.c vendor-crypto/openssl/dist/crypto/des/qud_cksm.c vendor-crypto/openssl/dist/crypto/des/set_key.c vendor-crypto/openssl/dist/crypto/des/str2key.c vendor-crypto/openssl/dist/crypto/des/xcbc_enc.c vendor-crypto/openssl/dist/crypto/dh/dh_ameth.c vendor-crypto/openssl/dist/crypto/dh/dh_asn1.c vendor-crypto/openssl/dist/crypto/dh/dh_check.c vendor-crypto/openssl/dist/crypto/dh/dh_gen.c vendor-crypto/openssl/dist/crypto/dh/dh_key.c vendor-crypto/openssl/dist/crypto/dh/dh_lib.c vendor-crypto/openssl/dist/crypto/dh/dh_meth.c vendor-crypto/openssl/dist/crypto/dh/dh_pmeth.c vendor-crypto/openssl/dist/crypto/dh/dh_rfc5114.c vendor-crypto/openssl/dist/crypto/dh/dh_rfc7919.c vendor-crypto/openssl/dist/crypto/dllmain.c vendor-crypto/openssl/dist/crypto/dsa/dsa_ameth.c vendor-crypto/openssl/dist/crypto/dsa/dsa_asn1.c vendor-crypto/openssl/dist/crypto/dsa/dsa_gen.c vendor-crypto/openssl/dist/crypto/dsa/dsa_key.c vendor-crypto/openssl/dist/crypto/dsa/dsa_lib.c vendor-crypto/openssl/dist/crypto/dsa/dsa_meth.c vendor-crypto/openssl/dist/crypto/dsa/dsa_ossl.c vendor-crypto/openssl/dist/crypto/dsa/dsa_pmeth.c vendor-crypto/openssl/dist/crypto/dsa/dsa_sign.c vendor-crypto/openssl/dist/crypto/dsa/dsa_vrf.c vendor-crypto/openssl/dist/crypto/dso/dso_dl.c vendor-crypto/openssl/dist/crypto/dso/dso_dlfcn.c vendor-crypto/openssl/dist/crypto/dso/dso_lib.c vendor-crypto/openssl/dist/crypto/dso/dso_openssl.c vendor-crypto/openssl/dist/crypto/ec/asm/ecp_nistz256-armv4.pl vendor-crypto/openssl/dist/crypto/ec/asm/ecp_nistz256-armv8.pl vendor-crypto/openssl/dist/crypto/ec/asm/ecp_nistz256-avx2.pl vendor-crypto/openssl/dist/crypto/ec/asm/ecp_nistz256-ppc64.pl vendor-crypto/openssl/dist/crypto/ec/asm/ecp_nistz256-sparcv9.pl vendor-crypto/openssl/dist/crypto/ec/asm/ecp_nistz256-x86.pl vendor-crypto/openssl/dist/crypto/ec/asm/ecp_nistz256-x86_64.pl vendor-crypto/openssl/dist/crypto/ec/asm/x25519-ppc64.pl vendor-crypto/openssl/dist/crypto/ec/asm/x25519-x86_64.pl vendor-crypto/openssl/dist/crypto/ec/curve25519.c vendor-crypto/openssl/dist/crypto/ec/curve448/arch_32/arch_intrinsics.h vendor-crypto/openssl/dist/crypto/ec/curve448/arch_32/f_impl.h vendor-crypto/openssl/dist/crypto/ec/curve448/curve448.c vendor-crypto/openssl/dist/crypto/ec/curve448/curve448utils.h vendor-crypto/openssl/dist/crypto/ec/curve448/ed448.h vendor-crypto/openssl/dist/crypto/ec/curve448/eddsa.c vendor-crypto/openssl/dist/crypto/ec/curve448/field.h vendor-crypto/openssl/dist/crypto/ec/curve448/point_448.h vendor-crypto/openssl/dist/crypto/ec/curve448/word.h vendor-crypto/openssl/dist/crypto/ec/ec2_oct.c vendor-crypto/openssl/dist/crypto/ec/ec2_smpl.c vendor-crypto/openssl/dist/crypto/ec/ec_ameth.c vendor-crypto/openssl/dist/crypto/ec/ec_asn1.c vendor-crypto/openssl/dist/crypto/ec/ec_check.c vendor-crypto/openssl/dist/crypto/ec/ec_curve.c vendor-crypto/openssl/dist/crypto/ec/ec_cvt.c vendor-crypto/openssl/dist/crypto/ec/ec_key.c vendor-crypto/openssl/dist/crypto/ec/ec_kmeth.c vendor-crypto/openssl/dist/crypto/ec/ec_lib.c vendor-crypto/openssl/dist/crypto/ec/ec_mult.c vendor-crypto/openssl/dist/crypto/ec/ec_oct.c vendor-crypto/openssl/dist/crypto/ec/ec_pmeth.c vendor-crypto/openssl/dist/crypto/ec/ec_print.c vendor-crypto/openssl/dist/crypto/ec/ecdh_kdf.c vendor-crypto/openssl/dist/crypto/ec/ecdh_ossl.c vendor-crypto/openssl/dist/crypto/ec/ecdsa_ossl.c vendor-crypto/openssl/dist/crypto/ec/ecdsa_sign.c vendor-crypto/openssl/dist/crypto/ec/ecdsa_vrf.c vendor-crypto/openssl/dist/crypto/ec/ecp_mont.c vendor-crypto/openssl/dist/crypto/ec/ecp_nist.c vendor-crypto/openssl/dist/crypto/ec/ecp_nistp224.c vendor-crypto/openssl/dist/crypto/ec/ecp_nistp256.c vendor-crypto/openssl/dist/crypto/ec/ecp_nistp521.c vendor-crypto/openssl/dist/crypto/ec/ecp_nistputil.c vendor-crypto/openssl/dist/crypto/ec/ecp_nistz256.c vendor-crypto/openssl/dist/crypto/ec/ecp_oct.c vendor-crypto/openssl/dist/crypto/ec/ecp_smpl.c vendor-crypto/openssl/dist/crypto/ec/ecx_meth.c vendor-crypto/openssl/dist/crypto/engine/README vendor-crypto/openssl/dist/crypto/engine/eng_all.c vendor-crypto/openssl/dist/crypto/engine/eng_cnf.c vendor-crypto/openssl/dist/crypto/engine/eng_ctrl.c vendor-crypto/openssl/dist/crypto/engine/eng_devcrypto.c vendor-crypto/openssl/dist/crypto/engine/eng_dyn.c vendor-crypto/openssl/dist/crypto/engine/eng_fat.c vendor-crypto/openssl/dist/crypto/engine/eng_init.c vendor-crypto/openssl/dist/crypto/engine/eng_lib.c vendor-crypto/openssl/dist/crypto/engine/eng_list.c vendor-crypto/openssl/dist/crypto/engine/eng_openssl.c vendor-crypto/openssl/dist/crypto/engine/eng_pkey.c vendor-crypto/openssl/dist/crypto/engine/eng_rdrand.c vendor-crypto/openssl/dist/crypto/engine/eng_table.c vendor-crypto/openssl/dist/crypto/engine/tb_asnmth.c vendor-crypto/openssl/dist/crypto/engine/tb_cipher.c vendor-crypto/openssl/dist/crypto/engine/tb_dh.c vendor-crypto/openssl/dist/crypto/engine/tb_digest.c vendor-crypto/openssl/dist/crypto/engine/tb_dsa.c vendor-crypto/openssl/dist/crypto/engine/tb_eckey.c vendor-crypto/openssl/dist/crypto/engine/tb_pkmeth.c vendor-crypto/openssl/dist/crypto/engine/tb_rand.c vendor-crypto/openssl/dist/crypto/engine/tb_rsa.c vendor-crypto/openssl/dist/crypto/err/err.c vendor-crypto/openssl/dist/crypto/err/err_all.c vendor-crypto/openssl/dist/crypto/err/openssl.txt vendor-crypto/openssl/dist/crypto/evp/bio_md.c vendor-crypto/openssl/dist/crypto/evp/bio_ok.c vendor-crypto/openssl/dist/crypto/evp/c_allc.c vendor-crypto/openssl/dist/crypto/evp/c_alld.c vendor-crypto/openssl/dist/crypto/evp/cmeth_lib.c vendor-crypto/openssl/dist/crypto/evp/digest.c vendor-crypto/openssl/dist/crypto/evp/e_aes.c vendor-crypto/openssl/dist/crypto/evp/e_aes_cbc_hmac_sha1.c vendor-crypto/openssl/dist/crypto/evp/e_aes_cbc_hmac_sha256.c vendor-crypto/openssl/dist/crypto/evp/e_aria.c vendor-crypto/openssl/dist/crypto/evp/e_bf.c vendor-crypto/openssl/dist/crypto/evp/e_camellia.c vendor-crypto/openssl/dist/crypto/evp/e_cast.c vendor-crypto/openssl/dist/crypto/evp/e_chacha20_poly1305.c vendor-crypto/openssl/dist/crypto/evp/e_des.c vendor-crypto/openssl/dist/crypto/evp/e_des3.c vendor-crypto/openssl/dist/crypto/evp/e_idea.c vendor-crypto/openssl/dist/crypto/evp/e_null.c vendor-crypto/openssl/dist/crypto/evp/e_rc2.c vendor-crypto/openssl/dist/crypto/evp/e_rc4.c vendor-crypto/openssl/dist/crypto/evp/e_rc4_hmac_md5.c vendor-crypto/openssl/dist/crypto/evp/e_rc5.c vendor-crypto/openssl/dist/crypto/evp/e_seed.c vendor-crypto/openssl/dist/crypto/evp/e_sm4.c vendor-crypto/openssl/dist/crypto/evp/e_xcbc_d.c vendor-crypto/openssl/dist/crypto/evp/encode.c vendor-crypto/openssl/dist/crypto/evp/evp_enc.c vendor-crypto/openssl/dist/crypto/evp/evp_err.c vendor-crypto/openssl/dist/crypto/evp/evp_lib.c vendor-crypto/openssl/dist/crypto/evp/evp_pbe.c vendor-crypto/openssl/dist/crypto/evp/evp_pkey.c vendor-crypto/openssl/dist/crypto/evp/m_md2.c vendor-crypto/openssl/dist/crypto/evp/m_md4.c vendor-crypto/openssl/dist/crypto/evp/m_md5.c vendor-crypto/openssl/dist/crypto/evp/m_md5_sha1.c vendor-crypto/openssl/dist/crypto/evp/m_mdc2.c vendor-crypto/openssl/dist/crypto/evp/m_null.c vendor-crypto/openssl/dist/crypto/evp/m_ripemd.c vendor-crypto/openssl/dist/crypto/evp/m_sha1.c vendor-crypto/openssl/dist/crypto/evp/m_sha3.c vendor-crypto/openssl/dist/crypto/evp/m_sigver.c vendor-crypto/openssl/dist/crypto/evp/m_wp.c vendor-crypto/openssl/dist/crypto/evp/names.c vendor-crypto/openssl/dist/crypto/evp/p5_crpt.c vendor-crypto/openssl/dist/crypto/evp/p5_crpt2.c vendor-crypto/openssl/dist/crypto/evp/p_lib.c vendor-crypto/openssl/dist/crypto/evp/p_sign.c vendor-crypto/openssl/dist/crypto/evp/p_verify.c vendor-crypto/openssl/dist/crypto/evp/pmeth_fn.c vendor-crypto/openssl/dist/crypto/evp/pmeth_gn.c vendor-crypto/openssl/dist/crypto/evp/pmeth_lib.c vendor-crypto/openssl/dist/crypto/ex_data.c vendor-crypto/openssl/dist/crypto/hmac/hm_ameth.c vendor-crypto/openssl/dist/crypto/hmac/hm_pmeth.c vendor-crypto/openssl/dist/crypto/hmac/hmac.c vendor-crypto/openssl/dist/crypto/idea/i_cbc.c vendor-crypto/openssl/dist/crypto/idea/i_cfb64.c vendor-crypto/openssl/dist/crypto/idea/i_ecb.c vendor-crypto/openssl/dist/crypto/idea/i_ofb64.c vendor-crypto/openssl/dist/crypto/idea/i_skey.c vendor-crypto/openssl/dist/crypto/init.c vendor-crypto/openssl/dist/crypto/kdf/hkdf.c vendor-crypto/openssl/dist/crypto/kdf/scrypt.c vendor-crypto/openssl/dist/crypto/kdf/tls1_prf.c vendor-crypto/openssl/dist/crypto/lhash/lh_stats.c vendor-crypto/openssl/dist/crypto/lhash/lhash.c vendor-crypto/openssl/dist/crypto/md4/md4_dgst.c vendor-crypto/openssl/dist/crypto/md5/asm/md5-586.pl vendor-crypto/openssl/dist/crypto/md5/asm/md5-sparcv9.pl vendor-crypto/openssl/dist/crypto/md5/asm/md5-x86_64.pl vendor-crypto/openssl/dist/crypto/md5/md5_dgst.c vendor-crypto/openssl/dist/crypto/mem.c vendor-crypto/openssl/dist/crypto/mips_arch.h vendor-crypto/openssl/dist/crypto/modes/asm/aesni-gcm-x86_64.pl vendor-crypto/openssl/dist/crypto/modes/asm/ghash-armv4.pl vendor-crypto/openssl/dist/crypto/modes/asm/ghash-c64xplus.pl vendor-crypto/openssl/dist/crypto/modes/asm/ghash-ia64.pl vendor-crypto/openssl/dist/crypto/modes/asm/ghash-parisc.pl vendor-crypto/openssl/dist/crypto/modes/asm/ghash-s390x.pl vendor-crypto/openssl/dist/crypto/modes/asm/ghash-sparcv9.pl vendor-crypto/openssl/dist/crypto/modes/asm/ghash-x86.pl vendor-crypto/openssl/dist/crypto/modes/asm/ghash-x86_64.pl vendor-crypto/openssl/dist/crypto/modes/asm/ghashp8-ppc.pl vendor-crypto/openssl/dist/crypto/modes/asm/ghashv8-armx.pl vendor-crypto/openssl/dist/crypto/modes/cbc128.c vendor-crypto/openssl/dist/crypto/modes/ccm128.c vendor-crypto/openssl/dist/crypto/modes/cfb128.c vendor-crypto/openssl/dist/crypto/modes/ctr128.c vendor-crypto/openssl/dist/crypto/modes/cts128.c vendor-crypto/openssl/dist/crypto/modes/gcm128.c vendor-crypto/openssl/dist/crypto/modes/ocb128.c vendor-crypto/openssl/dist/crypto/modes/ofb128.c vendor-crypto/openssl/dist/crypto/modes/xts128.c vendor-crypto/openssl/dist/crypto/objects/o_names.c vendor-crypto/openssl/dist/crypto/objects/obj_dat.c vendor-crypto/openssl/dist/crypto/objects/obj_dat.h vendor-crypto/openssl/dist/crypto/objects/obj_lib.c vendor-crypto/openssl/dist/crypto/objects/obj_xref.h vendor-crypto/openssl/dist/crypto/objects/objects.txt vendor-crypto/openssl/dist/crypto/ocsp/ocsp_asn.c vendor-crypto/openssl/dist/crypto/ocsp/ocsp_cl.c vendor-crypto/openssl/dist/crypto/ocsp/ocsp_ext.c vendor-crypto/openssl/dist/crypto/ocsp/ocsp_ht.c vendor-crypto/openssl/dist/crypto/ocsp/ocsp_lib.c vendor-crypto/openssl/dist/crypto/ocsp/ocsp_prn.c vendor-crypto/openssl/dist/crypto/ocsp/ocsp_srv.c vendor-crypto/openssl/dist/crypto/ocsp/ocsp_vfy.c vendor-crypto/openssl/dist/crypto/ocsp/v3_ocsp.c vendor-crypto/openssl/dist/crypto/pariscid.pl vendor-crypto/openssl/dist/crypto/pem/pem_all.c vendor-crypto/openssl/dist/crypto/pem/pem_lib.c vendor-crypto/openssl/dist/crypto/pem/pem_pkey.c vendor-crypto/openssl/dist/crypto/pem/pvkfmt.c vendor-crypto/openssl/dist/crypto/perlasm/README vendor-crypto/openssl/dist/crypto/perlasm/arm-xlate.pl vendor-crypto/openssl/dist/crypto/perlasm/ppc-xlate.pl vendor-crypto/openssl/dist/crypto/perlasm/x86_64-xlate.pl vendor-crypto/openssl/dist/crypto/pkcs12/p12_add.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_asn.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_attr.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_crt.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_init.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_mutl.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_npas.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_p8e.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_sbag.c vendor-crypto/openssl/dist/crypto/pkcs7/pk7_lib.c vendor-crypto/openssl/dist/crypto/poly1305/asm/poly1305-armv4.pl vendor-crypto/openssl/dist/crypto/poly1305/asm/poly1305-armv8.pl vendor-crypto/openssl/dist/crypto/poly1305/asm/poly1305-mips.pl vendor-crypto/openssl/dist/crypto/poly1305/asm/poly1305-ppc.pl vendor-crypto/openssl/dist/crypto/poly1305/asm/poly1305-ppcfp.pl vendor-crypto/openssl/dist/crypto/poly1305/asm/poly1305-s390x.pl vendor-crypto/openssl/dist/crypto/poly1305/asm/poly1305-sparcv9.pl vendor-crypto/openssl/dist/crypto/poly1305/asm/poly1305-x86.pl vendor-crypto/openssl/dist/crypto/poly1305/asm/poly1305-x86_64.pl vendor-crypto/openssl/dist/crypto/poly1305/poly1305.c vendor-crypto/openssl/dist/crypto/poly1305/poly1305_ameth.c vendor-crypto/openssl/dist/crypto/poly1305/poly1305_pmeth.c vendor-crypto/openssl/dist/crypto/ppc_arch.h vendor-crypto/openssl/dist/crypto/ppccap.c vendor-crypto/openssl/dist/crypto/ppccpuid.pl vendor-crypto/openssl/dist/crypto/rand/drbg_ctr.c vendor-crypto/openssl/dist/crypto/rand/drbg_lib.c vendor-crypto/openssl/dist/crypto/rand/rand_err.c vendor-crypto/openssl/dist/crypto/rand/rand_lib.c vendor-crypto/openssl/dist/crypto/rand/rand_unix.c vendor-crypto/openssl/dist/crypto/rc2/rc2_cbc.c vendor-crypto/openssl/dist/crypto/rc2/rc2_ecb.c vendor-crypto/openssl/dist/crypto/rc2/rc2_skey.c vendor-crypto/openssl/dist/crypto/rc2/rc2cfb64.c vendor-crypto/openssl/dist/crypto/rc2/rc2ofb64.c vendor-crypto/openssl/dist/crypto/rc4/asm/rc4-586.pl vendor-crypto/openssl/dist/crypto/rc4/asm/rc4-c64xplus.pl vendor-crypto/openssl/dist/crypto/rc4/asm/rc4-md5-x86_64.pl vendor-crypto/openssl/dist/crypto/rc4/asm/rc4-parisc.pl vendor-crypto/openssl/dist/crypto/rc4/asm/rc4-s390x.pl vendor-crypto/openssl/dist/crypto/rc4/asm/rc4-x86_64.pl vendor-crypto/openssl/dist/crypto/rc4/rc4_enc.c vendor-crypto/openssl/dist/crypto/rc4/rc4_skey.c vendor-crypto/openssl/dist/crypto/rc5/asm/rc5-586.pl vendor-crypto/openssl/dist/crypto/rc5/rc5_ecb.c vendor-crypto/openssl/dist/crypto/rc5/rc5_enc.c vendor-crypto/openssl/dist/crypto/rc5/rc5_skey.c vendor-crypto/openssl/dist/crypto/rc5/rc5cfb64.c vendor-crypto/openssl/dist/crypto/rc5/rc5ofb64.c vendor-crypto/openssl/dist/crypto/ripemd/asm/rmd-586.pl vendor-crypto/openssl/dist/crypto/ripemd/rmd_dgst.c vendor-crypto/openssl/dist/crypto/rsa/rsa_ameth.c vendor-crypto/openssl/dist/crypto/rsa/rsa_asn1.c vendor-crypto/openssl/dist/crypto/rsa/rsa_chk.c vendor-crypto/openssl/dist/crypto/rsa/rsa_crpt.c vendor-crypto/openssl/dist/crypto/rsa/rsa_gen.c vendor-crypto/openssl/dist/crypto/rsa/rsa_lib.c vendor-crypto/openssl/dist/crypto/rsa/rsa_meth.c vendor-crypto/openssl/dist/crypto/rsa/rsa_mp.c vendor-crypto/openssl/dist/crypto/rsa/rsa_oaep.c vendor-crypto/openssl/dist/crypto/rsa/rsa_ossl.c vendor-crypto/openssl/dist/crypto/rsa/rsa_pk1.c vendor-crypto/openssl/dist/crypto/rsa/rsa_pmeth.c vendor-crypto/openssl/dist/crypto/rsa/rsa_pss.c vendor-crypto/openssl/dist/crypto/rsa/rsa_sign.c vendor-crypto/openssl/dist/crypto/rsa/rsa_ssl.c vendor-crypto/openssl/dist/crypto/rsa/rsa_x931g.c vendor-crypto/openssl/dist/crypto/s390x_arch.h vendor-crypto/openssl/dist/crypto/s390xcpuid.pl vendor-crypto/openssl/dist/crypto/seed/seed.c vendor-crypto/openssl/dist/crypto/sha/asm/keccak1600-armv4.pl vendor-crypto/openssl/dist/crypto/sha/asm/keccak1600-armv8.pl vendor-crypto/openssl/dist/crypto/sha/asm/keccak1600-avx2.pl vendor-crypto/openssl/dist/crypto/sha/asm/keccak1600-avx512.pl vendor-crypto/openssl/dist/crypto/sha/asm/keccak1600-avx512vl.pl vendor-crypto/openssl/dist/crypto/sha/asm/keccak1600-c64x.pl vendor-crypto/openssl/dist/crypto/sha/asm/keccak1600-mmx.pl vendor-crypto/openssl/dist/crypto/sha/asm/keccak1600-ppc64.pl vendor-crypto/openssl/dist/crypto/sha/asm/keccak1600-s390x.pl vendor-crypto/openssl/dist/crypto/sha/asm/keccak1600-x86_64.pl vendor-crypto/openssl/dist/crypto/sha/asm/keccak1600p8-ppc.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha1-586.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha1-armv4-large.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha1-armv8.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha1-c64xplus.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha1-mb-x86_64.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha1-mips.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha1-parisc.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha1-ppc.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha1-s390x.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha1-sparcv9.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha1-sparcv9a.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha1-thumb.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha1-x86_64.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha256-586.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha256-armv4.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha256-c64xplus.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha256-mb-x86_64.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha512-586.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha512-armv4.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha512-armv8.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha512-c64xplus.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha512-mips.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha512-parisc.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha512-ppc.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha512-s390x.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha512-sparcv9.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha512-x86_64.pl vendor-crypto/openssl/dist/crypto/sha/asm/sha512p8-ppc.pl vendor-crypto/openssl/dist/crypto/sha/sha1dgst.c vendor-crypto/openssl/dist/crypto/sha/sha256.c vendor-crypto/openssl/dist/crypto/sha/sha512.c vendor-crypto/openssl/dist/crypto/siphash/siphash.c vendor-crypto/openssl/dist/crypto/siphash/siphash_ameth.c vendor-crypto/openssl/dist/crypto/siphash/siphash_pmeth.c vendor-crypto/openssl/dist/crypto/sm2/sm2_crypt.c vendor-crypto/openssl/dist/crypto/sm2/sm2_err.c vendor-crypto/openssl/dist/crypto/sm2/sm2_pmeth.c vendor-crypto/openssl/dist/crypto/sm2/sm2_sign.c vendor-crypto/openssl/dist/crypto/sm3/m_sm3.c vendor-crypto/openssl/dist/crypto/sm3/sm3.c vendor-crypto/openssl/dist/crypto/sm4/sm4.c vendor-crypto/openssl/dist/crypto/sparc_arch.h vendor-crypto/openssl/dist/crypto/sparcv9cap.c vendor-crypto/openssl/dist/crypto/srp/srp_lib.c vendor-crypto/openssl/dist/crypto/srp/srp_vfy.c vendor-crypto/openssl/dist/crypto/store/loader_file.c vendor-crypto/openssl/dist/crypto/store/store_init.c vendor-crypto/openssl/dist/crypto/store/store_lib.c vendor-crypto/openssl/dist/crypto/store/store_register.c vendor-crypto/openssl/dist/crypto/threads_none.c vendor-crypto/openssl/dist/crypto/ts/ts_asn1.c vendor-crypto/openssl/dist/crypto/ts/ts_lib.c vendor-crypto/openssl/dist/crypto/ts/ts_req_print.c vendor-crypto/openssl/dist/crypto/ts/ts_req_utils.c vendor-crypto/openssl/dist/crypto/ts/ts_rsp_print.c vendor-crypto/openssl/dist/crypto/ts/ts_rsp_sign.c vendor-crypto/openssl/dist/crypto/ts/ts_rsp_utils.c vendor-crypto/openssl/dist/crypto/ts/ts_rsp_verify.c vendor-crypto/openssl/dist/crypto/ts/ts_verify_ctx.c vendor-crypto/openssl/dist/crypto/ui/ui_lib.c vendor-crypto/openssl/dist/crypto/ui/ui_null.c vendor-crypto/openssl/dist/crypto/ui/ui_openssl.c vendor-crypto/openssl/dist/crypto/ui/ui_util.c vendor-crypto/openssl/dist/crypto/whrlpool/asm/wp-mmx.pl vendor-crypto/openssl/dist/crypto/whrlpool/asm/wp-x86_64.pl vendor-crypto/openssl/dist/crypto/whrlpool/wp_block.c vendor-crypto/openssl/dist/crypto/whrlpool/wp_dgst.c vendor-crypto/openssl/dist/crypto/x509/by_dir.c vendor-crypto/openssl/dist/crypto/x509/by_file.c vendor-crypto/openssl/dist/crypto/x509/t_x509.c vendor-crypto/openssl/dist/crypto/x509/x509_att.c vendor-crypto/openssl/dist/crypto/x509/x509_cmp.c vendor-crypto/openssl/dist/crypto/x509/x509_ext.c vendor-crypto/openssl/dist/crypto/x509/x509_lu.c vendor-crypto/openssl/dist/crypto/x509/x509_meth.c vendor-crypto/openssl/dist/crypto/x509/x509_obj.c vendor-crypto/openssl/dist/crypto/x509/x509_r2x.c vendor-crypto/openssl/dist/crypto/x509/x509_req.c vendor-crypto/openssl/dist/crypto/x509/x509_set.c vendor-crypto/openssl/dist/crypto/x509/x509_trs.c vendor-crypto/openssl/dist/crypto/x509/x509_v3.c vendor-crypto/openssl/dist/crypto/x509/x509_vfy.c vendor-crypto/openssl/dist/crypto/x509/x509_vpm.c vendor-crypto/openssl/dist/crypto/x509/x509cset.c vendor-crypto/openssl/dist/crypto/x509/x509name.c vendor-crypto/openssl/dist/crypto/x509/x509rset.c vendor-crypto/openssl/dist/crypto/x509/x_all.c vendor-crypto/openssl/dist/crypto/x509/x_attrib.c vendor-crypto/openssl/dist/crypto/x509/x_crl.c vendor-crypto/openssl/dist/crypto/x509/x_exten.c vendor-crypto/openssl/dist/crypto/x509/x_name.c vendor-crypto/openssl/dist/crypto/x509/x_pubkey.c vendor-crypto/openssl/dist/crypto/x509/x_req.c vendor-crypto/openssl/dist/crypto/x509/x_x509.c vendor-crypto/openssl/dist/crypto/x509/x_x509a.c vendor-crypto/openssl/dist/crypto/x509v3/pcy_cache.c vendor-crypto/openssl/dist/crypto/x509v3/pcy_data.c vendor-crypto/openssl/dist/crypto/x509v3/pcy_lib.c vendor-crypto/openssl/dist/crypto/x509v3/pcy_map.c vendor-crypto/openssl/dist/crypto/x509v3/pcy_node.c vendor-crypto/openssl/dist/crypto/x509v3/pcy_tree.c vendor-crypto/openssl/dist/crypto/x509v3/v3_addr.c vendor-crypto/openssl/dist/crypto/x509v3/v3_admis.h vendor-crypto/openssl/dist/crypto/x509v3/v3_alt.c vendor-crypto/openssl/dist/crypto/x509v3/v3_asid.c vendor-crypto/openssl/dist/crypto/x509v3/v3_conf.c vendor-crypto/openssl/dist/crypto/x509v3/v3_cpols.c vendor-crypto/openssl/dist/crypto/x509v3/v3_crld.c vendor-crypto/openssl/dist/crypto/x509v3/v3_ncons.c vendor-crypto/openssl/dist/crypto/x509v3/v3_purp.c vendor-crypto/openssl/dist/crypto/x509v3/v3_skey.c vendor-crypto/openssl/dist/crypto/x509v3/v3_utl.c vendor-crypto/openssl/dist/crypto/x86_64cpuid.pl vendor-crypto/openssl/dist/crypto/x86cpuid.pl vendor-crypto/openssl/dist/doc/man1/ca.pod vendor-crypto/openssl/dist/doc/man1/dgst.pod vendor-crypto/openssl/dist/doc/man1/enc.pod vendor-crypto/openssl/dist/doc/man1/rand.pod vendor-crypto/openssl/dist/doc/man1/req.pod vendor-crypto/openssl/dist/doc/man1/s_client.pod vendor-crypto/openssl/dist/doc/man1/sess_id.pod vendor-crypto/openssl/dist/doc/man1/x509.pod vendor-crypto/openssl/dist/doc/man3/ASN1_INTEGER_get_int64.pod vendor-crypto/openssl/dist/doc/man3/ASN1_TYPE_get.pod vendor-crypto/openssl/dist/doc/man3/BIO_f_buffer.pod vendor-crypto/openssl/dist/doc/man3/BIO_get_ex_new_index.pod vendor-crypto/openssl/dist/doc/man3/DTLSv1_listen.pod vendor-crypto/openssl/dist/doc/man3/EC_GROUP_copy.pod vendor-crypto/openssl/dist/doc/man3/EC_GROUP_new.pod vendor-crypto/openssl/dist/doc/man3/EC_POINT_new.pod vendor-crypto/openssl/dist/doc/man3/EVP_DigestInit.pod vendor-crypto/openssl/dist/doc/man3/EVP_DigestSignInit.pod vendor-crypto/openssl/dist/doc/man3/EVP_DigestVerifyInit.pod vendor-crypto/openssl/dist/doc/man3/EVP_EncryptInit.pod vendor-crypto/openssl/dist/doc/man3/EVP_MD_meth_new.pod vendor-crypto/openssl/dist/doc/man3/EVP_PKEY_CTX_ctrl.pod vendor-crypto/openssl/dist/doc/man3/EVP_PKEY_meth_new.pod vendor-crypto/openssl/dist/doc/man3/EVP_PKEY_new.pod vendor-crypto/openssl/dist/doc/man3/EVP_SignInit.pod vendor-crypto/openssl/dist/doc/man3/OCSP_request_add1_nonce.pod vendor-crypto/openssl/dist/doc/man3/OCSP_response_status.pod vendor-crypto/openssl/dist/doc/man3/OCSP_sendreq_new.pod vendor-crypto/openssl/dist/doc/man3/OPENSSL_malloc.pod vendor-crypto/openssl/dist/doc/man3/OPENSSL_secure_malloc.pod vendor-crypto/openssl/dist/doc/man3/PEM_bytes_read_bio.pod vendor-crypto/openssl/dist/doc/man3/PEM_read_bio_PrivateKey.pod vendor-crypto/openssl/dist/doc/man3/PEM_read_bio_ex.pod vendor-crypto/openssl/dist/doc/man3/RAND_bytes.pod vendor-crypto/openssl/dist/doc/man3/RAND_set_rand_method.pod vendor-crypto/openssl/dist/doc/man3/RSA_get0_key.pod vendor-crypto/openssl/dist/doc/man3/SSL_CTX_sess_set_get_cb.pod vendor-crypto/openssl/dist/doc/man3/SSL_CTX_set_stateless_cookie_generate_cb.pod vendor-crypto/openssl/dist/doc/man3/SSL_CTX_set_tlsext_servername_callback.pod vendor-crypto/openssl/dist/doc/man3/SSL_CTX_use_psk_identity_hint.pod vendor-crypto/openssl/dist/doc/man3/SSL_SESSION_get0_hostname.pod vendor-crypto/openssl/dist/doc/man3/SSL_accept.pod vendor-crypto/openssl/dist/doc/man3/SSL_connect.pod vendor-crypto/openssl/dist/doc/man3/SSL_do_handshake.pod vendor-crypto/openssl/dist/doc/man3/SSL_load_client_CA_file.pod vendor-crypto/openssl/dist/doc/man3/X509_LOOKUP_meth_new.pod vendor-crypto/openssl/dist/doc/man3/X509_STORE_CTX_new.pod vendor-crypto/openssl/dist/doc/man3/X509_STORE_add_cert.pod vendor-crypto/openssl/dist/doc/man3/d2i_X509.pod vendor-crypto/openssl/dist/doc/man5/config.pod vendor-crypto/openssl/dist/doc/man7/Ed25519.pod vendor-crypto/openssl/dist/doc/man7/X25519.pod vendor-crypto/openssl/dist/doc/man7/passphrase-encoding.pod vendor-crypto/openssl/dist/e_os.h vendor-crypto/openssl/dist/engines/e_afalg.c vendor-crypto/openssl/dist/engines/e_afalg.h vendor-crypto/openssl/dist/engines/e_afalg_err.h vendor-crypto/openssl/dist/engines/e_capi_err.h vendor-crypto/openssl/dist/engines/e_dasync_err.h vendor-crypto/openssl/dist/engines/e_ossltest_err.h vendor-crypto/openssl/dist/include/internal/conf.h vendor-crypto/openssl/dist/include/internal/cryptlib.h vendor-crypto/openssl/dist/include/internal/dane.h vendor-crypto/openssl/dist/include/internal/dso.h vendor-crypto/openssl/dist/include/internal/dsoerr.h vendor-crypto/openssl/dist/include/internal/err.h vendor-crypto/openssl/dist/include/internal/nelem.h vendor-crypto/openssl/dist/include/internal/numbers.h vendor-crypto/openssl/dist/include/internal/o_dir.h vendor-crypto/openssl/dist/include/internal/o_str.h vendor-crypto/openssl/dist/include/internal/refcount.h vendor-crypto/openssl/dist/include/internal/sockets.h vendor-crypto/openssl/dist/include/internal/sslconf.h vendor-crypto/openssl/dist/include/openssl/__DECC_INCLUDE_EPILOGUE.H vendor-crypto/openssl/dist/include/openssl/__DECC_INCLUDE_PROLOGUE.H vendor-crypto/openssl/dist/include/openssl/bio.h vendor-crypto/openssl/dist/include/openssl/ct.h vendor-crypto/openssl/dist/include/openssl/dsa.h vendor-crypto/openssl/dist/include/openssl/dtls1.h vendor-crypto/openssl/dist/include/openssl/evp.h vendor-crypto/openssl/dist/include/openssl/evperr.h vendor-crypto/openssl/dist/include/openssl/lhash.h vendor-crypto/openssl/dist/include/openssl/obj_mac.h vendor-crypto/openssl/dist/include/openssl/ocsp.h vendor-crypto/openssl/dist/include/openssl/opensslv.h vendor-crypto/openssl/dist/include/openssl/ossl_typ.h vendor-crypto/openssl/dist/include/openssl/randerr.h vendor-crypto/openssl/dist/include/openssl/rsa.h vendor-crypto/openssl/dist/include/openssl/sslerr.h vendor-crypto/openssl/dist/ssl/bio_ssl.c vendor-crypto/openssl/dist/ssl/d1_lib.c vendor-crypto/openssl/dist/ssl/d1_msg.c vendor-crypto/openssl/dist/ssl/d1_srtp.c vendor-crypto/openssl/dist/ssl/methods.c vendor-crypto/openssl/dist/ssl/packet.c vendor-crypto/openssl/dist/ssl/pqueue.c vendor-crypto/openssl/dist/ssl/record/README vendor-crypto/openssl/dist/ssl/record/dtls1_bitmap.c vendor-crypto/openssl/dist/ssl/record/rec_layer_d1.c vendor-crypto/openssl/dist/ssl/record/rec_layer_s3.c vendor-crypto/openssl/dist/ssl/record/ssl3_buffer.c vendor-crypto/openssl/dist/ssl/record/ssl3_record.c vendor-crypto/openssl/dist/ssl/record/ssl3_record_tls13.c vendor-crypto/openssl/dist/ssl/s3_cbc.c vendor-crypto/openssl/dist/ssl/s3_enc.c vendor-crypto/openssl/dist/ssl/s3_lib.c vendor-crypto/openssl/dist/ssl/s3_msg.c vendor-crypto/openssl/dist/ssl/ssl_asn1.c vendor-crypto/openssl/dist/ssl/ssl_cert.c vendor-crypto/openssl/dist/ssl/ssl_ciph.c vendor-crypto/openssl/dist/ssl/ssl_conf.c vendor-crypto/openssl/dist/ssl/ssl_err.c vendor-crypto/openssl/dist/ssl/ssl_init.c vendor-crypto/openssl/dist/ssl/ssl_lib.c vendor-crypto/openssl/dist/ssl/ssl_mcnf.c vendor-crypto/openssl/dist/ssl/ssl_rsa.c vendor-crypto/openssl/dist/ssl/ssl_sess.c vendor-crypto/openssl/dist/ssl/ssl_stat.c vendor-crypto/openssl/dist/ssl/ssl_txt.c vendor-crypto/openssl/dist/ssl/ssl_utst.c vendor-crypto/openssl/dist/ssl/statem/README vendor-crypto/openssl/dist/ssl/statem/extensions.c vendor-crypto/openssl/dist/ssl/statem/extensions_clnt.c vendor-crypto/openssl/dist/ssl/statem/extensions_cust.c vendor-crypto/openssl/dist/ssl/statem/extensions_srvr.c vendor-crypto/openssl/dist/ssl/statem/statem.c vendor-crypto/openssl/dist/ssl/statem/statem_clnt.c vendor-crypto/openssl/dist/ssl/statem/statem_dtls.c vendor-crypto/openssl/dist/ssl/statem/statem_lib.c vendor-crypto/openssl/dist/ssl/statem/statem_srvr.c vendor-crypto/openssl/dist/ssl/t1_enc.c vendor-crypto/openssl/dist/ssl/t1_lib.c vendor-crypto/openssl/dist/ssl/t1_trce.c vendor-crypto/openssl/dist/ssl/tls13_enc.c vendor-crypto/openssl/dist/ssl/tls_srp.c Modified: vendor-crypto/openssl/dist/CHANGES ============================================================================== --- vendor-crypto/openssl/dist/CHANGES Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/CHANGES Tue Mar 17 21:27:57 2020 (r359051) @@ -7,6 +7,73 @@ https://github.com/openssl/openssl/commits/ and pick the appropriate release branch. + Changes between 1.1.1d and 1.1.1e [17 Mar 2020] + *) Properly detect EOF while reading in libssl. Previously if we hit an EOF + while reading in libssl then we would report an error back to the + application (SSL_ERROR_SYSCALL) but errno would be 0. We now add + an error to the stack (which means we instead return SSL_ERROR_SSL) and + therefore give a hint as to what went wrong. + [Matt Caswell] + + *) Check that ed25519 and ed448 are allowed by the security level. Previously + signature algorithms not using an MD were not being checked that they were + allowed by the security level. + [Kurt Roeckx] + + *) Fixed SSL_get_servername() behaviour. The behaviour of SSL_get_servername() + was not quite right. The behaviour was not consistent between resumption + and normal handshakes, and also not quite consistent with historical + behaviour. The behaviour in various scenarios has been clarified and + it has been updated to make it match historical behaviour as closely as + possible. + [Matt Caswell] + + *) [VMS only] The header files that the VMS compilers include automatically, + __DECC_INCLUDE_PROLOGUE.H and __DECC_INCLUDE_EPILOGUE.H, use pragmas that + the C++ compiler doesn't understand. This is a shortcoming in the + compiler, but can be worked around with __cplusplus guards. + + C++ applications that use OpenSSL libraries must be compiled using the + qualifier '/NAMES=(AS_IS,SHORTENED)' to be able to use all the OpenSSL + functions. Otherwise, only functions with symbols of less than 31 + characters can be used, as the linker will not be able to successfully + resolve symbols with longer names. + [Richard Levitte] + + *) Corrected the documentation of the return values from the EVP_DigestSign* + set of functions. The documentation mentioned negative values for some + errors, but this was never the case, so the mention of negative values + was removed. + + Code that followed the documentation and thereby check with something + like 'EVP_DigestSignInit(...) <= 0' will continue to work undisturbed. + [Richard Levitte] + + *) Fixed an an overflow bug in the x64_64 Montgomery squaring procedure + used in exponentiation with 512-bit moduli. No EC algorithms are + affected. Analysis suggests that attacks against 2-prime RSA1024, + 3-prime RSA1536, and DSA1024 as a result of this defect would be very + difficult to perform and are not believed likely. Attacks against DH512 + are considered just feasible. However, for an attack the target would + have to re-use the DH512 private key, which is not recommended anyway. + Also applications directly using the low level API BN_mod_exp may be + affected if they use BN_FLG_CONSTTIME. + (CVE-2019-1551) + [Andy Polyakov] + + *) Added a new method to gather entropy on VMS, based on SYS$GET_ENTROPY. + The presence of this system service is determined at run-time. + [Richard Levitte] + + *) Added newline escaping functionality to a filename when using openssl dgst. + This output format is to replicate the output format found in the '*sum' + checksum programs. This aims to preserve backward compatibility. + [Matt Eaton, Richard Levitte, and Paul Dale] + + *) Print all values for a PKCS#12 attribute with 'openssl pkcs12', not just + the first value. + [Jon Spillett] + Changes between 1.1.1c and 1.1.1d [10 Sep 2019] *) Fixed a fork protection issue. OpenSSL 1.1.1 introduced a rewritten random @@ -633,9 +700,9 @@ bytes long. In theory it is permissible in SSLv3 - TLSv1.2 to fragment such alerts across multiple records (some of which could be empty). In practice it make no sense to send an empty alert record, or to fragment one. TLSv1.3 - prohibts this altogether and other libraries (BoringSSL, NSS) do not + prohibits this altogether and other libraries (BoringSSL, NSS) do not support this at all. Supporting it adds significant complexity to the - record layer, and its removal is unlikely to cause inter-operability + record layer, and its removal is unlikely to cause interoperability issues. [Matt Caswell] @@ -3652,7 +3719,7 @@ implementations). [Emilia Käsper, Adam Langley, Bodo Moeller (Google)] - *) Use type ossl_ssize_t instad of ssize_t which isn't available on + *) Use type ossl_ssize_t instead of ssize_t which isn't available on all platforms. Move ssize_t definition from e_os.h to the public header file e_os2.h as it now appears in public header file cms.h [Steve Henson] @@ -8373,7 +8440,7 @@ des-cbc 3624.96k 5258.21k 5530.91k *) New OCSP utility. Allows OCSP requests to be generated or read. The request can be sent to a responder and the output - parsed, outputed or printed in text form. Not complete yet: + parsed, outputted or printed in text form. Not complete yet: still needs to check the OCSP response validity. [Steve Henson] @@ -9368,7 +9435,7 @@ des-cbc 3624.96k 5258.21k 5530.91k [Andy Polyakov] *) Modified SSL library such that the verify_callback that has been set - specificly for an SSL object with SSL_set_verify() is actually being + specifically for an SSL object with SSL_set_verify() is actually being used. Before the change, a verify_callback set with this function was ignored and the verify_callback() set in the SSL_CTX at the time of the call was used. New function X509_STORE_CTX_set_verify_cb() introduced @@ -10485,10 +10552,10 @@ des-cbc 3624.96k 5258.21k 5530.91k as other interfaces in OpenSSL, like the BIO interface. NCONF_dump_* dump the internal storage of the configuration file, which is useful for debugging. All other functions take the same - arguments as the old CONF_* functions wth the exception of the + arguments as the old CONF_* functions with the exception of the first that must be a `CONF *' instead of a `LHASH *'. - To make it easer to use the new classes with the old CONF_* functions, + To make it easier to use the new classes with the old CONF_* functions, the function CONF_set_default_method is provided. [Richard Levitte] @@ -12331,7 +12398,7 @@ des-cbc 3624.96k 5258.21k 5530.91k than the old method: it now uses a modified version of Ulf's parser to read the ANSI prototypes in all header files (thus the old K&R definitions aren't needed for error creation any more) and do a better job of - translating function codes into names. The old 'ASN1 error code imbedded + translating function codes into names. The old 'ASN1 error code embedded in a comment' is no longer necessary and it doesn't use .err files which have now been deleted. Also the error code call doesn't have to appear all on one line (which resulted in some large lines...). @@ -12632,7 +12699,7 @@ des-cbc 3624.96k 5258.21k 5530.91k *) Add a useful kludge to allow package maintainers to specify compiler and other platforms details on the command line without having to patch the - Configure script everytime: One now can use ``perl Configure + Configure script every time: One now can use ``perl Configure :
'', i.e. platform ids are allowed to have details appended to them (separated by colons). This is treated as there would be a static pre-configured entry in Configure's %table under key with value Modified: vendor-crypto/openssl/dist/CONTRIBUTING ============================================================================== --- vendor-crypto/openssl/dist/CONTRIBUTING Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/CONTRIBUTING Tue Mar 17 21:27:57 2020 (r359051) @@ -58,7 +58,7 @@ guidelines: consider adding a note in CHANGES. This could be a summarising description of the change, and could explain the grander details. Have a look through existing entries for inspiration. - Please note that this is NOT simply a copy of git-log oneliners. + Please note that this is NOT simply a copy of git-log one-liners. Also note that security fixes get an entry in CHANGES. This file helps users get more in depth information of what comes with a specific release without having to sift through the higher Modified: vendor-crypto/openssl/dist/Configure ============================================================================== --- vendor-crypto/openssl/dist/Configure Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/Configure Tue Mar 17 21:27:57 2020 (r359051) @@ -1,6 +1,6 @@ #! /usr/bin/env perl # -*- mode: perl; -*- -# Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -69,7 +69,15 @@ my $usage="Usage: Configure [no- ...] [enable- # no-sse2 disables IA-32 SSE2 code in assembly modules, the above # mentioned '386' option implies this one # no- build without specified algorithm (rsa, idea, rc5, ...) -# - + compiler options are passed through +# - + All options which are unknown to the 'Configure' script are +# / passed through to the compiler. Unix-style options beginning +# with a '-' or '+' are recognized, as well as Windows-style +# options beginning with a '/'. If the option contains arguments +# separated by spaces, then the URL-style notation %20 can be +# used for the space character in order to avoid having to quote +# the option. For example, -opt%20arg gets expanded to -opt arg. +# In fact, any ASCII character can be encoded as %xx using its +# hexadecimal encoding. # -static while -static is also a pass-through compiler option (and # as such is limited to environments where it's actually # meaningful), it triggers a number configuration options, @@ -152,6 +160,10 @@ my @clang_devteam_warn = qw( -Wmissing-variable-declarations ); +my @cl_devteam_warn = qw( + /WX +); + # This adds backtrace information to the memory leak info. Is only used # when crypto-mdebug-backtrace is enabled. my $memleak_devteam_backtrace = "-rdynamic"; @@ -346,6 +358,7 @@ my @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -423,7 +436,6 @@ my %deprecated_disablables = ( "buf-freelists" => undef, "ripemd" => "rmd160", "ui" => "ui-console", - "dso" => "", # Empty string means we're silent about it ); # All of the following are disabled by default: @@ -480,6 +492,7 @@ my @disable_cascades = ( # Without position independent code, there can be no shared libraries or DSOs "pic" => [ "shared" ], "shared" => [ "dynamic-engine" ], + "dso" => [ "dynamic-engine" ], "engine" => [ "afalgeng", "devcryptoeng" ], # no-autoalginit is only useful when building non-shared @@ -520,7 +533,7 @@ while ((my $first, my $second) = (shift @list, shift @ &usage if ($#ARGV < 0); -# For the "make variables" CINCLUDES and CDEFINES, we support lists with +# For the "make variables" CPPINCLUDES and CPPDEFINES, we support lists with # platform specific list separators. Users from those platforms should # recognise those separators from how you set up the PATH to find executables. # The default is the Unix like separator, :, but as an exception, we also @@ -776,7 +789,7 @@ while (@argvcopy) { die "FIPS mode not supported\n"; } - elsif (/^[-+]/) + elsif (m|^[-+/]|) { if (/^--prefix=(.*)$/) { @@ -853,11 +866,11 @@ while (@argvcopy) { push @{$useradd{LDFLAGS}}, $_; } - elsif (/^-D(.*)$/) + elsif (m|^[-/]D(.*)$|) { push @{$useradd{CPPDEFINES}}, $1; } - elsif (/^-I(.*)$/) + elsif (m|^[-/]I(.*)$|) { push @{$useradd{CPPINCLUDES}}, $1; } @@ -867,11 +880,23 @@ while (@argvcopy) } else # common if (/^[-+]/), just pass down... { + # Treat %xx as an ASCII code (e.g. replace %20 by a space character). + # This provides a simple way to pass options with arguments separated + # by spaces without quoting (e.g. -opt%20arg translates to -opt arg). $_ =~ s/%([0-9a-f]{1,2})/chr(hex($1))/gei; push @{$useradd{CFLAGS}}, $_; push @{$useradd{CXXFLAGS}}, $_; } } + elsif (m|^/|) + { + # Treat %xx as an ASCII code (e.g. replace %20 by a space character). + # This provides a simple way to pass options with arguments separated + # by spaces without quoting (e.g. /opt%20arg translates to /opt arg). + $_ =~ s/%([0-9a-f]{1,2})/chr(hex($1))/gei; + push @{$useradd{CFLAGS}}, $_; + push @{$useradd{CXXFLAGS}}, $_; + } else { die "target already defined - $target (offending arg: $_)\n" if ($target ne ""); @@ -949,7 +974,11 @@ foreach (keys %user) { if (defined $value) { if (ref $user{$_} eq 'ARRAY') { - $user{$_} = [ split /$list_separator_re/, $value ]; + if ($_ eq 'CPPDEFINES' || $_ eq 'CPPINCLUDES') { + $user{$_} = [ split /$list_separator_re/, $value ]; + } else { + $user{$_} = [ $value ]; + } } elsif (!defined $user{$_}) { $user{$_} = $value; } @@ -1162,43 +1191,6 @@ foreach (keys %useradd) { # Allow overriding the build file name $config{build_file} = env('BUILDFILE') || $target{build_file} || "Makefile"; -my %disabled_info = (); # For configdata.pm -foreach my $what (sort keys %disabled) { - $config{options} .= " no-$what"; - - if (!grep { $what eq $_ } ( 'buildtest-c++', 'threads', 'shared', 'pic', - 'dynamic-engine', 'makedepend', - 'zlib-dynamic', 'zlib', 'sse2' )) { - (my $WHAT = uc $what) =~ s|-|_|g; - - # Fix up C macro end names - $WHAT = "RMD160" if $what eq "ripemd"; - - # fix-up crypto/directory name(s) - $what = "ripemd" if $what eq "rmd160"; - $what = "whrlpool" if $what eq "whirlpool"; - - my $macro = $disabled_info{$what}->{macro} = "OPENSSL_NO_$WHAT"; - - if ((grep { $what eq $_ } @{$config{sdirs}}) - && $what ne 'async' && $what ne 'err') { - @{$config{sdirs}} = grep { $what ne $_} @{$config{sdirs}}; - $disabled_info{$what}->{skipped} = [ catdir('crypto', $what) ]; - - if ($what ne 'engine') { - push @{$config{openssl_algorithm_defines}}, $macro; - } else { - @{$config{dirs}} = grep !/^engines$/, @{$config{dirs}}; - push @{$disabled_info{engine}->{skipped}}, catdir('engines'); - push @{$config{openssl_other_defines}}, $macro; - } - } else { - push @{$config{openssl_other_defines}}, $macro; - } - - } -} - # Make sure build_scheme is consistent. $target{build_scheme} = [ $target{build_scheme} ] if ref($target{build_scheme}) ne "ARRAY"; @@ -1288,10 +1280,8 @@ if ($target{shared_target} eq "") } if ($disabled{"dynamic-engine"}) { - push @{$config{openssl_other_defines}}, "OPENSSL_NO_DYNAMIC_ENGINE"; $config{dynamic_engines} = 0; } else { - push @{$config{openssl_other_defines}}, "OPENSSL_NO_STATIC_ENGINE"; $config{dynamic_engines} = 1; } @@ -1375,6 +1365,7 @@ unless ($disabled{asm}) { } if ($target{aes_asm_src}) { push @{$config{lib_defines}}, "AES_ASM" if ($target{aes_asm_src} =~ m/\baes-/);; + push @{$config{lib_defines}}, "AESNI_ASM" if ($target{aes_asm_src} =~ m/\baesni-/);; # aes-ctr.fake is not a real file, only indication that assembler # module implements AES_ctr32_encrypt... push @{$config{lib_defines}}, "AES_CTR_ASM" if ($target{aes_asm_src} =~ s/\s*aes-ctr\.fake//); @@ -1501,11 +1492,20 @@ if ($strict_warnings) my $wopt; my $gccver = $predefined_C{__GNUC__} // -1; - warn "WARNING --strict-warnings requires gcc[>=4] or gcc-alike" - unless $gccver >= 4; - push @strict_warnings_collection, @gcc_devteam_warn; - push @strict_warnings_collection, @clang_devteam_warn - if (defined($predefined_C{__clang__})); + if ($gccver >= 4) + { + push @strict_warnings_collection, @gcc_devteam_warn; + push @strict_warnings_collection, @clang_devteam_warn + if (defined($predefined_C{__clang__})); + } + elsif ($config{target} =~ /^VC-/) + { + push @strict_warnings_collection, @cl_devteam_warn; + } + else + { + warn "WARNING --strict-warnings requires gcc[>=4] or gcc-alike, or MSVC" + } } if (grep { $_ eq '-static' } @{$config{LDFLAGS}}) { @@ -1552,7 +1552,20 @@ unless ($disabled{afalgeng}) { } } -push @{$config{openssl_other_defines}}, "OPENSSL_NO_AFALGENG" if ($disabled{afalgeng}); +unless ($disabled{devcryptoeng}) { + if ($target =~ m/^BSD/) { + my $maxver = 5*100 + 7; + my $sysstr = `uname -s`; + my $verstr = `uname -r`; + $sysstr =~ s|\R$||; + $verstr =~ s|\R$||; + my ($ma, $mi, @rest) = split m|\.|, $verstr; + my $ver = $ma*100 + $mi; + if ($sysstr eq 'OpenBSD' && $ver >= $maxver) { + disable('too-new-kernel', 'devcryptoeng'); + } + } +} # Get the extra flags used when building shared libraries and modules. We # do this late because some of them depend on %disabled. @@ -1596,6 +1609,49 @@ $target{module_ldflags} = $target{shared_ldflag} unles } # ALL MODIFICATIONS TO %disabled, %config and %target MUST BE DONE FROM HERE ON + +my %disabled_info = (); # For configdata.pm +foreach my $what (sort keys %disabled) { + $config{options} .= " no-$what"; + + if (!grep { $what eq $_ } ( 'buildtest-c++', 'threads', 'shared', 'pic', + 'dynamic-engine', 'makedepend', + 'zlib-dynamic', 'zlib', 'sse2' )) { + (my $WHAT = uc $what) =~ s|-|_|g; + + # Fix up C macro end names + $WHAT = "RMD160" if $what eq "ripemd"; + + # fix-up crypto/directory name(s) + $what = "ripemd" if $what eq "rmd160"; + $what = "whrlpool" if $what eq "whirlpool"; + + my $macro = $disabled_info{$what}->{macro} = "OPENSSL_NO_$WHAT"; + + if ((grep { $what eq $_ } @{$config{sdirs}}) + && $what ne 'async' && $what ne 'err' && $what ne 'dso') { + @{$config{sdirs}} = grep { $what ne $_} @{$config{sdirs}}; + $disabled_info{$what}->{skipped} = [ catdir('crypto', $what) ]; + + if ($what ne 'engine') { + push @{$config{openssl_algorithm_defines}}, $macro; + } else { + @{$config{dirs}} = grep !/^engines$/, @{$config{dirs}}; + push @{$disabled_info{engine}->{skipped}}, catdir('engines'); + push @{$config{openssl_other_defines}}, $macro; + } + } else { + push @{$config{openssl_other_defines}}, $macro; + } + + } +} + +if ($disabled{"dynamic-engine"}) { + push @{$config{openssl_other_defines}}, "OPENSSL_NO_DYNAMIC_ENGINE"; +} else { + push @{$config{openssl_other_defines}}, "OPENSSL_NO_STATIC_ENGINE"; +} # If we use the unified build, collect information from build.info files my %unified_info = (); Modified: vendor-crypto/openssl/dist/FREEBSD-upgrade ============================================================================== --- vendor-crypto/openssl/dist/FREEBSD-upgrade Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/FREEBSD-upgrade Tue Mar 17 21:27:57 2020 (r359051) @@ -11,7 +11,7 @@ First, read http://wiki.freebsd.org/SubversionPrimer/V # Xlist setenv XLIST /FreeBSD/work/openssl/svn-FREEBSD-files/FREEBSD-Xlist setenv FSVN "svn+ssh://repo.freebsd.org/base" -setenv OSSLVER 1.1.1d +setenv OSSLVER 1.1.1e ###setenv OSSLTAG v`echo ${OSSLVER} | tr . _` Modified: vendor-crypto/openssl/dist/INSTALL ============================================================================== --- vendor-crypto/openssl/dist/INSTALL Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/INSTALL Tue Mar 17 21:27:57 2020 (r359051) @@ -351,6 +351,9 @@ Don't build support for datagram based BIOs. Selecting this option will also force the disabling of DTLS. + no-dso + Don't build support for loading Dynamic Shared Objects. + enable-devcryptoeng Build the /dev/crypto engine. It is automatically selected on BSD implementations, in which case it can be disabled with @@ -605,11 +608,20 @@ Take note of the VAR=value documentation below and how these flags interact with those variables. - -xxx, +xxx + -xxx, +xxx, /xxx Additional options that are not otherwise recognised are - passed through as they are to the compiler as well. Again, - consult your compiler documentation. + passed through as they are to the compiler as well. + Unix-style options beginning with a '-' or '+' and + Windows-style options beginning with a '/' are recognized. + Again, consult your compiler documentation. + If the option contains arguments separated by spaces, + then the URL-style notation %20 can be used for the space + character in order to avoid having to quote the option. + For example, -opt%20arg gets expanded to -opt arg. + In fact, any ASCII character can be encoded as %xx using its + hexadecimal encoding. + Take note of the VAR=value documentation below and how these flags interact with those variables. @@ -1071,7 +1083,7 @@ HASHBANGPERL The command string for the Perl executable to insert in the - #! line of perl scripts that will be publically installed. + #! line of perl scripts that will be publicly installed. Default: /usr/bin/env perl Note: the value of this variable is added to the same scripts on all platforms, but it's only relevant on Unix-like platforms. Modified: vendor-crypto/openssl/dist/NEWS ============================================================================== --- vendor-crypto/openssl/dist/NEWS Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/NEWS Tue Mar 17 21:27:57 2020 (r359051) @@ -5,6 +5,11 @@ This file gives a brief overview of the major changes between each OpenSSL release. For more details please read the CHANGES file. + Major changes between OpenSSL 1.1.1d and OpenSSL 1.1.1e [17 Mar 2020] + + o Fixed an overflow bug in the x64_64 Montgomery squaring procedure + used in exponentiation with 512-bit moduli (CVE-2019-1551) + Major changes between OpenSSL 1.1.1c and OpenSSL 1.1.1d [10 Sep 2019] o Fixed a fork protection issue (CVE-2019-1549) Modified: vendor-crypto/openssl/dist/README ============================================================================== --- vendor-crypto/openssl/dist/README Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/README Tue Mar 17 21:27:57 2020 (r359051) @@ -1,5 +1,5 @@ - OpenSSL 1.1.1d 10 Sep 2019 + OpenSSL 1.1.1e 17 Mar 2020 Copyright (c) 1998-2019 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson Modified: vendor-crypto/openssl/dist/apps/apps.c ============================================================================== --- vendor-crypto/openssl/dist/apps/apps.c Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/apps/apps.c Tue Mar 17 21:27:57 2020 (r359051) @@ -1962,26 +1962,46 @@ unsigned char *next_protos_parse(size_t *outlen, const size_t len; unsigned char *out; size_t i, start = 0; + size_t skipped = 0; len = strlen(in); - if (len >= 65535) + if (len == 0 || len >= 65535) return NULL; - out = app_malloc(strlen(in) + 1, "NPN buffer"); + out = app_malloc(len + 1, "NPN buffer"); for (i = 0; i <= len; ++i) { if (i == len || in[i] == ',') { + /* + * Zero-length ALPN elements are invalid on the wire, we could be + * strict and reject the entire string, but just ignoring extra + * commas seems harmless and more friendly. + * + * Every comma we skip in this way puts the input buffer another + * byte ahead of the output buffer, so all stores into the output + * buffer need to be decremented by the number commas skipped. + */ + if (i == start) { + ++start; + ++skipped; + continue; + } if (i - start > 255) { OPENSSL_free(out); return NULL; } - out[start] = (unsigned char)(i - start); + out[start-skipped] = (unsigned char)(i - start); start = i + 1; } else { - out[i + 1] = in[i]; + out[i + 1 - skipped] = in[i]; } } - *outlen = len + 1; + if (len <= skipped) { + OPENSSL_free(out); + return NULL; + } + + *outlen = len + 1 - skipped; return out; } Modified: vendor-crypto/openssl/dist/apps/apps.h ============================================================================== --- vendor-crypto/openssl/dist/apps/apps.h Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/apps/apps.h Tue Mar 17 21:27:57 2020 (r359051) @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_APPS_H -# define HEADER_APPS_H +#ifndef OSSL_APPS_H +# define OSSL_APPS_H # include "e_os.h" /* struct timeval for DTLS */ # include "internal/nelem.h" Modified: vendor-crypto/openssl/dist/apps/dgst.c ============================================================================== --- vendor-crypto/openssl/dist/apps/dgst.c Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/apps/dgst.c Tue Mar 17 21:27:57 2020 (r359051) @@ -19,6 +19,7 @@ #include #include #include +#include #undef BUFSIZE #define BUFSIZE 1024*8 @@ -27,9 +28,15 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int s EVP_PKEY *key, unsigned char *sigin, int siglen, const char *sig_name, const char *md_name, const char *file); +static void show_digests(const OBJ_NAME *name, void *bio_); +struct doall_dgst_digests { + BIO *bio; + int n; +}; + typedef enum OPTION_choice { - OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, + OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_LIST, OPT_C, OPT_R, OPT_OUT, OPT_SIGN, OPT_PASSIN, OPT_VERIFY, OPT_PRVERIFY, OPT_SIGNATURE, OPT_KEYFORM, OPT_ENGINE, OPT_ENGINE_IMPL, OPT_HEX, OPT_BINARY, OPT_DEBUG, OPT_FIPS_FINGERPRINT, @@ -43,6 +50,7 @@ const OPTIONS dgst_options[] = { {OPT_HELP_STR, 1, '-', " file... files to digest (default is stdin)\n"}, {"help", OPT_HELP, '-', "Display this summary"}, + {"list", OPT_LIST, '-', "List digests"}, {"c", OPT_C, '-', "Print the digest with separating colons"}, {"r", OPT_R, '-', "Print the digest in coreutils format"}, {"out", OPT_OUT, '>', "Output to filename rather than stdout"}, @@ -91,6 +99,7 @@ int dgst_main(int argc, char **argv) int i, ret = 1, out_bin = -1, want_pub = 0, do_verify = 0; unsigned char *buf = NULL, *sigbuf = NULL; int engine_impl = 0; + struct doall_dgst_digests dec; prog = opt_progname(argv[0]); buf = app_malloc(BUFSIZE, "I/O buffer"); @@ -108,6 +117,15 @@ int dgst_main(int argc, char **argv) opt_help(dgst_options); ret = 0; goto end; + case OPT_LIST: + BIO_printf(bio_out, "Supported digests:\n"); + dec.bio = bio_out; + dec.n = 0; + OBJ_NAME_do_all_sorted(OBJ_NAME_TYPE_MD_METH, + show_digests, &dec); + BIO_printf(bio_out, "\n"); + ret = 0; + goto end; case OPT_C: separator = 1; break; @@ -413,20 +431,86 @@ int dgst_main(int argc, char **argv) return ret; } +static void show_digests(const OBJ_NAME *name, void *arg) +{ + struct doall_dgst_digests *dec = (struct doall_dgst_digests *)arg; + const EVP_MD *md = NULL; + + /* Filter out signed digests (a.k.a signature algorithms) */ + if (strstr(name->name, "rsa") != NULL || strstr(name->name, "RSA") != NULL) + return; + + if (!islower((unsigned char)*name->name)) + return; + + /* Filter out message digests that we cannot use */ + md = EVP_get_digestbyname(name->name); + if (md == NULL) + return; + + BIO_printf(dec->bio, "-%-25s", name->name); + if (++dec->n == 3) { + BIO_printf(dec->bio, "\n"); + dec->n = 0; + } else { + BIO_printf(dec->bio, " "); + } +} + +/* + * The newline_escape_filename function performs newline escaping for any + * filename that contains a newline. This function also takes a pointer + * to backslash. The backslash pointer is a flag to indicating whether a newline + * is present in the filename. If a newline is present, the backslash flag is + * set and the output format will contain a backslash at the beginning of the + * digest output. This output format is to replicate the output format found + * in the '*sum' checksum programs. This aims to preserve backward + * compatibility. + */ +static const char *newline_escape_filename(const char *file, int * backslash) +{ + size_t i, e = 0, length = strlen(file), newline_count = 0, mem_len = 0; + char *file_cpy = NULL; + + for (i = 0; i < length; i++) + if (file[i] == '\n') + newline_count++; + + mem_len = length + newline_count + 1; + file_cpy = app_malloc(mem_len, file); + i = 0; + + while(e < length) { + const char c = file[e]; + if (c == '\n') { + file_cpy[i++] = '\\'; + file_cpy[i++] = 'n'; + *backslash = 1; + } else { + file_cpy[i++] = c; + } + e++; + } + file_cpy[i] = '\0'; + return (const char*)file_cpy; +} + + int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout, EVP_PKEY *key, unsigned char *sigin, int siglen, const char *sig_name, const char *md_name, const char *file) { - size_t len; - int i; + size_t len = BUFSIZE; + int i, backslash = 0, ret = 1; + unsigned char *sigbuf = NULL; while (BIO_pending(bp) || !BIO_eof(bp)) { i = BIO_read(bp, (char *)buf, BUFSIZE); if (i < 0) { BIO_printf(bio_err, "Read Error in %s\n", file); ERR_print_errors(bio_err); - return 1; + goto end; } if (i == 0) break; @@ -439,37 +523,51 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int s BIO_printf(out, "Verified OK\n"); } else if (i == 0) { BIO_printf(out, "Verification Failure\n"); - return 1; + goto end; } else { BIO_printf(bio_err, "Error Verifying Data\n"); ERR_print_errors(bio_err); - return 1; + goto end; } - return 0; + ret = 0; + goto end; } if (key != NULL) { EVP_MD_CTX *ctx; + int pkey_len; BIO_get_md_ctx(bp, &ctx); - len = BUFSIZE; + pkey_len = EVP_PKEY_size(key); + if (pkey_len > BUFSIZE) { + len = pkey_len; + sigbuf = app_malloc(len, "Signature buffer"); + buf = sigbuf; + } if (!EVP_DigestSignFinal(ctx, buf, &len)) { BIO_printf(bio_err, "Error Signing Data\n"); ERR_print_errors(bio_err); - return 1; + goto end; } } else { len = BIO_gets(bp, (char *)buf, BUFSIZE); if ((int)len < 0) { ERR_print_errors(bio_err); - return 1; + goto end; } } if (binout) { BIO_write(out, buf, len); } else if (sep == 2) { + file = newline_escape_filename(file, &backslash); + + if (backslash == 1) + BIO_puts(out, "\\"); + for (i = 0; i < (int)len; i++) BIO_printf(out, "%02x", buf[i]); + BIO_printf(out, " *%s\n", file); + OPENSSL_free((char *)file); } else { if (sig_name != NULL) { BIO_puts(out, sig_name); @@ -488,5 +586,11 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int s } BIO_printf(out, "\n"); } - return 0; + + ret = 0; + end: + if (sigbuf != NULL) + OPENSSL_clear_free(sigbuf, len); + + return ret; } Modified: vendor-crypto/openssl/dist/apps/enc.c ============================================================================== --- vendor-crypto/openssl/dist/apps/enc.c Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/apps/enc.c Tue Mar 17 21:27:57 2020 (r359051) @@ -50,7 +50,8 @@ typedef enum OPTION_choice { const OPTIONS enc_options[] = { {"help", OPT_HELP, '-', "Display this summary"}, - {"ciphers", OPT_LIST, '-', "List ciphers"}, + {"list", OPT_LIST, '-', "List ciphers"}, + {"ciphers", OPT_LIST, '-', "Alias for -list"}, {"in", OPT_IN, '<', "Input file"}, {"out", OPT_OUT, '>', "Output file"}, {"pass", OPT_PASS, 's', "Passphrase source"}, Modified: vendor-crypto/openssl/dist/apps/ocsp.c ============================================================================== --- vendor-crypto/openssl/dist/apps/ocsp.c Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/apps/ocsp.c Tue Mar 17 21:27:57 2020 (r359051) @@ -114,7 +114,7 @@ static int acfd = (int) INVALID_SOCKET; static int index_changed(CA_DB *); static void spawn_loop(void); static int print_syslog(const char *str, size_t len, void *levPtr); -static void sock_timeout(int signum); +static void socket_timeout(int signum); # endif # ifndef OPENSSL_NO_SOCK @@ -597,7 +597,7 @@ int ocsp_main(int argc, char **argv) if (multi && acbio != NULL) spawn_loop(); if (acbio != NULL && req_timeout > 0) - signal(SIGALRM, sock_timeout); + signal(SIGALRM, socket_timeout); #endif if (acbio != NULL) @@ -1352,7 +1352,7 @@ static int urldecode(char *p) # endif # ifdef OCSP_DAEMON -static void sock_timeout(int signum) +static void socket_timeout(int signum) { if (acfd != (int)INVALID_SOCKET) (void)shutdown(acfd, SHUT_RD); Modified: vendor-crypto/openssl/dist/apps/openssl.c ============================================================================== --- vendor-crypto/openssl/dist/apps/openssl.c Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/apps/openssl.c Tue Mar 17 21:27:57 2020 (r359051) @@ -164,6 +164,13 @@ int main(int argc, char *argv[]) } prog = prog_init(); + if (prog == NULL) { + BIO_printf(bio_err, + "FATAL: Startup failure (dev note: prog_init() failed)\n"); + ERR_print_errors(bio_err); + ret = 1; + goto end; + } pname = opt_progname(argv[0]); /* first check the program name */ Modified: vendor-crypto/openssl/dist/apps/passwd.c ============================================================================== --- vendor-crypto/openssl/dist/apps/passwd.c Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/apps/passwd.c Tue Mar 17 21:27:57 2020 (r359051) @@ -807,7 +807,7 @@ static int do_passwd(int passed_salt, char **salt_p, c (*salt_p)[i] = cov_2char[(*salt_p)[i] & 0x3f]; /* 6 bits */ (*salt_p)[i] = 0; # ifdef CHARSET_EBCDIC - /* The password encryption funtion will convert back to ASCII */ + /* The password encryption function will convert back to ASCII */ ascii2ebcdic(*salt_p, *salt_p, saltlen); # endif } Modified: vendor-crypto/openssl/dist/apps/pkcs12.c ============================================================================== --- vendor-crypto/openssl/dist/apps/pkcs12.c Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/apps/pkcs12.c Tue Mar 17 21:27:57 2020 (r359051) @@ -41,6 +41,7 @@ int dump_certs_pkeys_bags(BIO *out, const STACK_OF(PKC int dump_certs_pkeys_bag(BIO *out, const PKCS12_SAFEBAG *bags, const char *pass, int passlen, int options, char *pempass, const EVP_CIPHER *enc); +void print_attribute(BIO *out, const ASN1_TYPE *av); int print_attribs(BIO *out, const STACK_OF(X509_ATTRIBUTE) *attrlst, const char *name); void hex_prin(BIO *out, unsigned char *buf, int len); @@ -878,6 +879,38 @@ int cert_load(BIO *in, STACK_OF(X509) *sk) return ret; } +/* Generalised x509 attribute value print */ + +void print_attribute(BIO *out, const ASN1_TYPE *av) +{ + char *value; + + switch (av->type) { + case V_ASN1_BMPSTRING: + value = OPENSSL_uni2asc(av->value.bmpstring->data, + av->value.bmpstring->length); + BIO_printf(out, "%s\n", value); + OPENSSL_free(value); + break; + + case V_ASN1_OCTET_STRING: + hex_prin(out, av->value.octet_string->data, + av->value.octet_string->length); + BIO_printf(out, "\n"); + break; + + case V_ASN1_BIT_STRING: + hex_prin(out, av->value.bit_string->data, + av->value.bit_string->length); + BIO_printf(out, "\n"); + break; + + default: + BIO_printf(out, "\n", av->type); + break; + } +} + /* Generalised attribute print: handle PKCS#8 and bag attributes */ int print_attribs(BIO *out, const STACK_OF(X509_ATTRIBUTE) *attrlst, @@ -885,8 +918,7 @@ int print_attribs(BIO *out, const STACK_OF(X509_ATTRIB { X509_ATTRIBUTE *attr; ASN1_TYPE *av; - char *value; - int i, attr_nid; + int i, j, attr_nid; if (!attrlst) { BIO_printf(out, "%s: \n", name); return 1; @@ -910,30 +942,10 @@ int print_attribs(BIO *out, const STACK_OF(X509_ATTRIB } if (X509_ATTRIBUTE_count(attr)) { - av = X509_ATTRIBUTE_get0_type(attr, 0); - switch (av->type) { - case V_ASN1_BMPSTRING: - value = OPENSSL_uni2asc(av->value.bmpstring->data, - av->value.bmpstring->length); - BIO_printf(out, "%s\n", value); - OPENSSL_free(value); - break; - - case V_ASN1_OCTET_STRING: - hex_prin(out, av->value.octet_string->data, - av->value.octet_string->length); - BIO_printf(out, "\n"); - break; - - case V_ASN1_BIT_STRING: - hex_prin(out, av->value.bit_string->data, - av->value.bit_string->length); - BIO_printf(out, "\n"); - break; - - default: - BIO_printf(out, "\n", av->type); - break; + for (j = 0; j < X509_ATTRIBUTE_count(attr); j++) + { + av = X509_ATTRIBUTE_get0_type(attr, j); + print_attribute(out, av); } } else { BIO_printf(out, "\n"); Modified: vendor-crypto/openssl/dist/apps/pkeyutl.c ============================================================================== --- vendor-crypto/openssl/dist/apps/pkeyutl.c Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/apps/pkeyutl.c Tue Mar 17 21:27:57 2020 (r359051) @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -299,8 +299,7 @@ int pkeyutl_main(int argc, char **argv) /* Sanity check the input */ if (buf_inlen > EVP_MAX_MD_SIZE && (pkey_op == EVP_PKEY_OP_SIGN - || pkey_op == EVP_PKEY_OP_VERIFY - || pkey_op == EVP_PKEY_OP_VERIFYRECOVER)) { + || pkey_op == EVP_PKEY_OP_VERIFY)) { BIO_printf(bio_err, "Error: The input data looks too long to be a hash\n"); goto end; Modified: vendor-crypto/openssl/dist/apps/req.c ============================================================================== --- vendor-crypto/openssl/dist/apps/req.c Tue Mar 17 21:11:38 2020 (r359050) +++ vendor-crypto/openssl/dist/apps/req.c Tue Mar 17 21:27:57 2020 (r359051) @@ -200,9 +200,12 @@ static int duplicated(LHASH_OF(OPENSSL_STRING) *addext *p = '\0'; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Tue Mar 17 21:29:04 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6C6F4272E62; Tue, 17 Mar 2020 21:29:04 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hmWh0TrSz4R7k; Tue, 17 Mar 2020 21:29:04 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A405AF8AB; Tue, 17 Mar 2020 21:29:03 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HLT3TG050194; Tue, 17 Mar 2020 21:29:03 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HLT3cI050193; Tue, 17 Mar 2020 21:29:03 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <202003172129.02HLT3cI050193@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Tue, 17 Mar 2020 21:29:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r359052 - vendor-crypto/openssl/1.1.1e X-SVN-Group: vendor-crypto X-SVN-Commit-Author: jkim X-SVN-Commit-Paths: vendor-crypto/openssl/1.1.1e X-SVN-Commit-Revision: 359052 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 21:29:04 -0000 Author: jkim Date: Tue Mar 17 21:29:03 2020 New Revision: 359052 URL: https://svnweb.freebsd.org/changeset/base/359052 Log: Tag OpenSSL 1.1.1e. Added: vendor-crypto/openssl/1.1.1e/ - copied from r359051, vendor-crypto/openssl/dist/ From owner-svn-src-all@freebsd.org Tue Mar 17 22:27:18 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C2A6A274449; Tue, 17 Mar 2020 22:27:18 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hnpt1PYMz4fZ7; Tue, 17 Mar 2020 22:27:18 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5EAC7183B8; Tue, 17 Mar 2020 22:27:17 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HMRHsn086024; Tue, 17 Mar 2020 22:27:17 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HMRHLM086023; Tue, 17 Mar 2020 22:27:17 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202003172227.02HMRHLM086023@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Tue, 17 Mar 2020 22:27:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359053 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359053 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 22:27:18 -0000 Author: cem Date: Tue Mar 17 22:27:16 2020 New Revision: 359053 URL: https://svnweb.freebsd.org/changeset/base/359053 Log: Implement sysctl kern.boot_id Boot IDs are random, opaque 128-bit identifiers that distinguish distinct system boots. A new ID is generated each time the system boots. Unlike kern.boottime, the value is not modified by NTP adjustments. It remains fixed until the machine is restarted. PR: 244867 Reported by: Ricardo Fraile MFC after: I do not intend to, but feel free Modified: head/sys/kern/kern_mib.c Modified: head/sys/kern/kern_mib.c ============================================================================== --- head/sys/kern/kern_mib.c Tue Mar 17 21:29:03 2020 (r359052) +++ head/sys/kern/kern_mib.c Tue Mar 17 22:27:16 2020 (r359053) @@ -448,6 +448,32 @@ SYSCTL_PROC(_kern, KERN_HOSTID, hostid, CTLTYPE_ULONG | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE | CTLFLAG_CAPRD, NULL, 0, sysctl_hostid, "LU", "Host ID"); +static struct mtx bootid_lk; +MTX_SYSINIT(bootid_lock, &bootid_lk, "bootid generator lock", MTX_DEF); + +static int +sysctl_bootid(SYSCTL_HANDLER_ARGS) +{ + static uint8_t boot_id[16]; + static bool initialized = false; + + mtx_lock(&bootid_lk); + if (!initialized) { + if (!is_random_seeded()) { + mtx_unlock(&bootid_lk); + return (ENXIO); + } + arc4random_buf(boot_id, sizeof(boot_id)); + initialized = true; + } + mtx_unlock(&bootid_lk); + + return (SYSCTL_OUT(req, boot_id, sizeof(boot_id))); +} +SYSCTL_PROC(_kern, OID_AUTO, boot_id, + CTLTYPE_STRUCT | CTLFLAG_RD | CTLFLAG_MPSAFE | CTLFLAG_CAPRD, + NULL, 0, sysctl_bootid, "", "Random boot ID"); + /* * The osrelease string is copied from the global (osrelease in vers.c) into * prison0 by a sysinit and is inherited by child jails if not changed at jail From owner-svn-src-all@freebsd.org Tue Mar 17 22:36:30 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4C94B274800 for ; Tue, 17 Mar 2020 22:36:30 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound2m.ore.mailhop.org (outbound2m.ore.mailhop.org [54.149.155.156]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48hp1T44NCz45V0 for ; Tue, 17 Mar 2020 22:36:29 +0000 (UTC) (envelope-from ian@freebsd.org) ARC-Seal: i=1; a=rsa-sha256; t=1584484588; cv=none; d=outbound.mailhop.org; s=arc-outbound20181012; b=FazlGkkUqv4G+9VPLIOtUB3AZzdNEzE3xTrPVBcNspqG8h+ePItdWz/lXSVN1NQMYw6VNmPanZYZK Ya2bRkCNv3PUsFbAtdnylA2d08ZCBIRyuxpwGCue/mnjFysTy2o89M6fIcPOqs8Ha96xmLoUkuAjWc x3dLBWyckFU39jS7unYwEtwBZgtLKzBik/GMhtkaKgnn8wGk65qWQ8pb0Dih1QEoVfTPOTrZ2yPEOr vS7Kda+bH1jE0Sfrim2BWK9/kD543moKm5oEVHGZF6GEMZPJJaOhuGv7d0O4qsl6QtT6W22m9NsyJp H2Pmtx45rNiVzB+0oK0jvxIEopDzmHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=arc-outbound20181012; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:to:from:subject:message-id:dkim-signature:from; bh=3wmFkSzN3hS2JMKH3LHoHWqqjDQprMeWDVErk+0miMY=; b=QhKWu+4vg1eVoa30XTmO+co2XFpT/cd/zUtZGNrrWok2MyMl5Hz+R2QmRMW3k0hMx/MaXpy3JXp6Y PRMvR6LkBoj822ZW8ZjDnbUBP2s26qQw+VX2roa6DvtBm2yTAaeonBhmcxOy5rW0xN6peMlTb1Um1U rtEH+sTgnC7k6a/VR0QvFEscrW4f+Y04js5vyzfBJDQqkPrKNh34RMBifPxX5hb/q9Lfoz8oyxUdvu hi4myCAOj6a1iUJVuBXuF+tXMhkhIy45Xk6tiFiK5uBYrvM0/Twe+bKiCGIjnVX5RTKMBJw5yE9V13 BgsojPD1UXGpu7eQhiHKN0Rt9HqCNcA== ARC-Authentication-Results: i=1; outbound4.ore.mailhop.org; spf=softfail smtp.mailfrom=freebsd.org smtp.remote-ip=67.177.211.60; dmarc=none header.from=freebsd.org; arc=none header.oldest-pass=0; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=dkim-high; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:to:from:subject:message-id:from; bh=3wmFkSzN3hS2JMKH3LHoHWqqjDQprMeWDVErk+0miMY=; b=uvc8NzsNTCI7bpzaPz6mykx69kykUakuUEGU8DP0JuJkrnQGYDUKPs4hppBZdjxRWOFusju3V+1bk LKxtqwTW2YMeescEaJD96eKtB39J7CqJrE+kIt9+Bg7XyxV/FAkgqHCh6DsGQSkcp+Mvc7E9vlTA5u jWIEeRF4Aukt484fh3Q4uidqNGclND+f7IXlHfSjI8H/jvKK+YZLAtA+rNpCaHvfMZfUDQufdd+6vq 7TZfr507cLhHOjp4W98RhUQHjD5pokp0lV0oti6RLP0XcHS94tyh/eMyFoz66ILvYh/VV0Wstvc7Fs 7ICjP8tACrAWiQ0oMNLYXtC9utGUGPQ== X-MHO-RoutePath: aGlwcGll X-MHO-User: bc4dd746-689f-11ea-9eb3-25e2dfa9fa8d X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 67.177.211.60 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [67.177.211.60]) by outbound4.ore.mailhop.org (Halon) with ESMTPSA id bc4dd746-689f-11ea-9eb3-25e2dfa9fa8d; Tue, 17 Mar 2020 22:36:26 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id 02HMaPXT073578; Tue, 17 Mar 2020 16:36:25 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <047c4edb4ff9fa6c40be6492c2f082e374f7a941.camel@freebsd.org> Subject: Re: svn commit: r359053 - head/sys/kern From: Ian Lepore To: Conrad Meyer , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Date: Tue, 17 Mar 2020 16:36:25 -0600 In-Reply-To: <202003172227.02HMRHLM086023@repo.freebsd.org> References: <202003172227.02HMRHLM086023@repo.freebsd.org> Content-Type: text/plain; charset="ASCII" X-Mailer: Evolution 3.28.5 FreeBSD GNOME Team Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 48hp1T44NCz45V0 X-Spamd-Bar: + Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [1.97 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_SPAM_LONG(1.00)[0.997,0]; NEURAL_SPAM_MEDIUM(0.98)[0.976,0]; ASN(0.00)[asn:16509, ipnet:54.148.0.0/15, country:US] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 22:36:30 -0000 On Tue, 2020-03-17 at 22:27 +0000, Conrad Meyer wrote: > Author: cem > Date: Tue Mar 17 22:27:16 2020 > New Revision: 359053 > URL: https://svnweb.freebsd.org/changeset/base/359053 > > Log: > Implement sysctl kern.boot_id > > Boot IDs are random, opaque 128-bit identifiers that distinguish distinct > system boots. A new ID is generated each time the system boots. Unlike > kern.boottime, the value is not modified by NTP adjustments. It remains fixed > until the machine is restarted. > > PR: 244867 > Reported by: Ricardo Fraile > MFC after: I do not intend to, but feel free > > Modified: > head/sys/kern/kern_mib.c > > Modified: head/sys/kern/kern_mib.c > ============================================================================== > --- head/sys/kern/kern_mib.c Tue Mar 17 21:29:03 2020 (r359052) > +++ head/sys/kern/kern_mib.c Tue Mar 17 22:27:16 2020 (r359053) > @@ -448,6 +448,32 @@ SYSCTL_PROC(_kern, KERN_HOSTID, hostid, > CTLTYPE_ULONG | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE | CTLFLAG_CAPRD, > NULL, 0, sysctl_hostid, "LU", "Host ID"); > > +static struct mtx bootid_lk; > +MTX_SYSINIT(bootid_lock, &bootid_lk, "bootid generator lock", MTX_DEF); > + > +static int > +sysctl_bootid(SYSCTL_HANDLER_ARGS) > +{ > + static uint8_t boot_id[16]; > + static bool initialized = false; > + > + mtx_lock(&bootid_lk); > + if (!initialized) { > + if (!is_random_seeded()) { > + mtx_unlock(&bootid_lk); > + return (ENXIO); > + } > + arc4random_buf(boot_id, sizeof(boot_id)); > + initialized = true; > + } > + mtx_unlock(&bootid_lk); > + > + return (SYSCTL_OUT(req, boot_id, sizeof(boot_id))); > +} > +SYSCTL_PROC(_kern, OID_AUTO, boot_id, > + CTLTYPE_STRUCT | CTLFLAG_RD | CTLFLAG_MPSAFE | CTLFLAG_CAPRD, > + NULL, 0, sysctl_bootid, "", "Random boot ID"); > + > /* > * The osrelease string is copied from the global (osrelease in vers.c) into > * prison0 by a sysinit and is inherited by child jails if not changed at jail This seems a bit complex. Why run a sysinit to init a mutex so that you can safely do a lazy init of boot_id? Seems like it would be much easier to just use a sysinit at SI_SUB_LAST to init boot_id before sysctl can reference it. -- Ian From owner-svn-src-all@freebsd.org Tue Mar 17 23:22:08 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4ED5827564D; Tue, 17 Mar 2020 23:22:08 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hq276v7Xz3QyM; Tue, 17 Mar 2020 23:22:07 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BD17918D95; Tue, 17 Mar 2020 23:22:07 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HNM7YX022217; Tue, 17 Mar 2020 23:22:07 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HNM7MH022210; Tue, 17 Mar 2020 23:22:07 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202003172322.02HNM7MH022210@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Tue, 17 Mar 2020 23:22:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359054 - head/lib/libsysdecode X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/lib/libsysdecode X-SVN-Commit-Revision: 359054 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 23:22:08 -0000 Author: jhb Date: Tue Mar 17 23:22:07 2020 New Revision: 359054 URL: https://svnweb.freebsd.org/changeset/base/359054 Log: Fix the workaround to ignore the #warning for GCC. clang and gcc use different warning flags for #warning preprocessor directives. Reported by: Jenkins MFC after: 1 week Modified: head/lib/libsysdecode/Makefile Modified: head/lib/libsysdecode/Makefile ============================================================================== --- head/lib/libsysdecode/Makefile Tue Mar 17 22:27:16 2020 (r359053) +++ head/lib/libsysdecode/Makefile Tue Mar 17 23:22:07 2020 (r359054) @@ -119,10 +119,12 @@ CFLAGS+=-DPF # Workaround duplicate declarations in CFLAGS.gcc.ioctl.c+= -Wno-redundant-decls -CFLAGS.gcc+= ${CFLAGS.gcc.${.IMPSRC}} - # Ignore deprecation warning in -CFLAGS.ioctl.c+= -Wno-\#warnings +CFLAGS.clang.ioctl.c+= -Wno-\#warnings +CFLAGS.gcc.ioctl.c+= -Wno-cpp + +CFLAGS.clang+= ${CFLAGS.clang.${.IMPSRC}} +CFLAGS.gcc+= ${CFLAGS.gcc.${.IMPSRC}} DEPENDOBJS+= tables.h tables.h: mktables From owner-svn-src-all@freebsd.org Tue Mar 17 23:57:07 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6D238276328; Tue, 17 Mar 2020 23:57:07 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hqpW16ddz4Mkl; Tue, 17 Mar 2020 23:57:07 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1237619455; Tue, 17 Mar 2020 23:57:07 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HNv60n040500; Tue, 17 Mar 2020 23:57:06 GMT (envelope-from wulf@FreeBSD.org) Received: (from wulf@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HNv6Z6040499; Tue, 17 Mar 2020 23:57:06 GMT (envelope-from wulf@FreeBSD.org) Message-Id: <202003172357.02HNv6Z6040499@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: wulf set sender to wulf@FreeBSD.org using -f From: Vladimir Kondratyev Date: Tue, 17 Mar 2020 23:57:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359055 - stable/12/sys/dev/usb/input X-SVN-Group: stable-12 X-SVN-Commit-Author: wulf X-SVN-Commit-Paths: stable/12/sys/dev/usb/input X-SVN-Commit-Revision: 359055 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 23:57:07 -0000 Author: wulf Date: Tue Mar 17 23:57:06 2020 New Revision: 359055 URL: https://svnweb.freebsd.org/changeset/base/359055 Log: MFC r358824: wmt(4): Fix Synaptics Touch Digitizer V04 attachment Touch Digitizer V04 report descriptor declares 'Contact Count Maximum' usage as constant. That was not supported by descriptor parser. PR: 232040 Reported by: Sergei Akhmatdinov Modified: stable/12/sys/dev/usb/input/wmt.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/usb/input/wmt.c ============================================================================== --- stable/12/sys/dev/usb/input/wmt.c Tue Mar 17 23:22:07 2020 (r359054) +++ stable/12/sys/dev/usb/input/wmt.c Tue Mar 17 23:57:06 2020 (r359055) @@ -657,9 +657,8 @@ wmt_hid_parse(struct wmt_softc *sc, const void *d_ptr, thqa_cert_rid = hi.report_ID; break; } - if (hi.collevel == 1 && touch_coll && - WMT_HI_ABSOLUTE(hi) && hi.usage == - HID_USAGE2(HUP_DIGITIZERS, HUD_CONTACT_MAX)) { + if (hi.collevel == 1 && touch_coll && hi.usage == + HID_USAGE2(HUP_DIGITIZERS, HUD_CONTACT_MAX)) { cont_count_max = hi.logical_maximum; cont_max_rid = hi.report_ID; if (sc != NULL) From owner-svn-src-all@freebsd.org Tue Mar 17 23:58:59 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8424E2763BB; Tue, 17 Mar 2020 23:58:59 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hqrg25mpz4RMg; Tue, 17 Mar 2020 23:58:59 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E60B01945D; Tue, 17 Mar 2020 23:58:58 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02HNwwWW040643; Tue, 17 Mar 2020 23:58:58 GMT (envelope-from wulf@FreeBSD.org) Received: (from wulf@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02HNwwqZ040642; Tue, 17 Mar 2020 23:58:58 GMT (envelope-from wulf@FreeBSD.org) Message-Id: <202003172358.02HNwwqZ040642@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: wulf set sender to wulf@FreeBSD.org using -f From: Vladimir Kondratyev Date: Tue, 17 Mar 2020 23:58:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359056 - stable/11/sys/dev/usb/input X-SVN-Group: stable-11 X-SVN-Commit-Author: wulf X-SVN-Commit-Paths: stable/11/sys/dev/usb/input X-SVN-Commit-Revision: 359056 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2020 23:58:59 -0000 Author: wulf Date: Tue Mar 17 23:58:58 2020 New Revision: 359056 URL: https://svnweb.freebsd.org/changeset/base/359056 Log: MFC r358824: wmt(4): Fix Synaptics Touch Digitizer V04 attachment Touch Digitizer V04 report descriptor declares 'Contact Count Maximum' usage as constant. That was not supported by descriptor parser. PR: 232040 Reported by: Sergei Akhmatdinov Modified: stable/11/sys/dev/usb/input/wmt.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/usb/input/wmt.c ============================================================================== --- stable/11/sys/dev/usb/input/wmt.c Tue Mar 17 23:57:06 2020 (r359055) +++ stable/11/sys/dev/usb/input/wmt.c Tue Mar 17 23:58:58 2020 (r359056) @@ -626,9 +626,8 @@ wmt_hid_parse(struct wmt_softc *sc, const void *d_ptr, thqa_cert_rid = hi.report_ID; break; } - if (hi.collevel == 1 && touch_coll && - WMT_HI_ABSOLUTE(hi) && hi.usage == - HID_USAGE2(HUP_DIGITIZERS, HUD_CONTACT_MAX)) { + if (hi.collevel == 1 && touch_coll && hi.usage == + HID_USAGE2(HUP_DIGITIZERS, HUD_CONTACT_MAX)) { cont_count_max = hi.logical_maximum; cont_max_rid = hi.report_ID; if (sc != NULL) From owner-svn-src-all@freebsd.org Wed Mar 18 00:05:59 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 440A82766AF; Wed, 18 Mar 2020 00:05:59 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hr0k3R67z4bDC; Wed, 18 Mar 2020 00:05:58 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-8.local (unknown [IPv6:2601:648:8881:1e90:b814:3297:d0a:b7c3]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 7E0C05593; Wed, 18 Mar 2020 00:05:57 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: svn commit: r359053 - head/sys/kern To: Ian Lepore , Conrad Meyer , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202003172227.02HMRHLM086023@repo.freebsd.org> <047c4edb4ff9fa6c40be6492c2f082e374f7a941.camel@freebsd.org> From: John Baldwin Autocrypt: addr=jhb@FreeBSD.org; keydata= mQGiBETQ+XcRBADMFybiq69u+fJRy/0wzqTNS8jFfWaBTs5/OfcV7wWezVmf9sgwn8TW0Dk0 c9MBl0pz+H01dA2ZSGZ5fXlmFIsee1WEzqeJzpiwd/pejPgSzXB9ijbLHZ2/E0jhGBcVy5Yo /Tw5+U/+laeYKu2xb0XPvM0zMNls1ah5OnP9a6Ql6wCgupaoMySb7DXm2LHD1Z9jTsHcAQMD /1jzh2BoHriy/Q2s4KzzjVp/mQO5DSm2z14BvbQRcXU48oAosHA1u3Wrov6LfPY+0U1tG47X 1BGfnQH+rNAaH0livoSBQ0IPI/8WfIW7ub4qV6HYwWKVqkDkqwcpmGNDbz3gfaDht6nsie5Z pcuCcul4M9CW7Md6zzyvktjnbz61BADGDCopfZC4of0Z3Ka0u8Wik6UJOuqShBt1WcFS8ya1 oB4rc4tXfSHyMF63aPUBMxHR5DXeH+EO2edoSwViDMqWk1jTnYza51rbGY+pebLQOVOxAY7k do5Ordl3wklBPMVEPWoZ61SdbcjhHVwaC5zfiskcxj5wwXd2E9qYlBqRg7QeSm9obiBCYWxk d2luIDxqaGJARnJlZUJTRC5vcmc+iGAEExECACAFAkTQ+awCGwMGCwkIBwMCBBUCCAMEFgID AQIeAQIXgAAKCRBy3lIGd+N/BI6RAJ9S97fvbME+3hxzE3JUyUZ6vTewDACdE1stFuSfqMvM jomvZdYxIYyTUpC5Ag0ERND5ghAIAPwsO0B7BL+bz8sLlLoQktGxXwXQfS5cInvL17Dsgnr3 1AKa94j9EnXQyPEj7u0d+LmEe6CGEGDh1OcGFTMVrof2ZzkSy4+FkZwMKJpTiqeaShMh+Goj XlwIMDxyADYvBIg3eN5YdFKaPQpfgSqhT+7El7w+wSZZD8pPQuLAnie5iz9C8iKy4/cMSOrH YUK/tO+Nhw8Jjlw94Ik0T80iEhI2t+XBVjwdfjbq3HrJ0ehqdBwukyeJRYKmbn298KOFQVHO EVbHA4rF/37jzaMadK43FgJ0SAhPPF5l4l89z5oPu0b/+5e2inA3b8J3iGZxywjM+Csq1tqz hltEc7Q+E08AAwUIAL+15XH8bPbjNJdVyg2CMl10JNW2wWg2Q6qdljeaRqeR6zFus7EZTwtX sNzs5bP8y51PSUDJbeiy2RNCNKWFMndM22TZnk3GNG45nQd4OwYK0RZVrikalmJY5Q6m7Z16 4yrZgIXFdKj2t8F+x613/SJW1lIr9/bDp4U9tw0V1g3l2dFtD3p3ZrQ3hpoDtoK70ioIAjjH aIXIAcm3FGZFXy503DOA0KaTWwvOVdYCFLm3zWuSOmrX/GsEc7ovasOWwjPn878qVjbUKWwx Q4QkF4OhUV9zPtf9tDSAZ3x7QSwoKbCoRCZ/xbyTUPyQ1VvNy/mYrBcYlzHodsaqUDjHuW+I SQQYEQIACQUCRND5ggIbDAAKCRBy3lIGd+N/BCO8AJ9j1dWVQWxw/YdTbEyrRKOY8YZNwwCf afMAg8QvmOWnHx3wl8WslCaXaE8= Message-ID: Date: Tue, 17 Mar 2020 17:05:55 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <047c4edb4ff9fa6c40be6492c2f082e374f7a941.camel@freebsd.org> Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 00:05:59 -0000 On 3/17/20 3:36 PM, Ian Lepore wrote: > On Tue, 2020-03-17 at 22:27 +0000, Conrad Meyer wrote: >> Author: cem >> Date: Tue Mar 17 22:27:16 2020 >> New Revision: 359053 >> URL: https://svnweb.freebsd.org/changeset/base/359053 >> >> Log: >> Implement sysctl kern.boot_id >> >> Boot IDs are random, opaque 128-bit identifiers that distinguish distinct >> system boots. A new ID is generated each time the system boots. Unlike >> kern.boottime, the value is not modified by NTP adjustments. It remains fixed >> until the machine is restarted. >> >> PR: 244867 >> Reported by: Ricardo Fraile >> MFC after: I do not intend to, but feel free >> >> Modified: >> head/sys/kern/kern_mib.c >> >> Modified: head/sys/kern/kern_mib.c >> ============================================================================== >> --- head/sys/kern/kern_mib.c Tue Mar 17 21:29:03 2020 (r359052) >> +++ head/sys/kern/kern_mib.c Tue Mar 17 22:27:16 2020 (r359053) >> @@ -448,6 +448,32 @@ SYSCTL_PROC(_kern, KERN_HOSTID, hostid, >> CTLTYPE_ULONG | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE | CTLFLAG_CAPRD, >> NULL, 0, sysctl_hostid, "LU", "Host ID"); >> >> +static struct mtx bootid_lk; >> +MTX_SYSINIT(bootid_lock, &bootid_lk, "bootid generator lock", MTX_DEF); >> + >> +static int >> +sysctl_bootid(SYSCTL_HANDLER_ARGS) >> +{ >> + static uint8_t boot_id[16]; >> + static bool initialized = false; >> + >> + mtx_lock(&bootid_lk); >> + if (!initialized) { >> + if (!is_random_seeded()) { >> + mtx_unlock(&bootid_lk); >> + return (ENXIO); >> + } >> + arc4random_buf(boot_id, sizeof(boot_id)); >> + initialized = true; >> + } >> + mtx_unlock(&bootid_lk); >> + >> + return (SYSCTL_OUT(req, boot_id, sizeof(boot_id))); >> +} >> +SYSCTL_PROC(_kern, OID_AUTO, boot_id, >> + CTLTYPE_STRUCT | CTLFLAG_RD | CTLFLAG_MPSAFE | CTLFLAG_CAPRD, >> + NULL, 0, sysctl_bootid, "", "Random boot ID"); >> + >> /* >> * The osrelease string is copied from the global (osrelease in vers.c) into >> * prison0 by a sysinit and is inherited by child jails if not changed at jail > > This seems a bit complex. Why run a sysinit to init a mutex so that > you can safely do a lazy init of boot_id? Seems like it would be much > easier to just use a sysinit at SI_SUB_LAST to init boot_id before > sysctl can reference it. Presumably you may not have enough entropy by SI_SUB_LAST to generate it? -- John Baldwin From owner-svn-src-all@freebsd.org Wed Mar 18 01:09:42 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7FF6A277B8D; Wed, 18 Mar 2020 01:09:42 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hsQF2dlSz4SR6; Wed, 18 Mar 2020 01:09:41 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 36C131A123; Wed, 18 Mar 2020 01:09:41 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02I19eDR083451; Wed, 18 Mar 2020 01:09:40 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02I19ekx083450; Wed, 18 Mar 2020 01:09:40 GMT (envelope-from np@FreeBSD.org) Message-Id: <202003180109.02I19ekx083450@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Wed, 18 Mar 2020 01:09:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359057 - head/sys/dev/pci X-SVN-Group: head X-SVN-Commit-Author: np X-SVN-Commit-Paths: head/sys/dev/pci X-SVN-Commit-Revision: 359057 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 01:09:42 -0000 Author: np Date: Wed Mar 18 01:09:40 2020 New Revision: 359057 URL: https://svnweb.freebsd.org/changeset/base/359057 Log: Remove spurious warning about invalid VPD data. The warning used to be displayed for valid VPDs about 512B or above in size. Fix the size check and add a break while here so that the routine stops if if detects any problem. Tested with "pciconf -lV" Reviewed by: kib@, jhb@ MFC after: 1 week Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D23679 Modified: head/sys/dev/pci/pci.c Modified: head/sys/dev/pci/pci.c ============================================================================== --- head/sys/dev/pci/pci.c Tue Mar 17 23:58:58 2020 (r359056) +++ head/sys/dev/pci/pci.c Wed Mar 18 01:09:40 2020 (r359057) @@ -1102,16 +1102,16 @@ pci_read_vpd(device_t pcib, pcicfgregs *cfg) break; } remain |= byte2 << 8; - if (remain > (0x7f*4 - vrs.off)) { - state = -1; - pci_printf(cfg, - "invalid VPD data, remain %#x\n", - remain); - } name = byte & 0x7f; } else { remain = byte & 0x7; name = (byte >> 3) & 0xf; + } + if (vrs.off + remain - vrs.bytesinval > 0x8000) { + pci_printf(cfg, + "VPD data overflow, remain %#x\n", remain); + state = -1; + break; } switch (name) { case 0x2: /* String */ From owner-svn-src-all@freebsd.org Wed Mar 18 01:09:47 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 883FC277BB5; Wed, 18 Mar 2020 01:09:47 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hsQL3CsDz4Scq; Wed, 18 Mar 2020 01:09:46 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F267B1A125; Wed, 18 Mar 2020 01:09:45 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02I19jRv083508; Wed, 18 Mar 2020 01:09:45 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02I19iKu083500; Wed, 18 Mar 2020 01:09:44 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <202003180109.02I19iKu083500@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Wed, 18 Mar 2020 01:09:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359058 - in head/sys: conf powerpc/booke powerpc/conf powerpc/include powerpc/powerpc X-SVN-Group: head X-SVN-Commit-Author: jhibbits X-SVN-Commit-Paths: in head/sys: conf powerpc/booke powerpc/conf powerpc/include powerpc/powerpc X-SVN-Commit-Revision: 359058 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 01:09:47 -0000 Author: jhibbits Date: Wed Mar 18 01:09:43 2020 New Revision: 359058 URL: https://svnweb.freebsd.org/changeset/base/359058 Log: powerpc: Axe PPC4xx support. Summary: The support was added almost a decade ago, and never completed. Just axe it. It was also inadvertently broken 5 years ago, and nobody noticed. Reviewed by: bdragon Differential Revision: https://reviews.freebsd.org/D23753 Deleted: head/sys/powerpc/booke/machdep_ppc4xx.c Modified: head/sys/conf/options.powerpc head/sys/powerpc/booke/machdep_e500.c head/sys/powerpc/conf/NOTES head/sys/powerpc/include/machdep.h head/sys/powerpc/include/profile.h head/sys/powerpc/include/pte.h head/sys/powerpc/include/spr.h head/sys/powerpc/include/tlb.h head/sys/powerpc/powerpc/db_disasm.c Modified: head/sys/conf/options.powerpc ============================================================================== --- head/sys/conf/options.powerpc Wed Mar 18 01:09:40 2020 (r359057) +++ head/sys/conf/options.powerpc Wed Mar 18 01:09:43 2020 (r359058) @@ -4,7 +4,6 @@ AIM opt_global.h BOOKE opt_global.h BOOKE_E500 opt_global.h -BOOKE_PPC4XX opt_global.h CELL POWERPC Modified: head/sys/powerpc/booke/machdep_e500.c ============================================================================== --- head/sys/powerpc/booke/machdep_e500.c Wed Mar 18 01:09:40 2020 (r359057) +++ head/sys/powerpc/booke/machdep_e500.c Wed Mar 18 01:09:43 2020 (r359058) @@ -53,12 +53,6 @@ extern void l2cache_inval(void); extern void bpred_enable(void); void -booke_init_tlb(vm_paddr_t fdt_immr_pa) -{ - -} - -void booke_enable_l1_cache(void) { uint32_t csr; Modified: head/sys/powerpc/conf/NOTES ============================================================================== --- head/sys/powerpc/conf/NOTES Wed Mar 18 01:09:40 2020 (r359057) +++ head/sys/powerpc/conf/NOTES Wed Mar 18 01:09:43 2020 (r359058) @@ -36,7 +36,6 @@ options KDTRACE_HOOKS # You must specify at least one CPU (the one you intend to run on). cpu AIM #cpu BOOKE_E500 -#cpu BOOKE_PPC440 options FPU_EMU Modified: head/sys/powerpc/include/machdep.h ============================================================================== --- head/sys/powerpc/include/machdep.h Wed Mar 18 01:09:40 2020 (r359057) +++ head/sys/powerpc/include/machdep.h Wed Mar 18 01:09:43 2020 (r359058) @@ -35,6 +35,5 @@ void booke_disable_l2_cache(void); void booke_enable_l1_cache(void); void booke_enable_l2_cache(void); void booke_enable_bpred(void); -void booke_init_tlb(vm_paddr_t); #endif /* _POWERPC_MACHDEP_H_ */ Modified: head/sys/powerpc/include/profile.h ============================================================================== --- head/sys/powerpc/include/profile.h Wed Mar 18 01:09:40 2020 (r359057) +++ head/sys/powerpc/include/profile.h Wed Mar 18 01:09:43 2020 (r359058) @@ -190,7 +190,7 @@ extern char interrupt_vector_base[]; extern char interrupt_vector_top[]; #define __PROFILE_VECTOR_BASE (uintfptr_t)interrupt_vector_base #define __PROFILE_VECTOR_TOP (uintfptr_t)interrupt_vector_top -#endif /* BOOKE_E500 || BOOKE_PPC4XX */ +#endif /* BOOKE_E500 */ #endif /* !COMPILING_LINT */ Modified: head/sys/powerpc/include/pte.h ============================================================================== --- head/sys/powerpc/include/pte.h Wed Mar 18 01:09:40 2020 (r359057) +++ head/sys/powerpc/include/pte.h Wed Mar 18 01:09:43 2020 (r359058) @@ -241,24 +241,6 @@ typedef uint64_t pte_t; #define PTE_PS_SHIFT 8 #define PTE_PS_4KB (2 << PTE_PS_SHIFT) -#elif defined(BOOKE_PPC4XX) - -#define PTE_WL1 TLB_WL1 -#define PTE_IL2I TLB_IL2I -#define PTE_IL2D TLB_IL2D - -#define PTE_W TLB_W -#define PTE_I TLB_I -#define PTE_M TLB_M -#define PTE_G TLB_G - -#define PTE_UX TLB_UX -#define PTE_SX TLB_SX -#define PTE_UW TLB_UW -#define PTE_SW TLB_SW -#define PTE_UR TLB_UR -#define PTE_SR TLB_SR - #endif /* Other PTE flags */ Modified: head/sys/powerpc/include/spr.h ============================================================================== --- head/sys/powerpc/include/spr.h Wed Mar 18 01:09:40 2020 (r359057) +++ head/sys/powerpc/include/spr.h Wed Mar 18 01:09:43 2020 (r359058) @@ -144,16 +144,16 @@ #define FSCR_EBB 0x0000000000000080 /* Event-based branch available */ #define FSCR_DSCR 0x0000000000000004 /* DSCR available in PR state */ #define SPR_DPDES 0x0b0 /* .6. Directed Privileged Doorbell Exception State Register */ -#define SPR_USPRG0 0x100 /* 4.. User SPR General 0 */ +#define SPR_USPRG0 0x100 /* 4.8 User SPR General 0 */ #define SPR_VRSAVE 0x100 /* .6. AltiVec VRSAVE */ #define SPR_SPRG0 0x110 /* 468 SPR General 0 */ #define SPR_SPRG1 0x111 /* 468 SPR General 1 */ #define SPR_SPRG2 0x112 /* 468 SPR General 2 */ #define SPR_SPRG3 0x113 /* 468 SPR General 3 */ -#define SPR_SPRG4 0x114 /* 4.. SPR General 4 */ -#define SPR_SPRG5 0x115 /* 4.. SPR General 5 */ -#define SPR_SPRG6 0x116 /* 4.. SPR General 6 */ -#define SPR_SPRG7 0x117 /* 4.. SPR General 7 */ +#define SPR_SPRG4 0x114 /* 4.8 SPR General 4 */ +#define SPR_SPRG5 0x115 /* 4.8 SPR General 5 */ +#define SPR_SPRG6 0x116 /* 4.8 SPR General 6 */ +#define SPR_SPRG7 0x117 /* 4.8 SPR General 7 */ #define SPR_SCOMC 0x114 /* ... SCOM Address Register (970) */ #define SPR_SCOMD 0x115 /* ... SCOM Data Register (970) */ #define SPR_ASR 0x118 /* ... Address Space Register (PPC64) */ @@ -227,6 +227,23 @@ #define LPCR_PECE_WAKESET (LPCR_PECE_EXT | LPCR_PECE_DECR | LPCR_PECE_ME) +#define SPR_DBSR 0x130 /* ..8 Debug Status Register */ +#define DBSR_IDE 0x80000000 /* Imprecise debug event. */ +#define DBSR_UDE 0x40000000 /* Unconditional debug event. */ +#define DBSR_MRR 0x30000000 /* Most recent Reset (mask). */ +#define DBSR_ICMP 0x08000000 /* Instr. complete debug event. */ +#define DBSR_BRT 0x04000000 /* Branch taken debug event. */ +#define DBSR_IRPT 0x02000000 /* Interrupt taken debug event. */ +#define DBSR_TRAP 0x01000000 /* Trap instr. debug event. */ +#define DBSR_IAC1 0x00800000 /* Instr. address compare #1. */ +#define DBSR_IAC2 0x00400000 /* Instr. address compare #2. */ +#define DBSR_IAC3 0x00200000 /* Instr. address compare #3. */ +#define DBSR_IAC4 0x00100000 /* Instr. address compare #4. */ +#define DBSR_DAC1R 0x00080000 /* Data addr. read compare #1. */ +#define DBSR_DAC1W 0x00040000 /* Data addr. write compare #1. */ +#define DBSR_DAC2R 0x00020000 /* Data addr. read compare #2. */ +#define DBSR_DAC2W 0x00010000 /* Data addr. write compare #2. */ +#define DBSR_RET 0x00008000 /* Return debug event. */ #define SPR_EPCR 0x133 #define EPCR_EXTGS 0x80000000 #define EPCR_DTLBGS 0x40000000 @@ -239,10 +256,21 @@ #define EPCR_DGTMI 0x00800000 #define EPCR_DMIUH 0x00400000 #define EPCR_PMGS 0x00200000 +#define SPR_DBCR0 0x134 /* ..8 Debug Control Register 0 */ +#define SPR_DBCR1 0x135 /* ..8 Debug Control Register 1 */ +#define SPR_IAC1 0x138 /* ..8 Instruction Address Compare 1 */ +#define SPR_IAC2 0x139 /* ..8 Instruction Address Compare 2 */ +#define SPR_IAC3 0x13a /* ..8 Instruction Address Compare 3 */ +#define SPR_IAC4 0x13b /* ..8 Instruction Address Compare 4 */ #define SPR_HSRR0 0x13a #define SPR_HSRR1 0x13b -#define SPR_LPCR 0x13e /* Logical Partitioning Control */ +#define SPR_DAC1 0x13c /* ..8 Data Address Compare 1 */ +#define SPR_DAC2 0x13d /* ..8 Data Address Compare 2 */ +#define SPR_DVC1 0x13e /* ..8 Data Value Compare 1 */ +#define SPR_DVC2 0x13f /* ..8 Data Value Compare 2 */ + +#define SPR_LPCR 0x13e /* .6. Logical Partitioning Control */ #define LPCR_LPES 0x008 /* Bit 60 */ #define LPCR_HVICE 0x002 /* Hypervisor Virtualization Interrupt (Arch 3.0) */ #define LPCR_PECE_DRBL (1ULL << 16) /* Directed Privileged Doorbell */ @@ -251,7 +279,7 @@ #define LPCR_PECE_DECR (1ULL << 13) /* Decrementer exceptions */ #define LPCR_PECE_ME (1ULL << 12) /* Machine Check and Hypervisor */ /* Maintenance exceptions */ -#define SPR_LPID 0x13f /* Logical Partitioning Control */ +#define SPR_LPID 0x13f /* .6. Logical Partitioning Control */ #define SPR_HMER 0x150 /* Hypervisor Maintenance Exception Register */ #define SPR_HMEER 0x151 /* Hypervisor Maintenance Exception Enable Register */ @@ -451,18 +479,11 @@ #define SPR_UMMCR0 0x3a8 /* .6. User Monitor Mode Control Register 0 */ #define SPR_USIA 0x3ab /* .6. User Sampled Instruction Address */ #define SPR_UMMCR1 0x3ac /* .6. User Monitor Mode Control Register 1 */ -#define SPR_ZPR 0x3b0 /* 4.. Zone Protection Register */ #define SPR_MMCR2 0x3b0 /* .6. Monitor Mode Control Register 2 */ #define SPR_MMCR2_THRESHMULT_32 0x80000000 /* Multiply MMCR0 threshold by 32 */ #define SPR_MMCR2_THRESHMULT_2 0x00000000 /* Multiply MMCR0 threshold by 2 */ -#define SPR_PID 0x3b1 /* 4.. Process ID */ #define SPR_PMC5 0x3b1 /* .6. Performance Counter Register 5 */ #define SPR_PMC6 0x3b2 /* .6. Performance Counter Register 6 */ -#define SPR_CCR0 0x3b3 /* 4.. Core Configuration Register 0 */ -#define SPR_IAC3 0x3b4 /* 4.. Instruction Address Compare 3 */ -#define SPR_IAC4 0x3b5 /* 4.. Instruction Address Compare 4 */ -#define SPR_DVC1 0x3b6 /* 4.. Data Value Compare 1 */ -#define SPR_DVC2 0x3b7 /* 4.. Data Value Compare 2 */ #define SPR_MMCR0 0x3b8 /* .6. Monitor Mode Control Register 0 */ #define SPR_MMCR0_FC 0x80000000 /* Freeze counters */ #define SPR_MMCR0_FCS 0x40000000 /* Freeze counters in supervisor mode */ @@ -482,11 +503,8 @@ #define SPR_MMCR0_TRIGGER 0x00002000 /* Trigger */ #define SPR_MMCR0_PMC1SEL(x) (((x) & 0x3f) << 6) /* PMC1 selector */ #define SPR_MMCR0_PMC2SEL(x) (((x) & 0x3f) << 0) /* PMC2 selector */ -#define SPR_SGR 0x3b9 /* 4.. Storage Guarded Register */ #define SPR_PMC1 0x3b9 /* .6. Performance Counter Register 1 */ -#define SPR_DCWR 0x3ba /* 4.. Data Cache Write-through Register */ #define SPR_PMC2 0x3ba /* .6. Performance Counter Register 2 */ -#define SPR_SLER 0x3bb /* 4.. Storage Little Endian Register */ #define SPR_SIA 0x3bb /* .6. Sampled Instruction Address */ #define SPR_MMCR1 0x3bc /* .6. Monitor Mode Control Register 2 */ #define SPR_MMCR1_PMC3SEL(x) (((x) & 0x1f) << 27) /* PMC 3 selector */ @@ -494,24 +512,17 @@ #define SPR_MMCR1_PMC5SEL(x) (((x) & 0x1f) << 17) /* PMC 5 selector */ #define SPR_MMCR1_PMC6SEL(x) (((x) & 0x3f) << 11) /* PMC 6 selector */ -#define SPR_SU0R 0x3bc /* 4.. Storage User-defined 0 Register */ #define SPR_PMC3 0x3bd /* .6. Performance Counter Register 3 */ #define SPR_PMC4 0x3be /* .6. Performance Counter Register 4 */ #define SPR_DMISS 0x3d0 /* .68 Data TLB Miss Address Register */ #define SPR_DCMP 0x3d1 /* .68 Data TLB Compare Register */ #define SPR_HASH1 0x3d2 /* .68 Primary Hash Address Register */ -#define SPR_ICDBDR 0x3d3 /* 4.. Instruction Cache Debug Data Register */ #define SPR_HASH2 0x3d3 /* .68 Secondary Hash Address Register */ #define SPR_IMISS 0x3d4 /* .68 Instruction TLB Miss Address Register */ #define SPR_TLBMISS 0x3d4 /* .6. TLB Miss Address Register */ -#if defined(BOOKE_PPC4XX) -#define SPR_DEAR 0x3d5 /* 4.. Data Error Address Register */ -#else #define SPR_DEAR 0x03d /* ..8 Data Exception Address Register */ -#endif #define SPR_ICMP 0x3d5 /* .68 Instruction TLB Compare Register */ #define SPR_PTEHI 0x3d5 /* .6. Instruction TLB Compare Register */ -#define SPR_EVPR 0x3d6 /* 4.. Exception Vector Prefix Register */ #define SPR_RPA 0x3d6 /* .68 Required Physical Address Register */ #define SPR_PTELO 0x3d6 /* .6. Required Physical Address Register */ @@ -550,9 +561,6 @@ #define TCR_FIE 0x00800000 /* FIT Interrupt Enable */ #define TCR_ARE 0x00400000 /* Auto Reload Enable */ -#define SPR_PIT 0x3db /* 4.. Programmable Interval Timer */ -#define SPR_SRR2 0x3de /* 4.. Save/Restore Register 2 */ -#define SPR_SRR3 0x3df /* 4.. Save/Restore Register 3 */ #define SPR_HID0 0x3f0 /* ..8 Hardware Implementation Register 0 */ #define SPR_HID1 0x3f1 /* ..8 Hardware Implementation Register 1 */ #define SPR_HID2 0x3f3 /* ..8 Hardware Implementation Register 2 */ @@ -564,54 +572,9 @@ #define SPR_CELL_TSCR 0x399 /* ... Cell BE Thread Switch Register */ #if defined(AIM) -#define SPR_DBSR 0x3f0 /* 4.. Debug Status Register */ -#define DBSR_IC 0x80000000 /* Instruction completion debug event */ -#define DBSR_BT 0x40000000 /* Branch Taken debug event */ -#define DBSR_EDE 0x20000000 /* Exception debug event */ -#define DBSR_TIE 0x10000000 /* Trap Instruction debug event */ -#define DBSR_UDE 0x08000000 /* Unconditional debug event */ -#define DBSR_IA1 0x04000000 /* IAC1 debug event */ -#define DBSR_IA2 0x02000000 /* IAC2 debug event */ -#define DBSR_DR1 0x01000000 /* DAC1 Read debug event */ -#define DBSR_DW1 0x00800000 /* DAC1 Write debug event */ -#define DBSR_DR2 0x00400000 /* DAC2 Read debug event */ -#define DBSR_DW2 0x00200000 /* DAC2 Write debug event */ -#define DBSR_IDE 0x00100000 /* Imprecise debug event */ -#define DBSR_IA3 0x00080000 /* IAC3 debug event */ -#define DBSR_IA4 0x00040000 /* IAC4 debug event */ -#define DBSR_MRR 0x00000300 /* Most recent reset */ -#define SPR_DBCR0 0x3f2 /* 4.. Debug Control Register 0 */ -#define SPR_DBCR1 0x3bd /* 4.. Debug Control Register 1 */ -#define SPR_IAC1 0x3f4 /* 4.. Instruction Address Compare 1 */ -#define SPR_IAC2 0x3f5 /* 4.. Instruction Address Compare 2 */ -#define SPR_DAC1 0x3f6 /* 4.. Data Address Compare 1 */ -#define SPR_DAC2 0x3f7 /* 4.. Data Address Compare 2 */ #define SPR_PIR 0x3ff /* .6. Processor Identification Register */ #elif defined(BOOKE) #define SPR_PIR 0x11e /* ..8 Processor Identification Register */ -#define SPR_DBSR 0x130 /* ..8 Debug Status Register */ -#define DBSR_IDE 0x80000000 /* Imprecise debug event. */ -#define DBSR_UDE 0x40000000 /* Unconditional debug event. */ -#define DBSR_MRR 0x30000000 /* Most recent Reset (mask). */ -#define DBSR_ICMP 0x08000000 /* Instr. complete debug event. */ -#define DBSR_BRT 0x04000000 /* Branch taken debug event. */ -#define DBSR_IRPT 0x02000000 /* Interrupt taken debug event. */ -#define DBSR_TRAP 0x01000000 /* Trap instr. debug event. */ -#define DBSR_IAC1 0x00800000 /* Instr. address compare #1. */ -#define DBSR_IAC2 0x00400000 /* Instr. address compare #2. */ -#define DBSR_IAC3 0x00200000 /* Instr. address compare #3. */ -#define DBSR_IAC4 0x00100000 /* Instr. address compare #4. */ -#define DBSR_DAC1R 0x00080000 /* Data addr. read compare #1. */ -#define DBSR_DAC1W 0x00040000 /* Data addr. write compare #1. */ -#define DBSR_DAC2R 0x00020000 /* Data addr. read compare #2. */ -#define DBSR_DAC2W 0x00010000 /* Data addr. write compare #2. */ -#define DBSR_RET 0x00008000 /* Return debug event. */ -#define SPR_DBCR0 0x134 /* ..8 Debug Control Register 0 */ -#define SPR_DBCR1 0x135 /* ..8 Debug Control Register 1 */ -#define SPR_IAC1 0x138 /* ..8 Instruction Address Compare 1 */ -#define SPR_IAC2 0x139 /* ..8 Instruction Address Compare 2 */ -#define SPR_DAC1 0x13c /* ..8 Data Address Compare 1 */ -#define SPR_DAC2 0x13d /* ..8 Data Address Compare 2 */ #endif #define DBCR0_EDM 0x80000000 /* External Debug Mode */ @@ -724,8 +687,6 @@ #define L3CR_PMEN 0x00000004 #define L3CR_PMSIZ 0x00000003 -#define SPR_DCCR 0x3fa /* 4.. Data Cache Cachability Register */ -#define SPR_ICCR 0x3fb /* 4.. Instruction Cache Cachability Register */ #define SPR_THRM1 0x3fc /* .6. Thermal Management Register */ #define SPR_THRM2 0x3fd /* .6. Thermal Management Register */ #define SPR_THRM_TIN 0x80000000 /* Thermal interrupt bit (RO) */ @@ -782,15 +743,6 @@ #define SPR_MCSRR1 0x23b /* ..8 571 Machine check SRR1 */ #define SPR_DSRR0 0x23e /* ..8 574 Debug SRR0 */ #define SPR_DSRR1 0x23f /* ..8 575 Debug SRR1 */ - -#define SPR_MMUCR 0x3b2 /* 4.. MMU Control Register */ -#define MMUCR_SWOA (0x80000000 >> 7) -#define MMUCR_U1TE (0x80000000 >> 9) -#define MMUCR_U2SWOAE (0x80000000 >> 10) -#define MMUCR_DULXE (0x80000000 >> 12) -#define MMUCR_IULXE (0x80000000 >> 13) -#define MMUCR_STS (0x80000000 >> 15) -#define MMUCR_STID_MASK (0xFF000000 >> 24) #define SPR_MMUCSR0 0x3f4 /* ..8 1012 MMU Control and Status Register 0 */ #define MMUCSR0_L2TLB0_FI 0x04 /* TLB0 flash invalidate */ Modified: head/sys/powerpc/include/tlb.h ============================================================================== --- head/sys/powerpc/include/tlb.h Wed Mar 18 01:09:40 2020 (r359057) +++ head/sys/powerpc/include/tlb.h Wed Mar 18 01:09:43 2020 (r359058) @@ -156,56 +156,6 @@ void tlb1_inval_entry(unsigned int); void tlb1_init(void); #endif /* !LOCORE */ -#elif defined(BOOKE_PPC4XX) - -/* TLB Words */ -#define TLB_PAGEID 0 -#define TLB_XLAT 1 -#define TLB_ATTRIB 2 - -/* Page identification fields */ -#define TLB_EPN_MASK (0xFFFFFC00 >> 0) -#define TLB_VALID (0x80000000 >> 22) -#define TLB_TS (0x80000000 >> 23) -#define TLB_SIZE_1K (0x00000000 >> 24) -#define TLB_SIZE_MASK (0xF0000000 >> 24) - -/* Translation fields */ -#define TLB_RPN_MASK (0xFFFFFC00 >> 0) -#define TLB_ERPN_MASK (0xF0000000 >> 28) - -/* Storage attribute and access control fields */ -#define TLB_WL1 (0x80000000 >> 11) -#define TLB_IL1I (0x80000000 >> 12) -#define TLB_IL1D (0x80000000 >> 13) -#define TLB_IL2I (0x80000000 >> 14) -#define TLB_IL2D (0x80000000 >> 15) -#define TLB_U0 (0x80000000 >> 16) -#define TLB_U1 (0x80000000 >> 17) -#define TLB_U2 (0x80000000 >> 18) -#define TLB_U3 (0x80000000 >> 19) -#define TLB_W (0x80000000 >> 20) -#define TLB_I (0x80000000 >> 21) -#define TLB_M (0x80000000 >> 22) -#define TLB_G (0x80000000 >> 23) -#define TLB_E (0x80000000 >> 24) -#define TLB_UX (0x80000000 >> 26) -#define TLB_UW (0x80000000 >> 27) -#define TLB_UR (0x80000000 >> 28) -#define TLB_SX (0x80000000 >> 29) -#define TLB_SW (0x80000000 >> 30) -#define TLB_SR (0x80000000 >> 31) -#define TLB_SIZE 64 - -#define TLB_SIZE_4K (0x10000000 >> 24) -#define TLB_SIZE_16K (0x20000000 >> 24) -#define TLB_SIZE_64K (0x30000000 >> 24) -#define TLB_SIZE_256K (0x40000000 >> 24) -#define TLB_SIZE_1M (0x50000000 >> 24) -#define TLB_SIZE_16M (0x70000000 >> 24) -#define TLB_SIZE_256M (0x90000000 >> 24) -#define TLB_SIZE_1G (0xA0000000 >> 24) - #endif /* BOOKE_E500 */ #define TID_KERNEL 0 /* TLB TID to use for kernel (shared) translations */ Modified: head/sys/powerpc/powerpc/db_disasm.c ============================================================================== --- head/sys/powerpc/powerpc/db_disasm.c Wed Mar 18 01:09:40 2020 (r359057) +++ head/sys/powerpc/powerpc/db_disasm.c Wed Mar 18 01:09:43 2020 (r359058) @@ -425,11 +425,7 @@ const struct specialreg sprregs[] = { { 0x019, "sdr1" }, { 0x01a, "srr0" }, { 0x01b, "srr1" }, -#ifdef BOOKE_PPC4XX - { 0x100, "usprg0" }, -#else { 0x100, "vrsave" }, -#endif { 0x110, "sprg0" }, { 0x111, "sprg1" }, { 0x112, "sprg2" }, @@ -496,14 +492,6 @@ const struct specialreg sprregs[] = { { 0x3db, "pit" }, { 0x3de, "srr2" }, { 0x3df, "srr3" }, -#ifdef BOOKE_PPC4XX - { 0x3f0, "dbsr" }, - { 0x3f2, "dbcr0" }, - { 0x3f4, "iac1" }, - { 0x3f5, "iac2" }, - { 0x3f6, "dac1" }, - { 0x3f7, "dac2" }, -#else { 0x3f0, "hid0" }, { 0x3f1, "hid1" }, { 0x3f2, "iabr" }, @@ -511,7 +499,6 @@ const struct specialreg sprregs[] = { { 0x3f5, "dabr" }, { 0x3f6, "msscr0" }, { 0x3f7, "msscr1" }, -#endif { 0x3f9, "l2cr" }, { 0x3fa, "dccr" }, { 0x3fb, "iccr" }, From owner-svn-src-all@freebsd.org Wed Mar 18 01:25:08 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7F431278200 for ; Wed, 18 Mar 2020 01:25:08 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound3d.ore.mailhop.org (outbound3d.ore.mailhop.org [54.186.57.195]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48hsm24FDFz3Jvr for ; Wed, 18 Mar 2020 01:25:06 +0000 (UTC) (envelope-from ian@freebsd.org) ARC-Seal: i=1; a=rsa-sha256; t=1584494704; cv=none; d=outbound.mailhop.org; s=arc-outbound20181012; b=XVvpbVMobtBdHsIkd5jt7eDT87R5fjfTxLJr7YovzIqENxQOLRmCr3+mm+lJODbKwf3NsoMN3OCYi Z2L7DipHOU7FXJcH5GaxjIGZEhFPqi9/BDF7kKOBUbmWtQS+ni1CNwIqkC757KsdwaVSL19Mj/5Igp /oupa+RzXy4y+62Q2Rru1d8CZcMZpKpgZUKNqfakUdyUFKFr8bHtMiYqJvBkhturA21KoI13pdyQrU wS/lsb4GdMc7PZczDjxVQoMlzedWZhCgB1v8LaBxCI/DpUrB3MMjkwG1l8qCoL9JSoJmlXWtU34BFd T6d2cTWv1R4gGGmE8XeVYec7kHvPYAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=arc-outbound20181012; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:to:from:subject:message-id:dkim-signature:from; bh=7PI7hl5cfNVe/SqIvpIVX3vcpQPBKk2kfGPgmS1A/kk=; b=nTqDNzJrU/Y2hhMMuIABpHu6ylgajHZH7DDjW5N/+MqKvdlOcRfyTBRrzQXIT1YyMzfPZ020/zYaw 5KbTkPQ2N59UeFap/BMe6ZCaxsNqhjWw8wrpj2gfGH8i/iEIT1H1WDox5EdEMPOSW+NY+Cu5DVtqw9 +/nj3Pju7KRRQ3zXhO4TLjjYomFEixyCfrKPL0QEhRG+kNWppLEOXOPoKxSxkHaCzJ7HhLcAFwVzJ9 XdTh+zJczSfKvVk+jtJY1QKIQiz9PPPl9mQyUnvgfr4YUIbEnQu6Gky5txCLNTADIyWRtrk2Jeaoj+ NWzVU/sRPGDboAW49gf+0cKY9dSJIqg== ARC-Authentication-Results: i=1; outbound3.ore.mailhop.org; spf=softfail smtp.mailfrom=freebsd.org smtp.remote-ip=67.177.211.60; dmarc=none header.from=freebsd.org; arc=none header.oldest-pass=0; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=dkim-high; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:to:from:subject:message-id:from; bh=7PI7hl5cfNVe/SqIvpIVX3vcpQPBKk2kfGPgmS1A/kk=; b=ieMozSjGLDFJdVSquebtDd/Iw40DIS24TCYhUcJSSECT5j/XvZ29MYc3OYYQHyKrqn5FJ9dY5bqRo eVnQFsju3Htf9DbmLEAyHkB3YWUJLRPpBPltcziVrNA510o49MATVMxqudOIbgo3aUm72cH2bJKhNo +F3otuCirPh9Q0UBUhv/Q7MwsW3GWUFcXICzLp4wE+zZRtkqXRTeYtovq7E+czxz2v0VPxFh99kemw wOzdBPyl4z3RknHiuqjdKrcA6+uF+BGPdFxnNow5i/LNTxVaBkz9AWZfDBG4r4TvGYDbsRS+gng45E D+nRHHoN8aHVieaK7tGYnF6M0ff6wMw== X-MHO-RoutePath: aGlwcGll X-MHO-User: 4a5346cd-68b7-11ea-b80e-052b4a66b6b2 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 67.177.211.60 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [67.177.211.60]) by outbound3.ore.mailhop.org (Halon) with ESMTPSA id 4a5346cd-68b7-11ea-b80e-052b4a66b6b2; Wed, 18 Mar 2020 01:25:03 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id 02I1P2OV074116; Tue, 17 Mar 2020 19:25:02 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <96b14f0cff17b3367e3428dbcdc1bf12d7ab7356.camel@freebsd.org> Subject: Re: svn commit: r359053 - head/sys/kern From: Ian Lepore To: John Baldwin , Conrad Meyer , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Date: Tue, 17 Mar 2020 19:25:01 -0600 In-Reply-To: References: <202003172227.02HMRHLM086023@repo.freebsd.org> <047c4edb4ff9fa6c40be6492c2f082e374f7a941.camel@freebsd.org> Content-Type: text/plain; charset="ASCII" X-Mailer: Evolution 3.28.5 FreeBSD GNOME Team Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 48hsm24FDFz3Jvr X-Spamd-Bar: + Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [1.97 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_SPAM_LONG(1.00)[0.996,0]; NEURAL_SPAM_MEDIUM(0.98)[0.976,0]; ASN(0.00)[asn:16509, ipnet:54.186.0.0/15, country:US] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 01:25:08 -0000 On Tue, 2020-03-17 at 17:05 -0700, John Baldwin wrote: > On 3/17/20 3:36 PM, Ian Lepore wrote: > > On Tue, 2020-03-17 at 22:27 +0000, Conrad Meyer wrote: > > > Author: cem > > > Date: Tue Mar 17 22:27:16 2020 > > > New Revision: 359053 > > > URL: https://svnweb.freebsd.org/changeset/base/359053 > > > > > > Log: > > > Implement sysctl kern.boot_id > > > > > > Boot IDs are random, opaque 128-bit identifiers that > > > distinguish distinct > > > system boots. A new ID is generated each time the system > > > boots. Unlike > > > kern.boottime, the value is not modified by NTP > > > adjustments. It remains fixed > > > until the machine is restarted. > > > > > > PR: 244867 > > > Reported by: Ricardo Fraile > > > MFC after: I do not intend to, but feel free > > > > > > Modified: > > > head/sys/kern/kern_mib.c > > > > > > Modified: head/sys/kern/kern_mib.c > > > ================================================================= > > > ============= > > > --- head/sys/kern/kern_mib.c Tue Mar 17 21:29:03 2020 ( > > > r359052) > > > +++ head/sys/kern/kern_mib.c Tue Mar 17 22:27:16 2020 ( > > > r359053) > > > @@ -448,6 +448,32 @@ SYSCTL_PROC(_kern, KERN_HOSTID, hostid, > > > CTLTYPE_ULONG | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE > > > | CTLFLAG_CAPRD, > > > NULL, 0, sysctl_hostid, "LU", "Host ID"); > > > > > > +static struct mtx bootid_lk; > > > +MTX_SYSINIT(bootid_lock, &bootid_lk, "bootid generator lock", > > > MTX_DEF); > > > + > > > +static int > > > +sysctl_bootid(SYSCTL_HANDLER_ARGS) > > > +{ > > > + static uint8_t boot_id[16]; > > > + static bool initialized = false; > > > + > > > + mtx_lock(&bootid_lk); > > > + if (!initialized) { > > > + if (!is_random_seeded()) { > > > + mtx_unlock(&bootid_lk); > > > + return (ENXIO); > > > + } > > > + arc4random_buf(boot_id, sizeof(boot_id)); > > > + initialized = true; > > > + } > > > + mtx_unlock(&bootid_lk); > > > + > > > + return (SYSCTL_OUT(req, boot_id, sizeof(boot_id))); > > > +} > > > +SYSCTL_PROC(_kern, OID_AUTO, boot_id, > > > + CTLTYPE_STRUCT | CTLFLAG_RD | CTLFLAG_MPSAFE | > > > CTLFLAG_CAPRD, > > > + NULL, 0, sysctl_bootid, "", "Random boot ID"); > > > + > > > /* > > > * The osrelease string is copied from the global (osrelease in > > > vers.c) into > > > * prison0 by a sysinit and is inherited by child jails if not > > > changed at jail > > > > This seems a bit complex. Why run a sysinit to init a mutex so > > that > > you can safely do a lazy init of boot_id? Seems like it would be > > much > > easier to just use a sysinit at SI_SUB_LAST to init boot_id before > > sysctl can reference it. > > Presumably you may not have enough entropy by SI_SUB_LAST to generate > it? > I thought arc4random in the kernel could provide random numbers immediately (and definitely after jitter in device attachment times at the end of kernel init)? This doesn't seem like the kind of thing that needs crypto-strength randomness. -- Ian From owner-svn-src-all@freebsd.org Wed Mar 18 01:55:28 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E5BD1278C02; Wed, 18 Mar 2020 01:55:28 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48htR44m6Wz3DCX; Wed, 18 Mar 2020 01:55:28 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 461D21AA40; Wed, 18 Mar 2020 01:55:28 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02I1tSFZ013003; Wed, 18 Mar 2020 01:55:28 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02I1tSEt013002; Wed, 18 Mar 2020 01:55:28 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202003180155.02I1tSEt013002@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Wed, 18 Mar 2020 01:55:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359059 - in stable: 11/lib/libssp 12/lib/libssp X-SVN-Group: stable-12 X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in stable: 11/lib/libssp 12/lib/libssp X-SVN-Commit-Revision: 359059 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 01:55:29 -0000 Author: kevans Date: Wed Mar 18 01:55:27 2020 New Revision: 359059 URL: https://svnweb.freebsd.org/changeset/base/359059 Log: MFC r358993: libssp: don't compile with -fstack-protector* This similarly matches what we do in libc; compiling libssp with -fstack-protector* is actively harmful. For instance, if the canary ctor ends up with a stack protector then it will trivially trigger a false positive as the canary's being initialized. This was noted by the reporter as irc/ircd-hybrid started crashing at start after our libssp was MFC'd to stable/11, as its build will explicitly link in libssp. On FreeBSD, this isn't necessary as SSP bits are included in libc, but it should absolutely not trigger runtime breakage -- it does mean that the canary will get initialized twice, but as this is happening early on in application startup it should just be redundant work. Modified: stable/12/lib/libssp/Makefile Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Modified: stable/11/lib/libssp/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/12/lib/libssp/Makefile ============================================================================== --- stable/12/lib/libssp/Makefile Wed Mar 18 01:09:43 2020 (r359058) +++ stable/12/lib/libssp/Makefile Wed Mar 18 01:55:27 2020 (r359059) @@ -17,4 +17,8 @@ SRCS= stack_protector.c fortify_stubs.c CFLAGS.fortify_stubs.c= -Wno-unused-parameter +# Stack protection on libssp symbols should be considered harmful, as we may +# be talking about, for example, the guard setup constructor. +SSP_CFLAGS:= + .include From owner-svn-src-all@freebsd.org Wed Mar 18 01:55:28 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7B494278BFD; Wed, 18 Mar 2020 01:55:28 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48htR41vG1z3DBc; Wed, 18 Mar 2020 01:55:28 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1B8CB1AA3F; Wed, 18 Mar 2020 01:55:28 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02I1tRY9012997; Wed, 18 Mar 2020 01:55:27 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02I1tRBs012996; Wed, 18 Mar 2020 01:55:27 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202003180155.02I1tRBs012996@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Wed, 18 Mar 2020 01:55:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359059 - in stable: 11/lib/libssp 12/lib/libssp X-SVN-Group: stable-11 X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in stable: 11/lib/libssp 12/lib/libssp X-SVN-Commit-Revision: 359059 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 01:55:28 -0000 Author: kevans Date: Wed Mar 18 01:55:27 2020 New Revision: 359059 URL: https://svnweb.freebsd.org/changeset/base/359059 Log: MFC r358993: libssp: don't compile with -fstack-protector* This similarly matches what we do in libc; compiling libssp with -fstack-protector* is actively harmful. For instance, if the canary ctor ends up with a stack protector then it will trivially trigger a false positive as the canary's being initialized. This was noted by the reporter as irc/ircd-hybrid started crashing at start after our libssp was MFC'd to stable/11, as its build will explicitly link in libssp. On FreeBSD, this isn't necessary as SSP bits are included in libc, but it should absolutely not trigger runtime breakage -- it does mean that the canary will get initialized twice, but as this is happening early on in application startup it should just be redundant work. Modified: stable/11/lib/libssp/Makefile Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/12/lib/libssp/Makefile Directory Properties: stable/12/ (props changed) Modified: stable/11/lib/libssp/Makefile ============================================================================== --- stable/11/lib/libssp/Makefile Wed Mar 18 01:09:43 2020 (r359058) +++ stable/11/lib/libssp/Makefile Wed Mar 18 01:55:27 2020 (r359059) @@ -17,4 +17,8 @@ SRCS= stack_protector.c fortify_stubs.c CFLAGS.fortify_stubs.c= -Wno-unused-parameter +# Stack protection on libssp symbols should be considered harmful, as we may +# be talking about, for example, the guard setup constructor. +SSP_CFLAGS:= + .include From owner-svn-src-all@freebsd.org Wed Mar 18 02:13:18 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A608B27950A; Wed, 18 Mar 2020 02:13:18 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48htqf2QT8z4GLn; Wed, 18 Mar 2020 02:13:18 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D2FC61ADFE; Wed, 18 Mar 2020 02:13:17 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02I2DHMG025140; Wed, 18 Mar 2020 02:13:17 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02I2DDbF025121; Wed, 18 Mar 2020 02:13:13 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <202003180213.02I2DDbF025121@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Wed, 18 Mar 2020 02:13:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359060 - in head: . crypto/openssl crypto/openssl/apps crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/aes/asm crypto/openssl/crypto/aria crypto/openssl/crypto/as... X-SVN-Group: head X-SVN-Commit-Author: jkim X-SVN-Commit-Paths: in head: . crypto/openssl crypto/openssl/apps crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/aes/asm crypto/openssl/crypto/aria crypto/openssl/crypto/asn1 crypto/openssl/crypto/... X-SVN-Commit-Revision: 359060 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 02:13:18 -0000 Author: jkim Date: Wed Mar 18 02:13:12 2020 New Revision: 359060 URL: https://svnweb.freebsd.org/changeset/base/359060 Log: Merge OpenSSL 1.1.1e. Added: head/crypto/openssl/crypto/aes/aes_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/aes/aes_local.h head/crypto/openssl/crypto/asn1/asn1_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/asn1/asn1_local.h head/crypto/openssl/crypto/async/async_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/async/async_local.h head/crypto/openssl/crypto/bf/bf_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/bf/bf_local.h head/crypto/openssl/crypto/bio/bio_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/bio/bio_local.h head/crypto/openssl/crypto/blake2/blake2_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/blake2/blake2_local.h head/crypto/openssl/crypto/bn/bn_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/bn/bn_local.h head/crypto/openssl/crypto/camellia/cmll_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/camellia/cmll_local.h head/crypto/openssl/crypto/cast/cast_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/cast/cast_local.h head/crypto/openssl/crypto/cms/cms_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/cms/cms_local.h head/crypto/openssl/crypto/comp/comp_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/comp/comp_local.h head/crypto/openssl/crypto/conf/conf_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/conf/conf_local.h head/crypto/openssl/crypto/ct/ct_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/ct/ct_local.h head/crypto/openssl/crypto/des/des_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/des/des_local.h head/crypto/openssl/crypto/dh/dh_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/dh/dh_local.h head/crypto/openssl/crypto/dsa/dsa_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/dsa/dsa_local.h head/crypto/openssl/crypto/dso/dso_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/dso/dso_local.h head/crypto/openssl/crypto/ec/curve448/curve448_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/ec/curve448/curve448_local.h head/crypto/openssl/crypto/ec/ec_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/ec/ec_local.h head/crypto/openssl/crypto/engine/eng_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/engine/eng_local.h head/crypto/openssl/crypto/evp/evp_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/evp/evp_local.h head/crypto/openssl/crypto/hmac/hmac_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/hmac/hmac_local.h head/crypto/openssl/crypto/idea/idea_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/idea/idea_local.h head/crypto/openssl/crypto/lhash/lhash_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/lhash/lhash_local.h head/crypto/openssl/crypto/md4/md4_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/md4/md4_local.h head/crypto/openssl/crypto/md5/md5_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/md5/md5_local.h head/crypto/openssl/crypto/modes/modes_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/modes/modes_local.h head/crypto/openssl/crypto/objects/obj_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/objects/obj_local.h head/crypto/openssl/crypto/ocsp/ocsp_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/ocsp/ocsp_local.h head/crypto/openssl/crypto/pkcs12/p12_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/pkcs12/p12_local.h head/crypto/openssl/crypto/rand/rand_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/rand/rand_local.h head/crypto/openssl/crypto/rc2/rc2_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/rc2/rc2_local.h head/crypto/openssl/crypto/rc4/rc4_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/rc4/rc4_local.h head/crypto/openssl/crypto/rc5/rc5_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/rc5/rc5_local.h head/crypto/openssl/crypto/ripemd/rmd_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/ripemd/rmd_local.h head/crypto/openssl/crypto/rsa/rsa_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/rsa/rsa_local.h head/crypto/openssl/crypto/seed/seed_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/seed/seed_local.h head/crypto/openssl/crypto/sha/sha_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/sha/sha_local.h head/crypto/openssl/crypto/sm3/sm3_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/sm3/sm3_local.h head/crypto/openssl/crypto/store/store_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/store/store_local.h head/crypto/openssl/crypto/ts/ts_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/ts/ts_local.h head/crypto/openssl/crypto/ui/ui_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/ui/ui_local.h head/crypto/openssl/crypto/whrlpool/wp_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/whrlpool/wp_local.h head/crypto/openssl/crypto/x509/x509_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/x509/x509_local.h head/crypto/openssl/crypto/x509v3/pcy_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/crypto/x509v3/pcy_local.h head/crypto/openssl/doc/man3/EVP_PKEY_size.pod - copied unchanged from r359051, vendor-crypto/openssl/dist/doc/man3/EVP_PKEY_size.pod head/crypto/openssl/doc/man3/X509_LOOKUP.pod - copied unchanged from r359051, vendor-crypto/openssl/dist/doc/man3/X509_LOOKUP.pod head/crypto/openssl/doc/man7/proxy-certificates.pod - copied unchanged from r359051, vendor-crypto/openssl/dist/doc/man7/proxy-certificates.pod head/crypto/openssl/include/crypto/ - copied from r359051, vendor-crypto/openssl/dist/include/crypto/ head/crypto/openssl/include/crypto/bn_conf.h - copied, changed from r359059, head/crypto/openssl/crypto/include/internal/bn_conf.h head/crypto/openssl/include/crypto/dso_conf.h - copied, changed from r359059, head/crypto/openssl/crypto/include/internal/dso_conf.h head/crypto/openssl/include/internal/constant_time.h - copied unchanged from r359051, vendor-crypto/openssl/dist/include/internal/constant_time.h head/crypto/openssl/ssl/packet_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/ssl/packet_local.h head/crypto/openssl/ssl/record/record_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/ssl/record/record_local.h head/crypto/openssl/ssl/ssl_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/ssl/ssl_local.h head/crypto/openssl/ssl/statem/statem_local.h - copied unchanged from r359051, vendor-crypto/openssl/dist/ssl/statem/statem_local.h head/secure/lib/libcrypto/man/man3/EVP_PKEY_size.3 (contents, props changed) head/secure/lib/libcrypto/man/man3/X509_LOOKUP.3 (contents, props changed) head/secure/lib/libcrypto/man/man7/proxy-certificates.7 (contents, props changed) Deleted: head/crypto/openssl/crypto/aes/aes_locl.h head/crypto/openssl/crypto/asn1/asn1_locl.h head/crypto/openssl/crypto/async/async_locl.h head/crypto/openssl/crypto/bf/bf_locl.h head/crypto/openssl/crypto/bio/bio_lcl.h head/crypto/openssl/crypto/blake2/blake2_locl.h head/crypto/openssl/crypto/bn/bn_lcl.h head/crypto/openssl/crypto/camellia/cmll_locl.h head/crypto/openssl/crypto/cast/cast_lcl.h head/crypto/openssl/crypto/cms/cms_lcl.h head/crypto/openssl/crypto/comp/comp_lcl.h head/crypto/openssl/crypto/conf/conf_lcl.h head/crypto/openssl/crypto/ct/ct_locl.h head/crypto/openssl/crypto/des/des_locl.h head/crypto/openssl/crypto/dh/dh_locl.h head/crypto/openssl/crypto/dsa/dsa_locl.h head/crypto/openssl/crypto/dso/dso_locl.h head/crypto/openssl/crypto/ec/curve448/curve448_lcl.h head/crypto/openssl/crypto/ec/ec_lcl.h head/crypto/openssl/crypto/engine/eng_int.h head/crypto/openssl/crypto/evp/evp_locl.h head/crypto/openssl/crypto/hmac/hmac_lcl.h head/crypto/openssl/crypto/idea/idea_lcl.h head/crypto/openssl/crypto/include/internal/bn_conf.h head/crypto/openssl/crypto/include/internal/dso_conf.h head/crypto/openssl/crypto/lhash/lhash_lcl.h head/crypto/openssl/crypto/md4/md4_locl.h head/crypto/openssl/crypto/md5/md5_locl.h head/crypto/openssl/crypto/modes/modes_lcl.h head/crypto/openssl/crypto/objects/obj_lcl.h head/crypto/openssl/crypto/ocsp/ocsp_lcl.h head/crypto/openssl/crypto/pkcs12/p12_lcl.h head/crypto/openssl/crypto/rand/rand_lcl.h head/crypto/openssl/crypto/rc2/rc2_locl.h head/crypto/openssl/crypto/rc4/rc4_locl.h head/crypto/openssl/crypto/rc5/rc5_locl.h head/crypto/openssl/crypto/ripemd/rmd_locl.h head/crypto/openssl/crypto/rsa/rsa_locl.h head/crypto/openssl/crypto/seed/seed_locl.h head/crypto/openssl/crypto/sha/sha_locl.h head/crypto/openssl/crypto/sm3/sm3_locl.h head/crypto/openssl/crypto/store/store_locl.h head/crypto/openssl/crypto/ts/ts_lcl.h head/crypto/openssl/crypto/ui/ui_locl.h head/crypto/openssl/crypto/whrlpool/wp_locl.h head/crypto/openssl/crypto/x509/x509_lcl.h head/crypto/openssl/crypto/x509v3/pcy_int.h head/crypto/openssl/doc/HOWTO/proxy_certificates.txt head/crypto/openssl/include/internal/constant_time_locl.h head/crypto/openssl/ssl/packet_locl.h head/crypto/openssl/ssl/record/record_locl.h head/crypto/openssl/ssl/ssl_locl.h head/crypto/openssl/ssl/statem/statem_locl.h Modified: head/ObsoleteFiles.inc head/crypto/openssl/CHANGES head/crypto/openssl/CONTRIBUTING head/crypto/openssl/Configure head/crypto/openssl/INSTALL head/crypto/openssl/NEWS head/crypto/openssl/README head/crypto/openssl/apps/apps.c head/crypto/openssl/apps/apps.h head/crypto/openssl/apps/dgst.c head/crypto/openssl/apps/enc.c head/crypto/openssl/apps/ocsp.c head/crypto/openssl/apps/openssl.c head/crypto/openssl/apps/passwd.c head/crypto/openssl/apps/pkcs12.c head/crypto/openssl/apps/pkeyutl.c head/crypto/openssl/apps/req.c head/crypto/openssl/apps/s_cb.c head/crypto/openssl/apps/s_server.c head/crypto/openssl/apps/server.pem head/crypto/openssl/apps/speed.c head/crypto/openssl/apps/timeouts.h head/crypto/openssl/apps/ts.c head/crypto/openssl/apps/x509.c head/crypto/openssl/appveyor.yml head/crypto/openssl/build.info head/crypto/openssl/config head/crypto/openssl/crypto/LPdir_unix.c head/crypto/openssl/crypto/aes/aes_core.c head/crypto/openssl/crypto/aes/aes_ecb.c head/crypto/openssl/crypto/aes/aes_ige.c head/crypto/openssl/crypto/aes/aes_misc.c head/crypto/openssl/crypto/aes/aes_x86core.c head/crypto/openssl/crypto/aes/asm/aes-armv4.pl head/crypto/openssl/crypto/aes/asm/aes-c64xplus.pl head/crypto/openssl/crypto/aes/asm/aes-mips.pl head/crypto/openssl/crypto/aes/asm/aes-parisc.pl head/crypto/openssl/crypto/aes/asm/aes-ppc.pl head/crypto/openssl/crypto/aes/asm/aes-s390x.pl head/crypto/openssl/crypto/aes/asm/aes-sparcv9.pl head/crypto/openssl/crypto/aes/asm/aesfx-sparcv9.pl head/crypto/openssl/crypto/aes/asm/aesni-mb-x86_64.pl head/crypto/openssl/crypto/aes/asm/aesni-sha1-x86_64.pl head/crypto/openssl/crypto/aes/asm/aesni-sha256-x86_64.pl head/crypto/openssl/crypto/aes/asm/aesni-x86.pl head/crypto/openssl/crypto/aes/asm/aesni-x86_64.pl head/crypto/openssl/crypto/aes/asm/aesp8-ppc.pl head/crypto/openssl/crypto/aes/asm/aest4-sparcv9.pl head/crypto/openssl/crypto/aes/asm/aesv8-armx.pl head/crypto/openssl/crypto/aes/asm/bsaes-armv7.pl head/crypto/openssl/crypto/aes/asm/vpaes-armv8.pl head/crypto/openssl/crypto/aes/asm/vpaes-ppc.pl head/crypto/openssl/crypto/aes/asm/vpaes-x86.pl head/crypto/openssl/crypto/aes/asm/vpaes-x86_64.pl head/crypto/openssl/crypto/aria/aria.c head/crypto/openssl/crypto/arm64cpuid.pl head/crypto/openssl/crypto/arm_arch.h head/crypto/openssl/crypto/armv4cpuid.pl head/crypto/openssl/crypto/asn1/a_bitstr.c head/crypto/openssl/crypto/asn1/a_d2i_fp.c head/crypto/openssl/crypto/asn1/a_gentm.c head/crypto/openssl/crypto/asn1/a_int.c head/crypto/openssl/crypto/asn1/a_mbstr.c head/crypto/openssl/crypto/asn1/a_object.c head/crypto/openssl/crypto/asn1/a_print.c head/crypto/openssl/crypto/asn1/a_sign.c head/crypto/openssl/crypto/asn1/a_strex.c head/crypto/openssl/crypto/asn1/a_time.c head/crypto/openssl/crypto/asn1/a_type.c head/crypto/openssl/crypto/asn1/a_utctm.c head/crypto/openssl/crypto/asn1/a_verify.c head/crypto/openssl/crypto/asn1/ameth_lib.c head/crypto/openssl/crypto/asn1/asn1_lib.c head/crypto/openssl/crypto/asn1/asn1_par.c head/crypto/openssl/crypto/asn1/asn_mime.c head/crypto/openssl/crypto/asn1/asn_moid.c head/crypto/openssl/crypto/asn1/charmap.h head/crypto/openssl/crypto/asn1/d2i_pr.c head/crypto/openssl/crypto/asn1/d2i_pu.c head/crypto/openssl/crypto/asn1/f_int.c head/crypto/openssl/crypto/asn1/f_string.c head/crypto/openssl/crypto/asn1/i2d_pr.c head/crypto/openssl/crypto/asn1/p8_pkey.c head/crypto/openssl/crypto/asn1/t_pkey.c head/crypto/openssl/crypto/asn1/tasn_dec.c head/crypto/openssl/crypto/asn1/tasn_enc.c head/crypto/openssl/crypto/asn1/tasn_fre.c head/crypto/openssl/crypto/asn1/tasn_new.c head/crypto/openssl/crypto/asn1/tasn_prn.c head/crypto/openssl/crypto/asn1/tasn_scn.c head/crypto/openssl/crypto/asn1/tasn_utl.c head/crypto/openssl/crypto/asn1/x_algor.c head/crypto/openssl/crypto/asn1/x_bignum.c head/crypto/openssl/crypto/asn1/x_int64.c head/crypto/openssl/crypto/asn1/x_sig.c head/crypto/openssl/crypto/async/arch/async_null.c head/crypto/openssl/crypto/async/arch/async_posix.c head/crypto/openssl/crypto/async/arch/async_posix.h head/crypto/openssl/crypto/async/async.c head/crypto/openssl/crypto/async/async_wait.c head/crypto/openssl/crypto/bf/asm/bf-586.pl head/crypto/openssl/crypto/bf/bf_cfb64.c head/crypto/openssl/crypto/bf/bf_ecb.c head/crypto/openssl/crypto/bf/bf_enc.c head/crypto/openssl/crypto/bf/bf_ofb64.c head/crypto/openssl/crypto/bf/bf_skey.c head/crypto/openssl/crypto/bio/b_addr.c head/crypto/openssl/crypto/bio/b_dump.c head/crypto/openssl/crypto/bio/b_print.c head/crypto/openssl/crypto/bio/b_sock.c head/crypto/openssl/crypto/bio/b_sock2.c head/crypto/openssl/crypto/bio/bf_buff.c head/crypto/openssl/crypto/bio/bf_lbuf.c head/crypto/openssl/crypto/bio/bf_nbio.c head/crypto/openssl/crypto/bio/bf_null.c head/crypto/openssl/crypto/bio/bio_cb.c head/crypto/openssl/crypto/bio/bio_lib.c head/crypto/openssl/crypto/bio/bio_meth.c head/crypto/openssl/crypto/bio/bss_acpt.c head/crypto/openssl/crypto/bio/bss_bio.c head/crypto/openssl/crypto/bio/bss_conn.c head/crypto/openssl/crypto/bio/bss_dgram.c head/crypto/openssl/crypto/bio/bss_fd.c head/crypto/openssl/crypto/bio/bss_file.c head/crypto/openssl/crypto/bio/bss_log.c head/crypto/openssl/crypto/bio/bss_mem.c head/crypto/openssl/crypto/bio/bss_null.c head/crypto/openssl/crypto/bio/bss_sock.c head/crypto/openssl/crypto/blake2/blake2b.c head/crypto/openssl/crypto/blake2/blake2s.c head/crypto/openssl/crypto/blake2/m_blake2b.c head/crypto/openssl/crypto/blake2/m_blake2s.c head/crypto/openssl/crypto/bn/README.pod head/crypto/openssl/crypto/bn/asm/armv4-gf2m.pl head/crypto/openssl/crypto/bn/asm/armv4-mont.pl head/crypto/openssl/crypto/bn/asm/armv8-mont.pl head/crypto/openssl/crypto/bn/asm/bn-586.pl head/crypto/openssl/crypto/bn/asm/c64xplus-gf2m.pl head/crypto/openssl/crypto/bn/asm/co-586.pl head/crypto/openssl/crypto/bn/asm/ia64-mont.pl head/crypto/openssl/crypto/bn/asm/mips-mont.pl head/crypto/openssl/crypto/bn/asm/mips.pl head/crypto/openssl/crypto/bn/asm/parisc-mont.pl head/crypto/openssl/crypto/bn/asm/ppc-mont.pl head/crypto/openssl/crypto/bn/asm/ppc.pl head/crypto/openssl/crypto/bn/asm/ppc64-mont.pl head/crypto/openssl/crypto/bn/asm/rsaz-avx2.pl head/crypto/openssl/crypto/bn/asm/rsaz-x86_64.pl head/crypto/openssl/crypto/bn/asm/s390x-gf2m.pl head/crypto/openssl/crypto/bn/asm/s390x-mont.pl head/crypto/openssl/crypto/bn/asm/s390x.S head/crypto/openssl/crypto/bn/asm/sparct4-mont.pl head/crypto/openssl/crypto/bn/asm/sparcv9-gf2m.pl head/crypto/openssl/crypto/bn/asm/sparcv9-mont.pl head/crypto/openssl/crypto/bn/asm/sparcv9a-mont.pl head/crypto/openssl/crypto/bn/asm/via-mont.pl head/crypto/openssl/crypto/bn/asm/vis3-mont.pl head/crypto/openssl/crypto/bn/asm/x86-gf2m.pl head/crypto/openssl/crypto/bn/asm/x86-mont.pl head/crypto/openssl/crypto/bn/asm/x86_64-gcc.c head/crypto/openssl/crypto/bn/asm/x86_64-gf2m.pl head/crypto/openssl/crypto/bn/asm/x86_64-mont.pl head/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl head/crypto/openssl/crypto/bn/bn_add.c head/crypto/openssl/crypto/bn/bn_asm.c head/crypto/openssl/crypto/bn/bn_blind.c head/crypto/openssl/crypto/bn/bn_ctx.c head/crypto/openssl/crypto/bn/bn_depr.c head/crypto/openssl/crypto/bn/bn_dh.c head/crypto/openssl/crypto/bn/bn_div.c head/crypto/openssl/crypto/bn/bn_exp.c head/crypto/openssl/crypto/bn/bn_exp2.c head/crypto/openssl/crypto/bn/bn_gcd.c head/crypto/openssl/crypto/bn/bn_gf2m.c head/crypto/openssl/crypto/bn/bn_intern.c head/crypto/openssl/crypto/bn/bn_kron.c head/crypto/openssl/crypto/bn/bn_lib.c head/crypto/openssl/crypto/bn/bn_mod.c head/crypto/openssl/crypto/bn/bn_mont.c head/crypto/openssl/crypto/bn/bn_mpi.c head/crypto/openssl/crypto/bn/bn_mul.c head/crypto/openssl/crypto/bn/bn_nist.c head/crypto/openssl/crypto/bn/bn_prime.c head/crypto/openssl/crypto/bn/bn_prime.h head/crypto/openssl/crypto/bn/bn_print.c head/crypto/openssl/crypto/bn/bn_rand.c head/crypto/openssl/crypto/bn/bn_recp.c head/crypto/openssl/crypto/bn/bn_shift.c head/crypto/openssl/crypto/bn/bn_sqr.c head/crypto/openssl/crypto/bn/bn_sqrt.c head/crypto/openssl/crypto/bn/bn_srp.c head/crypto/openssl/crypto/bn/bn_word.c head/crypto/openssl/crypto/bn/bn_x931p.c head/crypto/openssl/crypto/bn/build.info head/crypto/openssl/crypto/bn/rsaz_exp.h head/crypto/openssl/crypto/c64xpluscpuid.pl head/crypto/openssl/crypto/camellia/asm/cmll-x86.pl head/crypto/openssl/crypto/camellia/asm/cmll-x86_64.pl head/crypto/openssl/crypto/camellia/asm/cmllt4-sparcv9.pl head/crypto/openssl/crypto/camellia/camellia.c head/crypto/openssl/crypto/camellia/cmll_ecb.c head/crypto/openssl/crypto/camellia/cmll_misc.c head/crypto/openssl/crypto/cast/asm/cast-586.pl head/crypto/openssl/crypto/cast/c_cfb64.c head/crypto/openssl/crypto/cast/c_ecb.c head/crypto/openssl/crypto/cast/c_enc.c head/crypto/openssl/crypto/cast/c_ofb64.c head/crypto/openssl/crypto/cast/c_skey.c head/crypto/openssl/crypto/chacha/asm/chacha-armv4.pl head/crypto/openssl/crypto/chacha/asm/chacha-armv8.pl head/crypto/openssl/crypto/chacha/asm/chacha-c64xplus.pl head/crypto/openssl/crypto/chacha/asm/chacha-ppc.pl head/crypto/openssl/crypto/chacha/asm/chacha-s390x.pl head/crypto/openssl/crypto/chacha/asm/chacha-x86.pl head/crypto/openssl/crypto/chacha/asm/chacha-x86_64.pl head/crypto/openssl/crypto/chacha/chacha_enc.c head/crypto/openssl/crypto/cmac/cm_ameth.c head/crypto/openssl/crypto/cmac/cm_pmeth.c head/crypto/openssl/crypto/cms/cms_asn1.c head/crypto/openssl/crypto/cms/cms_att.c head/crypto/openssl/crypto/cms/cms_cd.c head/crypto/openssl/crypto/cms/cms_dd.c head/crypto/openssl/crypto/cms/cms_enc.c head/crypto/openssl/crypto/cms/cms_env.c head/crypto/openssl/crypto/cms/cms_ess.c head/crypto/openssl/crypto/cms/cms_io.c head/crypto/openssl/crypto/cms/cms_kari.c head/crypto/openssl/crypto/cms/cms_lib.c head/crypto/openssl/crypto/cms/cms_pwri.c head/crypto/openssl/crypto/cms/cms_sd.c head/crypto/openssl/crypto/cms/cms_smime.c head/crypto/openssl/crypto/comp/c_zlib.c head/crypto/openssl/crypto/comp/comp_lib.c head/crypto/openssl/crypto/conf/conf_def.c head/crypto/openssl/crypto/conf/conf_def.h head/crypto/openssl/crypto/conf/conf_lib.c head/crypto/openssl/crypto/conf/conf_mall.c head/crypto/openssl/crypto/conf/conf_ssl.c head/crypto/openssl/crypto/cryptlib.c head/crypto/openssl/crypto/ct/ct_b64.c head/crypto/openssl/crypto/ct/ct_oct.c head/crypto/openssl/crypto/ct/ct_policy.c head/crypto/openssl/crypto/ct/ct_prn.c head/crypto/openssl/crypto/ct/ct_sct.c head/crypto/openssl/crypto/ct/ct_sct_ctx.c head/crypto/openssl/crypto/ct/ct_vfy.c head/crypto/openssl/crypto/ct/ct_x509v3.c head/crypto/openssl/crypto/ctype.c head/crypto/openssl/crypto/des/asm/crypt586.pl head/crypto/openssl/crypto/des/asm/des-586.pl head/crypto/openssl/crypto/des/asm/des_enc.m4 head/crypto/openssl/crypto/des/asm/dest4-sparcv9.pl head/crypto/openssl/crypto/des/cbc_cksm.c head/crypto/openssl/crypto/des/cfb64ede.c head/crypto/openssl/crypto/des/cfb64enc.c head/crypto/openssl/crypto/des/cfb_enc.c head/crypto/openssl/crypto/des/des_enc.c head/crypto/openssl/crypto/des/ecb3_enc.c head/crypto/openssl/crypto/des/ecb_enc.c head/crypto/openssl/crypto/des/fcrypt.c head/crypto/openssl/crypto/des/fcrypt_b.c head/crypto/openssl/crypto/des/ncbc_enc.c head/crypto/openssl/crypto/des/ofb64ede.c head/crypto/openssl/crypto/des/ofb64enc.c head/crypto/openssl/crypto/des/ofb_enc.c head/crypto/openssl/crypto/des/pcbc_enc.c head/crypto/openssl/crypto/des/qud_cksm.c head/crypto/openssl/crypto/des/set_key.c head/crypto/openssl/crypto/des/str2key.c head/crypto/openssl/crypto/des/xcbc_enc.c head/crypto/openssl/crypto/dh/dh_ameth.c head/crypto/openssl/crypto/dh/dh_asn1.c head/crypto/openssl/crypto/dh/dh_check.c head/crypto/openssl/crypto/dh/dh_gen.c head/crypto/openssl/crypto/dh/dh_key.c head/crypto/openssl/crypto/dh/dh_lib.c head/crypto/openssl/crypto/dh/dh_meth.c head/crypto/openssl/crypto/dh/dh_pmeth.c head/crypto/openssl/crypto/dh/dh_rfc5114.c head/crypto/openssl/crypto/dh/dh_rfc7919.c head/crypto/openssl/crypto/dllmain.c head/crypto/openssl/crypto/dsa/dsa_ameth.c head/crypto/openssl/crypto/dsa/dsa_asn1.c head/crypto/openssl/crypto/dsa/dsa_gen.c head/crypto/openssl/crypto/dsa/dsa_key.c head/crypto/openssl/crypto/dsa/dsa_lib.c head/crypto/openssl/crypto/dsa/dsa_meth.c head/crypto/openssl/crypto/dsa/dsa_ossl.c head/crypto/openssl/crypto/dsa/dsa_pmeth.c head/crypto/openssl/crypto/dsa/dsa_sign.c head/crypto/openssl/crypto/dsa/dsa_vrf.c head/crypto/openssl/crypto/dso/dso_dl.c head/crypto/openssl/crypto/dso/dso_dlfcn.c head/crypto/openssl/crypto/dso/dso_lib.c head/crypto/openssl/crypto/dso/dso_openssl.c head/crypto/openssl/crypto/ec/asm/ecp_nistz256-armv4.pl head/crypto/openssl/crypto/ec/asm/ecp_nistz256-armv8.pl head/crypto/openssl/crypto/ec/asm/ecp_nistz256-avx2.pl head/crypto/openssl/crypto/ec/asm/ecp_nistz256-ppc64.pl head/crypto/openssl/crypto/ec/asm/ecp_nistz256-sparcv9.pl head/crypto/openssl/crypto/ec/asm/ecp_nistz256-x86.pl head/crypto/openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl head/crypto/openssl/crypto/ec/asm/x25519-ppc64.pl head/crypto/openssl/crypto/ec/asm/x25519-x86_64.pl head/crypto/openssl/crypto/ec/curve25519.c head/crypto/openssl/crypto/ec/curve448/arch_32/arch_intrinsics.h head/crypto/openssl/crypto/ec/curve448/arch_32/f_impl.h head/crypto/openssl/crypto/ec/curve448/curve448.c head/crypto/openssl/crypto/ec/curve448/curve448utils.h head/crypto/openssl/crypto/ec/curve448/ed448.h head/crypto/openssl/crypto/ec/curve448/eddsa.c head/crypto/openssl/crypto/ec/curve448/field.h head/crypto/openssl/crypto/ec/curve448/point_448.h head/crypto/openssl/crypto/ec/curve448/word.h head/crypto/openssl/crypto/ec/ec2_oct.c head/crypto/openssl/crypto/ec/ec2_smpl.c head/crypto/openssl/crypto/ec/ec_ameth.c head/crypto/openssl/crypto/ec/ec_asn1.c head/crypto/openssl/crypto/ec/ec_check.c head/crypto/openssl/crypto/ec/ec_curve.c head/crypto/openssl/crypto/ec/ec_cvt.c head/crypto/openssl/crypto/ec/ec_key.c head/crypto/openssl/crypto/ec/ec_kmeth.c head/crypto/openssl/crypto/ec/ec_lib.c head/crypto/openssl/crypto/ec/ec_mult.c head/crypto/openssl/crypto/ec/ec_oct.c head/crypto/openssl/crypto/ec/ec_pmeth.c head/crypto/openssl/crypto/ec/ec_print.c head/crypto/openssl/crypto/ec/ecdh_kdf.c head/crypto/openssl/crypto/ec/ecdh_ossl.c head/crypto/openssl/crypto/ec/ecdsa_ossl.c head/crypto/openssl/crypto/ec/ecdsa_sign.c head/crypto/openssl/crypto/ec/ecdsa_vrf.c head/crypto/openssl/crypto/ec/ecp_mont.c head/crypto/openssl/crypto/ec/ecp_nist.c head/crypto/openssl/crypto/ec/ecp_nistp224.c head/crypto/openssl/crypto/ec/ecp_nistp256.c head/crypto/openssl/crypto/ec/ecp_nistp521.c head/crypto/openssl/crypto/ec/ecp_nistputil.c head/crypto/openssl/crypto/ec/ecp_nistz256.c head/crypto/openssl/crypto/ec/ecp_oct.c head/crypto/openssl/crypto/ec/ecp_smpl.c head/crypto/openssl/crypto/ec/ecx_meth.c head/crypto/openssl/crypto/engine/README head/crypto/openssl/crypto/engine/eng_all.c head/crypto/openssl/crypto/engine/eng_cnf.c head/crypto/openssl/crypto/engine/eng_ctrl.c head/crypto/openssl/crypto/engine/eng_devcrypto.c head/crypto/openssl/crypto/engine/eng_dyn.c head/crypto/openssl/crypto/engine/eng_fat.c head/crypto/openssl/crypto/engine/eng_init.c head/crypto/openssl/crypto/engine/eng_lib.c head/crypto/openssl/crypto/engine/eng_list.c head/crypto/openssl/crypto/engine/eng_openssl.c head/crypto/openssl/crypto/engine/eng_pkey.c head/crypto/openssl/crypto/engine/eng_rdrand.c head/crypto/openssl/crypto/engine/eng_table.c head/crypto/openssl/crypto/engine/tb_asnmth.c head/crypto/openssl/crypto/engine/tb_cipher.c head/crypto/openssl/crypto/engine/tb_dh.c head/crypto/openssl/crypto/engine/tb_digest.c head/crypto/openssl/crypto/engine/tb_dsa.c head/crypto/openssl/crypto/engine/tb_eckey.c head/crypto/openssl/crypto/engine/tb_pkmeth.c head/crypto/openssl/crypto/engine/tb_rand.c head/crypto/openssl/crypto/engine/tb_rsa.c head/crypto/openssl/crypto/err/err.c head/crypto/openssl/crypto/err/err_all.c head/crypto/openssl/crypto/err/openssl.txt head/crypto/openssl/crypto/evp/bio_md.c head/crypto/openssl/crypto/evp/bio_ok.c head/crypto/openssl/crypto/evp/c_allc.c head/crypto/openssl/crypto/evp/c_alld.c head/crypto/openssl/crypto/evp/cmeth_lib.c head/crypto/openssl/crypto/evp/digest.c head/crypto/openssl/crypto/evp/e_aes.c head/crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c head/crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c head/crypto/openssl/crypto/evp/e_aria.c head/crypto/openssl/crypto/evp/e_bf.c head/crypto/openssl/crypto/evp/e_camellia.c head/crypto/openssl/crypto/evp/e_cast.c head/crypto/openssl/crypto/evp/e_chacha20_poly1305.c head/crypto/openssl/crypto/evp/e_des.c head/crypto/openssl/crypto/evp/e_des3.c head/crypto/openssl/crypto/evp/e_idea.c head/crypto/openssl/crypto/evp/e_null.c head/crypto/openssl/crypto/evp/e_rc2.c head/crypto/openssl/crypto/evp/e_rc4.c head/crypto/openssl/crypto/evp/e_rc4_hmac_md5.c head/crypto/openssl/crypto/evp/e_rc5.c head/crypto/openssl/crypto/evp/e_seed.c head/crypto/openssl/crypto/evp/e_sm4.c head/crypto/openssl/crypto/evp/e_xcbc_d.c head/crypto/openssl/crypto/evp/encode.c head/crypto/openssl/crypto/evp/evp_enc.c head/crypto/openssl/crypto/evp/evp_err.c head/crypto/openssl/crypto/evp/evp_lib.c head/crypto/openssl/crypto/evp/evp_pbe.c head/crypto/openssl/crypto/evp/evp_pkey.c head/crypto/openssl/crypto/evp/m_md2.c head/crypto/openssl/crypto/evp/m_md4.c head/crypto/openssl/crypto/evp/m_md5.c head/crypto/openssl/crypto/evp/m_md5_sha1.c head/crypto/openssl/crypto/evp/m_mdc2.c head/crypto/openssl/crypto/evp/m_null.c head/crypto/openssl/crypto/evp/m_ripemd.c head/crypto/openssl/crypto/evp/m_sha1.c head/crypto/openssl/crypto/evp/m_sha3.c head/crypto/openssl/crypto/evp/m_sigver.c head/crypto/openssl/crypto/evp/m_wp.c head/crypto/openssl/crypto/evp/names.c head/crypto/openssl/crypto/evp/p5_crpt.c head/crypto/openssl/crypto/evp/p5_crpt2.c head/crypto/openssl/crypto/evp/p_lib.c head/crypto/openssl/crypto/evp/p_sign.c head/crypto/openssl/crypto/evp/p_verify.c head/crypto/openssl/crypto/evp/pmeth_fn.c head/crypto/openssl/crypto/evp/pmeth_gn.c head/crypto/openssl/crypto/evp/pmeth_lib.c head/crypto/openssl/crypto/ex_data.c head/crypto/openssl/crypto/hmac/hm_ameth.c head/crypto/openssl/crypto/hmac/hm_pmeth.c head/crypto/openssl/crypto/hmac/hmac.c head/crypto/openssl/crypto/idea/i_cbc.c head/crypto/openssl/crypto/idea/i_cfb64.c head/crypto/openssl/crypto/idea/i_ecb.c head/crypto/openssl/crypto/idea/i_ofb64.c head/crypto/openssl/crypto/idea/i_skey.c head/crypto/openssl/crypto/init.c head/crypto/openssl/crypto/kdf/hkdf.c head/crypto/openssl/crypto/kdf/scrypt.c head/crypto/openssl/crypto/kdf/tls1_prf.c head/crypto/openssl/crypto/lhash/lh_stats.c head/crypto/openssl/crypto/lhash/lhash.c head/crypto/openssl/crypto/md4/md4_dgst.c head/crypto/openssl/crypto/md5/asm/md5-586.pl head/crypto/openssl/crypto/md5/asm/md5-sparcv9.pl head/crypto/openssl/crypto/md5/asm/md5-x86_64.pl head/crypto/openssl/crypto/md5/md5_dgst.c head/crypto/openssl/crypto/mem.c head/crypto/openssl/crypto/mips_arch.h head/crypto/openssl/crypto/modes/asm/aesni-gcm-x86_64.pl head/crypto/openssl/crypto/modes/asm/ghash-armv4.pl head/crypto/openssl/crypto/modes/asm/ghash-c64xplus.pl head/crypto/openssl/crypto/modes/asm/ghash-ia64.pl head/crypto/openssl/crypto/modes/asm/ghash-parisc.pl head/crypto/openssl/crypto/modes/asm/ghash-s390x.pl head/crypto/openssl/crypto/modes/asm/ghash-sparcv9.pl head/crypto/openssl/crypto/modes/asm/ghash-x86.pl head/crypto/openssl/crypto/modes/asm/ghash-x86_64.pl head/crypto/openssl/crypto/modes/asm/ghashp8-ppc.pl head/crypto/openssl/crypto/modes/asm/ghashv8-armx.pl head/crypto/openssl/crypto/modes/cbc128.c head/crypto/openssl/crypto/modes/ccm128.c head/crypto/openssl/crypto/modes/cfb128.c head/crypto/openssl/crypto/modes/ctr128.c head/crypto/openssl/crypto/modes/cts128.c head/crypto/openssl/crypto/modes/gcm128.c head/crypto/openssl/crypto/modes/ocb128.c head/crypto/openssl/crypto/modes/ofb128.c head/crypto/openssl/crypto/modes/xts128.c head/crypto/openssl/crypto/objects/o_names.c head/crypto/openssl/crypto/objects/obj_dat.c head/crypto/openssl/crypto/objects/obj_dat.h head/crypto/openssl/crypto/objects/obj_lib.c head/crypto/openssl/crypto/objects/obj_xref.h head/crypto/openssl/crypto/objects/objects.txt head/crypto/openssl/crypto/ocsp/ocsp_asn.c head/crypto/openssl/crypto/ocsp/ocsp_cl.c head/crypto/openssl/crypto/ocsp/ocsp_ext.c head/crypto/openssl/crypto/ocsp/ocsp_ht.c head/crypto/openssl/crypto/ocsp/ocsp_lib.c head/crypto/openssl/crypto/ocsp/ocsp_prn.c head/crypto/openssl/crypto/ocsp/ocsp_srv.c head/crypto/openssl/crypto/ocsp/ocsp_vfy.c head/crypto/openssl/crypto/ocsp/v3_ocsp.c head/crypto/openssl/crypto/pariscid.pl head/crypto/openssl/crypto/pem/pem_all.c head/crypto/openssl/crypto/pem/pem_lib.c head/crypto/openssl/crypto/pem/pem_pkey.c head/crypto/openssl/crypto/pem/pvkfmt.c head/crypto/openssl/crypto/perlasm/README head/crypto/openssl/crypto/perlasm/arm-xlate.pl head/crypto/openssl/crypto/perlasm/ppc-xlate.pl head/crypto/openssl/crypto/perlasm/x86_64-xlate.pl head/crypto/openssl/crypto/pkcs12/p12_add.c head/crypto/openssl/crypto/pkcs12/p12_asn.c head/crypto/openssl/crypto/pkcs12/p12_attr.c head/crypto/openssl/crypto/pkcs12/p12_crt.c head/crypto/openssl/crypto/pkcs12/p12_init.c head/crypto/openssl/crypto/pkcs12/p12_mutl.c head/crypto/openssl/crypto/pkcs12/p12_npas.c head/crypto/openssl/crypto/pkcs12/p12_p8e.c head/crypto/openssl/crypto/pkcs12/p12_sbag.c head/crypto/openssl/crypto/pkcs7/pk7_lib.c head/crypto/openssl/crypto/poly1305/asm/poly1305-armv4.pl head/crypto/openssl/crypto/poly1305/asm/poly1305-armv8.pl head/crypto/openssl/crypto/poly1305/asm/poly1305-mips.pl head/crypto/openssl/crypto/poly1305/asm/poly1305-ppc.pl head/crypto/openssl/crypto/poly1305/asm/poly1305-ppcfp.pl head/crypto/openssl/crypto/poly1305/asm/poly1305-s390x.pl head/crypto/openssl/crypto/poly1305/asm/poly1305-sparcv9.pl head/crypto/openssl/crypto/poly1305/asm/poly1305-x86.pl head/crypto/openssl/crypto/poly1305/asm/poly1305-x86_64.pl head/crypto/openssl/crypto/poly1305/poly1305.c head/crypto/openssl/crypto/poly1305/poly1305_ameth.c head/crypto/openssl/crypto/poly1305/poly1305_pmeth.c head/crypto/openssl/crypto/ppc_arch.h head/crypto/openssl/crypto/ppccap.c head/crypto/openssl/crypto/ppccpuid.pl head/crypto/openssl/crypto/rand/drbg_ctr.c head/crypto/openssl/crypto/rand/drbg_lib.c head/crypto/openssl/crypto/rand/rand_err.c head/crypto/openssl/crypto/rand/rand_lib.c head/crypto/openssl/crypto/rand/rand_unix.c head/crypto/openssl/crypto/rc2/rc2_cbc.c head/crypto/openssl/crypto/rc2/rc2_ecb.c head/crypto/openssl/crypto/rc2/rc2_skey.c head/crypto/openssl/crypto/rc2/rc2cfb64.c head/crypto/openssl/crypto/rc2/rc2ofb64.c head/crypto/openssl/crypto/rc4/asm/rc4-586.pl head/crypto/openssl/crypto/rc4/asm/rc4-c64xplus.pl head/crypto/openssl/crypto/rc4/asm/rc4-md5-x86_64.pl head/crypto/openssl/crypto/rc4/asm/rc4-parisc.pl head/crypto/openssl/crypto/rc4/asm/rc4-s390x.pl head/crypto/openssl/crypto/rc4/asm/rc4-x86_64.pl head/crypto/openssl/crypto/rc4/rc4_enc.c head/crypto/openssl/crypto/rc4/rc4_skey.c head/crypto/openssl/crypto/rc5/asm/rc5-586.pl head/crypto/openssl/crypto/rc5/rc5_ecb.c head/crypto/openssl/crypto/rc5/rc5_enc.c head/crypto/openssl/crypto/rc5/rc5_skey.c head/crypto/openssl/crypto/rc5/rc5cfb64.c head/crypto/openssl/crypto/rc5/rc5ofb64.c head/crypto/openssl/crypto/ripemd/asm/rmd-586.pl head/crypto/openssl/crypto/ripemd/rmd_dgst.c head/crypto/openssl/crypto/rsa/rsa_ameth.c head/crypto/openssl/crypto/rsa/rsa_asn1.c head/crypto/openssl/crypto/rsa/rsa_chk.c head/crypto/openssl/crypto/rsa/rsa_crpt.c head/crypto/openssl/crypto/rsa/rsa_gen.c head/crypto/openssl/crypto/rsa/rsa_lib.c head/crypto/openssl/crypto/rsa/rsa_meth.c head/crypto/openssl/crypto/rsa/rsa_mp.c head/crypto/openssl/crypto/rsa/rsa_oaep.c head/crypto/openssl/crypto/rsa/rsa_ossl.c head/crypto/openssl/crypto/rsa/rsa_pk1.c head/crypto/openssl/crypto/rsa/rsa_pmeth.c head/crypto/openssl/crypto/rsa/rsa_pss.c head/crypto/openssl/crypto/rsa/rsa_sign.c head/crypto/openssl/crypto/rsa/rsa_ssl.c head/crypto/openssl/crypto/rsa/rsa_x931g.c head/crypto/openssl/crypto/s390x_arch.h head/crypto/openssl/crypto/s390xcpuid.pl head/crypto/openssl/crypto/seed/seed.c head/crypto/openssl/crypto/sha/asm/keccak1600-armv4.pl head/crypto/openssl/crypto/sha/asm/keccak1600-armv8.pl head/crypto/openssl/crypto/sha/asm/keccak1600-avx2.pl head/crypto/openssl/crypto/sha/asm/keccak1600-avx512.pl head/crypto/openssl/crypto/sha/asm/keccak1600-avx512vl.pl head/crypto/openssl/crypto/sha/asm/keccak1600-c64x.pl head/crypto/openssl/crypto/sha/asm/keccak1600-mmx.pl head/crypto/openssl/crypto/sha/asm/keccak1600-ppc64.pl head/crypto/openssl/crypto/sha/asm/keccak1600-s390x.pl head/crypto/openssl/crypto/sha/asm/keccak1600-x86_64.pl head/crypto/openssl/crypto/sha/asm/keccak1600p8-ppc.pl head/crypto/openssl/crypto/sha/asm/sha1-586.pl head/crypto/openssl/crypto/sha/asm/sha1-armv4-large.pl head/crypto/openssl/crypto/sha/asm/sha1-armv8.pl head/crypto/openssl/crypto/sha/asm/sha1-c64xplus.pl head/crypto/openssl/crypto/sha/asm/sha1-mb-x86_64.pl head/crypto/openssl/crypto/sha/asm/sha1-mips.pl head/crypto/openssl/crypto/sha/asm/sha1-parisc.pl head/crypto/openssl/crypto/sha/asm/sha1-ppc.pl head/crypto/openssl/crypto/sha/asm/sha1-s390x.pl head/crypto/openssl/crypto/sha/asm/sha1-sparcv9.pl head/crypto/openssl/crypto/sha/asm/sha1-sparcv9a.pl head/crypto/openssl/crypto/sha/asm/sha1-thumb.pl head/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl head/crypto/openssl/crypto/sha/asm/sha256-586.pl head/crypto/openssl/crypto/sha/asm/sha256-armv4.pl head/crypto/openssl/crypto/sha/asm/sha256-c64xplus.pl head/crypto/openssl/crypto/sha/asm/sha256-mb-x86_64.pl head/crypto/openssl/crypto/sha/asm/sha512-586.pl head/crypto/openssl/crypto/sha/asm/sha512-armv4.pl head/crypto/openssl/crypto/sha/asm/sha512-armv8.pl head/crypto/openssl/crypto/sha/asm/sha512-c64xplus.pl head/crypto/openssl/crypto/sha/asm/sha512-mips.pl head/crypto/openssl/crypto/sha/asm/sha512-parisc.pl head/crypto/openssl/crypto/sha/asm/sha512-ppc.pl head/crypto/openssl/crypto/sha/asm/sha512-s390x.pl head/crypto/openssl/crypto/sha/asm/sha512-sparcv9.pl head/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl head/crypto/openssl/crypto/sha/asm/sha512p8-ppc.pl head/crypto/openssl/crypto/sha/sha1dgst.c head/crypto/openssl/crypto/sha/sha256.c head/crypto/openssl/crypto/sha/sha512.c head/crypto/openssl/crypto/siphash/siphash.c head/crypto/openssl/crypto/siphash/siphash_ameth.c head/crypto/openssl/crypto/siphash/siphash_pmeth.c head/crypto/openssl/crypto/sm2/sm2_crypt.c head/crypto/openssl/crypto/sm2/sm2_err.c head/crypto/openssl/crypto/sm2/sm2_pmeth.c head/crypto/openssl/crypto/sm2/sm2_sign.c head/crypto/openssl/crypto/sm3/m_sm3.c head/crypto/openssl/crypto/sm3/sm3.c head/crypto/openssl/crypto/sm4/sm4.c head/crypto/openssl/crypto/sparc_arch.h head/crypto/openssl/crypto/sparcv9cap.c head/crypto/openssl/crypto/srp/srp_lib.c head/crypto/openssl/crypto/srp/srp_vfy.c head/crypto/openssl/crypto/store/loader_file.c head/crypto/openssl/crypto/store/store_init.c head/crypto/openssl/crypto/store/store_lib.c head/crypto/openssl/crypto/store/store_register.c head/crypto/openssl/crypto/threads_none.c head/crypto/openssl/crypto/ts/ts_asn1.c head/crypto/openssl/crypto/ts/ts_lib.c head/crypto/openssl/crypto/ts/ts_req_print.c head/crypto/openssl/crypto/ts/ts_req_utils.c head/crypto/openssl/crypto/ts/ts_rsp_print.c head/crypto/openssl/crypto/ts/ts_rsp_sign.c head/crypto/openssl/crypto/ts/ts_rsp_utils.c head/crypto/openssl/crypto/ts/ts_rsp_verify.c head/crypto/openssl/crypto/ts/ts_verify_ctx.c head/crypto/openssl/crypto/ui/ui_lib.c head/crypto/openssl/crypto/ui/ui_null.c head/crypto/openssl/crypto/ui/ui_openssl.c head/crypto/openssl/crypto/ui/ui_util.c head/crypto/openssl/crypto/whrlpool/asm/wp-mmx.pl head/crypto/openssl/crypto/whrlpool/asm/wp-x86_64.pl head/crypto/openssl/crypto/whrlpool/wp_block.c head/crypto/openssl/crypto/whrlpool/wp_dgst.c head/crypto/openssl/crypto/x509/by_dir.c head/crypto/openssl/crypto/x509/by_file.c head/crypto/openssl/crypto/x509/t_x509.c head/crypto/openssl/crypto/x509/x509_att.c head/crypto/openssl/crypto/x509/x509_cmp.c head/crypto/openssl/crypto/x509/x509_ext.c head/crypto/openssl/crypto/x509/x509_lu.c head/crypto/openssl/crypto/x509/x509_meth.c head/crypto/openssl/crypto/x509/x509_obj.c head/crypto/openssl/crypto/x509/x509_r2x.c head/crypto/openssl/crypto/x509/x509_req.c head/crypto/openssl/crypto/x509/x509_set.c head/crypto/openssl/crypto/x509/x509_trs.c head/crypto/openssl/crypto/x509/x509_v3.c head/crypto/openssl/crypto/x509/x509_vfy.c head/crypto/openssl/crypto/x509/x509_vpm.c head/crypto/openssl/crypto/x509/x509cset.c head/crypto/openssl/crypto/x509/x509name.c head/crypto/openssl/crypto/x509/x509rset.c head/crypto/openssl/crypto/x509/x_all.c head/crypto/openssl/crypto/x509/x_attrib.c head/crypto/openssl/crypto/x509/x_crl.c head/crypto/openssl/crypto/x509/x_exten.c head/crypto/openssl/crypto/x509/x_name.c head/crypto/openssl/crypto/x509/x_pubkey.c head/crypto/openssl/crypto/x509/x_req.c head/crypto/openssl/crypto/x509/x_x509.c head/crypto/openssl/crypto/x509/x_x509a.c head/crypto/openssl/crypto/x509v3/pcy_cache.c head/crypto/openssl/crypto/x509v3/pcy_data.c head/crypto/openssl/crypto/x509v3/pcy_lib.c head/crypto/openssl/crypto/x509v3/pcy_map.c head/crypto/openssl/crypto/x509v3/pcy_node.c head/crypto/openssl/crypto/x509v3/pcy_tree.c head/crypto/openssl/crypto/x509v3/v3_addr.c head/crypto/openssl/crypto/x509v3/v3_admis.h head/crypto/openssl/crypto/x509v3/v3_alt.c head/crypto/openssl/crypto/x509v3/v3_asid.c head/crypto/openssl/crypto/x509v3/v3_conf.c head/crypto/openssl/crypto/x509v3/v3_cpols.c head/crypto/openssl/crypto/x509v3/v3_crld.c head/crypto/openssl/crypto/x509v3/v3_ncons.c head/crypto/openssl/crypto/x509v3/v3_purp.c head/crypto/openssl/crypto/x509v3/v3_skey.c head/crypto/openssl/crypto/x509v3/v3_utl.c head/crypto/openssl/crypto/x86_64cpuid.pl head/crypto/openssl/crypto/x86cpuid.pl head/crypto/openssl/doc/man1/ca.pod head/crypto/openssl/doc/man1/dgst.pod head/crypto/openssl/doc/man1/enc.pod head/crypto/openssl/doc/man1/rand.pod head/crypto/openssl/doc/man1/req.pod head/crypto/openssl/doc/man1/s_client.pod head/crypto/openssl/doc/man1/sess_id.pod head/crypto/openssl/doc/man1/x509.pod head/crypto/openssl/doc/man3/ASN1_INTEGER_get_int64.pod head/crypto/openssl/doc/man3/ASN1_TYPE_get.pod head/crypto/openssl/doc/man3/BIO_f_buffer.pod head/crypto/openssl/doc/man3/BIO_get_ex_new_index.pod head/crypto/openssl/doc/man3/DTLSv1_listen.pod head/crypto/openssl/doc/man3/EC_GROUP_copy.pod head/crypto/openssl/doc/man3/EC_GROUP_new.pod head/crypto/openssl/doc/man3/EC_POINT_new.pod head/crypto/openssl/doc/man3/EVP_DigestInit.pod head/crypto/openssl/doc/man3/EVP_DigestSignInit.pod head/crypto/openssl/doc/man3/EVP_DigestVerifyInit.pod head/crypto/openssl/doc/man3/EVP_EncryptInit.pod head/crypto/openssl/doc/man3/EVP_MD_meth_new.pod head/crypto/openssl/doc/man3/EVP_PKEY_CTX_ctrl.pod head/crypto/openssl/doc/man3/EVP_PKEY_meth_new.pod head/crypto/openssl/doc/man3/EVP_PKEY_new.pod head/crypto/openssl/doc/man3/EVP_SignInit.pod head/crypto/openssl/doc/man3/OCSP_request_add1_nonce.pod head/crypto/openssl/doc/man3/OCSP_response_status.pod head/crypto/openssl/doc/man3/OCSP_sendreq_new.pod head/crypto/openssl/doc/man3/OPENSSL_malloc.pod head/crypto/openssl/doc/man3/OPENSSL_secure_malloc.pod head/crypto/openssl/doc/man3/PEM_bytes_read_bio.pod head/crypto/openssl/doc/man3/PEM_read_bio_PrivateKey.pod head/crypto/openssl/doc/man3/PEM_read_bio_ex.pod head/crypto/openssl/doc/man3/RAND_bytes.pod head/crypto/openssl/doc/man3/RAND_set_rand_method.pod head/crypto/openssl/doc/man3/RSA_get0_key.pod head/crypto/openssl/doc/man3/SSL_CTX_sess_set_get_cb.pod head/crypto/openssl/doc/man3/SSL_CTX_set_stateless_cookie_generate_cb.pod head/crypto/openssl/doc/man3/SSL_CTX_set_tlsext_servername_callback.pod head/crypto/openssl/doc/man3/SSL_CTX_use_psk_identity_hint.pod head/crypto/openssl/doc/man3/SSL_SESSION_get0_hostname.pod head/crypto/openssl/doc/man3/SSL_accept.pod head/crypto/openssl/doc/man3/SSL_connect.pod head/crypto/openssl/doc/man3/SSL_do_handshake.pod head/crypto/openssl/doc/man3/SSL_load_client_CA_file.pod head/crypto/openssl/doc/man3/X509_LOOKUP_meth_new.pod head/crypto/openssl/doc/man3/X509_STORE_CTX_new.pod head/crypto/openssl/doc/man3/X509_STORE_add_cert.pod head/crypto/openssl/doc/man3/d2i_X509.pod head/crypto/openssl/doc/man5/config.pod head/crypto/openssl/doc/man7/Ed25519.pod head/crypto/openssl/doc/man7/X25519.pod head/crypto/openssl/doc/man7/passphrase-encoding.pod head/crypto/openssl/e_os.h head/crypto/openssl/engines/e_afalg.c head/crypto/openssl/engines/e_afalg.h head/crypto/openssl/engines/e_afalg_err.h head/crypto/openssl/engines/e_capi_err.h head/crypto/openssl/engines/e_dasync_err.h head/crypto/openssl/engines/e_ossltest_err.h head/crypto/openssl/include/internal/conf.h head/crypto/openssl/include/internal/cryptlib.h head/crypto/openssl/include/internal/dane.h head/crypto/openssl/include/internal/dso.h head/crypto/openssl/include/internal/dsoerr.h head/crypto/openssl/include/internal/err.h head/crypto/openssl/include/internal/nelem.h head/crypto/openssl/include/internal/numbers.h head/crypto/openssl/include/internal/o_dir.h head/crypto/openssl/include/internal/o_str.h head/crypto/openssl/include/internal/refcount.h head/crypto/openssl/include/internal/sockets.h head/crypto/openssl/include/internal/sslconf.h head/crypto/openssl/include/openssl/__DECC_INCLUDE_EPILOGUE.H head/crypto/openssl/include/openssl/__DECC_INCLUDE_PROLOGUE.H head/crypto/openssl/include/openssl/bio.h head/crypto/openssl/include/openssl/ct.h head/crypto/openssl/include/openssl/dsa.h head/crypto/openssl/include/openssl/dtls1.h head/crypto/openssl/include/openssl/evp.h head/crypto/openssl/include/openssl/evperr.h head/crypto/openssl/include/openssl/lhash.h head/crypto/openssl/include/openssl/obj_mac.h head/crypto/openssl/include/openssl/ocsp.h head/crypto/openssl/include/openssl/opensslv.h head/crypto/openssl/include/openssl/ossl_typ.h head/crypto/openssl/include/openssl/randerr.h head/crypto/openssl/include/openssl/rsa.h head/crypto/openssl/include/openssl/sslerr.h head/crypto/openssl/ssl/bio_ssl.c head/crypto/openssl/ssl/d1_lib.c head/crypto/openssl/ssl/d1_msg.c head/crypto/openssl/ssl/d1_srtp.c head/crypto/openssl/ssl/methods.c head/crypto/openssl/ssl/packet.c head/crypto/openssl/ssl/pqueue.c head/crypto/openssl/ssl/record/README head/crypto/openssl/ssl/record/dtls1_bitmap.c head/crypto/openssl/ssl/record/rec_layer_d1.c head/crypto/openssl/ssl/record/rec_layer_s3.c head/crypto/openssl/ssl/record/ssl3_buffer.c head/crypto/openssl/ssl/record/ssl3_record.c head/crypto/openssl/ssl/record/ssl3_record_tls13.c head/crypto/openssl/ssl/s3_cbc.c head/crypto/openssl/ssl/s3_enc.c head/crypto/openssl/ssl/s3_lib.c head/crypto/openssl/ssl/s3_msg.c head/crypto/openssl/ssl/ssl_asn1.c head/crypto/openssl/ssl/ssl_cert.c head/crypto/openssl/ssl/ssl_ciph.c head/crypto/openssl/ssl/ssl_conf.c head/crypto/openssl/ssl/ssl_err.c head/crypto/openssl/ssl/ssl_init.c head/crypto/openssl/ssl/ssl_lib.c head/crypto/openssl/ssl/ssl_mcnf.c head/crypto/openssl/ssl/ssl_rsa.c head/crypto/openssl/ssl/ssl_sess.c head/crypto/openssl/ssl/ssl_stat.c head/crypto/openssl/ssl/ssl_txt.c head/crypto/openssl/ssl/ssl_utst.c head/crypto/openssl/ssl/statem/README head/crypto/openssl/ssl/statem/extensions.c head/crypto/openssl/ssl/statem/extensions_clnt.c head/crypto/openssl/ssl/statem/extensions_cust.c head/crypto/openssl/ssl/statem/extensions_srvr.c head/crypto/openssl/ssl/statem/statem.c head/crypto/openssl/ssl/statem/statem_clnt.c head/crypto/openssl/ssl/statem/statem_dtls.c head/crypto/openssl/ssl/statem/statem_lib.c head/crypto/openssl/ssl/statem/statem_srvr.c head/crypto/openssl/ssl/t1_enc.c head/crypto/openssl/ssl/t1_lib.c head/crypto/openssl/ssl/t1_trce.c head/crypto/openssl/ssl/tls13_enc.c head/crypto/openssl/ssl/tls_srp.c head/secure/lib/libcrypto/Makefile.inc head/secure/lib/libcrypto/aarch64/ecp_nistz256-armv8.S head/secure/lib/libcrypto/aarch64/sha256-armv8.S head/secure/lib/libcrypto/aarch64/sha512-armv8.S head/secure/lib/libcrypto/amd64/aesni-gcm-x86_64.S head/secure/lib/libcrypto/amd64/aesni-mb-x86_64.S head/secure/lib/libcrypto/amd64/aesni-sha1-x86_64.S head/secure/lib/libcrypto/amd64/aesni-sha256-x86_64.S head/secure/lib/libcrypto/amd64/aesni-x86_64.S head/secure/lib/libcrypto/amd64/chacha-x86_64.S head/secure/lib/libcrypto/amd64/cmll-x86_64.S head/secure/lib/libcrypto/amd64/ecp_nistz256-x86_64.S head/secure/lib/libcrypto/amd64/ghash-x86_64.S head/secure/lib/libcrypto/amd64/keccak1600-x86_64.S head/secure/lib/libcrypto/amd64/poly1305-x86_64.S head/secure/lib/libcrypto/amd64/rc4-x86_64.S head/secure/lib/libcrypto/amd64/rsaz-avx2.S head/secure/lib/libcrypto/amd64/rsaz-x86_64.S head/secure/lib/libcrypto/amd64/sha1-mb-x86_64.S head/secure/lib/libcrypto/amd64/sha1-x86_64.S head/secure/lib/libcrypto/amd64/sha256-mb-x86_64.S head/secure/lib/libcrypto/amd64/sha256-x86_64.S head/secure/lib/libcrypto/amd64/sha512-x86_64.S head/secure/lib/libcrypto/amd64/x25519-x86_64.S head/secure/lib/libcrypto/amd64/x86_64-mont.S head/secure/lib/libcrypto/amd64/x86_64-mont5.S head/secure/lib/libcrypto/arm/aes-armv4.S head/secure/lib/libcrypto/arm/bsaes-armv7.S head/secure/lib/libcrypto/arm/ecp_nistz256-armv4.S head/secure/lib/libcrypto/arm/sha256-armv4.S head/secure/lib/libcrypto/arm/sha512-armv4.S head/secure/lib/libcrypto/i386/chacha-x86.S head/secure/lib/libcrypto/i386/ecp_nistz256-x86.S head/secure/lib/libcrypto/i386/poly1305-x86.S head/secure/lib/libcrypto/i386/sha1-586.S head/secure/lib/libcrypto/i386/sha256-586.S head/secure/lib/libcrypto/man/man3/ADMISSIONS.3 head/secure/lib/libcrypto/man/man3/ASN1_INTEGER_get_int64.3 head/secure/lib/libcrypto/man/man3/ASN1_ITEM_lookup.3 head/secure/lib/libcrypto/man/man3/ASN1_OBJECT_new.3 head/secure/lib/libcrypto/man/man3/ASN1_STRING_TABLE_add.3 head/secure/lib/libcrypto/man/man3/ASN1_STRING_length.3 head/secure/lib/libcrypto/man/man3/ASN1_STRING_new.3 head/secure/lib/libcrypto/man/man3/ASN1_STRING_print_ex.3 head/secure/lib/libcrypto/man/man3/ASN1_TIME_set.3 head/secure/lib/libcrypto/man/man3/ASN1_TYPE_get.3 head/secure/lib/libcrypto/man/man3/ASN1_generate_nconf.3 head/secure/lib/libcrypto/man/man3/ASYNC_WAIT_CTX_new.3 head/secure/lib/libcrypto/man/man3/ASYNC_start_job.3 head/secure/lib/libcrypto/man/man3/BF_encrypt.3 head/secure/lib/libcrypto/man/man3/BIO_ADDR.3 head/secure/lib/libcrypto/man/man3/BIO_ADDRINFO.3 head/secure/lib/libcrypto/man/man3/BIO_connect.3 head/secure/lib/libcrypto/man/man3/BIO_ctrl.3 head/secure/lib/libcrypto/man/man3/BIO_f_base64.3 head/secure/lib/libcrypto/man/man3/BIO_f_buffer.3 head/secure/lib/libcrypto/man/man3/BIO_f_cipher.3 head/secure/lib/libcrypto/man/man3/BIO_f_md.3 head/secure/lib/libcrypto/man/man3/BIO_f_null.3 head/secure/lib/libcrypto/man/man3/BIO_f_ssl.3 head/secure/lib/libcrypto/man/man3/BIO_find_type.3 head/secure/lib/libcrypto/man/man3/BIO_get_data.3 head/secure/lib/libcrypto/man/man3/BIO_get_ex_new_index.3 head/secure/lib/libcrypto/man/man3/BIO_meth_new.3 head/secure/lib/libcrypto/man/man3/BIO_new.3 head/secure/lib/libcrypto/man/man3/BIO_new_CMS.3 head/secure/lib/libcrypto/man/man3/BIO_parse_hostserv.3 head/secure/lib/libcrypto/man/man3/BIO_printf.3 head/secure/lib/libcrypto/man/man3/BIO_push.3 head/secure/lib/libcrypto/man/man3/BIO_read.3 head/secure/lib/libcrypto/man/man3/BIO_s_accept.3 head/secure/lib/libcrypto/man/man3/BIO_s_bio.3 head/secure/lib/libcrypto/man/man3/BIO_s_connect.3 head/secure/lib/libcrypto/man/man3/BIO_s_fd.3 head/secure/lib/libcrypto/man/man3/BIO_s_file.3 head/secure/lib/libcrypto/man/man3/BIO_s_mem.3 head/secure/lib/libcrypto/man/man3/BIO_s_null.3 head/secure/lib/libcrypto/man/man3/BIO_s_socket.3 head/secure/lib/libcrypto/man/man3/BIO_set_callback.3 head/secure/lib/libcrypto/man/man3/BIO_should_retry.3 head/secure/lib/libcrypto/man/man3/BN_BLINDING_new.3 head/secure/lib/libcrypto/man/man3/BN_CTX_new.3 head/secure/lib/libcrypto/man/man3/BN_CTX_start.3 head/secure/lib/libcrypto/man/man3/BN_add.3 head/secure/lib/libcrypto/man/man3/BN_add_word.3 head/secure/lib/libcrypto/man/man3/BN_bn2bin.3 head/secure/lib/libcrypto/man/man3/BN_cmp.3 head/secure/lib/libcrypto/man/man3/BN_copy.3 head/secure/lib/libcrypto/man/man3/BN_generate_prime.3 head/secure/lib/libcrypto/man/man3/BN_mod_inverse.3 head/secure/lib/libcrypto/man/man3/BN_mod_mul_montgomery.3 head/secure/lib/libcrypto/man/man3/BN_mod_mul_reciprocal.3 head/secure/lib/libcrypto/man/man3/BN_new.3 head/secure/lib/libcrypto/man/man3/BN_num_bytes.3 head/secure/lib/libcrypto/man/man3/BN_rand.3 head/secure/lib/libcrypto/man/man3/BN_security_bits.3 head/secure/lib/libcrypto/man/man3/BN_set_bit.3 head/secure/lib/libcrypto/man/man3/BN_swap.3 head/secure/lib/libcrypto/man/man3/BN_zero.3 head/secure/lib/libcrypto/man/man3/BUF_MEM_new.3 head/secure/lib/libcrypto/man/man3/CMS_add0_cert.3 head/secure/lib/libcrypto/man/man3/CMS_add1_recipient_cert.3 head/secure/lib/libcrypto/man/man3/CMS_add1_signer.3 head/secure/lib/libcrypto/man/man3/CMS_compress.3 head/secure/lib/libcrypto/man/man3/CMS_decrypt.3 head/secure/lib/libcrypto/man/man3/CMS_encrypt.3 head/secure/lib/libcrypto/man/man3/CMS_final.3 head/secure/lib/libcrypto/man/man3/CMS_get0_RecipientInfos.3 head/secure/lib/libcrypto/man/man3/CMS_get0_SignerInfos.3 head/secure/lib/libcrypto/man/man3/CMS_get0_type.3 head/secure/lib/libcrypto/man/man3/CMS_get1_ReceiptRequest.3 head/secure/lib/libcrypto/man/man3/CMS_sign.3 head/secure/lib/libcrypto/man/man3/CMS_sign_receipt.3 head/secure/lib/libcrypto/man/man3/CMS_uncompress.3 head/secure/lib/libcrypto/man/man3/CMS_verify.3 head/secure/lib/libcrypto/man/man3/CMS_verify_receipt.3 head/secure/lib/libcrypto/man/man3/CONF_modules_free.3 head/secure/lib/libcrypto/man/man3/CONF_modules_load_file.3 head/secure/lib/libcrypto/man/man3/CRYPTO_THREAD_run_once.3 head/secure/lib/libcrypto/man/man3/CRYPTO_get_ex_new_index.3 head/secure/lib/libcrypto/man/man3/CRYPTO_memcmp.3 head/secure/lib/libcrypto/man/man3/CTLOG_STORE_get0_log_by_id.3 head/secure/lib/libcrypto/man/man3/CTLOG_STORE_new.3 head/secure/lib/libcrypto/man/man3/CTLOG_new.3 head/secure/lib/libcrypto/man/man3/CT_POLICY_EVAL_CTX_new.3 head/secure/lib/libcrypto/man/man3/DEFINE_STACK_OF.3 head/secure/lib/libcrypto/man/man3/DES_random_key.3 head/secure/lib/libcrypto/man/man3/DH_generate_key.3 head/secure/lib/libcrypto/man/man3/DH_generate_parameters.3 head/secure/lib/libcrypto/man/man3/DH_get0_pqg.3 head/secure/lib/libcrypto/man/man3/DH_get_1024_160.3 head/secure/lib/libcrypto/man/man3/DH_meth_new.3 head/secure/lib/libcrypto/man/man3/DH_new.3 head/secure/lib/libcrypto/man/man3/DH_new_by_nid.3 head/secure/lib/libcrypto/man/man3/DH_set_method.3 head/secure/lib/libcrypto/man/man3/DH_size.3 head/secure/lib/libcrypto/man/man3/DSA_SIG_new.3 head/secure/lib/libcrypto/man/man3/DSA_do_sign.3 head/secure/lib/libcrypto/man/man3/DSA_dup_DH.3 head/secure/lib/libcrypto/man/man3/DSA_generate_key.3 head/secure/lib/libcrypto/man/man3/DSA_generate_parameters.3 head/secure/lib/libcrypto/man/man3/DSA_get0_pqg.3 head/secure/lib/libcrypto/man/man3/DSA_meth_new.3 head/secure/lib/libcrypto/man/man3/DSA_new.3 head/secure/lib/libcrypto/man/man3/DSA_set_method.3 head/secure/lib/libcrypto/man/man3/DSA_sign.3 head/secure/lib/libcrypto/man/man3/DSA_size.3 head/secure/lib/libcrypto/man/man3/DTLS_get_data_mtu.3 head/secure/lib/libcrypto/man/man3/DTLS_set_timer_cb.3 head/secure/lib/libcrypto/man/man3/DTLSv1_listen.3 head/secure/lib/libcrypto/man/man3/ECDSA_SIG_new.3 head/secure/lib/libcrypto/man/man3/ECPKParameters_print.3 head/secure/lib/libcrypto/man/man3/EC_GFp_simple_method.3 head/secure/lib/libcrypto/man/man3/EC_GROUP_copy.3 head/secure/lib/libcrypto/man/man3/EC_GROUP_new.3 head/secure/lib/libcrypto/man/man3/EC_KEY_get_enc_flags.3 head/secure/lib/libcrypto/man/man3/EC_KEY_new.3 head/secure/lib/libcrypto/man/man3/EC_POINT_add.3 head/secure/lib/libcrypto/man/man3/EC_POINT_new.3 head/secure/lib/libcrypto/man/man3/ENGINE_add.3 head/secure/lib/libcrypto/man/man3/ERR_GET_LIB.3 head/secure/lib/libcrypto/man/man3/ERR_clear_error.3 head/secure/lib/libcrypto/man/man3/ERR_error_string.3 head/secure/lib/libcrypto/man/man3/ERR_get_error.3 head/secure/lib/libcrypto/man/man3/ERR_load_crypto_strings.3 head/secure/lib/libcrypto/man/man3/ERR_load_strings.3 head/secure/lib/libcrypto/man/man3/ERR_print_errors.3 head/secure/lib/libcrypto/man/man3/ERR_put_error.3 head/secure/lib/libcrypto/man/man3/ERR_remove_state.3 head/secure/lib/libcrypto/man/man3/ERR_set_mark.3 head/secure/lib/libcrypto/man/man3/EVP_BytesToKey.3 head/secure/lib/libcrypto/man/man3/EVP_CIPHER_CTX_get_cipher_data.3 head/secure/lib/libcrypto/man/man3/EVP_CIPHER_meth_new.3 head/secure/lib/libcrypto/man/man3/EVP_DigestInit.3 head/secure/lib/libcrypto/man/man3/EVP_DigestSignInit.3 head/secure/lib/libcrypto/man/man3/EVP_DigestVerifyInit.3 head/secure/lib/libcrypto/man/man3/EVP_EncodeInit.3 head/secure/lib/libcrypto/man/man3/EVP_EncryptInit.3 head/secure/lib/libcrypto/man/man3/EVP_MD_meth_new.3 head/secure/lib/libcrypto/man/man3/EVP_OpenInit.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_ASN1_METHOD.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_ctrl.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_new.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_set1_pbe_pass.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_set_hkdf_md.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_set_scrypt_N.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_asn1_get_count.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_cmp.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_decrypt.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_derive.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_encrypt.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_get_default_digest_nid.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_keygen.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_meth_get_count.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_meth_new.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_new.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_print_private.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_set1_RSA.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_sign.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_verify.3 head/secure/lib/libcrypto/man/man3/EVP_PKEY_verify_recover.3 head/secure/lib/libcrypto/man/man3/EVP_SealInit.3 head/secure/lib/libcrypto/man/man3/EVP_SignInit.3 head/secure/lib/libcrypto/man/man3/EVP_VerifyInit.3 head/secure/lib/libcrypto/man/man3/EVP_aes.3 head/secure/lib/libcrypto/man/man3/EVP_aria.3 head/secure/lib/libcrypto/man/man3/EVP_bf_cbc.3 head/secure/lib/libcrypto/man/man3/EVP_blake2b512.3 head/secure/lib/libcrypto/man/man3/EVP_camellia.3 head/secure/lib/libcrypto/man/man3/EVP_cast5_cbc.3 head/secure/lib/libcrypto/man/man3/EVP_chacha20.3 head/secure/lib/libcrypto/man/man3/EVP_des.3 head/secure/lib/libcrypto/man/man3/EVP_desx_cbc.3 head/secure/lib/libcrypto/man/man3/EVP_idea_cbc.3 head/secure/lib/libcrypto/man/man3/EVP_md2.3 head/secure/lib/libcrypto/man/man3/EVP_md4.3 head/secure/lib/libcrypto/man/man3/EVP_md5.3 head/secure/lib/libcrypto/man/man3/EVP_mdc2.3 head/secure/lib/libcrypto/man/man3/EVP_rc2_cbc.3 head/secure/lib/libcrypto/man/man3/EVP_rc4.3 head/secure/lib/libcrypto/man/man3/EVP_rc5_32_12_16_cbc.3 head/secure/lib/libcrypto/man/man3/EVP_ripemd160.3 head/secure/lib/libcrypto/man/man3/EVP_seed_cbc.3 head/secure/lib/libcrypto/man/man3/EVP_sha1.3 head/secure/lib/libcrypto/man/man3/EVP_sha224.3 head/secure/lib/libcrypto/man/man3/EVP_sha3_224.3 head/secure/lib/libcrypto/man/man3/EVP_sm3.3 head/secure/lib/libcrypto/man/man3/EVP_sm4_cbc.3 head/secure/lib/libcrypto/man/man3/EVP_whirlpool.3 head/secure/lib/libcrypto/man/man3/HMAC.3 head/secure/lib/libcrypto/man/man3/MD5.3 head/secure/lib/libcrypto/man/man3/MDC2_Init.3 head/secure/lib/libcrypto/man/man3/Makefile head/secure/lib/libcrypto/man/man3/OBJ_nid2obj.3 head/secure/lib/libcrypto/man/man3/OCSP_REQUEST_new.3 head/secure/lib/libcrypto/man/man3/OCSP_cert_to_id.3 head/secure/lib/libcrypto/man/man3/OCSP_request_add1_nonce.3 head/secure/lib/libcrypto/man/man3/OCSP_resp_find_status.3 head/secure/lib/libcrypto/man/man3/OCSP_response_status.3 head/secure/lib/libcrypto/man/man3/OCSP_sendreq_new.3 head/secure/lib/libcrypto/man/man3/OPENSSL_Applink.3 head/secure/lib/libcrypto/man/man3/OPENSSL_LH_COMPFUNC.3 head/secure/lib/libcrypto/man/man3/OPENSSL_LH_stats.3 head/secure/lib/libcrypto/man/man3/OPENSSL_VERSION_NUMBER.3 head/secure/lib/libcrypto/man/man3/OPENSSL_config.3 head/secure/lib/libcrypto/man/man3/OPENSSL_fork_prepare.3 head/secure/lib/libcrypto/man/man3/OPENSSL_ia32cap.3 head/secure/lib/libcrypto/man/man3/OPENSSL_init_crypto.3 head/secure/lib/libcrypto/man/man3/OPENSSL_init_ssl.3 head/secure/lib/libcrypto/man/man3/OPENSSL_instrument_bus.3 head/secure/lib/libcrypto/man/man3/OPENSSL_load_builtin_modules.3 head/secure/lib/libcrypto/man/man3/OPENSSL_malloc.3 head/secure/lib/libcrypto/man/man3/OPENSSL_secure_malloc.3 head/secure/lib/libcrypto/man/man3/OSSL_STORE_INFO.3 head/secure/lib/libcrypto/man/man3/OSSL_STORE_LOADER.3 head/secure/lib/libcrypto/man/man3/OSSL_STORE_SEARCH.3 head/secure/lib/libcrypto/man/man3/OSSL_STORE_expect.3 head/secure/lib/libcrypto/man/man3/OSSL_STORE_open.3 head/secure/lib/libcrypto/man/man3/OpenSSL_add_all_algorithms.3 head/secure/lib/libcrypto/man/man3/PEM_bytes_read_bio.3 head/secure/lib/libcrypto/man/man3/PEM_read.3 head/secure/lib/libcrypto/man/man3/PEM_read_CMS.3 head/secure/lib/libcrypto/man/man3/PEM_read_bio_PrivateKey.3 head/secure/lib/libcrypto/man/man3/PEM_read_bio_ex.3 head/secure/lib/libcrypto/man/man3/PEM_write_bio_CMS_stream.3 head/secure/lib/libcrypto/man/man3/PEM_write_bio_PKCS7_stream.3 head/secure/lib/libcrypto/man/man3/PKCS12_create.3 head/secure/lib/libcrypto/man/man3/PKCS12_newpass.3 head/secure/lib/libcrypto/man/man3/PKCS12_parse.3 head/secure/lib/libcrypto/man/man3/PKCS5_PBKDF2_HMAC.3 head/secure/lib/libcrypto/man/man3/PKCS7_decrypt.3 head/secure/lib/libcrypto/man/man3/PKCS7_encrypt.3 head/secure/lib/libcrypto/man/man3/PKCS7_sign.3 head/secure/lib/libcrypto/man/man3/PKCS7_sign_add_signer.3 head/secure/lib/libcrypto/man/man3/PKCS7_verify.3 head/secure/lib/libcrypto/man/man3/RAND_DRBG_generate.3 head/secure/lib/libcrypto/man/man3/RAND_DRBG_get0_master.3 head/secure/lib/libcrypto/man/man3/RAND_DRBG_new.3 head/secure/lib/libcrypto/man/man3/RAND_DRBG_reseed.3 head/secure/lib/libcrypto/man/man3/RAND_DRBG_set_callbacks.3 head/secure/lib/libcrypto/man/man3/RAND_DRBG_set_ex_data.3 head/secure/lib/libcrypto/man/man3/RAND_add.3 head/secure/lib/libcrypto/man/man3/RAND_bytes.3 head/secure/lib/libcrypto/man/man3/RAND_cleanup.3 head/secure/lib/libcrypto/man/man3/RAND_egd.3 head/secure/lib/libcrypto/man/man3/RAND_load_file.3 head/secure/lib/libcrypto/man/man3/RAND_set_rand_method.3 head/secure/lib/libcrypto/man/man3/RC4_set_key.3 head/secure/lib/libcrypto/man/man3/RIPEMD160_Init.3 head/secure/lib/libcrypto/man/man3/RSA_blinding_on.3 head/secure/lib/libcrypto/man/man3/RSA_check_key.3 head/secure/lib/libcrypto/man/man3/RSA_generate_key.3 head/secure/lib/libcrypto/man/man3/RSA_get0_key.3 head/secure/lib/libcrypto/man/man3/RSA_meth_new.3 head/secure/lib/libcrypto/man/man3/RSA_new.3 head/secure/lib/libcrypto/man/man3/RSA_padding_add_PKCS1_type_1.3 head/secure/lib/libcrypto/man/man3/RSA_print.3 head/secure/lib/libcrypto/man/man3/RSA_private_encrypt.3 head/secure/lib/libcrypto/man/man3/RSA_public_encrypt.3 head/secure/lib/libcrypto/man/man3/RSA_set_method.3 head/secure/lib/libcrypto/man/man3/RSA_sign.3 head/secure/lib/libcrypto/man/man3/RSA_sign_ASN1_OCTET_STRING.3 head/secure/lib/libcrypto/man/man3/RSA_size.3 head/secure/lib/libcrypto/man/man3/SCT_new.3 head/secure/lib/libcrypto/man/man3/SCT_print.3 head/secure/lib/libcrypto/man/man3/SCT_validate.3 head/secure/lib/libcrypto/man/man3/SHA256_Init.3 head/secure/lib/libcrypto/man/man3/SMIME_read_CMS.3 head/secure/lib/libcrypto/man/man3/SMIME_read_PKCS7.3 head/secure/lib/libcrypto/man/man3/SMIME_write_CMS.3 head/secure/lib/libcrypto/man/man3/SMIME_write_PKCS7.3 head/secure/lib/libcrypto/man/man3/SSL_CIPHER_get_name.3 head/secure/lib/libcrypto/man/man3/SSL_COMP_add_compression_method.3 head/secure/lib/libcrypto/man/man3/SSL_CONF_CTX_new.3 head/secure/lib/libcrypto/man/man3/SSL_CONF_CTX_set1_prefix.3 head/secure/lib/libcrypto/man/man3/SSL_CONF_CTX_set_flags.3 head/secure/lib/libcrypto/man/man3/SSL_CONF_CTX_set_ssl_ctx.3 head/secure/lib/libcrypto/man/man3/SSL_CONF_cmd.3 head/secure/lib/libcrypto/man/man3/SSL_CONF_cmd_argv.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_add1_chain_cert.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_add_extra_chain_cert.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_add_session.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_config.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_ctrl.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_dane_enable.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_flush_sessions.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_free.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_get0_param.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_get_verify_mode.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_has_client_custom_ext.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_load_verify_locations.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_new.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_sess_number.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_sess_set_cache_size.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_sess_set_get_cb.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_sessions.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set0_CA_list.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set1_curves.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set1_sigalgs.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set1_verify_cert_store.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_alpn_select_cb.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_cert_cb.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_cert_store.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_cert_verify_callback.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_cipher_list.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_client_cert_cb.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_client_hello_cb.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_ct_validation_callback.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_ctlog_list_file.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_default_passwd_cb.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_ex_data.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_generate_session_id.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_info_callback.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_keylog_callback.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_max_cert_list.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_min_proto_version.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_mode.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_msg_callback.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_num_tickets.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_options.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_psk_client_callback.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_quiet_shutdown.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_read_ahead.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_record_padding_callback.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_security_level.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_session_cache_mode.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_session_id_context.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_session_ticket_cb.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_split_send_fragment.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_ssl_version.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_stateless_cookie_generate_cb.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_timeout.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_tlsext_servername_callback.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_tlsext_status_cb.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_tlsext_use_srtp.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_tmp_dh_callback.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_set_verify.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_use_certificate.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_use_psk_identity_hint.3 head/secure/lib/libcrypto/man/man3/SSL_CTX_use_serverinfo.3 head/secure/lib/libcrypto/man/man3/SSL_SESSION_free.3 head/secure/lib/libcrypto/man/man3/SSL_SESSION_get0_cipher.3 head/secure/lib/libcrypto/man/man3/SSL_SESSION_get0_hostname.3 head/secure/lib/libcrypto/man/man3/SSL_SESSION_get0_id_context.3 head/secure/lib/libcrypto/man/man3/SSL_SESSION_get0_peer.3 head/secure/lib/libcrypto/man/man3/SSL_SESSION_get_compress_id.3 head/secure/lib/libcrypto/man/man3/SSL_SESSION_get_ex_data.3 head/secure/lib/libcrypto/man/man3/SSL_SESSION_get_protocol_version.3 head/secure/lib/libcrypto/man/man3/SSL_SESSION_get_time.3 head/secure/lib/libcrypto/man/man3/SSL_SESSION_has_ticket.3 head/secure/lib/libcrypto/man/man3/SSL_SESSION_is_resumable.3 head/secure/lib/libcrypto/man/man3/SSL_SESSION_print.3 head/secure/lib/libcrypto/man/man3/SSL_SESSION_set1_id.3 head/secure/lib/libcrypto/man/man3/SSL_accept.3 head/secure/lib/libcrypto/man/man3/SSL_alert_type_string.3 head/secure/lib/libcrypto/man/man3/SSL_alloc_buffers.3 head/secure/lib/libcrypto/man/man3/SSL_check_chain.3 head/secure/lib/libcrypto/man/man3/SSL_clear.3 head/secure/lib/libcrypto/man/man3/SSL_connect.3 head/secure/lib/libcrypto/man/man3/SSL_do_handshake.3 head/secure/lib/libcrypto/man/man3/SSL_export_keying_material.3 head/secure/lib/libcrypto/man/man3/SSL_extension_supported.3 head/secure/lib/libcrypto/man/man3/SSL_free.3 head/secure/lib/libcrypto/man/man3/SSL_get0_peer_scts.3 head/secure/lib/libcrypto/man/man3/SSL_get_SSL_CTX.3 head/secure/lib/libcrypto/man/man3/SSL_get_all_async_fds.3 head/secure/lib/libcrypto/man/man3/SSL_get_ciphers.3 head/secure/lib/libcrypto/man/man3/SSL_get_client_random.3 head/secure/lib/libcrypto/man/man3/SSL_get_current_cipher.3 head/secure/lib/libcrypto/man/man3/SSL_get_default_timeout.3 head/secure/lib/libcrypto/man/man3/SSL_get_error.3 head/secure/lib/libcrypto/man/man3/SSL_get_extms_support.3 head/secure/lib/libcrypto/man/man3/SSL_get_fd.3 head/secure/lib/libcrypto/man/man3/SSL_get_peer_cert_chain.3 head/secure/lib/libcrypto/man/man3/SSL_get_peer_certificate.3 head/secure/lib/libcrypto/man/man3/SSL_get_peer_signature_nid.3 head/secure/lib/libcrypto/man/man3/SSL_get_peer_tmp_key.3 head/secure/lib/libcrypto/man/man3/SSL_get_psk_identity.3 head/secure/lib/libcrypto/man/man3/SSL_get_rbio.3 head/secure/lib/libcrypto/man/man3/SSL_get_session.3 head/secure/lib/libcrypto/man/man3/SSL_get_shared_sigalgs.3 head/secure/lib/libcrypto/man/man3/SSL_get_verify_result.3 head/secure/lib/libcrypto/man/man3/SSL_get_version.3 head/secure/lib/libcrypto/man/man3/SSL_in_init.3 head/secure/lib/libcrypto/man/man3/SSL_key_update.3 head/secure/lib/libcrypto/man/man3/SSL_library_init.3 head/secure/lib/libcrypto/man/man3/SSL_load_client_CA_file.3 head/secure/lib/libcrypto/man/man3/SSL_new.3 head/secure/lib/libcrypto/man/man3/SSL_pending.3 head/secure/lib/libcrypto/man/man3/SSL_read.3 head/secure/lib/libcrypto/man/man3/SSL_read_early_data.3 head/secure/lib/libcrypto/man/man3/SSL_rstate_string.3 head/secure/lib/libcrypto/man/man3/SSL_session_reused.3 head/secure/lib/libcrypto/man/man3/SSL_set1_host.3 head/secure/lib/libcrypto/man/man3/SSL_set_bio.3 head/secure/lib/libcrypto/man/man3/SSL_set_connect_state.3 head/secure/lib/libcrypto/man/man3/SSL_set_fd.3 head/secure/lib/libcrypto/man/man3/SSL_set_session.3 head/secure/lib/libcrypto/man/man3/SSL_set_shutdown.3 head/secure/lib/libcrypto/man/man3/SSL_set_verify_result.3 head/secure/lib/libcrypto/man/man3/SSL_shutdown.3 head/secure/lib/libcrypto/man/man3/SSL_state_string.3 head/secure/lib/libcrypto/man/man3/SSL_want.3 head/secure/lib/libcrypto/man/man3/SSL_write.3 head/secure/lib/libcrypto/man/man3/UI_STRING.3 head/secure/lib/libcrypto/man/man3/UI_UTIL_read_pw.3 head/secure/lib/libcrypto/man/man3/UI_create_method.3 head/secure/lib/libcrypto/man/man3/UI_new.3 head/secure/lib/libcrypto/man/man3/X509V3_get_d2i.3 head/secure/lib/libcrypto/man/man3/X509_ALGOR_dup.3 head/secure/lib/libcrypto/man/man3/X509_CRL_get0_by_serial.3 head/secure/lib/libcrypto/man/man3/X509_EXTENSION_set_object.3 head/secure/lib/libcrypto/man/man3/X509_LOOKUP_hash_dir.3 head/secure/lib/libcrypto/man/man3/X509_LOOKUP_meth_new.3 head/secure/lib/libcrypto/man/man3/X509_NAME_ENTRY_get_object.3 head/secure/lib/libcrypto/man/man3/X509_NAME_add_entry_by_txt.3 head/secure/lib/libcrypto/man/man3/X509_NAME_get0_der.3 head/secure/lib/libcrypto/man/man3/X509_NAME_get_index_by_NID.3 head/secure/lib/libcrypto/man/man3/X509_NAME_print_ex.3 head/secure/lib/libcrypto/man/man3/X509_PUBKEY_new.3 head/secure/lib/libcrypto/man/man3/X509_SIG_get0.3 head/secure/lib/libcrypto/man/man3/X509_STORE_CTX_get_error.3 head/secure/lib/libcrypto/man/man3/X509_STORE_CTX_new.3 head/secure/lib/libcrypto/man/man3/X509_STORE_CTX_set_verify_cb.3 head/secure/lib/libcrypto/man/man3/X509_STORE_add_cert.3 head/secure/lib/libcrypto/man/man3/X509_STORE_get0_param.3 head/secure/lib/libcrypto/man/man3/X509_STORE_new.3 head/secure/lib/libcrypto/man/man3/X509_STORE_set_verify_cb_func.3 head/secure/lib/libcrypto/man/man3/X509_VERIFY_PARAM_set_flags.3 head/secure/lib/libcrypto/man/man3/X509_check_ca.3 head/secure/lib/libcrypto/man/man3/X509_check_host.3 head/secure/lib/libcrypto/man/man3/X509_check_issued.3 head/secure/lib/libcrypto/man/man3/X509_check_private_key.3 head/secure/lib/libcrypto/man/man3/X509_cmp.3 head/secure/lib/libcrypto/man/man3/X509_cmp_time.3 head/secure/lib/libcrypto/man/man3/X509_digest.3 head/secure/lib/libcrypto/man/man3/X509_dup.3 head/secure/lib/libcrypto/man/man3/X509_get0_notBefore.3 head/secure/lib/libcrypto/man/man3/X509_get0_signature.3 head/secure/lib/libcrypto/man/man3/X509_get0_uids.3 head/secure/lib/libcrypto/man/man3/X509_get_extension_flags.3 head/secure/lib/libcrypto/man/man3/X509_get_pubkey.3 head/secure/lib/libcrypto/man/man3/X509_get_serialNumber.3 head/secure/lib/libcrypto/man/man3/X509_get_subject_name.3 head/secure/lib/libcrypto/man/man3/X509_get_version.3 head/secure/lib/libcrypto/man/man3/X509_new.3 head/secure/lib/libcrypto/man/man3/X509_sign.3 head/secure/lib/libcrypto/man/man3/X509_verify_cert.3 head/secure/lib/libcrypto/man/man3/X509v3_get_ext_by_NID.3 head/secure/lib/libcrypto/man/man3/d2i_DHparams.3 head/secure/lib/libcrypto/man/man3/d2i_PKCS8PrivateKey_bio.3 head/secure/lib/libcrypto/man/man3/d2i_PrivateKey.3 head/secure/lib/libcrypto/man/man3/d2i_SSL_SESSION.3 head/secure/lib/libcrypto/man/man3/d2i_X509.3 head/secure/lib/libcrypto/man/man3/i2d_CMS_bio_stream.3 head/secure/lib/libcrypto/man/man3/i2d_PKCS7_bio_stream.3 head/secure/lib/libcrypto/man/man3/i2d_re_X509_tbs.3 head/secure/lib/libcrypto/man/man3/o2i_SCT_LIST.3 head/secure/lib/libcrypto/man/man5/x509v3_config.5 head/secure/lib/libcrypto/man/man7/Ed25519.7 head/secure/lib/libcrypto/man/man7/Makefile head/secure/lib/libcrypto/man/man7/RAND.7 head/secure/lib/libcrypto/man/man7/RAND_DRBG.7 head/secure/lib/libcrypto/man/man7/RSA-PSS.7 head/secure/lib/libcrypto/man/man7/SM2.7 head/secure/lib/libcrypto/man/man7/X25519.7 head/secure/lib/libcrypto/man/man7/bio.7 head/secure/lib/libcrypto/man/man7/ct.7 head/secure/lib/libcrypto/man/man7/des_modes.7 head/secure/lib/libcrypto/man/man7/evp.7 head/secure/lib/libcrypto/man/man7/ossl_store-file.7 head/secure/lib/libcrypto/man/man7/ossl_store.7 head/secure/lib/libcrypto/man/man7/passphrase-encoding.7 head/secure/lib/libcrypto/man/man7/scrypt.7 head/secure/lib/libcrypto/man/man7/ssl.7 head/secure/lib/libcrypto/man/man7/x509.7 head/secure/usr.bin/openssl/man/CA.pl.1 head/secure/usr.bin/openssl/man/asn1parse.1 head/secure/usr.bin/openssl/man/ca.1 head/secure/usr.bin/openssl/man/ciphers.1 head/secure/usr.bin/openssl/man/cms.1 head/secure/usr.bin/openssl/man/crl.1 head/secure/usr.bin/openssl/man/crl2pkcs7.1 head/secure/usr.bin/openssl/man/dgst.1 head/secure/usr.bin/openssl/man/dhparam.1 head/secure/usr.bin/openssl/man/dsa.1 head/secure/usr.bin/openssl/man/dsaparam.1 head/secure/usr.bin/openssl/man/ec.1 head/secure/usr.bin/openssl/man/ecparam.1 head/secure/usr.bin/openssl/man/enc.1 head/secure/usr.bin/openssl/man/engine.1 head/secure/usr.bin/openssl/man/errstr.1 head/secure/usr.bin/openssl/man/gendsa.1 head/secure/usr.bin/openssl/man/genpkey.1 head/secure/usr.bin/openssl/man/genrsa.1 head/secure/usr.bin/openssl/man/list.1 head/secure/usr.bin/openssl/man/nseq.1 head/secure/usr.bin/openssl/man/ocsp.1 head/secure/usr.bin/openssl/man/openssl.1 head/secure/usr.bin/openssl/man/passwd.1 head/secure/usr.bin/openssl/man/pkcs12.1 head/secure/usr.bin/openssl/man/pkcs7.1 head/secure/usr.bin/openssl/man/pkcs8.1 head/secure/usr.bin/openssl/man/pkey.1 head/secure/usr.bin/openssl/man/pkeyparam.1 head/secure/usr.bin/openssl/man/pkeyutl.1 head/secure/usr.bin/openssl/man/prime.1 head/secure/usr.bin/openssl/man/rand.1 head/secure/usr.bin/openssl/man/req.1 head/secure/usr.bin/openssl/man/rsa.1 head/secure/usr.bin/openssl/man/rsautl.1 head/secure/usr.bin/openssl/man/s_client.1 head/secure/usr.bin/openssl/man/s_server.1 head/secure/usr.bin/openssl/man/s_time.1 head/secure/usr.bin/openssl/man/sess_id.1 head/secure/usr.bin/openssl/man/smime.1 head/secure/usr.bin/openssl/man/speed.1 head/secure/usr.bin/openssl/man/spkac.1 head/secure/usr.bin/openssl/man/srp.1 head/secure/usr.bin/openssl/man/storeutl.1 head/secure/usr.bin/openssl/man/ts.1 head/secure/usr.bin/openssl/man/tsget.1 head/secure/usr.bin/openssl/man/verify.1 head/secure/usr.bin/openssl/man/version.1 head/secure/usr.bin/openssl/man/x509.1 Directory Properties: head/crypto/openssl/ (props changed) Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Wed Mar 18 01:55:27 2020 (r359059) +++ head/ObsoleteFiles.inc Wed Mar 18 02:13:12 2020 (r359060) @@ -36,6 +36,12 @@ # xargs -n1 | sort | uniq -d; # done +# 20200317: OpenSSL 1.1.1e import +OLD_FILES+=usr/share/openssl/man/man3/EVP_PKEY_security_bits.3.gz +OLD_FILES+=usr/share/openssl/man/man3/EVP_PKEY_size.3.gz +OLD_FILES+=usr/share/openssl/man/man3/X509_LOOKUP_get_method_data.3.gz +OLD_FILES+=usr/share/openssl/man/man3/X509_LOOKUP_get_store.3.gz +OLD_FILES+=usr/share/openssl/man/man3/X509_LOOKUP_set_method_data.3.gz # 20200310: new clang import which bumps version from 9.0.1 to 10.0.0. OLD_FILES+=usr/lib/clang/9.0.1/include/cuda_wrappers/algorithm OLD_FILES+=usr/lib/clang/9.0.1/include/cuda_wrappers/complex Modified: head/crypto/openssl/CHANGES ============================================================================== --- head/crypto/openssl/CHANGES Wed Mar 18 01:55:27 2020 (r359059) +++ head/crypto/openssl/CHANGES Wed Mar 18 02:13:12 2020 (r359060) @@ -7,6 +7,73 @@ https://github.com/openssl/openssl/commits/ and pick the appropriate release branch. + Changes between 1.1.1d and 1.1.1e [17 Mar 2020] + *) Properly detect EOF while reading in libssl. Previously if we hit an EOF + while reading in libssl then we would report an error back to the + application (SSL_ERROR_SYSCALL) but errno would be 0. We now add + an error to the stack (which means we instead return SSL_ERROR_SSL) and + therefore give a hint as to what went wrong. + [Matt Caswell] + + *) Check that ed25519 and ed448 are allowed by the security level. Previously + signature algorithms not using an MD were not being checked that they were + allowed by the security level. + [Kurt Roeckx] + + *) Fixed SSL_get_servername() behaviour. The behaviour of SSL_get_servername() + was not quite right. The behaviour was not consistent between resumption + and normal handshakes, and also not quite consistent with historical + behaviour. The behaviour in various scenarios has been clarified and + it has been updated to make it match historical behaviour as closely as + possible. + [Matt Caswell] + + *) [VMS only] The header files that the VMS compilers include automatically, + __DECC_INCLUDE_PROLOGUE.H and __DECC_INCLUDE_EPILOGUE.H, use pragmas that + the C++ compiler doesn't understand. This is a shortcoming in the + compiler, but can be worked around with __cplusplus guards. + + C++ applications that use OpenSSL libraries must be compiled using the + qualifier '/NAMES=(AS_IS,SHORTENED)' to be able to use all the OpenSSL + functions. Otherwise, only functions with symbols of less than 31 + characters can be used, as the linker will not be able to successfully + resolve symbols with longer names. + [Richard Levitte] + + *) Corrected the documentation of the return values from the EVP_DigestSign* + set of functions. The documentation mentioned negative values for some + errors, but this was never the case, so the mention of negative values + was removed. + + Code that followed the documentation and thereby check with something + like 'EVP_DigestSignInit(...) <= 0' will continue to work undisturbed. + [Richard Levitte] + + *) Fixed an an overflow bug in the x64_64 Montgomery squaring procedure + used in exponentiation with 512-bit moduli. No EC algorithms are + affected. Analysis suggests that attacks against 2-prime RSA1024, + 3-prime RSA1536, and DSA1024 as a result of this defect would be very + difficult to perform and are not believed likely. Attacks against DH512 + are considered just feasible. However, for an attack the target would + have to re-use the DH512 private key, which is not recommended anyway. + Also applications directly using the low level API BN_mod_exp may be + affected if they use BN_FLG_CONSTTIME. + (CVE-2019-1551) + [Andy Polyakov] + + *) Added a new method to gather entropy on VMS, based on SYS$GET_ENTROPY. + The presence of this system service is determined at run-time. + [Richard Levitte] + + *) Added newline escaping functionality to a filename when using openssl dgst. + This output format is to replicate the output format found in the '*sum' + checksum programs. This aims to preserve backward compatibility. + [Matt Eaton, Richard Levitte, and Paul Dale] + + *) Print all values for a PKCS#12 attribute with 'openssl pkcs12', not just + the first value. + [Jon Spillett] + Changes between 1.1.1c and 1.1.1d [10 Sep 2019] *) Fixed a fork protection issue. OpenSSL 1.1.1 introduced a rewritten random @@ -633,9 +700,9 @@ bytes long. In theory it is permissible in SSLv3 - TLSv1.2 to fragment such alerts across multiple records (some of which could be empty). In practice it make no sense to send an empty alert record, or to fragment one. TLSv1.3 - prohibts this altogether and other libraries (BoringSSL, NSS) do not + prohibits this altogether and other libraries (BoringSSL, NSS) do not support this at all. Supporting it adds significant complexity to the - record layer, and its removal is unlikely to cause inter-operability + record layer, and its removal is unlikely to cause interoperability issues. [Matt Caswell] @@ -3652,7 +3719,7 @@ implementations). [Emilia Käsper, Adam Langley, Bodo Moeller (Google)] - *) Use type ossl_ssize_t instad of ssize_t which isn't available on + *) Use type ossl_ssize_t instead of ssize_t which isn't available on all platforms. Move ssize_t definition from e_os.h to the public header file e_os2.h as it now appears in public header file cms.h [Steve Henson] @@ -8373,7 +8440,7 @@ des-cbc 3624.96k 5258.21k 5530.91k *) New OCSP utility. Allows OCSP requests to be generated or read. The request can be sent to a responder and the output - parsed, outputed or printed in text form. Not complete yet: + parsed, outputted or printed in text form. Not complete yet: still needs to check the OCSP response validity. [Steve Henson] @@ -9368,7 +9435,7 @@ des-cbc 3624.96k 5258.21k 5530.91k [Andy Polyakov] *) Modified SSL library such that the verify_callback that has been set - specificly for an SSL object with SSL_set_verify() is actually being + specifically for an SSL object with SSL_set_verify() is actually being used. Before the change, a verify_callback set with this function was ignored and the verify_callback() set in the SSL_CTX at the time of the call was used. New function X509_STORE_CTX_set_verify_cb() introduced @@ -10485,10 +10552,10 @@ des-cbc 3624.96k 5258.21k 5530.91k as other interfaces in OpenSSL, like the BIO interface. NCONF_dump_* dump the internal storage of the configuration file, which is useful for debugging. All other functions take the same - arguments as the old CONF_* functions wth the exception of the + arguments as the old CONF_* functions with the exception of the first that must be a `CONF *' instead of a `LHASH *'. - To make it easer to use the new classes with the old CONF_* functions, + To make it easier to use the new classes with the old CONF_* functions, the function CONF_set_default_method is provided. [Richard Levitte] @@ -12331,7 +12398,7 @@ des-cbc 3624.96k 5258.21k 5530.91k than the old method: it now uses a modified version of Ulf's parser to read the ANSI prototypes in all header files (thus the old K&R definitions aren't needed for error creation any more) and do a better job of - translating function codes into names. The old 'ASN1 error code imbedded + translating function codes into names. The old 'ASN1 error code embedded in a comment' is no longer necessary and it doesn't use .err files which have now been deleted. Also the error code call doesn't have to appear all on one line (which resulted in some large lines...). @@ -12632,7 +12699,7 @@ des-cbc 3624.96k 5258.21k 5530.91k *) Add a useful kludge to allow package maintainers to specify compiler and other platforms details on the command line without having to patch the - Configure script everytime: One now can use ``perl Configure + Configure script every time: One now can use ``perl Configure :
'', i.e. platform ids are allowed to have details appended to them (separated by colons). This is treated as there would be a static pre-configured entry in Configure's %table under key with value Modified: head/crypto/openssl/CONTRIBUTING ============================================================================== --- head/crypto/openssl/CONTRIBUTING Wed Mar 18 01:55:27 2020 (r359059) +++ head/crypto/openssl/CONTRIBUTING Wed Mar 18 02:13:12 2020 (r359060) @@ -58,7 +58,7 @@ guidelines: consider adding a note in CHANGES. This could be a summarising description of the change, and could explain the grander details. Have a look through existing entries for inspiration. - Please note that this is NOT simply a copy of git-log oneliners. + Please note that this is NOT simply a copy of git-log one-liners. Also note that security fixes get an entry in CHANGES. This file helps users get more in depth information of what comes with a specific release without having to sift through the higher Modified: head/crypto/openssl/Configure ============================================================================== --- head/crypto/openssl/Configure Wed Mar 18 01:55:27 2020 (r359059) +++ head/crypto/openssl/Configure Wed Mar 18 02:13:12 2020 (r359060) @@ -1,6 +1,6 @@ #! /usr/bin/env perl # -*- mode: perl; -*- -# Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -69,7 +69,15 @@ my $usage="Usage: Configure [no- ...] [enable- # no-sse2 disables IA-32 SSE2 code in assembly modules, the above # mentioned '386' option implies this one # no- build without specified algorithm (rsa, idea, rc5, ...) -# - + compiler options are passed through +# - + All options which are unknown to the 'Configure' script are +# / passed through to the compiler. Unix-style options beginning +# with a '-' or '+' are recognized, as well as Windows-style +# options beginning with a '/'. If the option contains arguments +# separated by spaces, then the URL-style notation %20 can be +# used for the space character in order to avoid having to quote +# the option. For example, -opt%20arg gets expanded to -opt arg. +# In fact, any ASCII character can be encoded as %xx using its +# hexadecimal encoding. # -static while -static is also a pass-through compiler option (and # as such is limited to environments where it's actually # meaningful), it triggers a number configuration options, @@ -152,6 +160,10 @@ my @clang_devteam_warn = qw( -Wmissing-variable-declarations ); +my @cl_devteam_warn = qw( + /WX +); + # This adds backtrace information to the memory leak info. Is only used # when crypto-mdebug-backtrace is enabled. my $memleak_devteam_backtrace = "-rdynamic"; @@ -346,6 +358,7 @@ my @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -423,7 +436,6 @@ my %deprecated_disablables = ( "buf-freelists" => undef, "ripemd" => "rmd160", "ui" => "ui-console", - "dso" => "", # Empty string means we're silent about it ); # All of the following are disabled by default: @@ -480,6 +492,7 @@ my @disable_cascades = ( # Without position independent code, there can be no shared libraries or DSOs "pic" => [ "shared" ], "shared" => [ "dynamic-engine" ], + "dso" => [ "dynamic-engine" ], "engine" => [ "afalgeng", "devcryptoeng" ], # no-autoalginit is only useful when building non-shared @@ -520,7 +533,7 @@ while ((my $first, my $second) = (shift @list, shift @ &usage if ($#ARGV < 0); -# For the "make variables" CINCLUDES and CDEFINES, we support lists with +# For the "make variables" CPPINCLUDES and CPPDEFINES, we support lists with # platform specific list separators. Users from those platforms should # recognise those separators from how you set up the PATH to find executables. # The default is the Unix like separator, :, but as an exception, we also @@ -776,7 +789,7 @@ while (@argvcopy) { die "FIPS mode not supported\n"; } - elsif (/^[-+]/) + elsif (m|^[-+/]|) { if (/^--prefix=(.*)$/) { @@ -853,11 +866,11 @@ while (@argvcopy) { push @{$useradd{LDFLAGS}}, $_; } - elsif (/^-D(.*)$/) + elsif (m|^[-/]D(.*)$|) { push @{$useradd{CPPDEFINES}}, $1; } - elsif (/^-I(.*)$/) + elsif (m|^[-/]I(.*)$|) { push @{$useradd{CPPINCLUDES}}, $1; } @@ -867,11 +880,23 @@ while (@argvcopy) } else # common if (/^[-+]/), just pass down... { + # Treat %xx as an ASCII code (e.g. replace %20 by a space character). + # This provides a simple way to pass options with arguments separated + # by spaces without quoting (e.g. -opt%20arg translates to -opt arg). $_ =~ s/%([0-9a-f]{1,2})/chr(hex($1))/gei; push @{$useradd{CFLAGS}}, $_; push @{$useradd{CXXFLAGS}}, $_; } } + elsif (m|^/|) + { + # Treat %xx as an ASCII code (e.g. replace %20 by a space character). + # This provides a simple way to pass options with arguments separated + # by spaces without quoting (e.g. /opt%20arg translates to /opt arg). + $_ =~ s/%([0-9a-f]{1,2})/chr(hex($1))/gei; + push @{$useradd{CFLAGS}}, $_; + push @{$useradd{CXXFLAGS}}, $_; + } else { die "target already defined - $target (offending arg: $_)\n" if ($target ne ""); @@ -949,7 +974,11 @@ foreach (keys %user) { if (defined $value) { if (ref $user{$_} eq 'ARRAY') { - $user{$_} = [ split /$list_separator_re/, $value ]; + if ($_ eq 'CPPDEFINES' || $_ eq 'CPPINCLUDES') { + $user{$_} = [ split /$list_separator_re/, $value ]; + } else { + $user{$_} = [ $value ]; + } } elsif (!defined $user{$_}) { $user{$_} = $value; } @@ -1162,43 +1191,6 @@ foreach (keys %useradd) { # Allow overriding the build file name $config{build_file} = env('BUILDFILE') || $target{build_file} || "Makefile"; -my %disabled_info = (); # For configdata.pm -foreach my $what (sort keys %disabled) { - $config{options} .= " no-$what"; - - if (!grep { $what eq $_ } ( 'buildtest-c++', 'threads', 'shared', 'pic', - 'dynamic-engine', 'makedepend', - 'zlib-dynamic', 'zlib', 'sse2' )) { - (my $WHAT = uc $what) =~ s|-|_|g; - - # Fix up C macro end names - $WHAT = "RMD160" if $what eq "ripemd"; - - # fix-up crypto/directory name(s) - $what = "ripemd" if $what eq "rmd160"; - $what = "whrlpool" if $what eq "whirlpool"; - - my $macro = $disabled_info{$what}->{macro} = "OPENSSL_NO_$WHAT"; - - if ((grep { $what eq $_ } @{$config{sdirs}}) - && $what ne 'async' && $what ne 'err') { - @{$config{sdirs}} = grep { $what ne $_} @{$config{sdirs}}; - $disabled_info{$what}->{skipped} = [ catdir('crypto', $what) ]; - - if ($what ne 'engine') { - push @{$config{openssl_algorithm_defines}}, $macro; - } else { - @{$config{dirs}} = grep !/^engines$/, @{$config{dirs}}; - push @{$disabled_info{engine}->{skipped}}, catdir('engines'); - push @{$config{openssl_other_defines}}, $macro; - } - } else { - push @{$config{openssl_other_defines}}, $macro; - } - - } -} - # Make sure build_scheme is consistent. $target{build_scheme} = [ $target{build_scheme} ] if ref($target{build_scheme}) ne "ARRAY"; @@ -1288,10 +1280,8 @@ if ($target{shared_target} eq "") } if ($disabled{"dynamic-engine"}) { - push @{$config{openssl_other_defines}}, "OPENSSL_NO_DYNAMIC_ENGINE"; $config{dynamic_engines} = 0; } else { - push @{$config{openssl_other_defines}}, "OPENSSL_NO_STATIC_ENGINE"; $config{dynamic_engines} = 1; } @@ -1375,6 +1365,7 @@ unless ($disabled{asm}) { } if ($target{aes_asm_src}) { push @{$config{lib_defines}}, "AES_ASM" if ($target{aes_asm_src} =~ m/\baes-/);; + push @{$config{lib_defines}}, "AESNI_ASM" if ($target{aes_asm_src} =~ m/\baesni-/);; # aes-ctr.fake is not a real file, only indication that assembler # module implements AES_ctr32_encrypt... push @{$config{lib_defines}}, "AES_CTR_ASM" if ($target{aes_asm_src} =~ s/\s*aes-ctr\.fake//); @@ -1501,11 +1492,20 @@ if ($strict_warnings) my $wopt; my $gccver = $predefined_C{__GNUC__} // -1; - warn "WARNING --strict-warnings requires gcc[>=4] or gcc-alike" - unless $gccver >= 4; - push @strict_warnings_collection, @gcc_devteam_warn; - push @strict_warnings_collection, @clang_devteam_warn - if (defined($predefined_C{__clang__})); + if ($gccver >= 4) + { + push @strict_warnings_collection, @gcc_devteam_warn; + push @strict_warnings_collection, @clang_devteam_warn + if (defined($predefined_C{__clang__})); + } + elsif ($config{target} =~ /^VC-/) + { + push @strict_warnings_collection, @cl_devteam_warn; + } + else + { + warn "WARNING --strict-warnings requires gcc[>=4] or gcc-alike, or MSVC" + } } if (grep { $_ eq '-static' } @{$config{LDFLAGS}}) { @@ -1552,7 +1552,20 @@ unless ($disabled{afalgeng}) { } } -push @{$config{openssl_other_defines}}, "OPENSSL_NO_AFALGENG" if ($disabled{afalgeng}); +unless ($disabled{devcryptoeng}) { + if ($target =~ m/^BSD/) { + my $maxver = 5*100 + 7; + my $sysstr = `uname -s`; + my $verstr = `uname -r`; + $sysstr =~ s|\R$||; + $verstr =~ s|\R$||; + my ($ma, $mi, @rest) = split m|\.|, $verstr; + my $ver = $ma*100 + $mi; + if ($sysstr eq 'OpenBSD' && $ver >= $maxver) { + disable('too-new-kernel', 'devcryptoeng'); + } + } +} # Get the extra flags used when building shared libraries and modules. We # do this late because some of them depend on %disabled. @@ -1596,6 +1609,49 @@ $target{module_ldflags} = $target{shared_ldflag} unles } # ALL MODIFICATIONS TO %disabled, %config and %target MUST BE DONE FROM HERE ON + +my %disabled_info = (); # For configdata.pm +foreach my $what (sort keys %disabled) { + $config{options} .= " no-$what"; + + if (!grep { $what eq $_ } ( 'buildtest-c++', 'threads', 'shared', 'pic', + 'dynamic-engine', 'makedepend', + 'zlib-dynamic', 'zlib', 'sse2' )) { + (my $WHAT = uc $what) =~ s|-|_|g; + + # Fix up C macro end names + $WHAT = "RMD160" if $what eq "ripemd"; + + # fix-up crypto/directory name(s) + $what = "ripemd" if $what eq "rmd160"; + $what = "whrlpool" if $what eq "whirlpool"; + + my $macro = $disabled_info{$what}->{macro} = "OPENSSL_NO_$WHAT"; + + if ((grep { $what eq $_ } @{$config{sdirs}}) + && $what ne 'async' && $what ne 'err' && $what ne 'dso') { + @{$config{sdirs}} = grep { $what ne $_} @{$config{sdirs}}; + $disabled_info{$what}->{skipped} = [ catdir('crypto', $what) ]; + + if ($what ne 'engine') { + push @{$config{openssl_algorithm_defines}}, $macro; + } else { + @{$config{dirs}} = grep !/^engines$/, @{$config{dirs}}; + push @{$disabled_info{engine}->{skipped}}, catdir('engines'); + push @{$config{openssl_other_defines}}, $macro; + } + } else { + push @{$config{openssl_other_defines}}, $macro; + } + + } +} + +if ($disabled{"dynamic-engine"}) { + push @{$config{openssl_other_defines}}, "OPENSSL_NO_DYNAMIC_ENGINE"; +} else { + push @{$config{openssl_other_defines}}, "OPENSSL_NO_STATIC_ENGINE"; +} # If we use the unified build, collect information from build.info files my %unified_info = (); Modified: head/crypto/openssl/INSTALL ============================================================================== --- head/crypto/openssl/INSTALL Wed Mar 18 01:55:27 2020 (r359059) +++ head/crypto/openssl/INSTALL Wed Mar 18 02:13:12 2020 (r359060) @@ -351,6 +351,9 @@ Don't build support for datagram based BIOs. Selecting this option will also force the disabling of DTLS. + no-dso + Don't build support for loading Dynamic Shared Objects. + enable-devcryptoeng Build the /dev/crypto engine. It is automatically selected on BSD implementations, in which case it can be disabled with @@ -605,11 +608,20 @@ Take note of the VAR=value documentation below and how these flags interact with those variables. - -xxx, +xxx + -xxx, +xxx, /xxx Additional options that are not otherwise recognised are - passed through as they are to the compiler as well. Again, - consult your compiler documentation. + passed through as they are to the compiler as well. + Unix-style options beginning with a '-' or '+' and + Windows-style options beginning with a '/' are recognized. + Again, consult your compiler documentation. + If the option contains arguments separated by spaces, + then the URL-style notation %20 can be used for the space + character in order to avoid having to quote the option. + For example, -opt%20arg gets expanded to -opt arg. + In fact, any ASCII character can be encoded as %xx using its + hexadecimal encoding. + Take note of the VAR=value documentation below and how these flags interact with those variables. @@ -1071,7 +1083,7 @@ HASHBANGPERL The command string for the Perl executable to insert in the - #! line of perl scripts that will be publically installed. + #! line of perl scripts that will be publicly installed. Default: /usr/bin/env perl Note: the value of this variable is added to the same scripts on all platforms, but it's only relevant on Unix-like platforms. Modified: head/crypto/openssl/NEWS ============================================================================== --- head/crypto/openssl/NEWS Wed Mar 18 01:55:27 2020 (r359059) +++ head/crypto/openssl/NEWS Wed Mar 18 02:13:12 2020 (r359060) @@ -5,6 +5,11 @@ This file gives a brief overview of the major changes between each OpenSSL release. For more details please read the CHANGES file. + Major changes between OpenSSL 1.1.1d and OpenSSL 1.1.1e [17 Mar 2020] + + o Fixed an overflow bug in the x64_64 Montgomery squaring procedure + used in exponentiation with 512-bit moduli (CVE-2019-1551) + Major changes between OpenSSL 1.1.1c and OpenSSL 1.1.1d [10 Sep 2019] o Fixed a fork protection issue (CVE-2019-1549) Modified: head/crypto/openssl/README ============================================================================== --- head/crypto/openssl/README Wed Mar 18 01:55:27 2020 (r359059) +++ head/crypto/openssl/README Wed Mar 18 02:13:12 2020 (r359060) @@ -1,5 +1,5 @@ - OpenSSL 1.1.1d 10 Sep 2019 + OpenSSL 1.1.1e 17 Mar 2020 Copyright (c) 1998-2019 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson Modified: head/crypto/openssl/apps/apps.c ============================================================================== --- head/crypto/openssl/apps/apps.c Wed Mar 18 01:55:27 2020 (r359059) +++ head/crypto/openssl/apps/apps.c Wed Mar 18 02:13:12 2020 (r359060) @@ -1962,26 +1962,46 @@ unsigned char *next_protos_parse(size_t *outlen, const size_t len; unsigned char *out; size_t i, start = 0; + size_t skipped = 0; len = strlen(in); - if (len >= 65535) + if (len == 0 || len >= 65535) return NULL; - out = app_malloc(strlen(in) + 1, "NPN buffer"); + out = app_malloc(len + 1, "NPN buffer"); for (i = 0; i <= len; ++i) { if (i == len || in[i] == ',') { + /* + * Zero-length ALPN elements are invalid on the wire, we could be + * strict and reject the entire string, but just ignoring extra + * commas seems harmless and more friendly. + * + * Every comma we skip in this way puts the input buffer another + * byte ahead of the output buffer, so all stores into the output + * buffer need to be decremented by the number commas skipped. + */ + if (i == start) { + ++start; + ++skipped; + continue; + } if (i - start > 255) { OPENSSL_free(out); return NULL; } - out[start] = (unsigned char)(i - start); + out[start-skipped] = (unsigned char)(i - start); start = i + 1; } else { - out[i + 1] = in[i]; + out[i + 1 - skipped] = in[i]; } } - *outlen = len + 1; + if (len <= skipped) { + OPENSSL_free(out); + return NULL; + } + + *outlen = len + 1 - skipped; return out; } Modified: head/crypto/openssl/apps/apps.h ============================================================================== --- head/crypto/openssl/apps/apps.h Wed Mar 18 01:55:27 2020 (r359059) +++ head/crypto/openssl/apps/apps.h Wed Mar 18 02:13:12 2020 (r359060) @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_APPS_H -# define HEADER_APPS_H +#ifndef OSSL_APPS_H +# define OSSL_APPS_H # include "e_os.h" /* struct timeval for DTLS */ # include "internal/nelem.h" Modified: head/crypto/openssl/apps/dgst.c ============================================================================== --- head/crypto/openssl/apps/dgst.c Wed Mar 18 01:55:27 2020 (r359059) +++ head/crypto/openssl/apps/dgst.c Wed Mar 18 02:13:12 2020 (r359060) @@ -19,6 +19,7 @@ #include #include #include +#include #undef BUFSIZE #define BUFSIZE 1024*8 @@ -27,9 +28,15 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int s EVP_PKEY *key, unsigned char *sigin, int siglen, const char *sig_name, const char *md_name, const char *file); +static void show_digests(const OBJ_NAME *name, void *bio_); +struct doall_dgst_digests { + BIO *bio; + int n; +}; + typedef enum OPTION_choice { - OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, + OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_LIST, OPT_C, OPT_R, OPT_OUT, OPT_SIGN, OPT_PASSIN, OPT_VERIFY, OPT_PRVERIFY, OPT_SIGNATURE, OPT_KEYFORM, OPT_ENGINE, OPT_ENGINE_IMPL, OPT_HEX, OPT_BINARY, OPT_DEBUG, OPT_FIPS_FINGERPRINT, @@ -43,6 +50,7 @@ const OPTIONS dgst_options[] = { {OPT_HELP_STR, 1, '-', " file... files to digest (default is stdin)\n"}, {"help", OPT_HELP, '-', "Display this summary"}, + {"list", OPT_LIST, '-', "List digests"}, {"c", OPT_C, '-', "Print the digest with separating colons"}, {"r", OPT_R, '-', "Print the digest in coreutils format"}, {"out", OPT_OUT, '>', "Output to filename rather than stdout"}, @@ -91,6 +99,7 @@ int dgst_main(int argc, char **argv) int i, ret = 1, out_bin = -1, want_pub = 0, do_verify = 0; unsigned char *buf = NULL, *sigbuf = NULL; int engine_impl = 0; + struct doall_dgst_digests dec; prog = opt_progname(argv[0]); buf = app_malloc(BUFSIZE, "I/O buffer"); @@ -108,6 +117,15 @@ int dgst_main(int argc, char **argv) opt_help(dgst_options); ret = 0; goto end; + case OPT_LIST: + BIO_printf(bio_out, "Supported digests:\n"); + dec.bio = bio_out; + dec.n = 0; + OBJ_NAME_do_all_sorted(OBJ_NAME_TYPE_MD_METH, + show_digests, &dec); + BIO_printf(bio_out, "\n"); + ret = 0; + goto end; case OPT_C: separator = 1; break; @@ -413,20 +431,86 @@ int dgst_main(int argc, char **argv) return ret; } +static void show_digests(const OBJ_NAME *name, void *arg) +{ + struct doall_dgst_digests *dec = (struct doall_dgst_digests *)arg; + const EVP_MD *md = NULL; + + /* Filter out signed digests (a.k.a signature algorithms) */ + if (strstr(name->name, "rsa") != NULL || strstr(name->name, "RSA") != NULL) + return; + + if (!islower((unsigned char)*name->name)) + return; + + /* Filter out message digests that we cannot use */ + md = EVP_get_digestbyname(name->name); + if (md == NULL) + return; + + BIO_printf(dec->bio, "-%-25s", name->name); + if (++dec->n == 3) { + BIO_printf(dec->bio, "\n"); + dec->n = 0; + } else { + BIO_printf(dec->bio, " "); + } +} + +/* + * The newline_escape_filename function performs newline escaping for any + * filename that contains a newline. This function also takes a pointer + * to backslash. The backslash pointer is a flag to indicating whether a newline + * is present in the filename. If a newline is present, the backslash flag is + * set and the output format will contain a backslash at the beginning of the + * digest output. This output format is to replicate the output format found + * in the '*sum' checksum programs. This aims to preserve backward + * compatibility. + */ +static const char *newline_escape_filename(const char *file, int * backslash) +{ + size_t i, e = 0, length = strlen(file), newline_count = 0, mem_len = 0; + char *file_cpy = NULL; + + for (i = 0; i < length; i++) + if (file[i] == '\n') + newline_count++; + + mem_len = length + newline_count + 1; + file_cpy = app_malloc(mem_len, file); + i = 0; + + while(e < length) { + const char c = file[e]; + if (c == '\n') { + file_cpy[i++] = '\\'; + file_cpy[i++] = 'n'; + *backslash = 1; + } else { + file_cpy[i++] = c; + } + e++; + } + file_cpy[i] = '\0'; + return (const char*)file_cpy; +} + + int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout, EVP_PKEY *key, unsigned char *sigin, int siglen, const char *sig_name, const char *md_name, const char *file) { - size_t len; - int i; + size_t len = BUFSIZE; + int i, backslash = 0, ret = 1; + unsigned char *sigbuf = NULL; while (BIO_pending(bp) || !BIO_eof(bp)) { i = BIO_read(bp, (char *)buf, BUFSIZE); if (i < 0) { BIO_printf(bio_err, "Read Error in %s\n", file); ERR_print_errors(bio_err); - return 1; + goto end; } if (i == 0) break; @@ -439,37 +523,51 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int s BIO_printf(out, "Verified OK\n"); } else if (i == 0) { BIO_printf(out, "Verification Failure\n"); - return 1; + goto end; } else { BIO_printf(bio_err, "Error Verifying Data\n"); ERR_print_errors(bio_err); - return 1; + goto end; } - return 0; + ret = 0; + goto end; } if (key != NULL) { EVP_MD_CTX *ctx; + int pkey_len; BIO_get_md_ctx(bp, &ctx); - len = BUFSIZE; + pkey_len = EVP_PKEY_size(key); + if (pkey_len > BUFSIZE) { + len = pkey_len; + sigbuf = app_malloc(len, "Signature buffer"); + buf = sigbuf; + } if (!EVP_DigestSignFinal(ctx, buf, &len)) { BIO_printf(bio_err, "Error Signing Data\n"); ERR_print_errors(bio_err); - return 1; + goto end; } } else { len = BIO_gets(bp, (char *)buf, BUFSIZE); if ((int)len < 0) { ERR_print_errors(bio_err); - return 1; + goto end; } } if (binout) { BIO_write(out, buf, len); } else if (sep == 2) { + file = newline_escape_filename(file, &backslash); + + if (backslash == 1) + BIO_puts(out, "\\"); + for (i = 0; i < (int)len; i++) BIO_printf(out, "%02x", buf[i]); + BIO_printf(out, " *%s\n", file); + OPENSSL_free((char *)file); } else { if (sig_name != NULL) { BIO_puts(out, sig_name); @@ -488,5 +586,11 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int s } BIO_printf(out, "\n"); } - return 0; + + ret = 0; + end: + if (sigbuf != NULL) + OPENSSL_clear_free(sigbuf, len); + + return ret; } Modified: head/crypto/openssl/apps/enc.c ============================================================================== --- head/crypto/openssl/apps/enc.c Wed Mar 18 01:55:27 2020 (r359059) +++ head/crypto/openssl/apps/enc.c Wed Mar 18 02:13:12 2020 (r359060) @@ -50,7 +50,8 @@ typedef enum OPTION_choice { const OPTIONS enc_options[] = { {"help", OPT_HELP, '-', "Display this summary"}, - {"ciphers", OPT_LIST, '-', "List ciphers"}, + {"list", OPT_LIST, '-', "List ciphers"}, + {"ciphers", OPT_LIST, '-', "Alias for -list"}, {"in", OPT_IN, '<', "Input file"}, {"out", OPT_OUT, '>', "Output file"}, {"pass", OPT_PASS, 's', "Passphrase source"}, Modified: head/crypto/openssl/apps/ocsp.c ============================================================================== --- head/crypto/openssl/apps/ocsp.c Wed Mar 18 01:55:27 2020 (r359059) +++ head/crypto/openssl/apps/ocsp.c Wed Mar 18 02:13:12 2020 (r359060) @@ -114,7 +114,7 @@ static int acfd = (int) INVALID_SOCKET; static int index_changed(CA_DB *); static void spawn_loop(void); static int print_syslog(const char *str, size_t len, void *levPtr); -static void sock_timeout(int signum); +static void socket_timeout(int signum); # endif # ifndef OPENSSL_NO_SOCK @@ -597,7 +597,7 @@ int ocsp_main(int argc, char **argv) if (multi && acbio != NULL) spawn_loop(); if (acbio != NULL && req_timeout > 0) - signal(SIGALRM, sock_timeout); + signal(SIGALRM, socket_timeout); #endif if (acbio != NULL) @@ -1352,7 +1352,7 @@ static int urldecode(char *p) # endif # ifdef OCSP_DAEMON -static void sock_timeout(int signum) +static void socket_timeout(int signum) { if (acfd != (int)INVALID_SOCKET) (void)shutdown(acfd, SHUT_RD); Modified: head/crypto/openssl/apps/openssl.c ============================================================================== --- head/crypto/openssl/apps/openssl.c Wed Mar 18 01:55:27 2020 (r359059) +++ head/crypto/openssl/apps/openssl.c Wed Mar 18 02:13:12 2020 (r359060) @@ -164,6 +164,13 @@ int main(int argc, char *argv[]) } prog = prog_init(); + if (prog == NULL) { + BIO_printf(bio_err, + "FATAL: Startup failure (dev note: prog_init() failed)\n"); + ERR_print_errors(bio_err); + ret = 1; + goto end; + } pname = opt_progname(argv[0]); /* first check the program name */ Modified: head/crypto/openssl/apps/passwd.c ============================================================================== --- head/crypto/openssl/apps/passwd.c Wed Mar 18 01:55:27 2020 (r359059) +++ head/crypto/openssl/apps/passwd.c Wed Mar 18 02:13:12 2020 (r359060) @@ -807,7 +807,7 @@ static int do_passwd(int passed_salt, char **salt_p, c (*salt_p)[i] = cov_2char[(*salt_p)[i] & 0x3f]; /* 6 bits */ (*salt_p)[i] = 0; # ifdef CHARSET_EBCDIC - /* The password encryption funtion will convert back to ASCII */ + /* The password encryption function will convert back to ASCII */ ascii2ebcdic(*salt_p, *salt_p, saltlen); # endif } Modified: head/crypto/openssl/apps/pkcs12.c ============================================================================== --- head/crypto/openssl/apps/pkcs12.c Wed Mar 18 01:55:27 2020 (r359059) +++ head/crypto/openssl/apps/pkcs12.c Wed Mar 18 02:13:12 2020 (r359060) @@ -41,6 +41,7 @@ int dump_certs_pkeys_bags(BIO *out, const STACK_OF(PKC int dump_certs_pkeys_bag(BIO *out, const PKCS12_SAFEBAG *bags, const char *pass, int passlen, int options, char *pempass, const EVP_CIPHER *enc); +void print_attribute(BIO *out, const ASN1_TYPE *av); int print_attribs(BIO *out, const STACK_OF(X509_ATTRIBUTE) *attrlst, const char *name); void hex_prin(BIO *out, unsigned char *buf, int len); @@ -878,6 +879,38 @@ int cert_load(BIO *in, STACK_OF(X509) *sk) return ret; } +/* Generalised x509 attribute value print */ + +void print_attribute(BIO *out, const ASN1_TYPE *av) +{ + char *value; + + switch (av->type) { + case V_ASN1_BMPSTRING: + value = OPENSSL_uni2asc(av->value.bmpstring->data, + av->value.bmpstring->length); + BIO_printf(out, "%s\n", value); + OPENSSL_free(value); + break; + + case V_ASN1_OCTET_STRING: + hex_prin(out, av->value.octet_string->data, + av->value.octet_string->length); + BIO_printf(out, "\n"); + break; + + case V_ASN1_BIT_STRING: + hex_prin(out, av->value.bit_string->data, + av->value.bit_string->length); + BIO_printf(out, "\n"); + break; + + default: + BIO_printf(out, "\n", av->type); + break; + } +} + /* Generalised attribute print: handle PKCS#8 and bag attributes */ int print_attribs(BIO *out, const STACK_OF(X509_ATTRIBUTE) *attrlst, @@ -885,8 +918,7 @@ int print_attribs(BIO *out, const STACK_OF(X509_ATTRIB { X509_ATTRIBUTE *attr; ASN1_TYPE *av; - char *value; - int i, attr_nid; + int i, j, attr_nid; if (!attrlst) { BIO_printf(out, "%s: \n", name); return 1; @@ -910,30 +942,10 @@ int print_attribs(BIO *out, const STACK_OF(X509_ATTRIB } if (X509_ATTRIBUTE_count(attr)) { - av = X509_ATTRIBUTE_get0_type(attr, 0); - switch (av->type) { - case V_ASN1_BMPSTRING: - value = OPENSSL_uni2asc(av->value.bmpstring->data, - av->value.bmpstring->length); - BIO_printf(out, "%s\n", value); - OPENSSL_free(value); - break; - - case V_ASN1_OCTET_STRING: - hex_prin(out, av->value.octet_string->data, - av->value.octet_string->length); - BIO_printf(out, "\n"); - break; - - case V_ASN1_BIT_STRING: - hex_prin(out, av->value.bit_string->data, - av->value.bit_string->length); - BIO_printf(out, "\n"); - break; - - default: - BIO_printf(out, "\n", av->type); - break; + for (j = 0; j < X509_ATTRIBUTE_count(attr); j++) + { + av = X509_ATTRIBUTE_get0_type(attr, j); + print_attribute(out, av); } } else { BIO_printf(out, "\n"); Modified: head/crypto/openssl/apps/pkeyutl.c ============================================================================== --- head/crypto/openssl/apps/pkeyutl.c Wed Mar 18 01:55:27 2020 (r359059) +++ head/crypto/openssl/apps/pkeyutl.c Wed Mar 18 02:13:12 2020 (r359060) @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -299,8 +299,7 @@ int pkeyutl_main(int argc, char **argv) /* Sanity check the input */ if (buf_inlen > EVP_MAX_MD_SIZE && (pkey_op == EVP_PKEY_OP_SIGN - || pkey_op == EVP_PKEY_OP_VERIFY - || pkey_op == EVP_PKEY_OP_VERIFYRECOVER)) { + || pkey_op == EVP_PKEY_OP_VERIFY)) { BIO_printf(bio_err, "Error: The input data looks too long to be a hash\n"); goto end; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Wed Mar 18 02:20:04 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8107F279CAA; Wed, 18 Mar 2020 02:20:04 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48htzS1R3Fz4Xlh; Wed, 18 Mar 2020 02:20:04 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C6D0E1AE37; Wed, 18 Mar 2020 02:20:03 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02I2K3Sg025738; Wed, 18 Mar 2020 02:20:03 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02I2K3nK025725; Wed, 18 Mar 2020 02:20:03 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <202003180220.02I2K3nK025725@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Wed, 18 Mar 2020 02:20:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359061 - head/secure/lib/libcrypto X-SVN-Group: head X-SVN-Commit-Author: jkim X-SVN-Commit-Paths: head/secure/lib/libcrypto X-SVN-Commit-Revision: 359061 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 02:20:04 -0000 Author: jkim Date: Wed Mar 18 02:20:03 2020 New Revision: 359061 URL: https://svnweb.freebsd.org/changeset/base/359061 Log: Reduce diff with the vendor version. No functional change. Modified: head/secure/lib/libcrypto/opensslconf.h.in Modified: head/secure/lib/libcrypto/opensslconf.h.in ============================================================================== --- head/secure/lib/libcrypto/opensslconf.h.in Wed Mar 18 02:13:12 2020 (r359060) +++ head/secure/lib/libcrypto/opensslconf.h.in Wed Mar 18 02:20:03 2020 (r359061) @@ -34,6 +34,9 @@ extern "C" { #ifndef OPENSSL_RAND_SEED_OS # define OPENSSL_RAND_SEED_OS #endif +#ifndef OPENSSL_NO_AFALGENG +# define OPENSSL_NO_AFALGENG +#endif #ifndef OPENSSL_NO_ASAN # define OPENSSL_NO_ASAN #endif @@ -84,9 +87,6 @@ extern "C" { #endif #ifndef OPENSSL_NO_STATIC_ENGINE # define OPENSSL_NO_STATIC_ENGINE -#endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG #endif From owner-svn-src-all@freebsd.org Wed Mar 18 02:58:21 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BA6C727A50D; Wed, 18 Mar 2020 02:58:21 +0000 (UTC) (envelope-from bdragon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hvqd2nKXz4CZX; Wed, 18 Mar 2020 02:58:21 +0000 (UTC) (envelope-from bdragon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F02401B56C; Wed, 18 Mar 2020 02:58:20 +0000 (UTC) (envelope-from bdragon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02I2wKO9049411; Wed, 18 Mar 2020 02:58:20 GMT (envelope-from bdragon@FreeBSD.org) Received: (from bdragon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02I2wI3G049399; Wed, 18 Mar 2020 02:58:18 GMT (envelope-from bdragon@FreeBSD.org) Message-Id: <202003180258.02I2wI3G049399@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdragon set sender to bdragon@FreeBSD.org using -f From: Brandon Bergren Date: Wed, 18 Mar 2020 02:58:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359062 - in head/sys: amd64/amd64 arm/arm arm64/arm64 i386/i386 kern mips/mips powerpc/powerpc riscv/riscv sys X-SVN-Group: head X-SVN-Commit-Author: bdragon X-SVN-Commit-Paths: in head/sys: amd64/amd64 arm/arm arm64/arm64 i386/i386 kern mips/mips powerpc/powerpc riscv/riscv sys X-SVN-Commit-Revision: 359062 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 02:58:21 -0000 Author: bdragon Date: Wed Mar 18 02:58:18 2020 New Revision: 359062 URL: https://svnweb.freebsd.org/changeset/base/359062 Log: [PowerPC][Book-E] Fix missing load base in elf_cpu_parse_dynamic(). When I implemented MD DYNAMIC parsing, I was originally passing a linker_file_t so that the MD code could relocate pointers. However, it turns out this isn't even filled in until later, so it was always 0. Just pass the load base (ef->address) directly, as that's really the only thing we were interested in in the first place. This fixes a crash on RB800 where it was trying to write to an unmapped address when updating the GOT. Reviewed by: jhibbits Sponsored by: Tag1 Consulting, Inc. Differential Revision: https://reviews.freebsd.org/D24105 Modified: head/sys/amd64/amd64/elf_machdep.c head/sys/arm/arm/elf_machdep.c head/sys/arm64/arm64/elf_machdep.c head/sys/i386/i386/elf_machdep.c head/sys/kern/link_elf.c head/sys/mips/mips/elf_machdep.c head/sys/powerpc/powerpc/elf32_machdep.c head/sys/powerpc/powerpc/elf64_machdep.c head/sys/riscv/riscv/elf_machdep.c head/sys/sys/linker.h Modified: head/sys/amd64/amd64/elf_machdep.c ============================================================================== --- head/sys/amd64/amd64/elf_machdep.c Wed Mar 18 02:20:03 2020 (r359061) +++ head/sys/amd64/amd64/elf_machdep.c Wed Mar 18 02:58:18 2020 (r359062) @@ -331,7 +331,7 @@ elf_cpu_unload_file(linker_file_t lf __unused) } int -elf_cpu_parse_dynamic(linker_file_t lf __unused, Elf_Dyn *dynamic __unused) +elf_cpu_parse_dynamic(caddr_t loadbase __unused, Elf_Dyn *dynamic __unused) { return (0); Modified: head/sys/arm/arm/elf_machdep.c ============================================================================== --- head/sys/arm/arm/elf_machdep.c Wed Mar 18 02:20:03 2020 (r359061) +++ head/sys/arm/arm/elf_machdep.c Wed Mar 18 02:58:18 2020 (r359062) @@ -327,7 +327,7 @@ elf_cpu_load_file(linker_file_t lf) } int -elf_cpu_parse_dynamic(linker_file_t lf __unused, Elf_Dyn *dynamic __unused) +elf_cpu_parse_dynamic(caddr_t loadbase __unused, Elf_Dyn *dynamic __unused) { return (0); Modified: head/sys/arm64/arm64/elf_machdep.c ============================================================================== --- head/sys/arm64/arm64/elf_machdep.c Wed Mar 18 02:20:03 2020 (r359061) +++ head/sys/arm64/arm64/elf_machdep.c Wed Mar 18 02:58:18 2020 (r359062) @@ -258,7 +258,7 @@ elf_cpu_unload_file(linker_file_t lf __unused) } int -elf_cpu_parse_dynamic(linker_file_t lf __unused, Elf_Dyn *dynamic __unused) +elf_cpu_parse_dynamic(caddr_t loadbase __unused, Elf_Dyn *dynamic __unused) { return (0); Modified: head/sys/i386/i386/elf_machdep.c ============================================================================== --- head/sys/i386/i386/elf_machdep.c Wed Mar 18 02:20:03 2020 (r359061) +++ head/sys/i386/i386/elf_machdep.c Wed Mar 18 02:58:18 2020 (r359062) @@ -297,7 +297,7 @@ elf_cpu_unload_file(linker_file_t lf __unused) } int -elf_cpu_parse_dynamic(linker_file_t lf __unused, Elf_Dyn *dynamic __unused) +elf_cpu_parse_dynamic(caddr_t loadbase __unused, Elf_Dyn *dynamic __unused) { return (0); Modified: head/sys/kern/link_elf.c ============================================================================== --- head/sys/kern/link_elf.c Wed Mar 18 02:20:03 2020 (r359061) +++ head/sys/kern/link_elf.c Wed Mar 18 02:58:18 2020 (r359062) @@ -620,7 +620,7 @@ parse_dynamic(elf_file_t ef) ef->ddbstrtab = ef->strtab; ef->ddbstrcnt = ef->strsz; - return elf_cpu_parse_dynamic(&ef->lf, ef->dynamic); + return elf_cpu_parse_dynamic(ef->address, ef->dynamic); } #define LS_PADDING 0x90909090 Modified: head/sys/mips/mips/elf_machdep.c ============================================================================== --- head/sys/mips/mips/elf_machdep.c Wed Mar 18 02:20:03 2020 (r359061) +++ head/sys/mips/mips/elf_machdep.c Wed Mar 18 02:58:18 2020 (r359062) @@ -503,7 +503,7 @@ elf_cpu_unload_file(linker_file_t lf __unused) } int -elf_cpu_parse_dynamic(linker_file_t lf __unused, Elf_Dyn *dynamic __unused) +elf_cpu_parse_dynamic(caddr_t loadbase __unused, Elf_Dyn *dynamic __unused) { return (0); Modified: head/sys/powerpc/powerpc/elf32_machdep.c ============================================================================== --- head/sys/powerpc/powerpc/elf32_machdep.c Wed Mar 18 02:20:03 2020 (r359061) +++ head/sys/powerpc/powerpc/elf32_machdep.c Wed Mar 18 02:58:18 2020 (r359062) @@ -403,7 +403,7 @@ ppc32_runtime_resolve() } int -elf_cpu_parse_dynamic(linker_file_t lf, Elf_Dyn *dynamic) +elf_cpu_parse_dynamic(caddr_t loadbase, Elf_Dyn *dynamic) { Elf_Dyn *dp; bool has_plt = false; @@ -414,7 +414,7 @@ elf_cpu_parse_dynamic(linker_file_t lf, Elf_Dyn *dynam switch (dp->d_tag) { case DT_PPC_GOT: secure_plt = true; - got = (Elf_Addr *)(lf->address + dp->d_un.d_ptr); + got = (Elf_Addr *)(loadbase + dp->d_un.d_ptr); /* Install runtime resolver canary. */ got[1] = (Elf_Addr)ppc32_runtime_resolve; got[2] = (Elf_Addr)0; Modified: head/sys/powerpc/powerpc/elf64_machdep.c ============================================================================== --- head/sys/powerpc/powerpc/elf64_machdep.c Wed Mar 18 02:20:03 2020 (r359061) +++ head/sys/powerpc/powerpc/elf64_machdep.c Wed Mar 18 02:58:18 2020 (r359062) @@ -416,7 +416,7 @@ elf_cpu_unload_file(linker_file_t lf __unused) } int -elf_cpu_parse_dynamic(linker_file_t lf __unused, Elf_Dyn *dynamic __unused) +elf_cpu_parse_dynamic(caddr_t loadbase __unused, Elf_Dyn *dynamic __unused) { return (0); Modified: head/sys/riscv/riscv/elf_machdep.c ============================================================================== --- head/sys/riscv/riscv/elf_machdep.c Wed Mar 18 02:20:03 2020 (r359061) +++ head/sys/riscv/riscv/elf_machdep.c Wed Mar 18 02:58:18 2020 (r359062) @@ -506,7 +506,7 @@ elf_cpu_unload_file(linker_file_t lf __unused) } int -elf_cpu_parse_dynamic(linker_file_t lf __unused, Elf_Dyn *dynamic __unused) +elf_cpu_parse_dynamic(caddr_t loadbase __unused, Elf_Dyn *dynamic __unused) { return (0); Modified: head/sys/sys/linker.h ============================================================================== --- head/sys/sys/linker.h Wed Mar 18 02:20:03 2020 (r359061) +++ head/sys/sys/linker.h Wed Mar 18 02:58:18 2020 (r359062) @@ -305,7 +305,7 @@ int linker_ctf_get(linker_file_t, linker_ctf_t *); int elf_cpu_load_file(linker_file_t); int elf_cpu_unload_file(linker_file_t); -int elf_cpu_parse_dynamic(linker_file_t, Elf_Dyn *); +int elf_cpu_parse_dynamic(caddr_t, Elf_Dyn *); /* values for type */ #define ELF_RELOC_REL 1 From owner-svn-src-all@freebsd.org Wed Mar 18 03:14:19 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5701427AB4D; Wed, 18 Mar 2020 03:14:19 +0000 (UTC) (envelope-from bcran@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hwB22q7xz4XBc; Wed, 18 Mar 2020 03:14:18 +0000 (UTC) (envelope-from bcran@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 47FA71B9A3; Wed, 18 Mar 2020 03:14:18 +0000 (UTC) (envelope-from bcran@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02I3EIxj062743; Wed, 18 Mar 2020 03:14:18 GMT (envelope-from bcran@FreeBSD.org) Received: (from bcran@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02I3EI7e062742; Wed, 18 Mar 2020 03:14:18 GMT (envelope-from bcran@FreeBSD.org) Message-Id: <202003180314.02I3EI7e062742@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bcran set sender to bcran@FreeBSD.org using -f From: Rebecca Cran Date: Wed, 18 Mar 2020 03:14:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359063 - head/sys/dev/ath/ath_hal X-SVN-Group: head X-SVN-Commit-Author: bcran X-SVN-Commit-Paths: head/sys/dev/ath/ath_hal X-SVN-Commit-Revision: 359063 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 03:14:19 -0000 Author: bcran Date: Wed Mar 18 03:14:17 2020 New Revision: 359063 URL: https://svnweb.freebsd.org/changeset/base/359063 Log: ath_hal: fix typo in ath_hal_printf Modified: head/sys/dev/ath/ath_hal/ah_regdomain.c Modified: head/sys/dev/ath/ath_hal/ah_regdomain.c ============================================================================== --- head/sys/dev/ath/ath_hal/ah_regdomain.c Wed Mar 18 02:58:18 2020 (r359062) +++ head/sys/dev/ath/ath_hal/ah_regdomain.c Wed Mar 18 03:14:17 2020 (r359063) @@ -695,7 +695,7 @@ getchannels(struct ath_hal *ah, else if (cm->flags & IEEE80211_CHAN_2GHZ) rd = rd2GHz; else { - ath_hal_printf(ah, "%s: Unkonwn HAL flags 0x%x\n", + ath_hal_printf(ah, "%s: Unknown HAL flags 0x%x\n", __func__, cm->flags); return HAL_EINVAL; } From owner-svn-src-all@freebsd.org Wed Mar 18 03:15:58 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B4FD227ABFE; Wed, 18 Mar 2020 03:15:58 +0000 (UTC) (envelope-from bcran@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hwCy2hjgz4br5; Wed, 18 Mar 2020 03:15:58 +0000 (UTC) (envelope-from bcran@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2C3E31B9A6; Wed, 18 Mar 2020 03:15:58 +0000 (UTC) (envelope-from bcran@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02I3Fw1V062921; Wed, 18 Mar 2020 03:15:58 GMT (envelope-from bcran@FreeBSD.org) Received: (from bcran@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02I3FwrN062920; Wed, 18 Mar 2020 03:15:58 GMT (envelope-from bcran@FreeBSD.org) Message-Id: <202003180315.02I3FwrN062920@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bcran set sender to bcran@FreeBSD.org using -f From: Rebecca Cran Date: Wed, 18 Mar 2020 03:15:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359064 - head/usr.sbin/bhyve X-SVN-Group: head X-SVN-Commit-Author: bcran X-SVN-Commit-Paths: head/usr.sbin/bhyve X-SVN-Commit-Revision: 359064 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 03:15:58 -0000 Author: bcran Date: Wed Mar 18 03:15:57 2020 New Revision: 359064 URL: https://svnweb.freebsd.org/changeset/base/359064 Log: Bhyve: DPRINTF already includes newline, so don't add another Reviewed by: jhb, vmaffione, emaste Differential Revision: https://reviews.freebsd.org/D24099 Modified: head/usr.sbin/bhyve/pci_fbuf.c Modified: head/usr.sbin/bhyve/pci_fbuf.c ============================================================================== --- head/usr.sbin/bhyve/pci_fbuf.c Wed Mar 18 03:14:17 2020 (r359063) +++ head/usr.sbin/bhyve/pci_fbuf.c Wed Mar 18 03:15:57 2020 (r359064) @@ -135,7 +135,7 @@ pci_fbuf_write(struct vmctx *ctx, int vcpu, struct pci sc = pi->pi_arg; DPRINTF(DEBUG_VERBOSE, - ("fbuf wr: offset 0x%lx, size: %d, value: 0x%lx\n", + ("fbuf wr: offset 0x%lx, size: %d, value: 0x%lx", offset, size, value)); if (offset + size > DMEMSZ) { @@ -217,7 +217,7 @@ pci_fbuf_read(struct vmctx *ctx, int vcpu, struct pci_ } DPRINTF(DEBUG_VERBOSE, - ("fbuf rd: offset 0x%lx, size: %d, value: 0x%lx\n", + ("fbuf rd: offset 0x%lx, size: %d, value: 0x%lx", offset, size, value)); return (value); From owner-svn-src-all@freebsd.org Wed Mar 18 03:17:16 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 560D627AC82; Wed, 18 Mar 2020 03:17:16 +0000 (UTC) (envelope-from bcran@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hwFS0dGxz4fcd; Wed, 18 Mar 2020 03:17:16 +0000 (UTC) (envelope-from bcran@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id ABAF31B9C6; Wed, 18 Mar 2020 03:17:15 +0000 (UTC) (envelope-from bcran@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02I3HF7p063039; Wed, 18 Mar 2020 03:17:15 GMT (envelope-from bcran@FreeBSD.org) Received: (from bcran@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02I3HFgS063038; Wed, 18 Mar 2020 03:17:15 GMT (envelope-from bcran@FreeBSD.org) Message-Id: <202003180317.02I3HFgS063038@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bcran set sender to bcran@FreeBSD.org using -f From: Rebecca Cran Date: Wed, 18 Mar 2020 03:17:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359065 - head/usr.sbin/bhyve X-SVN-Group: head X-SVN-Commit-Author: bcran X-SVN-Commit-Paths: head/usr.sbin/bhyve X-SVN-Commit-Revision: 359065 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 03:17:16 -0000 Author: bcran Date: Wed Mar 18 03:17:15 2020 New Revision: 359065 URL: https://svnweb.freebsd.org/changeset/base/359065 Log: Bhyve: log message when rfb client connects Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D24098 Modified: head/usr.sbin/bhyve/rfb.c Modified: head/usr.sbin/bhyve/rfb.c ============================================================================== --- head/usr.sbin/bhyve/rfb.c Wed Mar 18 03:15:57 2020 (r359064) +++ head/usr.sbin/bhyve/rfb.c Wed Mar 18 03:17:15 2020 (r359065) @@ -1049,6 +1049,7 @@ rfb_init(char *hostname, int port, int wait, char *pas pthread_mutex_lock(&rc->mtx); pthread_cond_wait(&rc->cond, &rc->mtx); pthread_mutex_unlock(&rc->mtx); + DPRINTF(("rfb client connected")); } freeaddrinfo(ai); From owner-svn-src-all@freebsd.org Wed Mar 18 03:31:55 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9A06A27B042; Wed, 18 Mar 2020 03:31:55 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from mail.allbsd.org (mx.allbsd.org [IPv6:2001:2f0:104:e001::41]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature ECDSA (P-384) client-digest SHA384) (Client CN "mail.allbsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hwZL4QKnz4LVj; Wed, 18 Mar 2020 03:31:54 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from mail-d.allbsd.org ([IPv6:2409:11:a740:4700:58:65ff:fe00:b0b]) (authenticated bits=56) by mail.allbsd.org (8.15.2/8.15.2) with ESMTPSA id 02I3VPvj092919 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=OK) (Client CN "/CN=mail-d.allbsd.org", Issuer "/C=US/O=Let's+20Encrypt/CN=Let's+20Encrypt+20Authority+20X3"); Wed, 18 Mar 2020 12:31:37 +0900 (JST) (envelope-from hrs@FreeBSD.org) Received: from alph.d.allbsd.org ([IPv6:2409:11:a740:4700:16:ceff:fe34:2700]) by mail-d.allbsd.org (8.15.2/8.15.2) with ESMTPS id 02I3VKTT028531 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Wed, 18 Mar 2020 12:31:20 +0900 (JST) (envelope-from hrs@FreeBSD.org) Received: from localhost (localhost [[UNIX: localhost]]) (authenticated bits=0) by alph.d.allbsd.org (8.15.2/8.15.2) with ESMTPA id 02I3VK9k028527; Wed, 18 Mar 2020 12:31:20 +0900 (JST) (envelope-from hrs@FreeBSD.org) Date: Wed, 18 Mar 2020 12:29:24 +0900 (JST) Message-Id: <20200318.122924.1446699160859237014.hrs@FreeBSD.org> To: brooks@FreeBSD.org Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r359046 - head/share/mk From: Hiroki Sato In-Reply-To: <202003171817.02HIHWdY035423@repo.freebsd.org> References: <202003171817.02HIHWdY035423@repo.freebsd.org> X-Old-PGPkey-fingerprint: BDB3 443F A5DD B3D0 A530 FFD7 4F2C D3D8 2793 CF2D X-PGPkey-fingerprint: 6C0D 2353 27CF 80C7 901E FDD2 DBB0 7DC6 6F1F 737F X-Mailer: Mew version 6.8 on Emacs 26.3 Mime-Version: 1.0 Content-Type: Multipart/Signed; protocol="application/pgp-signature"; micalg=pgp-sha512; boundary="--Security_Multipart(Wed_Mar_18_12_29_24_2020_910)--" Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.6.2 (mail.allbsd.org [IPv6:2001:2f0:104:e001:0:0:0:41]); Wed, 18 Mar 2020 12:31:43 +0900 (JST) X-Rspamd-Queue-Id: 48hwZL4QKnz4LVj X-Spamd-Bar: + Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [1.94 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_SPAM_LONG(0.98)[0.976,0]; NEURAL_SPAM_MEDIUM(0.96)[0.964,0]; ASN(0.00)[asn:7514, ipnet:2001:2f0::/32, country:JP] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 03:31:55 -0000 ----Security_Multipart(Wed_Mar_18_12_29_24_2020_910)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Brooks Davis wrote in <202003171817.02HIHWdY035423@repo.freebsd.org>: br> Author: brooks br> Date: Tue Mar 17 18:17:32 2020 br> New Revision: 359046 br> URL: https://svnweb.freebsd.org/changeset/base/359046 br> br> Log: br> Support SUBDIR.${MK_FOO}.${MK_BAR} expresssions. br> br> This allows simplification of Makefiles where some SUBDIR entries depend br> on two things (e.g. something that depends on C++ and some other knob). Just my two cents, but SUBDIR.${MK_FOO:M${MK_BAR}:M${MK_BAZ}}= dir should do the trick. I am not sure how many variables we need to support in practice, adding ".yes.yes..." in bsd.subdir.mk looks less flexible to me. br> Discussed with: imp, jhb br> Obtained from: CheriBSD br> MFC after: 3 days br> Sponsored by: DARPA br> br> Modified: br> head/share/mk/bsd.subdir.mk br> br> Modified: head/share/mk/bsd.subdir.mk br> ============================================================================== br> --- head/share/mk/bsd.subdir.mk Tue Mar 17 17:28:12 2020 (r359045) br> +++ head/share/mk/bsd.subdir.mk Tue Mar 17 18:17:32 2020 (r359046) br> @@ -16,8 +16,8 @@ br> # br> # SUBDIR A list of subdirectories that should be built as well. br> # Each of the targets will execute the same target in the br> -# subdirectories. SUBDIR.yes is automatically appended br> -# to this list. br> +# subdirectories. SUBDIR.yes and SUBDIR.yes.yes are br> +# automatically appended to this list. br> # br> # +++ targets +++ br> # br> @@ -122,8 +122,8 @@ install: beforeinstall realinstall afterinstall br> # SUBDIR recursing may be disabled for MK_DIRDEPS_BUILD br> .if !target(_SUBDIR) br> br> -.if defined(SUBDIR) || defined(SUBDIR.yes) br> -SUBDIR:=${SUBDIR} ${SUBDIR.yes} br> +.if defined(SUBDIR) || defined(SUBDIR.yes) || defined(SUBDIR.yes.yes) br> +SUBDIR:=${SUBDIR} ${SUBDIR.yes} ${SUBDIR.yes.yes} br> SUBDIR:=${SUBDIR:u} br> .endif br> br> ----Security_Multipart(Wed_Mar_18_12_29_24_2020_910)-- Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iMgEABMKAC4WIQRsDSNTJ8+Ax5Ae/dLbsH3Gbx9zfwUCXnGVlBAcaHJzQGZyZWVi c2Qub3JnAAoJENuwfcZvH3N/ErgCCJVGV251RB+YFoVbyGnICsWOiB+h5NfcrdZy G3Q+mbCfqKtew0OCwdwtaYJ1QBNwev7ApEUwEtTYJNKLh0aFGphKAgYvkhvus6YD v812NjNJrkK6cixsh8odnUh0oh/S937UKSjWwG2hwn9HxPIE15YA5b8Y3m6rVouh JA1MXQ9v8hbX7g== =jsiK -----END PGP SIGNATURE----- ----Security_Multipart(Wed_Mar_18_12_29_24_2020_910)---- From owner-svn-src-all@freebsd.org Wed Mar 18 05:28:37 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CA5EF27CD50; Wed, 18 Mar 2020 05:28:37 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48hz913BHTz4vRB; Wed, 18 Mar 2020 05:28:37 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 039DD1D195; Wed, 18 Mar 2020 05:28:37 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02I5SaIQ040661; Wed, 18 Mar 2020 05:28:36 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02I5Sais040660; Wed, 18 Mar 2020 05:28:36 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <202003180528.02I5Sais040660@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Wed, 18 Mar 2020 05:28:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359066 - head X-SVN-Group: head X-SVN-Commit-Author: jkim X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 359066 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 05:28:37 -0000 Author: jkim Date: Wed Mar 18 05:28:36 2020 New Revision: 359066 URL: https://svnweb.freebsd.org/changeset/base/359066 Log: Remove wrong entries added in the previous commit. Pointyhat to: jkim Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Wed Mar 18 03:17:15 2020 (r359065) +++ head/ObsoleteFiles.inc Wed Mar 18 05:28:36 2020 (r359066) @@ -36,12 +36,6 @@ # xargs -n1 | sort | uniq -d; # done -# 20200317: OpenSSL 1.1.1e import -OLD_FILES+=usr/share/openssl/man/man3/EVP_PKEY_security_bits.3.gz -OLD_FILES+=usr/share/openssl/man/man3/EVP_PKEY_size.3.gz -OLD_FILES+=usr/share/openssl/man/man3/X509_LOOKUP_get_method_data.3.gz -OLD_FILES+=usr/share/openssl/man/man3/X509_LOOKUP_get_store.3.gz -OLD_FILES+=usr/share/openssl/man/man3/X509_LOOKUP_set_method_data.3.gz # 20200310: new clang import which bumps version from 9.0.1 to 10.0.0. OLD_FILES+=usr/lib/clang/9.0.1/include/cuda_wrappers/algorithm OLD_FILES+=usr/lib/clang/9.0.1/include/cuda_wrappers/complex From owner-svn-src-all@freebsd.org Wed Mar 18 08:00:46 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EA9A827FE64; Wed, 18 Mar 2020 08:00:46 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48j2XZ5ykCz3KhX; Wed, 18 Mar 2020 08:00:46 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C81AC1ED14; Wed, 18 Mar 2020 08:00:46 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02I80ktL036534; Wed, 18 Mar 2020 08:00:46 GMT (envelope-from hrs@FreeBSD.org) Received: (from hrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02I80kgM036533; Wed, 18 Mar 2020 08:00:46 GMT (envelope-from hrs@FreeBSD.org) Message-Id: <202003180800.02I80kgM036533@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hrs set sender to hrs@FreeBSD.org using -f From: Hiroki Sato Date: Wed, 18 Mar 2020 08:00:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359067 - head/share/examples/ipfw X-SVN-Group: head X-SVN-Commit-Author: hrs X-SVN-Commit-Paths: head/share/examples/ipfw X-SVN-Commit-Revision: 359067 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 08:00:47 -0000 Author: hrs Date: Wed Mar 18 08:00:46 2020 New Revision: 359067 URL: https://svnweb.freebsd.org/changeset/base/359067 Log: -F is GNU diff specific, not implemented in BSD diff. Reported by: kouya@ryuhoku.jp MFC after: 3 days Modified: head/share/examples/ipfw/change_rules.sh Modified: head/share/examples/ipfw/change_rules.sh ============================================================================== --- head/share/examples/ipfw/change_rules.sh Wed Mar 18 05:28:36 2020 (r359066) +++ head/share/examples/ipfw/change_rules.sh Wed Mar 18 08:00:46 2020 (r359067) @@ -149,7 +149,7 @@ cat < Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 35B0D258493; Wed, 18 Mar 2020 08:17:26 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48j2vn72Hfz4N2b; Wed, 18 Mar 2020 08:17:25 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 97D5D1F08C; Wed, 18 Mar 2020 08:17:25 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02I8HPhu049387; Wed, 18 Mar 2020 08:17:25 GMT (envelope-from hrs@FreeBSD.org) Received: (from hrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02I8HPFc049385; Wed, 18 Mar 2020 08:17:25 GMT (envelope-from hrs@FreeBSD.org) Message-Id: <202003180817.02I8HPFc049385@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hrs set sender to hrs@FreeBSD.org using -f From: Hiroki Sato Date: Wed, 18 Mar 2020 08:17:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359068 - in head: . libexec/rc/rc.d X-SVN-Group: head X-SVN-Commit-Author: hrs X-SVN-Commit-Paths: in head: . libexec/rc/rc.d X-SVN-Commit-Revision: 359068 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 08:17:26 -0000 Author: hrs Date: Wed Mar 18 08:17:24 2020 New Revision: 359068 URL: https://svnweb.freebsd.org/changeset/base/359068 Log: Remove /etc/host.conf, which was automatically generated from nsswitch.conf for backward compatibility. This file was used over 19 years ago, before introducing nsdispatch() in the name-service lookup APIs. MFC after: 3 days Deleted: head/libexec/rc/rc.d/nsswitch Modified: head/ObsoleteFiles.inc head/libexec/rc/rc.d/Makefile Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Wed Mar 18 08:00:46 2020 (r359067) +++ head/ObsoleteFiles.inc Wed Mar 18 08:17:24 2020 (r359068) @@ -36,6 +36,10 @@ # xargs -n1 | sort | uniq -d; # done +# 20200318: host.conf was deprecated a long time ago. +OLD_FILES+=etc/host.conf +OLD_FILES+=etc/rc.d/nsswitch + # 20200310: new clang import which bumps version from 9.0.1 to 10.0.0. OLD_FILES+=usr/lib/clang/9.0.1/include/cuda_wrappers/algorithm OLD_FILES+=usr/lib/clang/9.0.1/include/cuda_wrappers/complex Modified: head/libexec/rc/rc.d/Makefile ============================================================================== --- head/libexec/rc/rc.d/Makefile Wed Mar 18 08:00:46 2020 (r359067) +++ head/libexec/rc/rc.d/Makefile Wed Mar 18 08:17:24 2020 (r359068) @@ -74,7 +74,6 @@ CONFS= DAEMON \ nfsuserd \ nisdomain \ ${_nscd} \ - nsswitch \ ntpdate \ ${_opensm} \ os-release \ From owner-svn-src-all@freebsd.org Wed Mar 18 13:09:48 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D123C25F974; Wed, 18 Mar 2020 13:09:48 +0000 (UTC) (envelope-from luporl@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48j9P848Lpz4HHr; Wed, 18 Mar 2020 13:09:48 +0000 (UTC) (envelope-from luporl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6226D225B9; Wed, 18 Mar 2020 13:09:48 +0000 (UTC) (envelope-from luporl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02ID9m1e023124; Wed, 18 Mar 2020 13:09:48 GMT (envelope-from luporl@FreeBSD.org) Received: (from luporl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02ID9me8023122; Wed, 18 Mar 2020 13:09:48 GMT (envelope-from luporl@FreeBSD.org) Message-Id: <202003181309.02ID9me8023122@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: luporl set sender to luporl@FreeBSD.org using -f From: Leandro Lupori Date: Wed, 18 Mar 2020 13:09:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359069 - in head/libexec/rc: . rc.d X-SVN-Group: head X-SVN-Commit-Author: luporl X-SVN-Commit-Paths: in head/libexec/rc: . rc.d X-SVN-Commit-Revision: 359069 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 13:09:48 -0000 Author: luporl Date: Wed Mar 18 13:09:47 2020 New Revision: 359069 URL: https://svnweb.freebsd.org/changeset/base/359069 Log: Add fsck_flags config option On UFS with SU+J, sometimes fsck's default recovery from journal marks the filesystem as clean but some errors remain. With SU only, default fsck in preen mode sometimes thinks all errors have been fixed but some still remain. To address the issues above, this change adds a new config option: fsck_flags. By default it's set to -p, but the user may change it to -y or -f -y, for instance, to force a full fsck after a system crash. Submitted by: jhibbits@ (original version) Reviewed by: mckusick Differential Revision: https://reviews.freebsd.org/D24087 Modified: head/libexec/rc/rc.conf head/libexec/rc/rc.d/fsck Modified: head/libexec/rc/rc.conf ============================================================================== --- head/libexec/rc/rc.conf Wed Mar 18 08:17:24 2020 (r359068) +++ head/libexec/rc/rc.conf Wed Mar 18 13:09:47 2020 (r359069) @@ -101,6 +101,7 @@ geli_autodetach="YES" # Automatically detach on last c root_rw_mount="YES" # Set to NO to inhibit remounting root read-write. root_hold_delay="30" # Time to wait for root mount hold release. +fsck_flags="-p" # May be changed to -f (or -f -y) to force a full fsck fsck_y_enable="NO" # Set to YES to do fsck -y if the initial preen fails. fsck_y_flags="-T ffs:-R -T ufs:-R" # Additional flags for fsck -y background_fsck="YES" # Attempt to run fsck in the background where possible. Modified: head/libexec/rc/rc.d/fsck ============================================================================== --- head/libexec/rc/rc.d/fsck Wed Mar 18 08:17:24 2020 (r359068) +++ head/libexec/rc/rc.d/fsck Wed Mar 18 13:09:47 2020 (r359069) @@ -25,10 +25,11 @@ fsck_start() trap : 3 check_startmsgs && echo "Starting file system checks:" + # Background fsck can only be run with -p if checkyesno background_fsck; then fsck -F -p else - fsck -p + fsck ${fsck_flags} fi err=$? @@ -37,10 +38,11 @@ fsck_start() "available; retrying" root_hold_wait check_startmsgs && echo "Restarting file system checks:" + # Background fsck can only be run with -p if checkyesno background_fsck; then fsck -F -p else - fsck -p + fsck ${fsck_flags} fi err=$? fi From owner-svn-src-all@freebsd.org Wed Mar 18 14:16:15 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 28DA226157C; Wed, 18 Mar 2020 14:16:15 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jBsq0223z3BxS; Wed, 18 Mar 2020 14:16:15 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D346623282; Wed, 18 Mar 2020 14:16:14 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IEGE0c064494; Wed, 18 Mar 2020 14:16:14 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IEGEgn064493; Wed, 18 Mar 2020 14:16:14 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003181416.02IEGEgn064493@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 18 Mar 2020 14:16:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359070 - head/sys/dev/usb/net X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/dev/usb/net X-SVN-Commit-Revision: 359070 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 14:16:15 -0000 Author: emaste Date: Wed Mar 18 14:16:14 2020 New Revision: 359070 URL: https://svnweb.freebsd.org/changeset/base/359070 Log: if_muge: use C99 bool for boolean vars Modified: head/sys/dev/usb/net/if_muge.c Modified: head/sys/dev/usb/net/if_muge.c ============================================================================== --- head/sys/dev/usb/net/if_muge.c Wed Mar 18 13:09:47 2020 (r359069) +++ head/sys/dev/usb/net/if_muge.c Wed Mar 18 14:16:14 2020 (r359070) @@ -389,9 +389,10 @@ lan78xx_eeprom_read_raw(struct muge_softc *sc, uint16_ { usb_ticks_t start_ticks; const usb_ticks_t max_ticks = USB_MS_TO_TICKS(1000); - int err, locked; + int err; uint32_t val, saved; uint16_t i; + bool locked; locked = mtx_owned(&sc->sc_mtx); /* XXX */ if (!locked) @@ -483,9 +484,10 @@ static int lan78xx_otp_read_raw(struct muge_softc *sc, uint16_t off, uint8_t *buf, uint16_t buflen) { - int locked, err; + int err; uint32_t val; uint16_t i; + bool locked; locked = mtx_owned(&sc->sc_mtx); if (!locked) MUGE_LOCK(sc); @@ -659,8 +661,8 @@ static int lan78xx_miibus_readreg(device_t dev, int phy, int reg) { struct muge_softc *sc = device_get_softc(dev); - int locked; uint32_t addr, val; + bool locked; val = 0; locked = mtx_owned(&sc->sc_mtx); @@ -712,8 +714,8 @@ static int lan78xx_miibus_writereg(device_t dev, int phy, int reg, int val) { struct muge_softc *sc = device_get_softc(dev); - int locked; uint32_t addr; + bool locked; if (sc->sc_phyno != phy) return (0); @@ -760,10 +762,10 @@ lan78xx_miibus_statchg(device_t dev) struct muge_softc *sc = device_get_softc(dev); struct mii_data *mii = uether_getmii(&sc->sc_ue); struct ifnet *ifp; - int locked; int err; uint32_t flow = 0; uint32_t fct_flow = 0; + bool locked; locked = mtx_owned(&sc->sc_mtx); if (!locked) From owner-svn-src-all@freebsd.org Wed Mar 18 15:02:10 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2BE25262726; Wed, 18 Mar 2020 15:02:10 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jCtn5pW4z4YkZ; Wed, 18 Mar 2020 15:02:09 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B9F7F23BAA; Wed, 18 Mar 2020 15:02:09 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IF29Ek094285; Wed, 18 Mar 2020 15:02:09 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IF294q094284; Wed, 18 Mar 2020 15:02:09 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202003181502.02IF294q094284@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Wed, 18 Mar 2020 15:02:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359071 - head/usr.bin/posixshmcontrol X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/usr.bin/posixshmcontrol X-SVN-Commit-Revision: 359071 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 15:02:10 -0000 Author: 0mp (doc,ports committer) Date: Wed Mar 18 15:02:09 2020 New Revision: 359071 URL: https://svnweb.freebsd.org/changeset/base/359071 Log: Document that posixshmcontrol first appeared in 12.1 Also while here, I am addressing some linting issues. PR: 243132 Submitted by: Noah Altunian Approved by: bcr (mentor) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D24112 Modified: head/usr.bin/posixshmcontrol/posixshmcontrol.1 Modified: head/usr.bin/posixshmcontrol/posixshmcontrol.1 ============================================================================== --- head/usr.bin/posixshmcontrol/posixshmcontrol.1 Wed Mar 18 14:16:14 2020 (r359070) +++ head/usr.bin/posixshmcontrol/posixshmcontrol.1 Wed Mar 18 15:02:09 2020 (r359071) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 30, 2019 +.Dd March 18, 2020 .Dt POSIXSHMCONTROL 1 .Os .Sh NAME @@ -99,7 +99,7 @@ Argument to the .Fl s option specifies new length. The human-friendly 'k', 'm', 'g' suffixes can be used, see -.Xr expand_number 3. +.Xr expand_number 3 . If the option is not specified, assumed length is zero. .El .Pp @@ -143,10 +143,12 @@ and then enlarge it to 1M, use the sequence of command The .Nm command appeared in -.Fx 13.0 . +.Fx 12.1 . .Sh AUTHORS The .Nm command and this manual page were written by .An Konstantin Belousov Aq Mt kib@freebsd.org -under sponsorship from The FreeBSD Foundation. +under sponsorship from The +.Fx +Foundation. From owner-svn-src-all@freebsd.org Wed Mar 18 16:21:12 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7ECA5265328; Wed, 18 Mar 2020 16:21:12 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jFf01nn6z4WM8; Wed, 18 Mar 2020 16:21:12 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 00BE824930; Wed, 18 Mar 2020 16:21:12 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IGLBvo037618; Wed, 18 Mar 2020 16:21:11 GMT (envelope-from freqlabs@FreeBSD.org) Received: (from freqlabs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IGLBRv037617; Wed, 18 Mar 2020 16:21:11 GMT (envelope-from freqlabs@FreeBSD.org) Message-Id: <202003181621.02IGLBRv037617@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: freqlabs set sender to freqlabs@FreeBSD.org using -f From: Ryan Moeller Date: Wed, 18 Mar 2020 16:21:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359072 - head/stand/lua X-SVN-Group: head X-SVN-Commit-Author: freqlabs X-SVN-Commit-Paths: head/stand/lua X-SVN-Commit-Revision: 359072 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 16:21:12 -0000 Author: freqlabs Date: Wed Mar 18 16:21:11 2020 New Revision: 359072 URL: https://svnweb.freebsd.org/changeset/base/359072 Log: loader: Add a "kernel.loaded" hook This hook can be useful, for example to run a local function to choose different modules to load when a user has picked a different kernel from the menu. Reviewed by: kevans Approved by: mav (mentor) MFC after: 1 week Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D24115 Modified: head/stand/lua/config.lua Modified: head/stand/lua/config.lua ============================================================================== --- head/stand/lua/config.lua Wed Mar 18 15:02:09 2020 (r359071) +++ head/stand/lua/config.lua Wed Mar 18 16:21:11 2020 (r359072) @@ -623,7 +623,7 @@ end function config.loadelf() local xen_kernel = loader.getenv('xen_kernel') local kernel = config.kernel_selected or config.kernel_loaded - local loaded, status + local status if xen_kernel ~= nil then print(MSG_XENKERNLOADING) @@ -633,11 +633,10 @@ function config.loadelf() end end print(MSG_KERNLOADING) - loaded = config.loadKernel(kernel) - - if not loaded then + if not config.loadKernel(kernel) then return false end + hook.runAll("kernel.loaded") print(MSG_MODLOADING) status = loadModule(modules, not config.verbose) From owner-svn-src-all@freebsd.org Wed Mar 18 16:53:00 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 705C7266444; Wed, 18 Mar 2020 16:53:00 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48jGLh0gqJz3KpM; Wed, 18 Mar 2020 16:52:59 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id E2B123C0199; Wed, 18 Mar 2020 16:52:52 +0000 (UTC) Date: Wed, 18 Mar 2020 16:52:52 +0000 From: Brooks Davis To: Hiroki Sato Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r359046 - head/share/mk Message-ID: <20200318165252.GB5399@spindle.one-eyed-alien.net> References: <202003171817.02HIHWdY035423@repo.freebsd.org> <20200318.122924.1446699160859237014.hrs@FreeBSD.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="gatW/ieO32f1wygP" Content-Disposition: inline In-Reply-To: <20200318.122924.1446699160859237014.hrs@FreeBSD.org> User-Agent: Mutt/1.9.4 (2018-02-28) X-Rspamd-Queue-Id: 48jGLh0gqJz3KpM X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-2.84 / 15.00]; NEURAL_SPAM_LONG(0.70)[0.700,0]; REPLY(-4.00)[]; NEURAL_SPAM_MEDIUM(0.46)[0.457,0] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 16:53:00 -0000 --gatW/ieO32f1wygP Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Mar 18, 2020 at 12:29:24PM +0900, Hiroki Sato wrote: > Brooks Davis wrote > in <202003171817.02HIHWdY035423@repo.freebsd.org>: >=20 > br> Author: brooks > br> Date: Tue Mar 17 18:17:32 2020 > br> New Revision: 359046 > br> URL: https://svnweb.freebsd.org/changeset/base/359046 > br> > br> Log: > br> Support SUBDIR.${MK_FOO}.${MK_BAR} expresssions. > br> > br> This allows simplification of Makefiles where some SUBDIR entries d= epend > br> on two things (e.g. something that depends on C++ and some other kn= ob). >=20 > Just my two cents, but SUBDIR.${MK_FOO:M${MK_BAR}:M${MK_BAZ}}=3D dir > should do the trick. I am not sure how many variables we need to > support in practice, adding ".yes.yes..." in bsd.subdir.mk looks less > flexible to me. IMO that's lousy from a readability perspective. It's remotely conceivable that supporting three variables might make sense, but more seems vanishingly unlikely and even so, it's trivial to add more cases. -- Brooks --gatW/ieO32f1wygP Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJeclHkAAoJEKzQXbSebgfAEvAH+waQwS2gxFU3dm8cnEUXxf9e euWjpEqFiDP3T46gevnUKeIGlCJuiEZM2K++OdD0wtTv25BpSBVi/9IZztu1CdXN +N2nGht6xPTRXeK9GsLw5APEZj1m/NTql0ozVWX9GKmui8EcMGEmnY7S4kr4Gz73 9n/TdtS/BgpQHxaF9aoVCvqmRPvntqj6a5PtR4wxd4+JNsRbsLZ9shBGiL66EIts S8R0ZAosYr4EKS0fhKp5xQueup2LhSVXKEw8b48RtjAyZ3eLUZBBUP3sNSoW2UXf 29ipmeoXTcLQ54p5MutOGcEx5ec4af+pivrgslbli0cClMBadeFxKDpCNW6QliM= =aEng -----END PGP SIGNATURE----- --gatW/ieO32f1wygP-- From owner-svn-src-all@freebsd.org Wed Mar 18 17:01:04 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 462D22668F4; Wed, 18 Mar 2020 17:01:04 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jGWz5mPqz46NB; Wed, 18 Mar 2020 17:01:03 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C119F251A2; Wed, 18 Mar 2020 17:01:03 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IH132V061721; Wed, 18 Mar 2020 17:01:03 GMT (envelope-from freqlabs@FreeBSD.org) Received: (from freqlabs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IH13RC061720; Wed, 18 Mar 2020 17:01:03 GMT (envelope-from freqlabs@FreeBSD.org) Message-Id: <202003181701.02IH13RC061720@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: freqlabs set sender to freqlabs@FreeBSD.org using -f From: Ryan Moeller Date: Wed, 18 Mar 2020 17:01:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359073 - head/stand/lua X-SVN-Group: head X-SVN-Commit-Author: freqlabs X-SVN-Commit-Paths: head/stand/lua X-SVN-Commit-Revision: 359073 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 17:01:04 -0000 Author: freqlabs Date: Wed Mar 18 17:01:03 2020 New Revision: 359073 URL: https://svnweb.freebsd.org/changeset/base/359073 Log: Fixup line lost from previous commit (r359072) Reviewed by: kevans Approved by: mav (mentor) MFC after: 1 week Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D24115 Modified: head/stand/lua/config.lua Modified: head/stand/lua/config.lua ============================================================================== --- head/stand/lua/config.lua Wed Mar 18 16:21:11 2020 (r359072) +++ head/stand/lua/config.lua Wed Mar 18 17:01:03 2020 (r359073) @@ -646,5 +646,6 @@ end hook.registerType("config.loaded") hook.registerType("config.reloaded") +hook.registerType("kernel.loaded") hook.registerType("modules.loaded") return config From owner-svn-src-all@freebsd.org Wed Mar 18 17:35:36 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CD1212673D7; Wed, 18 Mar 2020 17:35:36 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jHHr4lcvz4N5y; Wed, 18 Mar 2020 17:35:36 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 589FD257BD; Wed, 18 Mar 2020 17:35:36 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IHZaqe084692; Wed, 18 Mar 2020 17:35:36 GMT (envelope-from hrs@FreeBSD.org) Received: (from hrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IHZaXS084691; Wed, 18 Mar 2020 17:35:36 GMT (envelope-from hrs@FreeBSD.org) Message-Id: <202003181735.02IHZaXS084691@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hrs set sender to hrs@FreeBSD.org using -f From: Hiroki Sato Date: Wed, 18 Mar 2020 17:35:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359074 - in stable: 11/sys/netinet6 12/sys/netinet6 X-SVN-Group: stable-11 X-SVN-Commit-Author: hrs X-SVN-Commit-Paths: in stable: 11/sys/netinet6 12/sys/netinet6 X-SVN-Commit-Revision: 359074 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 17:35:36 -0000 Author: hrs Date: Wed Mar 18 17:35:35 2020 New Revision: 359074 URL: https://svnweb.freebsd.org/changeset/base/359074 Log: MFC from r347887: Fix hostname to be returned in an ICMPv6 NI Reply message defined in RFC 4620, ICMPv6 Node Information Queries. A vnet jail with an IPv6 address sent a hostname of the host environment, not the jail, even if another hostname was set to the jail. This change can be tested by the following commands: # ifconfig epair0 create # jail -c -n j1 vnet host.hostname=vnetjail path=/ persist # ifconfig epair0b vnet j1 # ifconfig epair0a inet6 -ifdisabled auto_linklocal up # jexec j1 ifconfig epair0b inet6 -ifdisabled auto_linklocal up # ping6 -w ff02::1%epair0a Differential Revision: https://reviews.freebsd.org/D20207 Modified: stable/11/sys/netinet6/icmp6.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/12/sys/netinet6/icmp6.c Directory Properties: stable/12/ (props changed) Modified: stable/11/sys/netinet6/icmp6.c ============================================================================== --- stable/11/sys/netinet6/icmp6.c Wed Mar 18 17:01:03 2020 (r359073) +++ stable/11/sys/netinet6/icmp6.c Wed Mar 18 17:35:35 2020 (r359074) @@ -138,7 +138,7 @@ static int icmp6_rip6_input(struct mbuf **, int); static int icmp6_ratelimit(const struct in6_addr *, const int, const int); static const char *icmp6_redirect_diag(struct in6_addr *, struct in6_addr *, struct in6_addr *); -static struct mbuf *ni6_input(struct mbuf *, int); +static struct mbuf *ni6_input(struct mbuf *, int, struct prison *); static struct mbuf *ni6_nametodns(const char *, int, int); static int ni6_dnsmatch(const char *, int, const char *, int); static int ni6_addrs(struct icmp6_nodeinfo *, struct mbuf *, @@ -625,6 +625,7 @@ icmp6_input(struct mbuf **mp, int *offp, int proto) case ICMP6_WRUREQUEST: /* ICMP6_FQDN_QUERY */ { enum { WRU, FQDN } mode; + struct prison *pr; if (!V_icmp6_nodeinfo) break; @@ -636,6 +637,14 @@ icmp6_input(struct mbuf **mp, int *offp, int proto) else goto badlen; + pr = NULL; + sx_slock(&allprison_lock); + TAILQ_FOREACH(pr, &allprison, pr_list) + if (pr->pr_vnet == ifp->if_vnet) + break; + sx_sunlock(&allprison_lock); + if (pr == NULL) + pr = curthread->td_ucred->cr_prison; if (mode == FQDN) { #ifndef PULLDOWN_TEST IP6_EXTHDR_CHECK(m, off, sizeof(struct icmp6_nodeinfo), @@ -643,11 +652,10 @@ icmp6_input(struct mbuf **mp, int *offp, int proto) #endif n = m_copy(m, 0, M_COPYALL); if (n) - n = ni6_input(n, off); + n = ni6_input(n, off, pr); /* XXX meaningless if n == NULL */ noff = sizeof(struct ip6_hdr); } else { - struct prison *pr; u_char *p; int maxhlen, hlen; @@ -681,13 +689,6 @@ icmp6_input(struct mbuf **mp, int *offp, int proto) n = NULL; break; } - maxhlen = M_TRAILINGSPACE(n) - - (sizeof(*nip6) + sizeof(*nicmp6) + 4); - pr = curthread->td_ucred->cr_prison; - mtx_lock(&pr->pr_mtx); - hlen = strlen(pr->pr_hostname); - if (maxhlen > hlen) - maxhlen = hlen; /* * Copy IPv6 and ICMPv6 only. */ @@ -697,6 +698,13 @@ icmp6_input(struct mbuf **mp, int *offp, int proto) bcopy(icmp6, nicmp6, sizeof(struct icmp6_hdr)); p = (u_char *)(nicmp6 + 1); bzero(p, 4); + + maxhlen = M_TRAILINGSPACE(n) - + (sizeof(*nip6) + sizeof(*nicmp6) + 4); + mtx_lock(&pr->pr_mtx); + hlen = strlen(pr->pr_hostname); + if (maxhlen > hlen) + maxhlen = hlen; /* meaningless TTL */ bcopy(pr->pr_hostname, p + 4, maxhlen); mtx_unlock(&pr->pr_mtx); @@ -1166,11 +1174,10 @@ icmp6_mtudisc_update(struct ip6ctlparam *ip6cp, int va * with hostname changes by sethostname(3) */ static struct mbuf * -ni6_input(struct mbuf *m, int off) +ni6_input(struct mbuf *m, int off, struct prison *pr) { struct icmp6_nodeinfo *ni6, *nni6; struct mbuf *n = NULL; - struct prison *pr; u_int16_t qtype; int subjlen; int replylen = sizeof(struct ip6_hdr) + sizeof(struct icmp6_nodeinfo); @@ -1322,7 +1329,6 @@ ni6_input(struct mbuf *m, int off) * wildcard match, if gethostname(3) side has * truncated hostname. */ - pr = curthread->td_ucred->cr_prison; mtx_lock(&pr->pr_mtx); n = ni6_nametodns(pr->pr_hostname, strlen(pr->pr_hostname), 0); @@ -1447,7 +1453,6 @@ ni6_input(struct mbuf *m, int off) /* * XXX do we really have FQDN in hostname? */ - pr = curthread->td_ucred->cr_prison; mtx_lock(&pr->pr_mtx); n->m_next = ni6_nametodns(pr->pr_hostname, strlen(pr->pr_hostname), oldfqdn); From owner-svn-src-all@freebsd.org Wed Mar 18 17:35:37 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6BC0B2673DC; Wed, 18 Mar 2020 17:35:37 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jHHs1Vv4z4N77; Wed, 18 Mar 2020 17:35:37 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B5960257BE; Wed, 18 Mar 2020 17:35:36 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IHZahT084698; Wed, 18 Mar 2020 17:35:36 GMT (envelope-from hrs@FreeBSD.org) Received: (from hrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IHZaY5084697; Wed, 18 Mar 2020 17:35:36 GMT (envelope-from hrs@FreeBSD.org) Message-Id: <202003181735.02IHZaY5084697@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hrs set sender to hrs@FreeBSD.org using -f From: Hiroki Sato Date: Wed, 18 Mar 2020 17:35:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359074 - in stable: 11/sys/netinet6 12/sys/netinet6 X-SVN-Group: stable-12 X-SVN-Commit-Author: hrs X-SVN-Commit-Paths: in stable: 11/sys/netinet6 12/sys/netinet6 X-SVN-Commit-Revision: 359074 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 17:35:37 -0000 Author: hrs Date: Wed Mar 18 17:35:35 2020 New Revision: 359074 URL: https://svnweb.freebsd.org/changeset/base/359074 Log: MFC from r347887: Fix hostname to be returned in an ICMPv6 NI Reply message defined in RFC 4620, ICMPv6 Node Information Queries. A vnet jail with an IPv6 address sent a hostname of the host environment, not the jail, even if another hostname was set to the jail. This change can be tested by the following commands: # ifconfig epair0 create # jail -c -n j1 vnet host.hostname=vnetjail path=/ persist # ifconfig epair0b vnet j1 # ifconfig epair0a inet6 -ifdisabled auto_linklocal up # jexec j1 ifconfig epair0b inet6 -ifdisabled auto_linklocal up # ping6 -w ff02::1%epair0a Differential Revision: https://reviews.freebsd.org/D20207 Modified: stable/12/sys/netinet6/icmp6.c Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Modified: stable/11/sys/netinet6/icmp6.c Directory Properties: stable/11/ (props changed) Modified: stable/12/sys/netinet6/icmp6.c ============================================================================== --- stable/12/sys/netinet6/icmp6.c Wed Mar 18 17:01:03 2020 (r359073) +++ stable/12/sys/netinet6/icmp6.c Wed Mar 18 17:35:35 2020 (r359074) @@ -140,7 +140,7 @@ static int icmp6_rip6_input(struct mbuf **, int); static int icmp6_ratelimit(const struct in6_addr *, const int, const int); static const char *icmp6_redirect_diag(struct in6_addr *, struct in6_addr *, struct in6_addr *); -static struct mbuf *ni6_input(struct mbuf *, int); +static struct mbuf *ni6_input(struct mbuf *, int, struct prison *); static struct mbuf *ni6_nametodns(const char *, int, int); static int ni6_dnsmatch(const char *, int, const char *, int); static int ni6_addrs(struct icmp6_nodeinfo *, struct mbuf *, @@ -620,6 +620,7 @@ icmp6_input(struct mbuf **mp, int *offp, int proto) case ICMP6_WRUREQUEST: /* ICMP6_FQDN_QUERY */ { enum { WRU, FQDN } mode; + struct prison *pr; if (!V_icmp6_nodeinfo) break; @@ -631,6 +632,14 @@ icmp6_input(struct mbuf **mp, int *offp, int proto) else goto badlen; + pr = NULL; + sx_slock(&allprison_lock); + TAILQ_FOREACH(pr, &allprison, pr_list) + if (pr->pr_vnet == ifp->if_vnet) + break; + sx_sunlock(&allprison_lock); + if (pr == NULL) + pr = curthread->td_ucred->cr_prison; if (mode == FQDN) { if (m->m_len < off + sizeof(struct icmp6_nodeinfo)) { m = m_pullup(m, off + @@ -643,11 +652,10 @@ icmp6_input(struct mbuf **mp, int *offp, int proto) } n = m_copym(m, 0, M_COPYALL, M_NOWAIT); if (n) - n = ni6_input(n, off); + n = ni6_input(n, off, pr); /* XXX meaningless if n == NULL */ noff = sizeof(struct ip6_hdr); } else { - struct prison *pr; u_char *p; int maxhlen, hlen; @@ -681,13 +689,6 @@ icmp6_input(struct mbuf **mp, int *offp, int proto) n = NULL; break; } - maxhlen = M_TRAILINGSPACE(n) - - (sizeof(*nip6) + sizeof(*nicmp6) + 4); - pr = curthread->td_ucred->cr_prison; - mtx_lock(&pr->pr_mtx); - hlen = strlen(pr->pr_hostname); - if (maxhlen > hlen) - maxhlen = hlen; /* * Copy IPv6 and ICMPv6 only. */ @@ -697,6 +698,13 @@ icmp6_input(struct mbuf **mp, int *offp, int proto) bcopy(icmp6, nicmp6, sizeof(struct icmp6_hdr)); p = (u_char *)(nicmp6 + 1); bzero(p, 4); + + maxhlen = M_TRAILINGSPACE(n) - + (sizeof(*nip6) + sizeof(*nicmp6) + 4); + mtx_lock(&pr->pr_mtx); + hlen = strlen(pr->pr_hostname); + if (maxhlen > hlen) + maxhlen = hlen; /* meaningless TTL */ bcopy(pr->pr_hostname, p + 4, maxhlen); mtx_unlock(&pr->pr_mtx); @@ -1159,11 +1167,10 @@ icmp6_mtudisc_update(struct ip6ctlparam *ip6cp, int va * with hostname changes by sethostname(3) */ static struct mbuf * -ni6_input(struct mbuf *m, int off) +ni6_input(struct mbuf *m, int off, struct prison *pr) { struct icmp6_nodeinfo *ni6, *nni6; struct mbuf *n = NULL; - struct prison *pr; u_int16_t qtype; int subjlen; int replylen = sizeof(struct ip6_hdr) + sizeof(struct icmp6_nodeinfo); @@ -1306,7 +1313,6 @@ ni6_input(struct mbuf *m, int off) * wildcard match, if gethostname(3) side has * truncated hostname. */ - pr = curthread->td_ucred->cr_prison; mtx_lock(&pr->pr_mtx); n = ni6_nametodns(pr->pr_hostname, strlen(pr->pr_hostname), 0); @@ -1440,7 +1446,6 @@ ni6_input(struct mbuf *m, int off) /* * XXX do we really have FQDN in hostname? */ - pr = curthread->td_ucred->cr_prison; mtx_lock(&pr->pr_mtx); n->m_next = ni6_nametodns(pr->pr_hostname, strlen(pr->pr_hostname), oldfqdn); From owner-svn-src-all@freebsd.org Wed Mar 18 17:42:19 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B934A267811; Wed, 18 Mar 2020 17:42:19 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jHRb3xjxz4dxr; Wed, 18 Mar 2020 17:42:19 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3B03225996; Wed, 18 Mar 2020 17:42:19 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IHgJlJ090499; Wed, 18 Mar 2020 17:42:19 GMT (envelope-from hrs@FreeBSD.org) Received: (from hrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IHgITt090497; Wed, 18 Mar 2020 17:42:18 GMT (envelope-from hrs@FreeBSD.org) Message-Id: <202003181742.02IHgITt090497@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hrs set sender to hrs@FreeBSD.org using -f From: Hiroki Sato Date: Wed, 18 Mar 2020 17:42:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359075 - in stable: 11/share/vt/keymaps 12/share/vt/keymaps X-SVN-Group: stable-11 X-SVN-Commit-Author: hrs X-SVN-Commit-Paths: in stable: 11/share/vt/keymaps 12/share/vt/keymaps X-SVN-Commit-Revision: 359075 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 17:42:19 -0000 Author: hrs Date: Wed Mar 18 17:42:18 2020 New Revision: 359075 URL: https://svnweb.freebsd.org/changeset/base/359075 Log: MFC of r358061: Use 0x5c for the scan code 0x7d. Japanese keyboards traditionally use 0x5c for both Japanese yen sign key and backslash key. While a Japanese yen sign is depicted on the keytop, most of Japanese expect that the scan code 0x7d gives a backslash (0x5c), not a Japanese yen sign (0xa5). This is because JIS X 0201 encoding (aka ISO/IEC 646-JA, an extended version of ASCII which is very popular in Japan) has Japanese yen sign at 0x5c and no backslash. On the other hand, ISO/IEC 8859-1 has Japanese yen sign at 0xa5. This difference has caused a confusion after Unicode became popular since ISO/IEC 10646 adopted 8859-1 for the plane 0. Modified: stable/11/share/vt/keymaps/jp.capsctrl.kbd stable/11/share/vt/keymaps/jp.kbd Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/12/share/vt/keymaps/jp.capsctrl.kbd stable/12/share/vt/keymaps/jp.kbd Directory Properties: stable/12/ (props changed) Modified: stable/11/share/vt/keymaps/jp.capsctrl.kbd ============================================================================== --- stable/11/share/vt/keymaps/jp.capsctrl.kbd Wed Mar 18 17:35:35 2020 (r359074) +++ stable/11/share/vt/keymaps/jp.capsctrl.kbd Wed Mar 18 17:42:18 2020 (r359075) @@ -117,4 +117,4 @@ 115 '\' '_' fs us '\' '_' fs us O 121 ' ' ' ' nul ' ' ' ' ' ' susp ' ' O 123 ' ' ' ' nul ' ' ' ' ' ' susp ' ' O - 125 0xa5 '|' fs us 0xa5 '|' fs us O + 125 '\' '|' fs us 0xa5 '|' fs us O Modified: stable/11/share/vt/keymaps/jp.kbd ============================================================================== --- stable/11/share/vt/keymaps/jp.kbd Wed Mar 18 17:35:35 2020 (r359074) +++ stable/11/share/vt/keymaps/jp.kbd Wed Mar 18 17:42:18 2020 (r359075) @@ -115,4 +115,4 @@ 115 '\' '_' fs us '\' '_' fs us O 121 ' ' ' ' nul ' ' ' ' ' ' susp ' ' O 123 ' ' ' ' nul ' ' ' ' ' ' susp ' ' O - 125 0xa5 '|' fs us 0xa5 '|' fs us O + 125 '\' '|' fs us 0xa5 '|' fs us O From owner-svn-src-all@freebsd.org Wed Mar 18 17:42:20 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A24D1267819; Wed, 18 Mar 2020 17:42:20 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jHRc1hH9z4f0K; Wed, 18 Mar 2020 17:42:20 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C231025997; Wed, 18 Mar 2020 17:42:19 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IHgJj8090506; Wed, 18 Mar 2020 17:42:19 GMT (envelope-from hrs@FreeBSD.org) Received: (from hrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IHgJqr090505; Wed, 18 Mar 2020 17:42:19 GMT (envelope-from hrs@FreeBSD.org) Message-Id: <202003181742.02IHgJqr090505@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hrs set sender to hrs@FreeBSD.org using -f From: Hiroki Sato Date: Wed, 18 Mar 2020 17:42:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359075 - in stable: 11/share/vt/keymaps 12/share/vt/keymaps X-SVN-Group: stable-12 X-SVN-Commit-Author: hrs X-SVN-Commit-Paths: in stable: 11/share/vt/keymaps 12/share/vt/keymaps X-SVN-Commit-Revision: 359075 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 17:42:20 -0000 Author: hrs Date: Wed Mar 18 17:42:18 2020 New Revision: 359075 URL: https://svnweb.freebsd.org/changeset/base/359075 Log: MFC of r358061: Use 0x5c for the scan code 0x7d. Japanese keyboards traditionally use 0x5c for both Japanese yen sign key and backslash key. While a Japanese yen sign is depicted on the keytop, most of Japanese expect that the scan code 0x7d gives a backslash (0x5c), not a Japanese yen sign (0xa5). This is because JIS X 0201 encoding (aka ISO/IEC 646-JA, an extended version of ASCII which is very popular in Japan) has Japanese yen sign at 0x5c and no backslash. On the other hand, ISO/IEC 8859-1 has Japanese yen sign at 0xa5. This difference has caused a confusion after Unicode became popular since ISO/IEC 10646 adopted 8859-1 for the plane 0. Modified: stable/12/share/vt/keymaps/jp.capsctrl.kbd stable/12/share/vt/keymaps/jp.kbd Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Modified: stable/11/share/vt/keymaps/jp.capsctrl.kbd stable/11/share/vt/keymaps/jp.kbd Directory Properties: stable/11/ (props changed) Modified: stable/12/share/vt/keymaps/jp.capsctrl.kbd ============================================================================== --- stable/12/share/vt/keymaps/jp.capsctrl.kbd Wed Mar 18 17:35:35 2020 (r359074) +++ stable/12/share/vt/keymaps/jp.capsctrl.kbd Wed Mar 18 17:42:18 2020 (r359075) @@ -117,4 +117,4 @@ 115 '\' '_' fs us '\' '_' fs us O 121 ' ' ' ' nul ' ' ' ' ' ' susp ' ' O 123 ' ' ' ' nul ' ' ' ' ' ' susp ' ' O - 125 0xa5 '|' fs us 0xa5 '|' fs us O + 125 '\' '|' fs us 0xa5 '|' fs us O Modified: stable/12/share/vt/keymaps/jp.kbd ============================================================================== --- stable/12/share/vt/keymaps/jp.kbd Wed Mar 18 17:35:35 2020 (r359074) +++ stable/12/share/vt/keymaps/jp.kbd Wed Mar 18 17:42:18 2020 (r359075) @@ -115,4 +115,4 @@ 115 '\' '_' fs us '\' '_' fs us O 121 ' ' ' ' nul ' ' ' ' ' ' susp ' ' O 123 ' ' ' ' nul ' ' ' ' ' ' susp ' ' O - 125 0xa5 '|' fs us 0xa5 '|' fs us O + 125 '\' '|' fs us 0xa5 '|' fs us O From owner-svn-src-all@freebsd.org Wed Mar 18 18:02:34 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 69F42267FCF; Wed, 18 Mar 2020 18:02:34 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jHty2tsCz4SXx; Wed, 18 Mar 2020 18:02:34 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 45B6725D37; Wed, 18 Mar 2020 18:02:34 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02II2YsC002527; Wed, 18 Mar 2020 18:02:34 GMT (envelope-from hrs@FreeBSD.org) Received: (from hrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02II2Xcd002522; Wed, 18 Mar 2020 18:02:33 GMT (envelope-from hrs@FreeBSD.org) Message-Id: <202003181802.02II2Xcd002522@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hrs set sender to hrs@FreeBSD.org using -f From: Hiroki Sato Date: Wed, 18 Mar 2020 18:02:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359076 - in stable: 11/share/man/man4 11/sys/dev/acpica 11/usr.sbin/acpi/acpiconf 12/share/man/man4 12/sys/dev/acpica 12/usr.sbin/acpi/acpiconf X-SVN-Group: stable-11 X-SVN-Commit-Author: hrs X-SVN-Commit-Paths: in stable: 11/share/man/man4 11/sys/dev/acpica 11/usr.sbin/acpi/acpiconf 12/share/man/man4 12/sys/dev/acpica 12/usr.sbin/acpi/acpiconf X-SVN-Commit-Revision: 359076 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 18:02:34 -0000 Author: hrs Date: Wed Mar 18 18:02:33 2020 New Revision: 359076 URL: https://svnweb.freebsd.org/changeset/base/359076 Log: MFC of r355574, r358095, and r358395: Add ACPI battery subsystem man page. Add _BIX (Battery Information Extended) object support. ACPI Control Method Batteries have a _BIF and/or _BIX object which provide static properties of the battery. FreeBSD acpi_cmbat module supported _BIF object only, which was deprecated as of ACPI 4.0. _BIX is an extended version of _BIF defined in ACPI 4.0 or later. As of writing, _BIX has two revisions. One is in ACPI 4.0 (rev.0) and another is in ACPI 6.0 (rev.1). It seems that hardware vendors still stick to _BIF only or _BIX rev.0 + _BIF for the maximum compatibility. Microsoft requires _BIX rev.0 for Windows machines, so there are some laptop machines with _BIX rev.0 only. In this case, FreeBSD does not recognize the battery information. After this change, the acpi_cmbat module gets battery information from _BIX or _BIF object and internally uses _BIX rev.1 data structure as the primary information store in the kernel. ACPIIO_BATT_GET_BI[FX] returns an acpi_bi[fx] structure built by using information obtained from a _BIF or a _BIX object found on the system. The revision number field can be used to check which field is available. The acpiconf(8) utility will show additional information if _BIX is available. Although ABIs of ACPIIO_BATT_* were changed, the existing APIs for userland utilities are not changed and the backward-compatible ABIs are provided. This means that older versions of acpiconf(8) can also work with the new kernel. The (union acpi_battery_ioctl_arg) was padded to 256 byte long to avoid another ABI change in the future. A _BIX object with its revision number >1 will be treated as compatible with the rev.1 _BIX format. Add workaround for models which do not follow the ACPI specification strictly. Extra objects are now simply ignored instead of rejecting everything. Differential Revision: https://reviews.freebsd.org/D22556 Differential Revision: https://reviews.freebsd.org/D23728 Added: stable/11/share/man/man4/acpi_battery.4 - copied, changed from r355574, head/share/man/man4/acpi_battery.4 Modified: stable/11/share/man/man4/Makefile stable/11/sys/dev/acpica/acpi_battery.c stable/11/sys/dev/acpica/acpi_cmbat.c stable/11/sys/dev/acpica/acpi_if.m stable/11/sys/dev/acpica/acpi_package.c stable/11/sys/dev/acpica/acpi_smbat.c stable/11/sys/dev/acpica/acpiio.h stable/11/sys/dev/acpica/acpivar.h stable/11/usr.sbin/acpi/acpiconf/acpiconf.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Added: stable/12/share/man/man4/acpi_battery.4 - copied, changed from r355574, head/share/man/man4/acpi_battery.4 Modified: stable/12/share/man/man4/Makefile stable/12/sys/dev/acpica/acpi_battery.c stable/12/sys/dev/acpica/acpi_cmbat.c stable/12/sys/dev/acpica/acpi_if.m stable/12/sys/dev/acpica/acpi_package.c stable/12/sys/dev/acpica/acpi_smbat.c stable/12/sys/dev/acpica/acpiio.h stable/12/sys/dev/acpica/acpivar.h stable/12/usr.sbin/acpi/acpiconf/acpiconf.c Directory Properties: stable/12/ (props changed) Modified: stable/11/share/man/man4/Makefile ============================================================================== --- stable/11/share/man/man4/Makefile Wed Mar 18 17:42:18 2020 (r359075) +++ stable/11/share/man/man4/Makefile Wed Mar 18 18:02:33 2020 (r359076) @@ -18,6 +18,7 @@ MAN= aac.4 \ ${_acpi_rapidstart.4} \ ${_acpi_sony.4} \ acpi_thermal.4 \ + acpi_battery.4 \ ${_acpi_toshiba.4} \ acpi_video.4 \ ${_acpi_wmi.4} \ Copied and modified: stable/11/share/man/man4/acpi_battery.4 (from r355574, head/share/man/man4/acpi_battery.4) ============================================================================== --- head/share/man/man4/acpi_battery.4 Tue Dec 10 02:19:07 2019 (r355574, copy source) +++ stable/11/share/man/man4/acpi_battery.4 Wed Mar 18 18:02:33 2020 (r359076) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 26, 2019 +.Dd February 16, 2020 .Dt ACPI_BATTERY 4 .Os .Sh NAME @@ -37,6 +37,7 @@ The .Nm is a driver for battery management features of the ACPI module. +.Pp An ACPI-compatible battery device supports either a Control Method Battery interface or a Smart Battery subsystem interface. The former is accessed by the AML @@ -45,7 +46,8 @@ code control methods, and the latter is controlled directly through the ACPI EC .Pq Embedded Controller typically via an SMBus interface. -This driver supports the +.Pp +This driver supports the .Xr sysctl 8 and .Xr ioctl 2 @@ -59,60 +61,86 @@ driver takes a single integer value for the battery un number as an argument, and returns a specific structure for each request. A special unit number -.Li ACPI_BATTERY_ALL_UNITS +.Dv ACPI_BATTERY_ALL_UNITS specifies all of the attached units and reports accumulated information. .Bl -tag -width indent -.It ACPIIO_BATT_GET_UNITS Vt int +.It Dv ACPIIO_BATT_GET_UNITS Vt int Returns the number of battery units in the system. The unit number argument will be ignored. -.It ACPIIO_BATT_GET_BATTINFO Vt struct acpi_battinfo +.It Dv ACPIIO_BATT_GET_BATTINFO Vt struct acpi_battinfo Returns the following: .Bl -tag -width indent -.It cap +.It Va cap Battery capacity in percent, -.It min +.It Va min Remaining battery life in minutes, -.It state +.It Va state Current status of the battery encoded in the following: .Bl -tag -width indent -.It ACPI_BATT_STAT_DISCHARG Pq 0x0001 +.It Dv ACPI_BATT_STAT_DISCHARG Pq 0x0001 Battery is discharging, -.It ACPI_BATT_STAT_CHARGING Pq 0x0002 +.It Dv ACPI_BATT_STAT_CHARGING Pq 0x0002 Battery is being charged, or -.It ACPI_BATT_STAT_CRITICAL Pq 0x0004 +.It Dv ACPI_BATT_STAT_CRITICAL Pq 0x0004 Remaining battery life is critically low. .El .Pp Note that the status bits of each battery will be consolidated when -.Li ACPI_BATTERY_ALL_UNITS +.Dv ACPI_BATTERY_ALL_UNITS is specified. -.It rate +.It Va rate Current battery discharging rate in mW. .Li -1 means not discharging right now. .El -.It ACPIIO_BATT_GET_BIF Vt struct acpi_bif +.It Dv ACPIIO_BATT_GET_BIX Vt struct acpi_bix Returns battery information given by the ACPI -.Li _BIF Pq Battery Information +.Li _BIX Pq Battery Information object, which is the static portion of the Control Method Battery information. -In the case of a Smart Battery attached to SMBus, +In the case of a Smart Battery attached to +SMBus or a Control Method Battery with a +.Li _BIF +object, this ioctl will build a -.Vt struct acpi_bif +.Vt struct acpi_bix structure based on the obtained information and return it. .Bl -tag -width indent -.It units +.It Va rev +Revision number of the object. +There are the following well-known values: +.Bl -tag -width indent +.It Dv ACPI_BIX_REV_0 Pq 0x0000 +A +.Li _BIX +object in ACPI 4.0. +.It Dv ACPI_BIX_REV_1 Pq 0x0001 +A +.Li _BIX +object in ACPI 6.0. +.It Dv ACPI_BIX_REV_BIF Pq 0xffff +A +.Li _BIX +object built from the +.Li _BIF +object found on the system. +.El +.Pp +Note that this field should be checked by using +.Fn ACPI_BIX_REV_MIN_CHECK var rev +macro when checking the minimum revision number. +.It Va units Indicates the units used by the battery to report its capacity and charge rate encoded in the following: .Bl -tag -width indent -.It ACPI_BIF_UNITS_MW Pq 0x00000000 +.It ACPI_BIX_UNITS_MW Pq 0x00000000 in mW .Pq power -.It ACPI_BIF_UNITS_MA Pq 0x00000001 +.It ACPI_BIX_UNITS_MA Pq 0x00000001 in mA .Pq current .El @@ -120,31 +148,69 @@ in mA Note that capacity is expressed in mWh or mAh, and rate is expressed in mW or mA, respectively. -.It dcap +.It Va dcap The Battery's design capacity, which is the nominal capacity of a new battery. This is expressed as power or current depending on the value of .Va units . -.It lfcap +.It Va lfcap Predicted battery capacity when fully charged. Typically this will decrease every charging cycle. .It btech Battery technology: .Bl -tag -width indent .It 0x00000000 Primary cell Pq non-rechargable -.It 0x00000001 Secondery cell Pq rechargable +.It 0x00000001 Secondary cell Pq rechargable .El -.It dvol +.It Va dvol Design voltage in mV, which is the nominal voltage of a new battery. -.It wcap +.It Va wcap Design capacity of warning. When a discharging battery device reaches this capacity, notification is sent to the system. -.It lcap +.It Va lcap Design capacity of low. -.It gra1 +.It Va cycles +.Pq rev 0 or newer +The number of cycles the battery has experienced. +A cycle means an amount of discharge occurred which was +approximately equal to the value of Design Capacity. +.It Va accuracy +.Pq rev 0 or newer +The accuracy of the battery capacity measurement, +in thousandth of a percent. +.It Va stmax +.Pq rev 0 or newer +The Maximum Sampling Time of the battery in +milliseconds. +This is the maximum duration between two consecutive +measurements of the battery's capacities specified in +.Li _BST . +If two succeeding readings of +.Li _BST +beyond this duration occur, +two different results can be returned. +.It Va stmin +.Pq rev 0 or newer +The Minimum Sampling Time of the battery in +milliseconds. +.It Va aimax +.Pq rev 0 or newer +The Maximum Average Interval of the battery in +milliseconds. +This is the length of time within which the battery +averages the capacity measurements specified in +.Li _BST . +The Sampling Time specifies the frequency of measurements, +and the Average Interval specifies the width of the time +window of every measurement. +.It Va aimin +.Pq rev 0 or newer +The Minimum Average Interval of the battery in +milliseconds. +.It Va gra1 Battery capacity granularity between .Va low and @@ -152,7 +218,7 @@ and This is expressed as power or current depending on the value of .Va units . -.It gra2 +.It Va gra2 Battery capacity granularity between .Va warning and @@ -160,15 +226,41 @@ and This is expressed as power or current depending on the value of .Va units . -.It model +.It Va model Model number of the battery as a string. -.It serial +.It Va serial Serial number of the battery as a string. -.It type +.It Va type Type identifier of the battery as a string. -.It oeminfo +.It Va oeminfo OEM-specific information of the battery as a string. +.It Va scap +.Pq rev 1 or newer +Battery swapping capability encoded in the following: +.Bl -tag -width indent +.It ACPI_BIX_SCAP_NO Pq 0x00000000 +Non-swappable +.It ACPI_BIX_SCAP_COLD Pq 0x00000001 +Cold-swappable +.It ACPI_BIX_SCAP_HOT Pq 0x00000010 +Hot-swappable .El +.El +.It Dv ACPIIO_BATT_GET_BIF Vt struct acpi_bif +.Pq deprecated +Returns battery information given by the ACPI +.Li _BIF Pq Battery Information +object, +which was deprecated in ACPI 4.0 specification. +The data structure is a subset of +.Vt struct acpi_bix . +.Pp +Note that this ioctl will built a +.Vt struct acpi_bif +structure based on the obtained information +even if this object is not available and a +.Li _BIX +object is found. .It ACPIIO_BATT_GET_BST Vt struct acpi_bst Returns battery information given by the ACPI .Li _BST Pq Battery Status @@ -180,25 +272,25 @@ this ioctl will build a structure based on the obtained information and return it. .Bl -tag -width indent -.It state +.It Va state Battery state. The value is encoded in the same way as .Va state of .Vt struct acpi_battinfo . -.It rate +.It Va rate Battery present rate of charging or discharging. The unit of the value depends on .Va unit of .Vt struct acpi_bif . -.It cap +.It Va cap Battery remaining capacity. The unit of this value depends on .Va unit of .Vt struct acpi_bif . -.It volt +.It Va volt Battery present voltage. .El .El @@ -212,6 +304,8 @@ connected batteries: .It Va hw.acpi.battery.info_expire Information cache expiration time in seconds. The battery information obtained by +.Li _BIX +or .Li _BIF object will be stored and reused for successive read access to this MIB within the specified period. @@ -276,8 +370,11 @@ Battery information was changed. .An Munehiro Matsuda , .An Takanori Watanabe Aq Mt takawata@FreeBSD.org , .An Mitsuru IWASAKI Aq Mt iwasaki@FreeBSD.org , +.An Hans Petter Selasky Aq Mt hselasky@FreeBSD.org , and -.An Hans Petter Selasky Aq Mt hselasky@FreeBSD.org . +.An Hiroki Sato Aq Mt hrs@FreeBSD.org . .Pp This manual page was written by -.An Takanori Watanabe Aq Mt takawata@FreeBSD.org . +.An Takanori Watanabe Aq Mt takawata@FreeBSD.org +and +.An Hiroki Sato Aq Mt hrs@FreeBSD.org . Modified: stable/11/sys/dev/acpica/acpi_battery.c ============================================================================== --- stable/11/sys/dev/acpica/acpi_battery.c Wed Mar 18 17:42:18 2020 (r359075) +++ stable/11/sys/dev/acpica/acpi_battery.c Wed Mar 18 18:02:33 2020 (r359076) @@ -44,7 +44,7 @@ __FBSDID("$FreeBSD$"); /* Default seconds before re-sampling the battery state. */ #define ACPI_BATTERY_INFO_EXPIRE 5 -static int acpi_batteries_initted; +static int acpi_batteries_initialized; static int acpi_battery_info_expire = ACPI_BATTERY_INFO_EXPIRE; static struct acpi_battinfo acpi_battery_battinfo; static struct sysctl_ctx_list acpi_battery_sysctl_ctx; @@ -65,11 +65,10 @@ acpi_battery_register(device_t dev) { int error; - error = 0; ACPI_SERIAL_BEGIN(battery); - if (!acpi_batteries_initted) - error = acpi_battery_init(); + error = acpi_battery_init(); ACPI_SERIAL_END(battery); + return (error); } @@ -107,11 +106,12 @@ acpi_battery_bst_valid(struct acpi_bst *bst) bst->cap != ACPI_BATT_UNKNOWN && bst->volt != ACPI_BATT_UNKNOWN); } -/* Check _BIF results for validity. */ +/* Check _BI[FX] results for validity. */ int -acpi_battery_bif_valid(struct acpi_bif *bif) +acpi_battery_bix_valid(struct acpi_bix *bix) { - return (bif->lfcap != 0); + + return (bix->lfcap != 0); } /* Get info about one or all batteries. */ @@ -123,7 +123,7 @@ acpi_battery_get_battinfo(device_t dev, struct acpi_ba devclass_t batt_dc; device_t batt_dev; struct acpi_bst *bst; - struct acpi_bif *bif; + struct acpi_bix *bix; struct acpi_battinfo *bi; /* @@ -139,11 +139,11 @@ acpi_battery_get_battinfo(device_t dev, struct acpi_ba /* * Allocate storage for all _BST data, their derived battinfo data, - * and the current battery's _BIF data. + * and the current battery's _BIX (or _BIF) data. */ bst = malloc(devcount * sizeof(*bst), M_TEMP, M_WAITOK | M_ZERO); bi = malloc(devcount * sizeof(*bi), M_TEMP, M_WAITOK | M_ZERO); - bif = malloc(sizeof(*bif), M_TEMP, M_WAITOK | M_ZERO); + bix = malloc(sizeof(*bix), M_TEMP, M_WAITOK | M_ZERO); /* * Pass 1: for each battery that is present and valid, get its status, @@ -176,12 +176,12 @@ acpi_battery_get_battinfo(device_t dev, struct acpi_ba */ if (!acpi_BatteryIsPresent(batt_dev) || ACPI_BATT_GET_STATUS(batt_dev, &bst[i]) != 0 || - ACPI_BATT_GET_INFO(batt_dev, bif) != 0) + ACPI_BATT_GET_INFO(batt_dev, bix, sizeof(*bix)) != 0) continue; /* If a battery is not installed, we sometimes get strange values. */ if (!acpi_battery_bst_valid(&bst[i]) || - !acpi_battery_bif_valid(bif)) + !acpi_battery_bix_valid(bix)) continue; /* @@ -200,18 +200,18 @@ acpi_battery_get_battinfo(device_t dev, struct acpi_ba * is 0 (due to some error reading the battery), skip this * conversion. */ - if (bif->units == ACPI_BIF_UNITS_MA && bif->dvol != 0 && dev == NULL) { - bst[i].rate = (bst[i].rate * bif->dvol) / 1000; - bst[i].cap = (bst[i].cap * bif->dvol) / 1000; - bif->lfcap = (bif->lfcap * bif->dvol) / 1000; + if (bix->units == ACPI_BIX_UNITS_MA && bix->dvol != 0 && dev == NULL) { + bst[i].rate = (bst[i].rate * bix->dvol) / 1000; + bst[i].cap = (bst[i].cap * bix->dvol) / 1000; + bix->lfcap = (bix->lfcap * bix->dvol) / 1000; } /* - * The calculation above may set bif->lfcap to zero. This was + * The calculation above may set bix->lfcap to zero. This was * seen on a laptop with a broken battery. The result of the * division was rounded to zero. */ - if (!acpi_battery_bif_valid(bif)) + if (!acpi_battery_bix_valid(bix)) continue; /* @@ -219,16 +219,16 @@ acpi_battery_get_battinfo(device_t dev, struct acpi_ba * "real-capacity" when the battery is fully charged. That breaks * the above arithmetic as it needs to be 100% maximum. */ - if (bst[i].cap > bif->lfcap) - bst[i].cap = bif->lfcap; + if (bst[i].cap > bix->lfcap) + bst[i].cap = bix->lfcap; /* Calculate percent capacity remaining. */ - bi[i].cap = (100 * bst[i].cap) / bif->lfcap; + bi[i].cap = (100 * bst[i].cap) / bix->lfcap; /* If this battery is not present, don't use its capacity. */ if (bi[i].cap != -1) { total_cap += bst[i].cap; - total_lfcap += bif->lfcap; + total_lfcap += bix->lfcap; } /* @@ -294,12 +294,9 @@ acpi_battery_get_battinfo(device_t dev, struct acpi_ba error = 0; out: - if (bi) - free(bi, M_TEMP); - if (bif) - free(bif, M_TEMP); - if (bst) - free(bst, M_TEMP); + free(bi, M_TEMP); + free(bix, M_TEMP); + free(bst, M_TEMP); return (error); } @@ -368,7 +365,8 @@ acpi_battery_ioctl(u_long cmd, caddr_t addr, void *arg unit = 0; dev = NULL; ioctl_arg = NULL; - if (IOCPARM_LEN(cmd) == sizeof(*ioctl_arg)) { + if (IOCPARM_LEN(cmd) == sizeof(union acpi_battery_ioctl_arg) || + IOCPARM_LEN(cmd) == sizeof(union acpi_battery_ioctl_arg_v1)) { ioctl_arg = (union acpi_battery_ioctl_arg *)addr; unit = ioctl_arg->unit; if (unit != ACPI_BATTERY_ALL_UNITS) @@ -379,12 +377,14 @@ acpi_battery_ioctl(u_long cmd, caddr_t addr, void *arg * No security check required: information retrieval only. If * new functions are added here, a check might be required. */ + /* Unit check */ switch (cmd) { case ACPIIO_BATT_GET_UNITS: *(int *)addr = acpi_battery_get_units(); error = 0; break; case ACPIIO_BATT_GET_BATTINFO: + case ACPIIO_BATT_GET_BATTINFO_V1: if (dev != NULL || unit == ACPI_BATTERY_ALL_UNITS) { bzero(&ioctl_arg->battinfo, sizeof(ioctl_arg->battinfo)); error = acpi_battery_get_battinfo(dev, &ioctl_arg->battinfo); @@ -393,24 +393,19 @@ acpi_battery_ioctl(u_long cmd, caddr_t addr, void *arg case ACPIIO_BATT_GET_BIF: if (dev != NULL) { bzero(&ioctl_arg->bif, sizeof(ioctl_arg->bif)); - error = ACPI_BATT_GET_INFO(dev, &ioctl_arg->bif); - - /* - * Remove invalid characters. Perhaps this should be done - * within a convenience function so all callers get the - * benefit. - */ - acpi_battery_clean_str(ioctl_arg->bif.model, - sizeof(ioctl_arg->bif.model)); - acpi_battery_clean_str(ioctl_arg->bif.serial, - sizeof(ioctl_arg->bif.serial)); - acpi_battery_clean_str(ioctl_arg->bif.type, - sizeof(ioctl_arg->bif.type)); - acpi_battery_clean_str(ioctl_arg->bif.oeminfo, - sizeof(ioctl_arg->bif.oeminfo)); + error = ACPI_BATT_GET_INFO(dev, &ioctl_arg->bif, + sizeof(ioctl_arg->bif)); } break; + case ACPIIO_BATT_GET_BIX: + if (dev != NULL) { + bzero(&ioctl_arg->bix, sizeof(ioctl_arg->bix)); + error = ACPI_BATT_GET_INFO(dev, &ioctl_arg->bix, + sizeof(ioctl_arg->bix)); + } + break; case ACPIIO_BATT_GET_BST: + case ACPIIO_BATT_GET_BST_V1: if (dev != NULL) { bzero(&ioctl_arg->bst, sizeof(ioctl_arg->bst)); error = ACPI_BATT_GET_STATUS(dev, &ioctl_arg->bst); @@ -420,6 +415,25 @@ acpi_battery_ioctl(u_long cmd, caddr_t addr, void *arg error = EINVAL; } + /* Sanitize the string members. */ + switch (cmd) { + case ACPIIO_BATT_GET_BIX: + case ACPIIO_BATT_GET_BIF: + /* + * Remove invalid characters. Perhaps this should be done + * within a convenience function so all callers get the + * benefit. + */ + acpi_battery_clean_str(ioctl_arg->bix.model, + sizeof(ioctl_arg->bix.model)); + acpi_battery_clean_str(ioctl_arg->bix.serial, + sizeof(ioctl_arg->bix.serial)); + acpi_battery_clean_str(ioctl_arg->bix.type, + sizeof(ioctl_arg->bix.type)); + acpi_battery_clean_str(ioctl_arg->bix.oeminfo, + sizeof(ioctl_arg->bix.oeminfo)); + }; + return (error); } @@ -453,27 +467,30 @@ acpi_battery_init(void) ACPI_SERIAL_ASSERT(battery); + if (acpi_batteries_initialized) + return(0); + error = ENXIO; dev = devclass_get_device(devclass_find("acpi"), 0); if (dev == NULL) goto out; sc = device_get_softc(dev); - error = acpi_register_ioctl(ACPIIO_BATT_GET_UNITS, acpi_battery_ioctl, - NULL); - if (error != 0) - goto out; - error = acpi_register_ioctl(ACPIIO_BATT_GET_BATTINFO, acpi_battery_ioctl, - NULL); - if (error != 0) - goto out; - error = acpi_register_ioctl(ACPIIO_BATT_GET_BIF, acpi_battery_ioctl, NULL); - if (error != 0) - goto out; - error = acpi_register_ioctl(ACPIIO_BATT_GET_BST, acpi_battery_ioctl, NULL); - if (error != 0) - goto out; +#define ACPI_REGISTER_IOCTL(a, b, c) do { \ + error = acpi_register_ioctl(a, b, c); \ + if (error) \ + goto out; \ + } while (0) + ACPI_REGISTER_IOCTL(ACPIIO_BATT_GET_UNITS, acpi_battery_ioctl, NULL); + ACPI_REGISTER_IOCTL(ACPIIO_BATT_GET_BATTINFO, acpi_battery_ioctl, NULL); + ACPI_REGISTER_IOCTL(ACPIIO_BATT_GET_BATTINFO_V1, acpi_battery_ioctl, NULL); + ACPI_REGISTER_IOCTL(ACPIIO_BATT_GET_BIF, acpi_battery_ioctl, NULL); + ACPI_REGISTER_IOCTL(ACPIIO_BATT_GET_BIX, acpi_battery_ioctl, NULL); + ACPI_REGISTER_IOCTL(ACPIIO_BATT_GET_BST, acpi_battery_ioctl, NULL); + ACPI_REGISTER_IOCTL(ACPIIO_BATT_GET_BST_V1, acpi_battery_ioctl, NULL); +#undef ACPI_REGISTER_IOCTL + sysctl_ctx_init(&acpi_battery_sysctl_ctx); acpi_battery_sysctl_tree = SYSCTL_ADD_NODE(&acpi_battery_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree), OID_AUTO, "battery", CTLFLAG_RD, @@ -508,14 +525,17 @@ acpi_battery_init(void) &acpi_battery_info_expire, 0, "time in seconds until info is refreshed"); - acpi_batteries_initted = TRUE; + acpi_batteries_initialized = TRUE; out: - if (error != 0) { + if (error) { acpi_deregister_ioctl(ACPIIO_BATT_GET_UNITS, acpi_battery_ioctl); acpi_deregister_ioctl(ACPIIO_BATT_GET_BATTINFO, acpi_battery_ioctl); + acpi_deregister_ioctl(ACPIIO_BATT_GET_BATTINFO_V1, acpi_battery_ioctl); acpi_deregister_ioctl(ACPIIO_BATT_GET_BIF, acpi_battery_ioctl); + acpi_deregister_ioctl(ACPIIO_BATT_GET_BIX, acpi_battery_ioctl); acpi_deregister_ioctl(ACPIIO_BATT_GET_BST, acpi_battery_ioctl); + acpi_deregister_ioctl(ACPIIO_BATT_GET_BST_V1, acpi_battery_ioctl); } return (error); } Modified: stable/11/sys/dev/acpica/acpi_cmbat.c ============================================================================== --- stable/11/sys/dev/acpica/acpi_cmbat.c Wed Mar 18 17:42:18 2020 (r359075) +++ stable/11/sys/dev/acpica/acpi_cmbat.c Wed Mar 18 18:02:33 2020 (r359076) @@ -61,12 +61,13 @@ ACPI_MODULE_NAME("BATTERY") #define ACPI_BATTERY_BST_CHANGE 0x80 #define ACPI_BATTERY_BIF_CHANGE 0x81 +#define ACPI_BATTERY_BIX_CHANGE ACPI_BATTERY_BIF_CHANGE struct acpi_cmbat_softc { device_t dev; int flags; - struct acpi_bif bif; + struct acpi_bix bix; struct acpi_bst bst; struct timespec bst_lastupdated; }; @@ -82,10 +83,10 @@ static void acpi_cmbat_notify_handler(ACPI_HANDLE h, static int acpi_cmbat_info_expired(struct timespec *lastupdated); static void acpi_cmbat_info_updated(struct timespec *lastupdated); static void acpi_cmbat_get_bst(void *arg); -static void acpi_cmbat_get_bif_task(void *arg); -static void acpi_cmbat_get_bif(void *arg); -static int acpi_cmbat_bst(device_t dev, struct acpi_bst *bstp); -static int acpi_cmbat_bif(device_t dev, struct acpi_bif *bifp); +static void acpi_cmbat_get_bix_task(void *arg); +static void acpi_cmbat_get_bix(void *arg); +static int acpi_cmbat_bst(device_t, struct acpi_bst *); +static int acpi_cmbat_bix(device_t, void *, size_t); static void acpi_cmbat_init_battery(void *arg); static device_method_t acpi_cmbat_methods[] = { @@ -96,7 +97,7 @@ static device_method_t acpi_cmbat_methods[] = { DEVMETHOD(device_resume, acpi_cmbat_resume), /* ACPI battery interface */ - DEVMETHOD(acpi_batt_get_info, acpi_cmbat_bif), + DEVMETHOD(acpi_batt_get_info, acpi_cmbat_bix), DEVMETHOD(acpi_batt_get_status, acpi_cmbat_bst), DEVMETHOD_END @@ -204,12 +205,12 @@ acpi_cmbat_notify_handler(ACPI_HANDLE h, UINT32 notify timespecclear(&sc->bst_lastupdated); break; case ACPI_NOTIFY_BUS_CHECK: - case ACPI_BATTERY_BIF_CHANGE: + case ACPI_BATTERY_BIX_CHANGE: /* * Queue a callback to get the current battery info from thread * context. It's not safe to block in a notify handler. */ - AcpiOsExecute(OSL_NOTIFY_HANDLER, acpi_cmbat_get_bif_task, dev); + AcpiOsExecute(OSL_NOTIFY_HANDLER, acpi_cmbat_get_bix_task, dev); break; } @@ -268,15 +269,15 @@ acpi_cmbat_get_bst(void *arg) as = AcpiEvaluateObject(h, "_BST", NULL, &bst_buffer); if (ACPI_FAILURE(as)) { ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), - "error fetching current battery status -- %s\n", - AcpiFormatException(as)); + "error fetching current battery status -- %s\n", + AcpiFormatException(as)); goto end; } res = (ACPI_OBJECT *)bst_buffer.Pointer; if (!ACPI_PKG_VALID(res, 4)) { ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), - "battery status corrupted\n"); + "battery status corrupted\n"); goto end; } @@ -306,119 +307,207 @@ acpi_cmbat_get_bst(void *arg) sc->flags &= ~ACPI_BATT_STAT_CRITICAL; end: - if (bst_buffer.Pointer != NULL) - AcpiOsFree(bst_buffer.Pointer); + AcpiOsFree(bst_buffer.Pointer); } /* XXX There should be a cleaner way to do this locking. */ static void -acpi_cmbat_get_bif_task(void *arg) +acpi_cmbat_get_bix_task(void *arg) { ACPI_SERIAL_BEGIN(cmbat); - acpi_cmbat_get_bif(arg); + acpi_cmbat_get_bix(arg); ACPI_SERIAL_END(cmbat); } static void -acpi_cmbat_get_bif(void *arg) +acpi_cmbat_get_bix(void *arg) { struct acpi_cmbat_softc *sc; ACPI_STATUS as; ACPI_OBJECT *res; ACPI_HANDLE h; - ACPI_BUFFER bif_buffer; + ACPI_BUFFER bix_buffer; device_t dev; + int i, n; + const struct { + enum { _BIX, _BIF } type; + char *name; + } bobjs[] = { + { _BIX, "_BIX"}, + { _BIF, "_BIF"}, + }; ACPI_SERIAL_ASSERT(cmbat); dev = arg; sc = device_get_softc(dev); h = acpi_get_handle(dev); - bif_buffer.Pointer = NULL; - bif_buffer.Length = ACPI_ALLOCATE_BUFFER; + bix_buffer.Pointer = NULL; + bix_buffer.Length = ACPI_ALLOCATE_BUFFER; - as = AcpiEvaluateObject(h, "_BIF", NULL, &bif_buffer); - if (ACPI_FAILURE(as)) { + for (n = 0; n < sizeof(bobjs); n++) { + as = AcpiEvaluateObject(h, bobjs[n].name, NULL, &bix_buffer); + if (!ACPI_FAILURE(as)) { + res = (ACPI_OBJECT *)bix_buffer.Pointer; + break; + } + AcpiOsFree(bix_buffer.Pointer); + bix_buffer.Pointer = NULL; + bix_buffer.Length = ACPI_ALLOCATE_BUFFER; + } + /* Both _BIF and _BIX were not found. */ + if (n == sizeof(bobjs)) { ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), - "error fetching current battery info -- %s\n", - AcpiFormatException(as)); + "error fetching current battery info -- %s\n", + AcpiFormatException(as)); goto end; } - res = (ACPI_OBJECT *)bif_buffer.Pointer; - if (!ACPI_PKG_VALID(res, 13)) { - ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), - "battery info corrupted\n"); - goto end; + /* + * ACPI _BIX and _BIF revision mismatch check: + * + * 1. _BIF has no revision field. The number of fields must be 13. + * + * 2. _BIX has a revision field. As of ACPI 6.3 it must be "0" or + * "1". The number of fields will be checked---20 and 21, + * respectively. + * + * If the revision number is grater than "1" and the number of + * fields is grater than 21, it will be treated as compatible with + * ACPI 6.0 _BIX. If not, it will be ignored. + */ + i = 0; + switch (bobjs[n].type) { + case _BIX: + if (acpi_PkgInt16(res, i++, &sc->bix.rev) != 0) { + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), + "_BIX revision error\n"); + goto end; + } +#define ACPI_BIX_REV_MISMATCH_ERR(x, r) do { \ + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), \ + "_BIX revision mismatch (%u != %u)\n", x, r); \ + goto end; \ + } while (0) + + if (ACPI_PKG_VALID_EQ(res, 21)) { /* ACPI 6.0 _BIX */ + /* + * Some models have rev.0 _BIX with 21 members. + * In that case, treat the first 20 members as rev.0 _BIX. + */ + if (sc->bix.rev != ACPI_BIX_REV_0 && + sc->bix.rev != ACPI_BIX_REV_1) + ACPI_BIX_REV_MISMATCH_ERR(sc->bix.rev, ACPI_BIX_REV_1); + } else if (ACPI_PKG_VALID_EQ(res, 20)) {/* ACPI 4.0 _BIX */ + if (sc->bix.rev != ACPI_BIX_REV_0) + ACPI_BIX_REV_MISMATCH_ERR(sc->bix.rev, ACPI_BIX_REV_0); + } else if (ACPI_PKG_VALID(res, 22)) { + /* _BIX with 22 or more members. */ + if (ACPI_BIX_REV_MIN_CHECK(sc->bix.rev, ACPI_BIX_REV_1 + 1)) { + /* + * Unknown revision number. + * Assume 21 members are compatible with 6.0 _BIX. + */ + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), + "Unknown _BIX revision(%u). " + "Assuming compatible with revision %u.\n", + sc->bix.rev, ACPI_BIX_REV_1); + } else { + /* + * Known revision number. Ignore the extra members. + */ + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), + "Extra objects found in _BIX were ignored.\n"); + } + } else { + /* Invalid _BIX. Ignore it. */ + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), + "Invalid _BIX found (rev=%u, count=%u). Ignored.\n", + sc->bix.rev, res->Package.Count); + goto end; + } + break; +#undef ACPI_BIX_REV_MISMATCH_ERR + case _BIF: + if (ACPI_PKG_VALID_EQ(res, 13)) /* _BIF */ + sc->bix.rev = ACPI_BIX_REV_BIF; + else { + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), + "Invalid _BIF found (count=%u). Ignored.\n", + res->Package.Count); + goto end; + } + break; } - if (acpi_PkgInt32(res, 0, &sc->bif.units) != 0) - goto end; - if (acpi_PkgInt32(res, 1, &sc->bif.dcap) != 0) - goto end; - if (acpi_PkgInt32(res, 2, &sc->bif.lfcap) != 0) - goto end; - if (acpi_PkgInt32(res, 3, &sc->bif.btech) != 0) - goto end; - if (acpi_PkgInt32(res, 4, &sc->bif.dvol) != 0) - goto end; - if (acpi_PkgInt32(res, 5, &sc->bif.wcap) != 0) - goto end; - if (acpi_PkgInt32(res, 6, &sc->bif.lcap) != 0) - goto end; - if (acpi_PkgInt32(res, 7, &sc->bif.gra1) != 0) - goto end; - if (acpi_PkgInt32(res, 8, &sc->bif.gra2) != 0) - goto end; - if (acpi_PkgStr(res, 9, sc->bif.model, ACPI_CMBAT_MAXSTRLEN) != 0) - goto end; - if (acpi_PkgStr(res, 10, sc->bif.serial, ACPI_CMBAT_MAXSTRLEN) != 0) - goto end; - if (acpi_PkgStr(res, 11, sc->bif.type, ACPI_CMBAT_MAXSTRLEN) != 0) - goto end; - if (acpi_PkgStr(res, 12, sc->bif.oeminfo, ACPI_CMBAT_MAXSTRLEN) != 0) - goto end; + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), + "rev = %04x\n", sc->bix.rev); +#define BIX_GETU32(NAME) do { \ + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), \ + #NAME " = %u\n", sc->bix.NAME); \ + if (acpi_PkgInt32(res, i++, &sc->bix.NAME) != 0) \ + goto end; \ + } while (0) + BIX_GETU32(units); + BIX_GETU32(dcap); + BIX_GETU32(lfcap); + BIX_GETU32(btech); + BIX_GETU32(dvol); + BIX_GETU32(wcap); + BIX_GETU32(lcap); + if (ACPI_BIX_REV_MIN_CHECK(sc->bix.rev, ACPI_BIX_REV_0)) { + BIX_GETU32(cycles); + BIX_GETU32(accuracy); + BIX_GETU32(stmax); + BIX_GETU32(stmin); + BIX_GETU32(aimax); + BIX_GETU32(aimin); + } + BIX_GETU32(gra1); + BIX_GETU32(gra2); + if (acpi_PkgStr(res, i++, sc->bix.model, ACPI_CMBAT_MAXSTRLEN) != 0) + goto end; + if (acpi_PkgStr(res, i++, sc->bix.serial, ACPI_CMBAT_MAXSTRLEN) != 0) + goto end; + if (acpi_PkgStr(res, i++, sc->bix.type, ACPI_CMBAT_MAXSTRLEN) != 0) + goto end; + if (acpi_PkgStr(res, i++, sc->bix.oeminfo, ACPI_CMBAT_MAXSTRLEN) != 0) + goto end; + if (ACPI_BIX_REV_MIN_CHECK(sc->bix.rev, ACPI_BIX_REV_1)) + BIX_GETU32(scap); +#undef BIX_GETU32 end: - if (bif_buffer.Pointer != NULL) - AcpiOsFree(bif_buffer.Pointer); + AcpiOsFree(bix_buffer.Pointer); } static int -acpi_cmbat_bif(device_t dev, struct acpi_bif *bifp) +acpi_cmbat_bix(device_t dev, void *bix, size_t len) { struct acpi_cmbat_softc *sc; + if (len != sizeof(struct acpi_bix) && + len != sizeof(struct acpi_bif)) + return (-1); + sc = device_get_softc(dev); /* * Just copy the data. The only value that should change is the * last-full capacity, so we only update when we get a notify that says * the info has changed. Many systems apparently take a long time to - * process a _BIF call so we avoid it if possible. + * process a _BI[FX] call so we avoid it if possible. */ ACPI_SERIAL_BEGIN(cmbat); - bifp->units = sc->bif.units; - bifp->dcap = sc->bif.dcap; - bifp->lfcap = sc->bif.lfcap; - bifp->btech = sc->bif.btech; - bifp->dvol = sc->bif.dvol; - bifp->wcap = sc->bif.wcap; - bifp->lcap = sc->bif.lcap; - bifp->gra1 = sc->bif.gra1; - bifp->gra2 = sc->bif.gra2; - strncpy(bifp->model, sc->bif.model, sizeof(sc->bif.model)); - strncpy(bifp->serial, sc->bif.serial, sizeof(sc->bif.serial)); - strncpy(bifp->type, sc->bif.type, sizeof(sc->bif.type)); - strncpy(bifp->oeminfo, sc->bif.oeminfo, sizeof(sc->bif.oeminfo)); + memcpy(bix, &sc->bix, len); ACPI_SERIAL_END(cmbat); return (0); } static int -acpi_cmbat_bst(device_t dev, struct acpi_bst *bstp) +acpi_cmbat_bst(device_t dev, struct acpi_bst *bst) { struct acpi_cmbat_softc *sc; @@ -427,12 +516,9 @@ acpi_cmbat_bst(device_t dev, struct acpi_bst *bstp) ACPI_SERIAL_BEGIN(cmbat); if (acpi_BatteryIsPresent(dev)) { acpi_cmbat_get_bst(dev); - bstp->state = sc->bst.state; - bstp->rate = sc->bst.rate; - bstp->cap = sc->bst.cap; - bstp->volt = sc->bst.volt; + memcpy(bst, &sc->bst, sizeof(*bst)); } else - bstp->state = ACPI_BATT_STAT_NOT_PRESENT; + bst->state = ACPI_BATT_STAT_NOT_PRESENT; ACPI_SERIAL_END(cmbat); return (0); @@ -447,7 +533,7 @@ acpi_cmbat_init_battery(void *arg) dev = (device_t)arg; ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), - "battery initialization start\n"); + "battery enitialization start\n"); /* * Try repeatedly to get valid data from the battery. Since the @@ -486,11 +572,11 @@ acpi_cmbat_init_battery(void *arg) timespecclear(&sc->bst_lastupdated); acpi_cmbat_get_bst(dev); } - if (retry == 0 || !acpi_battery_bif_valid(&sc->bif)) - acpi_cmbat_get_bif(dev); + if (retry == 0 || !acpi_battery_bix_valid(&sc->bix)) + acpi_cmbat_get_bix(dev); valid = acpi_battery_bst_valid(&sc->bst) && - acpi_battery_bif_valid(&sc->bif); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Wed Mar 18 18:02:35 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 24125267FD5; Wed, 18 Mar 2020 18:02:35 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jHtz0rh2z4SY8; Wed, 18 Mar 2020 18:02:35 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1830325D38; Wed, 18 Mar 2020 18:02:35 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02II2ZpJ002538; Wed, 18 Mar 2020 18:02:35 GMT (envelope-from hrs@FreeBSD.org) Received: (from hrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02II2YDj002532; Wed, 18 Mar 2020 18:02:34 GMT (envelope-from hrs@FreeBSD.org) Message-Id: <202003181802.02II2YDj002532@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hrs set sender to hrs@FreeBSD.org using -f From: Hiroki Sato Date: Wed, 18 Mar 2020 18:02:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359076 - in stable: 11/share/man/man4 11/sys/dev/acpica 11/usr.sbin/acpi/acpiconf 12/share/man/man4 12/sys/dev/acpica 12/usr.sbin/acpi/acpiconf X-SVN-Group: stable-12 X-SVN-Commit-Author: hrs X-SVN-Commit-Paths: in stable: 11/share/man/man4 11/sys/dev/acpica 11/usr.sbin/acpi/acpiconf 12/share/man/man4 12/sys/dev/acpica 12/usr.sbin/acpi/acpiconf X-SVN-Commit-Revision: 359076 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 18:02:35 -0000 Author: hrs Date: Wed Mar 18 18:02:33 2020 New Revision: 359076 URL: https://svnweb.freebsd.org/changeset/base/359076 Log: MFC of r355574, r358095, and r358395: Add ACPI battery subsystem man page. Add _BIX (Battery Information Extended) object support. ACPI Control Method Batteries have a _BIF and/or _BIX object which provide static properties of the battery. FreeBSD acpi_cmbat module supported _BIF object only, which was deprecated as of ACPI 4.0. _BIX is an extended version of _BIF defined in ACPI 4.0 or later. As of writing, _BIX has two revisions. One is in ACPI 4.0 (rev.0) and another is in ACPI 6.0 (rev.1). It seems that hardware vendors still stick to _BIF only or _BIX rev.0 + _BIF for the maximum compatibility. Microsoft requires _BIX rev.0 for Windows machines, so there are some laptop machines with _BIX rev.0 only. In this case, FreeBSD does not recognize the battery information. After this change, the acpi_cmbat module gets battery information from _BIX or _BIF object and internally uses _BIX rev.1 data structure as the primary information store in the kernel. ACPIIO_BATT_GET_BI[FX] returns an acpi_bi[fx] structure built by using information obtained from a _BIF or a _BIX object found on the system. The revision number field can be used to check which field is available. The acpiconf(8) utility will show additional information if _BIX is available. Although ABIs of ACPIIO_BATT_* were changed, the existing APIs for userland utilities are not changed and the backward-compatible ABIs are provided. This means that older versions of acpiconf(8) can also work with the new kernel. The (union acpi_battery_ioctl_arg) was padded to 256 byte long to avoid another ABI change in the future. A _BIX object with its revision number >1 will be treated as compatible with the rev.1 _BIX format. Add workaround for models which do not follow the ACPI specification strictly. Extra objects are now simply ignored instead of rejecting everything. Differential Revision: https://reviews.freebsd.org/D22556 Differential Revision: https://reviews.freebsd.org/D23728 Added: stable/12/share/man/man4/acpi_battery.4 - copied, changed from r355574, head/share/man/man4/acpi_battery.4 Modified: stable/12/share/man/man4/Makefile stable/12/sys/dev/acpica/acpi_battery.c stable/12/sys/dev/acpica/acpi_cmbat.c stable/12/sys/dev/acpica/acpi_if.m stable/12/sys/dev/acpica/acpi_package.c stable/12/sys/dev/acpica/acpi_smbat.c stable/12/sys/dev/acpica/acpiio.h stable/12/sys/dev/acpica/acpivar.h stable/12/usr.sbin/acpi/acpiconf/acpiconf.c Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Added: stable/11/share/man/man4/acpi_battery.4 - copied, changed from r355574, head/share/man/man4/acpi_battery.4 Modified: stable/11/share/man/man4/Makefile stable/11/sys/dev/acpica/acpi_battery.c stable/11/sys/dev/acpica/acpi_cmbat.c stable/11/sys/dev/acpica/acpi_if.m stable/11/sys/dev/acpica/acpi_package.c stable/11/sys/dev/acpica/acpi_smbat.c stable/11/sys/dev/acpica/acpiio.h stable/11/sys/dev/acpica/acpivar.h stable/11/usr.sbin/acpi/acpiconf/acpiconf.c Directory Properties: stable/11/ (props changed) Modified: stable/12/share/man/man4/Makefile ============================================================================== --- stable/12/share/man/man4/Makefile Wed Mar 18 17:42:18 2020 (r359075) +++ stable/12/share/man/man4/Makefile Wed Mar 18 18:02:33 2020 (r359076) @@ -18,6 +18,7 @@ MAN= aac.4 \ ${_acpi_rapidstart.4} \ ${_acpi_sony.4} \ acpi_thermal.4 \ + acpi_battery.4 \ ${_acpi_toshiba.4} \ acpi_video.4 \ ${_acpi_wmi.4} \ Copied and modified: stable/12/share/man/man4/acpi_battery.4 (from r355574, head/share/man/man4/acpi_battery.4) ============================================================================== --- head/share/man/man4/acpi_battery.4 Tue Dec 10 02:19:07 2019 (r355574, copy source) +++ stable/12/share/man/man4/acpi_battery.4 Wed Mar 18 18:02:33 2020 (r359076) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 26, 2019 +.Dd February 16, 2020 .Dt ACPI_BATTERY 4 .Os .Sh NAME @@ -37,6 +37,7 @@ The .Nm is a driver for battery management features of the ACPI module. +.Pp An ACPI-compatible battery device supports either a Control Method Battery interface or a Smart Battery subsystem interface. The former is accessed by the AML @@ -45,7 +46,8 @@ code control methods, and the latter is controlled directly through the ACPI EC .Pq Embedded Controller typically via an SMBus interface. -This driver supports the +.Pp +This driver supports the .Xr sysctl 8 and .Xr ioctl 2 @@ -59,60 +61,86 @@ driver takes a single integer value for the battery un number as an argument, and returns a specific structure for each request. A special unit number -.Li ACPI_BATTERY_ALL_UNITS +.Dv ACPI_BATTERY_ALL_UNITS specifies all of the attached units and reports accumulated information. .Bl -tag -width indent -.It ACPIIO_BATT_GET_UNITS Vt int +.It Dv ACPIIO_BATT_GET_UNITS Vt int Returns the number of battery units in the system. The unit number argument will be ignored. -.It ACPIIO_BATT_GET_BATTINFO Vt struct acpi_battinfo +.It Dv ACPIIO_BATT_GET_BATTINFO Vt struct acpi_battinfo Returns the following: .Bl -tag -width indent -.It cap +.It Va cap Battery capacity in percent, -.It min +.It Va min Remaining battery life in minutes, -.It state +.It Va state Current status of the battery encoded in the following: .Bl -tag -width indent -.It ACPI_BATT_STAT_DISCHARG Pq 0x0001 +.It Dv ACPI_BATT_STAT_DISCHARG Pq 0x0001 Battery is discharging, -.It ACPI_BATT_STAT_CHARGING Pq 0x0002 +.It Dv ACPI_BATT_STAT_CHARGING Pq 0x0002 Battery is being charged, or -.It ACPI_BATT_STAT_CRITICAL Pq 0x0004 +.It Dv ACPI_BATT_STAT_CRITICAL Pq 0x0004 Remaining battery life is critically low. .El .Pp Note that the status bits of each battery will be consolidated when -.Li ACPI_BATTERY_ALL_UNITS +.Dv ACPI_BATTERY_ALL_UNITS is specified. -.It rate +.It Va rate Current battery discharging rate in mW. .Li -1 means not discharging right now. .El -.It ACPIIO_BATT_GET_BIF Vt struct acpi_bif +.It Dv ACPIIO_BATT_GET_BIX Vt struct acpi_bix Returns battery information given by the ACPI -.Li _BIF Pq Battery Information +.Li _BIX Pq Battery Information object, which is the static portion of the Control Method Battery information. -In the case of a Smart Battery attached to SMBus, +In the case of a Smart Battery attached to +SMBus or a Control Method Battery with a +.Li _BIF +object, this ioctl will build a -.Vt struct acpi_bif +.Vt struct acpi_bix structure based on the obtained information and return it. .Bl -tag -width indent -.It units +.It Va rev +Revision number of the object. +There are the following well-known values: +.Bl -tag -width indent +.It Dv ACPI_BIX_REV_0 Pq 0x0000 +A +.Li _BIX +object in ACPI 4.0. +.It Dv ACPI_BIX_REV_1 Pq 0x0001 +A +.Li _BIX +object in ACPI 6.0. +.It Dv ACPI_BIX_REV_BIF Pq 0xffff +A +.Li _BIX +object built from the +.Li _BIF +object found on the system. +.El +.Pp +Note that this field should be checked by using +.Fn ACPI_BIX_REV_MIN_CHECK var rev +macro when checking the minimum revision number. +.It Va units Indicates the units used by the battery to report its capacity and charge rate encoded in the following: .Bl -tag -width indent -.It ACPI_BIF_UNITS_MW Pq 0x00000000 +.It ACPI_BIX_UNITS_MW Pq 0x00000000 in mW .Pq power -.It ACPI_BIF_UNITS_MA Pq 0x00000001 +.It ACPI_BIX_UNITS_MA Pq 0x00000001 in mA .Pq current .El @@ -120,31 +148,69 @@ in mA Note that capacity is expressed in mWh or mAh, and rate is expressed in mW or mA, respectively. -.It dcap +.It Va dcap The Battery's design capacity, which is the nominal capacity of a new battery. This is expressed as power or current depending on the value of .Va units . -.It lfcap +.It Va lfcap Predicted battery capacity when fully charged. Typically this will decrease every charging cycle. .It btech Battery technology: .Bl -tag -width indent .It 0x00000000 Primary cell Pq non-rechargable -.It 0x00000001 Secondery cell Pq rechargable +.It 0x00000001 Secondary cell Pq rechargable .El -.It dvol +.It Va dvol Design voltage in mV, which is the nominal voltage of a new battery. -.It wcap +.It Va wcap Design capacity of warning. When a discharging battery device reaches this capacity, notification is sent to the system. -.It lcap +.It Va lcap Design capacity of low. -.It gra1 +.It Va cycles +.Pq rev 0 or newer +The number of cycles the battery has experienced. +A cycle means an amount of discharge occurred which was +approximately equal to the value of Design Capacity. +.It Va accuracy +.Pq rev 0 or newer +The accuracy of the battery capacity measurement, +in thousandth of a percent. +.It Va stmax +.Pq rev 0 or newer +The Maximum Sampling Time of the battery in +milliseconds. +This is the maximum duration between two consecutive +measurements of the battery's capacities specified in +.Li _BST . +If two succeeding readings of +.Li _BST +beyond this duration occur, +two different results can be returned. +.It Va stmin +.Pq rev 0 or newer +The Minimum Sampling Time of the battery in +milliseconds. +.It Va aimax +.Pq rev 0 or newer +The Maximum Average Interval of the battery in +milliseconds. +This is the length of time within which the battery +averages the capacity measurements specified in +.Li _BST . +The Sampling Time specifies the frequency of measurements, +and the Average Interval specifies the width of the time +window of every measurement. +.It Va aimin +.Pq rev 0 or newer +The Minimum Average Interval of the battery in +milliseconds. +.It Va gra1 Battery capacity granularity between .Va low and @@ -152,7 +218,7 @@ and This is expressed as power or current depending on the value of .Va units . -.It gra2 +.It Va gra2 Battery capacity granularity between .Va warning and @@ -160,15 +226,41 @@ and This is expressed as power or current depending on the value of .Va units . -.It model +.It Va model Model number of the battery as a string. -.It serial +.It Va serial Serial number of the battery as a string. -.It type +.It Va type Type identifier of the battery as a string. -.It oeminfo +.It Va oeminfo OEM-specific information of the battery as a string. +.It Va scap +.Pq rev 1 or newer +Battery swapping capability encoded in the following: +.Bl -tag -width indent +.It ACPI_BIX_SCAP_NO Pq 0x00000000 +Non-swappable +.It ACPI_BIX_SCAP_COLD Pq 0x00000001 +Cold-swappable +.It ACPI_BIX_SCAP_HOT Pq 0x00000010 +Hot-swappable .El +.El +.It Dv ACPIIO_BATT_GET_BIF Vt struct acpi_bif +.Pq deprecated +Returns battery information given by the ACPI +.Li _BIF Pq Battery Information +object, +which was deprecated in ACPI 4.0 specification. +The data structure is a subset of +.Vt struct acpi_bix . +.Pp +Note that this ioctl will built a +.Vt struct acpi_bif +structure based on the obtained information +even if this object is not available and a +.Li _BIX +object is found. .It ACPIIO_BATT_GET_BST Vt struct acpi_bst Returns battery information given by the ACPI .Li _BST Pq Battery Status @@ -180,25 +272,25 @@ this ioctl will build a structure based on the obtained information and return it. .Bl -tag -width indent -.It state +.It Va state Battery state. The value is encoded in the same way as .Va state of .Vt struct acpi_battinfo . -.It rate +.It Va rate Battery present rate of charging or discharging. The unit of the value depends on .Va unit of .Vt struct acpi_bif . -.It cap +.It Va cap Battery remaining capacity. The unit of this value depends on .Va unit of .Vt struct acpi_bif . -.It volt +.It Va volt Battery present voltage. .El .El @@ -212,6 +304,8 @@ connected batteries: .It Va hw.acpi.battery.info_expire Information cache expiration time in seconds. The battery information obtained by +.Li _BIX +or .Li _BIF object will be stored and reused for successive read access to this MIB within the specified period. @@ -276,8 +370,11 @@ Battery information was changed. .An Munehiro Matsuda , .An Takanori Watanabe Aq Mt takawata@FreeBSD.org , .An Mitsuru IWASAKI Aq Mt iwasaki@FreeBSD.org , +.An Hans Petter Selasky Aq Mt hselasky@FreeBSD.org , and -.An Hans Petter Selasky Aq Mt hselasky@FreeBSD.org . +.An Hiroki Sato Aq Mt hrs@FreeBSD.org . .Pp This manual page was written by -.An Takanori Watanabe Aq Mt takawata@FreeBSD.org . +.An Takanori Watanabe Aq Mt takawata@FreeBSD.org +and +.An Hiroki Sato Aq Mt hrs@FreeBSD.org . Modified: stable/12/sys/dev/acpica/acpi_battery.c ============================================================================== --- stable/12/sys/dev/acpica/acpi_battery.c Wed Mar 18 17:42:18 2020 (r359075) +++ stable/12/sys/dev/acpica/acpi_battery.c Wed Mar 18 18:02:33 2020 (r359076) @@ -44,7 +44,7 @@ __FBSDID("$FreeBSD$"); /* Default seconds before re-sampling the battery state. */ #define ACPI_BATTERY_INFO_EXPIRE 5 -static int acpi_batteries_initted; +static int acpi_batteries_initialized; static int acpi_battery_info_expire = ACPI_BATTERY_INFO_EXPIRE; static struct acpi_battinfo acpi_battery_battinfo; static struct sysctl_ctx_list acpi_battery_sysctl_ctx; @@ -65,11 +65,10 @@ acpi_battery_register(device_t dev) { int error; - error = 0; ACPI_SERIAL_BEGIN(battery); - if (!acpi_batteries_initted) - error = acpi_battery_init(); + error = acpi_battery_init(); ACPI_SERIAL_END(battery); + return (error); } @@ -107,11 +106,12 @@ acpi_battery_bst_valid(struct acpi_bst *bst) bst->cap != ACPI_BATT_UNKNOWN && bst->volt != ACPI_BATT_UNKNOWN); } -/* Check _BIF results for validity. */ +/* Check _BI[FX] results for validity. */ int -acpi_battery_bif_valid(struct acpi_bif *bif) +acpi_battery_bix_valid(struct acpi_bix *bix) { - return (bif->lfcap != 0); + + return (bix->lfcap != 0); } /* Get info about one or all batteries. */ @@ -123,7 +123,7 @@ acpi_battery_get_battinfo(device_t dev, struct acpi_ba devclass_t batt_dc; device_t batt_dev; struct acpi_bst *bst; - struct acpi_bif *bif; + struct acpi_bix *bix; struct acpi_battinfo *bi; /* @@ -139,11 +139,11 @@ acpi_battery_get_battinfo(device_t dev, struct acpi_ba /* * Allocate storage for all _BST data, their derived battinfo data, - * and the current battery's _BIF data. + * and the current battery's _BIX (or _BIF) data. */ bst = malloc(devcount * sizeof(*bst), M_TEMP, M_WAITOK | M_ZERO); bi = malloc(devcount * sizeof(*bi), M_TEMP, M_WAITOK | M_ZERO); - bif = malloc(sizeof(*bif), M_TEMP, M_WAITOK | M_ZERO); + bix = malloc(sizeof(*bix), M_TEMP, M_WAITOK | M_ZERO); /* * Pass 1: for each battery that is present and valid, get its status, @@ -176,12 +176,12 @@ acpi_battery_get_battinfo(device_t dev, struct acpi_ba */ if (!acpi_BatteryIsPresent(batt_dev) || ACPI_BATT_GET_STATUS(batt_dev, &bst[i]) != 0 || - ACPI_BATT_GET_INFO(batt_dev, bif) != 0) + ACPI_BATT_GET_INFO(batt_dev, bix, sizeof(*bix)) != 0) continue; /* If a battery is not installed, we sometimes get strange values. */ if (!acpi_battery_bst_valid(&bst[i]) || - !acpi_battery_bif_valid(bif)) + !acpi_battery_bix_valid(bix)) continue; /* @@ -200,18 +200,18 @@ acpi_battery_get_battinfo(device_t dev, struct acpi_ba * is 0 (due to some error reading the battery), skip this * conversion. */ - if (bif->units == ACPI_BIF_UNITS_MA && bif->dvol != 0 && dev == NULL) { - bst[i].rate = (bst[i].rate * bif->dvol) / 1000; - bst[i].cap = (bst[i].cap * bif->dvol) / 1000; - bif->lfcap = (bif->lfcap * bif->dvol) / 1000; + if (bix->units == ACPI_BIX_UNITS_MA && bix->dvol != 0 && dev == NULL) { + bst[i].rate = (bst[i].rate * bix->dvol) / 1000; + bst[i].cap = (bst[i].cap * bix->dvol) / 1000; + bix->lfcap = (bix->lfcap * bix->dvol) / 1000; } /* - * The calculation above may set bif->lfcap to zero. This was + * The calculation above may set bix->lfcap to zero. This was * seen on a laptop with a broken battery. The result of the * division was rounded to zero. */ - if (!acpi_battery_bif_valid(bif)) + if (!acpi_battery_bix_valid(bix)) continue; /* @@ -219,16 +219,16 @@ acpi_battery_get_battinfo(device_t dev, struct acpi_ba * "real-capacity" when the battery is fully charged. That breaks * the above arithmetic as it needs to be 100% maximum. */ - if (bst[i].cap > bif->lfcap) - bst[i].cap = bif->lfcap; + if (bst[i].cap > bix->lfcap) + bst[i].cap = bix->lfcap; /* Calculate percent capacity remaining. */ - bi[i].cap = (100 * bst[i].cap) / bif->lfcap; + bi[i].cap = (100 * bst[i].cap) / bix->lfcap; /* If this battery is not present, don't use its capacity. */ if (bi[i].cap != -1) { total_cap += bst[i].cap; - total_lfcap += bif->lfcap; + total_lfcap += bix->lfcap; } /* @@ -294,12 +294,9 @@ acpi_battery_get_battinfo(device_t dev, struct acpi_ba error = 0; out: - if (bi) - free(bi, M_TEMP); - if (bif) - free(bif, M_TEMP); - if (bst) - free(bst, M_TEMP); + free(bi, M_TEMP); + free(bix, M_TEMP); + free(bst, M_TEMP); return (error); } @@ -368,7 +365,8 @@ acpi_battery_ioctl(u_long cmd, caddr_t addr, void *arg unit = 0; dev = NULL; ioctl_arg = NULL; - if (IOCPARM_LEN(cmd) == sizeof(*ioctl_arg)) { + if (IOCPARM_LEN(cmd) == sizeof(union acpi_battery_ioctl_arg) || + IOCPARM_LEN(cmd) == sizeof(union acpi_battery_ioctl_arg_v1)) { ioctl_arg = (union acpi_battery_ioctl_arg *)addr; unit = ioctl_arg->unit; if (unit != ACPI_BATTERY_ALL_UNITS) @@ -379,12 +377,14 @@ acpi_battery_ioctl(u_long cmd, caddr_t addr, void *arg * No security check required: information retrieval only. If * new functions are added here, a check might be required. */ + /* Unit check */ switch (cmd) { case ACPIIO_BATT_GET_UNITS: *(int *)addr = acpi_battery_get_units(); error = 0; break; case ACPIIO_BATT_GET_BATTINFO: + case ACPIIO_BATT_GET_BATTINFO_V1: if (dev != NULL || unit == ACPI_BATTERY_ALL_UNITS) { bzero(&ioctl_arg->battinfo, sizeof(ioctl_arg->battinfo)); error = acpi_battery_get_battinfo(dev, &ioctl_arg->battinfo); @@ -393,24 +393,19 @@ acpi_battery_ioctl(u_long cmd, caddr_t addr, void *arg case ACPIIO_BATT_GET_BIF: if (dev != NULL) { bzero(&ioctl_arg->bif, sizeof(ioctl_arg->bif)); - error = ACPI_BATT_GET_INFO(dev, &ioctl_arg->bif); - - /* - * Remove invalid characters. Perhaps this should be done - * within a convenience function so all callers get the - * benefit. - */ - acpi_battery_clean_str(ioctl_arg->bif.model, - sizeof(ioctl_arg->bif.model)); - acpi_battery_clean_str(ioctl_arg->bif.serial, - sizeof(ioctl_arg->bif.serial)); - acpi_battery_clean_str(ioctl_arg->bif.type, - sizeof(ioctl_arg->bif.type)); - acpi_battery_clean_str(ioctl_arg->bif.oeminfo, - sizeof(ioctl_arg->bif.oeminfo)); + error = ACPI_BATT_GET_INFO(dev, &ioctl_arg->bif, + sizeof(ioctl_arg->bif)); } break; + case ACPIIO_BATT_GET_BIX: + if (dev != NULL) { + bzero(&ioctl_arg->bix, sizeof(ioctl_arg->bix)); + error = ACPI_BATT_GET_INFO(dev, &ioctl_arg->bix, + sizeof(ioctl_arg->bix)); + } + break; case ACPIIO_BATT_GET_BST: + case ACPIIO_BATT_GET_BST_V1: if (dev != NULL) { bzero(&ioctl_arg->bst, sizeof(ioctl_arg->bst)); error = ACPI_BATT_GET_STATUS(dev, &ioctl_arg->bst); @@ -420,6 +415,25 @@ acpi_battery_ioctl(u_long cmd, caddr_t addr, void *arg error = EINVAL; } + /* Sanitize the string members. */ + switch (cmd) { + case ACPIIO_BATT_GET_BIX: + case ACPIIO_BATT_GET_BIF: + /* + * Remove invalid characters. Perhaps this should be done + * within a convenience function so all callers get the + * benefit. + */ + acpi_battery_clean_str(ioctl_arg->bix.model, + sizeof(ioctl_arg->bix.model)); + acpi_battery_clean_str(ioctl_arg->bix.serial, + sizeof(ioctl_arg->bix.serial)); + acpi_battery_clean_str(ioctl_arg->bix.type, + sizeof(ioctl_arg->bix.type)); + acpi_battery_clean_str(ioctl_arg->bix.oeminfo, + sizeof(ioctl_arg->bix.oeminfo)); + }; + return (error); } @@ -453,27 +467,30 @@ acpi_battery_init(void) ACPI_SERIAL_ASSERT(battery); + if (acpi_batteries_initialized) + return(0); + error = ENXIO; dev = devclass_get_device(devclass_find("acpi"), 0); if (dev == NULL) goto out; sc = device_get_softc(dev); - error = acpi_register_ioctl(ACPIIO_BATT_GET_UNITS, acpi_battery_ioctl, - NULL); - if (error != 0) - goto out; - error = acpi_register_ioctl(ACPIIO_BATT_GET_BATTINFO, acpi_battery_ioctl, - NULL); - if (error != 0) - goto out; - error = acpi_register_ioctl(ACPIIO_BATT_GET_BIF, acpi_battery_ioctl, NULL); - if (error != 0) - goto out; - error = acpi_register_ioctl(ACPIIO_BATT_GET_BST, acpi_battery_ioctl, NULL); - if (error != 0) - goto out; +#define ACPI_REGISTER_IOCTL(a, b, c) do { \ + error = acpi_register_ioctl(a, b, c); \ + if (error) \ + goto out; \ + } while (0) + ACPI_REGISTER_IOCTL(ACPIIO_BATT_GET_UNITS, acpi_battery_ioctl, NULL); + ACPI_REGISTER_IOCTL(ACPIIO_BATT_GET_BATTINFO, acpi_battery_ioctl, NULL); + ACPI_REGISTER_IOCTL(ACPIIO_BATT_GET_BATTINFO_V1, acpi_battery_ioctl, NULL); + ACPI_REGISTER_IOCTL(ACPIIO_BATT_GET_BIF, acpi_battery_ioctl, NULL); + ACPI_REGISTER_IOCTL(ACPIIO_BATT_GET_BIX, acpi_battery_ioctl, NULL); + ACPI_REGISTER_IOCTL(ACPIIO_BATT_GET_BST, acpi_battery_ioctl, NULL); + ACPI_REGISTER_IOCTL(ACPIIO_BATT_GET_BST_V1, acpi_battery_ioctl, NULL); +#undef ACPI_REGISTER_IOCTL + sysctl_ctx_init(&acpi_battery_sysctl_ctx); acpi_battery_sysctl_tree = SYSCTL_ADD_NODE(&acpi_battery_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree), OID_AUTO, "battery", CTLFLAG_RD, @@ -508,14 +525,17 @@ acpi_battery_init(void) &acpi_battery_info_expire, 0, "time in seconds until info is refreshed"); - acpi_batteries_initted = TRUE; + acpi_batteries_initialized = TRUE; out: - if (error != 0) { + if (error) { acpi_deregister_ioctl(ACPIIO_BATT_GET_UNITS, acpi_battery_ioctl); acpi_deregister_ioctl(ACPIIO_BATT_GET_BATTINFO, acpi_battery_ioctl); + acpi_deregister_ioctl(ACPIIO_BATT_GET_BATTINFO_V1, acpi_battery_ioctl); acpi_deregister_ioctl(ACPIIO_BATT_GET_BIF, acpi_battery_ioctl); + acpi_deregister_ioctl(ACPIIO_BATT_GET_BIX, acpi_battery_ioctl); acpi_deregister_ioctl(ACPIIO_BATT_GET_BST, acpi_battery_ioctl); + acpi_deregister_ioctl(ACPIIO_BATT_GET_BST_V1, acpi_battery_ioctl); } return (error); } Modified: stable/12/sys/dev/acpica/acpi_cmbat.c ============================================================================== --- stable/12/sys/dev/acpica/acpi_cmbat.c Wed Mar 18 17:42:18 2020 (r359075) +++ stable/12/sys/dev/acpica/acpi_cmbat.c Wed Mar 18 18:02:33 2020 (r359076) @@ -61,12 +61,13 @@ ACPI_MODULE_NAME("BATTERY") #define ACPI_BATTERY_BST_CHANGE 0x80 #define ACPI_BATTERY_BIF_CHANGE 0x81 +#define ACPI_BATTERY_BIX_CHANGE ACPI_BATTERY_BIF_CHANGE struct acpi_cmbat_softc { device_t dev; int flags; - struct acpi_bif bif; + struct acpi_bix bix; struct acpi_bst bst; struct timespec bst_lastupdated; }; @@ -82,10 +83,10 @@ static void acpi_cmbat_notify_handler(ACPI_HANDLE h, static int acpi_cmbat_info_expired(struct timespec *lastupdated); static void acpi_cmbat_info_updated(struct timespec *lastupdated); static void acpi_cmbat_get_bst(void *arg); -static void acpi_cmbat_get_bif_task(void *arg); -static void acpi_cmbat_get_bif(void *arg); -static int acpi_cmbat_bst(device_t dev, struct acpi_bst *bstp); -static int acpi_cmbat_bif(device_t dev, struct acpi_bif *bifp); +static void acpi_cmbat_get_bix_task(void *arg); +static void acpi_cmbat_get_bix(void *arg); +static int acpi_cmbat_bst(device_t, struct acpi_bst *); +static int acpi_cmbat_bix(device_t, void *, size_t); static void acpi_cmbat_init_battery(void *arg); static device_method_t acpi_cmbat_methods[] = { @@ -96,7 +97,7 @@ static device_method_t acpi_cmbat_methods[] = { DEVMETHOD(device_resume, acpi_cmbat_resume), /* ACPI battery interface */ - DEVMETHOD(acpi_batt_get_info, acpi_cmbat_bif), + DEVMETHOD(acpi_batt_get_info, acpi_cmbat_bix), DEVMETHOD(acpi_batt_get_status, acpi_cmbat_bst), DEVMETHOD_END @@ -204,12 +205,12 @@ acpi_cmbat_notify_handler(ACPI_HANDLE h, UINT32 notify timespecclear(&sc->bst_lastupdated); break; case ACPI_NOTIFY_BUS_CHECK: - case ACPI_BATTERY_BIF_CHANGE: + case ACPI_BATTERY_BIX_CHANGE: /* * Queue a callback to get the current battery info from thread * context. It's not safe to block in a notify handler. */ - AcpiOsExecute(OSL_NOTIFY_HANDLER, acpi_cmbat_get_bif_task, dev); + AcpiOsExecute(OSL_NOTIFY_HANDLER, acpi_cmbat_get_bix_task, dev); break; } @@ -268,15 +269,15 @@ acpi_cmbat_get_bst(void *arg) as = AcpiEvaluateObject(h, "_BST", NULL, &bst_buffer); if (ACPI_FAILURE(as)) { ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), - "error fetching current battery status -- %s\n", - AcpiFormatException(as)); + "error fetching current battery status -- %s\n", + AcpiFormatException(as)); goto end; } res = (ACPI_OBJECT *)bst_buffer.Pointer; if (!ACPI_PKG_VALID(res, 4)) { ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), - "battery status corrupted\n"); + "battery status corrupted\n"); goto end; } @@ -306,119 +307,207 @@ acpi_cmbat_get_bst(void *arg) sc->flags &= ~ACPI_BATT_STAT_CRITICAL; end: - if (bst_buffer.Pointer != NULL) - AcpiOsFree(bst_buffer.Pointer); + AcpiOsFree(bst_buffer.Pointer); } /* XXX There should be a cleaner way to do this locking. */ static void -acpi_cmbat_get_bif_task(void *arg) +acpi_cmbat_get_bix_task(void *arg) { ACPI_SERIAL_BEGIN(cmbat); - acpi_cmbat_get_bif(arg); + acpi_cmbat_get_bix(arg); ACPI_SERIAL_END(cmbat); } static void -acpi_cmbat_get_bif(void *arg) +acpi_cmbat_get_bix(void *arg) { struct acpi_cmbat_softc *sc; ACPI_STATUS as; ACPI_OBJECT *res; ACPI_HANDLE h; - ACPI_BUFFER bif_buffer; + ACPI_BUFFER bix_buffer; device_t dev; + int i, n; + const struct { + enum { _BIX, _BIF } type; + char *name; + } bobjs[] = { + { _BIX, "_BIX"}, + { _BIF, "_BIF"}, + }; ACPI_SERIAL_ASSERT(cmbat); dev = arg; sc = device_get_softc(dev); h = acpi_get_handle(dev); - bif_buffer.Pointer = NULL; - bif_buffer.Length = ACPI_ALLOCATE_BUFFER; + bix_buffer.Pointer = NULL; + bix_buffer.Length = ACPI_ALLOCATE_BUFFER; - as = AcpiEvaluateObject(h, "_BIF", NULL, &bif_buffer); - if (ACPI_FAILURE(as)) { + for (n = 0; n < sizeof(bobjs); n++) { + as = AcpiEvaluateObject(h, bobjs[n].name, NULL, &bix_buffer); + if (!ACPI_FAILURE(as)) { + res = (ACPI_OBJECT *)bix_buffer.Pointer; + break; + } + AcpiOsFree(bix_buffer.Pointer); + bix_buffer.Pointer = NULL; + bix_buffer.Length = ACPI_ALLOCATE_BUFFER; + } + /* Both _BIF and _BIX were not found. */ + if (n == sizeof(bobjs)) { ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), - "error fetching current battery info -- %s\n", - AcpiFormatException(as)); + "error fetching current battery info -- %s\n", + AcpiFormatException(as)); goto end; } - res = (ACPI_OBJECT *)bif_buffer.Pointer; - if (!ACPI_PKG_VALID(res, 13)) { - ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), - "battery info corrupted\n"); - goto end; + /* + * ACPI _BIX and _BIF revision mismatch check: + * + * 1. _BIF has no revision field. The number of fields must be 13. + * + * 2. _BIX has a revision field. As of ACPI 6.3 it must be "0" or + * "1". The number of fields will be checked---20 and 21, + * respectively. + * + * If the revision number is grater than "1" and the number of + * fields is grater than 21, it will be treated as compatible with + * ACPI 6.0 _BIX. If not, it will be ignored. + */ + i = 0; + switch (bobjs[n].type) { + case _BIX: + if (acpi_PkgInt16(res, i++, &sc->bix.rev) != 0) { + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), + "_BIX revision error\n"); + goto end; + } +#define ACPI_BIX_REV_MISMATCH_ERR(x, r) do { \ + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), \ + "_BIX revision mismatch (%u != %u)\n", x, r); \ + goto end; \ + } while (0) + + if (ACPI_PKG_VALID_EQ(res, 21)) { /* ACPI 6.0 _BIX */ + /* + * Some models have rev.0 _BIX with 21 members. + * In that case, treat the first 20 members as rev.0 _BIX. + */ + if (sc->bix.rev != ACPI_BIX_REV_0 && + sc->bix.rev != ACPI_BIX_REV_1) + ACPI_BIX_REV_MISMATCH_ERR(sc->bix.rev, ACPI_BIX_REV_1); + } else if (ACPI_PKG_VALID_EQ(res, 20)) {/* ACPI 4.0 _BIX */ + if (sc->bix.rev != ACPI_BIX_REV_0) + ACPI_BIX_REV_MISMATCH_ERR(sc->bix.rev, ACPI_BIX_REV_0); + } else if (ACPI_PKG_VALID(res, 22)) { + /* _BIX with 22 or more members. */ + if (ACPI_BIX_REV_MIN_CHECK(sc->bix.rev, ACPI_BIX_REV_1 + 1)) { + /* + * Unknown revision number. + * Assume 21 members are compatible with 6.0 _BIX. + */ + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), + "Unknown _BIX revision(%u). " + "Assuming compatible with revision %u.\n", + sc->bix.rev, ACPI_BIX_REV_1); + } else { + /* + * Known revision number. Ignore the extra members. + */ + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), + "Extra objects found in _BIX were ignored.\n"); + } + } else { + /* Invalid _BIX. Ignore it. */ + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), + "Invalid _BIX found (rev=%u, count=%u). Ignored.\n", + sc->bix.rev, res->Package.Count); + goto end; + } + break; +#undef ACPI_BIX_REV_MISMATCH_ERR + case _BIF: + if (ACPI_PKG_VALID_EQ(res, 13)) /* _BIF */ + sc->bix.rev = ACPI_BIX_REV_BIF; + else { + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), + "Invalid _BIF found (count=%u). Ignored.\n", + res->Package.Count); + goto end; + } + break; } - if (acpi_PkgInt32(res, 0, &sc->bif.units) != 0) - goto end; - if (acpi_PkgInt32(res, 1, &sc->bif.dcap) != 0) - goto end; - if (acpi_PkgInt32(res, 2, &sc->bif.lfcap) != 0) - goto end; - if (acpi_PkgInt32(res, 3, &sc->bif.btech) != 0) - goto end; - if (acpi_PkgInt32(res, 4, &sc->bif.dvol) != 0) - goto end; - if (acpi_PkgInt32(res, 5, &sc->bif.wcap) != 0) - goto end; - if (acpi_PkgInt32(res, 6, &sc->bif.lcap) != 0) - goto end; - if (acpi_PkgInt32(res, 7, &sc->bif.gra1) != 0) - goto end; - if (acpi_PkgInt32(res, 8, &sc->bif.gra2) != 0) - goto end; - if (acpi_PkgStr(res, 9, sc->bif.model, ACPI_CMBAT_MAXSTRLEN) != 0) - goto end; - if (acpi_PkgStr(res, 10, sc->bif.serial, ACPI_CMBAT_MAXSTRLEN) != 0) - goto end; - if (acpi_PkgStr(res, 11, sc->bif.type, ACPI_CMBAT_MAXSTRLEN) != 0) - goto end; - if (acpi_PkgStr(res, 12, sc->bif.oeminfo, ACPI_CMBAT_MAXSTRLEN) != 0) - goto end; + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), + "rev = %04x\n", sc->bix.rev); +#define BIX_GETU32(NAME) do { \ + ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), \ + #NAME " = %u\n", sc->bix.NAME); \ + if (acpi_PkgInt32(res, i++, &sc->bix.NAME) != 0) \ + goto end; \ + } while (0) + BIX_GETU32(units); + BIX_GETU32(dcap); + BIX_GETU32(lfcap); + BIX_GETU32(btech); + BIX_GETU32(dvol); + BIX_GETU32(wcap); + BIX_GETU32(lcap); + if (ACPI_BIX_REV_MIN_CHECK(sc->bix.rev, ACPI_BIX_REV_0)) { + BIX_GETU32(cycles); + BIX_GETU32(accuracy); + BIX_GETU32(stmax); + BIX_GETU32(stmin); + BIX_GETU32(aimax); + BIX_GETU32(aimin); + } + BIX_GETU32(gra1); + BIX_GETU32(gra2); + if (acpi_PkgStr(res, i++, sc->bix.model, ACPI_CMBAT_MAXSTRLEN) != 0) + goto end; + if (acpi_PkgStr(res, i++, sc->bix.serial, ACPI_CMBAT_MAXSTRLEN) != 0) + goto end; + if (acpi_PkgStr(res, i++, sc->bix.type, ACPI_CMBAT_MAXSTRLEN) != 0) + goto end; + if (acpi_PkgStr(res, i++, sc->bix.oeminfo, ACPI_CMBAT_MAXSTRLEN) != 0) + goto end; + if (ACPI_BIX_REV_MIN_CHECK(sc->bix.rev, ACPI_BIX_REV_1)) + BIX_GETU32(scap); +#undef BIX_GETU32 end: - if (bif_buffer.Pointer != NULL) - AcpiOsFree(bif_buffer.Pointer); + AcpiOsFree(bix_buffer.Pointer); } static int -acpi_cmbat_bif(device_t dev, struct acpi_bif *bifp) +acpi_cmbat_bix(device_t dev, void *bix, size_t len) { struct acpi_cmbat_softc *sc; + if (len != sizeof(struct acpi_bix) && + len != sizeof(struct acpi_bif)) + return (-1); + sc = device_get_softc(dev); /* * Just copy the data. The only value that should change is the * last-full capacity, so we only update when we get a notify that says * the info has changed. Many systems apparently take a long time to - * process a _BIF call so we avoid it if possible. + * process a _BI[FX] call so we avoid it if possible. */ ACPI_SERIAL_BEGIN(cmbat); - bifp->units = sc->bif.units; - bifp->dcap = sc->bif.dcap; - bifp->lfcap = sc->bif.lfcap; - bifp->btech = sc->bif.btech; - bifp->dvol = sc->bif.dvol; - bifp->wcap = sc->bif.wcap; - bifp->lcap = sc->bif.lcap; - bifp->gra1 = sc->bif.gra1; - bifp->gra2 = sc->bif.gra2; - strncpy(bifp->model, sc->bif.model, sizeof(sc->bif.model)); - strncpy(bifp->serial, sc->bif.serial, sizeof(sc->bif.serial)); - strncpy(bifp->type, sc->bif.type, sizeof(sc->bif.type)); - strncpy(bifp->oeminfo, sc->bif.oeminfo, sizeof(sc->bif.oeminfo)); + memcpy(bix, &sc->bix, len); ACPI_SERIAL_END(cmbat); return (0); } static int -acpi_cmbat_bst(device_t dev, struct acpi_bst *bstp) +acpi_cmbat_bst(device_t dev, struct acpi_bst *bst) { struct acpi_cmbat_softc *sc; @@ -427,12 +516,9 @@ acpi_cmbat_bst(device_t dev, struct acpi_bst *bstp) ACPI_SERIAL_BEGIN(cmbat); if (acpi_BatteryIsPresent(dev)) { acpi_cmbat_get_bst(dev); - bstp->state = sc->bst.state; - bstp->rate = sc->bst.rate; - bstp->cap = sc->bst.cap; - bstp->volt = sc->bst.volt; + memcpy(bst, &sc->bst, sizeof(*bst)); } else - bstp->state = ACPI_BATT_STAT_NOT_PRESENT; + bst->state = ACPI_BATT_STAT_NOT_PRESENT; ACPI_SERIAL_END(cmbat); return (0); @@ -447,7 +533,7 @@ acpi_cmbat_init_battery(void *arg) dev = (device_t)arg; ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), - "battery initialization start\n"); + "battery enitialization start\n"); /* * Try repeatedly to get valid data from the battery. Since the @@ -486,11 +572,11 @@ acpi_cmbat_init_battery(void *arg) timespecclear(&sc->bst_lastupdated); acpi_cmbat_get_bst(dev); } - if (retry == 0 || !acpi_battery_bif_valid(&sc->bif)) - acpi_cmbat_get_bif(dev); + if (retry == 0 || !acpi_battery_bix_valid(&sc->bix)) + acpi_cmbat_get_bix(dev); valid = acpi_battery_bst_valid(&sc->bst) && - acpi_battery_bif_valid(&sc->bif); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Wed Mar 18 18:10:45 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B8A5326821D; Wed, 18 Mar 2020 18:10:45 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jJ4P2k2Lz4gWB; Wed, 18 Mar 2020 18:10:45 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id ECB2225E45; Wed, 18 Mar 2020 18:10:44 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IIAiRa003016; Wed, 18 Mar 2020 18:10:44 GMT (envelope-from hrs@FreeBSD.org) Received: (from hrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IIAiYi003015; Wed, 18 Mar 2020 18:10:44 GMT (envelope-from hrs@FreeBSD.org) Message-Id: <202003181810.02IIAiYi003015@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hrs set sender to hrs@FreeBSD.org using -f From: Hiroki Sato Date: Wed, 18 Mar 2020 18:10:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359077 - in stable: 11/bin/sh 12/bin/sh X-SVN-Group: stable-11 X-SVN-Commit-Author: hrs X-SVN-Commit-Paths: in stable: 11/bin/sh 12/bin/sh X-SVN-Commit-Revision: 359077 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 18:10:45 -0000 Author: hrs Date: Wed Mar 18 18:10:44 2020 New Revision: 359077 URL: https://svnweb.freebsd.org/changeset/base/359077 Log: MFC of r358152 and r328235: Improve performance of "read" built-in command when using a seekable fd. The read built-in command calls read(2) with a 1-byte buffer because newline characters need to be detected even on a byte stream which comes from a non-seekable file descriptor. Because of this, the following script calls >6,000 read(2) to show a 6-KiB file: while read IN; do echo "$IN"; done < /COPYRIGHT When the input byte stream is seekable, it is possible to read a data block and then reposition the file pointer to where a newline character found. This change adds a small buffer to do this and reduces the number of read(2) calls. Theoretically, multiple built-in commands reading the same seekable byte stream in a single pipe chain can share the buffer. However, this change just makes a single invocation of the read built-in allocate a buffer and deallocate it every time for simplicity. Although this causes read(2) to read the same regions multiple times, the performance penalty should be small compared to the reduction of read(2) calls. Reviewed by: jilles Differential Revision: https://reviews.freebsd.org/D23747 Modified: stable/11/bin/sh/miscbltin.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/12/bin/sh/miscbltin.c Directory Properties: stable/12/ (props changed) Modified: stable/11/bin/sh/miscbltin.c ============================================================================== --- stable/11/bin/sh/miscbltin.c Wed Mar 18 18:02:33 2020 (r359076) +++ stable/11/bin/sh/miscbltin.c Wed Mar 18 18:10:44 2020 (r359077) @@ -64,10 +64,79 @@ __FBSDID("$FreeBSD$"); #undef eflag +#define READ_BUFLEN 1024 +struct fdctx { + int fd; + size_t off; /* offset in buf */ + size_t buflen; + char *ep; /* tail pointer */ + char buf[READ_BUFLEN]; +}; + +static void fdctx_init(int, struct fdctx *); +static void fdctx_destroy(struct fdctx *); +static ssize_t fdgetc(struct fdctx *, char *); int readcmd(int, char **); int umaskcmd(int, char **); int ulimitcmd(int, char **); +static void +fdctx_init(int fd, struct fdctx *fdc) +{ + off_t cur; + + /* Check if fd is seekable. */ + cur = lseek(fd, 0, SEEK_CUR); + *fdc = (struct fdctx){ + .fd = fd, + .buflen = (cur != -1) ? READ_BUFLEN : 1, + .ep = &fdc->buf[0], /* No data */ + }; +} + +static ssize_t +fdgetc(struct fdctx *fdc, char *c) +{ + ssize_t nread; + + if (&fdc->buf[fdc->off] == fdc->ep) { + nread = read(fdc->fd, fdc->buf, fdc->buflen); + if (nread > 0) { + fdc->off = 0; + fdc->ep = fdc->buf + nread; + } else + return (nread); + } + *c = fdc->buf[fdc->off++]; + + return (1); +} + +static void +fdctx_destroy(struct fdctx *fdc) +{ + off_t residue; + + if (fdc->buflen > 1) { + /* + * Reposition the file offset. Here is the layout of buf: + * + * | off + * v + * |*****************|-------| + * buf ep buf+buflen + * |<- residue ->| + * + * off: current character + * ep: offset just after read(2) + * residue: length for reposition + */ + residue = (fdc->ep - fdc->buf) - fdc->off; + if (residue > 0) + (void) lseek(fdc->fd, -residue, SEEK_CUR); + } +} + /* * The read builtin. The -r option causes backslashes to be treated like * ordinary characters. @@ -106,6 +175,7 @@ readcmd(int argc __unused, char **argv __unused) fd_set ifds; ssize_t nread; int sig; + struct fdctx fdctx; rflag = 0; prompt = NULL; @@ -171,8 +241,9 @@ readcmd(int argc __unused, char **argv __unused) backslash = 0; STARTSTACKSTR(p); lastnonifs = lastnonifsws = -1; + fdctx_init(STDIN_FILENO, &fdctx); for (;;) { - nread = read(STDIN_FILENO, &c, 1); + nread = fdgetc(&fdctx, &c); if (nread == -1) { if (errno == EINTR) { sig = pendingsig; @@ -258,6 +329,7 @@ readcmd(int argc __unused, char **argv __unused) STARTSTACKSTR(p); lastnonifs = lastnonifsws = -1; } + fdctx_destroy(&fdctx); STACKSTRNUL(p); /* From owner-svn-src-all@freebsd.org Wed Mar 18 18:10:46 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 20F7B268223; Wed, 18 Mar 2020 18:10:46 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jJ4P6Rbsz4gWw; Wed, 18 Mar 2020 18:10:45 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4E4B025E69; Wed, 18 Mar 2020 18:10:45 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IIAj2K003022; Wed, 18 Mar 2020 18:10:45 GMT (envelope-from hrs@FreeBSD.org) Received: (from hrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IIAjLf003021; Wed, 18 Mar 2020 18:10:45 GMT (envelope-from hrs@FreeBSD.org) Message-Id: <202003181810.02IIAjLf003021@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hrs set sender to hrs@FreeBSD.org using -f From: Hiroki Sato Date: Wed, 18 Mar 2020 18:10:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359077 - in stable: 11/bin/sh 12/bin/sh X-SVN-Group: stable-12 X-SVN-Commit-Author: hrs X-SVN-Commit-Paths: in stable: 11/bin/sh 12/bin/sh X-SVN-Commit-Revision: 359077 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 18:10:46 -0000 Author: hrs Date: Wed Mar 18 18:10:44 2020 New Revision: 359077 URL: https://svnweb.freebsd.org/changeset/base/359077 Log: MFC of r358152 and r328235: Improve performance of "read" built-in command when using a seekable fd. The read built-in command calls read(2) with a 1-byte buffer because newline characters need to be detected even on a byte stream which comes from a non-seekable file descriptor. Because of this, the following script calls >6,000 read(2) to show a 6-KiB file: while read IN; do echo "$IN"; done < /COPYRIGHT When the input byte stream is seekable, it is possible to read a data block and then reposition the file pointer to where a newline character found. This change adds a small buffer to do this and reduces the number of read(2) calls. Theoretically, multiple built-in commands reading the same seekable byte stream in a single pipe chain can share the buffer. However, this change just makes a single invocation of the read built-in allocate a buffer and deallocate it every time for simplicity. Although this causes read(2) to read the same regions multiple times, the performance penalty should be small compared to the reduction of read(2) calls. Reviewed by: jilles Differential Revision: https://reviews.freebsd.org/D23747 Modified: stable/12/bin/sh/miscbltin.c Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Modified: stable/11/bin/sh/miscbltin.c Directory Properties: stable/11/ (props changed) Modified: stable/12/bin/sh/miscbltin.c ============================================================================== --- stable/12/bin/sh/miscbltin.c Wed Mar 18 18:02:33 2020 (r359076) +++ stable/12/bin/sh/miscbltin.c Wed Mar 18 18:10:44 2020 (r359077) @@ -66,10 +66,79 @@ __FBSDID("$FreeBSD$"); #undef eflag +#define READ_BUFLEN 1024 +struct fdctx { + int fd; + size_t off; /* offset in buf */ + size_t buflen; + char *ep; /* tail pointer */ + char buf[READ_BUFLEN]; +}; + +static void fdctx_init(int, struct fdctx *); +static void fdctx_destroy(struct fdctx *); +static ssize_t fdgetc(struct fdctx *, char *); int readcmd(int, char **); int umaskcmd(int, char **); int ulimitcmd(int, char **); +static void +fdctx_init(int fd, struct fdctx *fdc) +{ + off_t cur; + + /* Check if fd is seekable. */ + cur = lseek(fd, 0, SEEK_CUR); + *fdc = (struct fdctx){ + .fd = fd, + .buflen = (cur != -1) ? READ_BUFLEN : 1, + .ep = &fdc->buf[0], /* No data */ + }; +} + +static ssize_t +fdgetc(struct fdctx *fdc, char *c) +{ + ssize_t nread; + + if (&fdc->buf[fdc->off] == fdc->ep) { + nread = read(fdc->fd, fdc->buf, fdc->buflen); + if (nread > 0) { + fdc->off = 0; + fdc->ep = fdc->buf + nread; + } else + return (nread); + } + *c = fdc->buf[fdc->off++]; + + return (1); +} + +static void +fdctx_destroy(struct fdctx *fdc) +{ + off_t residue; + + if (fdc->buflen > 1) { + /* + * Reposition the file offset. Here is the layout of buf: + * + * | off + * v + * |*****************|-------| + * buf ep buf+buflen + * |<- residue ->| + * + * off: current character + * ep: offset just after read(2) + * residue: length for reposition + */ + residue = (fdc->ep - fdc->buf) - fdc->off; + if (residue > 0) + (void) lseek(fdc->fd, -residue, SEEK_CUR); + } +} + /* * The read builtin. The -r option causes backslashes to be treated like * ordinary characters. @@ -108,6 +177,7 @@ readcmd(int argc __unused, char **argv __unused) fd_set ifds; ssize_t nread; int sig; + struct fdctx fdctx; rflag = 0; prompt = NULL; @@ -173,8 +243,9 @@ readcmd(int argc __unused, char **argv __unused) backslash = 0; STARTSTACKSTR(p); lastnonifs = lastnonifsws = -1; + fdctx_init(STDIN_FILENO, &fdctx); for (;;) { - nread = read(STDIN_FILENO, &c, 1); + nread = fdgetc(&fdctx, &c); if (nread == -1) { if (errno == EINTR) { sig = pendingsig; @@ -260,6 +331,7 @@ readcmd(int argc __unused, char **argv __unused) STARTSTACKSTR(p); lastnonifs = lastnonifsws = -1; } + fdctx_destroy(&fdctx); STACKSTRNUL(p); /* From owner-svn-src-all@freebsd.org Wed Mar 18 18:16:01 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 54F06268517; Wed, 18 Mar 2020 18:16:01 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jJBS738nz4sZN; Wed, 18 Mar 2020 18:16:00 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C5E3B25F1F; Wed, 18 Mar 2020 18:16:00 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IIG0qF009111; Wed, 18 Mar 2020 18:16:00 GMT (envelope-from hrs@FreeBSD.org) Received: (from hrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IIG08G009109; Wed, 18 Mar 2020 18:16:00 GMT (envelope-from hrs@FreeBSD.org) Message-Id: <202003181816.02IIG08G009109@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hrs set sender to hrs@FreeBSD.org using -f From: Hiroki Sato Date: Wed, 18 Mar 2020 18:16:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359078 - stable/12/sys/dev/rtwn/pci X-SVN-Group: stable-12 X-SVN-Commit-Author: hrs X-SVN-Commit-Paths: stable/12/sys/dev/rtwn/pci X-SVN-Commit-Revision: 359078 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 18:16:01 -0000 Author: hrs Date: Wed Mar 18 18:16:00 2020 New Revision: 359078 URL: https://svnweb.freebsd.org/changeset/base/359078 Log: MFC of r358402: Add MODULE_PNP_INFO() to autoload the rtwn_pci(4) kernel module. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D23807 Modified: stable/12/sys/dev/rtwn/pci/rtwn_pci_attach.c stable/12/sys/dev/rtwn/pci/rtwn_pci_attach.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/rtwn/pci/rtwn_pci_attach.c ============================================================================== --- stable/12/sys/dev/rtwn/pci/rtwn_pci_attach.c Wed Mar 18 18:10:44 2020 (r359077) +++ stable/12/sys/dev/rtwn/pci/rtwn_pci_attach.c Wed Mar 18 18:16:00 2020 (r359078) @@ -96,15 +96,16 @@ static void rtwn_pci_attach_methods(struct rtwn_softc static const struct rtwn_pci_ident * rtwn_pci_probe_sub(device_t dev) { - const struct rtwn_pci_ident *ident; - int vendor_id, device_id; + int i, vendor_id, device_id; vendor_id = pci_get_vendor(dev); device_id = pci_get_device(dev); - for (ident = rtwn_pci_ident_table; ident->name != NULL; ident++) - if (vendor_id == ident->vendor && device_id == ident->device) - return (ident); + for (i = 0; i < nitems(rtwn_pci_ident_table); i++) { + if (vendor_id == rtwn_pci_ident_table[i].vendor && + device_id == rtwn_pci_ident_table[i].device) + return (&rtwn_pci_ident_table[i]); + } return (NULL); } @@ -788,6 +789,8 @@ static devclass_t rtwn_pci_devclass; DRIVER_MODULE(rtwn_pci, pci, rtwn_pci_driver, rtwn_pci_devclass, NULL, NULL); MODULE_VERSION(rtwn_pci, 1); +MODULE_PNP_INFO("U16:vendor;U16:device;D:#", pci, rtwn, rtwn_pci_ident_table, + nitems(rtwn_pci_ident_table)); MODULE_DEPEND(rtwn_pci, pci, 1, 1, 1); MODULE_DEPEND(rtwn_pci, wlan, 1, 1, 1); MODULE_DEPEND(rtwn_pci, rtwn, 2, 2, 2); Modified: stable/12/sys/dev/rtwn/pci/rtwn_pci_attach.h ============================================================================== --- stable/12/sys/dev/rtwn/pci/rtwn_pci_attach.h Wed Mar 18 18:10:44 2020 (r359077) +++ stable/12/sys/dev/rtwn/pci/rtwn_pci_attach.h Wed Mar 18 18:16:00 2020 (r359078) @@ -35,7 +35,6 @@ struct rtwn_pci_ident { static const struct rtwn_pci_ident rtwn_pci_ident_table[] = { { 0x10ec, 0x8176, "Realtek RTL8188CE", RTWN_CHIP_RTL8192CE }, { 0x10ec, 0x8179, "Realtek RTL8188EE", RTWN_CHIP_RTL8188EE }, - { 0, 0, NULL, RTWN_CHIP_MAX_PCI } }; typedef void (*chip_pci_attach)(struct rtwn_pci_softc *); From owner-svn-src-all@freebsd.org Wed Mar 18 18:20:11 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 313CC268723; Wed, 18 Mar 2020 18:20:11 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jJHH01jLz3JLZ; Wed, 18 Mar 2020 18:20:11 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 957CC25F2C; Wed, 18 Mar 2020 18:20:10 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IIKAvx009420; Wed, 18 Mar 2020 18:20:10 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IIK6xn009401; Wed, 18 Mar 2020 18:20:06 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202003181820.02IIK6xn009401@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 18 Mar 2020 18:20:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r359079 - in vendor/llvm-project/release-10.x: clang/include/clang/AST clang/include/clang/Sema clang/lib/AST clang/lib/Lex clang/lib/Sema clang/lib/Serialization clang/tools/driver llv... X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in vendor/llvm-project/release-10.x: clang/include/clang/AST clang/include/clang/Sema clang/lib/AST clang/lib/Lex clang/lib/Sema clang/lib/Serialization clang/tools/driver llvm/include/llvm/Support ll... X-SVN-Commit-Revision: 359079 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 18:20:11 -0000 Author: dim Date: Wed Mar 18 18:20:05 2020 New Revision: 359079 URL: https://svnweb.freebsd.org/changeset/base/359079 Log: Vendor import of llvm-project branch release/10.x llvmorg-10.0.0-rc4-5-g52c365aa9ca. Modified: vendor/llvm-project/release-10.x/clang/include/clang/AST/Expr.h vendor/llvm-project/release-10.x/clang/include/clang/AST/Stmt.h vendor/llvm-project/release-10.x/clang/include/clang/Sema/Sema.h vendor/llvm-project/release-10.x/clang/include/clang/Sema/Template.h vendor/llvm-project/release-10.x/clang/lib/AST/ASTImporter.cpp vendor/llvm-project/release-10.x/clang/lib/Lex/Pragma.cpp vendor/llvm-project/release-10.x/clang/lib/Sema/SemaExpr.cpp vendor/llvm-project/release-10.x/clang/lib/Sema/SemaExprCXX.cpp vendor/llvm-project/release-10.x/clang/lib/Sema/SemaTemplate.cpp vendor/llvm-project/release-10.x/clang/lib/Sema/SemaTemplateInstantiate.cpp vendor/llvm-project/release-10.x/clang/lib/Sema/TreeTransform.h vendor/llvm-project/release-10.x/clang/lib/Serialization/ASTReaderDecl.cpp vendor/llvm-project/release-10.x/clang/lib/Serialization/ASTReaderStmt.cpp vendor/llvm-project/release-10.x/clang/lib/Serialization/ASTWriterStmt.cpp vendor/llvm-project/release-10.x/clang/tools/driver/driver.cpp vendor/llvm-project/release-10.x/llvm/include/llvm/Support/ManagedStatic.h vendor/llvm-project/release-10.x/llvm/include/llvm/Support/Timer.h vendor/llvm-project/release-10.x/llvm/lib/Support/Timer.cpp Modified: vendor/llvm-project/release-10.x/clang/include/clang/AST/Expr.h ============================================================================== --- vendor/llvm-project/release-10.x/clang/include/clang/AST/Expr.h Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/clang/include/clang/AST/Expr.h Wed Mar 18 18:20:05 2020 (r359079) @@ -3955,14 +3955,18 @@ class StmtExpr : public Expr { Stmt *SubStmt; SourceLocation LParenLoc, RParenLoc; public: - StmtExpr(CompoundStmt *substmt, QualType T, - SourceLocation lp, SourceLocation rp, bool InDependentContext) : - // Note: we treat a statement-expression in a dependent context as always - // being value- and instantiation-dependent. This matches the behavior of - // lambda-expressions and GCC. - Expr(StmtExprClass, T, VK_RValue, OK_Ordinary, - T->isDependentType(), InDependentContext, InDependentContext, false), - SubStmt(substmt), LParenLoc(lp), RParenLoc(rp) {} + StmtExpr(CompoundStmt *SubStmt, QualType T, SourceLocation LParenLoc, + SourceLocation RParenLoc, unsigned TemplateDepth) + : // We treat a statement-expression in a dependent context as + // always being value- and instantiation-dependent. This matches the + // behavior of lambda-expressions and GCC. + Expr(StmtExprClass, T, VK_RValue, OK_Ordinary, T->isDependentType(), + TemplateDepth != 0, TemplateDepth != 0, false), + SubStmt(SubStmt), LParenLoc(LParenLoc), RParenLoc(RParenLoc) { + // FIXME: A templated statement expression should have an associated + // DeclContext so that nested declarations always have a dependent context. + StmtExprBits.TemplateDepth = TemplateDepth; + } /// Build an empty statement expression. explicit StmtExpr(EmptyShell Empty) : Expr(StmtExprClass, Empty) { } @@ -3978,6 +3982,8 @@ class StmtExpr : public Expr { void setLParenLoc(SourceLocation L) { LParenLoc = L; } SourceLocation getRParenLoc() const { return RParenLoc; } void setRParenLoc(SourceLocation L) { RParenLoc = L; } + + unsigned getTemplateDepth() const { return StmtExprBits.TemplateDepth; } static bool classof(const Stmt *T) { return T->getStmtClass() == StmtExprClass; Modified: vendor/llvm-project/release-10.x/clang/include/clang/AST/Stmt.h ============================================================================== --- vendor/llvm-project/release-10.x/clang/include/clang/AST/Stmt.h Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/clang/include/clang/AST/Stmt.h Wed Mar 18 18:20:05 2020 (r359079) @@ -588,6 +588,18 @@ class alignas(void *) Stmt { (protected) unsigned Kind : 2; }; + class StmtExprBitfields { + friend class ASTStmtReader; + friend class StmtExpr; + + unsigned : NumExprBits; + + /// The number of levels of template parameters enclosing this statement + /// expression. Used to determine if a statement expression remains + /// dependent after instantiation. + unsigned TemplateDepth; + }; + //===--- C++ Expression bitfields classes ---===// class CXXOperatorCallExprBitfields { @@ -995,6 +1007,9 @@ class alignas(void *) Stmt { (protected) GenericSelectionExprBitfields GenericSelectionExprBits; PseudoObjectExprBitfields PseudoObjectExprBits; SourceLocExprBitfields SourceLocExprBits; + + // GNU Extensions. + StmtExprBitfields StmtExprBits; // C++ Expressions CXXOperatorCallExprBitfields CXXOperatorCallExprBits; Modified: vendor/llvm-project/release-10.x/clang/include/clang/Sema/Sema.h ============================================================================== --- vendor/llvm-project/release-10.x/clang/include/clang/Sema/Sema.h Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/clang/include/clang/Sema/Sema.h Wed Mar 18 18:20:05 2020 (r359079) @@ -620,6 +620,15 @@ class Sema final { (public) /// function, block, and method scopes that are currently active. SmallVector FunctionScopes; + /// The index of the first FunctionScope that corresponds to the current + /// context. + unsigned FunctionScopesStart = 0; + + ArrayRef getFunctionScopes() const { + return llvm::makeArrayRef(FunctionScopes.begin() + FunctionScopesStart, + FunctionScopes.end()); + } + /// Stack containing information needed when in C++2a an 'auto' is encountered /// in a function declaration parameter type specifier in order to invent a /// corresponding template parameter in the enclosing abbreviated function @@ -627,6 +636,16 @@ class Sema final { (public) /// the FunctionScopes stack. SmallVector InventedParameterInfos; + /// The index of the first InventedParameterInfo that refers to the current + /// context. + unsigned InventedParameterInfosStart = 0; + + ArrayRef getInventedParameterInfos() const { + return llvm::makeArrayRef(InventedParameterInfos.begin() + + InventedParameterInfosStart, + InventedParameterInfos.end()); + } + typedef LazyVector ExtVectorDeclsType; @@ -800,17 +819,24 @@ class Sema final { (public) DeclContext *SavedContext; ProcessingContextState SavedContextState; QualType SavedCXXThisTypeOverride; + unsigned SavedFunctionScopesStart; + unsigned SavedInventedParameterInfosStart; public: ContextRAII(Sema &S, DeclContext *ContextToPush, bool NewThisContext = true) : S(S), SavedContext(S.CurContext), SavedContextState(S.DelayedDiagnostics.pushUndelayed()), - SavedCXXThisTypeOverride(S.CXXThisTypeOverride) + SavedCXXThisTypeOverride(S.CXXThisTypeOverride), + SavedFunctionScopesStart(S.FunctionScopesStart), + SavedInventedParameterInfosStart(S.InventedParameterInfosStart) { assert(ContextToPush && "pushing null context"); S.CurContext = ContextToPush; if (NewThisContext) S.CXXThisTypeOverride = QualType(); + // Any saved FunctionScopes do not refer to this context. + S.FunctionScopesStart = S.FunctionScopes.size(); + S.InventedParameterInfosStart = S.InventedParameterInfos.size(); } void pop() { @@ -818,6 +844,8 @@ class Sema final { (public) S.CurContext = SavedContext; S.DelayedDiagnostics.popUndelayed(SavedContextState); S.CXXThisTypeOverride = SavedCXXThisTypeOverride; + S.FunctionScopesStart = SavedFunctionScopesStart; + S.InventedParameterInfosStart = SavedInventedParameterInfosStart; SavedContext = nullptr; } @@ -4924,7 +4952,9 @@ class Sema final { (public) void ActOnStartStmtExpr(); ExprResult ActOnStmtExpr(Scope *S, SourceLocation LPLoc, Stmt *SubStmt, - SourceLocation RPLoc); // "({..})" + SourceLocation RPLoc); + ExprResult BuildStmtExpr(SourceLocation LPLoc, Stmt *SubStmt, + SourceLocation RPLoc, unsigned TemplateDepth); // Handle the final expression in a statement expression. ExprResult ActOnStmtExprResult(ExprResult E); void ActOnStmtExprError(); @@ -11923,6 +11953,13 @@ class Sema final { (public) DC = CatD->getClassInterface(); return DC; } + + /// Determine the number of levels of enclosing template parameters. This is + /// only usable while parsing. Note that this does not include dependent + /// contexts in which no template parameters have yet been declared, such as + /// in a terse function template or generic lambda before the first 'auto' is + /// encountered. + unsigned getTemplateDepth(Scope *S) const; /// To be used for checking whether the arguments being passed to /// function exceeds the number of parameters expected for it. Modified: vendor/llvm-project/release-10.x/clang/include/clang/Sema/Template.h ============================================================================== --- vendor/llvm-project/release-10.x/clang/include/clang/Sema/Template.h Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/clang/include/clang/Sema/Template.h Wed Mar 18 18:20:05 2020 (r359079) @@ -95,6 +95,16 @@ class VarDecl; return TemplateArgumentLists.size(); } + /// Determine how many of the \p OldDepth outermost template parameter + /// lists would be removed by substituting these arguments. + unsigned getNewDepth(unsigned OldDepth) const { + if (OldDepth < NumRetainedOuterLevels) + return OldDepth; + if (OldDepth < getNumLevels()) + return NumRetainedOuterLevels; + return OldDepth - TemplateArgumentLists.size(); + } + /// Retrieve the template argument at a given depth and index. const TemplateArgument &operator()(unsigned Depth, unsigned Index) const { assert(NumRetainedOuterLevels <= Depth && Depth < getNumLevels()); Modified: vendor/llvm-project/release-10.x/clang/lib/AST/ASTImporter.cpp ============================================================================== --- vendor/llvm-project/release-10.x/clang/lib/AST/ASTImporter.cpp Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/clang/lib/AST/ASTImporter.cpp Wed Mar 18 18:20:05 2020 (r359079) @@ -6726,7 +6726,7 @@ ExpectedStmt ASTNodeImporter::VisitStmtExpr(StmtExpr * return new (Importer.getToContext()) StmtExpr(ToSubStmt, ToType, ToLParenLoc, ToRParenLoc, - E->isInstantiationDependent()); + E->getTemplateDepth()); } ExpectedStmt ASTNodeImporter::VisitUnaryOperator(UnaryOperator *E) { Modified: vendor/llvm-project/release-10.x/clang/lib/Lex/Pragma.cpp ============================================================================== --- vendor/llvm-project/release-10.x/clang/lib/Lex/Pragma.cpp Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/clang/lib/Lex/Pragma.cpp Wed Mar 18 18:20:05 2020 (r359079) @@ -42,6 +42,7 @@ #include "llvm/ADT/StringRef.h" #include "llvm/Support/Compiler.h" #include "llvm/Support/ErrorHandling.h" +#include "llvm/Support/Timer.h" #include #include #include @@ -1038,6 +1039,8 @@ struct PragmaDebugHandler : public PragmaHandler { if (!PP.getPreprocessorOpts().DisablePragmaDebugCrash) llvm_unreachable("This is an assertion!"); } else if (II->isStr("crash")) { + llvm::Timer T("crash", "pragma crash"); + llvm::TimeRegion R(&T); if (!PP.getPreprocessorOpts().DisablePragmaDebugCrash) LLVM_BUILTIN_TRAP; } else if (II->isStr("parser_crash")) { Modified: vendor/llvm-project/release-10.x/clang/lib/Sema/SemaExpr.cpp ============================================================================== --- vendor/llvm-project/release-10.x/clang/lib/Sema/SemaExpr.cpp Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/clang/lib/Sema/SemaExpr.cpp Wed Mar 18 18:20:05 2020 (r359079) @@ -13909,7 +13909,12 @@ void Sema::ActOnStmtExprError() { } ExprResult Sema::ActOnStmtExpr(Scope *S, SourceLocation LPLoc, Stmt *SubStmt, - SourceLocation RPLoc) { // "({..})" + SourceLocation RPLoc) { + return BuildStmtExpr(LPLoc, SubStmt, RPLoc, getTemplateDepth(S)); +} + +ExprResult Sema::BuildStmtExpr(SourceLocation LPLoc, Stmt *SubStmt, + SourceLocation RPLoc, unsigned TemplateDepth) { assert(SubStmt && isa(SubStmt) && "Invalid action invocation!"); CompoundStmt *Compound = cast(SubStmt); @@ -13938,18 +13943,10 @@ ExprResult Sema::ActOnStmtExpr(Scope *S, SourceLocatio } } - bool IsDependentContext = false; - if (S) - IsDependentContext = S->getTemplateParamParent() != nullptr; - else - // FIXME: This is not correct when substituting inside a templated - // context that isn't a DeclContext (such as a variable template). - IsDependentContext = CurContext->isDependentContext(); - // FIXME: Check that expression type is complete/non-abstract; statement // expressions are not lvalues. Expr *ResStmtExpr = - new (Context) StmtExpr(Compound, Ty, LPLoc, RPLoc, IsDependentContext); + new (Context) StmtExpr(Compound, Ty, LPLoc, RPLoc, TemplateDepth); if (StmtExprMayBindToTemp) return MaybeBindToTemporary(ResStmtExpr); return ResStmtExpr; Modified: vendor/llvm-project/release-10.x/clang/lib/Sema/SemaExprCXX.cpp ============================================================================== --- vendor/llvm-project/release-10.x/clang/lib/Sema/SemaExprCXX.cpp Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/clang/lib/Sema/SemaExprCXX.cpp Wed Mar 18 18:20:05 2020 (r359079) @@ -6802,7 +6802,7 @@ Stmt *Sema::MaybeCreateStmtWithCleanups(Stmt *SubStmt) Context, SubStmt, SourceLocation(), SourceLocation()); Expr *E = new (Context) StmtExpr(CompStmt, Context.VoidTy, SourceLocation(), SourceLocation(), - CurContext->isDependentContext()); + /*FIXME TemplateDepth=*/0); return MaybeCreateExprWithCleanups(E); } Modified: vendor/llvm-project/release-10.x/clang/lib/Sema/SemaTemplate.cpp ============================================================================== --- vendor/llvm-project/release-10.x/clang/lib/Sema/SemaTemplate.cpp Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/clang/lib/Sema/SemaTemplate.cpp Wed Mar 18 18:20:05 2020 (r359079) @@ -46,6 +46,48 @@ clang::getTemplateParamsRange(TemplateParameterList co return SourceRange(Ps[0]->getTemplateLoc(), Ps[N-1]->getRAngleLoc()); } +unsigned Sema::getTemplateDepth(Scope *S) const { + unsigned Depth = 0; + + // Each template parameter scope represents one level of template parameter + // depth. + for (Scope *TempParamScope = S->getTemplateParamParent(); + TempParamScope && !Depth; + TempParamScope = TempParamScope->getParent()->getTemplateParamParent()) { + ++Depth; + } + + // Note that there are template parameters with the given depth. + auto ParamsAtDepth = [&](unsigned D) { Depth = std::max(Depth, D + 1); }; + + // Look for parameters of an enclosing generic lambda. We don't create a + // template parameter scope for these. + for (FunctionScopeInfo *FSI : getFunctionScopes()) { + if (auto *LSI = dyn_cast(FSI)) { + if (!LSI->TemplateParams.empty()) { + ParamsAtDepth(LSI->AutoTemplateParameterDepth); + break; + } + if (LSI->GLTemplateParameterList) { + ParamsAtDepth(LSI->GLTemplateParameterList->getDepth()); + break; + } + } + } + + // Look for parameters of an enclosing terse function template. We don't + // create a template parameter scope for these either. + for (const InventedTemplateParameterInfo &Info : + getInventedParameterInfos()) { + if (!Info.TemplateParams.empty()) { + ParamsAtDepth(Info.AutoTemplateParameterDepth); + break; + } + } + + return Depth; +} + /// \brief Determine whether the declaration found is acceptable as the name /// of a template and, if so, return that template declaration. Otherwise, /// returns null. @@ -2173,9 +2215,15 @@ struct ConvertConstructorToDeductionGuideTransform { ( // constructor. ExprResult NewDefArg; if (OldParam->hasDefaultArg()) { - NewDefArg = SemaRef.SubstExpr(OldParam->getDefaultArg(), Args); - if (NewDefArg.isInvalid()) - return nullptr; + // We don't care what the value is (we won't use it); just create a + // placeholder to indicate there is a default argument. + QualType ParamTy = NewDI->getType(); + NewDefArg = new (SemaRef.Context) + OpaqueValueExpr(OldParam->getDefaultArg()->getBeginLoc(), + ParamTy.getNonLValueExprType(SemaRef.Context), + ParamTy->isLValueReferenceType() ? VK_LValue : + ParamTy->isRValueReferenceType() ? VK_XValue : + VK_RValue); } ParmVarDecl *NewParam = ParmVarDecl::Create(SemaRef.Context, DC, Modified: vendor/llvm-project/release-10.x/clang/lib/Sema/SemaTemplateInstantiate.cpp ============================================================================== --- vendor/llvm-project/release-10.x/clang/lib/Sema/SemaTemplateInstantiate.cpp Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/clang/lib/Sema/SemaTemplateInstantiate.cpp Wed Mar 18 18:20:05 2020 (r359079) @@ -922,6 +922,10 @@ namespace { this->Entity = Entity; } + unsigned TransformTemplateDepth(unsigned Depth) { + return TemplateArgs.getNewDepth(Depth); + } + bool TryExpandParameterPacks(SourceLocation EllipsisLoc, SourceRange PatternRange, ArrayRef Unexpanded, @@ -2162,7 +2166,7 @@ namespace { // The deduced type itself. TemplateTypeParmDecl *VisitTemplateTypeParmType( const TemplateTypeParmType *T) { - if (!T->getDecl()->isImplicit()) + if (!T->getDecl() || !T->getDecl()->isImplicit()) return nullptr; return T->getDecl(); } Modified: vendor/llvm-project/release-10.x/clang/lib/Sema/TreeTransform.h ============================================================================== --- vendor/llvm-project/release-10.x/clang/lib/Sema/TreeTransform.h Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/clang/lib/Sema/TreeTransform.h Wed Mar 18 18:20:05 2020 (r359079) @@ -212,6 +212,14 @@ class TreeTransform { (public) return T.isNull(); } + /// Transform a template parameter depth level. + /// + /// During a transformation that transforms template parameters, this maps + /// an old template parameter depth to a new depth. + unsigned TransformTemplateDepth(unsigned Depth) { + return Depth; + } + /// Determine whether the given call argument should be dropped, e.g., /// because it is a default argument. /// @@ -2527,8 +2535,9 @@ class TreeTransform { (public) /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. ExprResult RebuildStmtExpr(SourceLocation LParenLoc, Stmt *SubStmt, - SourceLocation RParenLoc) { - return getSema().ActOnStmtExpr(nullptr, LParenLoc, SubStmt, RParenLoc); + SourceLocation RParenLoc, unsigned TemplateDepth) { + return getSema().BuildStmtExpr(LParenLoc, SubStmt, RParenLoc, + TemplateDepth); } /// Build a new __builtin_choose_expr expression. @@ -10345,16 +10354,18 @@ TreeTransform::TransformStmtExpr(StmtExpr *E) return ExprError(); } - if (!getDerived().AlwaysRebuild() && + unsigned OldDepth = E->getTemplateDepth(); + unsigned NewDepth = getDerived().TransformTemplateDepth(OldDepth); + + if (!getDerived().AlwaysRebuild() && OldDepth == NewDepth && SubStmt.get() == E->getSubStmt()) { // Calling this an 'error' is unintuitive, but it does the right thing. SemaRef.ActOnStmtExprError(); return SemaRef.MaybeBindToTemporary(E); } - return getDerived().RebuildStmtExpr(E->getLParenLoc(), - SubStmt.get(), - E->getRParenLoc()); + return getDerived().RebuildStmtExpr(E->getLParenLoc(), SubStmt.get(), + E->getRParenLoc(), NewDepth); } template Modified: vendor/llvm-project/release-10.x/clang/lib/Serialization/ASTReaderDecl.cpp ============================================================================== --- vendor/llvm-project/release-10.x/clang/lib/Serialization/ASTReaderDecl.cpp Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/clang/lib/Serialization/ASTReaderDecl.cpp Wed Mar 18 18:20:05 2020 (r359079) @@ -2867,7 +2867,8 @@ uint64_t ASTReader::getGlobalBitOffset(ModuleFile &M, return LocalOffset + M.GlobalBitOffset; } -static bool isSameTemplateParameterList(const TemplateParameterList *X, +static bool isSameTemplateParameterList(const ASTContext &C, + const TemplateParameterList *X, const TemplateParameterList *Y); /// Determine whether two template parameters are similar enough @@ -2879,7 +2880,32 @@ static bool isSameTemplateParameter(const NamedDecl *X if (const auto *TX = dyn_cast(X)) { const auto *TY = cast(Y); - return TX->isParameterPack() == TY->isParameterPack(); + if (TX->isParameterPack() != TY->isParameterPack()) + return false; + if (TX->hasTypeConstraint() != TY->hasTypeConstraint()) + return false; + if (TX->hasTypeConstraint()) { + const TypeConstraint *TXTC = TX->getTypeConstraint(); + const TypeConstraint *TYTC = TY->getTypeConstraint(); + if (TXTC->getNamedConcept() != TYTC->getNamedConcept()) + return false; + if (TXTC->hasExplicitTemplateArgs() != TYTC->hasExplicitTemplateArgs()) + return false; + if (TXTC->hasExplicitTemplateArgs()) { + const auto *TXTCArgs = TXTC->getTemplateArgsAsWritten(); + const auto *TYTCArgs = TYTC->getTemplateArgsAsWritten(); + if (TXTCArgs->NumTemplateArgs != TYTCArgs->NumTemplateArgs) + return false; + llvm::FoldingSetNodeID XID, YID; + for (const auto &ArgLoc : TXTCArgs->arguments()) + ArgLoc.getArgument().Profile(XID, X->getASTContext()); + for (const auto &ArgLoc : TYTCArgs->arguments()) + ArgLoc.getArgument().Profile(YID, Y->getASTContext()); + if (XID != YID) + return false; + } + } + return true; } if (const auto *TX = dyn_cast(X)) { @@ -2891,7 +2917,8 @@ static bool isSameTemplateParameter(const NamedDecl *X const auto *TX = cast(X); const auto *TY = cast(Y); return TX->isParameterPack() == TY->isParameterPack() && - isSameTemplateParameterList(TX->getTemplateParameters(), + isSameTemplateParameterList(TX->getASTContext(), + TX->getTemplateParameters(), TY->getTemplateParameters()); } @@ -2944,7 +2971,8 @@ static bool isSameQualifier(const NestedNameSpecifier /// Determine whether two template parameter lists are similar enough /// that they may be used in declarations of the same template. -static bool isSameTemplateParameterList(const TemplateParameterList *X, +static bool isSameTemplateParameterList(const ASTContext &C, + const TemplateParameterList *X, const TemplateParameterList *Y) { if (X->size() != Y->size()) return false; @@ -2953,6 +2981,18 @@ static bool isSameTemplateParameterList(const Template if (!isSameTemplateParameter(X->getParam(I), Y->getParam(I))) return false; + const Expr *XRC = X->getRequiresClause(); + const Expr *YRC = Y->getRequiresClause(); + if (!XRC != !YRC) + return false; + if (XRC) { + llvm::FoldingSetNodeID XRCID, YRCID; + XRC->Profile(XRCID, C, /*Canonical=*/true); + YRC->Profile(YRCID, C, /*Canonical=*/true); + if (XRCID != YRCID) + return false; + } + return true; } @@ -2989,7 +3029,7 @@ static bool hasSameOverloadableAttrs(const FunctionDec return true; } -/// Determine whether the two declarations refer to the same entity. +/// Determine whether the two declarations refer to the same entity.pr static bool isSameEntity(NamedDecl *X, NamedDecl *Y) { assert(X->getDeclName() == Y->getDeclName() && "Declaration name mismatch!"); @@ -3064,6 +3104,19 @@ static bool isSameEntity(NamedDecl *X, NamedDecl *Y) { } ASTContext &C = FuncX->getASTContext(); + + const Expr *XRC = FuncX->getTrailingRequiresClause(); + const Expr *YRC = FuncY->getTrailingRequiresClause(); + if (!XRC != !YRC) + return false; + if (XRC) { + llvm::FoldingSetNodeID XRCID, YRCID; + XRC->Profile(XRCID, C, /*Canonical=*/true); + YRC->Profile(YRCID, C, /*Canonical=*/true); + if (XRCID != YRCID) + return false; + } + auto GetTypeAsWritten = [](const FunctionDecl *FD) { // Map to the first declaration that we've already merged into this one. // The TSI of redeclarations might not match (due to calling conventions @@ -3087,6 +3140,7 @@ static bool isSameEntity(NamedDecl *X, NamedDecl *Y) { return true; return false; } + return FuncX->getLinkageInternal() == FuncY->getLinkageInternal() && hasSameOverloadableAttrs(FuncX, FuncY); } @@ -3126,7 +3180,8 @@ static bool isSameEntity(NamedDecl *X, NamedDecl *Y) { const auto *TemplateY = cast(Y); return isSameEntity(TemplateX->getTemplatedDecl(), TemplateY->getTemplatedDecl()) && - isSameTemplateParameterList(TemplateX->getTemplateParameters(), + isSameTemplateParameterList(TemplateX->getASTContext(), + TemplateX->getTemplateParameters(), TemplateY->getTemplateParameters()); } Modified: vendor/llvm-project/release-10.x/clang/lib/Serialization/ASTReaderStmt.cpp ============================================================================== --- vendor/llvm-project/release-10.x/clang/lib/Serialization/ASTReaderStmt.cpp Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/clang/lib/Serialization/ASTReaderStmt.cpp Wed Mar 18 18:20:05 2020 (r359079) @@ -754,6 +754,7 @@ void ASTStmtReader::VisitConceptSpecializationExpr( E->TemplateKWLoc = Record.readSourceLocation(); E->ConceptName = Record.readDeclarationNameInfo(); E->NamedConcept = readDeclAs(); + E->FoundDecl = Record.readDeclAs(); E->ArgsAsWritten = Record.readASTTemplateArgumentListInfo(); llvm::SmallVector Args; for (unsigned I = 0; I < NumTemplateArgs; ++I) @@ -1190,6 +1191,7 @@ void ASTStmtReader::VisitStmtExpr(StmtExpr *E) { E->setLParenLoc(readSourceLocation()); E->setRParenLoc(readSourceLocation()); E->setSubStmt(cast_or_null(Record.readSubStmt())); + E->StmtExprBits.TemplateDepth = Record.readInt(); } void ASTStmtReader::VisitChooseExpr(ChooseExpr *E) { Modified: vendor/llvm-project/release-10.x/clang/lib/Serialization/ASTWriterStmt.cpp ============================================================================== --- vendor/llvm-project/release-10.x/clang/lib/Serialization/ASTWriterStmt.cpp Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/clang/lib/Serialization/ASTWriterStmt.cpp Wed Mar 18 18:20:05 2020 (r359079) @@ -429,6 +429,7 @@ void ASTStmtWriter::VisitConceptSpecializationExpr( Record.AddSourceLocation(E->getTemplateKWLoc()); Record.AddDeclarationNameInfo(E->getConceptNameInfo()); Record.AddDeclRef(E->getNamedConcept()); + Record.AddDeclRef(E->getFoundDecl()); Record.AddASTTemplateArgumentListInfo(E->getTemplateArgsAsWritten()); for (const TemplateArgument &Arg : TemplateArgs) Record.AddTemplateArgument(Arg); @@ -1068,6 +1069,7 @@ void ASTStmtWriter::VisitStmtExpr(StmtExpr *E) { Record.AddStmt(E->getSubStmt()); Record.AddSourceLocation(E->getLParenLoc()); Record.AddSourceLocation(E->getRParenLoc()); + Record.push_back(E->getTemplateDepth()); Code = serialization::EXPR_STMT; } Modified: vendor/llvm-project/release-10.x/clang/tools/driver/driver.cpp ============================================================================== --- vendor/llvm-project/release-10.x/clang/tools/driver/driver.cpp Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/clang/tools/driver/driver.cpp Wed Mar 18 18:20:05 2020 (r359079) @@ -30,6 +30,7 @@ #include "llvm/Option/ArgList.h" #include "llvm/Option/OptTable.h" #include "llvm/Option/Option.h" +#include "llvm/Support/BuryPointer.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/CrashRecoveryContext.h" #include "llvm/Support/ErrorHandling.h" @@ -491,6 +492,7 @@ int main(int argc_, const char **argv_) { std::unique_ptr C(TheDriver.BuildCompilation(argv)); int Res = 1; + bool IsCrash = false; if (C && !C->containsError()) { SmallVector, 4> FailingCommands; Res = TheDriver.ExecuteCompilation(*C, FailingCommands); @@ -517,11 +519,11 @@ int main(int argc_, const char **argv_) { // If result status is 70, then the driver command reported a fatal error. // On Windows, abort will return an exit code of 3. In these cases, // generate additional diagnostic information if possible. - bool DiagnoseCrash = CommandRes < 0 || CommandRes == 70; + IsCrash = CommandRes < 0 || CommandRes == 70; #ifdef _WIN32 - DiagnoseCrash |= CommandRes == 3; + IsCrash |= CommandRes == 3; #endif - if (DiagnoseCrash) { + if (IsCrash) { TheDriver.generateCompilationDiagnostics(*C, *FailingCommand); break; } @@ -530,10 +532,16 @@ int main(int argc_, const char **argv_) { Diags.getClient()->finish(); - // If any timers were active but haven't been destroyed yet, print their - // results now. This happens in -disable-free mode. - llvm::TimerGroup::printAll(llvm::errs()); - llvm::TimerGroup::clearAll(); + if (!UseNewCC1Process && IsCrash) { + // When crashing in -fintegrated-cc1 mode, bury the timer pointers, because + // the internal linked list might point to already released stack frames. + llvm::BuryPointer(llvm::TimerGroup::aquireDefaultGroup()); + } else { + // If any timers were active but haven't been destroyed yet, print their + // results now. This happens in -disable-free mode. + llvm::TimerGroup::printAll(llvm::errs()); + llvm::TimerGroup::clearAll(); + } #ifdef _WIN32 // Exit status should not be negative on Win32, unless abnormal termination. Modified: vendor/llvm-project/release-10.x/llvm/include/llvm/Support/ManagedStatic.h ============================================================================== --- vendor/llvm-project/release-10.x/llvm/include/llvm/Support/ManagedStatic.h Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/llvm/include/llvm/Support/ManagedStatic.h Wed Mar 18 18:20:05 2020 (r359079) @@ -102,6 +102,12 @@ class ManagedStatic : public ManagedStaticBase { (publ } const C *operator->() const { return &**this; } + + // Extract the instance, leaving the ManagedStatic uninitialized. The + // user is then responsible for the lifetime of the returned instance. + C *claim() { + return static_cast(Ptr.exchange(nullptr)); + } }; /// llvm_shutdown - Deallocate and destroy all ManagedStatic variables. Modified: vendor/llvm-project/release-10.x/llvm/include/llvm/Support/Timer.h ============================================================================== --- vendor/llvm-project/release-10.x/llvm/include/llvm/Support/Timer.h Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/llvm/include/llvm/Support/Timer.h Wed Mar 18 18:20:05 2020 (r359079) @@ -230,6 +230,11 @@ class TimerGroup { (public) /// used by the Statistic code to influence the construction and destruction /// order of the global timer lists. static void ConstructTimerLists(); + + /// This makes the default group unmanaged, and lets the user manage the + /// group's lifetime. + static std::unique_ptr aquireDefaultGroup(); + private: friend class Timer; friend void PrintStatisticsJSON(raw_ostream &OS); Modified: vendor/llvm-project/release-10.x/llvm/lib/Support/Timer.cpp ============================================================================== --- vendor/llvm-project/release-10.x/llvm/lib/Support/Timer.cpp Wed Mar 18 18:16:00 2020 (r359078) +++ vendor/llvm-project/release-10.x/llvm/lib/Support/Timer.cpp Wed Mar 18 18:20:05 2020 (r359079) @@ -441,3 +441,7 @@ const char *TimerGroup::printAllJSONValues(raw_ostream void TimerGroup::ConstructTimerLists() { (void)*NamedGroupedTimers; } + +std::unique_ptr TimerGroup::aquireDefaultGroup() { + return std::unique_ptr(DefaultTimerGroup.claim()); +} From owner-svn-src-all@freebsd.org Wed Mar 18 18:20:56 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E7C5F2687A9; Wed, 18 Mar 2020 18:20:56 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jJJ84Nb4z3Kxp; Wed, 18 Mar 2020 18:20:56 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 11E6925F51; Wed, 18 Mar 2020 18:20:56 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IIKtqm010323; Wed, 18 Mar 2020 18:20:55 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IIKtfx010322; Wed, 18 Mar 2020 18:20:55 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202003181820.02IIKtfx010322@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 18 Mar 2020 18:20:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r359080 - vendor/llvm-project/llvmorg-10.0.0-rc4-5-g52c365aa9ca X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: vendor/llvm-project/llvmorg-10.0.0-rc4-5-g52c365aa9ca X-SVN-Commit-Revision: 359080 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 18:20:57 -0000 Author: dim Date: Wed Mar 18 18:20:55 2020 New Revision: 359080 URL: https://svnweb.freebsd.org/changeset/base/359080 Log: Tag llvm-project branch release/10.x llvmorg-10.0.0-rc4-5-g52c365aa9ca. Added: vendor/llvm-project/llvmorg-10.0.0-rc4-5-g52c365aa9ca/ - copied from r359079, vendor/llvm-project/release-10.x/ From owner-svn-src-all@freebsd.org Wed Mar 18 18:22:00 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 351292689D3; Wed, 18 Mar 2020 18:22:00 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jJKM3kPDz3NJ3; Wed, 18 Mar 2020 18:21:59 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5C1F0260B5; Wed, 18 Mar 2020 18:21:59 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IILxXQ014043; Wed, 18 Mar 2020 18:21:59 GMT (envelope-from hrs@FreeBSD.org) Received: (from hrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IILxet014042; Wed, 18 Mar 2020 18:21:59 GMT (envelope-from hrs@FreeBSD.org) Message-Id: <202003181821.02IILxet014042@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hrs set sender to hrs@FreeBSD.org using -f From: Hiroki Sato Date: Wed, 18 Mar 2020 18:21:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359081 - stable/12/contrib/sendmail/src X-SVN-Group: stable-12 X-SVN-Commit-Author: hrs X-SVN-Commit-Paths: stable/12/contrib/sendmail/src X-SVN-Commit-Revision: 359081 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 18:22:00 -0000 Author: hrs Date: Wed Mar 18 18:21:58 2020 New Revision: 359081 URL: https://svnweb.freebsd.org/changeset/base/359081 Log: MFC of r358404, r358410, r358412, and r358413: Fix broken STARTTLS when SharedMemoryKey is enabled. OpenSSL 1.1 API patch for sendmail had a bug which prevented sm_RSA_generate_key() function from working. This function is used to generate a temporary RSA key for a shared memory region used for TLS processing. Note that 12.0 and 12.1-RELEASE include this bug. This affects only if SM_CONF_SHM compile-time option (enabled by default) and SharedMemoryKey run-time option (not enabled by default) in a .cf file are specified. The latter corresponds to confSHARED_MEMORY_KEY in a .mc file. Fix style inconsistencies. Do not free p and g parameters after calling DH_set0_pqg(3). PR: 242861 Differential Revision: https://reviews.freebsd.org/D23734 Modified: stable/12/contrib/sendmail/src/tls.c Directory Properties: stable/12/ (props changed) Modified: stable/12/contrib/sendmail/src/tls.c ============================================================================== --- stable/12/contrib/sendmail/src/tls.c Wed Mar 18 18:20:55 2020 (r359080) +++ stable/12/contrib/sendmail/src/tls.c Wed Mar 18 18:21:58 2020 (r359081) @@ -56,10 +56,10 @@ DH_set0_pqg(dh, p, q, g) BIGNUM *q; BIGNUM *g; { - dh->p=p; + dh->p = p; if (q != NULL) - dh->q=q; - dh->g=g; + dh->q = q; + dh->g = g; return 1; /* success */ } # endif /* !defined() || OPENSSL_VERSION_NUMBER < 0x00907000L */ @@ -83,20 +83,25 @@ static unsigned char dh512_g[] = static DH * get_dh512() { - DH *dh = NULL; + DH *dh; BIGNUM *dhp_bn, *dhg_bn; if ((dh = DH_new()) == NULL) return NULL; dhp_bn = BN_bin2bn(dh512_p, sizeof(dh512_p), NULL); dhg_bn = BN_bin2bn(dh512_g, sizeof(dh512_g), NULL); - if ((dhp_bn == NULL) || (dhg_bn == NULL) || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) + if ((dhp_bn == NULL) || (dhg_bn == NULL)) { DH_free(dh); BN_free(dhp_bn); BN_free(dhg_bn); - return(NULL); + return NULL; } + if (!DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) + { + DH_free(dh); + return NULL; + } return dh; } @@ -117,7 +122,7 @@ oK0jjSXgFyeU4/NfyA+zuNeWzUL6bHmigwIBAg== static DH * get_dh2048() { - static unsigned char dh2048_p[]={ + static unsigned char dh2048_p[] = { 0xAC,0x37,0x20,0x70,0xBA,0x71,0x12,0x4B,0x10,0x1C,0xF9,0x68, 0x95,0x12,0x82,0x50,0x9D,0xAC,0xCC,0xA4,0x73,0x8A,0xC7,0x96, 0x57,0xD7,0x14,0x49,0x03,0x59,0x1B,0x1A,0x06,0xC3,0xB2,0xA4, @@ -141,22 +146,27 @@ get_dh2048() 0xE3,0xF3,0x5F,0xC8,0x0F,0xB3,0xB8,0xD7,0x96,0xCD,0x42,0xFA, 0x6C,0x79,0xA2,0x83, }; - static unsigned char dh2048_g[]={ 0x02, }; + static unsigned char dh2048_g[] = { 0x02, }; DH *dh; BIGNUM *dhp_bn, *dhg_bn; - if ((dh=DH_new()) == NULL) - return(NULL); - dhp_bn = BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); - dhg_bn = BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); - if ((dhp_bn == NULL) || (dhg_bn == NULL) || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) + if ((dh = DH_new()) == NULL) + return NULL; + dhp_bn = BN_bin2bn(dh2048_p, sizeof(dh2048_p), NULL); + dhg_bn = BN_bin2bn(dh2048_g, sizeof(dh2048_g), NULL); + if ((dhp_bn == NULL) || (dhg_bn == NULL)) { DH_free(dh); BN_free(dhp_bn); BN_free(dhg_bn); - return(NULL); + return NULL; } - return(dh); + if (!DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) + { + DH_free(dh); + return NULL; + } + return dh; } # endif /* !NO_DH */ @@ -744,19 +754,16 @@ sm_RSA_generate_key(num, e) unsigned long e; { RSA *rsa = NULL; - BIGNUM *bn_rsa_r4; - int rc; + BIGNUM *bn_rsa_r4; bn_rsa_r4 = BN_new(); - rc = BN_set_word(bn_rsa_r4, RSA_F4); - if ((bn_rsa_r4 != NULL) && BN_set_word(bn_rsa_r4, RSA_F4) && (rsa = RSA_new()) != NULL) + if ((bn_rsa_r4 != NULL) && BN_set_word(bn_rsa_r4, e) && (rsa = RSA_new()) != NULL) { - if (!RSA_generate_key_ex(rsa, RSA_KEYLENGTH, bn_rsa_r4, NULL)) + if (!RSA_generate_key_ex(rsa, num, bn_rsa_r4, NULL)) { RSA_free(rsa); rsa = NULL; } - return NULL; } BN_free(bn_rsa_r4); return rsa; @@ -1263,7 +1270,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cac if (tTd(96, 2)) sm_dprintf("inittls: Generating %d bit DH parameters\n", bits); - dsa=DSA_new(); + dsa = DSA_new(); /* this takes a while! */ (void)DSA_generate_parameters_ex(dsa, bits, NULL, 0, NULL, NULL, NULL); From owner-svn-src-all@freebsd.org Wed Mar 18 18:26:59 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 63B9E268CD6; Wed, 18 Mar 2020 18:26:59 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jJR63Zfwz42P2; Wed, 18 Mar 2020 18:26:58 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1773A260F8; Wed, 18 Mar 2020 18:26:58 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IIQwjt015147; Wed, 18 Mar 2020 18:26:58 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IIQrUc015124; Wed, 18 Mar 2020 18:26:53 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202003181826.02IIQrUc015124@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 18 Mar 2020 18:26:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359082 - in head: contrib/llvm-project/clang/include/clang/AST contrib/llvm-project/clang/include/clang/Sema contrib/llvm-project/clang/lib/AST contrib/llvm-project/clang/lib/Lex contr... X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in head: contrib/llvm-project/clang/include/clang/AST contrib/llvm-project/clang/include/clang/Sema contrib/llvm-project/clang/lib/AST contrib/llvm-project/clang/lib/Lex contrib/llvm-project/clang/lib... X-SVN-Commit-Revision: 359082 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 18:26:59 -0000 Author: dim Date: Wed Mar 18 18:26:53 2020 New Revision: 359082 URL: https://svnweb.freebsd.org/changeset/base/359082 Log: Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp llvmorg-10.0.0-rc4-5-g52c365aa9ca. The actual release should follow Real Soon Now. PR: 244251 MFC after: 6 weeks Modified: head/contrib/llvm-project/clang/include/clang/AST/Expr.h head/contrib/llvm-project/clang/include/clang/AST/Stmt.h head/contrib/llvm-project/clang/include/clang/Sema/Sema.h head/contrib/llvm-project/clang/include/clang/Sema/Template.h head/contrib/llvm-project/clang/lib/AST/ASTImporter.cpp head/contrib/llvm-project/clang/lib/Lex/Pragma.cpp head/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp head/contrib/llvm-project/clang/lib/Sema/SemaExprCXX.cpp head/contrib/llvm-project/clang/lib/Sema/SemaTemplate.cpp head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp head/contrib/llvm-project/clang/lib/Sema/TreeTransform.h head/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp head/contrib/llvm-project/clang/lib/Serialization/ASTReaderStmt.cpp head/contrib/llvm-project/clang/lib/Serialization/ASTWriterStmt.cpp head/contrib/llvm-project/clang/tools/driver/driver.cpp head/contrib/llvm-project/llvm/include/llvm/Support/ManagedStatic.h head/contrib/llvm-project/llvm/include/llvm/Support/Timer.h head/contrib/llvm-project/llvm/lib/Support/Timer.cpp head/lib/clang/include/VCSVersion.inc head/lib/clang/include/llvm/Support/VCSRevision.h Directory Properties: head/contrib/llvm-project/ (props changed) head/contrib/llvm-project/clang/ (props changed) head/contrib/llvm-project/llvm/ (props changed) Modified: head/contrib/llvm-project/clang/include/clang/AST/Expr.h ============================================================================== --- head/contrib/llvm-project/clang/include/clang/AST/Expr.h Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/clang/include/clang/AST/Expr.h Wed Mar 18 18:26:53 2020 (r359082) @@ -3955,14 +3955,18 @@ class StmtExpr : public Expr { Stmt *SubStmt; SourceLocation LParenLoc, RParenLoc; public: - StmtExpr(CompoundStmt *substmt, QualType T, - SourceLocation lp, SourceLocation rp, bool InDependentContext) : - // Note: we treat a statement-expression in a dependent context as always - // being value- and instantiation-dependent. This matches the behavior of - // lambda-expressions and GCC. - Expr(StmtExprClass, T, VK_RValue, OK_Ordinary, - T->isDependentType(), InDependentContext, InDependentContext, false), - SubStmt(substmt), LParenLoc(lp), RParenLoc(rp) {} + StmtExpr(CompoundStmt *SubStmt, QualType T, SourceLocation LParenLoc, + SourceLocation RParenLoc, unsigned TemplateDepth) + : // We treat a statement-expression in a dependent context as + // always being value- and instantiation-dependent. This matches the + // behavior of lambda-expressions and GCC. + Expr(StmtExprClass, T, VK_RValue, OK_Ordinary, T->isDependentType(), + TemplateDepth != 0, TemplateDepth != 0, false), + SubStmt(SubStmt), LParenLoc(LParenLoc), RParenLoc(RParenLoc) { + // FIXME: A templated statement expression should have an associated + // DeclContext so that nested declarations always have a dependent context. + StmtExprBits.TemplateDepth = TemplateDepth; + } /// Build an empty statement expression. explicit StmtExpr(EmptyShell Empty) : Expr(StmtExprClass, Empty) { } @@ -3978,6 +3982,8 @@ class StmtExpr : public Expr { void setLParenLoc(SourceLocation L) { LParenLoc = L; } SourceLocation getRParenLoc() const { return RParenLoc; } void setRParenLoc(SourceLocation L) { RParenLoc = L; } + + unsigned getTemplateDepth() const { return StmtExprBits.TemplateDepth; } static bool classof(const Stmt *T) { return T->getStmtClass() == StmtExprClass; Modified: head/contrib/llvm-project/clang/include/clang/AST/Stmt.h ============================================================================== --- head/contrib/llvm-project/clang/include/clang/AST/Stmt.h Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/clang/include/clang/AST/Stmt.h Wed Mar 18 18:26:53 2020 (r359082) @@ -588,6 +588,18 @@ class alignas(void *) Stmt { (protected) unsigned Kind : 2; }; + class StmtExprBitfields { + friend class ASTStmtReader; + friend class StmtExpr; + + unsigned : NumExprBits; + + /// The number of levels of template parameters enclosing this statement + /// expression. Used to determine if a statement expression remains + /// dependent after instantiation. + unsigned TemplateDepth; + }; + //===--- C++ Expression bitfields classes ---===// class CXXOperatorCallExprBitfields { @@ -995,6 +1007,9 @@ class alignas(void *) Stmt { (protected) GenericSelectionExprBitfields GenericSelectionExprBits; PseudoObjectExprBitfields PseudoObjectExprBits; SourceLocExprBitfields SourceLocExprBits; + + // GNU Extensions. + StmtExprBitfields StmtExprBits; // C++ Expressions CXXOperatorCallExprBitfields CXXOperatorCallExprBits; Modified: head/contrib/llvm-project/clang/include/clang/Sema/Sema.h ============================================================================== --- head/contrib/llvm-project/clang/include/clang/Sema/Sema.h Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/clang/include/clang/Sema/Sema.h Wed Mar 18 18:26:53 2020 (r359082) @@ -620,6 +620,15 @@ class Sema final { (public) /// function, block, and method scopes that are currently active. SmallVector FunctionScopes; + /// The index of the first FunctionScope that corresponds to the current + /// context. + unsigned FunctionScopesStart = 0; + + ArrayRef getFunctionScopes() const { + return llvm::makeArrayRef(FunctionScopes.begin() + FunctionScopesStart, + FunctionScopes.end()); + } + /// Stack containing information needed when in C++2a an 'auto' is encountered /// in a function declaration parameter type specifier in order to invent a /// corresponding template parameter in the enclosing abbreviated function @@ -627,6 +636,16 @@ class Sema final { (public) /// the FunctionScopes stack. SmallVector InventedParameterInfos; + /// The index of the first InventedParameterInfo that refers to the current + /// context. + unsigned InventedParameterInfosStart = 0; + + ArrayRef getInventedParameterInfos() const { + return llvm::makeArrayRef(InventedParameterInfos.begin() + + InventedParameterInfosStart, + InventedParameterInfos.end()); + } + typedef LazyVector ExtVectorDeclsType; @@ -800,17 +819,24 @@ class Sema final { (public) DeclContext *SavedContext; ProcessingContextState SavedContextState; QualType SavedCXXThisTypeOverride; + unsigned SavedFunctionScopesStart; + unsigned SavedInventedParameterInfosStart; public: ContextRAII(Sema &S, DeclContext *ContextToPush, bool NewThisContext = true) : S(S), SavedContext(S.CurContext), SavedContextState(S.DelayedDiagnostics.pushUndelayed()), - SavedCXXThisTypeOverride(S.CXXThisTypeOverride) + SavedCXXThisTypeOverride(S.CXXThisTypeOverride), + SavedFunctionScopesStart(S.FunctionScopesStart), + SavedInventedParameterInfosStart(S.InventedParameterInfosStart) { assert(ContextToPush && "pushing null context"); S.CurContext = ContextToPush; if (NewThisContext) S.CXXThisTypeOverride = QualType(); + // Any saved FunctionScopes do not refer to this context. + S.FunctionScopesStart = S.FunctionScopes.size(); + S.InventedParameterInfosStart = S.InventedParameterInfos.size(); } void pop() { @@ -818,6 +844,8 @@ class Sema final { (public) S.CurContext = SavedContext; S.DelayedDiagnostics.popUndelayed(SavedContextState); S.CXXThisTypeOverride = SavedCXXThisTypeOverride; + S.FunctionScopesStart = SavedFunctionScopesStart; + S.InventedParameterInfosStart = SavedInventedParameterInfosStart; SavedContext = nullptr; } @@ -4924,7 +4952,9 @@ class Sema final { (public) void ActOnStartStmtExpr(); ExprResult ActOnStmtExpr(Scope *S, SourceLocation LPLoc, Stmt *SubStmt, - SourceLocation RPLoc); // "({..})" + SourceLocation RPLoc); + ExprResult BuildStmtExpr(SourceLocation LPLoc, Stmt *SubStmt, + SourceLocation RPLoc, unsigned TemplateDepth); // Handle the final expression in a statement expression. ExprResult ActOnStmtExprResult(ExprResult E); void ActOnStmtExprError(); @@ -11923,6 +11953,13 @@ class Sema final { (public) DC = CatD->getClassInterface(); return DC; } + + /// Determine the number of levels of enclosing template parameters. This is + /// only usable while parsing. Note that this does not include dependent + /// contexts in which no template parameters have yet been declared, such as + /// in a terse function template or generic lambda before the first 'auto' is + /// encountered. + unsigned getTemplateDepth(Scope *S) const; /// To be used for checking whether the arguments being passed to /// function exceeds the number of parameters expected for it. Modified: head/contrib/llvm-project/clang/include/clang/Sema/Template.h ============================================================================== --- head/contrib/llvm-project/clang/include/clang/Sema/Template.h Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/clang/include/clang/Sema/Template.h Wed Mar 18 18:26:53 2020 (r359082) @@ -95,6 +95,16 @@ class VarDecl; return TemplateArgumentLists.size(); } + /// Determine how many of the \p OldDepth outermost template parameter + /// lists would be removed by substituting these arguments. + unsigned getNewDepth(unsigned OldDepth) const { + if (OldDepth < NumRetainedOuterLevels) + return OldDepth; + if (OldDepth < getNumLevels()) + return NumRetainedOuterLevels; + return OldDepth - TemplateArgumentLists.size(); + } + /// Retrieve the template argument at a given depth and index. const TemplateArgument &operator()(unsigned Depth, unsigned Index) const { assert(NumRetainedOuterLevels <= Depth && Depth < getNumLevels()); Modified: head/contrib/llvm-project/clang/lib/AST/ASTImporter.cpp ============================================================================== --- head/contrib/llvm-project/clang/lib/AST/ASTImporter.cpp Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/clang/lib/AST/ASTImporter.cpp Wed Mar 18 18:26:53 2020 (r359082) @@ -6726,7 +6726,7 @@ ExpectedStmt ASTNodeImporter::VisitStmtExpr(StmtExpr * return new (Importer.getToContext()) StmtExpr(ToSubStmt, ToType, ToLParenLoc, ToRParenLoc, - E->isInstantiationDependent()); + E->getTemplateDepth()); } ExpectedStmt ASTNodeImporter::VisitUnaryOperator(UnaryOperator *E) { Modified: head/contrib/llvm-project/clang/lib/Lex/Pragma.cpp ============================================================================== --- head/contrib/llvm-project/clang/lib/Lex/Pragma.cpp Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/clang/lib/Lex/Pragma.cpp Wed Mar 18 18:26:53 2020 (r359082) @@ -42,6 +42,7 @@ #include "llvm/ADT/StringRef.h" #include "llvm/Support/Compiler.h" #include "llvm/Support/ErrorHandling.h" +#include "llvm/Support/Timer.h" #include #include #include @@ -1038,6 +1039,8 @@ struct PragmaDebugHandler : public PragmaHandler { if (!PP.getPreprocessorOpts().DisablePragmaDebugCrash) llvm_unreachable("This is an assertion!"); } else if (II->isStr("crash")) { + llvm::Timer T("crash", "pragma crash"); + llvm::TimeRegion R(&T); if (!PP.getPreprocessorOpts().DisablePragmaDebugCrash) LLVM_BUILTIN_TRAP; } else if (II->isStr("parser_crash")) { Modified: head/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp ============================================================================== --- head/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp Wed Mar 18 18:26:53 2020 (r359082) @@ -13909,7 +13909,12 @@ void Sema::ActOnStmtExprError() { } ExprResult Sema::ActOnStmtExpr(Scope *S, SourceLocation LPLoc, Stmt *SubStmt, - SourceLocation RPLoc) { // "({..})" + SourceLocation RPLoc) { + return BuildStmtExpr(LPLoc, SubStmt, RPLoc, getTemplateDepth(S)); +} + +ExprResult Sema::BuildStmtExpr(SourceLocation LPLoc, Stmt *SubStmt, + SourceLocation RPLoc, unsigned TemplateDepth) { assert(SubStmt && isa(SubStmt) && "Invalid action invocation!"); CompoundStmt *Compound = cast(SubStmt); @@ -13938,18 +13943,10 @@ ExprResult Sema::ActOnStmtExpr(Scope *S, SourceLocatio } } - bool IsDependentContext = false; - if (S) - IsDependentContext = S->getTemplateParamParent() != nullptr; - else - // FIXME: This is not correct when substituting inside a templated - // context that isn't a DeclContext (such as a variable template). - IsDependentContext = CurContext->isDependentContext(); - // FIXME: Check that expression type is complete/non-abstract; statement // expressions are not lvalues. Expr *ResStmtExpr = - new (Context) StmtExpr(Compound, Ty, LPLoc, RPLoc, IsDependentContext); + new (Context) StmtExpr(Compound, Ty, LPLoc, RPLoc, TemplateDepth); if (StmtExprMayBindToTemp) return MaybeBindToTemporary(ResStmtExpr); return ResStmtExpr; Modified: head/contrib/llvm-project/clang/lib/Sema/SemaExprCXX.cpp ============================================================================== --- head/contrib/llvm-project/clang/lib/Sema/SemaExprCXX.cpp Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/clang/lib/Sema/SemaExprCXX.cpp Wed Mar 18 18:26:53 2020 (r359082) @@ -6802,7 +6802,7 @@ Stmt *Sema::MaybeCreateStmtWithCleanups(Stmt *SubStmt) Context, SubStmt, SourceLocation(), SourceLocation()); Expr *E = new (Context) StmtExpr(CompStmt, Context.VoidTy, SourceLocation(), SourceLocation(), - CurContext->isDependentContext()); + /*FIXME TemplateDepth=*/0); return MaybeCreateExprWithCleanups(E); } Modified: head/contrib/llvm-project/clang/lib/Sema/SemaTemplate.cpp ============================================================================== --- head/contrib/llvm-project/clang/lib/Sema/SemaTemplate.cpp Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/clang/lib/Sema/SemaTemplate.cpp Wed Mar 18 18:26:53 2020 (r359082) @@ -46,6 +46,48 @@ clang::getTemplateParamsRange(TemplateParameterList co return SourceRange(Ps[0]->getTemplateLoc(), Ps[N-1]->getRAngleLoc()); } +unsigned Sema::getTemplateDepth(Scope *S) const { + unsigned Depth = 0; + + // Each template parameter scope represents one level of template parameter + // depth. + for (Scope *TempParamScope = S->getTemplateParamParent(); + TempParamScope && !Depth; + TempParamScope = TempParamScope->getParent()->getTemplateParamParent()) { + ++Depth; + } + + // Note that there are template parameters with the given depth. + auto ParamsAtDepth = [&](unsigned D) { Depth = std::max(Depth, D + 1); }; + + // Look for parameters of an enclosing generic lambda. We don't create a + // template parameter scope for these. + for (FunctionScopeInfo *FSI : getFunctionScopes()) { + if (auto *LSI = dyn_cast(FSI)) { + if (!LSI->TemplateParams.empty()) { + ParamsAtDepth(LSI->AutoTemplateParameterDepth); + break; + } + if (LSI->GLTemplateParameterList) { + ParamsAtDepth(LSI->GLTemplateParameterList->getDepth()); + break; + } + } + } + + // Look for parameters of an enclosing terse function template. We don't + // create a template parameter scope for these either. + for (const InventedTemplateParameterInfo &Info : + getInventedParameterInfos()) { + if (!Info.TemplateParams.empty()) { + ParamsAtDepth(Info.AutoTemplateParameterDepth); + break; + } + } + + return Depth; +} + /// \brief Determine whether the declaration found is acceptable as the name /// of a template and, if so, return that template declaration. Otherwise, /// returns null. @@ -2173,9 +2215,15 @@ struct ConvertConstructorToDeductionGuideTransform { ( // constructor. ExprResult NewDefArg; if (OldParam->hasDefaultArg()) { - NewDefArg = SemaRef.SubstExpr(OldParam->getDefaultArg(), Args); - if (NewDefArg.isInvalid()) - return nullptr; + // We don't care what the value is (we won't use it); just create a + // placeholder to indicate there is a default argument. + QualType ParamTy = NewDI->getType(); + NewDefArg = new (SemaRef.Context) + OpaqueValueExpr(OldParam->getDefaultArg()->getBeginLoc(), + ParamTy.getNonLValueExprType(SemaRef.Context), + ParamTy->isLValueReferenceType() ? VK_LValue : + ParamTy->isRValueReferenceType() ? VK_XValue : + VK_RValue); } ParmVarDecl *NewParam = ParmVarDecl::Create(SemaRef.Context, DC, Modified: head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp ============================================================================== --- head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp Wed Mar 18 18:26:53 2020 (r359082) @@ -922,6 +922,10 @@ namespace { this->Entity = Entity; } + unsigned TransformTemplateDepth(unsigned Depth) { + return TemplateArgs.getNewDepth(Depth); + } + bool TryExpandParameterPacks(SourceLocation EllipsisLoc, SourceRange PatternRange, ArrayRef Unexpanded, @@ -2162,7 +2166,7 @@ namespace { // The deduced type itself. TemplateTypeParmDecl *VisitTemplateTypeParmType( const TemplateTypeParmType *T) { - if (!T->getDecl()->isImplicit()) + if (!T->getDecl() || !T->getDecl()->isImplicit()) return nullptr; return T->getDecl(); } Modified: head/contrib/llvm-project/clang/lib/Sema/TreeTransform.h ============================================================================== --- head/contrib/llvm-project/clang/lib/Sema/TreeTransform.h Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/clang/lib/Sema/TreeTransform.h Wed Mar 18 18:26:53 2020 (r359082) @@ -212,6 +212,14 @@ class TreeTransform { (public) return T.isNull(); } + /// Transform a template parameter depth level. + /// + /// During a transformation that transforms template parameters, this maps + /// an old template parameter depth to a new depth. + unsigned TransformTemplateDepth(unsigned Depth) { + return Depth; + } + /// Determine whether the given call argument should be dropped, e.g., /// because it is a default argument. /// @@ -2527,8 +2535,9 @@ class TreeTransform { (public) /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. ExprResult RebuildStmtExpr(SourceLocation LParenLoc, Stmt *SubStmt, - SourceLocation RParenLoc) { - return getSema().ActOnStmtExpr(nullptr, LParenLoc, SubStmt, RParenLoc); + SourceLocation RParenLoc, unsigned TemplateDepth) { + return getSema().BuildStmtExpr(LParenLoc, SubStmt, RParenLoc, + TemplateDepth); } /// Build a new __builtin_choose_expr expression. @@ -10345,16 +10354,18 @@ TreeTransform::TransformStmtExpr(StmtExpr *E) return ExprError(); } - if (!getDerived().AlwaysRebuild() && + unsigned OldDepth = E->getTemplateDepth(); + unsigned NewDepth = getDerived().TransformTemplateDepth(OldDepth); + + if (!getDerived().AlwaysRebuild() && OldDepth == NewDepth && SubStmt.get() == E->getSubStmt()) { // Calling this an 'error' is unintuitive, but it does the right thing. SemaRef.ActOnStmtExprError(); return SemaRef.MaybeBindToTemporary(E); } - return getDerived().RebuildStmtExpr(E->getLParenLoc(), - SubStmt.get(), - E->getRParenLoc()); + return getDerived().RebuildStmtExpr(E->getLParenLoc(), SubStmt.get(), + E->getRParenLoc(), NewDepth); } template Modified: head/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp ============================================================================== --- head/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp Wed Mar 18 18:26:53 2020 (r359082) @@ -2867,7 +2867,8 @@ uint64_t ASTReader::getGlobalBitOffset(ModuleFile &M, return LocalOffset + M.GlobalBitOffset; } -static bool isSameTemplateParameterList(const TemplateParameterList *X, +static bool isSameTemplateParameterList(const ASTContext &C, + const TemplateParameterList *X, const TemplateParameterList *Y); /// Determine whether two template parameters are similar enough @@ -2879,7 +2880,32 @@ static bool isSameTemplateParameter(const NamedDecl *X if (const auto *TX = dyn_cast(X)) { const auto *TY = cast(Y); - return TX->isParameterPack() == TY->isParameterPack(); + if (TX->isParameterPack() != TY->isParameterPack()) + return false; + if (TX->hasTypeConstraint() != TY->hasTypeConstraint()) + return false; + if (TX->hasTypeConstraint()) { + const TypeConstraint *TXTC = TX->getTypeConstraint(); + const TypeConstraint *TYTC = TY->getTypeConstraint(); + if (TXTC->getNamedConcept() != TYTC->getNamedConcept()) + return false; + if (TXTC->hasExplicitTemplateArgs() != TYTC->hasExplicitTemplateArgs()) + return false; + if (TXTC->hasExplicitTemplateArgs()) { + const auto *TXTCArgs = TXTC->getTemplateArgsAsWritten(); + const auto *TYTCArgs = TYTC->getTemplateArgsAsWritten(); + if (TXTCArgs->NumTemplateArgs != TYTCArgs->NumTemplateArgs) + return false; + llvm::FoldingSetNodeID XID, YID; + for (const auto &ArgLoc : TXTCArgs->arguments()) + ArgLoc.getArgument().Profile(XID, X->getASTContext()); + for (const auto &ArgLoc : TYTCArgs->arguments()) + ArgLoc.getArgument().Profile(YID, Y->getASTContext()); + if (XID != YID) + return false; + } + } + return true; } if (const auto *TX = dyn_cast(X)) { @@ -2891,7 +2917,8 @@ static bool isSameTemplateParameter(const NamedDecl *X const auto *TX = cast(X); const auto *TY = cast(Y); return TX->isParameterPack() == TY->isParameterPack() && - isSameTemplateParameterList(TX->getTemplateParameters(), + isSameTemplateParameterList(TX->getASTContext(), + TX->getTemplateParameters(), TY->getTemplateParameters()); } @@ -2944,7 +2971,8 @@ static bool isSameQualifier(const NestedNameSpecifier /// Determine whether two template parameter lists are similar enough /// that they may be used in declarations of the same template. -static bool isSameTemplateParameterList(const TemplateParameterList *X, +static bool isSameTemplateParameterList(const ASTContext &C, + const TemplateParameterList *X, const TemplateParameterList *Y) { if (X->size() != Y->size()) return false; @@ -2953,6 +2981,18 @@ static bool isSameTemplateParameterList(const Template if (!isSameTemplateParameter(X->getParam(I), Y->getParam(I))) return false; + const Expr *XRC = X->getRequiresClause(); + const Expr *YRC = Y->getRequiresClause(); + if (!XRC != !YRC) + return false; + if (XRC) { + llvm::FoldingSetNodeID XRCID, YRCID; + XRC->Profile(XRCID, C, /*Canonical=*/true); + YRC->Profile(YRCID, C, /*Canonical=*/true); + if (XRCID != YRCID) + return false; + } + return true; } @@ -2989,7 +3029,7 @@ static bool hasSameOverloadableAttrs(const FunctionDec return true; } -/// Determine whether the two declarations refer to the same entity. +/// Determine whether the two declarations refer to the same entity.pr static bool isSameEntity(NamedDecl *X, NamedDecl *Y) { assert(X->getDeclName() == Y->getDeclName() && "Declaration name mismatch!"); @@ -3064,6 +3104,19 @@ static bool isSameEntity(NamedDecl *X, NamedDecl *Y) { } ASTContext &C = FuncX->getASTContext(); + + const Expr *XRC = FuncX->getTrailingRequiresClause(); + const Expr *YRC = FuncY->getTrailingRequiresClause(); + if (!XRC != !YRC) + return false; + if (XRC) { + llvm::FoldingSetNodeID XRCID, YRCID; + XRC->Profile(XRCID, C, /*Canonical=*/true); + YRC->Profile(YRCID, C, /*Canonical=*/true); + if (XRCID != YRCID) + return false; + } + auto GetTypeAsWritten = [](const FunctionDecl *FD) { // Map to the first declaration that we've already merged into this one. // The TSI of redeclarations might not match (due to calling conventions @@ -3087,6 +3140,7 @@ static bool isSameEntity(NamedDecl *X, NamedDecl *Y) { return true; return false; } + return FuncX->getLinkageInternal() == FuncY->getLinkageInternal() && hasSameOverloadableAttrs(FuncX, FuncY); } @@ -3126,7 +3180,8 @@ static bool isSameEntity(NamedDecl *X, NamedDecl *Y) { const auto *TemplateY = cast(Y); return isSameEntity(TemplateX->getTemplatedDecl(), TemplateY->getTemplatedDecl()) && - isSameTemplateParameterList(TemplateX->getTemplateParameters(), + isSameTemplateParameterList(TemplateX->getASTContext(), + TemplateX->getTemplateParameters(), TemplateY->getTemplateParameters()); } Modified: head/contrib/llvm-project/clang/lib/Serialization/ASTReaderStmt.cpp ============================================================================== --- head/contrib/llvm-project/clang/lib/Serialization/ASTReaderStmt.cpp Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/clang/lib/Serialization/ASTReaderStmt.cpp Wed Mar 18 18:26:53 2020 (r359082) @@ -754,6 +754,7 @@ void ASTStmtReader::VisitConceptSpecializationExpr( E->TemplateKWLoc = Record.readSourceLocation(); E->ConceptName = Record.readDeclarationNameInfo(); E->NamedConcept = readDeclAs(); + E->FoundDecl = Record.readDeclAs(); E->ArgsAsWritten = Record.readASTTemplateArgumentListInfo(); llvm::SmallVector Args; for (unsigned I = 0; I < NumTemplateArgs; ++I) @@ -1190,6 +1191,7 @@ void ASTStmtReader::VisitStmtExpr(StmtExpr *E) { E->setLParenLoc(readSourceLocation()); E->setRParenLoc(readSourceLocation()); E->setSubStmt(cast_or_null(Record.readSubStmt())); + E->StmtExprBits.TemplateDepth = Record.readInt(); } void ASTStmtReader::VisitChooseExpr(ChooseExpr *E) { Modified: head/contrib/llvm-project/clang/lib/Serialization/ASTWriterStmt.cpp ============================================================================== --- head/contrib/llvm-project/clang/lib/Serialization/ASTWriterStmt.cpp Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/clang/lib/Serialization/ASTWriterStmt.cpp Wed Mar 18 18:26:53 2020 (r359082) @@ -429,6 +429,7 @@ void ASTStmtWriter::VisitConceptSpecializationExpr( Record.AddSourceLocation(E->getTemplateKWLoc()); Record.AddDeclarationNameInfo(E->getConceptNameInfo()); Record.AddDeclRef(E->getNamedConcept()); + Record.AddDeclRef(E->getFoundDecl()); Record.AddASTTemplateArgumentListInfo(E->getTemplateArgsAsWritten()); for (const TemplateArgument &Arg : TemplateArgs) Record.AddTemplateArgument(Arg); @@ -1068,6 +1069,7 @@ void ASTStmtWriter::VisitStmtExpr(StmtExpr *E) { Record.AddStmt(E->getSubStmt()); Record.AddSourceLocation(E->getLParenLoc()); Record.AddSourceLocation(E->getRParenLoc()); + Record.push_back(E->getTemplateDepth()); Code = serialization::EXPR_STMT; } Modified: head/contrib/llvm-project/clang/tools/driver/driver.cpp ============================================================================== --- head/contrib/llvm-project/clang/tools/driver/driver.cpp Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/clang/tools/driver/driver.cpp Wed Mar 18 18:26:53 2020 (r359082) @@ -30,6 +30,7 @@ #include "llvm/Option/ArgList.h" #include "llvm/Option/OptTable.h" #include "llvm/Option/Option.h" +#include "llvm/Support/BuryPointer.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/CrashRecoveryContext.h" #include "llvm/Support/ErrorHandling.h" @@ -491,6 +492,7 @@ int main(int argc_, const char **argv_) { std::unique_ptr C(TheDriver.BuildCompilation(argv)); int Res = 1; + bool IsCrash = false; if (C && !C->containsError()) { SmallVector, 4> FailingCommands; Res = TheDriver.ExecuteCompilation(*C, FailingCommands); @@ -517,11 +519,11 @@ int main(int argc_, const char **argv_) { // If result status is 70, then the driver command reported a fatal error. // On Windows, abort will return an exit code of 3. In these cases, // generate additional diagnostic information if possible. - bool DiagnoseCrash = CommandRes < 0 || CommandRes == 70; + IsCrash = CommandRes < 0 || CommandRes == 70; #ifdef _WIN32 - DiagnoseCrash |= CommandRes == 3; + IsCrash |= CommandRes == 3; #endif - if (DiagnoseCrash) { + if (IsCrash) { TheDriver.generateCompilationDiagnostics(*C, *FailingCommand); break; } @@ -530,10 +532,16 @@ int main(int argc_, const char **argv_) { Diags.getClient()->finish(); - // If any timers were active but haven't been destroyed yet, print their - // results now. This happens in -disable-free mode. - llvm::TimerGroup::printAll(llvm::errs()); - llvm::TimerGroup::clearAll(); + if (!UseNewCC1Process && IsCrash) { + // When crashing in -fintegrated-cc1 mode, bury the timer pointers, because + // the internal linked list might point to already released stack frames. + llvm::BuryPointer(llvm::TimerGroup::aquireDefaultGroup()); + } else { + // If any timers were active but haven't been destroyed yet, print their + // results now. This happens in -disable-free mode. + llvm::TimerGroup::printAll(llvm::errs()); + llvm::TimerGroup::clearAll(); + } #ifdef _WIN32 // Exit status should not be negative on Win32, unless abnormal termination. Modified: head/contrib/llvm-project/llvm/include/llvm/Support/ManagedStatic.h ============================================================================== --- head/contrib/llvm-project/llvm/include/llvm/Support/ManagedStatic.h Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/llvm/include/llvm/Support/ManagedStatic.h Wed Mar 18 18:26:53 2020 (r359082) @@ -102,6 +102,12 @@ class ManagedStatic : public ManagedStaticBase { (publ } const C *operator->() const { return &**this; } + + // Extract the instance, leaving the ManagedStatic uninitialized. The + // user is then responsible for the lifetime of the returned instance. + C *claim() { + return static_cast(Ptr.exchange(nullptr)); + } }; /// llvm_shutdown - Deallocate and destroy all ManagedStatic variables. Modified: head/contrib/llvm-project/llvm/include/llvm/Support/Timer.h ============================================================================== --- head/contrib/llvm-project/llvm/include/llvm/Support/Timer.h Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/llvm/include/llvm/Support/Timer.h Wed Mar 18 18:26:53 2020 (r359082) @@ -230,6 +230,11 @@ class TimerGroup { (public) /// used by the Statistic code to influence the construction and destruction /// order of the global timer lists. static void ConstructTimerLists(); + + /// This makes the default group unmanaged, and lets the user manage the + /// group's lifetime. + static std::unique_ptr aquireDefaultGroup(); + private: friend class Timer; friend void PrintStatisticsJSON(raw_ostream &OS); Modified: head/contrib/llvm-project/llvm/lib/Support/Timer.cpp ============================================================================== --- head/contrib/llvm-project/llvm/lib/Support/Timer.cpp Wed Mar 18 18:21:58 2020 (r359081) +++ head/contrib/llvm-project/llvm/lib/Support/Timer.cpp Wed Mar 18 18:26:53 2020 (r359082) @@ -441,3 +441,7 @@ const char *TimerGroup::printAllJSONValues(raw_ostream void TimerGroup::ConstructTimerLists() { (void)*NamedGroupedTimers; } + +std::unique_ptr TimerGroup::aquireDefaultGroup() { + return std::unique_ptr(DefaultTimerGroup.claim()); +} Modified: head/lib/clang/include/VCSVersion.inc ============================================================================== --- head/lib/clang/include/VCSVersion.inc Wed Mar 18 18:21:58 2020 (r359081) +++ head/lib/clang/include/VCSVersion.inc Wed Mar 18 18:26:53 2020 (r359082) @@ -1,14 +1,14 @@ // $FreeBSD$ -#define LLVM_REVISION "llvmorg-10.0.0-rc3-1-gc290cb61fdc" +#define LLVM_REVISION "llvmorg-10.0.0-rc4-5-g52c365aa9ca" #define LLVM_REPOSITORY "git@github.com:llvm/llvm-project.git" -#define CLANG_REVISION "llvmorg-10.0.0-rc3-1-gc290cb61fdc" +#define CLANG_REVISION "llvmorg-10.0.0-rc4-5-g52c365aa9ca" #define CLANG_REPOSITORY "git@github.com:llvm/llvm-project.git" // - -#define LLD_REVISION "llvmorg-10.0.0-rc3-1-gc290cb61fdc-1300007" +#define LLD_REVISION "llvmorg-10.0.0-rc4-5-g52c365aa9ca-1300007" #define LLD_REPOSITORY "FreeBSD" -#define LLDB_REVISION "llvmorg-10.0.0-rc3-1-gc290cb61fdc" +#define LLDB_REVISION "llvmorg-10.0.0-rc4-5-g52c365aa9ca" #define LLDB_REPOSITORY "git@github.com:llvm/llvm-project.git" Modified: head/lib/clang/include/llvm/Support/VCSRevision.h ============================================================================== --- head/lib/clang/include/llvm/Support/VCSRevision.h Wed Mar 18 18:21:58 2020 (r359081) +++ head/lib/clang/include/llvm/Support/VCSRevision.h Wed Mar 18 18:26:53 2020 (r359082) @@ -1,3 +1,3 @@ /* $FreeBSD$ */ -#define LLVM_REVISION "llvmorg-10.0.0-rc3-1-gc290cb61fdc" +#define LLVM_REVISION "llvmorg-10.0.0-rc4-5-g52c365aa9ca" #define LLVM_REPOSITORY "git@github.com:llvm/llvm-project.git" From owner-svn-src-all@freebsd.org Wed Mar 18 20:12:48 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8E67826B613; Wed, 18 Mar 2020 20:12:48 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jLnC6hX4z4B65; Wed, 18 Mar 2020 20:12:47 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2BF1E275AB; Wed, 18 Mar 2020 20:12:47 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IKCljE081304; Wed, 18 Mar 2020 20:12:47 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IKClM7081303; Wed, 18 Mar 2020 20:12:47 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003182012.02IKClM7081303@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 18 Mar 2020 20:12:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359083 - head X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 359083 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 20:12:48 -0000 Author: emaste Date: Wed Mar 18 20:12:46 2020 New Revision: 359083 URL: https://svnweb.freebsd.org/changeset/base/359083 Log: invoke _cleanobj_fast_depend_hack unconditionally Apparently make ${CLEANDIR} is leaving stale entries in .depend files; for now invoke the hacky cleanup in both the -DNO_CLEAN and normal (no -DNO_CLEAN) cases. In collaboration with: dim Sponsored by: The FreeBSD Foundation Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Wed Mar 18 18:26:53 2020 (r359082) +++ head/Makefile.inc1 Wed Mar 18 20:12:46 2020 (r359083) @@ -1082,9 +1082,10 @@ _cleanobj: .if defined(_LIBCOMPAT) ${_+_}cd ${.CURDIR}; ${LIBCOMPATWMAKE} _NO_INCLUDE_COMPILERMK=t -f Makefile.inc1 ${CLEANDIR} .endif -.else - ${_+_}cd ${.CURDIR}; ${WMAKE} _NO_INCLUDE_COMPILERMK=t _cleanobj_fast_depend_hack .endif # !defined(NO_CLEAN) + # XXX make cleandir left stale .depend files behind, so invoke the + # dependency cleanup hack unconditionally. + ${_+_}cd ${.CURDIR}; ${WMAKE} _NO_INCLUDE_COMPILERMK=t _cleanobj_fast_depend_hack _obj: @echo @echo "--------------------------------------------------------------" From owner-svn-src-all@freebsd.org Wed Mar 18 20:26:19 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AE8D526BC67; Wed, 18 Mar 2020 20:26:19 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-il1-f175.google.com (mail-il1-f175.google.com [209.85.166.175]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jM4p00DZz3Hcn; Wed, 18 Mar 2020 20:26:17 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-il1-f175.google.com with SMTP id k29so135398ilg.0; Wed, 18 Mar 2020 13:26:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=y84HSYT/KU47dS8I7vahyzfoRrcRLQ1qJd/Y9paCZi8=; b=Geg7Y7GsfxZSM0QPrpOowtMfD+dxIVn9JvKHVg3zORCgr1J7+XsHQx++IzJaOizhgL aEdLu1LRw97RMYKlmsEToSfd4DNRoh/ReJTLokdiiirLDEZNrQE+D15ORGa5Sctd7VsQ k2ZtKml/lJ+x/Uy1x3FqoqU+U2O74MLLI2DMl3wxrVAoVID1d1E5ZofF3cZa9mf4BQ0c UGtipnejD60atycN7F007RUEcVP2y2+ojafxSdc7Fgjx6zVHMjO12SUIcwvIzdBxE9G7 jOa4gkeBcs068ianWs/drkhnfr4D3HQTsOcXE96nOf7HoIW1Y35jCj/TR+XWOKl3tzWh pRAQ== X-Gm-Message-State: ANhLgQ2yloElb6qBJwcjFv9NcrloHqMX1OJAZHMVUozd0QI6cVUrhHy0 RUhMIbholuGGitf5RLSkVRi4pHFl8tMNQFCGPi9F5Q== X-Google-Smtp-Source: ADFU+vvgUvUHqSiVSou9TSxYUtVOANeDcn58idqfjZRouAYJGmn6vbvejBzNEXPpV38OEWIJeGkAep2x+fOWlz4rFwY= X-Received: by 2002:a92:8312:: with SMTP id f18mr5709630ild.98.1584563175890; Wed, 18 Mar 2020 13:26:15 -0700 (PDT) MIME-Version: 1.0 References: <202003182012.02IKClM7081303@repo.freebsd.org> In-Reply-To: <202003182012.02IKClM7081303@repo.freebsd.org> From: Ed Maste Date: Wed, 18 Mar 2020 16:26:02 -0400 Message-ID: Subject: Re: svn commit: r359083 - head To: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48jM4p00DZz3Hcn X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of carpeddiem@gmail.com designates 209.85.166.175 as permitted sender) smtp.mailfrom=carpeddiem@gmail.com X-Spamd-Result: default: False [-3.87 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.org]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; IP_SCORE(-1.87)[ip: (-4.69), ipnet: 209.85.128.0/17(-2.97), asn: 15169(-1.65), country: US(-0.05)]; TO_DN_ALL(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[175.166.85.209.list.dnswl.org : 127.0.5.0]; FORGED_SENDER(0.30)[emaste@freebsd.org,carpeddiem@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[175.166.85.209.rep.mailspike.net : 127.0.0.17]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[emaste@freebsd.org,carpeddiem@gmail.com]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 20:26:19 -0000 On Wed, 18 Mar 2020 at 16:12, Ed Maste wrote: > > Author: emaste > Date: Wed Mar 18 20:12:46 2020 > New Revision: 359083 > URL: https://svnweb.freebsd.org/changeset/base/359083 > > Log: > invoke _cleanobj_fast_depend_hack unconditionally > > Apparently make ${CLEANDIR} is leaving stale entries in .depend files; > for now invoke the hacky cleanup in both the -DNO_CLEAN and normal > (no -DNO_CLEAN) cases. To be clear this is a workaround; the make ${CLEANDIR} step in a regular build (without -DNO_CLEAN) should remove the stale dependencies. Once the underlying problem is fixed we can revert this change. From owner-svn-src-all@freebsd.org Wed Mar 18 20:28:28 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 51EB726BDD8; Wed, 18 Mar 2020 20:28:28 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jM7H5nGvz3NHS; Wed, 18 Mar 2020 20:28:27 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9E9F427797; Wed, 18 Mar 2020 20:28:27 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IKSRcN087850; Wed, 18 Mar 2020 20:28:27 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IKSQGH087844; Wed, 18 Mar 2020 20:28:26 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202003182028.02IKSQGH087844@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 18 Mar 2020 20:28:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359084 - in head/contrib/llvm-project/lld/ELF: . Arch X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in head/contrib/llvm-project/lld/ELF: . Arch X-SVN-Commit-Revision: 359084 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 20:28:28 -0000 Author: dim Date: Wed Mar 18 20:28:26 2020 New Revision: 359084 URL: https://svnweb.freebsd.org/changeset/base/359084 Log: Merge commit 00925aadb from llvm git (by Fangrui Song): [ELF][PPC32] Fix canonical PLTs when the order does not match the PLT order Reviewed By: Bdragon28 Differential Revision: https://reviews.llvm.org/D75394 This is needed to fix miscompiled canonical PLTs on ppc32/lld10. Requested by: bdragon MFC after: 6 weeks X-MFC-With: 358851 Differential Revision: https://reviews.freebsd.org/D24109 Modified: head/contrib/llvm-project/lld/ELF/Arch/PPC.cpp head/contrib/llvm-project/lld/ELF/Relocations.cpp head/contrib/llvm-project/lld/ELF/SyntheticSections.cpp head/contrib/llvm-project/lld/ELF/SyntheticSections.h head/contrib/llvm-project/lld/ELF/Writer.cpp Modified: head/contrib/llvm-project/lld/ELF/Arch/PPC.cpp ============================================================================== --- head/contrib/llvm-project/lld/ELF/Arch/PPC.cpp Wed Mar 18 20:12:46 2020 (r359083) +++ head/contrib/llvm-project/lld/ELF/Arch/PPC.cpp Wed Mar 18 20:28:26 2020 (r359084) @@ -71,12 +71,11 @@ void writePPC32GlinkSection(uint8_t *buf, size_t numEn // non-GOT-non-PLT relocations referencing external functions for -fpie/-fPIE. uint32_t glink = in.plt->getVA(); // VA of .glink if (!config->isPic) { - for (const Symbol *sym : in.plt->entries) - if (sym->needsPltAddr) { - writePPC32PltCallStub(buf, sym->getGotPltVA(), nullptr, 0); - buf += 16; - glink += 16; - } + for (const Symbol *sym : cast(in.plt)->canonical_plts) { + writePPC32PltCallStub(buf, sym->getGotPltVA(), nullptr, 0); + buf += 16; + glink += 16; + } } // On PPC Secure PLT ABI, bl foo@plt jumps to a call stub, which loads an Modified: head/contrib/llvm-project/lld/ELF/Relocations.cpp ============================================================================== --- head/contrib/llvm-project/lld/ELF/Relocations.cpp Wed Mar 18 20:12:46 2020 (r359083) +++ head/contrib/llvm-project/lld/ELF/Relocations.cpp Wed Mar 18 20:28:26 2020 (r359084) @@ -1206,6 +1206,7 @@ static void processRelocAux(InputSectionBase &sec, Rel // PPC32 canonical PLT entries are at the beginning of .glink cast(sym).value = in.plt->headerSize; in.plt->headerSize += 16; + cast(in.plt)->canonical_plts.push_back(&sym); } } sym.needsPltAddr = true; Modified: head/contrib/llvm-project/lld/ELF/SyntheticSections.cpp ============================================================================== --- head/contrib/llvm-project/lld/ELF/SyntheticSections.cpp Wed Mar 18 20:12:46 2020 (r359083) +++ head/contrib/llvm-project/lld/ELF/SyntheticSections.cpp Wed Mar 18 20:28:26 2020 (r359084) @@ -2446,12 +2446,9 @@ PltSection::PltSection() : SyntheticSection(SHF_ALLOC | SHF_EXECINSTR, SHT_PROGBITS, 16, ".plt"), headerSize(target->pltHeaderSize) { // On PowerPC, this section contains lazy symbol resolvers. - if (config->emachine == EM_PPC || config->emachine == EM_PPC64) { + if (config->emachine == EM_PPC64) { name = ".glink"; alignment = 4; - // PLTresolve is at the end. - if (config->emachine == EM_PPC) - footerSize = 64; } // On x86 when IBT is enabled, this section contains the second PLT (lazy @@ -2467,11 +2464,6 @@ PltSection::PltSection() } void PltSection::writeTo(uint8_t *buf) { - if (config->emachine == EM_PPC) { - writePPC32GlinkSection(buf, entries.size()); - return; - } - // At beginning of PLT, we have code to call the dynamic // linker to resolve dynsyms at runtime. Write such code. target->writePltHeader(buf); @@ -2489,7 +2481,7 @@ void PltSection::addEntry(Symbol &sym) { } size_t PltSection::getSize() const { - return headerSize + entries.size() * target->pltEntrySize + footerSize; + return headerSize + entries.size() * target->pltEntrySize; } bool PltSection::isNeeded() const { @@ -2541,6 +2533,19 @@ void IpltSection::addSymbols() { target->addPltSymbols(*this, off); off += target->pltEntrySize; } +} + +PPC32GlinkSection::PPC32GlinkSection() { + name = ".glink"; + alignment = 4; +} + +void PPC32GlinkSection::writeTo(uint8_t *buf) { + writePPC32GlinkSection(buf, entries.size()); +} + +size_t PPC32GlinkSection::getSize() const { + return headerSize + entries.size() * target->pltEntrySize + footerSize; } // This is an x86-only extra PLT section and used only when a security Modified: head/contrib/llvm-project/lld/ELF/SyntheticSections.h ============================================================================== --- head/contrib/llvm-project/lld/ELF/SyntheticSections.h Wed Mar 18 20:12:46 2020 (r359083) +++ head/contrib/llvm-project/lld/ELF/SyntheticSections.h Wed Mar 18 20:28:26 2020 (r359084) @@ -684,7 +684,6 @@ class PltSection : public SyntheticSection { (public) size_t getNumEntries() const { return entries.size(); } size_t headerSize; - size_t footerSize = 0; std::vector entries; }; @@ -703,6 +702,16 @@ class IpltSection final : public SyntheticSection { (p bool isNeeded() const override { return !entries.empty(); } void addSymbols(); void addEntry(Symbol &sym); +}; + +class PPC32GlinkSection : public PltSection { +public: + PPC32GlinkSection(); + void writeTo(uint8_t *buf) override; + size_t getSize() const override; + + std::vector canonical_plts; + static constexpr size_t footerSize = 64; }; // This is x86-only. Modified: head/contrib/llvm-project/lld/ELF/Writer.cpp ============================================================================== --- head/contrib/llvm-project/lld/ELF/Writer.cpp Wed Mar 18 20:12:46 2020 (r359083) +++ head/contrib/llvm-project/lld/ELF/Writer.cpp Wed Mar 18 20:28:26 2020 (r359084) @@ -521,7 +521,8 @@ template void createSyntheticSections() { add(in.ibtPlt); } - in.plt = make(); + in.plt = config->emachine == EM_PPC ? make() + : make(); add(in.plt); in.iplt = make(); add(in.iplt); From owner-svn-src-all@freebsd.org Wed Mar 18 20:36:34 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3C5AD26C0EF; Wed, 18 Mar 2020 20:36:34 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48jMJd58qTz4Ddj; Wed, 18 Mar 2020 20:36:33 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id 02IKaIjU018685 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Wed, 18 Mar 2020 22:36:21 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 02IKaIjU018685 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id 02IKaIC1018684; Wed, 18 Mar 2020 22:36:18 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Wed, 18 Mar 2020 22:36:18 +0200 From: Konstantin Belousov To: Ian Lepore Cc: John Baldwin , Conrad Meyer , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r359053 - head/sys/kern Message-ID: <20200318203618.GF1992@kib.kiev.ua> References: <202003172227.02HMRHLM086023@repo.freebsd.org> <047c4edb4ff9fa6c40be6492c2f082e374f7a941.camel@freebsd.org> <96b14f0cff17b3367e3428dbcdc1bf12d7ab7356.camel@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <96b14f0cff17b3367e3428dbcdc1bf12d7ab7356.camel@freebsd.org> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on tom.home X-Rspamd-Queue-Id: 48jMJd58qTz4Ddj X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-2.07 / 15.00]; REPLY(-4.00)[]; NEURAL_SPAM_LONG(0.97)[0.970,0]; NEURAL_SPAM_MEDIUM(0.96)[0.962,0] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 20:36:34 -0000 On Tue, Mar 17, 2020 at 07:25:01PM -0600, Ian Lepore wrote: > On Tue, 2020-03-17 at 17:05 -0700, John Baldwin wrote: > > On 3/17/20 3:36 PM, Ian Lepore wrote: > > > On Tue, 2020-03-17 at 22:27 +0000, Conrad Meyer wrote: > > > > Author: cem > > > > Date: Tue Mar 17 22:27:16 2020 > > > > New Revision: 359053 > > > > URL: https://svnweb.freebsd.org/changeset/base/359053 > > > > > > > > Log: > > > > Implement sysctl kern.boot_id > > > > > > > > Boot IDs are random, opaque 128-bit identifiers that > > > > distinguish distinct > > > > system boots. A new ID is generated each time the system > > > > boots. Unlike > > > > kern.boottime, the value is not modified by NTP > > > > adjustments. It remains fixed > > > > until the machine is restarted. > > > > > > > > PR: 244867 > > > > Reported by: Ricardo Fraile > > > > MFC after: I do not intend to, but feel free > > > > > > > > Modified: > > > > head/sys/kern/kern_mib.c > > > > > > > > Modified: head/sys/kern/kern_mib.c > > > > ================================================================= > > > > ============= > > > > --- head/sys/kern/kern_mib.c Tue Mar 17 21:29:03 2020 ( > > > > r359052) > > > > +++ head/sys/kern/kern_mib.c Tue Mar 17 22:27:16 2020 ( > > > > r359053) > > > > @@ -448,6 +448,32 @@ SYSCTL_PROC(_kern, KERN_HOSTID, hostid, > > > > CTLTYPE_ULONG | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE > > > > | CTLFLAG_CAPRD, > > > > NULL, 0, sysctl_hostid, "LU", "Host ID"); > > > > > > > > +static struct mtx bootid_lk; > > > > +MTX_SYSINIT(bootid_lock, &bootid_lk, "bootid generator lock", > > > > MTX_DEF); > > > > + > > > > +static int > > > > +sysctl_bootid(SYSCTL_HANDLER_ARGS) > > > > +{ > > > > + static uint8_t boot_id[16]; > > > > + static bool initialized = false; > > > > + > > > > + mtx_lock(&bootid_lk); > > > > + if (!initialized) { > > > > + if (!is_random_seeded()) { > > > > + mtx_unlock(&bootid_lk); > > > > + return (ENXIO); > > > > + } > > > > + arc4random_buf(boot_id, sizeof(boot_id)); > > > > + initialized = true; > > > > + } > > > > + mtx_unlock(&bootid_lk); > > > > + > > > > + return (SYSCTL_OUT(req, boot_id, sizeof(boot_id))); > > > > +} > > > > +SYSCTL_PROC(_kern, OID_AUTO, boot_id, > > > > + CTLTYPE_STRUCT | CTLFLAG_RD | CTLFLAG_MPSAFE | > > > > CTLFLAG_CAPRD, > > > > + NULL, 0, sysctl_bootid, "", "Random boot ID"); > > > > + > > > > /* > > > > * The osrelease string is copied from the global (osrelease in > > > > vers.c) into > > > > * prison0 by a sysinit and is inherited by child jails if notG > > > > changed at jail > > > > > > This seems a bit complex. Why run a sysinit to init a mutex so > > > that > > > you can safely do a lazy init of boot_id? Seems like it would be > > > much > > > easier to just use a sysinit at SI_SUB_LAST to init boot_id before > > > sysctl can reference it. > > > > Presumably you may not have enough entropy by SI_SUB_LAST to generate > > it? > > > > I thought arc4random in the kernel could provide random numbers > immediately (and definitely after jitter in device attachment times at > the end of kernel init)? This doesn't seem like the kind of thing that > needs crypto-strength randomness. I think that a large simplification can come from the random driver initializing the boot_id variable immediately before setting things so that is_random_seeded() start returning true. But even this might be too complex, Why not copy the value from the boottime on boot, and not ever touch it after. From owner-svn-src-all@freebsd.org Wed Mar 18 20:38:18 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7D8E426C46A; Wed, 18 Mar 2020 20:38:18 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jMLd05pyz4H1Y; Wed, 18 Mar 2020 20:38:16 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 846682797D; Wed, 18 Mar 2020 20:38:16 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IKcGpK093696; Wed, 18 Mar 2020 20:38:16 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IKcGue093694; Wed, 18 Mar 2020 20:38:16 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202003182038.02IKcGue093694@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 18 Mar 2020 20:38:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359085 - head/contrib/llvm-project/lld/ELF X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/contrib/llvm-project/lld/ELF X-SVN-Commit-Revision: 359085 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 20:38:18 -0000 Author: dim Date: Wed Mar 18 20:38:15 2020 New Revision: 359085 URL: https://svnweb.freebsd.org/changeset/base/359085 Log: Merge commit 315f8a55f from llvm git (by Fangrui Song): [ELF][PPC32] Don't report "relocation refers to a discarded section" for .got2 Similar to D63182 [ELF][PPC64] Don't report "relocation refers to a discarded section" for .toc Reviewed By: Bdragon28 Differential Revision: https://reviews.llvm.org/D75419 This is needed to fix compile errors when building for ppc32/lld10. Requested by: bdragon MFC after: 6 weeks X-MFC-With: 358851 Differential Revision: https://reviews.freebsd.org/D24110 Modified: head/contrib/llvm-project/lld/ELF/InputSection.cpp head/contrib/llvm-project/lld/ELF/Relocations.cpp Modified: head/contrib/llvm-project/lld/ELF/InputSection.cpp ============================================================================== --- head/contrib/llvm-project/lld/ELF/InputSection.cpp Wed Mar 18 20:28:26 2020 (r359084) +++ head/contrib/llvm-project/lld/ELF/InputSection.cpp Wed Mar 18 20:38:15 2020 (r359085) @@ -438,12 +438,13 @@ void InputSection::copyRelocations(uint8_t *buf, Array // hopefully creates a frame that is ignored at runtime. Also, don't warn // on .gcc_except_table and debug sections. // - // See the comment in maybeReportUndefined for PPC64 .toc . + // See the comment in maybeReportUndefined for PPC32 .got2 and PPC64 .toc auto *d = dyn_cast(&sym); if (!d) { if (!sec->name.startswith(".debug") && !sec->name.startswith(".zdebug") && sec->name != ".eh_frame" && - sec->name != ".gcc_except_table" && sec->name != ".toc") { + sec->name != ".gcc_except_table" && sec->name != ".got2" && + sec->name != ".toc") { uint32_t secIdx = cast(sym).discardedSecIdx; Elf_Shdr_Impl sec = CHECK(file->getObj().sections(), file)[secIdx]; Modified: head/contrib/llvm-project/lld/ELF/Relocations.cpp ============================================================================== --- head/contrib/llvm-project/lld/ELF/Relocations.cpp Wed Mar 18 20:28:26 2020 (r359084) +++ head/contrib/llvm-project/lld/ELF/Relocations.cpp Wed Mar 18 20:38:15 2020 (r359085) @@ -926,8 +926,12 @@ static bool maybeReportUndefined(Symbol &sym, InputSec // .toc and the .rela.toc are incorrectly not placed in the comdat. The ELF // spec says references from outside the group to a STB_LOCAL symbol are not // allowed. Work around the bug. - if (config->emachine == EM_PPC64 && - cast(sym).discardedSecIdx != 0 && sec.name == ".toc") + // + // PPC32 .got2 is similar but cannot be fixed. Multiple .got2 is infeasible + // because .LC0-.LTOC is not representable if the two labels are in different + // .got2 + if (cast(sym).discardedSecIdx != 0 && + (sec.name == ".got2" || sec.name == ".toc")) return false; bool isWarning = From owner-svn-src-all@freebsd.org Wed Mar 18 20:44:42 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7A41826CE23; Wed, 18 Mar 2020 20:44:42 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jMV16djlz4Q7s; Wed, 18 Mar 2020 20:44:41 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D67F027B55; Wed, 18 Mar 2020 20:44:40 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IKiene099727; Wed, 18 Mar 2020 20:44:40 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IKieL7099726; Wed, 18 Mar 2020 20:44:40 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202003182044.02IKieL7099726@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 18 Mar 2020 20:44:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359086 - head/contrib/llvm-project/llvm/lib/Transforms/Scalar X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/contrib/llvm-project/llvm/lib/Transforms/Scalar X-SVN-Commit-Revision: 359086 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 20:44:42 -0000 Author: dim Date: Wed Mar 18 20:44:40 2020 New Revision: 359086 URL: https://svnweb.freebsd.org/changeset/base/359086 Log: Merge commit b8ebc11f0 from llvm git (by Sanjay Patel): [EarlyCSE] avoid crashing when detecting min/max/abs patterns (PR41083) As discussed in PR41083: https://bugs.llvm.org/show_bug.cgi?id=41083 ...we can assert/crash in EarlyCSE using the current hashing scheme and instructions with flags. ValueTracking's matchSelectPattern() may rely on overflow (nsw, etc) or other flags when detecting patterns such as min/max/abs composed of compare+select. But the value numbering / hashing mechanism used by EarlyCSE intersects those flags to allow more CSE. Several alternatives to solve this are discussed in the bug report. This patch avoids the issue by doing simple matching of min/max/abs patterns that never requires instruction flags. We give up some CSE power because of that, but that is not expected to result in much actual performance difference because InstCombine will canonicalize these patterns when possible. It even has this comment for abs/nabs: /// Canonicalize all these variants to 1 pattern. /// This makes CSE more likely. (And this patch adds PhaseOrdering tests to verify that the expected transforms are still happening in the standard optimization pipelines. I left this code to use ValueTracking's "flavor" enum values, so we don't have to change the callers' code. If we decide to go back to using the ValueTracking call (by changing the hashing algorithm instead), it should be obvious how to replace this chunk. Differential Revision: https://reviews.llvm.org/D74285 This fixes an assertion when building the math/gsl port on PowerPC64. Requested by: pkubja MFC after: 6 weeks X-MFC-With: 358851 Modified: head/contrib/llvm-project/llvm/lib/Transforms/Scalar/EarlyCSE.cpp Modified: head/contrib/llvm-project/llvm/lib/Transforms/Scalar/EarlyCSE.cpp ============================================================================== --- head/contrib/llvm-project/llvm/lib/Transforms/Scalar/EarlyCSE.cpp Wed Mar 18 20:38:15 2020 (r359085) +++ head/contrib/llvm-project/llvm/lib/Transforms/Scalar/EarlyCSE.cpp Wed Mar 18 20:44:40 2020 (r359086) @@ -152,13 +152,50 @@ static bool matchSelectWithOptionalNotCond(Value *V, V std::swap(A, B); } - // Set flavor if we find a match, or set it to unknown otherwise; in - // either case, return true to indicate that this is a select we can - // process. - if (auto *CmpI = dyn_cast(Cond)) - Flavor = matchDecomposedSelectPattern(CmpI, A, B, A, B).Flavor; - else - Flavor = SPF_UNKNOWN; + // Match canonical forms of abs/nabs/min/max. We are not using ValueTracking's + // more powerful matchSelectPattern() because it may rely on instruction flags + // such as "nsw". That would be incompatible with the current hashing + // mechanism that may remove flags to increase the likelihood of CSE. + + // These are the canonical forms of abs(X) and nabs(X) created by instcombine: + // %N = sub i32 0, %X + // %C = icmp slt i32 %X, 0 + // %ABS = select i1 %C, i32 %N, i32 %X + // + // %N = sub i32 0, %X + // %C = icmp slt i32 %X, 0 + // %NABS = select i1 %C, i32 %X, i32 %N + Flavor = SPF_UNKNOWN; + CmpInst::Predicate Pred; + if (match(Cond, m_ICmp(Pred, m_Specific(B), m_ZeroInt())) && + Pred == ICmpInst::ICMP_SLT && match(A, m_Neg(m_Specific(B)))) { + // ABS: B < 0 ? -B : B + Flavor = SPF_ABS; + return true; + } + if (match(Cond, m_ICmp(Pred, m_Specific(A), m_ZeroInt())) && + Pred == ICmpInst::ICMP_SLT && match(B, m_Neg(m_Specific(A)))) { + // NABS: A < 0 ? A : -A + Flavor = SPF_NABS; + return true; + } + + if (!match(Cond, m_ICmp(Pred, m_Specific(A), m_Specific(B)))) { + // Check for commuted variants of min/max by swapping predicate. + // If we do not match the standard or commuted patterns, this is not a + // recognized form of min/max, but it is still a select, so return true. + if (!match(Cond, m_ICmp(Pred, m_Specific(B), m_Specific(A)))) + return true; + Pred = ICmpInst::getSwappedPredicate(Pred); + } + + switch (Pred) { + case CmpInst::ICMP_UGT: Flavor = SPF_UMAX; break; + case CmpInst::ICMP_ULT: Flavor = SPF_UMIN; break; + case CmpInst::ICMP_SGT: Flavor = SPF_SMAX; break; + case CmpInst::ICMP_SLT: Flavor = SPF_SMIN; break; + default: break; + } return true; } From owner-svn-src-all@freebsd.org Wed Mar 18 20:50:33 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1540926CF67; Wed, 18 Mar 2020 20:50:33 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jMcm5WVcz4Z1K; Wed, 18 Mar 2020 20:50:32 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6C8F327BA9; Wed, 18 Mar 2020 20:50:32 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IKoW0W000199; Wed, 18 Mar 2020 20:50:32 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IKoUJA000186; Wed, 18 Mar 2020 20:50:30 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202003182050.02IKoUJA000186@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 18 Mar 2020 20:50:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359087 - head/contrib/llvm-project/libcxx/include X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/contrib/llvm-project/libcxx/include X-SVN-Commit-Revision: 359087 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 20:50:33 -0000 Author: dim Date: Wed Mar 18 20:50:30 2020 New Revision: 359087 URL: https://svnweb.freebsd.org/changeset/base/359087 Log: Merge commit 585a3cc31 from llvm git (by me): Fix -Wdeprecated-copy-dtor and -Wdeprecated-dynamic-exception-spec warnings. Summary: The former are like: libcxx/include/typeinfo:322:11: warning: definition of implicit copy constructor for 'bad_cast' is deprecated because it has a user-declared destructor [-Wdeprecated-copy-dtor] virtual ~bad_cast() _NOEXCEPT; ^ libcxx/include/typeinfo:344:11: note: in implicit copy constructor for 'std::bad_cast' first required here throw bad_cast(); ^ Fix these by adding an explicitly defaulted copy constructor. The latter are like: libcxx/include/codecvt:105:37: warning: dynamic exception specifications are deprecated [-Wdeprecated-dynamic-exception-spec] virtual int do_encoding() const throw(); ^~~~~~~ Fix these by using the _NOEXCEPT macro instead. Reviewers: EricWF, mclow.lists, ldionne, #libc Reviewed By: EricWF, #libc Subscribers: dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D76150 This is because we use -Wsystem-headers during buildworld, and the two warnings above are now triggered by default with clang 10, preventing most C++ code from compiling without NO_WERROR. Requested by: brooks MFC after: 6 weeks X-MFC-With: 358851 Differential Revision: https://reviews.freebsd.org/D24049 Modified: head/contrib/llvm-project/libcxx/include/codecvt head/contrib/llvm-project/libcxx/include/exception head/contrib/llvm-project/libcxx/include/filesystem head/contrib/llvm-project/libcxx/include/future head/contrib/llvm-project/libcxx/include/ios head/contrib/llvm-project/libcxx/include/memory head/contrib/llvm-project/libcxx/include/regex head/contrib/llvm-project/libcxx/include/stdexcept head/contrib/llvm-project/libcxx/include/system_error head/contrib/llvm-project/libcxx/include/typeinfo Modified: head/contrib/llvm-project/libcxx/include/codecvt ============================================================================== --- head/contrib/llvm-project/libcxx/include/codecvt Wed Mar 18 20:44:40 2020 (r359086) +++ head/contrib/llvm-project/libcxx/include/codecvt Wed Mar 18 20:50:30 2020 (r359087) @@ -102,11 +102,11 @@ class _LIBCPP_TYPE_VIS __codecvt_utf8 (protec virtual result do_unshift(state_type& __st, extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const; - virtual int do_encoding() const throw(); - virtual bool do_always_noconv() const throw(); + virtual int do_encoding() const _NOEXCEPT; + virtual bool do_always_noconv() const _NOEXCEPT; virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const; - virtual int do_max_length() const throw(); + virtual int do_max_length() const _NOEXCEPT; }; template <> @@ -137,11 +137,11 @@ class _LIBCPP_TYPE_VIS __codecvt_utf8 (prote virtual result do_unshift(state_type& __st, extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const; - virtual int do_encoding() const throw(); - virtual bool do_always_noconv() const throw(); + virtual int do_encoding() const _NOEXCEPT; + virtual bool do_always_noconv() const _NOEXCEPT; virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const; - virtual int do_max_length() const throw(); + virtual int do_max_length() const _NOEXCEPT; }; template <> @@ -172,11 +172,11 @@ class _LIBCPP_TYPE_VIS __codecvt_utf8 (prote virtual result do_unshift(state_type& __st, extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const; - virtual int do_encoding() const throw(); - virtual bool do_always_noconv() const throw(); + virtual int do_encoding() const _NOEXCEPT; + virtual bool do_always_noconv() const _NOEXCEPT; virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const; - virtual int do_max_length() const throw(); + virtual int do_max_length() const _NOEXCEPT; }; template virtual result do_unshift(state_type& __st, extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const; - virtual int do_encoding() const throw(); - virtual bool do_always_noconv() const throw(); + virtual int do_encoding() const _NOEXCEPT; + virtual bool do_always_noconv() const _NOEXCEPT; virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const; - virtual int do_max_length() const throw(); + virtual int do_max_length() const _NOEXCEPT; }; template <> @@ -260,11 +260,11 @@ class _LIBCPP_TYPE_VIS __codecvt_utf16 virtual result do_unshift(state_type& __st, extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const; - virtual int do_encoding() const throw(); - virtual bool do_always_noconv() const throw(); + virtual int do_encoding() const _NOEXCEPT; + virtual bool do_always_noconv() const _NOEXCEPT; virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const; - virtual int do_max_length() const throw(); + virtual int do_max_length() const _NOEXCEPT; }; template <> @@ -295,11 +295,11 @@ class _LIBCPP_TYPE_VIS __codecvt_utf16 @@ -330,11 +330,11 @@ class _LIBCPP_TYPE_VIS __codecvt_utf16 virtual result do_unshift(state_type& __st, extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const; - virtual int do_encoding() const throw(); - virtual bool do_always_noconv() const throw(); + virtual int do_encoding() const _NOEXCEPT; + virtual bool do_always_noconv() const _NOEXCEPT; virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const; - virtual int do_max_length() const throw(); + virtual int do_max_length() const _NOEXCEPT; }; template <> @@ -365,11 +365,11 @@ class _LIBCPP_TYPE_VIS __codecvt_utf16 @@ -400,11 +400,11 @@ class _LIBCPP_TYPE_VIS __codecvt_utf16 virtual result do_unshift(state_type& __st, extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const; - virtual int do_encoding() const throw(); - virtual bool do_always_noconv() const throw(); + virtual int do_encoding() const _NOEXCEPT; + virtual bool do_always_noconv() const _NOEXCEPT; virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const; - virtual int do_max_length() const throw(); + virtual int do_max_length() const _NOEXCEPT; }; template ( virtual result do_unshift(state_type& __st, extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const; - virtual int do_encoding() const throw(); - virtual bool do_always_noconv() const throw(); + virtual int do_encoding() const _NOEXCEPT; + virtual bool do_always_noconv() const _NOEXCEPT; virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const; - virtual int do_max_length() const throw(); + virtual int do_max_length() const _NOEXCEPT; }; template <> @@ -488,11 +488,11 @@ class _LIBCPP_TYPE_VIS __codecvt_utf8_utf16 virtual result do_unshift(state_type& __st, extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const; - virtual int do_encoding() const throw(); - virtual bool do_always_noconv() const throw(); + virtual int do_encoding() const _NOEXCEPT; + virtual bool do_always_noconv() const _NOEXCEPT; virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const; - virtual int do_max_length() const throw(); + virtual int do_max_length() const _NOEXCEPT; }; template <> @@ -523,11 +523,11 @@ class _LIBCPP_TYPE_VIS __codecvt_utf8_utf16 virtual result do_unshift(state_type& __st, extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const; - virtual int do_encoding() const throw(); - virtual bool do_always_noconv() const throw(); + virtual int do_encoding() const _NOEXCEPT; + virtual bool do_always_noconv() const _NOEXCEPT; virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const; - virtual int do_max_length() const throw(); + virtual int do_max_length() const _NOEXCEPT; }; template __p2_; } + filesystem_error(const filesystem_error&) = default; ~filesystem_error() override; // key function _LIBCPP_INLINE_VISIBILITY Modified: head/contrib/llvm-project/libcxx/include/future ============================================================================== --- head/contrib/llvm-project/libcxx/include/future Wed Mar 18 20:44:40 2020 (r359086) +++ head/contrib/llvm-project/libcxx/include/future Wed Mar 18 20:50:30 2020 (r359087) @@ -506,6 +506,7 @@ class _LIBCPP_EXCEPTION_ABI _LIBCPP_AVAILABILITY_FUTUR _LIBCPP_INLINE_VISIBILITY const error_code& code() const _NOEXCEPT {return __ec_;} + future_error(const future_error&) _NOEXCEPT = default; virtual ~future_error() _NOEXCEPT; }; Modified: head/contrib/llvm-project/libcxx/include/ios ============================================================================== --- head/contrib/llvm-project/libcxx/include/ios Wed Mar 18 20:44:40 2020 (r359086) +++ head/contrib/llvm-project/libcxx/include/ios Wed Mar 18 20:50:30 2020 (r359087) @@ -431,7 +431,8 @@ class _LIBCPP_EXCEPTION_ABI ios_base::failure public: explicit failure(const string& __msg, const error_code& __ec = io_errc::stream); explicit failure(const char* __msg, const error_code& __ec = io_errc::stream); - virtual ~failure() throw(); + failure(const failure&) _NOEXCEPT = default; + virtual ~failure() _NOEXCEPT; }; _LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY Modified: head/contrib/llvm-project/libcxx/include/memory ============================================================================== --- head/contrib/llvm-project/libcxx/include/memory Wed Mar 18 20:44:40 2020 (r359086) +++ head/contrib/llvm-project/libcxx/include/memory Wed Mar 18 20:50:30 2020 (r359087) @@ -2134,39 +2134,39 @@ class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 public: typedef _Tp element_type; - _LIBCPP_INLINE_VISIBILITY explicit auto_ptr(_Tp* __p = 0) throw() : __ptr_(__p) {} - _LIBCPP_INLINE_VISIBILITY auto_ptr(auto_ptr& __p) throw() : __ptr_(__p.release()) {} - template _LIBCPP_INLINE_VISIBILITY auto_ptr(auto_ptr<_Up>& __p) throw() + _LIBCPP_INLINE_VISIBILITY explicit auto_ptr(_Tp* __p = 0) _NOEXCEPT : __ptr_(__p) {} + _LIBCPP_INLINE_VISIBILITY auto_ptr(auto_ptr& __p) _NOEXCEPT : __ptr_(__p.release()) {} + template _LIBCPP_INLINE_VISIBILITY auto_ptr(auto_ptr<_Up>& __p) _NOEXCEPT : __ptr_(__p.release()) {} - _LIBCPP_INLINE_VISIBILITY auto_ptr& operator=(auto_ptr& __p) throw() + _LIBCPP_INLINE_VISIBILITY auto_ptr& operator=(auto_ptr& __p) _NOEXCEPT {reset(__p.release()); return *this;} - template _LIBCPP_INLINE_VISIBILITY auto_ptr& operator=(auto_ptr<_Up>& __p) throw() + template _LIBCPP_INLINE_VISIBILITY auto_ptr& operator=(auto_ptr<_Up>& __p) _NOEXCEPT {reset(__p.release()); return *this;} - _LIBCPP_INLINE_VISIBILITY auto_ptr& operator=(auto_ptr_ref<_Tp> __p) throw() + _LIBCPP_INLINE_VISIBILITY auto_ptr& operator=(auto_ptr_ref<_Tp> __p) _NOEXCEPT {reset(__p.__ptr_); return *this;} - _LIBCPP_INLINE_VISIBILITY ~auto_ptr() throw() {delete __ptr_;} + _LIBCPP_INLINE_VISIBILITY ~auto_ptr() _NOEXCEPT {delete __ptr_;} - _LIBCPP_INLINE_VISIBILITY _Tp& operator*() const throw() + _LIBCPP_INLINE_VISIBILITY _Tp& operator*() const _NOEXCEPT {return *__ptr_;} - _LIBCPP_INLINE_VISIBILITY _Tp* operator->() const throw() {return __ptr_;} - _LIBCPP_INLINE_VISIBILITY _Tp* get() const throw() {return __ptr_;} - _LIBCPP_INLINE_VISIBILITY _Tp* release() throw() + _LIBCPP_INLINE_VISIBILITY _Tp* operator->() const _NOEXCEPT {return __ptr_;} + _LIBCPP_INLINE_VISIBILITY _Tp* get() const _NOEXCEPT {return __ptr_;} + _LIBCPP_INLINE_VISIBILITY _Tp* release() _NOEXCEPT { _Tp* __t = __ptr_; __ptr_ = 0; return __t; } - _LIBCPP_INLINE_VISIBILITY void reset(_Tp* __p = 0) throw() + _LIBCPP_INLINE_VISIBILITY void reset(_Tp* __p = 0) _NOEXCEPT { if (__ptr_ != __p) delete __ptr_; __ptr_ = __p; } - _LIBCPP_INLINE_VISIBILITY auto_ptr(auto_ptr_ref<_Tp> __p) throw() : __ptr_(__p.__ptr_) {} - template _LIBCPP_INLINE_VISIBILITY operator auto_ptr_ref<_Up>() throw() + _LIBCPP_INLINE_VISIBILITY auto_ptr(auto_ptr_ref<_Tp> __p) _NOEXCEPT : __ptr_(__p.__ptr_) {} + template _LIBCPP_INLINE_VISIBILITY operator auto_ptr_ref<_Up>() _NOEXCEPT {auto_ptr_ref<_Up> __t; __t.__ptr_ = release(); return __t;} - template _LIBCPP_INLINE_VISIBILITY operator auto_ptr<_Up>() throw() + template _LIBCPP_INLINE_VISIBILITY operator auto_ptr<_Up>() _NOEXCEPT {return auto_ptr<_Up>(release());} }; @@ -3393,6 +3393,8 @@ class _LIBCPP_EXCEPTION_ABI bad_weak_ptr : public std::exception { public: + bad_weak_ptr() _NOEXCEPT = default; + bad_weak_ptr(const bad_weak_ptr&) _NOEXCEPT = default; virtual ~bad_weak_ptr() _NOEXCEPT; virtual const char* what() const _NOEXCEPT; }; Modified: head/contrib/llvm-project/libcxx/include/regex ============================================================================== --- head/contrib/llvm-project/libcxx/include/regex Wed Mar 18 20:44:40 2020 (r359086) +++ head/contrib/llvm-project/libcxx/include/regex Wed Mar 18 20:50:30 2020 (r359087) @@ -977,7 +977,8 @@ class _LIBCPP_EXCEPTION_ABI regex_error regex_constants::error_type __code_; public: explicit regex_error(regex_constants::error_type __ecode); - virtual ~regex_error() throw(); + regex_error(const regex_error&) _NOEXCEPT = default; + virtual ~regex_error() _NOEXCEPT; _LIBCPP_INLINE_VISIBILITY regex_constants::error_type code() const {return __code_;} }; Modified: head/contrib/llvm-project/libcxx/include/stdexcept ============================================================================== --- head/contrib/llvm-project/libcxx/include/stdexcept Wed Mar 18 20:44:40 2020 (r359086) +++ head/contrib/llvm-project/libcxx/include/stdexcept Wed Mar 18 20:50:30 2020 (r359087) @@ -129,6 +129,7 @@ class _LIBCPP_EXCEPTION_ABI domain_error (public) _LIBCPP_INLINE_VISIBILITY explicit domain_error(const char* __s) : logic_error(__s) {} #ifndef _LIBCPP_ABI_VCRUNTIME + domain_error(const domain_error&) _NOEXCEPT = default; virtual ~domain_error() _NOEXCEPT; #endif }; @@ -141,6 +142,7 @@ class _LIBCPP_EXCEPTION_ABI invalid_argument (public) _LIBCPP_INLINE_VISIBILITY explicit invalid_argument(const char* __s) : logic_error(__s) {} #ifndef _LIBCPP_ABI_VCRUNTIME + invalid_argument(const invalid_argument&) _NOEXCEPT = default; virtual ~invalid_argument() _NOEXCEPT; #endif }; @@ -152,6 +154,7 @@ class _LIBCPP_EXCEPTION_ABI length_error (public) _LIBCPP_INLINE_VISIBILITY explicit length_error(const string& __s) : logic_error(__s) {} _LIBCPP_INLINE_VISIBILITY explicit length_error(const char* __s) : logic_error(__s) {} #ifndef _LIBCPP_ABI_VCRUNTIME + length_error(const length_error&) _NOEXCEPT = default; virtual ~length_error() _NOEXCEPT; #endif }; @@ -164,6 +167,7 @@ class _LIBCPP_EXCEPTION_ABI out_of_range (public) _LIBCPP_INLINE_VISIBILITY explicit out_of_range(const char* __s) : logic_error(__s) {} #ifndef _LIBCPP_ABI_VCRUNTIME + out_of_range(const out_of_range&) _NOEXCEPT = default; virtual ~out_of_range() _NOEXCEPT; #endif }; @@ -176,6 +180,7 @@ class _LIBCPP_EXCEPTION_ABI range_error (public) _LIBCPP_INLINE_VISIBILITY explicit range_error(const char* __s) : runtime_error(__s) {} #ifndef _LIBCPP_ABI_VCRUNTIME + range_error(const range_error&) _NOEXCEPT = default; virtual ~range_error() _NOEXCEPT; #endif }; @@ -188,6 +193,7 @@ class _LIBCPP_EXCEPTION_ABI overflow_error (public) _LIBCPP_INLINE_VISIBILITY explicit overflow_error(const char* __s) : runtime_error(__s) {} #ifndef _LIBCPP_ABI_VCRUNTIME + overflow_error(const overflow_error&) _NOEXCEPT = default; virtual ~overflow_error() _NOEXCEPT; #endif }; @@ -200,6 +206,7 @@ class _LIBCPP_EXCEPTION_ABI underflow_error (public) _LIBCPP_INLINE_VISIBILITY explicit underflow_error(const char* __s) : runtime_error(__s) {} #ifndef _LIBCPP_ABI_VCRUNTIME + underflow_error(const underflow_error&) _NOEXCEPT = default; virtual ~underflow_error() _NOEXCEPT; #endif }; Modified: head/contrib/llvm-project/libcxx/include/system_error ============================================================================== --- head/contrib/llvm-project/libcxx/include/system_error Wed Mar 18 20:44:40 2020 (r359086) +++ head/contrib/llvm-project/libcxx/include/system_error Wed Mar 18 20:50:30 2020 (r359087) @@ -469,6 +469,7 @@ class _LIBCPP_TYPE_VIS system_error (public) system_error(int __ev, const error_category& __ecat, const string& __what_arg); system_error(int __ev, const error_category& __ecat, const char* __what_arg); system_error(int __ev, const error_category& __ecat); + system_error(const system_error&) _NOEXCEPT = default; ~system_error() _NOEXCEPT; _LIBCPP_INLINE_VISIBILITY Modified: head/contrib/llvm-project/libcxx/include/typeinfo ============================================================================== --- head/contrib/llvm-project/libcxx/include/typeinfo Wed Mar 18 20:44:40 2020 (r359086) +++ head/contrib/llvm-project/libcxx/include/typeinfo Wed Mar 18 20:50:30 2020 (r359087) @@ -318,6 +318,7 @@ class _LIBCPP_EXCEPTION_ABI bad_cast { public: bad_cast() _NOEXCEPT; + bad_cast(const bad_cast&) _NOEXCEPT = default; virtual ~bad_cast() _NOEXCEPT; virtual const char* what() const _NOEXCEPT; }; From owner-svn-src-all@freebsd.org Wed Mar 18 21:15:46 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 71EE726D653; Wed, 18 Mar 2020 21:15:46 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jN9t0p9Hz4VWs; Wed, 18 Mar 2020 21:15:46 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D9DC8163; Wed, 18 Mar 2020 21:15:45 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02ILFj0R018050; Wed, 18 Mar 2020 21:15:45 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02ILFj2O018049; Wed, 18 Mar 2020 21:15:45 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003182115.02ILFj2O018049@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 18 Mar 2020 21:15:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359088 - head/share/mk X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 359088 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 21:15:46 -0000 Author: emaste Date: Wed Mar 18 21:15:45 2020 New Revision: 359088 URL: https://svnweb.freebsd.org/changeset/base/359088 Log: src.opts.mk: drop C++11 compiler conditional from OPENMP We no longer support older C++ compilers, so do not need to explicitly test for C++11 support. After r339946 we stopped running `cc --version` during cleandir/obj stages, so stopped setting COMPILER_FEATURES. This in turn meant lib/libomp was excluded from the clean stage in a normal buildworld (i.e., one without -DNO_CLEAN), and this is what caused recent build failures with errors about missing ittnotify_static.c. This commit should obviate the need for the workaround committed in r359083. Thanks to bdrewery for the insight and for pushing for a correct fix. There are more cleanups to be done, but this change is a simplification and an improvement over r359083. Sponsored by: The FreeBSD Foundation Modified: head/share/mk/src.opts.mk Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Wed Mar 18 20:50:30 2020 (r359087) +++ head/share/mk/src.opts.mk Wed Mar 18 21:15:45 2020 (r359088) @@ -377,8 +377,7 @@ BROKEN_OPTIONS+=HYPERV BROKEN_OPTIONS+=NVME .endif -.if ${COMPILER_FEATURES:Mc++11} && \ - (${__T} == "amd64" || ${__T} == "i386" || ${__T} == "powerpc64") +.if ${__T} == "amd64" || ${__T} == "i386" || ${__T} == "powerpc64" __DEFAULT_YES_OPTIONS+=OPENMP .else __DEFAULT_NO_OPTIONS+=OPENMP From owner-svn-src-all@freebsd.org Wed Mar 18 21:20:12 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7983026D79D; Wed, 18 Mar 2020 21:20:12 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jNGz6bQmz3Cyr; Wed, 18 Mar 2020 21:20:11 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 68BE216C; Wed, 18 Mar 2020 21:20:11 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02ILKBYN018366; Wed, 18 Mar 2020 21:20:11 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02ILKBhS018365; Wed, 18 Mar 2020 21:20:11 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003182120.02ILKBhS018365@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 18 Mar 2020 21:20:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359089 - head X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 359089 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 21:20:12 -0000 Author: emaste Date: Wed Mar 18 21:20:10 2020 New Revision: 359089 URL: https://svnweb.freebsd.org/changeset/base/359089 Log: Revert r359083, fixed properly by r359088 r359083 introduced a workaround for stale libomp dependencies during a regular (no -DNO_CLEAN) buildworld. r359088 addressed the reason the clean step missed libomp, so revert the workaround. Sponsored by: The FreeBSD Foundation Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Wed Mar 18 21:15:45 2020 (r359088) +++ head/Makefile.inc1 Wed Mar 18 21:20:10 2020 (r359089) @@ -1082,10 +1082,9 @@ _cleanobj: .if defined(_LIBCOMPAT) ${_+_}cd ${.CURDIR}; ${LIBCOMPATWMAKE} _NO_INCLUDE_COMPILERMK=t -f Makefile.inc1 ${CLEANDIR} .endif -.endif # !defined(NO_CLEAN) - # XXX make cleandir left stale .depend files behind, so invoke the - # dependency cleanup hack unconditionally. +.else ${_+_}cd ${.CURDIR}; ${WMAKE} _NO_INCLUDE_COMPILERMK=t _cleanobj_fast_depend_hack +.endif # !defined(NO_CLEAN) _obj: @echo @echo "--------------------------------------------------------------" From owner-svn-src-all@freebsd.org Wed Mar 18 21:24:35 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AC30426D9E9; Wed, 18 Mar 2020 21:24:35 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jNN32dF2z3Ppx; Wed, 18 Mar 2020 21:24:35 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 368CD34D; Wed, 18 Mar 2020 21:24:35 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02ILOZQh023792; Wed, 18 Mar 2020 21:24:35 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02ILOZOj023791; Wed, 18 Mar 2020 21:24:35 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003182124.02ILOZOj023791@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 18 Mar 2020 21:24:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359090 - head/sys/x86/x86 X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/x86/x86 X-SVN-Commit-Revision: 359090 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 21:24:35 -0000 Author: kib Date: Wed Mar 18 21:24:34 2020 New Revision: 359090 URL: https://svnweb.freebsd.org/changeset/base/359090 Log: Widen the stored io_apic_id to 8 bits. It seems that the newer Intel chipset did that, and Linux reads 8 bits. The only detail is that all seen datasheets, even under NDA, claim that io apic id is 4 bits. Submitted by: jeff Reviewed by: jhb Tested by: flo, pho MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D23965 Modified: head/sys/x86/x86/io_apic.c Modified: head/sys/x86/x86/io_apic.c ============================================================================== --- head/sys/x86/x86/io_apic.c Wed Mar 18 21:20:10 2020 (r359089) +++ head/sys/x86/x86/io_apic.c Wed Mar 18 21:24:34 2020 (r359090) @@ -94,7 +94,7 @@ struct ioapic_intsrc { struct ioapic { struct pic io_pic; u_int io_id:8; /* logical ID */ - u_int io_apic_id:4; + u_int io_apic_id:8; u_int io_intbase:8; /* System Interrupt base */ u_int io_numintr:8; u_int io_haseoi:1; From owner-svn-src-all@freebsd.org Wed Mar 18 21:28:56 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2EBBD26DAAB; Wed, 18 Mar 2020 21:28:56 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jNT36GBgz45Tw; Wed, 18 Mar 2020 21:28:55 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BCAF1355; Wed, 18 Mar 2020 21:28:55 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02ILStoo024050; Wed, 18 Mar 2020 21:28:55 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02ILStwR024049; Wed, 18 Mar 2020 21:28:55 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003182128.02ILStwR024049@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 18 Mar 2020 21:28:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359091 - head/share/mk X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 359091 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 21:28:56 -0000 Author: emaste Date: Wed Mar 18 21:28:55 2020 New Revision: 359091 URL: https://svnweb.freebsd.org/changeset/base/359091 Log: src.opts.mk: remove remaining support for pre-C++11 C++ compilers Delete the conditions that forcibly disabled GOOGLETEST and LLDB for pre-C++11 C++ compilers, since we no longer support such compilers. Also delete the complicated method of defaulting LIBCPLUSPLUS to YES. Prodded by: kevans Sponsored by: The FreeBSD Foundation Modified: head/share/mk/src.opts.mk Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Wed Mar 18 21:24:34 2020 (r359090) +++ head/share/mk/src.opts.mk Wed Mar 18 21:28:55 2020 (r359091) @@ -125,6 +125,7 @@ __DEFAULT_YES_OPTIONS = \ LDNS \ LDNS_UTILS \ LEGACY_CONSOLE \ + LIBCPLUSPLUS \ LIBPTHREAD \ LIBTHR \ LLD \ @@ -386,35 +387,9 @@ __DEFAULT_NO_OPTIONS+=OPENMP .include # -# MK_* options that default to "yes" if the compiler is a C++11 compiler. -# -.for var in \ - LIBCPLUSPLUS -.if !defined(MK_${var}) -.if ${COMPILER_FEATURES:Mc++11} -.if defined(WITHOUT_${var}) -MK_${var}:= no -.else -MK_${var}:= yes -.endif -.else -.if defined(WITH_${var}) -MK_${var}:= yes -.else -MK_${var}:= no -.endif -.endif -.endif -.endfor - -# # Force some options off if their dependencies are off. # Order is somewhat important. # -.if !${COMPILER_FEATURES:Mc++11} -MK_GOOGLETEST:= no -.endif - .if ${MK_CAPSICUM} == "no" MK_CASPER:= no .endif @@ -553,9 +528,5 @@ MK_${vv:H}:= ${MK_${vv:T}} # # Set defaults for the MK_*_SUPPORT variables. # - -.if !${COMPILER_FEATURES:Mc++11} -MK_LLDB:= no -.endif .endif # !target(____) From owner-svn-src-all@freebsd.org Wed Mar 18 21:31:36 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AC24226DB66; Wed, 18 Mar 2020 21:31:36 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jNX831c8z4Cyq; Wed, 18 Mar 2020 21:31:36 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4D5E74BC; Wed, 18 Mar 2020 21:31:36 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02ILVa6V024258; Wed, 18 Mar 2020 21:31:36 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02ILVaZj024257; Wed, 18 Mar 2020 21:31:36 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003182131.02ILVaZj024257@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 18 Mar 2020 21:31:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359092 - head/sys/x86/x86 X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/x86/x86 X-SVN-Commit-Revision: 359092 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 21:31:36 -0000 Author: kib Date: Wed Mar 18 21:31:35 2020 New Revision: 359092 URL: https://svnweb.freebsd.org/changeset/base/359092 Log: Stop (trying to) renumber io apics. It does not serve any purpose now, the io apic id is not seen by software, and some Intel documents claim that the register is implemented for FUD reasons. More, renumbering seems to not work on new Intel machines which actually have mismatched MADT and hw IDs. On older machines where separate APIC bus existed, unique numbering of all APICs was required for bus arbitration to work, but it is no longer true (that machines were SMP from pre-Pentium IV era). When matching PCIe IOAPIC device against MADT-enumerated IOAPICs, compare io_apic_id from BAR against io_apic_id read from the MADT-pointed register page. Reviewed by: jhb Tested by: flo (previous version), pho MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D23965 Modified: head/sys/x86/x86/io_apic.c Modified: head/sys/x86/x86/io_apic.c ============================================================================== --- head/sys/x86/x86/io_apic.c Wed Mar 18 21:28:55 2020 (r359091) +++ head/sys/x86/x86/io_apic.c Wed Mar 18 21:31:35 2020 (r359092) @@ -94,7 +94,8 @@ struct ioapic_intsrc { struct ioapic { struct pic io_pic; u_int io_id:8; /* logical ID */ - u_int io_apic_id:8; + u_int io_apic_id:8; /* Id as enumerated by MADT */ + u_int io_hw_apic_id:8; /* Content of APIC ID register */ u_int io_intbase:8; /* System Interrupt base */ u_int io_numintr:8; u_int io_haseoi:1; @@ -634,15 +635,12 @@ ioapic_create(vm_paddr_t addr, int32_t apic_id, int in io->pci_wnd = NULL; mtx_lock_spin(&icu_lock); io->io_id = next_id++; - io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; - if (apic_id != -1 && io->io_apic_id != apic_id) { - ioapic_write(apic, IOAPIC_ID, apic_id << APIC_ID_SHIFT); - mtx_unlock_spin(&icu_lock); - io->io_apic_id = apic_id; - printf("ioapic%u: Changing APIC ID to %d\n", io->io_id, - apic_id); - } else - mtx_unlock_spin(&icu_lock); + io->io_hw_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; + io->io_apic_id = apic_id == -1 ? io->io_hw_apic_id : apic_id; + mtx_unlock_spin(&icu_lock); + if (io->io_hw_apic_id != apic_id) + printf("ioapic%u: MADT APIC ID %d != hw id %d\n", io->io_id, + apic_id, io->io_hw_apic_id); if (intbase == -1) { intbase = next_ioapic_base; printf("ioapic%u: Assuming intbase of %d\n", io->io_id, @@ -1017,14 +1015,14 @@ ioapic_pci_attach(device_t dev) } /* Then by apic id */ STAILQ_FOREACH(io, &ioapic_list, io_next) { - if (io->io_apic_id == apic_id) + if (io->io_hw_apic_id == apic_id) goto found; } mtx_unlock_spin(&icu_lock); if (bootverbose) device_printf(dev, - "cannot match pci bar apic id %d against MADT\n", - apic_id); + "cannot match pci bar apic id %d against MADT, BAR0 %#jx\n", + apic_id, (uintmax_t)rman_get_start(res)); fail: bus_release_resource(dev, SYS_RES_MEMORY, rid, res); return (ENXIO); @@ -1037,13 +1035,13 @@ found: io->pci_dev = dev; io->pci_wnd = res; if (bootverbose && (io->io_paddr != (vm_paddr_t)rman_get_start(res) || - io->io_apic_id != apic_id)) { + io->io_hw_apic_id != apic_id)) { device_printf(dev, "pci%d:%d:%d:%d pci BAR0@%jx id %d " - "MADT id %d paddr@%jx\n", + "MADT id %d hw id %d paddr@%jx\n", pci_get_domain(dev), pci_get_bus(dev), pci_get_slot(dev), pci_get_function(dev), (uintmax_t)rman_get_start(res), apic_id, - io->io_apic_id, (uintmax_t)io->io_paddr); + io->io_apic_id, io->io_hw_apic_id, (uintmax_t)io->io_paddr); } mtx_unlock_spin(&icu_lock); return (0); From owner-svn-src-all@freebsd.org Wed Mar 18 21:34:53 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2B34426DDE7; Wed, 18 Mar 2020 21:34:53 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jNbw6ljsz4Lkh; Wed, 18 Mar 2020 21:34:52 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B89BD523; Wed, 18 Mar 2020 21:34:52 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02ILYqhB029933; Wed, 18 Mar 2020 21:34:52 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02ILYqVF029932; Wed, 18 Mar 2020 21:34:52 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003182134.02ILYqVF029932@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 18 Mar 2020 21:34:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359093 - head/sys/x86/x86 X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/x86/x86 X-SVN-Commit-Revision: 359093 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 21:34:53 -0000 Author: kib Date: Wed Mar 18 21:34:52 2020 New Revision: 359093 URL: https://svnweb.freebsd.org/changeset/base/359093 Log: Do not spuriously re-enable disabled io_apic pin on EOI for some configurations. If EOI suppression is supported but reported ioapic version is so old that it does not has EOI register (weird virtualization setup), fix Intel trick of eoi-ing by flipping pin type (edge/level) to account for the disabled pin. Reported by: Juniper Reviewed by: jhb Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D23965 Modified: head/sys/x86/x86/io_apic.c Modified: head/sys/x86/x86/io_apic.c ============================================================================== --- head/sys/x86/x86/io_apic.c Wed Mar 18 21:31:35 2020 (r359092) +++ head/sys/x86/x86/io_apic.c Wed Mar 18 21:34:52 2020 (r359093) @@ -193,8 +193,11 @@ _ioapic_eoi_source(struct intsrc *isrc, int locked) low1 |= IOART_TRGREDG | IOART_INTMSET; ioapic_write(io->io_addr, IOAPIC_REDTBL_LO(src->io_intpin), low1); + low1 = src->io_lowreg; + if (src->io_masked != 0) + low1 |= IOART_INTMSET; ioapic_write(io->io_addr, IOAPIC_REDTBL_LO(src->io_intpin), - src->io_lowreg); + low1); if (!locked) mtx_unlock_spin(&icu_lock); } From owner-svn-src-all@freebsd.org Wed Mar 18 21:45:32 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0CB7C26E30C for ; Wed, 18 Mar 2020 21:45:32 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound3d.ore.mailhop.org (outbound3d.ore.mailhop.org [54.186.57.195]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48jNrB6qq8z3KJT for ; Wed, 18 Mar 2020 21:45:30 +0000 (UTC) (envelope-from ian@freebsd.org) ARC-Seal: i=1; a=rsa-sha256; t=1584567929; cv=none; d=outbound.mailhop.org; s=arc-outbound20181012; b=LvzaSaVo3Jddh77lPH3FH+V9SDHwLOnKXGcc7aJNvybHvfm1ihy8IWasrrt9n4hMatNID67AZTUiw mIFFkzisBakDMeY3tILDvi58+2MCTiIhrbUCb8/fVLNPIYpoysAWmEIjHOwzdvZSMbv424ZQKhKu5G lW5Kbj/sXN7tuPLThbdbsM8eZJfN60nkkKLqfRsElpcXIkQ5f3Pej06/ARxwPTIRduC5SmYIrH5nLa MFwQX34wDOt07UAwNpU8iq9mDXT2A7VjggfKjRJ+GWgtlFEXuJux40zV44UXaxojLv9PF++NbHNKhX 62M+C+sRB3Ie0yN/qR8vL22ZWMd9pjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=arc-outbound20181012; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:dkim-signature:from; bh=EDToWQRsiDzOhac4QXOnICLPeu1zzh/pLeB87aeBkfM=; b=pjsxYv4KLHh2BCB0v/VsWZCtVKDT3lwUOAtidhxNqqeHR0oajAXwZ4QK4de5cH9/c4XtqJsSkZQrp 2kkzcUxN/94SKOJikXCPfhlPQLY/bnNBZw/T/Ba/Ow/NS2K+9t/w3meZcGI8udZqqIMSchiyn2nc20 TlVxr46AXlNIV6Yxh0X5ZuQp28L5xaMOKh9bNI/MN2VTDePAAg6+aqZOlgSNhFcOal2Qsa0Ykci3Qz jBKZxFgrUQQ/hHJVPi1o+riXZF6mMfZ77MXdXphTTO23/7xHWO7W9T77ZPDxIXLTEKyRL4RQDgiO64 TEl0J4T+DlEDZcZ2CqUs9twTrZMn6vw== ARC-Authentication-Results: i=1; outbound3.ore.mailhop.org; spf=softfail smtp.mailfrom=freebsd.org smtp.remote-ip=67.177.211.60; dmarc=none header.from=freebsd.org; arc=none header.oldest-pass=0; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=dkim-high; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:from; bh=EDToWQRsiDzOhac4QXOnICLPeu1zzh/pLeB87aeBkfM=; b=ioyNuEjuOPekfUs1a7ccyMf9jMm0fZsd7V814qQd6xIh4LTjx+AD63E8szLga4o+BYmw7AbSUmaPZ N7sjjBgB4CqgpUTvwFIAQNy5qm7DxL6V+6X79HJyjdXFj7ZaYTDV3KvnHwL1pd1HJ7eexgTva7nsmq H2pHKkntXqmaMpBAID7VKFfHRVXc9fEpCtXlrJi5dnEERSEtmdHyEww+yFl4oLigXYPWuPJWiU7Lfz ufd1keGR/GxWGKVtY5byPo6jcai07raW0QVEPvsXJJehnkYtjMVabd5DZ70j+PtGULXsHotLTNBTJg 7mEEm4Lqq6+q3CrUMG9nmDda7FLMMNQ== X-MHO-RoutePath: aGlwcGll X-MHO-User: c756c7e5-6961-11ea-b80e-052b4a66b6b2 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 67.177.211.60 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [67.177.211.60]) by outbound3.ore.mailhop.org (Halon) with ESMTPSA id c756c7e5-6961-11ea-b80e-052b4a66b6b2; Wed, 18 Mar 2020 21:45:27 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id 02ILjQRA077548; Wed, 18 Mar 2020 15:45:26 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <0e4e4388479618a739f1268f2d6eebfd37393517.camel@freebsd.org> Subject: Re: svn commit: r359053 - head/sys/kern From: Ian Lepore To: Konstantin Belousov Cc: John Baldwin , Conrad Meyer , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Date: Wed, 18 Mar 2020 15:45:26 -0600 In-Reply-To: <20200318203618.GF1992@kib.kiev.ua> References: <202003172227.02HMRHLM086023@repo.freebsd.org> <047c4edb4ff9fa6c40be6492c2f082e374f7a941.camel@freebsd.org> <96b14f0cff17b3367e3428dbcdc1bf12d7ab7356.camel@freebsd.org> <20200318203618.GF1992@kib.kiev.ua> Content-Type: text/plain; charset="ASCII" X-Mailer: Evolution 3.28.5 FreeBSD GNOME Team Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 48jNrB6qq8z3KJT X-Spamd-Bar: + Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [1.97 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_SPAM_LONG(1.00)[0.995,0]; NEURAL_SPAM_MEDIUM(0.98)[0.976,0]; ASN(0.00)[asn:16509, ipnet:54.186.0.0/15, country:US] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 21:45:32 -0000 On Wed, 2020-03-18 at 22:36 +0200, Konstantin Belousov wrote: > On Tue, Mar 17, 2020 at 07:25:01PM -0600, Ian Lepore wrote: > > On Tue, 2020-03-17 at 17:05 -0700, John Baldwin wrote: > > > On 3/17/20 3:36 PM, Ian Lepore wrote: > > > > On Tue, 2020-03-17 at 22:27 +0000, Conrad Meyer wrote: > > > > > Author: cem > > > > > Date: Tue Mar 17 22:27:16 2020 > > > > > New Revision: 359053 > > > > > URL: https://svnweb.freebsd.org/changeset/base/359053 > > > > > > > > > > Log: > > > > > Implement sysctl kern.boot_id > > > > > > > > > > Boot IDs are random, opaque 128-bit identifiers that > > > > > distinguish distinct > > > > > system boots. A new ID is generated each time the system > > > > > boots. Unlike > > > > > kern.boottime, the value is not modified by NTP > > > > > adjustments. It remains fixed > > > > > until the machine is restarted. > > > > > > > > > > PR: 244867 > > > > > Reported by: Ricardo Fraile > > > > > MFC after: I do not intend to, but feel free > > > > > > > > > > Modified: > > > > > head/sys/kern/kern_mib.c > > > > > > > > > > Modified: head/sys/kern/kern_mib.c > > > > > ============================================================= > > > > > ==== > > > > > ============= > > > > > --- head/sys/kern/kern_mib.c Tue Mar 17 21:29:03 2020 ( > > > > > r359052) > > > > > +++ head/sys/kern/kern_mib.c Tue Mar 17 22:27:16 2020 ( > > > > > r359053) > > > > > @@ -448,6 +448,32 @@ SYSCTL_PROC(_kern, KERN_HOSTID, hostid, > > > > > CTLTYPE_ULONG | CTLFLAG_RW | CTLFLAG_PRISON | > > > > > CTLFLAG_MPSAFE > > > > > > CTLFLAG_CAPRD, > > > > > > > > > > NULL, 0, sysctl_hostid, "LU", "Host ID"); > > > > > > > > > > +static struct mtx bootid_lk; > > > > > +MTX_SYSINIT(bootid_lock, &bootid_lk, "bootid generator > > > > > lock", > > > > > MTX_DEF); > > > > > + > > > > > +static int > > > > > +sysctl_bootid(SYSCTL_HANDLER_ARGS) > > > > > +{ > > > > > + static uint8_t boot_id[16]; > > > > > + static bool initialized = false; > > > > > + > > > > > + mtx_lock(&bootid_lk); > > > > > + if (!initialized) { > > > > > + if (!is_random_seeded()) { > > > > > + mtx_unlock(&bootid_lk); > > > > > + return (ENXIO); > > > > > + } > > > > > + arc4random_buf(boot_id, sizeof(boot_id)); > > > > > + initialized = true; > > > > > + } > > > > > + mtx_unlock(&bootid_lk); > > > > > + > > > > > + return (SYSCTL_OUT(req, boot_id, sizeof(boot_id))); > > > > > +} > > > > > +SYSCTL_PROC(_kern, OID_AUTO, boot_id, > > > > > + CTLTYPE_STRUCT | CTLFLAG_RD | CTLFLAG_MPSAFE | > > > > > CTLFLAG_CAPRD, > > > > > + NULL, 0, sysctl_bootid, "", "Random boot ID"); > > > > > + > > > > > /* > > > > > * The osrelease string is copied from the global (osrelease > > > > > in > > > > > vers.c) into > > > > > * prison0 by a sysinit and is inherited by child jails if > > > > > notG > > > > > changed at jail > > > > > > > > This seems a bit complex. Why run a sysinit to init a mutex so > > > > that > > > > you can safely do a lazy init of boot_id? Seems like it would > > > > be > > > > much > > > > easier to just use a sysinit at SI_SUB_LAST to init boot_id > > > > before > > > > sysctl can reference it. > > > > > > Presumably you may not have enough entropy by SI_SUB_LAST to > > > generate > > > it? > > > > > > > I thought arc4random in the kernel could provide random numbers > > immediately (and definitely after jitter in device attachment times > > at > > the end of kernel init)? This doesn't seem like the kind of thing > > that > > needs crypto-strength randomness. > > I think that a large simplification can come from the random driver > initializing the boot_id variable immediately before setting things > so that is_random_seeded() start returning true. > > But even this might be too complex, Why not copy the value from the > boottime on boot, and not ever touch it after. On some systems (virtually all mips, arm, and some arm64 systems), there is no RTC and boottime doesn't get set initially until ntpd or something else in userland runs to set time. -- Ian From owner-svn-src-all@freebsd.org Wed Mar 18 21:54:34 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 159A226E8D1; Wed, 18 Mar 2020 21:54:34 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jP2d3rFJz483X; Wed, 18 Mar 2020 21:54:33 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 34BF68E0; Wed, 18 Mar 2020 21:54:33 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02ILsXuN042015; Wed, 18 Mar 2020 21:54:33 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02ILsXo7042014; Wed, 18 Mar 2020 21:54:33 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003182154.02ILsXo7042014@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 18 Mar 2020 21:54:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359094 - head/sys/dev/mlx5/mlx5_core X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/dev/mlx5/mlx5_core X-SVN-Commit-Revision: 359094 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 21:54:34 -0000 Author: kib Date: Wed Mar 18 21:54:32 2020 New Revision: 359094 URL: https://svnweb.freebsd.org/changeset/base/359094 Log: mlx5_core: add sysctls to report device capabilities. Reviewed by: hselasky Sponsored by: Mellanox Technologies MFC after: 2 weeks Modified: head/sys/dev/mlx5/mlx5_core/mlx5_main.c Modified: head/sys/dev/mlx5/mlx5_core/mlx5_main.c ============================================================================== --- head/sys/dev/mlx5/mlx5_core/mlx5_main.c Wed Mar 18 21:34:52 2020 (r359093) +++ head/sys/dev/mlx5/mlx5_core/mlx5_main.c Wed Mar 18 21:54:32 2020 (r359094) @@ -1298,6 +1298,9 @@ static int init_one(struct pci_dev *pdev, int i,err; struct sysctl_oid *pme_sysctl_node; struct sysctl_oid *pme_err_sysctl_node; + struct sysctl_oid *cap_sysctl_node; + struct sysctl_oid *current_cap_sysctl_node; + struct sysctl_oid *max_cap_sysctl_node; dev = kzalloc(sizeof(*dev), GFP_KERNEL); priv = &dev->priv; @@ -1365,6 +1368,186 @@ static int init_one(struct pci_dev *pdev, 0, mlx5_pme_err_desc[2 * i + 1]); } + cap_sysctl_node = SYSCTL_ADD_NODE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(device_get_sysctl_tree(bsddev)), + OID_AUTO, "caps", CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, + "hardware capabilities raw bitstrings"); + if (cap_sysctl_node == NULL) { + err = -ENOMEM; + goto clean_sysctl_ctx; + } + current_cap_sysctl_node = SYSCTL_ADD_NODE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(cap_sysctl_node), + OID_AUTO, "current", CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, + ""); + if (current_cap_sysctl_node == NULL) { + err = -ENOMEM; + goto clean_sysctl_ctx; + } + max_cap_sysctl_node = SYSCTL_ADD_NODE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(cap_sysctl_node), + OID_AUTO, "max", CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, + ""); + if (max_cap_sysctl_node == NULL) { + err = -ENOMEM; + goto clean_sysctl_ctx; + } + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(current_cap_sysctl_node), + OID_AUTO, "general", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_cur[MLX5_CAP_GENERAL], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(max_cap_sysctl_node), + OID_AUTO, "general", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_max[MLX5_CAP_GENERAL], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(current_cap_sysctl_node), + OID_AUTO, "ether", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_cur[MLX5_CAP_ETHERNET_OFFLOADS], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(max_cap_sysctl_node), + OID_AUTO, "ether", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_max[MLX5_CAP_ETHERNET_OFFLOADS], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(current_cap_sysctl_node), + OID_AUTO, "odp", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_cur[MLX5_CAP_ODP], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(max_cap_sysctl_node), + OID_AUTO, "odp", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_max[MLX5_CAP_ODP], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(current_cap_sysctl_node), + OID_AUTO, "atomic", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_cur[MLX5_CAP_ATOMIC], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(max_cap_sysctl_node), + OID_AUTO, "atomic", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_max[MLX5_CAP_ATOMIC], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(current_cap_sysctl_node), + OID_AUTO, "roce", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_cur[MLX5_CAP_ROCE], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(max_cap_sysctl_node), + OID_AUTO, "roce", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_max[MLX5_CAP_ROCE], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(current_cap_sysctl_node), + OID_AUTO, "ipoib", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_cur[MLX5_CAP_IPOIB_OFFLOADS], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(max_cap_sysctl_node), + OID_AUTO, "ipoib", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_max[MLX5_CAP_IPOIB_OFFLOADS], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(current_cap_sysctl_node), + OID_AUTO, "eoib", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_cur[MLX5_CAP_EOIB_OFFLOADS], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(max_cap_sysctl_node), + OID_AUTO, "eoib", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_max[MLX5_CAP_EOIB_OFFLOADS], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(current_cap_sysctl_node), + OID_AUTO, "flow_table", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_cur[MLX5_CAP_FLOW_TABLE], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(max_cap_sysctl_node), + OID_AUTO, "flow_table", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_max[MLX5_CAP_FLOW_TABLE], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(current_cap_sysctl_node), + OID_AUTO, "eswitch_flow_table", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_cur[MLX5_CAP_ESWITCH_FLOW_TABLE], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(max_cap_sysctl_node), + OID_AUTO, "eswitch_flow_table", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_max[MLX5_CAP_ESWITCH_FLOW_TABLE], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(current_cap_sysctl_node), + OID_AUTO, "eswitch", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_cur[MLX5_CAP_ESWITCH], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(max_cap_sysctl_node), + OID_AUTO, "eswitch", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_max[MLX5_CAP_ESWITCH], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(current_cap_sysctl_node), + OID_AUTO, "snapshot", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_cur[MLX5_CAP_SNAPSHOT], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(max_cap_sysctl_node), + OID_AUTO, "snapshot", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_max[MLX5_CAP_SNAPSHOT], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(current_cap_sysctl_node), + OID_AUTO, "vector_calc", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_cur[MLX5_CAP_VECTOR_CALC], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(max_cap_sysctl_node), + OID_AUTO, "vector_calc", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_max[MLX5_CAP_VECTOR_CALC], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(current_cap_sysctl_node), + OID_AUTO, "qos", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_cur[MLX5_CAP_QOS], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(max_cap_sysctl_node), + OID_AUTO, "qos", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_max[MLX5_CAP_QOS], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(current_cap_sysctl_node), + OID_AUTO, "debug", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_cur[MLX5_CAP_DEBUG], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(max_cap_sysctl_node), + OID_AUTO, "debug", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->hca_caps_max[MLX5_CAP_DEBUG], + MLX5_UN_SZ_DW(hca_cap_union) * sizeof(u32), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(cap_sysctl_node), + OID_AUTO, "pcam", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->caps.pcam, sizeof(dev->caps.pcam), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(cap_sysctl_node), + OID_AUTO, "mcam", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->caps.mcam, sizeof(dev->caps.mcam), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(cap_sysctl_node), + OID_AUTO, "qcam", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->caps.qcam, sizeof(dev->caps.qcam), "IU", ""); + SYSCTL_ADD_OPAQUE(&dev->sysctl_ctx, + SYSCTL_CHILDREN(cap_sysctl_node), + OID_AUTO, "fpga", CTLFLAG_RD | CTLFLAG_MPSAFE, + &dev->caps.fpga, sizeof(dev->caps.fpga), "IU", ""); INIT_LIST_HEAD(&priv->ctx_list); spin_lock_init(&priv->ctx_lock); From owner-svn-src-all@freebsd.org Wed Mar 18 22:09:19 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 81F9326EB74; Wed, 18 Mar 2020 22:09:19 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jPMg2SZgz4YZZ; Wed, 18 Mar 2020 22:09:19 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0E2B6AA9; Wed, 18 Mar 2020 22:09:19 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IM9IMH048064; Wed, 18 Mar 2020 22:09:18 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IM9Grr048052; Wed, 18 Mar 2020 22:09:16 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003182209.02IM9Grr048052@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 18 Mar 2020 22:09:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359095 - in head/sys/modules: ibcore linuxkpi mlx4 mlx4en mlx4ib mlx5 mlx5en mlx5fpga_tools mlx5ib rdma/krping X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in head/sys/modules: ibcore linuxkpi mlx4 mlx4en mlx4ib mlx5 mlx5en mlx5fpga_tools mlx5ib rdma/krping X-SVN-Commit-Revision: 359095 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 22:09:19 -0000 Author: kib Date: Wed Mar 18 22:09:16 2020 New Revision: 359095 URL: https://svnweb.freebsd.org/changeset/base/359095 Log: Add pci_iov_if.h header as a dependency for Linuxkpi consumers. Sponsored by: Mellanox Technologies MFC after: 2 weeks Modified: head/sys/modules/ibcore/Makefile head/sys/modules/linuxkpi/Makefile head/sys/modules/mlx4/Makefile head/sys/modules/mlx4en/Makefile head/sys/modules/mlx4ib/Makefile head/sys/modules/mlx5/Makefile head/sys/modules/mlx5en/Makefile head/sys/modules/mlx5fpga_tools/Makefile head/sys/modules/mlx5ib/Makefile head/sys/modules/rdma/krping/Makefile Modified: head/sys/modules/ibcore/Makefile ============================================================================== --- head/sys/modules/ibcore/Makefile Wed Mar 18 21:54:32 2020 (r359094) +++ head/sys/modules/ibcore/Makefile Wed Mar 18 22:09:16 2020 (r359095) @@ -2,7 +2,7 @@ .PATH: ${SRCTOP}/sys/ofed/drivers/infiniband/core KMOD= ibcore -SRCS= vnode_if.h device_if.h bus_if.h pci_if.h \ +SRCS= vnode_if.h device_if.h bus_if.h pci_if.h pci_iov_if.h \ opt_inet.h opt_inet6.h \ ib_addr.c \ ib_agent.c \ Modified: head/sys/modules/linuxkpi/Makefile ============================================================================== --- head/sys/modules/linuxkpi/Makefile Wed Mar 18 21:54:32 2020 (r359094) +++ head/sys/modules/linuxkpi/Makefile Wed Mar 18 22:09:16 2020 (r359095) @@ -24,6 +24,7 @@ SRCS= linux_compat.c \ SRCS+= bus_if.h \ device_if.h \ pci_if.h \ + pci_iov_if.h \ vnode_if.h \ usb_if.h \ opt_usb.h \ Modified: head/sys/modules/mlx4/Makefile ============================================================================== --- head/sys/modules/mlx4/Makefile Wed Mar 18 21:54:32 2020 (r359094) +++ head/sys/modules/mlx4/Makefile Wed Mar 18 22:09:16 2020 (r359095) @@ -2,7 +2,7 @@ .PATH: ${SRCTOP}/sys/dev/mlx4/mlx4_core KMOD= mlx4 -SRCS= device_if.h bus_if.h vnode_if.h pci_if.h \ +SRCS= device_if.h bus_if.h vnode_if.h pci_if.h pci_iov_if.h \ opt_inet.h opt_inet6.h \ mlx4_alloc.c \ mlx4_catas.c \ Modified: head/sys/modules/mlx4en/Makefile ============================================================================== --- head/sys/modules/mlx4en/Makefile Wed Mar 18 21:54:32 2020 (r359094) +++ head/sys/modules/mlx4en/Makefile Wed Mar 18 22:09:16 2020 (r359095) @@ -2,7 +2,7 @@ .PATH: ${SRCTOP}/sys/dev/mlx4/mlx4_en KMOD= mlx4en -SRCS= device_if.h bus_if.h pci_if.h vnode_if.h \ +SRCS= device_if.h bus_if.h pci_if.h pci_iov_if.h vnode_if.h \ opt_inet.h opt_inet6.h \ mlx4_en_cq.c \ mlx4_en_main.c \ Modified: head/sys/modules/mlx4ib/Makefile ============================================================================== --- head/sys/modules/mlx4ib/Makefile Wed Mar 18 21:54:32 2020 (r359094) +++ head/sys/modules/mlx4ib/Makefile Wed Mar 18 22:09:16 2020 (r359095) @@ -2,7 +2,7 @@ .PATH: ${SRCTOP}/sys/dev/mlx4/mlx4_ib KMOD= mlx4ib -SRCS= device_if.h bus_if.h vnode_if.h pci_if.h \ +SRCS= device_if.h bus_if.h vnode_if.h pci_if.h pci_iov_if.h \ opt_inet.h opt_inet6.h \ mlx4_ib_alias_GUID.c \ mlx4_ib_mcg.c \ Modified: head/sys/modules/mlx5/Makefile ============================================================================== --- head/sys/modules/mlx5/Makefile Wed Mar 18 21:54:32 2020 (r359094) +++ head/sys/modules/mlx5/Makefile Wed Mar 18 22:09:16 2020 (r359095) @@ -33,7 +33,7 @@ mlx5_vport.c \ mlx5_vsc.c \ mlx5_wq.c \ mlx5_gid.c \ -device_if.h bus_if.h vnode_if.h pci_if.h \ +device_if.h bus_if.h vnode_if.h pci_if.h pci_iov_if.h \ opt_inet.h opt_inet6.h opt_rss.h opt_ratelimit.h CFLAGS+= -I${SRCTOP}/sys/ofed/include Modified: head/sys/modules/mlx5en/Makefile ============================================================================== --- head/sys/modules/mlx5en/Makefile Wed Mar 18 21:54:32 2020 (r359094) +++ head/sys/modules/mlx5en/Makefile Wed Mar 18 22:09:16 2020 (r359095) @@ -13,7 +13,7 @@ mlx5_en_rx.c \ mlx5_en_rl.c \ mlx5_en_txrx.c \ mlx5_en_port_buffer.c \ -device_if.h bus_if.h vnode_if.h pci_if.h \ +device_if.h bus_if.h vnode_if.h pci_if.h pci_iov_if.h \ opt_inet.h opt_inet6.h opt_rss.h opt_ratelimit.h \ opt_kern_tls.h Modified: head/sys/modules/mlx5fpga_tools/Makefile ============================================================================== --- head/sys/modules/mlx5fpga_tools/Makefile Wed Mar 18 21:54:32 2020 (r359094) +++ head/sys/modules/mlx5fpga_tools/Makefile Wed Mar 18 22:09:16 2020 (r359095) @@ -7,7 +7,7 @@ SRCS= \ mlx5fpga_tools_char.c SRCS+= \ - device_if.h bus_if.h vnode_if.h pci_if.h \ + device_if.h bus_if.h vnode_if.h pci_if.h pci_iov_if.h \ opt_inet.h opt_inet6.h opt_rss.h opt_ratelimit.h CFLAGS+= -I${SRCTOP}/sys/ofed/include Modified: head/sys/modules/mlx5ib/Makefile ============================================================================== --- head/sys/modules/mlx5ib/Makefile Wed Mar 18 21:54:32 2020 (r359094) +++ head/sys/modules/mlx5ib/Makefile Wed Mar 18 22:09:16 2020 (r359095) @@ -15,7 +15,7 @@ mlx5_ib_mr.c \ mlx5_ib_qp.c \ mlx5_ib_srq.c \ mlx5_ib_virt.c \ -device_if.h bus_if.h vnode_if.h pci_if.h \ +device_if.h bus_if.h vnode_if.h pci_if.h pci_iov_if.h \ opt_inet.h opt_inet6.h opt_ratelimit.h CFLAGS+= -I${SRCTOP}/sys/ofed/include Modified: head/sys/modules/rdma/krping/Makefile ============================================================================== --- head/sys/modules/rdma/krping/Makefile Wed Mar 18 21:54:32 2020 (r359094) +++ head/sys/modules/rdma/krping/Makefile Wed Mar 18 22:09:16 2020 (r359095) @@ -3,7 +3,7 @@ KMOD= krping SRCS= krping.c krping_dev.c getopt.c -SRCS+= bus_if.h device_if.h pci_if.h pcib_if.h vnode_if.h +SRCS+= bus_if.h device_if.h pci_if.h pci_iov_if.h pcib_if.h vnode_if.h SRCS+= opt_sched.h opt_inet.h opt_inet6.h CFLAGS+= -I${SRCTOP}/sys/ofed/include CFLAGS+= -I${SRCTOP}/sys/ofed/include/uapi From owner-svn-src-all@freebsd.org Wed Mar 18 22:10:51 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3602726EE29; Wed, 18 Mar 2020 22:10:51 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jPPQ6T9zz4cqm; Wed, 18 Mar 2020 22:10:50 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 64E89ACC; Wed, 18 Mar 2020 22:10:50 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IMAoP2049039; Wed, 18 Mar 2020 22:10:50 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IMAoG9049036; Wed, 18 Mar 2020 22:10:50 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003182210.02IMAoG9049036@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 18 Mar 2020 22:10:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359096 - in head/sys/compat/linuxkpi/common: include/linux src X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in head/sys/compat/linuxkpi/common: include/linux src X-SVN-Commit-Revision: 359096 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 22:10:51 -0000 Author: kib Date: Wed Mar 18 22:10:49 2020 New Revision: 359096 URL: https://svnweb.freebsd.org/changeset/base/359096 Log: linuxkpi: Add infrastructure to pass FreeBSD IOV method calls into pci_driver methods. Reviewed by: hselasky Sponsored by: Mellanox Technologies MFC after: 2 weeks Modified: head/sys/compat/linuxkpi/common/include/linux/pci.h head/sys/compat/linuxkpi/common/src/linux_pci.c Modified: head/sys/compat/linuxkpi/common/include/linux/pci.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/pci.h Wed Mar 18 22:09:16 2020 (r359095) +++ head/sys/compat/linuxkpi/common/include/linux/pci.h Wed Mar 18 22:10:49 2020 (r359096) @@ -37,11 +37,13 @@ #include #include +#include #include #include #include #include #include +#include #include @@ -201,6 +203,11 @@ struct pci_driver { struct device_driver driver; const struct pci_error_handlers *err_handler; bool isdrm; + int (*bsd_iov_init)(device_t dev, uint16_t num_vfs, + const nvlist_t *pf_config); + void (*bsd_iov_uninit)(device_t dev); + int (*bsd_iov_add_vf)(device_t dev, uint16_t vfnum, + const nvlist_t *vf_config); }; struct pci_bus { Modified: head/sys/compat/linuxkpi/common/src/linux_pci.c ============================================================================== --- head/sys/compat/linuxkpi/common/src/linux_pci.c Wed Mar 18 22:09:16 2020 (r359095) +++ head/sys/compat/linuxkpi/common/src/linux_pci.c Wed Mar 18 22:10:49 2020 (r359096) @@ -65,6 +65,9 @@ static device_detach_t linux_pci_detach; static device_suspend_t linux_pci_suspend; static device_resume_t linux_pci_resume; static device_shutdown_t linux_pci_shutdown; +static pci_iov_init_t linux_pci_iov_init; +static pci_iov_uninit_t linux_pci_iov_uninit; +static pci_iov_add_vf_t linux_pci_iov_add_vf; static device_method_t pci_methods[] = { DEVMETHOD(device_probe, linux_pci_probe), @@ -73,6 +76,9 @@ static device_method_t pci_methods[] = { DEVMETHOD(device_suspend, linux_pci_suspend), DEVMETHOD(device_resume, linux_pci_resume), DEVMETHOD(device_shutdown, linux_pci_shutdown), + DEVMETHOD(pci_iov_init, linux_pci_iov_init), + DEVMETHOD(pci_iov_uninit, linux_pci_iov_uninit), + DEVMETHOD(pci_iov_add_vf, linux_pci_iov_add_vf), DEVMETHOD_END }; @@ -353,6 +359,47 @@ linux_pci_shutdown(device_t dev) if (pdev->pdrv->shutdown != NULL) pdev->pdrv->shutdown(pdev); return (0); +} + +static int +linux_pci_iov_init(device_t dev, uint16_t num_vfs, const nvlist_t *pf_config) +{ + struct pci_dev *pdev; + int error; + + linux_set_current(curthread); + pdev = device_get_softc(dev); + if (pdev->pdrv->bsd_iov_init != NULL) + error = pdev->pdrv->bsd_iov_init(dev, num_vfs, pf_config); + else + error = EINVAL; + return (error); +} + +static void +linux_pci_iov_uninit(device_t dev) +{ + struct pci_dev *pdev; + + linux_set_current(curthread); + pdev = device_get_softc(dev); + if (pdev->pdrv->bsd_iov_uninit != NULL) + pdev->pdrv->bsd_iov_uninit(dev); +} + +static int +linux_pci_iov_add_vf(device_t dev, uint16_t vfnum, const nvlist_t *vf_config) +{ + struct pci_dev *pdev; + int error; + + linux_set_current(curthread); + pdev = device_get_softc(dev); + if (pdev->pdrv->bsd_iov_add_vf != NULL) + error = pdev->pdrv->bsd_iov_add_vf(dev, vfnum, vf_config); + else + error = EINVAL; + return (error); } static int From owner-svn-src-all@freebsd.org Wed Mar 18 22:14:25 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E23DC26EEEE; Wed, 18 Mar 2020 22:14:25 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jPTY52nTz4mpp; Wed, 18 Mar 2020 22:14:25 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 81951C85; Wed, 18 Mar 2020 22:14:25 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IMEP7W053895; Wed, 18 Mar 2020 22:14:25 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IMEPFf053894; Wed, 18 Mar 2020 22:14:25 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202003182214.02IMEPFf053894@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Wed, 18 Mar 2020 22:14:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359097 - head/usr.sbin/ntp X-SVN-Group: head X-SVN-Commit-Author: cy X-SVN-Commit-Paths: head/usr.sbin/ntp X-SVN-Commit-Revision: 359097 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 22:14:26 -0000 Author: cy Date: Wed Mar 18 22:14:25 2020 New Revision: 359097 URL: https://svnweb.freebsd.org/changeset/base/359097 Log: PACKAGE_STRING should be the same as PACKAGE_VERSION. MFC after: 3 days Modified: head/usr.sbin/ntp/config.h Modified: head/usr.sbin/ntp/config.h ============================================================================== --- head/usr.sbin/ntp/config.h Wed Mar 18 22:10:49 2020 (r359096) +++ head/usr.sbin/ntp/config.h Wed Mar 18 22:14:25 2020 (r359097) @@ -1468,7 +1468,7 @@ #define PACKAGE_NAME "ntp" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "ntp 4.2.8p12" +#define PACKAGE_STRING "ntp 4.2.8p14" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "ntp" From owner-svn-src-all@freebsd.org Wed Mar 18 22:15:01 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2ED8426EF72 for ; Wed, 18 Mar 2020 22:15:01 +0000 (UTC) (envelope-from 01000170efb6c826-b449629c-026a-4650-846e-08980fd4cbbc-000000@amazonses.com) Received: from a8-176.smtp-out.amazonses.com (a8-176.smtp-out.amazonses.com [54.240.8.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48jPVC3xl9z4nyf for ; Wed, 18 Mar 2020 22:14:59 +0000 (UTC) (envelope-from 01000170efb6c826-b449629c-026a-4650-846e-08980fd4cbbc-000000@amazonses.com) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ae7m2yrxjw65l2cqdpjxuucyrvy564tn; d=tarsnap.com; t=1584569698; h=Subject:To:References:From:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; bh=yYPMEzxSYvtFY9ipA9DHPN4y0lmq64hxTug3oIAygGE=; b=PUK7/GusKtqkpZFVJinGivmGRXYR+wq3EJMu3Vhv2s3xrN4WT/jHPoRzJ6dl/BqL 37Lou3GrWuP8WgzAmC4a/7DLjrfKb8u2qz1cDDHcXA+daSJM0t6+XFr0evK7NibBn5c 8WwjQNGRwiQbPrTpNvZ+Ba3ylUb4ZLAY51JvopbU= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=224i4yxa5dv7c2xz3womw6peuasteono; d=amazonses.com; t=1584569698; h=Subject:To:References:From:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding:Feedback-ID; bh=yYPMEzxSYvtFY9ipA9DHPN4y0lmq64hxTug3oIAygGE=; b=O4drZfQIk8k+J66sVh0crQbLFBnDaiCdBug3IzjPajXozzedqpTIVdbiVkROlVlV aHc64ALO7TIO0LBNtwk8m36KhfDSZingvS9KxOnCnd4VFx/1EavV7UQn+OOd/oAOfc7 m5fbTXUgTRfQmhLDiYezsfcbohsasKEEToKbCQf4= Subject: Re: svn commit: r355570 - head/sys/dev/sound/pci/hda To: Mark Johnston , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201912091925.xB9JPFfT026616@repo.freebsd.org> From: Colin Percival Autocrypt: addr=cperciva@tarsnap.com; prefer-encrypt=mutual; keydata= mQGhBElrAAcRBACDfDys4ZtK+ErCJ1HAzYeteKpm3OEsvT/49AjUTLihkF79HhIKrCQU+1KC zv7BwHCMLb6hq30As9L7iFKG7n5QFLFC4Te/VcITUnWHMG/c3ViLOfJGvi+9/nOEHaM1dVJY D6tEp5yM1nHmVQpo9932j4KGuGFR0LhOK5IHXOSfGwCgxSFDPdgxe2OEjWxjGgY+oV3EafcD +JROXCTjlcQiG/OguQH4Vks3mhHfFnEppLxTkDuYgHZQiUtpcT9ssH5khgqoTyMar05OUdAj ZIhNbWDh4LgTj+7ZmvLhXT5Zxw8LX9d7T36aTB8XDQSenDqEtinMWOb0TCBBLbsB8EFG1WTT ESbZci9jJS5yhtktuZoY/eM8uXMD/3k4FWFO80VRRkELSp+XSy/VlSQjyi/rhl2nQq/oOA9F oJbDaB0yq9VNhxP+uFBzBWSqeIX0t1ZWLtNfVFr4TRP5hihI5ICrg/0OpqgisKsU2NFe9xyO hyJLYmfD8ebpDJ/9k30C7Iju9pVrwLm1QgS4S2fqJRcR+U4WbjvP7CgStCVDb2xpbiBQZXJj aXZhbCA8Y3BlcmNpdmFAdGFyc25hcC5jb20+iGEEExECACEFAklrALYCGwMHCwkIBwMCAQQV AggDBBYCAwECHgECF4AACgkQOM7KaQxqam6/igCgn+z2k3V5ggNppmWrZstt1U2lugsAoL7L wS9V9yLtil3oWmHtwpUqYruEuQINBElrAAcQCAD3ZLMIsP4CIDoJORg+YY0lqLVBgcnF7pFb 4Uy2+KvdWofN+DKH61rZLjgXXkNE9M4EQC1B4lGttBP8IY2gs41y3AUogGdyFbidq99rCBz7 LTsgARHwFxZoaHmXyiZLEU1QZuMqwPZV1mCviRhN5E3rRqYNXVcrnXAAuhBpvNyj/ntHvcDN 2/m+ochiuBYueU4kX3lHya7sOj+mTsndcWmQ9soOUyr8O0r/BG088bMn4qqtUw4dl5/pglXk jbl7uOOPinKf0WVd2r6M0wLPJCD4NPHrCWRLLLAjwfjrtoSRvXxDbXhCdgGBa72+K8eYLzVs hgq7tJOoBWzjVK6XRxR7AAMGB/9Mo3iJ2DxqDecd02KCB5BsFDICbJGhPltU7FwrtbC7djSb XUrwsEVLHi4st4cbdGNCWCrp0BRezXZKohKnNAPFOTK++ZfgeKxrV2sJod+Q9RILF86tQ4XF 7A7Yme5hy92t/WgiU4vc/fWbgP8gV/19f8nunaT2E9NSa70mZFjZNu4iuwThoUUO5CV3Wo0Y UISsnRK8XD1+LR3A2qVyLiFRwh/miC1hgLFCTGCQ3GLxZeZzIpYSlGdQJ0L5lixW5ZQD9r1I 8i/8zhE6qRFAM0upUMI3Gt1Oq2w03DiXrZU0Fu/R8Rm8rlnkQKA+95mRTUq1xL5P5NZIi4gJ Z569OPMFiEkEGBECAAkFAklrAAcCGwwACgkQOM7KaQxqam41igCfbaldnFTu5uAdrnrghESv EI3CAo8AoLkNMks1pThl2BJNRm4CtTK9xZeH Message-ID: <01000170efb6c826-b449629c-026a-4650-846e-08980fd4cbbc-000000@email.amazonses.com> Date: Wed, 18 Mar 2020 22:14:58 +0000 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.4.2 MIME-Version: 1.0 In-Reply-To: <201912091925.xB9JPFfT026616@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-SES-Outgoing: 2020.03.18-54.240.8.176 Feedback-ID: 1.us-east-1.Lv9FVjaNvvR5llaqfLoOVbo2VxOELl7cjN0AOyXnPlk=:AmazonSES X-Rspamd-Queue-Id: 48jPVC3xl9z4nyf X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=pass header.d=tarsnap.com header.s=ae7m2yrxjw65l2cqdpjxuucyrvy564tn header.b=PUK7/Gus; dkim=pass header.d=amazonses.com header.s=224i4yxa5dv7c2xz3womw6peuasteono header.b=O4drZfQI; dmarc=none; spf=pass (mx1.freebsd.org: domain of 01000170efb6c826-b449629c-026a-4650-846e-08980fd4cbbc-000000@amazonses.com designates 54.240.8.176 as permitted sender) smtp.mailfrom=01000170efb6c826-b449629c-026a-4650-846e-08980fd4cbbc-000000@amazonses.com X-Spamd-Result: default: False [-1.74 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.98)[-0.983,0]; R_DKIM_ALLOW(-0.20)[tarsnap.com:s=ae7m2yrxjw65l2cqdpjxuucyrvy564tn,amazonses.com:s=224i4yxa5dv7c2xz3womw6peuasteono]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip4:54.240.0.0/18:c]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[tarsnap.com]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[tarsnap.com:+,amazonses.com:+]; RCVD_IN_DNSWL_NONE(0.00)[176.8.240.54.list.dnswl.org : 127.0.15.0]; FORGED_SENDER(0.30)[cperciva@tarsnap.com,01000170efb6c826-b449629c-026a-4650-846e-08980fd4cbbc-000000@amazonses.com]; RCVD_COUNT_ZERO(0.00)[0]; MIME_TRACE(0.00)[0:+]; IP_SCORE(-2.05)[ip: (-2.62), ipnet: 54.240.8.0/21(-4.60), asn: 14618(-3.00), country: US(-0.05)]; ASN(0.00)[asn:14618, ipnet:54.240.8.0/21, country:US]; FORGED_MUA_THUNDERBIRD_MSGID_UNKNOWN(2.50)[]; FROM_NEQ_ENVFROM(0.00)[cperciva@tarsnap.com, 01000170efb6c826-b449629c-026a-4650-846e-08980fd4cbbc-000000@amazonses.com] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 22:15:01 -0000 On 2019-12-09 11:25, Mark Johnston wrote: > Author: markj > Date: Mon Dec 9 19:25:15 2019 > New Revision: 355570 > URL: https://svnweb.freebsd.org/changeset/base/355570 > > Log: > Configure headphone redirection for the Dell L780 and X1 Carbon 7th gen. > > As we do for many other laptops, put the headphone jack and speakers in > the same association by default so that the generic sound device > automatically switches between them. > > [...] > - } else if (id == HDA_CODEC_ALC256 && subid == DELL_I7577_SUBVENDOR) { > + } else if (id == HDA_CODEC_ALC256 && (subid == DELL_I7577_SUBVENDOR || > + subid == DELL_L7480_SUBVENDOR)) { > switch (nid) { > case 20: > patch = "as=1 seq=0";> [...] This is what we need for the Dell Latitude 7390 too -- nid20 is the internal speakers while nid33 is the headphone jack. Can you make the change or walk me through what needs to be done? (I'm not sure how the _SUBVENDOR bit works.) -- Colin Percival Security Officer Emeritus, FreeBSD | The power to serve Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid From owner-svn-src-all@freebsd.org Wed Mar 18 22:17:03 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9E7F126F017; Wed, 18 Mar 2020 22:17:03 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jPXZ48Wzz4tQP; Wed, 18 Mar 2020 22:17:02 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2ED0FC87; Wed, 18 Mar 2020 22:17:02 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IMH1R8054089; Wed, 18 Mar 2020 22:17:01 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IMH1AY054088; Wed, 18 Mar 2020 22:17:01 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003182217.02IMH1AY054088@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 18 Mar 2020 22:17:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359098 - head/sys/dev/mlx5/mlx5_core X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/dev/mlx5/mlx5_core X-SVN-Commit-Revision: 359098 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 22:17:03 -0000 Author: kib Date: Wed Mar 18 22:17:01 2020 New Revision: 359098 URL: https://svnweb.freebsd.org/changeset/base/359098 Log: mlx5: Basic PCIe side of SR-IOV support. Reviewed by: hselasky Sponsored by: Mellanox Technologies MFC after: 2 weeks Modified: head/sys/dev/mlx5/mlx5_core/mlx5_main.c Modified: head/sys/dev/mlx5/mlx5_core/mlx5_main.c ============================================================================== --- head/sys/dev/mlx5/mlx5_core/mlx5_main.c Wed Mar 18 22:14:25 2020 (r359097) +++ head/sys/dev/mlx5/mlx5_core/mlx5_main.c Wed Mar 18 22:17:01 2020 (r359098) @@ -45,6 +45,11 @@ #include #include "mlx5_core.h" #include "fs_core.h" +#ifdef PCI_IOV +#include +#include +#include +#endif static const char mlx5_version[] = "Mellanox Core driver " DRIVER_VERSION " (" DRIVER_RELDATE ")"; @@ -513,12 +518,13 @@ static int set_hca_ctrl(struct mlx5_core_dev *dev) return err; } -static int mlx5_core_enable_hca(struct mlx5_core_dev *dev) +static int mlx5_core_enable_hca(struct mlx5_core_dev *dev, u16 func_id) { u32 out[MLX5_ST_SZ_DW(enable_hca_out)] = {0}; u32 in[MLX5_ST_SZ_DW(enable_hca_in)] = {0}; MLX5_SET(enable_hca_in, in, opcode, MLX5_CMD_OP_ENABLE_HCA); + MLX5_SET(enable_hca_in, in, function_id, func_id); return mlx5_cmd_exec(dev, &in, sizeof(in), &out, sizeof(out)); } @@ -853,8 +859,11 @@ mlx5_firmware_update(struct mlx5_core_dev *dev) static int mlx5_pci_init(struct mlx5_core_dev *dev, struct mlx5_priv *priv) { struct pci_dev *pdev = dev->pdev; - int err = 0; + device_t bsddev; + int err; + pdev = dev->pdev; + bsddev = pdev->dev.bsddev; pci_set_drvdata(dev->pdev, dev); strncpy(priv->name, dev_name(&pdev->dev), MLX5_MAX_NAME_LEN); priv->name[MLX5_MAX_NAME_LEN - 1] = 0; @@ -905,6 +914,10 @@ err_dbg: static void mlx5_pci_close(struct mlx5_core_dev *dev, struct mlx5_priv *priv) { +#ifdef PCI_IOV + if (MLX5_CAP_GEN(dev, eswitch_flow_table)) + pci_iov_detach(dev->pdev->dev.bsddev); +#endif iounmap(dev->iseg); release_bar(dev->pdev); mlx5_pci_disable_device(dev); @@ -1035,7 +1048,7 @@ static int mlx5_load_one(struct mlx5_core_dev *dev, st goto err_cmd_cleanup; } - err = mlx5_core_enable_hca(dev); + err = mlx5_core_enable_hca(dev, 0); if (err) { mlx5_core_err(dev, "enable hca failed\n"); goto err_cmd_cleanup; @@ -1295,6 +1308,9 @@ static int init_one(struct pci_dev *pdev, struct mlx5_core_dev *dev; struct mlx5_priv *priv; device_t bsddev = pdev->dev.bsddev; +#ifdef PCI_IOV + nvlist_t *pf_schema, *vf_schema; +#endif int i,err; struct sysctl_oid *pme_sysctl_node; struct sysctl_oid *pme_err_sysctl_node; @@ -1578,6 +1594,19 @@ static int init_one(struct pci_dev *pdev, mlx5_firmware_update(dev); +#ifdef PCI_IOV + if (MLX5_CAP_GEN(dev, vport_group_manager)) { + pf_schema = pci_iov_schema_alloc_node(); + vf_schema = pci_iov_schema_alloc_node(); + err = pci_iov_attach(bsddev, pf_schema, vf_schema); + if (err != 0) { + device_printf(bsddev, + "Failed to initialize SR-IOV support, error %d\n", + err); + } + } +#endif + pci_save_state(bsddev); return 0; @@ -1723,6 +1752,54 @@ static const struct pci_error_handlers mlx5_err_handle .resume = mlx5_pci_resume }; +#ifdef PCI_IOV +static int +mlx5_iov_init(device_t dev, uint16_t num_vfs, const nvlist_t *pf_config) +{ + struct pci_dev *pdev; + struct mlx5_core_dev *core_dev; + struct mlx5_priv *priv; + + pdev = device_get_softc(dev); + core_dev = pci_get_drvdata(pdev); + priv = &core_dev->priv; + + return (0); +} + +static void +mlx5_iov_uninit(device_t dev) +{ + struct pci_dev *pdev; + struct mlx5_core_dev *core_dev; + struct mlx5_priv *priv; + + pdev = device_get_softc(dev); + core_dev = pci_get_drvdata(pdev); + priv = &core_dev->priv; +} + +static int +mlx5_iov_add_vf(device_t dev, uint16_t vfnum, const nvlist_t *vf_config) +{ + struct pci_dev *pdev; + struct mlx5_core_dev *core_dev; + struct mlx5_priv *priv; + int error; + + pdev = device_get_softc(dev); + core_dev = pci_get_drvdata(pdev); + priv = &core_dev->priv; + + error = -mlx5_core_enable_hca(core_dev, vfnum + 1); + if (error != 0) { + mlx5_core_err(core_dev, "enabling VF %d failed, error %d\n", + vfnum, error); + } + return (error); +} +#endif + static int mlx5_try_fast_unload(struct mlx5_core_dev *dev) { bool fast_teardown, force_teardown; @@ -1857,7 +1934,12 @@ struct pci_driver mlx5_core_driver = { .shutdown = shutdown_one, .probe = init_one, .remove = remove_one, - .err_handler = &mlx5_err_handler + .err_handler = &mlx5_err_handler, +#ifdef PCI_IOV + .bsd_iov_init = mlx5_iov_init, + .bsd_iov_uninit = mlx5_iov_uninit, + .bsd_iov_add_vf = mlx5_iov_add_vf, +#endif }; static int __init init(void) From owner-svn-src-all@freebsd.org Wed Mar 18 22:21:43 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 97AA826F28C; Wed, 18 Mar 2020 22:21:43 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jPdz1rZkz3N13; Wed, 18 Mar 2020 22:21:43 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E5F47DF7; Wed, 18 Mar 2020 22:21:42 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IMLg9v056740; Wed, 18 Mar 2020 22:21:42 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IMLgFb056739; Wed, 18 Mar 2020 22:21:42 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <202003182221.02IMLgFb056739@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Wed, 18 Mar 2020 22:21:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359099 - head/stand/efi/libefi X-SVN-Group: head X-SVN-Commit-Author: tsoome X-SVN-Commit-Paths: head/stand/efi/libefi X-SVN-Commit-Revision: 359099 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 22:21:43 -0000 Author: tsoome Date: Wed Mar 18 22:21:42 2020 New Revision: 359099 URL: https://svnweb.freebsd.org/changeset/base/359099 Log: loader.efi: handle efi_cons_init() failure cases better if we fail to allocate buffer, set up the TERM_EMU and continue. On output, use TERM_EMU in case we did fail to allocate buffer. Modified: head/stand/efi/libefi/efi_console.c Modified: head/stand/efi/libefi/efi_console.c ============================================================================== --- head/stand/efi/libefi/efi_console.c Wed Mar 18 22:17:01 2020 (r359098) +++ head/stand/efi/libefi/efi_console.c Wed Mar 18 22:21:42 2020 (r359099) @@ -855,27 +855,28 @@ efi_cons_update_mode(void) tp.tp_row = rows; tp.tp_col = cols; buffer = malloc(rows * cols * sizeof(*buffer)); - if (buffer == NULL) - return (false); + if (buffer != NULL) { + teken_set_winsize(&teken, &tp); + a = teken_get_defattr(&teken); - teken_set_winsize(&teken, &tp); - a = teken_get_defattr(&teken); + snprintf(env, sizeof(env), "%d", a->ta_fgcolor); + env_setenv("teken.fg_color", EV_VOLATILE, env, + efi_set_colors, env_nounset); + snprintf(env, sizeof(env), "%d", a->ta_bgcolor); + env_setenv("teken.bg_color", EV_VOLATILE, env, + efi_set_colors, env_nounset); - snprintf(env, sizeof(env), "%d", a->ta_fgcolor); - env_setenv("teken.fg_color", EV_VOLATILE, env, efi_set_colors, - env_nounset); - snprintf(env, sizeof(env), "%d", a->ta_bgcolor); - env_setenv("teken.bg_color", EV_VOLATILE, env, efi_set_colors, - env_nounset); - - for (int row = 0; row < rows; row++) { - for (int col = 0; col < cols; col++) { - buffer[col + row * tp.tp_col].c = ' '; - buffer[col + row * tp.tp_col].a = *a; + for (int row = 0; row < rows; row++) { + for (int col = 0; col < cols; col++) { + buffer[col + row * tp.tp_col].c = ' '; + buffer[col + row * tp.tp_col].a = *a; + } } } - } else { + } + #ifdef TERM_EMU + if (buffer == NULL) { conout->SetAttribute(conout, EFI_TEXT_ATTR(DEFAULT_FGCOLOR, DEFAULT_BGCOLOR)); end_term(); @@ -883,8 +884,8 @@ efi_cons_update_mode(void) curs_move(&curx, &cury, curx, cury); fg_c = DEFAULT_FGCOLOR; bg_c = DEFAULT_BGCOLOR; -#endif } +#endif snprintf(env, sizeof (env), "%u", (unsigned)rows); setenv("LINES", env, 1); @@ -1011,15 +1012,12 @@ efi_cons_putchar(int c) * Don't use Teken when we're doing pure serial, or a multiple console * with video "primary" because that's also serial. */ - if ((mode & (RB_SERIAL | RB_MULTIPLE)) != 0) { + if ((mode & (RB_SERIAL | RB_MULTIPLE)) != 0 || buffer == NULL) { input_byte(ch); return; } - if (buffer != NULL) - teken_input(&teken, &ch, sizeof (ch)); - else - efi_cons_efiputchar(c); + teken_input(&teken, &ch, sizeof (ch)); } static int From owner-svn-src-all@freebsd.org Wed Mar 18 22:30:57 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DBE5626F46C; Wed, 18 Mar 2020 22:30:57 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jPrd5yV4z4GqX; Wed, 18 Mar 2020 22:30:57 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C4CE3E83; Wed, 18 Mar 2020 22:30:57 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IMUvQ6062479; Wed, 18 Mar 2020 22:30:57 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IMUvAD062474; Wed, 18 Mar 2020 22:30:57 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003182230.02IMUvAD062474@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 18 Mar 2020 22:30:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359100 - in head/sys: dev/mlx5 dev/mlx5/mlx5_core modules/mlx5 X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in head/sys: dev/mlx5 dev/mlx5/mlx5_core modules/mlx5 X-SVN-Commit-Revision: 359100 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 22:30:58 -0000 Author: kib Date: Wed Mar 18 22:30:56 2020 New Revision: 359100 URL: https://svnweb.freebsd.org/changeset/base/359100 Log: mlx5: Restore eswitch management code from attic. Reviewed by: hselasky Sponsored by: Mellanox Technologies MFC after: 2 weeks Added: head/sys/dev/mlx5/mlx5_core/eswitch.h (contents, props changed) head/sys/dev/mlx5/mlx5_core/flow_table.h (contents, props changed) head/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c (contents, props changed) Modified: head/sys/dev/mlx5/driver.h head/sys/modules/mlx5/Makefile Modified: head/sys/dev/mlx5/driver.h ============================================================================== --- head/sys/dev/mlx5/driver.h Wed Mar 18 22:21:42 2020 (r359099) +++ head/sys/dev/mlx5/driver.h Wed Mar 18 22:30:56 2020 (r359100) @@ -628,6 +628,8 @@ struct mlx5_priv { struct mlx5_rl_table rl_table; #endif struct mlx5_pme_stats pme_stats; + + struct mlx5_eswitch *eswitch; }; enum mlx5_device_state { Added: head/sys/dev/mlx5/mlx5_core/eswitch.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/mlx5/mlx5_core/eswitch.h Wed Mar 18 22:30:56 2020 (r359100) @@ -0,0 +1,169 @@ +/*- + * Copyright (c) 2013-2017, Mellanox Technologies, Ltd. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS `AS IS' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef __MLX5_ESWITCH_H__ +#define __MLX5_ESWITCH_H__ + +#include +#include + +#define MLX5_MAX_UC_PER_VPORT(dev) \ + (1 << MLX5_CAP_GEN(dev, log_max_current_uc_list)) + +#define MLX5_MAX_MC_PER_VPORT(dev) \ + (1 << MLX5_CAP_GEN(dev, log_max_current_mc_list)) + +#define MLX5_L2_ADDR_HASH_SIZE (BIT(BITS_PER_BYTE)) +#define MLX5_L2_ADDR_HASH(addr) (addr[5]) + +/* L2 -mac address based- hash helpers */ +struct l2addr_node { + struct hlist_node hlist; + u8 addr[ETH_ALEN]; +}; + +#define for_each_l2hash_node(hn, tmp, hash, i) \ + for (i = 0; i < MLX5_L2_ADDR_HASH_SIZE; i++) \ + hlist_for_each_entry_safe(hn, tmp, &hash[i], hlist) + +#define l2addr_hash_find(hash, mac, type) ({ \ + int ix = MLX5_L2_ADDR_HASH(mac); \ + bool found = false; \ + type *ptr = NULL; \ + \ + hlist_for_each_entry(ptr, &hash[ix], node.hlist) \ + if (ether_addr_equal(ptr->node.addr, mac)) {\ + found = true; \ + break; \ + } \ + if (!found) \ + ptr = NULL; \ + ptr; \ +}) + +#define l2addr_hash_add(hash, mac, type, gfp) ({ \ + int ix = MLX5_L2_ADDR_HASH(mac); \ + type *ptr = NULL; \ + \ + ptr = kzalloc(sizeof(type), gfp); \ + if (ptr) { \ + ether_addr_copy(ptr->node.addr, mac); \ + hlist_add_head(&ptr->node.hlist, &hash[ix]);\ + } \ + ptr; \ +}) + +#define l2addr_hash_del(ptr) ({ \ + hlist_del(&ptr->node.hlist); \ + kfree(ptr); \ +}) + +struct vport_ingress { + struct mlx5_flow_table *acl; + struct mlx5_flow_group *drop_grp; + struct mlx5_flow_rule *drop_rule; +}; + +struct vport_egress { + struct mlx5_flow_table *acl; + struct mlx5_flow_group *allowed_vlans_grp; + struct mlx5_flow_group *drop_grp; + struct mlx5_flow_rule *allowed_vlan; + struct mlx5_flow_rule *drop_rule; +}; + +struct mlx5_vport { + struct mlx5_core_dev *dev; + int vport; + struct hlist_head uc_list[MLX5_L2_ADDR_HASH_SIZE]; + struct hlist_head mc_list[MLX5_L2_ADDR_HASH_SIZE]; + struct work_struct vport_change_handler; + + struct vport_ingress ingress; + struct vport_egress egress; + + u16 vlan; + u8 qos; + struct mutex state_lock; /* protect dynamic state changes */ + /* This spinlock protects access to vport data, between + * "esw_vport_disable" and ongoing interrupt "mlx5_eswitch_vport_event" + * once vport marked as disabled new interrupts are discarded. + */ + spinlock_t lock; /* vport events sync */ + bool enabled; + u16 enabled_events; +}; + +struct mlx5_l2_table { + struct hlist_head l2_hash[MLX5_L2_ADDR_HASH_SIZE]; + u32 size; + unsigned long *bitmap; +}; + +struct mlx5_eswitch_fdb { + void *fdb; + struct mlx5_flow_group *addr_grp; +}; + +struct mlx5_eswitch { + struct mlx5_core_dev *dev; + struct mlx5_l2_table l2_table; + struct mlx5_eswitch_fdb fdb_table; + struct hlist_head mc_table[MLX5_L2_ADDR_HASH_SIZE]; + struct workqueue_struct *work_queue; + struct mlx5_vport *vports; + int total_vports; + int enabled_vports; +}; + +struct mlx5_esw_vport_info { + __u32 vf; + __u8 mac[32]; + __u32 vlan; + __u32 qos; + __u32 spoofchk; + __u32 linkstate; + __u32 min_tx_rate; + __u32 max_tx_rate; +}; + +/* E-Switch API */ +int mlx5_eswitch_init(struct mlx5_core_dev *dev); +void mlx5_eswitch_cleanup(struct mlx5_eswitch *esw); +void mlx5_eswitch_vport_event(struct mlx5_eswitch *esw, struct mlx5_eqe *eqe); +int mlx5_eswitch_enable_sriov(struct mlx5_eswitch *esw, int nvfs); +void mlx5_eswitch_disable_sriov(struct mlx5_eswitch *esw); +int mlx5_eswitch_set_vport_mac(struct mlx5_eswitch *esw, + int vport, u8 mac[ETH_ALEN]); +int mlx5_eswitch_set_vport_state(struct mlx5_eswitch *esw, + int vport, int link_state); +int mlx5_eswitch_set_vport_vlan(struct mlx5_eswitch *esw, + int vport, u16 vlan, u8 qos); +int mlx5_eswitch_get_vport_config(struct mlx5_eswitch *esw, + int vport, struct mlx5_esw_vport_info *evi); + +#endif /* __MLX5_ESWITCH_H__ */ Added: head/sys/dev/mlx5/mlx5_core/flow_table.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/mlx5/mlx5_core/flow_table.h Wed Mar 18 22:30:56 2020 (r359100) @@ -0,0 +1,65 @@ +/*- + * Copyright (c) 2013-2017, Mellanox Technologies, Ltd. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS `AS IS' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef MLX5_FLOW_TABLE_H +#define MLX5_FLOW_TABLE_H + +#include + +#define MLX5_SET_FLOW_TABLE_ROOT_OPMOD_SET 0x0 +#define MLX5_SET_FLOW_TABLE_ROOT_OPMOD_RESET 0x1 + +struct mlx5_flow_table_group { + u8 log_sz; + u8 match_criteria_enable; + u32 match_criteria[MLX5_ST_SZ_DW(fte_match_param)]; +}; + +void *mlx5_create_flow_table(struct mlx5_core_dev *dev, u8 level, u8 table_type, + u16 vport, + u16 num_groups, + struct mlx5_flow_table_group *group); +void mlx5_destroy_flow_table(void *flow_table); +int mlx5_add_flow_table_entry(void *flow_table, u8 match_criteria_enable, + void *match_criteria, void *flow_context, + u32 *flow_index); +int mlx5_del_flow_table_entry(void *flow_table, u32 flow_index); +u32 mlx5_get_flow_table_id(void *flow_table); +int mlx5_set_flow_table_root(struct mlx5_core_dev *mdev, u16 op_mod, + u8 vport_num, u8 table_type, u32 table_id, + u32 underlay_qpn); +void *mlx5_get_flow_table_properties(void *flow_table); +u32 mlx5_set_flow_table_miss_id(void *flow_table, u32 miss_ft_id); + +int mlx5_create_flow_counter(struct mlx5_core_dev *dev, u16 *cnt_id); +void mlx5_destroy_flow_counter(struct mlx5_core_dev *dev, u16 cnt_id); +int mlx5_query_flow_counters(struct mlx5_core_dev *dev, + u32 num_counters, u16 *cnt_ids, + struct mlx5_traffic_counter *cnt_data); +int mlx5_reset_flow_counter(struct mlx5_core_dev *dev, u16 cnt_id); + +#endif /* MLX5_FLOW_TABLE_H */ Added: head/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c Wed Mar 18 22:30:56 2020 (r359100) @@ -0,0 +1,1382 @@ +/*- + * Copyright (c) 2013-2017, Mellanox Technologies, Ltd. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS `AS IS' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include +#include +#include +#include +#include +#include "mlx5_core.h" +#include "eswitch.h" + +#define UPLINK_VPORT 0xFFFF + +#define MLX5_DEBUG_ESWITCH_MASK BIT(3) + +#define esw_info(dev, format, ...) \ + printf("mlx5_core: INFO: ""(%s): E-Switch: " format, (dev)->priv.name, ##__VA_ARGS__) + +#define esw_warn(dev, format, ...) \ + printf("mlx5_core: WARN: ""(%s): E-Switch: " format, (dev)->priv.name, ##__VA_ARGS__) + +#define esw_debug(dev, format, ...) \ + mlx5_core_dbg_mask(dev, MLX5_DEBUG_ESWITCH_MASK, format, ##__VA_ARGS__) + +enum { + MLX5_ACTION_NONE = 0, + MLX5_ACTION_ADD = 1, + MLX5_ACTION_DEL = 2, +}; + +/* E-Switch UC L2 table hash node */ +struct esw_uc_addr { + struct l2addr_node node; + u32 table_index; + u32 vport; +}; + +/* E-Switch MC FDB table hash node */ +struct esw_mc_addr { /* SRIOV only */ + struct l2addr_node node; + struct mlx5_flow_rule *uplink_rule; /* Forward to uplink rule */ + u32 refcnt; +}; + +/* Vport UC/MC hash node */ +struct vport_addr { + struct l2addr_node node; + u8 action; + u32 vport; + struct mlx5_flow_rule *flow_rule; /* SRIOV only */ +}; + +enum { + UC_ADDR_CHANGE = BIT(0), + MC_ADDR_CHANGE = BIT(1), +}; + +/* Vport context events */ +#define SRIOV_VPORT_EVENTS (UC_ADDR_CHANGE | \ + MC_ADDR_CHANGE) + +static int arm_vport_context_events_cmd(struct mlx5_core_dev *dev, u16 vport, + u32 events_mask) +{ + int in[MLX5_ST_SZ_DW(modify_nic_vport_context_in)] = {0}; + int out[MLX5_ST_SZ_DW(modify_nic_vport_context_out)] = {0}; + void *nic_vport_ctx; + + MLX5_SET(modify_nic_vport_context_in, in, + opcode, MLX5_CMD_OP_MODIFY_NIC_VPORT_CONTEXT); + MLX5_SET(modify_nic_vport_context_in, in, field_select.change_event, 1); + MLX5_SET(modify_nic_vport_context_in, in, vport_number, vport); + if (vport) + MLX5_SET(modify_nic_vport_context_in, in, other_vport, 1); + nic_vport_ctx = MLX5_ADDR_OF(modify_nic_vport_context_in, + in, nic_vport_context); + + MLX5_SET(nic_vport_context, nic_vport_ctx, arm_change_event, 1); + + if (events_mask & UC_ADDR_CHANGE) + MLX5_SET(nic_vport_context, nic_vport_ctx, + event_on_uc_address_change, 1); + if (events_mask & MC_ADDR_CHANGE) + MLX5_SET(nic_vport_context, nic_vport_ctx, + event_on_mc_address_change, 1); + + return mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); +} + +/* E-Switch vport context HW commands */ +static int query_esw_vport_context_cmd(struct mlx5_core_dev *mdev, u32 vport, + u32 *out, int outlen) +{ + u32 in[MLX5_ST_SZ_DW(query_esw_vport_context_in)] = {0}; + + MLX5_SET(query_nic_vport_context_in, in, opcode, + MLX5_CMD_OP_QUERY_ESW_VPORT_CONTEXT); + + MLX5_SET(query_esw_vport_context_in, in, vport_number, vport); + if (vport) + MLX5_SET(query_esw_vport_context_in, in, other_vport, 1); + + return mlx5_cmd_exec(mdev, in, sizeof(in), out, outlen); +} + +static int query_esw_vport_cvlan(struct mlx5_core_dev *dev, u32 vport, + u16 *vlan, u8 *qos) +{ + u32 out[MLX5_ST_SZ_DW(query_esw_vport_context_out)] = {0}; + int err; + bool cvlan_strip; + bool cvlan_insert; + + *vlan = 0; + *qos = 0; + + if (!MLX5_CAP_ESW(dev, vport_cvlan_strip) || + !MLX5_CAP_ESW(dev, vport_cvlan_insert_if_not_exist)) + return -ENOTSUPP; + + err = query_esw_vport_context_cmd(dev, vport, out, sizeof(out)); + if (err) + goto out; + + cvlan_strip = MLX5_GET(query_esw_vport_context_out, out, + esw_vport_context.vport_cvlan_strip); + + cvlan_insert = MLX5_GET(query_esw_vport_context_out, out, + esw_vport_context.vport_cvlan_insert); + + if (cvlan_strip || cvlan_insert) { + *vlan = MLX5_GET(query_esw_vport_context_out, out, + esw_vport_context.cvlan_id); + *qos = MLX5_GET(query_esw_vport_context_out, out, + esw_vport_context.cvlan_pcp); + } + + esw_debug(dev, "Query Vport[%d] cvlan: VLAN %d qos=%d\n", + vport, *vlan, *qos); +out: + return err; +} + +static int modify_esw_vport_context_cmd(struct mlx5_core_dev *dev, u16 vport, + void *in, int inlen) +{ + u32 out[MLX5_ST_SZ_DW(modify_esw_vport_context_out)] = {0}; + + MLX5_SET(modify_esw_vport_context_in, in, vport_number, vport); + if (vport) + MLX5_SET(modify_esw_vport_context_in, in, other_vport, 1); + + MLX5_SET(modify_esw_vport_context_in, in, opcode, + MLX5_CMD_OP_MODIFY_ESW_VPORT_CONTEXT); + + return mlx5_cmd_exec(dev, in, inlen, out, sizeof(out)); +} + +static int modify_esw_vport_cvlan(struct mlx5_core_dev *dev, u32 vport, + u16 vlan, u8 qos, bool set) +{ + u32 in[MLX5_ST_SZ_DW(modify_esw_vport_context_in)] = {0}; + + if (!MLX5_CAP_ESW(dev, vport_cvlan_strip) || + !MLX5_CAP_ESW(dev, vport_cvlan_insert_if_not_exist)) + return -ENOTSUPP; + + esw_debug(dev, "Set Vport[%d] VLAN %d qos %d set=%d\n", + vport, vlan, qos, set); + + if (set) { + MLX5_SET(modify_esw_vport_context_in, in, + esw_vport_context.vport_cvlan_strip, 1); + /* insert only if no vlan in packet */ + MLX5_SET(modify_esw_vport_context_in, in, + esw_vport_context.vport_cvlan_insert, 1); + MLX5_SET(modify_esw_vport_context_in, in, + esw_vport_context.cvlan_pcp, qos); + MLX5_SET(modify_esw_vport_context_in, in, + esw_vport_context.cvlan_id, vlan); + } + + MLX5_SET(modify_esw_vport_context_in, in, + field_select.vport_cvlan_strip, 1); + MLX5_SET(modify_esw_vport_context_in, in, + field_select.vport_cvlan_insert, 1); + + return modify_esw_vport_context_cmd(dev, vport, in, sizeof(in)); +} + +/* HW L2 Table (MPFS) management */ +static int set_l2_table_entry_cmd(struct mlx5_core_dev *dev, u32 index, + u8 *mac, u8 vlan_valid, u16 vlan) +{ + u32 in[MLX5_ST_SZ_DW(set_l2_table_entry_in)] = {0}; + u32 out[MLX5_ST_SZ_DW(set_l2_table_entry_out)] = {0}; + u8 *in_mac_addr; + + MLX5_SET(set_l2_table_entry_in, in, opcode, + MLX5_CMD_OP_SET_L2_TABLE_ENTRY); + MLX5_SET(set_l2_table_entry_in, in, table_index, index); + MLX5_SET(set_l2_table_entry_in, in, vlan_valid, vlan_valid); + MLX5_SET(set_l2_table_entry_in, in, vlan, vlan); + + in_mac_addr = MLX5_ADDR_OF(set_l2_table_entry_in, in, mac_address); + ether_addr_copy(&in_mac_addr[2], mac); + + return mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); +} + +static int del_l2_table_entry_cmd(struct mlx5_core_dev *dev, u32 index) +{ + u32 in[MLX5_ST_SZ_DW(delete_l2_table_entry_in)] = {0}; + u32 out[MLX5_ST_SZ_DW(delete_l2_table_entry_out)] = {0}; + + MLX5_SET(delete_l2_table_entry_in, in, opcode, + MLX5_CMD_OP_DELETE_L2_TABLE_ENTRY); + MLX5_SET(delete_l2_table_entry_in, in, table_index, index); + return mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); +} + +static int alloc_l2_table_index(struct mlx5_l2_table *l2_table, u32 *ix) +{ + int err = 0; + + *ix = find_first_zero_bit(l2_table->bitmap, l2_table->size); + if (*ix >= l2_table->size) + err = -ENOSPC; + else + __set_bit(*ix, l2_table->bitmap); + + return err; +} + +static void free_l2_table_index(struct mlx5_l2_table *l2_table, u32 ix) +{ + __clear_bit(ix, l2_table->bitmap); +} + +static int set_l2_table_entry(struct mlx5_core_dev *dev, u8 *mac, + u8 vlan_valid, u16 vlan, + u32 *index) +{ + struct mlx5_l2_table *l2_table = &dev->priv.eswitch->l2_table; + int err; + + err = alloc_l2_table_index(l2_table, index); + if (err) + return err; + + err = set_l2_table_entry_cmd(dev, *index, mac, vlan_valid, vlan); + if (err) + free_l2_table_index(l2_table, *index); + + return err; +} + +static void del_l2_table_entry(struct mlx5_core_dev *dev, u32 index) +{ + struct mlx5_l2_table *l2_table = &dev->priv.eswitch->l2_table; + + del_l2_table_entry_cmd(dev, index); + free_l2_table_index(l2_table, index); +} + +/* E-Switch FDB */ +static struct mlx5_flow_rule * +esw_fdb_set_vport_rule(struct mlx5_eswitch *esw, u8 mac[ETH_ALEN], u32 vport) +{ + int match_header = MLX5_MATCH_OUTER_HEADERS; + struct mlx5_flow_destination dest; + struct mlx5_flow_rule *flow_rule = NULL; + u32 *match_v; + u32 *match_c; + u8 *dmac_v; + u8 *dmac_c; + + match_v = kzalloc(MLX5_ST_SZ_BYTES(fte_match_param), GFP_KERNEL); + match_c = kzalloc(MLX5_ST_SZ_BYTES(fte_match_param), GFP_KERNEL); + if (!match_v || !match_c) { + printf("mlx5_core: WARN: ""FDB: Failed to alloc match parameters\n"); + goto out; + } + dmac_v = MLX5_ADDR_OF(fte_match_param, match_v, + outer_headers.dmac_47_16); + dmac_c = MLX5_ADDR_OF(fte_match_param, match_c, + outer_headers.dmac_47_16); + + ether_addr_copy(dmac_v, mac); + /* Match criteria mask */ + memset(dmac_c, 0xff, 6); + + dest.type = MLX5_FLOW_CONTEXT_DEST_TYPE_VPORT; + dest.vport_num = vport; + + esw_debug(esw->dev, + "\tFDB add rule dmac_v(%pM) dmac_c(%pM) -> vport(%d)\n", + dmac_v, dmac_c, vport); + flow_rule = + mlx5_add_flow_rule(esw->fdb_table.fdb, + match_header, + match_c, + match_v, + MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, + 0, &dest); + if (IS_ERR_OR_NULL(flow_rule)) { + printf("mlx5_core: WARN: ""FDB: Failed to add flow rule: dmac_v(%pM) dmac_c(%pM) -> vport(%d), err(%ld)\n", dmac_v, dmac_c, vport, PTR_ERR(flow_rule)); + flow_rule = NULL; + } +out: + kfree(match_v); + kfree(match_c); + return flow_rule; +} + +static int esw_create_fdb_table(struct mlx5_eswitch *esw) +{ + int inlen = MLX5_ST_SZ_BYTES(create_flow_group_in); + struct mlx5_core_dev *dev = esw->dev; + struct mlx5_flow_namespace *root_ns; + struct mlx5_flow_table *fdb; + struct mlx5_flow_group *g; + void *match_criteria; + int table_size; + u32 *flow_group_in; + u8 *dmac; + int err = 0; + + esw_debug(dev, "Create FDB log_max_size(%d)\n", + MLX5_CAP_ESW_FLOWTABLE_FDB(dev, log_max_ft_size)); + + root_ns = mlx5_get_flow_namespace(dev, MLX5_FLOW_NAMESPACE_FDB); + if (!root_ns) { + esw_warn(dev, "Failed to get FDB flow namespace\n"); + return -ENOMEM; + } + + flow_group_in = mlx5_vzalloc(inlen); + if (!flow_group_in) + return -ENOMEM; + memset(flow_group_in, 0, inlen); + + /* (-2) Since MaorG said so .. */ + table_size = BIT(MLX5_CAP_ESW_FLOWTABLE_FDB(dev, log_max_ft_size)) - 2; + + fdb = mlx5_create_flow_table(root_ns, 0, "FDB", table_size); + if (IS_ERR_OR_NULL(fdb)) { + err = PTR_ERR(fdb); + esw_warn(dev, "Failed to create FDB Table err %d\n", err); + goto out; + } + + MLX5_SET(create_flow_group_in, flow_group_in, match_criteria_enable, + MLX5_MATCH_OUTER_HEADERS); + match_criteria = MLX5_ADDR_OF(create_flow_group_in, flow_group_in, match_criteria); + dmac = MLX5_ADDR_OF(fte_match_param, match_criteria, outer_headers.dmac_47_16); + MLX5_SET(create_flow_group_in, flow_group_in, start_flow_index, 0); + MLX5_SET(create_flow_group_in, flow_group_in, end_flow_index, table_size - 1); + eth_broadcast_addr(dmac); + + g = mlx5_create_flow_group(fdb, flow_group_in); + if (IS_ERR_OR_NULL(g)) { + err = PTR_ERR(g); + esw_warn(dev, "Failed to create flow group err(%d)\n", err); + goto out; + } + + esw->fdb_table.addr_grp = g; + esw->fdb_table.fdb = fdb; +out: + kfree(flow_group_in); + if (err && !IS_ERR_OR_NULL(fdb)) + mlx5_destroy_flow_table(fdb); + return err; +} + +static void esw_destroy_fdb_table(struct mlx5_eswitch *esw) +{ + if (!esw->fdb_table.fdb) + return; + + esw_debug(esw->dev, "Destroy FDB Table\n"); + mlx5_destroy_flow_group(esw->fdb_table.addr_grp); + mlx5_destroy_flow_table(esw->fdb_table.fdb); + esw->fdb_table.fdb = NULL; + esw->fdb_table.addr_grp = NULL; +} + +/* E-Switch vport UC/MC lists management */ +typedef int (*vport_addr_action)(struct mlx5_eswitch *esw, + struct vport_addr *vaddr); + +static int esw_add_uc_addr(struct mlx5_eswitch *esw, struct vport_addr *vaddr) +{ + struct hlist_head *hash = esw->l2_table.l2_hash; + struct esw_uc_addr *esw_uc; + u8 *mac = vaddr->node.addr; + u32 vport = vaddr->vport; + int err; + + esw_uc = l2addr_hash_find(hash, mac, struct esw_uc_addr); + if (esw_uc) { + esw_warn(esw->dev, + "Failed to set L2 mac(%pM) for vport(%d), mac is already in use by vport(%d)\n", + mac, vport, esw_uc->vport); + return -EEXIST; + } + + esw_uc = l2addr_hash_add(hash, mac, struct esw_uc_addr, GFP_KERNEL); + if (!esw_uc) + return -ENOMEM; + esw_uc->vport = vport; + + err = set_l2_table_entry(esw->dev, mac, 0, 0, &esw_uc->table_index); + if (err) + goto abort; + + if (esw->fdb_table.fdb) /* SRIOV is enabled: Forward UC MAC to vport */ + vaddr->flow_rule = esw_fdb_set_vport_rule(esw, mac, vport); + + esw_debug(esw->dev, "\tADDED UC MAC: vport[%d] %pM index:%d fr(%p)\n", + vport, mac, esw_uc->table_index, vaddr->flow_rule); + return err; +abort: + l2addr_hash_del(esw_uc); + return err; +} + +static int esw_del_uc_addr(struct mlx5_eswitch *esw, struct vport_addr *vaddr) +{ + struct hlist_head *hash = esw->l2_table.l2_hash; + struct esw_uc_addr *esw_uc; + u8 *mac = vaddr->node.addr; + u32 vport = vaddr->vport; + + esw_uc = l2addr_hash_find(hash, mac, struct esw_uc_addr); + if (!esw_uc || esw_uc->vport != vport) { + esw_debug(esw->dev, + "MAC(%pM) doesn't belong to vport (%d)\n", + mac, vport); + return -EINVAL; + } + esw_debug(esw->dev, "\tDELETE UC MAC: vport[%d] %pM index:%d fr(%p)\n", + vport, mac, esw_uc->table_index, vaddr->flow_rule); + + del_l2_table_entry(esw->dev, esw_uc->table_index); + + if (vaddr->flow_rule) + mlx5_del_flow_rule(vaddr->flow_rule); + vaddr->flow_rule = NULL; + + l2addr_hash_del(esw_uc); + return 0; +} + +static int esw_add_mc_addr(struct mlx5_eswitch *esw, struct vport_addr *vaddr) +{ + struct hlist_head *hash = esw->mc_table; + struct esw_mc_addr *esw_mc; + u8 *mac = vaddr->node.addr; + u32 vport = vaddr->vport; + + if (!esw->fdb_table.fdb) + return 0; + + esw_mc = l2addr_hash_find(hash, mac, struct esw_mc_addr); + if (esw_mc) + goto add; + + esw_mc = l2addr_hash_add(hash, mac, struct esw_mc_addr, GFP_KERNEL); + if (!esw_mc) + return -ENOMEM; + + esw_mc->uplink_rule = /* Forward MC MAC to Uplink */ + esw_fdb_set_vport_rule(esw, mac, UPLINK_VPORT); +add: + esw_mc->refcnt++; + /* Forward MC MAC to vport */ + vaddr->flow_rule = esw_fdb_set_vport_rule(esw, mac, vport); + esw_debug(esw->dev, + "\tADDED MC MAC: vport[%d] %pM fr(%p) refcnt(%d) uplinkfr(%p)\n", + vport, mac, vaddr->flow_rule, + esw_mc->refcnt, esw_mc->uplink_rule); + return 0; +} + +static int esw_del_mc_addr(struct mlx5_eswitch *esw, struct vport_addr *vaddr) +{ + struct hlist_head *hash = esw->mc_table; + struct esw_mc_addr *esw_mc; + u8 *mac = vaddr->node.addr; + u32 vport = vaddr->vport; + + if (!esw->fdb_table.fdb) + return 0; + + esw_mc = l2addr_hash_find(hash, mac, struct esw_mc_addr); + if (!esw_mc) { + esw_warn(esw->dev, + "Failed to find eswitch MC addr for MAC(%pM) vport(%d)", + mac, vport); + return -EINVAL; + } + esw_debug(esw->dev, + "\tDELETE MC MAC: vport[%d] %pM fr(%p) refcnt(%d) uplinkfr(%p)\n", + vport, mac, vaddr->flow_rule, esw_mc->refcnt, + esw_mc->uplink_rule); + + if (vaddr->flow_rule) + mlx5_del_flow_rule(vaddr->flow_rule); + vaddr->flow_rule = NULL; + + if (--esw_mc->refcnt) + return 0; + + if (esw_mc->uplink_rule) + mlx5_del_flow_rule(esw_mc->uplink_rule); + + l2addr_hash_del(esw_mc); + return 0; +} + +/* Apply vport UC/MC list to HW l2 table and FDB table */ +static void esw_apply_vport_addr_list(struct mlx5_eswitch *esw, + u32 vport_num, int list_type) +{ + struct mlx5_vport *vport = &esw->vports[vport_num]; + bool is_uc = list_type == MLX5_NIC_VPORT_LIST_TYPE_UC; + vport_addr_action vport_addr_add; + vport_addr_action vport_addr_del; + struct vport_addr *addr; + struct l2addr_node *node; + struct hlist_head *hash; + struct hlist_node *tmp; + int hi; + + vport_addr_add = is_uc ? esw_add_uc_addr : + esw_add_mc_addr; + vport_addr_del = is_uc ? esw_del_uc_addr : + esw_del_mc_addr; + + hash = is_uc ? vport->uc_list : vport->mc_list; + for_each_l2hash_node(node, tmp, hash, hi) { + addr = container_of(node, struct vport_addr, node); + switch (addr->action) { + case MLX5_ACTION_ADD: + vport_addr_add(esw, addr); + addr->action = MLX5_ACTION_NONE; + break; + case MLX5_ACTION_DEL: + vport_addr_del(esw, addr); + l2addr_hash_del(addr); + break; + } + } +} + +/* Sync vport UC/MC list from vport context */ +static void esw_update_vport_addr_list(struct mlx5_eswitch *esw, + u32 vport_num, int list_type) +{ + struct mlx5_vport *vport = &esw->vports[vport_num]; + bool is_uc = list_type == MLX5_NIC_VPORT_LIST_TYPE_UC; + u8 (*mac_list)[ETH_ALEN]; + struct l2addr_node *node; + struct vport_addr *addr; + struct hlist_head *hash; + struct hlist_node *tmp; + int size; + int err; + int hi; + int i; + + size = is_uc ? MLX5_MAX_UC_PER_VPORT(esw->dev) : + MLX5_MAX_MC_PER_VPORT(esw->dev); + + mac_list = kcalloc(size, ETH_ALEN, GFP_KERNEL); + if (!mac_list) + return; + + hash = is_uc ? vport->uc_list : vport->mc_list; + + for_each_l2hash_node(node, tmp, hash, hi) { + addr = container_of(node, struct vport_addr, node); + addr->action = MLX5_ACTION_DEL; + } + + err = mlx5_query_nic_vport_mac_list(esw->dev, vport_num, list_type, + mac_list, &size); + if (err) + return; + esw_debug(esw->dev, "vport[%d] context update %s list size (%d)\n", + vport_num, is_uc ? "UC" : "MC", size); + + for (i = 0; i < size; i++) { + if (is_uc && !is_valid_ether_addr(mac_list[i])) + continue; + + if (!is_uc && !is_multicast_ether_addr(mac_list[i])) + continue; + + addr = l2addr_hash_find(hash, mac_list[i], struct vport_addr); + if (addr) { + addr->action = MLX5_ACTION_NONE; + continue; + } + + addr = l2addr_hash_add(hash, mac_list[i], struct vport_addr, + GFP_KERNEL); + if (!addr) { + esw_warn(esw->dev, + "Failed to add MAC(%pM) to vport[%d] DB\n", + mac_list[i], vport_num); + continue; + } + addr->vport = vport_num; + addr->action = MLX5_ACTION_ADD; + } + kfree(mac_list); +} + +static void esw_vport_change_handler(struct work_struct *work) +{ + struct mlx5_vport *vport = + container_of(work, struct mlx5_vport, vport_change_handler); + struct mlx5_core_dev *dev = vport->dev; + struct mlx5_eswitch *esw = dev->priv.eswitch; + u8 mac[ETH_ALEN]; + + mlx5_query_nic_vport_mac_address(dev, vport->vport, mac); + esw_debug(dev, "vport[%d] Context Changed: perm mac: %pM\n", + vport->vport, mac); + + if (vport->enabled_events & UC_ADDR_CHANGE) { + esw_update_vport_addr_list(esw, vport->vport, + MLX5_NIC_VPORT_LIST_TYPE_UC); + esw_apply_vport_addr_list(esw, vport->vport, + MLX5_NIC_VPORT_LIST_TYPE_UC); + } + + if (vport->enabled_events & MC_ADDR_CHANGE) { + esw_update_vport_addr_list(esw, vport->vport, + MLX5_NIC_VPORT_LIST_TYPE_MC); + esw_apply_vport_addr_list(esw, vport->vport, + MLX5_NIC_VPORT_LIST_TYPE_MC); + } + + esw_debug(esw->dev, "vport[%d] Context Changed: Done\n", vport->vport); + if (vport->enabled) + arm_vport_context_events_cmd(dev, vport->vport, + vport->enabled_events); +} + +static void esw_vport_enable_egress_acl(struct mlx5_eswitch *esw, + struct mlx5_vport *vport) +{ + int inlen = MLX5_ST_SZ_BYTES(create_flow_group_in); + struct mlx5_flow_group *vlan_grp = NULL; + struct mlx5_flow_group *drop_grp = NULL; + struct mlx5_core_dev *dev = esw->dev; + struct mlx5_flow_namespace *root_ns; + struct mlx5_flow_table *acl; + void *match_criteria; + char table_name[32]; + u32 *flow_group_in; + int table_size = 2; + int err = 0; + + if (!MLX5_CAP_ESW_EGRESS_ACL(dev, ft_support)) + return; + + esw_debug(dev, "Create vport[%d] egress ACL log_max_size(%d)\n", + vport->vport, MLX5_CAP_ESW_EGRESS_ACL(dev, log_max_ft_size)); + + root_ns = mlx5_get_flow_namespace(dev, MLX5_FLOW_NAMESPACE_ESW_EGRESS); + if (!root_ns) { + esw_warn(dev, "Failed to get E-Switch egress flow namespace\n"); + return; + } + + flow_group_in = mlx5_vzalloc(inlen); + if (!flow_group_in) + return; + + snprintf(table_name, 32, "egress_%d", vport->vport); + acl = mlx5_create_vport_flow_table(root_ns, vport->vport, 0, table_name, table_size); + if (IS_ERR_OR_NULL(acl)) { + err = PTR_ERR(acl); + esw_warn(dev, "Failed to create E-Switch vport[%d] egress flow Table, err(%d)\n", + vport->vport, err); + goto out; + } + + MLX5_SET(create_flow_group_in, flow_group_in, match_criteria_enable, MLX5_MATCH_OUTER_HEADERS); + match_criteria = MLX5_ADDR_OF(create_flow_group_in, flow_group_in, match_criteria); + MLX5_SET_TO_ONES(fte_match_param, match_criteria, outer_headers.cvlan_tag); + MLX5_SET_TO_ONES(fte_match_param, match_criteria, outer_headers.first_vid); + MLX5_SET(create_flow_group_in, flow_group_in, start_flow_index, 0); + MLX5_SET(create_flow_group_in, flow_group_in, end_flow_index, 0); + + vlan_grp = mlx5_create_flow_group(acl, flow_group_in); + if (IS_ERR_OR_NULL(vlan_grp)) { + err = PTR_ERR(vlan_grp); + esw_warn(dev, "Failed to create E-Switch vport[%d] egress allowed vlans flow group, err(%d)\n", + vport->vport, err); + goto out; + } + + memset(flow_group_in, 0, inlen); + MLX5_SET(create_flow_group_in, flow_group_in, start_flow_index, 1); + MLX5_SET(create_flow_group_in, flow_group_in, end_flow_index, 1); + drop_grp = mlx5_create_flow_group(acl, flow_group_in); + if (IS_ERR_OR_NULL(drop_grp)) { + err = PTR_ERR(drop_grp); + esw_warn(dev, "Failed to create E-Switch vport[%d] egress drop flow group, err(%d)\n", + vport->vport, err); + goto out; + } + + vport->egress.acl = acl; + vport->egress.drop_grp = drop_grp; + vport->egress.allowed_vlans_grp = vlan_grp; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Wed Mar 18 22:33:41 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 02FBD26F652; Wed, 18 Mar 2020 22:33:41 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jPvm42xsz4Nvp; Wed, 18 Mar 2020 22:33:40 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 50EC5100F; Wed, 18 Mar 2020 22:33:40 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IMXelb066043; Wed, 18 Mar 2020 22:33:40 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IMXdA0066039; Wed, 18 Mar 2020 22:33:39 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003182233.02IMXdA0066039@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 18 Mar 2020 22:33:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359101 - in head/sys/dev/mlx5: . mlx5_core mlx5_en X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in head/sys/dev/mlx5: . mlx5_core mlx5_en X-SVN-Commit-Revision: 359101 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 22:33:41 -0000 Author: kib Date: Wed Mar 18 22:33:39 2020 New Revision: 359101 URL: https://svnweb.freebsd.org/changeset/base/359101 Log: mlx5: Integrate eswitch and mpfs management code. Reviewed by: hselasky Sponsored by: Mellanox Technologies MFC after: 2 weeks Modified: head/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c head/sys/dev/mlx5/mlx5_core/mlx5_mpfs.c head/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c head/sys/dev/mlx5/mpfs.h Modified: head/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c ============================================================================== --- head/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c Wed Mar 18 22:30:56 2020 (r359100) +++ head/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c Wed Mar 18 22:33:39 2020 (r359101) @@ -30,6 +30,7 @@ #include #include #include +#include #include "mlx5_core.h" #include "eswitch.h" @@ -212,81 +213,6 @@ static int modify_esw_vport_cvlan(struct mlx5_core_dev return modify_esw_vport_context_cmd(dev, vport, in, sizeof(in)); } -/* HW L2 Table (MPFS) management */ -static int set_l2_table_entry_cmd(struct mlx5_core_dev *dev, u32 index, - u8 *mac, u8 vlan_valid, u16 vlan) -{ - u32 in[MLX5_ST_SZ_DW(set_l2_table_entry_in)] = {0}; - u32 out[MLX5_ST_SZ_DW(set_l2_table_entry_out)] = {0}; - u8 *in_mac_addr; - - MLX5_SET(set_l2_table_entry_in, in, opcode, - MLX5_CMD_OP_SET_L2_TABLE_ENTRY); - MLX5_SET(set_l2_table_entry_in, in, table_index, index); - MLX5_SET(set_l2_table_entry_in, in, vlan_valid, vlan_valid); - MLX5_SET(set_l2_table_entry_in, in, vlan, vlan); - - in_mac_addr = MLX5_ADDR_OF(set_l2_table_entry_in, in, mac_address); - ether_addr_copy(&in_mac_addr[2], mac); - - return mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); -} - -static int del_l2_table_entry_cmd(struct mlx5_core_dev *dev, u32 index) -{ - u32 in[MLX5_ST_SZ_DW(delete_l2_table_entry_in)] = {0}; - u32 out[MLX5_ST_SZ_DW(delete_l2_table_entry_out)] = {0}; - - MLX5_SET(delete_l2_table_entry_in, in, opcode, - MLX5_CMD_OP_DELETE_L2_TABLE_ENTRY); - MLX5_SET(delete_l2_table_entry_in, in, table_index, index); - return mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); -} - -static int alloc_l2_table_index(struct mlx5_l2_table *l2_table, u32 *ix) -{ - int err = 0; - - *ix = find_first_zero_bit(l2_table->bitmap, l2_table->size); - if (*ix >= l2_table->size) - err = -ENOSPC; - else - __set_bit(*ix, l2_table->bitmap); - - return err; -} - -static void free_l2_table_index(struct mlx5_l2_table *l2_table, u32 ix) -{ - __clear_bit(ix, l2_table->bitmap); -} - -static int set_l2_table_entry(struct mlx5_core_dev *dev, u8 *mac, - u8 vlan_valid, u16 vlan, - u32 *index) -{ - struct mlx5_l2_table *l2_table = &dev->priv.eswitch->l2_table; - int err; - - err = alloc_l2_table_index(l2_table, index); - if (err) - return err; - - err = set_l2_table_entry_cmd(dev, *index, mac, vlan_valid, vlan); - if (err) - free_l2_table_index(l2_table, *index); - - return err; -} - -static void del_l2_table_entry(struct mlx5_core_dev *dev, u32 index) -{ - struct mlx5_l2_table *l2_table = &dev->priv.eswitch->l2_table; - - del_l2_table_entry_cmd(dev, index); - free_l2_table_index(l2_table, index); -} - /* E-Switch FDB */ static struct mlx5_flow_rule * esw_fdb_set_vport_rule(struct mlx5_eswitch *esw, u8 mac[ETH_ALEN], u32 vport) @@ -435,7 +361,7 @@ static int esw_add_uc_addr(struct mlx5_eswitch *esw, s return -ENOMEM; esw_uc->vport = vport; - err = set_l2_table_entry(esw->dev, mac, 0, 0, &esw_uc->table_index); + err = mlx5_mpfs_add_mac(esw->dev, &esw_uc->table_index, mac, 0, 0); if (err) goto abort; @@ -467,7 +393,7 @@ static int esw_del_uc_addr(struct mlx5_eswitch *esw, s esw_debug(esw->dev, "\tDELETE UC MAC: vport[%d] %pM index:%d fr(%p)\n", vport, mac, esw_uc->table_index, vaddr->flow_rule); - del_l2_table_entry(esw->dev, esw_uc->table_index); + mlx5_mpfs_del_mac(esw->dev, esw_uc->table_index); if (vaddr->flow_rule) mlx5_del_flow_rule(vaddr->flow_rule); Modified: head/sys/dev/mlx5/mlx5_core/mlx5_mpfs.c ============================================================================== --- head/sys/dev/mlx5/mlx5_core/mlx5_mpfs.c Wed Mar 18 22:30:56 2020 (r359100) +++ head/sys/dev/mlx5/mlx5_core/mlx5_mpfs.c Wed Mar 18 22:33:39 2020 (r359101) @@ -39,7 +39,8 @@ #define MPFS_UNLOCK(dev) spin_unlock(&(dev)->mpfs.spinlock) int -mlx5_mpfs_add_mac(struct mlx5_core_dev *dev, u32 *p_index, const u8 *mac) +mlx5_mpfs_add_mac(struct mlx5_core_dev *dev, u32 *p_index, const u8 *mac, + u8 vlan_valid, u16 vlan) { const u32 l2table_size = MIN(1U << MLX5_CAP_GEN(dev, log_max_l2_table), MLX5_MPFS_TABLE_MAX); @@ -65,6 +66,8 @@ mlx5_mpfs_add_mac(struct mlx5_core_dev *dev, u32 *p_in MLX5_SET(set_l2_table_entry_in, in, opcode, MLX5_CMD_OP_SET_L2_TABLE_ENTRY); MLX5_SET(set_l2_table_entry_in, in, table_index, index); + MLX5_SET(set_l2_table_entry_in, in, vlan_valid, vlan_valid); + MLX5_SET(set_l2_table_entry_in, in, vlan, vlan); in_mac_addr = MLX5_ADDR_OF(set_l2_table_entry_in, in, mac_address); ether_addr_copy(&in_mac_addr[2], mac); Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c ============================================================================== --- head/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c Wed Mar 18 22:30:56 2020 (r359100) +++ head/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c Wed Mar 18 22:33:39 2020 (r359101) @@ -861,7 +861,8 @@ retry: if (mlx5e_add_eth_addr_to_hash(priv->eth_addr.if_uc, hn) == 0) continue; if (hn->mpfs_index == -1U) - mlx5_mpfs_add_mac(priv->mdev, &hn->mpfs_index, hn->ai.addr); + mlx5_mpfs_add_mac(priv->mdev, &hn->mpfs_index, + hn->ai.addr, 0, 0); } /* insert L2 multicast addresses into hash list */ Modified: head/sys/dev/mlx5/mpfs.h ============================================================================== --- head/sys/dev/mlx5/mpfs.h Wed Mar 18 22:30:56 2020 (r359100) +++ head/sys/dev/mlx5/mpfs.h Wed Mar 18 22:33:39 2020 (r359101) @@ -29,7 +29,8 @@ #define _MLX5_MPFS_H_ struct mlx5_core_dev; -int mlx5_mpfs_add_mac(struct mlx5_core_dev *dev, u32 *p_index, const u8 *mac); +int mlx5_mpfs_add_mac(struct mlx5_core_dev *dev, u32 *p_index, const u8 *mac, + u8 vlan_valid, u16 bbvlan); int mlx5_mpfs_del_mac(struct mlx5_core_dev *dev, u32 index); int mlx5_mpfs_init(struct mlx5_core_dev *dev); void mlx5_mpfs_destroy(struct mlx5_core_dev *dev); From owner-svn-src-all@freebsd.org Wed Mar 18 22:38:58 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E9FDC26F7DC; Wed, 18 Mar 2020 22:38:58 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jQ1t1cktz4cmc; Wed, 18 Mar 2020 22:38:58 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E17281017; Wed, 18 Mar 2020 22:38:57 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IMcvr3066375; Wed, 18 Mar 2020 22:38:57 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IMcvui066374; Wed, 18 Mar 2020 22:38:57 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003182238.02IMcvui066374@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 18 Mar 2020 22:38:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359102 - head/sys/dev/mlx5 X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/dev/mlx5 X-SVN-Commit-Revision: 359102 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 22:38:59 -0000 Author: kib Date: Wed Mar 18 22:38:57 2020 New Revision: 359102 URL: https://svnweb.freebsd.org/changeset/base/359102 Log: mlx5: Add 'follow' vport state, relevant for VFs. Reviewed by: hselasky Sponsored by: Mellanox Technologies MFC after: 2 weeks Modified: head/sys/dev/mlx5/device.h Modified: head/sys/dev/mlx5/device.h ============================================================================== --- head/sys/dev/mlx5/device.h Wed Mar 18 22:33:39 2020 (r359101) +++ head/sys/dev/mlx5/device.h Wed Mar 18 22:38:57 2020 (r359102) @@ -839,6 +839,7 @@ static inline int mlx5_host_is_le(void) enum { VPORT_STATE_DOWN = 0x0, VPORT_STATE_UP = 0x1, + VPORT_STATE_FOLLOW = 0x2, }; enum { From owner-svn-src-all@freebsd.org Wed Mar 18 22:40:28 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0157426F891; Wed, 18 Mar 2020 22:40:28 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jQ3b4hSVz3CSV; Wed, 18 Mar 2020 22:40:27 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C02F6101B; Wed, 18 Mar 2020 22:40:26 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IMeQFk066535; Wed, 18 Mar 2020 22:40:26 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IMeQ3C066534; Wed, 18 Mar 2020 22:40:26 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003182240.02IMeQ3C066534@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 18 Mar 2020 22:40:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359103 - head/sys/dev/mlx5/mlx5_core X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/dev/mlx5/mlx5_core X-SVN-Commit-Revision: 359103 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 22:40:28 -0000 Author: kib Date: Wed Mar 18 22:40:26 2020 New Revision: 359103 URL: https://svnweb.freebsd.org/changeset/base/359103 Log: mlx5: Use eswitch interface to configure VFs steering. Reviewed by: hselasky Sponsored by: Mellanox Technologies MFC after: 2 weeks Modified: head/sys/dev/mlx5/mlx5_core/mlx5_main.c Modified: head/sys/dev/mlx5/mlx5_core/mlx5_main.c ============================================================================== --- head/sys/dev/mlx5/mlx5_core/mlx5_main.c Wed Mar 18 22:38:57 2020 (r359102) +++ head/sys/dev/mlx5/mlx5_core/mlx5_main.c Wed Mar 18 22:40:26 2020 (r359103) @@ -39,11 +39,13 @@ #include #include #include +#include #include #include #include #include #include "mlx5_core.h" +#include "eswitch.h" #include "fs_core.h" #ifdef PCI_IOV #include @@ -176,6 +178,10 @@ static struct mlx5_profile profiles[] = { }, }; +#ifdef PCI_IOV +static const char iov_mac_addr_name[] = "mac-addr"; +#endif + static int set_dma_caps(struct pci_dev *pdev) { struct mlx5_core_dev *dev = pci_get_drvdata(pdev); @@ -1236,6 +1242,7 @@ static int mlx5_unload_one(struct mlx5_core_dev *dev, mlx5_unregister_device(dev); + mlx5_eswitch_cleanup(dev->priv.eswitch); mlx5_fpga_device_stop(dev); mlx5_mpfs_destroy(dev); mlx5_cleanup_fs(dev); @@ -1596,12 +1603,20 @@ static int init_one(struct pci_dev *pdev, #ifdef PCI_IOV if (MLX5_CAP_GEN(dev, vport_group_manager)) { - pf_schema = pci_iov_schema_alloc_node(); - vf_schema = pci_iov_schema_alloc_node(); - err = pci_iov_attach(bsddev, pf_schema, vf_schema); - if (err != 0) { - device_printf(bsddev, + err = mlx5_eswitch_init(dev); + if (err == 0) { + pf_schema = pci_iov_schema_alloc_node(); + vf_schema = pci_iov_schema_alloc_node(); + pci_iov_schema_add_unicast_mac(vf_schema, + iov_mac_addr_name, 0, NULL); + err = pci_iov_attach(bsddev, pf_schema, vf_schema); + if (err != 0) { + device_printf(bsddev, "Failed to initialize SR-IOV support, error %d\n", + err); + } + } else { + mlx5_core_err(dev, "eswitch init failed, error %d\n", err); } } @@ -1759,12 +1774,14 @@ mlx5_iov_init(device_t dev, uint16_t num_vfs, const nv struct pci_dev *pdev; struct mlx5_core_dev *core_dev; struct mlx5_priv *priv; + int err; pdev = device_get_softc(dev); core_dev = pci_get_drvdata(pdev); priv = &core_dev->priv; - return (0); + err = mlx5_eswitch_enable_sriov(priv->eswitch, num_vfs); + return (-err); } static void @@ -1777,6 +1794,8 @@ mlx5_iov_uninit(device_t dev) pdev = device_get_softc(dev); core_dev = pci_get_drvdata(pdev); priv = &core_dev->priv; + + mlx5_eswitch_disable_sriov(priv->eswitch); } static int @@ -1785,16 +1804,32 @@ mlx5_iov_add_vf(device_t dev, uint16_t vfnum, const nv struct pci_dev *pdev; struct mlx5_core_dev *core_dev; struct mlx5_priv *priv; + const void *mac; + size_t mac_size; int error; pdev = device_get_softc(dev); core_dev = pci_get_drvdata(pdev); priv = &core_dev->priv; + if (nvlist_exists_binary(vf_config, iov_mac_addr_name)) { + mac = nvlist_get_binary(vf_config, iov_mac_addr_name, + &mac_size); + error = -mlx5_eswitch_set_vport_mac(priv->eswitch, + vfnum + 1, __DECONST(u8 *, mac)); + } + + error = -mlx5_eswitch_set_vport_state(priv->eswitch, vfnum + 1, + VPORT_STATE_FOLLOW); + if (error != 0) { + mlx5_core_err(core_dev, + "upping vport for VF %d failed, error %d\n", + vfnum + 1, error); + } error = -mlx5_core_enable_hca(core_dev, vfnum + 1); if (error != 0) { mlx5_core_err(core_dev, "enabling VF %d failed, error %d\n", - vfnum, error); + vfnum + 1, error); } return (error); } From owner-svn-src-all@freebsd.org Wed Mar 18 22:43:40 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C2F9826FAB7; Wed, 18 Mar 2020 22:43:40 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jQ7J4LPYz3M5t; Wed, 18 Mar 2020 22:43:40 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 225B411D9; Wed, 18 Mar 2020 22:43:40 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IMheO6072035; Wed, 18 Mar 2020 22:43:40 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IMhdiQ072033; Wed, 18 Mar 2020 22:43:39 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003182243.02IMhdiQ072033@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 18 Mar 2020 22:43:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359104 - head/sys/dev/mlx5/mlx5_core X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/dev/mlx5/mlx5_core X-SVN-Commit-Revision: 359104 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 22:43:40 -0000 Author: kib Date: Wed Mar 18 22:43:39 2020 New Revision: 359104 URL: https://svnweb.freebsd.org/changeset/base/359104 Log: mlx5: Read number of VF ports from the SR-IOV cap. Reviewed by: hselasky Sponsored by: Mellanox Technologies MFC after: 2 weeks Modified: head/sys/dev/mlx5/mlx5_core/eswitch.h head/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c head/sys/dev/mlx5/mlx5_core/mlx5_main.c Modified: head/sys/dev/mlx5/mlx5_core/eswitch.h ============================================================================== --- head/sys/dev/mlx5/mlx5_core/eswitch.h Wed Mar 18 22:40:26 2020 (r359103) +++ head/sys/dev/mlx5/mlx5_core/eswitch.h Wed Mar 18 22:43:39 2020 (r359104) @@ -152,7 +152,7 @@ struct mlx5_esw_vport_info { }; /* E-Switch API */ -int mlx5_eswitch_init(struct mlx5_core_dev *dev); +int mlx5_eswitch_init(struct mlx5_core_dev *dev, int total_vports); void mlx5_eswitch_cleanup(struct mlx5_eswitch *esw); void mlx5_eswitch_vport_event(struct mlx5_eswitch *esw, struct mlx5_eqe *eqe); int mlx5_eswitch_enable_sriov(struct mlx5_eswitch *esw, int nvfs); Modified: head/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c ============================================================================== --- head/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c Wed Mar 18 22:40:26 2020 (r359103) +++ head/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c Wed Mar 18 22:43:39 2020 (r359104) @@ -1081,10 +1081,9 @@ void mlx5_eswitch_disable_sriov(struct mlx5_eswitch *e esw_enable_vport(esw, 0, UC_ADDR_CHANGE); } -int mlx5_eswitch_init(struct mlx5_core_dev *dev) +int mlx5_eswitch_init(struct mlx5_core_dev *dev, int total_vports) { int l2_table_size = 1 << MLX5_CAP_GEN(dev, log_max_l2_table); - int total_vports = 1; struct mlx5_eswitch *esw; int vport_num; int err; Modified: head/sys/dev/mlx5/mlx5_core/mlx5_main.c ============================================================================== --- head/sys/dev/mlx5/mlx5_core/mlx5_main.c Wed Mar 18 22:40:26 2020 (r359103) +++ head/sys/dev/mlx5/mlx5_core/mlx5_main.c Wed Mar 18 22:43:39 2020 (r359104) @@ -1317,6 +1317,7 @@ static int init_one(struct pci_dev *pdev, device_t bsddev = pdev->dev.bsddev; #ifdef PCI_IOV nvlist_t *pf_schema, *vf_schema; + int num_vfs, sriov_pos; #endif int i,err; struct sysctl_oid *pme_sysctl_node; @@ -1603,7 +1604,14 @@ static int init_one(struct pci_dev *pdev, #ifdef PCI_IOV if (MLX5_CAP_GEN(dev, vport_group_manager)) { - err = mlx5_eswitch_init(dev); + if (pci_find_extcap(bsddev, PCIZ_SRIOV, &sriov_pos) == 0) { + num_vfs = pci_read_config(bsddev, sriov_pos + + PCIR_SRIOV_TOTAL_VFS, 2); + } else { + mlx5_core_err(dev, "cannot find SR-IOV PCIe cap\n"); + num_vfs = 0; + } + err = mlx5_eswitch_init(dev, 1 + num_vfs); if (err == 0) { pf_schema = pci_iov_schema_alloc_node(); vf_schema = pci_iov_schema_alloc_node(); @@ -1780,6 +1788,10 @@ mlx5_iov_init(device_t dev, uint16_t num_vfs, const nv core_dev = pci_get_drvdata(pdev); priv = &core_dev->priv; + if (priv->eswitch == NULL) + return (ENXIO); + if (priv->eswitch->total_vports < num_vfs + 1) + num_vfs = priv->eswitch->total_vports - 1; err = mlx5_eswitch_enable_sriov(priv->eswitch, num_vfs); return (-err); } @@ -1811,6 +1823,9 @@ mlx5_iov_add_vf(device_t dev, uint16_t vfnum, const nv pdev = device_get_softc(dev); core_dev = pci_get_drvdata(pdev); priv = &core_dev->priv; + + if (vfnum + 1 >= priv->eswitch->total_vports) + return (ENXIO); if (nvlist_exists_binary(vf_config, iov_mac_addr_name)) { mac = nvlist_get_binary(vf_config, iov_mac_addr_name, From owner-svn-src-all@freebsd.org Wed Mar 18 22:44:49 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AF9F326FB46; Wed, 18 Mar 2020 22:44:49 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jQ8d3TkFz3Pl3; Wed, 18 Mar 2020 22:44:49 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 67F9411DA; Wed, 18 Mar 2020 22:44:49 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IMindH072165; Wed, 18 Mar 2020 22:44:49 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IMinm5072164; Wed, 18 Mar 2020 22:44:49 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003182244.02IMinm5072164@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 18 Mar 2020 22:44:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359105 - head/sys/dev/mlx5/mlx5_core X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/dev/mlx5/mlx5_core X-SVN-Commit-Revision: 359105 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 22:44:49 -0000 Author: kib Date: Wed Mar 18 22:44:48 2020 New Revision: 359105 URL: https://svnweb.freebsd.org/changeset/base/359105 Log: mlx5: Route NIC_VPORT_CHANGE events to eswitch code. Reviewed by: hselasky Sponsored by: Mellanox Technologies MFC after: 2 weeks Modified: head/sys/dev/mlx5/mlx5_core/mlx5_eq.c Modified: head/sys/dev/mlx5/mlx5_core/mlx5_eq.c ============================================================================== --- head/sys/dev/mlx5/mlx5_core/mlx5_eq.c Wed Mar 18 22:43:39 2020 (r359104) +++ head/sys/dev/mlx5/mlx5_core/mlx5_eq.c Wed Mar 18 22:44:48 2020 (r359105) @@ -31,6 +31,7 @@ #include #include #include "mlx5_core.h" +#include "eswitch.h" #include "opt_rss.h" @@ -65,7 +66,8 @@ enum { (1ull << MLX5_EVENT_TYPE_PORT_CHANGE) | \ (1ull << MLX5_EVENT_TYPE_SRQ_CATAS_ERROR) | \ (1ull << MLX5_EVENT_TYPE_SRQ_LAST_WQE) | \ - (1ull << MLX5_EVENT_TYPE_SRQ_RQ_LIMIT)) + (1ull << MLX5_EVENT_TYPE_SRQ_RQ_LIMIT) | \ + (1ull << MLX5_EVENT_TYPE_NIC_VPORT_CHANGE)) struct map_eq_in { u64 mask; @@ -353,6 +355,9 @@ static int mlx5_eq_int(struct mlx5_core_dev *dev, stru MLX5_DEV_EVENT_VPORT_CHANGE, (unsigned long)vport_num); } + if (dev->priv.eswitch != NULL) + mlx5_eswitch_vport_event(dev->priv.eswitch, + eqe); break; case MLX5_EVENT_TYPE_FPGA_ERROR: From owner-svn-src-all@freebsd.org Wed Mar 18 22:47:15 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7743626FBFD; Wed, 18 Mar 2020 22:47:15 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jQCR0z51z416B; Wed, 18 Mar 2020 22:47:15 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9D68E11DD; Wed, 18 Mar 2020 22:47:14 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02IMlEuT072354; Wed, 18 Mar 2020 22:47:14 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02IMlEP0072353; Wed, 18 Mar 2020 22:47:14 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003182247.02IMlEP0072353@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 18 Mar 2020 22:47:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359106 - head/sys/dev/mlx5/mlx5_core X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/dev/mlx5/mlx5_core X-SVN-Commit-Revision: 359106 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 22:47:15 -0000 Author: kib Date: Wed Mar 18 22:47:14 2020 New Revision: 359106 URL: https://svnweb.freebsd.org/changeset/base/359106 Log: mlx5_core: lower the severity of message noting that no SR-IOV cap is present. Reviewed by: hselasky Sponsored by: Mellanox Technologies MFC after: 2 weeks Modified: head/sys/dev/mlx5/mlx5_core/mlx5_main.c Modified: head/sys/dev/mlx5/mlx5_core/mlx5_main.c ============================================================================== --- head/sys/dev/mlx5/mlx5_core/mlx5_main.c Wed Mar 18 22:44:48 2020 (r359105) +++ head/sys/dev/mlx5/mlx5_core/mlx5_main.c Wed Mar 18 22:47:14 2020 (r359106) @@ -1608,7 +1608,7 @@ static int init_one(struct pci_dev *pdev, num_vfs = pci_read_config(bsddev, sriov_pos + PCIR_SRIOV_TOTAL_VFS, 2); } else { - mlx5_core_err(dev, "cannot find SR-IOV PCIe cap\n"); + mlx5_core_info(dev, "cannot find SR-IOV PCIe cap\n"); num_vfs = 0; } err = mlx5_eswitch_init(dev, 1 + num_vfs); From owner-svn-src-all@freebsd.org Wed Mar 18 23:21:50 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E12A12708E0; Wed, 18 Mar 2020 23:21:50 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jQzL2N5yz4HQY; Wed, 18 Mar 2020 23:21:50 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DF47A1810; Wed, 18 Mar 2020 23:21:49 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02INLnH0094612; Wed, 18 Mar 2020 23:21:49 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02INLnnJ094611; Wed, 18 Mar 2020 23:21:49 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202003182321.02INLnnJ094611@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Wed, 18 Mar 2020 23:21:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359107 - stable/11/sys/dev/ciss X-SVN-Group: stable-11 X-SVN-Commit-Author: mav X-SVN-Commit-Paths: stable/11/sys/dev/ciss X-SVN-Commit-Revision: 359107 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 23:21:51 -0000 Author: mav Date: Wed Mar 18 23:21:49 2020 New Revision: 359107 URL: https://svnweb.freebsd.org/changeset/base/359107 Log: MFC r331528 (by scottl): Update a TBD string with a real model number Modified: stable/11/sys/dev/ciss/ciss.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/ciss/ciss.c ============================================================================== --- stable/11/sys/dev/ciss/ciss.c Wed Mar 18 22:47:14 2020 (r359106) +++ stable/11/sys/dev/ciss/ciss.c Wed Mar 18 23:21:49 2020 (r359107) @@ -358,7 +358,7 @@ static struct { 0x103C, 0x21C8, CISS_BOARD_SA5, "HP Smart Array H241" }, { 0x103C, 0x21CA, CISS_BOARD_SA5, "HP Smart Array P246br" }, { 0x103C, 0x21CB, CISS_BOARD_SA5, "HP Smart Array P840" }, - { 0x103C, 0x21CC, CISS_BOARD_SA5, "HP Smart Array TBD" }, + { 0x103C, 0x21CC, CISS_BOARD_SA5, "HP Smart Array P542d" }, { 0x103C, 0x21CD, CISS_BOARD_SA5, "HP Smart Array P240nr" }, { 0x103C, 0x21CE, CISS_BOARD_SA5, "HP Smart Array H240nr" }, { 0, 0, 0, NULL } From owner-svn-src-all@freebsd.org Wed Mar 18 23:53:08 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AD63B270FCD; Wed, 18 Mar 2020 23:53:08 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jRgS3G0Vz4g2Q; Wed, 18 Mar 2020 23:53:08 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6A4F11ECD; Wed, 18 Mar 2020 23:53:08 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02INr8Hp014168; Wed, 18 Mar 2020 23:53:08 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02INr82J014167; Wed, 18 Mar 2020 23:53:08 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202003182353.02INr82J014167@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Wed, 18 Mar 2020 23:53:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359108 - stable/12/sys/dev/ciss X-SVN-Group: stable-12 X-SVN-Commit-Author: mav X-SVN-Commit-Paths: stable/12/sys/dev/ciss X-SVN-Commit-Revision: 359108 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 23:53:08 -0000 Author: mav Date: Wed Mar 18 23:53:07 2020 New Revision: 359108 URL: https://svnweb.freebsd.org/changeset/base/359108 Log: MFC r349011 (by imp): Don't print the request we may be aborting in ciss_notify_abort as part of ciss_detach. It's a left-over debug that isn't needed and also discloses a kernel address. Only root could provoke as part of a devctl or kldunload. Submitted by: Fuqian Huang Modified: stable/12/sys/dev/ciss/ciss.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/ciss/ciss.c ============================================================================== --- stable/12/sys/dev/ciss/ciss.c Wed Mar 18 23:21:49 2020 (r359107) +++ stable/12/sys/dev/ciss/ciss.c Wed Mar 18 23:53:07 2020 (r359108) @@ -107,6 +107,10 @@ #include #include +#ifdef CISS_DEBUG +#include "opt_ddb.h" +#endif + static MALLOC_DEFINE(CISS_MALLOC_CLASS, "ciss_data", "ciss internal data buffers"); @@ -197,7 +201,9 @@ static void ciss_notify_logical(struct ciss_softc *sc, static void ciss_notify_physical(struct ciss_softc *sc, struct ciss_notify *cn); /* debugging output */ +#ifdef DDB static void ciss_print_request(struct ciss_request *cr); +#endif static void ciss_print_ldrive(struct ciss_softc *sc, struct ciss_ldrive *ld); static const char *ciss_name_ldrive_status(int status); static int ciss_decode_ldrive_status(int status); @@ -3811,8 +3817,9 @@ ciss_notify_abort(struct ciss_softc *sc) cnc->opcode = CISS_OPCODE_WRITE; cnc->command = CISS_COMMAND_ABORT_NOTIFY; cnc->length = htonl(CISS_NOTIFY_DATA_SIZE); - +#if 0 ciss_print_request(cr); +#endif /* * Submit the request and wait for it to complete. @@ -4237,6 +4244,7 @@ ciss_kill_notify_thread(struct ciss_softc *sc) /************************************************************************ * Print a request. */ +#ifdef DDB static void ciss_print_request(struct ciss_request *cr) { @@ -4290,6 +4298,7 @@ ciss_print_request(struct ciss_request *cr) } } } +#endif /************************************************************************ * Print information about the status of a logical drive. @@ -4353,8 +4362,6 @@ ciss_print_ldrive(struct ciss_softc *sc, struct ciss_l } } -#ifdef CISS_DEBUG -#include "opt_ddb.h" #ifdef DDB #include /************************************************************************ @@ -4408,7 +4415,6 @@ DB_COMMAND(ciss_prt, db_ciss_prt) ciss_print_adapter(sc); } } -#endif #endif /************************************************************************ From owner-svn-src-all@freebsd.org Wed Mar 18 23:53:35 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8535C27103B; Wed, 18 Mar 2020 23:53:35 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jRgz0Spgz3CVQ; Wed, 18 Mar 2020 23:53:35 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E43361ECE; Wed, 18 Mar 2020 23:53:34 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02INrY0Q014242; Wed, 18 Mar 2020 23:53:34 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02INrYwn014241; Wed, 18 Mar 2020 23:53:34 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202003182353.02INrYwn014241@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Wed, 18 Mar 2020 23:53:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359109 - stable/11/sys/dev/ciss X-SVN-Group: stable-11 X-SVN-Commit-Author: mav X-SVN-Commit-Paths: stable/11/sys/dev/ciss X-SVN-Commit-Revision: 359109 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 23:53:35 -0000 Author: mav Date: Wed Mar 18 23:53:34 2020 New Revision: 359109 URL: https://svnweb.freebsd.org/changeset/base/359109 Log: MFC r349011 (by imp): Don't print the request we may be aborting in ciss_notify_abort as part of ciss_detach. It's a left-over debug that isn't needed and also discloses a kernel address. Only root could provoke as part of a devctl or kldunload. Submitted by: Fuqian Huang Modified: stable/11/sys/dev/ciss/ciss.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/ciss/ciss.c ============================================================================== --- stable/11/sys/dev/ciss/ciss.c Wed Mar 18 23:53:07 2020 (r359108) +++ stable/11/sys/dev/ciss/ciss.c Wed Mar 18 23:53:34 2020 (r359109) @@ -105,6 +105,10 @@ #include #include +#ifdef CISS_DEBUG +#include "opt_ddb.h" +#endif + static MALLOC_DEFINE(CISS_MALLOC_CLASS, "ciss_data", "ciss internal data buffers"); @@ -195,7 +199,9 @@ static void ciss_notify_logical(struct ciss_softc *sc, static void ciss_notify_physical(struct ciss_softc *sc, struct ciss_notify *cn); /* debugging output */ +#ifdef DDB static void ciss_print_request(struct ciss_request *cr); +#endif static void ciss_print_ldrive(struct ciss_softc *sc, struct ciss_ldrive *ld); static const char *ciss_name_ldrive_status(int status); static int ciss_decode_ldrive_status(int status); @@ -3806,8 +3812,9 @@ ciss_notify_abort(struct ciss_softc *sc) cnc->opcode = CISS_OPCODE_WRITE; cnc->command = CISS_COMMAND_ABORT_NOTIFY; cnc->length = htonl(CISS_NOTIFY_DATA_SIZE); - +#if 0 ciss_print_request(cr); +#endif /* * Submit the request and wait for it to complete. @@ -4232,6 +4239,7 @@ ciss_kill_notify_thread(struct ciss_softc *sc) /************************************************************************ * Print a request. */ +#ifdef DDB static void ciss_print_request(struct ciss_request *cr) { @@ -4285,6 +4293,7 @@ ciss_print_request(struct ciss_request *cr) } } } +#endif /************************************************************************ * Print information about the status of a logical drive. @@ -4348,8 +4357,6 @@ ciss_print_ldrive(struct ciss_softc *sc, struct ciss_l } } -#ifdef CISS_DEBUG -#include "opt_ddb.h" #ifdef DDB #include /************************************************************************ @@ -4403,7 +4410,6 @@ DB_COMMAND(ciss_prt, db_ciss_prt) ciss_print_adapter(sc); } } -#endif #endif /************************************************************************ From owner-svn-src-all@freebsd.org Thu Mar 19 00:19:53 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6BB7B271A2F; Thu, 19 Mar 2020 00:19:53 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jSGJ75lqz49lh; Thu, 19 Mar 2020 00:19:52 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4A64C227E; Thu, 19 Mar 2020 00:19:52 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J0JoAO026338; Thu, 19 Mar 2020 00:19:50 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J0JoDA026337; Thu, 19 Mar 2020 00:19:50 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202003190019.02J0JoDA026337@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 19 Mar 2020 00:19:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359110 - head/sys/dev/ciss X-SVN-Group: head X-SVN-Commit-Author: mav X-SVN-Commit-Paths: head/sys/dev/ciss X-SVN-Commit-Revision: 359110 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 00:19:53 -0000 Author: mav Date: Thu Mar 19 00:19:50 2020 New Revision: 359110 URL: https://svnweb.freebsd.org/changeset/base/359110 Log: Add missing STAILQ_INIT() in ciss_disable_adapter(). I think it should fix reported panic after "ADAPTER HEARTBEAT FAILED". MFC after: 2 weeks Sponsored by: iXsystems, Inc. Modified: head/sys/dev/ciss/ciss.c Modified: head/sys/dev/ciss/ciss.c ============================================================================== --- head/sys/dev/ciss/ciss.c Wed Mar 18 23:53:34 2020 (r359109) +++ head/sys/dev/ciss/ciss.c Thu Mar 19 00:19:50 2020 (r359110) @@ -3566,6 +3566,7 @@ ciss_disable_adapter(struct ciss_softc *sc) pci_disable_busmaster(sc->ciss_dev); sc->ciss_flags &= ~CISS_FLAG_RUNNING; + STAILQ_INIT(&qh); for (i = 1; i < sc->ciss_max_requests; i++) { cr = &sc->ciss_request[i]; if ((cr->cr_flags & CISS_REQ_BUSY) == 0) From owner-svn-src-all@freebsd.org Thu Mar 19 00:53:32 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 34F4727252F; Thu, 19 Mar 2020 00:53:32 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jT176pnWz4TYM; Thu, 19 Mar 2020 00:53:31 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D32322A05; Thu, 19 Mar 2020 00:53:31 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J0rVMb050569; Thu, 19 Mar 2020 00:53:31 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J0rV7j050568; Thu, 19 Mar 2020 00:53:31 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003190053.02J0rV7j050568@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Thu, 19 Mar 2020 00:53:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359111 - head/sys/conf X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/conf X-SVN-Commit-Revision: 359111 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 00:53:32 -0000 Author: kib Date: Thu Mar 19 00:53:31 2020 New Revision: 359111 URL: https://svnweb.freebsd.org/changeset/base/359111 Log: Add file for static compilation of mlx5. Sponsored by: Mellanox Technologies MFC after: 2 weeks Modified: head/sys/conf/files Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Thu Mar 19 00:19:50 2020 (r359110) +++ head/sys/conf/files Thu Mar 19 00:53:31 2020 (r359111) @@ -4725,6 +4725,8 @@ dev/mlx5/mlx5_core/mlx5_diagnostics.c optional mlx5 p compile-with "${OFED_C}" dev/mlx5/mlx5_core/mlx5_eq.c optional mlx5 pci \ compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_eswitch.c optional mlx5 pci \ + compile-with "${OFED_C}" dev/mlx5/mlx5_core/mlx5_fs_cmd.c optional mlx5 pci \ compile-with "${OFED_C}" dev/mlx5/mlx5_core/mlx5_fs_tree.c optional mlx5 pci \ From owner-svn-src-all@freebsd.org Thu Mar 19 01:05:55 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C258427284C; Thu, 19 Mar 2020 01:05:55 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jTHR4kxrz3Jj1; Thu, 19 Mar 2020 01:05:55 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9B9F42BD6; Thu, 19 Mar 2020 01:05:55 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J15tRq056670; Thu, 19 Mar 2020 01:05:55 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J15s3q056664; Thu, 19 Mar 2020 01:05:54 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202003190105.02J15s3q056664@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 19 Mar 2020 01:05:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359112 - in head: cddl/contrib/opensolaris/cmd/ztest sys/cddl/contrib/opensolaris/uts/common/fs/zfs sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys X-SVN-Group: head X-SVN-Commit-Author: mav X-SVN-Commit-Paths: in head: cddl/contrib/opensolaris/cmd/ztest sys/cddl/contrib/opensolaris/uts/common/fs/zfs sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys X-SVN-Commit-Revision: 359112 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 01:05:55 -0000 Author: mav Date: Thu Mar 19 01:05:54 2020 New Revision: 359112 URL: https://svnweb.freebsd.org/changeset/base/359112 Log: MFOpenZFS: make zil max block size tunable We've observed that on some highly fragmented pools, most metaslab allocations are small (~2-8KB), but there are some large, 128K allocations. The large allocations are for ZIL blocks. If there is a lot of fragmentation, the large allocations can be hard to satisfy. The most common impact of this is that we need to check (and thus load) lots of metaslabs from the ZIL allocation code path, causing sync writes to wait for metaslabs to load, which can take a second or more. In the worst case, we may not be able to satisfy the allocation, in which case the ZIL will resort to txg_wait_synced() to ensure the change is on disk. To provide a workaround for this, this change adds a tunable that can reduce the size of ZIL blocks. External-issue: DLPX-61719 Reviewed-by: George Wilson Reviewed-by: Paul Dagnelie Reviewed-by: Brian Behlendorf Signed-off-by: Matthew Ahrens Closes #8865 openzfs/zfs@b8738257c2607c73c731ce8e0fd73282b266d6ef MFC after: 2 weeks Modified: head/cddl/contrib/opensolaris/cmd/ztest/ztest.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Modified: head/cddl/contrib/opensolaris/cmd/ztest/ztest.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/ztest/ztest.c Thu Mar 19 00:53:31 2020 (r359111) +++ head/cddl/contrib/opensolaris/cmd/ztest/ztest.c Thu Mar 19 01:05:54 2020 (r359112) @@ -1544,7 +1544,7 @@ ztest_log_write(ztest_ds_t *zd, dmu_tx_t *tx, lr_write if (zil_replaying(zd->zd_zilog, tx)) return; - if (lr->lr_length > ZIL_MAX_LOG_DATA) + if (lr->lr_length > zil_max_log_data(zd->zd_zilog)) write_state = WR_INDIRECT; itx = zil_itx_create(TX_WRITE, Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h Thu Mar 19 00:53:31 2020 (r359111) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h Thu Mar 19 01:05:54 2020 (r359112) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2017 by Delphix. All rights reserved. + * Copyright (c) 2012, 2018 by Delphix. All rights reserved. * Copyright (c) 2014 Integros [integros.com] */ @@ -451,6 +451,9 @@ extern int zil_bp_tree_add(zilog_t *zilog, const blkpt extern void zil_set_sync(zilog_t *zilog, uint64_t syncval); extern void zil_set_logbias(zilog_t *zilog, uint64_t slogval); + +extern uint64_t zil_max_copied_data(zilog_t *zilog); +extern uint64_t zil_max_log_data(zilog_t *zilog); extern int zil_replay_disable; Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h Thu Mar 19 00:53:31 2020 (r359111) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h Thu Mar 19 01:05:54 2020 (r359112) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2017 by Delphix. All rights reserved. + * Copyright (c) 2012, 2018 by Delphix. All rights reserved. * Copyright (c) 2014 Integros [integros.com] */ @@ -208,34 +208,19 @@ struct zilog { uint_t zl_prev_rotor; /* rotor for zl_prev[] */ txg_node_t zl_dirty_link; /* protected by dp_dirty_zilogs list */ uint64_t zl_dirty_max_txg; /* highest txg used to dirty zilog */ + /* + * Max block size for this ZIL. Note that this can not be changed + * while the ZIL is in use because consumers (ZPL/zvol) need to take + * this into account when deciding between WR_COPIED and WR_NEED_COPY + * (see zil_max_copied_data()). + */ + uint64_t zl_max_block_size; }; typedef struct zil_bp_node { dva_t zn_dva; avl_node_t zn_node; } zil_bp_node_t; - -/* - * Maximum amount of write data that can be put into single log block. - */ -#define ZIL_MAX_LOG_DATA (SPA_OLD_MAXBLOCKSIZE - sizeof (zil_chain_t) - \ - sizeof (lr_write_t)) -#define ZIL_MAX_COPIED_DATA \ - ((SPA_OLD_MAXBLOCKSIZE - sizeof (zil_chain_t)) / 2 - sizeof (lr_write_t)) - -/* - * Maximum amount of log space we agree to waste to reduce number of - * WR_NEED_COPY chunks to reduce zl_get_data() overhead (~12%). - */ -#define ZIL_MAX_WASTE_SPACE (ZIL_MAX_LOG_DATA / 8) - -/* - * Maximum amount of write data for WR_COPIED. Fall back to WR_NEED_COPY - * as more space efficient if we can't fit at least two log records into - * maximum sized log block. - */ -#define ZIL_MAX_COPIED_DATA ((SPA_OLD_MAXBLOCKSIZE - \ - sizeof (zil_chain_t)) / 2 - sizeof (lr_write_t)) #ifdef __cplusplus } Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c Thu Mar 19 00:53:31 2020 (r359111) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c Thu Mar 19 01:05:54 2020 (r359112) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2015 by Delphix. All rights reserved. + * Copyright (c) 2015, 2018 by Delphix. All rights reserved. * Copyright (c) 2014 Integros [integros.com] */ @@ -493,7 +493,14 @@ zfs_log_write(zilog_t *zilog, dmu_tx_t *tx, int txtype itx_wr_state_t wr_state = write_state; ssize_t len = resid; - if (wr_state == WR_COPIED && resid > ZIL_MAX_COPIED_DATA) + /* + * A WR_COPIED record must fit entirely in one log block. + * Large writes can use WR_NEED_COPY, which the ZIL will + * split into multiple records across several log blocks + * if necessary. + */ + if (wr_state == WR_COPIED && + resid > zil_max_copied_data(zilog)) wr_state = WR_NEED_COPY; else if (wr_state == WR_INDIRECT) len = MIN(blocksize - P2PHASE(off, blocksize), resid); Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c Thu Mar 19 00:53:31 2020 (r359111) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c Thu Mar 19 01:05:54 2020 (r359112) @@ -1365,6 +1365,15 @@ struct { }; /* + * Maximum block size used by the ZIL. This is picked up when the ZIL is + * initialized. Otherwise this should not be used directly; see + * zl_max_block_size instead. + */ +int zil_maxblocksize = SPA_OLD_MAXBLOCKSIZE; +SYSCTL_INT(_vfs_zfs, OID_AUTO, zil_maxblocksize, CTLFLAG_RWTUN, + &zil_maxblocksize, 0, "Limit in bytes of ZIL log block size"); + +/* * Start a log block write and advance to the next log block. * Calls are serialized. */ @@ -1440,7 +1449,7 @@ zil_lwb_write_issue(zilog_t *zilog, lwb_t *lwb) zil_blksz = zilog->zl_cur_used + sizeof (zil_chain_t); for (i = 0; zil_blksz > zil_block_buckets[i].limit; i++) continue; - zil_blksz = zil_block_buckets[i].blksz; + zil_blksz = MIN(zil_block_buckets[i].blksz, zilog->zl_max_block_size); zilog->zl_prev_blks[zilog->zl_prev_rotor] = zil_blksz; for (i = 0; i < ZIL_PREV_BLKS; i++) zil_blksz = MAX(zil_blksz, zilog->zl_prev_blks[i]); @@ -1497,13 +1506,47 @@ zil_lwb_write_issue(zilog_t *zilog, lwb_t *lwb) return (nlwb); } +/* + * Maximum amount of write data that can be put into single log block. + */ +uint64_t +zil_max_log_data(zilog_t *zilog) +{ + return (zilog->zl_max_block_size - + sizeof (zil_chain_t) - sizeof (lr_write_t)); +} + +/* + * Maximum amount of log space we agree to waste to reduce number of + * WR_NEED_COPY chunks to reduce zl_get_data() overhead (~12%). + */ +static inline uint64_t +zil_max_waste_space(zilog_t *zilog) +{ + return (zil_max_log_data(zilog) / 8); +} + +/* + * Maximum amount of write data for WR_COPIED. For correctness, consumers + * must fall back to WR_NEED_COPY if we can't fit the entire record into one + * maximum sized log block, because each WR_COPIED record must fit in a + * single log block. For space efficiency, we want to fit two records into a + * max-sized log block. + */ +uint64_t +zil_max_copied_data(zilog_t *zilog) +{ + return ((zilog->zl_max_block_size - sizeof (zil_chain_t)) / 2 - + sizeof (lr_write_t)); +} + static lwb_t * zil_lwb_commit(zilog_t *zilog, itx_t *itx, lwb_t *lwb) { lr_t *lrcb, *lrc; lr_write_t *lrwb, *lrw; char *lr_buf; - uint64_t dlen, dnow, lwb_sp, reclen, txg; + uint64_t dlen, dnow, lwb_sp, reclen, txg, max_log_data; ASSERT(MUTEX_HELD(&zilog->zl_issuer_lock)); ASSERT3P(lwb, !=, NULL); @@ -1552,15 +1595,27 @@ cont: * For WR_NEED_COPY optimize layout for minimal number of chunks. */ lwb_sp = lwb->lwb_sz - lwb->lwb_nused; + max_log_data = zil_max_log_data(zilog); if (reclen > lwb_sp || (reclen + dlen > lwb_sp && - lwb_sp < ZIL_MAX_WASTE_SPACE && (dlen % ZIL_MAX_LOG_DATA == 0 || - lwb_sp < reclen + dlen % ZIL_MAX_LOG_DATA))) { + lwb_sp < zil_max_waste_space(zilog) && + (dlen % max_log_data == 0 || + lwb_sp < reclen + dlen % max_log_data))) { lwb = zil_lwb_write_issue(zilog, lwb); if (lwb == NULL) return (NULL); zil_lwb_write_open(zilog, lwb); ASSERT(LWB_EMPTY(lwb)); lwb_sp = lwb->lwb_sz - lwb->lwb_nused; + + /* + * There must be enough space in the new, empty log block to + * hold reclen. For WR_COPIED, we need to fit the whole + * record in one block, and reclen is the header size + the + * data size. For WR_NEED_COPY, we can create multiple + * records, splitting the data into multiple blocks, so we + * only need to fit one word of data per block; in this case + * reclen is just the header size (no data). + */ ASSERT3U(reclen + MIN(dlen, sizeof (uint64_t)), <=, lwb_sp); } @@ -2992,6 +3047,7 @@ zil_alloc(objset_t *os, zil_header_t *zh_phys) zilog->zl_dirty_max_txg = 0; zilog->zl_last_lwb_opened = NULL; zilog->zl_last_lwb_latency = 0; + zilog->zl_max_block_size = zil_maxblocksize; mutex_init(&zilog->zl_lock, NULL, MUTEX_DEFAULT, NULL); mutex_init(&zilog->zl_issuer_lock, NULL, MUTEX_DEFAULT, NULL); Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Thu Mar 19 00:53:31 2020 (r359111) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Thu Mar 19 01:05:54 2020 (r359112) @@ -1438,7 +1438,7 @@ zvol_log_write(zvol_state_t *zv, dmu_tx_t *tx, offset_ itx_wr_state_t wr_state = write_state; ssize_t len = resid; - if (wr_state == WR_COPIED && resid > ZIL_MAX_COPIED_DATA) + if (wr_state == WR_COPIED && resid > zil_max_copied_data(zilog)) wr_state = WR_NEED_COPY; else if (wr_state == WR_INDIRECT) len = MIN(blocksize - P2PHASE(off, blocksize), resid); From owner-svn-src-all@freebsd.org Thu Mar 19 01:50:26 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4D72627533C; Thu, 19 Mar 2020 01:50:26 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jVGn5qRPz4GBb; Thu, 19 Mar 2020 01:50:25 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 64C1C340C; Thu, 19 Mar 2020 01:50:25 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J1oP6g080645; Thu, 19 Mar 2020 01:50:25 GMT (envelope-from gonzo@FreeBSD.org) Received: (from gonzo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J1oPrR080644; Thu, 19 Mar 2020 01:50:25 GMT (envelope-from gonzo@FreeBSD.org) Message-Id: <202003190150.02J1oPrR080644@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gonzo set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko Date: Thu, 19 Mar 2020 01:50:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359113 - stable/12/sys/dev/sound/pci/hda X-SVN-Group: stable-12 X-SVN-Commit-Author: gonzo X-SVN-Commit-Paths: stable/12/sys/dev/sound/pci/hda X-SVN-Commit-Revision: 359113 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 01:50:26 -0000 Author: gonzo Date: Thu Mar 19 01:50:24 2020 New Revision: 359113 URL: https://svnweb.freebsd.org/changeset/base/359113 Log: MFC r352775-r352776 r352775: snd_hda: Add Intel Cannon Lake support Add PCI ids for Intel Cannon Lake PCH Tested on: HP Spectre x360 13-p0043dx PR: 240574 Submitted by: Neel Chauhan Reviewed by: imp, mizhka, ray Differential Revision: https://reviews.freebsd.org/D21789 r352776: snd_hda: Add Intel Cannon Lake support Add missing header change ommitted in r352775 X-MFC-with: 352775 Modified: stable/12/sys/dev/sound/pci/hda/hdac.c stable/12/sys/dev/sound/pci/hda/hdac.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- stable/12/sys/dev/sound/pci/hda/hdac.c Thu Mar 19 01:05:54 2020 (r359112) +++ stable/12/sys/dev/sound/pci/hda/hdac.c Thu Mar 19 01:50:24 2020 (r359113) @@ -102,6 +102,7 @@ static const struct { { HDA_INTEL_KBLK, "Intel Kaby Lake", 0, 0 }, { HDA_INTEL_KBLKH, "Intel Kaby Lake-H", 0, 0 }, { HDA_INTEL_CFLK, "Intel Coffee Lake", 0, 0 }, + { HDA_INTEL_CNLK, "Intel Cannon Lake", 0, 0 }, { HDA_INTEL_82801F, "Intel 82801F", 0, 0 }, { HDA_INTEL_63XXESB, "Intel 631x/632xESB", 0, 0 }, { HDA_INTEL_82801G, "Intel 82801G", 0, 0 }, Modified: stable/12/sys/dev/sound/pci/hda/hdac.h ============================================================================== --- stable/12/sys/dev/sound/pci/hda/hdac.h Thu Mar 19 01:05:54 2020 (r359112) +++ stable/12/sys/dev/sound/pci/hda/hdac.h Thu Mar 19 01:50:24 2020 (r359113) @@ -77,6 +77,7 @@ #define HDA_INTEL_KBLK HDA_MODEL_CONSTRUCT(INTEL, 0xa171) #define HDA_INTEL_KBLKH HDA_MODEL_CONSTRUCT(INTEL, 0xa2f0) #define HDA_INTEL_CFLK HDA_MODEL_CONSTRUCT(INTEL, 0xa348) +#define HDA_INTEL_CNLK HDA_MODEL_CONSTRUCT(INTEL, 0x9dc8) #define HDA_INTEL_ALL HDA_MODEL_CONSTRUCT(INTEL, 0xffff) /* Nvidia */ From owner-svn-src-all@freebsd.org Thu Mar 19 02:22:09 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 437CD276EF3; Thu, 19 Mar 2020 02:22:09 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jVzP05GXz4HlL; Thu, 19 Mar 2020 02:22:09 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D80943DCD; Thu, 19 Mar 2020 02:22:08 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J2M8ik003393; Thu, 19 Mar 2020 02:22:08 GMT (envelope-from gonzo@FreeBSD.org) Received: (from gonzo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J2M8rL003242; Thu, 19 Mar 2020 02:22:08 GMT (envelope-from gonzo@FreeBSD.org) Message-Id: <202003190222.02J2M8rL003242@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gonzo set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko Date: Thu, 19 Mar 2020 02:22:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359114 - stable/11/sys/dev/sound/pci/hda X-SVN-Group: stable-11 X-SVN-Commit-Author: gonzo X-SVN-Commit-Paths: stable/11/sys/dev/sound/pci/hda X-SVN-Commit-Revision: 359114 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 02:22:09 -0000 Author: gonzo Date: Thu Mar 19 02:22:08 2020 New Revision: 359114 URL: https://svnweb.freebsd.org/changeset/base/359114 Log: MFC r352775-r352776 r352775: snd_hda: Add Intel Cannon Lake support Add PCI ids for Intel Cannon Lake PCH Tested on: HP Spectre x360 13-p0043dx PR: 240574 Submitted by: Neel Chauhan Reviewed by: imp, mizhka, ray Differential Revision: https://reviews.freebsd.org/D21789 r352776: snd_hda: Add Intel Cannon Lake support Add missing header change ommitted in r352775 X-MFC-with: 352775 Modified: stable/11/sys/dev/sound/pci/hda/hdac.c stable/11/sys/dev/sound/pci/hda/hdac.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- stable/11/sys/dev/sound/pci/hda/hdac.c Thu Mar 19 01:50:24 2020 (r359113) +++ stable/11/sys/dev/sound/pci/hda/hdac.c Thu Mar 19 02:22:08 2020 (r359114) @@ -99,6 +99,7 @@ static const struct { { HDA_INTEL_KBLK, "Intel Kaby Lake", 0, 0 }, { HDA_INTEL_KBLKH, "Intel Kaby Lake-H", 0, 0 }, { HDA_INTEL_CFLK, "Intel Coffee Lake", 0, 0 }, + { HDA_INTEL_CNLK, "Intel Cannon Lake", 0, 0 }, { HDA_INTEL_82801F, "Intel 82801F", 0, 0 }, { HDA_INTEL_63XXESB, "Intel 631x/632xESB", 0, 0 }, { HDA_INTEL_82801G, "Intel 82801G", 0, 0 }, Modified: stable/11/sys/dev/sound/pci/hda/hdac.h ============================================================================== --- stable/11/sys/dev/sound/pci/hda/hdac.h Thu Mar 19 01:50:24 2020 (r359113) +++ stable/11/sys/dev/sound/pci/hda/hdac.h Thu Mar 19 02:22:08 2020 (r359114) @@ -75,6 +75,7 @@ #define HDA_INTEL_KBLK HDA_MODEL_CONSTRUCT(INTEL, 0xa171) #define HDA_INTEL_KBLKH HDA_MODEL_CONSTRUCT(INTEL, 0xa2f0) #define HDA_INTEL_CFLK HDA_MODEL_CONSTRUCT(INTEL, 0xa348) +#define HDA_INTEL_CNLK HDA_MODEL_CONSTRUCT(INTEL, 0x9dc8) #define HDA_INTEL_ALL HDA_MODEL_CONSTRUCT(INTEL, 0xffff) /* Nvidia */ From owner-svn-src-all@freebsd.org Thu Mar 19 03:29:47 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EE2F8278EFD; Thu, 19 Mar 2020 03:29:47 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jXTR3lmzz3wfl; Thu, 19 Mar 2020 03:29:47 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6B9DD4A11; Thu, 19 Mar 2020 03:29:47 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J3TljI041531; Thu, 19 Mar 2020 03:29:47 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J3TlV4041530; Thu, 19 Mar 2020 03:29:47 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202003190329.02J3TlV4041530@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Thu, 19 Mar 2020 03:29:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359115 - in stable: 11/lib/libpam/modules/pam_login_access 12/lib/libpam/modules/pam_login_access X-SVN-Group: stable-11 X-SVN-Commit-Author: cy X-SVN-Commit-Paths: in stable: 11/lib/libpam/modules/pam_login_access 12/lib/libpam/modules/pam_login_access X-SVN-Commit-Revision: 359115 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 03:29:48 -0000 Author: cy Date: Thu Mar 19 03:29:46 2020 New Revision: 359115 URL: https://svnweb.freebsd.org/changeset/base/359115 Log: MFC r358065: The words ALL, LOCAL, and EXCEPT have special meaning and are documented as in the login.access(5) man page. However strcasecmp() is used to compare for these special strings. Because of this User accounts and groups with the corresponding lowercase names are misintrepreted to have special whereas they should not. This commit fixes this, conforming to the man page and to how the Linux pam_access(8) handles these special words. Approved by: des (implicit, blanket) Modified: stable/11/lib/libpam/modules/pam_login_access/login_access.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/12/lib/libpam/modules/pam_login_access/login_access.c Directory Properties: stable/12/ (props changed) Modified: stable/11/lib/libpam/modules/pam_login_access/login_access.c ============================================================================== --- stable/11/lib/libpam/modules/pam_login_access/login_access.c Thu Mar 19 02:22:08 2020 (r359114) +++ stable/11/lib/libpam/modules/pam_login_access/login_access.c Thu Mar 19 03:29:46 2020 (r359115) @@ -125,7 +125,7 @@ list_match(char *list, const char *item, */ for (tok = strtok(list, sep); tok != NULL; tok = strtok((char *) 0, sep)) { - if (strcasecmp(tok, "EXCEPT") == 0) /* EXCEPT: give up */ + if (strcmp(tok, "EXCEPT") == 0) /* EXCEPT: give up */ break; if ((match = (*match_fn)(tok, item)) != 0) /* YES */ break; @@ -133,7 +133,7 @@ list_match(char *list, const char *item, /* Process exceptions to matches. */ if (match != NO) { - while ((tok = strtok((char *) 0, sep)) && strcasecmp(tok, "EXCEPT")) + while ((tok = strtok((char *) 0, sep)) && strcmp(tok, "EXCEPT")) /* VOID */ ; if (tok == NULL || list_match((char *) 0, item, match_fn) == NO) return (match); @@ -219,7 +219,7 @@ from_match(const char *tok, const char *string) if ((str_len = strlen(string)) > (tok_len = strlen(tok)) && strcasecmp(tok, string + str_len - tok_len) == 0) return (YES); - } else if (strcasecmp(tok, "LOCAL") == 0) { /* local: no dots */ + } else if (strcmp(tok, "LOCAL") == 0) { /* local: no dots */ if (strchr(string, '.') == NULL) return (YES); } else if (tok[(tok_len = strlen(tok)) - 1] == '.' /* network */ @@ -240,7 +240,7 @@ string_match(const char *tok, const char *string) * Otherwise, return YES if the token fully matches the string. */ - if (strcasecmp(tok, "ALL") == 0) { /* all: always matches */ + if (strcmp(tok, "ALL") == 0) { /* all: always matches */ return (YES); } else if (strcasecmp(tok, string) == 0) { /* try exact match */ return (YES); From owner-svn-src-all@freebsd.org Thu Mar 19 03:29:48 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 75D15278F07; Thu, 19 Mar 2020 03:29:48 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jXTS1Cssz3wh2; Thu, 19 Mar 2020 03:29:48 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C12B04A12; Thu, 19 Mar 2020 03:29:47 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J3Tlta041537; Thu, 19 Mar 2020 03:29:47 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J3Tljr041536; Thu, 19 Mar 2020 03:29:47 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202003190329.02J3Tljr041536@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Thu, 19 Mar 2020 03:29:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359115 - in stable: 11/lib/libpam/modules/pam_login_access 12/lib/libpam/modules/pam_login_access X-SVN-Group: stable-12 X-SVN-Commit-Author: cy X-SVN-Commit-Paths: in stable: 11/lib/libpam/modules/pam_login_access 12/lib/libpam/modules/pam_login_access X-SVN-Commit-Revision: 359115 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 03:29:48 -0000 Author: cy Date: Thu Mar 19 03:29:46 2020 New Revision: 359115 URL: https://svnweb.freebsd.org/changeset/base/359115 Log: MFC r358065: The words ALL, LOCAL, and EXCEPT have special meaning and are documented as in the login.access(5) man page. However strcasecmp() is used to compare for these special strings. Because of this User accounts and groups with the corresponding lowercase names are misintrepreted to have special whereas they should not. This commit fixes this, conforming to the man page and to how the Linux pam_access(8) handles these special words. Approved by: des (implicit, blanket) Modified: stable/12/lib/libpam/modules/pam_login_access/login_access.c Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Modified: stable/11/lib/libpam/modules/pam_login_access/login_access.c Directory Properties: stable/11/ (props changed) Modified: stable/12/lib/libpam/modules/pam_login_access/login_access.c ============================================================================== --- stable/12/lib/libpam/modules/pam_login_access/login_access.c Thu Mar 19 02:22:08 2020 (r359114) +++ stable/12/lib/libpam/modules/pam_login_access/login_access.c Thu Mar 19 03:29:46 2020 (r359115) @@ -125,7 +125,7 @@ list_match(char *list, const char *item, */ for (tok = strtok(list, sep); tok != NULL; tok = strtok((char *) 0, sep)) { - if (strcasecmp(tok, "EXCEPT") == 0) /* EXCEPT: give up */ + if (strcmp(tok, "EXCEPT") == 0) /* EXCEPT: give up */ break; if ((match = (*match_fn)(tok, item)) != 0) /* YES */ break; @@ -133,7 +133,7 @@ list_match(char *list, const char *item, /* Process exceptions to matches. */ if (match != NO) { - while ((tok = strtok((char *) 0, sep)) && strcasecmp(tok, "EXCEPT")) + while ((tok = strtok((char *) 0, sep)) && strcmp(tok, "EXCEPT")) /* VOID */ ; if (tok == NULL || list_match((char *) 0, item, match_fn) == NO) return (match); @@ -219,7 +219,7 @@ from_match(const char *tok, const char *string) if ((str_len = strlen(string)) > (tok_len = strlen(tok)) && strcasecmp(tok, string + str_len - tok_len) == 0) return (YES); - } else if (strcasecmp(tok, "LOCAL") == 0) { /* local: no dots */ + } else if (strcmp(tok, "LOCAL") == 0) { /* local: no dots */ if (strchr(string, '.') == NULL) return (YES); } else if (tok[(tok_len = strlen(tok)) - 1] == '.' /* network */ @@ -240,7 +240,7 @@ string_match(const char *tok, const char *string) * Otherwise, return YES if the token fully matches the string. */ - if (strcasecmp(tok, "ALL") == 0) { /* all: always matches */ + if (strcmp(tok, "ALL") == 0) { /* all: always matches */ return (YES); } else if (strcasecmp(tok, string) == 0) { /* try exact match */ return (YES); From owner-svn-src-all@freebsd.org Thu Mar 19 03:31:12 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BB7D6279030; Thu, 19 Mar 2020 03:31:12 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jXW44RbBz40BM; Thu, 19 Mar 2020 03:31:12 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9202A4A56; Thu, 19 Mar 2020 03:31:12 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J3VChu042783; Thu, 19 Mar 2020 03:31:12 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J3VCIk042770; Thu, 19 Mar 2020 03:31:12 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202003190331.02J3VCIk042770@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Thu, 19 Mar 2020 03:31:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359116 - in stable: 11/lib/libpam/modules/pam_login_access 12/lib/libpam/modules/pam_login_access X-SVN-Group: stable-11 X-SVN-Commit-Author: cy X-SVN-Commit-Paths: in stable: 11/lib/libpam/modules/pam_login_access 12/lib/libpam/modules/pam_login_access X-SVN-Commit-Revision: 359116 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 03:31:12 -0000 Author: cy Date: Thu Mar 19 03:31:12 2020 New Revision: 359116 URL: https://svnweb.freebsd.org/changeset/base/359116 Log: MFC r358066: When pam_login_access(5) fails to match a username it attempts to match the primary group a user belongs to. This commit extends the match to secondary groups a user belongs to as well, just as the Linux pam_access(5) does. Approved by: des (implicit, blanket) Modified: stable/11/lib/libpam/modules/pam_login_access/login_access.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/12/lib/libpam/modules/pam_login_access/login_access.c Directory Properties: stable/12/ (props changed) Modified: stable/11/lib/libpam/modules/pam_login_access/login_access.c ============================================================================== --- stable/11/lib/libpam/modules/pam_login_access/login_access.c Thu Mar 19 03:29:46 2020 (r359115) +++ stable/11/lib/libpam/modules/pam_login_access/login_access.c Thu Mar 19 03:31:12 2020 (r359116) @@ -17,10 +17,12 @@ static char sccsid[] = "%Z% %M% %I% %E% %U%"; __FBSDID("$FreeBSD$"); #include +#include #include #include #include #include +#include #include #include #include @@ -174,6 +176,9 @@ static int user_match(const char *tok, const char *string) { struct group *group; + struct passwd *passwd; + gid_t *grouplist; + int ngroups = NGROUPS; int i; /* @@ -186,10 +191,37 @@ user_match(const char *tok, const char *string) return (netgroup_match(tok + 1, (char *) 0, string)); } else if (string_match(tok, string)) { /* ALL or exact match */ return (YES); - } else if ((group = getgrnam(tok)) != NULL) {/* try group membership */ - for (i = 0; group->gr_mem[i]; i++) - if (strcasecmp(string, group->gr_mem[i]) == 0) + } else { + if ((passwd = getpwnam(string)) == NULL) + return (NO); + errno = 0; + if ((group = getgrnam(tok)) == NULL) {/* try group membership */ + if (errno != 0) { + syslog(LOG_ERR, "getgrnam() failed for %s: %s", string, strerror(errno)); + } else { + syslog(LOG_NOTICE, "group not found: %s", string); + } + return (NO); + } + errno = 0; + if ((grouplist = calloc(ngroups, sizeof(gid_t))) == NULL) { + if (errno == ENOMEM) { + syslog(LOG_ERR, "cannot allocate memory for grouplist: %s", string); + } + return (NO); + } + if (getgrouplist(string, passwd->pw_gid, grouplist, &ngroups) != 0) { + syslog(LOG_ERR, "getgrouplist() failed for %s", string); + free(grouplist); + return (NO); + } + for (i = 0; i < ngroups; i++) { + if (grouplist[i] == group->gr_gid) { + free(grouplist); return (YES); + } + } + free(grouplist); } return (NO); } From owner-svn-src-all@freebsd.org Thu Mar 19 03:31:13 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2D16527903C; Thu, 19 Mar 2020 03:31:13 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jXW50TYqz40Bn; Thu, 19 Mar 2020 03:31:13 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E4FFB4A58; Thu, 19 Mar 2020 03:31:12 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J3VCbM043489; Thu, 19 Mar 2020 03:31:12 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J3VC9q043487; Thu, 19 Mar 2020 03:31:12 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202003190331.02J3VC9q043487@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Thu, 19 Mar 2020 03:31:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359116 - in stable: 11/lib/libpam/modules/pam_login_access 12/lib/libpam/modules/pam_login_access X-SVN-Group: stable-12 X-SVN-Commit-Author: cy X-SVN-Commit-Paths: in stable: 11/lib/libpam/modules/pam_login_access 12/lib/libpam/modules/pam_login_access X-SVN-Commit-Revision: 359116 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 03:31:13 -0000 Author: cy Date: Thu Mar 19 03:31:12 2020 New Revision: 359116 URL: https://svnweb.freebsd.org/changeset/base/359116 Log: MFC r358066: When pam_login_access(5) fails to match a username it attempts to match the primary group a user belongs to. This commit extends the match to secondary groups a user belongs to as well, just as the Linux pam_access(5) does. Approved by: des (implicit, blanket) Modified: stable/12/lib/libpam/modules/pam_login_access/login_access.c Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Modified: stable/11/lib/libpam/modules/pam_login_access/login_access.c Directory Properties: stable/11/ (props changed) Modified: stable/12/lib/libpam/modules/pam_login_access/login_access.c ============================================================================== --- stable/12/lib/libpam/modules/pam_login_access/login_access.c Thu Mar 19 03:29:46 2020 (r359115) +++ stable/12/lib/libpam/modules/pam_login_access/login_access.c Thu Mar 19 03:31:12 2020 (r359116) @@ -17,10 +17,12 @@ static char sccsid[] = "%Z% %M% %I% %E% %U%"; __FBSDID("$FreeBSD$"); #include +#include #include #include #include #include +#include #include #include #include @@ -174,6 +176,9 @@ static int user_match(const char *tok, const char *string) { struct group *group; + struct passwd *passwd; + gid_t *grouplist; + int ngroups = NGROUPS; int i; /* @@ -186,10 +191,37 @@ user_match(const char *tok, const char *string) return (netgroup_match(tok + 1, (char *) 0, string)); } else if (string_match(tok, string)) { /* ALL or exact match */ return (YES); - } else if ((group = getgrnam(tok)) != NULL) {/* try group membership */ - for (i = 0; group->gr_mem[i]; i++) - if (strcasecmp(string, group->gr_mem[i]) == 0) + } else { + if ((passwd = getpwnam(string)) == NULL) + return (NO); + errno = 0; + if ((group = getgrnam(tok)) == NULL) {/* try group membership */ + if (errno != 0) { + syslog(LOG_ERR, "getgrnam() failed for %s: %s", string, strerror(errno)); + } else { + syslog(LOG_NOTICE, "group not found: %s", string); + } + return (NO); + } + errno = 0; + if ((grouplist = calloc(ngroups, sizeof(gid_t))) == NULL) { + if (errno == ENOMEM) { + syslog(LOG_ERR, "cannot allocate memory for grouplist: %s", string); + } + return (NO); + } + if (getgrouplist(string, passwd->pw_gid, grouplist, &ngroups) != 0) { + syslog(LOG_ERR, "getgrouplist() failed for %s", string); + free(grouplist); + return (NO); + } + for (i = 0; i < ngroups; i++) { + if (grouplist[i] == group->gr_gid) { + free(grouplist); return (YES); + } + } + free(grouplist); } return (NO); } From owner-svn-src-all@freebsd.org Thu Mar 19 03:37:04 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A581427928E; Thu, 19 Mar 2020 03:37:04 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jXdr44Dmz4Bcn; Thu, 19 Mar 2020 03:37:04 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 18BF34BDF; Thu, 19 Mar 2020 03:37:04 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J3b427047338; Thu, 19 Mar 2020 03:37:04 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J3b3Uc047331; Thu, 19 Mar 2020 03:37:03 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202003190337.02J3b3Uc047331@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Thu, 19 Mar 2020 03:37:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359117 - in stable: 11/lib/libpam/modules/pam_login_access 12/lib/libpam/modules/pam_login_access X-SVN-Group: stable-11 X-SVN-Commit-Author: cy X-SVN-Commit-Paths: in stable: 11/lib/libpam/modules/pam_login_access 12/lib/libpam/modules/pam_login_access X-SVN-Commit-Revision: 359117 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 03:37:04 -0000 Author: cy Date: Thu Mar 19 03:37:02 2020 New Revision: 359117 URL: https://svnweb.freebsd.org/changeset/base/359117 Log: MFC r358070: This commit makes significant changes to pam_login_access(8) to bring it up to par with the Linux pam_access(8). Like the Linux pam_access(8) our pam_login_access(8) is a service module for pam(3) that allows a administrator to limit access from specified remote hosts or terminals. Unlike the Linux pam_access, pam_login_access is missing some features which are added by this commit: Access file can now be specified. The default remains /etc/access.conf. The syntax is consistent with Linux pam_access. By default usernames are matched. If the username fails to match a match against a group name is attempted. The new nodefgroup module option will only match a username and no attempt to match a group name is made. Group names must be specified in brackets, "()" when nodefgroup is specified. Otherwise the old backward compatible behavior is used. This is consistent with Linux pam_access. A new field separator module option allows the replacement of the default colon (:) with any other character. This facilitates potential future specification of X displays. This is also consistent with Linux pam_access. A new list separator module option to replace the default space/comma/tab with another character. This too is consistent with Linux pam_access. Linux pam_access options not implemented in this commit are the debug and audit options. These will be implemented at a later date. Reviewed by: bjk, bcr (for manpages) Approved by: des (blanket, implicit) Differential Revision: https://reviews.freebsd.org/D23198 Modified: stable/11/lib/libpam/modules/pam_login_access/login.access.5 stable/11/lib/libpam/modules/pam_login_access/login_access.c stable/11/lib/libpam/modules/pam_login_access/pam_login_access.8 stable/11/lib/libpam/modules/pam_login_access/pam_login_access.c stable/11/lib/libpam/modules/pam_login_access/pam_login_access.h Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/12/lib/libpam/modules/pam_login_access/login.access.5 stable/12/lib/libpam/modules/pam_login_access/login_access.c stable/12/lib/libpam/modules/pam_login_access/pam_login_access.8 stable/12/lib/libpam/modules/pam_login_access/pam_login_access.c stable/12/lib/libpam/modules/pam_login_access/pam_login_access.h Directory Properties: stable/12/ (props changed) Modified: stable/11/lib/libpam/modules/pam_login_access/login.access.5 ============================================================================== --- stable/11/lib/libpam/modules/pam_login_access/login.access.5 Thu Mar 19 03:31:12 2020 (r359116) +++ stable/11/lib/libpam/modules/pam_login_access/login.access.5 Thu Mar 19 03:37:02 2020 (r359117) @@ -1,7 +1,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 27, 2020 +.Dd January 30, 2020 .Dt LOGIN.ACCESS 5 .Os .Sh NAME @@ -34,6 +34,13 @@ character. .Pp The second field should be a list of one or more login names, group names, or ALL (always matches). +Group names must be enclosed in +parentheses if the pam module specification for +.Pa pam_login_access +specifies the +.Pa nodefgroup +option. +Otherwise, group names will only match if no usernames match. .Pp The third field should be a list of one or more tty names (for non-networked logins), host names, domain Modified: stable/11/lib/libpam/modules/pam_login_access/login_access.c ============================================================================== --- stable/11/lib/libpam/modules/pam_login_access/login_access.c Thu Mar 19 03:31:12 2020 (r359116) +++ stable/11/lib/libpam/modules/pam_login_access/login_access.c Thu Mar 19 03:37:02 2020 (r359117) @@ -31,29 +31,26 @@ __FBSDID("$FreeBSD$"); #include "pam_login_access.h" -#define _PATH_LOGACCESS "/etc/login.access" - - /* Delimiters for fields and for lists of users, ttys or hosts. */ - -static char fs[] = ":"; /* field separator */ -static char sep[] = ", \t"; /* list-element separator */ - /* Constants to be used in assignments only, not in comparisons... */ #define YES 1 #define NO 0 -static int from_match(const char *, const char *); +static int from_match(const char *, const char *, struct pam_login_access_options *); static int list_match(char *, const char *, - int (*)(const char *, const char *)); + int (*)(const char *, const char *, + struct pam_login_access_options *), + struct pam_login_access_options *); static int netgroup_match(const char *, const char *, const char *); static int string_match(const char *, const char *); -static int user_match(const char *, const char *); +static int user_match(const char *, const char *, struct pam_login_access_options *); +static int group_match(const char *, const char *); /* login_access - match username/group and host/tty with access control file */ int -login_access(const char *user, const char *from) +login_access(const char *user, const char *from, + struct pam_login_access_options *login_access_opts) { FILE *fp; char line[BUFSIZ]; @@ -63,6 +60,7 @@ login_access(const char *user, const char *from) int match = NO; int end; int lineno = 0; /* for diagnostics */ + const char *fieldsep = login_access_opts->fieldsep; /* * Process the table one line at a time and stop at the first match. @@ -72,12 +70,12 @@ login_access(const char *user, const char *from) * non-existing table means no access control. */ - if ((fp = fopen(_PATH_LOGACCESS, "r")) != NULL) { + if ((fp = fopen(login_access_opts->accessfile, "r")) != NULL) { while (!match && fgets(line, sizeof(line), fp)) { lineno++; if (line[end = strlen(line) - 1] != '\n') { syslog(LOG_ERR, "%s: line %d: missing newline or line too long", - _PATH_LOGACCESS, lineno); + login_access_opts->accessfile, lineno); continue; } if (line[0] == '#') @@ -87,25 +85,25 @@ login_access(const char *user, const char *from) line[end] = 0; /* strip trailing whitespace */ if (line[0] == 0) /* skip blank lines */ continue; - if (!(perm = strtok(line, fs)) - || !(users = strtok((char *) 0, fs)) - || !(froms = strtok((char *) 0, fs)) - || strtok((char *) 0, fs)) { - syslog(LOG_ERR, "%s: line %d: bad field count", _PATH_LOGACCESS, + if (!(perm = strtok(line, fieldsep)) + || !(users = strtok((char *) 0, fieldsep)) + || !(froms = strtok((char *) 0, fieldsep)) + || strtok((char *) 0, fieldsep)) { + syslog(LOG_ERR, "%s: line %d: bad field count", login_access_opts->accessfile, lineno); continue; } if (perm[0] != '+' && perm[0] != '-') { - syslog(LOG_ERR, "%s: line %d: bad first field", _PATH_LOGACCESS, + syslog(LOG_ERR, "%s: line %d: bad first field", login_access_opts->accessfile, lineno); continue; } - match = (list_match(froms, from, from_match) - && list_match(users, user, user_match)); + match = (list_match(froms, from, from_match, login_access_opts) + && list_match(users, user, user_match, login_access_opts)); } (void) fclose(fp); } else if (errno != ENOENT) { - syslog(LOG_ERR, "cannot open %s: %m", _PATH_LOGACCESS); + syslog(LOG_ERR, "cannot open %s: %m", login_access_opts->accessfile); } return (match == 0 || (line[0] == '+')); } @@ -114,10 +112,12 @@ login_access(const char *user, const char *from) static int list_match(char *list, const char *item, - int (*match_fn)(const char *, const char *)) + int (*match_fn)(const char *, const char *, struct pam_login_access_options *), + struct pam_login_access_options *login_access_opts) { char *tok; int match = NO; + const char *listsep = login_access_opts->listsep; /* * Process tokens one at a time. We have exhausted all possible matches @@ -126,19 +126,22 @@ list_match(char *list, const char *item, * the match is affected by any exceptions. */ - for (tok = strtok(list, sep); tok != NULL; tok = strtok((char *) 0, sep)) { + for (tok = strtok(list, listsep); tok != NULL; tok = strtok((char *) 0, listsep)) { if (strcmp(tok, "EXCEPT") == 0) /* EXCEPT: give up */ break; - if ((match = (*match_fn)(tok, item)) != 0) /* YES */ + if ((match = (*match_fn)(tok, item, login_access_opts)) != 0) /* YES */ break; } /* Process exceptions to matches. */ if (match != NO) { - while ((tok = strtok((char *) 0, sep)) && strcmp(tok, "EXCEPT")) + while ((tok = strtok((char *) 0, listsep)) && strcmp(tok, "EXCEPT")) { /* VOID */ ; - if (tok == NULL || list_match((char *) 0, item, match_fn) == NO) - return (match); + if (tok == NULL || list_match((char *) 0, item, match_fn, + login_access_opts) == NO) { + return (match); + } + } } return (NO); } @@ -170,17 +173,50 @@ netgroup_match(const char *group, const char *machine, return (NO); } -/* user_match - match a username against one token */ +/* group_match - match a group against one token */ -static int -user_match(const char *tok, const char *string) +int +group_match(const char *tok, const char *username) { struct group *group; struct passwd *passwd; gid_t *grouplist; - int ngroups = NGROUPS; - int i; + int i, ret, ngroups = NGROUPS; + if ((passwd = getpwnam(username)) == NULL) + return (NO); + errno = 0; + if ((group = getgrnam(tok)) == NULL) { + if (errno != 0) + syslog(LOG_ERR, "getgrnam() failed for %s: %s", username, strerror(errno)); + else + syslog(LOG_NOTICE, "group not found: %s", username); + return (NO); + } + if ((grouplist = calloc(ngroups, sizeof(gid_t))) == NULL) { + syslog(LOG_ERR, "cannot allocate memory for grouplist: %s", username); + return (NO); + } + ret = NO; + if (getgrouplist(username, passwd->pw_gid, grouplist, &ngroups) != 0) + syslog(LOG_ERR, "getgrouplist() failed for %s", username); + for (i = 0; i < ngroups; i++) + if (grouplist[i] == group->gr_gid) + ret = YES; + free(grouplist); + return (ret); +} + +/* user_match - match a username against one token */ + +static int +user_match(const char *tok, const char *string, + struct pam_login_access_options *login_access_opts) +{ + size_t stringlen; + char *grpstr; + int rc; + /* * If a token has the magic value "ALL" the match always succeeds. * Otherwise, return YES if the token fully matches the username, or if @@ -189,39 +225,18 @@ user_match(const char *tok, const char *string) if (tok[0] == '@') { /* netgroup */ return (netgroup_match(tok + 1, (char *) 0, string)); - } else if (string_match(tok, string)) { /* ALL or exact match */ - return (YES); - } else { - if ((passwd = getpwnam(string)) == NULL) - return (NO); - errno = 0; - if ((group = getgrnam(tok)) == NULL) {/* try group membership */ - if (errno != 0) { - syslog(LOG_ERR, "getgrnam() failed for %s: %s", string, strerror(errno)); - } else { - syslog(LOG_NOTICE, "group not found: %s", string); - } + } else if (tok[0] == '(' && tok[(stringlen = strlen(&tok[1]))] == ')') { /* group */ + if ((grpstr = strndup(&tok[1], stringlen - 1)) == NULL) { + syslog(LOG_ERR, "cannot allocate memory for %s", string); return (NO); } - errno = 0; - if ((grouplist = calloc(ngroups, sizeof(gid_t))) == NULL) { - if (errno == ENOMEM) { - syslog(LOG_ERR, "cannot allocate memory for grouplist: %s", string); - } - return (NO); - } - if (getgrouplist(string, passwd->pw_gid, grouplist, &ngroups) != 0) { - syslog(LOG_ERR, "getgrouplist() failed for %s", string); - free(grouplist); - return (NO); - } - for (i = 0; i < ngroups; i++) { - if (grouplist[i] == group->gr_gid) { - free(grouplist); - return (YES); - } - } - free(grouplist); + rc = group_match(grpstr, string); + free(grpstr); + return (rc); + } else if (string_match(tok, string)) { /* ALL or exact match */ + return (YES); + } else if (login_access_opts->defgroup == true) {/* try group membership */ + return (group_match(tok, string)); } return (NO); } @@ -229,7 +244,8 @@ user_match(const char *tok, const char *string) /* from_match - match a host or tty against a list of tokens */ static int -from_match(const char *tok, const char *string) +from_match(const char *tok, const char *string, + struct pam_login_access_options *login_access_opts __unused) { int tok_len; int str_len; Modified: stable/11/lib/libpam/modules/pam_login_access/pam_login_access.8 ============================================================================== --- stable/11/lib/libpam/modules/pam_login_access/pam_login_access.8 Thu Mar 19 03:31:12 2020 (r359116) +++ stable/11/lib/libpam/modules/pam_login_access/pam_login_access.8 Thu Mar 19 03:37:02 2020 (r359117) @@ -34,7 +34,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 24, 2002 +.Dd January 30, 2020 .Dt PAM_LOGIN_ACCESS 8 .Os .Sh NAME @@ -63,13 +63,46 @@ The .Pa login.access account management component .Pq Fn pam_sm_acct_mgmt , -returns success if and only the user is allowed to log in on the +returns success if and only the user is allowed to login on the specified tty (in the case of a local login) or from the specified remote host (in the case of a remote login), according to the restrictions listed in .Xr login.access 5 . +.Bl -tag -width ".Cm accessfile=pathname" +.It Cm accessfile Ns = Ns Ar pathname +specifies a non-standard location for the +.Pa login.access +configuration file +(normally located in +.Pa /etc/login.access ) . +.It Cm nodefgroup +makes tokens not enclosed in parentheses only match users, requiring groups +to be specified in parentheses. +Without +.Cm nodefgroup +user and group names are intermingled, with user entries taking precedence +over group entries. +This is not backwards compatible with legacy +.Pa login.access +configuration files. +However this mitigates confusion between users and +groups of the same name. +.It Cm fieldsep Ns = Ns Ar separators +changes the field separator from the default ":". +More than one separator +may be specified. +.It Cm listsep Ns = Ns Ar separators +changes the field separator from the default space (''), tab (\\t) and +comma (,). +More than one separator may be specified. +For example, listsep=; +will replace the default with a semicolon (;). +This option may be useful when specifying Active Directory groupnames which +typically contain spaces. +.El .Sh SEE ALSO .Xr pam 3 , +.Xr syslog 3 , .Xr login.access 5 , .Xr pam.conf 5 .Sh AUTHORS Modified: stable/11/lib/libpam/modules/pam_login_access/pam_login_access.c ============================================================================== --- stable/11/lib/libpam/modules/pam_login_access/pam_login_access.c Thu Mar 19 03:31:12 2020 (r359116) +++ stable/11/lib/libpam/modules/pam_login_access/pam_login_access.c Thu Mar 19 03:37:02 2020 (r359117) @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #define _BSD_SOURCE #include +#include #include #include @@ -49,13 +50,25 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "pam_login_access.h" +#define OPT_ACCESSFILE "accessfile" +#define OPT_NOAUDIT "noaudit" +#define OPT_FIELDSEP "fieldsep" +#define OPT_LISTSEP "listsep" +#define OPT_NODEFGROUP "nodefgroup" + +#define _PATH_LOGACCESS "/etc/login.access" +#define _FIELD_SEPARATOR ":" +#define _LIST_SEPARATOR ", \t" + PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags __unused, int argc __unused, const char *argv[] __unused) { + struct pam_login_access_options login_access_opts; const void *rhost, *tty, *user; char hostname[MAXHOSTNAMELEN]; int pam_err; @@ -78,25 +91,33 @@ pam_sm_acct_mgmt(pam_handle_t *pamh, int flags __unuse return (pam_err); gethostname(hostname, sizeof hostname); + login_access_opts.defgroup = openpam_get_option(pamh, OPT_NODEFGROUP) == NULL ? true : false; + login_access_opts.audit = openpam_get_option(pamh, OPT_NOAUDIT) == NULL ? true : false; + if ((login_access_opts.accessfile = openpam_get_option(pamh, OPT_ACCESSFILE)) == NULL) + login_access_opts.accessfile = _PATH_LOGACCESS; + if ((login_access_opts.fieldsep = openpam_get_option(pamh, OPT_FIELDSEP)) == NULL) + login_access_opts.fieldsep = _FIELD_SEPARATOR; + if ((login_access_opts.listsep = openpam_get_option(pamh, OPT_LISTSEP)) == NULL) + login_access_opts.listsep = _LIST_SEPARATOR; if (rhost != NULL && *(const char *)rhost != '\0') { PAM_LOG("Checking login.access for user %s from host %s", (const char *)user, (const char *)rhost); - if (login_access(user, rhost) != 0) + if (login_access(user, rhost, &login_access_opts) != 0) return (PAM_SUCCESS); PAM_VERBOSE_ERROR("%s is not allowed to log in from %s", (const char *)user, (const char *)rhost); } else if (tty != NULL && *(const char *)tty != '\0') { PAM_LOG("Checking login.access for user %s on tty %s", (const char *)user, (const char *)tty); - if (login_access(user, tty) != 0) + if (login_access(user, tty, &login_access_opts) != 0) return (PAM_SUCCESS); PAM_VERBOSE_ERROR("%s is not allowed to log in on %s", (const char *)user, (const char *)tty); } else { PAM_LOG("Checking login.access for user %s", (const char *)user); - if (login_access(user, "***unknown***") != 0) + if (login_access(user, "***unknown***", &login_access_opts) != 0) return (PAM_SUCCESS); PAM_VERBOSE_ERROR("%s is not allowed to log in", (const char *)user); Modified: stable/11/lib/libpam/modules/pam_login_access/pam_login_access.h ============================================================================== --- stable/11/lib/libpam/modules/pam_login_access/pam_login_access.h Thu Mar 19 03:31:12 2020 (r359116) +++ stable/11/lib/libpam/modules/pam_login_access/pam_login_access.h Thu Mar 19 03:37:02 2020 (r359117) @@ -36,4 +36,15 @@ * $FreeBSD$ */ -extern int login_access(const char *, const char *); +#include + +struct pam_login_access_options { + bool defgroup; + bool audit; + const char *accessfile; + /* Delimiters for fields and for lists of users, ttys or hosts. */ + const char *fieldsep; /* field separator */ + const char *listsep; /* list-element separator */ +}; + +extern int login_access(const char *, const char *, struct pam_login_access_options *); From owner-svn-src-all@freebsd.org Thu Mar 19 03:37:05 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CF157279294; Thu, 19 Mar 2020 03:37:05 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jXds4z5Hz4Bfl; Thu, 19 Mar 2020 03:37:05 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5014B4BE0; Thu, 19 Mar 2020 03:37:05 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J3b5H4047350; Thu, 19 Mar 2020 03:37:05 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J3b4J1047343; Thu, 19 Mar 2020 03:37:04 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202003190337.02J3b4J1047343@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Thu, 19 Mar 2020 03:37:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359117 - in stable: 11/lib/libpam/modules/pam_login_access 12/lib/libpam/modules/pam_login_access X-SVN-Group: stable-12 X-SVN-Commit-Author: cy X-SVN-Commit-Paths: in stable: 11/lib/libpam/modules/pam_login_access 12/lib/libpam/modules/pam_login_access X-SVN-Commit-Revision: 359117 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 03:37:06 -0000 Author: cy Date: Thu Mar 19 03:37:02 2020 New Revision: 359117 URL: https://svnweb.freebsd.org/changeset/base/359117 Log: MFC r358070: This commit makes significant changes to pam_login_access(8) to bring it up to par with the Linux pam_access(8). Like the Linux pam_access(8) our pam_login_access(8) is a service module for pam(3) that allows a administrator to limit access from specified remote hosts or terminals. Unlike the Linux pam_access, pam_login_access is missing some features which are added by this commit: Access file can now be specified. The default remains /etc/access.conf. The syntax is consistent with Linux pam_access. By default usernames are matched. If the username fails to match a match against a group name is attempted. The new nodefgroup module option will only match a username and no attempt to match a group name is made. Group names must be specified in brackets, "()" when nodefgroup is specified. Otherwise the old backward compatible behavior is used. This is consistent with Linux pam_access. A new field separator module option allows the replacement of the default colon (:) with any other character. This facilitates potential future specification of X displays. This is also consistent with Linux pam_access. A new list separator module option to replace the default space/comma/tab with another character. This too is consistent with Linux pam_access. Linux pam_access options not implemented in this commit are the debug and audit options. These will be implemented at a later date. Reviewed by: bjk, bcr (for manpages) Approved by: des (blanket, implicit) Differential Revision: https://reviews.freebsd.org/D23198 Modified: stable/12/lib/libpam/modules/pam_login_access/login.access.5 stable/12/lib/libpam/modules/pam_login_access/login_access.c stable/12/lib/libpam/modules/pam_login_access/pam_login_access.8 stable/12/lib/libpam/modules/pam_login_access/pam_login_access.c stable/12/lib/libpam/modules/pam_login_access/pam_login_access.h Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Modified: stable/11/lib/libpam/modules/pam_login_access/login.access.5 stable/11/lib/libpam/modules/pam_login_access/login_access.c stable/11/lib/libpam/modules/pam_login_access/pam_login_access.8 stable/11/lib/libpam/modules/pam_login_access/pam_login_access.c stable/11/lib/libpam/modules/pam_login_access/pam_login_access.h Directory Properties: stable/11/ (props changed) Modified: stable/12/lib/libpam/modules/pam_login_access/login.access.5 ============================================================================== --- stable/12/lib/libpam/modules/pam_login_access/login.access.5 Thu Mar 19 03:31:12 2020 (r359116) +++ stable/12/lib/libpam/modules/pam_login_access/login.access.5 Thu Mar 19 03:37:02 2020 (r359117) @@ -1,7 +1,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 27, 2020 +.Dd January 30, 2020 .Dt LOGIN.ACCESS 5 .Os .Sh NAME @@ -34,6 +34,13 @@ character. .Pp The second field should be a list of one or more login names, group names, or ALL (always matches). +Group names must be enclosed in +parentheses if the pam module specification for +.Pa pam_login_access +specifies the +.Pa nodefgroup +option. +Otherwise, group names will only match if no usernames match. .Pp The third field should be a list of one or more tty names (for non-networked logins), host names, domain Modified: stable/12/lib/libpam/modules/pam_login_access/login_access.c ============================================================================== --- stable/12/lib/libpam/modules/pam_login_access/login_access.c Thu Mar 19 03:31:12 2020 (r359116) +++ stable/12/lib/libpam/modules/pam_login_access/login_access.c Thu Mar 19 03:37:02 2020 (r359117) @@ -31,29 +31,26 @@ __FBSDID("$FreeBSD$"); #include "pam_login_access.h" -#define _PATH_LOGACCESS "/etc/login.access" - - /* Delimiters for fields and for lists of users, ttys or hosts. */ - -static char fs[] = ":"; /* field separator */ -static char sep[] = ", \t"; /* list-element separator */ - /* Constants to be used in assignments only, not in comparisons... */ #define YES 1 #define NO 0 -static int from_match(const char *, const char *); +static int from_match(const char *, const char *, struct pam_login_access_options *); static int list_match(char *, const char *, - int (*)(const char *, const char *)); + int (*)(const char *, const char *, + struct pam_login_access_options *), + struct pam_login_access_options *); static int netgroup_match(const char *, const char *, const char *); static int string_match(const char *, const char *); -static int user_match(const char *, const char *); +static int user_match(const char *, const char *, struct pam_login_access_options *); +static int group_match(const char *, const char *); /* login_access - match username/group and host/tty with access control file */ int -login_access(const char *user, const char *from) +login_access(const char *user, const char *from, + struct pam_login_access_options *login_access_opts) { FILE *fp; char line[BUFSIZ]; @@ -63,6 +60,7 @@ login_access(const char *user, const char *from) int match = NO; int end; int lineno = 0; /* for diagnostics */ + const char *fieldsep = login_access_opts->fieldsep; /* * Process the table one line at a time and stop at the first match. @@ -72,12 +70,12 @@ login_access(const char *user, const char *from) * non-existing table means no access control. */ - if ((fp = fopen(_PATH_LOGACCESS, "r")) != NULL) { + if ((fp = fopen(login_access_opts->accessfile, "r")) != NULL) { while (!match && fgets(line, sizeof(line), fp)) { lineno++; if (line[end = strlen(line) - 1] != '\n') { syslog(LOG_ERR, "%s: line %d: missing newline or line too long", - _PATH_LOGACCESS, lineno); + login_access_opts->accessfile, lineno); continue; } if (line[0] == '#') @@ -87,25 +85,25 @@ login_access(const char *user, const char *from) line[end] = 0; /* strip trailing whitespace */ if (line[0] == 0) /* skip blank lines */ continue; - if (!(perm = strtok(line, fs)) - || !(users = strtok((char *) 0, fs)) - || !(froms = strtok((char *) 0, fs)) - || strtok((char *) 0, fs)) { - syslog(LOG_ERR, "%s: line %d: bad field count", _PATH_LOGACCESS, + if (!(perm = strtok(line, fieldsep)) + || !(users = strtok((char *) 0, fieldsep)) + || !(froms = strtok((char *) 0, fieldsep)) + || strtok((char *) 0, fieldsep)) { + syslog(LOG_ERR, "%s: line %d: bad field count", login_access_opts->accessfile, lineno); continue; } if (perm[0] != '+' && perm[0] != '-') { - syslog(LOG_ERR, "%s: line %d: bad first field", _PATH_LOGACCESS, + syslog(LOG_ERR, "%s: line %d: bad first field", login_access_opts->accessfile, lineno); continue; } - match = (list_match(froms, from, from_match) - && list_match(users, user, user_match)); + match = (list_match(froms, from, from_match, login_access_opts) + && list_match(users, user, user_match, login_access_opts)); } (void) fclose(fp); } else if (errno != ENOENT) { - syslog(LOG_ERR, "cannot open %s: %m", _PATH_LOGACCESS); + syslog(LOG_ERR, "cannot open %s: %m", login_access_opts->accessfile); } return (match == 0 || (line[0] == '+')); } @@ -114,10 +112,12 @@ login_access(const char *user, const char *from) static int list_match(char *list, const char *item, - int (*match_fn)(const char *, const char *)) + int (*match_fn)(const char *, const char *, struct pam_login_access_options *), + struct pam_login_access_options *login_access_opts) { char *tok; int match = NO; + const char *listsep = login_access_opts->listsep; /* * Process tokens one at a time. We have exhausted all possible matches @@ -126,19 +126,22 @@ list_match(char *list, const char *item, * the match is affected by any exceptions. */ - for (tok = strtok(list, sep); tok != NULL; tok = strtok((char *) 0, sep)) { + for (tok = strtok(list, listsep); tok != NULL; tok = strtok((char *) 0, listsep)) { if (strcmp(tok, "EXCEPT") == 0) /* EXCEPT: give up */ break; - if ((match = (*match_fn)(tok, item)) != 0) /* YES */ + if ((match = (*match_fn)(tok, item, login_access_opts)) != 0) /* YES */ break; } /* Process exceptions to matches. */ if (match != NO) { - while ((tok = strtok((char *) 0, sep)) && strcmp(tok, "EXCEPT")) + while ((tok = strtok((char *) 0, listsep)) && strcmp(tok, "EXCEPT")) { /* VOID */ ; - if (tok == NULL || list_match((char *) 0, item, match_fn) == NO) - return (match); + if (tok == NULL || list_match((char *) 0, item, match_fn, + login_access_opts) == NO) { + return (match); + } + } } return (NO); } @@ -170,17 +173,50 @@ netgroup_match(const char *group, const char *machine, return (NO); } -/* user_match - match a username against one token */ +/* group_match - match a group against one token */ -static int -user_match(const char *tok, const char *string) +int +group_match(const char *tok, const char *username) { struct group *group; struct passwd *passwd; gid_t *grouplist; - int ngroups = NGROUPS; - int i; + int i, ret, ngroups = NGROUPS; + if ((passwd = getpwnam(username)) == NULL) + return (NO); + errno = 0; + if ((group = getgrnam(tok)) == NULL) { + if (errno != 0) + syslog(LOG_ERR, "getgrnam() failed for %s: %s", username, strerror(errno)); + else + syslog(LOG_NOTICE, "group not found: %s", username); + return (NO); + } + if ((grouplist = calloc(ngroups, sizeof(gid_t))) == NULL) { + syslog(LOG_ERR, "cannot allocate memory for grouplist: %s", username); + return (NO); + } + ret = NO; + if (getgrouplist(username, passwd->pw_gid, grouplist, &ngroups) != 0) + syslog(LOG_ERR, "getgrouplist() failed for %s", username); + for (i = 0; i < ngroups; i++) + if (grouplist[i] == group->gr_gid) + ret = YES; + free(grouplist); + return (ret); +} + +/* user_match - match a username against one token */ + +static int +user_match(const char *tok, const char *string, + struct pam_login_access_options *login_access_opts) +{ + size_t stringlen; + char *grpstr; + int rc; + /* * If a token has the magic value "ALL" the match always succeeds. * Otherwise, return YES if the token fully matches the username, or if @@ -189,39 +225,18 @@ user_match(const char *tok, const char *string) if (tok[0] == '@') { /* netgroup */ return (netgroup_match(tok + 1, (char *) 0, string)); - } else if (string_match(tok, string)) { /* ALL or exact match */ - return (YES); - } else { - if ((passwd = getpwnam(string)) == NULL) - return (NO); - errno = 0; - if ((group = getgrnam(tok)) == NULL) {/* try group membership */ - if (errno != 0) { - syslog(LOG_ERR, "getgrnam() failed for %s: %s", string, strerror(errno)); - } else { - syslog(LOG_NOTICE, "group not found: %s", string); - } + } else if (tok[0] == '(' && tok[(stringlen = strlen(&tok[1]))] == ')') { /* group */ + if ((grpstr = strndup(&tok[1], stringlen - 1)) == NULL) { + syslog(LOG_ERR, "cannot allocate memory for %s", string); return (NO); } - errno = 0; - if ((grouplist = calloc(ngroups, sizeof(gid_t))) == NULL) { - if (errno == ENOMEM) { - syslog(LOG_ERR, "cannot allocate memory for grouplist: %s", string); - } - return (NO); - } - if (getgrouplist(string, passwd->pw_gid, grouplist, &ngroups) != 0) { - syslog(LOG_ERR, "getgrouplist() failed for %s", string); - free(grouplist); - return (NO); - } - for (i = 0; i < ngroups; i++) { - if (grouplist[i] == group->gr_gid) { - free(grouplist); - return (YES); - } - } - free(grouplist); + rc = group_match(grpstr, string); + free(grpstr); + return (rc); + } else if (string_match(tok, string)) { /* ALL or exact match */ + return (YES); + } else if (login_access_opts->defgroup == true) {/* try group membership */ + return (group_match(tok, string)); } return (NO); } @@ -229,7 +244,8 @@ user_match(const char *tok, const char *string) /* from_match - match a host or tty against a list of tokens */ static int -from_match(const char *tok, const char *string) +from_match(const char *tok, const char *string, + struct pam_login_access_options *login_access_opts __unused) { int tok_len; int str_len; Modified: stable/12/lib/libpam/modules/pam_login_access/pam_login_access.8 ============================================================================== --- stable/12/lib/libpam/modules/pam_login_access/pam_login_access.8 Thu Mar 19 03:31:12 2020 (r359116) +++ stable/12/lib/libpam/modules/pam_login_access/pam_login_access.8 Thu Mar 19 03:37:02 2020 (r359117) @@ -34,7 +34,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 24, 2002 +.Dd January 30, 2020 .Dt PAM_LOGIN_ACCESS 8 .Os .Sh NAME @@ -63,13 +63,46 @@ The .Pa login.access account management component .Pq Fn pam_sm_acct_mgmt , -returns success if and only the user is allowed to log in on the +returns success if and only the user is allowed to login on the specified tty (in the case of a local login) or from the specified remote host (in the case of a remote login), according to the restrictions listed in .Xr login.access 5 . +.Bl -tag -width ".Cm accessfile=pathname" +.It Cm accessfile Ns = Ns Ar pathname +specifies a non-standard location for the +.Pa login.access +configuration file +(normally located in +.Pa /etc/login.access ) . +.It Cm nodefgroup +makes tokens not enclosed in parentheses only match users, requiring groups +to be specified in parentheses. +Without +.Cm nodefgroup +user and group names are intermingled, with user entries taking precedence +over group entries. +This is not backwards compatible with legacy +.Pa login.access +configuration files. +However this mitigates confusion between users and +groups of the same name. +.It Cm fieldsep Ns = Ns Ar separators +changes the field separator from the default ":". +More than one separator +may be specified. +.It Cm listsep Ns = Ns Ar separators +changes the field separator from the default space (''), tab (\\t) and +comma (,). +More than one separator may be specified. +For example, listsep=; +will replace the default with a semicolon (;). +This option may be useful when specifying Active Directory groupnames which +typically contain spaces. +.El .Sh SEE ALSO .Xr pam 3 , +.Xr syslog 3 , .Xr login.access 5 , .Xr pam.conf 5 .Sh AUTHORS Modified: stable/12/lib/libpam/modules/pam_login_access/pam_login_access.c ============================================================================== --- stable/12/lib/libpam/modules/pam_login_access/pam_login_access.c Thu Mar 19 03:31:12 2020 (r359116) +++ stable/12/lib/libpam/modules/pam_login_access/pam_login_access.c Thu Mar 19 03:37:02 2020 (r359117) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #define _BSD_SOURCE #include +#include #include #include @@ -51,13 +52,25 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "pam_login_access.h" +#define OPT_ACCESSFILE "accessfile" +#define OPT_NOAUDIT "noaudit" +#define OPT_FIELDSEP "fieldsep" +#define OPT_LISTSEP "listsep" +#define OPT_NODEFGROUP "nodefgroup" + +#define _PATH_LOGACCESS "/etc/login.access" +#define _FIELD_SEPARATOR ":" +#define _LIST_SEPARATOR ", \t" + PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags __unused, int argc __unused, const char *argv[] __unused) { + struct pam_login_access_options login_access_opts; const void *rhost, *tty, *user; char hostname[MAXHOSTNAMELEN]; int pam_err; @@ -80,25 +93,33 @@ pam_sm_acct_mgmt(pam_handle_t *pamh, int flags __unuse return (pam_err); gethostname(hostname, sizeof hostname); + login_access_opts.defgroup = openpam_get_option(pamh, OPT_NODEFGROUP) == NULL ? true : false; + login_access_opts.audit = openpam_get_option(pamh, OPT_NOAUDIT) == NULL ? true : false; + if ((login_access_opts.accessfile = openpam_get_option(pamh, OPT_ACCESSFILE)) == NULL) + login_access_opts.accessfile = _PATH_LOGACCESS; + if ((login_access_opts.fieldsep = openpam_get_option(pamh, OPT_FIELDSEP)) == NULL) + login_access_opts.fieldsep = _FIELD_SEPARATOR; + if ((login_access_opts.listsep = openpam_get_option(pamh, OPT_LISTSEP)) == NULL) + login_access_opts.listsep = _LIST_SEPARATOR; if (rhost != NULL && *(const char *)rhost != '\0') { PAM_LOG("Checking login.access for user %s from host %s", (const char *)user, (const char *)rhost); - if (login_access(user, rhost) != 0) + if (login_access(user, rhost, &login_access_opts) != 0) return (PAM_SUCCESS); PAM_VERBOSE_ERROR("%s is not allowed to log in from %s", (const char *)user, (const char *)rhost); } else if (tty != NULL && *(const char *)tty != '\0') { PAM_LOG("Checking login.access for user %s on tty %s", (const char *)user, (const char *)tty); - if (login_access(user, tty) != 0) + if (login_access(user, tty, &login_access_opts) != 0) return (PAM_SUCCESS); PAM_VERBOSE_ERROR("%s is not allowed to log in on %s", (const char *)user, (const char *)tty); } else { PAM_LOG("Checking login.access for user %s", (const char *)user); - if (login_access(user, "***unknown***") != 0) + if (login_access(user, "***unknown***", &login_access_opts) != 0) return (PAM_SUCCESS); PAM_VERBOSE_ERROR("%s is not allowed to log in", (const char *)user); Modified: stable/12/lib/libpam/modules/pam_login_access/pam_login_access.h ============================================================================== --- stable/12/lib/libpam/modules/pam_login_access/pam_login_access.h Thu Mar 19 03:31:12 2020 (r359116) +++ stable/12/lib/libpam/modules/pam_login_access/pam_login_access.h Thu Mar 19 03:37:02 2020 (r359117) @@ -38,4 +38,15 @@ * $FreeBSD$ */ -extern int login_access(const char *, const char *); +#include + +struct pam_login_access_options { + bool defgroup; + bool audit; + const char *accessfile; + /* Delimiters for fields and for lists of users, ttys or hosts. */ + const char *fieldsep; /* field separator */ + const char *listsep; /* list-element separator */ +}; + +extern int login_access(const char *, const char *, struct pam_login_access_options *); From owner-svn-src-all@freebsd.org Thu Mar 19 06:33:07 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 71F9227CA6F; Thu, 19 Mar 2020 06:33:07 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jcXy6y6tz3QZb; Thu, 19 Mar 2020 06:33:06 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D1F336D03; Thu, 19 Mar 2020 06:33:06 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J6X6Gn055666; Thu, 19 Mar 2020 06:33:06 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J6X6lC055665; Thu, 19 Mar 2020 06:33:06 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <202003190633.02J6X6lC055665@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Thu, 19 Mar 2020 06:33:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359118 - head/lib/libc/nls X-SVN-Group: head X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: head/lib/libc/nls X-SVN-Commit-Revision: 359118 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 06:33:07 -0000 Author: delphij Date: Thu Mar 19 06:33:06 2020 New Revision: 359118 URL: https://svnweb.freebsd.org/changeset/base/359118 Log: Fix race condition in catopen(3). The current code uses a rwlock to protect the cached list, which in turn holds a list of catentry objects, and increments reference count while holding only read lock. Fix this by converting the reference counter to use atomic operations. While I'm there, also perform some clean ups around memory operations. PR: 202636 Reported by: Henry Hu Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D24095 Modified: head/lib/libc/nls/msgcat.c Modified: head/lib/libc/nls/msgcat.c ============================================================================== --- head/lib/libc/nls/msgcat.c Thu Mar 19 03:37:02 2020 (r359117) +++ head/lib/libc/nls/msgcat.c Thu Mar 19 06:33:06 2020 (r359118) @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include /* for ntohl() */ +#include #include #include @@ -76,19 +77,25 @@ __FBSDID("$FreeBSD$"); #define NLERR ((nl_catd) -1) #define NLRETERR(errc) { errno = errc; return (NLERR); } -#define SAVEFAIL(n, l, e) { WLOCK(NLERR); \ - np = malloc(sizeof(struct catentry)); \ +#define SAVEFAIL(n, l, e) { np = calloc(1, sizeof(struct catentry)); \ if (np != NULL) { \ np->name = strdup(n); \ - np->path = NULL; \ np->catd = NLERR; \ - np->refcount = 0; \ np->lang = (l == NULL) ? NULL : \ strdup(l); \ np->caterrno = e; \ - SLIST_INSERT_HEAD(&cache, np, list); \ + if (np->name == NULL || \ + (l != NULL && np->lang == NULL)) { \ + free(np->name); \ + free(np->lang); \ + free(np); \ + } else { \ + WLOCK(NLERR); \ + SLIST_INSERT_HEAD(&cache, np, \ + list); \ + UNLOCK; \ + } \ } \ - UNLOCK; \ errno = e; \ } @@ -152,7 +159,7 @@ catopen(const char *name, int type) NLRETERR(np->caterrno); } else { /* Found cached successful entry */ - np->refcount++; + atomic_add_int(&np->refcount, 1); UNLOCK; return (np->catd); } @@ -355,8 +362,7 @@ catclose(nl_catd catd) WLOCK(-1); SLIST_FOREACH(np, &cache, list) { if (catd == np->catd) { - np->refcount--; - if (np->refcount == 0) + if (atomic_fetchadd_int(&np->refcount, -1) == 1) catfree(np); break; } @@ -376,6 +382,7 @@ load_msgcat(const char *path, const char *name, const nl_catd catd; struct catentry *np; void *data; + char *copy_path, *copy_name, *copy_lang; int fd; /* path/name will never be NULL here */ @@ -387,7 +394,7 @@ load_msgcat(const char *path, const char *name, const RLOCK(NLERR); SLIST_FOREACH(np, &cache, list) { if ((np->path != NULL) && (strcmp(np->path, path) == 0)) { - np->refcount++; + atomic_add_int(&np->refcount, 1); UNLOCK; return (np->catd); } @@ -432,7 +439,20 @@ load_msgcat(const char *path, const char *name, const NLRETERR(EFTYPE); } - if ((catd = malloc(sizeof (*catd))) == NULL) { + copy_name = strdup(name); + copy_path = strdup(path); + copy_lang = (lang == NULL) ? NULL : strdup(lang); + catd = malloc(sizeof (*catd)); + np = calloc(1, sizeof(struct catentry)); + + if (copy_name == NULL || copy_path == NULL || + (lang != NULL && copy_lang == NULL) || + catd == NULL || np == NULL) { + free(copy_name); + free(copy_path); + free(copy_lang); + free(catd); + free(np); munmap(data, (size_t)st.st_size); SAVEFAIL(name, lang, ENOMEM); NLRETERR(ENOMEM); @@ -442,16 +462,13 @@ load_msgcat(const char *path, const char *name, const catd->__size = (int)st.st_size; /* Caching opened catalog */ + np->name = copy_name; + np->path = copy_path; + np->catd = catd; + np->lang = copy_lang; + atomic_store_int(&np->refcount, 1); WLOCK(NLERR); - if ((np = malloc(sizeof(struct catentry))) != NULL) { - np->name = strdup(name); - np->path = strdup(path); - np->catd = catd; - np->lang = (lang == NULL) ? NULL : strdup(lang); - np->refcount = 1; - np->caterrno = 0; - SLIST_INSERT_HEAD(&cache, np, list); - } + SLIST_INSERT_HEAD(&cache, np, list); UNLOCK; return (catd); } From owner-svn-src-all@freebsd.org Thu Mar 19 08:13:52 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EDC9527F1E4; Thu, 19 Mar 2020 08:13:52 +0000 (UTC) (envelope-from krion@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jfnD5Xmcz4FKR; Thu, 19 Mar 2020 08:13:52 +0000 (UTC) (envelope-from krion@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9D93E7F63; Thu, 19 Mar 2020 08:13:52 +0000 (UTC) (envelope-from krion@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J8DqiL017136; Thu, 19 Mar 2020 08:13:52 GMT (envelope-from krion@FreeBSD.org) Received: (from krion@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J8DquH017134; Thu, 19 Mar 2020 08:13:52 GMT (envelope-from krion@FreeBSD.org) Message-Id: <202003190813.02J8DquH017134@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: krion set sender to krion@FreeBSD.org using -f From: Kirill Ponomarev Date: Thu, 19 Mar 2020 08:13:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org Subject: svn commit: r359119 - svnadmin/conf X-SVN-Group: svnadmin X-SVN-Commit-Author: krion X-SVN-Commit-Paths: svnadmin/conf X-SVN-Commit-Revision: 359119 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 08:13:53 -0000 Author: krion (ports committer) Date: Thu Mar 19 08:13:51 2020 New Revision: 359119 URL: https://svnweb.freebsd.org/changeset/base/359119 Log: Welcome Aleksandr Fedorov as a src committer. Aleksandr will focus on network virtualization. vmaffione and jhb will be his mentors. Approved by: core Modified: svnadmin/conf/access svnadmin/conf/mentors Modified: svnadmin/conf/access ============================================================================== --- svnadmin/conf/access Thu Mar 19 06:33:06 2020 (r359118) +++ svnadmin/conf/access Thu Mar 19 08:13:51 2020 (r359119) @@ -19,6 +19,7 @@ # adrian ae +afedorov alc alfredo allanjude Modified: svnadmin/conf/mentors ============================================================================== --- svnadmin/conf/mentors Thu Mar 19 06:33:06 2020 (r359118) +++ svnadmin/conf/mentors Thu Mar 19 08:13:51 2020 (r359119) @@ -10,6 +10,7 @@ # Sort by mentee login name. # Mentee Mentor Optional comment +afedorov vmaffione Co-mentor: jhb alfredo jhibbits anish jhb brd allanjude Co-mentor: bapt From owner-svn-src-all@freebsd.org Thu Mar 19 09:16:01 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2C70825963C; Thu, 19 Mar 2020 09:16:01 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jh8w5q4rz4VTk; Thu, 19 Mar 2020 09:16:00 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EABAD8A6A; Thu, 19 Mar 2020 09:15:59 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J9FxLQ053192; Thu, 19 Mar 2020 09:15:59 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J9FxpN053189; Thu, 19 Mar 2020 09:15:59 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202003190915.02J9FxpN053189@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 19 Mar 2020 09:15:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359120 - head/sys/dev/usb X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/sys/dev/usb X-SVN-Commit-Revision: 359120 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 09:16:01 -0000 Author: hselasky Date: Thu Mar 19 09:15:59 2020 New Revision: 359120 URL: https://svnweb.freebsd.org/changeset/base/359120 Log: Correctly implement support for remote wakeup for USB 3.0 device. Submitted by: Horse Ma MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/dev/usb/usb.h head/sys/dev/usb/usb_hub.c Modified: head/sys/dev/usb/usb.h ============================================================================== --- head/sys/dev/usb/usb.h Thu Mar 19 08:13:51 2020 (r359119) +++ head/sys/dev/usb/usb.h Thu Mar 19 09:15:59 2020 (r359120) @@ -274,6 +274,11 @@ typedef struct usb_device_request usb_device_request_t #define UHF_C_BH_PORT_RESET 29 #define UHF_FORCE_LINKPM_ACCEPT 30 +/* SuperSpeed suspend support */ +#define USB_INTERFACE_FUNC_SUSPEND 0 +#define USB_INTERFACE_FUNC_SUSPEND_LP (1 << 8) +#define USB_INTERFACE_FUNC_SUSPEND_RW (1 << 9) + struct usb_descriptor { uByte bLength; uByte bDescriptorType; Modified: head/sys/dev/usb/usb_hub.c ============================================================================== --- head/sys/dev/usb/usb_hub.c Thu Mar 19 08:13:51 2020 (r359119) +++ head/sys/dev/usb/usb_hub.c Thu Mar 19 09:15:59 2020 (r359120) @@ -2571,6 +2571,50 @@ usb_bus_powerd(struct usb_bus *bus) } #endif +static usb_error_t +usbd_device_30_remote_wakeup(struct usb_device *udev, uint8_t bRequest) +{ + struct usb_device_request req = {}; + + req.bmRequestType = UT_WRITE_INTERFACE; + req.bRequest = bRequest; + USETW(req.wValue, USB_INTERFACE_FUNC_SUSPEND); + USETW(req.wIndex, USB_INTERFACE_FUNC_SUSPEND_LP | + USB_INTERFACE_FUNC_SUSPEND_RW); + + return (usbd_do_request(udev, NULL, &req, 0)); +} + +static usb_error_t +usbd_clear_dev_wakeup(struct usb_device *udev) +{ + usb_error_t err; + + if (usb_device_20_compatible(udev)) { + err = usbd_req_clear_device_feature(udev, + NULL, UF_DEVICE_REMOTE_WAKEUP); + } else { + err = usbd_device_30_remote_wakeup(udev, + UR_CLEAR_FEATURE); + } + return (err); +} + +static usb_error_t +usbd_set_dev_wakeup(struct usb_device *udev) +{ + usb_error_t err; + + if (usb_device_20_compatible(udev)) { + err = usbd_req_set_device_feature(udev, + NULL, UF_DEVICE_REMOTE_WAKEUP); + } else { + err = usbd_device_30_remote_wakeup(udev, + UR_SET_FEATURE); + } + return (err); +} + /*------------------------------------------------------------------------* * usb_dev_resume_peer * @@ -2674,8 +2718,7 @@ usb_dev_resume_peer(struct usb_device *udev) /* check if peer has wakeup capability */ if (usb_peer_can_wakeup(udev)) { /* clear remote wakeup */ - err = usbd_req_clear_device_feature(udev, - NULL, UF_DEVICE_REMOTE_WAKEUP); + err = usbd_clear_dev_wakeup(udev); if (err) { DPRINTFN(0, "Clearing device " "remote wakeup failed: %s\n", @@ -2740,8 +2783,7 @@ repeat: */ /* allow device to do remote wakeup */ - err = usbd_req_set_device_feature(udev, - NULL, UF_DEVICE_REMOTE_WAKEUP); + err = usbd_set_dev_wakeup(udev); if (err) { DPRINTFN(0, "Setting device " "remote wakeup failed\n"); @@ -2767,8 +2809,7 @@ repeat: if (err != 0) { if (usb_peer_can_wakeup(udev)) { /* allow device to do remote wakeup */ - err = usbd_req_clear_device_feature(udev, - NULL, UF_DEVICE_REMOTE_WAKEUP); + err = usbd_clear_dev_wakeup(udev); if (err) { DPRINTFN(0, "Setting device " "remote wakeup failed\n"); From owner-svn-src-all@freebsd.org Thu Mar 19 09:19:23 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2E785259728; Thu, 19 Mar 2020 09:19:23 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jhDp6J0Zz4f1t; Thu, 19 Mar 2020 09:19:22 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C75588A6F; Thu, 19 Mar 2020 09:19:22 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J9JMJG053404; Thu, 19 Mar 2020 09:19:22 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J9JMkp053403; Thu, 19 Mar 2020 09:19:22 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202003190919.02J9JMkp053403@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 19 Mar 2020 09:19:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359121 - stable/12/sys/ofed/drivers/infiniband/ulp/ipoib X-SVN-Group: stable-12 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/12/sys/ofed/drivers/infiniband/ulp/ipoib X-SVN-Commit-Revision: 359121 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 09:19:23 -0000 Author: hselasky Date: Thu Mar 19 09:19:22 2020 New Revision: 359121 URL: https://svnweb.freebsd.org/changeset/base/359121 Log: MFC r359014: Fix for double unlock in ipoib. The ipoib_unicast_send() function is not supposed to unlock the priv lock. Sponsored by: Mellanox Technologies Modified: stable/12/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c ============================================================================== --- stable/12/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Thu Mar 19 09:15:59 2020 (r359120) +++ stable/12/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Thu Mar 19 09:19:22 2020 (r359121) @@ -727,7 +727,6 @@ ipoib_unicast_send(struct mbuf *mb, struct ipoib_dev_p } if (!path->query && path_rec_start(priv, path)) { - spin_unlock_irqrestore(&priv->lock, flags); if (new_path) ipoib_path_free(priv, path); return; From owner-svn-src-all@freebsd.org Thu Mar 19 09:20:05 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6FEB32597FC; Thu, 19 Mar 2020 09:20:05 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jhFc6hV2z3C9m; Thu, 19 Mar 2020 09:20:04 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7BE7F8A73; Thu, 19 Mar 2020 09:20:04 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J9K48m053537; Thu, 19 Mar 2020 09:20:04 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J9K4rp053536; Thu, 19 Mar 2020 09:20:04 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202003190920.02J9K4rp053536@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 19 Mar 2020 09:20:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359122 - stable/11/sys/ofed/drivers/infiniband/ulp/ipoib X-SVN-Group: stable-11 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/11/sys/ofed/drivers/infiniband/ulp/ipoib X-SVN-Commit-Revision: 359122 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 09:20:05 -0000 Author: hselasky Date: Thu Mar 19 09:20:04 2020 New Revision: 359122 URL: https://svnweb.freebsd.org/changeset/base/359122 Log: MFC r359014: Fix for double unlock in ipoib. The ipoib_unicast_send() function is not supposed to unlock the priv lock. Sponsored by: Mellanox Technologies Modified: stable/11/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c ============================================================================== --- stable/11/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Thu Mar 19 09:19:22 2020 (r359121) +++ stable/11/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Thu Mar 19 09:20:04 2020 (r359122) @@ -725,7 +725,6 @@ ipoib_unicast_send(struct mbuf *mb, struct ipoib_dev_p } if (!path->query && path_rec_start(priv, path)) { - spin_unlock_irqrestore(&priv->lock, flags); if (new_path) ipoib_path_free(priv, path); return; From owner-svn-src-all@freebsd.org Thu Mar 19 09:20:42 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6E2EF259884; Thu, 19 Mar 2020 09:20:42 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jhGL1rrpz3Dfg; Thu, 19 Mar 2020 09:20:42 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 36B7B8A88; Thu, 19 Mar 2020 09:20:42 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J9Kg0n055895; Thu, 19 Mar 2020 09:20:42 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J9KgoJ055894; Thu, 19 Mar 2020 09:20:42 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202003190920.02J9KgoJ055894@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 19 Mar 2020 09:20:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r359123 - stable/10/sys/ofed/drivers/infiniband/ulp/ipoib X-SVN-Group: stable-10 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/10/sys/ofed/drivers/infiniband/ulp/ipoib X-SVN-Commit-Revision: 359123 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 09:20:42 -0000 Author: hselasky Date: Thu Mar 19 09:20:41 2020 New Revision: 359123 URL: https://svnweb.freebsd.org/changeset/base/359123 Log: MFC r359014: Fix for double unlock in ipoib. The ipoib_unicast_send() function is not supposed to unlock the priv lock. Sponsored by: Mellanox Technologies Modified: stable/10/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c ============================================================================== --- stable/10/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Thu Mar 19 09:20:04 2020 (r359122) +++ stable/10/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Thu Mar 19 09:20:41 2020 (r359123) @@ -657,7 +657,6 @@ ipoib_unicast_send(struct mbuf *mb, struct ipoib_dev_p if (path) { _IF_ENQUEUE(&path->queue, mb); if (!path->query && path_rec_start(priv, path)) { - spin_unlock_irqrestore(&priv->lock, flags); if (new_path) ipoib_path_free(priv, path); return; From owner-svn-src-all@freebsd.org Thu Mar 19 09:21:29 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D2A7B259A65; Thu, 19 Mar 2020 09:21:29 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jhHD4RPKz3GcQ; Thu, 19 Mar 2020 09:21:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 37B8F8BD0; Thu, 19 Mar 2020 09:21:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J9LSNi056633; Thu, 19 Mar 2020 09:21:28 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J9LSao056632; Thu, 19 Mar 2020 09:21:28 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202003190921.02J9LSao056632@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 19 Mar 2020 09:21:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r359124 - stable/9/sys/ofed/drivers/infiniband/ulp/ipoib X-SVN-Group: stable-9 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/9/sys/ofed/drivers/infiniband/ulp/ipoib X-SVN-Commit-Revision: 359124 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 09:21:29 -0000 Author: hselasky Date: Thu Mar 19 09:21:27 2020 New Revision: 359124 URL: https://svnweb.freebsd.org/changeset/base/359124 Log: MFC r359014: Fix for double unlock in ipoib. The ipoib_unicast_send() function is not supposed to unlock the priv lock. Sponsored by: Mellanox Technologies Modified: stable/9/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c ============================================================================== --- stable/9/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Thu Mar 19 09:20:41 2020 (r359123) +++ stable/9/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Thu Mar 19 09:21:27 2020 (r359124) @@ -662,7 +662,6 @@ ipoib_unicast_send(struct mbuf *mb, struct ipoib_dev_p if (path) { _IF_ENQUEUE(&path->queue, mb); if (!path->query && path_rec_start(priv, path)) { - spin_unlock_irqrestore(&priv->lock, flags); if (new_path) ipoib_path_free(priv, path); return; From owner-svn-src-all@freebsd.org Thu Mar 19 09:23:27 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D7109259B66; Thu, 19 Mar 2020 09:23:27 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jhKW3X7jz3MBT; Thu, 19 Mar 2020 09:23:27 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5959B8C34; Thu, 19 Mar 2020 09:23:27 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02J9NRYr059161; Thu, 19 Mar 2020 09:23:27 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02J9NRtU059160; Thu, 19 Mar 2020 09:23:27 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202003190923.02J9NRtU059160@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Thu, 19 Mar 2020 09:23:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359125 - head/lib/geom/eli X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/lib/geom/eli X-SVN-Commit-Revision: 359125 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 09:23:27 -0000 Author: 0mp (doc,ports committer) Date: Thu Mar 19 09:23:26 2020 New Revision: 359125 URL: https://svnweb.freebsd.org/changeset/base/359125 Log: Document geli(8) loader variables conventions The geli(8) manual page has an example for preloading keyfiles during boot. There is no detail though on how the lookup of these variables actually works. Let's document that the name of a device does not have to be a part of the variable. PR: 243261 Submitted by: johannes@jo-t.de Approved by: bcr (mentor) MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D24114 Modified: head/lib/geom/eli/geli.8 Modified: head/lib/geom/eli/geli.8 ============================================================================== --- head/lib/geom/eli/geli.8 Thu Mar 19 09:21:27 2020 (r359124) +++ head/lib/geom/eli/geli.8 Thu Mar 19 09:23:26 2020 (r359125) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 23, 2019 +.Dd March 19, 2020 .Dt GELI 8 .Os .Sh NAME @@ -1012,6 +1012,35 @@ geli_da1s3a_keyfile_load="YES" geli_da1s3a_keyfile_type="da1s3a:geli_keyfile" geli_da1s3a_keyfile_name="/boot/keys/da1s3a.key" .Ed +.Pp +By convention, these loader variables are called +.Sm off +.Va geli_ No < Ar device No > Va _load . +.Sm on +However, the actual name prefix before +.Va _load , _type , +or +.Va _name +does not matter. +At boot time, the +.Nm +module searches through all +.Sm off +.No < Va prefix No > Va _type No -like +.Sm on +variables that have a value of +.Sm off +.Dq < Ar device No > :geli_keyfile . +.Sm on +The paths to keyfiles are then extracted from +.Sm off +.No < Ar prefix No > Va _name +.Sm on +variables. +In the example above, +.Ar prefix +is +.Dq Li geli_da1s3a_keyfile . .Pp Not only configure encryption, but also data integrity verification using .Nm HMAC/SHA256 . From owner-svn-src-all@freebsd.org Thu Mar 19 10:20:33 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D5B2525AF65; Thu, 19 Mar 2020 10:20:33 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jjbP2xKVz3Qst; Thu, 19 Mar 2020 10:20:33 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1CEFA956C; Thu, 19 Mar 2020 10:20:33 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JAKWFd091977; Thu, 19 Mar 2020 10:20:32 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JAKW4F091959; Thu, 19 Mar 2020 10:20:32 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202003191020.02JAKW4F091959@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Thu, 19 Mar 2020 10:20:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359126 - head/share/misc X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/share/misc X-SVN-Commit-Revision: 359126 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 10:20:34 -0000 Author: 0mp (doc,ports committer) Date: Thu Mar 19 10:20:32 2020 New Revision: 359126 URL: https://svnweb.freebsd.org/changeset/base/359126 Log: Document my doc bit and that bcr@ was my mentor Modified: head/share/misc/committers-doc.dot Modified: head/share/misc/committers-doc.dot ============================================================================== --- head/share/misc/committers-doc.dot Thu Mar 19 09:23:26 2020 (r359125) +++ head/share/misc/committers-doc.dot Thu Mar 19 10:20:32 2020 (r359126) @@ -50,6 +50,7 @@ node [color=lightblue2, style=filled, bgcolor=black]; # Current doc committers go here. Try to keep things sorted. +"0mp" [label="Mateusz Piotrowski\n0mp@FreeBSD.org\n2019/09/29"] ale [label="Alex Dupre\nale@FreeBSD.org\n2003/12/22"] allanjude [label="Allan Jude\nallanjude@FreeBSD.org\n2014/05/17"] bcr [label="Benedict Reuschling\nbcr@FreeBSD.org\n2009/12/24"] @@ -113,6 +114,7 @@ bcr -> sevan bcr -> dexter bcr -> sg bcr -> carlavilla +bcr -> "0mp" blackend -> ale From owner-svn-src-all@freebsd.org Thu Mar 19 10:31:48 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F411225B413; Thu, 19 Mar 2020 10:31:47 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jjrM5lZpz4R9j; Thu, 19 Mar 2020 10:31:47 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5F0B998DA; Thu, 19 Mar 2020 10:31:47 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JAVlSk001331; Thu, 19 Mar 2020 10:31:47 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JAVlIp001330; Thu, 19 Mar 2020 10:31:47 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202003191031.02JAVlIp001330@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Thu, 19 Mar 2020 10:31:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359127 - stable/12/lib/libc/gen X-SVN-Group: stable-12 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/12/lib/libc/gen X-SVN-Commit-Revision: 359127 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 10:31:48 -0000 Author: 0mp (doc,ports committer) Date: Thu Mar 19 10:31:46 2020 New Revision: 359127 URL: https://svnweb.freebsd.org/changeset/base/359127 Log: MFC 358674, 358916: Add examples to ftw.3 ftw.3: Add examples PR: 173448 [1] Submitted by: fernape@ (previous version) [1] Reviewed by: jilles Approved by: bcr (mentor) Differential Revision: https://reviews.freebsd.org/D21750 ftw.3: Follow style(9) in the example Reported by: oshogbo Approved by: bcr (mentor) Differential Revision: https://reviews.freebsd.org/D24043 Modified: stable/12/lib/libc/gen/ftw.3 Directory Properties: stable/12/ (props changed) Modified: stable/12/lib/libc/gen/ftw.3 ============================================================================== --- stable/12/lib/libc/gen/ftw.3 Thu Mar 19 10:20:32 2020 (r359126) +++ stable/12/lib/libc/gen/ftw.3 Thu Mar 19 10:31:46 2020 (r359127) @@ -20,7 +20,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 5, 2004 +.Dd March 12, 2020 .Dt FTW 3 .Os .Sh NAME @@ -157,6 +157,66 @@ and will stop processing the tree and return the value from .Fa fn . Both functions return \-1 if an error is detected. +.Sh EXAMPLES +Following there is an example that shows how +.Nm nftw +can be used. +It traverses the file tree starting at the directory pointed +by the only program argument and shows the complete path and a brief +indicator about the file type. +.Bd -literal -offset 2n +#include +#include +#include + +int +nftw_callback(const char *path, const struct stat *sb, int typeflag, struct FTW *ftw) +{ + char type; + + switch(typeflag) { + case FTW_F: + type = 'F'; + break; + case FTW_D: + type = 'D'; + break; + case FTW_DNR: + type = '-'; + break; + case FTW_DP: + type = 'd'; + break; + case FTW_NS: + type = 'X'; + break; + case FTW_SL: + type = 'S'; + break; + case FTW_SLN: + type = 's'; + break; + default: + type = '?'; + break; + } + + printf("[%c] %s\\n", type, path); + + return (0); +} + +int +main(int argc, char **argv) +{ + + if (argc != 2) { + printf("Usage %s \\n", argv[0]); + return (EX_USAGE); + } else + return (nftw(argv[1], nftw_callback, /* UNUSED */ 1, 0)); +} +.Ed .Sh ERRORS The .Fn ftw From owner-svn-src-all@freebsd.org Thu Mar 19 10:32:40 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 347A825B4E1; Thu, 19 Mar 2020 10:32:40 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jjsM6DzYz4T4r; Thu, 19 Mar 2020 10:32:39 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6A5799925; Thu, 19 Mar 2020 10:32:39 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JAWdmm001434; Thu, 19 Mar 2020 10:32:39 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JAWdeJ001433; Thu, 19 Mar 2020 10:32:39 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202003191032.02JAWdeJ001433@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Thu, 19 Mar 2020 10:32:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359128 - stable/11/lib/libc/gen X-SVN-Group: stable-11 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/11/lib/libc/gen X-SVN-Commit-Revision: 359128 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 10:32:40 -0000 Author: 0mp (doc,ports committer) Date: Thu Mar 19 10:32:38 2020 New Revision: 359128 URL: https://svnweb.freebsd.org/changeset/base/359128 Log: MFC 358674, 358916: ftw.3: Add examples PR: 173448 [1] Submitted by: fernape@ (previous version) [1] Reviewed by: jilles Approved by: bcr (mentor) Differential Revision: https://reviews.freebsd.org/D21750 ftw.3: Follow style(9) in the example Reported by: oshogbo Approved by: bcr (mentor) Differential Revision: https://reviews.freebsd.org/D24043 Modified: stable/11/lib/libc/gen/ftw.3 Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libc/gen/ftw.3 ============================================================================== --- stable/11/lib/libc/gen/ftw.3 Thu Mar 19 10:31:46 2020 (r359127) +++ stable/11/lib/libc/gen/ftw.3 Thu Mar 19 10:32:38 2020 (r359128) @@ -20,7 +20,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 5, 2004 +.Dd March 12, 2020 .Dt FTW 3 .Os .Sh NAME @@ -157,6 +157,66 @@ and will stop processing the tree and return the value from .Fa fn . Both functions return \-1 if an error is detected. +.Sh EXAMPLES +Following there is an example that shows how +.Nm nftw +can be used. +It traverses the file tree starting at the directory pointed +by the only program argument and shows the complete path and a brief +indicator about the file type. +.Bd -literal -offset 2n +#include +#include +#include + +int +nftw_callback(const char *path, const struct stat *sb, int typeflag, struct FTW *ftw) +{ + char type; + + switch(typeflag) { + case FTW_F: + type = 'F'; + break; + case FTW_D: + type = 'D'; + break; + case FTW_DNR: + type = '-'; + break; + case FTW_DP: + type = 'd'; + break; + case FTW_NS: + type = 'X'; + break; + case FTW_SL: + type = 'S'; + break; + case FTW_SLN: + type = 's'; + break; + default: + type = '?'; + break; + } + + printf("[%c] %s\\n", type, path); + + return (0); +} + +int +main(int argc, char **argv) +{ + + if (argc != 2) { + printf("Usage %s \\n", argv[0]); + return (EX_USAGE); + } else + return (nftw(argv[1], nftw_callback, /* UNUSED */ 1, 0)); +} +.Ed .Sh ERRORS The .Fn ftw From owner-svn-src-all@freebsd.org Thu Mar 19 12:22:21 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8A9A125EF79; Thu, 19 Mar 2020 12:22:21 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jmHw6xrpz4GHF; Thu, 19 Mar 2020 12:22:20 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AB561AD1C; Thu, 19 Mar 2020 12:22:20 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JCMKSt068096; Thu, 19 Mar 2020 12:22:20 GMT (envelope-from dab@FreeBSD.org) Received: (from dab@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JCMKWh068095; Thu, 19 Mar 2020 12:22:20 GMT (envelope-from dab@FreeBSD.org) Message-Id: <202003191222.02JCMKWh068095@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dab set sender to dab@FreeBSD.org using -f From: David Bright Date: Thu, 19 Mar 2020 12:22:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359129 - head/sys/cam/nvme X-SVN-Group: head X-SVN-Commit-Author: dab X-SVN-Commit-Paths: head/sys/cam/nvme X-SVN-Commit-Revision: 359129 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 12:22:21 -0000 Author: dab Date: Thu Mar 19 12:22:20 2020 New Revision: 359129 URL: https://svnweb.freebsd.org/changeset/base/359129 Log: Fix parameter reversal potentially causing buffer overrun. Two arguments were reversed in calls to cam_strvis() in nvme_da.c. This was found by a Coverity scan of this code within Dell (Isilon). These are also marked in the FreeBSD Coverity scan as CIDs 1400526 & 1400531. Submitted by: robert.herndon@dell.com Reviewed by: vangyzen@, imp@ MFC after: 3 days Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D24117 Modified: head/sys/cam/nvme/nvme_da.c Modified: head/sys/cam/nvme/nvme_da.c ============================================================================== --- head/sys/cam/nvme/nvme_da.c Thu Mar 19 10:32:38 2020 (r359128) +++ head/sys/cam/nvme/nvme_da.c Thu Mar 19 12:22:20 2020 (r359129) @@ -815,9 +815,9 @@ ndaregister(struct cam_periph *periph, void *arg) * the serial or model number strings. */ cam_strvis(disk->d_descr, cd->mn, - sizeof(disk->d_descr), NVME_MODEL_NUMBER_LENGTH); + NVME_MODEL_NUMBER_LENGTH, sizeof(disk->d_descr)); cam_strvis(disk->d_ident, cd->sn, - sizeof(disk->d_ident), NVME_SERIAL_NUMBER_LENGTH); + NVME_SERIAL_NUMBER_LENGTH, sizeof(disk->d_ident)); disk->d_hba_vendor = cpi.hba_vendor; disk->d_hba_device = cpi.hba_device; disk->d_hba_subvendor = cpi.hba_subvendor; From owner-svn-src-all@freebsd.org Thu Mar 19 12:54:44 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2478B25FB60; Thu, 19 Mar 2020 12:54:44 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jn1H5tddz4bxS; Thu, 19 Mar 2020 12:54:43 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AA29DB2DF; Thu, 19 Mar 2020 12:54:43 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JCshi7086746; Thu, 19 Mar 2020 12:54:43 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JCshpq086745; Thu, 19 Mar 2020 12:54:43 GMT (envelope-from kp@FreeBSD.org) Message-Id: <202003191254.02JCshpq086745@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Thu, 19 Mar 2020 12:54:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359130 - head/sbin/pfctl X-SVN-Group: head X-SVN-Commit-Author: kp X-SVN-Commit-Paths: head/sbin/pfctl X-SVN-Commit-Revision: 359130 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 12:54:44 -0000 Author: kp Date: Thu Mar 19 12:54:43 2020 New Revision: 359130 URL: https://svnweb.freebsd.org/changeset/base/359130 Log: pfctl: improve rule load times with thousands of interfaces r343287 / D18759 introduced ifa_add_groups_to_map() which is now run by ifa_load/ifa_lookup/host_if. When loading an anchor or ruleset via pfctl that does NOT contain ifnames as hosts, host() still ends up iterating all interfaces twice, grabbing SIOCGIFGROUP ioctl twice for each. This adds an unnecessary amount of time on systems with thousands or tens of thousands of interfaces. Prioritize the IPv4/6 check over the interface name lookup, which skips loading the iftab and iterating all interfaces when the configuration does not contain interface names. Submitted by: Nick Rogers MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D24100 Modified: head/sbin/pfctl/pfctl_parser.c Modified: head/sbin/pfctl/pfctl_parser.c ============================================================================== --- head/sbin/pfctl/pfctl_parser.c Thu Mar 19 12:22:20 2020 (r359129) +++ head/sbin/pfctl/pfctl_parser.c Thu Mar 19 12:54:43 2020 (r359130) @@ -1563,16 +1563,17 @@ host(const char *s) mask = -1; } - /* interface with this name exists? */ - if (cont && (h = host_if(ps, mask)) != NULL) - cont = 0; - /* IPv4 address? */ if (cont && (h = host_v4(s, mask)) != NULL) cont = 0; /* IPv6 address? */ if (cont && (h = host_v6(ps, v6mask)) != NULL) + cont = 0; + + /* interface with this name exists? */ + /* expensive with thousands of interfaces - prioritze IPv4/6 check */ + if (cont && (h = host_if(ps, mask)) != NULL) cont = 0; /* dns lookup */ From owner-svn-src-all@freebsd.org Thu Mar 19 14:37:29 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 88546261A91; Thu, 19 Mar 2020 14:37:29 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jqHs1z0tz49y2; Thu, 19 Mar 2020 14:37:29 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 138BEC6BA; Thu, 19 Mar 2020 14:37:29 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JEbSFZ045884; Thu, 19 Mar 2020 14:37:28 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JEbShX045883; Thu, 19 Mar 2020 14:37:28 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <202003191437.02JEbShX045883@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Thu, 19 Mar 2020 14:37:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359131 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 359131 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 14:37:29 -0000 Author: tuexen Date: Thu Mar 19 14:37:28 2020 New Revision: 359131 URL: https://svnweb.freebsd.org/changeset/base/359131 Log: The MTU candidates MUST be a multiple of 4, so make them so. MFC after: 1 week Modified: head/sys/netinet/sctputil.c Modified: head/sys/netinet/sctputil.c ============================================================================== --- head/sys/netinet/sctputil.c Thu Mar 19 12:54:43 2020 (r359130) +++ head/sys/netinet/sctputil.c Thu Mar 19 14:37:28 2020 (r359131) @@ -862,7 +862,7 @@ static uint32_t sctp_mtu_sizes[] = { 2048, 4352, 4464, - 8166, + 8168, 17912, 32000, 65532 From owner-svn-src-all@freebsd.org Thu Mar 19 15:39:46 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 46DBA262A9F; Thu, 19 Mar 2020 15:39:46 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jrgk00svz4THf; Thu, 19 Mar 2020 15:39:46 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A7C46D21C; Thu, 19 Mar 2020 15:39:45 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JFdjD4082093; Thu, 19 Mar 2020 15:39:45 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JFdjlH082092; Thu, 19 Mar 2020 15:39:45 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202003191539.02JFdjlH082092@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 19 Mar 2020 15:39:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359132 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359132 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 15:39:46 -0000 Author: markj Date: Thu Mar 19 15:39:45 2020 New Revision: 359132 URL: https://svnweb.freebsd.org/changeset/base/359132 Log: Enter a write sequence when updating rights. The Capsicum system calls modify file descriptor table entries. To ensure that readers observe a consistent snapshot of descriptor writes, the system calls need to signal to unlocked readers that an update is pending. Note that ioctl rights are always checked with the descriptor table lock held, so it is not strictly necessary to signal unlocked readers. However, we probably want to enable lockless ioctl checks eventually, so use seqc_write_begin() in kern_cap_ioctls_limit() too. Reviewed by: kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D24119 Modified: head/sys/kern/sys_capability.c Modified: head/sys/kern/sys_capability.c ============================================================================== --- head/sys/kern/sys_capability.c Thu Mar 19 14:37:28 2020 (r359131) +++ head/sys/kern/sys_capability.c Thu Mar 19 15:39:45 2020 (r359132) @@ -234,6 +234,7 @@ kern_cap_rights_limit(struct thread *td, int fd, cap_r { struct filedesc *fdp; struct filedescent *fdep; + u_long *ioctls; int error; fdp = td->td_proc->p_fd; @@ -243,18 +244,22 @@ kern_cap_rights_limit(struct thread *td, int fd, cap_r FILEDESC_XUNLOCK(fdp); return (EBADF); } + ioctls = NULL; error = _cap_check(cap_rights(fdp, fd), rights, CAPFAIL_INCREASE); if (error == 0) { + seqc_write_begin(&fdep->fde_seqc); fdep->fde_rights = *rights; if (!cap_rights_is_set(rights, CAP_IOCTL)) { - free(fdep->fde_ioctls, M_FILECAPS); + ioctls = fdep->fde_ioctls; fdep->fde_ioctls = NULL; fdep->fde_nioctls = 0; } if (!cap_rights_is_set(rights, CAP_FCNTL)) fdep->fde_fcntls = 0; + seqc_write_end(&fdep->fde_seqc); } FILEDESC_XUNLOCK(fdp); + free(ioctls, M_FILECAPS); return (error); } @@ -439,8 +444,10 @@ kern_cap_ioctls_limit(struct thread *td, int fd, u_lon goto out; ocmds = fdep->fde_ioctls; + seqc_write_begin(&fdep->fde_seqc); fdep->fde_ioctls = cmds; fdep->fde_nioctls = ncmds; + seqc_write_end(&fdep->fde_seqc); cmds = ocmds; error = 0; @@ -597,7 +604,9 @@ sys_cap_fcntls_limit(struct thread *td, struct cap_fcn return (ENOTCAPABLE); } + seqc_write_begin(&fdep->fde_seqc); fdep->fde_fcntls = fcntlrights; + seqc_write_end(&fdep->fde_seqc); FILEDESC_XUNLOCK(fdp); return (0); From owner-svn-src-all@freebsd.org Thu Mar 19 15:40:07 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8B309262AF5; Thu, 19 Mar 2020 15:40:07 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jrh65HBLz4V0T; Thu, 19 Mar 2020 15:40:06 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 49F97D223; Thu, 19 Mar 2020 15:40:06 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JFe61Z082193; Thu, 19 Mar 2020 15:40:06 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JFe6xP082192; Thu, 19 Mar 2020 15:40:06 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202003191540.02JFe6xP082192@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 19 Mar 2020 15:40:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359133 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359133 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 15:40:07 -0000 Author: markj Date: Thu Mar 19 15:40:05 2020 New Revision: 359133 URL: https://svnweb.freebsd.org/changeset/base/359133 Log: kern_dup(): Call filecaps_free_prep() in a write section. filecaps_free_prep() bzeros the capabilities structure and we need to be careful to synchronize with unlocked readers, which expect a consistent rights structure. Reviewed by: kib, mjg Reported by: syzbot+5f30b507f91ddedded21@syzkaller.appspotmail.com MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D24120 Modified: head/sys/kern/kern_descrip.c Modified: head/sys/kern/kern_descrip.c ============================================================================== --- head/sys/kern/kern_descrip.c Thu Mar 19 15:39:45 2020 (r359132) +++ head/sys/kern/kern_descrip.c Thu Mar 19 15:40:05 2020 (r359133) @@ -968,7 +968,6 @@ kern_dup(struct thread *td, u_int mode, int flags, int newfde = &fdp->fd_ofiles[new]; delfp = newfde->fde_file; - oioctls = filecaps_free_prep(&newfde->fde_caps); nioctls = filecaps_copy_prep(&oldfde->fde_caps); /* @@ -977,6 +976,7 @@ kern_dup(struct thread *td, u_int mode, int flags, int #ifdef CAPABILITIES seqc_write_begin(&newfde->fde_seqc); #endif + oioctls = filecaps_free_prep(&newfde->fde_caps); memcpy(newfde, oldfde, fde_change_size); filecaps_copy_finish(&oldfde->fde_caps, &newfde->fde_caps, nioctls); From owner-svn-src-all@freebsd.org Thu Mar 19 16:34:11 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D7C90263ABB; Thu, 19 Mar 2020 16:34:11 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jstW4D1Lz4HqP; Thu, 19 Mar 2020 16:34:11 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 73CD1DD79; Thu, 19 Mar 2020 16:34:11 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JGYBgB018235; Thu, 19 Mar 2020 16:34:11 GMT (envelope-from gordon@FreeBSD.org) Received: (from gordon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JGYBfx018234; Thu, 19 Mar 2020 16:34:11 GMT (envelope-from gordon@FreeBSD.org) Message-Id: <202003191634.02JGYBfx018234@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gordon set sender to gordon@FreeBSD.org using -f From: Gordon Tetlow Date: Thu, 19 Mar 2020 16:34:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r359134 - releng/12.1/crypto/openssh X-SVN-Group: releng X-SVN-Commit-Author: gordon X-SVN-Commit-Paths: releng/12.1/crypto/openssh X-SVN-Commit-Revision: 359134 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 16:34:11 -0000 Author: gordon Date: Thu Mar 19 16:34:11 2020 New Revision: 359134 URL: https://svnweb.freebsd.org/changeset/base/359134 Log: Fix misleading log messages upon successful sshd login. Approved by: so Security: FreeBSD-EN-20:03.sshd Modified: releng/12.1/crypto/openssh/monitor.c Modified: releng/12.1/crypto/openssh/monitor.c ============================================================================== --- releng/12.1/crypto/openssh/monitor.c Thu Mar 19 15:40:05 2020 (r359133) +++ releng/12.1/crypto/openssh/monitor.c Thu Mar 19 16:34:11 2020 (r359134) @@ -193,7 +193,7 @@ struct mon_table mon_dispatch_proto20[] = { #endif {MONITOR_REQ_SIGN, MON_ONCE, mm_answer_sign}, #ifdef HAVE_LOGIN_CAP - {MONITOR_REQ_GETPWCLASS, MON_AUTH, mm_answer_login_getpwclass}, + {MONITOR_REQ_GETPWCLASS, MON_ISAUTH, mm_answer_login_getpwclass}, #endif {MONITOR_REQ_PWNAM, MON_ONCE, mm_answer_pwnamallow}, {MONITOR_REQ_AUTHSERV, MON_ONCE, mm_answer_authserv}, From owner-svn-src-all@freebsd.org Thu Mar 19 16:35:16 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 58868263B39; Thu, 19 Mar 2020 16:35:16 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jsvm1G3Kz4L5Q; Thu, 19 Mar 2020 16:35:16 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 141FDDD7A; Thu, 19 Mar 2020 16:35:16 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JGZFWL018353; Thu, 19 Mar 2020 16:35:15 GMT (envelope-from gordon@FreeBSD.org) Received: (from gordon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JGZFpm018351; Thu, 19 Mar 2020 16:35:15 GMT (envelope-from gordon@FreeBSD.org) Message-Id: <202003191635.02JGZFpm018351@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gordon set sender to gordon@FreeBSD.org using -f From: Gordon Tetlow Date: Thu, 19 Mar 2020 16:35:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r359135 - releng/11.3/sys/netpfil/pf X-SVN-Group: releng X-SVN-Commit-Author: gordon X-SVN-Commit-Paths: releng/11.3/sys/netpfil/pf X-SVN-Commit-Revision: 359135 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 16:35:16 -0000 Author: gordon Date: Thu Mar 19 16:35:15 2020 New Revision: 359135 URL: https://svnweb.freebsd.org/changeset/base/359135 Log: Fix missing pfctl(8) tunable. Approved by: so Security: FreeBSD-EN-20:04.pfctl Modified: releng/11.3/sys/netpfil/pf/pf.c releng/11.3/sys/netpfil/pf/pf_ioctl.c Modified: releng/11.3/sys/netpfil/pf/pf.c ============================================================================== --- releng/11.3/sys/netpfil/pf/pf.c Thu Mar 19 16:34:11 2020 (r359134) +++ releng/11.3/sys/netpfil/pf/pf.c Thu Mar 19 16:35:15 2020 (r359135) @@ -363,11 +363,14 @@ u_long pf_hashmask; u_long pf_srchashmask; static u_long pf_hashsize; static u_long pf_srchashsize; +u_long pf_ioctl_maxcount = 65535; SYSCTL_ULONG(_net_pf, OID_AUTO, states_hashsize, CTLFLAG_RDTUN, &pf_hashsize, 0, "Size of pf(4) states hashtable"); SYSCTL_ULONG(_net_pf, OID_AUTO, source_nodes_hashsize, CTLFLAG_RDTUN, &pf_srchashsize, 0, "Size of pf(4) source nodes hashtable"); +SYSCTL_ULONG(_net_pf, OID_AUTO, request_maxcount, CTLFLAG_RDTUN, + &pf_ioctl_maxcount, 0, "Maximum number of tables, addresses, ... in a single ioctl() call"); VNET_DEFINE(void *, pf_swi_cookie); Modified: releng/11.3/sys/netpfil/pf/pf_ioctl.c ============================================================================== --- releng/11.3/sys/netpfil/pf/pf_ioctl.c Thu Mar 19 16:34:11 2020 (r359134) +++ releng/11.3/sys/netpfil/pf/pf_ioctl.c Thu Mar 19 16:35:15 2020 (r359135) @@ -86,8 +86,6 @@ __FBSDID("$FreeBSD$"); #include #endif -#define PF_TABLES_MAX_REQUEST 65535 /* Maximum tables per request. */ - static struct pf_pool *pf_get_pool(char *, u_int32_t, u_int8_t, u_int32_t, u_int8_t, u_int8_t, u_int8_t); @@ -215,6 +213,8 @@ pfsync_detach_ifnet_t *pfsync_detach_ifnet_ptr; /* pflog */ pflog_packet_t *pflog_packet_ptr = NULL; +extern u_long pf_ioctl_maxcount; + static void pfattach_vnet(void) { @@ -2528,7 +2528,8 @@ DIOCCHANGEADDR_error: break; } - if (io->pfrio_size < 0 || io->pfrio_size > PF_TABLES_MAX_REQUEST) { + if (io->pfrio_size < 0 || io->pfrio_size > pf_ioctl_maxcount || + WOULD_OVERFLOW(io->pfrio_size, sizeof(struct pfr_table))) { error = ENOMEM; break; } @@ -2559,7 +2560,8 @@ DIOCCHANGEADDR_error: break; } - if (io->pfrio_size < 0 || io->pfrio_size > PF_TABLES_MAX_REQUEST) { + if (io->pfrio_size < 0 || io->pfrio_size > pf_ioctl_maxcount || + WOULD_OVERFLOW(io->pfrio_size, sizeof(struct pfr_table))) { error = ENOMEM; break; } @@ -2732,6 +2734,7 @@ DIOCCHANGEADDR_error: break; } if (io->pfrio_size < 0 || + io->pfrio_size > pf_ioctl_maxcount || WOULD_OVERFLOW(io->pfrio_size, sizeof(struct pfr_addr))) { error = EINVAL; break; @@ -2769,6 +2772,7 @@ DIOCCHANGEADDR_error: break; } if (io->pfrio_size < 0 || + io->pfrio_size > pf_ioctl_maxcount || WOULD_OVERFLOW(io->pfrio_size, sizeof(struct pfr_addr))) { error = EINVAL; break; @@ -2810,7 +2814,8 @@ DIOCCHANGEADDR_error: break; } count = max(io->pfrio_size, io->pfrio_size2); - if (WOULD_OVERFLOW(count, sizeof(struct pfr_addr))) { + if (count > pf_ioctl_maxcount || + WOULD_OVERFLOW(count, sizeof(struct pfr_addr))) { error = EINVAL; break; } @@ -2848,6 +2853,7 @@ DIOCCHANGEADDR_error: break; } if (io->pfrio_size < 0 || + io->pfrio_size > pf_ioctl_maxcount || WOULD_OVERFLOW(io->pfrio_size, sizeof(struct pfr_addr))) { error = EINVAL; break; @@ -2879,6 +2885,7 @@ DIOCCHANGEADDR_error: break; } if (io->pfrio_size < 0 || + io->pfrio_size > pf_ioctl_maxcount || WOULD_OVERFLOW(io->pfrio_size, sizeof(struct pfr_astats))) { error = EINVAL; break; @@ -2910,6 +2917,7 @@ DIOCCHANGEADDR_error: break; } if (io->pfrio_size < 0 || + io->pfrio_size > pf_ioctl_maxcount || WOULD_OVERFLOW(io->pfrio_size, sizeof(struct pfr_addr))) { error = EINVAL; break; @@ -2947,6 +2955,7 @@ DIOCCHANGEADDR_error: break; } if (io->pfrio_size < 0 || + io->pfrio_size > pf_ioctl_maxcount || WOULD_OVERFLOW(io->pfrio_size, sizeof(struct pfr_addr))) { error = EINVAL; break; @@ -2984,6 +2993,7 @@ DIOCCHANGEADDR_error: break; } if (io->pfrio_size < 0 || + io->pfrio_size > pf_ioctl_maxcount || WOULD_OVERFLOW(io->pfrio_size, sizeof(struct pfr_addr))) { error = EINVAL; break; @@ -3036,6 +3046,7 @@ DIOCCHANGEADDR_error: break; } if (io->size < 0 || + io->size > pf_ioctl_maxcount || WOULD_OVERFLOW(io->size, sizeof(struct pfioc_trans_e))) { error = EINVAL; break; @@ -3112,6 +3123,7 @@ DIOCCHANGEADDR_error: break; } if (io->size < 0 || + io->size > pf_ioctl_maxcount || WOULD_OVERFLOW(io->size, sizeof(struct pfioc_trans_e))) { error = EINVAL; break; @@ -3189,6 +3201,7 @@ DIOCCHANGEADDR_error: } if (io->size < 0 || + io->size > pf_ioctl_maxcount || WOULD_OVERFLOW(io->size, sizeof(struct pfioc_trans_e))) { error = EINVAL; break; @@ -3407,6 +3420,7 @@ DIOCCHANGEADDR_error: } if (io->pfiio_size < 0 || + io->pfiio_size > pf_ioctl_maxcount || WOULD_OVERFLOW(io->pfiio_size, sizeof(struct pfi_kif))) { error = EINVAL; break; From owner-svn-src-all@freebsd.org Thu Mar 19 16:41:30 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CBA2D263F1E; Thu, 19 Mar 2020 16:41:30 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jt2y45dFz4bff; Thu, 19 Mar 2020 16:41:30 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7625ADDDE; Thu, 19 Mar 2020 16:41:30 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JGfUXm023298; Thu, 19 Mar 2020 16:41:30 GMT (envelope-from gordon@FreeBSD.org) Received: (from gordon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JGfTr2023294; Thu, 19 Mar 2020 16:41:29 GMT (envelope-from gordon@FreeBSD.org) Message-Id: <202003191641.02JGfTr2023294@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gordon set sender to gordon@FreeBSD.org using -f From: Gordon Tetlow Date: Thu, 19 Mar 2020 16:41:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r359136 - in releng/12.1/sys: dev/mlx5/mlx5_en netinet netinet6 sys X-SVN-Group: releng X-SVN-Commit-Author: gordon X-SVN-Commit-Paths: in releng/12.1/sys: dev/mlx5/mlx5_en netinet netinet6 sys X-SVN-Commit-Revision: 359136 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 16:41:30 -0000 Author: gordon Date: Thu Mar 19 16:41:29 2020 New Revision: 359136 URL: https://svnweb.freebsd.org/changeset/base/359136 Log: Fix packet forwarding performance in mlx5en(4) driver. Approved by: so Security: FreeBSD-EN-20:05.mlx5en Modified: releng/12.1/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c releng/12.1/sys/netinet/ip_output.c releng/12.1/sys/netinet6/ip6_output.c releng/12.1/sys/sys/mbuf.h Modified: releng/12.1/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c ============================================================================== --- releng/12.1/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Thu Mar 19 16:35:15 2020 (r359135) +++ releng/12.1/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Thu Mar 19 16:41:29 2020 (r359136) @@ -609,7 +609,8 @@ mlx5e_xmit(struct ifnet *ifp, struct mbuf *mb) struct mlx5e_sq *sq; int ret; - if (mb->m_pkthdr.snd_tag != NULL) { + if ((mb->m_pkthdr.csum_flags & CSUM_SND_TAG) != 0 && + (mb->m_pkthdr.snd_tag != NULL)) { sq = mlx5e_select_queue_by_send_tag(ifp, mb); if (unlikely(sq == NULL)) { /* Check for route change */ Modified: releng/12.1/sys/netinet/ip_output.c ============================================================================== --- releng/12.1/sys/netinet/ip_output.c Thu Mar 19 16:35:15 2020 (r359135) +++ releng/12.1/sys/netinet/ip_output.c Thu Mar 19 16:41:29 2020 (r359136) @@ -653,6 +653,7 @@ sendit: in_pcboutput_txrtlmt(inp, ifp, m); /* stamp send tag on mbuf */ m->m_pkthdr.snd_tag = inp->inp_snd_tag; + m->m_pkthdr.csum_flags |= CSUM_SND_TAG; } else { m->m_pkthdr.snd_tag = NULL; } @@ -705,6 +706,7 @@ sendit: in_pcboutput_txrtlmt(inp, ifp, m); /* stamp send tag on mbuf */ m->m_pkthdr.snd_tag = inp->inp_snd_tag; + m->m_pkthdr.csum_flags |= CSUM_SND_TAG; } else { m->m_pkthdr.snd_tag = NULL; } Modified: releng/12.1/sys/netinet6/ip6_output.c ============================================================================== --- releng/12.1/sys/netinet6/ip6_output.c Thu Mar 19 16:35:15 2020 (r359135) +++ releng/12.1/sys/netinet6/ip6_output.c Thu Mar 19 16:41:29 2020 (r359136) @@ -966,6 +966,7 @@ passout: in_pcboutput_txrtlmt(inp, ifp, m); /* stamp send tag on mbuf */ m->m_pkthdr.snd_tag = inp->inp_snd_tag; + m->m_pkthdr.csum_flags |= CSUM_SND_TAG; } else { m->m_pkthdr.snd_tag = NULL; } @@ -1081,6 +1082,7 @@ sendorfree: in_pcboutput_txrtlmt(inp, ifp, m); /* stamp send tag on mbuf */ m->m_pkthdr.snd_tag = inp->inp_snd_tag; + m->m_pkthdr.csum_flags |= CSUM_SND_TAG; } else { m->m_pkthdr.snd_tag = NULL; } Modified: releng/12.1/sys/sys/mbuf.h ============================================================================== --- releng/12.1/sys/sys/mbuf.h Thu Mar 19 16:35:15 2020 (r359135) +++ releng/12.1/sys/sys/mbuf.h Thu Mar 19 16:41:29 2020 (r359136) @@ -519,6 +519,8 @@ struct mbuf { #define CSUM_L5_VALID 0x20000000 /* checksum is correct */ #define CSUM_COALESCED 0x40000000 /* contains merged segments */ +#define CSUM_SND_TAG 0x80000000 /* Packet header has send tag */ + /* * CSUM flag description for use with printf(9) %b identifier. */ @@ -528,7 +530,7 @@ struct mbuf { "\12CSUM_IP6_UDP\13CSUM_IP6_TCP\14CSUM_IP6_SCTP\15CSUM_IP6_TSO" \ "\16CSUM_IP6_ISCSI" \ "\31CSUM_L3_CALC\32CSUM_L3_VALID\33CSUM_L4_CALC\34CSUM_L4_VALID" \ - "\35CSUM_L5_CALC\36CSUM_L5_VALID\37CSUM_COALESCED" + "\35CSUM_L5_CALC\36CSUM_L5_VALID\37CSUM_COALESCED\40CSUM_SND_TAG" /* CSUM flags compatibility mappings. */ #define CSUM_IP_CHECKED CSUM_L3_CALC From owner-svn-src-all@freebsd.org Thu Mar 19 16:43:39 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 18625263FEA; Thu, 19 Mar 2020 16:43:39 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jt5Q4Ljnz3D38; Thu, 19 Mar 2020 16:43:38 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 51743DF49; Thu, 19 Mar 2020 16:43:38 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JGhcjF024147; Thu, 19 Mar 2020 16:43:38 GMT (envelope-from gordon@FreeBSD.org) Received: (from gordon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JGhc7J024145; Thu, 19 Mar 2020 16:43:38 GMT (envelope-from gordon@FreeBSD.org) Message-Id: <202003191643.02JGhc7J024145@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gordon set sender to gordon@FreeBSD.org using -f From: Gordon Tetlow Date: Thu, 19 Mar 2020 16:43:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r359137 - in releng: 11.3/sys/netinet6 12.1/sys/netinet6 X-SVN-Group: releng X-SVN-Commit-Author: gordon X-SVN-Commit-Paths: in releng: 11.3/sys/netinet6 12.1/sys/netinet6 X-SVN-Commit-Revision: 359137 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 16:43:39 -0000 Author: gordon Date: Thu Mar 19 16:43:37 2020 New Revision: 359137 URL: https://svnweb.freebsd.org/changeset/base/359137 Log: Fix incorrect checksum calculations with IPv6 extension headers. Approved by: so Security: FreeBSD-EN-20:06.ipv6 Modified: releng/11.3/sys/netinet6/ip6_output.c releng/12.1/sys/netinet6/ip6_output.c Modified: releng/11.3/sys/netinet6/ip6_output.c ============================================================================== --- releng/11.3/sys/netinet6/ip6_output.c Thu Mar 19 16:41:29 2020 (r359136) +++ releng/11.3/sys/netinet6/ip6_output.c Thu Mar 19 16:43:37 2020 (r359137) @@ -206,6 +206,36 @@ in6_delayed_cksum(struct mbuf *m, uint32_t plen, u_sho *(u_short *)mtodo(m, offset) = csum; } +static int +ip6_output_delayed_csum(struct mbuf *m, struct ifnet *ifp, int csum_flags, + int plen, int optlen, bool frag __unused) +{ + + KASSERT((plen >= optlen), ("%s:%d: plen %d < optlen %d, m %p, ifp %p " + "csum_flags %#x frag %d\n", + __func__, __LINE__, plen, optlen, m, ifp, csum_flags, frag)); + + if ((csum_flags & CSUM_DELAY_DATA_IPV6) || +#ifdef SCTP + (csum_flags & CSUM_SCTP_IPV6) || +#endif + false) { + if (csum_flags & CSUM_DELAY_DATA_IPV6) { + in6_delayed_cksum(m, plen - optlen, + sizeof(struct ip6_hdr) + optlen); + m->m_pkthdr.csum_flags &= ~CSUM_DELAY_DATA_IPV6; + } +#ifdef SCTP + if (csum_flags & CSUM_SCTP_IPV6) { + sctp_delayed_cksum(m, sizeof(struct ip6_hdr) + optlen); + m->m_pkthdr.csum_flags &= ~CSUM_SCTP_IPV6; + } +#endif + } + + return (0); +} + int ip6_fragment(struct ifnet *ifp, struct mbuf *m0, int hlen, u_char nextproto, int mtu, uint32_t id) @@ -908,17 +938,10 @@ passout: * XXX-BZ Need a framework to know when the NIC can handle it, even * with ext. hdrs. */ - if (sw_csum & CSUM_DELAY_DATA_IPV6) { - sw_csum &= ~CSUM_DELAY_DATA_IPV6; - in6_delayed_cksum(m, plen, sizeof(struct ip6_hdr)); - } -#ifdef SCTP - if (sw_csum & CSUM_SCTP_IPV6) { - sw_csum &= ~CSUM_SCTP_IPV6; - sctp_delayed_cksum(m, sizeof(struct ip6_hdr)); - } -#endif - m->m_pkthdr.csum_flags &= ifp->if_hwassist; + error = ip6_output_delayed_csum(m, ifp, sw_csum, plen, optlen, false); + if (error != 0) + goto bad; + /* XXX-BZ m->m_pkthdr.csum_flags &= ~ifp->if_hwassist; */ tlen = m->m_pkthdr.len; if ((opt && (opt->ip6po_flags & IP6PO_DONTFRAG)) || tso) @@ -1002,16 +1025,11 @@ passout: * fragmented packets, then do it here. * XXX-BZ handle the hw offloading case. Need flags. */ - if (m->m_pkthdr.csum_flags & CSUM_DELAY_DATA_IPV6) { - in6_delayed_cksum(m, plen, hlen); - m->m_pkthdr.csum_flags &= ~CSUM_DELAY_DATA_IPV6; - } -#ifdef SCTP - if (m->m_pkthdr.csum_flags & CSUM_SCTP_IPV6) { - sctp_delayed_cksum(m, hlen); - m->m_pkthdr.csum_flags &= ~CSUM_SCTP_IPV6; - } -#endif + error = ip6_output_delayed_csum(m, ifp, m->m_pkthdr.csum_flags, + plen, optlen, true); + if (error != 0) + goto bad; + /* * Change the next header field of the last header in the * unfragmentable part. Modified: releng/12.1/sys/netinet6/ip6_output.c ============================================================================== --- releng/12.1/sys/netinet6/ip6_output.c Thu Mar 19 16:41:29 2020 (r359136) +++ releng/12.1/sys/netinet6/ip6_output.c Thu Mar 19 16:43:37 2020 (r359137) @@ -205,6 +205,36 @@ in6_delayed_cksum(struct mbuf *m, uint32_t plen, u_sho *(u_short *)mtodo(m, offset) = csum; } +static int +ip6_output_delayed_csum(struct mbuf *m, struct ifnet *ifp, int csum_flags, + int plen, int optlen, bool frag __unused) +{ + + KASSERT((plen >= optlen), ("%s:%d: plen %d < optlen %d, m %p, ifp %p " + "csum_flags %#x frag %d\n", + __func__, __LINE__, plen, optlen, m, ifp, csum_flags, frag)); + + if ((csum_flags & CSUM_DELAY_DATA_IPV6) || +#ifdef SCTP + (csum_flags & CSUM_SCTP_IPV6) || +#endif + false) { + if (csum_flags & CSUM_DELAY_DATA_IPV6) { + in6_delayed_cksum(m, plen - optlen, + sizeof(struct ip6_hdr) + optlen); + m->m_pkthdr.csum_flags &= ~CSUM_DELAY_DATA_IPV6; + } +#ifdef SCTP + if (csum_flags & CSUM_SCTP_IPV6) { + sctp_delayed_cksum(m, sizeof(struct ip6_hdr) + optlen); + m->m_pkthdr.csum_flags &= ~CSUM_SCTP_IPV6; + } +#endif + } + + return (0); +} + int ip6_fragment(struct ifnet *ifp, struct mbuf *m0, int hlen, u_char nextproto, int fraglen , uint32_t id) @@ -908,17 +938,10 @@ passout: * XXX-BZ Need a framework to know when the NIC can handle it, even * with ext. hdrs. */ - if (sw_csum & CSUM_DELAY_DATA_IPV6) { - sw_csum &= ~CSUM_DELAY_DATA_IPV6; - in6_delayed_cksum(m, plen, sizeof(struct ip6_hdr)); - } -#ifdef SCTP - if (sw_csum & CSUM_SCTP_IPV6) { - sw_csum &= ~CSUM_SCTP_IPV6; - sctp_delayed_cksum(m, sizeof(struct ip6_hdr)); - } -#endif - m->m_pkthdr.csum_flags &= ifp->if_hwassist; + error = ip6_output_delayed_csum(m, ifp, sw_csum, plen, optlen, false); + if (error != 0) + goto bad; + /* XXX-BZ m->m_pkthdr.csum_flags &= ~ifp->if_hwassist; */ tlen = m->m_pkthdr.len; if ((opt && (opt->ip6po_flags & IP6PO_DONTFRAG)) || tso) @@ -1018,16 +1041,11 @@ passout: * fragmented packets, then do it here. * XXX-BZ handle the hw offloading case. Need flags. */ - if (m->m_pkthdr.csum_flags & CSUM_DELAY_DATA_IPV6) { - in6_delayed_cksum(m, plen, hlen); - m->m_pkthdr.csum_flags &= ~CSUM_DELAY_DATA_IPV6; - } -#ifdef SCTP - if (m->m_pkthdr.csum_flags & CSUM_SCTP_IPV6) { - sctp_delayed_cksum(m, hlen); - m->m_pkthdr.csum_flags &= ~CSUM_SCTP_IPV6; - } -#endif + error = ip6_output_delayed_csum(m, ifp, m->m_pkthdr.csum_flags, + plen, optlen, true); + if (error != 0) + goto bad; + /* * Change the next header field of the last header in the * unfragmentable part. From owner-svn-src-all@freebsd.org Thu Mar 19 16:46:02 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D5855264073; Thu, 19 Mar 2020 16:46:02 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jt8B4BDhz3Kgw; Thu, 19 Mar 2020 16:46:02 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7036BDF4A; Thu, 19 Mar 2020 16:46:02 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JGk2wx024331; Thu, 19 Mar 2020 16:46:02 GMT (envelope-from gordon@FreeBSD.org) Received: (from gordon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JGk2MG024329; Thu, 19 Mar 2020 16:46:02 GMT (envelope-from gordon@FreeBSD.org) Message-Id: <202003191646.02JGk2MG024329@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gordon set sender to gordon@FreeBSD.org using -f From: Gordon Tetlow Date: Thu, 19 Mar 2020 16:46:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r359138 - in releng: 11.3/sys/netinet 12.1/sys/netinet X-SVN-Group: releng X-SVN-Commit-Author: gordon X-SVN-Commit-Paths: in releng: 11.3/sys/netinet 12.1/sys/netinet X-SVN-Commit-Revision: 359138 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 16:46:02 -0000 Author: gordon Date: Thu Mar 19 16:46:01 2020 New Revision: 359138 URL: https://svnweb.freebsd.org/changeset/base/359138 Log: Fix TCP IPv6 SYN cache kernel information disclosure. Approved by: so Security: FreeBSD-SA-20:04.tcp Security: CVE-2020-7451 Modified: releng/11.3/sys/netinet/tcp_syncache.c releng/12.1/sys/netinet/tcp_syncache.c Modified: releng/11.3/sys/netinet/tcp_syncache.c ============================================================================== --- releng/11.3/sys/netinet/tcp_syncache.c Thu Mar 19 16:43:37 2020 (r359137) +++ releng/11.3/sys/netinet/tcp_syncache.c Thu Mar 19 16:46:01 2020 (r359138) @@ -1679,7 +1679,8 @@ syncache_respond(struct syncache *sc, struct syncache_ ip6->ip6_dst = sc->sc_inc.inc6_faddr; ip6->ip6_plen = htons(tlen - hlen); /* ip6_hlim is set after checksum */ - ip6->ip6_flow &= ~IPV6_FLOWLABEL_MASK; + /* Zero out traffic class and flow label. */ + ip6->ip6_flow &= ~IPV6_FLOWINFO_MASK; ip6->ip6_flow |= sc->sc_flowlabel; th = (struct tcphdr *)(ip6 + 1); Modified: releng/12.1/sys/netinet/tcp_syncache.c ============================================================================== --- releng/12.1/sys/netinet/tcp_syncache.c Thu Mar 19 16:43:37 2020 (r359137) +++ releng/12.1/sys/netinet/tcp_syncache.c Thu Mar 19 16:46:01 2020 (r359138) @@ -1728,7 +1728,8 @@ syncache_respond(struct syncache *sc, struct syncache_ ip6->ip6_dst = sc->sc_inc.inc6_faddr; ip6->ip6_plen = htons(tlen - hlen); /* ip6_hlim is set after checksum */ - ip6->ip6_flow &= ~IPV6_FLOWLABEL_MASK; + /* Zero out traffic class and flow label. */ + ip6->ip6_flow &= ~IPV6_FLOWINFO_MASK; ip6->ip6_flow |= sc->sc_flowlabel; th = (struct tcphdr *)(ip6 + 1); From owner-svn-src-all@freebsd.org Thu Mar 19 16:48:30 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A98F2264100; Thu, 19 Mar 2020 16:48:30 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jtC23Mx3z3RM0; Thu, 19 Mar 2020 16:48:30 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 38BB6DF4B; Thu, 19 Mar 2020 16:48:30 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JGmT2T024511; Thu, 19 Mar 2020 16:48:29 GMT (envelope-from gordon@FreeBSD.org) Received: (from gordon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JGmT6p024507; Thu, 19 Mar 2020 16:48:29 GMT (envelope-from gordon@FreeBSD.org) Message-Id: <202003191648.02JGmT6p024507@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gordon set sender to gordon@FreeBSD.org using -f From: Gordon Tetlow Date: Thu, 19 Mar 2020 16:48:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r359139 - in releng: 11.3/sys/dev/oce 12.1/sys/dev/oce X-SVN-Group: releng X-SVN-Commit-Author: gordon X-SVN-Commit-Paths: in releng: 11.3/sys/dev/oce 12.1/sys/dev/oce X-SVN-Commit-Revision: 359139 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 16:48:30 -0000 Author: gordon Date: Thu Mar 19 16:48:29 2020 New Revision: 359139 URL: https://svnweb.freebsd.org/changeset/base/359139 Log: Fix insufficient oce(4) ioctl(2) privilege checking. Approved by: so Security: FreeBSD-SA-20:05.if_oce_ioctl Security: CVE-2019-15876 Modified: releng/11.3/sys/dev/oce/oce_if.c releng/11.3/sys/dev/oce/oce_if.h releng/12.1/sys/dev/oce/oce_if.c releng/12.1/sys/dev/oce/oce_if.h Modified: releng/11.3/sys/dev/oce/oce_if.c ============================================================================== --- releng/11.3/sys/dev/oce/oce_if.c Thu Mar 19 16:46:01 2020 (r359138) +++ releng/11.3/sys/dev/oce/oce_if.c Thu Mar 19 16:48:29 2020 (r359139) @@ -616,6 +616,9 @@ oce_ioctl(struct ifnet *ifp, u_long command, caddr_t d break; case SIOCGPRIVATE_0: + rc = priv_check(curthread, PRIV_DRIVER); + if (rc != 0) + break; rc = oce_handle_passthrough(ifp, data); break; default: Modified: releng/11.3/sys/dev/oce/oce_if.h ============================================================================== --- releng/11.3/sys/dev/oce/oce_if.h Thu Mar 19 16:46:01 2020 (r359138) +++ releng/11.3/sys/dev/oce/oce_if.h Thu Mar 19 16:48:29 2020 (r359139) @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include Modified: releng/12.1/sys/dev/oce/oce_if.c ============================================================================== --- releng/12.1/sys/dev/oce/oce_if.c Thu Mar 19 16:46:01 2020 (r359138) +++ releng/12.1/sys/dev/oce/oce_if.c Thu Mar 19 16:48:29 2020 (r359139) @@ -621,6 +621,9 @@ oce_ioctl(struct ifnet *ifp, u_long command, caddr_t d break; case SIOCGPRIVATE_0: + rc = priv_check(curthread, PRIV_DRIVER); + if (rc != 0) + break; rc = oce_handle_passthrough(ifp, data); break; default: Modified: releng/12.1/sys/dev/oce/oce_if.h ============================================================================== --- releng/12.1/sys/dev/oce/oce_if.h Thu Mar 19 16:46:01 2020 (r359138) +++ releng/12.1/sys/dev/oce/oce_if.h Thu Mar 19 16:48:29 2020 (r359139) @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include From owner-svn-src-all@freebsd.org Thu Mar 19 16:49:34 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 658E7264172; Thu, 19 Mar 2020 16:49:34 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jtDF2V54z3yyh; Thu, 19 Mar 2020 16:49:33 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 35AB2DF4C; Thu, 19 Mar 2020 16:49:33 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JGnX7r024600; Thu, 19 Mar 2020 16:49:33 GMT (envelope-from gordon@FreeBSD.org) Received: (from gordon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JGnWjd024598; Thu, 19 Mar 2020 16:49:32 GMT (envelope-from gordon@FreeBSD.org) Message-Id: <202003191649.02JGnWjd024598@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gordon set sender to gordon@FreeBSD.org using -f From: Gordon Tetlow Date: Thu, 19 Mar 2020 16:49:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r359140 - releng/12.1/sys/dev/ixl X-SVN-Group: releng X-SVN-Commit-Author: gordon X-SVN-Commit-Paths: releng/12.1/sys/dev/ixl X-SVN-Commit-Revision: 359140 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 16:49:34 -0000 Author: gordon Date: Thu Mar 19 16:49:32 2020 New Revision: 359140 URL: https://svnweb.freebsd.org/changeset/base/359140 Log: Fix insufficient ixl(4) ioctl(2) privilege checking. Approved by: so Security: FreeBSD-SA-20:06.if_ixl_ioctl Security: CVE-2019-15877 Modified: releng/12.1/sys/dev/ixl/if_ixl.c releng/12.1/sys/dev/ixl/ixl.h Modified: releng/12.1/sys/dev/ixl/if_ixl.c ============================================================================== --- releng/12.1/sys/dev/ixl/if_ixl.c Thu Mar 19 16:48:29 2020 (r359139) +++ releng/12.1/sys/dev/ixl/if_ixl.c Thu Mar 19 16:49:32 2020 (r359140) @@ -1625,11 +1625,29 @@ ixl_if_priv_ioctl(if_ctx_t ctx, u_long command, caddr_ struct ifdrv *ifd = (struct ifdrv *)data; int error = 0; - /* NVM update command */ - if (ifd->ifd_cmd == I40E_NVM_ACCESS) - error = ixl_handle_nvmupd_cmd(pf, ifd); - else - error = EINVAL; + /* + * The iflib_if_ioctl forwards SIOCxDRVSPEC and SIOGPRIVATE_0 without + * performing privilege checks. It is important that this function + * perform the necessary checks for commands which should only be + * executed by privileged threads. + */ + + switch(command) { + case SIOCGDRVSPEC: + case SIOCSDRVSPEC: + /* NVM update command */ + if (ifd->ifd_cmd == I40E_NVM_ACCESS) { + error = priv_check(curthread, PRIV_DRIVER); + if (error) + break; + error = ixl_handle_nvmupd_cmd(pf, ifd); + } else { + error = EINVAL; + } + break; + default: + error = EOPNOTSUPP; + } return (error); } Modified: releng/12.1/sys/dev/ixl/ixl.h ============================================================================== --- releng/12.1/sys/dev/ixl/ixl.h Thu Mar 19 16:48:29 2020 (r359139) +++ releng/12.1/sys/dev/ixl/ixl.h Thu Mar 19 16:49:32 2020 (r359140) @@ -52,6 +52,7 @@ #include #include #include +#include #include #include From owner-svn-src-all@freebsd.org Thu Mar 19 16:50:38 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 85B7B2641F1; Thu, 19 Mar 2020 16:50:38 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jtFV0xq8z42Sq; Thu, 19 Mar 2020 16:50:38 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CC536DF5A; Thu, 19 Mar 2020 16:50:37 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JGobew024738; Thu, 19 Mar 2020 16:50:37 GMT (envelope-from gordon@FreeBSD.org) Received: (from gordon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JGoapr024731; Thu, 19 Mar 2020 16:50:36 GMT (envelope-from gordon@FreeBSD.org) Message-Id: <202003191650.02JGoapr024731@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gordon set sender to gordon@FreeBSD.org using -f From: Gordon Tetlow Date: Thu, 19 Mar 2020 16:50:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r359141 - in releng: 11.3/sys/net 12.1/sys/net X-SVN-Group: releng X-SVN-Commit-Author: gordon X-SVN-Commit-Paths: in releng: 11.3/sys/net 12.1/sys/net X-SVN-Commit-Revision: 359141 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 16:50:38 -0000 Author: gordon Date: Thu Mar 19 16:50:36 2020 New Revision: 359141 URL: https://svnweb.freebsd.org/changeset/base/359141 Log: Fix incorrect user-controlled pointer use in epair. Approved by: so Security: FreeBSD-SA-20:07.epair Security: CVE-2020-7452 Modified: releng/11.3/sys/net/if_clone.c releng/11.3/sys/net/if_clone.h releng/11.3/sys/net/if_epair.c releng/12.1/sys/net/if_clone.c releng/12.1/sys/net/if_clone.h releng/12.1/sys/net/if_epair.c Modified: releng/11.3/sys/net/if_clone.c ============================================================================== --- releng/11.3/sys/net/if_clone.c Thu Mar 19 16:49:32 2020 (r359140) +++ releng/11.3/sys/net/if_clone.c Thu Mar 19 16:50:36 2020 (r359141) @@ -208,6 +208,17 @@ if_clone_create(char *name, size_t len, caddr_t params return (if_clone_createif(ifc, name, len, params)); } +void +if_clone_addif(struct if_clone *ifc, struct ifnet *ifp) +{ + + if_addgroup(ifp, ifc->ifc_name); + + IF_CLONE_LOCK(ifc); + IFC_IFLIST_INSERT(ifc, ifp); + IF_CLONE_UNLOCK(ifc); +} + /* * Create a clone network interface. */ @@ -230,11 +241,7 @@ if_clone_createif(struct if_clone *ifc, char *name, si if (ifp == NULL) panic("%s: lookup failed for %s", __func__, name); - if_addgroup(ifp, ifc->ifc_name); - - IF_CLONE_LOCK(ifc); - IFC_IFLIST_INSERT(ifc, ifp); - IF_CLONE_UNLOCK(ifc); + if_clone_addif(ifc, ifp); } return (err); Modified: releng/11.3/sys/net/if_clone.h ============================================================================== --- releng/11.3/sys/net/if_clone.h Thu Mar 19 16:49:32 2020 (r359140) +++ releng/11.3/sys/net/if_clone.h Thu Mar 19 16:50:36 2020 (r359141) @@ -72,7 +72,8 @@ int if_clone_list(struct if_clonereq *); struct if_clone *if_clone_findifc(struct ifnet *); void if_clone_addgroup(struct ifnet *, struct if_clone *); -/* The below interface used only by epair(4). */ +/* The below interfaces are used only by epair(4). */ +void if_clone_addif(struct if_clone *, struct ifnet *); int if_clone_destroyif(struct if_clone *, struct ifnet *); #endif /* _KERNEL */ Modified: releng/11.3/sys/net/if_epair.c ============================================================================== --- releng/11.3/sys/net/if_epair.c Thu Mar 19 16:49:32 2020 (r359140) +++ releng/11.3/sys/net/if_epair.c Thu Mar 19 16:50:36 2020 (r359141) @@ -704,6 +704,23 @@ epair_clone_match(struct if_clone *ifc, const char *na return (1); } +static void +epair_clone_add(struct if_clone *ifc, struct epair_softc *scb) +{ + struct ifnet *ifp; + uint8_t eaddr[ETHER_ADDR_LEN]; /* 00:00:00:00:00:00 */ + + ifp = scb->ifp; + /* Assign a hopefully unique, locally administered etheraddr. */ + eaddr[0] = 0x02; + eaddr[3] = (ifp->if_index >> 8) & 0xff; + eaddr[4] = ifp->if_index & 0xff; + eaddr[5] = 0x0b; + ether_ifattach(ifp, eaddr); + + if_clone_addif(ifc, ifp); +} + static int epair_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params) { @@ -713,26 +730,6 @@ epair_clone_create(struct if_clone *ifc, char *name, s int error, unit, wildcard; uint8_t eaddr[ETHER_ADDR_LEN]; /* 00:00:00:00:00:00 */ - /* - * We are abusing params to create our second interface. - * Actually we already created it and called if_clone_create() - * for it to do the official insertion procedure the moment we knew - * it cannot fail anymore. So just do attach it here. - */ - if (params) { - scb = (struct epair_softc *)params; - ifp = scb->ifp; - /* Assign a hopefully unique, locally administered etheraddr. */ - eaddr[0] = 0x02; - eaddr[3] = (ifp->if_index >> 8) & 0xff; - eaddr[4] = ifp->if_index & 0xff; - eaddr[5] = 0x0b; - ether_ifattach(ifp, eaddr); - /* Correctly set the name for the cloner list. */ - strlcpy(name, scb->ifp->if_xname, len); - return (0); - } - /* Try to see if a special unit was requested. */ error = ifc_name2unit(name, &unit); if (error != 0) @@ -860,10 +857,11 @@ epair_clone_create(struct if_clone *ifc, char *name, s ifp->if_snd.ifq_maxlen = ifqmaxlen; /* We need to play some tricks here for the second interface. */ strlcpy(name, epairname, len); - error = if_clone_create(name, len, (caddr_t)scb); - if (error) - panic("%s: if_clone_create() for our 2nd iface failed: %d", - __func__, error); + + /* Correctly set the name for the cloner list. */ + strlcpy(name, scb->ifp->if_xname, len); + epair_clone_add(ifc, scb); + scb->if_qflush = ifp->if_qflush; ifp->if_qflush = epair_qflush; ifp->if_transmit = epair_transmit; Modified: releng/12.1/sys/net/if_clone.c ============================================================================== --- releng/12.1/sys/net/if_clone.c Thu Mar 19 16:49:32 2020 (r359140) +++ releng/12.1/sys/net/if_clone.c Thu Mar 19 16:50:36 2020 (r359141) @@ -211,6 +211,18 @@ if_clone_create(char *name, size_t len, caddr_t params return (if_clone_createif(ifc, name, len, params)); } +void +if_clone_addif(struct if_clone *ifc, struct ifnet *ifp) +{ + + if ((ifc->ifc_flags & IFC_NOGROUP) == 0) + if_addgroup(ifp, ifc->ifc_name); + + IF_CLONE_LOCK(ifc); + IFC_IFLIST_INSERT(ifc, ifp); + IF_CLONE_UNLOCK(ifc); +} + /* * Create a clone network interface. */ @@ -233,12 +245,7 @@ if_clone_createif(struct if_clone *ifc, char *name, si if (ifp == NULL) panic("%s: lookup failed for %s", __func__, name); - if ((ifc->ifc_flags & IFC_NOGROUP) == 0) - if_addgroup(ifp, ifc->ifc_name); - - IF_CLONE_LOCK(ifc); - IFC_IFLIST_INSERT(ifc, ifp); - IF_CLONE_UNLOCK(ifc); + if_clone_addif(ifc, ifp); } return (err); Modified: releng/12.1/sys/net/if_clone.h ============================================================================== --- releng/12.1/sys/net/if_clone.h Thu Mar 19 16:49:32 2020 (r359140) +++ releng/12.1/sys/net/if_clone.h Thu Mar 19 16:50:36 2020 (r359141) @@ -79,7 +79,8 @@ int if_clone_list(struct if_clonereq *); struct if_clone *if_clone_findifc(struct ifnet *); void if_clone_addgroup(struct ifnet *, struct if_clone *); -/* The below interface used only by epair(4). */ +/* The below interfaces are used only by epair(4). */ +void if_clone_addif(struct if_clone *, struct ifnet *); int if_clone_destroyif(struct if_clone *, struct ifnet *); #endif /* _KERNEL */ Modified: releng/12.1/sys/net/if_epair.c ============================================================================== --- releng/12.1/sys/net/if_epair.c Thu Mar 19 16:49:32 2020 (r359140) +++ releng/12.1/sys/net/if_epair.c Thu Mar 19 16:50:36 2020 (r359141) @@ -711,6 +711,21 @@ epair_clone_match(struct if_clone *ifc, const char *na return (1); } +static void +epair_clone_add(struct if_clone *ifc, struct epair_softc *scb) +{ + struct ifnet *ifp; + uint8_t eaddr[ETHER_ADDR_LEN]; /* 00:00:00:00:00:00 */ + + ifp = scb->ifp; + /* Copy epairNa etheraddr and change the last byte. */ + memcpy(eaddr, scb->oifp->if_hw_addr, ETHER_ADDR_LEN); + eaddr[5] = 0x0b; + ether_ifattach(ifp, eaddr); + + if_clone_addif(ifc, ifp); +} + static int epair_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params) { @@ -723,24 +738,6 @@ epair_clone_create(struct if_clone *ifc, char *name, s uint32_t hash; uint8_t eaddr[ETHER_ADDR_LEN]; /* 00:00:00:00:00:00 */ - /* - * We are abusing params to create our second interface. - * Actually we already created it and called if_clone_create() - * for it to do the official insertion procedure the moment we knew - * it cannot fail anymore. So just do attach it here. - */ - if (params) { - scb = (struct epair_softc *)params; - ifp = scb->ifp; - /* Copy epairNa etheraddr and change the last byte. */ - memcpy(eaddr, scb->oifp->if_hw_addr, ETHER_ADDR_LEN); - eaddr[5] = 0x0b; - ether_ifattach(ifp, eaddr); - /* Correctly set the name for the cloner list. */ - strlcpy(name, ifp->if_xname, len); - return (0); - } - /* Try to see if a special unit was requested. */ error = ifc_name2unit(name, &unit); if (error != 0) @@ -891,10 +888,11 @@ epair_clone_create(struct if_clone *ifc, char *name, s if_setsendqready(ifp); /* We need to play some tricks here for the second interface. */ strlcpy(name, epairname, len); - error = if_clone_create(name, len, (caddr_t)scb); - if (error) - panic("%s: if_clone_create() for our 2nd iface failed: %d", - __func__, error); + + /* Correctly set the name for the cloner list. */ + strlcpy(name, scb->ifp->if_xname, len); + epair_clone_add(ifc, scb); + scb->if_qflush = ifp->if_qflush; ifp->if_qflush = epair_qflush; ifp->if_transmit = epair_transmit; From owner-svn-src-all@freebsd.org Thu Mar 19 16:51:35 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D5CB12643C6; Thu, 19 Mar 2020 16:51:35 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jtGZ2ky0z44d2; Thu, 19 Mar 2020 16:51:34 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 153A0DFB4; Thu, 19 Mar 2020 16:51:34 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JGpXpw025770; Thu, 19 Mar 2020 16:51:33 GMT (envelope-from gordon@FreeBSD.org) Received: (from gordon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JGpX9E025769; Thu, 19 Mar 2020 16:51:33 GMT (envelope-from gordon@FreeBSD.org) Message-Id: <202003191651.02JGpX9E025769@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gordon set sender to gordon@FreeBSD.org using -f From: Gordon Tetlow Date: Thu, 19 Mar 2020 16:51:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r359142 - in releng: 11.3/sys/kern 12.1/sys/kern X-SVN-Group: releng X-SVN-Commit-Author: gordon X-SVN-Commit-Paths: in releng: 11.3/sys/kern 12.1/sys/kern X-SVN-Commit-Revision: 359142 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 16:51:35 -0000 Author: gordon Date: Thu Mar 19 16:51:33 2020 New Revision: 359142 URL: https://svnweb.freebsd.org/changeset/base/359142 Log: Fix kernel memory disclosure with nested jails. Approved by: so Security: FreeBSD-SA-20:08.jail Security: CVE-2020-7453 Modified: releng/11.3/sys/kern/kern_jail.c releng/12.1/sys/kern/kern_jail.c Modified: releng/11.3/sys/kern/kern_jail.c ============================================================================== --- releng/11.3/sys/kern/kern_jail.c Thu Mar 19 16:50:36 2020 (r359141) +++ releng/11.3/sys/kern/kern_jail.c Thu Mar 19 16:51:33 2020 (r359142) @@ -881,8 +881,12 @@ kern_jail_set(struct thread *td, struct uio *optuio, i "osrelease cannot be changed after creation"); goto done_errmsg; } - if (len == 0 || len >= OSRELEASELEN) { + if (len == 0 || osrelstr[len - 1] != '\0') { error = EINVAL; + goto done_free; + } + if (len >= OSRELEASELEN) { + error = ENAMETOOLONG; vfs_opterror(opts, "osrelease string must be 1-%d bytes long", OSRELEASELEN - 1); @@ -1272,9 +1276,11 @@ kern_jail_set(struct thread *td, struct uio *optuio, i pr->pr_osreldate = osreldt ? osreldt : ppr->pr_osreldate; if (osrelstr == NULL) - strcpy(pr->pr_osrelease, ppr->pr_osrelease); + strlcpy(pr->pr_osrelease, ppr->pr_osrelease, + sizeof(pr->pr_osrelease)); else - strcpy(pr->pr_osrelease, osrelstr); + strlcpy(pr->pr_osrelease, osrelstr, + sizeof(pr->pr_osrelease)); LIST_INIT(&pr->pr_children); mtx_init(&pr->pr_mtx, "jail mutex", NULL, MTX_DEF | MTX_DUPOK); Modified: releng/12.1/sys/kern/kern_jail.c ============================================================================== --- releng/12.1/sys/kern/kern_jail.c Thu Mar 19 16:50:36 2020 (r359141) +++ releng/12.1/sys/kern/kern_jail.c Thu Mar 19 16:51:33 2020 (r359142) @@ -862,8 +862,12 @@ kern_jail_set(struct thread *td, struct uio *optuio, i "osrelease cannot be changed after creation"); goto done_errmsg; } - if (len == 0 || len >= OSRELEASELEN) { + if (len == 0 || osrelstr[len - 1] != '\0') { error = EINVAL; + goto done_free; + } + if (len >= OSRELEASELEN) { + error = ENAMETOOLONG; vfs_opterror(opts, "osrelease string must be 1-%d bytes long", OSRELEASELEN - 1); @@ -1253,9 +1257,11 @@ kern_jail_set(struct thread *td, struct uio *optuio, i pr->pr_osreldate = osreldt ? osreldt : ppr->pr_osreldate; if (osrelstr == NULL) - strcpy(pr->pr_osrelease, ppr->pr_osrelease); + strlcpy(pr->pr_osrelease, ppr->pr_osrelease, + sizeof(pr->pr_osrelease)); else - strcpy(pr->pr_osrelease, osrelstr); + strlcpy(pr->pr_osrelease, osrelstr, + sizeof(pr->pr_osrelease)); LIST_INIT(&pr->pr_children); mtx_init(&pr->pr_mtx, "jail mutex", NULL, MTX_DEF | MTX_DUPOK); From owner-svn-src-all@freebsd.org Thu Mar 19 16:51:58 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EFFDC264411; Thu, 19 Mar 2020 16:51:58 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jtH25DB3z45dC; Thu, 19 Mar 2020 16:51:58 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9512CE0D5; Thu, 19 Mar 2020 16:51:58 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JGpwAE029637; Thu, 19 Mar 2020 16:51:58 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JGpwea029635; Thu, 19 Mar 2020 16:51:58 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <202003191651.02JGpwea029635@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Thu, 19 Mar 2020 16:51:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359143 - in stable/12/stand: efi/loader i386/libi386 X-SVN-Group: stable-12 X-SVN-Commit-Author: tsoome X-SVN-Commit-Paths: in stable/12/stand: efi/loader i386/libi386 X-SVN-Commit-Revision: 359143 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 16:51:59 -0000 Author: tsoome Date: Thu Mar 19 16:51:57 2020 New Revision: 359143 URL: https://svnweb.freebsd.org/changeset/base/359143 Log: MFC r354240, r354252, r358906 libi386/comconsole.c updates: We don't support configuring serial PCI cards in EFI. Make this clearer in the source rather than obfuscaring it behind NO_PCI (nothing else declares that, so it's not making the ifdefs clearer). libi386/comconsole.c cstyle cleanup test if port does exist via using scratch register Modified: stable/12/stand/efi/loader/Makefile stable/12/stand/i386/libi386/comconsole.c Directory Properties: stable/12/ (props changed) Modified: stable/12/stand/efi/loader/Makefile ============================================================================== --- stable/12/stand/efi/loader/Makefile Thu Mar 19 16:51:33 2020 (r359142) +++ stable/12/stand/efi/loader/Makefile Thu Mar 19 16:51:57 2020 (r359143) @@ -55,7 +55,7 @@ CFLAGS+= -I${EFISRC}/include CFLAGS+= -I${EFISRC}/include/${MACHINE} CFLAGS+= -I${SYSDIR}/contrib/dev/acpica/include CFLAGS+= -I${BOOTSRC}/i386/libi386 -CFLAGS+= -DNO_PCI -DEFI +CFLAGS+= -DEFI .if !defined(BOOT_HIDE_SERIAL_NUMBERS) # Export serial numbers, UUID, and asset tag from loader. Modified: stable/12/stand/i386/libi386/comconsole.c ============================================================================== --- stable/12/stand/i386/libi386/comconsole.c Thu Mar 19 16:51:33 2020 (r359142) +++ stable/12/stand/i386/libi386/comconsole.c Thu Mar 19 16:51:57 2020 (r359143) @@ -67,144 +67,144 @@ static int comc_port = COMPORT; static uint32_t comc_locator; struct console comconsole = { - "comconsole", - "serial port", - 0, - comc_probe, - comc_init, - comc_putchar, - comc_getchar, - comc_ischar + .c_name = "comconsole", + .c_desc = "serial port", + .c_flags = 0, + .c_probe = comc_probe, + .c_init = comc_init, + .c_out = comc_putchar, + .c_in = comc_getchar, + .c_ready = comc_ischar }; static void comc_probe(struct console *cp) { - char intbuf[16]; - char *cons, *env; - int speed, port; - uint32_t locator; + char intbuf[16]; + char *cons, *env; + int speed, port; + uint32_t locator; - if (comc_curspeed == 0) { - comc_curspeed = COMSPEED; - /* - * Assume that the speed was set by an earlier boot loader if - * comconsole is already the preferred console. - */ - cons = getenv("console"); - if ((cons != NULL && strcmp(cons, comconsole.c_name) == 0) || - getenv("boot_multicons") != NULL) { - comc_curspeed = comc_getspeed(); - } + if (comc_curspeed == 0) { + comc_curspeed = COMSPEED; + /* + * Assume that the speed was set by an earlier boot loader if + * comconsole is already the preferred console. + */ + cons = getenv("console"); + if ((cons != NULL && strcmp(cons, comconsole.c_name) == 0) || + getenv("boot_multicons") != NULL) { + comc_curspeed = comc_getspeed(); + } - env = getenv("comconsole_speed"); - if (env != NULL) { - speed = comc_parseint(env); - if (speed > 0) - comc_curspeed = speed; - } + env = getenv("comconsole_speed"); + if (env != NULL) { + speed = comc_parseint(env); + if (speed > 0) + comc_curspeed = speed; + } - sprintf(intbuf, "%d", comc_curspeed); - unsetenv("comconsole_speed"); - env_setenv("comconsole_speed", EV_VOLATILE, intbuf, comc_speed_set, - env_nounset); + sprintf(intbuf, "%d", comc_curspeed); + unsetenv("comconsole_speed"); + env_setenv("comconsole_speed", EV_VOLATILE, intbuf, + comc_speed_set, env_nounset); - env = getenv("comconsole_port"); - if (env != NULL) { - port = comc_parseint(env); - if (port > 0) - comc_port = port; - } + env = getenv("comconsole_port"); + if (env != NULL) { + port = comc_parseint(env); + if (port > 0) + comc_port = port; + } - sprintf(intbuf, "%d", comc_port); - unsetenv("comconsole_port"); - env_setenv("comconsole_port", EV_VOLATILE, intbuf, comc_port_set, - env_nounset); + sprintf(intbuf, "%d", comc_port); + unsetenv("comconsole_port"); + env_setenv("comconsole_port", EV_VOLATILE, intbuf, + comc_port_set, env_nounset); - env = getenv("comconsole_pcidev"); - if (env != NULL) { - locator = comc_parse_pcidev(env); - if (locator != 0) - comc_pcidev_handle(locator); - } + env = getenv("comconsole_pcidev"); + if (env != NULL) { + locator = comc_parse_pcidev(env); + if (locator != 0) + comc_pcidev_handle(locator); + } - unsetenv("comconsole_pcidev"); - env_setenv("comconsole_pcidev", EV_VOLATILE, env, comc_pcidev_set, - env_nounset); - } - comc_setup(comc_curspeed, comc_port); + unsetenv("comconsole_pcidev"); + env_setenv("comconsole_pcidev", EV_VOLATILE, env, + comc_pcidev_set, env_nounset); + } + comc_setup(comc_curspeed, comc_port); } static int comc_init(int arg) { - comc_setup(comc_curspeed, comc_port); + comc_setup(comc_curspeed, comc_port); - if ((comconsole.c_flags & (C_PRESENTIN | C_PRESENTOUT)) == - (C_PRESENTIN | C_PRESENTOUT)) - return (CMD_OK); - return (CMD_ERROR); + if ((comconsole.c_flags & (C_PRESENTIN | C_PRESENTOUT)) == + (C_PRESENTIN | C_PRESENTOUT)) + return (CMD_OK); + return (CMD_ERROR); } static void comc_putchar(int c) { - int wait; + int wait; - for (wait = COMC_TXWAIT; wait > 0; wait--) - if (inb(comc_port + com_lsr) & LSR_TXRDY) { - outb(comc_port + com_data, (u_char)c); - break; - } + for (wait = COMC_TXWAIT; wait > 0; wait--) + if (inb(comc_port + com_lsr) & LSR_TXRDY) { + outb(comc_port + com_data, (u_char)c); + break; + } } static int comc_getchar(void) { - return (comc_ischar() ? inb(comc_port + com_data) : -1); + return (comc_ischar() ? inb(comc_port + com_data) : -1); } static int comc_ischar(void) { - return (inb(comc_port + com_lsr) & LSR_RXRDY); + return (inb(comc_port + com_lsr) & LSR_RXRDY); } static int comc_speed_set(struct env_var *ev, int flags, const void *value) { - int speed; + int speed; - if (value == NULL || (speed = comc_parseint(value)) <= 0) { - printf("Invalid speed\n"); - return (CMD_ERROR); - } + if (value == NULL || (speed = comc_parseint(value)) <= 0) { + printf("Invalid speed\n"); + return (CMD_ERROR); + } - if (comc_curspeed != speed) - comc_setup(speed, comc_port); + if (comc_curspeed != speed) + comc_setup(speed, comc_port); - env_setenv(ev->ev_name, flags | EV_NOHOOK, value, NULL, NULL); + env_setenv(ev->ev_name, flags | EV_NOHOOK, value, NULL, NULL); - return (CMD_OK); + return (CMD_OK); } static int comc_port_set(struct env_var *ev, int flags, const void *value) { - int port; + int port; - if (value == NULL || (port = comc_parseint(value)) <= 0) { - printf("Invalid port\n"); - return (CMD_ERROR); - } + if (value == NULL || (port = comc_parseint(value)) <= 0) { + printf("Invalid port\n"); + return (CMD_ERROR); + } - if (comc_port != port) - comc_setup(comc_curspeed, port); + if (comc_port != port) + comc_setup(comc_curspeed, port); - env_setenv(ev->ev_name, flags | EV_NOHOOK, value, NULL, NULL); + env_setenv(ev->ev_name, flags | EV_NOHOOK, value, NULL, NULL); - return (CMD_OK); + return (CMD_OK); } /* @@ -214,7 +214,8 @@ comc_port_set(struct env_var *ev, int flags, const voi static uint32_t comc_parse_pcidev(const char *string) { -#ifdef NO_PCI +#ifdef EFI + /* We don't support PCI in EFI yet */ return (0); #else char *p, *p1; @@ -256,7 +257,8 @@ comc_parse_pcidev(const char *string) static int comc_pcidev_handle(uint32_t locator) { -#ifdef NO_PCI +#ifdef EFI + /* We don't support PCI in EFI yet */ return (CMD_ERROR); #else char intbuf[64]; @@ -318,46 +320,56 @@ comc_pcidev_set(struct env_var *ev, int flags, const v static void comc_setup(int speed, int port) { - static int TRY_COUNT = 1000000; - char intbuf[64]; - int tries; + static int TRY_COUNT = 1000000; + char intbuf[64]; + int tries; - unsetenv("hw.uart.console"); - comc_curspeed = speed; - comc_port = port; - if ((comconsole.c_flags & (C_ACTIVEIN | C_ACTIVEOUT)) == 0) - return; + unsetenv("hw.uart.console"); + comc_curspeed = speed; + comc_port = port; + if ((comconsole.c_flags & (C_ACTIVEIN | C_ACTIVEOUT)) == 0) + return; - outb(comc_port + com_cfcr, CFCR_DLAB | COMC_FMT); - outb(comc_port + com_dlbl, COMC_BPS(speed) & 0xff); - outb(comc_port + com_dlbh, COMC_BPS(speed) >> 8); - outb(comc_port + com_cfcr, COMC_FMT); - outb(comc_port + com_mcr, MCR_RTS | MCR_DTR); +#define COMC_TEST 0xbb + /* + * Write byte to scratch register and read it out. + */ + outb(comc_port + com_scr, COMC_TEST); + if (inb(comc_port + com_scr) != COMC_TEST) { + comconsole.c_flags &= ~(C_PRESENTIN | C_PRESENTOUT); + return; + } - tries = 0; - do - inb(comc_port + com_data); - while (inb(comc_port + com_lsr) & LSR_RXRDY && ++tries < TRY_COUNT); + outb(comc_port + com_cfcr, CFCR_DLAB | COMC_FMT); + outb(comc_port + com_dlbl, COMC_BPS(speed) & 0xff); + outb(comc_port + com_dlbh, COMC_BPS(speed) >> 8); + outb(comc_port + com_cfcr, COMC_FMT); + outb(comc_port + com_mcr, MCR_RTS | MCR_DTR); - if (tries < TRY_COUNT) { - comconsole.c_flags |= (C_PRESENTIN | C_PRESENTOUT); - sprintf(intbuf, "io:%d,br:%d", comc_port, comc_curspeed); - env_setenv("hw.uart.console", EV_VOLATILE, intbuf, NULL, NULL); - } else - comconsole.c_flags &= ~(C_PRESENTIN | C_PRESENTOUT); + tries = 0; + do + inb(comc_port + com_data); + while (inb(comc_port + com_lsr) & LSR_RXRDY && ++tries < TRY_COUNT); + + if (tries < TRY_COUNT) { + comconsole.c_flags |= (C_PRESENTIN | C_PRESENTOUT); + sprintf(intbuf, "io:%d,br:%d", comc_port, comc_curspeed); + env_setenv("hw.uart.console", EV_VOLATILE, intbuf, NULL, NULL); + } else + comconsole.c_flags &= ~(C_PRESENTIN | C_PRESENTOUT); } static int comc_parseint(const char *speedstr) { - char *p; - int speed; + char *p; + int speed; - speed = strtol(speedstr, &p, 0); - if (p == speedstr || *p != '\0' || speed <= 0) - return (-1); + speed = strtol(speedstr, &p, 0); + if (p == speedstr || *p != '\0' || speed <= 0) + return (-1); - return (speed); + return (speed); } static int From owner-svn-src-all@freebsd.org Thu Mar 19 16:55:08 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 62451264584; Thu, 19 Mar 2020 16:55:08 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jtLg2XW9z4F8Q; Thu, 19 Mar 2020 16:55:07 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 41012E112; Thu, 19 Mar 2020 16:55:07 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JGt7G2030587; Thu, 19 Mar 2020 16:55:07 GMT (envelope-from gordon@FreeBSD.org) Received: (from gordon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JGqgYM030442; Thu, 19 Mar 2020 16:52:42 GMT (envelope-from gordon@FreeBSD.org) Message-Id: <202003191652.02JGqgYM030442@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gordon set sender to gordon@FreeBSD.org using -f From: Gordon Tetlow Date: Thu, 19 Mar 2020 16:52:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r359144 - in releng: 11.3/contrib/ntp 11.3/contrib/ntp/html 11.3/contrib/ntp/html/drivers 11.3/contrib/ntp/include 11.3/contrib/ntp/libntp 11.3/contrib/ntp/libparse 11.3/contrib/ntp/ntp... X-SVN-Group: releng X-SVN-Commit-Author: gordon X-SVN-Commit-Paths: in releng: 11.3/contrib/ntp 11.3/contrib/ntp/html 11.3/contrib/ntp/html/drivers 11.3/contrib/ntp/include 11.3/contrib/ntp/libntp 11.3/contrib/ntp/libparse 11.3/contrib/ntp/ntpd 11.3/contrib/ntp/ntpdat... X-SVN-Commit-Revision: 359144 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 16:55:08 -0000 Author: gordon Date: Thu Mar 19 16:52:41 2020 New Revision: 359144 URL: https://svnweb.freebsd.org/changeset/base/359144 Log: Fix multiple denial of service in ntpd. Approved by: so Security: FreeBSD-SA-20:09.ntp Added: releng/11.3/contrib/ntp/include/ntp_calgps.h releng/11.3/contrib/ntp/include/ntp_psl.h releng/11.3/contrib/ntp/include/timexsup.h releng/11.3/contrib/ntp/libntp/ntp_calgps.c releng/11.3/contrib/ntp/libntp/timespecops.c releng/11.3/contrib/ntp/libntp/timexsup.c releng/11.3/contrib/ntp/ntpd/psl0.conf releng/11.3/contrib/ntp/ntpd/psl1.conf releng/11.3/contrib/ntp/ntpd/psl2.conf releng/12.1/contrib/ntp/include/ntp_calgps.h releng/12.1/contrib/ntp/include/ntp_psl.h releng/12.1/contrib/ntp/include/timexsup.h releng/12.1/contrib/ntp/libntp/ntp_calgps.c releng/12.1/contrib/ntp/libntp/timespecops.c releng/12.1/contrib/ntp/libntp/timexsup.c releng/12.1/contrib/ntp/ntpd/psl0.conf releng/12.1/contrib/ntp/ntpd/psl1.conf releng/12.1/contrib/ntp/ntpd/psl2.conf Modified: releng/11.3/contrib/ntp/COPYRIGHT releng/11.3/contrib/ntp/ChangeLog releng/11.3/contrib/ntp/CommitLog releng/11.3/contrib/ntp/NEWS releng/11.3/contrib/ntp/config.h.in releng/11.3/contrib/ntp/configure releng/11.3/contrib/ntp/configure.ac releng/11.3/contrib/ntp/html/accopt.html releng/11.3/contrib/ntp/html/clockopt.html releng/11.3/contrib/ntp/html/confopt.html releng/11.3/contrib/ntp/html/copyright.html releng/11.3/contrib/ntp/html/discipline.html releng/11.3/contrib/ntp/html/drivers/driver20.html releng/11.3/contrib/ntp/html/drivers/driver29.html releng/11.3/contrib/ntp/html/miscopt.html releng/11.3/contrib/ntp/include/Makefile.am releng/11.3/contrib/ntp/include/Makefile.in releng/11.3/contrib/ntp/include/ntp.h releng/11.3/contrib/ntp/include/ntp_calendar.h releng/11.3/contrib/ntp/include/ntp_config.h releng/11.3/contrib/ntp/include/ntp_control.h releng/11.3/contrib/ntp/include/ntp_fp.h releng/11.3/contrib/ntp/include/ntp_io.h releng/11.3/contrib/ntp/include/ntp_refclock.h releng/11.3/contrib/ntp/include/ntp_request.h releng/11.3/contrib/ntp/include/ntp_stdlib.h releng/11.3/contrib/ntp/include/ntp_syslog.h releng/11.3/contrib/ntp/include/ntpd.h releng/11.3/contrib/ntp/include/timespecops.h releng/11.3/contrib/ntp/libntp/Makefile.am releng/11.3/contrib/ntp/libntp/Makefile.in releng/11.3/contrib/ntp/libntp/decodenetnum.c releng/11.3/contrib/ntp/libntp/dofptoa.c releng/11.3/contrib/ntp/libntp/dolfptoa.c releng/11.3/contrib/ntp/libntp/mstolfp.c releng/11.3/contrib/ntp/libntp/msyslog.c releng/11.3/contrib/ntp/libntp/ntp_calendar.c releng/11.3/contrib/ntp/libntp/recvbuff.c releng/11.3/contrib/ntp/libntp/statestr.c releng/11.3/contrib/ntp/libntp/systime.c releng/11.3/contrib/ntp/libparse/Makefile.am releng/11.3/contrib/ntp/libparse/Makefile.in releng/11.3/contrib/ntp/libparse/clk_rawdcf.c releng/11.3/contrib/ntp/ntpd/Makefile.am releng/11.3/contrib/ntp/ntpd/Makefile.in releng/11.3/contrib/ntp/ntpd/cmd_args.c releng/11.3/contrib/ntp/ntpd/complete.conf.in releng/11.3/contrib/ntp/ntpd/invoke-ntp.conf.texi releng/11.3/contrib/ntp/ntpd/invoke-ntp.keys.texi releng/11.3/contrib/ntp/ntpd/invoke-ntpd.texi releng/11.3/contrib/ntp/ntpd/keyword-gen-utd releng/11.3/contrib/ntp/ntpd/keyword-gen.c releng/11.3/contrib/ntp/ntpd/ntp.conf.5man releng/11.3/contrib/ntp/ntpd/ntp.conf.5mdoc releng/11.3/contrib/ntp/ntpd/ntp.conf.def releng/11.3/contrib/ntp/ntpd/ntp.conf.html releng/11.3/contrib/ntp/ntpd/ntp.conf.man.in releng/11.3/contrib/ntp/ntpd/ntp.conf.mdoc.in releng/11.3/contrib/ntp/ntpd/ntp.keys.5man releng/11.3/contrib/ntp/ntpd/ntp.keys.5mdoc releng/11.3/contrib/ntp/ntpd/ntp.keys.html releng/11.3/contrib/ntp/ntpd/ntp.keys.man.in releng/11.3/contrib/ntp/ntpd/ntp.keys.mdoc.in releng/11.3/contrib/ntp/ntpd/ntp_config.c releng/11.3/contrib/ntp/ntpd/ntp_control.c releng/11.3/contrib/ntp/ntpd/ntp_io.c releng/11.3/contrib/ntp/ntpd/ntp_keyword.h releng/11.3/contrib/ntp/ntpd/ntp_leapsec.c releng/11.3/contrib/ntp/ntpd/ntp_leapsec.h releng/11.3/contrib/ntp/ntpd/ntp_loopfilter.c releng/11.3/contrib/ntp/ntpd/ntp_parser.c releng/11.3/contrib/ntp/ntpd/ntp_parser.h releng/11.3/contrib/ntp/ntpd/ntp_peer.c releng/11.3/contrib/ntp/ntpd/ntp_proto.c releng/11.3/contrib/ntp/ntpd/ntp_refclock.c releng/11.3/contrib/ntp/ntpd/ntp_request.c releng/11.3/contrib/ntp/ntpd/ntp_restrict.c releng/11.3/contrib/ntp/ntpd/ntp_scanner.c releng/11.3/contrib/ntp/ntpd/ntp_util.c releng/11.3/contrib/ntp/ntpd/ntpd-opts.c releng/11.3/contrib/ntp/ntpd/ntpd-opts.h releng/11.3/contrib/ntp/ntpd/ntpd.1ntpdman releng/11.3/contrib/ntp/ntpd/ntpd.1ntpdmdoc releng/11.3/contrib/ntp/ntpd/ntpd.c releng/11.3/contrib/ntp/ntpd/ntpd.html releng/11.3/contrib/ntp/ntpd/ntpd.man.in releng/11.3/contrib/ntp/ntpd/ntpd.mdoc.in releng/11.3/contrib/ntp/ntpd/refclock_gpsdjson.c releng/11.3/contrib/ntp/ntpd/refclock_jupiter.c releng/11.3/contrib/ntp/ntpd/refclock_nmea.c releng/11.3/contrib/ntp/ntpd/refclock_oncore.c releng/11.3/contrib/ntp/ntpd/refclock_palisade.c releng/11.3/contrib/ntp/ntpd/refclock_palisade.h releng/11.3/contrib/ntp/ntpd/refclock_parse.c releng/11.3/contrib/ntp/ntpd/refclock_zyfer.c releng/11.3/contrib/ntp/ntpdate/ntpdate.c releng/11.3/contrib/ntp/ntpdc/invoke-ntpdc.texi releng/11.3/contrib/ntp/ntpdc/layout.std releng/11.3/contrib/ntp/ntpdc/ntpdc-opts.c releng/11.3/contrib/ntp/ntpdc/ntpdc-opts.h releng/11.3/contrib/ntp/ntpdc/ntpdc.1ntpdcman releng/11.3/contrib/ntp/ntpdc/ntpdc.1ntpdcmdoc releng/11.3/contrib/ntp/ntpdc/ntpdc.c releng/11.3/contrib/ntp/ntpdc/ntpdc.html releng/11.3/contrib/ntp/ntpdc/ntpdc.man.in releng/11.3/contrib/ntp/ntpdc/ntpdc.mdoc.in releng/11.3/contrib/ntp/ntpdc/ntpdc_ops.c releng/11.3/contrib/ntp/ntpq/Makefile.am releng/11.3/contrib/ntp/ntpq/Makefile.in releng/11.3/contrib/ntp/ntpq/invoke-ntpq.texi releng/11.3/contrib/ntp/ntpq/ntpq-opts.c releng/11.3/contrib/ntp/ntpq/ntpq-opts.h releng/11.3/contrib/ntp/ntpq/ntpq-subs.c releng/11.3/contrib/ntp/ntpq/ntpq.1ntpqman releng/11.3/contrib/ntp/ntpq/ntpq.1ntpqmdoc releng/11.3/contrib/ntp/ntpq/ntpq.c releng/11.3/contrib/ntp/ntpq/ntpq.h releng/11.3/contrib/ntp/ntpq/ntpq.html releng/11.3/contrib/ntp/ntpq/ntpq.man.in releng/11.3/contrib/ntp/ntpq/ntpq.mdoc.in releng/11.3/contrib/ntp/ntpsnmpd/invoke-ntpsnmpd.texi releng/11.3/contrib/ntp/ntpsnmpd/ntpsnmpd-opts.c releng/11.3/contrib/ntp/ntpsnmpd/ntpsnmpd-opts.h releng/11.3/contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdman releng/11.3/contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc releng/11.3/contrib/ntp/ntpsnmpd/ntpsnmpd.html releng/11.3/contrib/ntp/ntpsnmpd/ntpsnmpd.man.in releng/11.3/contrib/ntp/ntpsnmpd/ntpsnmpd.mdoc.in releng/11.3/contrib/ntp/packageinfo.sh releng/11.3/contrib/ntp/parseutil/dcfd.c releng/11.3/contrib/ntp/scripts/build/mkver.in releng/11.3/contrib/ntp/scripts/calc_tickadj/calc_tickadj-opts releng/11.3/contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjman releng/11.3/contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc releng/11.3/contrib/ntp/scripts/calc_tickadj/calc_tickadj.html releng/11.3/contrib/ntp/scripts/calc_tickadj/calc_tickadj.man.in releng/11.3/contrib/ntp/scripts/calc_tickadj/calc_tickadj.mdoc.in releng/11.3/contrib/ntp/scripts/calc_tickadj/invoke-calc_tickadj.texi releng/11.3/contrib/ntp/scripts/invoke-plot_summary.texi releng/11.3/contrib/ntp/scripts/invoke-summary.texi releng/11.3/contrib/ntp/scripts/ntp-wait/invoke-ntp-wait.texi releng/11.3/contrib/ntp/scripts/ntp-wait/ntp-wait-opts releng/11.3/contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitman releng/11.3/contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc releng/11.3/contrib/ntp/scripts/ntp-wait/ntp-wait.html releng/11.3/contrib/ntp/scripts/ntp-wait/ntp-wait.man.in releng/11.3/contrib/ntp/scripts/ntp-wait/ntp-wait.mdoc.in releng/11.3/contrib/ntp/scripts/ntpsweep/invoke-ntpsweep.texi releng/11.3/contrib/ntp/scripts/ntpsweep/ntpsweep-opts releng/11.3/contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepman releng/11.3/contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc releng/11.3/contrib/ntp/scripts/ntpsweep/ntpsweep.html releng/11.3/contrib/ntp/scripts/ntpsweep/ntpsweep.man.in releng/11.3/contrib/ntp/scripts/ntpsweep/ntpsweep.mdoc.in releng/11.3/contrib/ntp/scripts/ntptrace/invoke-ntptrace.texi releng/11.3/contrib/ntp/scripts/ntptrace/ntptrace-opts releng/11.3/contrib/ntp/scripts/ntptrace/ntptrace.1ntptraceman releng/11.3/contrib/ntp/scripts/ntptrace/ntptrace.1ntptracemdoc releng/11.3/contrib/ntp/scripts/ntptrace/ntptrace.html releng/11.3/contrib/ntp/scripts/ntptrace/ntptrace.man.in releng/11.3/contrib/ntp/scripts/ntptrace/ntptrace.mdoc.in releng/11.3/contrib/ntp/scripts/plot_summary-opts releng/11.3/contrib/ntp/scripts/plot_summary.1plot_summaryman releng/11.3/contrib/ntp/scripts/plot_summary.1plot_summarymdoc releng/11.3/contrib/ntp/scripts/plot_summary.html releng/11.3/contrib/ntp/scripts/plot_summary.man.in releng/11.3/contrib/ntp/scripts/plot_summary.mdoc.in releng/11.3/contrib/ntp/scripts/summary-opts releng/11.3/contrib/ntp/scripts/summary.1summaryman releng/11.3/contrib/ntp/scripts/summary.1summarymdoc releng/11.3/contrib/ntp/scripts/summary.html releng/11.3/contrib/ntp/scripts/summary.man.in releng/11.3/contrib/ntp/scripts/summary.mdoc.in releng/11.3/contrib/ntp/scripts/update-leap/invoke-update-leap.texi releng/11.3/contrib/ntp/scripts/update-leap/update-leap-opts releng/11.3/contrib/ntp/scripts/update-leap/update-leap.1update-leapman releng/11.3/contrib/ntp/scripts/update-leap/update-leap.1update-leapmdoc releng/11.3/contrib/ntp/scripts/update-leap/update-leap.html releng/11.3/contrib/ntp/scripts/update-leap/update-leap.man.in releng/11.3/contrib/ntp/scripts/update-leap/update-leap.mdoc.in releng/11.3/contrib/ntp/sntp/COPYRIGHT releng/11.3/contrib/ntp/sntp/configure releng/11.3/contrib/ntp/sntp/configure.ac releng/11.3/contrib/ntp/sntp/crypto.c releng/11.3/contrib/ntp/sntp/include/copyright.def releng/11.3/contrib/ntp/sntp/include/version.def releng/11.3/contrib/ntp/sntp/include/version.texi releng/11.3/contrib/ntp/sntp/invoke-sntp.texi releng/11.3/contrib/ntp/sntp/libevent/build-aux/ar-lib releng/11.3/contrib/ntp/sntp/libevent/build-aux/compile releng/11.3/contrib/ntp/sntp/libevent/build-aux/config.guess releng/11.3/contrib/ntp/sntp/libevent/build-aux/config.sub releng/11.3/contrib/ntp/sntp/libevent/build-aux/depcomp releng/11.3/contrib/ntp/sntp/libevent/build-aux/install-sh releng/11.3/contrib/ntp/sntp/libevent/build-aux/missing releng/11.3/contrib/ntp/sntp/libevent/build-aux/test-driver releng/11.3/contrib/ntp/sntp/libevent/build-aux/ylwrap releng/11.3/contrib/ntp/sntp/libevent/test/regress.gen.c releng/11.3/contrib/ntp/sntp/libevent/test/regress.gen.h releng/11.3/contrib/ntp/sntp/libopts/m4/libopts.m4 releng/11.3/contrib/ntp/sntp/m4/ntp_problemtests.m4 releng/11.3/contrib/ntp/sntp/m4/version.m4 releng/11.3/contrib/ntp/sntp/main.c releng/11.3/contrib/ntp/sntp/networking.c releng/11.3/contrib/ntp/sntp/scm-rev releng/11.3/contrib/ntp/sntp/sntp-opts.c releng/11.3/contrib/ntp/sntp/sntp-opts.h releng/11.3/contrib/ntp/sntp/sntp.1sntpman releng/11.3/contrib/ntp/sntp/sntp.1sntpmdoc releng/11.3/contrib/ntp/sntp/sntp.html releng/11.3/contrib/ntp/sntp/sntp.man.in releng/11.3/contrib/ntp/sntp/sntp.mdoc.in releng/11.3/contrib/ntp/sntp/tests/run-crypto.c releng/11.3/contrib/ntp/sntp/tests/run-keyFile.c releng/11.3/contrib/ntp/sntp/tests/run-kodDatabase.c releng/11.3/contrib/ntp/sntp/tests/run-kodFile.c releng/11.3/contrib/ntp/sntp/tests/run-networking.c releng/11.3/contrib/ntp/sntp/tests/run-packetHandling.c releng/11.3/contrib/ntp/sntp/tests/run-packetProcessing.c releng/11.3/contrib/ntp/sntp/tests/run-t-log.c releng/11.3/contrib/ntp/sntp/tests/run-utilities.c releng/11.3/contrib/ntp/sntp/tests/testconf.yml releng/11.3/contrib/ntp/sntp/version.c releng/11.3/contrib/ntp/util/invoke-ntp-keygen.texi releng/11.3/contrib/ntp/util/ntp-keygen-opts.c releng/11.3/contrib/ntp/util/ntp-keygen-opts.h releng/11.3/contrib/ntp/util/ntp-keygen.1ntp-keygenman releng/11.3/contrib/ntp/util/ntp-keygen.1ntp-keygenmdoc releng/11.3/contrib/ntp/util/ntp-keygen.html releng/11.3/contrib/ntp/util/ntp-keygen.man.in releng/11.3/contrib/ntp/util/ntp-keygen.mdoc.in releng/11.3/contrib/ntp/util/ntptime.c releng/11.3/usr.sbin/ntp/config.h releng/11.3/usr.sbin/ntp/libntp/Makefile releng/12.1/contrib/ntp/COPYRIGHT releng/12.1/contrib/ntp/ChangeLog releng/12.1/contrib/ntp/CommitLog releng/12.1/contrib/ntp/NEWS releng/12.1/contrib/ntp/config.h.in releng/12.1/contrib/ntp/configure releng/12.1/contrib/ntp/configure.ac releng/12.1/contrib/ntp/html/accopt.html releng/12.1/contrib/ntp/html/clockopt.html releng/12.1/contrib/ntp/html/confopt.html releng/12.1/contrib/ntp/html/copyright.html releng/12.1/contrib/ntp/html/discipline.html releng/12.1/contrib/ntp/html/drivers/driver20.html releng/12.1/contrib/ntp/html/drivers/driver29.html releng/12.1/contrib/ntp/html/miscopt.html releng/12.1/contrib/ntp/include/Makefile.am releng/12.1/contrib/ntp/include/Makefile.in releng/12.1/contrib/ntp/include/ntp.h releng/12.1/contrib/ntp/include/ntp_calendar.h releng/12.1/contrib/ntp/include/ntp_config.h releng/12.1/contrib/ntp/include/ntp_control.h releng/12.1/contrib/ntp/include/ntp_fp.h releng/12.1/contrib/ntp/include/ntp_io.h releng/12.1/contrib/ntp/include/ntp_refclock.h releng/12.1/contrib/ntp/include/ntp_request.h releng/12.1/contrib/ntp/include/ntp_stdlib.h releng/12.1/contrib/ntp/include/ntp_syslog.h releng/12.1/contrib/ntp/include/ntpd.h releng/12.1/contrib/ntp/include/timespecops.h releng/12.1/contrib/ntp/libntp/Makefile.am releng/12.1/contrib/ntp/libntp/Makefile.in releng/12.1/contrib/ntp/libntp/decodenetnum.c releng/12.1/contrib/ntp/libntp/dofptoa.c releng/12.1/contrib/ntp/libntp/dolfptoa.c releng/12.1/contrib/ntp/libntp/mstolfp.c releng/12.1/contrib/ntp/libntp/msyslog.c releng/12.1/contrib/ntp/libntp/ntp_calendar.c releng/12.1/contrib/ntp/libntp/recvbuff.c releng/12.1/contrib/ntp/libntp/statestr.c releng/12.1/contrib/ntp/libntp/systime.c releng/12.1/contrib/ntp/libparse/Makefile.am releng/12.1/contrib/ntp/libparse/Makefile.in releng/12.1/contrib/ntp/libparse/clk_rawdcf.c releng/12.1/contrib/ntp/ntpd/Makefile.am releng/12.1/contrib/ntp/ntpd/Makefile.in releng/12.1/contrib/ntp/ntpd/cmd_args.c releng/12.1/contrib/ntp/ntpd/complete.conf.in releng/12.1/contrib/ntp/ntpd/invoke-ntp.conf.texi releng/12.1/contrib/ntp/ntpd/invoke-ntp.keys.texi releng/12.1/contrib/ntp/ntpd/invoke-ntpd.texi releng/12.1/contrib/ntp/ntpd/keyword-gen-utd releng/12.1/contrib/ntp/ntpd/keyword-gen.c releng/12.1/contrib/ntp/ntpd/ntp.conf.5man releng/12.1/contrib/ntp/ntpd/ntp.conf.5mdoc releng/12.1/contrib/ntp/ntpd/ntp.conf.def releng/12.1/contrib/ntp/ntpd/ntp.conf.html releng/12.1/contrib/ntp/ntpd/ntp.conf.man.in releng/12.1/contrib/ntp/ntpd/ntp.conf.mdoc.in releng/12.1/contrib/ntp/ntpd/ntp.keys.5man releng/12.1/contrib/ntp/ntpd/ntp.keys.5mdoc releng/12.1/contrib/ntp/ntpd/ntp.keys.html releng/12.1/contrib/ntp/ntpd/ntp.keys.man.in releng/12.1/contrib/ntp/ntpd/ntp.keys.mdoc.in releng/12.1/contrib/ntp/ntpd/ntp_config.c releng/12.1/contrib/ntp/ntpd/ntp_control.c releng/12.1/contrib/ntp/ntpd/ntp_io.c releng/12.1/contrib/ntp/ntpd/ntp_keyword.h releng/12.1/contrib/ntp/ntpd/ntp_leapsec.c releng/12.1/contrib/ntp/ntpd/ntp_leapsec.h releng/12.1/contrib/ntp/ntpd/ntp_loopfilter.c releng/12.1/contrib/ntp/ntpd/ntp_parser.c releng/12.1/contrib/ntp/ntpd/ntp_parser.h releng/12.1/contrib/ntp/ntpd/ntp_peer.c releng/12.1/contrib/ntp/ntpd/ntp_proto.c releng/12.1/contrib/ntp/ntpd/ntp_refclock.c releng/12.1/contrib/ntp/ntpd/ntp_request.c releng/12.1/contrib/ntp/ntpd/ntp_restrict.c releng/12.1/contrib/ntp/ntpd/ntp_scanner.c releng/12.1/contrib/ntp/ntpd/ntp_util.c releng/12.1/contrib/ntp/ntpd/ntpd-opts.c releng/12.1/contrib/ntp/ntpd/ntpd-opts.h releng/12.1/contrib/ntp/ntpd/ntpd.1ntpdman releng/12.1/contrib/ntp/ntpd/ntpd.1ntpdmdoc releng/12.1/contrib/ntp/ntpd/ntpd.c releng/12.1/contrib/ntp/ntpd/ntpd.html releng/12.1/contrib/ntp/ntpd/ntpd.man.in releng/12.1/contrib/ntp/ntpd/ntpd.mdoc.in releng/12.1/contrib/ntp/ntpd/refclock_gpsdjson.c releng/12.1/contrib/ntp/ntpd/refclock_jupiter.c releng/12.1/contrib/ntp/ntpd/refclock_nmea.c releng/12.1/contrib/ntp/ntpd/refclock_oncore.c releng/12.1/contrib/ntp/ntpd/refclock_palisade.c releng/12.1/contrib/ntp/ntpd/refclock_palisade.h releng/12.1/contrib/ntp/ntpd/refclock_parse.c releng/12.1/contrib/ntp/ntpd/refclock_zyfer.c releng/12.1/contrib/ntp/ntpdate/ntpdate.c releng/12.1/contrib/ntp/ntpdc/invoke-ntpdc.texi releng/12.1/contrib/ntp/ntpdc/layout.std releng/12.1/contrib/ntp/ntpdc/ntpdc-opts.c releng/12.1/contrib/ntp/ntpdc/ntpdc-opts.h releng/12.1/contrib/ntp/ntpdc/ntpdc.1ntpdcman releng/12.1/contrib/ntp/ntpdc/ntpdc.1ntpdcmdoc releng/12.1/contrib/ntp/ntpdc/ntpdc.c releng/12.1/contrib/ntp/ntpdc/ntpdc.html releng/12.1/contrib/ntp/ntpdc/ntpdc.man.in releng/12.1/contrib/ntp/ntpdc/ntpdc.mdoc.in releng/12.1/contrib/ntp/ntpdc/ntpdc_ops.c releng/12.1/contrib/ntp/ntpq/Makefile.am releng/12.1/contrib/ntp/ntpq/Makefile.in releng/12.1/contrib/ntp/ntpq/invoke-ntpq.texi releng/12.1/contrib/ntp/ntpq/ntpq-opts.c releng/12.1/contrib/ntp/ntpq/ntpq-opts.h releng/12.1/contrib/ntp/ntpq/ntpq-subs.c releng/12.1/contrib/ntp/ntpq/ntpq.1ntpqman releng/12.1/contrib/ntp/ntpq/ntpq.1ntpqmdoc releng/12.1/contrib/ntp/ntpq/ntpq.c releng/12.1/contrib/ntp/ntpq/ntpq.h releng/12.1/contrib/ntp/ntpq/ntpq.html releng/12.1/contrib/ntp/ntpq/ntpq.man.in releng/12.1/contrib/ntp/ntpq/ntpq.mdoc.in releng/12.1/contrib/ntp/ntpsnmpd/invoke-ntpsnmpd.texi releng/12.1/contrib/ntp/ntpsnmpd/ntpsnmpd-opts.c releng/12.1/contrib/ntp/ntpsnmpd/ntpsnmpd-opts.h releng/12.1/contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdman releng/12.1/contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc releng/12.1/contrib/ntp/ntpsnmpd/ntpsnmpd.html releng/12.1/contrib/ntp/ntpsnmpd/ntpsnmpd.man.in releng/12.1/contrib/ntp/ntpsnmpd/ntpsnmpd.mdoc.in releng/12.1/contrib/ntp/packageinfo.sh releng/12.1/contrib/ntp/parseutil/dcfd.c releng/12.1/contrib/ntp/scripts/build/mkver.in releng/12.1/contrib/ntp/scripts/calc_tickadj/calc_tickadj-opts releng/12.1/contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjman releng/12.1/contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc releng/12.1/contrib/ntp/scripts/calc_tickadj/calc_tickadj.html releng/12.1/contrib/ntp/scripts/calc_tickadj/calc_tickadj.man.in releng/12.1/contrib/ntp/scripts/calc_tickadj/calc_tickadj.mdoc.in releng/12.1/contrib/ntp/scripts/calc_tickadj/invoke-calc_tickadj.texi releng/12.1/contrib/ntp/scripts/invoke-plot_summary.texi releng/12.1/contrib/ntp/scripts/invoke-summary.texi releng/12.1/contrib/ntp/scripts/ntp-wait/invoke-ntp-wait.texi releng/12.1/contrib/ntp/scripts/ntp-wait/ntp-wait-opts releng/12.1/contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitman releng/12.1/contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc releng/12.1/contrib/ntp/scripts/ntp-wait/ntp-wait.html releng/12.1/contrib/ntp/scripts/ntp-wait/ntp-wait.man.in releng/12.1/contrib/ntp/scripts/ntp-wait/ntp-wait.mdoc.in releng/12.1/contrib/ntp/scripts/ntpsweep/invoke-ntpsweep.texi releng/12.1/contrib/ntp/scripts/ntpsweep/ntpsweep-opts releng/12.1/contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepman releng/12.1/contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc releng/12.1/contrib/ntp/scripts/ntpsweep/ntpsweep.html releng/12.1/contrib/ntp/scripts/ntpsweep/ntpsweep.man.in releng/12.1/contrib/ntp/scripts/ntpsweep/ntpsweep.mdoc.in releng/12.1/contrib/ntp/scripts/ntptrace/invoke-ntptrace.texi releng/12.1/contrib/ntp/scripts/ntptrace/ntptrace-opts releng/12.1/contrib/ntp/scripts/ntptrace/ntptrace.1ntptraceman releng/12.1/contrib/ntp/scripts/ntptrace/ntptrace.1ntptracemdoc releng/12.1/contrib/ntp/scripts/ntptrace/ntptrace.html releng/12.1/contrib/ntp/scripts/ntptrace/ntptrace.man.in releng/12.1/contrib/ntp/scripts/ntptrace/ntptrace.mdoc.in releng/12.1/contrib/ntp/scripts/plot_summary-opts releng/12.1/contrib/ntp/scripts/plot_summary.1plot_summaryman releng/12.1/contrib/ntp/scripts/plot_summary.1plot_summarymdoc releng/12.1/contrib/ntp/scripts/plot_summary.html releng/12.1/contrib/ntp/scripts/plot_summary.man.in releng/12.1/contrib/ntp/scripts/plot_summary.mdoc.in releng/12.1/contrib/ntp/scripts/summary-opts releng/12.1/contrib/ntp/scripts/summary.1summaryman releng/12.1/contrib/ntp/scripts/summary.1summarymdoc releng/12.1/contrib/ntp/scripts/summary.html releng/12.1/contrib/ntp/scripts/summary.man.in releng/12.1/contrib/ntp/scripts/summary.mdoc.in releng/12.1/contrib/ntp/scripts/update-leap/invoke-update-leap.texi releng/12.1/contrib/ntp/scripts/update-leap/update-leap-opts releng/12.1/contrib/ntp/scripts/update-leap/update-leap.1update-leapman releng/12.1/contrib/ntp/scripts/update-leap/update-leap.1update-leapmdoc releng/12.1/contrib/ntp/scripts/update-leap/update-leap.html releng/12.1/contrib/ntp/scripts/update-leap/update-leap.man.in releng/12.1/contrib/ntp/scripts/update-leap/update-leap.mdoc.in releng/12.1/contrib/ntp/sntp/COPYRIGHT releng/12.1/contrib/ntp/sntp/configure releng/12.1/contrib/ntp/sntp/configure.ac releng/12.1/contrib/ntp/sntp/crypto.c releng/12.1/contrib/ntp/sntp/include/copyright.def releng/12.1/contrib/ntp/sntp/include/version.def releng/12.1/contrib/ntp/sntp/include/version.texi releng/12.1/contrib/ntp/sntp/invoke-sntp.texi releng/12.1/contrib/ntp/sntp/libevent/build-aux/ar-lib releng/12.1/contrib/ntp/sntp/libevent/build-aux/compile releng/12.1/contrib/ntp/sntp/libevent/build-aux/config.guess releng/12.1/contrib/ntp/sntp/libevent/build-aux/config.sub releng/12.1/contrib/ntp/sntp/libevent/build-aux/depcomp releng/12.1/contrib/ntp/sntp/libevent/build-aux/install-sh releng/12.1/contrib/ntp/sntp/libevent/build-aux/missing releng/12.1/contrib/ntp/sntp/libevent/build-aux/test-driver releng/12.1/contrib/ntp/sntp/libevent/build-aux/ylwrap releng/12.1/contrib/ntp/sntp/libevent/test/regress.gen.c releng/12.1/contrib/ntp/sntp/libevent/test/regress.gen.h releng/12.1/contrib/ntp/sntp/libopts/m4/libopts.m4 releng/12.1/contrib/ntp/sntp/m4/ntp_problemtests.m4 releng/12.1/contrib/ntp/sntp/m4/version.m4 releng/12.1/contrib/ntp/sntp/main.c releng/12.1/contrib/ntp/sntp/networking.c releng/12.1/contrib/ntp/sntp/scm-rev releng/12.1/contrib/ntp/sntp/sntp-opts.c releng/12.1/contrib/ntp/sntp/sntp-opts.h releng/12.1/contrib/ntp/sntp/sntp.1sntpman releng/12.1/contrib/ntp/sntp/sntp.1sntpmdoc releng/12.1/contrib/ntp/sntp/sntp.html releng/12.1/contrib/ntp/sntp/sntp.man.in releng/12.1/contrib/ntp/sntp/sntp.mdoc.in releng/12.1/contrib/ntp/sntp/tests/run-crypto.c releng/12.1/contrib/ntp/sntp/tests/run-keyFile.c releng/12.1/contrib/ntp/sntp/tests/run-kodDatabase.c releng/12.1/contrib/ntp/sntp/tests/run-kodFile.c releng/12.1/contrib/ntp/sntp/tests/run-networking.c releng/12.1/contrib/ntp/sntp/tests/run-packetHandling.c releng/12.1/contrib/ntp/sntp/tests/run-packetProcessing.c releng/12.1/contrib/ntp/sntp/tests/run-t-log.c releng/12.1/contrib/ntp/sntp/tests/run-utilities.c releng/12.1/contrib/ntp/sntp/tests/testconf.yml releng/12.1/contrib/ntp/sntp/version.c releng/12.1/contrib/ntp/util/invoke-ntp-keygen.texi releng/12.1/contrib/ntp/util/ntp-keygen-opts.c releng/12.1/contrib/ntp/util/ntp-keygen-opts.h releng/12.1/contrib/ntp/util/ntp-keygen.1ntp-keygenman releng/12.1/contrib/ntp/util/ntp-keygen.1ntp-keygenmdoc releng/12.1/contrib/ntp/util/ntp-keygen.html releng/12.1/contrib/ntp/util/ntp-keygen.man.in releng/12.1/contrib/ntp/util/ntp-keygen.mdoc.in releng/12.1/contrib/ntp/util/ntptime.c releng/12.1/usr.sbin/ntp/config.h releng/12.1/usr.sbin/ntp/libntp/Makefile Modified: releng/11.3/contrib/ntp/COPYRIGHT ============================================================================== --- releng/11.3/contrib/ntp/COPYRIGHT Thu Mar 19 16:51:57 2020 (r359143) +++ releng/11.3/contrib/ntp/COPYRIGHT Thu Mar 19 16:52:41 2020 (r359144) @@ -3,7 +3,7 @@ This file is automatically generated from html/copyrig jpg "Clone me," says Dolly sheepishly. - Last update: 2-Jan-2017 11:58 UTC + Last update: 4-Feb-2020 23:47 UTC __________________________________________________________________ The following copyright notice applies to all files collectively called @@ -32,7 +32,7 @@ This file is automatically generated from html/copyrig Burnicki is: *********************************************************************** * * -* Copyright (c) Network Time Foundation 2011-2017 * +* Copyright (c) Network Time Foundation 2011-2020 * * * * All Rights Reserved * * * Modified: releng/11.3/contrib/ntp/ChangeLog ============================================================================== --- releng/11.3/contrib/ntp/ChangeLog Thu Mar 19 16:51:57 2020 (r359143) +++ releng/11.3/contrib/ntp/ChangeLog Thu Mar 19 16:52:41 2020 (r359144) @@ -1,4 +1,100 @@ --- +(4.2.8p14) 2020/03/03 Released by Harlan Stenn + +* [Sec 3610] process_control() should bail earlier on short packets. stenn@ + - Reported by Philippe Antoine +* [Sec 3596] Highly predictable timestamp attack. + - Reported by Miroslav Lichvar +* [Sec 3592] DoS attack on client ntpd + - Reported by Miroslav Lichvar +* [Bug 3637] Emit the version of ntpd in saveconfig. stenn@ +* [Bug 3636] NMEA: combine time/date from multiple sentences +* [Bug 3635] Make leapsecond file hash check optional +* [Bug 3634] Typo in discipline.html, reported by Jason Harrison. stenn@ +* [Bug 3628] raw DCF decoding - improve robustness with Zeller's congruence + - implement Zeller's congruence in libparse and libntp +* [Bug 3627] SIGSEGV on FreeBSD-12 with stack limit and stack gap + - integrated patch by Cy Schubert +* [Bug 3620] memory leak in ntpq sysinfo + - applied patch by Gerry Garvey +* [Bug 3619] Honour drefid setting in cooked mode and sysinfo + - applied patch by Gerry Garvey +* [Bug 3617] Add support for ACE III and Copernicus II receivers + - integrated patch by Richard Steedman +* [Bug 3615] accelerate refclock startup +* [Bug 3613] Propagate noselect to mobilized pool servers + - Reported by Martin Burnicki +* [Bug 3612] Use-of-uninitialized-value in receive function + - Reported by Philippe Antoine +* [Bug 3611] NMEA time interpreted incorrectly + - officially document new "trust date" mode bit for NMEA driver + - restore the (previously undocumented) "trust date" feature lost with [bug 3577] +* [Bug 3609] Fixing wrong falseticker in case of non-statistic jitter + - mostly based on a patch by Michael Haardt, implementing 'fudge minjitter' +* [Bug 3608] libparse fails to compile on S11.4SRU13 and later + - removed ffs() and fls() prototypes as per Brian Utterback +* [Bug 3604] Wrong param byte order passing into record_raw_stats() in + ntp_io.c + - fixed byte and paramter order as suggested by wei6410@sina.com +* [Bug 3601] Tests fail to link on platforms with ntp_cv_gc_sections_runs=no +* [Bug 3599] Build fails on linux-m68k due to alignment issues + - added padding as suggested by John Paul Adrian Glaubitz +* [Bug 3594] ntpd discards messages coming through nmead +* [Bug 3593] ntpd discards silently nmea messages after the 5th string +* [Bug 3590] Update refclock_oncore.c to the new GPS date API +* [Bug 3585] Unity tests mix buffered and unbuffered output + - stdout+stderr are set to line buffered during test setup now +* [Bug 3583] synchronization error + - set clock to base date if system time is before that limit +* [Bug 3582] gpsdjson refclock fudgetime1 adjustment is doubled +* [Bug 3580] Possible bug ntpq-subs (NULL dereference in dogetassoc) + - Reported by Paulo Neves +* [Bug 3577] Update refclock_zyfer.c to the new GPS date API + - also updates for refclock_nmea.c and refclock_jupiter.c +* [Bug 3576] New GPS date function API +* [Bug 3573] nptdate: missleading error message +* [Bug 3570] NMEA driver docs: talker ID not mentioned, typo +* [Bug 3569] cleanup MOD_NANO/STA_NANO handling for 'ntpadjtimex()' + - sidekick: service port resolution in 'ntpdate' +* [Bug 3550] Reproducible build: Respect SOURCE_DATE_EPOCH + - applied patch by Douglas Royds +* [Bug 3542] ntpdc monlist parameters cannot be set +* [Bug 3533] ntpdc peer_info ipv6 issues + - applied patch by Gerry Garvey +* [Bug 3531] make check: test-decodenetnum fails + - try to harden 'decodenetnum()' against 'getaddrinfo()' errors + - fix wrong cond-compile tests in unit tests +* [Bug 3517] Reducing build noise +* [Bug 3516] Require tooling from this decade + - patch by Philipp Prindeville +* [Bug 3515] Refactor ntpdmain() dispatcher loop and group common code + - patch by Philipp Prindeville +* [Bug 3511] Get rid of AC_LANG_SOURCE() warnings + - patch by Philipp Prindeville +* [Bug 3510] Flatten out the #ifdef nesting in ntpdmain() + - partial application of patch by Philipp Prindeville +* [Bug 3491] Signed values of LFP datatypes should always display a sign + - applied patch by Gerry Garvey & fixed unit tests +* [Bug 3490] Patch to support Trimble Resolution Receivers + - applied (modified) patch by Richard Steedman +* [Bug 3473] RefID of refclocks should always be text format + - applied patch by Gerry Garvey (with minor formatting changes) +* [Bug 3132] Building 4.2.8p8 with disabled local libopts fails + - applied patch by Miroslav Lichvar +* [Bug 3094] ntpd trying to listen for broadcasts on a completely ipv6 network + +* [Bug 2420] ntpd doesn't run and exits with retval 0 when invalid user + is specified with -u + - monitor daemon child startup & propagate exit codes +* [Bug 1433] runtime check whether the kernel really supports capabilities + - (modified) patch by Kurt Roeckx +* Clean up sntp/networking.c:sendpkt() error message. +* Provide more detail on unrecognized config file parser tokens. +* Startup log improvements. +* Update the copyright year. +* html/confopt.html: cleanup. + +--- (4.2.8p13) 2019/03/07 Released by Harlan Stenn * [Sec 3565] Crafted null dereference attack in authenticated Modified: releng/11.3/contrib/ntp/CommitLog ============================================================================== --- releng/11.3/contrib/ntp/CommitLog Thu Mar 19 16:51:57 2020 (r359143) +++ releng/11.3/contrib/ntp/CommitLog Thu Mar 19 16:52:41 2020 (r359144) @@ -1,10 +1,3065 @@ -ChangeSet@1.3849, 2019-02-20 17:13:36-08:00, harlan@ntp-build.tal1.ntfo.org +ChangeSet@1.3896, 2020-03-03 17:42:43-08:00, ntpreleng@ntp-build.tal1.ntfo.org + NTP_4_2_8P14 + TAG: NTP_4_2_8P14 + + ChangeLog@1.1974 +1 -1 + NTP_4_2_8P14 + + ntpd/invoke-ntp.conf.texi@1.221 +1 -1 + NTP_4_2_8P14 + + ntpd/invoke-ntp.keys.texi@1.206 +1 -1 + NTP_4_2_8P14 + + ntpd/invoke-ntpd.texi@1.520 +2 -2 + NTP_4_2_8P14 + + ntpd/ntp.conf.5man@1.255 +2 -2 + NTP_4_2_8P14 + + ntpd/ntp.conf.5mdoc@1.255 +1 -1 + NTP_4_2_8P14 + + ntpd/ntp.conf.html@1.203 +1 -1 + NTP_4_2_8P14 + + ntpd/ntp.conf.man.in@1.255 +2 -2 + NTP_4_2_8P14 + + ntpd/ntp.conf.mdoc.in@1.255 +1 -1 + NTP_4_2_8P14 + + ntpd/ntp.keys.5man@1.240 +2 -2 + NTP_4_2_8P14 + + ntpd/ntp.keys.5mdoc@1.240 +1 -1 + NTP_4_2_8P14 + + ntpd/ntp.keys.html@1.201 +1 -1 + NTP_4_2_8P14 + + ntpd/ntp.keys.man.in@1.240 +2 -2 + NTP_4_2_8P14 + + ntpd/ntp.keys.mdoc.in@1.240 +1 -1 + NTP_4_2_8P14 + + ntpd/ntpd-opts.c@1.543 +7 -7 + NTP_4_2_8P14 + + ntpd/ntpd-opts.h@1.542 +3 -3 + NTP_4_2_8P14 + + ntpd/ntpd.1ntpdman@1.349 +2 -2 + NTP_4_2_8P14 + + ntpd/ntpd.1ntpdmdoc@1.349 +1 -1 + NTP_4_2_8P14 + + ntpd/ntpd.html@1.194 +2 -2 + NTP_4_2_8P14 + + ntpd/ntpd.man.in@1.349 +2 -2 + NTP_4_2_8P14 + + ntpd/ntpd.mdoc.in@1.349 +1 -1 + NTP_4_2_8P14 + + ntpdc/invoke-ntpdc.texi@1.517 +2 -2 + NTP_4_2_8P14 + + ntpdc/ntpdc-opts.c@1.536 +7 -7 + NTP_4_2_8P14 + + ntpdc/ntpdc-opts.h@1.535 +3 -3 + NTP_4_2_8P14 + + ntpdc/ntpdc.1ntpdcman@1.348 +2 -2 + NTP_4_2_8P14 + + ntpdc/ntpdc.1ntpdcmdoc@1.348 +1 -1 + NTP_4_2_8P14 + + ntpdc/ntpdc.html@1.363 +2 -2 + NTP_4_2_8P14 + + ntpdc/ntpdc.man.in@1.348 +2 -2 + NTP_4_2_8P14 + + ntpdc/ntpdc.mdoc.in@1.348 +1 -1 + NTP_4_2_8P14 + + ntpq/invoke-ntpq.texi@1.527 +2 -2 + NTP_4_2_8P14 + + ntpq/ntpq-opts.c@1.545 +7 -7 + NTP_4_2_8P14 + + ntpq/ntpq-opts.h@1.543 +3 -3 + NTP_4_2_8P14 + + ntpq/ntpq.1ntpqman@1.355 +2 -2 + NTP_4_2_8P14 + + ntpq/ntpq.1ntpqmdoc@1.355 +1 -1 + NTP_4_2_8P14 + + ntpq/ntpq.html@1.194 +2 -2 + NTP_4_2_8P14 + + ntpq/ntpq.man.in@1.355 +2 -2 + NTP_4_2_8P14 + + ntpq/ntpq.mdoc.in@1.355 +1 -1 + NTP_4_2_8P14 + + ntpsnmpd/invoke-ntpsnmpd.texi@1.519 +1 -1 + NTP_4_2_8P14 + + ntpsnmpd/ntpsnmpd-opts.c@1.538 +7 -7 + NTP_4_2_8P14 + + ntpsnmpd/ntpsnmpd-opts.h@1.537 +3 -3 + NTP_4_2_8P14 + + ntpsnmpd/ntpsnmpd.1ntpsnmpdman@1.348 +2 -2 + NTP_4_2_8P14 + + ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc@1.348 +1 -1 + NTP_4_2_8P14 + + ntpsnmpd/ntpsnmpd.html@1.187 +1 -1 + NTP_4_2_8P14 + + ntpsnmpd/ntpsnmpd.man.in@1.348 +2 -2 + NTP_4_2_8P14 + + ntpsnmpd/ntpsnmpd.mdoc.in@1.348 +1 -1 + NTP_4_2_8P14 + + packageinfo.sh@1.544 +1 -1 + NTP_4_2_8P14 + + scripts/calc_tickadj/calc_tickadj.1calc_tickadjman@1.109 +2 -2 + NTP_4_2_8P14 + + scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc@1.110 +1 -1 + NTP_4_2_8P14 + + scripts/calc_tickadj/calc_tickadj.html@1.110 +1 -1 + NTP_4_2_8P14 + + scripts/calc_tickadj/calc_tickadj.man.in@1.108 +2 -2 + NTP_4_2_8P14 + + scripts/calc_tickadj/calc_tickadj.mdoc.in@1.110 +1 -1 + NTP_4_2_8P14 + + scripts/calc_tickadj/invoke-calc_tickadj.texi@1.113 +1 -1 + NTP_4_2_8P14 + + scripts/invoke-plot_summary.texi@1.131 +2 -2 + NTP_4_2_8P14 + + scripts/invoke-summary.texi@1.130 +2 -2 + NTP_4_2_8P14 + + scripts/ntp-wait/invoke-ntp-wait.texi@1.341 +2 -2 + NTP_4_2_8P14 + + scripts/ntp-wait/ntp-wait-opts@1.77 +2 -2 + NTP_4_2_8P14 + + scripts/ntp-wait/ntp-wait.1ntp-waitman@1.337 +2 -2 + NTP_4_2_8P14 + + scripts/ntp-wait/ntp-wait.1ntp-waitmdoc@1.338 +1 -1 + NTP_4_2_8P14 + + scripts/ntp-wait/ntp-wait.html@1.359 +2 -2 + NTP_4_2_8P14 + + scripts/ntp-wait/ntp-wait.man.in@1.337 +2 -2 + NTP_4_2_8P14 + + scripts/ntp-wait/ntp-wait.mdoc.in@1.338 +1 -1 + NTP_4_2_8P14 + + scripts/ntpsweep/invoke-ntpsweep.texi@1.128 +2 -2 + NTP_4_2_8P14 + + scripts/ntpsweep/ntpsweep-opts@1.79 +2 -2 + NTP_4_2_8P14 + + scripts/ntpsweep/ntpsweep.1ntpsweepman@1.116 +2 -2 + NTP_4_2_8P14 + + scripts/ntpsweep/ntpsweep.1ntpsweepmdoc@1.116 +1 -1 + NTP_4_2_8P14 + + scripts/ntpsweep/ntpsweep.html@1.131 +2 -2 + NTP_4_2_8P14 + + scripts/ntpsweep/ntpsweep.man.in@1.116 +2 -2 + NTP_4_2_8P14 + + scripts/ntpsweep/ntpsweep.mdoc.in@1.117 +1 -1 + NTP_4_2_8P14 + + scripts/ntptrace/invoke-ntptrace.texi@1.130 +2 -2 + NTP_4_2_8P14 + + scripts/ntptrace/ntptrace-opts@1.79 +2 -2 + NTP_4_2_8P14 + + scripts/ntptrace/ntptrace.1ntptraceman@1.116 +2 -2 + NTP_4_2_8P14 + + scripts/ntptrace/ntptrace.1ntptracemdoc@1.117 +1 -1 + NTP_4_2_8P14 + + scripts/ntptrace/ntptrace.html@1.132 +2 -2 + NTP_4_2_8P14 + + scripts/ntptrace/ntptrace.man.in@1.116 +2 -2 + NTP_4_2_8P14 + + scripts/ntptrace/ntptrace.mdoc.in@1.118 +1 -1 + NTP_4_2_8P14 + + scripts/plot_summary-opts@1.80 +2 -2 + NTP_4_2_8P14 + + scripts/plot_summary.1plot_summaryman@1.129 +2 -2 + NTP_4_2_8P14 + + scripts/plot_summary.1plot_summarymdoc@1.129 +1 -1 + NTP_4_2_8P14 + + scripts/plot_summary.html@1.134 +2 -2 + NTP_4_2_8P14 + + scripts/plot_summary.man.in@1.129 +2 -2 + NTP_4_2_8P14 + + scripts/plot_summary.mdoc.in@1.129 +1 -1 + NTP_4_2_8P14 + + scripts/summary-opts@1.79 +2 -2 + NTP_4_2_8P14 + + scripts/summary.1summaryman@1.128 +2 -2 + NTP_4_2_8P14 + + scripts/summary.1summarymdoc@1.128 +1 -1 + NTP_4_2_8P14 + + scripts/summary.html@1.133 +2 -2 + NTP_4_2_8P14 + + scripts/summary.man.in@1.128 +2 -2 + NTP_4_2_8P14 + + scripts/summary.mdoc.in@1.128 +1 -1 + NTP_4_2_8P14 + + scripts/update-leap/invoke-update-leap.texi@1.29 +1 -1 + NTP_4_2_8P14 + + scripts/update-leap/update-leap-opts@1.30 +2 -2 + NTP_4_2_8P14 + + scripts/update-leap/update-leap.1update-leapman@1.29 +2 -2 + NTP_4_2_8P14 + + scripts/update-leap/update-leap.1update-leapmdoc@1.29 +1 -1 + NTP_4_2_8P14 + + scripts/update-leap/update-leap.html@1.30 +1 -1 + NTP_4_2_8P14 + + scripts/update-leap/update-leap.man.in@1.29 +2 -2 + NTP_4_2_8P14 + + scripts/update-leap/update-leap.mdoc.in@1.29 +1 -1 + NTP_4_2_8P14 + + sntp/invoke-sntp.texi@1.519 +2 -2 + NTP_4_2_8P14 + + sntp/sntp-opts.c@1.539 +7 -7 + NTP_4_2_8P14 + + sntp/sntp-opts.h@1.537 +3 -3 + NTP_4_2_8P14 + + sntp/sntp.1sntpman@1.354 +2 -2 + NTP_4_2_8P14 + + sntp/sntp.1sntpmdoc@1.354 +1 -1 + NTP_4_2_8P14 + + sntp/sntp.html@1.535 +2 -2 + NTP_4_2_8P14 + + sntp/sntp.man.in@1.354 +2 -2 + NTP_4_2_8P14 + + sntp/sntp.mdoc.in@1.354 +1 -1 + NTP_4_2_8P14 + + util/invoke-ntp-keygen.texi@1.522 +2 -2 + NTP_4_2_8P14 + + util/ntp-keygen-opts.c@1.541 +7 -7 + NTP_4_2_8P14 + + util/ntp-keygen-opts.h@1.539 +3 -3 + NTP_4_2_8P14 + + util/ntp-keygen.1ntp-keygenman@1.350 +2 -2 + NTP_4_2_8P14 + + util/ntp-keygen.1ntp-keygenmdoc@1.350 +1 -1 + NTP_4_2_8P14 + + util/ntp-keygen.html@1.195 +2 -2 + NTP_4_2_8P14 + + util/ntp-keygen.man.in@1.350 +2 -2 + NTP_4_2_8P14 + + util/ntp-keygen.mdoc.in@1.350 +1 -1 + NTP_4_2_8P14 + +ChangeSet@1.3895, 2020-03-03 17:09:57-08:00, ntpreleng@ntp-build.tal1.ntfo.org + quiet some debug messages + + ntpd/ntp_config.c@1.375 +0 -2 + quiet some debug messages + + ntpd/ntp_peer.c@1.166 +2 -0 + quiet some debug messages + +ChangeSet@1.3894, 2020-03-03 16:49:54-08:00, ntpreleng@ntp-build.tal1.ntfo.org + NTP_4_2_8P13 + TAG: NTP_4_2_8P13 + + ChangeLog@1.1973 +1 -0 + NTP_4_2_8P13 + + ntpd/invoke-ntp.conf.texi@1.220 +31 -7 + NTP_4_2_8P13 + + ntpd/invoke-ntp.keys.texi@1.205 +1 -1 + NTP_4_2_8P13 + + ntpd/invoke-ntpd.texi@1.519 +3 -3 + NTP_4_2_8P13 + + ntpd/ntp.conf.5man@1.254 +34 -9 + NTP_4_2_8P13 + + ntpd/ntp.conf.5mdoc@1.254 +41 -6 + NTP_4_2_8P13 + + ntpd/ntp.conf.html@1.202 +33 -7 + NTP_4_2_8P13 + + ntpd/ntp.conf.man.in@1.254 +34 -9 + NTP_4_2_8P13 + + ntpd/ntp.conf.mdoc.in@1.254 +41 -6 + NTP_4_2_8P13 + + ntpd/ntp.keys.5man@1.239 +2 -2 + NTP_4_2_8P13 + + ntpd/ntp.keys.5mdoc@1.239 +3 -3 + NTP_4_2_8P13 + + ntpd/ntp.keys.man.in@1.239 +2 -2 + NTP_4_2_8P13 + + ntpd/ntp.keys.mdoc.in@1.239 +3 -3 + NTP_4_2_8P13 + + ntpd/ntpd-opts.c@1.542 +2 -2 + NTP_4_2_8P13 + + ntpd/ntpd-opts.h@1.541 +3 -3 + NTP_4_2_8P13 + + ntpd/ntpd.1ntpdman@1.348 +2 -2 + NTP_4_2_8P13 + + ntpd/ntpd.1ntpdmdoc@1.348 +2 -2 + NTP_4_2_8P13 + + ntpd/ntpd.man.in@1.348 +2 -2 + NTP_4_2_8P13 + + ntpd/ntpd.mdoc.in@1.348 +2 -2 + NTP_4_2_8P13 + + ntpdc/invoke-ntpdc.texi@1.516 +1 -1 + NTP_4_2_8P13 + + ntpdc/ntpdc-opts.c@1.535 +2 -2 + NTP_4_2_8P13 + + ntpdc/ntpdc-opts.h@1.534 +3 -3 + NTP_4_2_8P13 + + ntpdc/ntpdc.1ntpdcman@1.347 +2 -2 + NTP_4_2_8P13 + + ntpdc/ntpdc.1ntpdcmdoc@1.347 +2 -2 + NTP_4_2_8P13 + + ntpdc/ntpdc.html@1.362 +408 -353 + NTP_4_2_8P13 + + ntpdc/ntpdc.man.in@1.347 +2 -2 + NTP_4_2_8P13 + + ntpdc/ntpdc.mdoc.in@1.347 +2 -2 + NTP_4_2_8P13 + + ntpq/invoke-ntpq.texi@1.526 +1 -1 + NTP_4_2_8P13 + + ntpq/ntpq-opts.c@1.544 +2 -2 + NTP_4_2_8P13 + + ntpq/ntpq-opts.h@1.542 +3 -3 + NTP_4_2_8P13 + + ntpq/ntpq.1ntpqman@1.354 +2 -2 + NTP_4_2_8P13 + + ntpq/ntpq.1ntpqmdoc@1.354 +2 -2 + NTP_4_2_8P13 + + ntpq/ntpq.html@1.193 +1 -1 + NTP_4_2_8P13 + + ntpq/ntpq.man.in@1.354 +2 -2 + NTP_4_2_8P13 + + ntpq/ntpq.mdoc.in@1.354 +2 -2 + NTP_4_2_8P13 + + ntpsnmpd/invoke-ntpsnmpd.texi@1.518 +1 -1 + NTP_4_2_8P13 + + ntpsnmpd/ntpsnmpd-opts.c@1.537 +2 -2 + NTP_4_2_8P13 + + ntpsnmpd/ntpsnmpd-opts.h@1.536 +3 -3 + NTP_4_2_8P13 + + ntpsnmpd/ntpsnmpd.1ntpsnmpdman@1.347 +2 -2 + NTP_4_2_8P13 + + ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc@1.347 +2 -2 + NTP_4_2_8P13 + + ntpsnmpd/ntpsnmpd.man.in@1.347 +2 -2 + NTP_4_2_8P13 + + ntpsnmpd/ntpsnmpd.mdoc.in@1.347 +2 -2 + NTP_4_2_8P13 + + scripts/calc_tickadj/calc_tickadj.1calc_tickadjman@1.108 +2 -2 + NTP_4_2_8P13 + + scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc@1.109 +2 -2 + NTP_4_2_8P13 + + scripts/calc_tickadj/calc_tickadj.html@1.109 +172 -128 + NTP_4_2_8P13 + + scripts/calc_tickadj/calc_tickadj.man.in@1.107 +2 -2 + NTP_4_2_8P13 + + scripts/calc_tickadj/calc_tickadj.mdoc.in@1.109 +2 -2 + NTP_4_2_8P13 + + scripts/calc_tickadj/invoke-calc_tickadj.texi@1.112 +2 -2 + NTP_4_2_8P13 + + scripts/invoke-plot_summary.texi@1.130 +2 -2 + NTP_4_2_8P13 + + scripts/invoke-summary.texi@1.129 +2 -2 + NTP_4_2_8P13 + + scripts/ntp-wait/invoke-ntp-wait.texi@1.340 +2 -2 + NTP_4_2_8P13 + + scripts/ntp-wait/ntp-wait-opts@1.76 +2 -2 + NTP_4_2_8P13 + + scripts/ntp-wait/ntp-wait.1ntp-waitman@1.336 +2 -2 + NTP_4_2_8P13 + + scripts/ntp-wait/ntp-wait.1ntp-waitmdoc@1.337 +2 -2 + NTP_4_2_8P13 + + scripts/ntp-wait/ntp-wait.html@1.358 +181 -152 + NTP_4_2_8P13 + + scripts/ntp-wait/ntp-wait.man.in@1.336 +2 -2 + NTP_4_2_8P13 + + scripts/ntp-wait/ntp-wait.mdoc.in@1.337 +2 -2 + NTP_4_2_8P13 + + scripts/ntpsweep/invoke-ntpsweep.texi@1.127 +2 -2 + NTP_4_2_8P13 + + scripts/ntpsweep/ntpsweep-opts@1.78 +2 -2 + NTP_4_2_8P13 + + scripts/ntpsweep/ntpsweep.1ntpsweepman@1.115 +2 -2 + NTP_4_2_8P13 + + scripts/ntpsweep/ntpsweep.1ntpsweepmdoc@1.115 +2 -2 + NTP_4_2_8P13 + + scripts/ntpsweep/ntpsweep.html@1.130 +188 -152 + NTP_4_2_8P13 + + scripts/ntpsweep/ntpsweep.man.in@1.115 +2 -2 + NTP_4_2_8P13 + + scripts/ntpsweep/ntpsweep.mdoc.in@1.116 +2 -2 + NTP_4_2_8P13 + + scripts/ntptrace/invoke-ntptrace.texi@1.129 +2 -2 + NTP_4_2_8P13 + + scripts/ntptrace/ntptrace-opts@1.78 +2 -2 + NTP_4_2_8P13 + + scripts/ntptrace/ntptrace.1ntptraceman@1.115 +2 -2 + NTP_4_2_8P13 + + scripts/ntptrace/ntptrace.1ntptracemdoc@1.116 +2 -2 + NTP_4_2_8P13 + + scripts/ntptrace/ntptrace.html@1.131 +179 -129 + NTP_4_2_8P13 + + scripts/ntptrace/ntptrace.man.in@1.115 +2 -2 + NTP_4_2_8P13 + + scripts/ntptrace/ntptrace.mdoc.in@1.117 +2 -2 + NTP_4_2_8P13 + + scripts/plot_summary-opts@1.79 +2 -2 + NTP_4_2_8P13 + + scripts/plot_summary.1plot_summaryman@1.128 +2 -2 + NTP_4_2_8P13 + + scripts/plot_summary.1plot_summarymdoc@1.128 +2 -2 + NTP_4_2_8P13 + + scripts/plot_summary.html@1.133 +203 -161 + NTP_4_2_8P13 + + scripts/plot_summary.man.in@1.128 +2 -2 + NTP_4_2_8P13 + + scripts/plot_summary.mdoc.in@1.128 +2 -2 + NTP_4_2_8P13 + + scripts/summary-opts@1.78 +2 -2 + NTP_4_2_8P13 + + scripts/summary.1summaryman@1.127 +2 -2 + NTP_4_2_8P13 + + scripts/summary.1summarymdoc@1.127 +2 -2 + NTP_4_2_8P13 + + scripts/summary.html@1.132 +184 -136 + NTP_4_2_8P13 + + scripts/summary.man.in@1.127 +2 -2 + NTP_4_2_8P13 + + scripts/summary.mdoc.in@1.127 +2 -2 + NTP_4_2_8P13 + + scripts/update-leap/invoke-update-leap.texi@1.28 +1 -1 + NTP_4_2_8P13 + + scripts/update-leap/update-leap-opts@1.29 +2 -2 + NTP_4_2_8P13 + + scripts/update-leap/update-leap.1update-leapman@1.28 +2 -2 + NTP_4_2_8P13 + + scripts/update-leap/update-leap.1update-leapmdoc@1.28 +2 -2 + NTP_4_2_8P13 + + scripts/update-leap/update-leap.html@1.29 +1 -1 + NTP_4_2_8P13 + + scripts/update-leap/update-leap.man.in@1.28 +2 -2 + NTP_4_2_8P13 + + scripts/update-leap/update-leap.mdoc.in@1.28 +2 -2 + NTP_4_2_8P13 + + sntp/invoke-sntp.texi@1.518 +1 -1 + NTP_4_2_8P13 + + sntp/sntp-opts.c@1.538 +2 -2 + NTP_4_2_8P13 + + sntp/sntp-opts.h@1.536 +3 -3 + NTP_4_2_8P13 + + sntp/sntp.1sntpman@1.353 +2 -2 + NTP_4_2_8P13 + + sntp/sntp.1sntpmdoc@1.353 +2 -2 + NTP_4_2_8P13 + + sntp/sntp.html@1.534 +472 -418 + NTP_4_2_8P13 + + sntp/sntp.man.in@1.353 +2 -2 + NTP_4_2_8P13 + + sntp/sntp.mdoc.in@1.353 +2 -2 + NTP_4_2_8P13 + + util/invoke-ntp-keygen.texi@1.521 +1 -1 + NTP_4_2_8P13 + + util/ntp-keygen-opts.c@1.540 +2 -2 + NTP_4_2_8P13 + + util/ntp-keygen-opts.h@1.538 +3 -3 + NTP_4_2_8P13 + + util/ntp-keygen.1ntp-keygenman@1.349 +2 -2 + NTP_4_2_8P13 + + util/ntp-keygen.1ntp-keygenmdoc@1.349 +2 -2 + NTP_4_2_8P13 + + util/ntp-keygen.html@1.194 +1 -1 + NTP_4_2_8P13 + + util/ntp-keygen.man.in@1.349 +2 -2 + NTP_4_2_8P13 + + util/ntp-keygen.mdoc.in@1.349 +2 -2 + NTP_4_2_8P13 + +ChangeSet@1.3893, 2020-03-03 16:25:14-08:00, ntpreleng@ntp-build.tal1.ntfo.org + Replace line with head -1 + + scripts/build/addChangeLogTag@1.6 +1 -1 + Replace line with head -1 + +ChangeSet@1.3892, 2020-03-03 16:05:38-08:00, ntpreleng@ntp-build.tal1.ntfo.org + provide get_pollskew() for simulator + + ntpd/ntp_config.c@1.374 +2 -2 + provide get_pollskew() for simulator + +ChangeSet@1.3844.24.1, 2020-03-03 03:30:13-08:00, ntpreleng@ntp-build.tal1.ntfo.org + NTP_4_2_8P13 + TAG: NTP_4_2_8P13 (currently on 1.3894) + + BitKeeper/triggers/2mirrors@1.11 +6 -2 + NTP_4_2_8P13 + + ntpd/ntpd-opts.c@1.539.1.1 +1 -1 + NTP_4_2_8P13 + + ntpd/ntpd-opts.h@1.538.1.1 +1 -1 + NTP_4_2_8P13 + + ntpd/ntpd.html@1.193 +3 -3 + NTP_4_2_8P13 + + ntpd/ntpdsim-opts.c@1.29 +372 -340 + NTP_4_2_8P13 + + ntpd/ntpdsim-opts.h@1.29 +44 -37 + NTP_4_2_8P13 + + ntpdc/ntpdc-opts.c@1.532.1.1 +1 -1 + NTP_4_2_8P13 + + ntpdc/ntpdc-opts.h@1.531.1.1 +1 -1 + NTP_4_2_8P13 + + ntpq/ntpq-opts.c@1.541.1.1 +1 -1 + NTP_4_2_8P13 + + ntpq/ntpq-opts.h@1.539.1.1 +1 -1 + NTP_4_2_8P13 + + ntpq/ntpq.html@1.192 +1 -1 + NTP_4_2_8P13 + + ntpsnmpd/ntpsnmpd-opts.c@1.534.1.1 +1 -1 + NTP_4_2_8P13 + + ntpsnmpd/ntpsnmpd-opts.h@1.533.1.1 +1 -1 + NTP_4_2_8P13 + + scripts/calc_tickadj/calc_tickadj-opts@1.10 +2 -2 + NTP_4_2_8P13 + + scripts/ntp-wait/invoke-ntp-wait.texi@1.337.1.1 +1 -1 + NTP_4_2_8P13 + + scripts/ntp-wait/ntp-wait-opts@1.73.1.1 +1 -1 + NTP_4_2_8P13 + + scripts/ntpsweep/ntpsweep-opts@1.75.1.1 +1 -1 + NTP_4_2_8P13 + + scripts/ntptrace/invoke-ntptrace.texi@1.126.1.1 +1 -1 + NTP_4_2_8P13 + + scripts/ntptrace/ntptrace-opts@1.75.1.1 +1 -1 + NTP_4_2_8P13 + + scripts/plot_summary-opts@1.76.1.1 +1 -1 + NTP_4_2_8P13 + + scripts/summary-opts@1.75.1.1 +1 -1 + NTP_4_2_8P13 + + scripts/update-leap/update-leap-opts@1.26.1.1 +1 -1 + NTP_4_2_8P13 + + sntp/sntp-opts.c@1.535.1.1 +1 -1 + NTP_4_2_8P13 + + sntp/sntp-opts.h@1.533.1.1 +1 -1 + NTP_4_2_8P13 + + util/ntp-keygen-opts.c@1.537.1.1 +1 -1 + NTP_4_2_8P13 + + util/ntp-keygen-opts.h@1.535.1.1 +1 -1 + NTP_4_2_8P13 + + util/ntp-keygen.html@1.193 +1 -1 + NTP_4_2_8P13 + +ChangeSet@1.3888, 2020-03-03 07:26:56+00:00, stenn@psp-deb1.ntp.org + cleanup + + NEWS@1.197.1.3 +3 -2 + cleanup + +ChangeSet@1.3887, 2020-02-18 05:11:26+00:00, stenn@psp-deb1.ntp.org + Cleanup distcheck psl* files + + ntpd/Makefile.am@1.138 +11 -0 + Cleanup distcheck psl* files + +ChangeSet@1.3886, 2020-02-18 05:10:35+00:00, stenn@psp-deb1.ntp.org + Distribute ntp_calgps.h + + include/Makefile.am@1.58 +1 -0 + Distribute ntp_calgps.h + +ChangeSet@1.3885, 2020-02-18 03:32:51+00:00, stenn@psp-deb1.ntp.org + Update the NEWS file for p14 + + NEWS@1.197.1.2 +107 -0 + Update the NEWS file for p14 + +ChangeSet@1.3884, 2020-02-17 11:05:46+00:00, stenn@psp-deb1.ntp.org + merge cleanup + + ntpd/ntp_proto.c@1.432 +1 -1 + merge cleanup + +ChangeSet@1.3881, 2020-02-17 08:50:00+00:00, stenn@psp-deb1.ntp.org + update + + ntpd/ntp_keyword.h@1.38 +545 -539 + update + +ChangeSet@1.3880, 2020-02-17 08:48:45+00:00, stenn@psp-deb1.ntp.org + Startp logging improvements. + Bug3596. + + html/accopt.html@1.48 +7 -2 + cleanup. + bug3596: document 'serverresponse fuzz' + + html/confopt.html@1.64.1.1 +22 -9 + Cleanup. + + Bug 3596: document xmtnonce + + html/miscopt.html@1.93 +19 -1 + Cleanup. + + bug3596: document pollskewlist + + include/Makefile.am@1.57 +1 -0 + pollskew upodates + + include/ntp.h@1.232 +8 -2 + bug3596 chagnes: + - srvfuzrft patches + - pollskew updates + - xmtnonce + + include/ntp_config.h@1.89 +27 -20 + bug3596 updates: + - pollskewlist + - srvfuzrft patches + + include/ntp_psl.h@1.1 +17 -0 + BitKeeper file include/ntp_psl.h + --- + bug3596 + + include/ntp_psl.h@1.0 +0 -0 + + include/ntp_request.h@1.54 +2 -1 + srvfuzrft patches + + include/ntp_stdlib.h@1.88 +1 -1 + randomizepoll/server response fuzz reftime fixes + + include/ntpd.h@1.207 +1 -1 + bug3596 cleanup + + libntp/statestr.c@1.31 +12 -5 + bug3596 srvrspfuz fixes + + ntpd/Makefile.am@1.137 +37 -7 + bug3596 pollskewlist changes + + ntpd/complete.conf.in@1.37 +4 -2 + bug3596: randompoll, pollskew xmtnonce + + ntpd/keyword-gen-utd@1.35 +1 -1 + Keyword table updates + + ntpd/keyword-gen.c@1.42 +3 -3 + bug3596: serverresponse fuzz, pollskewlist, xmtnonce + + ntpd/ntp.conf.def@1.34 +40 -4 + Cleanup. + bug3596: xmtnonce, serverresponse fuzz, pollskewlist, + + ntpd/ntp_config.c@1.373 +250 -26 + bug3596: serverresponse fuzz, pollskewlist, xmtnonce + + ntpd/ntp_loopfilter.c@1.195 +1 -1 + pollskew upodates + + ntpd/ntp_parser.c@1.117 +1298 -1283 + bug3596 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Thu Mar 19 17:01:58 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9DEBC26487E; Thu, 19 Mar 2020 17:01:58 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jtVZ3ls0z4Sd0; Thu, 19 Mar 2020 17:01:58 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7C3CBE2C0; Thu, 19 Mar 2020 17:01:58 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JH1wNI035525; Thu, 19 Mar 2020 17:01:58 GMT (envelope-from gordon@FreeBSD.org) Received: (from gordon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JH1va6035521; Thu, 19 Mar 2020 17:01:57 GMT (envelope-from gordon@FreeBSD.org) Message-Id: <202003191701.02JH1va6035521@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gordon set sender to gordon@FreeBSD.org using -f From: Gordon Tetlow Date: Thu, 19 Mar 2020 17:01:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r359145 - in releng: 11.3 11.3/sys/conf 12.1 12.1/sys/conf X-SVN-Group: releng X-SVN-Commit-Author: gordon X-SVN-Commit-Paths: in releng: 11.3 11.3/sys/conf 12.1 12.1/sys/conf X-SVN-Commit-Revision: 359145 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 17:01:58 -0000 Author: gordon Date: Thu Mar 19 17:01:57 2020 New Revision: 359145 URL: https://svnweb.freebsd.org/changeset/base/359145 Log: Add UPDATING entries and bump version. Approved by: so Modified: releng/11.3/UPDATING releng/11.3/sys/conf/newvers.sh releng/12.1/UPDATING releng/12.1/sys/conf/newvers.sh Modified: releng/11.3/UPDATING ============================================================================== --- releng/11.3/UPDATING Thu Mar 19 16:52:41 2020 (r359144) +++ releng/11.3/UPDATING Thu Mar 19 17:01:57 2020 (r359145) @@ -16,6 +16,28 @@ from older versions of FreeBSD, try WITHOUT_CLANG and the tip of head, and then rebuild without this option. The bootstrap process from older version of current across the gcc/clang cutover is a bit fragile. +20200319 p7 FreeBSD-EN-20:04.pfctl + FreeBSD-EN-20:06.ipv6 + FreeBSD-SA-20:04.tcp + FreeBSD-SA-20:05.if_oce_ioctl + FreeBSD-SA-20:07.epair + FreeBSD-SA-20:08.jail + FreeBSD-SA-20:09.ntp + + Fix missing pfctl(8) tunable [EN-20:04.pfctl] + + Fix incorrect checksum calculations with IPv6 extension headers [EN-20:06.ipv6] + + Fix TCP IPv6 SYN cache kernel information disclosure [SA-20:04.tcp] + + Fix insufficient oce(4) ioctl(2) privilege checking [SA-20:05.if_oce_ioctl] + + Fix incorrect user-controlled pointer use in epair [SA-20:07.epair] + + Fix kernel memory disclosure with nested jails [SA-20:08.jail] + + Fix multiple denial of service in ntpd [SA-20:09.ntp] + 20200128 p6 FreeBSD-EN-20:01.ssp FreeBSD-EN-20:02.nmount FreeBSD-SA-20:01.libfetch Modified: releng/11.3/sys/conf/newvers.sh ============================================================================== --- releng/11.3/sys/conf/newvers.sh Thu Mar 19 16:52:41 2020 (r359144) +++ releng/11.3/sys/conf/newvers.sh Thu Mar 19 17:01:57 2020 (r359145) @@ -44,7 +44,7 @@ TYPE="FreeBSD" REVISION="11.3" -BRANCH="RELEASE-p6" +BRANCH="RELEASE-p7" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi Modified: releng/12.1/UPDATING ============================================================================== --- releng/12.1/UPDATING Thu Mar 19 16:52:41 2020 (r359144) +++ releng/12.1/UPDATING Thu Mar 19 17:01:57 2020 (r359145) @@ -16,6 +16,34 @@ from older versions of FreeBSD, try WITHOUT_CLANG and the tip of head, and then rebuild without this option. The bootstrap process from older version of current across the gcc/clang cutover is a bit fragile. +20200319 p3 FreeBSD-EN-20:03.sshd + FreeBSD-EN-20:05.mlx5en + FreeBSD-EN-20:06.ipv6 + FreeBSD-SA-20:04.tcp + FreeBSD-SA-20:05.if_oce_ioctl + FreeBSD-SA-20:06.if_ixl_ioctl + FreeBSD-SA-20:07.epair + FreeBSD-SA-20:08.jail + FreeBSD-SA-20:09.ntp + + Fix misleading log messages upon successful sshd login [EN-20:03.sshd] + + Fix packet forwarding performance in mlx5en(4) driver [EN-20:05.mlx5en] + + Fix incorrect checksum calculations with IPv6 extension headers [EN-20:06.ipv6] + + Fix TCP IPv6 SYN cache kernel information disclosure [SA-20:04.tcp] + + Fix insufficient oce(4) ioctl(2) privilege checking [SA-20:05.if_oce_ioctl] + + Fix insufficient ixl(4) ioctl(2) privilege checking [SA-20:06.if_ixl_ioctl] + + Fix incorrect user-controlled pointer use in epair [SA-20:07.epair] + + Fix kernel memory disclosure with nested jails [SA-20:08.jail] + + Fix multiple denial of service in ntpd [SA-20:09.ntp] + 20200128 p2 FreeBSD-EN-20:01.ssp FreeBSD-SA-20:01.libfetch FreeBSD-SA-20:03.thrmisc Modified: releng/12.1/sys/conf/newvers.sh ============================================================================== --- releng/12.1/sys/conf/newvers.sh Thu Mar 19 16:52:41 2020 (r359144) +++ releng/12.1/sys/conf/newvers.sh Thu Mar 19 17:01:57 2020 (r359145) @@ -46,7 +46,7 @@ TYPE="FreeBSD" REVISION="12.1" -BRANCH="RELEASE-p2" +BRANCH="RELEASE-p3" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From owner-svn-src-all@freebsd.org Thu Mar 19 17:20:51 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AC3AD2653A9; Thu, 19 Mar 2020 17:20:51 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jtwM3YkBz3RFF; Thu, 19 Mar 2020 17:20:51 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5564FE607; Thu, 19 Mar 2020 17:20:51 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JHKprd043731; Thu, 19 Mar 2020 17:20:51 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JHKpD6043730; Thu, 19 Mar 2020 17:20:51 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202003191720.02JHKpD6043730@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 19 Mar 2020 17:20:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359146 - head/sys/cam/scsi X-SVN-Group: head X-SVN-Commit-Author: mav X-SVN-Commit-Paths: head/sys/cam/scsi X-SVN-Commit-Revision: 359146 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 17:20:51 -0000 Author: mav Date: Thu Mar 19 17:20:50 2020 New Revision: 359146 URL: https://svnweb.freebsd.org/changeset/base/359146 Log: Fix SES on device slots without phys after r349321. Broadcom 9400-8i8e HBAs report virtual SES device, where slots representing external connectors are reported having no phys. Since sasdev_phys is NULL there and proto_hdr is a union, ses_paths_iter() misinterpreted them as ATA. Add explicit protocol check to properly differentiate them. MFC after: 1 week Sponsored by: iXsystems, Inc. Modified: head/sys/cam/scsi/scsi_enc_ses.c Modified: head/sys/cam/scsi/scsi_enc_ses.c ============================================================================== --- head/sys/cam/scsi/scsi_enc_ses.c Thu Mar 19 17:01:57 2020 (r359145) +++ head/sys/cam/scsi/scsi_enc_ses.c Thu Mar 19 17:20:50 2020 (r359146) @@ -956,30 +956,38 @@ ses_paths_iter(enc_softc_t *enc, enc_element_t *elm, if (addl->hdr == NULL) return; - if (addl->proto_hdr.sas != NULL && - addl->proto_data.sasdev_phys != NULL) { - ses_path_iter_args_t args; + switch(ses_elm_addlstatus_proto(addl->hdr)) { + case SPSP_PROTO_SAS: + if (addl->proto_hdr.sas != NULL && + addl->proto_data.sasdev_phys != NULL) { + ses_path_iter_args_t args; - args.callback = callback; - args.callback_arg = callback_arg; - ses_devids_iter(enc, elm, ses_path_iter_devid_callback, &args); - } else if (addl->proto_hdr.ata != NULL) { - struct cam_path *path; - struct ccb_getdev cgd; + args.callback = callback; + args.callback_arg = callback_arg; + ses_devids_iter(enc, elm, ses_path_iter_devid_callback, + &args); + } + break; + case SPSP_PROTO_ATA: + if (addl->proto_hdr.ata != NULL) { + struct cam_path *path; + struct ccb_getdev cgd; - if (xpt_create_path(&path, /*periph*/NULL, - scsi_4btoul(addl->proto_hdr.ata->bus), - scsi_4btoul(addl->proto_hdr.ata->target), 0) - != CAM_REQ_CMP) - return; + if (xpt_create_path(&path, /*periph*/NULL, + scsi_4btoul(addl->proto_hdr.ata->bus), + scsi_4btoul(addl->proto_hdr.ata->target), 0) + != CAM_REQ_CMP) + return; - xpt_setup_ccb(&cgd.ccb_h, path, CAM_PRIORITY_NORMAL); - cgd.ccb_h.func_code = XPT_GDEV_TYPE; - xpt_action((union ccb *)&cgd); - if (cgd.ccb_h.status == CAM_REQ_CMP) - callback(enc, elm, path, callback_arg); + xpt_setup_ccb(&cgd.ccb_h, path, CAM_PRIORITY_NORMAL); + cgd.ccb_h.func_code = XPT_GDEV_TYPE; + xpt_action((union ccb *)&cgd); + if (cgd.ccb_h.status == CAM_REQ_CMP) + callback(enc, elm, path, callback_arg); - xpt_free_path(path); + xpt_free_path(path); + } + break; } } From owner-svn-src-all@freebsd.org Thu Mar 19 17:27:09 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 730262656CF; Thu, 19 Mar 2020 17:27:09 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jv3d0tQJz4CKH; Thu, 19 Mar 2020 17:27:09 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D2552E6CE; Thu, 19 Mar 2020 17:27:08 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JHR88N048986; Thu, 19 Mar 2020 17:27:08 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JHR8gd048985; Thu, 19 Mar 2020 17:27:08 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <202003191727.02JHR8gd048985@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Thu, 19 Mar 2020 17:27:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359147 - head/stand/common X-SVN-Group: head X-SVN-Commit-Author: tsoome X-SVN-Commit-Paths: head/stand/common X-SVN-Commit-Revision: 359147 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 17:27:09 -0000 Author: tsoome Date: Thu Mar 19 17:27:08 2020 New Revision: 359147 URL: https://svnweb.freebsd.org/changeset/base/359147 Log: loader: misaligned access of dos_partition structure armv7 crash due to misligned access of dos_partition dp_start field. Allocate and make copy of dos_partition array to make sure the data is aligned. Reported by: marklmi at yahoo.com Modified: head/stand/common/part.c Modified: head/stand/common/part.c ============================================================================== --- head/stand/common/part.c Thu Mar 19 17:20:50 2020 (r359146) +++ head/stand/common/part.c Thu Mar 19 17:27:08 2020 (r359147) @@ -654,6 +654,7 @@ ptable_open(void *dev, uint64_t sectors, uint16_t sect int has_ext; #endif table = NULL; + dp = NULL; buf = malloc(sectorsize); if (buf == NULL) return (NULL); @@ -708,7 +709,11 @@ ptable_open(void *dev, uint64_t sectors, uint16_t sect goto out; } /* Check that we have PMBR. Also do some validation. */ - dp = (struct dos_partition *)(buf + DOSPARTOFF); + dp = malloc(NDOSPART * sizeof(struct dos_partition)); + if (dp == NULL) + goto out; + bcopy(buf + DOSPARTOFF, dp, NDOSPART * sizeof(struct dos_partition)); + /* * In mac we can have PMBR partition in hybrid MBR; * that is, MBR partition which has DOSPTYP_PMBR entry defined as @@ -770,6 +775,7 @@ ptable_open(void *dev, uint64_t sectors, uint16_t sect #endif /* LOADER_MBR_SUPPORT */ #endif /* LOADER_MBR_SUPPORT || LOADER_GPT_SUPPORT */ out: + free(dp); free(buf); return (table); } From owner-svn-src-all@freebsd.org Thu Mar 19 17:59:29 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8E34D26C636; Thu, 19 Mar 2020 17:59:29 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jvmw6q0tz458h; Thu, 19 Mar 2020 17:59:28 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AE3DFECAD; Thu, 19 Mar 2020 17:59:28 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JHxSZU066922; Thu, 19 Mar 2020 17:59:28 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JHxShn066921; Thu, 19 Mar 2020 17:59:28 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <202003191759.02JHxShn066921@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Thu, 19 Mar 2020 17:59:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359148 - stable/11/release/doc/share/xml X-SVN-Group: stable-11 X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: stable/11/release/doc/share/xml X-SVN-Commit-Revision: 359148 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 17:59:29 -0000 Author: gjb Date: Thu Mar 19 17:59:28 2020 New Revision: 359148 URL: https://svnweb.freebsd.org/changeset/base/359148 Log: Document EN-20:03-06, SA-20:04-09. Sponsored by: Rubicon Communications, LLC (netgate.com) Modified: stable/11/release/doc/share/xml/errata.xml stable/11/release/doc/share/xml/security.xml Modified: stable/11/release/doc/share/xml/errata.xml ============================================================================== --- stable/11/release/doc/share/xml/errata.xml Thu Mar 19 17:27:08 2020 (r359147) +++ stable/11/release/doc/share/xml/errata.xml Thu Mar 19 17:59:28 2020 (r359148) @@ -69,6 +69,20 @@ 28 January 2020 Invalid pointer dereference + + + FreeBSD-EN-20:04.pfctl + 18 March 2020 + Missing &man.pfctl.8; tunable + + + + FreeBSD-EN-20:06.ipv6 + 18 March 2020 + Incorrect checksum calculations + Modified: stable/11/release/doc/share/xml/security.xml ============================================================================== --- stable/11/release/doc/share/xml/security.xml Thu Mar 19 17:27:08 2020 (r359147) +++ stable/11/release/doc/share/xml/security.xml Thu Mar 19 17:59:28 2020 (r359148) @@ -139,6 +139,45 @@ 28 January 2020 Kernel stack data disclosure + + + FreeBSD-SA-20:04.tcp + 18 March 2020 + TCP IPv6 SYN cache kernel information + disclosure + + + + FreeBSD-SA-20:05.if_oce_ioctl + 18 March 2020 + Insufficient &man.ioctl.2; privilege + checking + + + + FreeBSD-SA-20:07.epair + 18 March 2020 + Incorrect user-controlled pointer + use + + + + FreeBSD-SA-20:08.jail + 18 March 2020 + Kernel memory disclosure with nested + jails + + + + FreeBSD-SA-20:09.ntp + 18 March 2020 + Multiple denial of service + From owner-svn-src-all@freebsd.org Thu Mar 19 18:15:11 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7285B26D1B8; Thu, 19 Mar 2020 18:15:11 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jw723PLSz4Mcv; Thu, 19 Mar 2020 18:15:10 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 20AAFF073; Thu, 19 Mar 2020 18:15:10 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JIFAFR078909; Thu, 19 Mar 2020 18:15:10 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JIF9t3078908; Thu, 19 Mar 2020 18:15:09 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003191815.02JIF9t3078908@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 19 Mar 2020 18:15:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359149 - stable/12/tools/boot X-SVN-Group: stable-12 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/12/tools/boot X-SVN-Commit-Revision: 359149 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 18:15:11 -0000 Author: emaste Date: Thu Mar 19 18:15:09 2020 New Revision: 359149 URL: https://svnweb.freebsd.org/changeset/base/359149 Log: MFC r346080: Add a smoke test QEMU boot script for CI And followon commits: r346317 (ian): Allow this test script to be run from within src/tools/boot r346329: Install some entropy for QEMU CI smoke test r346330: Put QEMU CI smoke test boot log in /tmp if TMPDIR not set r346748 (bcran): Fix tools/boot/ci-qemu-test.sh and make some improvements r346961: revert QEMU q35 platform use from r346748 r352063: ci-qemu-test: if firmware is not available, hint at pkg to install r358472: CI: print wired page count on boot Sponsored by: The FreeBSD Foundation Added: stable/12/tools/boot/ci-qemu-test.sh - copied, changed from r346080, head/tools/boot/ci-qemu-test.sh Modified: Directory Properties: stable/12/ (props changed) Copied and modified: stable/12/tools/boot/ci-qemu-test.sh (from r346080, head/tools/boot/ci-qemu-test.sh) ============================================================================== --- head/tools/boot/ci-qemu-test.sh Wed Apr 10 13:41:34 2019 (r346080, copy source) +++ stable/12/tools/boot/ci-qemu-test.sh Thu Mar 19 18:15:09 2020 (r359149) @@ -2,62 +2,111 @@ # Install loader, kernel, and enough of userland to boot in QEMU and echo # "Hello world." from init, as a very quick smoke test for CI. Uses QEMU's -# virtual FAT filesystem to avoid the need to create a disk image. +# virtual FAT filesystem to avoid the need to create a disk image. While +# designed for CI automated testing, this script can also be run by hand as +# a quick smoke-test. The rootgen.sh and related scripts generate much more +# extensive tests for many combinations of boot env (ufs, zfs, geli, etc). # # $FreeBSD$ set -e -# Root directory for minimal FreeBSD installation. -ROOTDIR=$(pwd)/fat-root +die() +{ + echo "$*" 1>&2 + exit 1 +} -# Create minimal directory structure. -rm -f $ROOTDIR/efi/boot/BOOTx64.EFI -for dir in dev bin efi/boot etc lib libexec sbin usr/libexec; do - mkdir -p $ROOTDIR/$dir -done +tempdir_cleanup() +{ + trap - EXIT SIGINT SIGHUP SIGTERM SIGQUIT + rm -rf ${ROOTDIR} +} -# Install kernel, loader and minimal userland. -make -DNO_ROOT DESTDIR=$ROOTDIR \ - MODULES_OVERRIDE= \ - WITHOUT_DEBUG_FILES=yes \ - WITHOUT_KERNEL_SYMBOLS=yes \ - installkernel -for dir in stand \ - lib/libc lib/libedit lib/ncurses \ - libexec/rtld-elf \ - bin/sh sbin/init sbin/shutdown; do - make -DNO_ROOT DESTDIR=$ROOTDIR INSTALL="install -U" \ - WITHOUT_MAN= \ - WITHOUT_PROFILE= \ - WITHOUT_TESTS= \ - WITHOUT_TOOLCHAIN= \ - -C $dir install -done +tempdir_setup() +{ + # Create minimal directory structure and populate it. + # Caller must cd ${SRCTOP} before calling this function. -# Put loader in standard EFI location. -mv $ROOTDIR/boot/loader.efi $ROOTDIR/efi/boot/BOOTx64.EFI + for dir in dev bin efi/boot etc lib libexec sbin usr/lib usr/libexec; do + mkdir -p ${ROOTDIR}/${dir} + done -# Configuration files. -cat > $ROOTDIR/boot/loader.conf < ${ROOTDIR}/boot/loader.conf < $ROOTDIR/etc/rc < ${ROOTDIR}/etc/rc <&2 + die "Cannot read UEFI firmware file ${OVMF}" +fi + +# Create a temp dir to hold the boot image. +ROOTDIR=$(mktemp -d -t ci-qemu-test-fat-root) +trap tempdir_cleanup EXIT SIGINT SIGHUP SIGTERM SIGQUIT + +# Populate the boot image in a temp dir. +( cd ${SRCTOP} && tempdir_setup ) + # And, boot in QEMU. +: ${BOOTLOG:=${TMPDIR:-/tmp}/ci-qemu-test-boot.log} timeout 300 \ - qemu-system-x86_64 -m 256M -bios OVMF.fd \ - -serial stdio -vga none -nographic -monitor none \ - -snapshot -hda fat:$ROOTDIR 2>&1 | tee boot.log -grep -q 'Hello world.' boot.log -echo OK + qemu-system-x86_64 -m 256M -nodefaults \ + -drive if=pflash,format=raw,readonly,file=${OVMF} \ + -serial stdio -vga none -nographic -monitor none \ + -snapshot -hda fat:${ROOTDIR} 2>&1 | tee ${BOOTLOG} + +# Check whether we succesfully booted... +if grep -q 'Hello world.' ${BOOTLOG}; then + echo "OK" +else + die "Did not boot successfully, see ${BOOTLOG}" +fi From owner-svn-src-all@freebsd.org Thu Mar 19 18:17:44 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5D68926D362; Thu, 19 Mar 2020 18:17:44 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jw9z5h4tz4S6Y; Thu, 19 Mar 2020 18:17:43 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7785EF079; Thu, 19 Mar 2020 18:17:43 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JIHhaF079075; Thu, 19 Mar 2020 18:17:43 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JIHh6e079074; Thu, 19 Mar 2020 18:17:43 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003191817.02JIHh6e079074@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 19 Mar 2020 18:17:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359150 - stable/12 X-SVN-Group: stable-12 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/12 X-SVN-Commit-Revision: 359150 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 18:17:44 -0000 Author: emaste Date: Thu Mar 19 18:17:43 2020 New Revision: 359150 URL: https://svnweb.freebsd.org/changeset/base/359150 Log: MFC r346085: Add Cirrus CI config file to support CI builds Also followup commits: r346121: Cirrus-CI: pass OVMF env var to test script for upcoming changes r350302: cirrus.yml: use OVMF.fd from uefi-edk2-qemu-x86_64 package r350449: cirrus.yml: stop fetching OVMF.fd now that we're using the pkg r356867: Cirrus-CI: bump VM image to FreeBSD 12.1 Sponsored by: The FreeBSD Foundation Added: stable/12/.cirrus.yml - copied, changed from r346085, head/.cirrus.yml Modified: Directory Properties: stable/12/ (props changed) Copied and modified: stable/12/.cirrus.yml (from r346085, head/.cirrus.yml) ============================================================================== --- head/.cirrus.yml Wed Apr 10 15:38:53 2019 (r346085, copy source) +++ stable/12/.cirrus.yml Thu Mar 19 18:17:43 2020 (r359150) @@ -1,7 +1,7 @@ # $FreeBSD$ freebsd_instance: - image: freebsd-12-0-release-amd64 + image: freebsd-12-1-release-amd64 cpu: 8 memory: 24G @@ -11,8 +11,7 @@ env: task: timeout_in: 90m install_script: - - pkg install -y qemu-devel - - fetch https://people.freebsd.org/~emaste/OVMF.fd + - pkg install -y qemu-devel uefi-edk2-qemu-x86_64 script: - make -j$(sysctl -n hw.ncpu) WITHOUT_TOOLCHAIN=yes buildworld buildkernel test_script: From owner-svn-src-all@freebsd.org Thu Mar 19 18:55:57 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8474C26E41B; Thu, 19 Mar 2020 18:55:57 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jx240FqGz4TxY; Thu, 19 Mar 2020 18:55:56 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 23241F7C9; Thu, 19 Mar 2020 18:55:55 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JIts8H002933; Thu, 19 Mar 2020 18:55:54 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JItsK1002930; Thu, 19 Mar 2020 18:55:54 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <202003191855.02JItsK1002930@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Thu, 19 Mar 2020 18:55:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359151 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 359151 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 18:55:57 -0000 Author: tuexen Date: Thu Mar 19 18:55:54 2020 New Revision: 359151 URL: https://svnweb.freebsd.org/changeset/base/359151 Log: Cleanup the stream reset and asconf timer. MFC after: 1 week Modified: head/sys/netinet/sctp_timer.c head/sys/netinet/sctp_timer.h head/sys/netinet/sctputil.c Modified: head/sys/netinet/sctp_timer.c ============================================================================== --- head/sys/netinet/sctp_timer.c Thu Mar 19 18:17:43 2020 (r359150) +++ head/sys/netinet/sctp_timer.c Thu Mar 19 18:55:54 2020 (r359151) @@ -1103,10 +1103,9 @@ sctp_cookie_timer(struct sctp_inpcb *inp, } int -sctp_strreset_timer(struct sctp_inpcb *inp, struct sctp_tcb *stcb, - struct sctp_nets *net) +sctp_strreset_timer(struct sctp_inpcb *inp, struct sctp_tcb *stcb) { - struct sctp_nets *alt; + struct sctp_nets *alt, *net; struct sctp_tmit_chunk *strrst = NULL, *chk = NULL; if (stcb->asoc.stream_reset_outstanding == 0) { @@ -1117,9 +1116,9 @@ sctp_strreset_timer(struct sctp_inpcb *inp, struct sct if (strrst == NULL) { return (0); } + net = strrst->whoTo; /* do threshold management */ - if (sctp_threshold_management(inp, stcb, strrst->whoTo, - stcb->asoc.max_send_times)) { + if (sctp_threshold_management(inp, stcb, net, stcb->asoc.max_send_times)) { /* Assoc is over */ return (1); } @@ -1127,9 +1126,8 @@ sctp_strreset_timer(struct sctp_inpcb *inp, struct sct * Cleared threshold management, now lets backoff the address and * select an alternate */ - sctp_backoff_on_timeout(stcb, strrst->whoTo, 1, 0, 0); - alt = sctp_find_alternate_net(stcb, strrst->whoTo, 0); - sctp_free_remote_addr(strrst->whoTo); + sctp_backoff_on_timeout(stcb, net, 1, 0, 0); + alt = sctp_find_alternate_net(stcb, net, 0); strrst->whoTo = alt; atomic_add_int(&alt->ref_count, 1); @@ -1154,6 +1152,8 @@ sctp_strreset_timer(struct sctp_inpcb *inp, struct sct */ sctp_move_chunks_from_net(stcb, net); } + sctp_free_remote_addr(net); + /* mark the retran info */ if (strrst->sent != SCTP_DATAGRAM_RESEND) sctp_ucount_incr(stcb->asoc.sent_queue_retran_cnt); @@ -1161,7 +1161,7 @@ sctp_strreset_timer(struct sctp_inpcb *inp, struct sct strrst->flags |= CHUNK_FLAGS_FRAGMENT_OK; /* restart the timer */ - sctp_timer_start(SCTP_TIMER_TYPE_STRRESET, inp, stcb, strrst->whoTo); + sctp_timer_start(SCTP_TIMER_TYPE_STRRESET, inp, stcb, alt); return (0); } @@ -1186,8 +1186,9 @@ sctp_asconf_timer(struct sctp_inpcb *inp, struct sctp_ if (asconf == NULL) { return (0); } + net = asconf->whoTo; /* do threshold management */ - if (sctp_threshold_management(inp, stcb, asconf->whoTo, + if (sctp_threshold_management(inp, stcb, net, stcb->asoc.max_send_times)) { /* Assoc is over */ return (1); @@ -1208,10 +1209,9 @@ sctp_asconf_timer(struct sctp_inpcb *inp, struct sctp_ * cleared threshold management, so now backoff the net and * select an alternate */ - sctp_backoff_on_timeout(stcb, asconf->whoTo, 1, 0, 0); - alt = sctp_find_alternate_net(stcb, asconf->whoTo, 0); + sctp_backoff_on_timeout(stcb, net, 1, 0, 0); + alt = sctp_find_alternate_net(stcb, net, 0); if (asconf->whoTo != alt) { - sctp_free_remote_addr(asconf->whoTo); asconf->whoTo = alt; atomic_add_int(&alt->ref_count, 1); } @@ -1248,6 +1248,8 @@ sctp_asconf_timer(struct sctp_inpcb *inp, struct sctp_ */ sctp_move_chunks_from_net(stcb, net); } + sctp_free_remote_addr(net); + /* mark the retran info */ if (asconf->sent != SCTP_DATAGRAM_RESEND) sctp_ucount_incr(stcb->asoc.sent_queue_retran_cnt); Modified: head/sys/netinet/sctp_timer.h ============================================================================== --- head/sys/netinet/sctp_timer.h Thu Mar 19 18:17:43 2020 (r359150) +++ head/sys/netinet/sctp_timer.h Thu Mar 19 18:55:54 2020 (r359151) @@ -50,12 +50,15 @@ sctp_find_alternate_net(struct sctp_tcb *, int sctp_t3rxt_timer(struct sctp_inpcb *, struct sctp_tcb *, struct sctp_nets *); + int sctp_t1init_timer(struct sctp_inpcb *, struct sctp_tcb *, struct sctp_nets *); + int sctp_shutdown_timer(struct sctp_inpcb *, struct sctp_tcb *, struct sctp_nets *); + int sctp_heartbeat_timer(struct sctp_inpcb *, struct sctp_tcb *, struct sctp_nets *); @@ -72,8 +75,7 @@ int sctp_shutdownack_timer(struct sctp_inpcb *, struct sctp_tcb *, struct sctp_nets *); int -sctp_strreset_timer(struct sctp_inpcb *inp, struct sctp_tcb *stcb, - struct sctp_nets *net); + sctp_strreset_timer(struct sctp_inpcb *, struct sctp_tcb *); int sctp_asconf_timer(struct sctp_inpcb *, struct sctp_tcb *, Modified: head/sys/netinet/sctputil.c ============================================================================== --- head/sys/netinet/sctputil.c Thu Mar 19 18:17:43 2020 (r359150) +++ head/sys/netinet/sctputil.c Thu Mar 19 18:55:54 2020 (r359151) @@ -1939,7 +1939,7 @@ sctp_timeout_handler(void *t) if ((stcb == NULL) || (inp == NULL)) { break; } - if (sctp_strreset_timer(inp, stcb, net)) { + if (sctp_strreset_timer(inp, stcb)) { /* no need to unlock on tcb its gone */ goto out_decr; } From owner-svn-src-all@freebsd.org Thu Mar 19 21:01:18 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 67496270B37; Thu, 19 Mar 2020 21:01:18 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jzpk24Wrz4QM0; Thu, 19 Mar 2020 21:01:18 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 426F718DA2; Thu, 19 Mar 2020 21:01:18 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JL1IPP078641; Thu, 19 Mar 2020 21:01:18 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JL1GbV078632; Thu, 19 Mar 2020 21:01:16 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <202003192101.02JL1GbV078632@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Thu, 19 Mar 2020 21:01:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359152 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 359152 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 21:01:18 -0000 Author: tuexen Date: Thu Mar 19 21:01:16 2020 New Revision: 359152 URL: https://svnweb.freebsd.org/changeset/base/359152 Log: Consistently provide arguments for timer start and stop routines. This is another step in cleaning up timer handling. MFC after: 1 week Modified: head/sys/netinet/sctp_asconf.c head/sys/netinet/sctp_asconf.h head/sys/netinet/sctp_indata.c head/sys/netinet/sctp_input.c head/sys/netinet/sctp_output.c head/sys/netinet/sctp_pcb.c head/sys/netinet/sctp_timer.c head/sys/netinet/sctp_usrreq.c head/sys/netinet/sctputil.c Modified: head/sys/netinet/sctp_asconf.c ============================================================================== --- head/sys/netinet/sctp_asconf.c Thu Mar 19 18:55:54 2020 (r359151) +++ head/sys/netinet/sctp_asconf.c Thu Mar 19 21:01:16 2020 (r359152) @@ -939,12 +939,12 @@ sctp_addr_match(struct sctp_paramhdr *ph, struct socka * Cleanup for non-responded/OP ERR'd ASCONF */ void -sctp_asconf_cleanup(struct sctp_tcb *stcb, struct sctp_nets *net) +sctp_asconf_cleanup(struct sctp_tcb *stcb) { /* * clear out any existing asconfs going out */ - sctp_timer_stop(SCTP_TIMER_TYPE_ASCONF, stcb->sctp_ep, stcb, net, + sctp_timer_stop(SCTP_TIMER_TYPE_ASCONF, stcb->sctp_ep, stcb, NULL, SCTP_FROM_SCTP_ASCONF + SCTP_LOC_2); stcb->asoc.asconf_seq_out_acked = stcb->asoc.asconf_seq_out; /* remove the old ASCONF on our outbound queue */ @@ -1725,7 +1725,7 @@ sctp_handle_asconf_ack(struct mbuf *m, int offset, if (serial_num == asoc->asconf_seq_out - 1) { /* stop our timer */ - sctp_timer_stop(SCTP_TIMER_TYPE_ASCONF, stcb->sctp_ep, stcb, net, + sctp_timer_stop(SCTP_TIMER_TYPE_ASCONF, stcb->sctp_ep, stcb, NULL, SCTP_FROM_SCTP_ASCONF + SCTP_LOC_5); } Modified: head/sys/netinet/sctp_asconf.h ============================================================================== --- head/sys/netinet/sctp_asconf.h Thu Mar 19 18:55:54 2020 (r359151) +++ head/sys/netinet/sctp_asconf.h Thu Mar 19 21:01:16 2020 (r359152) @@ -43,7 +43,7 @@ __FBSDID("$FreeBSD$"); /* * function prototypes */ -extern void sctp_asconf_cleanup(struct sctp_tcb *, struct sctp_nets *); +extern void sctp_asconf_cleanup(struct sctp_tcb *); extern struct mbuf *sctp_compose_asconf(struct sctp_tcb *, int *, int); Modified: head/sys/netinet/sctp_indata.c ============================================================================== --- head/sys/netinet/sctp_indata.c Thu Mar 19 18:55:54 2020 (r359151) +++ head/sys/netinet/sctp_indata.c Thu Mar 19 21:01:16 2020 (r359152) @@ -4392,7 +4392,7 @@ again: sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, stcb->sctp_ep, stcb, netp); sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, - stcb->sctp_ep, stcb, netp); + stcb->sctp_ep, stcb, NULL); } else if ((SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED) && (asoc->stream_queue_cnt == 0)) { struct sctp_nets *netp; @@ -5087,7 +5087,7 @@ hopeless_peer: sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, stcb->sctp_ep, stcb, netp); sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, - stcb->sctp_ep, stcb, netp); + stcb->sctp_ep, stcb, NULL); return; } else if ((SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED) && (asoc->stream_queue_cnt == 0)) { Modified: head/sys/netinet/sctp_input.c ============================================================================== --- head/sys/netinet/sctp_input.c Thu Mar 19 18:55:54 2020 (r359151) +++ head/sys/netinet/sctp_input.c Thu Mar 19 21:01:16 2020 (r359152) @@ -826,7 +826,7 @@ sctp_handle_abort(struct sctp_abort_chunk *abort, error = 0; } /* stop any receive timers */ - sctp_timer_stop(SCTP_TIMER_TYPE_RECV, stcb->sctp_ep, stcb, net, + sctp_timer_stop(SCTP_TIMER_TYPE_RECV, stcb->sctp_ep, stcb, NULL, SCTP_FROM_SCTP_INPUT + SCTP_LOC_7); /* notify user of the abort and clean up... */ sctp_abort_notification(stcb, 1, error, abort, SCTP_SO_NOT_LOCKED); @@ -1110,13 +1110,12 @@ sctp_handle_shutdown_ack(struct sctp_shutdown_ack_chun } static void -sctp_process_unrecog_chunk(struct sctp_tcb *stcb, uint8_t chunk_type, - struct sctp_nets *net) +sctp_process_unrecog_chunk(struct sctp_tcb *stcb, uint8_t chunk_type) { switch (chunk_type) { case SCTP_ASCONF_ACK: case SCTP_ASCONF: - sctp_asconf_cleanup(stcb, net); + sctp_asconf_cleanup(stcb); break; case SCTP_IFORWARD_CUM_TSN: case SCTP_FORWARD_CUM_TSN: @@ -1294,7 +1293,7 @@ sctp_handle_error(struct sctp_chunkhdr *ch, struct sctp_error_unrecognized_chunk *unrec_chunk; unrec_chunk = (struct sctp_error_unrecognized_chunk *)cause; - sctp_process_unrecog_chunk(stcb, unrec_chunk->ch.chunk_type, net); + sctp_process_unrecog_chunk(stcb, unrec_chunk->ch.chunk_type); } break; case SCTP_CAUSE_UNRECOG_PARAM: @@ -1643,7 +1642,7 @@ sctp_process_cookie_existing(struct mbuf *m, int iphle SCTP_SET_STATE(stcb, SCTP_STATE_OPEN); if (asoc->state & SCTP_STATE_SHUTDOWN_PENDING) { sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, - stcb->sctp_ep, stcb, asoc->primary_destination); + stcb->sctp_ep, stcb, NULL); } SCTP_STAT_INCR_GAUGE32(sctps_currestab); sctp_stop_all_cookie_timers(stcb); @@ -1886,7 +1885,7 @@ sctp_process_cookie_existing(struct mbuf *m, int iphle SCTP_SET_STATE(stcb, SCTP_STATE_OPEN); if (asoc->state & SCTP_STATE_SHUTDOWN_PENDING) { sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, - stcb->sctp_ep, stcb, asoc->primary_destination); + stcb->sctp_ep, stcb, NULL); } sctp_stop_all_cookie_timers(stcb); sctp_toss_old_cookies(stcb, asoc); @@ -1956,7 +1955,7 @@ sctp_process_cookie_existing(struct mbuf *m, int iphle if (asoc->state & SCTP_STATE_SHUTDOWN_PENDING) { SCTP_SET_STATE(stcb, SCTP_STATE_OPEN); sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, - stcb->sctp_ep, stcb, asoc->primary_destination); + stcb->sctp_ep, stcb, NULL); } else if (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_SENT) { /* move to OPEN state, if not in SHUTDOWN_SENT */ @@ -2352,7 +2351,7 @@ sctp_process_cookie_new(struct mbuf *m, int iphlen, in SCTP_SET_STATE(stcb, SCTP_STATE_OPEN); if (asoc->state & SCTP_STATE_SHUTDOWN_PENDING) { sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, - stcb->sctp_ep, stcb, asoc->primary_destination); + stcb->sctp_ep, stcb, NULL); } sctp_stop_all_cookie_timers(stcb); SCTP_STAT_INCR_COUNTER32(sctps_passiveestab); @@ -2980,7 +2979,7 @@ sctp_handle_cookie_ack(struct sctp_cookie_ack_chunk *c sctp_start_net_timers(stcb); if (asoc->state & SCTP_STATE_SHUTDOWN_PENDING) { sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, - stcb->sctp_ep, stcb, asoc->primary_destination); + stcb->sctp_ep, stcb, NULL); } /* update RTO */ @@ -3660,7 +3659,7 @@ sctp_clean_up_stream_reset(struct sctp_tcb *stcb) } asoc->str_reset = NULL; sctp_timer_stop(SCTP_TIMER_TYPE_STRRESET, stcb->sctp_ep, stcb, - chk->whoTo, SCTP_FROM_SCTP_INPUT + SCTP_LOC_28); + NULL, SCTP_FROM_SCTP_INPUT + SCTP_LOC_28); TAILQ_REMOVE(&asoc->control_send_queue, chk, sctp_next); asoc->ctrl_queue_cnt--; if (chk->data) { Modified: head/sys/netinet/sctp_output.c ============================================================================== --- head/sys/netinet/sctp_output.c Thu Mar 19 18:55:54 2020 (r359151) +++ head/sys/netinet/sctp_output.c Thu Mar 19 21:01:16 2020 (r359152) @@ -6735,7 +6735,7 @@ sctp_sendall_iterator(struct sctp_inpcb *inp, struct s sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, stcb->sctp_ep, stcb, net); sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, stcb, - asoc->primary_destination); + NULL); added_control = 1; do_chunk_output = 0; } @@ -6775,7 +6775,7 @@ sctp_sendall_iterator(struct sctp_inpcb *inp, struct s goto no_chunk_output; } sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, stcb, - asoc->primary_destination); + NULL); } } @@ -8447,7 +8447,7 @@ again_one_more_time: /* turn off the timer */ if (SCTP_OS_TIMER_PENDING(&stcb->asoc.dack_timer.timer)) { sctp_timer_stop(SCTP_TIMER_TYPE_RECV, - inp, stcb, net, + inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT + SCTP_LOC_1); } } @@ -13577,7 +13577,7 @@ dataless_eof: sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, stcb->sctp_ep, stcb, netp); sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, stcb, - asoc->primary_destination); + NULL); } } else { /*- @@ -13629,7 +13629,7 @@ dataless_eof: goto out; } sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, stcb, - asoc->primary_destination); + NULL); sctp_feature_off(inp, SCTP_PCB_FLAGS_NODELAY); } } Modified: head/sys/netinet/sctp_pcb.c ============================================================================== --- head/sys/netinet/sctp_pcb.c Thu Mar 19 18:55:54 2020 (r359151) +++ head/sys/netinet/sctp_pcb.c Thu Mar 19 21:01:16 2020 (r359152) @@ -3444,15 +3444,13 @@ sctp_inpcb_free(struct sctp_inpcb *inp, int immediate, sctp_send_shutdown(asoc, netp); sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, asoc->sctp_ep, asoc, netp); - sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, asoc->sctp_ep, asoc, - asoc->asoc.primary_destination); + sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, asoc->sctp_ep, asoc, NULL); sctp_chunk_output(inp, asoc, SCTP_OUTPUT_FROM_SHUT_TMR, SCTP_SO_LOCKED); } } else { /* mark into shutdown pending */ SCTP_ADD_SUBSTATE(asoc, SCTP_STATE_SHUTDOWN_PENDING); - sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, asoc->sctp_ep, asoc, - asoc->asoc.primary_destination); + sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, asoc->sctp_ep, asoc, NULL); if ((*asoc->asoc.ss_functions.sctp_ss_is_user_msgs_incomplete) (asoc, &asoc->asoc)) { SCTP_ADD_SUBSTATE(asoc, SCTP_STATE_PARTIAL_MSG_LEFT); } Modified: head/sys/netinet/sctp_timer.c ============================================================================== --- head/sys/netinet/sctp_timer.c Thu Mar 19 18:55:54 2020 (r359151) +++ head/sys/netinet/sctp_timer.c Thu Mar 19 21:01:16 2020 (r359152) @@ -1202,7 +1202,7 @@ sctp_asconf_timer(struct sctp_inpcb *inp, struct sctp_ * and cleanup. */ SCTPDBG(SCTP_DEBUG_TIMER1, "asconf_timer: Peer has not responded to our repeated ASCONFs\n"); - sctp_asconf_cleanup(stcb, net); + sctp_asconf_cleanup(stcb); return (0); } /* Modified: head/sys/netinet/sctp_usrreq.c ============================================================================== --- head/sys/netinet/sctp_usrreq.c Thu Mar 19 18:55:54 2020 (r359151) +++ head/sys/netinet/sctp_usrreq.c Thu Mar 19 21:01:16 2020 (r359152) @@ -768,7 +768,7 @@ sctp_disconnect(struct socket *so) sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, stcb->sctp_ep, stcb, netp); sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, - stcb->sctp_ep, stcb, netp); + stcb->sctp_ep, stcb, NULL); sctp_chunk_output(stcb->sctp_ep, stcb, SCTP_OUTPUT_FROM_T3, SCTP_SO_LOCKED); } } else { @@ -791,8 +791,7 @@ sctp_disconnect(struct socket *so) } SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_SHUTDOWN_PENDING); - sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, stcb, - netp); + sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, stcb, NULL); if ((*asoc->ss_functions.sctp_ss_is_user_msgs_incomplete) (stcb, asoc)) { SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_PARTIAL_MSG_LEFT); } @@ -996,7 +995,7 @@ sctp_shutdown(struct socket *so) return (0); } } - sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, stcb, netp); + sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, stcb, NULL); /* * XXX: Why do this in the case where we have still data * queued? Modified: head/sys/netinet/sctputil.c ============================================================================== --- head/sys/netinet/sctputil.c Thu Mar 19 18:55:54 2020 (r359151) +++ head/sys/netinet/sctputil.c Thu Mar 19 21:01:16 2020 (r359152) @@ -1875,7 +1875,7 @@ sctp_timeout_handler(void *t) inp->sctp_ep.secret_key[secret][i] = sctp_select_initial_TSN(&inp->sctp_ep); } - sctp_timer_start(SCTP_TIMER_TYPE_NEWCOOKIE, inp, stcb, net); + sctp_timer_start(SCTP_TIMER_TYPE_NEWCOOKIE, inp, NULL, NULL); } did_output = 0; break; From owner-svn-src-all@freebsd.org Thu Mar 19 21:05:14 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1B184270D6C; Thu, 19 Mar 2020 21:05:14 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jzvF6ZRnz4S1s; Thu, 19 Mar 2020 21:05:13 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C267A18F34; Thu, 19 Mar 2020 21:05:13 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JL5D7T080307; Thu, 19 Mar 2020 21:05:13 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JL5Cpn080299; Thu, 19 Mar 2020 21:05:12 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <202003192105.02JL5Cpn080299@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Thu, 19 Mar 2020 21:05:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359153 - in head/stand: . common efi/gptboot i386/gptboot i386/gptzfsboot libsa uboot/lib X-SVN-Group: head X-SVN-Commit-Author: tsoome X-SVN-Commit-Paths: in head/stand: . common efi/gptboot i386/gptboot i386/gptzfsboot libsa uboot/lib X-SVN-Commit-Revision: 359153 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 21:05:14 -0000 Author: tsoome Date: Thu Mar 19 21:05:11 2020 New Revision: 359153 URL: https://svnweb.freebsd.org/changeset/base/359153 Log: loader: remove libsa/crc32.c and use version from zlib we have crc32(const void *, size_t) in libsa. Unfortunately zlib has crc32(long, const unigned char *, unsigned) and we have conflict. Since we do build libsa with zlib, we can use zlib version instead. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D24068 Deleted: head/stand/libsa/crc32.c head/stand/libsa/crc32.h Modified: head/stand/common/part.c head/stand/efi/gptboot/Makefile head/stand/i386/gptboot/Makefile head/stand/i386/gptzfsboot/Makefile head/stand/libsa/gpt.c head/stand/loader.mk head/stand/uboot/lib/Makefile head/stand/uboot/lib/glue.c Modified: head/stand/common/part.c ============================================================================== --- head/stand/common/part.c Thu Mar 19 21:01:16 2020 (r359152) +++ head/stand/common/part.c Thu Mar 19 21:05:11 2020 (r359153) @@ -39,7 +39,7 @@ __FBSDID("$FreeBSD$"); #include -#include +#include #include #include @@ -164,8 +164,8 @@ gpt_checkhdr(struct gpt_hdr *hdr, uint64_t lba_self, u return (NULL); } crc = le32toh(hdr->hdr_crc_self); - hdr->hdr_crc_self = 0; - if (crc32(hdr, sz) != crc) { + hdr->hdr_crc_self = crc32(0, Z_NULL, 0); + if (crc32(hdr->hdr_crc_self, (const Bytef *)hdr, sz) != crc) { DPRINTF("GPT header's CRC doesn't match"); return (NULL); } @@ -213,7 +213,7 @@ gpt_checktbl(const struct gpt_hdr *hdr, uint8_t *tbl, cnt = hdr->hdr_entries; /* Check CRC only when buffer size is enough for table. */ if (hdr->hdr_crc_table != - crc32(tbl, hdr->hdr_entries * hdr->hdr_entsz)) { + crc32(0, tbl, hdr->hdr_entries * hdr->hdr_entsz)) { DPRINTF("GPT table's CRC doesn't match"); return (-1); } Modified: head/stand/efi/gptboot/Makefile ============================================================================== --- head/stand/efi/gptboot/Makefile Thu Mar 19 21:01:16 2020 (r359152) +++ head/stand/efi/gptboot/Makefile Thu Mar 19 21:05:11 2020 (r359153) @@ -10,6 +10,7 @@ BOOT1?= gptboot CFLAGS+= -I${SRCTOP}/stand/efi/boot1 CFLAGS+= -I${.CURDIR} CFLAGS+= -DBOOTPROG=\"gptboot.efi\" +CFLAGS+= -DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib SRCS+= gpt.c CWARNFLAGS.gpt.c+= -Wno-sign-compare -Wno-cast-align WARNS=6 Modified: head/stand/i386/gptboot/Makefile ============================================================================== --- head/stand/i386/gptboot/Makefile Thu Mar 19 21:01:16 2020 (r359152) +++ head/stand/i386/gptboot/Makefile Thu Mar 19 21:05:11 2020 (r359153) @@ -30,6 +30,7 @@ CFLAGS+=-DBOOTPROG=\"gptboot\" \ -I${LDRSRC} \ -I${BOOTSRC}/i386/common \ -I${BOOTSRC}/i386/boot2 \ + -DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib \ -Wall -Waggregate-return -Wbad-function-cast -Wno-cast-align \ -Wmissing-declarations -Wmissing-prototypes -Wnested-externs \ -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \ Modified: head/stand/i386/gptzfsboot/Makefile ============================================================================== --- head/stand/i386/gptzfsboot/Makefile Thu Mar 19 21:01:16 2020 (r359152) +++ head/stand/i386/gptzfsboot/Makefile Thu Mar 19 21:05:11 2020 (r359153) @@ -32,6 +32,7 @@ CFLAGS+=-DBOOTPROG=\"gptzfsboot\" \ -I${SYSDIR}/cddl/contrib/opensolaris/common/lz4 \ -I${BOOTSRC}/i386/btx/lib \ -I${BOOTSRC}/i386/boot2 \ + -DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib \ -Wall -Waggregate-return -Wbad-function-cast \ -Wmissing-declarations -Wmissing-prototypes -Wnested-externs \ -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \ Modified: head/stand/libsa/gpt.c ============================================================================== --- head/stand/libsa/gpt.c Thu Mar 19 21:01:16 2020 (r359152) +++ head/stand/libsa/gpt.c Thu Mar 19 21:05:11 2020 (r359153) @@ -35,7 +35,7 @@ __FBSDID("$FreeBSD$"); #endif #include "stand.h" -#include "crc32.h" +#include "zlib.h" #include "drv.h" #include "gpt.h" @@ -76,9 +76,12 @@ gptupdate(const char *which, struct dsk *dskp, struct BOOTPROG, which); return; } - hdr->hdr_crc_table = crc32(table, hdr->hdr_entries * hdr->hdr_entsz); - hdr->hdr_crc_self = 0; - hdr->hdr_crc_self = crc32(hdr, hdr->hdr_size); + hdr->hdr_crc_table = crc32(0, Z_NULL, 0); + hdr->hdr_crc_table = crc32(hdr->hdr_crc_table, (const Bytef *)table, + hdr->hdr_entries * hdr->hdr_entsz); + hdr->hdr_crc_self = crc32(0, Z_NULL, 0);; + hdr->hdr_crc_self = crc32(hdr->hdr_crc_self, (const Bytef *)hdr, + hdr->hdr_size); bzero(secbuf, DEV_BSIZE); bcopy(hdr, secbuf, hdr->hdr_size); if (drvwrite(dskp, secbuf, hdr->hdr_lba_self, 1)) { @@ -198,8 +201,9 @@ gptread_hdr(const char *which, struct dsk *dskp, struc return (-1); } crc = hdr->hdr_crc_self; - hdr->hdr_crc_self = 0; - if (crc32(hdr, hdr->hdr_size) != crc) { + hdr->hdr_crc_self = crc32(0, Z_NULL, 0); + if (crc32(hdr->hdr_crc_self, (const Bytef *)hdr, hdr->hdr_size) != + crc) { printf("%s: %s GPT header checksum mismatch\n", BOOTPROG, which); return (-1); @@ -265,9 +269,12 @@ gptbootconv(const char *which, struct dsk *dskp, struc } if (!table_updated) return; - hdr->hdr_crc_table = crc32(table, hdr->hdr_entries * hdr->hdr_entsz); - hdr->hdr_crc_self = 0; - hdr->hdr_crc_self = crc32(hdr, hdr->hdr_size); + hdr->hdr_crc_table = crc32(0, Z_NULL, 0); + hdr->hdr_crc_table = crc32(hdr->hdr_crc_table, (const Bytef *)table, + hdr->hdr_entries * hdr->hdr_entsz); + hdr->hdr_crc_self = crc32(0, Z_NULL, 0); + hdr->hdr_crc_self = crc32(hdr->hdr_crc_self, (const Bytef *)hdr, + hdr->hdr_size); bzero(secbuf, DEV_BSIZE); bcopy(hdr, secbuf, hdr->hdr_size); if (drvwrite(dskp, secbuf, hdr->hdr_lba_self, 1)) @@ -305,7 +312,8 @@ gptread_table(const char *which, struct dsk *dskp, str break; slba++; } - if (crc32(table, nent * hdr->hdr_entsz) != hdr->hdr_crc_table) { + if (crc32(0, (const Bytef *)table, nent * hdr->hdr_entsz) != + hdr->hdr_crc_table) { printf("%s: %s GPT table checksum mismatch\n", BOOTPROG, which); return (-1); } Modified: head/stand/loader.mk ============================================================================== --- head/stand/loader.mk Thu Mar 19 21:01:16 2020 (r359152) +++ head/stand/loader.mk Thu Mar 19 21:05:11 2020 (r359153) @@ -28,6 +28,7 @@ SRCS+= metadata.c .endif .if ${LOADER_DISK_SUPPORT:Uyes} == "yes" +CFLAGS.part.c+= -DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib SRCS+= disk.c part.c vdisk.c .endif Modified: head/stand/uboot/lib/Makefile ============================================================================== --- head/stand/uboot/lib/Makefile Thu Mar 19 21:01:16 2020 (r359152) +++ head/stand/uboot/lib/Makefile Thu Mar 19 21:05:11 2020 (r359153) @@ -10,6 +10,8 @@ WARNS?= 2 SRCS= console.c copy.c devicename.c elf_freebsd.c glue.c SRCS+= module.c net.c reboot.c time.c +CFLAGS.glue.c+= -DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib + .if ${LOADER_DISK_SUPPORT:Uyes} == "yes" SRCS+= disk.c .endif Modified: head/stand/uboot/lib/glue.c ============================================================================== --- head/stand/uboot/lib/glue.c Thu Mar 19 21:01:16 2020 (r359152) +++ head/stand/uboot/lib/glue.c Thu Mar 19 21:05:11 2020 (r359153) @@ -29,7 +29,7 @@ __FBSDID("$FreeBSD$"); #include -#include +#include #include #include "api_public.h" #include "glue.h" @@ -57,9 +57,9 @@ valid_sig(struct api_signature *sig) * produced */ s = *sig; - s.checksum = 0; + s.checksum = crc32(0, Z_NULL, 0); - checksum = crc32((void *)&s, sizeof(struct api_signature)); + checksum = crc32(s.checksum, (void *)&s, sizeof(struct api_signature)); if (checksum != sig->checksum) return (0); From owner-svn-src-all@freebsd.org Thu Mar 19 21:38:53 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6AC67271548; Thu, 19 Mar 2020 21:38:53 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48k0f50Qxqz4m65; Thu, 19 Mar 2020 21:38:52 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9D6281949E; Thu, 19 Mar 2020 21:38:52 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JLcqGE098556; Thu, 19 Mar 2020 21:38:52 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JLcqsu098555; Thu, 19 Mar 2020 21:38:52 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202003192138.02JLcqsu098555@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 19 Mar 2020 21:38:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359154 - head/sys/netinet6 X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/netinet6 X-SVN-Commit-Revision: 359154 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 21:38:53 -0000 Author: markj Date: Thu Mar 19 21:38:52 2020 New Revision: 359154 URL: https://svnweb.freebsd.org/changeset/base/359154 Log: Fix synchronization in the IPV6_2292PKTOPTIONS set handler. The inpcb needs to be locked when we update output packet options. Otherwise it is possible for the IPV6_2292PKTOPTIONS handler to free packet option structures while another thread is reading or updating them. Note that the option handler is still kind of broken. For instance it frees all options before performing privilege checks for individual options. However, this can be fixed separately. Reported by: syzbot+52eb0fd4ddc119787f9d@syzkaller.appspotmail.com Reviewed by: bz, tuexen MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D24125 Modified: head/sys/netinet6/ip6_output.c Modified: head/sys/netinet6/ip6_output.c ============================================================================== --- head/sys/netinet6/ip6_output.c Thu Mar 19 21:05:11 2020 (r359153) +++ head/sys/netinet6/ip6_output.c Thu Mar 19 21:38:52 2020 (r359154) @@ -1694,8 +1694,10 @@ ip6_ctloutput(struct socket *so, struct sockopt *sopt) error = soopt_mcopyin(sopt, m); /* XXX */ if (error != 0) break; - error = ip6_pcbopts(&inp->in6p_outputopts, - m, so, sopt); + INP_WLOCK(inp); + error = ip6_pcbopts(&inp->in6p_outputopts, m, + so, sopt); + INP_WUNLOCK(inp); m_freem(m); /* XXX */ break; } @@ -2458,8 +2460,11 @@ ip6_pcbopts(struct ip6_pktopts **pktopt, struct mbuf * printf("ip6_pcbopts: all specified options are cleared.\n"); #endif ip6_clearpktopts(opt, -1); - } else - opt = malloc(sizeof(*opt), M_IP6OPT, M_WAITOK); + } else { + opt = malloc(sizeof(*opt), M_IP6OPT, M_NOWAIT); + if (opt == NULL) + return (ENOMEM); + } *pktopt = NULL; if (!m || m->m_len == 0) { From owner-svn-src-all@freebsd.org Thu Mar 19 22:33:26 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7FFEF272A97; Thu, 19 Mar 2020 22:33:26 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48k1s22Lmxz4HM0; Thu, 19 Mar 2020 22:33:26 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 039E919F76; Thu, 19 Mar 2020 22:33:26 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JMXP7R034475; Thu, 19 Mar 2020 22:33:25 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JMXOik034466; Thu, 19 Mar 2020 22:33:24 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202003192233.02JMXOik034466@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 19 Mar 2020 22:33:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359155 - in stable/12/stand/i386: . boot2 gptboot gptzfsboot isoboot loader zfsboot X-SVN-Group: stable-12 X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in stable/12/stand/i386: . boot2 gptboot gptzfsboot isoboot loader zfsboot X-SVN-Commit-Revision: 359155 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 22:33:26 -0000 Author: dim Date: Thu Mar 19 22:33:24 2020 New Revision: 359155 URL: https://svnweb.freebsd.org/changeset/base/359155 Log: MFC r358643: Link stand/i386 components using a linker script LLD 10.0.0 changed the behavior of the -Ttext option, so that using -Ttext=0x0 now causes linking of the loaders to fail with: ld: error: output file too large: 18446744073707016908 bytes I reported this in https://bugs.llvm.org/show_bug.cgi?id=44715, and initially reverted the upstream change in r357259 to work around it. However, after some discussion with Fangrui Song in the upstream ticket, I think we can classify this as an unfortunate interaction between using -Ttext=0 in combination with --no-rosegment. (We added the latter in r332090, because btxld does not correctly handle input with more than 2 PT_LOAD segments.) Fangrui suggested to use a linker script instead, and Warner was already attempting this in r305353, but had to revert it due to "crypto-using boot problems" (not sure what those were :). This review updates the stand/i386/boot.ldscript to handle more sections, inserts some symbols like _edata and such that we use in libsa, and also discards any .interp section. It uses ORG which is defined on the linker command line using --defsym ORG=value to set the start of all the sections. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D23952 Modified: stable/12/stand/i386/Makefile.inc stable/12/stand/i386/boot.ldscript stable/12/stand/i386/boot2/Makefile stable/12/stand/i386/gptboot/Makefile stable/12/stand/i386/gptzfsboot/Makefile stable/12/stand/i386/isoboot/Makefile stable/12/stand/i386/loader/Makefile stable/12/stand/i386/zfsboot/Makefile Directory Properties: stable/12/ (props changed) Modified: stable/12/stand/i386/Makefile.inc ============================================================================== --- stable/12/stand/i386/Makefile.inc Thu Mar 19 21:38:52 2020 (r359154) +++ stable/12/stand/i386/Makefile.inc Thu Mar 19 22:33:24 2020 (r359155) @@ -22,13 +22,12 @@ CFLAGS+= -I${BTXLIB} # compact binary with no padding between text, data, bss LDSCRIPT= ${BOOTSRC}/i386/boot.ldscript -# LDFLAGS_BIN=-e start -Ttext ${ORG} -Wl,-T,${LDSCRIPT},-S,--oformat,binary -# LD_FLAGS_BIN=-static -T ${LDSCRIPT} --gc-sections -LDFLAGS_BIN=-e start -Ttext ${ORG} -Wl,-N,-S,--oformat,binary +LDFLAGS_ORG= -Wl,--defsym,ORG=${ORG},-T,${LDSCRIPT} +LDFLAGS_BIN= -e start ${LDFLAGS_ORG} -Wl,-N,-S,--oformat,binary .if ${LINKER_FEATURES:Mbuild-id} != "" -LDFLAGS_BIN+=-Wl,--build-id=none +LDFLAGS_BIN+= -Wl,--build-id=none .endif -LD_FLAGS_BIN=-static -N --gc-sections +LD_FLAGS_BIN= -static -N --gc-sections .if ${MACHINE_CPUARCH} == "amd64" DO32=1 Modified: stable/12/stand/i386/boot.ldscript ============================================================================== --- stable/12/stand/i386/boot.ldscript Thu Mar 19 21:38:52 2020 (r359154) +++ stable/12/stand/i386/boot.ldscript Thu Mar 19 22:33:24 2020 (r359155) @@ -1,11 +1,17 @@ /* $FreeBSD$ */ -/* Merge text, data and bss together almost no padding */ +/* Simplified linker script for the boot loaders. */ OUTPUT_FORMAT("elf32-i386-freebsd") OUTPUT_ARCH(i386) ENTRY(_start) SECTIONS { - . = 0x08048000 + SIZEOF_HEADERS; - .text : { *(.text) } =0x90909090 /* Pad with nops, if needed */ - .data : { *(.data) } _edata = .; - .bss : { *(.bss) } _end = .; + . = ORG; + .text : { *(.text .text.*) } =0xcccccccc /* Pad with int3, if needed */ + .rodata : { *(.rodata .rodata.*) } + .got : { *(.got) *(.igot) } + .got.plt : { *(.got.plt) *(.igot.plt) } + .data : { *(.data .data.*) } + _edata = .; PROVIDE (edata = .); + .bss : { *(.bss .bss.*) } + _end = .; PROVIDE (end = .); + /DISCARD/ : { *(.interp) } } Modified: stable/12/stand/i386/boot2/Makefile ============================================================================== --- stable/12/stand/i386/boot2/Makefile Thu Mar 19 21:38:52 2020 (r359154) +++ stable/12/stand/i386/boot2/Makefile Thu Mar 19 22:33:24 2020 (r359155) @@ -56,7 +56,7 @@ boot1: boot1.out ${OBJCOPY} -S -O binary boot1.out ${.TARGET} boot1.out: boot1.o - ${LD} ${LD_FLAGS} -e start -Ttext ${ORG1} -o ${.TARGET} boot1.o + ${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o ${.TARGET} boot1.o CLEANFILES+= boot2 boot2.ld boot2.ldr boot2.bin boot2.out boot2.o \ boot2.h sio.o @@ -84,7 +84,7 @@ CFLAGS.ashldi3.c= -Wno-missing-prototypes -Wno-missing CLEANFILES+= ashldi3.o boot2.out: ${BTXCRT} boot2.o sio.o ashldi3.o - ${LD} ${LD_FLAGS} -Ttext ${ORG2} -o ${.TARGET} ${.ALLSRC} + ${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} ${.ALLSRC} SRCS= boot2.c boot2.h Modified: stable/12/stand/i386/gptboot/Makefile ============================================================================== --- stable/12/stand/i386/gptboot/Makefile Thu Mar 19 21:38:52 2020 (r359154) +++ stable/12/stand/i386/gptboot/Makefile Thu Mar 19 22:33:24 2020 (r359155) @@ -51,7 +51,7 @@ gptldr.bin: gptldr.out ${OBJCOPY} -S -O binary gptldr.out ${.TARGET} gptldr.out: gptldr.o - ${LD} ${LD_FLAGS} -e start -Ttext ${ORG1} -o ${.TARGET} gptldr.o + ${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o ${.TARGET} gptldr.o CLEANFILES+= gptboot.bin gptboot.out gptboot.o sio.o crc32.o drv.o \ cons.o ${OPENCRYPTO_XTS} @@ -60,7 +60,7 @@ gptboot.bin: gptboot.out ${OBJCOPY} -S -O binary gptboot.out ${.TARGET} gptboot.out: ${BTXCRT} gptboot.o sio.o crc32.o drv.o cons.o ${OPENCRYPTO_XTS} - ${LD} ${LD_FLAGS} -Ttext ${ORG2} -o ${.TARGET} ${.ALLSRC} ${LIBSA32} + ${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} ${.ALLSRC} ${LIBSA32} .include Modified: stable/12/stand/i386/gptzfsboot/Makefile ============================================================================== --- stable/12/stand/i386/gptzfsboot/Makefile Thu Mar 19 21:38:52 2020 (r359154) +++ stable/12/stand/i386/gptzfsboot/Makefile Thu Mar 19 22:33:24 2020 (r359155) @@ -57,7 +57,7 @@ gptldr.bin: gptldr.out ${OBJCOPY} -S -O binary gptldr.out ${.TARGET} gptldr.out: gptldr.o - ${LD} ${LD_FLAGS} -e start -Ttext ${ORG1} -o ${.TARGET} gptldr.o + ${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o ${.TARGET} gptldr.o CLEANFILES+= gptzfsboot.bin gptzfsboot.out zfsboot.o sio.o cons.o \ drv.o gpt.o ${OPENCRYPTO_XTS} @@ -67,7 +67,7 @@ gptzfsboot.bin: gptzfsboot.out gptzfsboot.out: ${BTXCRT} zfsboot.o sio.o gpt.o drv.o cons.o \ ${OPENCRYPTO_XTS} - ${LD} ${LD_FLAGS} -Ttext ${ORG2} -o ${.TARGET} ${.ALLSRC} ${LIBSA32} + ${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} ${.ALLSRC} ${LIBSA32} zfsboot.o: ${ZFSSRC}/zfsimpl.c Modified: stable/12/stand/i386/isoboot/Makefile ============================================================================== --- stable/12/stand/i386/isoboot/Makefile Thu Mar 19 21:38:52 2020 (r359154) +++ stable/12/stand/i386/isoboot/Makefile Thu Mar 19 22:33:24 2020 (r359155) @@ -53,7 +53,7 @@ gptldr.bin: gptldr.out ${OBJCOPY} -S -O binary gptldr.out ${.TARGET} gptldr.out: gptldr.o - ${LD} ${LD_FLAGS} -e start -Ttext ${ORG1} -o ${.TARGET} gptldr.o + ${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o ${.TARGET} gptldr.o CLEANFILES+= isoboot.bin isoboot.out isoboot.o sio.o crc32.o drv.o \ cons.o ${OPENCRYPTO_XTS} @@ -62,6 +62,6 @@ isoboot.bin: isoboot.out ${OBJCOPY} -S -O binary isoboot.out ${.TARGET} isoboot.out: ${BTXCRT} isoboot.o sio.o crc32.o drv.o cons.o ${OPENCRYPTO_XTS} - ${LD} ${LD_FLAGS} -Ttext ${ORG2} -o ${.TARGET} ${.ALLSRC} ${LIBSA32} + ${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} ${.ALLSRC} ${LIBSA32} .include Modified: stable/12/stand/i386/loader/Makefile ============================================================================== --- stable/12/stand/i386/loader/Makefile Thu Mar 19 21:38:52 2020 (r359154) +++ stable/12/stand/i386/loader/Makefile Thu Mar 19 22:33:24 2020 (r359155) @@ -46,8 +46,10 @@ HELP_FILES= ${.CURDIR}/help.i386 CLEANFILES+= ${LOADER} ${LOADER}.bin +ORG= 0x0 + CFLAGS+= -Wall -LDFLAGS+= -static -Ttext 0x0 -Wl,--gc-sections +LDFLAGS+= -static ${LDFLAGS_ORG} -Wl,--gc-sections # i386 standalone support library LIBI386= ${BOOTOBJ}/i386/libi386/libi386.a Modified: stable/12/stand/i386/zfsboot/Makefile ============================================================================== --- stable/12/stand/i386/zfsboot/Makefile Thu Mar 19 21:38:52 2020 (r359154) +++ stable/12/stand/i386/zfsboot/Makefile Thu Mar 19 22:33:24 2020 (r359155) @@ -49,7 +49,7 @@ zfsboot1: zfsldr.out ${OBJCOPY} -S -O binary zfsldr.out ${.TARGET} zfsldr.out: zfsldr.o - ${LD} ${LD_FLAGS} -e start -Ttext ${ORG1} -o ${.TARGET} zfsldr.o + ${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o ${.TARGET} zfsldr.o CLEANFILES+= zfsboot2 zfsboot.ld zfsboot.ldr zfsboot.bin zfsboot.out \ zfsboot.o zfsboot.s zfsboot.s.tmp sio.o cons.o drv.o @@ -75,7 +75,7 @@ zfsboot.bin: zfsboot.out ${OBJCOPY} -S -O binary zfsboot.out ${.TARGET} zfsboot.out: ${BTXCRT} zfsboot.o sio.o drv.o cons.o - ${LD} ${LD_FLAGS} -Ttext ${ORG2} -o ${.TARGET} ${.ALLSRC} ${LIBSA32} + ${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} ${.ALLSRC} ${LIBSA32} SRCS= zfsboot.c From owner-svn-src-all@freebsd.org Thu Mar 19 23:07:55 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 34276273463; Thu, 19 Mar 2020 23:07:55 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48k2cp2W6Nz4R8Z; Thu, 19 Mar 2020 23:07:54 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9D8D51A50E; Thu, 19 Mar 2020 23:07:53 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02JN7rgb054149; Thu, 19 Mar 2020 23:07:53 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02JN7rHn054148; Thu, 19 Mar 2020 23:07:53 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <202003192307.02JN7rHn054148@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Thu, 19 Mar 2020 23:07:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359156 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 359156 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 23:07:55 -0000 Author: tuexen Date: Thu Mar 19 23:07:52 2020 New Revision: 359156 URL: https://svnweb.freebsd.org/changeset/base/359156 Log: A a missing NET_EPOCH_ENTER/NET_EPOCH_EXIT pair. This was affecting implicit connection setups via sendmsg(). Reported by: syzbot+febbe3383a0e9b700c1b@syzkaller.appspotmail.com Reported by: syzbot+dca98631455d790223ca@syzkaller.appspotmail.com Reported by: syzbot+5a71a7760d6bcf11b8cd@syzkaller.appspotmail.com Reported by: syzbot+da64217e140444c49f00@syzkaller.appspotmail.com Modified: head/sys/netinet/sctp_output.c Modified: head/sys/netinet/sctp_output.c ============================================================================== --- head/sys/netinet/sctp_output.c Thu Mar 19 22:33:24 2020 (r359155) +++ head/sys/netinet/sctp_output.c Thu Mar 19 23:07:52 2020 (r359156) @@ -13647,7 +13647,9 @@ skip_out_eof: /* a collision took us forward? */ queue_only = 0; } else { + NET_EPOCH_ENTER(et); sctp_send_initiate(inp, stcb, SCTP_SO_LOCKED); + NET_EPOCH_EXIT(et); SCTP_SET_STATE(stcb, SCTP_STATE_COOKIE_WAIT); queue_only = 1; } From owner-svn-src-all@freebsd.org Fri Mar 20 03:15:24 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 439DC258A13; Fri, 20 Mar 2020 03:15:24 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48k86N0qQmz48Ff; Fri, 20 Mar 2020 03:15:24 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0EEE81D349; Fri, 20 Mar 2020 03:15:24 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02K3FNo6005087; Fri, 20 Mar 2020 03:15:23 GMT (envelope-from sevan@FreeBSD.org) Received: (from sevan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02K3FNE8005086; Fri, 20 Mar 2020 03:15:23 GMT (envelope-from sevan@FreeBSD.org) Message-Id: <202003200315.02K3FNE8005086@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sevan set sender to sevan@FreeBSD.org using -f From: Sevan Janiyan Date: Fri, 20 Mar 2020 03:15:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359157 - head/share/misc X-SVN-Group: head X-SVN-Commit-Author: sevan X-SVN-Commit-Paths: head/share/misc X-SVN-Commit-Revision: 359157 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 03:15:24 -0000 Author: sevan (doc committer) Date: Fri Mar 20 03:15:23 2020 New Revision: 359157 URL: https://svnweb.freebsd.org/changeset/base/359157 Log: Add DragonFly BSD 5.8 & 5.63 Modified: head/share/misc/bsd-family-tree Modified: head/share/misc/bsd-family-tree ============================================================================== --- head/share/misc/bsd-family-tree Thu Mar 19 23:07:52 2020 (r359156) +++ head/share/misc/bsd-family-tree Fri Mar 20 03:15:23 2020 (r359157) @@ -408,6 +408,10 @@ FreeBSD 5.2 | | | | | | *--NetBSD | | | v | | 9.0 | | | | | | | + | | | | DragonFly 5.8 + | | | | | + | | | | DragonFly 5.6.3 + | | | | | FreeBSD 13 -current | NetBSD -current OpenBSD -current DragonFly -current | | | | | v v v v v @@ -800,6 +804,8 @@ macOS 10.15 2019-10-07 [APL] macOS 10.15.1 2019-10-29 [APL] (security/critical release) FreeBSD 12.1 2019-11-04 [FBD] NetBSD 9.0 2020-02-14 [NBD] +DragonFly 5.8 2020-03-03 [DFB] +DragonFly 5.6.3 2020-03-11 [DFB] Bibliography ------------------------ From owner-svn-src-all@freebsd.org Fri Mar 20 04:13:40 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 99C5C259EE6; Fri, 20 Mar 2020 04:13:40 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48k9Pc3Sfvz4G47; Fri, 20 Mar 2020 04:13:40 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 71B281DEF1; Fri, 20 Mar 2020 04:13:40 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02K4Demg041603; Fri, 20 Mar 2020 04:13:40 GMT (envelope-from gavin@FreeBSD.org) Received: (from gavin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02K4DegN041601; Fri, 20 Mar 2020 04:13:40 GMT (envelope-from gavin@FreeBSD.org) Message-Id: <202003200413.02K4DegN041601@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gavin set sender to gavin@FreeBSD.org using -f From: Gavin Atkinson Date: Fri, 20 Mar 2020 04:13:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359158 - in head/sys/dev: rtwn/usb usb X-SVN-Group: head X-SVN-Commit-Author: gavin X-SVN-Commit-Paths: in head/sys/dev: rtwn/usb usb X-SVN-Commit-Revision: 359158 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 04:13:40 -0000 Author: gavin Date: Fri Mar 20 04:13:39 2020 New Revision: 359158 URL: https://svnweb.freebsd.org/changeset/base/359158 Log: Add new USB device ID for Elecom 802.11ac USB device. MFC after: 2 weeks Modified: head/sys/dev/rtwn/usb/rtwn_usb_attach.h head/sys/dev/usb/usbdevs Modified: head/sys/dev/rtwn/usb/rtwn_usb_attach.h ============================================================================== --- head/sys/dev/rtwn/usb/rtwn_usb_attach.h Fri Mar 20 03:15:23 2020 (r359157) +++ head/sys/dev/rtwn/usb/rtwn_usb_attach.h Fri Mar 20 04:13:39 2020 (r359158) @@ -154,6 +154,7 @@ static const STRUCT_USB_HOST_ID rtwn_devs[] = { RTWN_RTL8821AU_DEV(DLINK, DWA172A1), RTWN_RTL8821AU_DEV(EDIMAX, EW7811UTC_1), RTWN_RTL8821AU_DEV(EDIMAX, EW7811UTC_2), + RTWN_RTL8821AU_DEV(ELECOM, WDB433SU2M2), RTWN_RTL8821AU_DEV(HAWKING, HD65U), RTWN_RTL8821AU_DEV(MELCO, WIU2433DM), RTWN_RTL8821AU_DEV(NETGEAR, A6100), Modified: head/sys/dev/usb/usbdevs ============================================================================== --- head/sys/dev/usb/usbdevs Fri Mar 20 03:15:23 2020 (r359157) +++ head/sys/dev/usb/usbdevs Fri Mar 20 04:13:39 2020 (r359158) @@ -1857,6 +1857,7 @@ product ELECOM LDUSBTX1 0x4002 LD-USB/TX product ELECOM LDUSBLTX 0x4005 LD-USBL/TX product ELECOM WDC150SU2M 0x4008 WDC-150SU2M product ELECOM LDUSBTX2 0x400b LD-USB/TX +product ELECOM WDB433SU2M2 0x400f WDB-433SU2M2 product ELECOM LDUSB20 0x4010 LD-USB20 product ELECOM UCSGT 0x5003 UC-SGT product ELECOM UCSGT0 0x5004 UC-SGT From owner-svn-src-all@freebsd.org Fri Mar 20 05:12:17 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 39DAE25AE5B; Fri, 20 Mar 2020 05:12:17 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kBjF0gzgz46mm; Fri, 20 Mar 2020 05:12:17 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1299F1E993; Fri, 20 Mar 2020 05:12:17 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02K5CG9s077284; Fri, 20 Mar 2020 05:12:16 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02K5CGQF077280; Fri, 20 Mar 2020 05:12:16 GMT (envelope-from np@FreeBSD.org) Message-Id: <202003200512.02K5CGQF077280@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Fri, 20 Mar 2020 05:12:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359159 - head/sys/dev/cxgbe X-SVN-Group: head X-SVN-Commit-Author: np X-SVN-Commit-Paths: head/sys/dev/cxgbe X-SVN-Commit-Revision: 359159 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 05:12:17 -0000 Author: np Date: Fri Mar 20 05:12:16 2020 New Revision: 359159 URL: https://svnweb.freebsd.org/changeset/base/359159 Log: cxgbe(4): Split sge_nm_rxq into three cachelines. This reduces the lines bouncing around between the driver rx ithread and the netmap rxsync thread. There is no net change in the size of the struct (it continues to waste a lot of space). This kind of split was originally proposed in D17869 by Marc De La Gueronniere @ Verisign, Inc. MFC after: 1 week Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/t4_netmap.c head/sys/dev/cxgbe/t4_sge.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Fri Mar 20 04:13:39 2020 (r359158) +++ head/sys/dev/cxgbe/adapter.h Fri Mar 20 05:12:16 2020 (r359159) @@ -685,7 +685,9 @@ struct sge_wrq { #define INVALID_NM_RXQ_CNTXT_ID ((uint16_t)(-1)) struct sge_nm_rxq { - volatile int nm_state; /* NM_OFF, NM_ON, or NM_BUSY */ + /* Items used by the driver rx ithread are in this cacheline. */ + volatile int nm_state __aligned(CACHE_LINE_SIZE); /* NM_OFF, NM_ON, or NM_BUSY */ + u_int nid; /* netmap ring # for this queue */ struct vi_info *vi; struct iq_desc *iq_desc; @@ -694,20 +696,23 @@ struct sge_nm_rxq { uint16_t iq_cidx; uint16_t iq_sidx; uint8_t iq_gen; + uint32_t fl_sidx; - __be64 *fl_desc; + /* Items used by netmap rxsync are in this cacheline. */ + __be64 *fl_desc __aligned(CACHE_LINE_SIZE); uint16_t fl_cntxt_id; - uint32_t fl_cidx; uint32_t fl_pidx; - uint32_t fl_sidx; + uint32_t fl_sidx2; /* copy of fl_sidx */ uint32_t fl_db_val; + u_int fl_db_saved; u_int fl_hwidx:4; - u_int fl_db_saved; - u_int nid; /* netmap ring # for this queue */ + /* + * fl_cidx is used by both the ithread and rxsync, the rest are not used + * in the rx fast path. + */ + uint32_t fl_cidx __aligned(CACHE_LINE_SIZE); - /* infrequently used items after this */ - bus_dma_tag_t iq_desc_tag; bus_dmamap_t iq_desc_map; bus_addr_t iq_ba; @@ -716,7 +721,7 @@ struct sge_nm_rxq { bus_dma_tag_t fl_desc_tag; bus_dmamap_t fl_desc_map; bus_addr_t fl_ba; -} __aligned(CACHE_LINE_SIZE); +}; #define INVALID_NM_TXQ_CNTXT_ID ((u_int)(-1)) struct sge_nm_txq { Modified: head/sys/dev/cxgbe/t4_netmap.c ============================================================================== --- head/sys/dev/cxgbe/t4_netmap.c Fri Mar 20 04:13:39 2020 (r359158) +++ head/sys/dev/cxgbe/t4_netmap.c Fri Mar 20 05:12:16 2020 (r359159) @@ -921,7 +921,7 @@ cxgbe_netmap_rxsync(struct netmap_kring *kring, int fl MPASS((n & 7) == 0); IDXINCR(kring->nr_hwcur, n, kring->nkr_num_slots); - IDXINCR(nm_rxq->fl_pidx, n, nm_rxq->fl_sidx); + IDXINCR(nm_rxq->fl_pidx, n, nm_rxq->fl_sidx2); while (n > 0) { for (i = 0; i < 8; i++, fl_pidx++, slot++) { @@ -929,10 +929,10 @@ cxgbe_netmap_rxsync(struct netmap_kring *kring, int fl MPASS(ba != 0); nm_rxq->fl_desc[fl_pidx] = htobe64(ba | hwidx); slot->flags &= ~NS_BUF_CHANGED; - MPASS(fl_pidx <= nm_rxq->fl_sidx); + MPASS(fl_pidx <= nm_rxq->fl_sidx2); } n -= 8; - if (fl_pidx == nm_rxq->fl_sidx) { + if (fl_pidx == nm_rxq->fl_sidx2) { fl_pidx = 0; slot = &ring->slot[0]; } Modified: head/sys/dev/cxgbe/t4_sge.c ============================================================================== --- head/sys/dev/cxgbe/t4_sge.c Fri Mar 20 04:13:39 2020 (r359158) +++ head/sys/dev/cxgbe/t4_sge.c Fri Mar 20 05:12:16 2020 (r359159) @@ -3655,6 +3655,7 @@ alloc_nm_rxq(struct vi_info *vi, struct sge_nm_rxq *nm nm_rxq->iq_gen = F_RSPD_GEN; nm_rxq->fl_pidx = nm_rxq->fl_cidx = 0; nm_rxq->fl_sidx = na->num_rx_desc; + nm_rxq->fl_sidx2 = nm_rxq->fl_sidx; /* copy for rxsync cacheline */ nm_rxq->intr_idx = intr_idx; nm_rxq->iq_cntxt_id = INVALID_NM_RXQ_CNTXT_ID; From owner-svn-src-all@freebsd.org Fri Mar 20 11:51:09 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7D5EA264162; Fri, 20 Mar 2020 11:51:09 +0000 (UTC) (envelope-from alfredo@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kMYS73NFz3JZD; Fri, 20 Mar 2020 11:51:08 +0000 (UTC) (envelope-from alfredo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id ED28123228; Fri, 20 Mar 2020 11:51:08 +0000 (UTC) (envelope-from alfredo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KBp8Gg012159; Fri, 20 Mar 2020 11:51:08 GMT (envelope-from alfredo@FreeBSD.org) Received: (from alfredo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KBp8Sd012158; Fri, 20 Mar 2020 11:51:08 GMT (envelope-from alfredo@FreeBSD.org) Message-Id: <202003201151.02KBp8Sd012158@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alfredo set sender to alfredo@FreeBSD.org using -f From: "Alfredo Dal'Ava Junior" Date: Fri, 20 Mar 2020 11:51:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359160 - head/sys/powerpc/powerpc X-SVN-Group: head X-SVN-Commit-Author: alfredo X-SVN-Commit-Paths: head/sys/powerpc/powerpc X-SVN-Commit-Revision: 359160 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 11:51:09 -0000 Author: alfredo Date: Fri Mar 20 11:51:08 2020 New Revision: 359160 URL: https://svnweb.freebsd.org/changeset/base/359160 Log: [PowerPC] fix panic reading /dev/kmem on !DMAP machines This fixes /dev/kmem causing panic on machines not using DMAP. Found when running libkvm Kyua test case on QEMU VM with no Huge Pages support. Reviewed by: jhibbits, luporl Approved by: jhibbits (mentor) Sponsored by: Eldorado Research Institute (eldorado.org.br) Differential Revision: https://reviews.freebsd.org/D23776 Modified: head/sys/powerpc/powerpc/mem.c Modified: head/sys/powerpc/powerpc/mem.c ============================================================================== --- head/sys/powerpc/powerpc/mem.c Fri Mar 20 05:12:16 2020 (r359159) +++ head/sys/powerpc/powerpc/mem.c Fri Mar 20 11:51:08 2020 (r359160) @@ -98,9 +98,11 @@ memrw(struct cdev *dev, struct uio *uio, int flags) struct vm_page m; vm_page_t marr; vm_size_t cnt; + ssize_t orig_resid; cnt = 0; error = 0; + orig_resid = uio->uio_resid; while (uio->uio_resid > 0 && !error) { iov = uio->uio_iov; @@ -137,7 +139,8 @@ kmem_direct_mapped: off = v & PAGE_MASK; else if (dev2unit(dev) == CDEV_MINOR_KMEM) { va = uio->uio_offset; - if ((va < VM_MIN_KERNEL_ADDRESS) || (va > virtual_end)) { + if (hw_direct_map && + ((va < VM_MIN_KERNEL_ADDRESS) || (va > virtual_end))) { v = DMAP_TO_PHYS(va); goto kmem_direct_mapped; } @@ -151,24 +154,34 @@ kmem_direct_mapped: off = v & PAGE_MASK; * so that we don't create any zero-fill pages. */ - for (; va < eva; va += PAGE_SIZE) - if (pmap_extract(kernel_pmap, va) == 0) - return (EFAULT); + for (; va < eva; va += PAGE_SIZE) { + if (pmap_extract(kernel_pmap, va) == 0) { + error = EFAULT; + break; + } + } + if (error != 0) + break; prot = (uio->uio_rw == UIO_READ) ? VM_PROT_READ : VM_PROT_WRITE; va = uio->uio_offset; - if (kernacc((void *) va, iov->iov_len, prot) - == FALSE) - return (EFAULT); + if (((va >= VM_MIN_KERNEL_ADDRESS) && (va <= virtual_end)) && + !kernacc((void *) va, iov->iov_len, prot)) { + error = EFAULT; + break; + } error = uiomove((void *)va, iov->iov_len, uio); - - continue; } } - + /* + * Don't return error if any byte was written. Read and write + * can return error only if no i/o was performed. + */ + if (uio->uio_resid != orig_resid) + error = 0; return (error); } From owner-svn-src-all@freebsd.org Fri Mar 20 14:26:09 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 54165268C1A; Fri, 20 Mar 2020 14:26:09 +0000 (UTC) (envelope-from avatar@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kR0K00SCz4rJb; Fri, 20 Mar 2020 14:26:09 +0000 (UTC) (envelope-from avatar@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EAC3524EE3; Fri, 20 Mar 2020 14:26:08 +0000 (UTC) (envelope-from avatar@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KEQ8s0005321; Fri, 20 Mar 2020 14:26:08 GMT (envelope-from avatar@FreeBSD.org) Received: (from avatar@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KEQ8Sa005318; Fri, 20 Mar 2020 14:26:08 GMT (envelope-from avatar@FreeBSD.org) Message-Id: <202003201426.02KEQ8Sa005318@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avatar set sender to avatar@FreeBSD.org using -f From: Tai-hwa Liang Date: Fri, 20 Mar 2020 14:26:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r359161 - in stable/10/sys: dev/sound/midi dev/sound/pci modules/sound/driver/csa X-SVN-Group: stable-10 X-SVN-Commit-Author: avatar X-SVN-Commit-Paths: in stable/10/sys: dev/sound/midi dev/sound/pci modules/sound/driver/csa X-SVN-Commit-Revision: 359161 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 14:26:09 -0000 Author: avatar Date: Fri Mar 20 14:26:08 2020 New Revision: 359161 URL: https://svnweb.freebsd.org/changeset/base/359161 Log: MFC r338422: Adding support for CS46xx MIDI output. With this patch, users can play the MIDI files through /dev/sequencer device with tools like playmidi. The audio output will go through the external MIDI device such like wavetable synthesis card. Reviewed by: matk (a long time ago), kib Tested with: Terratec SiXPack 5.1+ + Yamaha DB50XG Added: stable/10/sys/dev/sound/pci/csamidi.c - copied unchanged from r338422, head/sys/dev/sound/pci/csamidi.c Modified: stable/10/sys/dev/sound/midi/midi.c stable/10/sys/modules/sound/driver/csa/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/sound/midi/midi.c ============================================================================== --- stable/10/sys/dev/sound/midi/midi.c Fri Mar 20 11:51:08 2020 (r359160) +++ stable/10/sys/dev/sound/midi/midi.c Fri Mar 20 14:26:08 2020 (r359161) @@ -1465,18 +1465,14 @@ midi_modevent(module_t mod, int type, void *data) switch (type) { case MOD_LOAD: retval = midi_load(); -#if 0 if (retval == 0) retval = seq_modevent(mod, type, data); -#endif break; case MOD_UNLOAD: retval = midi_unload(); -#if 0 if (retval == 0) retval = seq_modevent(mod, type, data); -#endif break; default: Copied: stable/10/sys/dev/sound/pci/csamidi.c (from r338422, head/sys/dev/sound/pci/csamidi.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/10/sys/dev/sound/pci/csamidi.c Fri Mar 20 14:26:08 2020 (r359161, copy of r338422, head/sys/dev/sound/pci/csamidi.c) @@ -0,0 +1,290 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + + * Copyright (c) 2015-2018 Tai-hwa Liang + * All rights reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef HAVE_KERNEL_OPTION_HEADERS +#include "opt_snd.h" +#endif + +#include +#include + +#include +#include + +#include +#include + +#include +#include + +#include "mpufoi_if.h" + +SND_DECLARE_FILE("$FreeBSD$"); + +/* pulled from mpu401.c */ +#define MPU_DATAPORT 0 +#define MPU_CMDPORT 1 +#define MPU_STATPORT 1 +#define MPU_RESET 0xff +#define MPU_UART 0x3f +#define MPU_ACK 0xfe +#define MPU_STATMASK 0xc0 +#define MPU_OUTPUTBUSY 0x40 +#define MPU_INPUTBUSY 0x80 + +/* device private data */ +struct csa_midi_softc { + /* hardware resources */ + int io_rid; /* io rid */ + struct resource *io; /* io */ + + struct mtx mtx; + device_t dev; + struct mpu401 *mpu; + mpu401_intr_t *mpu_intr; + int mflags; /* MIDI flags */ +}; + +static struct kobj_class csamidi_mpu_class; +static devclass_t midicsa_devclass; + +static u_int32_t +csamidi_readio(struct csa_midi_softc *scp, u_long offset) +{ + if (offset < BA0_AC97_RESET) + return bus_space_read_4(rman_get_bustag(scp->io), rman_get_bushandle(scp->io), offset) & 0xffffffff; + else + return (0); +} + +static void +csamidi_writeio(struct csa_midi_softc *scp, u_long offset, u_int32_t data) +{ + if (offset < BA0_AC97_RESET) + bus_space_write_4(rman_get_bustag(scp->io), rman_get_bushandle(scp->io), offset, data); +} + +static void +csamidi_midi_intr(void *arg) +{ + struct csa_midi_softc *scp = (struct csa_midi_softc *)arg; + + if (scp->mpu_intr) + (scp->mpu_intr)(scp->mpu); +} + +static unsigned char +csamidi_mread(struct mpu401 *arg __unused, void *cookie, int reg) +{ + struct csa_midi_softc *scp = cookie; + unsigned int rc; + unsigned int uart_stat; + + rc = 0; + /* hacks to convert hardware status to MPU compatible ones */ + switch (reg) { + case MPU_STATPORT: + uart_stat = csamidi_readio(scp, BA0_MIDSR); + if (uart_stat & MIDSR_TBF) + rc |= MPU_OUTPUTBUSY; /* Tx buffer full */ + if (uart_stat & MIDSR_RBE) + rc |= MPU_INPUTBUSY; + break; + case MPU_DATAPORT: + rc = csamidi_readio(scp, BA0_MIDRP); + break; + default: + printf("csamidi_mread: unknown register %d\n", reg); + break; + } + return (rc); +} + +static void +csamidi_mwrite(struct mpu401 *arg __unused, void *cookie, int reg, unsigned char b) +{ + struct csa_midi_softc *scp = cookie; + unsigned int val; + + switch (reg) { + case MPU_CMDPORT: + switch (b) + { + case MPU_RESET: + /* preserve current operation mode */ + val = csamidi_readio(scp, BA0_MIDCR); + /* reset the MIDI port */ + csamidi_writeio(scp, BA0_MIDCR, MIDCR_MRST); + csamidi_writeio(scp, BA0_MIDCR, MIDCR_MLB); + csamidi_writeio(scp, BA0_MIDCR, 0x00); + /* restore previous operation mode */ + csamidi_writeio(scp, BA0_MIDCR, val); + break; + case MPU_UART: + /* switch to UART mode, no-op */ + default: + break; + } + break; + case MPU_DATAPORT: + /* put the MIDI databyte in the write port */ + csamidi_writeio(scp, BA0_MIDWP, b); + break; + default: + printf("csamidi_mwrite: unknown register %d\n", reg); + break; + } +} + +static int +csamidi_muninit(struct mpu401 *arg __unused, void *cookie) +{ + struct csa_midi_softc *scp = cookie; + + mtx_lock(&scp->mtx); + scp->mpu_intr = NULL; + mtx_unlock(&scp->mtx); + + return (0); +} + +static int +midicsa_probe(device_t dev) +{ + struct sndcard_func *func; + + /* The parent device has already been probed. */ + + func = device_get_ivars(dev); + if (func == NULL || func->func != SCF_MIDI) + return (ENXIO); + + device_set_desc(dev, "CS461x MIDI"); + return (0); +} + +static int +midicsa_attach(device_t dev) +{ + struct csa_midi_softc *scp; + struct sndcard_func *func; + int rc = ENXIO; + + scp = device_get_softc(dev); + func = device_get_ivars(dev); + + bzero(scp, sizeof(struct csa_midi_softc)); + scp->dev = dev; + + /* allocate the required resources */ + scp->io_rid = PCIR_BAR(0); + scp->io = bus_alloc_resource_any(dev, SYS_RES_MEMORY, + &scp->io_rid, RF_ACTIVE); + if (scp->io == NULL) + goto err0; + + /* init the fake MPU401 interface. */ + scp->mpu = mpu401_init(&csamidi_mpu_class, scp, csamidi_midi_intr, + &scp->mpu_intr); + if (scp->mpu == NULL) { + rc = ENOMEM; + goto err1; + } + + mtx_init(&scp->mtx, device_get_nameunit(dev), "csamidi softc", + MTX_DEF); + + /* reset the MIDI port */ + csamidi_writeio(scp, BA0_MIDCR, MIDCR_MRST); + /* MIDI transmit enable, no interrupt */ + csamidi_writeio(scp, BA0_MIDCR, MIDCR_TXE | MIDCR_RXE); + csamidi_writeio(scp, BA0_HICR, HICR_IEV | HICR_CHGM); + + return (0); +err1: + bus_release_resource(dev, SYS_RES_MEMORY, scp->io_rid, scp->io); + scp->io = NULL; +err0: + return (rc); +} + +static int +midicsa_detach(device_t dev) +{ + struct csa_midi_softc *scp; + int rc = 0; + + scp = device_get_softc(dev); + rc = mpu401_uninit(scp->mpu); + if (rc) + return (rc); + if (scp->io != NULL) { + bus_release_resource(dev, SYS_RES_MEMORY, scp->io_rid, + scp->io); + scp->io = NULL; + } + mtx_destroy(&scp->mtx); + return (rc); +} + +static kobj_method_t csamidi_mpu_methods[] = { + KOBJMETHOD(mpufoi_read, csamidi_mread), + KOBJMETHOD(mpufoi_write, csamidi_mwrite), + KOBJMETHOD(mpufoi_uninit, csamidi_muninit), + KOBJMETHOD_END +}; + +static DEFINE_CLASS(csamidi_mpu, csamidi_mpu_methods, 0); + +static device_method_t midicsa_methods[] = { + DEVMETHOD(device_probe, midicsa_probe), + DEVMETHOD(device_attach, midicsa_attach), + DEVMETHOD(device_detach, midicsa_detach), + + DEVMETHOD_END +}; + +static driver_t midicsa_driver = { + "midi", + midicsa_methods, + sizeof(struct csa_midi_softc), +}; +DRIVER_MODULE(snd_csa_midi, csa, midicsa_driver, midicsa_devclass, 0, 0); +MODULE_DEPEND(snd_csa_midi, snd_csa, 1, 1, 1); +MODULE_DEPEND(snd_csa_midi, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER); +MODULE_VERSION(snd_csa_midi, 1); Modified: stable/10/sys/modules/sound/driver/csa/Makefile ============================================================================== --- stable/10/sys/modules/sound/driver/csa/Makefile Fri Mar 20 11:51:08 2020 (r359160) +++ stable/10/sys/modules/sound/driver/csa/Makefile Fri Mar 20 14:26:08 2020 (r359161) @@ -3,7 +3,7 @@ .PATH: ${.CURDIR}/../../../../dev/sound/pci KMOD= snd_csa -SRCS= device_if.h bus_if.h pci_if.h -SRCS+= csa.c csapcm.c +SRCS= device_if.h bus_if.h mpufoi_if.h pci_if.h +SRCS+= csa.c csamidi.c csapcm.c .include From owner-svn-src-all@freebsd.org Fri Mar 20 14:49:46 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5DBF8269509; Fri, 20 Mar 2020 14:49:46 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kRWZ1cbPz43wY; Fri, 20 Mar 2020 14:49:46 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4BFAD25292; Fri, 20 Mar 2020 14:49:45 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KEninJ017393; Fri, 20 Mar 2020 14:49:44 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KEni1p017392; Fri, 20 Mar 2020 14:49:44 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <202003201449.02KEni1p017392@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Fri, 20 Mar 2020 14:49:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359162 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 359162 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 14:49:46 -0000 Author: tuexen Date: Fri Mar 20 14:49:44 2020 New Revision: 359162 URL: https://svnweb.freebsd.org/changeset/base/359162 Log: Remove a set, but unused variable. MFC after: 1 week Modified: head/sys/netinet/sctp_usrreq.c Modified: head/sys/netinet/sctp_usrreq.c ============================================================================== --- head/sys/netinet/sctp_usrreq.c Fri Mar 20 14:26:08 2020 (r359161) +++ head/sys/netinet/sctp_usrreq.c Fri Mar 20 14:49:44 2020 (r359162) @@ -782,14 +782,6 @@ sctp_disconnect(struct socket *so) * we will allow user data to be sent first * and move to SHUTDOWN-PENDING */ - struct sctp_nets *netp; - - if (stcb->asoc.alternate) { - netp = stcb->asoc.alternate; - } else { - netp = stcb->asoc.primary_destination; - } - SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_SHUTDOWN_PENDING); sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, stcb, NULL); if ((*asoc->ss_functions.sctp_ss_is_user_msgs_incomplete) (stcb, asoc)) { From owner-svn-src-all@freebsd.org Fri Mar 20 15:07:16 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E224C269C08; Fri, 20 Mar 2020 15:07:16 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kRvm5ZkTz4KhR; Fri, 20 Mar 2020 15:07:16 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BAB2925661; Fri, 20 Mar 2020 15:07:16 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KF7GUQ029209; Fri, 20 Mar 2020 15:07:16 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KF7GHI029206; Fri, 20 Mar 2020 15:07:16 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202003201507.02KF7GHI029206@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 20 Mar 2020 15:07:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359163 - in head: lib/clang lib/clang/libllvm share/mk X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head: lib/clang lib/clang/libllvm share/mk X-SVN-Commit-Revision: 359163 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 15:07:17 -0000 Author: imp Date: Fri Mar 20 15:07:15 2020 New Revision: 359163 URL: https://svnweb.freebsd.org/changeset/base/359163 Log: Remove sparc support from clang build infrastructure. Any remaining sparc files will be mopped up in future imports. Differential Revision: https://reviews.freebsd.org/D24128 Modified: head/lib/clang/libllvm/Makefile head/lib/clang/llvm.build.mk head/share/mk/src.opts.mk Modified: head/lib/clang/libllvm/Makefile ============================================================================== --- head/lib/clang/libllvm/Makefile Fri Mar 20 14:49:44 2020 (r359162) +++ head/lib/clang/libllvm/Makefile Fri Mar 20 15:07:15 2020 (r359163) @@ -11,14 +11,13 @@ CFLAGS+= -I${.OBJDIR} .if ${MK_LLVM_TARGET_AARCH64} == "no" && ${MK_LLVM_TARGET_ARM} == "no" && \ ${MK_LLVM_TARGET_BPF} == "no" && ${MK_LLVM_TARGET_MIPS} == "no" && \ ${MK_LLVM_TARGET_POWERPC} == "no" && ${MK_LLVM_TARGET_RISCV} == "no" && \ - ${MK_LLVM_TARGET_SPARC} == "no" && ${MK_LLVM_TARGET_X86} == "no" + ${MK_LLVM_TARGET_X86} == "no" .error Please enable at least one of: MK_LLVM_TARGET_AARCH64,\ MK_LLVM_TARGET_ARM, MK_LLVM_TARGET_BPF, MK_LLVM_TARGET_MIPS, \ - MK_LLVM_TARGET_POWERPC, MK_LLVM_TARGET_RISCV, MK_LLVM_TARGET_SPARC, \ - or MK_LLVM_TARGET_X86 + MK_LLVM_TARGET_POWERPC, MK_LLVM_TARGET_RISCV, or MK_LLVM_TARGET_X86 .endif -.for arch in AArch64 ARM BPF Mips PowerPC RISCV Sparc X86 +.for arch in AArch64 ARM BPF Mips PowerPC RISCV X86 . if ${MK_LLVM_TARGET_${arch:tu}} != "no" CFLAGS+= -I${LLVM_SRCS}/lib/Target/${arch} . endif @@ -1241,32 +1240,6 @@ SRCS_MIN+= Target/RISCV/TargetInfo/RISCVTargetInfo.cpp SRCS_MIN+= Target/RISCV/Utils/RISCVBaseInfo.cpp SRCS_MIN+= Target/RISCV/Utils/RISCVMatInt.cpp .endif # MK_LLVM_TARGET_RISCV -.if ${MK_LLVM_TARGET_SPARC} != "no" -SRCS_MIN+= Target/Sparc/AsmParser/SparcAsmParser.cpp -SRCS_MIN+= Target/Sparc/DelaySlotFiller.cpp -SRCS_XDW+= Target/Sparc/Disassembler/SparcDisassembler.cpp -SRCS_MIN+= Target/Sparc/LeonPasses.cpp -SRCS_MIN+= Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp -SRCS_MIN+= Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp -SRCS_MIN+= Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp -SRCS_MIN+= Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp -SRCS_MIN+= Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp -SRCS_MIN+= Target/Sparc/MCTargetDesc/SparcMCExpr.cpp -SRCS_MIN+= Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp -SRCS_MIN+= Target/Sparc/MCTargetDesc/SparcTargetStreamer.cpp -SRCS_MIN+= Target/Sparc/SparcAsmPrinter.cpp -SRCS_MIN+= Target/Sparc/SparcFrameLowering.cpp -SRCS_MIN+= Target/Sparc/SparcISelDAGToDAG.cpp -SRCS_MIN+= Target/Sparc/SparcISelLowering.cpp -SRCS_MIN+= Target/Sparc/SparcInstrInfo.cpp -SRCS_MIN+= Target/Sparc/SparcMCInstLower.cpp -SRCS_MIN+= Target/Sparc/SparcMachineFunctionInfo.cpp -SRCS_MIN+= Target/Sparc/SparcRegisterInfo.cpp -SRCS_MIN+= Target/Sparc/SparcSubtarget.cpp -SRCS_MIN+= Target/Sparc/SparcTargetMachine.cpp -SRCS_MIN+= Target/Sparc/SparcTargetObjectFile.cpp -SRCS_MIN+= Target/Sparc/TargetInfo/SparcTargetInfo.cpp -.endif # MK_LLVM_TARGET_SPARC SRCS_MIN+= Target/Target.cpp SRCS_MIN+= Target/TargetLoweringObjectFile.cpp SRCS_MIN+= Target/TargetMachine.cpp @@ -1689,8 +1662,8 @@ beforebuild: # Note: some rules are superfluous, not every combination is valid. .for arch in \ - AArch64/AArch64 ARM/ARM BPF/BPF Mips/Mips PowerPC/PPC Sparc/Sparc \ - RISCV/RISCV X86/X86 + AArch64/AArch64 ARM/ARM BPF/BPF Mips/Mips PowerPC/PPC RISCV/RISCV \ + X86/X86 . for hdr in \ AsmMatcher/-gen-asm-matcher \ AsmWriter1/-gen-asm-writer,-asmwriternum=1 \ @@ -1808,17 +1781,6 @@ TGHDRS+= RISCVGenRegisterInfo.inc TGHDRS+= RISCVGenSubtargetInfo.inc TGHDRS+= RISCVGenSystemOperands.inc .endif # MK_LLVM_TARGET_RISCV -.if ${MK_LLVM_TARGET_SPARC} != "no" -TGHDRS+= SparcGenAsmMatcher.inc -TGHDRS+= SparcGenAsmWriter.inc -TGHDRS+= SparcGenCallingConv.inc -TGHDRS+= SparcGenDAGISel.inc -TGHDRS+= SparcGenDisassemblerTables.inc -TGHDRS+= SparcGenInstrInfo.inc -TGHDRS+= SparcGenMCCodeEmitter.inc -TGHDRS+= SparcGenRegisterInfo.inc -TGHDRS+= SparcGenSubtargetInfo.inc -.endif # MK_LLVM_TARGET_SPARC .if ${MK_LLVM_TARGET_X86} != "no" TGHDRS+= X86GenAsmMatcher.inc TGHDRS+= X86GenAsmWriter.inc Modified: head/lib/clang/llvm.build.mk ============================================================================== --- head/lib/clang/llvm.build.mk Fri Mar 20 14:49:44 2020 (r359162) +++ head/lib/clang/llvm.build.mk Fri Mar 20 15:07:15 2020 (r359163) @@ -80,12 +80,6 @@ CFLAGS+= -DLLVM_TARGET_ENABLE_RISCV LLVM_NATIVE_ARCH= RISCV . endif .endif -.if ${MK_LLVM_TARGET_SPARC} != "no" -CFLAGS+= -DLLVM_TARGET_ENABLE_SPARC -. if ${MACHINE_CPUARCH} == "sparc64" -LLVM_NATIVE_ARCH= Sparc -. endif -.endif .if ${MK_LLVM_TARGET_X86} != "no" CFLAGS+= -DLLVM_TARGET_ENABLE_X86 . if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Fri Mar 20 14:49:44 2020 (r359162) +++ head/share/mk/src.opts.mk Fri Mar 20 15:07:15 2020 (r359163) @@ -283,8 +283,6 @@ __DEFAULT_DEPENDENT_OPTIONS+= LLVM_TARGET_ARM/LLVM_TAR __DEFAULT_DEPENDENT_OPTIONS+= LLVM_TARGET_${__llt:${__LLVM_TARGET_FILT}:tu}/LLVM_TARGET_ALL .endif .endfor -# until we can unwind clang + sparc -MK_LLVM_TARGET_SPARC:=no __DEFAULT_NO_OPTIONS+=LLVM_TARGET_BPF From owner-svn-src-all@freebsd.org Fri Mar 20 15:07:22 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A5A01269C55; Fri, 20 Mar 2020 15:07:22 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kRvt3MBzz4KqL; Fri, 20 Mar 2020 15:07:22 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6C5AA25662; Fri, 20 Mar 2020 15:07:21 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KF7Lj7029263; Fri, 20 Mar 2020 15:07:21 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KF7Leh029262; Fri, 20 Mar 2020 15:07:21 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202003201507.02KF7Leh029262@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 20 Mar 2020 15:07:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359164 - head/share/mk X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 359164 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 15:07:22 -0000 Author: imp Date: Fri Mar 20 15:07:21 2020 New Revision: 359164 URL: https://svnweb.freebsd.org/changeset/base/359164 Log: Eliminate misuse of $MACHINE for userland things. Use TARGET_ARCH and/or MACHINE_ARCH exclusively. Change all __TT uses to __T with appropriate translations. MACHINE/TARGET is to be used only for kernel things. Modified: head/share/mk/src.opts.mk Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Fri Mar 20 15:07:15 2020 (r359163) +++ head/share/mk/src.opts.mk Fri Mar 20 15:07:21 2020 (r359164) @@ -256,11 +256,6 @@ __T=${TARGET_ARCH} .else __T=${MACHINE_ARCH} .endif -.if defined(TARGET) -__TT=${TARGET} -.else -__TT=${MACHINE} -.endif # All supported backends for LLVM_TARGET_XXX __LLVM_TARGETS= \ @@ -270,13 +265,13 @@ __LLVM_TARGETS= \ powerpc \ riscv \ x86 -__LLVM_TARGET_FILT= C/(amd64|i386)/x86/:S/arm64/aarch64/:S/powerpc64/powerpc/ +__LLVM_TARGET_FILT= C/(amd64|i386)/x86/:S/powerpc64/powerpc/:S/powerpcspe/powerpc/ .for __llt in ${__LLVM_TARGETS} # Default enable the given TARGET's LLVM_TARGET support -.if ${__TT:${__LLVM_TARGET_FILT}} == ${__llt} +.if ${__T:${__LLVM_TARGET_FILT}} == ${__llt} __DEFAULT_YES_OPTIONS+= LLVM_TARGET_${__llt:${__LLVM_TARGET_FILT}:tu} # aarch64 needs arm for -m32 support. -.elif ${__TT} == "arm64" && ${__llt} == "arm" +.elif ${__T} == "aarch64" && ${__llt:Marm*} != "" __DEFAULT_DEPENDENT_OPTIONS+= LLVM_TARGET_ARM/LLVM_TARGET_AARCH64 # Default the rest of the LLVM_TARGETs to the value of MK_LLVM_TARGET_ALL. .else @@ -288,7 +283,7 @@ __DEFAULT_NO_OPTIONS+=LLVM_TARGET_BPF .include -.if ${__TT} != "mips" +.if ${__T:Mmips*} == "" # Clang is installed as the default /usr/bin/cc. __DEFAULT_YES_OPTIONS+=CLANG_BOOTSTRAP CLANG_IS_CC .else @@ -307,7 +302,7 @@ __DEFAULT_NO_OPTIONS+=BINUTILS_BOOTSTRAP .if ${__T:Mriscv*} != "" BROKEN_OPTIONS+=OFED .endif -.if ${__TT} != "mips" && ${__T} != "powerpc" && ${__T} != "powerpcspe" +.if ${__T:Mmips*} != "mips" && ${__T} != "powerpc" && ${__T} != "powerpcspe" __DEFAULT_YES_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD .else __DEFAULT_NO_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD From owner-svn-src-all@freebsd.org Fri Mar 20 15:16:05 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id ECEEA26A112; Fri, 20 Mar 2020 15:16:05 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kS5x1Kwcz4bFJ; Fri, 20 Mar 2020 15:16:04 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6C75D25663; Fri, 20 Mar 2020 15:07:26 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KF7QQ2029318; Fri, 20 Mar 2020 15:07:26 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KF7QvF029317; Fri, 20 Mar 2020 15:07:26 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202003201507.02KF7QvF029317@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 20 Mar 2020 15:07:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359165 - in head/sys/compat/linuxkpi/common: include/linux src X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head/sys/compat/linuxkpi/common: include/linux src X-SVN-Commit-Revision: 359165 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 15:16:06 -0000 Author: imp Date: Fri Mar 20 15:07:25 2020 New Revision: 359165 URL: https://svnweb.freebsd.org/changeset/base/359165 Log: Implement a workaround for kms-drm modules pci_iov_if.h was added to pci.h, but none of the kms-drm branches have that. Rather than play whack a mole with the branches, move its inclusion to linux_pci.c which is the only part of the code that needs it now. Longer term, other solutions will be needed, but this gives us time to get those deployed on all the supported versions. Modified: head/sys/compat/linuxkpi/common/include/linux/pci.h head/sys/compat/linuxkpi/common/src/linux_pci.c Modified: head/sys/compat/linuxkpi/common/include/linux/pci.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/pci.h Fri Mar 20 15:07:21 2020 (r359164) +++ head/sys/compat/linuxkpi/common/include/linux/pci.h Fri Mar 20 15:07:25 2020 (r359165) @@ -40,10 +40,10 @@ #include #include #include +#include #include #include #include -#include #include Modified: head/sys/compat/linuxkpi/common/src/linux_pci.c ============================================================================== --- head/sys/compat/linuxkpi/common/src/linux_pci.c Fri Mar 20 15:07:21 2020 (r359164) +++ head/sys/compat/linuxkpi/common/src/linux_pci.c Fri Mar 20 15:07:25 2020 (r359165) @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -45,6 +46,10 @@ __FBSDID("$FreeBSD$"); #include #include + +#include +#include +#include #include #include From owner-svn-src-all@freebsd.org Fri Mar 20 15:50:38 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7FECA26AB11; Fri, 20 Mar 2020 15:50:38 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kSsp2w9bz4G0J; Fri, 20 Mar 2020 15:50:38 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5F55E25E18; Fri, 20 Mar 2020 15:50:38 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KFocuD053705; Fri, 20 Mar 2020 15:50:38 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KFocgG053704; Fri, 20 Mar 2020 15:50:38 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003201550.02KFocgG053704@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 20 Mar 2020 15:50:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359166 - head/contrib/elftoolchain/elfcopy X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/contrib/elftoolchain/elfcopy X-SVN-Commit-Revision: 359166 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 15:50:38 -0000 Author: emaste Date: Fri Mar 20 15:50:37 2020 New Revision: 359166 URL: https://svnweb.freebsd.org/changeset/base/359166 Log: objcopy: add new sections also when there is no .shstrtab Previously objcopy (elfcopy) --add-sections inserted new sections before .shstrtab, but omitted them if there was no .shstrtab. Now, after processing existing sections add new sections if they were not yet added. PR: 241437 Reported by: arrowd Submitted by: Tiger Gao Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D23571 Modified: head/contrib/elftoolchain/elfcopy/sections.c Modified: head/contrib/elftoolchain/elfcopy/sections.c ============================================================================== --- head/contrib/elftoolchain/elfcopy/sections.c Fri Mar 20 15:07:25 2020 (r359165) +++ head/contrib/elftoolchain/elfcopy/sections.c Fri Mar 20 15:50:37 2020 (r359166) @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -341,6 +342,7 @@ create_scn(struct elfcopy *ecp) size_t indx; uint64_t oldndx, newndx; int elferr, sec_flags, reorder; + bool sections_added; /* * Insert a pseudo section that contains the ELF header @@ -364,6 +366,7 @@ create_scn(struct elfcopy *ecp) errx(EXIT_FAILURE, "elf_getshstrndx failed: %s", elf_errmsg(-1)); + sections_added = false; reorder = 0; is = NULL; while ((is = elf_nextscn(ecp->ein, is)) != NULL) { @@ -438,12 +441,14 @@ create_scn(struct elfcopy *ecp) oldndx = newndx = SHN_UNDEF; if (strcmp(name, ".symtab") != 0 && strcmp(name, ".strtab") != 0) { + /* Add new sections before .shstrtab if we have one. */ if (!strcmp(name, ".shstrtab")) { /* * Add sections specified by --add-section and * gnu debuglink. we want these sections have * smaller index than .shstrtab section. */ + sections_added = true; if (ecp->debuglink != NULL) add_gnu_debuglink(ecp); if (ecp->flags & SEC_ADD) @@ -504,6 +509,12 @@ create_scn(struct elfcopy *ecp) ecp->strtab = s; insert_to_sec_list(ecp, s, 0); + } + if (!sections_added) { + if (ecp->debuglink != NULL) + add_gnu_debuglink(ecp); + if (ecp->flags & SEC_ADD) + insert_sections(ecp); } elferr = elf_errno(); if (elferr != 0) From owner-svn-src-all@freebsd.org Fri Mar 20 16:00:26 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C4D4526ADE5; Fri, 20 Mar 2020 16:00:26 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kT564r5kz4S1l; Fri, 20 Mar 2020 16:00:26 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8900125FE0; Fri, 20 Mar 2020 16:00:26 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KG0QfM059998; Fri, 20 Mar 2020 16:00:26 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KG0Q7C059997; Fri, 20 Mar 2020 16:00:26 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202003201600.02KG0Q7C059997@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 20 Mar 2020 16:00:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359167 - head/share/mk X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 359167 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 16:00:26 -0000 Author: imp Date: Fri Mar 20 16:00:26 2020 New Revision: 359167 URL: https://svnweb.freebsd.org/changeset/base/359167 Log: Revert r359164. This was in my staging tree by mistake when I pushed. Revert until it's ready. Modified: head/share/mk/src.opts.mk Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Fri Mar 20 15:50:37 2020 (r359166) +++ head/share/mk/src.opts.mk Fri Mar 20 16:00:26 2020 (r359167) @@ -256,6 +256,11 @@ __T=${TARGET_ARCH} .else __T=${MACHINE_ARCH} .endif +.if defined(TARGET) +__TT=${TARGET} +.else +__TT=${MACHINE} +.endif # All supported backends for LLVM_TARGET_XXX __LLVM_TARGETS= \ @@ -265,13 +270,13 @@ __LLVM_TARGETS= \ powerpc \ riscv \ x86 -__LLVM_TARGET_FILT= C/(amd64|i386)/x86/:S/powerpc64/powerpc/:S/powerpcspe/powerpc/ +__LLVM_TARGET_FILT= C/(amd64|i386)/x86/:S/arm64/aarch64/:S/powerpc64/powerpc/ .for __llt in ${__LLVM_TARGETS} # Default enable the given TARGET's LLVM_TARGET support -.if ${__T:${__LLVM_TARGET_FILT}} == ${__llt} +.if ${__TT:${__LLVM_TARGET_FILT}} == ${__llt} __DEFAULT_YES_OPTIONS+= LLVM_TARGET_${__llt:${__LLVM_TARGET_FILT}:tu} # aarch64 needs arm for -m32 support. -.elif ${__T} == "aarch64" && ${__llt:Marm*} != "" +.elif ${__TT} == "arm64" && ${__llt} == "arm" __DEFAULT_DEPENDENT_OPTIONS+= LLVM_TARGET_ARM/LLVM_TARGET_AARCH64 # Default the rest of the LLVM_TARGETs to the value of MK_LLVM_TARGET_ALL. .else @@ -283,7 +288,7 @@ __DEFAULT_NO_OPTIONS+=LLVM_TARGET_BPF .include -.if ${__T:Mmips*} == "" +.if ${__TT} != "mips" # Clang is installed as the default /usr/bin/cc. __DEFAULT_YES_OPTIONS+=CLANG_BOOTSTRAP CLANG_IS_CC .else @@ -302,7 +307,7 @@ __DEFAULT_NO_OPTIONS+=BINUTILS_BOOTSTRAP .if ${__T:Mriscv*} != "" BROKEN_OPTIONS+=OFED .endif -.if ${__T:Mmips*} != "mips" && ${__T} != "powerpc" && ${__T} != "powerpcspe" +.if ${__TT} != "mips" && ${__T} != "powerpc" && ${__T} != "powerpcspe" __DEFAULT_YES_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD .else __DEFAULT_NO_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD From owner-svn-src-all@freebsd.org Fri Mar 20 16:02:46 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7FEC926AFCE; Fri, 20 Mar 2020 16:02:46 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kT7p2vWDz4TLn; Fri, 20 Mar 2020 16:02:46 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 45FD02619B; Fri, 20 Mar 2020 16:02:46 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KG2kMa065295; Fri, 20 Mar 2020 16:02:46 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KG2kKW065294; Fri, 20 Mar 2020 16:02:46 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003201602.02KG2kKW065294@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 20 Mar 2020 16:02:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359168 - head X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 359168 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 16:02:46 -0000 Author: emaste Date: Fri Mar 20 16:02:45 2020 New Revision: 359168 URL: https://svnweb.freebsd.org/changeset/base/359168 Log: remove ancient pre-2000 ObsoleteFiles.inc entries We support 10.3 as the minimum version to install from, which was released in the mid-2010s. There's a lot of ancient ObsoleteFiles.inc history that serves no purpose today; start by removing entries from 1999 and earlier. Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Fri Mar 20 16:00:26 2020 (r359167) +++ head/ObsoleteFiles.inc Fri Mar 20 16:02:45 2020 (r359168) @@ -9809,49 +9809,6 @@ OLD_FILES+=usr/bin/miniperl OLD_FILES+=usr/bin/sperl # 200001XX OLD_FILES+=usr/sbin/apmconf -# 199911XX -OLD_FILES+=usr/sbin/ipfstat -OLD_FILES+=usr/sbin/ipmon -OLD_FILES+=usr/sbin/ipnat -OLD_FILES+=usr/sbin/bad144 -OLD_FILES+=usr/sbin/wormcontrol -OLD_FILES+=usr/sbin/named-bootconf -OLD_FILES+=usr/sbin/kvm_mkdb -OLD_FILES+=usr/sbin/keyadmin -# 199909XX -OLD_FILES+=usr/lib/libdesrypt_p.a -OLD_FILES+=sbin/ft -# 199903XX -OLD_FILES+=sbin/modload -OLD_FILES+=sbin/modunload -OLD_FILES+=usr/sbin/natd -# 199812XX -OLD_FILES+=sbin/dset -# 199809XX -OLD_FILES+=sbin/scsi -OLD_FILES+=sbin/scsiformat -OLD_FILES+=usr/sbin/ncrcontrol -OLD_FILES+=usr/sbin/tickadj -# 199806XX -OLD_FILES+=usr/sbin/mkdosfs -# 199801XX -OLD_FILES+=sbin/mount_lfs -OLD_FILES+=sbin/newlfs -OLD_FILES+=sbin/dumplfs -OLD_FILES+=usr/sbin/qcamcontrol -OLD_FILES+=usr/sbin/supscan -# 1997XXXX -OLD_FILES+=usr/sbin/sysctl -OLD_FILES+=usr/sbin/ctm_scan -OLD_FILES+=usr/sbin/addgroup -OLD_FILES+=usr/sbin/rmgroup -# 1996XXXX -OLD_FILES+=sbin/rdisc -OLD_FILES+=usr/sbin/cdplay -OLD_FILES+=usr/sbin/supfilesrv -OLD_FILES+=usr/sbin/routed -OLD_FILES+=usr/sbin/lsdev -OLD_FILES+=usr/sbin/yppasswdd ## unsorted # do we still support aout builds? #OLD_FILES+=usr/lib/aout/c++rt0.o @@ -10798,10 +10755,6 @@ OLD_LIBS+=usr/lib/libtermcap.so.2 OLD_LIBS+=usr/lib/libutil.so.2 OLD_LIBS+=usr/lib/libvgl.so.1 OLD_LIBS+=usr/lib/libwrap.so.2 -# 19991216 -OLD_FILES+=usr/sbin/xntpdc -# 199909XX -OLD_LIBS+=usr/lib/libc_r.so.3 # ??? OLD_LIBS+=usr/lib/libarchive.so.2 OLD_LIBS+=usr/lib/libbsnmp.so.1 From owner-svn-src-all@freebsd.org Fri Mar 20 16:15:46 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D74F226B60F; Fri, 20 Mar 2020 16:15:46 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kTQp5SJmz3CmW; Fri, 20 Mar 2020 16:15:46 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B691726384; Fri, 20 Mar 2020 16:15:46 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KGFkmn071536; Fri, 20 Mar 2020 16:15:46 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KGFkap071532; Fri, 20 Mar 2020 16:15:46 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003201615.02KGFkap071532@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 20 Mar 2020 16:15:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359169 - in head/sys/cam: ctl scsi X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: in head/sys/cam: ctl scsi X-SVN-Commit-Revision: 359169 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 16:15:46 -0000 Author: emaste Date: Fri Mar 20 16:15:45 2020 New Revision: 359169 URL: https://svnweb.freebsd.org/changeset/base/359169 Log: sys/cam: remove doubled ;s Modified: head/sys/cam/ctl/ctl.c head/sys/cam/scsi/scsi_all.c head/sys/cam/scsi/scsi_da.c Modified: head/sys/cam/ctl/ctl.c ============================================================================== --- head/sys/cam/ctl/ctl.c Fri Mar 20 16:02:45 2020 (r359168) +++ head/sys/cam/ctl/ctl.c Fri Mar 20 16:15:45 2020 (r359169) @@ -13265,7 +13265,7 @@ ctl_done_timer_wakeup(void *arg) void ctl_serseq_done(union ctl_io *io) { - struct ctl_lun *lun = CTL_LUN(io);; + struct ctl_lun *lun = CTL_LUN(io); if (lun->be_lun == NULL || lun->be_lun->serseq == CTL_LUN_SERSEQ_OFF) Modified: head/sys/cam/scsi/scsi_all.c ============================================================================== --- head/sys/cam/scsi/scsi_all.c Fri Mar 20 16:02:45 2020 (r359168) +++ head/sys/cam/scsi/scsi_all.c Fri Mar 20 16:15:45 2020 (r359169) @@ -7112,7 +7112,7 @@ scsi_attrib_vendser_sbuf(struct sbuf *sb, struct scsi_ case SCSI_ATTR_OUTPUT_NONASCII_ESC: default: strvis_flags = CAM_STRVIS_FLAG_NONASCII_ESC; - break;; + break; } cam_strvis_sbuf(sb, vendser->vendor, sizeof(vendser->vendor), strvis_flags); Modified: head/sys/cam/scsi/scsi_da.c ============================================================================== --- head/sys/cam/scsi/scsi_da.c Fri Mar 20 16:02:45 2020 (r359168) +++ head/sys/cam/scsi/scsi_da.c Fri Mar 20 16:15:45 2020 (r359169) @@ -3973,7 +3973,7 @@ out: static void da_delete_unmap(struct cam_periph *periph, union ccb *ccb, struct bio *bp) { - struct da_softc *softc = (struct da_softc *)periph->softc;; + struct da_softc *softc = (struct da_softc *)periph->softc; struct bio *bp1; uint8_t *buf = softc->unmap_buf; struct scsi_unmap_desc *d = (void *)&buf[UNMAP_HEAD_SIZE]; From owner-svn-src-all@freebsd.org Fri Mar 20 16:17:55 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4F94126B83E; Fri, 20 Mar 2020 16:17:55 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kTTH0YL2z3FCF; Fri, 20 Mar 2020 16:17:55 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 06AE526385; Fri, 20 Mar 2020 16:17:55 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KGHsm4071664; Fri, 20 Mar 2020 16:17:54 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KGHs4Q071663; Fri, 20 Mar 2020 16:17:54 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202003201617.02KGHs4Q071663@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 20 Mar 2020 16:17:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359170 - in head/sys: kern sys X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: in head/sys: kern sys X-SVN-Commit-Revision: 359170 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 16:17:55 -0000 Author: markj Date: Fri Mar 20 16:17:54 2020 New Revision: 359170 URL: https://svnweb.freebsd.org/changeset/base/359170 Log: Remove UNP_NASCENT, reverting r303855. unp_connectat() no longer holds the link lock across calls to sonewconn(), so the recursion described in r303855 can no longer occur. No functional change intended. Tested by: pho MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/uipc_usrreq.c head/sys/sys/unpcb.h Modified: head/sys/kern/uipc_usrreq.c ============================================================================== --- head/sys/kern/uipc_usrreq.c Fri Mar 20 16:15:45 2020 (r359169) +++ head/sys/kern/uipc_usrreq.c Fri Mar 20 16:17:54 2020 (r359170) @@ -526,8 +526,6 @@ uipc_attach(struct socket *so, int proto, struct threa unp->unp_socket = so; so->so_pcb = unp; unp->unp_refcount = 1; - if (so->so_listen != NULL) - unp->unp_flags |= UNP_NASCENT; if ((locked = UNP_LINK_WOWNED()) == false) UNP_LINK_WLOCK(); @@ -800,9 +798,6 @@ uipc_detach(struct socket *so) UNP_PCB_UNLOCK(unp); goto restart; } - if ((unp->unp_flags & UNP_NASCENT) != 0) { - goto teardown; - } if ((vp = unp->unp_vnode) != NULL) { VOP_UNP_DETACH(vp); unp->unp_vnode = NULL; @@ -844,7 +839,6 @@ uipc_detach(struct socket *so) freeunp = unp_pcb_rele(unp); MPASS(freeunp == 0); local_unp_rights = unp_rights; -teardown: unp->unp_socket->so_pcb = NULL; saved_unp_addr = unp->unp_addr; unp->unp_addr = NULL; @@ -1685,7 +1679,6 @@ unp_connect2(struct socket *so, struct socket *so2, in if (so2->so_type != so->so_type) return (EPROTOTYPE); - unp2->unp_flags &= ~UNP_NASCENT; unp->unp_conn = unp2; unp_pcb_hold(unp2); unp_pcb_hold(unp); Modified: head/sys/sys/unpcb.h ============================================================================== --- head/sys/sys/unpcb.h Fri Mar 20 16:15:45 2020 (r359169) +++ head/sys/sys/unpcb.h Fri Mar 20 16:17:54 2020 (r359170) @@ -110,7 +110,6 @@ struct unpcb { */ #define UNP_CONNECTING 0x010 /* Currently connecting. */ #define UNP_BINDING 0x020 /* Currently binding. */ -#define UNP_NASCENT 0x040 /* Newborn child socket. */ /* * Flags in unp_gcflag. From owner-svn-src-all@freebsd.org Fri Mar 20 16:18:55 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4191026B8FC; Fri, 20 Mar 2020 16:18:55 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kTVR15wYz3GMt; Fri, 20 Mar 2020 16:18:55 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 20F3D26386; Fri, 20 Mar 2020 16:18:55 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KGIsSA071754; Fri, 20 Mar 2020 16:18:54 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KGIsux071753; Fri, 20 Mar 2020 16:18:54 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202003201618.02KGIsux071753@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 20 Mar 2020 16:18:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359171 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359171 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 16:18:55 -0000 Author: markj Date: Fri Mar 20 16:18:54 2020 New Revision: 359171 URL: https://svnweb.freebsd.org/changeset/base/359171 Log: Simplify uipc_detach() slightly. Remove a goto and an unneeded local variable, and fix style. No functional change intended. Tested by: pho MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/uipc_usrreq.c Modified: head/sys/kern/uipc_usrreq.c ============================================================================== --- head/sys/kern/uipc_usrreq.c Fri Mar 20 16:17:54 2020 (r359170) +++ head/sys/kern/uipc_usrreq.c Fri Mar 20 16:18:54 2020 (r359171) @@ -765,7 +765,6 @@ uipc_detach(struct socket *so) { struct unpcb *unp, *unp2; struct mtx *vplock; - struct sockaddr_un *saved_unp_addr; struct vnode *vp; int freeunp, local_unp_rights; @@ -791,8 +790,7 @@ uipc_detach(struct socket *so) mtx_lock(vplock); } UNP_PCB_LOCK(unp); - if (unp->unp_vnode != vp && - unp->unp_vnode != NULL) { + if (unp->unp_vnode != vp && unp->unp_vnode != NULL) { if (vplock) mtx_unlock(vplock); UNP_PCB_UNLOCK(unp); @@ -805,21 +803,20 @@ uipc_detach(struct socket *so) if (__predict_false(unp == unp->unp_conn)) { unp_disconnect(unp, unp); unp2 = NULL; - goto connect_self; + } else { + if ((unp2 = unp->unp_conn) != NULL) { + unp_pcb_owned_lock2(unp, unp2, freeunp); + if (freeunp) + unp2 = NULL; + } + unp_pcb_hold(unp); + if (unp2 != NULL) { + unp_pcb_hold(unp2); + unp_disconnect(unp, unp2); + if (unp_pcb_rele(unp2) == 0) + UNP_PCB_UNLOCK(unp2); + } } - if ((unp2 = unp->unp_conn) != NULL) { - unp_pcb_owned_lock2(unp, unp2, freeunp); - if (freeunp) - unp2 = NULL; - } - unp_pcb_hold(unp); - if (unp2 != NULL) { - unp_pcb_hold(unp2); - unp_disconnect(unp, unp2); - if (unp_pcb_rele(unp2) == 0) - UNP_PCB_UNLOCK(unp2); - } - connect_self: UNP_PCB_UNLOCK(unp); UNP_REF_LIST_LOCK(); while (!LIST_EMPTY(&unp->unp_refs)) { @@ -840,13 +837,10 @@ uipc_detach(struct socket *so) MPASS(freeunp == 0); local_unp_rights = unp_rights; unp->unp_socket->so_pcb = NULL; - saved_unp_addr = unp->unp_addr; - unp->unp_addr = NULL; unp->unp_socket = NULL; - freeunp = unp_pcb_rele(unp); - if (saved_unp_addr != NULL) - free(saved_unp_addr, M_SONAME); - if (!freeunp) + free(unp->unp_addr, M_SONAME); + unp->unp_addr = NULL; + if (!unp_pcb_rele(unp)) UNP_PCB_UNLOCK(unp); if (vp) { mtx_unlock(vplock); From owner-svn-src-all@freebsd.org Fri Mar 20 16:24:25 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7CAF826BC33; Fri, 20 Mar 2020 16:24:25 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kTcn1ZhJz3PsL; Fri, 20 Mar 2020 16:24:25 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1E38426548; Fri, 20 Mar 2020 16:24:24 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KGONIr078045; Fri, 20 Mar 2020 16:24:23 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KGONh9078044; Fri, 20 Mar 2020 16:24:23 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202003201624.02KGONh9078044@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 20 Mar 2020 16:24:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359173 - head/contrib/elftoolchain/libpe X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/contrib/elftoolchain/libpe X-SVN-Commit-Revision: 359173 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 16:24:25 -0000 Author: markj Date: Fri Mar 20 16:24:23 2020 New Revision: 359173 URL: https://svnweb.freebsd.org/changeset/base/359173 Log: libpe: Avoid a potential use-after-free in pe_update_symtab(). This function appears to be unused within FreeBSD and ELFToolChain. CID: 1418982 MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/contrib/elftoolchain/libpe/pe_symtab.c Modified: head/contrib/elftoolchain/libpe/pe_symtab.c ============================================================================== --- head/contrib/elftoolchain/libpe/pe_symtab.c Fri Mar 20 16:24:06 2020 (r359172) +++ head/contrib/elftoolchain/libpe/pe_symtab.c Fri Mar 20 16:24:23 2020 (r359173) @@ -33,7 +33,7 @@ ELFTC_VCSID("$Id: pe_symtab.c 3312 2016-01-10 09:23:51 int pe_update_symtab(PE *pe, char *symtab, size_t sz, unsigned int nsym) { - PE_Scn *ps; + PE_Scn *ps, *pstmp; PE_SecBuf *sb; PE_SecHdr *sh; @@ -48,7 +48,7 @@ pe_update_symtab(PE *pe, char *symtab, size_t sz, unsi } /* Remove the old symbol table. */ - STAILQ_FOREACH(ps, &pe->pe_scn, ps_next) { + STAILQ_FOREACH_SAFE(ps, &pe->pe_scn, ps_next, pstmp) { if (ps->ps_ndx == 0xFFFFFFFFU) libpe_release_scn(ps); } From owner-svn-src-all@freebsd.org Fri Mar 20 16:24:41 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 853CD26BC70; Fri, 20 Mar 2020 16:24:41 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kTd52xlwz3QCQ; Fri, 20 Mar 2020 16:24:41 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1A43026549; Fri, 20 Mar 2020 16:24:41 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KGOeR3078100; Fri, 20 Mar 2020 16:24:40 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KGOePY078099; Fri, 20 Mar 2020 16:24:40 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202003201624.02KGOePY078099@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 20 Mar 2020 16:24:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359174 - head/contrib/elftoolchain/readelf X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/contrib/elftoolchain/readelf X-SVN-Commit-Revision: 359174 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 16:24:41 -0000 Author: markj Date: Fri Mar 20 16:24:40 2020 New Revision: 359174 URL: https://svnweb.freebsd.org/changeset/base/359174 Log: readelf: Avoid leaking ELF descriptors for archive entries. CID: 1292494 MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/contrib/elftoolchain/readelf/readelf.c Modified: head/contrib/elftoolchain/readelf/readelf.c ============================================================================== --- head/contrib/elftoolchain/readelf/readelf.c Fri Mar 20 16:24:23 2020 (r359173) +++ head/contrib/elftoolchain/readelf/readelf.c Fri Mar 20 16:24:40 2020 (r359174) @@ -7256,6 +7256,7 @@ dump_ar(struct readelf *re, int fd) } printf("Binary %s(%s) contains:\n", re->filename, arhdr->ar_name); + elf_end(e); } printf("\t%s\n", arsym[i].as_name); } From owner-svn-src-all@freebsd.org Fri Mar 20 16:24:57 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1F18626BCD0; Fri, 20 Mar 2020 16:24:57 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kTdL4xy8z3QQ9; Fri, 20 Mar 2020 16:24:54 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B24092654A; Fri, 20 Mar 2020 16:24:53 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KGOrdh078155; Fri, 20 Mar 2020 16:24:53 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KGOrAT078154; Fri, 20 Mar 2020 16:24:53 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202003201624.02KGOrAT078154@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 20 Mar 2020 16:24:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359175 - head/contrib/elftoolchain/readelf X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/contrib/elftoolchain/readelf X-SVN-Commit-Revision: 359175 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 16:24:57 -0000 Author: markj Date: Fri Mar 20 16:24:53 2020 New Revision: 359175 URL: https://svnweb.freebsd.org/changeset/base/359175 Log: readelf: Fix another instance of the leak mentioned in r357542. CID: 1292493 MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/contrib/elftoolchain/readelf/readelf.c Modified: head/contrib/elftoolchain/readelf/readelf.c ============================================================================== --- head/contrib/elftoolchain/readelf/readelf.c Fri Mar 20 16:24:40 2020 (r359174) +++ head/contrib/elftoolchain/readelf/readelf.c Fri Mar 20 16:24:53 2020 (r359175) @@ -6065,6 +6065,7 @@ dump_dwarf_frame_regtable(struct readelf *re, Dwarf_Fd for (; cur_pc < end_pc; cur_pc++) { if (dwarf_get_fde_info_for_all_regs(fde, cur_pc, &rt, &row_pc, &de) != DW_DLV_OK) { + free(vec); warnx("dwarf_get_fde_info_for_all_regs failed: %s\n", dwarf_errmsg(de)); return (-1); From owner-svn-src-all@freebsd.org Fri Mar 20 16:25:12 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1380D26BD1C; Fri, 20 Mar 2020 16:25:12 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kTdg39nZz3Qdj; Fri, 20 Mar 2020 16:25:09 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 64F842654C; Fri, 20 Mar 2020 16:25:07 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KGP7Ok078269; Fri, 20 Mar 2020 16:25:07 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KGP7Q2078268; Fri, 20 Mar 2020 16:25:07 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003201625.02KGP7Q2078268@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 20 Mar 2020 16:25:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359177 - head X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 359177 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 16:25:12 -0000 Author: emaste Date: Fri Mar 20 16:25:06 2020 New Revision: 359177 URL: https://svnweb.freebsd.org/changeset/base/359177 Log: ObsoleteFiles.inc: add blank line between some recent entries We recently switched to including a blank line between ObsoleteFiles.inc entries. I missed this when adding GCC 4.2.1 (because the change was prepared months ago in a WIP tree); add a space for GCC 4.2.1 now, as well as for the other entry after the switch. Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Fri Mar 20 16:25:06 2020 (r359176) +++ head/ObsoleteFiles.inc Fri Mar 20 16:25:06 2020 (r359177) @@ -299,6 +299,7 @@ OLD_FILES+=usr/share/man/man8/fsinfo.8.gz OLD_FILES+=usr/share/man/man8/hlfsd.8.gz OLD_FILES+=usr/share/man/man8/mk-amd-map.8.gz OLD_FILES+=usr/share/man/man8/wire-test.8.gz + # 20200301: bktr removed OLD_DIRS+=usr/include/dev/bktr OLD_FILES+=usr/include/dev/bktr/ioctl_bktr.h @@ -309,6 +310,7 @@ OLD_FILES+=usr/include/machine/ioctl_bktr.h OLD_FILES+=usr/include/machine/ioctl_meteor.h .endif OLD_FILES+=usr/share/man/man4/bktr.4.gz + # 20200229: GCC 4.2.1 removed .if !defined(WITH_PORT_BASE_GCC) OLD_FILES+=usr/bin/g++ From owner-svn-src-all@freebsd.org Fri Mar 20 16:25:13 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 82D2326BD22; Fri, 20 Mar 2020 16:25:13 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kTdg34ghz3QdW; Fri, 20 Mar 2020 16:25:09 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DF3302654B; Fri, 20 Mar 2020 16:25:06 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KGP6jF078235; Fri, 20 Mar 2020 16:25:06 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KGP6Wf078234; Fri, 20 Mar 2020 16:25:06 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202003201625.02KGP6Wf078234@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 20 Mar 2020 16:25:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359176 - head/contrib/elftoolchain/libelftc X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/contrib/elftoolchain/libelftc X-SVN-Commit-Revision: 359176 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 16:25:13 -0000 Author: markj Date: Fri Mar 20 16:25:06 2020 New Revision: 359176 URL: https://svnweb.freebsd.org/changeset/base/359176 Log: libelftc: Fix a memory leak in cpp_demangle_read_type(). CID: 1305425 MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c Modified: head/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c ============================================================================== --- head/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c Fri Mar 20 16:24:53 2020 (r359175) +++ head/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c Fri Mar 20 16:25:06 2020 (r359176) @@ -2912,7 +2912,7 @@ again: if (len <= 0) goto clean; if (!vector_str_push(&v.ext_name, ddata->cur, len)) - return (0); + goto clean; ddata->cur += len; if (!vector_type_qualifier_push(&v, TYPE_EXT)) goto clean; From owner-svn-src-all@freebsd.org Fri Mar 20 16:31:07 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 14DDC26BFC8; Fri, 20 Mar 2020 16:31:07 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kTmS6qyZz44fF; Fri, 20 Mar 2020 16:31:04 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 897BE26546; Fri, 20 Mar 2020 16:24:06 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KGO6Df077991; Fri, 20 Mar 2020 16:24:06 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KGO6pk077990; Fri, 20 Mar 2020 16:24:06 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202003201624.02KGO6pk077990@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 20 Mar 2020 16:24:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359172 - head/contrib/elftoolchain/libdwarf X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/contrib/elftoolchain/libdwarf X-SVN-Commit-Revision: 359172 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 16:31:07 -0000 Author: markj Date: Fri Mar 20 16:24:06 2020 New Revision: 359172 URL: https://svnweb.freebsd.org/changeset/base/359172 Log: libdwarf: Make an out-pointer assignment unconditional. There is no reason for diep to ever be NULL, since in that case we would simply be leaking memory. CID: 1418801 MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/contrib/elftoolchain/libdwarf/libdwarf_die.c Modified: head/contrib/elftoolchain/libdwarf/libdwarf_die.c ============================================================================== --- head/contrib/elftoolchain/libdwarf/libdwarf_die.c Fri Mar 20 16:18:54 2020 (r359171) +++ head/contrib/elftoolchain/libdwarf/libdwarf_die.c Fri Mar 20 16:24:06 2020 (r359172) @@ -70,8 +70,7 @@ _dwarf_die_add(Dwarf_CU cu, uint64_t offset, uint64_t die->die_cu = cu; die->die_dbg = cu->cu_dbg; - if (diep != NULL) - *diep = die; + *diep = die; return (DW_DLE_NONE); } From owner-svn-src-all@freebsd.org Fri Mar 20 16:50:21 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8A3F526C816; Fri, 20 Mar 2020 16:50:21 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kVBj3By1z4S0d; Fri, 20 Mar 2020 16:50:21 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5EA86268DA; Fri, 20 Mar 2020 16:50:21 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KGoLso089979; Fri, 20 Mar 2020 16:50:21 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KGoKu2089974; Fri, 20 Mar 2020 16:50:20 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003201650.02KGoKu2089974@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 20 Mar 2020 16:50:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359178 - in head: . share/man/man4/man4.i386 sys/conf sys/dev/ctau sys/dev/cx sys/i386/conf sys/modules X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: in head: . share/man/man4/man4.i386 sys/conf sys/dev/ctau sys/dev/cx sys/i386/conf sys/modules X-SVN-Commit-Revision: 359178 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 16:50:21 -0000 Author: emaste Date: Fri Mar 20 16:50:19 2020 New Revision: 359178 URL: https://svnweb.freebsd.org/changeset/base/359178 Log: retire cx,ctau drivers The devices supported by these drivers are obsolete ISA cards, and the sync serial protocols they supported are essentially obsolete too. Sponsored by: The FreeBSD Foundation Deleted: head/share/man/man4/man4.i386/ctau.4 head/share/man/man4/man4.i386/cx.4 head/sys/dev/ctau/ head/sys/dev/cx/cronyxfw.h head/sys/dev/cx/csigma.c head/sys/dev/cx/csigmafw.h head/sys/dev/cx/cxddk.c head/sys/dev/cx/cxddk.h head/sys/dev/cx/cxreg.h head/sys/dev/cx/if_cx.c head/sys/dev/cx/ng_cx.h Modified: head/ObsoleteFiles.inc head/share/man/man4/man4.i386/Makefile head/sys/conf/WITHOUT_SOURCELESS_UCODE head/sys/conf/files.i386 head/sys/i386/conf/NOTES head/sys/modules/Makefile Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Fri Mar 20 16:25:06 2020 (r359177) +++ head/ObsoleteFiles.inc Fri Mar 20 16:50:19 2020 (r359178) @@ -36,6 +36,10 @@ # xargs -n1 | sort | uniq -d; # done +# 20200320: cx and ctau drivers retired +OLD_FILES+=usr/share/man/man4/ctau.4.gz +OLD_FILES+=usr/share/man/man4/cx.4.gz + # 20200318: host.conf was deprecated a long time ago. OLD_FILES+=etc/host.conf OLD_FILES+=etc/rc.d/nsswitch Modified: head/share/man/man4/man4.i386/Makefile ============================================================================== --- head/share/man/man4/man4.i386/Makefile Fri Mar 20 16:25:06 2020 (r359177) +++ head/share/man/man4/man4.i386/Makefile Fri Mar 20 16:50:19 2020 (r359178) @@ -4,8 +4,6 @@ MAN= apm.4 \ ce.4 \ cp.4 \ CPU_ELAN.4 \ - ctau.4 \ - cx.4 \ glxiic.4 \ glxsb.4 \ longrun.4 \ Modified: head/sys/conf/WITHOUT_SOURCELESS_UCODE ============================================================================== --- head/sys/conf/WITHOUT_SOURCELESS_UCODE Fri Mar 20 16:25:06 2020 (r359177) +++ head/sys/conf/WITHOUT_SOURCELESS_UCODE Fri Mar 20 16:50:19 2020 (r359178) @@ -16,7 +16,6 @@ nodevice ti nodevice txp nodevice ce nodevice cp -nodevice ctau nodevice ipwfw nodevice iwifw nodevice iwmfw Modified: head/sys/conf/files.i386 ============================================================================== --- head/sys/conf/files.i386 Fri Mar 20 16:25:06 2020 (r359177) +++ head/sys/conf/files.i386 Fri Mar 20 16:50:19 2020 (r359178) @@ -97,12 +97,6 @@ dev/ce/tau32-ddk.c optional ce \ dev/cp/cpddk.c optional cp \ compile-with "${NORMAL_C} ${NO_WMISLEADING_INDENTATION}" dev/cp/if_cp.c optional cp -dev/ctau/ctau.c optional ctau -dev/ctau/ctddk.c optional ctau -dev/ctau/if_ct.c optional ctau -dev/cx/csigma.c optional cx -dev/cx/cxddk.c optional cx -dev/cx/if_cx.c optional cx dev/glxiic/glxiic.c optional glxiic dev/glxsb/glxsb.c optional glxsb dev/glxsb/glxsb_hash.c optional glxsb Modified: head/sys/i386/conf/NOTES ============================================================================== --- head/sys/i386/conf/NOTES Fri Mar 20 16:25:06 2020 (r359177) +++ head/sys/i386/conf/NOTES Fri Mar 20 16:50:19 2020 (r359178) @@ -501,9 +501,6 @@ device cpufreq # V.35/RS-232/RS-530/RS-449/X.21/G.703/E1/E3/T3/STS-1 # serial adaptor (requires sppp (default), or NETGRAPH if # NETGRAPH_CRONYX is configured) -# ctau: Cronyx Tau sync dual port V.35/RS-232/RS-530/RS-449/X.21/G.703/E1 -# serial adaptor (requires sppp (default), or NETGRAPH if -# NETGRAPH_CRONYX is configured) # ipw: Intel PRO/Wireless 2100 IEEE 802.11 adapter # iwi: Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters # Requires the iwi firmware module @@ -526,11 +523,6 @@ device ce device cp hint.cs.0.at="isa" hint.cs.0.port="0x300" -device ctau -hint.ctau.0.at="isa" -hint.ctau.0.port="0x240" -hint.ctau.0.irq="15" -hint.ctau.0.drq="7" #options NETGRAPH_CRONYX # Enable NETGRAPH support for Cronyx adapter(s) options ED_3C503 options ED_HPP Modified: head/sys/modules/Makefile ============================================================================== --- head/sys/modules/Makefile Fri Mar 20 16:25:06 2020 (r359177) +++ head/sys/modules/Makefile Fri Mar 20 16:50:19 2020 (r359178) @@ -98,7 +98,6 @@ SUBDIR= \ ${_cpufreq} \ ${_crypto} \ ${_cryptodev} \ - ${_ctau} \ ctl \ ${_cxgb} \ ${_cxgbe} \ @@ -737,9 +736,6 @@ _glxsb= glxsb _pcfclock= pcfclock _pst= pst _sbni= sbni -.if ${MK_SOURCELESS_UCODE} != "no" -_ctau= ctau -.endif .endif .if ${MACHINE_CPUARCH} == "arm" From owner-svn-src-all@freebsd.org Fri Mar 20 17:16:21 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B844C26D396; Fri, 20 Mar 2020 17:16:21 +0000 (UTC) (envelope-from nick@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kVmj483wz3xyT; Fri, 20 Mar 2020 17:16:21 +0000 (UTC) (envelope-from nick@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 813F926E3C; Fri, 20 Mar 2020 17:16:21 +0000 (UTC) (envelope-from nick@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KHGLA5007831; Fri, 20 Mar 2020 17:16:21 GMT (envelope-from nick@FreeBSD.org) Received: (from nick@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KHGLlI007830; Fri, 20 Mar 2020 17:16:21 GMT (envelope-from nick@FreeBSD.org) Message-Id: <202003201716.02KHGLlI007830@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: nick set sender to nick@FreeBSD.org using -f From: "Nick O'Brien" Date: Fri, 20 Mar 2020 17:16:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359179 - head/share/misc X-SVN-Group: head X-SVN-Commit-Author: nick X-SVN-Commit-Paths: head/share/misc X-SVN-Commit-Revision: 359179 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 17:16:21 -0000 Author: nick Date: Fri Mar 20 17:16:21 2020 New Revision: 359179 URL: https://svnweb.freebsd.org/changeset/base/359179 Log: Add myself (nick) as a src committer Reviewed by: philip (mentor) Approved by: philip (mentor), kp (mentor) Differential Revision: https://reviews.freebsd.org/D24130 Modified: head/share/misc/committers-src.dot Modified: head/share/misc/committers-src.dot ============================================================================== --- head/share/misc/committers-src.dot Fri Mar 20 16:50:19 2020 (r359178) +++ head/share/misc/committers-src.dot Fri Mar 20 17:16:21 2020 (r359179) @@ -275,6 +275,7 @@ mw [label="Marcin Wojtas\nmw@FreeBSD.org\n2017/07/18"] neel [label="Neel Natu\nneel@FreeBSD.org\n2009/09/20"] netchild [label="Alexander Leidinger\nnetchild@FreeBSD.org\n2005/03/31"] ngie [label="Enji Cooper\nngie@FreeBSD.org\n2014/07/27"] +nick [label="Nick O'Brien\nnick@FreeBSD.org\n2020/03/09"] nork [label="Norikatsu Shigemura\nnork@FreeBSD.org\n2009/06/09"] np [label="Navdeep Parhar\nnp@FreeBSD.org\n2009/06/05"] nwhitehorn [label="Nathan Whitehorn\nnwhitehorn@FreeBSD.org\n2008/07/03"] @@ -699,6 +700,8 @@ kib -> zont kmacy -> lstewart +kp -> nick + marcel -> allanjude marcel -> art marcel -> arun @@ -775,6 +778,7 @@ philip -> jls philip -> matteo philip -> uqs philip -> kp +philip -> nick phk -> jkoshy phk -> mux From owner-svn-src-all@freebsd.org Fri Mar 20 18:19:13 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 66A1926EFDC; Fri, 20 Mar 2020 18:19:13 +0000 (UTC) (envelope-from glebius@freebsd.org) Received: from cell.glebi.us (glebi.us [162.251.186.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "cell.glebi.us", Issuer "cell.glebi.us" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kX9C7448z49hw; Fri, 20 Mar 2020 18:19:11 +0000 (UTC) (envelope-from glebius@freebsd.org) Received: from cell.glebi.us (localhost [127.0.0.1]) by cell.glebi.us (8.15.2/8.15.2) with ESMTPS id 02KIJ2sf012247 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 20 Mar 2020 11:19:02 -0700 (PDT) (envelope-from glebius@freebsd.org) Received: (from glebius@localhost) by cell.glebi.us (8.15.2/8.15.2/Submit) id 02KIJ2F9012246; Fri, 20 Mar 2020 11:19:02 -0700 (PDT) (envelope-from glebius@freebsd.org) X-Authentication-Warning: cell.glebi.us: glebius set sender to glebius@freebsd.org using -f Date: Fri, 20 Mar 2020 11:19:02 -0700 From: Gleb Smirnoff To: Andrew Gallatin Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r359016 - head/sys/netinet Message-ID: <20200320181902.GB1292@FreeBSD.org> References: <202003161403.02GE3Rse024202@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202003161403.02GE3Rse024202@repo.freebsd.org> X-Rspamd-Queue-Id: 48kX9C7448z49hw X-Spamd-Bar: + Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [1.48 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_SPAM_LONG(0.98)[0.981,0]; NEURAL_SPAM_MEDIUM(0.50)[0.498,0]; ASN(0.00)[asn:27348, ipnet:162.251.186.0/24, country:US] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 18:19:13 -0000 Andrew, On Mon, Mar 16, 2020 at 02:03:27PM +0000, Andrew Gallatin wrote: A> Log: A> Avoid a cache miss accessing an mbuf ext_pgs pointer when doing SW kTLS. A> A> For a Netflix 90Gb/s 100% TLS software kTLS workload, this reduces A> the CPI of tcp_m_copym() from ~3.5 to ~2.5 as reported by vtune. A> A> Reviewed by: jtl, rrs A> Sponsored by: Netflix A> Differential Revision: https://reviews.freebsd.org/D23998 A> A> Modified: A> head/sys/netinet/tcp_output.c A> A> Modified: head/sys/netinet/tcp_output.c A> ============================================================================== A> --- head/sys/netinet/tcp_output.c Mon Mar 16 13:53:29 2020 (r359015) A> +++ head/sys/netinet/tcp_output.c Mon Mar 16 14:03:27 2020 (r359016) A> @@ -1907,7 +1907,7 @@ tcp_m_copym(struct mbuf *m, int32_t off0, int32_t *ple A> top = NULL; A> pkthdrlen = NULL; A> #ifdef KERN_TLS A> - if (m->m_flags & M_NOMAP) A> + if (hw_tls && (m->m_flags & M_NOMAP)) A> tls = m->m_ext.ext_pgs->tls; A> else A> tls = NULL; IMHO, such changes must always be accompanied by a comment. Otherwise, I can easily imagine someone in couple of years "optimizing" it back with commit message "Remove extraneous check. m->m_ext.ext_pgs->tls is NULL when tls is off" -- Gleb Smirnoff From owner-svn-src-all@freebsd.org Fri Mar 20 19:23:56 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 40E0F27074D; Fri, 20 Mar 2020 19:23:56 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kYbw14s7z4W7q; Fri, 20 Mar 2020 19:23:56 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 07C77772; Fri, 20 Mar 2020 19:23:56 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KJNt4k085033; Fri, 20 Mar 2020 19:23:55 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KJNt71085032; Fri, 20 Mar 2020 19:23:55 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003201923.02KJNt71085032@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 20 Mar 2020 19:23:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359180 - head/sys/modules/ctau X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/modules/ctau X-SVN-Commit-Revision: 359180 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 19:23:56 -0000 Author: emaste Date: Fri Mar 20 19:23:55 2020 New Revision: 359180 URL: https://svnweb.freebsd.org/changeset/base/359180 Log: Remove ctau module subdir, missed in r359178 Deleted: head/sys/modules/ctau/ From owner-svn-src-all@freebsd.org Fri Mar 20 19:28:57 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 27EF02708B3; Fri, 20 Mar 2020 19:28:57 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kYjj0K5Lz4YGj; Fri, 20 Mar 2020 19:28:57 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 01687774; Fri, 20 Mar 2020 19:28:57 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KJSuD4085298; Fri, 20 Mar 2020 19:28:56 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KJSt3s085292; Fri, 20 Mar 2020 19:28:55 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003201928.02KJSt3s085292@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 20 Mar 2020 19:28:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359181 - in head/sys/dev: ce cp cx X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: in head/sys/dev: ce cp cx X-SVN-Commit-Revision: 359181 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 19:28:57 -0000 Author: emaste Date: Fri Mar 20 19:28:55 2020 New Revision: 359181 URL: https://svnweb.freebsd.org/changeset/base/359181 Log: Use a separate copy of machdep.h in cp and ce drivers Previously they included sys/dev/cx/machdep.h, but the cx driver was retired in r359178. These drivers haven't had real development for a decade or more so there's no real benefit in sharing this file; just copy it to the ce and cp subdirs. Added: head/sys/dev/ce/machdep.h - copied unchanged from r359180, head/sys/dev/cx/machdep.h head/sys/dev/cp/machdep.h - copied unchanged from r359180, head/sys/dev/cx/machdep.h Deleted: head/sys/dev/cx/ Modified: head/sys/dev/ce/ceddk.c head/sys/dev/ce/if_ce.c head/sys/dev/cp/cpddk.c head/sys/dev/cp/if_cp.c Modified: head/sys/dev/ce/ceddk.c ============================================================================== --- head/sys/dev/ce/ceddk.c Fri Mar 20 19:23:55 2020 (r359180) +++ head/sys/dev/ce/ceddk.c Fri Mar 20 19:28:55 2020 (r359181) @@ -18,7 +18,7 @@ #include __FBSDID("$FreeBSD$"); -#include +#include #include #undef CE_DDK_DEBUG_ENABLED Modified: head/sys/dev/ce/if_ce.c ============================================================================== --- head/sys/dev/ce/if_ce.c Fri Mar 20 19:23:55 2020 (r359180) +++ head/sys/dev/ce/if_ce.c Fri Mar 20 19:28:55 2020 (r359181) @@ -72,7 +72,7 @@ __FBSDID("$FreeBSD$"); # define PP_CISCO IFF_LINK2 # include #endif -#include +#include #include #include #include Copied: head/sys/dev/ce/machdep.h (from r359180, head/sys/dev/cx/machdep.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/ce/machdep.h Fri Mar 20 19:28:55 2020 (r359181, copy of r359180, head/sys/dev/cx/machdep.h) @@ -0,0 +1,97 @@ +/*- + * Cronyx DDK: platform dependent definitions. + * + * Copyright (C) 1998-1999 Cronyx Engineering + * Author: Alexander Kvitchenko, + * + * Copyright (C) 2001-2003 Cronyx Engineering. + * Author: Roman Kurakin, + * + * This software is distributed with NO WARRANTIES, not even the implied + * warranties for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * Authors grant any other persons or organisations permission to use + * or modify this software as long as this message is kept with the software, + * all derivative works or modified versions. + * + * Cronyx Id: machdep.h,v 1.3.4.3 2003/11/27 14:21:58 rik Exp $ + * $FreeBSD$ + */ + +/* + * DOS (Borland Turbo C++ 1.0) + */ +#if defined (MSDOS) || defined (__MSDOS__) +# include +# include +# define inb(port) inportb(port) +# define inw(port) inport(port) +# define outb(port,b) outportb(port,b) +# define outw(port,w) outport(port,w) +# define GETTICKS() biostime(0,0L) +#else + +/* + * Windows NT + */ +#ifdef NDIS_MINIPORT_DRIVER +# include +# define inb(port) inp((unsigned short)(port)) +# define inw(port) inpw((unsigned short)(port)) +# define outb(port,b) outp((unsigned short)(port),b) +# define outw(port,w) outpw((unsigned short)(port),(unsigned short)(w)) +#pragma warning (disable: 4761) +#pragma warning (disable: 4242) +#pragma warning (disable: 4244) +#define ulong64 unsigned __int64 +#else + +/* + * Linux + */ +#ifdef __linux__ +# undef REALLY_SLOW_IO +# include /* should swap outb() arguments */ +# include +# include + static inline void __ddk_outb (unsigned port, unsigned char byte) + { outb (byte, port); } + static inline void __ddk_outw (unsigned port, unsigned short word) + { outw (word, port); } +# undef outb +# undef outw +# define outb(port,val) __ddk_outb(port, val) +# define outw(port,val) __ddk_outw(port, val) +# define GETTICKS() (jiffies * 200 / 11 / HZ) +#else + +/* + * FreeBSD and BSD/OS + */ +#ifdef __FreeBSD__ +# include +# include +# include +# include +# define port_t int + +#ifndef _SYS_CDEFS_H_ +#error this file needs sys/cdefs.h as a prerequisite +#endif +#endif + +#endif +#endif +#endif + +#ifndef inline +# ifdef __CC_SUPPORTS___INLINE__ +# define inline __inline__ +# else +# define inline /**/ +# endif +#endif + +#ifndef ulong64 +#define ulong64 unsigned long long +#endif Modified: head/sys/dev/cp/cpddk.c ============================================================================== --- head/sys/dev/cp/cpddk.c Fri Mar 20 19:23:55 2020 (r359180) +++ head/sys/dev/cp/cpddk.c Fri Mar 20 19:28:55 2020 (r359181) @@ -20,7 +20,7 @@ #include __FBSDID("$FreeBSD$"); -#include +#include #define CPDDK_COBF_SAFE #include Modified: head/sys/dev/cp/if_cp.c ============================================================================== --- head/sys/dev/cp/if_cp.c Fri Mar 20 19:23:55 2020 (r359180) +++ head/sys/dev/cp/if_cp.c Fri Mar 20 19:28:55 2020 (r359181) @@ -63,7 +63,7 @@ __FBSDID("$FreeBSD$"); # define PP_CISCO IFF_LINK2 # include #endif -#include +#include #include #include #include Copied: head/sys/dev/cp/machdep.h (from r359180, head/sys/dev/cx/machdep.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/cp/machdep.h Fri Mar 20 19:28:55 2020 (r359181, copy of r359180, head/sys/dev/cx/machdep.h) @@ -0,0 +1,97 @@ +/*- + * Cronyx DDK: platform dependent definitions. + * + * Copyright (C) 1998-1999 Cronyx Engineering + * Author: Alexander Kvitchenko, + * + * Copyright (C) 2001-2003 Cronyx Engineering. + * Author: Roman Kurakin, + * + * This software is distributed with NO WARRANTIES, not even the implied + * warranties for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * Authors grant any other persons or organisations permission to use + * or modify this software as long as this message is kept with the software, + * all derivative works or modified versions. + * + * Cronyx Id: machdep.h,v 1.3.4.3 2003/11/27 14:21:58 rik Exp $ + * $FreeBSD$ + */ + +/* + * DOS (Borland Turbo C++ 1.0) + */ +#if defined (MSDOS) || defined (__MSDOS__) +# include +# include +# define inb(port) inportb(port) +# define inw(port) inport(port) +# define outb(port,b) outportb(port,b) +# define outw(port,w) outport(port,w) +# define GETTICKS() biostime(0,0L) +#else + +/* + * Windows NT + */ +#ifdef NDIS_MINIPORT_DRIVER +# include +# define inb(port) inp((unsigned short)(port)) +# define inw(port) inpw((unsigned short)(port)) +# define outb(port,b) outp((unsigned short)(port),b) +# define outw(port,w) outpw((unsigned short)(port),(unsigned short)(w)) +#pragma warning (disable: 4761) +#pragma warning (disable: 4242) +#pragma warning (disable: 4244) +#define ulong64 unsigned __int64 +#else + +/* + * Linux + */ +#ifdef __linux__ +# undef REALLY_SLOW_IO +# include /* should swap outb() arguments */ +# include +# include + static inline void __ddk_outb (unsigned port, unsigned char byte) + { outb (byte, port); } + static inline void __ddk_outw (unsigned port, unsigned short word) + { outw (word, port); } +# undef outb +# undef outw +# define outb(port,val) __ddk_outb(port, val) +# define outw(port,val) __ddk_outw(port, val) +# define GETTICKS() (jiffies * 200 / 11 / HZ) +#else + +/* + * FreeBSD and BSD/OS + */ +#ifdef __FreeBSD__ +# include +# include +# include +# include +# define port_t int + +#ifndef _SYS_CDEFS_H_ +#error this file needs sys/cdefs.h as a prerequisite +#endif +#endif + +#endif +#endif +#endif + +#ifndef inline +# ifdef __CC_SUPPORTS___INLINE__ +# define inline __inline__ +# else +# define inline /**/ +# endif +#endif + +#ifndef ulong64 +#define ulong64 unsigned long long +#endif From owner-svn-src-all@freebsd.org Fri Mar 20 19:38:15 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7399B270DCC; Fri, 20 Mar 2020 19:38:15 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kYwR163Vz3Fnx; Fri, 20 Mar 2020 19:38:15 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EF176947; Fri, 20 Mar 2020 19:38:14 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KJcETW091300; Fri, 20 Mar 2020 19:38:14 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KJcEJH091299; Fri, 20 Mar 2020 19:38:14 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003201938.02KJcEJH091299@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 20 Mar 2020 19:38:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359182 - head/sys/modules/cx X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/modules/cx X-SVN-Commit-Revision: 359182 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 19:38:15 -0000 Author: emaste Date: Fri Mar 20 19:38:14 2020 New Revision: 359182 URL: https://svnweb.freebsd.org/changeset/base/359182 Log: Remove cx module subdir, missed in r359178 Deleted: head/sys/modules/cx/ From owner-svn-src-all@freebsd.org Fri Mar 20 20:02:54 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5CDAF271C3B; Fri, 20 Mar 2020 20:02:54 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kZSt0WpBz4GqF; Fri, 20 Mar 2020 20:02:54 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F26B4ED8; Fri, 20 Mar 2020 20:02:53 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KK2rIo009221; Fri, 20 Mar 2020 20:02:53 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KK2rT2009220; Fri, 20 Mar 2020 20:02:53 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202003202002.02KK2rT2009220@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 20 Mar 2020 20:02:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359183 - head/lib/libc/locale X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/lib/libc/locale X-SVN-Commit-Revision: 359183 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 20:02:54 -0000 Author: markj Date: Fri Mar 20 20:02:53 2020 New Revision: 359183 URL: https://svnweb.freebsd.org/changeset/base/359183 Log: Fix uselocale(3) to not leak a reference to the old locale. In a single-threaded program pthread_getspecific() always returns NULL, so the old locale would not end up being freed. PR: 239520 MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Modified: head/lib/libc/locale/xlocale.c Modified: head/lib/libc/locale/xlocale.c ============================================================================== --- head/lib/libc/locale/xlocale.c Fri Mar 20 19:38:14 2020 (r359182) +++ head/lib/libc/locale/xlocale.c Fri Mar 20 20:02:53 2020 (r359183) @@ -163,7 +163,7 @@ set_thread_locale(locale_t loc) if (NULL != l) { xlocale_retain((struct xlocale_refcounted*)l); } - locale_t old = pthread_getspecific(locale_info_key); + locale_t old = get_thread_locale(); if ((NULL != old) && (l != old)) { xlocale_release((struct xlocale_refcounted*)old); } From owner-svn-src-all@freebsd.org Fri Mar 20 20:09:01 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9E2E3271E98; Fri, 20 Mar 2020 20:09:01 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kZbx3DKLz4PP4; Fri, 20 Mar 2020 20:09:01 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4F6D4EE9; Fri, 20 Mar 2020 20:09:01 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KK91c0009693; Fri, 20 Mar 2020 20:09:01 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KK91fV009692; Fri, 20 Mar 2020 20:09:01 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202003202009.02KK91fV009692@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 20 Mar 2020 20:09:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359184 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359184 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 20:09:01 -0000 Author: markj Date: Fri Mar 20 20:09:00 2020 New Revision: 359184 URL: https://svnweb.freebsd.org/changeset/base/359184 Log: Lock the socket in soo_stat(). Otherwise nothing synchronizes with a concurrent conversion of the socket to a listening socket. Only the PF_LOCAL protocols implement pru_sense, and it is safe to hold the socket lock there, so do so for now. Reported by: syzbot+4801f1b79ea40953ca8e@syzkaller.appspotmail.com MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/sys_socket.c Modified: head/sys/kern/sys_socket.c ============================================================================== --- head/sys/kern/sys_socket.c Fri Mar 20 20:02:53 2020 (r359183) +++ head/sys/kern/sys_socket.c Fri Mar 20 20:09:00 2020 (r359184) @@ -287,9 +287,7 @@ soo_stat(struct file *fp, struct stat *ub, struct ucre struct thread *td) { struct socket *so = fp->f_data; -#ifdef MAC int error; -#endif bzero((caddr_t)ub, sizeof (*ub)); ub->st_mode = S_IFSOCK; @@ -298,6 +296,7 @@ soo_stat(struct file *fp, struct stat *ub, struct ucre if (error) return (error); #endif + SOCK_LOCK(so); if (!SOLISTENING(so)) { struct sockbuf *sb; @@ -320,7 +319,9 @@ soo_stat(struct file *fp, struct stat *ub, struct ucre } ub->st_uid = so->so_cred->cr_uid; ub->st_gid = so->so_cred->cr_gid; - return (*so->so_proto->pr_usrreqs->pru_sense)(so, ub); + error = so->so_proto->pr_usrreqs->pru_sense(so, ub); + SOCK_UNLOCK(so); + return (error); } /* From owner-svn-src-all@freebsd.org Fri Mar 20 21:07:04 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E763C273243; Fri, 20 Mar 2020 21:07:04 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kbtw2CQnz4TJ8; Fri, 20 Mar 2020 21:07:04 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 86F301A21; Fri, 20 Mar 2020 21:07:02 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KL720c045531; Fri, 20 Mar 2020 21:07:02 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KL6wSp045495; Fri, 20 Mar 2020 21:06:58 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003202106.02KL6wSp045495@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 20 Mar 2020 21:06:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359185 - in head/sys: conf modules/cxgbe/iw_cxgbe modules/ibcore modules/ipoib modules/iser modules/lindebugfs modules/linuxkpi modules/mlx4 modules/mlx4en modules/mlx4ib modules/mlx5 ... X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in head/sys: conf modules/cxgbe/iw_cxgbe modules/ibcore modules/ipoib modules/iser modules/lindebugfs modules/linuxkpi modules/mlx4 modules/mlx4en modules/mlx4ib modules/mlx5 modules/mlx5en modules/ml... X-SVN-Commit-Revision: 359185 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 21:07:05 -0000 Author: kib Date: Fri Mar 20 21:06:58 2020 New Revision: 359185 URL: https://svnweb.freebsd.org/changeset/base/359185 Log: Introduce LINUXKPI_GENSRCS. Centralize the list of generated files required by linuxkpi consumers, into the common variable. This way, consumers that use the variable are insulated from possible changes in the list. Reviewed by: hselasky, imp Sponsored by: Mellanox Technologies MFC after: 1 week Differential revision: https://reviews.freebsd.org/D24137 Modified: head/sys/conf/kmod.mk head/sys/modules/cxgbe/iw_cxgbe/Makefile head/sys/modules/ibcore/Makefile head/sys/modules/ipoib/Makefile head/sys/modules/iser/Makefile head/sys/modules/lindebugfs/Makefile head/sys/modules/linuxkpi/Makefile head/sys/modules/mlx4/Makefile head/sys/modules/mlx4en/Makefile head/sys/modules/mlx4ib/Makefile head/sys/modules/mlx5/Makefile head/sys/modules/mlx5en/Makefile head/sys/modules/mlx5fpga_tools/Makefile head/sys/modules/mlx5ib/Makefile head/sys/modules/mlxfw/Makefile head/sys/modules/mthca/Makefile head/sys/modules/qlnx/qlnxe/Makefile head/sys/modules/qlnx/qlnxev/Makefile head/sys/modules/qlnx/qlnxr/Makefile head/sys/modules/rdma/krping/Makefile Modified: head/sys/conf/kmod.mk ============================================================================== --- head/sys/conf/kmod.mk Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/conf/kmod.mk Fri Mar 20 21:06:58 2020 (r359185) @@ -94,6 +94,16 @@ WERROR?= -Wno-error WERROR?= -Werror .endif +LINUXKPI_GENSRCS+= \ + bus_if.h \ + device_if.h \ + pci_if.h \ + pci_iov_if.h \ + vnode_if.h \ + usb_if.h \ + opt_usb.h \ + opt_stack.h + CFLAGS+= ${WERROR} CFLAGS+= -D_KERNEL CFLAGS+= -DKLD_MODULE Modified: head/sys/modules/cxgbe/iw_cxgbe/Makefile ============================================================================== --- head/sys/modules/cxgbe/iw_cxgbe/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/cxgbe/iw_cxgbe/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -4,24 +4,17 @@ CXGBE= ${SRCTOP}/sys/dev/cxgbe .PATH: ${CXGBE}/iw_cxgbe KMOD= iw_cxgbe -SRCS= bus_if.h SRCS+= cm.c SRCS+= cq.c SRCS+= device.c -SRCS+= device_if.h SRCS+= ev.c SRCS+= id_table.c SRCS+= mem.c -SRCS+= opt_inet.h -SRCS+= opt_ktr.h -SRCS+= opt_ofed.h -SRCS+= opt_sched.h -SRCS+= pci_if.h -SRCS+= pcib_if.h SRCS+= provider.c SRCS+= qp.c SRCS+= resource.c -SRCS+= vnode_if.h +SRCS+= ${LINUXKPI_GENSRCS} +SRCS+= opt_inet.h opt_inet6.h opt_ktr.h opt_ofed.h opt_sched.h CFLAGS+= -I${CXGBE} -I${SRCTOP}/sys/ofed/include -DLINUX_TYPES_DEFINED CFLAGS+= -I${SRCTOP}/sys/ofed/include/uapi Modified: head/sys/modules/ibcore/Makefile ============================================================================== --- head/sys/modules/ibcore/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/ibcore/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -2,8 +2,7 @@ .PATH: ${SRCTOP}/sys/ofed/drivers/infiniband/core KMOD= ibcore -SRCS= vnode_if.h device_if.h bus_if.h pci_if.h pci_iov_if.h \ - opt_inet.h opt_inet6.h \ +SRCS= \ ib_addr.c \ ib_agent.c \ ib_cache.c \ @@ -32,6 +31,8 @@ SRCS= vnode_if.h device_if.h bus_if.h pci_if.h pci_iov ib_uverbs_main.c \ ib_uverbs_marshall.c \ ib_verbs.c +SRCS+= ${LINUXKPI_GENSRCS} +SRCS+= opt_inet.h opt_inet6.h CFLAGS+= -I${SRCTOP}/sys/ofed/include CFLAGS+= -I${SRCTOP}/sys/ofed/include/uapi Modified: head/sys/modules/ipoib/Makefile ============================================================================== --- head/sys/modules/ipoib/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/ipoib/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -2,10 +2,10 @@ .PATH: ${SRCTOP}/sys/ofed/drivers/infiniband/ulp/ipoib KMOD= ipoib -SRCS= device_if.h bus_if.h vnode_if.h pci_if.h \ - opt_inet.h opt_inet6.h opt_ofed.h \ - ipoib_cm.c ipoib_ib.c ipoib_main.c \ +SRCS= ipoib_cm.c ipoib_ib.c ipoib_main.c \ ipoib_multicast.c ipoib_verbs.c +SRCS+= ${LINUXKPI_GENSRCS} +SRCS+= opt_inet.h opt_inet6.h opt_ofed.h CFLAGS+= -I${SRCTOP}/sys/ofed/drivers/infiniband/ulp/ipoib CFLAGS+= -I${SRCTOP}/sys/ofed/include Modified: head/sys/modules/iser/Makefile ============================================================================== --- head/sys/modules/iser/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/iser/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -11,13 +11,9 @@ SRCS= icl_iser.c SRCS+= iser_initiator.c SRCS+= iser_memory.c SRCS+= iser_verbs.c -SRCS+= vnode_if.h -SRCS+= opt_inet.h -SRCS+= opt_inet6.h -SRCS+= opt_cam.h -SRCS+= bus_if.h -SRCS+= device_if.h -SRCS+= icl_conn_if.h + +SRCS+= ${LINUXKPI_GENSRCS} +SRCS+= opt_inet.h opt_inet6.h opt_cam.h icl_conn_if.h CFLAGS+= -I${SYSDIR}/ CFLAGS+= -I${SYSDIR}/ofed/include Modified: head/sys/modules/lindebugfs/Makefile ============================================================================== --- head/sys/modules/lindebugfs/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/lindebugfs/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -3,9 +3,8 @@ .PATH: ${SRCTOP}/sys/compat/lindebugfs KMOD= lindebugfs -SRCS= vnode_if.h \ - device_if.h bus_if.h pci_if.h \ - lindebugfs.c +SRCS= lindebugfs.c +SRCS+= ${LINUXKPI_GENSRCS} CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include Modified: head/sys/modules/linuxkpi/Makefile ============================================================================== --- head/sys/modules/linuxkpi/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/linuxkpi/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -21,14 +21,7 @@ SRCS= linux_compat.c \ linux_usb.c \ linux_work.c -SRCS+= bus_if.h \ - device_if.h \ - pci_if.h \ - pci_iov_if.h \ - vnode_if.h \ - usb_if.h \ - opt_usb.h \ - opt_stack.h +SRCS+= ${LINUXKPI_GENSRCS} CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include CFLAGS+= -I${SRCTOP}/sys/contrib/ck/include Modified: head/sys/modules/mlx4/Makefile ============================================================================== --- head/sys/modules/mlx4/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/mlx4/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -2,8 +2,7 @@ .PATH: ${SRCTOP}/sys/dev/mlx4/mlx4_core KMOD= mlx4 -SRCS= device_if.h bus_if.h vnode_if.h pci_if.h pci_iov_if.h \ - opt_inet.h opt_inet6.h \ +SRCS= \ mlx4_alloc.c \ mlx4_catas.c \ mlx4_cmd.c \ @@ -24,6 +23,8 @@ SRCS= device_if.h bus_if.h vnode_if.h pci_if.h pci_iov mlx4_sense.c \ mlx4_srq.c \ mlx4_resource_tracker.c +SRCS+= ${LINUXKPI_GENSRCS} +SRCS+= opt_inet.h opt_inet6.h CFLAGS+= -I${SRCTOP}/sys/ofed/include CFLAGS+= -I${SRCTOP}/sys/ofed/include/uapi Modified: head/sys/modules/mlx4en/Makefile ============================================================================== --- head/sys/modules/mlx4en/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/mlx4en/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -2,8 +2,7 @@ .PATH: ${SRCTOP}/sys/dev/mlx4/mlx4_en KMOD= mlx4en -SRCS= device_if.h bus_if.h pci_if.h pci_iov_if.h vnode_if.h \ - opt_inet.h opt_inet6.h \ +SRCS= \ mlx4_en_cq.c \ mlx4_en_main.c \ mlx4_en_netdev.c \ @@ -11,6 +10,8 @@ SRCS= device_if.h bus_if.h pci_if.h pci_iov_if.h vnode mlx4_en_resources.c \ mlx4_en_rx.c \ mlx4_en_tx.c +SRCS+= ${LINUXKPI_GENSRCS} +SRCS+= opt_inet.h opt_inet6.h CFLAGS+= -I${SRCTOP}/sys/ofed/include CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include Modified: head/sys/modules/mlx4ib/Makefile ============================================================================== --- head/sys/modules/mlx4ib/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/mlx4ib/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -2,8 +2,7 @@ .PATH: ${SRCTOP}/sys/dev/mlx4/mlx4_ib KMOD= mlx4ib -SRCS= device_if.h bus_if.h vnode_if.h pci_if.h pci_iov_if.h \ - opt_inet.h opt_inet6.h \ +SRCS= \ mlx4_ib_alias_GUID.c \ mlx4_ib_mcg.c \ mlx4_ib_sysfs.c \ @@ -17,6 +16,8 @@ SRCS= device_if.h bus_if.h vnode_if.h pci_if.h pci_iov mlx4_ib_srq.c \ mlx4_ib_wc.c \ mlx4_ib_cm.c +SRCS+= ${LINUXKPI_GENSRCS} +SRCS+= opt_inet.h opt_inet6.h CFLAGS+= -I${SRCTOP}/sys/ofed/include CFLAGS+= -I${SRCTOP}/sys/ofed/include/uapi Modified: head/sys/modules/mlx5/Makefile ============================================================================== --- head/sys/modules/mlx5/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/mlx5/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -33,9 +33,9 @@ mlx5_uar.c \ mlx5_vport.c \ mlx5_vsc.c \ mlx5_wq.c \ -mlx5_gid.c \ -device_if.h bus_if.h vnode_if.h pci_if.h pci_iov_if.h \ -opt_inet.h opt_inet6.h opt_rss.h opt_ratelimit.h +mlx5_gid.c +SRCS+= ${LINUXKPI_GENSRCS} +SRCS+= opt_inet.h opt_inet6.h opt_rss.h opt_ratelimit.h CFLAGS+= -I${SRCTOP}/sys/ofed/include CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include Modified: head/sys/modules/mlx5en/Makefile ============================================================================== --- head/sys/modules/mlx5en/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/mlx5en/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -12,10 +12,9 @@ mlx5_en_hw_tls.c \ mlx5_en_rx.c \ mlx5_en_rl.c \ mlx5_en_txrx.c \ -mlx5_en_port_buffer.c \ -device_if.h bus_if.h vnode_if.h pci_if.h pci_iov_if.h \ -opt_inet.h opt_inet6.h opt_rss.h opt_ratelimit.h \ -opt_kern_tls.h +mlx5_en_port_buffer.c +SRCS+= ${LINUXKPI_GENSRCS} +SRCS+= opt_inet.h opt_inet6.h opt_rss.h opt_ratelimit.h opt_kern_tls.h .if defined(HAVE_PER_CQ_EVENT_PACKET) CFLAGS+= -DHAVE_PER_CQ_EVENT_PACKET Modified: head/sys/modules/mlx5fpga_tools/Makefile ============================================================================== --- head/sys/modules/mlx5fpga_tools/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/mlx5fpga_tools/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -6,9 +6,8 @@ SRCS= \ mlx5fpga_tools_main.c \ mlx5fpga_tools_char.c -SRCS+= \ - device_if.h bus_if.h vnode_if.h pci_if.h pci_iov_if.h \ - opt_inet.h opt_inet6.h opt_rss.h opt_ratelimit.h +SRCS+= ${LINUXKPI_GENSRCS} +SRCS+= opt_inet.h opt_inet6.h opt_rss.h opt_ratelimit.h CFLAGS+= -I${SRCTOP}/sys/ofed/include CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include Modified: head/sys/modules/mlx5ib/Makefile ============================================================================== --- head/sys/modules/mlx5ib/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/mlx5ib/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -14,9 +14,9 @@ mlx5_ib_mem.c \ mlx5_ib_mr.c \ mlx5_ib_qp.c \ mlx5_ib_srq.c \ -mlx5_ib_virt.c \ -device_if.h bus_if.h vnode_if.h pci_if.h pci_iov_if.h \ -opt_inet.h opt_inet6.h opt_ratelimit.h +mlx5_ib_virt.c +SRCS+= ${LINUXKPI_GENSRCS} +SRCS+= opt_inet.h opt_inet6.h opt_ratelimit.h CFLAGS+= -I${SRCTOP}/sys/ofed/include CFLAGS+= -I${SRCTOP}/sys/ofed/include/uapi Modified: head/sys/modules/mlxfw/Makefile ============================================================================== --- head/sys/modules/mlxfw/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/mlxfw/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -5,8 +5,8 @@ KMOD=mlxfw SRCS= \ mlxfw_fsm.c \ mlxfw_mfa2.c \ -mlxfw_mfa2_tlv_multi.c \ -device_if.h bus_if.h vnode_if.h pci_if.h +mlxfw_mfa2_tlv_multi.c +SRCS+= ${LINUXKPI_GENSRCS} CFLAGS+= \ -I${SRCTOP}/sys/ofed/include \ Modified: head/sys/modules/mthca/Makefile ============================================================================== --- head/sys/modules/mthca/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/mthca/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -20,9 +20,9 @@ mthca_provider.c \ mthca_qp.c \ mthca_reset.c \ mthca_srq.c \ -mthca_uar.c \ -device_if.h bus_if.h vnode_if.h pci_if.h \ - opt_inet.h opt_inet6.h +mthca_uar.c +SRCS+= ${LINUXKPI_GENSRCS} +SRCS+= opt_inet.h opt_inet6.h CFLAGS+= -I${SRCTOP}/sys/ofed/include CFLAGS+= -I${SRCTOP}/sys/ofed/include/uapi Modified: head/sys/modules/qlnx/qlnxe/Makefile ============================================================================== --- head/sys/modules/qlnx/qlnxe/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/qlnx/qlnxe/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -57,15 +57,10 @@ SRCS+=ecore_ooo.c SRCS+=ecore_ll2.c SRCS+=qlnx_rdma.c - SRCS+=qlnx_ioctl.c SRCS+=qlnx_os.c -SRCS+= device_if.h -SRCS+= bus_if.h -SRCS+= pci_if.h -SRCS+= pci_iov_if.h - +SRCS+= ${LINUXKPI_GENSRCS} .include Modified: head/sys/modules/qlnx/qlnxev/Makefile ============================================================================== --- head/sys/modules/qlnx/qlnxev/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/qlnx/qlnxev/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -51,10 +51,7 @@ SRCS+=ecore_vf.c SRCS+=qlnx_ioctl.c SRCS+=qlnx_os.c -SRCS+= device_if.h -SRCS+= bus_if.h -SRCS+= pci_if.h -SRCS+= pci_iov_if.h +SRCS+= ${LINUXKPI_GENSRCS} .include Modified: head/sys/modules/qlnx/qlnxr/Makefile ============================================================================== --- head/sys/modules/qlnx/qlnxr/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/qlnx/qlnxr/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -41,11 +41,12 @@ OFEDDIR=${SRCTOP}/sys ETHDRVR=${SRCTOP}/sys/dev/qlnx/qlnxe KMOD= qlnxr -SRCS= device_if.h bus_if.h vnode_if.h pci_if.h \ - opt_inet.h opt_inet6.h \ +SRCS= \ qlnxr_os.c\ qlnxr_cm.c\ qlnxr_verbs.c +SRCS+= ${LINUXKPI_GENSRCS} +SRCS+= opt_inet.h opt_inet6.h .include Modified: head/sys/modules/rdma/krping/Makefile ============================================================================== --- head/sys/modules/rdma/krping/Makefile Fri Mar 20 20:09:00 2020 (r359184) +++ head/sys/modules/rdma/krping/Makefile Fri Mar 20 21:06:58 2020 (r359185) @@ -3,7 +3,7 @@ KMOD= krping SRCS= krping.c krping_dev.c getopt.c -SRCS+= bus_if.h device_if.h pci_if.h pci_iov_if.h pcib_if.h vnode_if.h +SRCS+= ${LINUXKPI_GENSRCS} SRCS+= opt_sched.h opt_inet.h opt_inet6.h CFLAGS+= -I${SRCTOP}/sys/ofed/include CFLAGS+= -I${SRCTOP}/sys/ofed/include/uapi From owner-svn-src-all@freebsd.org Fri Mar 20 21:43:13 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9A4AD273BFF; Fri, 20 Mar 2020 21:43:13 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kchd4K92z4FL4; Fri, 20 Mar 2020 21:43:13 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 74EAE217D; Fri, 20 Mar 2020 21:43:13 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KLhDxI068935; Fri, 20 Mar 2020 21:43:13 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KLh9XU068917; Fri, 20 Mar 2020 21:43:09 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <202003202143.02KLh9XU068917@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Fri, 20 Mar 2020 21:43:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359186 - in stable/12: crypto/openssl crypto/openssl/apps crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/aes/asm crypto/openssl/crypto/aria crypto/openssl/crypto... X-SVN-Group: stable-12 X-SVN-Commit-Author: jkim X-SVN-Commit-Paths: in stable/12: crypto/openssl crypto/openssl/apps crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/aes/asm crypto/openssl/crypto/aria crypto/openssl/crypto/asn1 crypto/openssl/cryp... X-SVN-Commit-Revision: 359186 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 21:43:13 -0000 Author: jkim Date: Fri Mar 20 21:43:08 2020 New Revision: 359186 URL: https://svnweb.freebsd.org/changeset/base/359186 Log: MFC: r359060, r359061, r359066 Merge OpenSSL 1.1.1e. Added: stable/12/crypto/openssl/crypto/aes/aes_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/aes/aes_local.h stable/12/crypto/openssl/crypto/asn1/asn1_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/asn1/asn1_local.h stable/12/crypto/openssl/crypto/async/async_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/async/async_local.h stable/12/crypto/openssl/crypto/bf/bf_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/bf/bf_local.h stable/12/crypto/openssl/crypto/bio/bio_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/bio/bio_local.h stable/12/crypto/openssl/crypto/blake2/blake2_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/blake2/blake2_local.h stable/12/crypto/openssl/crypto/bn/bn_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/bn/bn_local.h stable/12/crypto/openssl/crypto/camellia/cmll_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/camellia/cmll_local.h stable/12/crypto/openssl/crypto/cast/cast_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/cast/cast_local.h stable/12/crypto/openssl/crypto/cms/cms_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/cms/cms_local.h stable/12/crypto/openssl/crypto/comp/comp_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/comp/comp_local.h stable/12/crypto/openssl/crypto/conf/conf_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/conf/conf_local.h stable/12/crypto/openssl/crypto/ct/ct_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/ct/ct_local.h stable/12/crypto/openssl/crypto/des/des_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/des/des_local.h stable/12/crypto/openssl/crypto/dh/dh_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/dh/dh_local.h stable/12/crypto/openssl/crypto/dsa/dsa_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/dsa/dsa_local.h stable/12/crypto/openssl/crypto/dso/dso_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/dso/dso_local.h stable/12/crypto/openssl/crypto/ec/curve448/curve448_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/ec/curve448/curve448_local.h stable/12/crypto/openssl/crypto/ec/ec_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/ec/ec_local.h stable/12/crypto/openssl/crypto/engine/eng_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/engine/eng_local.h stable/12/crypto/openssl/crypto/evp/evp_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/evp/evp_local.h stable/12/crypto/openssl/crypto/hmac/hmac_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/hmac/hmac_local.h stable/12/crypto/openssl/crypto/idea/idea_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/idea/idea_local.h stable/12/crypto/openssl/crypto/lhash/lhash_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/lhash/lhash_local.h stable/12/crypto/openssl/crypto/md4/md4_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/md4/md4_local.h stable/12/crypto/openssl/crypto/md5/md5_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/md5/md5_local.h stable/12/crypto/openssl/crypto/modes/modes_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/modes/modes_local.h stable/12/crypto/openssl/crypto/objects/obj_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/objects/obj_local.h stable/12/crypto/openssl/crypto/ocsp/ocsp_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/ocsp/ocsp_local.h stable/12/crypto/openssl/crypto/pkcs12/p12_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/pkcs12/p12_local.h stable/12/crypto/openssl/crypto/rand/rand_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/rand/rand_local.h stable/12/crypto/openssl/crypto/rc2/rc2_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/rc2/rc2_local.h stable/12/crypto/openssl/crypto/rc4/rc4_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/rc4/rc4_local.h stable/12/crypto/openssl/crypto/rc5/rc5_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/rc5/rc5_local.h stable/12/crypto/openssl/crypto/ripemd/rmd_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/ripemd/rmd_local.h stable/12/crypto/openssl/crypto/rsa/rsa_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/rsa/rsa_local.h stable/12/crypto/openssl/crypto/seed/seed_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/seed/seed_local.h stable/12/crypto/openssl/crypto/sha/sha_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/sha/sha_local.h stable/12/crypto/openssl/crypto/sm3/sm3_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/sm3/sm3_local.h stable/12/crypto/openssl/crypto/store/store_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/store/store_local.h stable/12/crypto/openssl/crypto/ts/ts_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/ts/ts_local.h stable/12/crypto/openssl/crypto/ui/ui_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/ui/ui_local.h stable/12/crypto/openssl/crypto/whrlpool/wp_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/whrlpool/wp_local.h stable/12/crypto/openssl/crypto/x509/x509_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/x509/x509_local.h stable/12/crypto/openssl/crypto/x509v3/pcy_local.h - copied unchanged from r359060, head/crypto/openssl/crypto/x509v3/pcy_local.h stable/12/crypto/openssl/doc/man3/EVP_PKEY_size.pod - copied unchanged from r359060, head/crypto/openssl/doc/man3/EVP_PKEY_size.pod stable/12/crypto/openssl/doc/man3/X509_LOOKUP.pod - copied unchanged from r359060, head/crypto/openssl/doc/man3/X509_LOOKUP.pod stable/12/crypto/openssl/doc/man7/proxy-certificates.pod - copied unchanged from r359060, head/crypto/openssl/doc/man7/proxy-certificates.pod stable/12/crypto/openssl/include/crypto/ - copied from r359060, head/crypto/openssl/include/crypto/ stable/12/crypto/openssl/include/internal/constant_time.h - copied unchanged from r359060, head/crypto/openssl/include/internal/constant_time.h stable/12/crypto/openssl/ssl/packet_local.h - copied unchanged from r359060, head/crypto/openssl/ssl/packet_local.h stable/12/crypto/openssl/ssl/record/record_local.h - copied unchanged from r359060, head/crypto/openssl/ssl/record/record_local.h stable/12/crypto/openssl/ssl/ssl_local.h - copied unchanged from r359060, head/crypto/openssl/ssl/ssl_local.h stable/12/crypto/openssl/ssl/statem/statem_local.h - copied unchanged from r359060, head/crypto/openssl/ssl/statem/statem_local.h stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_size.3 - copied unchanged from r359060, head/secure/lib/libcrypto/man/man3/EVP_PKEY_size.3 stable/12/secure/lib/libcrypto/man/man3/X509_LOOKUP.3 - copied unchanged from r359060, head/secure/lib/libcrypto/man/man3/X509_LOOKUP.3 stable/12/secure/lib/libcrypto/man/man7/proxy-certificates.7 - copied unchanged from r359060, head/secure/lib/libcrypto/man/man7/proxy-certificates.7 Deleted: stable/12/crypto/openssl/crypto/aes/aes_locl.h stable/12/crypto/openssl/crypto/asn1/asn1_locl.h stable/12/crypto/openssl/crypto/async/async_locl.h stable/12/crypto/openssl/crypto/bf/bf_locl.h stable/12/crypto/openssl/crypto/bio/bio_lcl.h stable/12/crypto/openssl/crypto/blake2/blake2_locl.h stable/12/crypto/openssl/crypto/bn/bn_lcl.h stable/12/crypto/openssl/crypto/camellia/cmll_locl.h stable/12/crypto/openssl/crypto/cast/cast_lcl.h stable/12/crypto/openssl/crypto/cms/cms_lcl.h stable/12/crypto/openssl/crypto/comp/comp_lcl.h stable/12/crypto/openssl/crypto/conf/conf_lcl.h stable/12/crypto/openssl/crypto/ct/ct_locl.h stable/12/crypto/openssl/crypto/des/des_locl.h stable/12/crypto/openssl/crypto/dh/dh_locl.h stable/12/crypto/openssl/crypto/dsa/dsa_locl.h stable/12/crypto/openssl/crypto/dso/dso_locl.h stable/12/crypto/openssl/crypto/ec/curve448/curve448_lcl.h stable/12/crypto/openssl/crypto/ec/ec_lcl.h stable/12/crypto/openssl/crypto/engine/eng_int.h stable/12/crypto/openssl/crypto/evp/evp_locl.h stable/12/crypto/openssl/crypto/hmac/hmac_lcl.h stable/12/crypto/openssl/crypto/idea/idea_lcl.h stable/12/crypto/openssl/crypto/include/internal/bn_conf.h stable/12/crypto/openssl/crypto/include/internal/dso_conf.h stable/12/crypto/openssl/crypto/lhash/lhash_lcl.h stable/12/crypto/openssl/crypto/md4/md4_locl.h stable/12/crypto/openssl/crypto/md5/md5_locl.h stable/12/crypto/openssl/crypto/modes/modes_lcl.h stable/12/crypto/openssl/crypto/objects/obj_lcl.h stable/12/crypto/openssl/crypto/ocsp/ocsp_lcl.h stable/12/crypto/openssl/crypto/pkcs12/p12_lcl.h stable/12/crypto/openssl/crypto/rand/rand_lcl.h stable/12/crypto/openssl/crypto/rc2/rc2_locl.h stable/12/crypto/openssl/crypto/rc4/rc4_locl.h stable/12/crypto/openssl/crypto/rc5/rc5_locl.h stable/12/crypto/openssl/crypto/ripemd/rmd_locl.h stable/12/crypto/openssl/crypto/rsa/rsa_locl.h stable/12/crypto/openssl/crypto/seed/seed_locl.h stable/12/crypto/openssl/crypto/sha/sha_locl.h stable/12/crypto/openssl/crypto/sm3/sm3_locl.h stable/12/crypto/openssl/crypto/store/store_locl.h stable/12/crypto/openssl/crypto/ts/ts_lcl.h stable/12/crypto/openssl/crypto/ui/ui_locl.h stable/12/crypto/openssl/crypto/whrlpool/wp_locl.h stable/12/crypto/openssl/crypto/x509/x509_lcl.h stable/12/crypto/openssl/crypto/x509v3/pcy_int.h stable/12/crypto/openssl/doc/HOWTO/proxy_certificates.txt stable/12/crypto/openssl/include/internal/constant_time_locl.h stable/12/crypto/openssl/ssl/packet_locl.h stable/12/crypto/openssl/ssl/record/record_locl.h stable/12/crypto/openssl/ssl/ssl_locl.h stable/12/crypto/openssl/ssl/statem/statem_locl.h Modified: stable/12/crypto/openssl/CHANGES stable/12/crypto/openssl/CONTRIBUTING stable/12/crypto/openssl/Configure stable/12/crypto/openssl/INSTALL stable/12/crypto/openssl/NEWS stable/12/crypto/openssl/README stable/12/crypto/openssl/apps/apps.c stable/12/crypto/openssl/apps/apps.h stable/12/crypto/openssl/apps/dgst.c stable/12/crypto/openssl/apps/enc.c stable/12/crypto/openssl/apps/ocsp.c stable/12/crypto/openssl/apps/openssl.c stable/12/crypto/openssl/apps/passwd.c stable/12/crypto/openssl/apps/pkcs12.c stable/12/crypto/openssl/apps/pkeyutl.c stable/12/crypto/openssl/apps/req.c stable/12/crypto/openssl/apps/s_cb.c stable/12/crypto/openssl/apps/s_server.c stable/12/crypto/openssl/apps/server.pem stable/12/crypto/openssl/apps/speed.c stable/12/crypto/openssl/apps/timeouts.h stable/12/crypto/openssl/apps/ts.c stable/12/crypto/openssl/apps/x509.c stable/12/crypto/openssl/appveyor.yml stable/12/crypto/openssl/build.info stable/12/crypto/openssl/config stable/12/crypto/openssl/crypto/LPdir_unix.c stable/12/crypto/openssl/crypto/aes/aes_core.c stable/12/crypto/openssl/crypto/aes/aes_ecb.c stable/12/crypto/openssl/crypto/aes/aes_ige.c stable/12/crypto/openssl/crypto/aes/aes_misc.c stable/12/crypto/openssl/crypto/aes/aes_x86core.c stable/12/crypto/openssl/crypto/aes/asm/aes-armv4.pl stable/12/crypto/openssl/crypto/aes/asm/aes-c64xplus.pl stable/12/crypto/openssl/crypto/aes/asm/aes-mips.pl stable/12/crypto/openssl/crypto/aes/asm/aes-parisc.pl stable/12/crypto/openssl/crypto/aes/asm/aes-ppc.pl stable/12/crypto/openssl/crypto/aes/asm/aes-s390x.pl stable/12/crypto/openssl/crypto/aes/asm/aes-sparcv9.pl stable/12/crypto/openssl/crypto/aes/asm/aesfx-sparcv9.pl stable/12/crypto/openssl/crypto/aes/asm/aesni-mb-x86_64.pl stable/12/crypto/openssl/crypto/aes/asm/aesni-sha1-x86_64.pl stable/12/crypto/openssl/crypto/aes/asm/aesni-sha256-x86_64.pl stable/12/crypto/openssl/crypto/aes/asm/aesni-x86.pl stable/12/crypto/openssl/crypto/aes/asm/aesni-x86_64.pl stable/12/crypto/openssl/crypto/aes/asm/aesp8-ppc.pl stable/12/crypto/openssl/crypto/aes/asm/aest4-sparcv9.pl stable/12/crypto/openssl/crypto/aes/asm/aesv8-armx.pl stable/12/crypto/openssl/crypto/aes/asm/bsaes-armv7.pl stable/12/crypto/openssl/crypto/aes/asm/vpaes-armv8.pl stable/12/crypto/openssl/crypto/aes/asm/vpaes-ppc.pl stable/12/crypto/openssl/crypto/aes/asm/vpaes-x86.pl stable/12/crypto/openssl/crypto/aes/asm/vpaes-x86_64.pl stable/12/crypto/openssl/crypto/aria/aria.c stable/12/crypto/openssl/crypto/arm64cpuid.pl stable/12/crypto/openssl/crypto/arm_arch.h stable/12/crypto/openssl/crypto/armv4cpuid.pl stable/12/crypto/openssl/crypto/asn1/a_bitstr.c stable/12/crypto/openssl/crypto/asn1/a_d2i_fp.c stable/12/crypto/openssl/crypto/asn1/a_gentm.c stable/12/crypto/openssl/crypto/asn1/a_int.c stable/12/crypto/openssl/crypto/asn1/a_mbstr.c stable/12/crypto/openssl/crypto/asn1/a_object.c stable/12/crypto/openssl/crypto/asn1/a_print.c stable/12/crypto/openssl/crypto/asn1/a_sign.c stable/12/crypto/openssl/crypto/asn1/a_strex.c stable/12/crypto/openssl/crypto/asn1/a_time.c stable/12/crypto/openssl/crypto/asn1/a_type.c stable/12/crypto/openssl/crypto/asn1/a_utctm.c stable/12/crypto/openssl/crypto/asn1/a_verify.c stable/12/crypto/openssl/crypto/asn1/ameth_lib.c stable/12/crypto/openssl/crypto/asn1/asn1_lib.c stable/12/crypto/openssl/crypto/asn1/asn1_par.c stable/12/crypto/openssl/crypto/asn1/asn_mime.c stable/12/crypto/openssl/crypto/asn1/asn_moid.c stable/12/crypto/openssl/crypto/asn1/charmap.h stable/12/crypto/openssl/crypto/asn1/d2i_pr.c stable/12/crypto/openssl/crypto/asn1/d2i_pu.c stable/12/crypto/openssl/crypto/asn1/f_int.c stable/12/crypto/openssl/crypto/asn1/f_string.c stable/12/crypto/openssl/crypto/asn1/i2d_pr.c stable/12/crypto/openssl/crypto/asn1/p8_pkey.c stable/12/crypto/openssl/crypto/asn1/t_pkey.c stable/12/crypto/openssl/crypto/asn1/tasn_dec.c stable/12/crypto/openssl/crypto/asn1/tasn_enc.c stable/12/crypto/openssl/crypto/asn1/tasn_fre.c stable/12/crypto/openssl/crypto/asn1/tasn_new.c stable/12/crypto/openssl/crypto/asn1/tasn_prn.c stable/12/crypto/openssl/crypto/asn1/tasn_scn.c stable/12/crypto/openssl/crypto/asn1/tasn_utl.c stable/12/crypto/openssl/crypto/asn1/x_algor.c stable/12/crypto/openssl/crypto/asn1/x_bignum.c stable/12/crypto/openssl/crypto/asn1/x_int64.c stable/12/crypto/openssl/crypto/asn1/x_sig.c stable/12/crypto/openssl/crypto/async/arch/async_null.c stable/12/crypto/openssl/crypto/async/arch/async_posix.c stable/12/crypto/openssl/crypto/async/arch/async_posix.h stable/12/crypto/openssl/crypto/async/async.c stable/12/crypto/openssl/crypto/async/async_wait.c stable/12/crypto/openssl/crypto/bf/asm/bf-586.pl stable/12/crypto/openssl/crypto/bf/bf_cfb64.c stable/12/crypto/openssl/crypto/bf/bf_ecb.c stable/12/crypto/openssl/crypto/bf/bf_enc.c stable/12/crypto/openssl/crypto/bf/bf_ofb64.c stable/12/crypto/openssl/crypto/bf/bf_skey.c stable/12/crypto/openssl/crypto/bio/b_addr.c stable/12/crypto/openssl/crypto/bio/b_dump.c stable/12/crypto/openssl/crypto/bio/b_print.c stable/12/crypto/openssl/crypto/bio/b_sock.c stable/12/crypto/openssl/crypto/bio/b_sock2.c stable/12/crypto/openssl/crypto/bio/bf_buff.c stable/12/crypto/openssl/crypto/bio/bf_lbuf.c stable/12/crypto/openssl/crypto/bio/bf_nbio.c stable/12/crypto/openssl/crypto/bio/bf_null.c stable/12/crypto/openssl/crypto/bio/bio_cb.c stable/12/crypto/openssl/crypto/bio/bio_lib.c stable/12/crypto/openssl/crypto/bio/bio_meth.c stable/12/crypto/openssl/crypto/bio/bss_acpt.c stable/12/crypto/openssl/crypto/bio/bss_bio.c stable/12/crypto/openssl/crypto/bio/bss_conn.c stable/12/crypto/openssl/crypto/bio/bss_dgram.c stable/12/crypto/openssl/crypto/bio/bss_fd.c stable/12/crypto/openssl/crypto/bio/bss_file.c stable/12/crypto/openssl/crypto/bio/bss_log.c stable/12/crypto/openssl/crypto/bio/bss_mem.c stable/12/crypto/openssl/crypto/bio/bss_null.c stable/12/crypto/openssl/crypto/bio/bss_sock.c stable/12/crypto/openssl/crypto/blake2/blake2b.c stable/12/crypto/openssl/crypto/blake2/blake2s.c stable/12/crypto/openssl/crypto/blake2/m_blake2b.c stable/12/crypto/openssl/crypto/blake2/m_blake2s.c stable/12/crypto/openssl/crypto/bn/README.pod stable/12/crypto/openssl/crypto/bn/asm/armv4-gf2m.pl stable/12/crypto/openssl/crypto/bn/asm/armv4-mont.pl stable/12/crypto/openssl/crypto/bn/asm/armv8-mont.pl stable/12/crypto/openssl/crypto/bn/asm/bn-586.pl stable/12/crypto/openssl/crypto/bn/asm/c64xplus-gf2m.pl stable/12/crypto/openssl/crypto/bn/asm/co-586.pl stable/12/crypto/openssl/crypto/bn/asm/ia64-mont.pl stable/12/crypto/openssl/crypto/bn/asm/mips-mont.pl stable/12/crypto/openssl/crypto/bn/asm/mips.pl stable/12/crypto/openssl/crypto/bn/asm/parisc-mont.pl stable/12/crypto/openssl/crypto/bn/asm/ppc-mont.pl stable/12/crypto/openssl/crypto/bn/asm/ppc.pl stable/12/crypto/openssl/crypto/bn/asm/ppc64-mont.pl stable/12/crypto/openssl/crypto/bn/asm/rsaz-avx2.pl stable/12/crypto/openssl/crypto/bn/asm/rsaz-x86_64.pl stable/12/crypto/openssl/crypto/bn/asm/s390x-gf2m.pl stable/12/crypto/openssl/crypto/bn/asm/s390x-mont.pl stable/12/crypto/openssl/crypto/bn/asm/s390x.S stable/12/crypto/openssl/crypto/bn/asm/sparct4-mont.pl stable/12/crypto/openssl/crypto/bn/asm/sparcv9-gf2m.pl stable/12/crypto/openssl/crypto/bn/asm/sparcv9-mont.pl stable/12/crypto/openssl/crypto/bn/asm/sparcv9a-mont.pl stable/12/crypto/openssl/crypto/bn/asm/via-mont.pl stable/12/crypto/openssl/crypto/bn/asm/vis3-mont.pl stable/12/crypto/openssl/crypto/bn/asm/x86-gf2m.pl stable/12/crypto/openssl/crypto/bn/asm/x86-mont.pl stable/12/crypto/openssl/crypto/bn/asm/x86_64-gcc.c stable/12/crypto/openssl/crypto/bn/asm/x86_64-gf2m.pl stable/12/crypto/openssl/crypto/bn/asm/x86_64-mont.pl stable/12/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl stable/12/crypto/openssl/crypto/bn/bn_add.c stable/12/crypto/openssl/crypto/bn/bn_asm.c stable/12/crypto/openssl/crypto/bn/bn_blind.c stable/12/crypto/openssl/crypto/bn/bn_ctx.c stable/12/crypto/openssl/crypto/bn/bn_depr.c stable/12/crypto/openssl/crypto/bn/bn_dh.c stable/12/crypto/openssl/crypto/bn/bn_div.c stable/12/crypto/openssl/crypto/bn/bn_exp.c stable/12/crypto/openssl/crypto/bn/bn_exp2.c stable/12/crypto/openssl/crypto/bn/bn_gcd.c stable/12/crypto/openssl/crypto/bn/bn_gf2m.c stable/12/crypto/openssl/crypto/bn/bn_intern.c stable/12/crypto/openssl/crypto/bn/bn_kron.c stable/12/crypto/openssl/crypto/bn/bn_lib.c stable/12/crypto/openssl/crypto/bn/bn_mod.c stable/12/crypto/openssl/crypto/bn/bn_mont.c stable/12/crypto/openssl/crypto/bn/bn_mpi.c stable/12/crypto/openssl/crypto/bn/bn_mul.c stable/12/crypto/openssl/crypto/bn/bn_nist.c stable/12/crypto/openssl/crypto/bn/bn_prime.c stable/12/crypto/openssl/crypto/bn/bn_prime.h stable/12/crypto/openssl/crypto/bn/bn_print.c stable/12/crypto/openssl/crypto/bn/bn_rand.c stable/12/crypto/openssl/crypto/bn/bn_recp.c stable/12/crypto/openssl/crypto/bn/bn_shift.c stable/12/crypto/openssl/crypto/bn/bn_sqr.c stable/12/crypto/openssl/crypto/bn/bn_sqrt.c stable/12/crypto/openssl/crypto/bn/bn_srp.c stable/12/crypto/openssl/crypto/bn/bn_word.c stable/12/crypto/openssl/crypto/bn/bn_x931p.c stable/12/crypto/openssl/crypto/bn/build.info stable/12/crypto/openssl/crypto/bn/rsaz_exp.h stable/12/crypto/openssl/crypto/c64xpluscpuid.pl stable/12/crypto/openssl/crypto/camellia/asm/cmll-x86.pl stable/12/crypto/openssl/crypto/camellia/asm/cmll-x86_64.pl stable/12/crypto/openssl/crypto/camellia/asm/cmllt4-sparcv9.pl stable/12/crypto/openssl/crypto/camellia/camellia.c stable/12/crypto/openssl/crypto/camellia/cmll_ecb.c stable/12/crypto/openssl/crypto/camellia/cmll_misc.c stable/12/crypto/openssl/crypto/cast/asm/cast-586.pl stable/12/crypto/openssl/crypto/cast/c_cfb64.c stable/12/crypto/openssl/crypto/cast/c_ecb.c stable/12/crypto/openssl/crypto/cast/c_enc.c stable/12/crypto/openssl/crypto/cast/c_ofb64.c stable/12/crypto/openssl/crypto/cast/c_skey.c stable/12/crypto/openssl/crypto/chacha/asm/chacha-armv4.pl stable/12/crypto/openssl/crypto/chacha/asm/chacha-armv8.pl stable/12/crypto/openssl/crypto/chacha/asm/chacha-c64xplus.pl stable/12/crypto/openssl/crypto/chacha/asm/chacha-ppc.pl stable/12/crypto/openssl/crypto/chacha/asm/chacha-s390x.pl stable/12/crypto/openssl/crypto/chacha/asm/chacha-x86.pl stable/12/crypto/openssl/crypto/chacha/asm/chacha-x86_64.pl stable/12/crypto/openssl/crypto/chacha/chacha_enc.c stable/12/crypto/openssl/crypto/cmac/cm_ameth.c stable/12/crypto/openssl/crypto/cmac/cm_pmeth.c stable/12/crypto/openssl/crypto/cms/cms_asn1.c stable/12/crypto/openssl/crypto/cms/cms_att.c stable/12/crypto/openssl/crypto/cms/cms_cd.c stable/12/crypto/openssl/crypto/cms/cms_dd.c stable/12/crypto/openssl/crypto/cms/cms_enc.c stable/12/crypto/openssl/crypto/cms/cms_env.c stable/12/crypto/openssl/crypto/cms/cms_ess.c stable/12/crypto/openssl/crypto/cms/cms_io.c stable/12/crypto/openssl/crypto/cms/cms_kari.c stable/12/crypto/openssl/crypto/cms/cms_lib.c stable/12/crypto/openssl/crypto/cms/cms_pwri.c stable/12/crypto/openssl/crypto/cms/cms_sd.c stable/12/crypto/openssl/crypto/cms/cms_smime.c stable/12/crypto/openssl/crypto/comp/c_zlib.c stable/12/crypto/openssl/crypto/comp/comp_lib.c stable/12/crypto/openssl/crypto/conf/conf_def.c stable/12/crypto/openssl/crypto/conf/conf_def.h stable/12/crypto/openssl/crypto/conf/conf_lib.c stable/12/crypto/openssl/crypto/conf/conf_mall.c stable/12/crypto/openssl/crypto/conf/conf_ssl.c stable/12/crypto/openssl/crypto/cryptlib.c stable/12/crypto/openssl/crypto/ct/ct_b64.c stable/12/crypto/openssl/crypto/ct/ct_oct.c stable/12/crypto/openssl/crypto/ct/ct_policy.c stable/12/crypto/openssl/crypto/ct/ct_prn.c stable/12/crypto/openssl/crypto/ct/ct_sct.c stable/12/crypto/openssl/crypto/ct/ct_sct_ctx.c stable/12/crypto/openssl/crypto/ct/ct_vfy.c stable/12/crypto/openssl/crypto/ct/ct_x509v3.c stable/12/crypto/openssl/crypto/ctype.c stable/12/crypto/openssl/crypto/des/asm/crypt586.pl stable/12/crypto/openssl/crypto/des/asm/des-586.pl stable/12/crypto/openssl/crypto/des/asm/des_enc.m4 stable/12/crypto/openssl/crypto/des/asm/dest4-sparcv9.pl stable/12/crypto/openssl/crypto/des/cbc_cksm.c stable/12/crypto/openssl/crypto/des/cfb64ede.c stable/12/crypto/openssl/crypto/des/cfb64enc.c stable/12/crypto/openssl/crypto/des/cfb_enc.c stable/12/crypto/openssl/crypto/des/des_enc.c stable/12/crypto/openssl/crypto/des/ecb3_enc.c stable/12/crypto/openssl/crypto/des/ecb_enc.c stable/12/crypto/openssl/crypto/des/fcrypt.c stable/12/crypto/openssl/crypto/des/fcrypt_b.c stable/12/crypto/openssl/crypto/des/ncbc_enc.c stable/12/crypto/openssl/crypto/des/ofb64ede.c stable/12/crypto/openssl/crypto/des/ofb64enc.c stable/12/crypto/openssl/crypto/des/ofb_enc.c stable/12/crypto/openssl/crypto/des/pcbc_enc.c stable/12/crypto/openssl/crypto/des/qud_cksm.c stable/12/crypto/openssl/crypto/des/set_key.c stable/12/crypto/openssl/crypto/des/str2key.c stable/12/crypto/openssl/crypto/des/xcbc_enc.c stable/12/crypto/openssl/crypto/dh/dh_ameth.c stable/12/crypto/openssl/crypto/dh/dh_asn1.c stable/12/crypto/openssl/crypto/dh/dh_check.c stable/12/crypto/openssl/crypto/dh/dh_gen.c stable/12/crypto/openssl/crypto/dh/dh_key.c stable/12/crypto/openssl/crypto/dh/dh_lib.c stable/12/crypto/openssl/crypto/dh/dh_meth.c stable/12/crypto/openssl/crypto/dh/dh_pmeth.c stable/12/crypto/openssl/crypto/dh/dh_rfc5114.c stable/12/crypto/openssl/crypto/dh/dh_rfc7919.c stable/12/crypto/openssl/crypto/dllmain.c stable/12/crypto/openssl/crypto/dsa/dsa_ameth.c stable/12/crypto/openssl/crypto/dsa/dsa_asn1.c stable/12/crypto/openssl/crypto/dsa/dsa_gen.c stable/12/crypto/openssl/crypto/dsa/dsa_key.c stable/12/crypto/openssl/crypto/dsa/dsa_lib.c stable/12/crypto/openssl/crypto/dsa/dsa_meth.c stable/12/crypto/openssl/crypto/dsa/dsa_ossl.c stable/12/crypto/openssl/crypto/dsa/dsa_pmeth.c stable/12/crypto/openssl/crypto/dsa/dsa_sign.c stable/12/crypto/openssl/crypto/dsa/dsa_vrf.c stable/12/crypto/openssl/crypto/dso/dso_dl.c stable/12/crypto/openssl/crypto/dso/dso_dlfcn.c stable/12/crypto/openssl/crypto/dso/dso_lib.c stable/12/crypto/openssl/crypto/dso/dso_openssl.c stable/12/crypto/openssl/crypto/ec/asm/ecp_nistz256-armv4.pl stable/12/crypto/openssl/crypto/ec/asm/ecp_nistz256-armv8.pl stable/12/crypto/openssl/crypto/ec/asm/ecp_nistz256-avx2.pl stable/12/crypto/openssl/crypto/ec/asm/ecp_nistz256-ppc64.pl stable/12/crypto/openssl/crypto/ec/asm/ecp_nistz256-sparcv9.pl stable/12/crypto/openssl/crypto/ec/asm/ecp_nistz256-x86.pl stable/12/crypto/openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl stable/12/crypto/openssl/crypto/ec/asm/x25519-ppc64.pl stable/12/crypto/openssl/crypto/ec/asm/x25519-x86_64.pl stable/12/crypto/openssl/crypto/ec/curve25519.c stable/12/crypto/openssl/crypto/ec/curve448/arch_32/arch_intrinsics.h stable/12/crypto/openssl/crypto/ec/curve448/arch_32/f_impl.h stable/12/crypto/openssl/crypto/ec/curve448/curve448.c stable/12/crypto/openssl/crypto/ec/curve448/curve448utils.h stable/12/crypto/openssl/crypto/ec/curve448/ed448.h stable/12/crypto/openssl/crypto/ec/curve448/eddsa.c stable/12/crypto/openssl/crypto/ec/curve448/field.h stable/12/crypto/openssl/crypto/ec/curve448/point_448.h stable/12/crypto/openssl/crypto/ec/curve448/word.h stable/12/crypto/openssl/crypto/ec/ec2_oct.c stable/12/crypto/openssl/crypto/ec/ec2_smpl.c stable/12/crypto/openssl/crypto/ec/ec_ameth.c stable/12/crypto/openssl/crypto/ec/ec_asn1.c stable/12/crypto/openssl/crypto/ec/ec_check.c stable/12/crypto/openssl/crypto/ec/ec_curve.c stable/12/crypto/openssl/crypto/ec/ec_cvt.c stable/12/crypto/openssl/crypto/ec/ec_key.c stable/12/crypto/openssl/crypto/ec/ec_kmeth.c stable/12/crypto/openssl/crypto/ec/ec_lib.c stable/12/crypto/openssl/crypto/ec/ec_mult.c stable/12/crypto/openssl/crypto/ec/ec_oct.c stable/12/crypto/openssl/crypto/ec/ec_pmeth.c stable/12/crypto/openssl/crypto/ec/ec_print.c stable/12/crypto/openssl/crypto/ec/ecdh_kdf.c stable/12/crypto/openssl/crypto/ec/ecdh_ossl.c stable/12/crypto/openssl/crypto/ec/ecdsa_ossl.c stable/12/crypto/openssl/crypto/ec/ecdsa_sign.c stable/12/crypto/openssl/crypto/ec/ecdsa_vrf.c stable/12/crypto/openssl/crypto/ec/ecp_mont.c stable/12/crypto/openssl/crypto/ec/ecp_nist.c stable/12/crypto/openssl/crypto/ec/ecp_nistp224.c stable/12/crypto/openssl/crypto/ec/ecp_nistp256.c stable/12/crypto/openssl/crypto/ec/ecp_nistp521.c stable/12/crypto/openssl/crypto/ec/ecp_nistputil.c stable/12/crypto/openssl/crypto/ec/ecp_nistz256.c stable/12/crypto/openssl/crypto/ec/ecp_oct.c stable/12/crypto/openssl/crypto/ec/ecp_smpl.c stable/12/crypto/openssl/crypto/ec/ecx_meth.c stable/12/crypto/openssl/crypto/engine/README stable/12/crypto/openssl/crypto/engine/eng_all.c stable/12/crypto/openssl/crypto/engine/eng_cnf.c stable/12/crypto/openssl/crypto/engine/eng_ctrl.c stable/12/crypto/openssl/crypto/engine/eng_devcrypto.c stable/12/crypto/openssl/crypto/engine/eng_dyn.c stable/12/crypto/openssl/crypto/engine/eng_fat.c stable/12/crypto/openssl/crypto/engine/eng_init.c stable/12/crypto/openssl/crypto/engine/eng_lib.c stable/12/crypto/openssl/crypto/engine/eng_list.c stable/12/crypto/openssl/crypto/engine/eng_openssl.c stable/12/crypto/openssl/crypto/engine/eng_pkey.c stable/12/crypto/openssl/crypto/engine/eng_rdrand.c stable/12/crypto/openssl/crypto/engine/eng_table.c stable/12/crypto/openssl/crypto/engine/tb_asnmth.c stable/12/crypto/openssl/crypto/engine/tb_cipher.c stable/12/crypto/openssl/crypto/engine/tb_dh.c stable/12/crypto/openssl/crypto/engine/tb_digest.c stable/12/crypto/openssl/crypto/engine/tb_dsa.c stable/12/crypto/openssl/crypto/engine/tb_eckey.c stable/12/crypto/openssl/crypto/engine/tb_pkmeth.c stable/12/crypto/openssl/crypto/engine/tb_rand.c stable/12/crypto/openssl/crypto/engine/tb_rsa.c stable/12/crypto/openssl/crypto/err/err.c stable/12/crypto/openssl/crypto/err/err_all.c stable/12/crypto/openssl/crypto/err/openssl.txt stable/12/crypto/openssl/crypto/evp/bio_md.c stable/12/crypto/openssl/crypto/evp/bio_ok.c stable/12/crypto/openssl/crypto/evp/c_allc.c stable/12/crypto/openssl/crypto/evp/c_alld.c stable/12/crypto/openssl/crypto/evp/cmeth_lib.c stable/12/crypto/openssl/crypto/evp/digest.c stable/12/crypto/openssl/crypto/evp/e_aes.c stable/12/crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c stable/12/crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c stable/12/crypto/openssl/crypto/evp/e_aria.c stable/12/crypto/openssl/crypto/evp/e_bf.c stable/12/crypto/openssl/crypto/evp/e_camellia.c stable/12/crypto/openssl/crypto/evp/e_cast.c stable/12/crypto/openssl/crypto/evp/e_chacha20_poly1305.c stable/12/crypto/openssl/crypto/evp/e_des.c stable/12/crypto/openssl/crypto/evp/e_des3.c stable/12/crypto/openssl/crypto/evp/e_idea.c stable/12/crypto/openssl/crypto/evp/e_null.c stable/12/crypto/openssl/crypto/evp/e_rc2.c stable/12/crypto/openssl/crypto/evp/e_rc4.c stable/12/crypto/openssl/crypto/evp/e_rc4_hmac_md5.c stable/12/crypto/openssl/crypto/evp/e_rc5.c stable/12/crypto/openssl/crypto/evp/e_seed.c stable/12/crypto/openssl/crypto/evp/e_sm4.c stable/12/crypto/openssl/crypto/evp/e_xcbc_d.c stable/12/crypto/openssl/crypto/evp/encode.c stable/12/crypto/openssl/crypto/evp/evp_enc.c stable/12/crypto/openssl/crypto/evp/evp_err.c stable/12/crypto/openssl/crypto/evp/evp_lib.c stable/12/crypto/openssl/crypto/evp/evp_pbe.c stable/12/crypto/openssl/crypto/evp/evp_pkey.c stable/12/crypto/openssl/crypto/evp/m_md2.c stable/12/crypto/openssl/crypto/evp/m_md4.c stable/12/crypto/openssl/crypto/evp/m_md5.c stable/12/crypto/openssl/crypto/evp/m_md5_sha1.c stable/12/crypto/openssl/crypto/evp/m_mdc2.c stable/12/crypto/openssl/crypto/evp/m_null.c stable/12/crypto/openssl/crypto/evp/m_ripemd.c stable/12/crypto/openssl/crypto/evp/m_sha1.c stable/12/crypto/openssl/crypto/evp/m_sha3.c stable/12/crypto/openssl/crypto/evp/m_sigver.c stable/12/crypto/openssl/crypto/evp/m_wp.c stable/12/crypto/openssl/crypto/evp/names.c stable/12/crypto/openssl/crypto/evp/p5_crpt.c stable/12/crypto/openssl/crypto/evp/p5_crpt2.c stable/12/crypto/openssl/crypto/evp/p_lib.c stable/12/crypto/openssl/crypto/evp/p_sign.c stable/12/crypto/openssl/crypto/evp/p_verify.c stable/12/crypto/openssl/crypto/evp/pmeth_fn.c stable/12/crypto/openssl/crypto/evp/pmeth_gn.c stable/12/crypto/openssl/crypto/evp/pmeth_lib.c stable/12/crypto/openssl/crypto/ex_data.c stable/12/crypto/openssl/crypto/hmac/hm_ameth.c stable/12/crypto/openssl/crypto/hmac/hm_pmeth.c stable/12/crypto/openssl/crypto/hmac/hmac.c stable/12/crypto/openssl/crypto/idea/i_cbc.c stable/12/crypto/openssl/crypto/idea/i_cfb64.c stable/12/crypto/openssl/crypto/idea/i_ecb.c stable/12/crypto/openssl/crypto/idea/i_ofb64.c stable/12/crypto/openssl/crypto/idea/i_skey.c stable/12/crypto/openssl/crypto/init.c stable/12/crypto/openssl/crypto/kdf/hkdf.c stable/12/crypto/openssl/crypto/kdf/scrypt.c stable/12/crypto/openssl/crypto/kdf/tls1_prf.c stable/12/crypto/openssl/crypto/lhash/lh_stats.c stable/12/crypto/openssl/crypto/lhash/lhash.c stable/12/crypto/openssl/crypto/md4/md4_dgst.c stable/12/crypto/openssl/crypto/md5/asm/md5-586.pl stable/12/crypto/openssl/crypto/md5/asm/md5-sparcv9.pl stable/12/crypto/openssl/crypto/md5/asm/md5-x86_64.pl stable/12/crypto/openssl/crypto/md5/md5_dgst.c stable/12/crypto/openssl/crypto/mem.c stable/12/crypto/openssl/crypto/mips_arch.h stable/12/crypto/openssl/crypto/modes/asm/aesni-gcm-x86_64.pl stable/12/crypto/openssl/crypto/modes/asm/ghash-armv4.pl stable/12/crypto/openssl/crypto/modes/asm/ghash-c64xplus.pl stable/12/crypto/openssl/crypto/modes/asm/ghash-ia64.pl stable/12/crypto/openssl/crypto/modes/asm/ghash-parisc.pl stable/12/crypto/openssl/crypto/modes/asm/ghash-s390x.pl stable/12/crypto/openssl/crypto/modes/asm/ghash-sparcv9.pl stable/12/crypto/openssl/crypto/modes/asm/ghash-x86.pl stable/12/crypto/openssl/crypto/modes/asm/ghash-x86_64.pl stable/12/crypto/openssl/crypto/modes/asm/ghashp8-ppc.pl stable/12/crypto/openssl/crypto/modes/asm/ghashv8-armx.pl stable/12/crypto/openssl/crypto/modes/cbc128.c stable/12/crypto/openssl/crypto/modes/ccm128.c stable/12/crypto/openssl/crypto/modes/cfb128.c stable/12/crypto/openssl/crypto/modes/ctr128.c stable/12/crypto/openssl/crypto/modes/cts128.c stable/12/crypto/openssl/crypto/modes/gcm128.c stable/12/crypto/openssl/crypto/modes/ocb128.c stable/12/crypto/openssl/crypto/modes/ofb128.c stable/12/crypto/openssl/crypto/modes/xts128.c stable/12/crypto/openssl/crypto/objects/o_names.c stable/12/crypto/openssl/crypto/objects/obj_dat.c stable/12/crypto/openssl/crypto/objects/obj_dat.h stable/12/crypto/openssl/crypto/objects/obj_lib.c stable/12/crypto/openssl/crypto/objects/obj_xref.h stable/12/crypto/openssl/crypto/objects/objects.txt stable/12/crypto/openssl/crypto/ocsp/ocsp_asn.c stable/12/crypto/openssl/crypto/ocsp/ocsp_cl.c stable/12/crypto/openssl/crypto/ocsp/ocsp_ext.c stable/12/crypto/openssl/crypto/ocsp/ocsp_ht.c stable/12/crypto/openssl/crypto/ocsp/ocsp_lib.c stable/12/crypto/openssl/crypto/ocsp/ocsp_prn.c stable/12/crypto/openssl/crypto/ocsp/ocsp_srv.c stable/12/crypto/openssl/crypto/ocsp/ocsp_vfy.c stable/12/crypto/openssl/crypto/ocsp/v3_ocsp.c stable/12/crypto/openssl/crypto/pariscid.pl stable/12/crypto/openssl/crypto/pem/pem_all.c stable/12/crypto/openssl/crypto/pem/pem_lib.c stable/12/crypto/openssl/crypto/pem/pem_pkey.c stable/12/crypto/openssl/crypto/pem/pvkfmt.c stable/12/crypto/openssl/crypto/perlasm/README stable/12/crypto/openssl/crypto/perlasm/arm-xlate.pl stable/12/crypto/openssl/crypto/perlasm/ppc-xlate.pl stable/12/crypto/openssl/crypto/perlasm/x86_64-xlate.pl stable/12/crypto/openssl/crypto/pkcs12/p12_add.c stable/12/crypto/openssl/crypto/pkcs12/p12_asn.c stable/12/crypto/openssl/crypto/pkcs12/p12_attr.c stable/12/crypto/openssl/crypto/pkcs12/p12_crt.c stable/12/crypto/openssl/crypto/pkcs12/p12_init.c stable/12/crypto/openssl/crypto/pkcs12/p12_mutl.c stable/12/crypto/openssl/crypto/pkcs12/p12_npas.c stable/12/crypto/openssl/crypto/pkcs12/p12_p8e.c stable/12/crypto/openssl/crypto/pkcs12/p12_sbag.c stable/12/crypto/openssl/crypto/pkcs7/pk7_lib.c stable/12/crypto/openssl/crypto/poly1305/asm/poly1305-armv4.pl stable/12/crypto/openssl/crypto/poly1305/asm/poly1305-armv8.pl stable/12/crypto/openssl/crypto/poly1305/asm/poly1305-mips.pl stable/12/crypto/openssl/crypto/poly1305/asm/poly1305-ppc.pl stable/12/crypto/openssl/crypto/poly1305/asm/poly1305-ppcfp.pl stable/12/crypto/openssl/crypto/poly1305/asm/poly1305-s390x.pl stable/12/crypto/openssl/crypto/poly1305/asm/poly1305-sparcv9.pl stable/12/crypto/openssl/crypto/poly1305/asm/poly1305-x86.pl stable/12/crypto/openssl/crypto/poly1305/asm/poly1305-x86_64.pl stable/12/crypto/openssl/crypto/poly1305/poly1305.c stable/12/crypto/openssl/crypto/poly1305/poly1305_ameth.c stable/12/crypto/openssl/crypto/poly1305/poly1305_pmeth.c stable/12/crypto/openssl/crypto/ppc_arch.h stable/12/crypto/openssl/crypto/ppccap.c stable/12/crypto/openssl/crypto/ppccpuid.pl stable/12/crypto/openssl/crypto/rand/drbg_ctr.c stable/12/crypto/openssl/crypto/rand/drbg_lib.c stable/12/crypto/openssl/crypto/rand/rand_err.c stable/12/crypto/openssl/crypto/rand/rand_lib.c stable/12/crypto/openssl/crypto/rand/rand_unix.c stable/12/crypto/openssl/crypto/rc2/rc2_cbc.c stable/12/crypto/openssl/crypto/rc2/rc2_ecb.c stable/12/crypto/openssl/crypto/rc2/rc2_skey.c stable/12/crypto/openssl/crypto/rc2/rc2cfb64.c stable/12/crypto/openssl/crypto/rc2/rc2ofb64.c stable/12/crypto/openssl/crypto/rc4/asm/rc4-586.pl stable/12/crypto/openssl/crypto/rc4/asm/rc4-c64xplus.pl stable/12/crypto/openssl/crypto/rc4/asm/rc4-md5-x86_64.pl stable/12/crypto/openssl/crypto/rc4/asm/rc4-parisc.pl stable/12/crypto/openssl/crypto/rc4/asm/rc4-s390x.pl stable/12/crypto/openssl/crypto/rc4/asm/rc4-x86_64.pl stable/12/crypto/openssl/crypto/rc4/rc4_enc.c stable/12/crypto/openssl/crypto/rc4/rc4_skey.c stable/12/crypto/openssl/crypto/rc5/asm/rc5-586.pl stable/12/crypto/openssl/crypto/rc5/rc5_ecb.c stable/12/crypto/openssl/crypto/rc5/rc5_enc.c stable/12/crypto/openssl/crypto/rc5/rc5_skey.c stable/12/crypto/openssl/crypto/rc5/rc5cfb64.c stable/12/crypto/openssl/crypto/rc5/rc5ofb64.c stable/12/crypto/openssl/crypto/ripemd/asm/rmd-586.pl stable/12/crypto/openssl/crypto/ripemd/rmd_dgst.c stable/12/crypto/openssl/crypto/rsa/rsa_ameth.c stable/12/crypto/openssl/crypto/rsa/rsa_asn1.c stable/12/crypto/openssl/crypto/rsa/rsa_chk.c stable/12/crypto/openssl/crypto/rsa/rsa_crpt.c stable/12/crypto/openssl/crypto/rsa/rsa_gen.c stable/12/crypto/openssl/crypto/rsa/rsa_lib.c stable/12/crypto/openssl/crypto/rsa/rsa_meth.c stable/12/crypto/openssl/crypto/rsa/rsa_mp.c stable/12/crypto/openssl/crypto/rsa/rsa_oaep.c stable/12/crypto/openssl/crypto/rsa/rsa_ossl.c stable/12/crypto/openssl/crypto/rsa/rsa_pk1.c stable/12/crypto/openssl/crypto/rsa/rsa_pmeth.c stable/12/crypto/openssl/crypto/rsa/rsa_pss.c stable/12/crypto/openssl/crypto/rsa/rsa_sign.c stable/12/crypto/openssl/crypto/rsa/rsa_ssl.c stable/12/crypto/openssl/crypto/rsa/rsa_x931g.c stable/12/crypto/openssl/crypto/s390x_arch.h stable/12/crypto/openssl/crypto/s390xcpuid.pl stable/12/crypto/openssl/crypto/seed/seed.c stable/12/crypto/openssl/crypto/sha/asm/keccak1600-armv4.pl stable/12/crypto/openssl/crypto/sha/asm/keccak1600-armv8.pl stable/12/crypto/openssl/crypto/sha/asm/keccak1600-avx2.pl stable/12/crypto/openssl/crypto/sha/asm/keccak1600-avx512.pl stable/12/crypto/openssl/crypto/sha/asm/keccak1600-avx512vl.pl stable/12/crypto/openssl/crypto/sha/asm/keccak1600-c64x.pl stable/12/crypto/openssl/crypto/sha/asm/keccak1600-mmx.pl stable/12/crypto/openssl/crypto/sha/asm/keccak1600-ppc64.pl stable/12/crypto/openssl/crypto/sha/asm/keccak1600-s390x.pl stable/12/crypto/openssl/crypto/sha/asm/keccak1600-x86_64.pl stable/12/crypto/openssl/crypto/sha/asm/keccak1600p8-ppc.pl stable/12/crypto/openssl/crypto/sha/asm/sha1-586.pl stable/12/crypto/openssl/crypto/sha/asm/sha1-armv4-large.pl stable/12/crypto/openssl/crypto/sha/asm/sha1-armv8.pl stable/12/crypto/openssl/crypto/sha/asm/sha1-c64xplus.pl stable/12/crypto/openssl/crypto/sha/asm/sha1-mb-x86_64.pl stable/12/crypto/openssl/crypto/sha/asm/sha1-mips.pl stable/12/crypto/openssl/crypto/sha/asm/sha1-parisc.pl stable/12/crypto/openssl/crypto/sha/asm/sha1-ppc.pl stable/12/crypto/openssl/crypto/sha/asm/sha1-s390x.pl stable/12/crypto/openssl/crypto/sha/asm/sha1-sparcv9.pl stable/12/crypto/openssl/crypto/sha/asm/sha1-sparcv9a.pl stable/12/crypto/openssl/crypto/sha/asm/sha1-thumb.pl stable/12/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl stable/12/crypto/openssl/crypto/sha/asm/sha256-586.pl stable/12/crypto/openssl/crypto/sha/asm/sha256-armv4.pl stable/12/crypto/openssl/crypto/sha/asm/sha256-c64xplus.pl stable/12/crypto/openssl/crypto/sha/asm/sha256-mb-x86_64.pl stable/12/crypto/openssl/crypto/sha/asm/sha512-586.pl stable/12/crypto/openssl/crypto/sha/asm/sha512-armv4.pl stable/12/crypto/openssl/crypto/sha/asm/sha512-armv8.pl stable/12/crypto/openssl/crypto/sha/asm/sha512-c64xplus.pl stable/12/crypto/openssl/crypto/sha/asm/sha512-mips.pl stable/12/crypto/openssl/crypto/sha/asm/sha512-parisc.pl stable/12/crypto/openssl/crypto/sha/asm/sha512-ppc.pl stable/12/crypto/openssl/crypto/sha/asm/sha512-s390x.pl stable/12/crypto/openssl/crypto/sha/asm/sha512-sparcv9.pl stable/12/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl stable/12/crypto/openssl/crypto/sha/asm/sha512p8-ppc.pl stable/12/crypto/openssl/crypto/sha/sha1dgst.c stable/12/crypto/openssl/crypto/sha/sha256.c stable/12/crypto/openssl/crypto/sha/sha512.c stable/12/crypto/openssl/crypto/siphash/siphash.c stable/12/crypto/openssl/crypto/siphash/siphash_ameth.c stable/12/crypto/openssl/crypto/siphash/siphash_pmeth.c stable/12/crypto/openssl/crypto/sm2/sm2_crypt.c stable/12/crypto/openssl/crypto/sm2/sm2_err.c stable/12/crypto/openssl/crypto/sm2/sm2_pmeth.c stable/12/crypto/openssl/crypto/sm2/sm2_sign.c stable/12/crypto/openssl/crypto/sm3/m_sm3.c stable/12/crypto/openssl/crypto/sm3/sm3.c stable/12/crypto/openssl/crypto/sm4/sm4.c stable/12/crypto/openssl/crypto/sparc_arch.h stable/12/crypto/openssl/crypto/sparcv9cap.c stable/12/crypto/openssl/crypto/srp/srp_lib.c stable/12/crypto/openssl/crypto/srp/srp_vfy.c stable/12/crypto/openssl/crypto/store/loader_file.c stable/12/crypto/openssl/crypto/store/store_init.c stable/12/crypto/openssl/crypto/store/store_lib.c stable/12/crypto/openssl/crypto/store/store_register.c stable/12/crypto/openssl/crypto/threads_none.c stable/12/crypto/openssl/crypto/ts/ts_asn1.c stable/12/crypto/openssl/crypto/ts/ts_lib.c stable/12/crypto/openssl/crypto/ts/ts_req_print.c stable/12/crypto/openssl/crypto/ts/ts_req_utils.c stable/12/crypto/openssl/crypto/ts/ts_rsp_print.c stable/12/crypto/openssl/crypto/ts/ts_rsp_sign.c stable/12/crypto/openssl/crypto/ts/ts_rsp_utils.c stable/12/crypto/openssl/crypto/ts/ts_rsp_verify.c stable/12/crypto/openssl/crypto/ts/ts_verify_ctx.c stable/12/crypto/openssl/crypto/ui/ui_lib.c stable/12/crypto/openssl/crypto/ui/ui_null.c stable/12/crypto/openssl/crypto/ui/ui_openssl.c stable/12/crypto/openssl/crypto/ui/ui_util.c stable/12/crypto/openssl/crypto/whrlpool/asm/wp-mmx.pl stable/12/crypto/openssl/crypto/whrlpool/asm/wp-x86_64.pl stable/12/crypto/openssl/crypto/whrlpool/wp_block.c stable/12/crypto/openssl/crypto/whrlpool/wp_dgst.c stable/12/crypto/openssl/crypto/x509/by_dir.c stable/12/crypto/openssl/crypto/x509/by_file.c stable/12/crypto/openssl/crypto/x509/t_x509.c stable/12/crypto/openssl/crypto/x509/x509_att.c stable/12/crypto/openssl/crypto/x509/x509_cmp.c stable/12/crypto/openssl/crypto/x509/x509_ext.c stable/12/crypto/openssl/crypto/x509/x509_lu.c stable/12/crypto/openssl/crypto/x509/x509_meth.c stable/12/crypto/openssl/crypto/x509/x509_obj.c stable/12/crypto/openssl/crypto/x509/x509_r2x.c stable/12/crypto/openssl/crypto/x509/x509_req.c stable/12/crypto/openssl/crypto/x509/x509_set.c stable/12/crypto/openssl/crypto/x509/x509_trs.c stable/12/crypto/openssl/crypto/x509/x509_v3.c stable/12/crypto/openssl/crypto/x509/x509_vfy.c stable/12/crypto/openssl/crypto/x509/x509_vpm.c stable/12/crypto/openssl/crypto/x509/x509cset.c stable/12/crypto/openssl/crypto/x509/x509name.c stable/12/crypto/openssl/crypto/x509/x509rset.c stable/12/crypto/openssl/crypto/x509/x_all.c stable/12/crypto/openssl/crypto/x509/x_attrib.c stable/12/crypto/openssl/crypto/x509/x_crl.c stable/12/crypto/openssl/crypto/x509/x_exten.c stable/12/crypto/openssl/crypto/x509/x_name.c stable/12/crypto/openssl/crypto/x509/x_pubkey.c stable/12/crypto/openssl/crypto/x509/x_req.c stable/12/crypto/openssl/crypto/x509/x_x509.c stable/12/crypto/openssl/crypto/x509/x_x509a.c stable/12/crypto/openssl/crypto/x509v3/pcy_cache.c stable/12/crypto/openssl/crypto/x509v3/pcy_data.c stable/12/crypto/openssl/crypto/x509v3/pcy_lib.c stable/12/crypto/openssl/crypto/x509v3/pcy_map.c stable/12/crypto/openssl/crypto/x509v3/pcy_node.c stable/12/crypto/openssl/crypto/x509v3/pcy_tree.c stable/12/crypto/openssl/crypto/x509v3/v3_addr.c stable/12/crypto/openssl/crypto/x509v3/v3_admis.h stable/12/crypto/openssl/crypto/x509v3/v3_alt.c stable/12/crypto/openssl/crypto/x509v3/v3_asid.c stable/12/crypto/openssl/crypto/x509v3/v3_conf.c stable/12/crypto/openssl/crypto/x509v3/v3_cpols.c stable/12/crypto/openssl/crypto/x509v3/v3_crld.c stable/12/crypto/openssl/crypto/x509v3/v3_ncons.c stable/12/crypto/openssl/crypto/x509v3/v3_purp.c stable/12/crypto/openssl/crypto/x509v3/v3_skey.c stable/12/crypto/openssl/crypto/x509v3/v3_utl.c stable/12/crypto/openssl/crypto/x86_64cpuid.pl stable/12/crypto/openssl/crypto/x86cpuid.pl stable/12/crypto/openssl/doc/man1/ca.pod stable/12/crypto/openssl/doc/man1/dgst.pod stable/12/crypto/openssl/doc/man1/enc.pod stable/12/crypto/openssl/doc/man1/rand.pod stable/12/crypto/openssl/doc/man1/req.pod stable/12/crypto/openssl/doc/man1/s_client.pod stable/12/crypto/openssl/doc/man1/sess_id.pod stable/12/crypto/openssl/doc/man1/x509.pod stable/12/crypto/openssl/doc/man3/ASN1_INTEGER_get_int64.pod stable/12/crypto/openssl/doc/man3/ASN1_TYPE_get.pod stable/12/crypto/openssl/doc/man3/BIO_f_buffer.pod stable/12/crypto/openssl/doc/man3/BIO_get_ex_new_index.pod stable/12/crypto/openssl/doc/man3/DTLSv1_listen.pod stable/12/crypto/openssl/doc/man3/EC_GROUP_copy.pod stable/12/crypto/openssl/doc/man3/EC_GROUP_new.pod stable/12/crypto/openssl/doc/man3/EC_POINT_new.pod stable/12/crypto/openssl/doc/man3/EVP_DigestInit.pod stable/12/crypto/openssl/doc/man3/EVP_DigestSignInit.pod stable/12/crypto/openssl/doc/man3/EVP_DigestVerifyInit.pod stable/12/crypto/openssl/doc/man3/EVP_EncryptInit.pod stable/12/crypto/openssl/doc/man3/EVP_MD_meth_new.pod stable/12/crypto/openssl/doc/man3/EVP_PKEY_CTX_ctrl.pod stable/12/crypto/openssl/doc/man3/EVP_PKEY_meth_new.pod stable/12/crypto/openssl/doc/man3/EVP_PKEY_new.pod stable/12/crypto/openssl/doc/man3/EVP_SignInit.pod stable/12/crypto/openssl/doc/man3/OCSP_request_add1_nonce.pod stable/12/crypto/openssl/doc/man3/OCSP_response_status.pod stable/12/crypto/openssl/doc/man3/OCSP_sendreq_new.pod stable/12/crypto/openssl/doc/man3/OPENSSL_malloc.pod stable/12/crypto/openssl/doc/man3/OPENSSL_secure_malloc.pod stable/12/crypto/openssl/doc/man3/PEM_bytes_read_bio.pod stable/12/crypto/openssl/doc/man3/PEM_read_bio_PrivateKey.pod stable/12/crypto/openssl/doc/man3/PEM_read_bio_ex.pod stable/12/crypto/openssl/doc/man3/RAND_bytes.pod stable/12/crypto/openssl/doc/man3/RAND_set_rand_method.pod stable/12/crypto/openssl/doc/man3/RSA_get0_key.pod stable/12/crypto/openssl/doc/man3/SSL_CTX_sess_set_get_cb.pod stable/12/crypto/openssl/doc/man3/SSL_CTX_set_stateless_cookie_generate_cb.pod stable/12/crypto/openssl/doc/man3/SSL_CTX_set_tlsext_servername_callback.pod stable/12/crypto/openssl/doc/man3/SSL_CTX_use_psk_identity_hint.pod stable/12/crypto/openssl/doc/man3/SSL_SESSION_get0_hostname.pod stable/12/crypto/openssl/doc/man3/SSL_accept.pod stable/12/crypto/openssl/doc/man3/SSL_connect.pod stable/12/crypto/openssl/doc/man3/SSL_do_handshake.pod stable/12/crypto/openssl/doc/man3/SSL_load_client_CA_file.pod stable/12/crypto/openssl/doc/man3/X509_LOOKUP_meth_new.pod stable/12/crypto/openssl/doc/man3/X509_STORE_CTX_new.pod stable/12/crypto/openssl/doc/man3/X509_STORE_add_cert.pod stable/12/crypto/openssl/doc/man3/d2i_X509.pod stable/12/crypto/openssl/doc/man5/config.pod stable/12/crypto/openssl/doc/man7/Ed25519.pod stable/12/crypto/openssl/doc/man7/X25519.pod stable/12/crypto/openssl/doc/man7/passphrase-encoding.pod stable/12/crypto/openssl/e_os.h stable/12/crypto/openssl/engines/e_afalg.c stable/12/crypto/openssl/engines/e_afalg.h stable/12/crypto/openssl/engines/e_afalg_err.h stable/12/crypto/openssl/engines/e_capi_err.h stable/12/crypto/openssl/engines/e_dasync_err.h stable/12/crypto/openssl/engines/e_ossltest_err.h stable/12/crypto/openssl/include/internal/conf.h stable/12/crypto/openssl/include/internal/cryptlib.h stable/12/crypto/openssl/include/internal/dane.h stable/12/crypto/openssl/include/internal/dso.h stable/12/crypto/openssl/include/internal/dsoerr.h stable/12/crypto/openssl/include/internal/err.h stable/12/crypto/openssl/include/internal/nelem.h stable/12/crypto/openssl/include/internal/numbers.h stable/12/crypto/openssl/include/internal/o_dir.h stable/12/crypto/openssl/include/internal/o_str.h stable/12/crypto/openssl/include/internal/refcount.h stable/12/crypto/openssl/include/internal/sockets.h stable/12/crypto/openssl/include/internal/sslconf.h stable/12/crypto/openssl/include/openssl/__DECC_INCLUDE_EPILOGUE.H stable/12/crypto/openssl/include/openssl/__DECC_INCLUDE_PROLOGUE.H stable/12/crypto/openssl/include/openssl/bio.h stable/12/crypto/openssl/include/openssl/ct.h stable/12/crypto/openssl/include/openssl/dsa.h stable/12/crypto/openssl/include/openssl/dtls1.h stable/12/crypto/openssl/include/openssl/evp.h stable/12/crypto/openssl/include/openssl/evperr.h stable/12/crypto/openssl/include/openssl/lhash.h stable/12/crypto/openssl/include/openssl/obj_mac.h stable/12/crypto/openssl/include/openssl/ocsp.h stable/12/crypto/openssl/include/openssl/opensslv.h stable/12/crypto/openssl/include/openssl/ossl_typ.h stable/12/crypto/openssl/include/openssl/randerr.h stable/12/crypto/openssl/include/openssl/rsa.h stable/12/crypto/openssl/include/openssl/sslerr.h stable/12/crypto/openssl/ssl/bio_ssl.c stable/12/crypto/openssl/ssl/d1_lib.c stable/12/crypto/openssl/ssl/d1_msg.c stable/12/crypto/openssl/ssl/d1_srtp.c stable/12/crypto/openssl/ssl/methods.c stable/12/crypto/openssl/ssl/packet.c stable/12/crypto/openssl/ssl/pqueue.c stable/12/crypto/openssl/ssl/record/README stable/12/crypto/openssl/ssl/record/dtls1_bitmap.c stable/12/crypto/openssl/ssl/record/rec_layer_d1.c stable/12/crypto/openssl/ssl/record/rec_layer_s3.c stable/12/crypto/openssl/ssl/record/ssl3_buffer.c stable/12/crypto/openssl/ssl/record/ssl3_record.c stable/12/crypto/openssl/ssl/record/ssl3_record_tls13.c stable/12/crypto/openssl/ssl/s3_cbc.c stable/12/crypto/openssl/ssl/s3_enc.c stable/12/crypto/openssl/ssl/s3_lib.c stable/12/crypto/openssl/ssl/s3_msg.c stable/12/crypto/openssl/ssl/ssl_asn1.c stable/12/crypto/openssl/ssl/ssl_cert.c stable/12/crypto/openssl/ssl/ssl_ciph.c stable/12/crypto/openssl/ssl/ssl_conf.c stable/12/crypto/openssl/ssl/ssl_err.c stable/12/crypto/openssl/ssl/ssl_init.c stable/12/crypto/openssl/ssl/ssl_lib.c stable/12/crypto/openssl/ssl/ssl_mcnf.c stable/12/crypto/openssl/ssl/ssl_rsa.c stable/12/crypto/openssl/ssl/ssl_sess.c stable/12/crypto/openssl/ssl/ssl_stat.c stable/12/crypto/openssl/ssl/ssl_txt.c stable/12/crypto/openssl/ssl/ssl_utst.c stable/12/crypto/openssl/ssl/statem/README stable/12/crypto/openssl/ssl/statem/extensions.c stable/12/crypto/openssl/ssl/statem/extensions_clnt.c stable/12/crypto/openssl/ssl/statem/extensions_cust.c stable/12/crypto/openssl/ssl/statem/extensions_srvr.c stable/12/crypto/openssl/ssl/statem/statem.c stable/12/crypto/openssl/ssl/statem/statem_clnt.c stable/12/crypto/openssl/ssl/statem/statem_dtls.c stable/12/crypto/openssl/ssl/statem/statem_lib.c stable/12/crypto/openssl/ssl/statem/statem_srvr.c stable/12/crypto/openssl/ssl/t1_enc.c stable/12/crypto/openssl/ssl/t1_lib.c stable/12/crypto/openssl/ssl/t1_trce.c stable/12/crypto/openssl/ssl/tls13_enc.c stable/12/crypto/openssl/ssl/tls_srp.c stable/12/secure/lib/libcrypto/Makefile.inc stable/12/secure/lib/libcrypto/aarch64/ecp_nistz256-armv8.S stable/12/secure/lib/libcrypto/aarch64/sha256-armv8.S stable/12/secure/lib/libcrypto/aarch64/sha512-armv8.S stable/12/secure/lib/libcrypto/amd64/aesni-gcm-x86_64.S stable/12/secure/lib/libcrypto/amd64/aesni-mb-x86_64.S stable/12/secure/lib/libcrypto/amd64/aesni-sha1-x86_64.S stable/12/secure/lib/libcrypto/amd64/aesni-sha256-x86_64.S stable/12/secure/lib/libcrypto/amd64/aesni-x86_64.S stable/12/secure/lib/libcrypto/amd64/chacha-x86_64.S stable/12/secure/lib/libcrypto/amd64/cmll-x86_64.S stable/12/secure/lib/libcrypto/amd64/ecp_nistz256-x86_64.S stable/12/secure/lib/libcrypto/amd64/ghash-x86_64.S stable/12/secure/lib/libcrypto/amd64/keccak1600-x86_64.S stable/12/secure/lib/libcrypto/amd64/poly1305-x86_64.S stable/12/secure/lib/libcrypto/amd64/rc4-x86_64.S stable/12/secure/lib/libcrypto/amd64/rsaz-avx2.S stable/12/secure/lib/libcrypto/amd64/rsaz-x86_64.S stable/12/secure/lib/libcrypto/amd64/sha1-mb-x86_64.S stable/12/secure/lib/libcrypto/amd64/sha1-x86_64.S stable/12/secure/lib/libcrypto/amd64/sha256-mb-x86_64.S stable/12/secure/lib/libcrypto/amd64/sha256-x86_64.S stable/12/secure/lib/libcrypto/amd64/sha512-x86_64.S stable/12/secure/lib/libcrypto/amd64/x25519-x86_64.S stable/12/secure/lib/libcrypto/amd64/x86_64-mont.S stable/12/secure/lib/libcrypto/amd64/x86_64-mont5.S stable/12/secure/lib/libcrypto/arm/aes-armv4.S stable/12/secure/lib/libcrypto/arm/bsaes-armv7.S stable/12/secure/lib/libcrypto/arm/ecp_nistz256-armv4.S stable/12/secure/lib/libcrypto/arm/sha256-armv4.S stable/12/secure/lib/libcrypto/arm/sha512-armv4.S stable/12/secure/lib/libcrypto/i386/chacha-x86.S stable/12/secure/lib/libcrypto/i386/ecp_nistz256-x86.S stable/12/secure/lib/libcrypto/i386/poly1305-x86.S stable/12/secure/lib/libcrypto/i386/sha1-586.S stable/12/secure/lib/libcrypto/i386/sha256-586.S stable/12/secure/lib/libcrypto/man/man3/ADMISSIONS.3 stable/12/secure/lib/libcrypto/man/man3/ASN1_INTEGER_get_int64.3 stable/12/secure/lib/libcrypto/man/man3/ASN1_ITEM_lookup.3 stable/12/secure/lib/libcrypto/man/man3/ASN1_OBJECT_new.3 stable/12/secure/lib/libcrypto/man/man3/ASN1_STRING_TABLE_add.3 stable/12/secure/lib/libcrypto/man/man3/ASN1_STRING_length.3 stable/12/secure/lib/libcrypto/man/man3/ASN1_STRING_new.3 stable/12/secure/lib/libcrypto/man/man3/ASN1_STRING_print_ex.3 stable/12/secure/lib/libcrypto/man/man3/ASN1_TIME_set.3 stable/12/secure/lib/libcrypto/man/man3/ASN1_TYPE_get.3 stable/12/secure/lib/libcrypto/man/man3/ASN1_generate_nconf.3 stable/12/secure/lib/libcrypto/man/man3/ASYNC_WAIT_CTX_new.3 stable/12/secure/lib/libcrypto/man/man3/ASYNC_start_job.3 stable/12/secure/lib/libcrypto/man/man3/BF_encrypt.3 stable/12/secure/lib/libcrypto/man/man3/BIO_ADDR.3 stable/12/secure/lib/libcrypto/man/man3/BIO_ADDRINFO.3 stable/12/secure/lib/libcrypto/man/man3/BIO_connect.3 stable/12/secure/lib/libcrypto/man/man3/BIO_ctrl.3 stable/12/secure/lib/libcrypto/man/man3/BIO_f_base64.3 stable/12/secure/lib/libcrypto/man/man3/BIO_f_buffer.3 stable/12/secure/lib/libcrypto/man/man3/BIO_f_cipher.3 stable/12/secure/lib/libcrypto/man/man3/BIO_f_md.3 stable/12/secure/lib/libcrypto/man/man3/BIO_f_null.3 stable/12/secure/lib/libcrypto/man/man3/BIO_f_ssl.3 stable/12/secure/lib/libcrypto/man/man3/BIO_find_type.3 stable/12/secure/lib/libcrypto/man/man3/BIO_get_data.3 stable/12/secure/lib/libcrypto/man/man3/BIO_get_ex_new_index.3 stable/12/secure/lib/libcrypto/man/man3/BIO_meth_new.3 stable/12/secure/lib/libcrypto/man/man3/BIO_new.3 stable/12/secure/lib/libcrypto/man/man3/BIO_new_CMS.3 stable/12/secure/lib/libcrypto/man/man3/BIO_parse_hostserv.3 stable/12/secure/lib/libcrypto/man/man3/BIO_printf.3 stable/12/secure/lib/libcrypto/man/man3/BIO_push.3 stable/12/secure/lib/libcrypto/man/man3/BIO_read.3 stable/12/secure/lib/libcrypto/man/man3/BIO_s_accept.3 stable/12/secure/lib/libcrypto/man/man3/BIO_s_bio.3 stable/12/secure/lib/libcrypto/man/man3/BIO_s_connect.3 stable/12/secure/lib/libcrypto/man/man3/BIO_s_fd.3 stable/12/secure/lib/libcrypto/man/man3/BIO_s_file.3 stable/12/secure/lib/libcrypto/man/man3/BIO_s_mem.3 stable/12/secure/lib/libcrypto/man/man3/BIO_s_null.3 stable/12/secure/lib/libcrypto/man/man3/BIO_s_socket.3 stable/12/secure/lib/libcrypto/man/man3/BIO_set_callback.3 stable/12/secure/lib/libcrypto/man/man3/BIO_should_retry.3 stable/12/secure/lib/libcrypto/man/man3/BN_BLINDING_new.3 stable/12/secure/lib/libcrypto/man/man3/BN_CTX_new.3 stable/12/secure/lib/libcrypto/man/man3/BN_CTX_start.3 stable/12/secure/lib/libcrypto/man/man3/BN_add.3 stable/12/secure/lib/libcrypto/man/man3/BN_add_word.3 stable/12/secure/lib/libcrypto/man/man3/BN_bn2bin.3 stable/12/secure/lib/libcrypto/man/man3/BN_cmp.3 stable/12/secure/lib/libcrypto/man/man3/BN_copy.3 stable/12/secure/lib/libcrypto/man/man3/BN_generate_prime.3 stable/12/secure/lib/libcrypto/man/man3/BN_mod_inverse.3 stable/12/secure/lib/libcrypto/man/man3/BN_mod_mul_montgomery.3 stable/12/secure/lib/libcrypto/man/man3/BN_mod_mul_reciprocal.3 stable/12/secure/lib/libcrypto/man/man3/BN_new.3 stable/12/secure/lib/libcrypto/man/man3/BN_num_bytes.3 stable/12/secure/lib/libcrypto/man/man3/BN_rand.3 stable/12/secure/lib/libcrypto/man/man3/BN_security_bits.3 stable/12/secure/lib/libcrypto/man/man3/BN_set_bit.3 stable/12/secure/lib/libcrypto/man/man3/BN_swap.3 stable/12/secure/lib/libcrypto/man/man3/BN_zero.3 stable/12/secure/lib/libcrypto/man/man3/BUF_MEM_new.3 stable/12/secure/lib/libcrypto/man/man3/CMS_add0_cert.3 stable/12/secure/lib/libcrypto/man/man3/CMS_add1_recipient_cert.3 stable/12/secure/lib/libcrypto/man/man3/CMS_add1_signer.3 stable/12/secure/lib/libcrypto/man/man3/CMS_compress.3 stable/12/secure/lib/libcrypto/man/man3/CMS_decrypt.3 stable/12/secure/lib/libcrypto/man/man3/CMS_encrypt.3 stable/12/secure/lib/libcrypto/man/man3/CMS_final.3 stable/12/secure/lib/libcrypto/man/man3/CMS_get0_RecipientInfos.3 stable/12/secure/lib/libcrypto/man/man3/CMS_get0_SignerInfos.3 stable/12/secure/lib/libcrypto/man/man3/CMS_get0_type.3 stable/12/secure/lib/libcrypto/man/man3/CMS_get1_ReceiptRequest.3 stable/12/secure/lib/libcrypto/man/man3/CMS_sign.3 stable/12/secure/lib/libcrypto/man/man3/CMS_sign_receipt.3 stable/12/secure/lib/libcrypto/man/man3/CMS_uncompress.3 stable/12/secure/lib/libcrypto/man/man3/CMS_verify.3 stable/12/secure/lib/libcrypto/man/man3/CMS_verify_receipt.3 stable/12/secure/lib/libcrypto/man/man3/CONF_modules_free.3 stable/12/secure/lib/libcrypto/man/man3/CONF_modules_load_file.3 stable/12/secure/lib/libcrypto/man/man3/CRYPTO_THREAD_run_once.3 stable/12/secure/lib/libcrypto/man/man3/CRYPTO_get_ex_new_index.3 stable/12/secure/lib/libcrypto/man/man3/CRYPTO_memcmp.3 stable/12/secure/lib/libcrypto/man/man3/CTLOG_STORE_get0_log_by_id.3 stable/12/secure/lib/libcrypto/man/man3/CTLOG_STORE_new.3 stable/12/secure/lib/libcrypto/man/man3/CTLOG_new.3 stable/12/secure/lib/libcrypto/man/man3/CT_POLICY_EVAL_CTX_new.3 stable/12/secure/lib/libcrypto/man/man3/DEFINE_STACK_OF.3 stable/12/secure/lib/libcrypto/man/man3/DES_random_key.3 stable/12/secure/lib/libcrypto/man/man3/DH_generate_key.3 stable/12/secure/lib/libcrypto/man/man3/DH_generate_parameters.3 stable/12/secure/lib/libcrypto/man/man3/DH_get0_pqg.3 stable/12/secure/lib/libcrypto/man/man3/DH_get_1024_160.3 stable/12/secure/lib/libcrypto/man/man3/DH_meth_new.3 stable/12/secure/lib/libcrypto/man/man3/DH_new.3 stable/12/secure/lib/libcrypto/man/man3/DH_new_by_nid.3 stable/12/secure/lib/libcrypto/man/man3/DH_set_method.3 stable/12/secure/lib/libcrypto/man/man3/DH_size.3 stable/12/secure/lib/libcrypto/man/man3/DSA_SIG_new.3 stable/12/secure/lib/libcrypto/man/man3/DSA_do_sign.3 stable/12/secure/lib/libcrypto/man/man3/DSA_dup_DH.3 stable/12/secure/lib/libcrypto/man/man3/DSA_generate_key.3 stable/12/secure/lib/libcrypto/man/man3/DSA_generate_parameters.3 stable/12/secure/lib/libcrypto/man/man3/DSA_get0_pqg.3 stable/12/secure/lib/libcrypto/man/man3/DSA_meth_new.3 stable/12/secure/lib/libcrypto/man/man3/DSA_new.3 stable/12/secure/lib/libcrypto/man/man3/DSA_set_method.3 stable/12/secure/lib/libcrypto/man/man3/DSA_sign.3 stable/12/secure/lib/libcrypto/man/man3/DSA_size.3 stable/12/secure/lib/libcrypto/man/man3/DTLS_get_data_mtu.3 stable/12/secure/lib/libcrypto/man/man3/DTLS_set_timer_cb.3 stable/12/secure/lib/libcrypto/man/man3/DTLSv1_listen.3 stable/12/secure/lib/libcrypto/man/man3/ECDSA_SIG_new.3 stable/12/secure/lib/libcrypto/man/man3/ECPKParameters_print.3 stable/12/secure/lib/libcrypto/man/man3/EC_GFp_simple_method.3 stable/12/secure/lib/libcrypto/man/man3/EC_GROUP_copy.3 stable/12/secure/lib/libcrypto/man/man3/EC_GROUP_new.3 stable/12/secure/lib/libcrypto/man/man3/EC_KEY_get_enc_flags.3 stable/12/secure/lib/libcrypto/man/man3/EC_KEY_new.3 stable/12/secure/lib/libcrypto/man/man3/EC_POINT_add.3 stable/12/secure/lib/libcrypto/man/man3/EC_POINT_new.3 stable/12/secure/lib/libcrypto/man/man3/ENGINE_add.3 stable/12/secure/lib/libcrypto/man/man3/ERR_GET_LIB.3 stable/12/secure/lib/libcrypto/man/man3/ERR_clear_error.3 stable/12/secure/lib/libcrypto/man/man3/ERR_error_string.3 stable/12/secure/lib/libcrypto/man/man3/ERR_get_error.3 stable/12/secure/lib/libcrypto/man/man3/ERR_load_crypto_strings.3 stable/12/secure/lib/libcrypto/man/man3/ERR_load_strings.3 stable/12/secure/lib/libcrypto/man/man3/ERR_print_errors.3 stable/12/secure/lib/libcrypto/man/man3/ERR_put_error.3 stable/12/secure/lib/libcrypto/man/man3/ERR_remove_state.3 stable/12/secure/lib/libcrypto/man/man3/ERR_set_mark.3 stable/12/secure/lib/libcrypto/man/man3/EVP_BytesToKey.3 stable/12/secure/lib/libcrypto/man/man3/EVP_CIPHER_CTX_get_cipher_data.3 stable/12/secure/lib/libcrypto/man/man3/EVP_CIPHER_meth_new.3 stable/12/secure/lib/libcrypto/man/man3/EVP_DigestInit.3 stable/12/secure/lib/libcrypto/man/man3/EVP_DigestSignInit.3 stable/12/secure/lib/libcrypto/man/man3/EVP_DigestVerifyInit.3 stable/12/secure/lib/libcrypto/man/man3/EVP_EncodeInit.3 stable/12/secure/lib/libcrypto/man/man3/EVP_EncryptInit.3 stable/12/secure/lib/libcrypto/man/man3/EVP_MD_meth_new.3 stable/12/secure/lib/libcrypto/man/man3/EVP_OpenInit.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_ASN1_METHOD.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_ctrl.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_new.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_set1_pbe_pass.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_set_hkdf_md.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_set_scrypt_N.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_asn1_get_count.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_cmp.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_decrypt.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_derive.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_encrypt.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_get_default_digest_nid.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_keygen.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_meth_get_count.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_meth_new.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_new.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_print_private.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_set1_RSA.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_sign.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_verify.3 stable/12/secure/lib/libcrypto/man/man3/EVP_PKEY_verify_recover.3 stable/12/secure/lib/libcrypto/man/man3/EVP_SealInit.3 stable/12/secure/lib/libcrypto/man/man3/EVP_SignInit.3 stable/12/secure/lib/libcrypto/man/man3/EVP_VerifyInit.3 stable/12/secure/lib/libcrypto/man/man3/EVP_aes.3 stable/12/secure/lib/libcrypto/man/man3/EVP_aria.3 stable/12/secure/lib/libcrypto/man/man3/EVP_bf_cbc.3 stable/12/secure/lib/libcrypto/man/man3/EVP_blake2b512.3 stable/12/secure/lib/libcrypto/man/man3/EVP_camellia.3 stable/12/secure/lib/libcrypto/man/man3/EVP_cast5_cbc.3 stable/12/secure/lib/libcrypto/man/man3/EVP_chacha20.3 stable/12/secure/lib/libcrypto/man/man3/EVP_des.3 stable/12/secure/lib/libcrypto/man/man3/EVP_desx_cbc.3 stable/12/secure/lib/libcrypto/man/man3/EVP_idea_cbc.3 stable/12/secure/lib/libcrypto/man/man3/EVP_md2.3 stable/12/secure/lib/libcrypto/man/man3/EVP_md4.3 stable/12/secure/lib/libcrypto/man/man3/EVP_md5.3 stable/12/secure/lib/libcrypto/man/man3/EVP_mdc2.3 stable/12/secure/lib/libcrypto/man/man3/EVP_rc2_cbc.3 stable/12/secure/lib/libcrypto/man/man3/EVP_rc4.3 stable/12/secure/lib/libcrypto/man/man3/EVP_rc5_32_12_16_cbc.3 stable/12/secure/lib/libcrypto/man/man3/EVP_ripemd160.3 stable/12/secure/lib/libcrypto/man/man3/EVP_seed_cbc.3 stable/12/secure/lib/libcrypto/man/man3/EVP_sha1.3 stable/12/secure/lib/libcrypto/man/man3/EVP_sha224.3 stable/12/secure/lib/libcrypto/man/man3/EVP_sha3_224.3 stable/12/secure/lib/libcrypto/man/man3/EVP_sm3.3 stable/12/secure/lib/libcrypto/man/man3/EVP_sm4_cbc.3 stable/12/secure/lib/libcrypto/man/man3/EVP_whirlpool.3 stable/12/secure/lib/libcrypto/man/man3/HMAC.3 stable/12/secure/lib/libcrypto/man/man3/MD5.3 stable/12/secure/lib/libcrypto/man/man3/MDC2_Init.3 stable/12/secure/lib/libcrypto/man/man3/Makefile stable/12/secure/lib/libcrypto/man/man3/OBJ_nid2obj.3 stable/12/secure/lib/libcrypto/man/man3/OCSP_REQUEST_new.3 stable/12/secure/lib/libcrypto/man/man3/OCSP_cert_to_id.3 stable/12/secure/lib/libcrypto/man/man3/OCSP_request_add1_nonce.3 stable/12/secure/lib/libcrypto/man/man3/OCSP_resp_find_status.3 stable/12/secure/lib/libcrypto/man/man3/OCSP_response_status.3 stable/12/secure/lib/libcrypto/man/man3/OCSP_sendreq_new.3 stable/12/secure/lib/libcrypto/man/man3/OPENSSL_Applink.3 stable/12/secure/lib/libcrypto/man/man3/OPENSSL_LH_COMPFUNC.3 stable/12/secure/lib/libcrypto/man/man3/OPENSSL_LH_stats.3 stable/12/secure/lib/libcrypto/man/man3/OPENSSL_VERSION_NUMBER.3 stable/12/secure/lib/libcrypto/man/man3/OPENSSL_config.3 stable/12/secure/lib/libcrypto/man/man3/OPENSSL_fork_prepare.3 stable/12/secure/lib/libcrypto/man/man3/OPENSSL_ia32cap.3 stable/12/secure/lib/libcrypto/man/man3/OPENSSL_init_crypto.3 stable/12/secure/lib/libcrypto/man/man3/OPENSSL_init_ssl.3 stable/12/secure/lib/libcrypto/man/man3/OPENSSL_instrument_bus.3 stable/12/secure/lib/libcrypto/man/man3/OPENSSL_load_builtin_modules.3 stable/12/secure/lib/libcrypto/man/man3/OPENSSL_malloc.3 stable/12/secure/lib/libcrypto/man/man3/OPENSSL_secure_malloc.3 stable/12/secure/lib/libcrypto/man/man3/OSSL_STORE_INFO.3 stable/12/secure/lib/libcrypto/man/man3/OSSL_STORE_LOADER.3 stable/12/secure/lib/libcrypto/man/man3/OSSL_STORE_SEARCH.3 stable/12/secure/lib/libcrypto/man/man3/OSSL_STORE_expect.3 stable/12/secure/lib/libcrypto/man/man3/OSSL_STORE_open.3 stable/12/secure/lib/libcrypto/man/man3/OpenSSL_add_all_algorithms.3 stable/12/secure/lib/libcrypto/man/man3/PEM_bytes_read_bio.3 stable/12/secure/lib/libcrypto/man/man3/PEM_read.3 stable/12/secure/lib/libcrypto/man/man3/PEM_read_CMS.3 stable/12/secure/lib/libcrypto/man/man3/PEM_read_bio_PrivateKey.3 stable/12/secure/lib/libcrypto/man/man3/PEM_read_bio_ex.3 stable/12/secure/lib/libcrypto/man/man3/PEM_write_bio_CMS_stream.3 stable/12/secure/lib/libcrypto/man/man3/PEM_write_bio_PKCS7_stream.3 stable/12/secure/lib/libcrypto/man/man3/PKCS12_create.3 stable/12/secure/lib/libcrypto/man/man3/PKCS12_newpass.3 stable/12/secure/lib/libcrypto/man/man3/PKCS12_parse.3 stable/12/secure/lib/libcrypto/man/man3/PKCS5_PBKDF2_HMAC.3 stable/12/secure/lib/libcrypto/man/man3/PKCS7_decrypt.3 stable/12/secure/lib/libcrypto/man/man3/PKCS7_encrypt.3 stable/12/secure/lib/libcrypto/man/man3/PKCS7_sign.3 stable/12/secure/lib/libcrypto/man/man3/PKCS7_sign_add_signer.3 stable/12/secure/lib/libcrypto/man/man3/PKCS7_verify.3 stable/12/secure/lib/libcrypto/man/man3/RAND_DRBG_generate.3 stable/12/secure/lib/libcrypto/man/man3/RAND_DRBG_get0_master.3 stable/12/secure/lib/libcrypto/man/man3/RAND_DRBG_new.3 stable/12/secure/lib/libcrypto/man/man3/RAND_DRBG_reseed.3 stable/12/secure/lib/libcrypto/man/man3/RAND_DRBG_set_callbacks.3 stable/12/secure/lib/libcrypto/man/man3/RAND_DRBG_set_ex_data.3 stable/12/secure/lib/libcrypto/man/man3/RAND_add.3 stable/12/secure/lib/libcrypto/man/man3/RAND_bytes.3 stable/12/secure/lib/libcrypto/man/man3/RAND_cleanup.3 stable/12/secure/lib/libcrypto/man/man3/RAND_egd.3 stable/12/secure/lib/libcrypto/man/man3/RAND_load_file.3 stable/12/secure/lib/libcrypto/man/man3/RAND_set_rand_method.3 stable/12/secure/lib/libcrypto/man/man3/RC4_set_key.3 stable/12/secure/lib/libcrypto/man/man3/RIPEMD160_Init.3 stable/12/secure/lib/libcrypto/man/man3/RSA_blinding_on.3 stable/12/secure/lib/libcrypto/man/man3/RSA_check_key.3 stable/12/secure/lib/libcrypto/man/man3/RSA_generate_key.3 stable/12/secure/lib/libcrypto/man/man3/RSA_get0_key.3 stable/12/secure/lib/libcrypto/man/man3/RSA_meth_new.3 stable/12/secure/lib/libcrypto/man/man3/RSA_new.3 stable/12/secure/lib/libcrypto/man/man3/RSA_padding_add_PKCS1_type_1.3 stable/12/secure/lib/libcrypto/man/man3/RSA_print.3 stable/12/secure/lib/libcrypto/man/man3/RSA_private_encrypt.3 stable/12/secure/lib/libcrypto/man/man3/RSA_public_encrypt.3 stable/12/secure/lib/libcrypto/man/man3/RSA_set_method.3 stable/12/secure/lib/libcrypto/man/man3/RSA_sign.3 stable/12/secure/lib/libcrypto/man/man3/RSA_sign_ASN1_OCTET_STRING.3 stable/12/secure/lib/libcrypto/man/man3/RSA_size.3 stable/12/secure/lib/libcrypto/man/man3/SCT_new.3 stable/12/secure/lib/libcrypto/man/man3/SCT_print.3 stable/12/secure/lib/libcrypto/man/man3/SCT_validate.3 stable/12/secure/lib/libcrypto/man/man3/SHA256_Init.3 stable/12/secure/lib/libcrypto/man/man3/SMIME_read_CMS.3 stable/12/secure/lib/libcrypto/man/man3/SMIME_read_PKCS7.3 stable/12/secure/lib/libcrypto/man/man3/SMIME_write_CMS.3 stable/12/secure/lib/libcrypto/man/man3/SMIME_write_PKCS7.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CIPHER_get_name.3 stable/12/secure/lib/libcrypto/man/man3/SSL_COMP_add_compression_method.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CONF_CTX_new.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CONF_CTX_set1_prefix.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CONF_CTX_set_flags.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CONF_CTX_set_ssl_ctx.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CONF_cmd.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CONF_cmd_argv.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_add1_chain_cert.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_add_extra_chain_cert.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_add_session.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_config.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_ctrl.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_dane_enable.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_flush_sessions.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_free.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_get0_param.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_get_verify_mode.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_has_client_custom_ext.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_load_verify_locations.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_new.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_sess_number.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_sess_set_cache_size.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_sess_set_get_cb.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_sessions.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set0_CA_list.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set1_curves.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set1_sigalgs.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set1_verify_cert_store.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_alpn_select_cb.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_cert_cb.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_cert_store.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_cert_verify_callback.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_cipher_list.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_client_cert_cb.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_client_hello_cb.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_ct_validation_callback.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_ctlog_list_file.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_default_passwd_cb.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_ex_data.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_generate_session_id.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_info_callback.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_keylog_callback.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_max_cert_list.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_min_proto_version.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_mode.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_msg_callback.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_num_tickets.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_options.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_psk_client_callback.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_quiet_shutdown.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_read_ahead.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_record_padding_callback.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_security_level.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_session_cache_mode.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_session_id_context.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_session_ticket_cb.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_split_send_fragment.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_ssl_version.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_stateless_cookie_generate_cb.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_timeout.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_tlsext_servername_callback.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_tlsext_status_cb.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_tlsext_use_srtp.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_tmp_dh_callback.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_set_verify.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_use_certificate.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_use_psk_identity_hint.3 stable/12/secure/lib/libcrypto/man/man3/SSL_CTX_use_serverinfo.3 stable/12/secure/lib/libcrypto/man/man3/SSL_SESSION_free.3 stable/12/secure/lib/libcrypto/man/man3/SSL_SESSION_get0_cipher.3 stable/12/secure/lib/libcrypto/man/man3/SSL_SESSION_get0_hostname.3 stable/12/secure/lib/libcrypto/man/man3/SSL_SESSION_get0_id_context.3 stable/12/secure/lib/libcrypto/man/man3/SSL_SESSION_get0_peer.3 stable/12/secure/lib/libcrypto/man/man3/SSL_SESSION_get_compress_id.3 stable/12/secure/lib/libcrypto/man/man3/SSL_SESSION_get_ex_data.3 stable/12/secure/lib/libcrypto/man/man3/SSL_SESSION_get_protocol_version.3 stable/12/secure/lib/libcrypto/man/man3/SSL_SESSION_get_time.3 stable/12/secure/lib/libcrypto/man/man3/SSL_SESSION_has_ticket.3 stable/12/secure/lib/libcrypto/man/man3/SSL_SESSION_is_resumable.3 stable/12/secure/lib/libcrypto/man/man3/SSL_SESSION_print.3 stable/12/secure/lib/libcrypto/man/man3/SSL_SESSION_set1_id.3 stable/12/secure/lib/libcrypto/man/man3/SSL_accept.3 stable/12/secure/lib/libcrypto/man/man3/SSL_alert_type_string.3 stable/12/secure/lib/libcrypto/man/man3/SSL_alloc_buffers.3 stable/12/secure/lib/libcrypto/man/man3/SSL_check_chain.3 stable/12/secure/lib/libcrypto/man/man3/SSL_clear.3 stable/12/secure/lib/libcrypto/man/man3/SSL_connect.3 stable/12/secure/lib/libcrypto/man/man3/SSL_do_handshake.3 stable/12/secure/lib/libcrypto/man/man3/SSL_export_keying_material.3 stable/12/secure/lib/libcrypto/man/man3/SSL_extension_supported.3 stable/12/secure/lib/libcrypto/man/man3/SSL_free.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get0_peer_scts.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_SSL_CTX.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_all_async_fds.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_ciphers.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_client_random.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_current_cipher.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_default_timeout.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_error.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_extms_support.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_fd.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_peer_cert_chain.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_peer_certificate.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_peer_signature_nid.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_peer_tmp_key.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_psk_identity.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_rbio.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_session.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_shared_sigalgs.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_verify_result.3 stable/12/secure/lib/libcrypto/man/man3/SSL_get_version.3 stable/12/secure/lib/libcrypto/man/man3/SSL_in_init.3 stable/12/secure/lib/libcrypto/man/man3/SSL_key_update.3 stable/12/secure/lib/libcrypto/man/man3/SSL_library_init.3 stable/12/secure/lib/libcrypto/man/man3/SSL_load_client_CA_file.3 stable/12/secure/lib/libcrypto/man/man3/SSL_new.3 stable/12/secure/lib/libcrypto/man/man3/SSL_pending.3 stable/12/secure/lib/libcrypto/man/man3/SSL_read.3 stable/12/secure/lib/libcrypto/man/man3/SSL_read_early_data.3 stable/12/secure/lib/libcrypto/man/man3/SSL_rstate_string.3 stable/12/secure/lib/libcrypto/man/man3/SSL_session_reused.3 stable/12/secure/lib/libcrypto/man/man3/SSL_set1_host.3 stable/12/secure/lib/libcrypto/man/man3/SSL_set_bio.3 stable/12/secure/lib/libcrypto/man/man3/SSL_set_connect_state.3 stable/12/secure/lib/libcrypto/man/man3/SSL_set_fd.3 stable/12/secure/lib/libcrypto/man/man3/SSL_set_session.3 stable/12/secure/lib/libcrypto/man/man3/SSL_set_shutdown.3 stable/12/secure/lib/libcrypto/man/man3/SSL_set_verify_result.3 stable/12/secure/lib/libcrypto/man/man3/SSL_shutdown.3 stable/12/secure/lib/libcrypto/man/man3/SSL_state_string.3 stable/12/secure/lib/libcrypto/man/man3/SSL_want.3 stable/12/secure/lib/libcrypto/man/man3/SSL_write.3 stable/12/secure/lib/libcrypto/man/man3/UI_STRING.3 stable/12/secure/lib/libcrypto/man/man3/UI_UTIL_read_pw.3 stable/12/secure/lib/libcrypto/man/man3/UI_create_method.3 stable/12/secure/lib/libcrypto/man/man3/UI_new.3 stable/12/secure/lib/libcrypto/man/man3/X509V3_get_d2i.3 stable/12/secure/lib/libcrypto/man/man3/X509_ALGOR_dup.3 stable/12/secure/lib/libcrypto/man/man3/X509_CRL_get0_by_serial.3 stable/12/secure/lib/libcrypto/man/man3/X509_EXTENSION_set_object.3 stable/12/secure/lib/libcrypto/man/man3/X509_LOOKUP_hash_dir.3 stable/12/secure/lib/libcrypto/man/man3/X509_LOOKUP_meth_new.3 stable/12/secure/lib/libcrypto/man/man3/X509_NAME_ENTRY_get_object.3 stable/12/secure/lib/libcrypto/man/man3/X509_NAME_add_entry_by_txt.3 stable/12/secure/lib/libcrypto/man/man3/X509_NAME_get0_der.3 stable/12/secure/lib/libcrypto/man/man3/X509_NAME_get_index_by_NID.3 stable/12/secure/lib/libcrypto/man/man3/X509_NAME_print_ex.3 stable/12/secure/lib/libcrypto/man/man3/X509_PUBKEY_new.3 stable/12/secure/lib/libcrypto/man/man3/X509_SIG_get0.3 stable/12/secure/lib/libcrypto/man/man3/X509_STORE_CTX_get_error.3 stable/12/secure/lib/libcrypto/man/man3/X509_STORE_CTX_new.3 stable/12/secure/lib/libcrypto/man/man3/X509_STORE_CTX_set_verify_cb.3 stable/12/secure/lib/libcrypto/man/man3/X509_STORE_add_cert.3 stable/12/secure/lib/libcrypto/man/man3/X509_STORE_get0_param.3 stable/12/secure/lib/libcrypto/man/man3/X509_STORE_new.3 stable/12/secure/lib/libcrypto/man/man3/X509_STORE_set_verify_cb_func.3 stable/12/secure/lib/libcrypto/man/man3/X509_VERIFY_PARAM_set_flags.3 stable/12/secure/lib/libcrypto/man/man3/X509_check_ca.3 stable/12/secure/lib/libcrypto/man/man3/X509_check_host.3 stable/12/secure/lib/libcrypto/man/man3/X509_check_issued.3 stable/12/secure/lib/libcrypto/man/man3/X509_check_private_key.3 stable/12/secure/lib/libcrypto/man/man3/X509_cmp.3 stable/12/secure/lib/libcrypto/man/man3/X509_cmp_time.3 stable/12/secure/lib/libcrypto/man/man3/X509_digest.3 stable/12/secure/lib/libcrypto/man/man3/X509_dup.3 stable/12/secure/lib/libcrypto/man/man3/X509_get0_notBefore.3 stable/12/secure/lib/libcrypto/man/man3/X509_get0_signature.3 stable/12/secure/lib/libcrypto/man/man3/X509_get0_uids.3 stable/12/secure/lib/libcrypto/man/man3/X509_get_extension_flags.3 stable/12/secure/lib/libcrypto/man/man3/X509_get_pubkey.3 stable/12/secure/lib/libcrypto/man/man3/X509_get_serialNumber.3 stable/12/secure/lib/libcrypto/man/man3/X509_get_subject_name.3 stable/12/secure/lib/libcrypto/man/man3/X509_get_version.3 stable/12/secure/lib/libcrypto/man/man3/X509_new.3 stable/12/secure/lib/libcrypto/man/man3/X509_sign.3 stable/12/secure/lib/libcrypto/man/man3/X509_verify_cert.3 stable/12/secure/lib/libcrypto/man/man3/X509v3_get_ext_by_NID.3 stable/12/secure/lib/libcrypto/man/man3/d2i_DHparams.3 stable/12/secure/lib/libcrypto/man/man3/d2i_PKCS8PrivateKey_bio.3 stable/12/secure/lib/libcrypto/man/man3/d2i_PrivateKey.3 stable/12/secure/lib/libcrypto/man/man3/d2i_SSL_SESSION.3 stable/12/secure/lib/libcrypto/man/man3/d2i_X509.3 stable/12/secure/lib/libcrypto/man/man3/i2d_CMS_bio_stream.3 stable/12/secure/lib/libcrypto/man/man3/i2d_PKCS7_bio_stream.3 stable/12/secure/lib/libcrypto/man/man3/i2d_re_X509_tbs.3 stable/12/secure/lib/libcrypto/man/man3/o2i_SCT_LIST.3 stable/12/secure/lib/libcrypto/man/man5/x509v3_config.5 stable/12/secure/lib/libcrypto/man/man7/Ed25519.7 stable/12/secure/lib/libcrypto/man/man7/Makefile stable/12/secure/lib/libcrypto/man/man7/RAND.7 stable/12/secure/lib/libcrypto/man/man7/RAND_DRBG.7 stable/12/secure/lib/libcrypto/man/man7/RSA-PSS.7 stable/12/secure/lib/libcrypto/man/man7/SM2.7 stable/12/secure/lib/libcrypto/man/man7/X25519.7 stable/12/secure/lib/libcrypto/man/man7/bio.7 stable/12/secure/lib/libcrypto/man/man7/ct.7 stable/12/secure/lib/libcrypto/man/man7/des_modes.7 stable/12/secure/lib/libcrypto/man/man7/evp.7 stable/12/secure/lib/libcrypto/man/man7/ossl_store-file.7 stable/12/secure/lib/libcrypto/man/man7/ossl_store.7 stable/12/secure/lib/libcrypto/man/man7/passphrase-encoding.7 stable/12/secure/lib/libcrypto/man/man7/scrypt.7 stable/12/secure/lib/libcrypto/man/man7/ssl.7 stable/12/secure/lib/libcrypto/man/man7/x509.7 stable/12/secure/lib/libcrypto/opensslconf.h.in stable/12/secure/usr.bin/openssl/man/CA.pl.1 stable/12/secure/usr.bin/openssl/man/asn1parse.1 stable/12/secure/usr.bin/openssl/man/ca.1 stable/12/secure/usr.bin/openssl/man/ciphers.1 stable/12/secure/usr.bin/openssl/man/cms.1 stable/12/secure/usr.bin/openssl/man/crl.1 stable/12/secure/usr.bin/openssl/man/crl2pkcs7.1 stable/12/secure/usr.bin/openssl/man/dgst.1 stable/12/secure/usr.bin/openssl/man/dhparam.1 stable/12/secure/usr.bin/openssl/man/dsa.1 stable/12/secure/usr.bin/openssl/man/dsaparam.1 stable/12/secure/usr.bin/openssl/man/ec.1 stable/12/secure/usr.bin/openssl/man/ecparam.1 stable/12/secure/usr.bin/openssl/man/enc.1 stable/12/secure/usr.bin/openssl/man/engine.1 stable/12/secure/usr.bin/openssl/man/errstr.1 stable/12/secure/usr.bin/openssl/man/gendsa.1 stable/12/secure/usr.bin/openssl/man/genpkey.1 stable/12/secure/usr.bin/openssl/man/genrsa.1 stable/12/secure/usr.bin/openssl/man/list.1 stable/12/secure/usr.bin/openssl/man/nseq.1 stable/12/secure/usr.bin/openssl/man/ocsp.1 stable/12/secure/usr.bin/openssl/man/openssl.1 stable/12/secure/usr.bin/openssl/man/passwd.1 stable/12/secure/usr.bin/openssl/man/pkcs12.1 stable/12/secure/usr.bin/openssl/man/pkcs7.1 stable/12/secure/usr.bin/openssl/man/pkcs8.1 stable/12/secure/usr.bin/openssl/man/pkey.1 stable/12/secure/usr.bin/openssl/man/pkeyparam.1 stable/12/secure/usr.bin/openssl/man/pkeyutl.1 stable/12/secure/usr.bin/openssl/man/prime.1 stable/12/secure/usr.bin/openssl/man/rand.1 stable/12/secure/usr.bin/openssl/man/req.1 stable/12/secure/usr.bin/openssl/man/rsa.1 stable/12/secure/usr.bin/openssl/man/rsautl.1 stable/12/secure/usr.bin/openssl/man/s_client.1 stable/12/secure/usr.bin/openssl/man/s_server.1 stable/12/secure/usr.bin/openssl/man/s_time.1 stable/12/secure/usr.bin/openssl/man/sess_id.1 stable/12/secure/usr.bin/openssl/man/smime.1 stable/12/secure/usr.bin/openssl/man/speed.1 stable/12/secure/usr.bin/openssl/man/spkac.1 stable/12/secure/usr.bin/openssl/man/srp.1 stable/12/secure/usr.bin/openssl/man/storeutl.1 stable/12/secure/usr.bin/openssl/man/ts.1 stable/12/secure/usr.bin/openssl/man/tsget.1 stable/12/secure/usr.bin/openssl/man/verify.1 stable/12/secure/usr.bin/openssl/man/version.1 stable/12/secure/usr.bin/openssl/man/x509.1 Directory Properties: stable/12/ (props changed) Modified: stable/12/crypto/openssl/CHANGES ============================================================================== --- stable/12/crypto/openssl/CHANGES Fri Mar 20 21:06:58 2020 (r359185) +++ stable/12/crypto/openssl/CHANGES Fri Mar 20 21:43:08 2020 (r359186) @@ -7,6 +7,73 @@ https://github.com/openssl/openssl/commits/ and pick the appropriate release branch. + Changes between 1.1.1d and 1.1.1e [17 Mar 2020] + *) Properly detect EOF while reading in libssl. Previously if we hit an EOF + while reading in libssl then we would report an error back to the + application (SSL_ERROR_SYSCALL) but errno would be 0. We now add + an error to the stack (which means we instead return SSL_ERROR_SSL) and + therefore give a hint as to what went wrong. + [Matt Caswell] + + *) Check that ed25519 and ed448 are allowed by the security level. Previously + signature algorithms not using an MD were not being checked that they were + allowed by the security level. + [Kurt Roeckx] + + *) Fixed SSL_get_servername() behaviour. The behaviour of SSL_get_servername() + was not quite right. The behaviour was not consistent between resumption + and normal handshakes, and also not quite consistent with historical + behaviour. The behaviour in various scenarios has been clarified and + it has been updated to make it match historical behaviour as closely as + possible. + [Matt Caswell] + + *) [VMS only] The header files that the VMS compilers include automatically, + __DECC_INCLUDE_PROLOGUE.H and __DECC_INCLUDE_EPILOGUE.H, use pragmas that + the C++ compiler doesn't understand. This is a shortcoming in the + compiler, but can be worked around with __cplusplus guards. + + C++ applications that use OpenSSL libraries must be compiled using the + qualifier '/NAMES=(AS_IS,SHORTENED)' to be able to use all the OpenSSL + functions. Otherwise, only functions with symbols of less than 31 + characters can be used, as the linker will not be able to successfully + resolve symbols with longer names. + [Richard Levitte] + + *) Corrected the documentation of the return values from the EVP_DigestSign* + set of functions. The documentation mentioned negative values for some + errors, but this was never the case, so the mention of negative values + was removed. + + Code that followed the documentation and thereby check with something + like 'EVP_DigestSignInit(...) <= 0' will continue to work undisturbed. + [Richard Levitte] + + *) Fixed an an overflow bug in the x64_64 Montgomery squaring procedure + used in exponentiation with 512-bit moduli. No EC algorithms are + affected. Analysis suggests that attacks against 2-prime RSA1024, + 3-prime RSA1536, and DSA1024 as a result of this defect would be very + difficult to perform and are not believed likely. Attacks against DH512 + are considered just feasible. However, for an attack the target would + have to re-use the DH512 private key, which is not recommended anyway. + Also applications directly using the low level API BN_mod_exp may be + affected if they use BN_FLG_CONSTTIME. + (CVE-2019-1551) + [Andy Polyakov] + + *) Added a new method to gather entropy on VMS, based on SYS$GET_ENTROPY. + The presence of this system service is determined at run-time. + [Richard Levitte] + + *) Added newline escaping functionality to a filename when using openssl dgst. + This output format is to replicate the output format found in the '*sum' + checksum programs. This aims to preserve backward compatibility. + [Matt Eaton, Richard Levitte, and Paul Dale] + + *) Print all values for a PKCS#12 attribute with 'openssl pkcs12', not just + the first value. + [Jon Spillett] + Changes between 1.1.1c and 1.1.1d [10 Sep 2019] *) Fixed a fork protection issue. OpenSSL 1.1.1 introduced a rewritten random @@ -633,9 +700,9 @@ bytes long. In theory it is permissible in SSLv3 - TLSv1.2 to fragment such alerts across multiple records (some of which could be empty). In practice it make no sense to send an empty alert record, or to fragment one. TLSv1.3 - prohibts this altogether and other libraries (BoringSSL, NSS) do not + prohibits this altogether and other libraries (BoringSSL, NSS) do not support this at all. Supporting it adds significant complexity to the - record layer, and its removal is unlikely to cause inter-operability + record layer, and its removal is unlikely to cause interoperability issues. [Matt Caswell] @@ -3652,7 +3719,7 @@ implementations). [Emilia Käsper, Adam Langley, Bodo Moeller (Google)] - *) Use type ossl_ssize_t instad of ssize_t which isn't available on + *) Use type ossl_ssize_t instead of ssize_t which isn't available on all platforms. Move ssize_t definition from e_os.h to the public header file e_os2.h as it now appears in public header file cms.h [Steve Henson] @@ -8373,7 +8440,7 @@ des-cbc 3624.96k 5258.21k 5530.91k *) New OCSP utility. Allows OCSP requests to be generated or read. The request can be sent to a responder and the output - parsed, outputed or printed in text form. Not complete yet: + parsed, outputted or printed in text form. Not complete yet: still needs to check the OCSP response validity. [Steve Henson] @@ -9368,7 +9435,7 @@ des-cbc 3624.96k 5258.21k 5530.91k [Andy Polyakov] *) Modified SSL library such that the verify_callback that has been set - specificly for an SSL object with SSL_set_verify() is actually being + specifically for an SSL object with SSL_set_verify() is actually being used. Before the change, a verify_callback set with this function was ignored and the verify_callback() set in the SSL_CTX at the time of the call was used. New function X509_STORE_CTX_set_verify_cb() introduced @@ -10485,10 +10552,10 @@ des-cbc 3624.96k 5258.21k 5530.91k as other interfaces in OpenSSL, like the BIO interface. NCONF_dump_* dump the internal storage of the configuration file, which is useful for debugging. All other functions take the same - arguments as the old CONF_* functions wth the exception of the + arguments as the old CONF_* functions with the exception of the first that must be a `CONF *' instead of a `LHASH *'. - To make it easer to use the new classes with the old CONF_* functions, + To make it easier to use the new classes with the old CONF_* functions, the function CONF_set_default_method is provided. [Richard Levitte] @@ -12331,7 +12398,7 @@ des-cbc 3624.96k 5258.21k 5530.91k than the old method: it now uses a modified version of Ulf's parser to read the ANSI prototypes in all header files (thus the old K&R definitions aren't needed for error creation any more) and do a better job of - translating function codes into names. The old 'ASN1 error code imbedded + translating function codes into names. The old 'ASN1 error code embedded in a comment' is no longer necessary and it doesn't use .err files which have now been deleted. Also the error code call doesn't have to appear all on one line (which resulted in some large lines...). @@ -12632,7 +12699,7 @@ des-cbc 3624.96k 5258.21k 5530.91k *) Add a useful kludge to allow package maintainers to specify compiler and other platforms details on the command line without having to patch the - Configure script everytime: One now can use ``perl Configure + Configure script every time: One now can use ``perl Configure :
'', i.e. platform ids are allowed to have details appended to them (separated by colons). This is treated as there would be a static pre-configured entry in Configure's %table under key with value Modified: stable/12/crypto/openssl/CONTRIBUTING ============================================================================== --- stable/12/crypto/openssl/CONTRIBUTING Fri Mar 20 21:06:58 2020 (r359185) +++ stable/12/crypto/openssl/CONTRIBUTING Fri Mar 20 21:43:08 2020 (r359186) @@ -58,7 +58,7 @@ guidelines: consider adding a note in CHANGES. This could be a summarising description of the change, and could explain the grander details. Have a look through existing entries for inspiration. - Please note that this is NOT simply a copy of git-log oneliners. + Please note that this is NOT simply a copy of git-log one-liners. Also note that security fixes get an entry in CHANGES. This file helps users get more in depth information of what comes with a specific release without having to sift through the higher Modified: stable/12/crypto/openssl/Configure ============================================================================== --- stable/12/crypto/openssl/Configure Fri Mar 20 21:06:58 2020 (r359185) +++ stable/12/crypto/openssl/Configure Fri Mar 20 21:43:08 2020 (r359186) @@ -1,6 +1,6 @@ #! /usr/bin/env perl # -*- mode: perl; -*- -# Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -69,7 +69,15 @@ my $usage="Usage: Configure [no- ...] [enable- # no-sse2 disables IA-32 SSE2 code in assembly modules, the above # mentioned '386' option implies this one # no- build without specified algorithm (rsa, idea, rc5, ...) -# - + compiler options are passed through +# - + All options which are unknown to the 'Configure' script are +# / passed through to the compiler. Unix-style options beginning +# with a '-' or '+' are recognized, as well as Windows-style +# options beginning with a '/'. If the option contains arguments +# separated by spaces, then the URL-style notation %20 can be +# used for the space character in order to avoid having to quote +# the option. For example, -opt%20arg gets expanded to -opt arg. +# In fact, any ASCII character can be encoded as %xx using its +# hexadecimal encoding. # -static while -static is also a pass-through compiler option (and # as such is limited to environments where it's actually # meaningful), it triggers a number configuration options, @@ -152,6 +160,10 @@ my @clang_devteam_warn = qw( -Wmissing-variable-declarations ); +my @cl_devteam_warn = qw( + /WX +); + # This adds backtrace information to the memory leak info. Is only used # when crypto-mdebug-backtrace is enabled. my $memleak_devteam_backtrace = "-rdynamic"; @@ -346,6 +358,7 @@ my @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -423,7 +436,6 @@ my %deprecated_disablables = ( "buf-freelists" => undef, "ripemd" => "rmd160", "ui" => "ui-console", - "dso" => "", # Empty string means we're silent about it ); # All of the following are disabled by default: @@ -480,6 +492,7 @@ my @disable_cascades = ( # Without position independent code, there can be no shared libraries or DSOs "pic" => [ "shared" ], "shared" => [ "dynamic-engine" ], + "dso" => [ "dynamic-engine" ], "engine" => [ "afalgeng", "devcryptoeng" ], # no-autoalginit is only useful when building non-shared @@ -520,7 +533,7 @@ while ((my $first, my $second) = (shift @list, shift @ &usage if ($#ARGV < 0); -# For the "make variables" CINCLUDES and CDEFINES, we support lists with +# For the "make variables" CPPINCLUDES and CPPDEFINES, we support lists with # platform specific list separators. Users from those platforms should # recognise those separators from how you set up the PATH to find executables. # The default is the Unix like separator, :, but as an exception, we also @@ -776,7 +789,7 @@ while (@argvcopy) { die "FIPS mode not supported\n"; } - elsif (/^[-+]/) + elsif (m|^[-+/]|) { if (/^--prefix=(.*)$/) { @@ -853,11 +866,11 @@ while (@argvcopy) { push @{$useradd{LDFLAGS}}, $_; } - elsif (/^-D(.*)$/) + elsif (m|^[-/]D(.*)$|) { push @{$useradd{CPPDEFINES}}, $1; } - elsif (/^-I(.*)$/) + elsif (m|^[-/]I(.*)$|) { push @{$useradd{CPPINCLUDES}}, $1; } @@ -867,11 +880,23 @@ while (@argvcopy) } else # common if (/^[-+]/), just pass down... { + # Treat %xx as an ASCII code (e.g. replace %20 by a space character). + # This provides a simple way to pass options with arguments separated + # by spaces without quoting (e.g. -opt%20arg translates to -opt arg). $_ =~ s/%([0-9a-f]{1,2})/chr(hex($1))/gei; push @{$useradd{CFLAGS}}, $_; push @{$useradd{CXXFLAGS}}, $_; } } + elsif (m|^/|) + { + # Treat %xx as an ASCII code (e.g. replace %20 by a space character). + # This provides a simple way to pass options with arguments separated + # by spaces without quoting (e.g. /opt%20arg translates to /opt arg). + $_ =~ s/%([0-9a-f]{1,2})/chr(hex($1))/gei; + push @{$useradd{CFLAGS}}, $_; + push @{$useradd{CXXFLAGS}}, $_; + } else { die "target already defined - $target (offending arg: $_)\n" if ($target ne ""); @@ -949,7 +974,11 @@ foreach (keys %user) { if (defined $value) { if (ref $user{$_} eq 'ARRAY') { - $user{$_} = [ split /$list_separator_re/, $value ]; + if ($_ eq 'CPPDEFINES' || $_ eq 'CPPINCLUDES') { + $user{$_} = [ split /$list_separator_re/, $value ]; + } else { + $user{$_} = [ $value ]; + } } elsif (!defined $user{$_}) { $user{$_} = $value; } @@ -1162,43 +1191,6 @@ foreach (keys %useradd) { # Allow overriding the build file name $config{build_file} = env('BUILDFILE') || $target{build_file} || "Makefile"; -my %disabled_info = (); # For configdata.pm -foreach my $what (sort keys %disabled) { - $config{options} .= " no-$what"; - - if (!grep { $what eq $_ } ( 'buildtest-c++', 'threads', 'shared', 'pic', - 'dynamic-engine', 'makedepend', - 'zlib-dynamic', 'zlib', 'sse2' )) { - (my $WHAT = uc $what) =~ s|-|_|g; - - # Fix up C macro end names - $WHAT = "RMD160" if $what eq "ripemd"; - - # fix-up crypto/directory name(s) - $what = "ripemd" if $what eq "rmd160"; - $what = "whrlpool" if $what eq "whirlpool"; - - my $macro = $disabled_info{$what}->{macro} = "OPENSSL_NO_$WHAT"; - - if ((grep { $what eq $_ } @{$config{sdirs}}) - && $what ne 'async' && $what ne 'err') { - @{$config{sdirs}} = grep { $what ne $_} @{$config{sdirs}}; - $disabled_info{$what}->{skipped} = [ catdir('crypto', $what) ]; - - if ($what ne 'engine') { - push @{$config{openssl_algorithm_defines}}, $macro; - } else { - @{$config{dirs}} = grep !/^engines$/, @{$config{dirs}}; - push @{$disabled_info{engine}->{skipped}}, catdir('engines'); - push @{$config{openssl_other_defines}}, $macro; - } - } else { - push @{$config{openssl_other_defines}}, $macro; - } - - } -} - # Make sure build_scheme is consistent. $target{build_scheme} = [ $target{build_scheme} ] if ref($target{build_scheme}) ne "ARRAY"; @@ -1288,10 +1280,8 @@ if ($target{shared_target} eq "") } if ($disabled{"dynamic-engine"}) { - push @{$config{openssl_other_defines}}, "OPENSSL_NO_DYNAMIC_ENGINE"; $config{dynamic_engines} = 0; } else { - push @{$config{openssl_other_defines}}, "OPENSSL_NO_STATIC_ENGINE"; $config{dynamic_engines} = 1; } @@ -1375,6 +1365,7 @@ unless ($disabled{asm}) { } if ($target{aes_asm_src}) { push @{$config{lib_defines}}, "AES_ASM" if ($target{aes_asm_src} =~ m/\baes-/);; + push @{$config{lib_defines}}, "AESNI_ASM" if ($target{aes_asm_src} =~ m/\baesni-/);; # aes-ctr.fake is not a real file, only indication that assembler # module implements AES_ctr32_encrypt... push @{$config{lib_defines}}, "AES_CTR_ASM" if ($target{aes_asm_src} =~ s/\s*aes-ctr\.fake//); @@ -1501,11 +1492,20 @@ if ($strict_warnings) my $wopt; my $gccver = $predefined_C{__GNUC__} // -1; - warn "WARNING --strict-warnings requires gcc[>=4] or gcc-alike" - unless $gccver >= 4; - push @strict_warnings_collection, @gcc_devteam_warn; - push @strict_warnings_collection, @clang_devteam_warn - if (defined($predefined_C{__clang__})); + if ($gccver >= 4) + { + push @strict_warnings_collection, @gcc_devteam_warn; + push @strict_warnings_collection, @clang_devteam_warn + if (defined($predefined_C{__clang__})); + } + elsif ($config{target} =~ /^VC-/) + { + push @strict_warnings_collection, @cl_devteam_warn; + } + else + { + warn "WARNING --strict-warnings requires gcc[>=4] or gcc-alike, or MSVC" + } } if (grep { $_ eq '-static' } @{$config{LDFLAGS}}) { @@ -1552,7 +1552,20 @@ unless ($disabled{afalgeng}) { } } -push @{$config{openssl_other_defines}}, "OPENSSL_NO_AFALGENG" if ($disabled{afalgeng}); +unless ($disabled{devcryptoeng}) { + if ($target =~ m/^BSD/) { + my $maxver = 5*100 + 7; + my $sysstr = `uname -s`; + my $verstr = `uname -r`; + $sysstr =~ s|\R$||; + $verstr =~ s|\R$||; + my ($ma, $mi, @rest) = split m|\.|, $verstr; + my $ver = $ma*100 + $mi; + if ($sysstr eq 'OpenBSD' && $ver >= $maxver) { + disable('too-new-kernel', 'devcryptoeng'); + } + } +} # Get the extra flags used when building shared libraries and modules. We # do this late because some of them depend on %disabled. @@ -1596,6 +1609,49 @@ $target{module_ldflags} = $target{shared_ldflag} unles } # ALL MODIFICATIONS TO %disabled, %config and %target MUST BE DONE FROM HERE ON + +my %disabled_info = (); # For configdata.pm +foreach my $what (sort keys %disabled) { + $config{options} .= " no-$what"; + + if (!grep { $what eq $_ } ( 'buildtest-c++', 'threads', 'shared', 'pic', + 'dynamic-engine', 'makedepend', + 'zlib-dynamic', 'zlib', 'sse2' )) { + (my $WHAT = uc $what) =~ s|-|_|g; + + # Fix up C macro end names + $WHAT = "RMD160" if $what eq "ripemd"; + + # fix-up crypto/directory name(s) + $what = "ripemd" if $what eq "rmd160"; + $what = "whrlpool" if $what eq "whirlpool"; + + my $macro = $disabled_info{$what}->{macro} = "OPENSSL_NO_$WHAT"; + + if ((grep { $what eq $_ } @{$config{sdirs}}) + && $what ne 'async' && $what ne 'err' && $what ne 'dso') { + @{$config{sdirs}} = grep { $what ne $_} @{$config{sdirs}}; + $disabled_info{$what}->{skipped} = [ catdir('crypto', $what) ]; + + if ($what ne 'engine') { + push @{$config{openssl_algorithm_defines}}, $macro; + } else { + @{$config{dirs}} = grep !/^engines$/, @{$config{dirs}}; + push @{$disabled_info{engine}->{skipped}}, catdir('engines'); + push @{$config{openssl_other_defines}}, $macro; + } + } else { + push @{$config{openssl_other_defines}}, $macro; + } + + } +} + +if ($disabled{"dynamic-engine"}) { + push @{$config{openssl_other_defines}}, "OPENSSL_NO_DYNAMIC_ENGINE"; +} else { + push @{$config{openssl_other_defines}}, "OPENSSL_NO_STATIC_ENGINE"; +} # If we use the unified build, collect information from build.info files my %unified_info = (); Modified: stable/12/crypto/openssl/INSTALL ============================================================================== --- stable/12/crypto/openssl/INSTALL Fri Mar 20 21:06:58 2020 (r359185) +++ stable/12/crypto/openssl/INSTALL Fri Mar 20 21:43:08 2020 (r359186) @@ -351,6 +351,9 @@ Don't build support for datagram based BIOs. Selecting this option will also force the disabling of DTLS. + no-dso + Don't build support for loading Dynamic Shared Objects. + enable-devcryptoeng Build the /dev/crypto engine. It is automatically selected on BSD implementations, in which case it can be disabled with @@ -605,11 +608,20 @@ Take note of the VAR=value documentation below and how these flags interact with those variables. - -xxx, +xxx + -xxx, +xxx, /xxx Additional options that are not otherwise recognised are - passed through as they are to the compiler as well. Again, - consult your compiler documentation. + passed through as they are to the compiler as well. + Unix-style options beginning with a '-' or '+' and + Windows-style options beginning with a '/' are recognized. + Again, consult your compiler documentation. + If the option contains arguments separated by spaces, + then the URL-style notation %20 can be used for the space + character in order to avoid having to quote the option. + For example, -opt%20arg gets expanded to -opt arg. + In fact, any ASCII character can be encoded as %xx using its + hexadecimal encoding. + Take note of the VAR=value documentation below and how these flags interact with those variables. @@ -1071,7 +1083,7 @@ HASHBANGPERL The command string for the Perl executable to insert in the - #! line of perl scripts that will be publically installed. + #! line of perl scripts that will be publicly installed. Default: /usr/bin/env perl Note: the value of this variable is added to the same scripts on all platforms, but it's only relevant on Unix-like platforms. Modified: stable/12/crypto/openssl/NEWS ============================================================================== --- stable/12/crypto/openssl/NEWS Fri Mar 20 21:06:58 2020 (r359185) +++ stable/12/crypto/openssl/NEWS Fri Mar 20 21:43:08 2020 (r359186) @@ -5,6 +5,11 @@ This file gives a brief overview of the major changes between each OpenSSL release. For more details please read the CHANGES file. + Major changes between OpenSSL 1.1.1d and OpenSSL 1.1.1e [17 Mar 2020] + + o Fixed an overflow bug in the x64_64 Montgomery squaring procedure + used in exponentiation with 512-bit moduli (CVE-2019-1551) + Major changes between OpenSSL 1.1.1c and OpenSSL 1.1.1d [10 Sep 2019] o Fixed a fork protection issue (CVE-2019-1549) Modified: stable/12/crypto/openssl/README ============================================================================== --- stable/12/crypto/openssl/README Fri Mar 20 21:06:58 2020 (r359185) +++ stable/12/crypto/openssl/README Fri Mar 20 21:43:08 2020 (r359186) @@ -1,5 +1,5 @@ - OpenSSL 1.1.1d 10 Sep 2019 + OpenSSL 1.1.1e 17 Mar 2020 Copyright (c) 1998-2019 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson Modified: stable/12/crypto/openssl/apps/apps.c ============================================================================== --- stable/12/crypto/openssl/apps/apps.c Fri Mar 20 21:06:58 2020 (r359185) +++ stable/12/crypto/openssl/apps/apps.c Fri Mar 20 21:43:08 2020 (r359186) @@ -1962,26 +1962,46 @@ unsigned char *next_protos_parse(size_t *outlen, const size_t len; unsigned char *out; size_t i, start = 0; + size_t skipped = 0; len = strlen(in); - if (len >= 65535) + if (len == 0 || len >= 65535) return NULL; - out = app_malloc(strlen(in) + 1, "NPN buffer"); + out = app_malloc(len + 1, "NPN buffer"); for (i = 0; i <= len; ++i) { if (i == len || in[i] == ',') { + /* + * Zero-length ALPN elements are invalid on the wire, we could be + * strict and reject the entire string, but just ignoring extra + * commas seems harmless and more friendly. + * + * Every comma we skip in this way puts the input buffer another + * byte ahead of the output buffer, so all stores into the output + * buffer need to be decremented by the number commas skipped. + */ + if (i == start) { + ++start; + ++skipped; + continue; + } if (i - start > 255) { OPENSSL_free(out); return NULL; } - out[start] = (unsigned char)(i - start); + out[start-skipped] = (unsigned char)(i - start); start = i + 1; } else { - out[i + 1] = in[i]; + out[i + 1 - skipped] = in[i]; } } - *outlen = len + 1; + if (len <= skipped) { + OPENSSL_free(out); + return NULL; + } + + *outlen = len + 1 - skipped; return out; } Modified: stable/12/crypto/openssl/apps/apps.h ============================================================================== --- stable/12/crypto/openssl/apps/apps.h Fri Mar 20 21:06:58 2020 (r359185) +++ stable/12/crypto/openssl/apps/apps.h Fri Mar 20 21:43:08 2020 (r359186) @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_APPS_H -# define HEADER_APPS_H +#ifndef OSSL_APPS_H +# define OSSL_APPS_H # include "e_os.h" /* struct timeval for DTLS */ # include "internal/nelem.h" Modified: stable/12/crypto/openssl/apps/dgst.c ============================================================================== --- stable/12/crypto/openssl/apps/dgst.c Fri Mar 20 21:06:58 2020 (r359185) +++ stable/12/crypto/openssl/apps/dgst.c Fri Mar 20 21:43:08 2020 (r359186) @@ -19,6 +19,7 @@ #include #include #include +#include #undef BUFSIZE #define BUFSIZE 1024*8 @@ -27,9 +28,15 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int s EVP_PKEY *key, unsigned char *sigin, int siglen, const char *sig_name, const char *md_name, const char *file); +static void show_digests(const OBJ_NAME *name, void *bio_); +struct doall_dgst_digests { + BIO *bio; + int n; +}; + typedef enum OPTION_choice { - OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, + OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_LIST, OPT_C, OPT_R, OPT_OUT, OPT_SIGN, OPT_PASSIN, OPT_VERIFY, OPT_PRVERIFY, OPT_SIGNATURE, OPT_KEYFORM, OPT_ENGINE, OPT_ENGINE_IMPL, OPT_HEX, OPT_BINARY, OPT_DEBUG, OPT_FIPS_FINGERPRINT, @@ -43,6 +50,7 @@ const OPTIONS dgst_options[] = { {OPT_HELP_STR, 1, '-', " file... files to digest (default is stdin)\n"}, {"help", OPT_HELP, '-', "Display this summary"}, + {"list", OPT_LIST, '-', "List digests"}, {"c", OPT_C, '-', "Print the digest with separating colons"}, {"r", OPT_R, '-', "Print the digest in coreutils format"}, {"out", OPT_OUT, '>', "Output to filename rather than stdout"}, @@ -91,6 +99,7 @@ int dgst_main(int argc, char **argv) int i, ret = 1, out_bin = -1, want_pub = 0, do_verify = 0; unsigned char *buf = NULL, *sigbuf = NULL; int engine_impl = 0; + struct doall_dgst_digests dec; prog = opt_progname(argv[0]); buf = app_malloc(BUFSIZE, "I/O buffer"); @@ -108,6 +117,15 @@ int dgst_main(int argc, char **argv) opt_help(dgst_options); ret = 0; goto end; + case OPT_LIST: + BIO_printf(bio_out, "Supported digests:\n"); + dec.bio = bio_out; + dec.n = 0; + OBJ_NAME_do_all_sorted(OBJ_NAME_TYPE_MD_METH, + show_digests, &dec); + BIO_printf(bio_out, "\n"); + ret = 0; + goto end; case OPT_C: separator = 1; break; @@ -413,20 +431,86 @@ int dgst_main(int argc, char **argv) return ret; } +static void show_digests(const OBJ_NAME *name, void *arg) +{ + struct doall_dgst_digests *dec = (struct doall_dgst_digests *)arg; + const EVP_MD *md = NULL; + + /* Filter out signed digests (a.k.a signature algorithms) */ + if (strstr(name->name, "rsa") != NULL || strstr(name->name, "RSA") != NULL) + return; + + if (!islower((unsigned char)*name->name)) + return; + + /* Filter out message digests that we cannot use */ + md = EVP_get_digestbyname(name->name); + if (md == NULL) + return; + + BIO_printf(dec->bio, "-%-25s", name->name); + if (++dec->n == 3) { + BIO_printf(dec->bio, "\n"); + dec->n = 0; + } else { + BIO_printf(dec->bio, " "); + } +} + +/* + * The newline_escape_filename function performs newline escaping for any + * filename that contains a newline. This function also takes a pointer + * to backslash. The backslash pointer is a flag to indicating whether a newline + * is present in the filename. If a newline is present, the backslash flag is + * set and the output format will contain a backslash at the beginning of the + * digest output. This output format is to replicate the output format found + * in the '*sum' checksum programs. This aims to preserve backward + * compatibility. + */ +static const char *newline_escape_filename(const char *file, int * backslash) +{ + size_t i, e = 0, length = strlen(file), newline_count = 0, mem_len = 0; + char *file_cpy = NULL; + + for (i = 0; i < length; i++) + if (file[i] == '\n') + newline_count++; + + mem_len = length + newline_count + 1; + file_cpy = app_malloc(mem_len, file); + i = 0; + + while(e < length) { + const char c = file[e]; + if (c == '\n') { + file_cpy[i++] = '\\'; + file_cpy[i++] = 'n'; + *backslash = 1; + } else { + file_cpy[i++] = c; + } + e++; + } + file_cpy[i] = '\0'; + return (const char*)file_cpy; +} + + int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout, EVP_PKEY *key, unsigned char *sigin, int siglen, const char *sig_name, const char *md_name, const char *file) { - size_t len; - int i; + size_t len = BUFSIZE; + int i, backslash = 0, ret = 1; + unsigned char *sigbuf = NULL; while (BIO_pending(bp) || !BIO_eof(bp)) { i = BIO_read(bp, (char *)buf, BUFSIZE); if (i < 0) { BIO_printf(bio_err, "Read Error in %s\n", file); ERR_print_errors(bio_err); - return 1; + goto end; } if (i == 0) break; @@ -439,37 +523,51 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int s BIO_printf(out, "Verified OK\n"); } else if (i == 0) { BIO_printf(out, "Verification Failure\n"); - return 1; + goto end; } else { BIO_printf(bio_err, "Error Verifying Data\n"); ERR_print_errors(bio_err); - return 1; + goto end; } - return 0; + ret = 0; + goto end; } if (key != NULL) { EVP_MD_CTX *ctx; + int pkey_len; BIO_get_md_ctx(bp, &ctx); - len = BUFSIZE; + pkey_len = EVP_PKEY_size(key); + if (pkey_len > BUFSIZE) { + len = pkey_len; + sigbuf = app_malloc(len, "Signature buffer"); + buf = sigbuf; + } if (!EVP_DigestSignFinal(ctx, buf, &len)) { BIO_printf(bio_err, "Error Signing Data\n"); ERR_print_errors(bio_err); - return 1; + goto end; } } else { len = BIO_gets(bp, (char *)buf, BUFSIZE); if ((int)len < 0) { ERR_print_errors(bio_err); - return 1; + goto end; } } if (binout) { BIO_write(out, buf, len); } else if (sep == 2) { + file = newline_escape_filename(file, &backslash); + + if (backslash == 1) + BIO_puts(out, "\\"); + for (i = 0; i < (int)len; i++) BIO_printf(out, "%02x", buf[i]); + BIO_printf(out, " *%s\n", file); + OPENSSL_free((char *)file); } else { if (sig_name != NULL) { BIO_puts(out, sig_name); @@ -488,5 +586,11 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int s } BIO_printf(out, "\n"); } - return 0; + + ret = 0; + end: + if (sigbuf != NULL) + OPENSSL_clear_free(sigbuf, len); + + return ret; } Modified: stable/12/crypto/openssl/apps/enc.c ============================================================================== --- stable/12/crypto/openssl/apps/enc.c Fri Mar 20 21:06:58 2020 (r359185) +++ stable/12/crypto/openssl/apps/enc.c Fri Mar 20 21:43:08 2020 (r359186) @@ -50,7 +50,8 @@ typedef enum OPTION_choice { const OPTIONS enc_options[] = { {"help", OPT_HELP, '-', "Display this summary"}, - {"ciphers", OPT_LIST, '-', "List ciphers"}, + {"list", OPT_LIST, '-', "List ciphers"}, + {"ciphers", OPT_LIST, '-', "Alias for -list"}, {"in", OPT_IN, '<', "Input file"}, {"out", OPT_OUT, '>', "Output file"}, {"pass", OPT_PASS, 's', "Passphrase source"}, Modified: stable/12/crypto/openssl/apps/ocsp.c ============================================================================== --- stable/12/crypto/openssl/apps/ocsp.c Fri Mar 20 21:06:58 2020 (r359185) +++ stable/12/crypto/openssl/apps/ocsp.c Fri Mar 20 21:43:08 2020 (r359186) @@ -114,7 +114,7 @@ static int acfd = (int) INVALID_SOCKET; static int index_changed(CA_DB *); static void spawn_loop(void); static int print_syslog(const char *str, size_t len, void *levPtr); -static void sock_timeout(int signum); +static void socket_timeout(int signum); # endif # ifndef OPENSSL_NO_SOCK @@ -597,7 +597,7 @@ int ocsp_main(int argc, char **argv) if (multi && acbio != NULL) spawn_loop(); if (acbio != NULL && req_timeout > 0) - signal(SIGALRM, sock_timeout); + signal(SIGALRM, socket_timeout); #endif if (acbio != NULL) @@ -1352,7 +1352,7 @@ static int urldecode(char *p) # endif # ifdef OCSP_DAEMON -static void sock_timeout(int signum) +static void socket_timeout(int signum) { if (acfd != (int)INVALID_SOCKET) (void)shutdown(acfd, SHUT_RD); Modified: stable/12/crypto/openssl/apps/openssl.c ============================================================================== --- stable/12/crypto/openssl/apps/openssl.c Fri Mar 20 21:06:58 2020 (r359185) +++ stable/12/crypto/openssl/apps/openssl.c Fri Mar 20 21:43:08 2020 (r359186) @@ -164,6 +164,13 @@ int main(int argc, char *argv[]) } prog = prog_init(); + if (prog == NULL) { + BIO_printf(bio_err, + "FATAL: Startup failure (dev note: prog_init() failed)\n"); + ERR_print_errors(bio_err); + ret = 1; + goto end; + } pname = opt_progname(argv[0]); /* first check the program name */ Modified: stable/12/crypto/openssl/apps/passwd.c ============================================================================== --- stable/12/crypto/openssl/apps/passwd.c Fri Mar 20 21:06:58 2020 (r359185) +++ stable/12/crypto/openssl/apps/passwd.c Fri Mar 20 21:43:08 2020 (r359186) @@ -807,7 +807,7 @@ static int do_passwd(int passed_salt, char **salt_p, c (*salt_p)[i] = cov_2char[(*salt_p)[i] & 0x3f]; /* 6 bits */ (*salt_p)[i] = 0; # ifdef CHARSET_EBCDIC - /* The password encryption funtion will convert back to ASCII */ + /* The password encryption function will convert back to ASCII */ ascii2ebcdic(*salt_p, *salt_p, saltlen); # endif } Modified: stable/12/crypto/openssl/apps/pkcs12.c ============================================================================== --- stable/12/crypto/openssl/apps/pkcs12.c Fri Mar 20 21:06:58 2020 (r359185) +++ stable/12/crypto/openssl/apps/pkcs12.c Fri Mar 20 21:43:08 2020 (r359186) @@ -41,6 +41,7 @@ int dump_certs_pkeys_bags(BIO *out, const STACK_OF(PKC int dump_certs_pkeys_bag(BIO *out, const PKCS12_SAFEBAG *bags, const char *pass, int passlen, int options, char *pempass, const EVP_CIPHER *enc); +void print_attribute(BIO *out, const ASN1_TYPE *av); int print_attribs(BIO *out, const STACK_OF(X509_ATTRIBUTE) *attrlst, const char *name); void hex_prin(BIO *out, unsigned char *buf, int len); @@ -878,6 +879,38 @@ int cert_load(BIO *in, STACK_OF(X509) *sk) return ret; } +/* Generalised x509 attribute value print */ + +void print_attribute(BIO *out, const ASN1_TYPE *av) +{ + char *value; + + switch (av->type) { + case V_ASN1_BMPSTRING: + value = OPENSSL_uni2asc(av->value.bmpstring->data, + av->value.bmpstring->length); + BIO_printf(out, "%s\n", value); + OPENSSL_free(value); + break; + + case V_ASN1_OCTET_STRING: + hex_prin(out, av->value.octet_string->data, + av->value.octet_string->length); + BIO_printf(out, "\n"); + break; + + case V_ASN1_BIT_STRING: + hex_prin(out, av->value.bit_string->data, + av->value.bit_string->length); + BIO_printf(out, "\n"); + break; + + default: + BIO_printf(out, "\n", av->type); + break; + } +} + /* Generalised attribute print: handle PKCS#8 and bag attributes */ int print_attribs(BIO *out, const STACK_OF(X509_ATTRIBUTE) *attrlst, @@ -885,8 +918,7 @@ int print_attribs(BIO *out, const STACK_OF(X509_ATTRIB { X509_ATTRIBUTE *attr; ASN1_TYPE *av; - char *value; - int i, attr_nid; + int i, j, attr_nid; if (!attrlst) { BIO_printf(out, "%s: \n", name); return 1; @@ -910,30 +942,10 @@ int print_attribs(BIO *out, const STACK_OF(X509_ATTRIB } if (X509_ATTRIBUTE_count(attr)) { - av = X509_ATTRIBUTE_get0_type(attr, 0); - switch (av->type) { - case V_ASN1_BMPSTRING: - value = OPENSSL_uni2asc(av->value.bmpstring->data, - av->value.bmpstring->length); - BIO_printf(out, "%s\n", value); - OPENSSL_free(value); - break; - - case V_ASN1_OCTET_STRING: - hex_prin(out, av->value.octet_string->data, - av->value.octet_string->length); - BIO_printf(out, "\n"); - break; - - case V_ASN1_BIT_STRING: - hex_prin(out, av->value.bit_string->data, - av->value.bit_string->length); - BIO_printf(out, "\n"); - break; - - default: - BIO_printf(out, "\n", av->type); - break; + for (j = 0; j < X509_ATTRIBUTE_count(attr); j++) + { + av = X509_ATTRIBUTE_get0_type(attr, j); + print_attribute(out, av); } } else { BIO_printf(out, "\n"); Modified: stable/12/crypto/openssl/apps/pkeyutl.c ============================================================================== --- stable/12/crypto/openssl/apps/pkeyutl.c Fri Mar 20 21:06:58 2020 (r359185) +++ stable/12/crypto/openssl/apps/pkeyutl.c Fri Mar 20 21:43:08 2020 (r359186) @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -299,8 +299,7 @@ int pkeyutl_main(int argc, char **argv) /* Sanity check the input */ if (buf_inlen > EVP_MAX_MD_SIZE && (pkey_op == EVP_PKEY_OP_SIGN - || pkey_op == EVP_PKEY_OP_VERIFY - || pkey_op == EVP_PKEY_OP_VERIFYRECOVER)) { + || pkey_op == EVP_PKEY_OP_VERIFY)) { BIO_printf(bio_err, "Error: The input data looks too long to be a hash\n"); goto end; Modified: stable/12/crypto/openssl/apps/req.c ============================================================================== --- stable/12/crypto/openssl/apps/req.c Fri Mar 20 21:06:58 2020 (r359185) +++ stable/12/crypto/openssl/apps/req.c Fri Mar 20 21:43:08 2020 (r359186) @@ -200,9 +200,12 @@ static int duplicated(LHASH_OF(OPENSSL_STRING) *addext *p = '\0'; /* Finally have a clean "key"; see if it's there [by attempt to add it]. */ - if ((p = (char *)lh_OPENSSL_STRING_insert(addexts, (OPENSSL_STRING*)kv)) - != NULL || lh_OPENSSL_STRING_error(addexts)) { - OPENSSL_free(p != NULL ? p : kv); + p = (char *)lh_OPENSSL_STRING_insert(addexts, (OPENSSL_STRING*)kv); + if (p != NULL) { + OPENSSL_free(p); + return 1; + } else if (lh_OPENSSL_STRING_error(addexts)) { + OPENSSL_free(kv); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Fri Mar 20 23:26:38 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3C078275D47; Fri, 20 Mar 2020 23:26:38 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kfzy0pS9z42Yr; Fri, 20 Mar 2020 23:26:38 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1330F346C; Fri, 20 Mar 2020 23:26:38 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02KNQbEW029972; Fri, 20 Mar 2020 23:26:37 GMT (envelope-from scottl@FreeBSD.org) Received: (from scottl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02KNQbwH029971; Fri, 20 Mar 2020 23:26:37 GMT (envelope-from scottl@FreeBSD.org) Message-Id: <202003202326.02KNQbwH029971@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: scottl set sender to scottl@FreeBSD.org using -f From: Scott Long Date: Fri, 20 Mar 2020 23:26:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359187 - head/usr.sbin/pciconf X-SVN-Group: head X-SVN-Commit-Author: scottl X-SVN-Commit-Paths: head/usr.sbin/pciconf X-SVN-Commit-Revision: 359187 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 23:26:38 -0000 Author: scottl Date: Fri Mar 20 23:26:37 2020 New Revision: 359187 URL: https://svnweb.freebsd.org/changeset/base/359187 Log: When printing out the contents of the VSEC, include the contents of the headers. Device documentation often times give offsets relative to the start of the entire VSEC, not just the post-header data area, so this change makes it easier to correlate offsets. Modified: head/usr.sbin/pciconf/cap.c Modified: head/usr.sbin/pciconf/cap.c ============================================================================== --- head/usr.sbin/pciconf/cap.c Fri Mar 20 21:43:08 2020 (r359186) +++ head/usr.sbin/pciconf/cap.c Fri Mar 20 23:26:37 2020 (r359187) @@ -898,13 +898,15 @@ ecap_vendor(int fd, struct pci_conf *p, uint16_t ptr, if ((ver < 1) || (cap_level <= 1)) return; for (i = 0; i < len; i += 4) { - val = read_config(fd, &p->pc_sel, ptr + PCIR_VSEC_DATA + i, 4); + val = read_config(fd, &p->pc_sel, ptr + i, 4); if ((i % 16) == 0) printf(" "); - printf("%02x %02x %02x %02x ", val & 0xff, (val >> 8) & 0xff, + printf("%02x %02x %02x %02x", val & 0xff, (val >> 8) & 0xff, (val >> 16) & 0xff, (val >> 24) & 0xff); if ((((i + 4) % 16) == 0 ) || ((i + 4) >= len)) printf("\n"); + else + printf(" "); } } From owner-svn-src-all@freebsd.org Sat Mar 21 00:00:15 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 57585276FF4; Sat, 21 Mar 2020 00:00:15 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kgkl0tNZz3DSK; Sat, 21 Mar 2020 00:00:14 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-8.local (unknown [IPv6:2601:648:8881:1e90:39af:f9a6:77c9:135b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 5959C2F79C; Sat, 21 Mar 2020 00:00:14 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: svn commit: r357614 - in head/sys: kern sys To: Pawel Biernacki , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202002061245.016CjwTi096374@repo.freebsd.org> From: John Baldwin Autocrypt: addr=jhb@FreeBSD.org; keydata= mQGiBETQ+XcRBADMFybiq69u+fJRy/0wzqTNS8jFfWaBTs5/OfcV7wWezVmf9sgwn8TW0Dk0 c9MBl0pz+H01dA2ZSGZ5fXlmFIsee1WEzqeJzpiwd/pejPgSzXB9ijbLHZ2/E0jhGBcVy5Yo /Tw5+U/+laeYKu2xb0XPvM0zMNls1ah5OnP9a6Ql6wCgupaoMySb7DXm2LHD1Z9jTsHcAQMD /1jzh2BoHriy/Q2s4KzzjVp/mQO5DSm2z14BvbQRcXU48oAosHA1u3Wrov6LfPY+0U1tG47X 1BGfnQH+rNAaH0livoSBQ0IPI/8WfIW7ub4qV6HYwWKVqkDkqwcpmGNDbz3gfaDht6nsie5Z pcuCcul4M9CW7Md6zzyvktjnbz61BADGDCopfZC4of0Z3Ka0u8Wik6UJOuqShBt1WcFS8ya1 oB4rc4tXfSHyMF63aPUBMxHR5DXeH+EO2edoSwViDMqWk1jTnYza51rbGY+pebLQOVOxAY7k do5Ordl3wklBPMVEPWoZ61SdbcjhHVwaC5zfiskcxj5wwXd2E9qYlBqRg7QeSm9obiBCYWxk d2luIDxqaGJARnJlZUJTRC5vcmc+iGAEExECACAFAkTQ+awCGwMGCwkIBwMCBBUCCAMEFgID AQIeAQIXgAAKCRBy3lIGd+N/BI6RAJ9S97fvbME+3hxzE3JUyUZ6vTewDACdE1stFuSfqMvM jomvZdYxIYyTUpC5Ag0ERND5ghAIAPwsO0B7BL+bz8sLlLoQktGxXwXQfS5cInvL17Dsgnr3 1AKa94j9EnXQyPEj7u0d+LmEe6CGEGDh1OcGFTMVrof2ZzkSy4+FkZwMKJpTiqeaShMh+Goj XlwIMDxyADYvBIg3eN5YdFKaPQpfgSqhT+7El7w+wSZZD8pPQuLAnie5iz9C8iKy4/cMSOrH YUK/tO+Nhw8Jjlw94Ik0T80iEhI2t+XBVjwdfjbq3HrJ0ehqdBwukyeJRYKmbn298KOFQVHO EVbHA4rF/37jzaMadK43FgJ0SAhPPF5l4l89z5oPu0b/+5e2inA3b8J3iGZxywjM+Csq1tqz hltEc7Q+E08AAwUIAL+15XH8bPbjNJdVyg2CMl10JNW2wWg2Q6qdljeaRqeR6zFus7EZTwtX sNzs5bP8y51PSUDJbeiy2RNCNKWFMndM22TZnk3GNG45nQd4OwYK0RZVrikalmJY5Q6m7Z16 4yrZgIXFdKj2t8F+x613/SJW1lIr9/bDp4U9tw0V1g3l2dFtD3p3ZrQ3hpoDtoK70ioIAjjH aIXIAcm3FGZFXy503DOA0KaTWwvOVdYCFLm3zWuSOmrX/GsEc7ovasOWwjPn878qVjbUKWwx Q4QkF4OhUV9zPtf9tDSAZ3x7QSwoKbCoRCZ/xbyTUPyQ1VvNy/mYrBcYlzHodsaqUDjHuW+I SQQYEQIACQUCRND5ggIbDAAKCRBy3lIGd+N/BCO8AJ9j1dWVQWxw/YdTbEyrRKOY8YZNwwCf afMAg8QvmOWnHx3wl8WslCaXaE8= Message-ID: <8b55858a-ff7a-fd7d-a425-a9543f484be7@FreeBSD.org> Date: Fri, 20 Mar 2020 17:00:13 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <202002061245.016CjwTi096374@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2020 00:00:15 -0000 On 2/6/20 4:45 AM, Pawel Biernacki wrote: > Author: kaktus > Date: Thu Feb 6 12:45:58 2020 > New Revision: 357614 > URL: https://svnweb.freebsd.org/changeset/base/357614 > > Log: > sysctl(9): add CTLFLAG_NEEDGIANT flag > > Add CTLFLAG_NEEDGIANT flag (modelled after D_NEEDGIANT) that will be used to > mark sysctls that still require locking Giant. > > Rewrite sysctl_handle_string() to use internal locking instead of locking > Giant. This broke CTLFLAG_RDTUN strings such as hw.cxgbe.config_file. This is supposed to be writable by setting the associated environment variable via loader.conf or kenv: >From sys/dev/cxgbe/t4_main.c: /* * Configuration file. All the _CF names here are special. */ #define DEFAULT_CF "default" #define BUILTIN_CF "built-in" #define FLASH_CF "flash" #define UWIRE_CF "uwire" #define FPGA_CF "fpga" static char t4_cfg_file[32] = DEFAULT_CF; SYSCTL_STRING(_hw_cxgbe, OID_AUTO, config_file, CTLFLAG_RDTUN, t4_cfg_file, sizeof(t4_cfg_file), "Firmware configuration file"); However, CTLFLAG_RDTUN does not include CTLFLAG_WR, so when the kernel attempts to "write" to this node (the "TUN" part) to apply the associated kenv variable when loading the kernel module, your changes here now treat it as a ro_string and set 'arg2' to the length of the actual string. In my case I was setting the value to a longer string that still fit in the allocated space, and the value now fails to set giving me the following error on the console: Setting sysctl hw.cxgbe.config_file failed: 22 You can reproduce by doing the following: # kenv hw.cxgbe.config_file="kern_tls" # kldload if_cxgbe That should give you the error, and then checking the hw.cxgbe.config_file sysctl afterwards will show "default" instead of "kern_tls". Note that you don't need any cxgbe hardware to reproduce this as a fix would result in the value of the sysctl after the kldload being "kern_tls". -- John Baldwin From owner-svn-src-all@freebsd.org Sat Mar 21 00:01:08 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2A7342770E3; Sat, 21 Mar 2020 00:01:08 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kgll68Cwz3F1n; Sat, 21 Mar 2020 00:01:07 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2DC7C3DDE; Sat, 21 Mar 2020 00:01:07 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02L017o6048961; Sat, 21 Mar 2020 00:01:07 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02L0176J048960; Sat, 21 Mar 2020 00:01:07 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202003210001.02L0176J048960@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sat, 21 Mar 2020 00:01:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359188 - head/share/mk X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 359188 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2020 00:01:08 -0000 Author: imp Date: Sat Mar 21 00:01:06 2020 New Revision: 359188 URL: https://svnweb.freebsd.org/changeset/base/359188 Log: Redo r359164 now that it's baked : Eliminate misuse of $MACHINE for userland things. Use TARGET_ARCH and/or MACHINE_ARCH exclusively. Change all __TT uses to __T with appropriate translations. MACHINE/TARGET is to be used only for kernel things, and this fixes the last few stragglers. Modified: head/share/mk/src.opts.mk Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Fri Mar 20 23:26:37 2020 (r359187) +++ head/share/mk/src.opts.mk Sat Mar 21 00:01:06 2020 (r359188) @@ -256,11 +256,6 @@ __T=${TARGET_ARCH} .else __T=${MACHINE_ARCH} .endif -.if defined(TARGET) -__TT=${TARGET} -.else -__TT=${MACHINE} -.endif # All supported backends for LLVM_TARGET_XXX __LLVM_TARGETS= \ @@ -270,13 +265,13 @@ __LLVM_TARGETS= \ powerpc \ riscv \ x86 -__LLVM_TARGET_FILT= C/(amd64|i386)/x86/:S/arm64/aarch64/:S/powerpc64/powerpc/ +__LLVM_TARGET_FILT= C/(amd64|i386)/x86/:C/powerpc.*/powerpc/:C/armv[67]/arm/:C/riscv.*/riscv/:C/mips.*/mips/ .for __llt in ${__LLVM_TARGETS} # Default enable the given TARGET's LLVM_TARGET support -.if ${__TT:${__LLVM_TARGET_FILT}} == ${__llt} +.if ${__T:${__LLVM_TARGET_FILT}} == ${__llt} __DEFAULT_YES_OPTIONS+= LLVM_TARGET_${__llt:${__LLVM_TARGET_FILT}:tu} # aarch64 needs arm for -m32 support. -.elif ${__TT} == "arm64" && ${__llt} == "arm" +.elif ${__T} == "aarch64" && ${__llt:Marm*} != "" __DEFAULT_DEPENDENT_OPTIONS+= LLVM_TARGET_ARM/LLVM_TARGET_AARCH64 # Default the rest of the LLVM_TARGETs to the value of MK_LLVM_TARGET_ALL. .else @@ -288,7 +283,7 @@ __DEFAULT_NO_OPTIONS+=LLVM_TARGET_BPF .include -.if ${__TT} != "mips" +.if ${__T:Mmips*} == "" # Clang is installed as the default /usr/bin/cc. __DEFAULT_YES_OPTIONS+=CLANG_BOOTSTRAP CLANG_IS_CC .else @@ -307,7 +302,7 @@ __DEFAULT_NO_OPTIONS+=BINUTILS_BOOTSTRAP .if ${__T:Mriscv*} != "" BROKEN_OPTIONS+=OFED .endif -.if ${__TT} != "mips" && ${__T} != "powerpc" && ${__T} != "powerpcspe" +.if ${__T:Mmips*} != "mips" && ${__T} != "powerpc" && ${__T} != "powerpcspe" __DEFAULT_YES_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD .else __DEFAULT_NO_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD From owner-svn-src-all@freebsd.org Sat Mar 21 00:08:34 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 37F812773CD; Sat, 21 Mar 2020 00:08:34 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kgwK6VZlz3Nq3; Sat, 21 Mar 2020 00:08:33 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8CA303E92; Sat, 21 Mar 2020 00:08:33 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02L08Xf5054010; Sat, 21 Mar 2020 00:08:33 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02L08XIw054009; Sat, 21 Mar 2020 00:08:33 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003210008.02L08XIw054009@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 21 Mar 2020 00:08:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359189 - head/contrib/elftoolchain/readelf X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/contrib/elftoolchain/readelf X-SVN-Commit-Revision: 359189 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2020 00:08:34 -0000 Author: emaste Date: Sat Mar 21 00:08:33 2020 New Revision: 359189 URL: https://svnweb.freebsd.org/changeset/base/359189 Log: readelf: simplify Xen string note printing Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D24140 Modified: head/contrib/elftoolchain/readelf/readelf.c Modified: head/contrib/elftoolchain/readelf/readelf.c ============================================================================== --- head/contrib/elftoolchain/readelf/readelf.c Sat Mar 21 00:01:06 2020 (r359188) +++ head/contrib/elftoolchain/readelf/readelf.c Sat Mar 21 00:08:33 2020 (r359189) @@ -3676,37 +3676,45 @@ static struct flag_desc note_feature_ctl_flags[] = { { 0, NULL } }; -static void +static bool dump_note_string(const char *description, const char *s, size_t len) { size_t i; - int printable = 1; if (len == 0 || s[--len] != '\0') { - printable = 0; + return (false); } else { - for (i = 0; i < len; i++) { - if (!isprint(s[i])) { - printable = 0; - break; - } - } - } - - if (printable) { - printf(" %s: %s\n", description, s); - } else { - printf(" description data:"); for (i = 0; i < len; i++) - printf(" %02x", (unsigned char)s[i]); - printf("\n"); + if (!isprint(s[i])) + return (false); } + + printf(" %s: %s\n", description, s); + return (true); } +struct note_desc { + uint32_t type; + const char *description; + bool (*fp)(const char *, const char *, size_t); +}; + +static struct note_desc xen_notes[] = { + { 5, "Xen version", dump_note_string }, + { 6, "Guest OS", dump_note_string }, + { 7, "Guest version", dump_note_string }, + { 8, "Loader", dump_note_string }, + { 9, "PAE mode", dump_note_string }, + { 10, "Features", dump_note_string }, + { 11, "BSD symtab", dump_note_string }, + { 0, NULL, NULL } +}; + static void dump_notes_data(struct readelf *re, const char *name, uint32_t type, const char *buf, size_t sz) { + struct note_desc *nd; size_t i; const uint32_t *ubuf; @@ -3750,28 +3758,13 @@ dump_notes_data(struct readelf *re, const char *name, return; } } else if (strcmp(name, "Xen") == 0) { - switch (type) { - case 5: - dump_note_string("Xen version", buf, sz); - return; - case 6: - dump_note_string("Guest OS", buf, sz); - return; - case 7: - dump_note_string("Guest version", buf, sz); - return; - case 8: - dump_note_string("Loader", buf, sz); - return; - case 9: - dump_note_string("PAE mode", buf, sz); - return; - case 10: - dump_note_string("Features", buf, sz); - return; - case 11: - dump_note_string("BSD symtab", buf, sz); - return; + for (nd = xen_notes; nd->description != NULL; nd++) { + if (nd->type == type) { + if (nd->fp(nd->description, buf, sz)) + return; + else + break; + } } } unknown: From owner-svn-src-all@freebsd.org Sat Mar 21 00:29:17 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E4768277B98; Sat, 21 Mar 2020 00:29:17 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48khNF4Ty3z4KWD; Sat, 21 Mar 2020 00:29:17 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 635E942CC; Sat, 21 Mar 2020 00:29:17 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02L0TG0p065921; Sat, 21 Mar 2020 00:29:16 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02L0TG2U065920; Sat, 21 Mar 2020 00:29:16 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003210029.02L0TG2U065920@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 21 Mar 2020 00:29:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359190 - stable/12/sys/dev/usb/net X-SVN-Group: stable-12 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/12/sys/dev/usb/net X-SVN-Commit-Revision: 359190 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2020 00:29:18 -0000 Author: emaste Date: Sat Mar 21 00:29:16 2020 New Revision: 359190 URL: https://svnweb.freebsd.org/changeset/base/359190 Log: MFC r358979: muge: correct RX checksum offload Modified: stable/12/sys/dev/usb/net/if_muge.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/usb/net/if_muge.c ============================================================================== --- stable/12/sys/dev/usb/net/if_muge.c Sat Mar 21 00:08:33 2020 (r359189) +++ stable/12/sys/dev/usb/net/if_muge.c Sat Mar 21 00:29:16 2020 (r359190) @@ -1282,7 +1282,8 @@ muge_bulk_read_callback(struct usb_xfer *xfer, usb_err */ if (pktlen > ETHER_MIN_LEN) { m->m_pkthdr.csum_flags |= - CSUM_DATA_VALID; + CSUM_DATA_VALID | + CSUM_PSEUDO_HDR; /* * Copy the checksum from the @@ -1301,7 +1302,7 @@ muge_bulk_read_callback(struct usb_xfer *xfer, usb_err * be in host network order. */ m->m_pkthdr.csum_data = - ntohs(m->m_pkthdr.csum_data); + ntohs(0xffff); muge_dbg_printf(sc, "RX checksum offloaded (0x%04x)\n", From owner-svn-src-all@freebsd.org Sat Mar 21 00:31:27 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B2368277D0D; Sat, 21 Mar 2020 00:31:27 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48khQl3y6Cz4LF9; Sat, 21 Mar 2020 00:31:27 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 81C5C4426; Sat, 21 Mar 2020 00:31:27 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02L0VR6L068283; Sat, 21 Mar 2020 00:31:27 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02L0VRdB068282; Sat, 21 Mar 2020 00:31:27 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003210031.02L0VRdB068282@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 21 Mar 2020 00:31:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359191 - stable/12/sys/dev/usb/net X-SVN-Group: stable-12 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/12/sys/dev/usb/net X-SVN-Commit-Revision: 359191 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2020 00:31:27 -0000 Author: emaste Date: Sat Mar 21 00:31:27 2020 New Revision: 359191 URL: https://svnweb.freebsd.org/changeset/base/359191 Log: MFC r359007: muge: drop CSUM from MUGE_DEFAULT_TSO_CSUM_ENABLE TSO is independent of checksum offload Modified: stable/12/sys/dev/usb/net/if_muge.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/usb/net/if_muge.c ============================================================================== --- stable/12/sys/dev/usb/net/if_muge.c Sat Mar 21 00:29:16 2020 (r359190) +++ stable/12/sys/dev/usb/net/if_muge.c Sat Mar 21 00:31:27 2020 (r359191) @@ -124,7 +124,7 @@ SYSCTL_INT(_hw_usb_muge, OID_AUTO, debug, CTLFLAG_RWTU #define MUGE_DEFAULT_RX_CSUM_ENABLE (false) #define MUGE_DEFAULT_TX_CSUM_ENABLE (false) -#define MUGE_DEFAULT_TSO_CSUM_ENABLE (false) +#define MUGE_DEFAULT_TSO_ENABLE (false) /* Supported Vendor and Product IDs. */ static const struct usb_device_id lan78xx_devs[] = { @@ -1624,7 +1624,7 @@ muge_attach_post_sub(struct usb_ether *ue) * here, that's something related to socket buffers used in Linux. * FreeBSD doesn't have that as an interface feature. */ - if (MUGE_DEFAULT_TSO_CSUM_ENABLE) + if (MUGE_DEFAULT_TSO_ENABLE) ifp->if_capabilities |= IFCAP_TSO4 | IFCAP_TSO6; #if 0 From owner-svn-src-all@freebsd.org Sat Mar 21 00:32:44 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 61A18277EE7; Sat, 21 Mar 2020 00:32:44 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48khSD1McDz4N4Y; Sat, 21 Mar 2020 00:32:44 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1DB824491; Sat, 21 Mar 2020 00:32:44 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02L0WhpA071821; Sat, 21 Mar 2020 00:32:43 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02L0WhnH071820; Sat, 21 Mar 2020 00:32:43 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003210032.02L0WhnH071820@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 21 Mar 2020 00:32:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359192 - stable/12/sys/dev/usb/net X-SVN-Group: stable-12 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/12/sys/dev/usb/net X-SVN-Commit-Revision: 359192 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2020 00:32:44 -0000 Author: emaste Date: Sat Mar 21 00:32:43 2020 New Revision: 359192 URL: https://svnweb.freebsd.org/changeset/base/359192 Log: MFC r359009: if_muge: whitespace and style cleanup Modified: stable/12/sys/dev/usb/net/if_muge.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/usb/net/if_muge.c ============================================================================== --- stable/12/sys/dev/usb/net/if_muge.c Sat Mar 21 00:31:27 2020 (r359191) +++ stable/12/sys/dev/usb/net/if_muge.c Sat Mar 21 00:32:43 2020 (r359192) @@ -656,8 +656,8 @@ lan78xx_set_rx_max_frame_length(struct muge_softc *sc, * 0 is returned. */ static int -lan78xx_miibus_readreg(device_t dev, int phy, int reg) { - +lan78xx_miibus_readreg(device_t dev, int phy, int reg) +{ struct muge_softc *sc = device_get_softc(dev); int locked; uint32_t addr, val; @@ -1178,7 +1178,6 @@ muge_bulk_read_callback(struct usb_xfer *xfer, usb_err switch (USB_GET_STATE(xfer)) { case USB_ST_TRANSFERRED: - /* * There is always a zero length frame after bringing the * interface up. @@ -1195,7 +1194,6 @@ muge_bulk_read_callback(struct usb_xfer *xfer, usb_err off = 0; while (off < actlen) { - /* The frame header is aligned on a 4 byte boundary. */ off = ((off + 0x3) & ~0x3); @@ -1206,7 +1204,6 @@ muge_bulk_read_callback(struct usb_xfer *xfer, usb_err off += (sizeof(rx_cmd_a)); rx_cmd_a = le32toh(rx_cmd_a); - /* Extract RX CMD B. */ if (off + sizeof(rx_cmd_b) > actlen) goto tr_setup; @@ -1214,7 +1211,6 @@ muge_bulk_read_callback(struct usb_xfer *xfer, usb_err off += (sizeof(rx_cmd_b)); rx_cmd_b = le32toh(rx_cmd_b); - /* Extract RX CMD C. */ if (off + sizeof(rx_cmd_c) > actlen) goto tr_setup; @@ -1302,7 +1298,7 @@ muge_bulk_read_callback(struct usb_xfer *xfer, usb_err * be in host network order. */ m->m_pkthdr.csum_data = - ntohs(0xffff); + ntohs(0xffff); muge_dbg_printf(sc, "RX checksum offloaded (0x%04x)\n", @@ -1325,7 +1321,6 @@ muge_bulk_read_callback(struct usb_xfer *xfer, usb_err */ off += pktlen; } - /* FALLTHROUGH */ case USB_ST_SETUP: tr_setup: @@ -1333,7 +1328,6 @@ tr_setup: usbd_transfer_submit(xfer); uether_rxflush(ue); return; - default: if (error != USB_ERR_CANCELLED) { muge_warn_printf(sc, "bulk read error, %s\n", @@ -1374,7 +1368,7 @@ muge_bulk_write_callback(struct usb_xfer *xfer, usb_er muge_dbg_printf(sc, "USB TRANSFER status: USB_ST_SETUP\n"); tr_setup: if ((sc->sc_flags & MUGE_FLAG_LINK) == 0 || - (ifp->if_drv_flags & IFF_DRV_OACTIVE) != 0) { + (ifp->if_drv_flags & IFF_DRV_OACTIVE) != 0) { muge_dbg_printf(sc, "sc->sc_flags & MUGE_FLAG_LINK: %d\n", (sc->sc_flags & MUGE_FLAG_LINK)); @@ -1389,8 +1383,9 @@ tr_setup: */ return; } - for (nframes = 0; nframes < 16 && - !IFQ_DRV_IS_EMPTY(&ifp->if_snd); nframes++) { + for (nframes = 0; + nframes < 16 && !IFQ_DRV_IS_EMPTY(&ifp->if_snd); + nframes++) { IFQ_DRV_DEQUEUE(&ifp->if_snd, m); if (m == NULL) break; @@ -1637,9 +1632,9 @@ muge_attach_post_sub(struct usb_ether *ue) ifp->if_capenable = ifp->if_capabilities; mtx_lock(&Giant); - error = mii_attach(ue->ue_dev, &ue->ue_miibus, ifp, - uether_ifmedia_upd, ue->ue_methods->ue_mii_sts, - BMSR_DEFCAPMASK, sc->sc_phyno, MII_OFFSET_ANY, 0); + error = mii_attach(ue->ue_dev, &ue->ue_miibus, ifp, uether_ifmedia_upd, + ue->ue_methods->ue_mii_sts, BMSR_DEFCAPMASK, sc->sc_phyno, + MII_OFFSET_ANY, 0); mtx_unlock(&Giant); return (0); @@ -1697,7 +1692,7 @@ muge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data /* Modify the RX CSUM enable bits. */ if ((mask & IFCAP_RXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_RXCSUM) != 0) { + (ifp->if_capabilities & IFCAP_RXCSUM) != 0) { ifp->if_capenable ^= IFCAP_RXCSUM; if (ifp->if_drv_flags & IFF_DRV_RUNNING) { @@ -1709,7 +1704,6 @@ muge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data MUGE_UNLOCK(sc); if (reinit) uether_init(ue); - } else { rc = uether_ioctl(ifp, cmd, data); } @@ -1878,7 +1872,7 @@ muge_setmulti(struct usb_ether *ue) MUGE_LOCK_ASSERT(sc, MA_OWNED); sc->sc_rfe_ctl &= ~(ETH_RFE_CTL_UCAST_EN_ | ETH_RFE_CTL_MCAST_EN_ | - ETH_RFE_CTL_DA_PERFECT_ | ETH_RFE_CTL_MCAST_HASH_); + ETH_RFE_CTL_DA_PERFECT_ | ETH_RFE_CTL_MCAST_HASH_); /* Initialize hash filter table. */ for (i = 0; i < ETH_DP_SEL_VHF_HASH_LEN; i++) @@ -1886,8 +1880,7 @@ muge_setmulti(struct usb_ether *ue) /* Initialize perfect filter table. */ for (i = 1; i < MUGE_NUM_PFILTER_ADDRS_; i++) { - sc->sc_pfilter_table[i][0] = - sc->sc_pfilter_table[i][1] = 0; + sc->sc_pfilter_table[i][0] = sc->sc_pfilter_table[i][1] = 0; } sc->sc_rfe_ctl |= ETH_RFE_CTL_BCAST_EN_; @@ -1895,7 +1888,7 @@ muge_setmulti(struct usb_ether *ue) if (ifp->if_flags & IFF_PROMISC) { muge_dbg_printf(sc, "promiscuous mode enabled\n"); sc->sc_rfe_ctl |= ETH_RFE_CTL_MCAST_EN_ | ETH_RFE_CTL_UCAST_EN_; - } else if (ifp->if_flags & IFF_ALLMULTI){ + } else if (ifp->if_flags & IFF_ALLMULTI) { muge_dbg_printf(sc, "receive all multicast enabled\n"); sc->sc_rfe_ctl |= ETH_RFE_CTL_MCAST_EN_; } else { @@ -1962,7 +1955,8 @@ muge_setpromisc(struct usb_ether *ue) * RETURNS: * Returns 0 on success or a negative error code. */ -static int muge_sethwcsum(struct muge_softc *sc) +static int +muge_sethwcsum(struct muge_softc *sc) { struct ifnet *ifp = uether_getifp(&sc->sc_ue); int err; From owner-svn-src-all@freebsd.org Sat Mar 21 00:34:29 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0FC8D277F86; Sat, 21 Mar 2020 00:34:29 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48khVD6gp7z4RGG; Sat, 21 Mar 2020 00:34:28 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D90954492; Sat, 21 Mar 2020 00:34:28 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02L0YSN6071972; Sat, 21 Mar 2020 00:34:28 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02L0YSZE071971; Sat, 21 Mar 2020 00:34:28 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003210034.02L0YSZE071971@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 21 Mar 2020 00:34:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359193 - stable/12/sys/dev/usb/net X-SVN-Group: stable-12 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/12/sys/dev/usb/net X-SVN-Commit-Revision: 359193 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2020 00:34:29 -0000 Author: emaste Date: Sat Mar 21 00:34:28 2020 New Revision: 359193 URL: https://svnweb.freebsd.org/changeset/base/359193 Log: MFC r359070: if_muge: use C99 bool for boolean vars Modified: stable/12/sys/dev/usb/net/if_muge.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/usb/net/if_muge.c ============================================================================== --- stable/12/sys/dev/usb/net/if_muge.c Sat Mar 21 00:32:43 2020 (r359192) +++ stable/12/sys/dev/usb/net/if_muge.c Sat Mar 21 00:34:28 2020 (r359193) @@ -389,9 +389,10 @@ lan78xx_eeprom_read_raw(struct muge_softc *sc, uint16_ { usb_ticks_t start_ticks; const usb_ticks_t max_ticks = USB_MS_TO_TICKS(1000); - int err, locked; + int err; uint32_t val, saved; uint16_t i; + bool locked; locked = mtx_owned(&sc->sc_mtx); /* XXX */ if (!locked) @@ -483,9 +484,10 @@ static int lan78xx_otp_read_raw(struct muge_softc *sc, uint16_t off, uint8_t *buf, uint16_t buflen) { - int locked, err; + int err; uint32_t val; uint16_t i; + bool locked; locked = mtx_owned(&sc->sc_mtx); if (!locked) MUGE_LOCK(sc); @@ -659,8 +661,8 @@ static int lan78xx_miibus_readreg(device_t dev, int phy, int reg) { struct muge_softc *sc = device_get_softc(dev); - int locked; uint32_t addr, val; + bool locked; val = 0; locked = mtx_owned(&sc->sc_mtx); @@ -712,8 +714,8 @@ static int lan78xx_miibus_writereg(device_t dev, int phy, int reg, int val) { struct muge_softc *sc = device_get_softc(dev); - int locked; uint32_t addr; + bool locked; if (sc->sc_phyno != phy) return (0); @@ -760,10 +762,10 @@ lan78xx_miibus_statchg(device_t dev) struct muge_softc *sc = device_get_softc(dev); struct mii_data *mii = uether_getmii(&sc->sc_ue); struct ifnet *ifp; - int locked; int err; uint32_t flow = 0; uint32_t fct_flow = 0; + bool locked; locked = mtx_owned(&sc->sc_mtx); if (!locked) From owner-svn-src-all@freebsd.org Sat Mar 21 15:51:05 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D10D22657A9; Sat, 21 Mar 2020 15:51:05 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48l4qs53Mrz4J14; Sat, 21 Mar 2020 15:51:05 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A2936F008; Sat, 21 Mar 2020 15:51:05 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02LFp5CH021327; Sat, 21 Mar 2020 15:51:05 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02LFp5f5021326; Sat, 21 Mar 2020 15:51:05 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003211551.02LFp5f5021326@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 21 Mar 2020 15:51:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359194 - head/lib/libc/gen X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/lib/libc/gen X-SVN-Commit-Revision: 359194 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2020 15:51:05 -0000 Author: emaste Date: Sat Mar 21 15:51:05 2020 New Revision: 359194 URL: https://svnweb.freebsd.org/changeset/base/359194 Log: nlist(3): add elf(5) xref Found while looking for a.out remnants; nlist should also xref the binary format we currently use. Modified: head/lib/libc/gen/nlist.3 Modified: head/lib/libc/gen/nlist.3 ============================================================================== --- head/lib/libc/gen/nlist.3 Sat Mar 21 00:34:28 2020 (r359193) +++ head/lib/libc/gen/nlist.3 Sat Mar 21 15:51:05 2020 (r359194) @@ -69,7 +69,8 @@ if the file .Fa filename does not exist or is not executable, the returned value is \-1. .Sh SEE ALSO -.Xr a.out 5 +.Xr a.out 5 , +.Xr elf 5 .Sh HISTORY A .Fn nlist From owner-svn-src-all@freebsd.org Sat Mar 21 16:12:20 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E48472661F0; Sat, 21 Mar 2020 16:12:20 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48l5JN5YnSz3F66; Sat, 21 Mar 2020 16:12:20 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 86636F53A; Sat, 21 Mar 2020 16:12:20 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02LGCKhQ036854; Sat, 21 Mar 2020 16:12:20 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02LGCJTt036848; Sat, 21 Mar 2020 16:12:19 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <202003211612.02LGCJTt036848@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Sat, 21 Mar 2020 16:12:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359195 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 359195 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2020 16:12:21 -0000 Author: tuexen Date: Sat Mar 21 16:12:19 2020 New Revision: 359195 URL: https://svnweb.freebsd.org/changeset/base/359195 Log: More timer cleanups, no functional change. MFC after: 1 week Modified: head/sys/netinet/sctp_asconf.c head/sys/netinet/sctp_input.c head/sys/netinet/sctp_timer.c head/sys/netinet/sctp_timer.h head/sys/netinet/sctputil.c Modified: head/sys/netinet/sctp_asconf.c ============================================================================== --- head/sys/netinet/sctp_asconf.c Sat Mar 21 15:51:05 2020 (r359194) +++ head/sys/netinet/sctp_asconf.c Sat Mar 21 16:12:19 2020 (r359195) @@ -585,8 +585,7 @@ sctp_process_asconf_set_primary(struct sockaddr *src, sctp_move_chunks_from_net(stcb, stcb->asoc.deleted_primary); } - sctp_delete_prim_timer(stcb->sctp_ep, stcb, - stcb->asoc.deleted_primary); + sctp_delete_prim_timer(stcb->sctp_ep, stcb); } } else { /* couldn't set the requested primary address! */ Modified: head/sys/netinet/sctp_input.c ============================================================================== --- head/sys/netinet/sctp_input.c Sat Mar 21 15:51:05 2020 (r359194) +++ head/sys/netinet/sctp_input.c Sat Mar 21 16:12:19 2020 (r359195) @@ -703,8 +703,7 @@ sctp_handle_heartbeat_ack(struct sctp_heartbeat_chunk sctp_move_chunks_from_net(stcb, stcb->asoc.deleted_primary); } - sctp_delete_prim_timer(stcb->sctp_ep, stcb, - stcb->asoc.deleted_primary); + sctp_delete_prim_timer(stcb->sctp_ep, stcb); } } } Modified: head/sys/netinet/sctp_timer.c ============================================================================== --- head/sys/netinet/sctp_timer.c Sat Mar 21 15:51:05 2020 (r359194) +++ head/sys/netinet/sctp_timer.c Sat Mar 21 16:12:19 2020 (r359195) @@ -1264,8 +1264,7 @@ sctp_asconf_timer(struct sctp_inpcb *inp, struct sctp_ /* Mobility adaptation */ void -sctp_delete_prim_timer(struct sctp_inpcb *inp, struct sctp_tcb *stcb, - struct sctp_nets *net SCTP_UNUSED) +sctp_delete_prim_timer(struct sctp_inpcb *inp, struct sctp_tcb *stcb) { if (stcb->asoc.deleted_primary == NULL) { SCTPDBG(SCTP_DEBUG_ASCONF1, "delete_prim_timer: deleted_primary is not stored...\n"); @@ -1521,9 +1520,7 @@ sctp_pathmtu_timer(struct sctp_inpcb *inp, } void -sctp_autoclose_timer(struct sctp_inpcb *inp, - struct sctp_tcb *stcb, - struct sctp_nets *net) +sctp_autoclose_timer(struct sctp_inpcb *inp, struct sctp_tcb *stcb) { struct timeval tn, *tim_touse; struct sctp_association *asoc; @@ -1562,7 +1559,7 @@ sctp_autoclose_timer(struct sctp_inpcb *inp, */ if (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_SENT) { /* only send SHUTDOWN 1st time thru */ - struct sctp_nets *netp; + struct sctp_nets *net; if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) || (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) { @@ -1571,17 +1568,15 @@ sctp_autoclose_timer(struct sctp_inpcb *inp, SCTP_SET_STATE(stcb, SCTP_STATE_SHUTDOWN_SENT); sctp_stop_timers_for_shutdown(stcb); if (stcb->asoc.alternate) { - netp = stcb->asoc.alternate; + net = stcb->asoc.alternate; } else { - netp = stcb->asoc.primary_destination; + net = stcb->asoc.primary_destination; } - sctp_send_shutdown(stcb, netp); + sctp_send_shutdown(stcb, net); sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, - stcb->sctp_ep, stcb, - netp); + stcb->sctp_ep, stcb, net); sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, - stcb->sctp_ep, stcb, - netp); + stcb->sctp_ep, stcb, NULL); } } } else { @@ -1594,8 +1589,7 @@ sctp_autoclose_timer(struct sctp_inpcb *inp, /* fool the timer startup to use the time left */ tmp = asoc->sctp_autoclose_ticks; asoc->sctp_autoclose_ticks -= ticks_gone_by; - sctp_timer_start(SCTP_TIMER_TYPE_AUTOCLOSE, inp, stcb, - net); + sctp_timer_start(SCTP_TIMER_TYPE_AUTOCLOSE, inp, stcb, NULL); /* restore the real tick value */ asoc->sctp_autoclose_ticks = tmp; } Modified: head/sys/netinet/sctp_timer.h ============================================================================== --- head/sys/netinet/sctp_timer.h Sat Mar 21 15:51:05 2020 (r359194) +++ head/sys/netinet/sctp_timer.h Sat Mar 21 16:12:19 2020 (r359195) @@ -43,9 +43,7 @@ __FBSDID("$FreeBSD$"); #define SCTP_RTT_SHIFT 3 #define SCTP_RTT_VAR_SHIFT 2 -struct sctp_nets * -sctp_find_alternate_net(struct sctp_tcb *, - struct sctp_nets *, int mode); +struct sctp_nets *sctp_find_alternate_net(struct sctp_tcb *, struct sctp_nets *, int); int sctp_t3rxt_timer(struct sctp_inpcb *, struct sctp_tcb *, @@ -82,12 +80,10 @@ sctp_asconf_timer(struct sctp_inpcb *, struct sctp_tcb struct sctp_nets *); void -sctp_delete_prim_timer(struct sctp_inpcb *, struct sctp_tcb *, - struct sctp_nets *); + sctp_delete_prim_timer(struct sctp_inpcb *, struct sctp_tcb *); void -sctp_autoclose_timer(struct sctp_inpcb *, struct sctp_tcb *, - struct sctp_nets *net); + sctp_autoclose_timer(struct sctp_inpcb *, struct sctp_tcb *); void sctp_audit_retranmission_queue(struct sctp_association *); Modified: head/sys/netinet/sctputil.c ============================================================================== --- head/sys/netinet/sctputil.c Sat Mar 21 15:51:05 2020 (r359194) +++ head/sys/netinet/sctputil.c Sat Mar 21 16:12:19 2020 (r359195) @@ -1931,7 +1931,7 @@ sctp_timeout_handler(void *t) break; } SCTP_STAT_INCR(sctps_timoautoclose); - sctp_autoclose_timer(inp, stcb, net); + sctp_autoclose_timer(inp, stcb); sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_AUTOCLOSE_TMR, SCTP_SO_NOT_LOCKED); did_output = 0; break; @@ -1997,7 +1997,7 @@ sctp_timeout_handler(void *t) if ((stcb == NULL) || (inp == NULL)) { break; } - sctp_delete_prim_timer(inp, stcb, net); + sctp_delete_prim_timer(inp, stcb); SCTP_STAT_INCR(sctps_timodelprim); break; default: From owner-svn-src-all@freebsd.org Sat Mar 21 18:24:35 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4029C268F4F; Sat, 21 Mar 2020 18:24:35 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48l8Dz0WHmz45WC; Sat, 21 Mar 2020 18:24:34 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C73E918D24; Sat, 21 Mar 2020 18:24:33 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02LIOXcq015448; Sat, 21 Mar 2020 18:24:33 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02LIOXwu015447; Sat, 21 Mar 2020 18:24:33 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <202003211824.02LIOXwu015447@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sat, 21 Mar 2020 18:24:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r359196 - stable/11/lib/libc/sys X-SVN-Group: stable-11 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: stable/11/lib/libc/sys X-SVN-Commit-Revision: 359196 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2020 18:24:35 -0000 Author: asomers Date: Sat Mar 21 18:24:33 2020 New Revision: 359196 URL: https://svnweb.freebsd.org/changeset/base/359196 Log: MFC r352231: getsockopt.2: clarify that SO_TIMESTAMP is not 100% reliable When SO_TIMESTAMP is set, the kernel will attempt to attach a timestamp as ancillary data to each IP datagram that is received on the socket. However, it may fail, for example due to insufficient memory. In that case the packet will still be received but not timestamp will be attached. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D21607 Modified: stable/11/lib/libc/sys/getsockopt.2 Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libc/sys/getsockopt.2 ============================================================================== --- stable/11/lib/libc/sys/getsockopt.2 Sat Mar 21 16:12:19 2020 (r359195) +++ stable/11/lib/libc/sys/getsockopt.2 Sat Mar 21 18:24:33 2020 (r359196) @@ -28,7 +28,7 @@ .\" @(#)getsockopt.2 8.4 (Berkeley) 5/2/95 .\" $FreeBSD$ .\" -.Dd April 5, 2013 +.Dd September 11, 2019 .Dt GETSOCKOPT 2 .Os .Sh NAME @@ -419,7 +419,8 @@ option is enabled on a .Dv SOCK_DGRAM socket, the .Xr recvmsg 2 -call will return a timestamp corresponding to when the datagram was received. +call may return a timestamp corresponding to when the datagram was received. +However, it may not, for example due to a resource shortage. The .Va msg_control field in the From owner-svn-src-all@freebsd.org Sat Mar 21 19:13:23 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BAB9626A0BC; Sat, 21 Mar 2020 19:13:23 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48l9KH4H1fz41Sy; Sat, 21 Mar 2020 19:13:23 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E06DF19648; Sat, 21 Mar 2020 19:13:22 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02LJDMmc045859; Sat, 21 Mar 2020 19:13:22 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02LJDMbR045857; Sat, 21 Mar 2020 19:13:22 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <202003211913.02LJDMbR045857@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Sat, 21 Mar 2020 19:13:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r359197 - in vendor/xz/dist: . src/common src/liblzma/api src/liblzma/api/lzma src/liblzma/check src/liblzma/common src/liblzma/delta src/liblzma/lz src/liblzma/lzma src/liblzma/simple ... X-SVN-Group: vendor X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: in vendor/xz/dist: . src/common src/liblzma/api src/liblzma/api/lzma src/liblzma/check src/liblzma/common src/liblzma/delta src/liblzma/lz src/liblzma/lzma src/liblzma/simple src/xz src/xzdec X-SVN-Commit-Revision: 359197 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2020 19:13:23 -0000 Author: delphij Date: Sat Mar 21 19:13:22 2020 New Revision: 359197 URL: https://svnweb.freebsd.org/changeset/base/359197 Log: Vendor import of xz-5.2.5 (trimmed). Modified: vendor/xz/dist/ChangeLog vendor/xz/dist/README vendor/xz/dist/THANKS vendor/xz/dist/src/common/sysdefs.h vendor/xz/dist/src/common/tuklib_cpucores.c vendor/xz/dist/src/common/tuklib_exit.c vendor/xz/dist/src/common/tuklib_integer.h vendor/xz/dist/src/common/tuklib_mbstr.h vendor/xz/dist/src/common/tuklib_mbstr_fw.c vendor/xz/dist/src/common/tuklib_mbstr_width.c vendor/xz/dist/src/liblzma/api/lzma.h vendor/xz/dist/src/liblzma/api/lzma/block.h vendor/xz/dist/src/liblzma/api/lzma/filter.h vendor/xz/dist/src/liblzma/api/lzma/hardware.h vendor/xz/dist/src/liblzma/api/lzma/lzma12.h vendor/xz/dist/src/liblzma/api/lzma/version.h vendor/xz/dist/src/liblzma/api/lzma/vli.h vendor/xz/dist/src/liblzma/check/crc32_fast.c vendor/xz/dist/src/liblzma/check/crc32_table.c vendor/xz/dist/src/liblzma/check/crc64_fast.c vendor/xz/dist/src/liblzma/check/crc64_table.c vendor/xz/dist/src/liblzma/common/alone_decoder.c vendor/xz/dist/src/liblzma/common/alone_encoder.c vendor/xz/dist/src/liblzma/common/block_header_decoder.c vendor/xz/dist/src/liblzma/common/block_header_encoder.c vendor/xz/dist/src/liblzma/common/block_util.c vendor/xz/dist/src/liblzma/common/common.c vendor/xz/dist/src/liblzma/common/filter_common.h vendor/xz/dist/src/liblzma/common/filter_decoder.h vendor/xz/dist/src/liblzma/common/filter_flags_encoder.c vendor/xz/dist/src/liblzma/common/hardware_physmem.c vendor/xz/dist/src/liblzma/common/index.c vendor/xz/dist/src/liblzma/common/memcmplen.h vendor/xz/dist/src/liblzma/common/stream_encoder_mt.c vendor/xz/dist/src/liblzma/common/stream_flags_decoder.c vendor/xz/dist/src/liblzma/common/stream_flags_encoder.c vendor/xz/dist/src/liblzma/common/vli_decoder.c vendor/xz/dist/src/liblzma/delta/delta_decoder.c vendor/xz/dist/src/liblzma/lz/lz_decoder.c vendor/xz/dist/src/liblzma/lz/lz_encoder_hash.h vendor/xz/dist/src/liblzma/lz/lz_encoder_mf.c vendor/xz/dist/src/liblzma/lzma/fastpos.h vendor/xz/dist/src/liblzma/lzma/fastpos_tablegen.c vendor/xz/dist/src/liblzma/lzma/lzma2_decoder.c vendor/xz/dist/src/liblzma/lzma/lzma_common.h vendor/xz/dist/src/liblzma/lzma/lzma_decoder.c vendor/xz/dist/src/liblzma/lzma/lzma_encoder.c vendor/xz/dist/src/liblzma/lzma/lzma_encoder_optimum_normal.c vendor/xz/dist/src/liblzma/lzma/lzma_encoder_private.h vendor/xz/dist/src/liblzma/simple/arm.c vendor/xz/dist/src/liblzma/simple/armthumb.c vendor/xz/dist/src/liblzma/simple/ia64.c vendor/xz/dist/src/liblzma/simple/powerpc.c vendor/xz/dist/src/liblzma/simple/simple_coder.c vendor/xz/dist/src/liblzma/simple/simple_decoder.c vendor/xz/dist/src/liblzma/simple/simple_encoder.c vendor/xz/dist/src/liblzma/simple/x86.c vendor/xz/dist/src/xz/args.c vendor/xz/dist/src/xz/coder.c vendor/xz/dist/src/xz/file_io.c vendor/xz/dist/src/xz/file_io.h vendor/xz/dist/src/xz/main.c vendor/xz/dist/src/xz/message.c vendor/xz/dist/src/xz/message.h vendor/xz/dist/src/xz/mytime.c vendor/xz/dist/src/xz/mytime.h vendor/xz/dist/src/xz/options.c vendor/xz/dist/src/xz/private.h vendor/xz/dist/src/xz/signals.c vendor/xz/dist/src/xz/util.c vendor/xz/dist/src/xz/xz.1 vendor/xz/dist/src/xzdec/xzdec.c Modified: vendor/xz/dist/ChangeLog ============================================================================== --- vendor/xz/dist/ChangeLog Sat Mar 21 18:24:33 2020 (r359196) +++ vendor/xz/dist/ChangeLog Sat Mar 21 19:13:22 2020 (r359197) @@ -1,3 +1,1335 @@ +commit 2327a461e1afce862c22269b80d3517801103c1b +Author: Lasse Collin +Date: 2020-03-17 16:27:42 +0200 + + Bump version and soname for 5.2.5. + + src/liblzma/Makefile.am | 2 +- + src/liblzma/api/lzma/version.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 3be82d2f7dc882258caf0f0a69214e5916b2bdda +Author: Lasse Collin +Date: 2020-03-17 16:26:04 +0200 + + Update NEWS for 5.2.5. + + NEWS | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 105 insertions(+) + +commit ab3e57539c7337f0653b13b75dbc5d03ade9700e +Author: Lasse Collin +Date: 2020-03-16 21:57:21 +0200 + + Translations: Rebuild cs.po to avoid incorrect fuzzy strings. + + "make dist" updates the .po files and the fuzzy strings would + result in multiple very wrong translations. + + po/cs.po | 592 ++++++++++++++++++++++++++++++++++----------------------------- + 1 file changed, 322 insertions(+), 270 deletions(-) + +commit 3a6f38309dc5d44d8a63ebb337b6b2028561c93e +Author: Lasse Collin +Date: 2020-03-16 20:01:37 +0200 + + README: Update outdated sections. + + README | 21 +++++++++++---------- + 1 file changed, 11 insertions(+), 10 deletions(-) + +commit 9cc0901798217e258e91c13cf6fda7ad42ba108c +Author: Lasse Collin +Date: 2020-03-16 19:46:27 +0200 + + README: Mention that translatable strings will change after 5.2.x. + + README | 74 +++--------------------------------------------------------------- + 1 file changed, 3 insertions(+), 71 deletions(-) + +commit cc163574249f6a4a66f3dc09d6fe5a71bee24fab +Author: Lasse Collin +Date: 2020-03-16 19:39:45 +0200 + + README: Mention that man pages can be translated. + + README | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +commit ca261994edc3f2d03d5589c037171c63471ee9dc +Author: Lasse Collin +Date: 2020-03-16 17:30:39 +0200 + + Translations: Add partial Danish translation. + + I made a few minor white space changes without getting them + approved by the Danish translation team. + + po/LINGUAS | 1 + + po/da.po | 896 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 897 insertions(+) + +commit 51cd5d051fc730d61411dee292e863582784e189 +Author: Lasse Collin +Date: 2020-03-16 16:43:29 +0200 + + Update INSTALL.generic from Automake 1.16.1. + + INSTALL.generic | 321 ++++++++++++++++++++++++++++---------------------------- + 1 file changed, 162 insertions(+), 159 deletions(-) + +commit 69d694e5f1beae2bbfa3b6c348ec0ec5f14b5cd0 +Author: Lasse Collin +Date: 2020-03-15 15:27:22 +0200 + + Update INSTALL for Windows and DOS and add preliminary info for z/OS. + + INSTALL | 51 +++++++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 41 insertions(+), 10 deletions(-) + +commit 2c3b1bb80a3ca7e09728fe4d7a1d8648a5cb9bca +Author: Lasse Collin +Date: 2020-03-15 15:26:20 +0200 + + Build: Update m4/ax_pthread.m4 from Autoconf Archive (again). + + m4/ax_pthread.m4 | 219 +++++++++++++++++++++++++++++-------------------------- + 1 file changed, 117 insertions(+), 102 deletions(-) + +commit 74a5af180a6a6c4b8c90cefb37ee900d3fea7dc6 +Author: Lasse Collin +Date: 2020-03-11 21:15:35 +0200 + + xz: Never use thousand separators in DJGPP builds. + + DJGPP 2.05 added support for thousands separators but it's + broken at least under WinXP with Finnish locale that uses + a non-breaking space as the thousands separator. Workaround + by disabling thousands separators for DJGPP builds. + + src/xz/util.c | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +commit ceba0d25e826bcdbf64bb4cb03385a2a66f8cbcb +Author: Lasse Collin +Date: 2020-03-11 19:38:08 +0200 + + DOS: Update dos/Makefile for DJGPP 2.05. + + It doesn't need -fgnu89-inline like 2.04beta did. + + dos/Makefile | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +commit 29e5bd71612253281fb22bbaa0a566990a74dcc3 +Author: Lasse Collin +Date: 2020-03-11 19:36:07 +0200 + + DOS: Update instructions in dos/INSTALL.txt. + + dos/INSTALL.txt | 59 ++++++++++++++++++++++++++++----------------------------- + 1 file changed, 29 insertions(+), 30 deletions(-) + +commit 00a037ee9c8ee5a03cf9744e05570ae93d56b875 +Author: Lasse Collin +Date: 2020-03-11 17:58:51 +0200 + + DOS: Update config.h. + + The added defines assume GCC >= 4.8. + + dos/config.h | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit 4ec2feaefa310b4249eb41893caf526e5c51ee39 +Author: Lasse Collin +Date: 2020-03-11 22:37:54 +0200 + + Translations: Add hu, zh_CN, and zh_TW. + + I made a few white space changes to these without getting them + approved by the translation teams. (I tried to contact the hu and + zh_TW teams but didn't succeed. I didn't contact the zh_CN team.) + + po/LINGUAS | 3 + + po/hu.po | 985 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + po/zh_CN.po | 963 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + po/zh_TW.po | 956 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 2907 insertions(+) + +commit b6ed09729ae408be4533a0ddbc7df3d6f566846a +Author: Lasse Collin +Date: 2020-03-11 14:33:30 +0200 + + Translations: Update vi.po to match the file from the TP. + + The translated strings haven't been updated but word wrapping + is different. + + po/vi.po | 407 ++++++++++++++++++++++++++++----------------------------------- + 1 file changed, 179 insertions(+), 228 deletions(-) + +commit 7c85e8953ced204c858101872a15183e4639e9fb +Author: Lasse Collin +Date: 2020-03-11 14:18:03 +0200 + + Translations: Add fi and pt_BR, and update de, fr, it, and pl. + + The German translation isn't identical to the file in + the Translation Project but the changes (white space changes + only) were approved by the translator Mario Blättermann. + + po/LINGUAS | 2 + + po/de.po | 476 ++++++++++++++-------------- + po/fi.po | 974 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + po/fr.po | 272 ++++++++-------- + po/it.po | 479 ++++++++++++---------------- + po/pl.po | 239 +++++++------- + po/pt_BR.po | 1001 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 7 files changed, 2697 insertions(+), 746 deletions(-) + +commit 7da3ebc67fb5414034685ec16c7a29dad03dfa9b +Author: Lasse Collin +Date: 2020-02-25 21:35:14 +0200 + + Update THANKS. + + THANKS | 1 + + 1 file changed, 1 insertion(+) + +commit 1acc48794364606c9091cae6fa56db75a1325114 +Author: Lasse Collin +Date: 2020-03-11 13:05:29 +0200 + + Build: Add very limited experimental CMake support. + + This version matches CMake files in the master branch (commit + 265daa873c0d871f5f23f9b56e133a6f20045a0a) except that this omits + two source files that aren't in v5.2 and in the beginning of + CMakeLists.txt the first paragraph in the comment is slightly + different to point out possible issues in building shared liblzma. + + CMakeLists.txt | 659 ++++++++++++++++++++++++++++++++++++++++++++ + cmake/tuklib_common.cmake | 49 ++++ + cmake/tuklib_cpucores.cmake | 175 ++++++++++++ + cmake/tuklib_integer.cmake | 102 +++++++ + cmake/tuklib_mbstr.cmake | 20 ++ + cmake/tuklib_physmem.cmake | 150 ++++++++++ + cmake/tuklib_progname.cmake | 19 ++ + 7 files changed, 1174 insertions(+) + +commit 9acc6abea1552803c74c1486fbb10af119550772 +Author: Lasse Collin +Date: 2020-02-27 20:24:27 +0200 + + Build: Add support for --no-po4a option to autogen.sh. + + Normally, if po4a isn't available, autogen.sh will return + with non-zero exit status. The option --no-po4a can be useful + when one knows that po4a isn't available but wants autogen.sh + to still return with zero exit status. + + autogen.sh | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +commit c8853b31545db7bd0551be85949624b1261efd47 +Author: Lasse Collin +Date: 2020-02-24 23:37:07 +0200 + + Update m4/.gitignore. + + m4/.gitignore | 1 + + 1 file changed, 1 insertion(+) + +commit 901eb4a8c992354c3ea482f5bad60a1f8ad6fcc8 +Author: Lasse Collin +Date: 2020-02-24 23:01:00 +0200 + + liblzma: Remove unneeded from fastpos_tablegen.c. + + This file only generates fastpos_table.c. + It isn't built as a part of liblzma. + + src/liblzma/lzma/fastpos_tablegen.c | 1 - + 1 file changed, 1 deletion(-) + +commit ac35c9585fb734b7a19785d490c152e0b8cd4663 +Author: Lasse Collin +Date: 2020-02-22 14:15:07 +0200 + + Use defined(__GNUC__) before __GNUC__ in preprocessor lines. + + This should silence the equivalent of -Wundef in compilers that + don't define __GNUC__. + + src/common/sysdefs.h | 3 ++- + src/liblzma/api/lzma.h | 5 +++-- + 2 files changed, 5 insertions(+), 3 deletions(-) + +commit fb9cada7cfade1156d6277717280e05b5cd342d6 +Author: Lasse Collin +Date: 2020-02-21 17:40:02 +0200 + + liblzma: Add more uses of lzma_memcmplen() to the normal mode of LZMA. + + This gives a tiny encoder speed improvement. This could have been done + in 2014 after the commit 544aaa3d13554e8640f9caf7db717a96360ec0f6 but + it was forgotten. + + src/liblzma/lzma/lzma_encoder_optimum_normal.c | 16 ++++++++++------ + 1 file changed, 10 insertions(+), 6 deletions(-) + +commit 6117955af0b9cef5acde7859e86f773692b5f43c +Author: Lasse Collin +Date: 2020-02-21 17:01:15 +0200 + + Build: Add visibility.m4 from gnulib. + + Appears that this file used to get included as a side effect of + gettext. After the change to gettext version requirements this file + no longer got copied to the package and so the build was broken. + + m4/.gitignore | 1 - + m4/visibility.m4 | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 77 insertions(+), 1 deletion(-) + +commit c2cc64d78c098834231f9cfd7d852c9cd8950d74 +Author: Lasse Collin +Date: 2020-02-21 16:10:44 +0200 + + xz: Silence a warning when sig_atomic_t is long int. + + It can be true at least on z/OS. + + src/xz/signals.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b6314aa275b35c714e0a191d0b2e9b6106129ea9 +Author: Lasse Collin +Date: 2020-02-21 15:59:26 +0200 + + xz: Avoid unneeded access of a volatile variable. + + src/xz/signals.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f772a1572f723e5dc7d2d32e1d4287ac7a0da55e +Author: Lasse Collin +Date: 2020-02-21 01:24:18 +0200 + + tuklib_integer.m4: Optimize the check order. + + The __builtin byteswapping is the preferred one so check for it first. + + m4/tuklib_integer.m4 | 56 +++++++++++++++++++++++++++------------------------- + 1 file changed, 29 insertions(+), 27 deletions(-) + +commit 641042e63f665f3231c2fd1241fd3dddda3fb313 +Author: Lasse Collin +Date: 2020-02-20 18:54:04 +0200 + + tuklib_exit: Add missing header. + + strerror() needs which happened to be included via + tuklib_common.h -> tuklib_config.h -> sysdefs.h if HAVE_CONFIG_H + was defined. This wasn't tested without config.h before so it + had worked fine. + + src/common/tuklib_exit.c | 1 + + 1 file changed, 1 insertion(+) + +commit dbd55a69e530fec9ae866aaf6c3ccc0b4daf1f1f +Author: Lasse Collin +Date: 2020-02-16 11:18:28 +0200 + + sysdefs.h: Omit the conditionals around string.h and limits.h. + + string.h is used unconditionally elsewhere in the project and + configure has always stopped if limits.h is missing, so these + headers must have been always available even on the weirdest + systems. + + src/common/sysdefs.h | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +commit 9294909861e6d22b32418467e0e988f953a82264 +Author: Lasse Collin +Date: 2020-02-15 15:07:11 +0200 + + Build: Bump Autoconf and Libtool version requirements. + + There is no specific reason for this other than blocking + the most ancient versions. These are still old: + + Autoconf 2.69 (2012) + Automake 1.12 (2012) + gettext 0.19.6 (2015) + Libtool 2.4 (2010) + + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit bd09081bbdf552f730030d2fd0e5e39ccb3936af +Author: Lasse Collin +Date: 2020-02-15 03:08:32 +0200 + + Build: Use AM_GNU_GETTEXT_REQUIRE_VERSION and require 0.19.6. + + This bumps the version requirement from 0.19 (from 2014) to + 0.19.6 (2015). + + Using only the old AM_GNU_GETTEXT_VERSION results in old + gettext infrastructure being placed in the package. By using + both macros we get the latest gettext files while the other + programs in the Autotools family can still see the old macro. + + configure.ac | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 1e5e08d86534aec7ca957982c7f6e90203c19e9f +Author: Lasse Collin +Date: 2020-02-14 20:42:06 +0200 + + Translations: Add German translation of the man pages. + + Thanks to Mario Blättermann. + + po4a/de.po | 5532 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + po4a/po4a.conf | 2 +- + 2 files changed, 5533 insertions(+), 1 deletion(-) + +commit 4b1447809ffbc0d77c0ad456bd6b3afcf0b8623e +Author: Lasse Collin +Date: 2020-02-07 15:32:21 +0200 + + Build: Add support for translated man pages using po4a. + + The dependency on po4a is optional. It's never required to install + the translated man pages when xz is built from a release tarball. + If po4a is missing when building from xz.git, the translated man + pages won't be generated but otherwise the build will work normally. + + The translations are only updated automatically by autogen.sh and + by "make mydist". This makes it easy to keep po4a as an optional + dependency and ensures that I won't forget to put updated + translations to a release tarball. + + The translated man pages aren't installed if --disable-nls is used. + + The installation of translated man pages abuses Automake internals + by calling "install-man" with redefined dist_man_MANS and man_MANS. + This makes the hairy script code slightly less hairy. If it breaks + some day, this code needs to be fixed; don't blame Automake developers. + + Also, this adds more quotes to the existing shell script code in + the Makefile.am "-hook"s. + + Makefile.am | 4 ++++ + autogen.sh | 8 ++++--- + po4a/.gitignore | 2 ++ + po4a/po4a.conf | 14 +++++++++++ + po4a/update-po | 45 ++++++++++++++++++++++++++++++++++ + src/scripts/Makefile.am | 64 +++++++++++++++++++++++++++++++++++++------------ + src/xz/Makefile.am | 50 +++++++++++++++++++++++++++----------- + src/xzdec/Makefile.am | 55 ++++++++++++++++++++++++++++++++---------- + 8 files changed, 197 insertions(+), 45 deletions(-) + +commit 882fcfdcd86525cc5c6f6d0bf0230d0089206d13 +Author: Lasse Collin +Date: 2020-02-06 00:04:42 +0200 + + Update THANKS (sync with the master branch). + + THANKS | 3 +++ + 1 file changed, 3 insertions(+) + +commit 134bb7765815d5f265eb0bc9e6ebacd9ae4a52bc +Author: Lasse Collin +Date: 2020-02-05 22:35:06 +0200 + + Update tests/.gitignore. + + .gitignore | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 6912472fafb656be8f4c5b4ac9ea28fea3065de4 +Author: Lasse Collin +Date: 2020-02-05 22:28:51 +0200 + + Update m4/.gitignore. + + m4/.gitignore | 1 + + 1 file changed, 1 insertion(+) + +commit 68c60735bbb6e51d4205ba8a9fde307bcfb22f8c +Author: Lasse Collin +Date: 2020-02-05 20:47:38 +0200 + + Update THANKS. + + THANKS | 1 + + 1 file changed, 1 insertion(+) + +commit e1beaa74bc7cb5a409d59b55870e01ae7784ce3a +Author: Lasse Collin +Date: 2020-02-05 20:33:50 +0200 + + xz: Comment out annoying sandboxing messages. + + src/xz/file_io.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +commit 8238192652290df78bd728b20e3f6542d1a2819e +Author: Lasse Collin +Date: 2020-02-05 19:33:37 +0200 + + Build: Workaround a POSIX shell detection problem on Solaris. + + I don't know if the problem is in gnulib's gl_POSIX_SHELL macro + or if xzgrep does something that isn't in POSIX. The workaround + adds a special case for Solaris: if /usr/xpg4/bin/sh exists and + gl_cv_posix_shell wasn't overriden on the configure command line, + use that shell for xzgrep and other scripts. That shell is known + to work and exists on most Solaris systems. + + configure.ac | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit 93a1f61e892e145607dd938e3b30098af19a1672 +Author: Lasse Collin +Date: 2020-02-03 22:03:50 +0200 + + Build: Update m4/ax_pthread.m4 from Autoconf Archive. + + m4/ax_pthread.m4 | 398 ++++++++++++++++++++++++++++++++++++++----------------- + 1 file changed, 279 insertions(+), 119 deletions(-) + +commit d0daa21792ff861e5423bbd82aaa6c8ba9fa0462 +Author: Lasse Collin +Date: 2020-02-01 19:56:18 +0200 + + xz: Limit --memlimit-compress to at most 4020 MiB for 32-bit xz. + + See the code comment for reasoning. It's far from perfect but + hopefully good enough for certain cases while hopefully doing + nothing bad in other situations. + + At presets -5 ... -9, 4020 MiB vs. 4096 MiB makes no difference + on how xz scales down the number of threads. + + The limit has to be a few MiB below 4096 MiB because otherwise + things like "xz --lzma2=dict=500MiB" won't scale down the dict + size enough and xz cannot allocate enough memory. With + "ulimit -v $((4096 * 1024))" on x86-64, the limit in xz had + to be no more than 4085 MiB. Some safety margin is good though. + + This is hack but it should be useful when running 32-bit xz on + a 64-bit kernel that gives full 4 GiB address space to xz. + Hopefully this is enough to solve this: + + https://bugzilla.redhat.com/show_bug.cgi?id=1196786 + + FreeBSD has a patch that limits the result in tuklib_physmem() + to SIZE_MAX on 32-bit systems. While I think it's not the way + to do it, the results on --memlimit-compress have been good. This + commit should achieve practically identical results for compression + while leaving decompression and tuklib_physmem() and thus + lzma_physmem() unaffected. + + src/xz/hardware.c | 32 +++++++++++++++++++++++++++++++- + src/xz/xz.1 | 21 ++++++++++++++++++++- + 2 files changed, 51 insertions(+), 2 deletions(-) + +commit 4433c2dc5727ee6aef570e001a5a024e0d94e609 +Author: Lasse Collin +Date: 2020-01-26 20:53:25 +0200 + + xz: Set the --flush-timeout deadline when the first input byte arrives. + + xz --flush-timeout=2000, old version: + + 1. xz is started. The next flush will happen after two seconds. + 2. No input for one second. + 3. A burst of a few kilobytes of input. + 4. No input for one second. + 5. Two seconds have passed and flushing starts. + + The first second counted towards the flush-timeout even though + there was no pending data. This can cause flushing to occur more + often than needed. + + xz --flush-timeout=2000, after this commit: + + 1. xz is started. + 2. No input for one second. + 3. A burst of a few kilobytes of input. The next flush will + happen after two seconds counted from the time when the + first bytes of the burst were read. + 4. No input for one second. + 5. No input for another second. + 6. Two seconds have passed and flushing starts. + + src/xz/coder.c | 6 +----- + src/xz/file_io.c | 6 +++++- + src/xz/mytime.c | 1 - + 3 files changed, 6 insertions(+), 7 deletions(-) + +commit acc0ef3ac80f18e349c6d0252177707105c0a29c +Author: Lasse Collin +Date: 2020-01-26 20:19:19 +0200 + + xz: Move flush_needed from mytime.h to file_pair struct in file_io.h. + + src/xz/coder.c | 3 ++- + src/xz/file_io.c | 3 ++- + src/xz/file_io.h | 3 +++ + src/xz/mytime.c | 3 --- + src/xz/mytime.h | 4 ---- + 5 files changed, 7 insertions(+), 9 deletions(-) + +commit 4afe69d30b66812682a2016ee18441958019cbb2 +Author: Lasse Collin +Date: 2020-01-26 14:49:22 +0200 + + xz: coder.c: Make writing output a separate function. + + The same code sequence repeats so it's nicer as a separate function. + Note that in one case there was no test for opt_mode != MODE_TEST, + but that was only because that condition would always be true, so + this commit doesn't change the behavior there. + + src/xz/coder.c | 30 +++++++++++++++++------------- + 1 file changed, 17 insertions(+), 13 deletions(-) + +commit ec26f3ace5f9b260ca91508030f07465ae2f9f78 +Author: Lasse Collin +Date: 2020-01-26 14:13:42 +0200 + + xz: Fix semi-busy-waiting in xz --flush-timeout. + + When input blocked, xz --flush-timeout=1 would wake up every + millisecond and initiate flushing which would have nothing to + flush and thus would just waste CPU time. The fix disables the + timeout when no input has been seen since the previous flush. + + src/xz/coder.c | 4 ++++ + src/xz/file_io.c | 15 +++++++++++---- + src/xz/file_io.h | 4 ++++ + 3 files changed, 19 insertions(+), 4 deletions(-) + +commit 38915703241e69a64f133ff9a02ec9100c6019c6 +Author: Lasse Collin +Date: 2020-01-26 13:47:31 +0200 + + xz: Refactor io_read() a bit. + + src/xz/file_io.c | 17 ++++++++--------- + 1 file changed, 8 insertions(+), 9 deletions(-) + +commit f6d24245349cecfae6ec0d2366fa80716c9f6d37 +Author: Lasse Collin +Date: 2020-01-26 13:37:08 +0200 + + xz: Update a comment in file_io.h. + + src/xz/file_io.h | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 15b55d5c63d27f81776edb1abc05872a751fc674 +Author: Lasse Collin +Date: 2020-01-26 13:27:51 +0200 + + xz: Move the setting of flush_needed in file_io.c to a nicer location. + + src/xz/file_io.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +commit 609c7067859146ffc62ac655f6ba53599c891801 +Author: Lasse Collin +Date: 2020-02-05 19:56:09 +0200 + + xz: Enable Capsicum sandboxing by default if available. + + It has been enabled in FreeBSD for a while and reported to work fine. + + Thanks to Xin Li. + + INSTALL | 6 ------ + configure.ac | 8 ++++---- + 2 files changed, 4 insertions(+), 10 deletions(-) + +commit 00517d125cc26ecece0eebb84c1c3975cd19bee0 +Author: Lasse Collin +Date: 2019-12-31 22:41:45 +0200 + + Rename unaligned_read32ne to read32ne, and similarly for the others. + + src/common/tuklib_integer.h | 64 +++++++++++++++---------------- + src/liblzma/common/alone_encoder.c | 2 +- + src/liblzma/common/block_header_decoder.c | 2 +- + src/liblzma/common/block_header_encoder.c | 2 +- + src/liblzma/common/memcmplen.h | 9 ++--- + src/liblzma/common/stream_flags_decoder.c | 6 +-- + src/liblzma/common/stream_flags_encoder.c | 8 ++-- + src/liblzma/lz/lz_encoder_hash.h | 2 +- + src/liblzma/lzma/lzma_decoder.c | 2 +- + src/liblzma/lzma/lzma_encoder.c | 2 +- + src/liblzma/lzma/lzma_encoder_private.h | 3 +- + src/liblzma/simple/simple_decoder.c | 2 +- + src/liblzma/simple/simple_encoder.c | 2 +- + tests/test_block_header.c | 4 +- + tests/test_stream_flags.c | 6 +-- + 15 files changed, 54 insertions(+), 62 deletions(-) + +commit 52d89d8443c4a31a69c0701062f2c7711d82bbed +Author: Lasse Collin +Date: 2019-12-31 00:29:48 +0200 + + Rename read32ne to aligned_read32ne, and similarly for the others. + + Using the aligned methods requires more care to ensure that + the address really is aligned, so it's nicer if the aligned + methods are prefixed. The next commit will remove the unaligned_ + prefix from the unaligned methods which in liblzma are used in + more places than the aligned ones. + + src/common/tuklib_integer.h | 56 +++++++++++++++++++++--------------------- + src/liblzma/check/crc32_fast.c | 4 +-- + src/liblzma/check/crc64_fast.c | 4 +-- + 3 files changed, 32 insertions(+), 32 deletions(-) + +commit 850620468b57d49f16093e5870d1050886fcb37a +Author: Lasse Collin +Date: 2019-12-31 00:18:24 +0200 + + Revise tuklib_integer.h and .m4. + + Add a configure option --enable-unsafe-type-punning to get the + old non-conforming memory access methods. It can be useful with + old compilers or in some other less typical situations but + shouldn't normally be used. + + Omit the packed struct trick for unaligned access. While it's + best in some cases, this is simpler. If the memcpy trick doesn't + work, one can request unsafe type punning from configure. + + Because CRC32/CRC64 code needs fast aligned reads, if no very + safe way to do it is found, type punning is used as a fallback. + This sucks but since it currently works in practice, it seems to + be the least bad option. It's never needed with GCC >= 4.7 or + Clang >= 3.6 since these support __builtin_assume_aligned and + thus fast aligned access can be done with the memcpy trick. + + Other things: + - Support GCC/Clang __builtin_bswapXX + - Cleaner bswap fallback macros + - Minor cleanups + + m4/tuklib_integer.m4 | 43 ++++ + src/common/tuklib_integer.h | 488 ++++++++++++++++++++++++-------------------- + 2 files changed, 314 insertions(+), 217 deletions(-) + +commit a45badf0342666462cc6a7107a071418570ab773 +Author: Lasse Collin +Date: 2019-12-29 22:51:58 +0200 + + Tests: Hopefully fix test_check.c to work on EBCDIC systems. + + Thanks to Daniel Richard G. + + tests/test_check.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit c9a8071e6690a8db8a485c075920df254e7c70ea +Author: Lasse Collin +Date: 2019-09-24 23:02:40 +0300 + + Scripts: Put /usr/xpg4/bin to the beginning of PATH on Solaris. + + This adds a configure option --enable-path-for-scripts=PREFIX + which defaults to empty except on Solaris it is /usr/xpg4/bin + to make POSIX grep and others available. The Solaris case had + been documented in INSTALL with a manual fix but it's better + to do this automatically since it is needed on most Solaris + systems anyway. + + Thanks to Daniel Richard G. + + INSTALL | 43 +++++++++++++++++++++++++++++++++++-------- + configure.ac | 26 ++++++++++++++++++++++++++ + src/scripts/xzdiff.in | 1 + + src/scripts/xzgrep.in | 1 + + src/scripts/xzless.in | 1 + + src/scripts/xzmore.in | 1 + + 6 files changed, 65 insertions(+), 8 deletions(-) + +commit aba140e2df3ff63ad124ae997de16d517b98ca50 +Author: Lasse Collin +Date: 2019-07-12 18:57:43 +0300 + + Fix comment typos in tuklib_mbstr* files. + + src/common/tuklib_mbstr.h | 2 +- + src/common/tuklib_mbstr_fw.c | 2 +- + src/common/tuklib_mbstr_width.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit 710f5bd769a5d2bd8684256c2727d15350ee2ab8 +Author: Lasse Collin +Date: 2019-07-12 18:30:46 +0300 + + Add missing include to tuklib_mbstr_width.c. + + It didn't matter in XZ Utils because sysdefs.h + includes string.h anyway. + + src/common/tuklib_mbstr_width.c | 1 + + 1 file changed, 1 insertion(+) + +commit 0e491aa8cd72e0100cd15c1b9469cd57fae500b0 +Author: Lasse Collin +Date: 2019-06-25 23:15:21 +0300 + + liblzma: Fix a buggy comment. + + src/liblzma/lz/lz_encoder_mf.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit bfc245569f340a75bd71ad32a6beba786712683b +Author: Lasse Collin +Date: 2019-06-25 00:16:06 +0300 + + configure.ac: Fix a typo in a comment. + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f18eee9d15a22c8449ef395a05f0eb637c4ad253 +Author: Lasse Collin +Date: 2019-06-25 00:08:13 +0300 + + Tests: Silence warnings from clang -Wassign-enum. + + Also changed 999 to 99 so it fits even if lzma_check happened + to be 8 bits wide. + + tests/test_block_header.c | 3 ++- + tests/test_stream_flags.c | 2 +- + 2 files changed, 3 insertions(+), 2 deletions(-) + +commit 25f74554723e8deabc66fed1abf0ec27a4ed19d5 +Author: Lasse Collin +Date: 2019-06-24 23:52:17 +0300 + + liblzma: Add a comment. + + src/liblzma/common/stream_encoder_mt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 44eb961f2a51d02420d017bc5ff470360663650c +Author: Lasse Collin +Date: 2019-06-24 23:45:21 +0300 + + liblzma: Silence clang -Wmissing-variable-declarations. + + src/liblzma/check/crc32_table.c | 3 +++ + src/liblzma/check/crc64_table.c | 3 +++ + 2 files changed, 6 insertions(+) + +commit 267afcd9955e668c1532b069230c21c348eb4f82 +Author: Lasse Collin +Date: 2019-06-24 22:57:43 +0300 + + xz: Silence a warning from clang -Wsign-conversion in main.c. + + src/xz/main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0e3c4002f809311ecef239b05e556d9c462b5703 +Author: Lasse Collin +Date: 2019-06-24 22:47:39 +0300 + + liblzma: Remove incorrect uses of lzma_attribute((__unused__)). + + Caught by clang -Wused-but-marked-unused. + + src/liblzma/common/alone_decoder.c | 3 +-- + src/liblzma/common/alone_encoder.c | 3 +-- + src/liblzma/lz/lz_decoder.c | 3 +-- + 3 files changed, 3 insertions(+), 6 deletions(-) + +commit cb708e8fa3405ec13a0ebfebbbf2793f927deab1 +Author: Lasse Collin +Date: 2019-06-24 20:53:55 +0300 + + Tests: Silence a warning from -Wsign-conversion. + + tests/create_compress_files.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit c8cace3d6e965c0fb537591372bf71b9357dd76c +Author: Lasse Collin +Date: 2019-06-24 20:45:49 +0300 + + xz: Fix an integer overflow with 32-bit off_t. + + Or any off_t which isn't very big (like signed 64 bit integer + that most system have). A small off_t could overflow if the + file being decompressed had long enough run of zero bytes, + which would result in corrupt output. + + src/xz/file_io.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +commit 65a42741e290fbcd85dfc5db8a62c4bce5f7712c +Author: Lasse Collin +Date: 2019-06-24 00:57:23 +0300 + + Tests: Remove a duplicate branch from tests/tests.h. + + The duplication was introduced about eleven years ago and + should have been cleaned up back then already. + + This was caught by -Wduplicated-branches. + + tests/tests.h | 9 ++------- + 1 file changed, 2 insertions(+), 7 deletions(-) + +commit 5c4fb60e8df026e933afab0cfe0a8b55be20036c +Author: Lasse Collin +Date: 2019-06-23 23:22:45 +0300 + + tuklib_mbstr_width: Fix a warning from -Wsign-conversion. + + src/common/tuklib_mbstr_width.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 37df03ce52ce53710e1513387648763f8a744154 +Author: Lasse Collin +Date: 2019-06-23 23:19:34 +0300 + + xz: Fix some of the warnings from -Wsign-conversion. + + src/xz/args.c | 4 ++-- + src/xz/coder.c | 4 ++-- + src/xz/file_io.c | 5 +++-- + src/xz/message.c | 4 ++-- + src/xz/mytime.c | 4 ++-- + src/xz/options.c | 2 +- + src/xz/util.c | 4 ++-- + 7 files changed, 14 insertions(+), 13 deletions(-) + +commit 7c65ae0f5f2e2431f88621e8fe6d1dc7907e30c1 +Author: Lasse Collin +Date: 2019-06-23 22:27:45 +0300 + + tuklib_cpucores: Silence warnings from -Wsign-conversion. + + src/common/tuklib_cpucores.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit a502dd1d000b598406637d452f535f4bbd43e2a4 +Author: Lasse Collin +Date: 2019-06-23 21:40:47 +0300 + + xzdec: Fix warnings from -Wsign-conversion. + + src/xzdec/xzdec.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a45d1a5374ceb22e23255b0b595b9e641e9860af +Author: Lasse Collin +Date: 2019-06-23 21:38:56 +0300 + + liblzma: Fix warnings from -Wsign-conversion. + + Also, more parentheses were added to the literal_subcoder + macro in lzma_comon.h (better style but no functional change + in the current usage). + + src/liblzma/common/block_header_decoder.c | 2 +- + src/liblzma/delta/delta_decoder.c | 2 +- + src/liblzma/lzma/fastpos.h | 2 +- + src/liblzma/lzma/lzma2_decoder.c | 8 ++++---- + src/liblzma/lzma/lzma_common.h | 3 ++- + src/liblzma/lzma/lzma_decoder.c | 16 ++++++++-------- + src/liblzma/simple/arm.c | 6 +++--- + src/liblzma/simple/armthumb.c | 8 ++++---- + src/liblzma/simple/ia64.c | 2 +- + src/liblzma/simple/powerpc.c | 9 +++++---- + src/liblzma/simple/x86.c | 2 +- + 11 files changed, 31 insertions(+), 29 deletions(-) + +commit 4ff87ddf80ed7cb233444cddd86ab1940b5b55ec +Author: Lasse Collin +Date: 2019-06-23 19:33:55 +0300 + + tuklib_integer: Silence warnings from -Wsign-conversion. + + src/common/tuklib_integer.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit ed1a9d33984a3a37ae9a775a46859850d98ea4d0 +Author: Lasse Collin +Date: 2019-06-20 19:40:30 +0300 + + tuklib_integer: Fix usage of conv macros. + + Use a temporary variable instead of e.g. + conv32le(unaligned_read32ne(buf)) because the macro can + evaluate its argument multiple times. + + src/common/tuklib_integer.h | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +commit 612c88dfc08e2c572623954ecfde541d21c84882 +Author: Lasse Collin +Date: 2019-06-03 20:44:19 +0300 + + Update THANKS. + + THANKS | 1 + + 1 file changed, 1 insertion(+) + +commit 85da31d8b882b8b9671ab3e3d74d88bd945cd0bb +Author: Lasse Collin +Date: 2019-06-03 20:41:54 +0300 + *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***